From 85a83288b57f9e1cce16259ffeb36c5a97a6928d Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Sat, 28 Mar 2026 15:50:35 +0800 Subject: [PATCH 1/4] Updated backend dependencies --- backend/go.mod | 2 +- backend/go.sum | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/backend/go.mod b/backend/go.mod index 626c76a..2bde2c8 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -13,7 +13,7 @@ require ( filippo.io/edwards25519 v1.2.0 // indirect github.com/bytedance/gopkg v0.1.4 // indirect github.com/bytedance/sonic v1.15.0 // indirect - github.com/bytedance/sonic/loader v0.5.0 // indirect + github.com/bytedance/sonic/loader v0.5.1 // indirect github.com/cloudwego/base64x v0.1.6 // indirect github.com/gabriel-vasile/mimetype v1.4.13 // indirect github.com/gin-contrib/sse v1.1.0 // indirect diff --git a/backend/go.sum b/backend/go.sum index b5510ad..80e76e5 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -4,8 +4,8 @@ github.com/bytedance/gopkg v0.1.4 h1:oZnQwnX82KAIWb7033bEwtxvTqXcYMxDBaQxo5JJHWM github.com/bytedance/gopkg v0.1.4/go.mod h1:v1zWfPm21Fb+OsyXN2VAHdL6TBb2L88anLQgdyje6R4= github.com/bytedance/sonic v1.15.0 h1:/PXeWFaR5ElNcVE84U0dOHjiMHQOwNIx3K4ymzh/uSE= github.com/bytedance/sonic v1.15.0/go.mod h1:tFkWrPz0/CUCLEF4ri4UkHekCIcdnkqXw9VduqpJh0k= -github.com/bytedance/sonic/loader v0.5.0 h1:gXH3KVnatgY7loH5/TkeVyXPfESoqSBSBEiDd5VjlgE= -github.com/bytedance/sonic/loader v0.5.0/go.mod h1:AR4NYCk5DdzZizZ5djGqQ92eEhCCcdf5x77udYiSJRo= +github.com/bytedance/sonic/loader v0.5.1 h1:Ygpfa9zwRCCKSlrp5bBP/b/Xzc3VxsAW+5NIYXrOOpI= +github.com/bytedance/sonic/loader v0.5.1/go.mod h1:AR4NYCk5DdzZizZ5djGqQ92eEhCCcdf5x77udYiSJRo= github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M= github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -51,8 +51,6 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= -github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pelletier/go-toml/v2 v2.3.0 h1:k59bC/lIZREW0/iVaQR8nDHxVq8OVlIzYCOJf421CaM= github.com/pelletier/go-toml/v2 v2.3.0/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= From f1dfe0884df2247430f9172a2d7747e3f06a493c Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Sat, 28 Mar 2026 15:51:00 +0800 Subject: [PATCH 2/4] Returned middleware and added new api --- backend/main.go | 64 ++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 33 deletions(-) diff --git a/backend/main.go b/backend/main.go index 7302088..6db3fb2 100644 --- a/backend/main.go +++ b/backend/main.go @@ -10,7 +10,7 @@ import ( "time" "ocbo-esign-backend/connections" - // "ocbo-esign-backend/middleware" + "ocbo-esign-backend/middleware" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" @@ -1490,19 +1490,17 @@ func connect() { "result": resultInt, "result2": resultCount, }) - - case "check-esigntransaction": - 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, - }) + + case "check-esigntransaction": + err := db.QueryRow("SELECT COUNT(esign_transactionsid) FROM esign_transactions WHERE referenceNo = ?", data).Scan(&result) + if err != nil { + c.AbortWithError(http.StatusBadRequest, err) + c.String(http.StatusBadRequest, err.Error()) + return + } + c.JSON(http.StatusOK, gin.H{ + "result": result, + }) } }) @@ -1675,7 +1673,7 @@ func connect() { c.Data(resp.StatusCode, "application/json", body) }) - router.POST("/api/post-registration", func(c *gin.Context) { + router.POST("/api/post-registration", middleware.TokenChecker(), func(c *gin.Context) { type RegistrationData struct { Data int `json:"data"` Data2 string `json:"data2"` @@ -1721,7 +1719,7 @@ func connect() { }) - router.POST("/api/post-newstatus-occupancy", func(c *gin.Context) { + router.POST("/api/post-newstatus-occupancy", middleware.TokenChecker(), func(c *gin.Context) { type NewstatusData struct { Data int `json:"data"` //occuapancyid Data2 string `json:"data2"` //date @@ -1771,7 +1769,7 @@ func connect() { }) - router.POST("/api/post-newstatus-electrical", func(c *gin.Context) { + router.POST("/api/post-newstatus-electrical", middleware.TokenChecker(), func(c *gin.Context) { type NewstatusData struct { Data int `json:"data"` Data2 string `json:"data2"` @@ -1821,7 +1819,7 @@ func connect() { }) - router.POST("/api/update-docflow-occupancy", func(c *gin.Context) { + router.POST("/api/update-docflow-occupancy", middleware.TokenChecker(), func(c *gin.Context) { type UpdateDocflowData struct { Data string `json:"data"` Data2 string `json:"data2"` @@ -1870,7 +1868,7 @@ func connect() { } }) - router.POST("/api/update-docflow-electrical", func(c *gin.Context) { + router.POST("/api/update-docflow-electrical", middleware.TokenChecker(), func(c *gin.Context) { type UpdateDocflowData struct { Data string `json:"data"` Data2 string `json:"data2"` @@ -1919,7 +1917,7 @@ func connect() { } }) - router.POST("/api/update-opprinted-occupancy", func(c *gin.Context) { + router.POST("/api/update-opprinted-occupancy", middleware.TokenChecker(), func(c *gin.Context) { type UpdateOpData struct { Data int `json:"data"` } @@ -1961,7 +1959,7 @@ func connect() { } }) - router.POST("/api/update-opprinted-electrical", func(c *gin.Context) { + router.POST("/api/update-opprinted-electrical", middleware.TokenChecker(), func(c *gin.Context) { type UpdateOpData struct { Data int `json:"data"` } @@ -2003,7 +2001,7 @@ func connect() { } }) - router.POST("/api/update-foropreprint-electrical", func(c *gin.Context) { + router.POST("/api/update-foropreprint-electrical", middleware.TokenChecker(), func(c *gin.Context) { type UpdateOpData struct { Data int `json:"data"` } @@ -2045,7 +2043,7 @@ func connect() { } }) - router.POST("/api/post-esigntransaction", func(c *gin.Context) { + router.POST("/api/post-esigntransaction", middleware.TokenChecker(), func(c *gin.Context) { type UpdateOpData struct { Data int `json:"data"` Data2 string `json:"data2"` @@ -2193,7 +2191,7 @@ func connect() { } }) - router.POST("/api/update-opapproved-bldgadditional", func(c *gin.Context) { + router.POST("/api/update-opapproved-bldgadditional", middleware.TokenChecker(), func(c *gin.Context) { type UpdateOpData struct { Data int `json:"data"` } @@ -2242,7 +2240,7 @@ func connect() { } }) - router.POST("/api/update-opapproved-electrical", func(c *gin.Context) { + router.POST("/api/update-opapproved-electrical", middleware.TokenChecker(), func(c *gin.Context) { type UpdateOpData struct { Data int `json:"data"` } @@ -2291,7 +2289,7 @@ func connect() { } }) - router.POST("/api/update-name", func(c *gin.Context) { + router.POST("/api/update-name", middleware.TokenChecker(), func(c *gin.Context) { type NewnameData struct { Data int `json:"data"` //employeeid Data2 string `json:"data2"` //new name @@ -2337,7 +2335,7 @@ func connect() { }) - router.POST("/api/update-password", func(c *gin.Context) { + router.POST("/api/update-password", middleware.TokenChecker(), func(c *gin.Context) { type NewnameData struct { Data int `json:"data"` //employeeid Data2 string `json:"data2"` //new password @@ -2383,7 +2381,7 @@ func connect() { }) - router.POST("/api/save-lockdata", func(c *gin.Context) { + router.POST("/api/save-lockdata", middleware.TokenChecker(), func(c *gin.Context) { type saveLockData struct { Data string `json:"data"` //referenceNo Data2 string `json:"data2"` //lock_data @@ -2428,7 +2426,7 @@ func connect() { } }) - router.POST("/api/update-opforapproval-electrical", func(c *gin.Context) { + router.POST("/api/update-opforapproval-electrical", middleware.TokenChecker(), func(c *gin.Context) { type forApprovalData struct { Data string `json:"data"` //electricalNo } @@ -2516,7 +2514,7 @@ func connect() { // } // }) - router.DELETE("/api/delete-orderofpayment-electrical", func(c *gin.Context) { + router.DELETE("/api/delete-orderofpayment-electrical", middleware.TokenChecker(), func(c *gin.Context) { type DeleteOP struct { Data int `json:"data"` } @@ -2573,7 +2571,7 @@ func connect() { } }) - router.DELETE("/api/delete-orderofpayment-occupancy", func(c *gin.Context) { + router.DELETE("/api/delete-orderofpayment-occupancy", middleware.TokenChecker(), func(c *gin.Context) { type DeleteOP struct { Data int `json:"data"` } @@ -2630,7 +2628,7 @@ func connect() { } }) - router.DELETE("/api/void-op-local", func(c *gin.Context) { + router.DELETE("/api/void-op-local", middleware.TokenChecker(), func(c *gin.Context) { type DeleteOPLocal struct { Data string `json:"data"` } @@ -2690,7 +2688,7 @@ func connect() { }) - router.DELETE("/api/delete-esigntransactions", func(c *gin.Context) { + router.DELETE("/api/delete-esigntransactions", middleware.TokenChecker(), func(c *gin.Context) { type DeleteOPLocal struct { Data string `json:"data"` } From 581275ebfa68b3c12d95c367c19d61a7b25adba3 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Sat, 28 Mar 2026 15:51:10 +0800 Subject: [PATCH 3/4] Updated assessor page --- src/pages/AssessorPage/Assessor.tsx | 68 +++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 14 deletions(-) diff --git a/src/pages/AssessorPage/Assessor.tsx b/src/pages/AssessorPage/Assessor.tsx index e6a94f1..1b9145d 100644 --- a/src/pages/AssessorPage/Assessor.tsx +++ b/src/pages/AssessorPage/Assessor.tsx @@ -32,7 +32,7 @@ import { _type, _units, } from '../../stores/pdfinfo.ts' -import { checkConnection, createPdfElectrical, createPdfOccupancy, deleteApi, getApi, getApiMulti, getDateTime, postApi, saveNewName, saveNewPassword, securePassword, statusPopsApi, voidPopsApi } from '../../utils/functions/index.ts' +import { checkConnection, createPdfElectrical, createPdfOccupancy, deleteApi, getApi, getApiMulti, getDateTime, postApi, saveNewName, saveNewPassword, securePassword, statusPopsApi, voidPopsApi, voidApi } from '../../utils/functions/index.ts' import { AiOutlineLoading3Quarters } from 'solid-icons/ai' import './Assessor.sass' @@ -80,7 +80,7 @@ export default () => { const [filter, setFilter] = createSignal('') - const listType = ['Print', 'Reprint (No Change)', 'Void and Reapprove'] + const listType = ['Print', 'Reprint (No Change)', 'Void (Back to Approval)'] // const listType = ['Print', 'Reprint (No Change)'] const [selectedType, setSelectedType] = createSignal('Print') @@ -88,6 +88,8 @@ export default () => { const [isLoading, setIsLoading] = createSignal(false) const [loadingText, setLoadingText] = createSignal('') + const [voidNotification, setVoidNotification] = createSignal(false) + let bldgadditional = false const checkAccess = async (access: string) => { @@ -402,14 +404,14 @@ export default () => { await updateDocflow(division, application, 'FOR ELECTRICAL ORDER OF PAYMENT PRINTING') } - setLoadingText('Processing for Re-approvalsss') + setLoadingText('Processing for Re-approval') const checkOrValidation = await checkDocflow(division, application, 'FOR ELECTRICAL OFFICIAL RECEIPT VALIDATION') if (checkOrValidation) { await updateDocflow(division, application, 'FOR ELECTRICAL OFFICIAL RECEIPT VALIDATION') } // await updateDocflow(division, application, 'FOR ELECTRICAL OFFICIAL RECEIPT VALIDATION') await updateOpForApproval(division, application) - setLoadingText('Processing for Re-approvalsss') + setLoadingText('Processing for Re-approval') await clearEsignTransactions(application) } else if (division === 'occupancy') { await setNewStatus(division, 'OCCUPANCY ORDER OF PAYMENT VOIDED', '174', 'OCCOPVOIDED', 1) @@ -417,9 +419,12 @@ export default () => { await updateDocflow(division, application, 'APPROVED FOR PRINTING OF BUREAU OF FIRE AND ORDER OF PAYMENT') } - const successVoid = await voidPopsOp(application) + const successVoid = BACKEND.includes('localhost') ? await voidPopsOpLocal(application) : await voidPopsOp(application) if (successVoid) { await postTransaction(application) + setIsLoading(false) + setPrintedApplication(application) + setVoidNotification(true) } else { setIsLoading(false) } @@ -541,17 +546,17 @@ export default () => { navigate('/') } - // const gotoProfile = () => { - // sessionStorage.setItem('name', employeeName()) - // navigate('/profile') - // } - const voidPopsOp = async (application: string) => { const response = await voidPopsApi(application) if (response.includes('Error')) return false 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 @@ -568,8 +573,15 @@ export default () => { } const clearEsignTransactions = async (application: string) => { - const response = await deleteApi('delete-esigntransactions', { data: application }) - return response + let deleteTran + const check = await getApi('check-esigntransaction', application) + + if (parseInt(check) > 0) { + deleteTran = await deleteApi('delete-esigntransactions', { data: application }) + return deleteTran + } else { + return 0 + } } const saveConfig = async () => { @@ -896,9 +908,12 @@ export default () => { - + + + + Click anywhere to cancel @@ -1008,9 +1023,12 @@ export default () => { - + + + + Click anywhere to cancel @@ -1154,6 +1172,28 @@ export default () => { + +
setVoidNotification(false)}> + + + + + + + Account Voided and Returned to Approval + + + +

