Compare commits

..

No commits in common. "b65cc72040858423c502c188fbee009ba58f971a" and "99608062ff2056bf6019252d7110571f8917008e" have entirely different histories.

10 changed files with 240 additions and 612 deletions

View file

@ -15,12 +15,12 @@ import (
)
// DEV
// var connection string = "root:superuser@tcp(localhost:3306)/iips"
// var connectionPops string = "root:superuser@tcp(localhost:3306)/pops"
var connection string = "root:superuser@tcp(localhost:3306)/iips"
var connectionPops string = "root:superuser@tcp(localhost:3306)/pops"
// SERVER
var connection string = "iips:iipsuser@tcp(192.168.7.100:3306)/iips"
var connectionPops string = "pops:Pops2023!@tcp(192.168.76.10:3306)/pops"
// var connection string = "iips:iipsuser@tcp(192.168.7.100:3306)/iips"
// var connectionPops string = "pops:Pops2023!@tcp(192.168.76.10:3306)/pops"
func main() {
err := godotenv.Load()
@ -46,13 +46,13 @@ func connect() {
router.Use(cors.Default())
//DEV
// router.Use(cors.New(cors.Config{
// AllowOrigins: []string{"http://localhost:5173"},
// AllowMethods: []string{"GET", "POST"},
// AllowHeaders: []string{"Origin", "OCBO-Token"},
// ExposeHeaders: []string{"Content-Length"},
// AllowCredentials: true,
// }))
router.Use(cors.New(cors.Config{
AllowOrigins: []string{"http://localhost:5173"},
AllowMethods: []string{"GET", "POST"},
AllowHeaders: []string{"Origin", "OCBO-Token"},
ExposeHeaders: []string{"Content-Length"},
AllowCredentials: true,
}))
//SERVER
// router.Use(cors.New(cors.Config{
@ -856,40 +856,6 @@ func connect() {
"result3": array3,
})
case "get-printdetailsfees-bldgadditional":
var result2, result3, result4 string
array := []string{}
array2 := []string{}
array3 := []string{}
array4 := []string{}
results, err := db.Query(`SELECT IFNULL(ref.accountdescription, '') AS result, IFNULL(ref.accountcode, '') AS result2, IFNULL(op.amount, '') AS result3, IFNULL(op.numUnits, 0) AS result4
FROM occupancy o JOIN building_orderofpayment op ON o.occupancyid = op.occupancyid JOIN ref_bldgcomputationsheet ref ON op.ref_bldgcomputationsheetid = ref.ref_bldgcomputationsheetid
WHERE op.is_approve = 1 AND op.for_approval = 1 AND op.is_paid = 0 AND op.popstransmitted = 0 AND op.is_delete <> 1 AND op.occupancyid = ?`, data)
if err != nil {
c.AbortWithError(http.StatusBadRequest, err)
c.String(http.StatusBadRequest, err.Error())
return
}
for results.Next() {
err = results.Scan(&result, &result2, &result3, &result4)
if err != nil {
c.AbortWithError(http.StatusBadRequest, err)
c.String(http.StatusBadRequest, err.Error())
return
}
array = append(array, result)
array2 = append(array2, result2)
array3 = append(array3, result3)
array4 = append(array4, result4)
}
c.JSON(http.StatusOK, gin.H{
"result": array,
"result2": array2,
"result3": array3,
"result4": array4,
})
case "get-printdetailsfees-electrical":
var result2, result3 string
array := []string{}
@ -1086,7 +1052,6 @@ func connect() {
c.JSON(http.StatusOK, gin.H{
"result": result,
})
}
})
@ -1126,16 +1091,6 @@ func connect() {
"result": result,
})
case "check-approval":
err := db.QueryRow("SELECT IFNULL(is_approve, 0) AS result FROM occupancydocflowtxn WHERE remarks = ? AND occupancyreceivingid = (SELECT occupancyid FROM occupancy WHERE controlNo = ?)", data, data2).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,
})
}
})
@ -1326,6 +1281,53 @@ func connect() {
}
})
// router.POST("/api/update-docflow-bldgadditional", middleware.TokenChecker(), func(c *gin.Context) {
// type UpdateDocflowData struct {
// Data string `json:"data"`
// Data2 string `json:"data2"`
// }
// var updateDocflowData UpdateDocflowData
// if err := c.ShouldBindJSON(&updateDocflowData); 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")
// dbpost, err := db.Prepare("UPDATE occupancydocflowtxn SET is_approve = 1 WHERE remarks = ? AND occupancyreceivingid = (SELECT occupancyid FROM occupancy WHERE controlNo = ?)")
// if err != nil {
// c.AbortWithError(http.StatusInternalServerError, err)
// c.String(http.StatusInternalServerError, "Internal Server Error")
// return
// }
// defer dbpost.Close()
// exec, err := dbpost.Exec(updateDocflowData.Data, updateDocflowData.Data2)
// if err != nil {
// c.AbortWithError(http.StatusInternalServerError, err)
// c.String(http.StatusInternalServerError, "Internal Server Error")
// return
// }
// affect, err := exec.RowsAffected()
// if err != nil {
// c.AbortWithError(http.StatusInternalServerError, err)
// c.String(http.StatusInternalServerError, "Internal Server Error")
// return
// }
// if affect > 0 {
// c.String(http.StatusOK, "Success on Updating Docflow on Electrical")
// } else {
// c.String(http.StatusInternalServerError, "Failed on Updating Docflow on Electrical")
// }
// })
router.POST("/api/update-docflow-electrical", middleware.TokenChecker(), func(c *gin.Context) {
type UpdateDocflowData struct {
Data string `json:"data"`

View file

@ -1,22 +0,0 @@
{
"formatter": {
"semicolons": "asNeeded",
"indentStyle": "space",
"lineWidth": 500,
"bracketSpacing": true,
"quoteStyle": "single",
"trailingCommas": "es5",
"quoteProperties": "preserve"
},
"javascript": {
"formatter": {
"quoteStyle": "single",
"lineWidth": 500
}
},
"json": {
"formatter": {
"enabled": false
}
}
}

View file

@ -12,7 +12,7 @@
"@fontsource-variable/roboto": "^5.2.8",
"@kobalte/core": "^0.13.11",
"@solidjs-use/integrations": "^2.3.0",
"@solidjs/router": "^0.15.4",
"@solidjs/router": "^0.15.3",
"consola": "^3.4.2",
"crypto-js": "^4.2.0",
"dayjs": "^1.11.19",
@ -26,19 +26,18 @@
"openssl-nodejs": "^1.0.5",
"pica": "^9.0.1",
"qrcode": "^1.5.4",
"sharp": "^0.34.5",
"sharp": "^0.34.4",
"solid-icons": "^1.1.0",
"solid-js": "^1.9.10",
"solidjs-use": "^2.3.0"
},
"devDependencies": {
"@biomejs/biome": "2.3.5",
"@nanostores/solid": "^1.1.1",
"@types/crypto-js": "^4.2.2",
"@types/node": "^24.10.1",
"@types/node": "^24.10.0",
"sass-embedded": "^1.93.3",
"typescript": "~5.8.3",
"vite": "^7.2.2",
"vite": "^7.2.0",
"vite-plugin-compression2": "^2.3.1",
"vite-plugin-solid": "^2.11.10"
}

384
pnpm-lock.yaml generated
View file

@ -18,8 +18,8 @@ importers:
specifier: ^2.3.0
version: 2.3.0(qrcode@1.5.4)(sortablejs@1.15.6)
'@solidjs/router':
specifier: ^0.15.4
version: 0.15.4(solid-js@1.9.10)
specifier: ^0.15.3
version: 0.15.3(solid-js@1.9.10)
consola:
specifier: ^3.4.2
version: 3.4.2
@ -60,8 +60,8 @@ importers:
specifier: ^1.5.4
version: 1.5.4
sharp:
specifier: ^0.34.5
version: 0.34.5
specifier: ^0.34.4
version: 0.34.4
solid-icons:
specifier: ^1.1.0
version: 1.1.0(solid-js@1.9.10)
@ -72,9 +72,6 @@ importers:
specifier: ^2.3.0
version: 2.3.0
devDependencies:
'@biomejs/biome':
specifier: 2.3.5
version: 2.3.5
'@nanostores/solid':
specifier: ^1.1.1
version: 1.1.1(nanostores@1.0.1)(solid-js@1.9.10)
@ -82,8 +79,8 @@ importers:
specifier: ^4.2.2
version: 4.2.2
'@types/node':
specifier: ^24.10.1
version: 24.10.1
specifier: ^24.10.0
version: 24.10.0
sass-embedded:
specifier: ^1.93.3
version: 1.93.3
@ -91,14 +88,14 @@ importers:
specifier: ~5.8.3
version: 5.8.3
vite:
specifier: ^7.2.2
version: 7.2.2(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)
specifier: ^7.2.0
version: 7.2.0(@types/node@24.10.0)(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.2(@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.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3))
packages:
@ -187,59 +184,6 @@ packages:
resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==}
engines: {node: '>=6.9.0'}
'@biomejs/biome@2.3.5':
resolution: {integrity: sha512-HvLhNlIlBIbAV77VysRIBEwp55oM/QAjQEin74QQX9Xb259/XP/D5AGGnZMOyF1el4zcvlNYYR3AyTMUV3ILhg==}
engines: {node: '>=14.21.3'}
hasBin: true
'@biomejs/cli-darwin-arm64@2.3.5':
resolution: {integrity: sha512-fLdTur8cJU33HxHUUsii3GLx/TR0BsfQx8FkeqIiW33cGMtUD56fAtrh+2Fx1uhiCsVZlFh6iLKUU3pniZREQw==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [darwin]
'@biomejs/cli-darwin-x64@2.3.5':
resolution: {integrity: sha512-qpT8XDqeUlzrOW8zb4k3tjhT7rmvVRumhi2657I2aGcY4B+Ft5fNwDdZGACzn8zj7/K1fdWjgwYE3i2mSZ+vOA==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [darwin]
'@biomejs/cli-linux-arm64-musl@2.3.5':
resolution: {integrity: sha512-eGUG7+hcLgGnMNl1KHVZUYxahYAhC462jF/wQolqu4qso2MSk32Q+QrpN7eN4jAHAg7FUMIo897muIhK4hXhqg==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
'@biomejs/cli-linux-arm64@2.3.5':
resolution: {integrity: sha512-u/pybjTBPGBHB66ku4pK1gj+Dxgx7/+Z0jAriZISPX1ocTO8aHh8x8e7Kb1rB4Ms0nA/SzjtNOVJ4exVavQBCw==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
'@biomejs/cli-linux-x64-musl@2.3.5':
resolution: {integrity: sha512-awVuycTPpVTH/+WDVnEEYSf6nbCBHf/4wB3lquwT7puhNg8R4XvonWNZzUsfHZrCkjkLhFH/vCZK5jHatD9FEg==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
'@biomejs/cli-linux-x64@2.3.5':
resolution: {integrity: sha512-XrIVi9YAW6ye0CGQ+yax0gLfx+BFOtKaNX74n+xHWla6Cl6huUmcKNO7HPx7BiKnJUzrxXY1qYlm7xMvi08X4g==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
'@biomejs/cli-win32-arm64@2.3.5':
resolution: {integrity: sha512-DlBiMlBZZ9eIq4H7RimDSGsYcOtfOIfZOaI5CqsWiSlbTfqbPVfWtCf92wNzx8GNMbu1s7/g3ZZESr6+GwM/SA==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [win32]
'@biomejs/cli-win32-x64@2.3.5':
resolution: {integrity: sha512-nUmR8gb6yvrKhtRgzwo/gDimPwnO5a4sCydf8ZS2kHIJhEmSmk+STsusr1LHTuM//wXppBawvSQi2xFXJCdgKQ==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [win32]
'@bufbuild/protobuf@2.9.0':
resolution: {integrity: sha512-rnJenoStJ8nvmt9Gzye8nkYd6V22xUAnu4086ER7h1zJ508vStko4pMvDeQ446ilDTFpV5wnoc5YS7XvMwwMqA==}
@ -248,8 +192,8 @@ packages:
peerDependencies:
solid-js: ^1.8
'@emnapi/runtime@1.7.0':
resolution: {integrity: sha512-oAYoQnCYaQZKVS53Fq23ceWMRxq5EhQsE0x0RdQ55jT7wagMu5k+fS39v1fiSLrtrLQlXwVINenqhLMtTrV/1Q==}
'@emnapi/runtime@1.5.0':
resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
'@esbuild/aix-ppc64@0.25.10':
resolution: {integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==}
@ -423,135 +367,124 @@ packages:
resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==}
engines: {node: '>=18'}
'@img/sharp-darwin-arm64@0.34.5':
resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==}
'@img/sharp-darwin-arm64@0.34.4':
resolution: {integrity: sha512-sitdlPzDVyvmINUdJle3TNHl+AG9QcwiAMsXmccqsCOMZNIdW2/7S26w0LyU8euiLVzFBL3dXPwVCq/ODnf2vA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [darwin]
'@img/sharp-darwin-x64@0.34.5':
resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==}
'@img/sharp-darwin-x64@0.34.4':
resolution: {integrity: sha512-rZheupWIoa3+SOdF/IcUe1ah4ZDpKBGWcsPX6MT0lYniH9micvIU7HQkYTfrx5Xi8u+YqwLtxC/3vl8TQN6rMg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [darwin]
'@img/sharp-libvips-darwin-arm64@1.2.4':
resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==}
'@img/sharp-libvips-darwin-arm64@1.2.3':
resolution: {integrity: sha512-QzWAKo7kpHxbuHqUC28DZ9pIKpSi2ts2OJnoIGI26+HMgq92ZZ4vk8iJd4XsxN+tYfNJxzH6W62X5eTcsBymHw==}
cpu: [arm64]
os: [darwin]
'@img/sharp-libvips-darwin-x64@1.2.4':
resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==}
'@img/sharp-libvips-darwin-x64@1.2.3':
resolution: {integrity: sha512-Ju+g2xn1E2AKO6YBhxjj+ACcsPQRHT0bhpglxcEf+3uyPY+/gL8veniKoo96335ZaPo03bdDXMv0t+BBFAbmRA==}
cpu: [x64]
os: [darwin]
'@img/sharp-libvips-linux-arm64@1.2.4':
resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
'@img/sharp-libvips-linux-arm64@1.2.3':
resolution: {integrity: sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ==}
cpu: [arm64]
os: [linux]
'@img/sharp-libvips-linux-arm@1.2.4':
resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
'@img/sharp-libvips-linux-arm@1.2.3':
resolution: {integrity: sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA==}
cpu: [arm]
os: [linux]
'@img/sharp-libvips-linux-ppc64@1.2.4':
resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
'@img/sharp-libvips-linux-ppc64@1.2.3':
resolution: {integrity: sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg==}
cpu: [ppc64]
os: [linux]
'@img/sharp-libvips-linux-riscv64@1.2.4':
resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
cpu: [riscv64]
os: [linux]
'@img/sharp-libvips-linux-s390x@1.2.4':
resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==}
'@img/sharp-libvips-linux-s390x@1.2.3':
resolution: {integrity: sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w==}
cpu: [s390x]
os: [linux]
'@img/sharp-libvips-linux-x64@1.2.4':
resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
'@img/sharp-libvips-linux-x64@1.2.3':
resolution: {integrity: sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==}
cpu: [x64]
os: [linux]
'@img/sharp-libvips-linuxmusl-arm64@1.2.4':
resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
'@img/sharp-libvips-linuxmusl-arm64@1.2.3':
resolution: {integrity: sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw==}
cpu: [arm64]
os: [linux]
'@img/sharp-libvips-linuxmusl-x64@1.2.4':
resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==}
'@img/sharp-libvips-linuxmusl-x64@1.2.3':
resolution: {integrity: sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g==}
cpu: [x64]
os: [linux]
'@img/sharp-linux-arm64@0.34.5':
resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==}
'@img/sharp-linux-arm64@0.34.4':
resolution: {integrity: sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
'@img/sharp-linux-arm@0.34.5':
resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==}
'@img/sharp-linux-arm@0.34.4':
resolution: {integrity: sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm]
os: [linux]
'@img/sharp-linux-ppc64@0.34.5':
resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==}
'@img/sharp-linux-ppc64@0.34.4':
resolution: {integrity: sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [ppc64]
os: [linux]
'@img/sharp-linux-riscv64@0.34.5':
resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [riscv64]
os: [linux]
'@img/sharp-linux-s390x@0.34.5':
resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==}
'@img/sharp-linux-s390x@0.34.4':
resolution: {integrity: sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [s390x]
os: [linux]
'@img/sharp-linux-x64@0.34.5':
resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==}
'@img/sharp-linux-x64@0.34.4':
resolution: {integrity: sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
'@img/sharp-linuxmusl-arm64@0.34.5':
resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==}
'@img/sharp-linuxmusl-arm64@0.34.4':
resolution: {integrity: sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
'@img/sharp-linuxmusl-x64@0.34.5':
resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==}
'@img/sharp-linuxmusl-x64@0.34.4':
resolution: {integrity: sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
'@img/sharp-wasm32@0.34.5':
resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==}
'@img/sharp-wasm32@0.34.4':
resolution: {integrity: sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [wasm32]
'@img/sharp-win32-arm64@0.34.5':
resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==}
'@img/sharp-win32-arm64@0.34.4':
resolution: {integrity: sha512-2Q250do/5WXTwxW3zjsEuMSv5sUU4Tq9VThWKlU2EYLm4MB7ZeMwF+SFJutldYODXF6jzc6YEOC+VfX0SZQPqA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [win32]
'@img/sharp-win32-ia32@0.34.5':
resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==}
'@img/sharp-win32-ia32@0.34.4':
resolution: {integrity: sha512-3ZeLue5V82dT92CNL6rsal6I2weKw1cYu+rGKm8fOCCtJTR2gYeUfY3FqUnIJsMUPIH68oS5jmZ0NiJ508YpEw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [ia32]
os: [win32]
'@img/sharp-win32-x64@0.34.5':
resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==}
'@img/sharp-win32-x64@0.34.4':
resolution: {integrity: sha512-xIyj4wpYs8J18sVN3mSQjwrw7fKUqRw+Z5rnHNCy5fYTxigBz81u5mOMPmFumwjcn8+ld1ppptMBCLic1nz6ig==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [win32]
@ -1007,8 +940,8 @@ packages:
'@solidjs-use/solid-to-vue@2.3.0':
resolution: {integrity: sha512-I2onRwzdYl2eq20M3hcTkVIeYq4hNoBpHvRJB9yzoyXRDSyp7R2glIbvdBzpsXqnTvX7HJhB2KePfxYXFvyJxw==}
'@solidjs/router@0.15.4':
resolution: {integrity: sha512-WOpgg9a9T638cR+5FGbFi/IV4l2FpmBs1GpIMSPa0Ce9vyJN7Wts+X2PqMf9IYn0zUj2MlSJtm1gp7/HI/n5TQ==}
'@solidjs/router@0.15.3':
resolution: {integrity: sha512-iEbW8UKok2Oio7o6Y4VTzLj+KFCmQPGEpm1fS3xixwFBdclFVBvaQVeibl1jys4cujfAK5Kn6+uG2uBm3lxOMw==}
peerDependencies:
solid-js: ^1.8.6
@ -1039,8 +972,8 @@ packages:
'@types/node@16.9.1':
resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==}
'@types/node@24.10.1':
resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==}
'@types/node@24.10.0':
resolution: {integrity: sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A==}
'@types/pako@2.0.4':
resolution: {integrity: sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==}
@ -1187,8 +1120,8 @@ packages:
engines: {node: '>=0.10'}
hasBin: true
detect-libc@2.1.2:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
detect-libc@2.1.0:
resolution: {integrity: sha512-vEtk+OcP7VBRtQZ1EJ3bdgzSfBjgnEalLTp5zjJrS+2Z1w2KZly4SBdac/WDU3hhsNAZ9E8SC96ME4Ey8MZ7cg==}
engines: {node: '>=8'}
dijkstrajs@1.0.3:
@ -1655,8 +1588,8 @@ packages:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
semver@7.7.3:
resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
semver@7.7.2:
resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
engines: {node: '>=10'}
hasBin: true
@ -1673,8 +1606,8 @@ packages:
set-blocking@2.0.0:
resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
sharp@0.34.5:
resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}
sharp@0.34.4:
resolution: {integrity: sha512-FUH39xp3SBPnxWvd5iib1X8XY7J0K0X7d93sie9CJg2PO8/7gmg89Nve6OjItK53/MlAushNNxteBYfM6DEuoA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
simple-xml-to-json@1.2.3:
@ -1815,8 +1748,8 @@ packages:
'@testing-library/jest-dom':
optional: true
vite@7.2.2:
resolution: {integrity: sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==}
vite@7.2.0:
resolution: {integrity: sha512-C/Naxf8H0pBx1PA4BdpT+c/5wdqI9ILMdwjSMILw7tVIh3JsxzZqdeTLmmdaoh5MYUEOyBnM9K3o0DzoZ/fe+w==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@ -2016,41 +1949,6 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.27.1
'@biomejs/biome@2.3.5':
optionalDependencies:
'@biomejs/cli-darwin-arm64': 2.3.5
'@biomejs/cli-darwin-x64': 2.3.5
'@biomejs/cli-linux-arm64': 2.3.5
'@biomejs/cli-linux-arm64-musl': 2.3.5
'@biomejs/cli-linux-x64': 2.3.5
'@biomejs/cli-linux-x64-musl': 2.3.5
'@biomejs/cli-win32-arm64': 2.3.5
'@biomejs/cli-win32-x64': 2.3.5
'@biomejs/cli-darwin-arm64@2.3.5':
optional: true
'@biomejs/cli-darwin-x64@2.3.5':
optional: true
'@biomejs/cli-linux-arm64-musl@2.3.5':
optional: true
'@biomejs/cli-linux-arm64@2.3.5':
optional: true
'@biomejs/cli-linux-x64-musl@2.3.5':
optional: true
'@biomejs/cli-linux-x64@2.3.5':
optional: true
'@biomejs/cli-win32-arm64@2.3.5':
optional: true
'@biomejs/cli-win32-x64@2.3.5':
optional: true
'@bufbuild/protobuf@2.9.0': {}
'@corvu/utils@0.4.2(solid-js@1.9.10)':
@ -2058,7 +1956,7 @@ snapshots:
'@floating-ui/dom': 1.7.4
solid-js: 1.9.10
'@emnapi/runtime@1.7.0':
'@emnapi/runtime@1.5.0':
dependencies:
tslib: 2.8.1
optional: true
@ -2156,98 +2054,90 @@ snapshots:
'@img/colour@1.0.0': {}
'@img/sharp-darwin-arm64@0.34.5':
'@img/sharp-darwin-arm64@0.34.4':
optionalDependencies:
'@img/sharp-libvips-darwin-arm64': 1.2.4
'@img/sharp-libvips-darwin-arm64': 1.2.3
optional: true
'@img/sharp-darwin-x64@0.34.5':
'@img/sharp-darwin-x64@0.34.4':
optionalDependencies:
'@img/sharp-libvips-darwin-x64': 1.2.4
'@img/sharp-libvips-darwin-x64': 1.2.3
optional: true
'@img/sharp-libvips-darwin-arm64@1.2.4':
'@img/sharp-libvips-darwin-arm64@1.2.3':
optional: true
'@img/sharp-libvips-darwin-x64@1.2.4':
'@img/sharp-libvips-darwin-x64@1.2.3':
optional: true
'@img/sharp-libvips-linux-arm64@1.2.4':
'@img/sharp-libvips-linux-arm64@1.2.3':
optional: true
'@img/sharp-libvips-linux-arm@1.2.4':
'@img/sharp-libvips-linux-arm@1.2.3':
optional: true
'@img/sharp-libvips-linux-ppc64@1.2.4':
'@img/sharp-libvips-linux-ppc64@1.2.3':
optional: true
'@img/sharp-libvips-linux-riscv64@1.2.4':
'@img/sharp-libvips-linux-s390x@1.2.3':
optional: true
'@img/sharp-libvips-linux-s390x@1.2.4':
'@img/sharp-libvips-linux-x64@1.2.3':
optional: true
'@img/sharp-libvips-linux-x64@1.2.4':
'@img/sharp-libvips-linuxmusl-arm64@1.2.3':
optional: true
'@img/sharp-libvips-linuxmusl-arm64@1.2.4':
'@img/sharp-libvips-linuxmusl-x64@1.2.3':
optional: true
'@img/sharp-libvips-linuxmusl-x64@1.2.4':
optional: true
'@img/sharp-linux-arm64@0.34.5':
'@img/sharp-linux-arm64@0.34.4':
optionalDependencies:
'@img/sharp-libvips-linux-arm64': 1.2.4
'@img/sharp-libvips-linux-arm64': 1.2.3
optional: true
'@img/sharp-linux-arm@0.34.5':
'@img/sharp-linux-arm@0.34.4':
optionalDependencies:
'@img/sharp-libvips-linux-arm': 1.2.4
'@img/sharp-libvips-linux-arm': 1.2.3
optional: true
'@img/sharp-linux-ppc64@0.34.5':
'@img/sharp-linux-ppc64@0.34.4':
optionalDependencies:
'@img/sharp-libvips-linux-ppc64': 1.2.4
'@img/sharp-libvips-linux-ppc64': 1.2.3
optional: true
'@img/sharp-linux-riscv64@0.34.5':
'@img/sharp-linux-s390x@0.34.4':
optionalDependencies:
'@img/sharp-libvips-linux-riscv64': 1.2.4
'@img/sharp-libvips-linux-s390x': 1.2.3
optional: true
'@img/sharp-linux-s390x@0.34.5':
'@img/sharp-linux-x64@0.34.4':
optionalDependencies:
'@img/sharp-libvips-linux-s390x': 1.2.4
'@img/sharp-libvips-linux-x64': 1.2.3
optional: true
'@img/sharp-linux-x64@0.34.5':
'@img/sharp-linuxmusl-arm64@0.34.4':
optionalDependencies:
'@img/sharp-libvips-linux-x64': 1.2.4
'@img/sharp-libvips-linuxmusl-arm64': 1.2.3
optional: true
'@img/sharp-linuxmusl-arm64@0.34.5':
'@img/sharp-linuxmusl-x64@0.34.4':
optionalDependencies:
'@img/sharp-libvips-linuxmusl-arm64': 1.2.4
'@img/sharp-libvips-linuxmusl-x64': 1.2.3
optional: true
'@img/sharp-linuxmusl-x64@0.34.5':
optionalDependencies:
'@img/sharp-libvips-linuxmusl-x64': 1.2.4
optional: true
'@img/sharp-wasm32@0.34.5':
'@img/sharp-wasm32@0.34.4':
dependencies:
'@emnapi/runtime': 1.7.0
'@emnapi/runtime': 1.5.0
optional: true
'@img/sharp-win32-arm64@0.34.5':
'@img/sharp-win32-arm64@0.34.4':
optional: true
'@img/sharp-win32-ia32@0.34.5':
'@img/sharp-win32-ia32@0.34.4':
optional: true
'@img/sharp-win32-x64@0.34.5':
'@img/sharp-win32-x64@0.34.4':
optional: true
'@internationalized/date@3.9.0':
@ -2700,7 +2590,7 @@ snapshots:
'@solidjs-use/solid-to-vue@2.3.0': {}
'@solidjs/router@0.15.4(solid-js@1.9.10)':
'@solidjs/router@0.15.3(solid-js@1.9.10)':
dependencies:
solid-js: 1.9.10
@ -2737,7 +2627,7 @@ snapshots:
'@types/node@16.9.1': {}
'@types/node@24.10.1':
'@types/node@24.10.0':
dependencies:
undici-types: 7.16.0
@ -2875,7 +2765,7 @@ snapshots:
detect-libc@1.0.3:
optional: true
detect-libc@2.1.2: {}
detect-libc@2.1.0: {}
dijkstrajs@1.0.3: {}
@ -3350,7 +3240,7 @@ snapshots:
semver@6.3.1: {}
semver@7.7.3: {}
semver@7.7.2: {}
seroval-plugins@1.3.3(seroval@1.3.2):
dependencies:
@ -3360,36 +3250,34 @@ snapshots:
set-blocking@2.0.0: {}
sharp@0.34.5:
sharp@0.34.4:
dependencies:
'@img/colour': 1.0.0
detect-libc: 2.1.2
semver: 7.7.3
detect-libc: 2.1.0
semver: 7.7.2
optionalDependencies:
'@img/sharp-darwin-arm64': 0.34.5
'@img/sharp-darwin-x64': 0.34.5
'@img/sharp-libvips-darwin-arm64': 1.2.4
'@img/sharp-libvips-darwin-x64': 1.2.4
'@img/sharp-libvips-linux-arm': 1.2.4
'@img/sharp-libvips-linux-arm64': 1.2.4
'@img/sharp-libvips-linux-ppc64': 1.2.4
'@img/sharp-libvips-linux-riscv64': 1.2.4
'@img/sharp-libvips-linux-s390x': 1.2.4
'@img/sharp-libvips-linux-x64': 1.2.4
'@img/sharp-libvips-linuxmusl-arm64': 1.2.4
'@img/sharp-libvips-linuxmusl-x64': 1.2.4
'@img/sharp-linux-arm': 0.34.5
'@img/sharp-linux-arm64': 0.34.5
'@img/sharp-linux-ppc64': 0.34.5
'@img/sharp-linux-riscv64': 0.34.5
'@img/sharp-linux-s390x': 0.34.5
'@img/sharp-linux-x64': 0.34.5
'@img/sharp-linuxmusl-arm64': 0.34.5
'@img/sharp-linuxmusl-x64': 0.34.5
'@img/sharp-wasm32': 0.34.5
'@img/sharp-win32-arm64': 0.34.5
'@img/sharp-win32-ia32': 0.34.5
'@img/sharp-win32-x64': 0.34.5
'@img/sharp-darwin-arm64': 0.34.4
'@img/sharp-darwin-x64': 0.34.4
'@img/sharp-libvips-darwin-arm64': 1.2.3
'@img/sharp-libvips-darwin-x64': 1.2.3
'@img/sharp-libvips-linux-arm': 1.2.3
'@img/sharp-libvips-linux-arm64': 1.2.3
'@img/sharp-libvips-linux-ppc64': 1.2.3
'@img/sharp-libvips-linux-s390x': 1.2.3
'@img/sharp-libvips-linux-x64': 1.2.3
'@img/sharp-libvips-linuxmusl-arm64': 1.2.3
'@img/sharp-libvips-linuxmusl-x64': 1.2.3
'@img/sharp-linux-arm': 0.34.4
'@img/sharp-linux-arm64': 0.34.4
'@img/sharp-linux-ppc64': 0.34.4
'@img/sharp-linux-s390x': 0.34.4
'@img/sharp-linux-x64': 0.34.4
'@img/sharp-linuxmusl-arm64': 0.34.4
'@img/sharp-linuxmusl-x64': 0.34.4
'@img/sharp-wasm32': 0.34.4
'@img/sharp-win32-arm64': 0.34.4
'@img/sharp-win32-ia32': 0.34.4
'@img/sharp-win32-x64': 0.34.4
simple-xml-to-json@1.2.3: {}
@ -3524,7 +3412,7 @@ snapshots:
transitivePeerDependencies:
- rollup
vite-plugin-solid@2.11.10(solid-js@1.9.10)(vite@7.2.2(@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.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3)):
dependencies:
'@babel/core': 7.28.4
'@types/babel__core': 7.20.5
@ -3532,12 +3420,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.2(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)
vitefu: 1.1.1(vite@7.2.2(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3))
vite: 7.2.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3)
vitefu: 1.1.1(vite@7.2.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3))
transitivePeerDependencies:
- supports-color
vite@7.2.2(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3):
vite@7.2.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3):
dependencies:
esbuild: 0.25.10
fdir: 6.5.0(picomatch@4.0.3)
@ -3546,14 +3434,14 @@ snapshots:
rollup: 4.52.1
tinyglobby: 0.2.15
optionalDependencies:
'@types/node': 24.10.1
'@types/node': 24.10.0
fsevents: 2.3.3
sass: 1.93.3
sass-embedded: 1.93.3
vitefu@1.1.1(vite@7.2.2(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)):
vitefu@1.1.1(vite@7.2.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3)):
optionalDependencies:
vite: 7.2.2(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)
vite: 7.2.0(@types/node@24.10.0)(sass-embedded@1.93.3)(sass@1.93.3)
webworkify@1.5.0: {}

