diff --git a/backend/main.go b/backend/main.go index 0963b78..ce29a3a 100644 --- a/backend/main.go +++ b/backend/main.go @@ -1453,19 +1453,6 @@ func connect() { "result": result, }) - case "check-statuspops-local": - var resultInt, resultCount int - err := dbpop.QueryRow(`SELECT COUNT(OrderPayId) AS resultInt, COUNT(AFNum) AS resultCount FROM orderpaydetail WHERE oprefid = ?`, data).Scan(&resultInt, &resultCount) - if err != nil { - c.AbortWithError(http.StatusBadRequest, err) - c.String(http.StatusBadRequest, err.Error()) - return - } - c.JSON(http.StatusOK, gin.H{ - "result": resultInt, - "result2": resultCount, - }) - } }) @@ -2335,50 +2322,6 @@ func connect() { } }) - // router.POST("/api/return-approval-electrical", middleware.TokenChecker(), func(c *gin.Context) { - // type returnApprovalData struct { - // Data string `json:"data"` //electricalNo - // } - // var returnapprovalData returnApprovalData - // if err := c.ShouldBindJSON(&returnapprovalData); err != nil { - // c.String(http.StatusBadRequest, "Invalid request body") - // return - // } - - // c.Writer.Header().Set("X-XSS-Protection", "1; mode=block") - // c.Writer.Header().Set("X-Content-Type-Options", "nosniff") - // c.Writer.Header().Set("X-DNS-Prefetch-Control", "off") - // c.Writer.Header().Set("X-Frame-Options", "DENY") - // c.Writer.Header().Set("X-Download-Options", "noopen") - // c.Writer.Header().Set("Referrer-Policy", "no-referrer") - // c.Writer.Header().Set("Content-Security-Policy", "default-src 'self'; img-src 'self';") - // c.Writer.Header().Set("X-Server", "OCBO Server") - - // dbpost, err := db.Prepare("INSERT INTO esign_lock (esign_lockid, referenceNo, lock_code) VALUES (NULL, ?, ?)") - // if err != nil { - // c.AbortWithError(http.StatusInternalServerError, err) - // c.String(http.StatusInternalServerError, "Internal Server Error") - // return - // } - // defer dbpost.Close() - - // exec, err := dbpost.Exec(returnapprovalData.Data) - // if err != nil { - // panic(err.Error()) - // } - - // affect, err := exec.RowsAffected() - // if err != nil { - // panic(err.Error()) - // } - - // if affect > 0 { - // c.String(http.StatusOK, "Success on Saving Lock Data") - // } else { - // c.String(http.StatusInternalServerError, "Failed on Saving Lock Data") - // } - // }) - router.DELETE("/api/delete-orderofpayment-electrical", middleware.TokenChecker(), func(c *gin.Context) { type DeleteOP struct { Data int `json:"data"` @@ -2512,8 +2455,8 @@ func connect() { c.Writer.Header().Set("Content-Security-Policy", "default-src 'self'; img-src 'self';") c.Writer.Header().Set("X-Server", "OCBO Server") - var resultId, resultCount int - checkErr := dbpop.QueryRow("SELECT COUNT(OrderPayId) AS resultId, COUNT(AFNum) AS resultCount FROM orderpaydetail WHERE OPRefId = ?", deleteOpLocal.Data).Scan(&resultId, &resultCount) + var resultCount int + checkErr := dbpop.QueryRow("SELECT COUNT(AFNum) AS resultCount FROM orderpaydetail WHERE OPRefId = ?", deleteOpLocal.Data).Scan(&resultCount) if checkErr != nil { c.AbortWithError(http.StatusInternalServerError, checkErr) c.String(http.StatusInternalServerError, "Internal Server Error") @@ -2521,36 +2464,33 @@ func connect() { } if resultCount > 0 { - c.String(http.StatusForbidden, "Error! Payment already exist.") + c.String(http.StatusBadRequest, "Error! Payment already exist.") return } - if resultId > 0 { - dbpost, err := dbpop.Prepare("DELETE FROM orderpaydetail WHERE OPRefId = ?") - if err != nil { - c.AbortWithError(http.StatusInternalServerError, err) - c.String(http.StatusInternalServerError, "Internal Server Error") - return - } - defer dbpost.Close() + dbpost, err := dbpop.Prepare("DELETE FROM orderpaydetail WHERE OPRefId = ?") + if err != nil { + c.AbortWithError(http.StatusInternalServerError, err) + c.String(http.StatusInternalServerError, "Internal Server Error") + return + } + defer dbpost.Close() - exec, err := dbpost.Exec(deleteOpLocal.Data) - if err != nil { - panic(err.Error()) - } - - affect, err := exec.RowsAffected() - if err != nil { - panic(err.Error()) - } - - if affect > 0 { - c.String(http.StatusOK, "Success on Deleting POPS Local") - } else { - c.String(http.StatusInternalServerError, "Failed on Deleting POPS Local") - } + exec, err := dbpost.Exec(deleteOpLocal.Data) + if err != nil { + panic(err.Error()) } + affect, err := exec.RowsAffected() + if err != nil { + panic(err.Error()) + } + + if affect > 0 { + c.String(http.StatusOK, "Success on Deleting POPS Local") + } else { + c.String(http.StatusInternalServerError, "Failed on Deleting POPS Local") + } }) router.DELETE("/api/delete-esigntransactions", func(c *gin.Context) { diff --git a/src/pages/AssessorPage/Assessor.sass b/src/pages/AssessorPage/Assessor.sass index 06478a6..894a243 100644 --- a/src/pages/AssessorPage/Assessor.sass +++ b/src/pages/AssessorPage/Assessor.sass @@ -79,4 +79,4 @@ opacity: 0.6 &__button - padding: 1rem 0 0 0 \ No newline at end of file + padding: 1rem 0 0 0 diff --git a/src/pages/AssessorPage/Assessor.tsx b/src/pages/AssessorPage/Assessor.tsx index a2f685a..193cd6f 100644 --- a/src/pages/AssessorPage/Assessor.tsx +++ b/src/pages/AssessorPage/Assessor.tsx @@ -33,7 +33,6 @@ import { _units, } from '../../stores/pdfinfo.ts' import { checkConnection, createPdfElectrical, createPdfOccupancy, getApi, getApiMulti, getDateTime, postApi, saveNewName, saveNewPassword, securePassword, statusPopsApi, voidPopsApi } from '../../utils/functions/index.ts' -import { AiOutlineLoading3Quarters } from 'solid-icons/ai' import './Assessor.sass' const PESO = import.meta.env.VITE_PESO @@ -83,7 +82,6 @@ export default () => { const [selectedType, setSelectedType] = createSignal('Print') const [voidError, setVoidError] = createSignal(false) - const [isLoading, setIsLoading] = createSignal(false) let bldgadditional = false @@ -248,8 +246,6 @@ export default () => { } const getListForPrinting = async (division: string) => { - setIsLoading(true) - try { let response: any @@ -287,8 +283,6 @@ export default () => { } catch (error) { console.error(error) } - - setIsLoading(false) } const removeEmployee = () => { @@ -512,11 +506,6 @@ export default () => { return true } - const checkStatusPopsLocal = async (application: string) => { - const response = await getApi('check-statuspops-local', application) - return response - } - const statusPopsOp = async (application: string) => { const response = await statusPopsApi(application) return response @@ -877,98 +866,87 @@ export default () => { - - - - - Downloading Data - - - - - - - +
+ + + + + + + + + {applicationListElectrical().map((item: string, index: number) => ( - - - - - - - {applicationListElectrical().map((item: string, index: number) => ( - - - + + - - - ))} - -
Application NumberNameShow Details
Application NumberNameShow Details
{item}{nameListElectrical()[index]}{item}{nameListElectrical()[index]} - { - await getopdetails('electrical', item) - }} - > - - {item} + + { + await getopdetails('electrical', item) + }} + > + + {item} - - + + - + - + - + - + - - - - - - - - - - - Click anywhere to cancel - + - -
-
+ + + + + + + + + Click anywhere to cancel + + + + + + ))} + +
diff --git a/src/pages/MainPage/Main.sass b/src/pages/MainPage/Main.sass index 8552c3d..e97fdbd 100644 --- a/src/pages/MainPage/Main.sass +++ b/src/pages/MainPage/Main.sass @@ -112,3 +112,4 @@ h1 &__error color: #c85656 + diff --git a/src/pages/MainPage/Main.tsx b/src/pages/MainPage/Main.tsx index 7bbb492..7216bd6 100644 --- a/src/pages/MainPage/Main.tsx +++ b/src/pages/MainPage/Main.tsx @@ -7,14 +7,12 @@ import { VsRefresh } from 'solid-icons/vs' import { createEffect, createSignal, onMount } from 'solid-js' import { Show } from 'solid-js/web' import { Box, Button, Clickable, Column, Input, Link, Logo, Modal, ModalButton, Padding, Page, Row } from '../../components/' -import { checkConnection, deleteApi, getApi, getApiMulti, getDateTime, lockData, postApi, saveNewName, saveNewPassword, securePassword, voidPopsApi, voidApi, statusPopsApi } from '../../utils/functions' -import { AiOutlineLoading3Quarters } from 'solid-icons/ai' +import { checkConnection, deleteApi, getApi, getApiMulti, getDateTime, lockData, postApi, saveNewName, saveNewPassword, securePassword, voidPopsApi } from '../../utils/functions' import './Main.sass' const PESO = import.meta.env.VITE_PESO const ID = sessionStorage.getItem('id')! const PUBLICIP = import.meta.env.VITE_PUBLICIP -const BACKEND = import.meta.env.VITE_BACKEND export default () => { const navigate = useNavigate() @@ -61,7 +59,6 @@ export default () => { const [configNotification, setConfigNotification] = createSignal(false) const [isIncomplete, setIsIncomplete] = createSignal(false) - const [isLoading, setIsLoading] = createSignal(false) let bldgadditional = false @@ -76,19 +73,15 @@ export default () => { } const getListForApprovalElectrical = async () => { - // setIsLoading(true) const responseE = await getApiMulti('get-listopapproval-electrical') setApplicationListElectrical(responseE.result) setNameListElectrical(responseE.result2) - // setIsLoading(false) } const getListForApprovalOccupancy = async () => { - // setIsLoading(true) const responseO = await getApiMulti('get-listopapproval-occupancy') setApplicationListOccupancy(responseO.result) setNameListOccupancy(responseO.result2) - // setIsLoading(false) } const load = async (division: string) => { @@ -97,7 +90,6 @@ export default () => { setErrorMessage('Could not gather list of applications') return } - setIsLoading(true) await getPassword() @@ -109,7 +101,6 @@ export default () => { } else { await getListForApproval() } - setIsLoading(false) } const getopdetails = async (division: string, applicationNo: string) => { @@ -157,9 +148,6 @@ export default () => { let forprinting: boolean = false let updateOrderofpayment: boolean = false - let popsExist: boolean = false - let popsPaid: boolean = false - setConnected(await checkConnection()) if (connected() === false) { setErrorMessage('No Connection on Server') @@ -167,35 +155,7 @@ export default () => { } if (division === 'electrical') { - // const isPaid = BACKEND.includes('localhost') ? await checkStatusPopsLocal(application) : await statusPopsOp(application) - // let isPaid - - if (BACKEND.includes('localhost')) { - const status = await checkStatusPopsLocal(application) - if (status.result > 0) popsExist = true - if (status.result2 > 0) popsPaid = true - } else { - const status = await await statusPopsOp(application) - if (status.message === 'Success') popsExist = true - if (status.pops_paid === true) popsPaid = true - } - - if (popsExist) { - if (popsPaid) { - setPostError(true) - setErrorMessage('Application Already Paid') - return - } else { - const voidOP = BACKEND.includes('localhost') ? await voidPopsOpLocal(application) : await voidPopsOp(application) - - if (!voidOP) { - setPostError(true) - setErrorMessage('POPS Record found but failed to void') - return - } - } - } - + await voidPopsOp(application) await postPops(division, application) const popsResult = await checkPops(application) const lockResult = await lockOpData(division, application) @@ -256,37 +216,6 @@ export default () => { } } - const approveElectrical = async (division: string, application: string) => { - let signed: boolean = false - let forprinting: boolean = false - let updateOrderofpayment: boolean = false - - await postPops(division, application) - const popsResult = await checkPops(application) - const lockResult = await lockOpData(division, application) - - if (popsResult && lockResult) { - signed = await setNewStatus(division, 'ELECTRICAL ORDER OF PAYMENT APPROVED AND SIGNED', '170', 'ELECOPAPPROVEDSIGNED', 1) - updateDocflow(division, application, 'FOR ELECTRICAL ORDER OF PAYMENT APPROVAL') - if (!signed) return - - forprinting = await setNewStatus(division, 'FOR ELECTRICAL ORDER OF PAYMENT PRINTING', '95', 'ELECOPPRINT', 0) - if (!forprinting) return - - updateOrderofpayment = await updateOp(division) - - if (updateOrderofpayment) { - postTransaction() - setApprovedApplication(application) - setApproved(true) - } - } else { - setPostError(true) - setErrorMessage('Error on posting on POPS Server, please try again') - return - } - } - const lockOpData = async (division: string, application: string) => { const dataToLock = await getApi(`get-opdata-${division}`, application) const lockedData = await lockData(dataToLock) @@ -301,21 +230,6 @@ export default () => { return true } - const voidPopsOpLocal = async (application: string) => { - const response = await voidApi('void-op-local', { data: application }) - return response - } - - const checkStatusPopsLocal = async (application: string) => { - const response = await getApiMulti('check-statuspops-local', application) - return response - } - - const statusPopsOp = async (application: string) => { - const response = await statusPopsApi(application) - return response - } - const returnAssessment = async (division: string, application: string) => { const id = await getApplicationById(division, application) setApplicationId(id) @@ -766,117 +680,107 @@ export default () => { - - - - - Downloading Data - - - - - - +
+ + + + + + + + + {applicationListElectrical().map((item: string, index: number) => ( - - - - - - - {applicationListElectrical().map((item: string, index: number) => ( - - - + + - - - ))} - -
Application NumberNameShow Details
Application NumberNameShow Details
{item}{nameListElectrical()[index]}{item}{nameListElectrical()[index]} - { - await getopdetails('electrical', item) - }} - > - - - {item} + + { + await getopdetails('electrical', item) + }} + > + + + {item} - - - -

Signing Error

-
-

Missing Data Detected

+ + + +

Signing Error

+
+

Missing Data Detected

+
+ +
+ + Some required information is missing from the application details + Please return to Assessment to complete the required fields - -
- - Some required information is missing from the application details - Please return to Assessment to complete the required fields - -
- - -
-
+ +
-
+ + +