diff --git a/backend/go.sum b/backend/go.sum index 74feb8b..15ab7a3 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -1,5 +1,3 @@ -filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= -filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= filippo.io/edwards25519 v1.2.0 h1:crnVqOiS4jqYleHd9vaKZ+HKtHfllngJIiOpNpoJsjo= filippo.io/edwards25519 v1.2.0/go.mod h1:xzAOLCNug/yB62zG1bQ8uziwrIqIuxhctzJT18Q77mc= github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M= diff --git a/backend/main.go b/backend/main.go index f177280..29fac77 100644 --- a/backend/main.go +++ b/backend/main.go @@ -1430,6 +1430,17 @@ func connect() { "result": result, }) + case "check-popsrecord": + err := dbpop.QueryRow("SELECT COUNT(OrderPayId) AS result FROM orderpaydetail WHERE oprefid = ?" , 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, + }) + } }) diff --git a/package.json b/package.json index 26756a0..0edfb9b 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "solidjs-use": "^2.3.0" }, "devDependencies": { - "@biomejs/biome": "^2.3.14", + "@biomejs/biome": "^2.4.2", "@nanostores/solid": "^1.1.1", "@types/crypto-js": "^4.2.2", "@types/node": "^24.10.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e38b80e..cf96d2f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -73,8 +73,8 @@ importers: version: 2.3.0 devDependencies: '@biomejs/biome': - specifier: ^2.3.14 - version: 2.3.14 + specifier: ^2.4.2 + version: 2.4.2 '@nanostores/solid': specifier: ^1.1.1 version: 1.1.1(nanostores@1.1.0)(solid-js@1.9.11) @@ -187,59 +187,59 @@ packages: resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} - '@biomejs/biome@2.3.14': - resolution: {integrity: sha512-QMT6QviX0WqXJCaiqVMiBUCr5WRQ1iFSjvOLoTk6auKukJMvnMzWucXpwZB0e8F00/1/BsS9DzcKgWH+CLqVuA==} + '@biomejs/biome@2.4.2': + resolution: {integrity: sha512-vVE/FqLxNLbvYnFDYg3Xfrh1UdFhmPT5i+yPT9GE2nTUgI4rkqo5krw5wK19YHBd7aE7J6r91RRmb8RWwkjy6w==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@2.3.14': - resolution: {integrity: sha512-UJGPpvWJMkLxSRtpCAKfKh41Q4JJXisvxZL8ChN1eNW3m/WlPFJ6EFDCE7YfUb4XS8ZFi3C1dFpxUJ0Ety5n+A==} + '@biomejs/cli-darwin-arm64@2.4.2': + resolution: {integrity: sha512-3pEcKCP/1POKyaZZhXcxFl3+d9njmeAihZ17k8lL/1vk+6e0Cbf0yPzKItFiT+5Yh6TQA4uKvnlqe0oVZwRxCA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@2.3.14': - resolution: {integrity: sha512-PNkLNQG6RLo8lG7QoWe/hhnMxJIt1tEimoXpGQjwS/dkdNiKBLPv4RpeQl8o3s1OKI3ZOR5XPiYtmbGGHAOnLA==} + '@biomejs/cli-darwin-x64@2.4.2': + resolution: {integrity: sha512-P7hK1jLVny+0R9UwyGcECxO6sjETxfPyBm/1dmFjnDOHgdDPjPqozByunrwh4xPKld8sxOr5eAsSqal5uKgeBg==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@2.3.14': - resolution: {integrity: sha512-LInRbXhYujtL3sH2TMCH/UBwJZsoGwfQjBrMfl84CD4hL/41C/EU5mldqf1yoFpsI0iPWuU83U+nB2TUUypWeg==} + '@biomejs/cli-linux-arm64-musl@2.4.2': + resolution: {integrity: sha512-/x04YK9+7erw6tYEcJv9WXoBHcULI/wMOvNdAyE9S3JStZZ9yJyV67sWAI+90UHuDo/BDhq0d96LDqGlSVv7WA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] libc: [musl] - '@biomejs/cli-linux-arm64@2.3.14': - resolution: {integrity: sha512-KT67FKfzIw6DNnUNdYlBg+eU24Go3n75GWK6NwU4+yJmDYFe9i/MjiI+U/iEzKvo0g7G7MZqoyrhIYuND2w8QQ==} + '@biomejs/cli-linux-arm64@2.4.2': + resolution: {integrity: sha512-DI3Mi7GT2zYNgUTDEbSjl3e1KhoP76OjQdm8JpvZYZWtVDRyLd3w8llSr2TWk1z+U3P44kUBWY3X7H9MD1/DGQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] libc: [glibc] - '@biomejs/cli-linux-x64-musl@2.3.14': - resolution: {integrity: sha512-KQU7EkbBBuHPW3/rAcoiVmhlPtDSGOGRPv9js7qJVpYTzjQmVR+C9Rfcz+ti8YCH+zT1J52tuBybtP4IodjxZQ==} + '@biomejs/cli-linux-x64-musl@2.4.2': + resolution: {integrity: sha512-wbBmTkeAoAYbOQ33f6sfKG7pcRSydQiF+dTYOBjJsnXO2mWEOQHllKlC2YVnedqZFERp2WZhFUoO7TNRwnwEHQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] libc: [musl] - '@biomejs/cli-linux-x64@2.3.14': - resolution: {integrity: sha512-ZsZzQsl9U+wxFrGGS4f6UxREUlgHwmEfu1IrXlgNFrNnd5Th6lIJr8KmSzu/+meSa9f4rzFrbEW9LBBA6ScoMA==} + '@biomejs/cli-linux-x64@2.4.2': + resolution: {integrity: sha512-GK2ErnrKpWFigYP68cXiCHK4RTL4IUWhK92AFS3U28X/nuAL5+hTuy6hyobc8JZRSt+upXt1nXChK+tuHHx4mA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] libc: [glibc] - '@biomejs/cli-win32-arm64@2.3.14': - resolution: {integrity: sha512-+IKYkj/pUBbnRf1G1+RlyA3LWiDgra1xpS7H2g4BuOzzRbRB+hmlw0yFsLprHhbbt7jUzbzAbAjK/Pn0FDnh1A==} + '@biomejs/cli-win32-arm64@2.4.2': + resolution: {integrity: sha512-k2uqwLYrNNxnaoiW3RJxoMGnbKda8FuCmtYG3cOtVljs3CzWxaTR+AoXwKGHscC9thax9R4kOrtWqWN0+KdPTw==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@2.3.14': - resolution: {integrity: sha512-oizCjdyQ3WJEswpb3Chdngeat56rIdSYK12JI3iI11Mt5T5EXcZ7WLuowzEaFPNJ3zmOQFliMN8QY1Pi+qsfdQ==} + '@biomejs/cli-win32-x64@2.4.2': + resolution: {integrity: sha512-9ma7C4g8Sq3cBlRJD2yrsHXB1mnnEBdpy7PhvFrylQWQb4PoyCmPucdX7frvsSBQuFtIiKCrolPl/8tCZrKvgQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -2029,39 +2029,39 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@biomejs/biome@2.3.14': + '@biomejs/biome@2.4.2': optionalDependencies: - '@biomejs/cli-darwin-arm64': 2.3.14 - '@biomejs/cli-darwin-x64': 2.3.14 - '@biomejs/cli-linux-arm64': 2.3.14 - '@biomejs/cli-linux-arm64-musl': 2.3.14 - '@biomejs/cli-linux-x64': 2.3.14 - '@biomejs/cli-linux-x64-musl': 2.3.14 - '@biomejs/cli-win32-arm64': 2.3.14 - '@biomejs/cli-win32-x64': 2.3.14 + '@biomejs/cli-darwin-arm64': 2.4.2 + '@biomejs/cli-darwin-x64': 2.4.2 + '@biomejs/cli-linux-arm64': 2.4.2 + '@biomejs/cli-linux-arm64-musl': 2.4.2 + '@biomejs/cli-linux-x64': 2.4.2 + '@biomejs/cli-linux-x64-musl': 2.4.2 + '@biomejs/cli-win32-arm64': 2.4.2 + '@biomejs/cli-win32-x64': 2.4.2 - '@biomejs/cli-darwin-arm64@2.3.14': + '@biomejs/cli-darwin-arm64@2.4.2': optional: true - '@biomejs/cli-darwin-x64@2.3.14': + '@biomejs/cli-darwin-x64@2.4.2': optional: true - '@biomejs/cli-linux-arm64-musl@2.3.14': + '@biomejs/cli-linux-arm64-musl@2.4.2': optional: true - '@biomejs/cli-linux-arm64@2.3.14': + '@biomejs/cli-linux-arm64@2.4.2': optional: true - '@biomejs/cli-linux-x64-musl@2.3.14': + '@biomejs/cli-linux-x64-musl@2.4.2': optional: true - '@biomejs/cli-linux-x64@2.3.14': + '@biomejs/cli-linux-x64@2.4.2': optional: true - '@biomejs/cli-win32-arm64@2.3.14': + '@biomejs/cli-win32-arm64@2.4.2': optional: true - '@biomejs/cli-win32-x64@2.3.14': + '@biomejs/cli-win32-x64@2.4.2': optional: true '@bufbuild/protobuf@2.9.0': {} diff --git a/src/pages/MainPage/Main.tsx b/src/pages/MainPage/Main.tsx index a711881..ff46c32 100644 --- a/src/pages/MainPage/Main.tsx +++ b/src/pages/MainPage/Main.tsx @@ -150,10 +150,13 @@ export default () => { updateOrderofpayment = await updateOp(division) if (updateOrderofpayment) { - postTransaction() postPops(division, application) - setApprovedApplication(application) - setApproved(true) + + if (checkPops()) { + postTransaction() + setApprovedApplication(application) + setApproved(true) + } } } else if (division === 'occupancy') { const additionalResult = await getApi('check-bldgadditional-approval', application) @@ -173,10 +176,13 @@ export default () => { updateOrderofpayment = await updateOp(division) if (updateOrderofpayment) { - postTransaction() postPops(division, application) - setApprovedApplication(application) - setApproved(true) + + if (checkPops()){ + postTransaction() + setApprovedApplication(application) + setApproved(true) + } } } } @@ -194,8 +200,6 @@ export default () => { } } - - const updateOp = async (division: string) => { if (division === 'electrical') { return await postApi('update-opapproved-electrical', { data: parseInt(applicationId().toString()) }) @@ -233,6 +237,13 @@ export default () => { } } + const checkPops = async (application string) => { + const response = await getApi('check-popsrecord', application) + const result = response.result[0] + + return result > 0 + } + // const calculateAmounts = () => { // const amounts: string[] = amountList() // let gflguList: number[] = []