@things-factory/operato-wms 5.0.13 → 6.0.0-alpha.1
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/client/pages/bulk-operation/bulk-operation.js +96 -8
- package/client/pages/bulk-operation/validate-gan-popup.js +37 -27
- package/client/pages/bulk-operation/validate-ro-popup.js +40 -0
- package/client/pages/components/select-inventory-popup.js +633 -0
- package/client/pages/constants/order.js +2 -1
- package/client/pages/inbound/pallet-label-popup.js +2 -0
- package/client/pages/inbound/select-product-batch.js +7 -1
- package/client/pages/inbound/undo-unload-popup.js +37 -21
- package/client/pages/inbound/unload-product.js +147 -59
- package/client/pages/inbound/worksheet-putaway.js +1 -1
- package/client/pages/inbound/worksheet-unloading.js +11 -7
- package/client/pages/inventory/inventory-adjustment.js +261 -238
- package/client/pages/inventory/inventory-by-product-detail.js +99 -92
- package/client/pages/inventory/inventory-by-product.js +170 -68
- package/client/pages/inventory/onhand-inventory.js +10 -12
- package/client/pages/inventory/serial-number-list-popup.js +36 -5
- package/client/pages/inventory-check/inspecting-product.js +1 -1
- package/client/pages/manifest/create-loading-manifest.js +47 -22
- package/client/pages/manifest/dispatcher-verification-popup.js +24 -13
- package/client/pages/manifest/loading-manifest-detail.js +311 -46
- package/client/pages/manifest/loading-manifest-list.js +86 -13
- package/client/pages/order/arrival-notice/arrival-notice-detail.js +305 -52
- package/client/pages/order/arrival-notice/arrival-notice-list.js +20 -1
- package/client/pages/order/arrival-notice/create-arrival-notice.js +2 -2
- package/client/pages/order/goods-received-note/received-note-detail.js +187 -15
- package/client/pages/order/release-order/b2b/b2b-order-list.js +76 -80
- package/client/pages/order/release-order/b2c/b2c-order-requests.js +148 -123
- package/client/pages/order/release-order/batch-picking-popup.js +11 -0
- package/client/pages/order/release-order/create-release-order.js +762 -250
- package/client/pages/order/release-order/release-extra-product-popup.js +10 -3
- package/client/pages/order/release-order/release-order-detail.js +897 -215
- package/client/pages/order/transport-order/delivery-note-popup.js +1050 -107
- package/client/pages/order/transport-order/print-delivery-note.js +214 -33
- package/client/pages/order/transport-order/upload-delivery-note.js +6 -4
- package/client/pages/order/transport-order/view-delivery-note.js +0 -1
- package/client/pages/outbound/generate-worksheet-popup.js +374 -0
- package/client/pages/outbound/inventory-reassign-popup.js +1097 -0
- package/client/pages/outbound/loading-product.js +88 -78
- package/client/pages/outbound/merged-outbound-worksheet.js +1 -1
- package/client/pages/outbound/packing-product.js +193 -82
- package/client/pages/outbound/packing-worksheet-list.js +10 -9
- package/client/pages/outbound/picking-product.js +979 -905
- package/client/pages/outbound/route-label-popup.js +283 -191
- package/client/pages/outbound/serial-number-popup.js +1 -0
- package/client/pages/outbound/sorting-product.js +12 -12
- package/client/pages/outbound/worksheet-batch-picking.js +39 -5
- package/client/pages/outbound/worksheet-packing.js +17 -4
- package/client/pages/outbound/worksheet-picking.js +45 -6
- package/client/pages/report/inbound-serial-number-report.js +86 -9
- package/client/pages/report/inventory-report.js +10 -0
- package/client/pages/report/inventory-summary-report.js +28 -19
- package/client/pages/report/outbound-order-details-report.js +204 -43
- package/client/pages/report/outbound-serial-number-report.js +87 -9
- package/client/pages/report/release-inventory-report.js +503 -0
- package/client/route.js +5 -0
- package/client/util/index.js +2 -0
- package/client/util/page-settings.js +43 -0
- package/client/util/toast.js +10 -0
- package/dist-server/graphql/resolvers/board-setting/board-settings.js +3 -3
- package/dist-server/graphql/resolvers/board-setting/board-settings.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js +2 -2
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js +2 -2
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js +9 -10
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js +2 -2
- package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js +6 -4
- package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js.map +1 -1
- package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js +6 -4
- package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js +21 -10
- package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js +1 -2
- package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js +1 -2
- package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/index.js +2 -1
- package/dist-server/graphql/resolvers/dashboard/index.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js +17 -1
- package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js +113 -75
- package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js +21 -10
- package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js +56 -0
- package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js.map +1 -0
- package/dist-server/graphql/resolvers/index.js +5 -4
- package/dist-server/graphql/resolvers/index.js.map +1 -1
- package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js.map +1 -1
- package/dist-server/graphql/resolvers/opa-menu/opa-menus.js +8 -7
- package/dist-server/graphql/resolvers/opa-menu/opa-menus.js.map +1 -1
- package/dist-server/graphql/resolvers/{extra → other}/add-release-good-products.js +59 -8
- package/dist-server/graphql/resolvers/other/add-release-good-products.js.map +1 -0
- package/dist-server/graphql/resolvers/{extra → other}/index.js +3 -1
- package/dist-server/graphql/resolvers/other/index.js.map +1 -0
- package/dist-server/graphql/resolvers/other/page-settings.js +87 -0
- package/dist-server/graphql/resolvers/other/page-settings.js.map +1 -0
- package/dist-server/graphql/resolvers/reports/costing-report.js +4 -4
- package/dist-server/graphql/resolvers/reports/costing-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js +3 -3
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js +36 -7
- package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/index.js +2 -1
- package/dist-server/graphql/resolvers/reports/index.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js +69 -30
- package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js +36 -11
- package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/product-label-report.js +3 -3
- package/dist-server/graphql/resolvers/reports/product-label-report.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/release-inventory-report.js +180 -0
- package/dist-server/graphql/resolvers/reports/release-inventory-report.js.map +1 -0
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js +2 -2
- package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js.map +1 -1
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js +1 -1
- package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js.map +1 -1
- package/dist-server/graphql/types/dashboard/index.js +1 -0
- package/dist-server/graphql/types/dashboard/index.js.map +1 -1
- package/dist-server/graphql/types/index.js +7 -2
- package/dist-server/graphql/types/index.js.map +1 -1
- package/dist-server/graphql/types/other/index.js +19 -0
- package/dist-server/graphql/types/other/index.js.map +1 -0
- package/dist-server/graphql/types/other/page-setting.js +34 -0
- package/dist-server/graphql/types/other/page-setting.js.map +1 -0
- package/dist-server/graphql/types/reports/index.js +6 -1
- package/dist-server/graphql/types/reports/index.js.map +1 -1
- package/dist-server/graphql/types/reports/outbound-order-details-report.js +17 -1
- package/dist-server/graphql/types/reports/outbound-order-details-report.js.map +1 -1
- package/dist-server/graphql/types/reports/release-inventory-report-list.js +12 -0
- package/dist-server/graphql/types/reports/release-inventory-report-list.js.map +1 -0
- package/dist-server/graphql/types/reports/release-inventory-report.js +27 -0
- package/dist-server/graphql/types/reports/release-inventory-report.js.map +1 -0
- package/dist-server/migrations/1568858861188-SeedSetting.js +5 -6
- package/dist-server/migrations/1568858861188-SeedSetting.js.map +1 -1
- package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js +1 -1
- package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js.map +1 -1
- package/dist-server/migrations/1623381200659-SeedStoringRule.js +1 -1
- package/dist-server/migrations/1623381200659-SeedStoringRule.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/utils/report-query-util.js +5 -2
- package/dist-server/utils/report-query-util.js.map +1 -1
- package/helps/release-note.ko.md +8 -20
- package/helps/release-note.md +8 -20
- package/helps/release-note.ms.md +8 -20
- package/helps/release-note.zh.md +8 -20
- package/package.json +42 -42
- package/server/graphql/resolvers/board-setting/board-settings.ts +4 -6
- package/server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.ts +4 -5
- package/server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.ts +9 -10
- package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.ts +4 -5
- package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.ts +17 -19
- package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.ts +10 -8
- package/server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.ts +9 -9
- package/server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.ts +9 -9
- package/server/graphql/resolvers/dashboard/arrival-notices-by-status.ts +23 -14
- package/server/graphql/resolvers/dashboard/collection-orders-by-status.ts +4 -5
- package/server/graphql/resolvers/dashboard/delivery-orders-by-status.ts +4 -5
- package/server/graphql/resolvers/dashboard/index.ts +3 -1
- package/server/graphql/resolvers/dashboard/inventory-expiry-monitor.ts +18 -6
- package/server/graphql/resolvers/dashboard/outbound-order-by-status.ts +114 -81
- package/server/graphql/resolvers/dashboard/release-goods-by-status.ts +23 -14
- package/server/graphql/resolvers/dashboard/unit-inbounded-outbounded.ts +61 -0
- package/server/graphql/resolvers/index.ts +5 -4
- package/server/graphql/resolvers/inventory-comparison/inventory-comparison-list.ts +11 -9
- package/server/graphql/resolvers/opa-menu/opa-menus.ts +7 -6
- package/server/graphql/resolvers/{extra → other}/add-release-good-products.ts +73 -12
- package/server/graphql/resolvers/other/index.ts +10 -0
- package/server/graphql/resolvers/other/page-settings.ts +105 -0
- package/server/graphql/resolvers/reports/costing-report.ts +8 -10
- package/server/graphql/resolvers/reports/inbound-order-details-report.ts +7 -9
- package/server/graphql/resolvers/reports/inbound-serial-number-report.ts +41 -13
- package/server/graphql/resolvers/reports/index.ts +3 -1
- package/server/graphql/resolvers/reports/outbound-order-details-report.ts +76 -38
- package/server/graphql/resolvers/reports/outbound-serial-number-report.ts +42 -18
- package/server/graphql/resolvers/reports/product-label-report.ts +4 -6
- package/server/graphql/resolvers/reports/release-inventory-report.ts +201 -0
- package/server/graphql/resolvers/shipping-provider/shipping-providers.ts +3 -5
- package/server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.ts +10 -10
- package/server/graphql/types/dashboard/index.ts +1 -0
- package/server/graphql/types/index.ts +8 -2
- package/server/graphql/types/other/index.ts +19 -0
- package/server/graphql/types/other/page-setting.ts +33 -0
- package/server/graphql/types/reports/index.ts +6 -1
- package/server/graphql/types/reports/outbound-order-details-report.ts +17 -1
- package/server/graphql/types/reports/release-inventory-report-list.ts +8 -0
- package/server/graphql/types/reports/release-inventory-report.ts +23 -0
- package/server/migrations/1568858861188-SeedSetting.ts +4 -4
- package/server/migrations/1623308919899-SeedLocationRecommendSetting.ts +3 -2
- package/server/migrations/1623381200659-SeedStoringRule.ts +3 -2
- package/server/utils/report-query-util.ts +5 -2
- package/things-factory.config.js +4 -0
- package/translations/en.json +148 -27
- package/translations/ko.json +185 -105
- package/translations/ms.json +183 -98
- package/translations/zh.json +197 -112
- package/dist-server/graphql/resolvers/extra/add-release-good-products.js.map +0 -1
- package/dist-server/graphql/resolvers/extra/index.js.map +0 -1
- package/dist-server/graphql/types/extra/index.js +0 -11
- package/dist-server/graphql/types/extra/index.js.map +0 -1
- package/server/graphql/resolvers/extra/index.ts +0 -5
- package/server/graphql/types/extra/index.ts +0 -7
|
@@ -17,6 +17,8 @@ async function rawProductsQuery(tx, params, bizplace) {
|
|
|
17
17
|
Lower(prd.name) LIKE ANY(ARRAY[${productValue}])
|
|
18
18
|
OR Lower(prd.sku) LIKE ANY(ARRAY[${productValue}])
|
|
19
19
|
OR Lower(prd.description) LIKE ANY(ARRAY[${productValue}])
|
|
20
|
+
OR Lower(prd.brand) LIKE ANY(ARRAY[${productValue}])
|
|
21
|
+
OR Lower(prd.brand_sku) LIKE ANY(ARRAY[${productValue}])
|
|
20
22
|
)`;
|
|
21
23
|
}
|
|
22
24
|
let productDescQuery = '';
|
|
@@ -26,13 +28,14 @@ async function rawProductsQuery(tx, params, bizplace) {
|
|
|
26
28
|
await tx.query(`
|
|
27
29
|
create temp table temp_products on commit drop AS
|
|
28
30
|
(
|
|
29
|
-
select prd.id, prd.sku, prd.name, prd.description, prd.type, prd.id::varchar as product_id
|
|
31
|
+
select prd.id, prd.sku, prd.name, prd.description, prd.type, prd.id::varchar as product_id, prd.brand, prd.brand_sku
|
|
32
|
+
from products prd
|
|
30
33
|
inner join bizplaces b on b.id = prd.bizplace_id
|
|
31
34
|
inner join companies c on c.domain_id = b.domain_id
|
|
32
35
|
inner join bizplaces b2 on b2.company_id = c.id
|
|
33
36
|
where b2.id = $1
|
|
34
37
|
${productQuery}
|
|
35
|
-
GROUP BY prd.id, prd.sku, prd.name, prd.description
|
|
38
|
+
GROUP BY prd.id, prd.sku, prd.name, prd.description, prd.brand, prd.brand_sku
|
|
36
39
|
)`, [bizplace.id]);
|
|
37
40
|
}
|
|
38
41
|
exports.rawProductsQuery = rawProductsQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-query-util.js","sourceRoot":"","sources":["../../server/utils/report-query-util.ts"],"names":[],"mappings":";;;AAIO,KAAK,UAAU,gBAAgB,CAAC,EAAiB,EAAE,MAAiB,EAAE,QAAkB;IAC7F,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IAClE,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAA;IAEjF,IAAI,YAAY,GAAG,EAAE,CAAA;IACrB,IAAI,OAAO,EAAE;QACX,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK;aAC7B,WAAW,EAAE;aACb,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,OAAO,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAA;QACtD,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAA;QACZ,YAAY,GAAG;uCACoB,YAAY;yCACV,YAAY;iDACJ,YAAY;
|
|
1
|
+
{"version":3,"file":"report-query-util.js","sourceRoot":"","sources":["../../server/utils/report-query-util.ts"],"names":[],"mappings":";;;AAIO,KAAK,UAAU,gBAAgB,CAAC,EAAiB,EAAE,MAAiB,EAAE,QAAkB;IAC7F,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IAClE,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAA;IAEjF,IAAI,YAAY,GAAG,EAAE,CAAA;IACrB,IAAI,OAAO,EAAE;QACX,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK;aAC7B,WAAW,EAAE;aACb,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,OAAO,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAA;QACtD,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAA;QACZ,YAAY,GAAG;uCACoB,YAAY;yCACV,YAAY;iDACJ,YAAY;2CAClB,YAAY;+CACR,YAAY;MACrD,CAAA;KACH;IAED,IAAI,gBAAgB,GAAG,EAAE,CAAA;IACzB,IAAI,WAAW,EAAE;QACf,gBAAgB,GAAG,gCAAgC,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,CAAA;KAC7F;IAED,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;QASI,YAAY;;MAEd,EACF,CAAC,QAAQ,CAAC,EAAE,CAAC,CACd,CAAA;AACH,CAAC;AA1CD,4CA0CC","sourcesContent":["import { ListParam } from '@things-factory/shell'\nimport { EntityManager } from 'typeorm'\nimport { Bizplace } from '@things-factory/biz-base'\n\nexport async function rawProductsQuery(tx: EntityManager, params: ListParam, bizplace: Bizplace) {\n let product = params.filters.find(data => data.name === 'product')\n let productDesc = params.filters.find(data => data.name === 'productDescription')\n\n let productQuery = ''\n if (product) {\n let productValue = product.value\n .toLowerCase()\n .split(',')\n .map(prod => {\n return \"'%\" + prod.trim().replace(/'/g, \"''\") + \"%'\"\n })\n .join(',')\n productQuery = `AND (\n Lower(prd.name) LIKE ANY(ARRAY[${productValue}])\n OR Lower(prd.sku) LIKE ANY(ARRAY[${productValue}])\n OR Lower(prd.description) LIKE ANY(ARRAY[${productValue}])\n OR Lower(prd.brand) LIKE ANY(ARRAY[${productValue}])\n OR Lower(prd.brand_sku) LIKE ANY(ARRAY[${productValue}])\n )`\n }\n\n let productDescQuery = ''\n if (productDesc) {\n productDescQuery = \"AND Lower(description) LIKE '%\" + productDesc.value.toLowerCase() + \"%'\"\n }\n\n await tx.query(\n `\n create temp table temp_products on commit drop AS\n (\n select prd.id, prd.sku, prd.name, prd.description, prd.type, prd.id::varchar as product_id, prd.brand, prd.brand_sku \n from products prd\n inner join bizplaces b on b.id = prd.bizplace_id \n inner join companies c on c.domain_id = b.domain_id \n inner join bizplaces b2 on b2.company_id = c.id\n where b2.id = $1\n ${productQuery}\n GROUP BY prd.id, prd.sku, prd.name, prd.description, prd.brand, prd.brand_sku\n )`,\n [bizplace.id]\n )\n}\n"]}
|
package/helps/release-note.ko.md
CHANGED
|
@@ -2,34 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 22 August Update
|
|
6
6
|
|
|
7
|
-
#### V4.
|
|
7
|
+
#### V4.8.0 Release Note
|
|
8
8
|
|
|
9
9
|
#### Greetings to all,
|
|
10
10
|
|
|
11
|
-
####
|
|
11
|
+
#### This month, we are getting the Packing process even better than before!
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
1. Volume Summary Report (beta)
|
|
15
|
-
</div>
|
|
16
|
-
<div>
|
|
17
|
-
2. Excel upload for Purchase Order
|
|
18
|
-
</div>
|
|
19
|
-
<div>
|
|
20
|
-
3. Non-loaded inventory in Onhand Inventory
|
|
21
|
-
</div>
|
|
22
|
-
<div>
|
|
23
|
-
4. Manufacture date in Onhand Inventory
|
|
24
|
-
</div>
|
|
25
|
-
<br>
|
|
26
|
-
<a href="https://bit.ly/220519_Hatio_Release">V4.4.0 Release Note</a>
|
|
27
|
-
<br>
|
|
13
|
+
#### Meanwhile, our team is working on getting the bugs fixed, for a stable and consistent Operato WMS.
|
|
28
14
|
|
|
29
|
-
Should you have any inquiry, feel free to contact support@hatio.asia!
|
|
30
15
|
<br>
|
|
31
|
-
|
|
16
|
+
For additional information about the aspects of the release, see the following link
|
|
17
|
+
<a href="https://bit.ly/20220821_Hatio_Release">V4.8.0 Release Note</a>
|
|
18
|
+
<br>
|
|
32
19
|
|
|
20
|
+
Should you have any inquiries, feel free to contact support@hatio.asia! Stay safe and positively negative!
|
|
33
21
|
<br>
|
|
34
22
|
|
|
35
23
|
_**Team Hatio**
|
package/helps/release-note.md
CHANGED
|
@@ -2,34 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 22 August Update
|
|
6
6
|
|
|
7
|
-
#### V4.
|
|
7
|
+
#### V4.8.0 Release Note
|
|
8
8
|
|
|
9
9
|
#### Greetings to all,
|
|
10
10
|
|
|
11
|
-
####
|
|
11
|
+
#### This month, we are getting the Packing process even better than before!
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
1. Volume Summary Report (beta)
|
|
15
|
-
</div>
|
|
16
|
-
<div>
|
|
17
|
-
2. Excel upload for Purchase Order
|
|
18
|
-
</div>
|
|
19
|
-
<div>
|
|
20
|
-
3. Non-loaded inventory in Onhand Inventory
|
|
21
|
-
</div>
|
|
22
|
-
<div>
|
|
23
|
-
4. Manufacture date in Onhand Inventory
|
|
24
|
-
</div>
|
|
25
|
-
<br>
|
|
26
|
-
<a href="https://bit.ly/220519_Hatio_Release">V4.4.0 Release Note</a>
|
|
27
|
-
<br>
|
|
13
|
+
#### Meanwhile, our team is working on getting the bugs fixed, for a stable and consistent Operato WMS.
|
|
28
14
|
|
|
29
|
-
Should you have any inquiry, feel free to contact support@hatio.asia!
|
|
30
15
|
<br>
|
|
31
|
-
|
|
16
|
+
For additional information about the aspects of the release, see the following link
|
|
17
|
+
<a href="https://bit.ly/20220821_Hatio_Release">V4.8.0 Release Note</a>
|
|
18
|
+
<br>
|
|
32
19
|
|
|
20
|
+
Should you have any inquiries, feel free to contact support@hatio.asia! Stay safe and positively negative!
|
|
33
21
|
<br>
|
|
34
22
|
|
|
35
23
|
_**Team Hatio**
|
package/helps/release-note.ms.md
CHANGED
|
@@ -2,34 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 22 August Update
|
|
6
6
|
|
|
7
|
-
#### V4.
|
|
7
|
+
#### V4.8.0 Release Note
|
|
8
8
|
|
|
9
9
|
#### Greetings to all,
|
|
10
10
|
|
|
11
|
-
####
|
|
11
|
+
#### This month, we are getting the Packing process even better than before!
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
1. Volume Summary Report (beta)
|
|
15
|
-
</div>
|
|
16
|
-
<div>
|
|
17
|
-
2. Excel upload for Purchase Order
|
|
18
|
-
</div>
|
|
19
|
-
<div>
|
|
20
|
-
3. Non-loaded inventory in Onhand Inventory
|
|
21
|
-
</div>
|
|
22
|
-
<div>
|
|
23
|
-
4. Manufacture date in Onhand Inventory
|
|
24
|
-
</div>
|
|
25
|
-
<br>
|
|
26
|
-
<a href="https://bit.ly/220519_Hatio_Release">V4.4.0 Release Note</a>
|
|
27
|
-
<br>
|
|
13
|
+
#### Meanwhile, our team is working on getting the bugs fixed, for a stable and consistent Operato WMS.
|
|
28
14
|
|
|
29
|
-
Should you have any inquiry, feel free to contact support@hatio.asia!
|
|
30
15
|
<br>
|
|
31
|
-
|
|
16
|
+
For additional information about the aspects of the release, see the following link
|
|
17
|
+
<a href="https://bit.ly/20220821_Hatio_Release">V4.8.0 Release Note</a>
|
|
18
|
+
<br>
|
|
32
19
|
|
|
20
|
+
Should you have any inquiries, feel free to contact support@hatio.asia! Stay safe and positively negative!
|
|
33
21
|
<br>
|
|
34
22
|
|
|
35
23
|
_**Team Hatio**
|
package/helps/release-note.zh.md
CHANGED
|
@@ -2,34 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 22 August Update
|
|
6
6
|
|
|
7
|
-
#### V4.
|
|
7
|
+
#### V4.8.0 Release Note
|
|
8
8
|
|
|
9
9
|
#### Greetings to all,
|
|
10
10
|
|
|
11
|
-
####
|
|
11
|
+
#### This month, we are getting the Packing process even better than before!
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
1. Volume Summary Report (beta)
|
|
15
|
-
</div>
|
|
16
|
-
<div>
|
|
17
|
-
2. Excel upload for Purchase Order
|
|
18
|
-
</div>
|
|
19
|
-
<div>
|
|
20
|
-
3. Non-loaded inventory in Onhand Inventory
|
|
21
|
-
</div>
|
|
22
|
-
<div>
|
|
23
|
-
4. Manufacture date in Onhand Inventory
|
|
24
|
-
</div>
|
|
25
|
-
<br>
|
|
26
|
-
<a href="https://bit.ly/220519_Hatio_Release">V4.4.0 Release Note</a>
|
|
27
|
-
<br>
|
|
13
|
+
#### Meanwhile, our team is working on getting the bugs fixed, for a stable and consistent Operato WMS.
|
|
28
14
|
|
|
29
|
-
Should you have any inquiry, feel free to contact support@hatio.asia!
|
|
30
15
|
<br>
|
|
31
|
-
|
|
16
|
+
For additional information about the aspects of the release, see the following link
|
|
17
|
+
<a href="https://bit.ly/20220821_Hatio_Release">V4.8.0 Release Note</a>
|
|
18
|
+
<br>
|
|
32
19
|
|
|
20
|
+
Should you have any inquiries, feel free to contact support@hatio.asia! Stay safe and positively negative!
|
|
33
21
|
<br>
|
|
34
22
|
|
|
35
23
|
_**Team Hatio**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/operato-wms",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-alpha.1",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -70,52 +70,52 @@
|
|
|
70
70
|
"@operato/scene-tab": "^1.0.0",
|
|
71
71
|
"@operato/scene-table": "^1.0.0",
|
|
72
72
|
"@operato/scene-wheel-sorter": "^1.0.0",
|
|
73
|
-
"@things-factory/apptool-ui": "^
|
|
74
|
-
"@things-factory/auth-ui": "^
|
|
75
|
-
"@things-factory/barcode-ui": "^
|
|
76
|
-
"@things-factory/biz-ui": "^
|
|
77
|
-
"@things-factory/board-service": "^
|
|
78
|
-
"@things-factory/board-ui": "^
|
|
79
|
-
"@things-factory/code-ui": "^
|
|
80
|
-
"@things-factory/context-ui": "^
|
|
81
|
-
"@things-factory/env": "^
|
|
82
|
-
"@things-factory/export-ui": "^
|
|
83
|
-
"@things-factory/export-ui-csv": "^
|
|
84
|
-
"@things-factory/export-ui-excel": "^
|
|
85
|
-
"@things-factory/fav-base": "^
|
|
86
|
-
"@things-factory/form-ui": "^
|
|
87
|
-
"@things-factory/geography": "^
|
|
88
|
-
"@things-factory/grist-ui": "^
|
|
89
|
-
"@things-factory/help": "^
|
|
90
|
-
"@things-factory/i18n-base": "^
|
|
91
|
-
"@things-factory/id-rule-base": "^
|
|
92
|
-
"@things-factory/import-ui": "^
|
|
93
|
-
"@things-factory/import-ui-excel": "^
|
|
94
|
-
"@things-factory/menu-ui": "^
|
|
95
|
-
"@things-factory/more-ui": "^
|
|
96
|
-
"@things-factory/notification": "^
|
|
97
|
-
"@things-factory/pdf": "^
|
|
98
|
-
"@things-factory/print-proxy-service": "^
|
|
99
|
-
"@things-factory/print-service": "^
|
|
100
|
-
"@things-factory/print-ui": "^
|
|
101
|
-
"@things-factory/product-base": "^
|
|
102
|
-
"@things-factory/resource-ui": "^
|
|
103
|
-
"@things-factory/sales-ui": "^
|
|
104
|
-
"@things-factory/scene-google-map": "^
|
|
105
|
-
"@things-factory/scene-visualizer": "^
|
|
106
|
-
"@things-factory/setting-ui": "^
|
|
107
|
-
"@things-factory/system-ui": "^
|
|
108
|
-
"@things-factory/transport-base": "^
|
|
109
|
-
"@things-factory/tutorial-ui": "^
|
|
110
|
-
"@things-factory/warehouse-base": "^
|
|
111
|
-
"@things-factory/worksheet-base": "^
|
|
73
|
+
"@things-factory/apptool-ui": "^6.0.0-alpha.0",
|
|
74
|
+
"@things-factory/auth-ui": "^6.0.0-alpha.1",
|
|
75
|
+
"@things-factory/barcode-ui": "^6.0.0-alpha.0",
|
|
76
|
+
"@things-factory/biz-ui": "^6.0.0-alpha.0",
|
|
77
|
+
"@things-factory/board-service": "^6.0.0-alpha.0",
|
|
78
|
+
"@things-factory/board-ui": "^6.0.0-alpha.0",
|
|
79
|
+
"@things-factory/code-ui": "^6.0.0-alpha.0",
|
|
80
|
+
"@things-factory/context-ui": "^6.0.0-alpha.0",
|
|
81
|
+
"@things-factory/env": "^6.0.0-alpha.0",
|
|
82
|
+
"@things-factory/export-ui": "^6.0.0-alpha.0",
|
|
83
|
+
"@things-factory/export-ui-csv": "^6.0.0-alpha.0",
|
|
84
|
+
"@things-factory/export-ui-excel": "^6.0.0-alpha.0",
|
|
85
|
+
"@things-factory/fav-base": "^6.0.0-alpha.0",
|
|
86
|
+
"@things-factory/form-ui": "^6.0.0-alpha.0",
|
|
87
|
+
"@things-factory/geography": "^6.0.0-alpha.0",
|
|
88
|
+
"@things-factory/grist-ui": "^6.0.0-alpha.0",
|
|
89
|
+
"@things-factory/help": "^6.0.0-alpha.0",
|
|
90
|
+
"@things-factory/i18n-base": "^6.0.0-alpha.0",
|
|
91
|
+
"@things-factory/id-rule-base": "^6.0.0-alpha.0",
|
|
92
|
+
"@things-factory/import-ui": "^6.0.0-alpha.0",
|
|
93
|
+
"@things-factory/import-ui-excel": "^6.0.0-alpha.0",
|
|
94
|
+
"@things-factory/menu-ui": "^6.0.0-alpha.0",
|
|
95
|
+
"@things-factory/more-ui": "^6.0.0-alpha.0",
|
|
96
|
+
"@things-factory/notification": "^6.0.0-alpha.0",
|
|
97
|
+
"@things-factory/pdf": "^6.0.0-alpha.0",
|
|
98
|
+
"@things-factory/print-proxy-service": "^6.0.0-alpha.0",
|
|
99
|
+
"@things-factory/print-service": "^6.0.0-alpha.0",
|
|
100
|
+
"@things-factory/print-ui": "^6.0.0-alpha.0",
|
|
101
|
+
"@things-factory/product-base": "^6.0.0-alpha.0",
|
|
102
|
+
"@things-factory/resource-ui": "^6.0.0-alpha.1",
|
|
103
|
+
"@things-factory/sales-ui": "^6.0.0-alpha.1",
|
|
104
|
+
"@things-factory/scene-google-map": "^6.0.0-alpha.0",
|
|
105
|
+
"@things-factory/scene-visualizer": "^6.0.0-alpha.0",
|
|
106
|
+
"@things-factory/setting-ui": "^6.0.0-alpha.0",
|
|
107
|
+
"@things-factory/system-ui": "^6.0.0-alpha.0",
|
|
108
|
+
"@things-factory/transport-base": "^6.0.0-alpha.0",
|
|
109
|
+
"@things-factory/tutorial-ui": "^6.0.0-alpha.0",
|
|
110
|
+
"@things-factory/warehouse-base": "^6.0.0-alpha.1",
|
|
111
|
+
"@things-factory/worksheet-base": "^6.0.0-alpha.1"
|
|
112
112
|
},
|
|
113
113
|
"devDependencies": {
|
|
114
|
-
"@things-factory/builder": "^
|
|
114
|
+
"@things-factory/builder": "^6.0.0-alpha.0",
|
|
115
115
|
"cypress": "^9.4.1",
|
|
116
116
|
"cypress-file-upload": "^5.0.8",
|
|
117
117
|
"cypress-localstorage-commands": "^1.6.1",
|
|
118
118
|
"eslint-plugin-cypress": "^2.12.1"
|
|
119
119
|
},
|
|
120
|
-
"gitHead": "
|
|
120
|
+
"gitHead": "b978f296de5c8be4a3f3450929821e5554855438"
|
|
121
121
|
}
|
|
@@ -1,25 +1,23 @@
|
|
|
1
|
-
import { getRepository } from 'typeorm'
|
|
2
|
-
|
|
3
1
|
import { User } from '@things-factory/auth-base'
|
|
4
2
|
import { Board } from '@things-factory/board-service'
|
|
5
3
|
import { Setting } from '@things-factory/setting-base'
|
|
6
|
-
import {
|
|
4
|
+
import { getRepository } from '@things-factory/shell'
|
|
7
5
|
|
|
8
6
|
import {
|
|
9
7
|
CARTON_LABEL_SETTING_KEY,
|
|
10
8
|
HOME_DASHBOARD_PREFIX,
|
|
9
|
+
INTENALIZED_AWB_SETTING_KEY,
|
|
11
10
|
LOCATION_LABEL_SETTING_KEY,
|
|
12
11
|
PALLET_LABEL_SETTING_KEY,
|
|
13
12
|
PRODUCT_LABEL_SETTING_KEY,
|
|
14
13
|
REUSABLE_PALLET_LABEL_SETTING_KEY,
|
|
15
|
-
INTENALIZED_AWB_SETTING_KEY,
|
|
16
14
|
ROUTE_LABEL_SETTING_KEY,
|
|
17
15
|
TOTE_LABEL_SETTING_KEY
|
|
18
16
|
} from '../../../opa-app-setting-constants'
|
|
19
17
|
|
|
20
18
|
export const boardSettingsResolver = {
|
|
21
|
-
async boardSettings(_: any, params: any, context:
|
|
22
|
-
const { domain }
|
|
19
|
+
async boardSettings(_: any, params: any, context: ResolverContext) {
|
|
20
|
+
const { domain } = context.state
|
|
23
21
|
|
|
24
22
|
/***********************************************************************************
|
|
25
23
|
* Temporary solution for dashboard user type
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { Bizplace } from '@things-factory/biz-base'
|
|
2
|
-
import { ListParam } from '@things-factory/shell'
|
|
3
|
-
import { EntityManager, getRepository } from 'typeorm'
|
|
2
|
+
import { getRepository, ListParam } from '@things-factory/shell'
|
|
4
3
|
|
|
5
4
|
export const elcclDailyCollectionReport = {
|
|
6
|
-
async elcclDailyCollectionReport(_: any, params: ListParam, context:
|
|
5
|
+
async elcclDailyCollectionReport(_: any, params: ListParam, context: ResolverContext) {
|
|
7
6
|
try {
|
|
8
|
-
const { tx }
|
|
7
|
+
const { tx } = context.state
|
|
9
8
|
|
|
10
9
|
let bizplaceQuery = ''
|
|
11
10
|
if (params.filters.find((filter: any) => filter.name === 'bizplace')) {
|
|
12
|
-
const bizplace: Bizplace = await getRepository(Bizplace).
|
|
11
|
+
const bizplace: Bizplace = await getRepository(Bizplace).findOneBy({
|
|
13
12
|
id: params.filters.find(data => data.name === 'bizplace').value
|
|
14
13
|
})
|
|
15
14
|
bizplaceQuery = "AND rg.bizplace_id = '" + bizplace.id + "'"
|
|
@@ -1,25 +1,24 @@
|
|
|
1
|
+
import { Bizplace } from '@things-factory/biz-base'
|
|
1
2
|
import { ListParam } from '@things-factory/shell'
|
|
2
|
-
import { getManager, EntityManager, getRepository } from 'typeorm'
|
|
3
|
-
import { User } from '@things-factory/auth-base'
|
|
4
|
-
import { Bizplace, BizplaceUser } from '@things-factory/biz-base'
|
|
5
3
|
|
|
6
4
|
export const elcclDailyOrderInventoryReport = {
|
|
7
|
-
async elcclDailyOrderInventoryReport(_: any, params: ListParam, context:
|
|
5
|
+
async elcclDailyOrderInventoryReport(_: any, params: ListParam, context: ResolverContext) {
|
|
8
6
|
try {
|
|
9
|
-
const { tx }
|
|
10
|
-
|
|
11
|
-
let bizplaceFilter = params.filters.find(data => data.name === 'bizplace')
|
|
7
|
+
const { tx } = context.state
|
|
8
|
+
|
|
9
|
+
let bizplaceFilter = params.filters.find(data => data.name === 'bizplace')
|
|
12
10
|
|
|
13
11
|
let month = params.filters.find(data => data.name === 'month').value + '-01'
|
|
14
12
|
let tzoffset = params.filters.find(data => data.name === 'tzoffset').value + ' seconds'
|
|
15
13
|
|
|
16
14
|
if (!bizplaceFilter || !month) throw 'Invalid input'
|
|
17
15
|
|
|
18
|
-
const bizplace: Bizplace = await tx.getRepository(Bizplace).
|
|
16
|
+
const bizplace: Bizplace = await tx.getRepository(Bizplace).findOneBy({
|
|
19
17
|
id: bizplaceFilter.value
|
|
20
18
|
})
|
|
21
19
|
|
|
22
|
-
await tx.query(
|
|
20
|
+
await tx.query(
|
|
21
|
+
`
|
|
23
22
|
create temp table temp_invHistory as (
|
|
24
23
|
select rih.pallet_id, rih.seq,
|
|
25
24
|
coalesce(grn.name, do2.name, rih.order_no) as order_no , rih.order_ref_no , an.delivery_order_no as do_ref_no,
|
|
@@ -140,7 +139,7 @@ export const elcclDailyOrderInventoryReport = {
|
|
|
140
139
|
}
|
|
141
140
|
})
|
|
142
141
|
|
|
143
|
-
return { items, total: items.length}
|
|
142
|
+
return { items, total: items.length }
|
|
144
143
|
} catch (error) {
|
|
145
144
|
throw error
|
|
146
145
|
}
|
package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Bizplace } from '@things-factory/biz-base'
|
|
2
|
-
import { ListParam } from '@things-factory/shell'
|
|
3
|
-
import { EntityManager, getRepository } from 'typeorm'
|
|
2
|
+
import { getRepository, ListParam } from '@things-factory/shell'
|
|
4
3
|
|
|
5
4
|
export const elcclInventoryHistoryPalletDetailReport = {
|
|
6
|
-
async elcclInventoryHistoryPalletDetailReport(_: any, params: ListParam, context:
|
|
5
|
+
async elcclInventoryHistoryPalletDetailReport(_: any, params: ListParam, context: ResolverContext) {
|
|
7
6
|
try {
|
|
8
|
-
const { tx }
|
|
7
|
+
const { tx } = context.state
|
|
9
8
|
|
|
10
9
|
let bizplaceFilter = params.filters.find(data => data.name === 'bizplace')
|
|
11
10
|
|
|
@@ -16,7 +15,7 @@ export const elcclInventoryHistoryPalletDetailReport = {
|
|
|
16
15
|
|
|
17
16
|
let bizplaceQuery = ''
|
|
18
17
|
if (bizplaceFilter) {
|
|
19
|
-
const bizplace: Bizplace = await getRepository(Bizplace).
|
|
18
|
+
const bizplace: Bizplace = await getRepository(Bizplace).findOneBy({
|
|
20
19
|
id: bizplaceFilter.value
|
|
21
20
|
})
|
|
22
21
|
|
|
@@ -4,10 +4,10 @@ import { Bizplace } from '@things-factory/biz-base'
|
|
|
4
4
|
import { ListParam } from '@things-factory/shell'
|
|
5
5
|
|
|
6
6
|
export const elcclInventoryHistoryReport = {
|
|
7
|
-
async elcclInventoryHistoryReport(_: any, params: ListParam, context:
|
|
7
|
+
async elcclInventoryHistoryReport(_: any, params: ListParam, context: ResolverContext) {
|
|
8
8
|
try {
|
|
9
9
|
// const convertedParams = convertListParams(params)
|
|
10
|
-
const { tx }
|
|
10
|
+
const { tx } = context.state
|
|
11
11
|
|
|
12
12
|
let bizplaceFilter = params.filters.find(data => data.name === 'bizplace')
|
|
13
13
|
|
|
@@ -18,15 +18,16 @@ export const elcclInventoryHistoryReport = {
|
|
|
18
18
|
|
|
19
19
|
if (!bizplaceFilter || !fromDate || !toDate) throw 'Invalid input'
|
|
20
20
|
|
|
21
|
-
const bizplace: Bizplace = await tx.getRepository(Bizplace).
|
|
21
|
+
const bizplace: Bizplace = await tx.getRepository(Bizplace).findOneBy({
|
|
22
22
|
id: bizplaceFilter.value
|
|
23
23
|
})
|
|
24
24
|
|
|
25
25
|
let batchNoQuery = ''
|
|
26
26
|
if (batchNo) {
|
|
27
27
|
batchNoQuery =
|
|
28
|
-
'AND invh.batch_id
|
|
28
|
+
'AND Lower(invh.batch_id) LIKE ANY(ARRAY[' +
|
|
29
29
|
batchNo.value
|
|
30
|
+
.toLowerCase()
|
|
30
31
|
.split(',')
|
|
31
32
|
.map(prod => {
|
|
32
33
|
return "'%" + prod.trim().replace(/'/g, "''") + "%'"
|
|
@@ -37,21 +38,18 @@ export const elcclInventoryHistoryReport = {
|
|
|
37
38
|
|
|
38
39
|
let productQuery = ''
|
|
39
40
|
if (product) {
|
|
40
|
-
let productValue =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
productValue
|
|
51
|
-
|
|
52
|
-
productValue +
|
|
53
|
-
'OR prd.description ILIKE ANY(ARRAY[' +
|
|
54
|
-
productValue
|
|
41
|
+
let productValue = product.value
|
|
42
|
+
.toLowerCase()
|
|
43
|
+
.split(',')
|
|
44
|
+
.map(prod => {
|
|
45
|
+
return "'%" + prod.trim().replace(/'/g, "''") + "%'"
|
|
46
|
+
})
|
|
47
|
+
.join(',')
|
|
48
|
+
productQuery = `AND (
|
|
49
|
+
Lower(prd.name) LIKE ANY(ARRAY[${productValue}])
|
|
50
|
+
OR Lower(prd.sku) LIKE ANY(ARRAY[${productValue}])
|
|
51
|
+
OR Lower(prd.description) LIKE ANY(ARRAY[${productValue}])
|
|
52
|
+
)`
|
|
55
53
|
}
|
|
56
54
|
|
|
57
55
|
await tx.query(
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { EntityManager, getRepository } from 'typeorm'
|
|
2
|
-
|
|
3
1
|
import { Bizplace } from '@things-factory/biz-base'
|
|
4
|
-
import { ListParam } from '@things-factory/shell'
|
|
2
|
+
import { getRepository, ListParam } from '@things-factory/shell'
|
|
5
3
|
|
|
6
4
|
export const elcclInventoryHistorySummaryReport = {
|
|
7
|
-
async elcclInventoryHistorySummaryReport(_: any, params: ListParam, context:
|
|
5
|
+
async elcclInventoryHistorySummaryReport(_: any, params: ListParam, context: ResolverContext) {
|
|
8
6
|
try {
|
|
9
|
-
const { tx }
|
|
7
|
+
const { tx } = context.state
|
|
10
8
|
|
|
11
9
|
await inventoryHistorySummaryReportQuery(_, params, context)
|
|
12
10
|
|
|
@@ -48,9 +46,13 @@ export const elcclInventoryHistorySummaryReport = {
|
|
|
48
46
|
}
|
|
49
47
|
}
|
|
50
48
|
|
|
51
|
-
export async function inventoryHistorySummaryReportQuery(
|
|
49
|
+
export async function inventoryHistorySummaryReportQuery(
|
|
50
|
+
_: any,
|
|
51
|
+
params: ListParam,
|
|
52
|
+
context: ResolverContext
|
|
53
|
+
): Promise<void> {
|
|
52
54
|
try {
|
|
53
|
-
const { tx }
|
|
55
|
+
const { tx } = context.state
|
|
54
56
|
|
|
55
57
|
let balanceOnlyFilter = params.filters.find(data => data.name === 'balanceOnly')
|
|
56
58
|
|
|
@@ -61,7 +63,7 @@ export async function inventoryHistorySummaryReportQuery(_: any, params: ListPar
|
|
|
61
63
|
|
|
62
64
|
if (!bizplaceFilter || !fromDate || !toDate) throw 'Invalid input'
|
|
63
65
|
|
|
64
|
-
const bizplace: Bizplace = await getRepository(Bizplace).
|
|
66
|
+
const bizplace: Bizplace = await getRepository(Bizplace).findOneBy({
|
|
65
67
|
id: bizplaceFilter.value
|
|
66
68
|
})
|
|
67
69
|
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { ListParam } from '@things-factory/shell'
|
|
2
1
|
import { getPermittedBizplaceIds } from '@things-factory/biz-base'
|
|
3
|
-
import { getRepository } from '
|
|
2
|
+
import { getRepository, ListParam } from '@things-factory/shell'
|
|
4
3
|
import { Inventory } from '@things-factory/warehouse-base'
|
|
5
4
|
|
|
6
5
|
export const elcclOnhandInventoryCounterResolver = {
|
|
7
|
-
async elcclOnhandInventoryCounter(_: any, params: ListParam, context:
|
|
6
|
+
async elcclOnhandInventoryCounter(_: any, params: ListParam, context: ResolverContext) {
|
|
8
7
|
let bizplaces = await getPermittedBizplaceIds(context.state.domain, context.state.user)
|
|
9
|
-
bizplaces = bizplaces
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
bizplaces = bizplaces
|
|
9
|
+
.map(bizplace => {
|
|
10
|
+
return "'" + bizplace.trim() + "'"
|
|
11
|
+
})
|
|
12
|
+
.join(',')
|
|
12
13
|
|
|
13
14
|
const result = await getRepository(Inventory).query(`
|
|
14
15
|
select sum(qty) as total from (
|
|
@@ -26,9 +27,8 @@ export const elcclOnhandInventoryCounterResolver = {
|
|
|
26
27
|
and domain_id = '${context.state.domain.id}'
|
|
27
28
|
group by reusable_pallet_id
|
|
28
29
|
) as foo
|
|
29
|
-
`
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
`)
|
|
31
|
+
|
|
32
32
|
const total = parseInt(result[0].total)
|
|
33
33
|
|
|
34
34
|
return total
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { ListParam } from '@things-factory/shell'
|
|
2
1
|
import { getPermittedBizplaceIds } from '@things-factory/biz-base'
|
|
3
|
-
import { getRepository } from '
|
|
2
|
+
import { getRepository, ListParam } from '@things-factory/shell'
|
|
4
3
|
import { Inventory } from '@things-factory/warehouse-base'
|
|
5
4
|
|
|
6
5
|
export const kimedaOnhandInventoryCounterResolver = {
|
|
7
|
-
async kimedaOnhandInventoryCounter(_: any, params: ListParam, context:
|
|
6
|
+
async kimedaOnhandInventoryCounter(_: any, params: ListParam, context: ResolverContext) {
|
|
8
7
|
let bizplaces = await getPermittedBizplaceIds(context.state.domain, context.state.user)
|
|
9
|
-
bizplaces = bizplaces
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
bizplaces = bizplaces
|
|
9
|
+
.map(bizplace => {
|
|
10
|
+
return "'" + bizplace.trim() + "'"
|
|
11
|
+
})
|
|
12
|
+
.join(',')
|
|
12
13
|
|
|
13
14
|
const result = await getRepository(Inventory).query(`
|
|
14
15
|
select sum(qty) as total from (
|
|
@@ -32,9 +33,8 @@ export const kimedaOnhandInventoryCounterResolver = {
|
|
|
32
33
|
and l2.type = 'FLOOR'
|
|
33
34
|
group by l2.name
|
|
34
35
|
) as foo
|
|
35
|
-
`
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
`)
|
|
37
|
+
|
|
38
38
|
const total = parseInt(result[0].total)
|
|
39
39
|
|
|
40
40
|
return total
|