@things-factory/operato-hub 4.3.671 → 4.3.674
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/controllers/bizplace-initializer/codes.js +21 -0
- package/dist-server/controllers/bizplace-initializer/codes.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/dataset/codes.js +403 -0
- package/dist-server/controllers/bizplace-initializer/dataset/codes.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/dataset/groups.js +24 -0
- package/dist-server/controllers/bizplace-initializer/dataset/groups.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/dataset/index.js +22 -0
- package/dist-server/controllers/bizplace-initializer/dataset/index.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/dataset/menus.js +504 -0
- package/dist-server/controllers/bizplace-initializer/dataset/menus.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/dataset/roles-privileges.js +406 -0
- package/dist-server/controllers/bizplace-initializer/dataset/roles-privileges.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/dataset/settings.js +112 -0
- package/dist-server/controllers/bizplace-initializer/dataset/settings.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js +26 -0
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js +43 -0
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/groups.js +18 -0
- package/dist-server/controllers/bizplace-initializer/groups.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/index.js +22 -0
- package/dist-server/controllers/bizplace-initializer/index.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/menus.js +28 -0
- package/dist-server/controllers/bizplace-initializer/menus.js.map +1 -0
- package/dist-server/controllers/bizplace-initializer/settings.js +16 -0
- package/dist-server/controllers/bizplace-initializer/settings.js.map +1 -0
- package/dist-server/controllers/company-initializer/business-register.js +48 -0
- package/dist-server/controllers/company-initializer/business-register.js.map +1 -0
- package/dist-server/controllers/company-initializer/codes.js +137 -0
- package/dist-server/controllers/company-initializer/codes.js.map +1 -0
- package/dist-server/controllers/company-initializer/generate-company-roles.js +117 -0
- package/dist-server/controllers/company-initializer/generate-company-roles.js.map +1 -0
- package/dist-server/controllers/company-initializer/index.js +23 -0
- package/dist-server/controllers/company-initializer/index.js.map +1 -0
- package/dist-server/controllers/company-initializer/menus.js +348 -0
- package/dist-server/controllers/company-initializer/menus.js.map +1 -0
- package/dist-server/controllers/company-initializer/settings.js +36 -0
- package/dist-server/controllers/company-initializer/settings.js.map +1 -0
- package/dist-server/controllers/company-initializer/transporter.js +18 -0
- package/dist-server/controllers/company-initializer/transporter.js.map +1 -0
- package/dist-server/controllers/index.js +1 -0
- package/dist-server/controllers/index.js.map +1 -0
- package/dist-server/controllers/invitation.js +118 -0
- package/dist-server/controllers/invitation.js.map +1 -0
- package/dist-server/controllers/utils/make-invitation-token.js +12 -0
- package/dist-server/controllers/utils/make-invitation-token.js.map +1 -0
- package/dist-server/controllers/utils/save-invitation-token.js +13 -0
- package/dist-server/controllers/utils/save-invitation-token.js.map +1 -0
- package/dist-server/entities/email-attachment.js +81 -0
- package/dist-server/entities/email-attachment.js.map +1 -0
- package/dist-server/entities/email-recipient.js +69 -0
- package/dist-server/entities/email-recipient.js.map +1 -0
- package/dist-server/entities/email.js +98 -0
- package/dist-server/entities/email.js.map +1 -0
- package/dist-server/entities/index.js +11 -0
- package/dist-server/entities/index.js.map +1 -0
- package/dist-server/errors/index.js +18 -0
- package/dist-server/errors/index.js.map +1 -0
- package/dist-server/errors/validation-error.js +14 -0
- package/dist-server/errors/validation-error.js.map +1 -0
- package/dist-server/graphql/index.js +33 -0
- package/dist-server/graphql/index.js.map +1 -0
- package/dist-server/graphql/resolvers/email/index.js +6 -0
- package/dist-server/graphql/resolvers/email/index.js.map +1 -0
- package/dist-server/graphql/resolvers/email/send-emails.js +263 -0
- package/dist-server/graphql/resolvers/email/send-emails.js.map +1 -0
- package/dist-server/graphql/resolvers/generators/generate-bizplace.js +39 -0
- package/dist-server/graphql/resolvers/generators/generate-bizplace.js.map +1 -0
- package/dist-server/graphql/resolvers/generators/generate-company.js +62 -0
- package/dist-server/graphql/resolvers/generators/generate-company.js.map +1 -0
- package/dist-server/graphql/resolvers/generators/index.js +8 -0
- package/dist-server/graphql/resolvers/generators/index.js.map +1 -0
- package/dist-server/graphql/resolvers/generators/update-domain-extType.js +45 -0
- package/dist-server/graphql/resolvers/generators/update-domain-extType.js.map +1 -0
- package/dist-server/graphql/resolvers/index.js +35 -0
- package/dist-server/graphql/resolvers/index.js.map +1 -0
- package/dist-server/graphql/resolvers/invitations/index.js +6 -0
- package/dist-server/graphql/resolvers/invitations/index.js.map +1 -0
- package/dist-server/graphql/resolvers/invitations/partner-invitation.js +52 -0
- package/dist-server/graphql/resolvers/invitations/partner-invitation.js.map +1 -0
- package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js +30 -0
- package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js.map +1 -0
- package/dist-server/graphql/resolvers/oauth2/index.js +6 -0
- package/dist-server/graphql/resolvers/oauth2/index.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/admiral-asn-report.js +127 -0
- package/dist-server/graphql/resolvers/reports/admiral-asn-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/asn-report.js +126 -0
- package/dist-server/graphql/resolvers/reports/asn-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/custom/elccl/aging-report.js +157 -0
- package/dist-server/graphql/resolvers/reports/custom/elccl/aging-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/custom/elccl/custom-elccl-fn-dispatch-report.js +74 -0
- package/dist-server/graphql/resolvers/reports/custom/elccl/custom-elccl-fn-dispatch-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/custom/elccl/custom-elccl-fn-monthly-dispatch-report.js +99 -0
- package/dist-server/graphql/resolvers/reports/custom/elccl/custom-elccl-fn-monthly-dispatch-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/custom/elccl/export-report.js +156 -0
- package/dist-server/graphql/resolvers/reports/custom/elccl/export-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/custom/posmy/custom-posmy-aging-report.js +131 -0
- package/dist-server/graphql/resolvers/reports/custom/posmy/custom-posmy-aging-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/custom/yltc/custom-yltc-inventory-report.js +216 -0
- package/dist-server/graphql/resolvers/reports/custom/yltc/custom-yltc-inventory-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js +189 -0
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/index.js +17 -0
- package/dist-server/graphql/resolvers/reports/index.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js +231 -0
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/receiving-report.js +103 -0
- package/dist-server/graphql/resolvers/reports/receiving-report.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/shortage-report.js +164 -0
- package/dist-server/graphql/resolvers/reports/shortage-report.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.js +187 -0
- package/dist-server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/create-dat-shipments.js +58 -0
- package/dist-server/graphql/resolvers/synchronization/create-dat-shipments.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-invoices.js +41 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-invoices.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js +79 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-purchase-orders.js +57 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-purchase-orders.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/get-lmd-awb.js +34 -0
- package/dist-server/graphql/resolvers/synchronization/get-lmd-awb.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/index.js +30 -0
- package/dist-server/graphql/resolvers/synchronization/index.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/mms-retry-create-lmd-parcels.js +70 -0
- package/dist-server/graphql/resolvers/synchronization/mms-retry-create-lmd-parcels.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/powrup-get-airway-bill.js +78 -0
- package/dist-server/graphql/resolvers/synchronization/powrup-get-airway-bill.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/powrup-get-tracking-no.js +61 -0
- package/dist-server/graphql/resolvers/synchronization/powrup-get-tracking-no.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/powrup-initiate-shipment.js +88 -0
- package/dist-server/graphql/resolvers/synchronization/powrup-initiate-shipment.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/powrup-pack-order.js +185 -0
- package/dist-server/graphql/resolvers/synchronization/powrup-pack-order.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/refresh-lmd-access-token.js +72 -0
- package/dist-server/graphql/resolvers/synchronization/refresh-lmd-access-token.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/retry-create-lmd-parcels.js +96 -0
- package/dist-server/graphql/resolvers/synchronization/retry-create-lmd-parcels.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sellercraft-initiate-shipment.js +97 -0
- package/dist-server/graphql/resolvers/synchronization/sellercraft-initiate-shipment.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.js +202 -0
- package/dist-server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-powrup.js +32 -0
- package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-powrup.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.js +35 -0
- package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-from-account.js +32 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-from-account.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js +53 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-powrup.js +100 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-powrup.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js +142 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/versafleet-fetch-driver-runsheet.js +45 -0
- package/dist-server/graphql/resolvers/synchronization/versafleet-fetch-driver-runsheet.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/webspert-initiate-shipment.js +37 -0
- package/dist-server/graphql/resolvers/synchronization/webspert-initiate-shipment.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/webspert-pack-and-get.js +66 -0
- package/dist-server/graphql/resolvers/synchronization/webspert-pack-and-get.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/webspert-update-stocks.js +27 -0
- package/dist-server/graphql/resolvers/synchronization/webspert-update-stocks.js.map +1 -0
- package/dist-server/graphql/types/generators/generate-bizplace-input.js +17 -0
- package/dist-server/graphql/types/generators/generate-bizplace-input.js.map +1 -0
- package/dist-server/graphql/types/generators/generate-company-input.js +17 -0
- package/dist-server/graphql/types/generators/generate-company-input.js.map +1 -0
- package/dist-server/graphql/types/generators/index.js +13 -0
- package/dist-server/graphql/types/generators/index.js.map +1 -0
- package/dist-server/graphql/types/generators/update-domain-type-input.js +14 -0
- package/dist-server/graphql/types/generators/update-domain-type-input.js.map +1 -0
- package/dist-server/graphql/types/index.js +35 -0
- package/dist-server/graphql/types/index.js.map +1 -0
- package/dist-server/graphql/types/invitations/index.js +9 -0
- package/dist-server/graphql/types/invitations/index.js.map +1 -0
- package/dist-server/graphql/types/oauth2/company-role.js +14 -0
- package/dist-server/graphql/types/oauth2/company-role.js.map +1 -0
- package/dist-server/graphql/types/oauth2/index.js +9 -0
- package/dist-server/graphql/types/oauth2/index.js.map +1 -0
- package/dist-server/graphql/types/reports/admiral-asn-report-list.js +14 -0
- package/dist-server/graphql/types/reports/admiral-asn-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/admiral-asn-report.js +21 -0
- package/dist-server/graphql/types/reports/admiral-asn-report.js.map +1 -0
- package/dist-server/graphql/types/reports/asn-report-list.js +14 -0
- package/dist-server/graphql/types/reports/asn-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/asn-report.js +21 -0
- package/dist-server/graphql/types/reports/asn-report.js.map +1 -0
- package/dist-server/graphql/types/reports/custom/elccl/agingreport/aging-report-list.js +14 -0
- package/dist-server/graphql/types/reports/custom/elccl/agingreport/aging-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/custom/elccl/agingreport/aging-report.js +31 -0
- package/dist-server/graphql/types/reports/custom/elccl/agingreport/aging-report.js.map +1 -0
- package/dist-server/graphql/types/reports/custom/elccl/dispatchreport/custom-elccl-fn-dispatch-report-list.js +14 -0
- package/dist-server/graphql/types/reports/custom/elccl/dispatchreport/custom-elccl-fn-dispatch-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/custom/elccl/dispatchreport/custom-elccl-fn-dispatch-report.js +26 -0
- package/dist-server/graphql/types/reports/custom/elccl/dispatchreport/custom-elccl-fn-dispatch-report.js.map +1 -0
- package/dist-server/graphql/types/reports/custom/elccl/exportreport/export-report-list.js +14 -0
- package/dist-server/graphql/types/reports/custom/elccl/exportreport/export-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/custom/elccl/exportreport/export-report.js +31 -0
- package/dist-server/graphql/types/reports/custom/elccl/exportreport/export-report.js.map +1 -0
- package/dist-server/graphql/types/reports/custom/posmy/custom-posmy-aging-report-list.js +13 -0
- package/dist-server/graphql/types/reports/custom/posmy/custom-posmy-aging-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/custom/posmy/custom-posmy-aging-report.js +28 -0
- package/dist-server/graphql/types/reports/custom/posmy/custom-posmy-aging-report.js.map +1 -0
- package/dist-server/graphql/types/reports/custom/yltc/custom-yltc-inventory-report.js +23 -0
- package/dist-server/graphql/types/reports/custom/yltc/custom-yltc-inventory-report.js.map +1 -0
- package/dist-server/graphql/types/reports/inbound-order-details-report-list.js +14 -0
- package/dist-server/graphql/types/reports/inbound-order-details-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/inbound-order-details-report.js +59 -0
- package/dist-server/graphql/types/reports/inbound-order-details-report.js.map +1 -0
- package/dist-server/graphql/types/reports/index.js +63 -0
- package/dist-server/graphql/types/reports/index.js.map +1 -0
- package/dist-server/graphql/types/reports/outbound-order-details-report-list.js +14 -0
- package/dist-server/graphql/types/reports/outbound-order-details-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/outbound-order-details-report.js +76 -0
- package/dist-server/graphql/types/reports/outbound-order-details-report.js.map +1 -0
- package/dist-server/graphql/types/reports/receiving-report-list.js +14 -0
- package/dist-server/graphql/types/reports/receiving-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/receiving-report.js +23 -0
- package/dist-server/graphql/types/reports/receiving-report.js.map +1 -0
- package/dist-server/graphql/types/reports/shortage-report-list.js +14 -0
- package/dist-server/graphql/types/reports/shortage-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/shortage-report-type.js +26 -0
- package/dist-server/graphql/types/reports/shortage-report-type.js.map +1 -0
- package/dist-server/graphql/types/synchronization/index.js +49 -0
- package/dist-server/graphql/types/synchronization/index.js.map +1 -0
- package/dist-server/graphql/types/synchronization/sync-invoice-list.js +14 -0
- package/dist-server/graphql/types/synchronization/sync-invoice-list.js.map +1 -0
- package/dist-server/graphql/types/synchronization/sync-invoice-set.js +44 -0
- package/dist-server/graphql/types/synchronization/sync-invoice-set.js.map +1 -0
- package/dist-server/graphql/types/synchronization/sync-product-list.js +14 -0
- package/dist-server/graphql/types/synchronization/sync-product-list.js.map +1 -0
- package/dist-server/graphql/types/synchronization/sync-product-set.js +14 -0
- package/dist-server/graphql/types/synchronization/sync-product-set.js.map +1 -0
- package/dist-server/graphql/types/synchronization/sync-purchase-order-list.js +14 -0
- package/dist-server/graphql/types/synchronization/sync-purchase-order-list.js.map +1 -0
- package/dist-server/graphql/types/synchronization/sync-purchase-order-set.js +34 -0
- package/dist-server/graphql/types/synchronization/sync-purchase-order-set.js.map +1 -0
- package/dist-server/index.js +43 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/middlewares/business-middleware.js +32 -0
- package/dist-server/middlewares/business-middleware.js.map +1 -0
- package/dist-server/middlewares/index.js +21 -0
- package/dist-server/middlewares/index.js.map +1 -0
- package/dist-server/middlewares/store-middleware.js +34 -0
- package/dist-server/middlewares/store-middleware.js.map +1 -0
- package/dist-server/middlewares/warehouse-middleware.js +33 -0
- package/dist-server/middlewares/warehouse-middleware.js.map +1 -0
- package/dist-server/migrations/1597668478399-SeedBusinessDomain.js +27 -0
- package/dist-server/migrations/1597668478399-SeedBusinessDomain.js.map +1 -0
- package/dist-server/migrations/1597668478401-SeedBusinessRoles.js +377 -0
- package/dist-server/migrations/1597668478401-SeedBusinessRoles.js.map +1 -0
- package/dist-server/migrations/1608009991065-SeedUser.js +53 -0
- package/dist-server/migrations/1608009991065-SeedUser.js.map +1 -0
- package/dist-server/migrations/index.js +12 -0
- package/dist-server/migrations/index.js.map +1 -0
- package/dist-server/routers/api/index.js +5 -0
- package/dist-server/routers/api/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-contact-point.js +76 -0
- package/dist-server/routers/api/restful-apis/unstable/add-contact-point.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js +174 -0
- package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js +217 -0
- package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js +144 -0
- package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-products.js +88 -0
- package/dist-server/routers/api/restful-apis/unstable/add-products.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-release-order.js +1080 -0
- package/dist-server/routers/api/restful-apis/unstable/add-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/add-sales-invoice.js +140 -0
- package/dist-server/routers/api/restful-apis/unstable/add-sales-invoice.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/bizplace.js +45 -0
- package/dist-server/routers/api/restful-apis/unstable/bizplace.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/cancel-marketplace-order.js +63 -0
- package/dist-server/routers/api/restful-apis/unstable/cancel-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js +82 -0
- package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-contact-point-list.js +103 -0
- package/dist-server/routers/api/restful-apis/unstable/get-contact-point-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-order-detail.js +47 -0
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-order-detail.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-order-list.js +124 -0
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js +164 -0
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js +120 -0
- package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inbound-order-detail.js +115 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inbound-order-detail.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inbound-order-list.js +125 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inbound-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inventory-overall-product-group.js +88 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inventory-overall-product-group.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inventory-product-group.js +95 -0
- package/dist-server/routers/api/restful-apis/unstable/get-inventory-product-group.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-marketplace-order-shipping-list.js +146 -0
- package/dist-server/routers/api/restful-apis/unstable/get-marketplace-order-shipping-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-marketplace-store-list.js +79 -0
- package/dist-server/routers/api/restful-apis/unstable/get-marketplace-store-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js +110 -0
- package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-partners.js +23 -0
- package/dist-server/routers/api/restful-apis/unstable/get-partners.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-products.js +214 -0
- package/dist-server/routers/api/restful-apis/unstable/get-products.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-release-order-detail.js +125 -0
- package/dist-server/routers/api/restful-apis/unstable/get-release-order-detail.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-release-order-list.js +195 -0
- package/dist-server/routers/api/restful-apis/unstable/get-release-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js +20 -0
- package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/index.js +35 -0
- package/dist-server/routers/api/restful-apis/unstable/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/reject-inbound-order.js +35 -0
- package/dist-server/routers/api/restful-apis/unstable/reject-inbound-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/set-marketplace-order-delivered.js +45 -0
- package/dist-server/routers/api/restful-apis/unstable/set-marketplace-order-delivered.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/set-marketplace-order-failed-delivery.js +45 -0
- package/dist-server/routers/api/restful-apis/unstable/set-marketplace-order-failed-delivery.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/update-marketplace-order.js +93 -0
- package/dist-server/routers/api/restful-apis/unstable/update-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/update-marketplace-shipping-order.js +88 -0
- package/dist-server/routers/api/restful-apis/unstable/update-marketplace-shipping-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js +82 -0
- package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js +105 -0
- package/dist-server/routers/api/restful-apis/v1/company/add-contact-points.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/add-products.js +157 -0
- package/dist-server/routers/api/restful-apis/v1/company/add-products.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js +49 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-bizplace-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js +62 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-contact-point-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js +88 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-partner-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-product-by-skus.js +95 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-product-by-skus.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js +104 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-product-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-webhook-details.js +58 -0
- package/dist-server/routers/api/restful-apis/v1/company/get-webhook-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/index.js +14 -0
- package/dist-server/routers/api/restful-apis/v1/company/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/upsert-product.js +111 -0
- package/dist-server/routers/api/restful-apis/v1/company/upsert-product.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/upsert-products.js +356 -0
- package/dist-server/routers/api/restful-apis/v1/company/upsert-products.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/company/upsert-webhooks.js +146 -0
- package/dist-server/routers/api/restful-apis/v1/company/upsert-webhooks.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/index.js +6 -0
- package/dist-server/routers/api/restful-apis/v1/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/add-marketplace-order.js +254 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/add-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/add-marketplace-products.js +78 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/add-marketplace-products.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/cancel-marketplace-order.js +90 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/cancel-marketplace-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/get-marketplace-order-shipping-list.js +138 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/get-marketplace-order-shipping-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/get-marketplace-store-list.js +51 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/get-marketplace-store-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/index.js +11 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/update-marketplace-order-delivered.js +62 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/update-marketplace-order-delivered.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/update-marketplace-product.js +76 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/update-marketplace-product.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/update-marketplace-shipping-order.js +40 -0
- package/dist-server/routers/api/restful-apis/v1/marketplace/update-marketplace-shipping-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js +70 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/business-middleware.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/index.js +40 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js +53 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/logging-middleware.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js +32 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/store-middleware.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js +211 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/validation-middleware.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js +31 -0
- package/dist-server/routers/api/restful-apis/v1/middlewares/warehouse-middleware.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/utils/error-util.js +71 -0
- package/dist-server/routers/api/restful-apis/v1/utils/error-util.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/utils/params.js +1168 -0
- package/dist-server/routers/api/restful-apis/v1/utils/params.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js +68 -0
- package/dist-server/routers/api/restful-apis/v1/utils/validate-util.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js +256 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-inbound-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js +1055 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-return-order.js +325 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-return-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-sales-invoice.js +97 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/add-sales-invoice.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js +199 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-inbound-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-release-order.js +197 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/cancel-release-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/complete-delivery-order.js +170 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/complete-delivery-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/dispatch-delivery-order.js +327 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/dispatch-delivery-order.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js +223 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-delivery-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-do-document.js +65 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-do-document.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-draft-order-details.js +144 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-draft-order-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-draft-order-list.js +305 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-draft-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js +100 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-goods-received-note-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-grn-document.js +102 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-grn-document.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js +179 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js +96 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inbound-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-adjustment-details.js +146 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-adjustment-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-adjustment-list.js +214 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-adjustment-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js +90 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-inventory-product-group-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-manifest-details.js +138 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-manifest-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js +106 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-onhand-inventory-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js +278 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js +142 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-release-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-return-order-details.js +106 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-return-order-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-return-order-list.js +63 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-return-order-list.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-warehouse-bizplace-onhand-inventories.js +68 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/get-warehouse-bizplace-onhand-inventories.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/index.js +33 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/index.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/update-gan-to-arrived.js +96 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/update-gan-to-arrived.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/update-order-package-details.js +46 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/update-order-package-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/update-release-order-details.js +70 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/update-release-order-details.js.map +1 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/upload-attachments.js +114 -0
- package/dist-server/routers/api/restful-apis/v1/warehouse/upload-attachments.js.map +1 -0
- package/dist-server/routers/auth-invitation-router.js +25 -0
- package/dist-server/routers/auth-invitation-router.js.map +1 -0
- package/dist-server/routers/business/bizplace-register-router.js +25 -0
- package/dist-server/routers/business/bizplace-register-router.js.map +1 -0
- package/dist-server/routers/business/business-register-router.js +31 -0
- package/dist-server/routers/business/business-register-router.js.map +1 -0
- package/dist-server/routers/business/index.js +20 -0
- package/dist-server/routers/business/index.js.map +1 -0
- package/dist-server/routers/business/path-base-business-router.js +21 -0
- package/dist-server/routers/business/path-base-business-router.js.map +1 -0
- package/dist-server/routers/internal/apis/create-bizplace.js +70 -0
- package/dist-server/routers/internal/apis/create-bizplace.js.map +1 -0
- package/dist-server/routers/internal/apis/create-company.js +77 -0
- package/dist-server/routers/internal/apis/create-company.js.map +1 -0
- package/dist-server/routers/internal/apis/create-partner.js +41 -0
- package/dist-server/routers/internal/apis/create-partner.js.map +1 -0
- package/dist-server/routers/internal/apis/create-user.js +23 -0
- package/dist-server/routers/internal/apis/create-user.js.map +1 -0
- package/dist-server/routers/internal/apis/index.js +37 -0
- package/dist-server/routers/internal/apis/index.js.map +1 -0
- package/dist-server/routers/internal/apis/invite-user.js +48 -0
- package/dist-server/routers/internal/apis/invite-user.js.map +1 -0
- package/dist-server/routers/internal/apis/terminate-partner.js +38 -0
- package/dist-server/routers/internal/apis/terminate-partner.js.map +1 -0
- package/dist-server/routers/internal/apis/terminate-user.js +53 -0
- package/dist-server/routers/internal/apis/terminate-user.js.map +1 -0
- package/dist-server/routers/internal/apis/update-bizplace.js +52 -0
- package/dist-server/routers/internal/apis/update-bizplace.js.map +1 -0
- package/dist-server/routers/internal/apis/update-company.js +55 -0
- package/dist-server/routers/internal/apis/update-company.js.map +1 -0
- package/dist-server/routers/internal/apis/update-user.js +33 -0
- package/dist-server/routers/internal/apis/update-user.js.map +1 -0
- package/dist-server/routers/internal/index.js +8 -0
- package/dist-server/routers/internal/index.js.map +1 -0
- package/dist-server/routers/internal/middlewares/index.js +20 -0
- package/dist-server/routers/internal/middlewares/index.js.map +1 -0
- package/dist-server/routers/internal/middlewares/logging-middleware.js +23 -0
- package/dist-server/routers/internal/middlewares/logging-middleware.js.map +1 -0
- package/dist-server/routers/internal/middlewares/validation-middleware.js +110 -0
- package/dist-server/routers/internal/middlewares/validation-middleware.js.map +1 -0
- package/dist-server/routers/internal/powrup-router.js +291 -0
- package/dist-server/routers/internal/powrup-router.js.map +1 -0
- package/dist-server/routers/internal/sellercraft-router.js +53 -0
- package/dist-server/routers/internal/sellercraft-router.js.map +1 -0
- package/dist-server/routers/internal/utils/error-util.js +71 -0
- package/dist-server/routers/internal/utils/error-util.js.map +1 -0
- package/dist-server/routers/internal/utils/params.js +153 -0
- package/dist-server/routers/internal/utils/params.js.map +1 -0
- package/dist-server/routers/support-router.js +386 -0
- package/dist-server/routers/support-router.js.map +1 -0
- package/dist-server/routers/webhook-service/versafleet-router.js +93 -0
- package/dist-server/routers/webhook-service/versafleet-router.js.map +1 -0
- package/dist-server/routers/xilnex-router.js +1103 -0
- package/dist-server/routers/xilnex-router.js.map +1 -0
- package/dist-server/routes.js +26 -0
- package/dist-server/routes.js.map +1 -0
- package/dist-server/templates/account-unlock-email.js +69 -0
- package/dist-server/templates/account-unlock-email.js.map +1 -0
- package/dist-server/templates/invitation-email.js +70 -0
- package/dist-server/templates/invitation-email.js.map +1 -0
- package/dist-server/templates/reset-password-email.js +66 -0
- package/dist-server/templates/reset-password-email.js.map +1 -0
- package/dist-server/templates/verification-email.js +70 -0
- package/dist-server/templates/verification-email.js.map +1 -0
- package/dist-server/utils/build-map.js +19 -0
- package/dist-server/utils/build-map.js.map +1 -0
- package/dist-server/utils/get-warehouses.js +113 -0
- package/dist-server/utils/get-warehouses.js.map +1 -0
- package/dist-server/utils/index.js +21 -0
- package/dist-server/utils/index.js.map +1 -0
- package/dist-server/utils/order-no-generator.js +11 -0
- package/dist-server/utils/order-no-generator.js.map +1 -0
- package/dist-server/utils/report-query-util.js +42 -0
- package/dist-server/utils/report-query-util.js.map +1 -0
- package/package.json +45 -45
- package/server/routers/api/restful-apis/v1/middlewares/validation-middleware.ts +2 -2
- package/server/routers/api/restful-apis/v1/warehouse/upload-attachments.ts +1 -2
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.agingReport = void 0;
|
|
4
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
|
+
exports.agingReport = {
|
|
6
|
+
async agingReport(_, params, context) {
|
|
7
|
+
try {
|
|
8
|
+
const { tx } = context.state;
|
|
9
|
+
// Fetch all bizplace filters from params
|
|
10
|
+
let bizplaceFilters = params.filters.filter(data => data.name === 'bizplace');
|
|
11
|
+
if (!bizplaceFilters || bizplaceFilters.length === 0)
|
|
12
|
+
throw 'Invalid input: At least one Bizplace filter is required';
|
|
13
|
+
// Extract bizplace IDs from filters
|
|
14
|
+
const bizplaceIds = bizplaceFilters.map(filter => filter.value);
|
|
15
|
+
if (!bizplaceIds || bizplaceIds.length === 0)
|
|
16
|
+
throw 'Invalid input: No Bizplace IDs provided';
|
|
17
|
+
// Query the database for matching Bizplaces to ensure they exist
|
|
18
|
+
const bizplaces = await tx.getRepository(biz_base_1.Bizplace).findByIds(bizplaceIds);
|
|
19
|
+
if (!bizplaces || bizplaces.length === 0)
|
|
20
|
+
throw 'Invalid input: None of the provided Bizplaces were found';
|
|
21
|
+
// Create temporary table for report
|
|
22
|
+
await tx.query(`
|
|
23
|
+
create temp table temp_inbound_order_report on commit drop as (
|
|
24
|
+
select
|
|
25
|
+
p.sku as "item",
|
|
26
|
+
p.name as "description",
|
|
27
|
+
count(DISTINCT i.pallet_id) as "pallet",
|
|
28
|
+
coalesce(sum(i.qty - coalesce(i.locked_qty,0)),0) as "qty_available",
|
|
29
|
+
i.pallet_id as "lot_id",
|
|
30
|
+
l.name as "location",
|
|
31
|
+
i.batch_id as "batch_id",
|
|
32
|
+
to_char(grn.created_at+interval '8hours','dd/mm/yyyy') as "receipt_date",
|
|
33
|
+
to_char(i.expiration_date,'dd/mm/yyyy') as "exp_date",
|
|
34
|
+
to_char(i.manufacture_date,'dd/mm/yyyy') as "mfg_date",
|
|
35
|
+
'Available' as "stock_status",
|
|
36
|
+
i.packing_type as "default_uom",
|
|
37
|
+
extract(day from now()+interval '8 hours'-grn.created_at+interval '8 hours') as "days_in_warehouse",
|
|
38
|
+
extract(day from now()+interval '8 hours'-i.expiration_date+interval '8 hours') as "days_to_expire",
|
|
39
|
+
extract(month from age(now()+interval '8 hours',grn.created_at+interval '8 hours')) as "months_in_warehouse",
|
|
40
|
+
extract(year from age(now()+interval '8 hours',i.expiration_date+interval '8 hours')) * 12 + extract(month from age(now()+interval '8 hours',i.expiration_date+interval '8 hours')) as "months_to_expire",
|
|
41
|
+
null as "remarks"
|
|
42
|
+
from inventories i
|
|
43
|
+
inner join products p on p.id = i.product_id
|
|
44
|
+
left join locations l on l.id = i.location_id
|
|
45
|
+
left join order_products op on op.id = i.order_product_id::uuid
|
|
46
|
+
left join arrival_notices an on an.id = op.arrival_notice_id
|
|
47
|
+
left join goods_receival_notes grn on an.id = grn.arrival_notice_id
|
|
48
|
+
where i.bizplace_id = ANY($1)
|
|
49
|
+
and p.sku NOT IN ('1310065', '1310433', '1310434', '1310435', '1310436', '1310437')
|
|
50
|
+
and i.status not in ('PUTTING_AWAY','TERMINATED','MISSING')
|
|
51
|
+
and i.expiration_date is not null
|
|
52
|
+
group by p.sku, p.name, l.id, i.pallet_id, i.batch_id, grn.created_at, i.expiration_date, i.manufacture_date, i.packing_type
|
|
53
|
+
having coalesce(sum(i.qty - coalesce(i.locked_qty,0)),0) > 0
|
|
54
|
+
)
|
|
55
|
+
`, [bizplaceIds]);
|
|
56
|
+
// Fetch detailed results
|
|
57
|
+
const result = await tx.query(`
|
|
58
|
+
select *
|
|
59
|
+
from temp_inbound_order_report
|
|
60
|
+
`);
|
|
61
|
+
// Fetch aggregated totals grouped by description
|
|
62
|
+
const totals = await tx.query(`
|
|
63
|
+
select
|
|
64
|
+
description,
|
|
65
|
+
count(pallet) as total_pallet,
|
|
66
|
+
sum(qty_available) as total_qty_available
|
|
67
|
+
from temp_inbound_order_report
|
|
68
|
+
group by description
|
|
69
|
+
order by description
|
|
70
|
+
`);
|
|
71
|
+
// Map detailed results
|
|
72
|
+
let items = result.map(itm => ({
|
|
73
|
+
productSku: itm.item,
|
|
74
|
+
productName: itm.description,
|
|
75
|
+
pallet: itm.pallet,
|
|
76
|
+
qtyAvailable: itm.qty_available,
|
|
77
|
+
lotId: itm.lot_id,
|
|
78
|
+
location: itm.location,
|
|
79
|
+
batchId: itm.batch_id,
|
|
80
|
+
receiptDate: itm.receipt_date,
|
|
81
|
+
expDate: itm.exp_date,
|
|
82
|
+
mfgDate: itm.mfg_date,
|
|
83
|
+
stockStatus: itm.stock_status,
|
|
84
|
+
defaultUom: itm.default_uom,
|
|
85
|
+
daysInWarehouse: itm.days_in_warehouse,
|
|
86
|
+
daysToExpire: itm.days_to_expire,
|
|
87
|
+
monthsInWarehouse: itm.months_in_warehouse,
|
|
88
|
+
monthsToExpire: itm.months_to_expire,
|
|
89
|
+
remarks: itm.remarks
|
|
90
|
+
}));
|
|
91
|
+
// Map aggregated totals
|
|
92
|
+
let totalItems = totals.map(total => ({
|
|
93
|
+
productName: total.description,
|
|
94
|
+
totalPallet: total.total_pallet,
|
|
95
|
+
totalQtyAvailable: total.total_qty_available
|
|
96
|
+
}));
|
|
97
|
+
// Insert total counts into the items array
|
|
98
|
+
totalItems.forEach(total => {
|
|
99
|
+
const lastIndex = items.findLastIndex(item => item.productName === total.productName);
|
|
100
|
+
// If a matching description is found, insert the total row after the last matching item
|
|
101
|
+
if (lastIndex !== -1) {
|
|
102
|
+
items.splice(lastIndex + 1, 0, {
|
|
103
|
+
productSku: items[lastIndex].productSku,
|
|
104
|
+
productName: `${total.productName} Total`,
|
|
105
|
+
pallet: total.totalPallet,
|
|
106
|
+
qtyAvailable: total.totalQtyAvailable,
|
|
107
|
+
lotId: null,
|
|
108
|
+
location: null,
|
|
109
|
+
batchId: null,
|
|
110
|
+
receiptDate: null,
|
|
111
|
+
expDate: null,
|
|
112
|
+
mfgDate: null,
|
|
113
|
+
stockStatus: null,
|
|
114
|
+
defaultUom: null,
|
|
115
|
+
daysInWarehouse: null,
|
|
116
|
+
daysToExpire: null,
|
|
117
|
+
monthsInWarehouse: null,
|
|
118
|
+
monthsToExpire: null,
|
|
119
|
+
remarks: null
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
// Calculate grand total
|
|
124
|
+
const grandTotalPallet = totalItems.reduce((sum, item) => sum + parseInt(item.totalPallet), 0);
|
|
125
|
+
const grandTotalQtyAvailable = totalItems.reduce((sum, item) => sum + parseInt(item.totalQtyAvailable), 0);
|
|
126
|
+
// Append the grand total row at the end
|
|
127
|
+
items.push({
|
|
128
|
+
productSku: null,
|
|
129
|
+
productName: 'Grand Total',
|
|
130
|
+
pallet: grandTotalPallet,
|
|
131
|
+
qtyAvailable: grandTotalQtyAvailable,
|
|
132
|
+
lotId: null,
|
|
133
|
+
location: null,
|
|
134
|
+
batchId: null,
|
|
135
|
+
receiptDate: null,
|
|
136
|
+
expDate: null,
|
|
137
|
+
mfgDate: null,
|
|
138
|
+
stockStatus: null,
|
|
139
|
+
defaultUom: null,
|
|
140
|
+
daysInWarehouse: null,
|
|
141
|
+
daysToExpire: null,
|
|
142
|
+
monthsInWarehouse: null,
|
|
143
|
+
monthsToExpire: null,
|
|
144
|
+
remarks: null
|
|
145
|
+
});
|
|
146
|
+
// Return the modified items with inserted totals
|
|
147
|
+
return {
|
|
148
|
+
items,
|
|
149
|
+
totals: totalItems
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
throw error;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
//# sourceMappingURL=aging-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aging-report.js","sourceRoot":"","sources":["../../../../../../server/graphql/resolvers/reports/custom/elccl/aging-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.customElcclDispatchReport = void 0;
|
|
4
|
+
exports.customElcclDispatchReport = {
|
|
5
|
+
async customElcclDispatchReport(_, params, context) {
|
|
6
|
+
try {
|
|
7
|
+
const { tx } = context.state;
|
|
8
|
+
// Create temporary table for report (execute in json)
|
|
9
|
+
await tx.query(`
|
|
10
|
+
create temp table temp_inbound_order_report on commit drop as (
|
|
11
|
+
select creation_date, planned_shipped_date, actual_shipped_date, shipment_id, ship_to, ship_to_name, item, description, sum(qty) as qty, qty_um, batch, exp_date, mfg_date from(
|
|
12
|
+
select
|
|
13
|
+
to_char(rg.release_date::timestamp,'dd/mm/yyyy') as "creation_date",
|
|
14
|
+
to_char(do2.delivery_date::date,'dd/mm/yyyy') as "planned_shipped_date",
|
|
15
|
+
to_char((do2.delivery_date_time + interval '8 hours')::date, 'DD/MM/YYYY') as "actual_shipped_date",
|
|
16
|
+
rg.ref_no_2 as "shipment_id",
|
|
17
|
+
cp.account_no as "ship_to",
|
|
18
|
+
cp.name as "ship_to_name",
|
|
19
|
+
p.sku as "item",
|
|
20
|
+
p.name as "description",
|
|
21
|
+
oi.release_qty as "qty",
|
|
22
|
+
'CS' as "qty_um",
|
|
23
|
+
i.batch_id as "batch",
|
|
24
|
+
to_char(i.expiration_date,'dd/mm/yyyy') as "exp_date",
|
|
25
|
+
to_char(i.manufacture_date,'dd/mm/yyyy') as "mfg_date"
|
|
26
|
+
from release_goods rg
|
|
27
|
+
inner join order_inventories oi on rg.id = oi.release_good_id
|
|
28
|
+
inner join inventories i on i.id = oi.inventory_id
|
|
29
|
+
inner join products p on p.id = oi.product_id
|
|
30
|
+
inner join delivery_orders do2 on rg.id = do2.release_good_id and do2.id = oi.delivery_order_id
|
|
31
|
+
left join contact_points cp on cp.phone = do2.phone_1 and cp.address = do2.delivery_address_1
|
|
32
|
+
where rg.bizplace_id in('f0848540-9d8f-4835-b744-2407db36a14e','226c9c9d-9685-403d-8f05-89b7d3b8691e','157a9653-9f2b-4568-b245-ab8791db98ce')
|
|
33
|
+
and do2.status in('DELIVERING','DONE')
|
|
34
|
+
and do2.delivery_date_time::timestamp >= (now()::date - interval '1 day' - interval '6 hours')
|
|
35
|
+
and do2.delivery_date_time::timestamp < (now()::date - interval '6 hours')
|
|
36
|
+
order by "creation_date" asc
|
|
37
|
+
)foo
|
|
38
|
+
group by creation_date, planned_shipped_date, actual_shipped_date, shipment_id, ship_to, ship_to_name, item, description, qty_um, batch, exp_date, mfg_date
|
|
39
|
+
)
|
|
40
|
+
`);
|
|
41
|
+
// Fetch paginated results
|
|
42
|
+
const result = await tx.query(`
|
|
43
|
+
select *
|
|
44
|
+
from temp_inbound_order_report
|
|
45
|
+
`);
|
|
46
|
+
// Map results to required format
|
|
47
|
+
let items = result.map(itm => {
|
|
48
|
+
return {
|
|
49
|
+
creationDate: itm.creation_date,
|
|
50
|
+
plannedShippedDate: itm.planned_shipped_date,
|
|
51
|
+
actualShippedDate: itm.actual_shipped_date,
|
|
52
|
+
shipmentId: itm.shipment_id,
|
|
53
|
+
shipTo: itm.ship_to,
|
|
54
|
+
shipToName: itm.ship_to_name,
|
|
55
|
+
productSku: itm.item,
|
|
56
|
+
productDescription: itm.description,
|
|
57
|
+
qty: itm.qty,
|
|
58
|
+
qtyUm: itm.qty_um,
|
|
59
|
+
batch: itm.batch,
|
|
60
|
+
expDate: itm.exp_date,
|
|
61
|
+
mfgDate: itm.mfg_date // Correctly mapped
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
// Return items and total count
|
|
65
|
+
return {
|
|
66
|
+
items
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=custom-elccl-fn-dispatch-report.js.map
|
package/dist-server/graphql/resolvers/reports/custom/elccl/custom-elccl-fn-dispatch-report.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-elccl-fn-dispatch-report.js","sourceRoot":"","sources":["../../../../../../server/graphql/resolvers/reports/custom/elccl/custom-elccl-fn-dispatch-report.ts"],"names":[],"mappings":";;;AAIa,QAAA,yBAAyB,GAAG;IACvC,KAAK,CAAC,yBAAyB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;QACrE,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,GAA0B,OAAO,CAAC,KAAK,CAAA;YACnD,sDAAsD;YACtD,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BD,CACA,CAAA;YAED,0BAA0B;YAC1B,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAChC;;;OAGD,CACA,CAAA;YAED,iCAAiC;YACjC,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC3B,OAAO;oBACL,YAAY,EAAE,GAAG,CAAC,aAAa;oBAC/B,kBAAkB,EAAE,GAAG,CAAC,oBAAoB;oBAC5C,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;oBAC1C,UAAU,EAAE,GAAG,CAAC,WAAW;oBAC3B,MAAM,EAAE,GAAG,CAAC,OAAO;oBACnB,UAAU,EAAE,GAAG,CAAC,YAAY;oBAC5B,UAAU,EAAE,GAAG,CAAC,IAAI;oBACpB,kBAAkB,EAAE,GAAG,CAAC,WAAW;oBACnC,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,KAAK,EAAE,GAAG,CAAC,MAAM;oBACjB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,OAAO,EAAE,GAAG,CAAC,QAAQ;oBACrB,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,mBAAmB;iBAC1C,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,+BAA+B;YAC/B,OAAO;gBACL,KAAK;aACN,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.customElcclMonthlyDispatchReport = void 0;
|
|
4
|
+
exports.customElcclMonthlyDispatchReport = {
|
|
5
|
+
async customElcclMonthlyDispatchReport(_, params, context) {
|
|
6
|
+
try {
|
|
7
|
+
const { tx } = context.state;
|
|
8
|
+
await tx.query(`
|
|
9
|
+
create temp table temp_inbound_order_report on commit drop as (
|
|
10
|
+
select
|
|
11
|
+
to_char(creation_date::timestamp,'dd/mm/yyyy') as "creation_date",
|
|
12
|
+
planned_shipped_date,
|
|
13
|
+
actual_shipped_date,
|
|
14
|
+
shipment_id,
|
|
15
|
+
ship_to,
|
|
16
|
+
ship_to_name,
|
|
17
|
+
item,
|
|
18
|
+
description,
|
|
19
|
+
sum(qty) as qty,
|
|
20
|
+
qty_um,
|
|
21
|
+
batch,
|
|
22
|
+
exp_date,
|
|
23
|
+
mfg_date,
|
|
24
|
+
pallet_id
|
|
25
|
+
from (
|
|
26
|
+
select
|
|
27
|
+
rg.release_date as "creation_date",
|
|
28
|
+
to_char(do2.delivery_date::date,'dd/mm/yyyy') as "planned_shipped_date",
|
|
29
|
+
to_char((do2.delivery_date_time + interval '8 hours')::date, 'DD/MM/YYYY') as "actual_shipped_date",
|
|
30
|
+
rg.ref_no_2 as "shipment_id",
|
|
31
|
+
cp.account_no as "ship_to",
|
|
32
|
+
cp.name as "ship_to_name",
|
|
33
|
+
p.sku as "item",
|
|
34
|
+
p.name as "description",
|
|
35
|
+
oi.release_qty as "qty",
|
|
36
|
+
'CS' as "qty_um",
|
|
37
|
+
i.batch_id as "batch",
|
|
38
|
+
to_char(i.expiration_date,'dd/mm/yyyy') as "exp_date",
|
|
39
|
+
to_char(i.manufacture_date,'dd/mm/yyyy') as "mfg_date",
|
|
40
|
+
i.pallet_id as "pallet_id"
|
|
41
|
+
from release_goods rg
|
|
42
|
+
inner join order_inventories oi on rg.id = oi.release_good_id
|
|
43
|
+
inner join inventories i on i.id = oi.inventory_id
|
|
44
|
+
inner join products p on p.id = oi.product_id
|
|
45
|
+
inner join delivery_orders do2 on rg.id = do2.release_good_id and do2.id = oi.delivery_order_id
|
|
46
|
+
left join contact_points cp on cp.phone = do2.phone_1 and cp.address = do2.delivery_address_1
|
|
47
|
+
where rg.bizplace_id in('f0848540-9d8f-4835-b744-2407db36a14e','226c9c9d-9685-403d-8f05-89b7d3b8691e','157a9653-9f2b-4568-b245-ab8791db98ce')
|
|
48
|
+
and do2.status in('DELIVERING','DONE')
|
|
49
|
+
and do2.delivery_date_time >= (date_trunc('month', now()) - interval '1 month' + interval '2 hour')
|
|
50
|
+
and do2.delivery_date_time < (date_trunc('month', now()) + interval '2 hour')
|
|
51
|
+
order by "creation_date" asc
|
|
52
|
+
) foo
|
|
53
|
+
group by
|
|
54
|
+
creation_date,
|
|
55
|
+
planned_shipped_date,
|
|
56
|
+
actual_shipped_date,
|
|
57
|
+
shipment_id,
|
|
58
|
+
ship_to,
|
|
59
|
+
ship_to_name,
|
|
60
|
+
item,
|
|
61
|
+
description,
|
|
62
|
+
qty_um,
|
|
63
|
+
batch,
|
|
64
|
+
exp_date,
|
|
65
|
+
mfg_date,
|
|
66
|
+
pallet_id
|
|
67
|
+
)
|
|
68
|
+
`);
|
|
69
|
+
const result = await tx.query(`
|
|
70
|
+
select * from temp_inbound_order_report
|
|
71
|
+
`);
|
|
72
|
+
let items = result.map(itm => {
|
|
73
|
+
return {
|
|
74
|
+
creationDate: itm.creation_date,
|
|
75
|
+
plannedShippedDate: itm.planned_shipped_date,
|
|
76
|
+
actualShippedDate: itm.actual_shipped_date,
|
|
77
|
+
shipmentId: itm.shipment_id,
|
|
78
|
+
shipTo: itm.ship_to,
|
|
79
|
+
shipToName: itm.ship_to_name,
|
|
80
|
+
productSku: itm.item,
|
|
81
|
+
productDescription: itm.description,
|
|
82
|
+
qty: itm.qty,
|
|
83
|
+
qtyUm: itm.qty_um,
|
|
84
|
+
batch: itm.batch,
|
|
85
|
+
expDate: itm.exp_date,
|
|
86
|
+
mfgDate: itm.mfg_date,
|
|
87
|
+
palletId: itm.pallet_id
|
|
88
|
+
};
|
|
89
|
+
});
|
|
90
|
+
return {
|
|
91
|
+
items
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
throw error;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=custom-elccl-fn-monthly-dispatch-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-elccl-fn-monthly-dispatch-report.js","sourceRoot":"","sources":["../../../../../../server/graphql/resolvers/reports/custom/elccl/custom-elccl-fn-monthly-dispatch-report.ts"],"names":[],"mappings":";;;AAGa,QAAA,gCAAgC,GAAG;IAC9C,KAAK,CAAC,gCAAgC,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;QAC5E,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,GAA0B,OAAO,CAAC,KAAK,CAAA;YACnD,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4Dd,CAAC,CAAA;YAEF,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAElC,CAAC,CAAA;YAEF,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC3B,OAAO;oBACL,YAAY,EAAE,GAAG,CAAC,aAAa;oBAC/B,kBAAkB,EAAE,GAAG,CAAC,oBAAoB;oBAC5C,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;oBAC1C,UAAU,EAAE,GAAG,CAAC,WAAW;oBAC3B,MAAM,EAAE,GAAG,CAAC,OAAO;oBACnB,UAAU,EAAE,GAAG,CAAC,YAAY;oBAC5B,UAAU,EAAE,GAAG,CAAC,IAAI;oBACpB,kBAAkB,EAAE,GAAG,CAAC,WAAW;oBACnC,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,KAAK,EAAE,GAAG,CAAC,MAAM;oBACjB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,OAAO,EAAE,GAAG,CAAC,QAAQ;oBACrB,OAAO,EAAE,GAAG,CAAC,QAAQ;oBACrB,QAAQ,EAAE,GAAG,CAAC,SAAS;iBACxB,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO;gBACL,KAAK;aACN,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.exportReport = void 0;
|
|
4
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
|
+
exports.exportReport = {
|
|
6
|
+
async exportReport(_, params, context) {
|
|
7
|
+
try {
|
|
8
|
+
const { tx } = context.state;
|
|
9
|
+
// Fetch all bizplace filters from params
|
|
10
|
+
let bizplaceFilters = params.filters.filter(data => data.name === 'bizplace');
|
|
11
|
+
if (!bizplaceFilters || bizplaceFilters.length === 0)
|
|
12
|
+
throw 'Invalid input: At least one Bizplace filter is required';
|
|
13
|
+
// Extract bizplace IDs from filters
|
|
14
|
+
const bizplaceIds = bizplaceFilters.map(filter => filter.value);
|
|
15
|
+
if (!bizplaceIds || bizplaceIds.length === 0)
|
|
16
|
+
throw 'Invalid input: No Bizplace IDs provided';
|
|
17
|
+
// Query the database for matching Bizplaces to ensure they exist
|
|
18
|
+
const bizplaces = await tx.getRepository(biz_base_1.Bizplace).findByIds(bizplaceIds);
|
|
19
|
+
if (!bizplaces || bizplaces.length === 0)
|
|
20
|
+
throw 'Invalid input: None of the provided Bizplaces were found';
|
|
21
|
+
// Create temporary table for report
|
|
22
|
+
await tx.query(`
|
|
23
|
+
create temp table temp_inbound_order_report on commit drop as (
|
|
24
|
+
select
|
|
25
|
+
p.sku as "item",
|
|
26
|
+
p.name as "description",
|
|
27
|
+
count(DISTINCT i.pallet_id) as "pallet",
|
|
28
|
+
coalesce(sum(i.qty - coalesce(i.locked_qty, 0)), 0) as "qty_available",
|
|
29
|
+
i.pallet_id as "lot_id",
|
|
30
|
+
l.name as "location",
|
|
31
|
+
i.batch_id as "batch_id",
|
|
32
|
+
to_char(grn.created_at + interval '8 hours', 'dd/mm/yyyy') as "receipt_date",
|
|
33
|
+
to_char(i.expiration_date, 'dd/mm/yyyy') as "exp_date",
|
|
34
|
+
to_char(i.manufacture_date, 'dd/mm/yyyy') as "mfg_date",
|
|
35
|
+
'Available' as "stock_status",
|
|
36
|
+
i.packing_type as "default_uom",
|
|
37
|
+
extract(day from now() + interval '8 hours' - grn.created_at + interval '8 hours') as "days_in_warehouse",
|
|
38
|
+
extract(day from now() + interval '8 hours' - i.expiration_date + interval '8 hours') as "days_to_expire",
|
|
39
|
+
extract(month from age(now() + interval '8 hours', grn.created_at + interval '8 hours')) as "months_in_warehouse",
|
|
40
|
+
extract(year from age(now() + interval '8 hours', i.expiration_date + interval '8 hours')) * 12 + extract(month from age(now() + interval '8 hours', i.expiration_date + interval '8 hours')) as "months_to_expire",
|
|
41
|
+
null as "remarks"
|
|
42
|
+
from inventories i
|
|
43
|
+
inner join products p on p.id = i.product_id
|
|
44
|
+
left join locations l on l.id = i.location_id
|
|
45
|
+
left join order_products op on op.id = i.order_product_id::uuid
|
|
46
|
+
left join arrival_notices an on an.id = op.arrival_notice_id
|
|
47
|
+
left join goods_receival_notes grn on an.id = grn.arrival_notice_id
|
|
48
|
+
where p.sku IN ('1310065', '1310433', '1310434', '1310435', '1310436', '1310437')
|
|
49
|
+
and i.bizplace_id in ('f0848540-9d8f-4835-b744-2407db36a14e','226c9c9d-9685-403d-8f05-89b7d3b8691e','157a9653-9f2b-4568-b245-ab8791db98ce')
|
|
50
|
+
and i.status not in('PUTTING_AWAY','TERMINATED','MISSING')
|
|
51
|
+
and i.expiration_date is not null
|
|
52
|
+
group by p.sku, p.name, l.id, i.pallet_id, i.batch_id, grn.created_at, i.expiration_date, i.manufacture_date, i.packing_type
|
|
53
|
+
)
|
|
54
|
+
`);
|
|
55
|
+
// Fetch detailed results
|
|
56
|
+
const result = await tx.query(`
|
|
57
|
+
select *
|
|
58
|
+
from temp_inbound_order_report
|
|
59
|
+
`);
|
|
60
|
+
// Fetch aggregated totals grouped by description
|
|
61
|
+
const totals = await tx.query(`
|
|
62
|
+
select
|
|
63
|
+
description,
|
|
64
|
+
count(pallet) as total_pallet,
|
|
65
|
+
sum(qty_available) as total_qty_available
|
|
66
|
+
from temp_inbound_order_report
|
|
67
|
+
group by description
|
|
68
|
+
order by description
|
|
69
|
+
`);
|
|
70
|
+
// Map detailed results
|
|
71
|
+
let items = result.map(itm => ({
|
|
72
|
+
productSku: itm.item,
|
|
73
|
+
productName: itm.description,
|
|
74
|
+
pallet: itm.pallet,
|
|
75
|
+
qtyAvailable: itm.qty_available,
|
|
76
|
+
lotId: itm.lot_id,
|
|
77
|
+
location: itm.location,
|
|
78
|
+
batchId: itm.batch_id,
|
|
79
|
+
receiptDate: itm.receipt_date,
|
|
80
|
+
expDate: itm.exp_date,
|
|
81
|
+
mfgDate: itm.mfg_date,
|
|
82
|
+
stockStatus: itm.stock_status,
|
|
83
|
+
defaultUom: itm.default_uom,
|
|
84
|
+
daysInWarehouse: itm.days_in_warehouse,
|
|
85
|
+
daysToExpire: itm.days_to_expire,
|
|
86
|
+
monthsInWarehouse: itm.months_in_warehouse,
|
|
87
|
+
monthsToExpire: itm.months_to_expire,
|
|
88
|
+
remarks: itm.remarks
|
|
89
|
+
}));
|
|
90
|
+
// Map aggregated totals
|
|
91
|
+
let totalItems = totals.map(total => ({
|
|
92
|
+
productName: total.description,
|
|
93
|
+
totalPallet: total.total_pallet,
|
|
94
|
+
totalQtyAvailable: total.total_qty_available
|
|
95
|
+
}));
|
|
96
|
+
// Insert total counts into the items array
|
|
97
|
+
totalItems.forEach(total => {
|
|
98
|
+
const lastIndex = items.findLastIndex(item => item.productName === total.productName);
|
|
99
|
+
// If a matching description is found, insert the total row after the last matching item
|
|
100
|
+
if (lastIndex !== -1) {
|
|
101
|
+
items.splice(lastIndex + 1, 0, {
|
|
102
|
+
productSku: items[lastIndex].productSku,
|
|
103
|
+
productName: `${total.productName} Total`,
|
|
104
|
+
pallet: total.totalPallet,
|
|
105
|
+
qtyAvailable: total.totalQtyAvailable,
|
|
106
|
+
lotId: null,
|
|
107
|
+
location: null,
|
|
108
|
+
batchId: null,
|
|
109
|
+
receiptDate: null,
|
|
110
|
+
expDate: null,
|
|
111
|
+
mfgDate: null,
|
|
112
|
+
stockStatus: null,
|
|
113
|
+
defaultUom: null,
|
|
114
|
+
daysInWarehouse: null,
|
|
115
|
+
daysToExpire: null,
|
|
116
|
+
monthsInWarehouse: null,
|
|
117
|
+
monthsToExpire: null,
|
|
118
|
+
remarks: null
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
// Calculate grand total
|
|
123
|
+
const grandTotalPallet = totalItems.reduce((sum, item) => sum + parseInt(item.totalPallet), 0);
|
|
124
|
+
const grandTotalQtyAvailable = totalItems.reduce((sum, item) => sum + parseInt(item.totalQtyAvailable), 0);
|
|
125
|
+
// Append the grand total row at the end
|
|
126
|
+
items.push({
|
|
127
|
+
productSku: null,
|
|
128
|
+
productName: 'Grand Total',
|
|
129
|
+
pallet: grandTotalPallet,
|
|
130
|
+
qtyAvailable: grandTotalQtyAvailable,
|
|
131
|
+
lotId: null,
|
|
132
|
+
location: null,
|
|
133
|
+
batchId: null,
|
|
134
|
+
receiptDate: null,
|
|
135
|
+
expDate: null,
|
|
136
|
+
mfgDate: null,
|
|
137
|
+
stockStatus: null,
|
|
138
|
+
defaultUom: null,
|
|
139
|
+
daysInWarehouse: null,
|
|
140
|
+
daysToExpire: null,
|
|
141
|
+
monthsInWarehouse: null,
|
|
142
|
+
monthsToExpire: null,
|
|
143
|
+
remarks: null
|
|
144
|
+
});
|
|
145
|
+
// Return the modified items with inserted totals
|
|
146
|
+
return {
|
|
147
|
+
items,
|
|
148
|
+
totals: totalItems
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
throw error;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=export-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-report.js","sourceRoot":"","sources":["../../../../../../server/graphql/resolvers/reports/custom/elccl/export-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.customPosmyAgingReport = void 0;
|
|
4
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
|
+
exports.customPosmyAgingReport = {
|
|
6
|
+
async customPosmyAgingReport(_, params, context) {
|
|
7
|
+
try {
|
|
8
|
+
const { tx, domain } = context.state;
|
|
9
|
+
// Fetch all bizplace filters from params
|
|
10
|
+
let bizplaceFilters = params.filters.find(data => data.name === 'bizplace');
|
|
11
|
+
if (!bizplaceFilters || bizplaceFilters.length === 0)
|
|
12
|
+
throw 'Invalid input: At least one Bizplace filter is required';
|
|
13
|
+
// Query the database for matching Bizplaces to ensure they exist.value)
|
|
14
|
+
const bizplaces = await tx.getRepository(biz_base_1.Bizplace).findByIds(bizplaceFilters.value);
|
|
15
|
+
if (!bizplaces || bizplaces.length === 0)
|
|
16
|
+
throw 'Invalid input: None of the provided Bizplaces were found';
|
|
17
|
+
// Create temporary table for report
|
|
18
|
+
const result = await tx.query(`
|
|
19
|
+
SELECT
|
|
20
|
+
*,
|
|
21
|
+
CASE
|
|
22
|
+
WHEN "age_month" BETWEEN 1 AND 3 THEN '1-3'
|
|
23
|
+
WHEN "age_month" BETWEEN 3 AND 6 THEN '4-6'
|
|
24
|
+
WHEN "age_month" BETWEEN 6 AND 9 THEN '7-9'
|
|
25
|
+
WHEN "age_month" BETWEEN 9 AND 12 THEN '10-12'
|
|
26
|
+
WHEN "age_month" BETWEEN 12 AND 15 THEN '13-15'
|
|
27
|
+
WHEN "age_month" BETWEEN 15 AND 18 THEN '16-18'
|
|
28
|
+
WHEN "age_month" BETWEEN 18 AND 21 THEN '19-21'
|
|
29
|
+
ELSE '0'
|
|
30
|
+
END AS "range",
|
|
31
|
+
CASE
|
|
32
|
+
WHEN "expiry_date" < now() THEN true
|
|
33
|
+
ELSE false
|
|
34
|
+
END AS "isExpired"
|
|
35
|
+
from(
|
|
36
|
+
select
|
|
37
|
+
p.sku as "sku",
|
|
38
|
+
p.name as "product_name",
|
|
39
|
+
(new_invhist.qty-COALESCE(new_invhist.locked_qty,0)) as "qty",
|
|
40
|
+
new_invhist.batch_id as "batch_id",
|
|
41
|
+
(NOW()::DATE - new_invhist.created_at::DATE)::smallint AS "age_days",
|
|
42
|
+
EXTRACT(YEAR FROM age(NOW(), new_invhist.created_at)) * 12 + EXTRACT(MONTH FROM age(NOW(), new_invhist.created_at))::smallint AS "age_month",
|
|
43
|
+
new_invhist.created_at as "first_inbound_date" , l.name as "location",
|
|
44
|
+
CASE
|
|
45
|
+
WHEN l.type in('SHELF','STORAGE') THEN 'AVAILABLE' else l.type
|
|
46
|
+
END as "stock_status",
|
|
47
|
+
new_invhist.updated_at as "last_movement_time",
|
|
48
|
+
b.name as "company", coalesce(new_invhist.expiration_date,null) as "expiry_date"
|
|
49
|
+
from(
|
|
50
|
+
select
|
|
51
|
+
max(foo.created_at) as "created_at",
|
|
52
|
+
foo.id, foo.pallet_id, foo.batch_id, foo.carton_id, foo.updated_at, foo.product_id, foo.location_id, foo.qty, foo.locked_qty, foo.uom_value, foo.locked_uom_value, foo.bizplace_id, foo.expiration_date from(
|
|
53
|
+
select row_number() over(PARTITION by batch_id, id order by seq asc) as rn, *
|
|
54
|
+
from(
|
|
55
|
+
select
|
|
56
|
+
i.id , ih.created_at + interval '8 hours' as "created_at", ih.pallet_id, ih.batch_id, ih.carton_id, i.updated_at + interval '8 hours' as "updated_at", i.product_id, i.location_id, ih.seq , i.qty, i.locked_qty, i.uom_value, i.locked_uom_value , i.bizplace_id , i.expiration_date
|
|
57
|
+
from inventory_histories ih
|
|
58
|
+
inner join inventories i on i.id = ih.inventory_id
|
|
59
|
+
where i.status not in('MISSING','TERMINATED')
|
|
60
|
+
and i.domain_id = $1
|
|
61
|
+
and i.bizplace_id = $2
|
|
62
|
+
and (not ih.created_at >= now() - interval '30 minutes')
|
|
63
|
+
order by DATE(ih.created_at) ASC, ih.created_at ASC
|
|
64
|
+
)temp_inventory_histories order by id, seq)foo where rn = 1
|
|
65
|
+
group by
|
|
66
|
+
foo.id , foo.pallet_id, foo.batch_id, foo.carton_id, foo.updated_at, foo.product_id,
|
|
67
|
+
foo.location_id, foo.qty, foo.locked_qty, foo.uom_value, foo.locked_uom_value, foo.bizplace_id, foo.expiration_date
|
|
68
|
+
order by
|
|
69
|
+
foo.id)new_invhist
|
|
70
|
+
inner join products p on new_invhist.product_id = p.id
|
|
71
|
+
inner join locations l on l.id = new_invhist.location_id
|
|
72
|
+
inner join bizplaces b on b.id = new_invhist.bizplace_id
|
|
73
|
+
group by
|
|
74
|
+
p.sku, p.name, new_invhist.batch_id, new_invhist.qty, new_invhist.locked_qty,
|
|
75
|
+
new_invhist.created_at, "age_days", "age_month", l.type,
|
|
76
|
+
l.name, new_invhist.updated_at, b.name, new_invhist.id , new_invhist.expiration_date
|
|
77
|
+
)odd
|
|
78
|
+
ORDER BY
|
|
79
|
+
odd."company", odd."batch_id", odd."age_month", DATE(odd."first_inbound_date") ASC, odd."first_inbound_date" ASC, odd."sku"
|
|
80
|
+
`, [domain.id, bizplaceFilters.value]);
|
|
81
|
+
// Function to calculate days & months until expiry
|
|
82
|
+
const calculateExpiryDuration = (expiryDate) => {
|
|
83
|
+
if (!expiryDate)
|
|
84
|
+
return { expiryDays: null, expiryMonths: null };
|
|
85
|
+
const expiry = new Date(expiryDate);
|
|
86
|
+
const today = new Date();
|
|
87
|
+
const timeDiff = expiry.getTime() - today.getTime();
|
|
88
|
+
const expiryDays = Math.ceil(timeDiff / (1000 * 60 * 60 * 24)); // Convert ms to days
|
|
89
|
+
const expiryMonths = Math.floor(expiryDays / 30); // Approximate months
|
|
90
|
+
return { expiryDays, expiryMonths };
|
|
91
|
+
};
|
|
92
|
+
// Function to format timestamp as a readable string
|
|
93
|
+
const formatTimestamp = (timestamp) => new Date(timestamp).toLocaleString();
|
|
94
|
+
// Function to format expiry date (Only Date & Handle Null)
|
|
95
|
+
const formatExpiryDate = (expiryDate) => {
|
|
96
|
+
if (!expiryDate)
|
|
97
|
+
return ''; // Return blank if null (for Excel)
|
|
98
|
+
return new Date(expiryDate).toISOString().split('T')[0]; // Extract YYYY-MM-DD
|
|
99
|
+
};
|
|
100
|
+
// Map detailed results
|
|
101
|
+
let items = result.map(itm => {
|
|
102
|
+
const { expiryDays, expiryMonths } = calculateExpiryDuration(itm.expiry_date);
|
|
103
|
+
return {
|
|
104
|
+
productSku: itm.sku,
|
|
105
|
+
productName: itm.product_name,
|
|
106
|
+
qty: itm.qty,
|
|
107
|
+
batchId: itm.batch_id,
|
|
108
|
+
ageDays: itm.age_days,
|
|
109
|
+
ageMonth: itm.age_month,
|
|
110
|
+
firstInboundDate: formatTimestamp(itm.first_inbound_date),
|
|
111
|
+
lastMovementTime: formatTimestamp(itm.last_movement_time),
|
|
112
|
+
location: itm.location,
|
|
113
|
+
stockStatus: itm.stock_status,
|
|
114
|
+
company: itm.company,
|
|
115
|
+
expiryDate: formatExpiryDate(itm.expiry_date),
|
|
116
|
+
expiryDays,
|
|
117
|
+
expiryMonths,
|
|
118
|
+
range: itm.range,
|
|
119
|
+
isExpired: itm.isExpired ? 'true' : 'false'
|
|
120
|
+
};
|
|
121
|
+
});
|
|
122
|
+
return {
|
|
123
|
+
items
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
throw error;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=custom-posmy-aging-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-posmy-aging-report.js","sourceRoot":"","sources":["../../../../../../server/graphql/resolvers/reports/custom/posmy/custom-posmy-aging-report.ts"],"names":[],"mappings":"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"}
|