yazid138 hace 3 años
padre
commit
d217a05722

+ 4 - 0
actions/pelaporan.js

@@ -5,6 +5,10 @@ export const getPelaporan = async (query = {}) => {
 		let url = "http://localhost:5000/pelaporan";
 		if (query.ptId && query.number) {
 			url += `?number=${query.number}&ptId=${query.ptId}`;
+		} else if (query.penjadwalan) {
+			url += "?penjadwalan=true";
+		} else if (query.pemeriksaan) {
+			url += "?pemeriksaan=true";
 		}
 		const res = await fetch(url);
 		return await res.json();

+ 4 - 4
actions/pemeriksaan.js

@@ -1,19 +1,19 @@
 import { addLog } from "./log";
 
-export const insertPemeriksaan = async (data) => {
+export const insertPemeriksaan = async ({ number, ptId }, data) => {
 	try {
 		const requestOptions = {
 			method: "POST",
 			body: data,
 		};
 
-		const res = await fetch(`http://localhost:5000/pelaporan/pemeriksaan/create`, requestOptions);
+		const res = await fetch(`http://localhost:5000/pelaporan/pemeriksaan/create?number=${number}&ptId=${ptId}`, requestOptions);
 		const result = await res.json();
-		// addLog({ status: "SUCCESS", action: "ADD", from: { id: result.added._id, data: "pemeriksaan" }, description: "menambah evaluasi" });
+		addLog({ status: "SUCCESS", action: "ADD", from: { id: result.added._id, data: "pemeriksaan" }, description: "menambah evaluasi" });
 		return result;
 	} catch (error) {
 		console.log("error", error);
-		// addLog({ status: "FAIL", action: "ADD", from: { data: "pemeriksaan" }, description: error.message || "menambah evaluasi" });
+		addLog({ status: "FAIL", action: "ADD", from: { data: "pemeriksaan" }, description: error.message || "menambah evaluasi" });
 		return false;
 	}
 };

+ 3 - 40
actions/penjadwalan.js

@@ -1,6 +1,6 @@
 import { addLog } from "./log";
 
-export const updateJadwal = async (data) => {
+export const updateJadwal = async ({ number, ptId }, data) => {
 	try {
 		const myHeaders = new Headers();
 		myHeaders.append("Content-Type", "application/json");
@@ -13,9 +13,9 @@ export const updateJadwal = async (data) => {
 			headers: myHeaders,
 		};
 
-		const updated = await fetch(`http://localhost:5000/pelaporan/jadwal/add`, requestOptions);
+		const updated = await fetch(`http://localhost:5000/pelaporan/jadwal/add?number=${number}&ptId=${ptId}`, requestOptions);
 		const result = await updated.json();
-		// addLog({ status: "SUCCESS", action: "UPDATE", from: { id: result.added._id, data: "penjadwalan" }, description: "mengubah jadwal pemeriksaan" });
+		addLog({ status: "SUCCESS", action: "UPDATE", from: { id: result.added._id, data: "penjadwalan" }, description: "mengubah jadwal pemeriksaan" });
 		return result;
 	} catch (error) {
 		console.log("error", error);
@@ -23,40 +23,3 @@ export const updateJadwal = async (data) => {
 		return false;
 	}
 };
-
-export const updateJadwal2 = async (id, data) => {
-	try {
-		const myHeaders = new Headers();
-		myHeaders.append("Content-Type", "application/json");
-
-		const raw = JSON.stringify(data);
-
-		const requestOptions = {
-			method: "POST",
-			body: raw,
-			headers: myHeaders,
-		};
-
-		const updated = await fetch(`http://localhost:5000/pelaporan/jadwal/add/${id}`, requestOptions);
-		const result = await updated.json();
-		// addLog({ status: "SUCCESS", action: "UPDATE", from: { id: result.added._id, data: "penjadwalan" }, description: "mengubah jadwal pemeriksaan" });
-		return result;
-	} catch (error) {
-		console.log("error", error);
-		addLog({ status: "FAIL", action: "UPDATE", from: { data: "penjadwalan" }, description: error.message || "mengubah jadwal pemeriksaan" });
-		return false;
-	}
-};
-
-export const getJadwal = async () => {
-	try {
-		const updated = await fetch(`http://localhost:5000/pelaporan/jadwal`);
-		const result = await updated.json();
-		// addLog({ status: "SUCCESS", action: "UPDATE", from: { id: result.added._id, data: "penjadwalan" }, description: "mengubah jadwal pemeriksaan" });
-		return result;
-	} catch (error) {
-		console.log("error", error);
-		// addLog({ status: "FAIL", action: "UPDATE", from: { data: "penjadwalan" }, description: error.message || "mengubah jadwal pemeriksaan" });
-		return false;
-	}
-};

+ 5 - 11
components/Extras/calendar.view.js

@@ -2,7 +2,7 @@ import React, { Component } from "react";
 import ContentWrapper from "@/components/Layout/ContentWrapper";
 import { Card, CardBody, CardHeader, CardTitle } from "reactstrap";
 import { getPelaporan } from "@/actions/pelaporan";
-import { updateJadwal, updateJadwal2 } from "@/actions/penjadwalan";
+import { updateJadwal } from "@/actions/penjadwalan";
 import DetailLaporan from "@/components/Penjadwalan/DetailLaporan";
 import Link from "next/link";
 import FullCalendar from "@fullcalendar/react";
@@ -96,22 +96,16 @@ class Calendar extends Component {
 	};
 
 	handleEventCalendar = async ({ event }) => {
+		const number = this.props.query.number;
+		const ptId = this.props.query.ptId;
 		const data = {
-			pelaporan: this.state.laporan._id,
 			title: event.title,
 			from_date: event.start,
 			to_date: event.end || event.start,
 			background_color: event.backgroundColor,
 		};
-		if (this.state.laporan.penjadwalan) {
-			const update = await updateJadwal2(this.state.laporan.penjadwalan._id, data);
-			console.log(update);
-		} else {
-			const update = await updateJadwal(data);
-			const tes = await getPelaporan({ number: this.props.query.number, ptId: this.props.query.ptId });
-			this.setState({ laporan: tes.data[0] });
-			console.log(update);
-		}
+
+		const update = await updateJadwal({ number, ptId }, data);
 	};
 
 	handleChangeSelect = (selectedOption) => {

+ 31 - 104
components/Main/TableLaporan.js

@@ -4,7 +4,6 @@ import Link from "next/link";
 import moment from "moment";
 
 function TableLaporan({ listData, to, linkName, status = false }) {
-	const data = listData;
 	return (
 		<div className="card b">
 			<div className="card-body">
@@ -20,111 +19,39 @@ function TableLaporan({ listData, to, linkName, status = false }) {
 							</tr>
 						</thead>
 						<tbody>
-							{Array.isArray(listData) ? (
-								listData.length ? (
-									listData.map((data) => {
-										if (data.pelaporan) {
-											return (
-												<tr key={data.pelaporan._id}>
-													<td>{data.pelaporan._number}</td>
-													<td className="text-nowrap">
-														<div className="media align-items-center">
-															<div className="media-body d-flex">
-																<div>
-																	<h4 className="m-0">Universitas Satyagama</h4>
-																	<p>{data.pelaporan.description}</p>
-																</div>
-															</div>
-														</div>
-													</td>
-													{status ? <td>{data.pelaporan.status}</td> : ""}
-													<td>{moment(data.pelaporan.createdAt).fromNow()}</td>
-													<td>
-														<div className="ml-auto">
-															<Link
-																href={{
-																	pathname: to,
-																	query: { ptId: data.pelaporan.pt_id, number: data.pelaporan._number },
-																}}
-															>
-																<Button color="primary" size="sm">
-																	{linkName}
-																</Button>
-															</Link>
-														</div>
-													</td>
-												</tr>
-											);
-										} else {
-											return (
-												<tr key={data._id}>
-													<td>{data._number}</td>
-													<td className="text-nowrap">
-														<div className="media align-items-center">
-															<div className="media-body d-flex">
-																<div>
-																	<h4 className="m-0">Universitas Satyagama</h4>
-																	<p>{data.description}</p>
-																</div>
-															</div>
-														</div>
-													</td>
-													{status ? <td>{data.status}</td> : ""}
-													<td>{moment(data.createdAt).fromNow()}</td>
-													<td>
-														<div className="ml-auto">
-															<Link
-																href={{
-																	pathname: to,
-																	query: { ptId: data.pt_id, number: data._number },
-																}}
-															>
-																<Button color="primary" size="sm">
-																	{linkName}
-																</Button>
-															</Link>
-														</div>
-													</td>
-												</tr>
-											);
-										}
-									})
-								) : (
-									""
-								)
-							) : listData ? (
-								<tr key={listData._id}>
-									<td>{listData._number}</td>
-									<td className="text-nowrap">
-										<div className="media align-items-center">
-											<div className="media-body d-flex">
-												<div>
-													<h4 className="m-0">Universitas Satyagama</h4>
-													<p>{listData.description}</p>
+							{listData.map((data) => {
+								return (
+									<tr key={data._id}>
+										<td>{data._number}</td>
+										<td className="text-nowrap">
+											<div className="media align-items-center">
+												<div className="media-body d-flex">
+													<div>
+														<h4 className="m-0">Universitas Satyagama</h4>
+														<p>{data.description}</p>
+													</div>
 												</div>
 											</div>
-										</div>
-									</td>
-									{status ? <td>{listData.status}</td> : ""}
-									<td>{moment(listData.createdAt).fromNow()}</td>
-									<td>
-										<div className="ml-auto">
-											<Link
-												href={{
-													pathname: to,
-													query: { ptId: listData.pt_id, number: listData._number },
-												}}
-											>
-												<Button color="primary" size="sm">
-													{linkName}
-												</Button>
-											</Link>
-										</div>
-									</td>
-								</tr>
-							) : (
-								""
-							)}
+										</td>
+										{status ? <td>{data.status}</td> : ""}
+										<td>{moment(data.createdAt).fromNow()}</td>
+										<td>
+											<div className="ml-auto">
+												<Link
+													href={{
+														pathname: to,
+														query: { ptId: data.pt_id, number: data._number },
+													}}
+												>
+													<Button color="primary" size="sm">
+														{linkName}
+													</Button>
+												</Link>
+											</div>
+										</td>
+									</tr>
+								);
+							})}
 						</tbody>
 					</table>
 				</Datatable>

+ 2 - 2
components/Pemeriksaan/InputEvaluasi.js

@@ -85,8 +85,8 @@ export default class InputEvaluasi extends Component {
 
 	onSubmit = async (e) => {
 		e.preventDefault();
+		const { number, ptId } = this.props.query;
 		const formdata = new FormData();
-		formdata.append("penjadwalan", this.props.id);
 		formdata.append("title", this.state.judulEvaluasi);
 		formdata.append("date", this.state.tanggal);
 		if (this.state.files.length > 0) {
@@ -95,7 +95,7 @@ export default class InputEvaluasi extends Component {
 			});
 		}
 
-		const inserted = await insertPemeriksaan(formdata);
+		const inserted = await insertPemeriksaan({ number, ptId }, formdata);
 		if (inserted) {
 			Router.push({
 				pathname: "/app/pemeriksaan",

+ 5 - 5
pages/app/pemeriksaan/index.js

@@ -1,7 +1,7 @@
 import React, { Component } from "react";
 import ContentWrapper from "@/components/Layout/ContentWrapper";
 import { Row, Col } from "reactstrap";
-import { getJadwal } from "@/actions/penjadwalan";
+import { getPelaporan } from "@/actions/pelaporan";
 import CaseProgress from "@/components/Main/CaseProgress";
 import TableLaporan from "@/components/Main/TableLaporan";
 
@@ -11,12 +11,12 @@ class Pemeriksaan extends Component {
 	}
 
 	static getInitialProps = async () => {
-		const jadwal = await getJadwal();
-		return { jadwal };
+		const pelaporan = await getPelaporan({ penjadwalan: true });
+		return { pelaporan };
 	};
 
 	render() {
-		const { jadwal } = this.props;
+		const { pelaporan } = this.props;
 		return (
 			<ContentWrapper>
 				<div className="content-heading">Evaluasi</div>
@@ -25,7 +25,7 @@ class Pemeriksaan extends Component {
 						<CaseProgress />
 					</Col>
 					<Col lg="8">
-						<TableLaporan listData={jadwal.data} to="/app/pemeriksaan/new" linkName="Detail" status/>
+						<TableLaporan listData={pelaporan.data} to="/app/pemeriksaan/new" linkName="Detail" status />
 					</Col>
 				</Row>
 			</ContentWrapper>

+ 1 - 1
pages/app/pemeriksaan/new.js

@@ -37,7 +37,7 @@ class PemeriksaanNew extends Component {
 									<Row>
 										<Col lg={12}>
 											<DetailLaporan data={pelaporan.data[0]} />
-											<InputEvaluasi query={query} id={pelaporan.data[0].penjadwalan._id} />
+											<InputEvaluasi query={query} />
 										</Col>
 									</Row>
 								</CardBody>

+ 0 - 5
pages/app/sanksi/detail.js

@@ -5,10 +5,6 @@ import classnames from "classnames";
 import ContentWrapper from "@/components/Layout/ContentWrapper";
 import DetailSanksi from "@/components/Main/DetailSanksi";
 import Header from "@/components/Main/Header";
-import TableRiwayat from "@/components/Pemeriksaan/TableRiwayat";
-import UploadSurat from "@/components/Sanksi/UploadSurat";
-import Ringkasan from "@/components/Sanksi/Ringkasan";
-import TablePenetapanSanksi from "@/components/Sanksi/TablePenetapanSanksi";
 import Link from "next/link";
 import { getPelaporan } from "@/actions/pelaporan";
 import { createSanksi } from "@/actions/sanksi";
@@ -71,7 +67,6 @@ class Detail extends Component {
 
 	render() {
 		const { pelaporan } = this.props;
-		const { checkedData, dataUpload } = this.state;
 		return (
 			<ContentWrapper unwrap>
 				<Header />

+ 5 - 5
pages/app/sanksi/index.js

@@ -1,7 +1,7 @@
 import React, { Component } from "react";
 import ContentWrapper from "@/components/Layout/ContentWrapper";
 import { Row, Col } from "reactstrap";
-import { getJadwal } from "@/actions/penjadwalan";
+import { getPelaporan } from "@/actions/pelaporan";
 import CaseProgress from "@/components/Main/CaseProgress";
 import TableLaporan from "@/components/Sanksi/TableLaporan";
 
@@ -11,12 +11,12 @@ class Sanksi extends Component {
 	}
 
 	static getInitialProps = async () => {
-		const jadwal = await getJadwal();
-		return { jadwal };
+		const pelaporan = await getPelaporan({ pemeriksaan: true });
+		return { pelaporan };
 	};
 
 	render() {
-		const { jadwal } = this.props;
+		const { pelaporan } = this.props;
 		return (
 			<ContentWrapper>
 				<div className="content-heading">Sanksi</div>
@@ -25,7 +25,7 @@ class Sanksi extends Component {
 						<CaseProgress />
 					</Col>
 					<Col lg="8">
-						<TableLaporan listData={jadwal.data} linkName="Detail" />
+						<TableLaporan listData={pelaporan.data} />
 					</Col>
 				</Row>
 			</ContentWrapper>