Compare commits

..

No commits in common. "caeba8e9f76f7c3645e5b0c6d2cb5e78f73ecb33" and "ecb1204391488d95a9a4d55e91c86e247b02396d" have entirely different histories.

6 changed files with 67 additions and 167 deletions

View file

@ -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.1 // indirect
github.com/bytedance/sonic/loader v0.5.0 // 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

View file

@ -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.1 h1:Ygpfa9zwRCCKSlrp5bBP/b/Xzc3VxsAW+5NIYXrOOpI=
github.com/bytedance/sonic/loader v0.5.1/go.mod h1:AR4NYCk5DdzZizZ5djGqQ92eEhCCcdf5x77udYiSJRo=
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/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,6 +51,8 @@ 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=

View file

@ -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,17 +1490,19 @@ func connect() {
"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,
})
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,
})
}
})
@ -1673,7 +1675,7 @@ func connect() {
c.Data(resp.StatusCode, "application/json", body)
})
router.POST("/api/post-registration", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/post-registration", func(c *gin.Context) {
type RegistrationData struct {
Data int `json:"data"`
Data2 string `json:"data2"`
@ -1719,7 +1721,7 @@ func connect() {
})
router.POST("/api/post-newstatus-occupancy", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/post-newstatus-occupancy", func(c *gin.Context) {
type NewstatusData struct {
Data int `json:"data"` //occuapancyid
Data2 string `json:"data2"` //date
@ -1769,7 +1771,7 @@ func connect() {
})
router.POST("/api/post-newstatus-electrical", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/post-newstatus-electrical", func(c *gin.Context) {
type NewstatusData struct {
Data int `json:"data"`
Data2 string `json:"data2"`
@ -1819,7 +1821,7 @@ func connect() {
})
router.POST("/api/update-docflow-occupancy", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/update-docflow-occupancy", func(c *gin.Context) {
type UpdateDocflowData struct {
Data string `json:"data"`
Data2 string `json:"data2"`
@ -1868,7 +1870,7 @@ func connect() {
}
})
router.POST("/api/update-docflow-electrical", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/update-docflow-electrical", func(c *gin.Context) {
type UpdateDocflowData struct {
Data string `json:"data"`
Data2 string `json:"data2"`
@ -1917,7 +1919,7 @@ func connect() {
}
})
router.POST("/api/update-opprinted-occupancy", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/update-opprinted-occupancy", func(c *gin.Context) {
type UpdateOpData struct {
Data int `json:"data"`
}
@ -1959,7 +1961,7 @@ func connect() {
}
})
router.POST("/api/update-opprinted-electrical", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/update-opprinted-electrical", func(c *gin.Context) {
type UpdateOpData struct {
Data int `json:"data"`
}
@ -2001,7 +2003,7 @@ func connect() {
}
})
router.POST("/api/update-foropreprint-electrical", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/update-foropreprint-electrical", func(c *gin.Context) {
type UpdateOpData struct {
Data int `json:"data"`
}
@ -2043,7 +2045,7 @@ func connect() {
}
})
router.POST("/api/post-esigntransaction", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/post-esigntransaction", func(c *gin.Context) {
type UpdateOpData struct {
Data int `json:"data"`
Data2 string `json:"data2"`
@ -2191,7 +2193,7 @@ func connect() {
}
})
router.POST("/api/update-opapproved-bldgadditional", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/update-opapproved-bldgadditional", func(c *gin.Context) {
type UpdateOpData struct {
Data int `json:"data"`
}
@ -2240,7 +2242,7 @@ func connect() {
}
})
router.POST("/api/update-opapproved-electrical", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/update-opapproved-electrical", func(c *gin.Context) {
type UpdateOpData struct {
Data int `json:"data"`
}
@ -2289,7 +2291,7 @@ func connect() {
}
})
router.POST("/api/update-name", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/update-name", func(c *gin.Context) {
type NewnameData struct {
Data int `json:"data"` //employeeid
Data2 string `json:"data2"` //new name
@ -2335,7 +2337,7 @@ func connect() {
})
router.POST("/api/update-password", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/update-password", func(c *gin.Context) {
type NewnameData struct {
Data int `json:"data"` //employeeid
Data2 string `json:"data2"` //new password
@ -2381,7 +2383,7 @@ func connect() {
})
router.POST("/api/save-lockdata", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/save-lockdata", func(c *gin.Context) {
type saveLockData struct {
Data string `json:"data"` //referenceNo
Data2 string `json:"data2"` //lock_data
@ -2426,7 +2428,7 @@ func connect() {
}
})
router.POST("/api/update-opforapproval-electrical", middleware.TokenChecker(), func(c *gin.Context) {
router.POST("/api/update-opforapproval-electrical", func(c *gin.Context) {
type forApprovalData struct {
Data string `json:"data"` //electricalNo
}
@ -2514,7 +2516,7 @@ func connect() {
// }
// })
router.DELETE("/api/delete-orderofpayment-electrical", middleware.TokenChecker(), func(c *gin.Context) {
router.DELETE("/api/delete-orderofpayment-electrical", func(c *gin.Context) {
type DeleteOP struct {
Data int `json:"data"`
}
@ -2571,7 +2573,7 @@ func connect() {
}
})
router.DELETE("/api/delete-orderofpayment-occupancy", middleware.TokenChecker(), func(c *gin.Context) {
router.DELETE("/api/delete-orderofpayment-occupancy", func(c *gin.Context) {
type DeleteOP struct {
Data int `json:"data"`
}
@ -2628,7 +2630,7 @@ func connect() {
}
})
router.DELETE("/api/void-op-local", middleware.TokenChecker(), func(c *gin.Context) {
router.DELETE("/api/void-op-local", func(c *gin.Context) {
type DeleteOPLocal struct {
Data string `json:"data"`
}
@ -2688,7 +2690,7 @@ func connect() {
})
router.DELETE("/api/delete-esigntransactions", middleware.TokenChecker(), func(c *gin.Context) {
router.DELETE("/api/delete-esigntransactions", func(c *gin.Context) {
type DeleteOPLocal struct {
Data string `json:"data"`
}

View file

@ -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, voidApi } from '../../utils/functions/index.ts'
import { checkConnection, createPdfElectrical, createPdfOccupancy, deleteApi, getApi, getApiMulti, getDateTime, postApi, saveNewName, saveNewPassword, securePassword, statusPopsApi, voidPopsApi } 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 (Back to Approval)']
const listType = ['Print', 'Reprint (No Change)', 'Void and Reapprove']
// const listType = ['Print', 'Reprint (No Change)']
const [selectedType, setSelectedType] = createSignal('Print')
@ -88,8 +88,6 @@ export default () => {
const [isLoading, setIsLoading] = createSignal(false)
const [loadingText, setLoadingText] = createSignal('')
const [voidNotification, setVoidNotification] = createSignal(false)
let bldgadditional = false
const checkAccess = async (access: string) => {
@ -404,14 +402,14 @@ export default () => {
await updateDocflow(division, application, 'FOR ELECTRICAL ORDER OF PAYMENT PRINTING')
}
setLoadingText('Processing for Re-approval')
setLoadingText('Processing for Re-approvalsss')
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-approval')
setLoadingText('Processing for Re-approvalsss')
await clearEsignTransactions(application)
} else if (division === 'occupancy') {
await setNewStatus(division, 'OCCUPANCY ORDER OF PAYMENT VOIDED', '174', 'OCCOPVOIDED', 1)
@ -419,12 +417,9 @@ export default () => {
await updateDocflow(division, application, 'APPROVED FOR PRINTING OF BUREAU OF FIRE AND ORDER OF PAYMENT')
}
const successVoid = BACKEND.includes('localhost') ? await voidPopsOpLocal(application) : await voidPopsOp(application)
const successVoid = await voidPopsOp(application)
if (successVoid) {
await postTransaction(application)
setIsLoading(false)
setPrintedApplication(application)
setVoidNotification(true)
} else {
setIsLoading(false)
}
@ -546,17 +541,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
@ -573,15 +568,8 @@ export default () => {
}
const clearEsignTransactions = async (application: string) => {
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 response = await deleteApi('delete-esigntransactions', { data: application })
return response
}
const saveConfig = async () => {
@ -908,12 +896,9 @@ export default () => {
<Show when={selectedType() === 'Print'}>
<Button wide label="Print" edges="curved" design="bo-primary" onClick={() => printHandler('occupancy', item)}></Button>
</Show>
<Show when={selectedType().includes('Reprint')}>
<Show when={selectedType() !== 'Print'}>
<Button wide label="Reprint" edges="curved" design="bo-primary" onClick={() => rePrintHandler('occupancy', item)}></Button>
</Show>
<Show when={selectedType().includes('Void')}>
<Button wide label="Void" edges="curved" design="bo-primary" onClick={() => rePrintHandler('occupancy', item)}></Button>
</Show>
<span class="modal__cancel">Click anywhere to cancel</span>
</Row>
</Padding>
@ -1023,12 +1008,9 @@ export default () => {
<Show when={selectedType() === 'Print'}>
<Button wide label="Print" edges="curved" design="bo-primary" onClick={() => printHandler('electrical', item)}></Button>
</Show>
<Show when={selectedType().includes('Reprint')}>
<Show when={selectedType() !== 'Print'}>
<Button wide label="Reprint" edges="curved" design="bo-primary" onClick={() => rePrintHandler('electrical', item)}></Button>
</Show>
<Show when={selectedType().includes('Void')}>
<Button wide label="Void" edges="curved" design="bo-primary" onClick={() => rePrintHandler('electrical', item)}></Button>
</Show>
<span class="modal__cancel">Click anywhere to cancel</span>
</Row>
</Padding>
@ -1172,28 +1154,6 @@ export default () => {
</Padding>
</Modal>
</div>
<div onClick={() => setVoidNotification(false)}>
<Modal trigger={voidNotification() === true} background="#123220ff" color="#cdfbe1f0" opacity={0.8}>
<Padding top={1} bottom={1} left={2} right={2}>
<Column>
<Row gap={4}>
<FaSolidThumbsUp size={75} />
<Box curved thickness={3} color="#cdfbe1f0" padding="1rem">
<span class="approval">Account Voided and Returned to Approval</span>
</Box>
</Row>
<Row padding="2rem 0 0 0">
<h2>{printedApplication()}</h2>
</Row>
<Row>
<span class="close-text">Click anywhere to proceed</span>
</Row>
</Column>
</Padding>
</Modal>
</div>
</>
)
}

View file

@ -26,40 +26,11 @@
&__title
font-weight: bold
font-size: 1.25rem
padding: 0 0 0.5rem 0
padding: 0 0 0.25rem 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

View file

@ -239,7 +239,7 @@ export default () => {
</Modal>
</div>
{/*<div onClick={() => setOpenTooltip(false)}>
<div onClick={() => setOpenTooltip(false)}>
<Modal trigger={openTooltip()} background="#252525ff" color="#dfe7fbf0" opacity={0.8} width="52rem">
<Padding top={1} bottom={1} left={1.5} right={1.5}>
<section class="modal-tooltip">
@ -270,66 +270,31 @@ export default () => {
</section>
</Padding>
</Modal>
</div>*/}
</div>
<div onClick={() => setOpenChanges(false)}>
<Modal trigger={openChanges()} background="#252525ff" color="#dfe7fbf0" opacity={0.8} width="35rem">
<Modal trigger={openChanges()} background="#252525ff" color="#dfe7fbf0" opacity={0.8} width="52rem">
<Padding top={1} bottom={1} left={1.5} right={1.5}>
<section class="modal-tooltip">
<div class="modal-tooltip__group">
<span class="modal-tooltip__title">Login</span>
<Row content="left" gap={0.5}>
<span class="modal-tooltip__category__red">Removed</span>
<span class="modal-tooltip__info">Removed version selection of encryption.</span>
</Row>
<span class="modal-tooltip__subinfo">* All active users are using version 2.</span>
</div>
<div class="modal-tooltip__group">
<span class="modal-tooltip__title">Both Printing and Approval</span>
<Row content="left" gap={0.5}>
<span class="modal-tooltip__category__yellow">Info</span>
<span class="modal-tooltip__info">Loading</span>
</Row>
<span class="modal-tooltip__subinfo">* Clicking too fast lead to .</span>
<span class="modal-tooltip__subinfo__last">* Use this if the original order of payment is lost.</span>
<span class="modal-tooltip__info">Removed version change.</span>
<span class="modal-tooltip__info">It is recommended that you update your password after logging in. Open the 'Config' menu in the upper right.</span>
</div>
<div class="modal-tooltip__group">
<span class="modal-tooltip__title">Printing</span>
<Row content="left" gap={0.5}>
<span class="modal-tooltip__category__yellow">Info</span>
<span class="modal-tooltip__info">Reprint (No Change)</span>
</Row>
<span class="modal-tooltip__subinfo">* Reprints a duplicate of the order of payment without any changes to its data.</span>
<span class="modal-tooltip__subinfo__last">* Use this if the original order of payment is lost.</span>
<Row content="left" gap={0.5}>
<span class="modal-tooltip__category__green">New</span>
<span class="modal-tooltip__info">Void (Back to Approval)</span>
</Row>
<span class="modal-tooltip__subinfo">* Returns the application back to approval.</span>
<span class="modal-tooltip__subinfo">* Deletes the existing order of payment to make room for the newly generated one.</span>
<span class="modal-tooltip__subinfo">* All applications listed are unpaid and safe to remove.</span>
<span class="modal-tooltip__subinfo">* Use this if duplicate values occur or there is any mistake in its data.</span>
<span class="modal-tooltip__title">Enc v2 (Encryption Version 2)</span>
<span class="modal-tooltip__info">The new default password encryption.</span>
<span class="modal-tooltip__info">Use this mode if you've recently registered or changed your password.</span>
</div>
<div class="modal-tooltip__group">
<span class="modal-tooltip__title">Approval</span>
<Row content="left" gap={0.5}>
<span class="modal-tooltip__category__yellow">Info</span>
<span class="modal-tooltip__info">Data Lock</span>
</Row>
<span class="modal-tooltip__subinfo">* To avoid .</span>
<span class="modal-tooltip__subinfo">* Use this if the original order of payment is lost.</span>
<Row content="left" gap={0.5}>
<span class="modal-tooltip__category__green">New</span>
<span class="modal-tooltip__info">Data Lock</span>
</Row>
<span class="modal-tooltip__subinfo">* To avoid .</span>
<span class="modal-tooltip__subinfo">* Use this if the original order of payment is lost.</span>
<span class="modal-tooltip__note">Note:</span>
<span class="modal-tooltip__note-info">To ensure security and privacy, avoid sharing your password.</span>
<span class="modal-tooltip__note-info">Your password's encryption is irreversible, which means it cannot be decrypted.</span>
<span class="modal-tooltip__note-info">Only encrypted passwords are saved in the database.</span>
<span class="modal-tooltip__note-info">Only you know your password. If forgotten, the account will be locked.</span>
<span class="modal-tooltip__note-info">If this happens, contact the IT department and request that your account be reset. You will be required to register again.</span>
</div>
<Row>