|
|
@@ -23,6 +23,7 @@ import { getCsrf } from "../../../actions/security";
|
|
|
import ComponentToPrint from "../../../components/Sanksi/SuratBA_A";
|
|
|
import ReactToPrint, { PrintContextConsumer } from 'react-to-print';
|
|
|
import { updatePddikti } from "../../../actions/sanksi";
|
|
|
+import { ENV } from "../../../env";
|
|
|
|
|
|
|
|
|
|
|
|
@@ -42,6 +43,7 @@ class ProsesSanksi extends Component {
|
|
|
pelaporan: {},
|
|
|
listSanksi: [],
|
|
|
loading: false,
|
|
|
+ localSuccess: false
|
|
|
};
|
|
|
}
|
|
|
|
|
|
@@ -69,61 +71,78 @@ class ProsesSanksi extends Component {
|
|
|
const { dataSuratBA, dataUpload } = this.state
|
|
|
await inputAutoSave({ data: { PenetapanSanksi: { dataSuratBA, dataUpload, dataPelanggaran: data, activeStep } }, token, id, laporan: true })
|
|
|
}
|
|
|
- done = async (e) => {
|
|
|
- const getToken = await getCsrf();
|
|
|
- const _csrf = getToken.token;
|
|
|
- const toastid = toast.loading("Please wait...");
|
|
|
+
|
|
|
+ done = async () => {
|
|
|
this.setState({
|
|
|
loading: true
|
|
|
})
|
|
|
- // try {
|
|
|
- e.preventDefault();
|
|
|
- const { query, token } = this.props;
|
|
|
- const { id } = query;
|
|
|
- const formdata = new FormData();
|
|
|
- formdata.append("no_sanksi", this.state.dataUpload.nomorSanksi);
|
|
|
- formdata.append("keterangan", this.state.dataUpload.keterangan);
|
|
|
- formdata.append("from_date", this.state.dataUpload.awalsanksi);
|
|
|
- formdata.append("to_date", this.state.dataUpload.akhirsanksi);
|
|
|
- formdata.append("tanggal_terima_sanksi", this.state.dataUpload.terimaSuratSanksi);
|
|
|
- formdata.append("tanggal_akhir_keberatan", this.state.dataUpload.tglAkhirKeberatan);
|
|
|
- formdata.append("pelanggaran_id", this.state.dataPelanggaran.data.map((e) => e._id).join());
|
|
|
- if (this.state.dataUpload.files && this.state.dataUpload.files.length > 0) {
|
|
|
- this.state.dataUpload.files.forEach((e) => {
|
|
|
- formdata.append("dokumen", e);
|
|
|
- });
|
|
|
+ const sanksi = await this.tambahSanksi()
|
|
|
+ if (sanksi && ENV === "production") {
|
|
|
+ await this.updatePddikti(sanksi.data._id) //kirim sanksiID ke function updatePDDIKTI
|
|
|
}
|
|
|
- if (this.state.dataUpload.filesTandaTerimaSS && this.state.dataUpload.filesTandaTerimaSS.length > 0) {
|
|
|
- this.state.dataUpload.filesTandaTerimaSS.forEach((e) => {
|
|
|
- formdata.append("dokumen_terima_sanksi", e);
|
|
|
- });
|
|
|
+
|
|
|
+ await Router.push({
|
|
|
+ pathname: "/app/sanksi",
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ updatePddikti = async (sanksiId) => {
|
|
|
+ const getToken = await getCsrf();
|
|
|
+ const _csrf2 = getToken.token;
|
|
|
+ const toastPddikti = toast.loading("Updating pddikti...");
|
|
|
+ try {
|
|
|
+ const { query, token } = this.props;
|
|
|
+ const { id } = query;
|
|
|
+ await updatePddikti(token, sanksiId, _csrf2)
|
|
|
+
|
|
|
+ toast.update(toastPddikti, { render: "Success Updating PDDIKTI", type: "success", isLoading: false, autoClose: true, closeButton: true });
|
|
|
+
|
|
|
}
|
|
|
- // if (this.state.dataUpload.filesBeritaAcara && this.state.dataUpload.filesBeritaAcara.length > 0) {
|
|
|
- // this.state.dataUpload.filesBeritaAcara.forEach((e) => {
|
|
|
- // formdata.append("berita_acara", e);
|
|
|
- // });
|
|
|
- // }
|
|
|
-
|
|
|
- const sanksi = await createSanksi(token, id, formdata, _csrf);
|
|
|
- if (!sanksi) {
|
|
|
- toast.update(toastid, { render: "Error", type: "error", isLoading: false, autoClose: true, closeButton: true });
|
|
|
- } else {
|
|
|
- toast.update(toastid, { render: "Success", type: "success", isLoading: false, autoClose: true, closeButton: true });
|
|
|
- // Router.push("/app/perpanjangan-sanksi");
|
|
|
+
|
|
|
+ catch (error) {
|
|
|
+ toast.update(toastPddikti, { render: ("Error Updating PDDIKTI"), type: "error", isLoading: false, autoClose: true, closeButton: true });
|
|
|
}
|
|
|
- const getToken2 = await getCsrf();
|
|
|
- const _csrf2 = getToken2.token;
|
|
|
- await updatePddikti(token, sanksi.data._id, _csrf2)
|
|
|
- // toast.update(toastid, { render: "All is good", type: "success", isLoading: false, autoClose: true, closeButton: true });
|
|
|
- // console.log("Oncreate")
|
|
|
-
|
|
|
- // Router.push({
|
|
|
- // pathname: "/app/sanksi",
|
|
|
- // });
|
|
|
- // } catch (error) {
|
|
|
- // toast.update(toastid, { render: (error.request.message), type: "error", isLoading: false, autoClose: true, closeButton: true });
|
|
|
- // }
|
|
|
- };
|
|
|
+
|
|
|
+ }
|
|
|
+ tambahSanksi = async () => {
|
|
|
+ const getToken = await getCsrf();
|
|
|
+ const _csrf = getToken.token;
|
|
|
+ const toastid = toast.loading("Please wait...");
|
|
|
+ try {
|
|
|
+ const { query, token } = this.props;
|
|
|
+ const { id } = query;
|
|
|
+ const formdata = new FormData();
|
|
|
+ formdata.append("no_sanksi", this.state.dataUpload.nomorSanksi);
|
|
|
+ formdata.append("keterangan", this.state.dataUpload.keterangan);
|
|
|
+ formdata.append("from_date", this.state.dataUpload.awalsanksi);
|
|
|
+ formdata.append("to_date", this.state.dataUpload.akhirsanksi);
|
|
|
+ formdata.append("tanggal_terima_sanksi", this.state.dataUpload.terimaSuratSanksi);
|
|
|
+ formdata.append("tanggal_akhir_keberatan", this.state.dataUpload.tglAkhirKeberatan);
|
|
|
+ formdata.append("pelanggaran_id", this.state.dataPelanggaran.data.map((e) => e._id).join());
|
|
|
+ if (this.state.dataUpload.files && this.state.dataUpload.files.length > 0) {
|
|
|
+ this.state.dataUpload.files.forEach((e) => {
|
|
|
+ formdata.append("dokumen", e);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (this.state.dataUpload.filesTandaTerimaSS && this.state.dataUpload.filesTandaTerimaSS.length > 0) {
|
|
|
+ this.state.dataUpload.filesTandaTerimaSS.forEach((e) => {
|
|
|
+ formdata.append("dokumen_terima_sanksi", e);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ const sanksi = await createSanksi(token, id, formdata, _csrf)
|
|
|
+
|
|
|
+ toast.update(toastid, { render: "Success Updating Local", type: "success", isLoading: false, autoClose: true, closeButton: true });
|
|
|
+ return sanksi
|
|
|
+ }
|
|
|
+
|
|
|
+ catch (error) {
|
|
|
+ toast.update(toastid, { render: error.response.data.message || error.message, type: "error", isLoading: false, autoClose: true, closeButton: true });
|
|
|
+ return null
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
handleDelegasi = async (data) => {
|
|
|
@@ -429,7 +448,9 @@ class ProsesSanksi extends Component {
|
|
|
<Button color className="btn-login color-3e3a8e" onClick={this.toggleStep("5")}>
|
|
|
<span className="font-color-white">Previous</span>
|
|
|
</Button>
|
|
|
- <Button className="ml-auto btn-login color-3e3a8e" color onClick={this.done} disabled={this.state.loading}>
|
|
|
+ <Button className="ml-auto btn-login color-3e3a8e" color onClick={this.done}
|
|
|
+ disabled={this.state.loading}
|
|
|
+ >
|
|
|
<span className="font-color-white">Done</span>
|
|
|
</Button>
|
|
|
</div>
|