View file

@ -8,7 +8,7 @@ import { checkConnection, createPdfOccupancy, createPdfElectrical } from '../../
import { FaSolidThumbsUp } from 'solid-icons/fa'
import { _employeeName, _employeeId } from '../../stores/employee'
import { useNavigate } from '@solidjs/router'
import { _applicationNo, _date, _optn, _name, _location, _type, _assessor, _feeList, _codeList, _amountList, _signatureAssessor, _signatureApprover, _assessorid, _approvedDate, _assessedDate, _units, _totalUnits, _floorArea, _additional, _additionalFeeList, _additionalAmountList, _additionalCodeList, _additionalUnitList } from '../../stores/pdfinfo'
import { _applicationNo, _date, _optn, _name, _location, _type, _assessor, _feeList, _codeList, _amountList, _signatureAssessor, _signatureApprover, _assessorid, _approvedDate, _assessedDate, _units, _totalUnits, _floorArea } from '../../stores/pdfinfo'
import { VsRefresh } from 'solid-icons/vs'
import { getApi, getApiMulti, postApi } from '../../utils/functions'
@ -90,22 +90,6 @@ export default () => {
_feeList.set(feeList)
_codeList.set(accountCodeList)
_amountList.set(amountList)
_additional.set(false)
if (division === 'occupancy' && bldgadditional) {
const response = await getApiMulti('get-printdetailsfees-bldgadditional', id)
const feeList = response.result
const accountCodeList = response.result2
const amountList = response.result3
const unitList = response.result4
_additional.set(true)
_additionalFeeList.set(feeList)
_additionalCodeList.set(accountCodeList)
_additionalAmountList.set(amountList)
_additionalUnitList.set(unitList)
}
}
// const calculateAmounts = () => {
@ -158,10 +142,6 @@ export default () => {
// if (division === 'occupancy') op = await getApiMulti('get-opdetails-occupancy', applicationNo)
// if (division === 'electrical') op = await getApiMulti('get-opdetails-electrical', applicationNo)
const additionalResult = await getApi('check-bldgadditional-printing', applicationNo)
bldgadditional = additionalResult > 0
console.log('additionalResult', additionalResult)
const op = await getApiMulti(`get-opdetails-${division}`, applicationNo)
setLocation(op.result[0])
@ -247,6 +227,9 @@ export default () => {
await setNewStatus(division, 'FOR ELECTRICAL OFFICIAL RECEIPT VALIDATION', '98', 'ELECORVALIDATE', 0)
await updateDocflow(division, application, 'FOR ELECTRICAL ORDER OF PAYMENT PRINTING')
} else if (division === 'occupancy') {
const additionalResult = await getApi('check-bldgadditional-approval', application)
bldgadditional = additionalResult > 0
await setNewStatus(division, 'OCCUPANCY ORDER OF PAYMENT PRINTED', '173', 'OCCOPPRINTED', 1)
await setNewStatus(division, 'OCCUPANCY ORDER OF PAYMENT RELEASED', '174', 'OCCOPRELEASED', 1)
await setNewStatus(division, 'ORDER OF PAYMENT RELEASE FOR BUREAU OF FIRE', '24', 'OCOOPRELEASE', 0)
@ -259,19 +242,14 @@ export default () => {
postTransaction(application)
setPrintedApplication(application)
setPrinted(true)
if (division === 'electrical') {
createPdfElectrical()
} else if (division === 'occupancy') {
createPdfOccupancy()
} else console.log('building')
} else createPdfOccupancy()
}
}
const updateOp = async (division: string) => {
const post = await postApi(`update-opprinted-${division}`, {
data: parseInt(applicationId().toString()),
})
const post = await postApi(`update-opprinted-${division}`, { data: parseInt(applicationId().toString()) })
return post
}
@ -280,23 +258,12 @@ export default () => {
const formattedDate = dayjs(today).format('YYYY-MM-DD HH:mm:ss')
const statusid = parseInt(applicationId().toString())
const post = await postApi(`post-newstatus-${division}`, {
data: statusid,
data2: formattedDate,
data3: status,
data4: tag,
data5: tagword,
data6: parseInt(approved.toString()),
data7: parseInt(employeeId().toString()),
})
const post = await postApi(`post-newstatus-${division}`, { data: statusid, data2: formattedDate, data3: status, data4: tag, data5: tagword, data6: parseInt(approved.toString()), data7: parseInt(employeeId().toString()) })
return post
}
const updateDocflow = async (division: string, application: string, status: string) => {
await postApi(`update-docflow-${division}`, {
data: status,
data2: application,
})
await postApi(`update-docflow-${division}`, { data: status, data2: application })
}
const getSignatureImage = async (id: number) => {
@ -329,11 +296,7 @@ export default () => {
const today = new Date()
const formatedDate = dayjs(today).format('YYYY-MM-DD HH:mm:ss')
await postApi('post-esigntransaction', {
data: parseInt(id),
data2: application,
data3: formatedDate,
})
await postApi('post-esigntransaction', { data: parseInt(id), data2: application, data3: formatedDate })
}
const getApprovedDate = async (id: number, application: string) => {
@ -385,7 +348,6 @@ export default () => {
createEffect(async () => {
if (filter() !== '') {
console.log('empty')
if (isBuilding()) await getListForPrinting('building')
if (isOccupancy()) await getListForPrinting('occupancy')
if (isElectrical()) await getListForPrinting('electrical')
@ -449,11 +411,9 @@ export default () => {
<Tabs.Content class="tabs__content" value="building">
<Row>
{/* <h2>List of Ready to Approve and Sign Building Order of Payments</h2> */}
<Padding top={2} bottom={0} left={0} right={0}>
<Box curved thickness={0} background="#602a2abf" padding="1rem 2rem">
<h2>Under Development</h2>
</Box>
</Padding>
</Row>
<Row>
@ -542,10 +502,7 @@ export default () => {
<section class="modal__row">
<span class="modal__row__label">Total Fee:</span>
<span class="modal__row__detail__price">
{PESO}{' '}
{totalOp().toLocaleString('en-US', {
minimumFractionDigits: 2,
})}
{PESO} {totalOp().toLocaleString('en-US', { minimumFractionDigits: 2 })}
</span>
</section>
</Padding>
@ -633,10 +590,7 @@ export default () => {
<section class="modal__row">
<span class="modal__row__label">Total Fee:</span>
<span class="modal__row__detail__price">
{PESO}{' '}
{totalOp().toLocaleString('en-US', {
minimumFractionDigits: 2,
})}
{PESO} {totalOp().toLocaleString('en-US', { minimumFractionDigits: 2 })}
</span>
</section>
</Padding>

View file

@ -64,15 +64,23 @@ export default () => {
}
const getListForApprovalElectrical = async () => {
try {
const responseE = await getApiMulti('get-listopapproval-electrical')
setApplicationListElectrical(responseE.result)
setNameListElectrical(responseE.result2)
} catch (error) {
console.error(error)
}
}
const getListForApprovalOccupancy = async () => {
try {
const responseO = await getApiMulti('get-listopapproval-occupancy')
setApplicationListOccupancy(responseO.result)
setNameListOccupancy(responseO.result2)
} catch (error) {
console.error(error)
}
}
const load = async (division: string) => {
@ -106,7 +114,7 @@ export default () => {
const total = calculateTotal(op.result4)
const formattedTotal = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
// maximumFractionDigits: 2,
}).format(total)
setTotalOp(formattedTotal)
setDateOp(dayjs(op.result5[0]).format('MMMM DD, YYYY'))
@ -151,10 +159,7 @@ export default () => {
signed = await setNewStatus(division, 'OCCUPANCY ORDER OF PAYMENT APPROVED AND SIGNED', '172', 'OCCOPAPPROVEDSIGNED', 1)
updateDocflow(division, application, 'FOR OCCUPANCY RECOMMENDING APPROVAL')
if (bldgadditional) {
const neededToUpdate = await checkApproval(application, 'FOR ADDITIONAL ORDER OF PAYMENT RECOMMENDING APPROVAL')
if (!neededToUpdate) updateDocflow(division, application, 'FOR ADDITIONAL ORDER OF PAYMENT RECOMMENDING APPROVAL')
}
if (bldgadditional) updateDocflow(division, application, 'FOR ADDITIONAL ORDER OF PAYMENT RECOMMENDING APPROVAL')
if (!signed) return
forprinting = await setNewStatus(division, 'APPROVED FOR PRINTING OF BUREAU OF FIRE AND ORDER OF PAYMENT', '23', 'OCORDEROFPAYMENT', 0)
@ -300,11 +305,6 @@ export default () => {
}
}
const checkApproval = async (application: string, status: string) => {
const response = await getApi('check-approval', status, application)
return response
}
const logout = async () => {
removeEmployee()
navigate('/')
@ -362,11 +362,9 @@ export default () => {
<Tabs.Content class="tabs__content" value="building">
<Row>
{/* <h2>List of Ready to Approve and Sign Building Order of Payments</h2> */}
<Padding top={2} bottom={0} left={0} right={0}>
<Box curved thickness={0} background="#602a2abf" padding="1rem 2rem">
<h2>Under Development</h2>
</Box>
</Padding>
</Row>
<Row>
@ -384,7 +382,7 @@ export default () => {
</Tabs.Content>
<Tabs.Content class="tabs__content" value="occupancy">
<Row>
<h2>List of Ready to Approve and Sign in Occupancy Order of Payments</h2>
<h2>List of Ready to Approve and Sign Occupancy Order of Payments</h2>
</Row>
<Padding top={0} bottom={0} right={10} left={0}>

View file

@ -25,7 +25,3 @@ export const _totalUnits = atom(0)
export const _floorArea = atom(0)
export const _additional = atom(false)
export const _additionalFeeList = atom<string[]>([])
export const _additionalCodeList = atom<string[]>([])
export const _additionalAmountList = atom<string[]>([])
export const _additionalUnitList = atom<number[]>([])

View file

@ -27,7 +27,7 @@ export default async () => {
const doc = new jsPDF({
orientation: 'p',
unit: 'mm',
format: 'letter',
format: [215.9, 279.4],
})
const arial =
@ -215,13 +215,10 @@ export default async () => {
doc.line(156, newYPosition, 170, newYPosition)
doc.setFont('arial', 'normal')
doc.text(`${PESO}`, 156, newYPosition + 4)
doc.setFont('arial-bold', 'bold')
doc.text('Total :', 146, newYPosition + 4)
const totalAmount = AMOUNTS.reduce((sum, amount) => sum + parseFloat(amount), 0)
doc.text(`${totalAmount.toLocaleString('en-US', { minimumFractionDigits: 2 })}`, 159, newYPosition + 4)
doc.text(`${PESO} ${totalAmount.toLocaleString('en-US', { minimumFractionDigits: 2 })}`, 156, newYPosition + 4)
doc.text('Assessed By :', 16, newYPosition + 12)
doc.text('Approved By :', 142, newYPosition + 12)

View file

@ -1,7 +1,7 @@
import jsPDF from 'jspdf'
// @ts-ignore
import jspdfBarcode from 'jspdf-barcode'
import { _optn, _applicationNo, _date, _name, _type, _location, _assessor, _feeList, _codeList, _amountList, _signatureAssessor, _signatureApprover, _assessorid, _approvedDate, _assessedDate, _units, _totalUnits, _floorArea, _additional, _additionalAmountList, _additionalCodeList, _additionalFeeList, _additionalUnitList } from '../../stores/pdfinfo'
import { _optn, _applicationNo, _date, _name, _type, _location, _assessor, _feeList, _codeList, _amountList, _signatureAssessor, _signatureApprover, _assessorid, _approvedDate, _assessedDate, _units, _totalUnits, _floorArea } from '../../stores/pdfinfo'
import dayjs from 'dayjs'
// @ts-ignore
import QRCode from 'qrcode'
@ -29,17 +29,10 @@ export default async () => {
const MULTIPLIED = AMOUNTS.map((amount) => parseInt(amount) * UNITS)
const ADDTLFEES = _additionalFeeList.get()
const ADDTLAMOUNTS = _additionalAmountList.get()
const ADDTLCODES = _additionalCodeList.get()
const ADDTLUNITS = _additionalUnitList.get()
const ADDTLMULTIPLIED = ADDTLAMOUNTS.map((amount, index) => parseInt(amount) * ADDTLUNITS[index])
const doc = new jsPDF({
orientation: 'p',
unit: 'mm',
format: 'letter',
format: [215.9, 279.4],
})
const arial =
@ -272,181 +265,5 @@ export default async () => {
doc.setFontSize(6)
doc.text('Officer-in-Charge', 154, newYPosition + 37)
if (_additional.get()) {
doc.addPage('letter')
jspdfBarcode(doc, APPLICATION, {
fontSize: 32,
textColor: '#000000',
x: pageWidth - 35,
y: 38,
textOptions: { align: 'center' },
})
doc.setFont('arial', 'normal')
doc.setFontSize(9)
doc.text(republicText, republicTextX, 14)
doc.setFont('arial-bold', 'bold')
doc.setFontSize(10)
doc.text(officeText, officeTextX, 19)
doc.setFont('arial', 'normal')
doc.setFontSize(9)
doc.text(cityText, cityTextX, 24)
doc.addImage(lungsod, 'PNG', 14, 8, 18, 18, 'lungsod', 'NONE', 0)
doc.addImage(ocbo, 'PNG', pageWidth - 34, 8, 18, 18, 'ocbo', 'NONE', 0)
const opText = 'ORDER OF PAYMENT'
const opTextWidth = getTextWidth(opText, 8.75)
const opTextX = (pageWidth - opTextWidth) / 2
doc.setFont('arial-bold', 'bold')
doc.setFontSize(9)
doc.text(opText, opTextX, 34)
const divisionText = 'BUILDING ADDITIONAL PERMIT'
const divisionTextWidth = getTextWidth(divisionText, 7.25)
const divisionTextX = (pageWidth - divisionTextWidth) / 2
doc.setFont('arial', 'normal')
doc.setFontSize(8)
doc.text(divisionText, divisionTextX, 38)
const optnText = 'OPTN:'
const optnTextX = 16
doc.setFont('arial-bold', 'bold')
doc.setFontSize(8)
doc.text(optnText, optnTextX, 38)
const optnContentX = 25
doc.setFontSize(8)
doc.text(OPTN, optnContentX, 38)
const toText = `TO: The City Treasurer's Office`
const toTextX = 16
doc.setFont('arial', 'normal')
doc.setFontSize(8)
doc.text(toText, toTextX, 46)
doc.text('Please accept payment for fee specified herunder', 16, 50)
doc.text('Application No. :', pageWidth - 60, 46)
doc.setFont('arial-bold', 'bold')
doc.text(APPLICATION, pageWidth - 38, 46)
doc.setFont('arial', 'normal')
doc.text('Approved Date :', pageWidth - 60, 50)
doc.setFont('arial-bold', 'bold')
doc.text(DATE, pageWidth - 38, 50)
doc.setFont('arial', 'normal')
doc.text('Name of Applicant :', 23.4, 58)
doc.setFont('arial-bold', 'bold')
doc.text(NAME, 50, 58)
doc.setFont('arial', 'normal')
doc.text('Location of Construction :', 16, 62)
doc.setFont('arial-bold', 'bold')
doc.text(LOCATION, 50, 62)
doc.setFont('arial', 'normal')
doc.text('Type of Use :', 31.2, 66)
doc.setFont('arial-bold', 'bold')
doc.text(TYPE, 50, 66)
doc.text('ACCOUNT DESCRIPTION', 16, 74)
doc.text('ACCOUNT CODE', getTextWidth('ACCOUNT DESCRIPTION', 8) + 40, 74)
doc.text('AMOUNT', getTextWidth('ACCOUNT DESCRIPTION', 8) + getTextWidth('ACCOUNT CODE', 8) + 65, 74)
doc.text('UNIT', getTextWidth('ACCOUNT DESCRIPTION', 8) + getTextWidth('ACCOUNT CODE', 8) + 82, 74)
doc.setFont('arial', 'normal')
let yPosition = 82
ADDTLFEES.forEach((fee) => {
doc.text(fee, 16, yPosition)
yPosition += 4
})
yPosition = 82
ADDTLCODES.forEach((code) => {
doc.text(code, 76, yPosition)
yPosition += 4
})
yPosition = 82
ADDTLAMOUNTS.forEach((amount) => {
doc.text(`${PESO} ${parseInt(amount).toLocaleString('en-US', { minimumFractionDigits: 2 })}`, 122, yPosition)
yPosition += 4
})
yPosition = 82
ADDTLAMOUNTS.forEach(() => {
doc.text(`x${UNITS}`, 140, yPosition)
yPosition += 4
})
yPosition = 82
ADDTLAMOUNTS.forEach(() => {
doc.text('=', 148, yPosition)
yPosition += 4
})
yPosition = 82
ADDTLMULTIPLIED.forEach((amount) => {
doc.text(`${PESO} ${parseInt(amount.toString()).toLocaleString('en-US', { minimumFractionDigits: 2 })}`, 156, yPosition)
yPosition += 4
})
let newYPosition = yPosition
doc.line(156, newYPosition, 170, newYPosition)
doc.setFont('arial', 'normal')
doc.text(`${PESO}`, 156, newYPosition + 4)
doc.setFont('arial-bold', 'bold')
doc.text('Total :', 146, newYPosition + 4)
const totalAmount = ADDTLMULTIPLIED.reduce((sum, amount) => sum + parseFloat(amount.toString()), 0)
doc.text(`${totalAmount.toLocaleString('en-US', { minimumFractionDigits: 2 })}`, 159, newYPosition + 4)
doc.text('No. of Units:', 16, newYPosition + 4)
doc.text(TOTALUNITS.toString(), 34, newYPosition + 4)
doc.text('Actual Floor Area:', 16, newYPosition + 8)
doc.text(FLOORAREA.toLocaleString('en-US', { minimumFractionDigits: 2 }), 42, newYPosition + 8)
doc.text('Assessed By :', 16, newYPosition + 16)
doc.text('Approved By :', 142, newYPosition + 16)
doc.text(ASSESSOR, 16, newYPosition + 34)
doc.text(APPROVER, 142, newYPosition + 34)
doc.addImage(assessorQr, 'PNG', 16, newYPosition + 18, 14, 14, 'assessorQr', 'NONE', 0)
doc.addImage(_signatureAssessor.get(), 'PNG', 30, newYPosition + 18, 10, 5.9, 'signatureAssessor', 'NONE', 0)
doc.setFont('arial', 'normal')
doc.setFontSize(4)
doc.text('Digitally signed by :', 30, newYPosition + 26)
doc.text(ASSESSOR, 30, newYPosition + 28)
doc.text('Date: ' + dayjs(_assessedDate.get()).format('YYYY-MM-DD HH:mm:ss'), 30, newYPosition + 30)
doc.addImage(approverQr, 'PNG', 142, newYPosition + 18, 14, 14, 'approverQr', 'NONE', 0)
doc.addImage(_signatureApprover.get(), 'PNG', 156, newYPosition + 18, 41.4, 5.9, 'signatureApprover', 'NONE', 0)
doc.text('Digitally signed by :', 156, newYPosition + 26)
doc.text(APPROVER, 156, newYPosition + 28)
doc.text('Date: ' + dayjs(_approvedDate.get()).format('YYYY-MM-DD HH:mm:ss'), 156, newYPosition + 30)
doc.setFont('arial-bold', 'bold')
doc.setFontSize(7)
doc.text('Please use the OPTN when paying online.', 16, newYPosition + 44)
const note = doc.splitTextToSize('Note: The 72 Hours Transaction Policy of the City Mayor, shall commence upon submission of the Bureau of Fire Protection clearance/certificate and other requirement stated in the notice to comply to be issued by this office.', newYPosition + 50)
doc.text(note, 16, newYPosition + 48)
doc.setFont('arial', 'normal')
doc.setFontSize(6)
doc.text('Officer-in-Charge', 154, newYPosition + 37)
}
doc.save(`OP-${APPLICATION}.pdf`)
}

View file

@ -1,6 +1,5 @@
export { default as checkConnection } from './checkConnection'
export { default as createPdfElectrical } from './createPdfElectrical'
export { default as createPdfOccupancy } from './createPdfOccupancy'
export { default as createPdf } from './createPdf'
export { default as postApi } from './postApi'
export { default as getApi } from './getApi'
export { default as getApiMulti } from './getApiMulti'