{printedApplication()}

+
+ + + Click anywhere to proceed + +
+
+
+
) } From caeba8e9f76f7c3645e5b0c6d2cb5e78f73ecb33 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Sat, 28 Mar 2026 15:52:33 +0800 Subject: [PATCH 4/4] Updated login page --- src/pages/LoginPage/Login.sass | 31 ++++++++++++++++- src/pages/LoginPage/Login.tsx | 63 ++++++++++++++++++++++++++-------- 2 files changed, 79 insertions(+), 15 deletions(-) diff --git a/src/pages/LoginPage/Login.sass b/src/pages/LoginPage/Login.sass index f0c0a34..baa895a 100644 --- a/src/pages/LoginPage/Login.sass +++ b/src/pages/LoginPage/Login.sass @@ -26,11 +26,40 @@ &__title font-weight: bold - padding: 0 0 0.25rem 0 + font-size: 1.25rem + padding: 0 0 0.5rem 0 &__info padding: 0 0 0.15rem 0 + &__subinfo + padding: 0 0 0.15rem 4.45rem + font-size: 0.75rem + + &__last + @extend .modal-tooltip__subinfo + padding: 0 0 .55rem 4.45rem + + &__category + padding: 0.15rem 0.55rem + border-radius: 0.5rem + background-color: #000000 + font-size: 0.65rem + width: 3.25rem + text-align: center + + &__red + @extend .modal-tooltip__category + background-color: #731313 + + &__green + @extend .modal-tooltip__category + background-color: #13731b + + &__yellow + @extend .modal-tooltip__category + background-color: #6b7313 + &__note font-weight: bold font-size: 0.75rem diff --git a/src/pages/LoginPage/Login.tsx b/src/pages/LoginPage/Login.tsx index 64626f7..367976e 100644 --- a/src/pages/LoginPage/Login.tsx +++ b/src/pages/LoginPage/Login.tsx @@ -239,7 +239,7 @@ export default () => { -
setOpenTooltip(false)}> + {/*
setOpenTooltip(false)}> -
+
*/}
setOpenChanges(false)}> - +