Compare commits

..

No commits in common. "b482c23f6adeb17098f4067b5d20a2625f936917" and "f9800220ab85a0a695f53c65c953c755964ef4ff" have entirely different histories.

7 changed files with 61 additions and 107 deletions

View file

@ -21,7 +21,7 @@ require (
github.com/go-playground/universal-translator v0.18.1 // indirect
github.com/go-playground/validator/v10 v10.28.0 // indirect
github.com/goccy/go-json v0.10.5 // indirect
github.com/goccy/go-yaml v1.19.0 // indirect
github.com/goccy/go-yaml v1.18.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
github.com/leodido/go-urn v1.4.0 // indirect

View file

@ -33,8 +33,6 @@ github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4=
github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw=
github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
github.com/goccy/go-yaml v1.19.0 h1:EmkZ9RIsX+Uq4DYFowegAuJo8+xdX3T/2dwNPXbxEYE=
github.com/goccy/go-yaml v1.19.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=

View file

@ -263,35 +263,6 @@ func connect() {
"result2": array2,
})
case "get-listopreprinting-occupancy":
var result2 string
array := []string{}
array2 := []string{}
results, err := db.Query(`SELECT DISTINCT IFNULL(e.electricalno, '') AS result, IF(c.firstName IS NULL OR c.firstName = '', c.lastName, CONCAT(c.firstName, ' ', IF(c.middleInitial IS NULL OR c.middleInitial = '', '', CONCAT(c.middleInitial, '. ')), c.lastName) ) AS result2
FROM electrical e JOIN customer c ON e.customerid = c.customerid JOIN ref_elec_occupancy ec ON e.ref_elec_occupancyid = ec.ref_elec_occupancyid JOIN electricaldocflowtxn ed ON e.electricalid = ed.electricalid RIGHT JOIN esign_transactions et ON e.electricalNo = et.referenceNo JOIN (SELECT electricalid, MAX(electricaldocflowtxnid) AS latest_electricaldocflowtxnid FROM electricaldocflowtxn GROUP BY electricalid) latest_doc ON ed.electricalid = latest_doc.electricalid AND ed.electricaldocflowtxnid = latest_doc.latest_electricaldocflowtxnid
WHERE remarks = ? AND is_approve = 0 ORDER BY e.electricalno ASC`, "FOR ELECTRICAL OFFICIAL RECEIPT VALIDATION")
if err != nil {
c.AbortWithError(http.StatusBadRequest, err)
c.String(http.StatusBadRequest, err.Error())
return
}
for results.Next() {
err = results.Scan(&result, &result2)
if err != nil {
c.AbortWithError(http.StatusBadRequest, err)
c.String(http.StatusBadRequest, err.Error())
return
}
array = append(array, result)
array2 = append(array2, result2)
}
c.JSON(http.StatusOK, gin.H{
"result": array,
"result2": array2,
})
case "get-listopprinting-electrical":
var result2 string
@ -299,7 +270,7 @@ func connect() {
array2 := []string{}
results, err := db.Query(`SELECT IFNULL(e.electricalno, '') AS result, IF(c.firstName IS NULL OR c.firstName = '', c.lastName, CONCAT(c.firstName, ' ', IF(c.middleInitial IS NULL OR c.middleInitial = '', '', CONCAT(c.middleInitial, '. ')), c.lastName) ) AS result2
FROM iips.electrical e JOIN iips.customer c ON e.customerid = c.customerid JOIN iips.ref_elec_occupancy ec ON e.ref_elec_occupancyid = ec.ref_elec_occupancyid JOIN iips.electricaldocflowtxn ed ON e.electricalid = ed.electricalid RIGHT JOIN esign_transactions et ON o.controlNo = et.referenceNo JOIN (SELECT electricalid, MAX(electricaldocflowtxnid) AS latest_electricaldocflowtxnid FROM electricaldocflowtxn GROUP BY electricalid) latest_doc ON ed.electricalid = latest_doc.electricalid AND ed.electricaldocflowtxnid = latest_doc.latest_electricaldocflowtxnid WHERE remarks = ? AND is_approve = 0 ORDER BY e.electricalno ASC`, "FOR ELECTRICAL ORDER OF PAYMENT PRINTING")
FROM iips.electrical e JOIN iips.customer c ON e.customerid = c.customerid JOIN iips.ref_elec_occupancy ec ON e.ref_elec_occupancyid = ec.ref_elec_occupancyid JOIN iips.electricaldocflowtxn ed ON e.electricalid = ed.electricalid JOIN (SELECT electricalid, MAX(electricaldocflowtxnid) AS latest_electricaldocflowtxnid FROM electricaldocflowtxn GROUP BY electricalid) latest_doc ON ed.electricalid = latest_doc.electricalid AND ed.electricaldocflowtxnid = latest_doc.latest_electricaldocflowtxnid WHERE remarks = ? AND is_approve = 0 ORDER BY e.electricalno ASC`, "FOR ELECTRICAL ORDER OF PAYMENT PRINTING")
if err != nil {
c.AbortWithError(http.StatusBadRequest, err)
c.String(http.StatusBadRequest, err.Error())
@ -871,7 +842,7 @@ func connect() {
// FROM electrical e join customer c on e.customerid = c.customerid join electrical_orderofpayment_new o on e.electricalid = o.electricalid join ref_elec_occupancy re on e.ref_elec_occupancyid = re.ref_elec_occupancyid join ref_bldgcomputationsheet rb on o.ref_bldgcomputationsheetid = rb.ref_bldgcomputationsheetid join employee em on o.assessedbyid = em.employeeid
// WHERE e.electricalNo = ?`, data)
results, err := db.Query(`SELECT IFNULL(e.locationofinstallation, '') AS result, IFNULL(re.occupancyoruse, '') AS result2, IFNULL(em.employeename, '') AS result3, IFNULL(o.amount, '') AS result4, IFNULL(o.opDate, '') AS result5, IFNULL(e.electricalid, 0) AS result6
FROM electrical e JOIN electrical_orderofpayment_new o ON e.electricalid = o.electricalid JOIN ref_elec_occupancy re ON e.ref_elec_occupancyid = re.ref_elec_occupancyid JOIN employee em ON o.assessedbyid = em.employeeid
FROM electrical e join electrical_orderofpayment_new o on e.electricalid = o.electricalid join ref_elec_occupancy re on e.ref_elec_occupancyid = re.ref_elec_occupancyid join employee em on o.assessedbyid = em.employeeid
WHERE e.electricalNo = ?`, data)
if err != nil {
c.AbortWithError(http.StatusBadRequest, err)
@ -1273,17 +1244,6 @@ func connect() {
"result": result,
})
case "check-bldgadditional-reprinting":
err := db.QueryRow("SELECT COUNT(building_orderofpaymentid) AS result FROM building_orderofpayment WHERE occupancyid = (SELECT occupancyid FROM occupancy WHERE controlNo = ?) AND for_approval = 1 AND is_approve = 1 AND is_paid = 0 AND is_delete = 0", 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-paid-pops":
err := dbpop.QueryRow("SELECT IF(COUNT(AFNum) > 0, 1, 0) AS result FROM orderpaydetail WHERE OPRefId = ?", data).Scan(&result)
if err != nil {

View file

@ -13,10 +13,10 @@
<meta property="og:description" content="Digital Signature for OCBO (Office of the City Building Official)" />
<meta property="og:type" content="website" />
<link rel="icon" type="image/png" href="/favicon.png" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/>
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/>
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/>
<link rel="manifest" href="/site.webmanifest"/>
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<title>OCBO e-Sign</title>
</head>

View file

@ -32,13 +32,13 @@
"solidjs-use": "^2.3.0"
},
"devDependencies": {
"@biomejs/biome": "^2.3.8",
"@biomejs/biome": "^2.3.7",
"@nanostores/solid": "^1.1.1",
"@types/crypto-js": "^4.2.2",
"@types/node": "^24.10.1",
"sass-embedded": "^1.93.3",
"typescript": "~5.8.3",
"vite": "^7.2.6",
"vite": "^7.2.4",
"vite-plugin-compression2": "^2.3.1",
"vite-plugin-solid": "^2.11.10"
}

96
pnpm-lock.yaml generated
View file

@ -73,8 +73,8 @@ importers:
version: 2.3.0
devDependencies:
'@biomejs/biome':
specifier: ^2.3.8
version: 2.3.8
specifier: ^2.3.7
version: 2.3.7
'@nanostores/solid':
specifier: ^1.1.1
version: 1.1.1(nanostores@1.1.0)(solid-js@1.9.10)
@ -91,14 +91,14 @@ importers:
specifier: ~5.8.3
version: 5.8.3
vite:
specifier: ^7.2.6
version: 7.2.6(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)
specifier: ^7.2.4
version: 7.2.4(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)
vite-plugin-compression2:
specifier: ^2.3.1
version: 2.3.1(rollup@4.52.1)
vite-plugin-solid:
specifier: ^2.11.10
version: 2.11.10(solid-js@1.9.10)(vite@7.2.6(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3))
version: 2.11.10(solid-js@1.9.10)(vite@7.2.4(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3))
packages:
@ -187,55 +187,55 @@ packages:
resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==}
engines: {node: '>=6.9.0'}
'@biomejs/biome@2.3.8':
resolution: {integrity: sha512-Qjsgoe6FEBxWAUzwFGFrB+1+M8y/y5kwmg5CHac+GSVOdmOIqsAiXM5QMVGZJ1eCUCLlPZtq4aFAQ0eawEUuUA==}
'@biomejs/biome@2.3.7':
resolution: {integrity: sha512-CTbAS/jNAiUc6rcq94BrTB8z83O9+BsgWj2sBCQg9rD6Wkh2gjfR87usjx0Ncx0zGXP1NKgT7JNglay5Zfs9jw==}
engines: {node: '>=14.21.3'}
hasBin: true
'@biomejs/cli-darwin-arm64@2.3.8':
resolution: {integrity: sha512-HM4Zg9CGQ3txTPflxD19n8MFPrmUAjaC7PQdLkugeeC0cQ+PiVrd7i09gaBS/11QKsTDBJhVg85CEIK9f50Qww==}
'@biomejs/cli-darwin-arm64@2.3.7':
resolution: {integrity: sha512-LirkamEwzIUULhXcf2D5b+NatXKeqhOwilM+5eRkbrnr6daKz9rsBL0kNZ16Hcy4b8RFq22SG4tcLwM+yx/wFA==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [darwin]
'@biomejs/cli-darwin-x64@2.3.8':
resolution: {integrity: sha512-lUDQ03D7y/qEao7RgdjWVGCu+BLYadhKTm40HkpJIi6kn8LSv5PAwRlew/DmwP4YZ9ke9XXoTIQDO1vAnbRZlA==}
'@biomejs/cli-darwin-x64@2.3.7':
resolution: {integrity: sha512-Q4TO633kvrMQkKIV7wmf8HXwF0dhdTD9S458LGE24TYgBjSRbuhvio4D5eOQzirEYg6eqxfs53ga/rbdd8nBKg==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [darwin]
'@biomejs/cli-linux-arm64-musl@2.3.8':
resolution: {integrity: sha512-PShR4mM0sjksUMyxbyPNMxoKFPVF48fU8Qe8Sfx6w6F42verbwRLbz+QiKNiDPRJwUoMG1nPM50OBL3aOnTevA==}
'@biomejs/cli-linux-arm64-musl@2.3.7':
resolution: {integrity: sha512-/afy8lto4CB8scWfMdt+NoCZtatBUF62Tk3ilWH2w8ENd5spLhM77zKlFZEvsKJv9AFNHknMl03zO67CiklL2Q==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
'@biomejs/cli-linux-arm64@2.3.8':
resolution: {integrity: sha512-Uo1OJnIkJgSgF+USx970fsM/drtPcQ39I+JO+Fjsaa9ZdCN1oysQmy6oAGbyESlouz+rzEckLTF6DS7cWse95g==}
'@biomejs/cli-linux-arm64@2.3.7':
resolution: {integrity: sha512-inHOTdlstUBzgjDcx0ge71U4SVTbwAljmkfi3MC5WzsYCRhancqfeL+sa4Ke6v2ND53WIwCFD5hGsYExoI3EZQ==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
'@biomejs/cli-linux-x64-musl@2.3.8':
resolution: {integrity: sha512-YGLkqU91r1276uwSjiUD/xaVikdxgV1QpsicT0bIA1TaieM6E5ibMZeSyjQ/izBn4tKQthUSsVZacmoJfa3pDA==}
'@biomejs/cli-linux-x64-musl@2.3.7':
resolution: {integrity: sha512-CQUtgH1tIN6e5wiYSJqzSwJumHYolNtaj1dwZGCnZXm2PZU1jOJof9TsyiP3bXNDb+VOR7oo7ZvY01If0W3iFQ==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
'@biomejs/cli-linux-x64@2.3.8':
resolution: {integrity: sha512-QDPMD5bQz6qOVb3kiBui0zKZXASLo0NIQ9JVJio5RveBEFgDgsvJFUvZIbMbUZT3T00M/1wdzwWXk4GIh0KaAw==}
'@biomejs/cli-linux-x64@2.3.7':
resolution: {integrity: sha512-fJMc3ZEuo/NaMYo5rvoWjdSS5/uVSW+HPRQujucpZqm2ZCq71b8MKJ9U4th9yrv2L5+5NjPF0nqqILCl8HY/fg==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
'@biomejs/cli-win32-arm64@2.3.8':
resolution: {integrity: sha512-H4IoCHvL1fXKDrTALeTKMiE7GGWFAraDwBYFquE/L/5r1927Te0mYIGseXi4F+lrrwhSWbSGt5qPFswNoBaCxg==}
'@biomejs/cli-win32-arm64@2.3.7':
resolution: {integrity: sha512-aJAE8eCNyRpcfx2JJAtsPtISnELJ0H4xVVSwnxm13bzI8RwbXMyVtxy2r5DV1xT3WiSP+7LxORcApWw0LM8HiA==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [win32]
'@biomejs/cli-win32-x64@2.3.8':
resolution: {integrity: sha512-RguzimPoZWtBapfKhKjcWXBVI91tiSprqdBYu7tWhgN8pKRZhw24rFeNZTNf6UiBfjCYCi9eFQs/JzJZIhuK4w==}
'@biomejs/cli-win32-x64@2.3.7':
resolution: {integrity: sha512-pulzUshqv9Ed//MiE8MOUeeEkbkSHVDVY5Cz5wVAnH1DUqliCQG3j6s1POaITTFqFfo7AVIx2sWdKpx/GS+Nqw==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [win32]
@ -1815,8 +1815,8 @@ packages:
'@testing-library/jest-dom':
optional: true
vite@7.2.6:
resolution: {integrity: sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==}
vite@7.2.4:
resolution: {integrity: sha512-NL8jTlbo0Tn4dUEXEsUg8KeyG/Lkmc4Fnzb8JXN/Ykm9G4HNImjtABMJgkQoVjOBN/j2WAwDTRytdqJbZsah7w==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@ -2016,39 +2016,39 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.27.1
'@biomejs/biome@2.3.8':
'@biomejs/biome@2.3.7':
optionalDependencies:
'@biomejs/cli-darwin-arm64': 2.3.8
'@biomejs/cli-darwin-x64': 2.3.8
'@biomejs/cli-linux-arm64': 2.3.8
'@biomejs/cli-linux-arm64-musl': 2.3.8
'@biomejs/cli-linux-x64': 2.3.8
'@biomejs/cli-linux-x64-musl': 2.3.8
'@biomejs/cli-win32-arm64': 2.3.8
'@biomejs/cli-win32-x64': 2.3.8
'@biomejs/cli-darwin-arm64': 2.3.7
'@biomejs/cli-darwin-x64': 2.3.7
'@biomejs/cli-linux-arm64': 2.3.7
'@biomejs/cli-linux-arm64-musl': 2.3.7
'@biomejs/cli-linux-x64': 2.3.7
'@biomejs/cli-linux-x64-musl': 2.3.7
'@biomejs/cli-win32-arm64': 2.3.7
'@biomejs/cli-win32-x64': 2.3.7
'@biomejs/cli-darwin-arm64@2.3.8':
'@biomejs/cli-darwin-arm64@2.3.7':
optional: true
'@biomejs/cli-darwin-x64@2.3.8':
'@biomejs/cli-darwin-x64@2.3.7':
optional: true
'@biomejs/cli-linux-arm64-musl@2.3.8':
'@biomejs/cli-linux-arm64-musl@2.3.7':
optional: true
'@biomejs/cli-linux-arm64@2.3.8':
'@biomejs/cli-linux-arm64@2.3.7':
optional: true
'@biomejs/cli-linux-x64-musl@2.3.8':
'@biomejs/cli-linux-x64-musl@2.3.7':
optional: true
'@biomejs/cli-linux-x64@2.3.8':
'@biomejs/cli-linux-x64@2.3.7':
optional: true
'@biomejs/cli-win32-arm64@2.3.8':
'@biomejs/cli-win32-arm64@2.3.7':
optional: true
'@biomejs/cli-win32-x64@2.3.8':
'@biomejs/cli-win32-x64@2.3.7':
optional: true
'@bufbuild/protobuf@2.9.0': {}
@ -3524,7 +3524,7 @@ snapshots:
transitivePeerDependencies:
- rollup
vite-plugin-solid@2.11.10(solid-js@1.9.10)(vite@7.2.6(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)):
vite-plugin-solid@2.11.10(solid-js@1.9.10)(vite@7.2.4(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)):
dependencies:
'@babel/core': 7.28.4
'@types/babel__core': 7.20.5
@ -3532,12 +3532,12 @@ snapshots:
merge-anything: 5.1.7
solid-js: 1.9.10
solid-refresh: 0.6.3(solid-js@1.9.10)
vite: 7.2.6(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)
vitefu: 1.1.1(vite@7.2.6(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3))
vite: 7.2.4(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)
vitefu: 1.1.1(vite@7.2.4(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3))
transitivePeerDependencies:
- supports-color
vite@7.2.6(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3):
vite@7.2.4(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3):
dependencies:
esbuild: 0.25.10
fdir: 6.5.0(picomatch@4.0.3)
@ -3551,9 +3551,9 @@ snapshots:
sass: 1.93.3
sass-embedded: 1.93.3
vitefu@1.1.1(vite@7.2.6(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)):
vitefu@1.1.1(vite@7.2.4(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)):
optionalDependencies:
vite: 7.2.6(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)
vite: 7.2.4(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)
webworkify@1.5.0: {}

View file

@ -196,11 +196,7 @@ export default () => {
// if (division === 'occupancy') op = await getApiMulti('get-opdetails-occupancy', applicationNo)
// if (division === 'electrical') op = await getApiMulti('get-opdetails-electrical', applicationNo)
let additionalResult
if (selectedType() === 'Print') {
additionalResult = await getApi('check-bldgadditional-printing', applicationNo)
} else additionalResult = await getApi('check-bldgadditional-reprinting', applicationNo)
const additionalResult = await getApi('check-bldgadditional-printing', applicationNo)
bldgadditional = additionalResult > 0
const op = await getApiMulti(`get-opdetails-${division}`, applicationNo)
@ -583,7 +579,7 @@ export default () => {
<Row content="split">
<Input value={filter()} onChange={setFilter} placeholder="Filter Application Number" />
<Row>
<Combobox options={listType} value={selectedType()} onChange={setSelectedType} placeholder="Select Type" width='200px' />
<Combobox options={listType} value={selectedType()} onChange={setSelectedType} placeholder="Select Type" />
<Button label="Refresh Data" edges="curved" design="bo-primary" icon={VsRefresh} onClick={refresh}></Button>
</Row>
</Row>
@ -677,7 +673,7 @@ export default () => {
<Row content="split">
<Input value={filter()} onChange={setFilter} placeholder="Filter Application Number" />
<Row>
<Combobox options={listType} value={selectedType()} onChange={setSelectedType} placeholder="Select Type" width='200px' />
<Combobox options={listType} value={selectedType()} onChange={setSelectedType} placeholder="Select Type" />
<Button label="Refresh Data" edges="curved" design="bo-primary" icon={VsRefresh} onClick={refresh}></Button>
</Row>
</Row>