@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
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.releaseInventoryReport = void 0;
|
|
4
|
+
const biz_base_1 = require("@things-factory/biz-base");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
exports.releaseInventoryReport = {
|
|
7
|
+
async releaseInventoryReport(_, params, context) {
|
|
8
|
+
try {
|
|
9
|
+
const { tx } = context.state;
|
|
10
|
+
// let bizplaceFilter = { name: '', operator: '', value: '' }
|
|
11
|
+
// let userFilter = params.filters.find(data => data.name === 'user')
|
|
12
|
+
let order = params.filters.find(data => data.name === 'order');
|
|
13
|
+
let orderDate = params.filters.find(data => data.name === 'orderDate');
|
|
14
|
+
let product = params.filters.find(data => data.name === 'product');
|
|
15
|
+
let bizplace = params.filters.find(data => data.name === 'bizplace');
|
|
16
|
+
let palletId = params.filters.find(data => data.name === 'palletId');
|
|
17
|
+
let cartonId = params.filters.find(data => data.name === 'cartonId');
|
|
18
|
+
// if (userFilter) {
|
|
19
|
+
// const user = await tx.getRepository(User).findOne({
|
|
20
|
+
// where: { id: userFilter.value },
|
|
21
|
+
// relations: ['bizplaces']
|
|
22
|
+
// }) as User & { bizplaces: Bizplace[] }
|
|
23
|
+
// const bizplace: Bizplace = user.bizplaces[0]
|
|
24
|
+
if (!bizplace)
|
|
25
|
+
throw 'Invalid input';
|
|
26
|
+
// bizplaceFilter = { name: 'bizplace', operator: 'eq', value: bizplace.id }
|
|
27
|
+
// } else {
|
|
28
|
+
// bizplaceFilter = params.filters.find(data => data.name === 'bizplace')
|
|
29
|
+
// }
|
|
30
|
+
// if (!bizplaceFilter) throw 'Invalid input'
|
|
31
|
+
let roFilter = '', ccFilter = '', queryFilter = '';
|
|
32
|
+
if (order) {
|
|
33
|
+
let orderValue = order.value
|
|
34
|
+
.toLowerCase()
|
|
35
|
+
.split(',')
|
|
36
|
+
.map(prod => {
|
|
37
|
+
return "'%" + prod.trim().replace(/'/g, "''") + "%'";
|
|
38
|
+
})
|
|
39
|
+
.join(',');
|
|
40
|
+
roFilter += `AND (
|
|
41
|
+
Lower(od.name) LIKE ANY(ARRAY[${orderValue}])
|
|
42
|
+
OR Lower(od.ref_no) LIKE ANY(ARRAY[${orderValue}])
|
|
43
|
+
OR Lower(od.ref_no_2) LIKE ANY(ARRAY[${orderValue}])
|
|
44
|
+
OR Lower(od.ref_no_3) LIKE ANY(ARRAY[${orderValue}])
|
|
45
|
+
)`;
|
|
46
|
+
ccFilter += `AND (
|
|
47
|
+
Lower(od.name) LIKE ANY(ARRAY[${orderValue}])
|
|
48
|
+
)`;
|
|
49
|
+
}
|
|
50
|
+
if (orderDate) {
|
|
51
|
+
queryFilter += ` AND od.created_at between '${orderDate.value}'::timestamp and '${orderDate.value}'::timestamp + INTERVAL '1 day'`;
|
|
52
|
+
}
|
|
53
|
+
if (palletId) {
|
|
54
|
+
queryFilter += ` AND lower(i.pallet_id) like '%${palletId.value.toLowerCase()}%'`;
|
|
55
|
+
}
|
|
56
|
+
if (cartonId) {
|
|
57
|
+
queryFilter += ` AND lower(i.carton_id) like '%${cartonId.value.toLowerCase()}%'`;
|
|
58
|
+
}
|
|
59
|
+
if (bizplace) {
|
|
60
|
+
queryFilter += ` AND od.bizplace_id = '${bizplace.value}'`;
|
|
61
|
+
}
|
|
62
|
+
const bizplaceObj = await tx.getRepository(biz_base_1.Bizplace).findOneBy({
|
|
63
|
+
id: bizplace.value
|
|
64
|
+
});
|
|
65
|
+
await (0, utils_1.rawProductsQuery)(tx, params, bizplaceObj);
|
|
66
|
+
// let productQuery = ''
|
|
67
|
+
// if (product) {
|
|
68
|
+
// let productValue = product.value
|
|
69
|
+
// .toLowerCase()
|
|
70
|
+
// .split(',')
|
|
71
|
+
// .map(prod => {
|
|
72
|
+
// return "'%" + prod.trim().replace(/'/g, "''") + "%'"
|
|
73
|
+
// })
|
|
74
|
+
// .join(',')
|
|
75
|
+
// queryFilter = `AND (
|
|
76
|
+
// Lower(p.name) LIKE ANY(ARRAY[${productValue}])
|
|
77
|
+
// OR Lower(p.sku) LIKE ANY(ARRAY[${productValue}])
|
|
78
|
+
// OR Lower(p.description) LIKE ANY(ARRAY[${productValue}])
|
|
79
|
+
// OR Lower(p.brand_sku) LIKE ANY(ARRAY[${productValue}])
|
|
80
|
+
// OR Lower(p.brand) LIKE ANY(ARRAY[${productValue}])
|
|
81
|
+
// )`
|
|
82
|
+
// }
|
|
83
|
+
await tx.query(`
|
|
84
|
+
create temp table data_src on commit drop as (
|
|
85
|
+
select * from (
|
|
86
|
+
select p.sku as product_sku, p.name as product_name, p.description as product_description, p.brand as product_brand,
|
|
87
|
+
b.id as bizplace_id, b.name as bizplace_name, b.description as bizplace_description, i.packing_type,
|
|
88
|
+
oi.release_qty as assigned_qty, oi.release_uom_value as uom_value, i.uom,
|
|
89
|
+
od.name as order_no, od.type::varchar as "type", od.status, od.created_at as order_at, od.release_date,
|
|
90
|
+
i.pallet_id, i.carton_id, i.batch_id, i.batch_id_ref, i.expiration_date, i.manufacture_date, l.name as location_name
|
|
91
|
+
from (
|
|
92
|
+
select inventory_id, release_good_id, sum(release_qty) as release_qty, sum(release_uom_value) as release_uom_value from order_inventories oi
|
|
93
|
+
inner join release_goods od on od.id = oi.release_good_id
|
|
94
|
+
where release_good_id is not null
|
|
95
|
+
and od.status in ('PENDING', 'PENDING_RECEIVE', 'PENDING_CANCEL', 'PENDING_WORKSHEET', 'READY_TO_PICK', 'PICKING')
|
|
96
|
+
and od.domain_id = $1
|
|
97
|
+
and oi.status != 'REPLACED'
|
|
98
|
+
group by inventory_id, release_good_id
|
|
99
|
+
) oi
|
|
100
|
+
inner join release_goods od on od.id = oi.release_good_id
|
|
101
|
+
inner join bizplaces b on b.id = od.bizplace_id
|
|
102
|
+
inner join inventories i on i.id = oi.inventory_id
|
|
103
|
+
inner join locations l on l.id = i.location_id
|
|
104
|
+
inner join temp_products p on p.id = i.product_id
|
|
105
|
+
where 1 = 1
|
|
106
|
+
${roFilter}
|
|
107
|
+
${queryFilter}
|
|
108
|
+
union all
|
|
109
|
+
select p.sku as product_sku, p.name as product_name, p.description as product_description, p.brand as product_brand,
|
|
110
|
+
b.id as bizplace_id, b.name as bizplace_name, b.description as bizplace_description, i.packing_type,
|
|
111
|
+
oi.release_qty as assigned_qty, oi.release_uom_value as uom_value, i.uom,
|
|
112
|
+
od.name as order_no, 'cc' as "type", od.status, od.created_at as order_at, od.execution_date,
|
|
113
|
+
i.pallet_id, i.carton_id, i.batch_id, i.batch_id_ref, i.expiration_date, i.manufacture_date, l.name as location_name
|
|
114
|
+
from order_inventories oi
|
|
115
|
+
inner join bizplaces b on b.id = oi.bizplace_id
|
|
116
|
+
inner join inventory_checks od on od.id = oi.inventory_check_id
|
|
117
|
+
inner join inventories i on i.id = oi.inventory_id
|
|
118
|
+
inner join locations l on l.id = i.location_id
|
|
119
|
+
inner join temp_products p on p.id = i.product_id
|
|
120
|
+
where od.status <> 'DONE'
|
|
121
|
+
and od.domain_id = $1
|
|
122
|
+
${ccFilter}
|
|
123
|
+
${queryFilter}
|
|
124
|
+
) src
|
|
125
|
+
order by product_sku, packing_type, order_no
|
|
126
|
+
);
|
|
127
|
+
`, [context.state.domain.id]);
|
|
128
|
+
const total = await tx.query(`
|
|
129
|
+
select count(*) from data_src
|
|
130
|
+
`);
|
|
131
|
+
const result = await tx.query(`
|
|
132
|
+
select * from data_src
|
|
133
|
+
offset $1 limit $2
|
|
134
|
+
`, [(params.pagination.page - 1) * params.pagination.limit, params.pagination.limit]);
|
|
135
|
+
let items = result.map(itm => {
|
|
136
|
+
let data = {
|
|
137
|
+
bizplace: {
|
|
138
|
+
id: itm.bizplace_id,
|
|
139
|
+
name: itm.bizplace_name,
|
|
140
|
+
description: itm.bizplace_description
|
|
141
|
+
},
|
|
142
|
+
product: {
|
|
143
|
+
id: itm.product_id,
|
|
144
|
+
sku: itm.product_sku,
|
|
145
|
+
name: itm.product_name,
|
|
146
|
+
description: itm.product_description,
|
|
147
|
+
brand: itm.product_brand
|
|
148
|
+
},
|
|
149
|
+
location: {
|
|
150
|
+
name: itm.location_name
|
|
151
|
+
},
|
|
152
|
+
packingType: itm.packing_type,
|
|
153
|
+
assignedQty: itm.assigned_qty,
|
|
154
|
+
assignedUomValue: itm.uom_value,
|
|
155
|
+
assignedUom: itm.uom,
|
|
156
|
+
orderNo: itm.order_no,
|
|
157
|
+
type: itm.type,
|
|
158
|
+
status: itm.status,
|
|
159
|
+
orderAt: itm.order_at,
|
|
160
|
+
releaseDate: itm.release_date,
|
|
161
|
+
palletId: itm.pallet_id,
|
|
162
|
+
cartonId: itm.carton_id,
|
|
163
|
+
batchId: itm.batch_id,
|
|
164
|
+
batchIdRef: itm.batch_id_ref,
|
|
165
|
+
expirationDate: itm.expiration_date,
|
|
166
|
+
manufactureDate: itm.manufacture_date
|
|
167
|
+
};
|
|
168
|
+
return data;
|
|
169
|
+
});
|
|
170
|
+
return {
|
|
171
|
+
items,
|
|
172
|
+
total: total[0].count
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
catch (error) {
|
|
176
|
+
throw error;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
//# sourceMappingURL=release-inventory-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-inventory-report.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/reports/release-inventory-report.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AAGnD,0CAAiD;AAEpC,QAAA,sBAAsB,GAAG;IACpC,KAAK,CAAC,sBAAsB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QAC9E,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAC5B,6DAA6D;YAC7D,qEAAqE;YACrE,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;YAC9D,IAAI,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAA;YACtE,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;YAClE,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;YACpE,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;YACpE,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;YAEpE,oBAAoB;YACpB,wDAAwD;YACxD,uCAAuC;YACvC,+BAA+B;YAC/B,2CAA2C;YAE3C,iDAAiD;YAEjD,IAAI,CAAC,QAAQ;gBAAE,MAAM,eAAe,CAAA;YAEpC,8EAA8E;YAC9E,WAAW;YACX,2EAA2E;YAC3E,IAAI;YAEJ,6CAA6C;YAC7C,IAAI,QAAQ,GAAG,EAAE,EACf,QAAQ,GAAG,EAAE,EACb,WAAW,GAAG,EAAE,CAAA;YAClB,IAAI,KAAK,EAAE;gBACT,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK;qBACzB,WAAW,EAAE;qBACb,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,IAAI,CAAC,EAAE;oBACV,OAAO,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAA;gBACtD,CAAC,CAAC;qBACD,IAAI,CAAC,GAAG,CAAC,CAAA;gBACZ,QAAQ,IAAI;0CACsB,UAAU;+CACL,UAAU;iDACR,UAAU;iDACV,UAAU;UACjD,CAAA;gBACF,QAAQ,IAAI;0CACsB,UAAU;UAC1C,CAAA;aACH;YACD,IAAI,SAAS,EAAE;gBACb,WAAW,IAAI,+BAA+B,SAAS,CAAC,KAAK,qBAAqB,SAAS,CAAC,KAAK,iCAAiC,CAAA;aACnI;YAED,IAAI,QAAQ,EAAE;gBACZ,WAAW,IAAI,kCAAkC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAA;aAClF;YAED,IAAI,QAAQ,EAAE;gBACZ,WAAW,IAAI,kCAAkC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAA;aAClF;YAED,IAAI,QAAQ,EAAE;gBACZ,WAAW,IAAI,0BAA0B,QAAQ,CAAC,KAAK,GAAG,CAAA;aAC3D;YAED,MAAM,WAAW,GAAa,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,SAAS,CAAC;gBACvE,EAAE,EAAE,QAAQ,CAAC,KAAK;aACnB,CAAC,CAAA;YACF,MAAM,IAAA,wBAAgB,EAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;YAE/C,wBAAwB;YACxB,iBAAiB;YACjB,qCAAqC;YACrC,qBAAqB;YACrB,kBAAkB;YAClB,qBAAqB;YACrB,6DAA6D;YAC7D,SAAS;YACT,iBAAiB;YACjB,yBAAyB;YACzB,qDAAqD;YACrD,uDAAuD;YACvD,+DAA+D;YAC/D,6DAA6D;YAC7D,yDAAyD;YACzD,OAAO;YACP,IAAI;YAEJ,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;;;;;;;;;cAuBM,QAAQ;cACR,WAAW;;;;;;;;;;;;;;;cAeX,QAAQ;cACR,WAAW;;;;SAIhB,EACD,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAC1B,CAAA;YAED,MAAM,KAAK,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAEjC,CAAC,CAAA;YAEF,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAChC;;;OAGD,EACC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAClF,CAAA;YAED,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC3B,IAAI,IAAI,GAAG;oBACT,QAAQ,EAAE;wBACR,EAAE,EAAE,GAAG,CAAC,WAAW;wBACnB,IAAI,EAAE,GAAG,CAAC,aAAa;wBACvB,WAAW,EAAE,GAAG,CAAC,oBAAoB;qBACtC;oBACD,OAAO,EAAE;wBACP,EAAE,EAAE,GAAG,CAAC,UAAU;wBAClB,GAAG,EAAE,GAAG,CAAC,WAAW;wBACpB,IAAI,EAAE,GAAG,CAAC,YAAY;wBACtB,WAAW,EAAE,GAAG,CAAC,mBAAmB;wBACpC,KAAK,EAAE,GAAG,CAAC,aAAa;qBACzB;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,GAAG,CAAC,aAAa;qBACxB;oBACD,WAAW,EAAE,GAAG,CAAC,YAAY;oBAC7B,WAAW,EAAE,GAAG,CAAC,YAAY;oBAC7B,gBAAgB,EAAE,GAAG,CAAC,SAAS;oBAC/B,WAAW,EAAE,GAAG,CAAC,GAAG;oBACpB,OAAO,EAAE,GAAG,CAAC,QAAQ;oBACrB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,OAAO,EAAE,GAAG,CAAC,QAAQ;oBACrB,WAAW,EAAE,GAAG,CAAC,YAAY;oBAC7B,QAAQ,EAAE,GAAG,CAAC,SAAS;oBACvB,QAAQ,EAAE,GAAG,CAAC,SAAS;oBACvB,OAAO,EAAE,GAAG,CAAC,QAAQ;oBACrB,UAAU,EAAE,GAAG,CAAC,YAAY;oBAC5B,cAAc,EAAE,GAAG,CAAC,eAAe;oBACnC,eAAe,EAAE,GAAG,CAAC,gBAAgB;iBACtC,CAAA;gBAED,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,CAAA;YAEF,OAAO;gBACL,KAAK;gBACL,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;aACtB,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA","sourcesContent":["import { Bizplace } from '@things-factory/biz-base'\nimport { ListParam } from '@things-factory/shell'\n\nimport { rawProductsQuery } from '../../../utils'\n\nexport const releaseInventoryReport = {\n async releaseInventoryReport(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { tx } = context.state\n // let bizplaceFilter = { name: '', operator: '', value: '' }\n // let userFilter = params.filters.find(data => data.name === 'user')\n let order = params.filters.find(data => data.name === 'order')\n let orderDate = params.filters.find(data => data.name === 'orderDate')\n let product = params.filters.find(data => data.name === 'product')\n let bizplace = params.filters.find(data => data.name === 'bizplace')\n let palletId = params.filters.find(data => data.name === 'palletId')\n let cartonId = params.filters.find(data => data.name === 'cartonId')\n\n // if (userFilter) {\n // const user = await tx.getRepository(User).findOne({\n // where: { id: userFilter.value },\n // relations: ['bizplaces']\n // }) as User & { bizplaces: Bizplace[] }\n\n // const bizplace: Bizplace = user.bizplaces[0]\n\n if (!bizplace) throw 'Invalid input'\n\n // bizplaceFilter = { name: 'bizplace', operator: 'eq', value: bizplace.id }\n // } else {\n // bizplaceFilter = params.filters.find(data => data.name === 'bizplace')\n // }\n\n // if (!bizplaceFilter) throw 'Invalid input'\n let roFilter = '',\n ccFilter = '',\n queryFilter = ''\n if (order) {\n let orderValue = order.value\n .toLowerCase()\n .split(',')\n .map(prod => {\n return \"'%\" + prod.trim().replace(/'/g, \"''\") + \"%'\"\n })\n .join(',')\n roFilter += `AND (\n Lower(od.name) LIKE ANY(ARRAY[${orderValue}])\n OR Lower(od.ref_no) LIKE ANY(ARRAY[${orderValue}])\n OR Lower(od.ref_no_2) LIKE ANY(ARRAY[${orderValue}])\n OR Lower(od.ref_no_3) LIKE ANY(ARRAY[${orderValue}])\n )`\n ccFilter += `AND (\n Lower(od.name) LIKE ANY(ARRAY[${orderValue}])\n )`\n }\n if (orderDate) {\n queryFilter += ` AND od.created_at between '${orderDate.value}'::timestamp and '${orderDate.value}'::timestamp + INTERVAL '1 day'`\n }\n\n if (palletId) {\n queryFilter += ` AND lower(i.pallet_id) like '%${palletId.value.toLowerCase()}%'`\n }\n\n if (cartonId) {\n queryFilter += ` AND lower(i.carton_id) like '%${cartonId.value.toLowerCase()}%'`\n }\n\n if (bizplace) {\n queryFilter += ` AND od.bizplace_id = '${bizplace.value}'`\n }\n\n const bizplaceObj: Bizplace = await tx.getRepository(Bizplace).findOneBy({\n id: bizplace.value\n })\n await rawProductsQuery(tx, params, bizplaceObj)\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 // queryFilter = `AND (\n // Lower(p.name) LIKE ANY(ARRAY[${productValue}])\n // OR Lower(p.sku) LIKE ANY(ARRAY[${productValue}])\n // OR Lower(p.description) LIKE ANY(ARRAY[${productValue}])\n // OR Lower(p.brand_sku) LIKE ANY(ARRAY[${productValue}])\n // OR Lower(p.brand) LIKE ANY(ARRAY[${productValue}])\n // )`\n // }\n\n await tx.query(\n `\n create temp table data_src on commit drop as (\n select * from (\n select p.sku as product_sku, p.name as product_name, p.description as product_description, p.brand as product_brand, \n b.id as bizplace_id, b.name as bizplace_name, b.description as bizplace_description, i.packing_type,\n oi.release_qty as assigned_qty, oi.release_uom_value as uom_value, i.uom,\n od.name as order_no, od.type::varchar as \"type\", od.status, od.created_at as order_at, od.release_date,\n i.pallet_id, i.carton_id, i.batch_id, i.batch_id_ref, i.expiration_date, i.manufacture_date, l.name as location_name\n from (\n select inventory_id, release_good_id, sum(release_qty) as release_qty, sum(release_uom_value) as release_uom_value from order_inventories oi\n inner join release_goods od on od.id = oi.release_good_id \n where release_good_id is not null\n and od.status in ('PENDING', 'PENDING_RECEIVE', 'PENDING_CANCEL', 'PENDING_WORKSHEET', 'READY_TO_PICK', 'PICKING')\n and od.domain_id = $1\n and oi.status != 'REPLACED'\n group by inventory_id, release_good_id\n ) oi \n inner join release_goods od on od.id = oi.release_good_id \n inner join bizplaces b on b.id = od.bizplace_id\n inner join inventories i on i.id = oi.inventory_id \n inner join locations l on l.id = i.location_id \n inner join temp_products p on p.id = i.product_id\n where 1 = 1\n ${roFilter}\n ${queryFilter}\n union all\n select p.sku as product_sku, p.name as product_name, p.description as product_description, p.brand as product_brand, \n b.id as bizplace_id, b.name as bizplace_name, b.description as bizplace_description, i.packing_type,\n oi.release_qty as assigned_qty, oi.release_uom_value as uom_value, i.uom,\n od.name as order_no, 'cc' as \"type\", od.status, od.created_at as order_at, od.execution_date,\n i.pallet_id, i.carton_id, i.batch_id, i.batch_id_ref, i.expiration_date, i.manufacture_date, l.name as location_name\n from order_inventories oi \n inner join bizplaces b on b.id = oi.bizplace_id\n inner join inventory_checks od on od.id = oi.inventory_check_id\n inner join inventories i on i.id = oi.inventory_id \n inner join locations l on l.id = i.location_id \n inner join temp_products p on p.id = i.product_id\n where od.status <> 'DONE'\n and od.domain_id = $1\n ${ccFilter}\n ${queryFilter}\n ) src\n order by product_sku, packing_type, order_no \n );\n `,\n [context.state.domain.id]\n )\n\n const total: any = await tx.query(`\n select count(*) from data_src\n `)\n\n const result: any = await tx.query(\n `\n select * from data_src\n offset $1 limit $2\n `,\n [(params.pagination.page - 1) * params.pagination.limit, params.pagination.limit]\n )\n\n let items = result.map(itm => {\n let data = {\n bizplace: {\n id: itm.bizplace_id,\n name: itm.bizplace_name,\n description: itm.bizplace_description\n },\n product: {\n id: itm.product_id,\n sku: itm.product_sku,\n name: itm.product_name,\n description: itm.product_description,\n brand: itm.product_brand\n },\n location: {\n name: itm.location_name\n },\n packingType: itm.packing_type,\n assignedQty: itm.assigned_qty,\n assignedUomValue: itm.uom_value,\n assignedUom: itm.uom,\n orderNo: itm.order_no,\n type: itm.type,\n status: itm.status,\n orderAt: itm.order_at,\n releaseDate: itm.release_date,\n palletId: itm.pallet_id,\n cartonId: itm.carton_id,\n batchId: itm.batch_id,\n batchIdRef: itm.batch_id_ref,\n expirationDate: itm.expiration_date,\n manufactureDate: itm.manufacture_date\n }\n\n return data\n })\n\n return {\n items,\n total: total[0].count\n }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.shippingProviders = void 0;
|
|
4
|
-
const typeorm_1 = require("typeorm");
|
|
5
4
|
const sales_base_1 = require("@things-factory/sales-base");
|
|
5
|
+
const shell_1 = require("@things-factory/shell");
|
|
6
6
|
exports.shippingProviders = {
|
|
7
7
|
async shippingProviders(_, params, context) {
|
|
8
8
|
try {
|
|
9
9
|
const { domain } = context.state;
|
|
10
|
-
const items = await (0,
|
|
10
|
+
const items = await (0, shell_1.getRepository)(sales_base_1.ReleaseGood).query(`
|
|
11
11
|
SELECT DISTINCT transporter FROM release_goods WHERE domain_id = '${domain.id}' AND transporter IS NOT null AND transporter != '' AND type = 'b2c'
|
|
12
12
|
`);
|
|
13
13
|
return { items: items };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shipping-providers.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/shipping-provider/shipping-providers.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"shipping-providers.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/shipping-provider/shipping-providers.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AACxD,iDAAgE;AAEnD,QAAA,iBAAiB,GAAG;IAC/B,KAAK,CAAC,iBAAiB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAwB;QACzE,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAEhC,MAAM,KAAK,GAAU,MAAM,IAAA,qBAAa,EAAC,wBAAW,CAAC,CAAC,KAAK,CAAC;4EACU,MAAM,CAAC,EAAE;OAC9E,CAAC,CAAA;YAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;SACxB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA","sourcesContent":["import { ReleaseGood } from '@things-factory/sales-base'\nimport { getRepository, ListParam } from '@things-factory/shell'\n\nexport const shippingProviders = {\n async shippingProviders(_: any, params: ListParam, context: ResolverContext) {\n try {\n const { domain } = context.state\n\n const items: any[] = await getRepository(ReleaseGood).query(`\n SELECT DISTINCT transporter FROM release_goods WHERE domain_id = '${domain.id}' AND transporter IS NOT null AND transporter != '' AND type = 'b2c'\n `)\n\n return { items: items }\n } catch (error) {\n throw error\n }\n }\n}\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.warehouseInventoryAdjustment = void 0;
|
|
4
|
-
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
5
4
|
const typeorm_1 = require("typeorm");
|
|
6
5
|
const sales_base_1 = require("@things-factory/sales-base");
|
|
6
|
+
const warehouse_base_1 = require("@things-factory/warehouse-base");
|
|
7
7
|
const worksheet_base_1 = require("@things-factory/worksheet-base");
|
|
8
8
|
exports.warehouseInventoryAdjustment = {
|
|
9
9
|
async warehouseInventoryAdjustment(_, { patches }, context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warehouse-intentory-adjustment.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"warehouse-intentory-adjustment.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.ts"],"names":[],"mappings":";;;AAAA,qCAAuD;AAEvD,2DAA2D;AAC3D,mEAAyF;AACzF,mEAA2E;AAE9D,QAAA,4BAA4B,GAAG;IAC1C,KAAK,CAAC,4BAA4B,CAAC,CAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAwB;QAC9E,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAA,wCAAuB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAE5D,2BAA2B;YAC3B,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YAE5B,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAe,CAAC,CAAC,IAAI,CAAC;gBACrE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC/C,SAAS,EAAE;oBACT,WAAW;oBACX,oBAAoB;oBACpB,2BAA2B;oBAC3B,mBAAmB;oBACnB,oBAAoB;oBACpB,qBAAqB;oBACrB,UAAU;oBACV,iBAAiB;oBACjB,kBAAkB;oBAClB,yBAAyB;oBACzB,SAAS;oBACT,wBAAwB;oBACxB,2CAA2C;oBAC3C,UAAU;iBACX;gBACD,KAAK,EAAE;oBACL,SAAS,EAAE,KAAK;iBACjB;aACF,CAAC,CAAA;YAEF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,MAAM,KAAK,GAAU,iBAAiB;qBACnC,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,IAAI,SAAS,CAAC;qBACpD,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;gBAEpC,MAAM,cAAc,GAAqB,MAAM,EAAE,CAAC,aAAa,CAAC,2BAAc,CAAC,CAAC,IAAI,CAAC;oBACnF,KAAK,EAAE,EAAE,SAAS,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE;iBACnD,CAAC,CAAA;gBAEF,MAAO,EAAE,CAAC,aAAa,CAAC,2BAAc,CAAgC,CAAC,MAAM,CAC3E;oBACE,SAAS,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC;oBACpB,MAAM,EAAE,SAAS;iBAClB,EACD,EAAE,MAAM,EAAE,SAAS,EAAE,CACtB,CAAA;gBAED,MAAM,UAAU,GAAU,cAAc,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBAChE,MAAM,aAAa,GAAU,cAAc,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;gBAElF,MAAO,EAAE,CAAC,aAAa,CAAC,gCAAe,CAAiC,CAAC,MAAM,CAC7E;oBACE,eAAe,EAAE,IAAA,YAAE,EAAC,UAAU,CAAC;oBAC/B,MAAM,EAAE,WAAW;iBACpB,EACD,EAAE,MAAM,EAAE,SAAS,EAAE,CACtB,CAAA;gBAED,MAAO,EAAE,CAAC,aAAa,CAAC,0BAAS,CAA2B,CAAC,MAAM,CACjE;oBACE,WAAW,EAAE,IAAA,YAAE,EAAC,aAAa,CAAC;oBAC9B,MAAM,EAAE,WAAW;iBACpB,EACD,EAAE,MAAM,EAAE,aAAa,EAAE,CAC1B,CAAA;aACF;YACD,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA","sourcesContent":["import { EntityManager, In, Repository } from 'typeorm'\n\nimport { OrderInventory } from '@things-factory/sales-base'\nimport { approveInventoryChanges, InventoryChange } from '@things-factory/warehouse-base'\nimport { Worksheet, WorksheetDetail } from '@things-factory/worksheet-base'\n\nexport const warehouseInventoryAdjustment = {\n async warehouseInventoryAdjustment(_: any, { patches }, context: ResolverContext) {\n try {\n const item = await approveInventoryChanges(patches, context)\n\n // Retrieve order inventory\n const { tx } = context.state\n\n const _inventoryChanges = await tx.getRepository(InventoryChange).find({\n where: { id: In(patches.map(item => item.id)) },\n relations: [\n 'inventory',\n 'inventory.bizplace',\n 'inventory.bizplace.domain',\n 'inventory.product',\n 'inventory.location',\n 'inventory.warehouse',\n 'bizplace',\n 'bizplace.domain',\n 'bizplace.company',\n 'bizplace.company.domain',\n 'product',\n 'product.productDetails',\n 'product.productDetails.childProductDetail',\n 'location'\n ],\n order: {\n createdAt: 'ASC'\n }\n })\n\n if (_inventoryChanges.length > 0) {\n const invId: any[] = _inventoryChanges\n .filter((ic: any) => ic.transactionType == 'MISSING')\n .map((ic: any) => ic.inventory.id)\n\n const orderInventory: OrderInventory[] = await tx.getRepository(OrderInventory).find({\n where: { inventory: In(invId), status: 'PICKING' }\n })\n\n await (tx.getRepository(OrderInventory) as Repository<OrderInventory>).update(\n {\n inventory: In(invId),\n status: 'PICKING'\n },\n { status: 'MISSING' }\n )\n\n const orderInvId: any[] = orderInventory.map((oi: any) => oi.id)\n const releaseGoodId: any[] = orderInventory.map((roId: any) => roId.releaseGoodId)\n\n await (tx.getRepository(WorksheetDetail) as Repository<WorksheetDetail>).update(\n {\n targetInventory: In(orderInvId),\n status: 'EXECUTING'\n },\n { status: 'MISSING' }\n )\n\n await (tx.getRepository(Worksheet) as Repository<Worksheet>).update(\n {\n releaseGood: In(releaseGoodId),\n status: 'EXECUTING'\n },\n { status: 'DEACTIVATED' }\n )\n }\n return item\n } catch (error) {\n throw error\n }\n }\n}\n"]}
|
|
@@ -11,6 +11,7 @@ exports.Query = `
|
|
|
11
11
|
releaseGoodsByStatus(filters: [Filter]): [OrderStatusCounter] @transaction
|
|
12
12
|
outboundOrderByStatus(filters: [Filter]): [OrderStatusCounter] @transaction
|
|
13
13
|
inventoryExpiryMonitor(filters: [Filter]): InventoryExpiryStatus @transaction
|
|
14
|
+
unitInboundedOutbounded(filters: [Filter]): [OrderStatusCounter] @transaction
|
|
14
15
|
`;
|
|
15
16
|
exports.Types = [inventory_expiry_counter_1.InventoryExpiryCounter, inventory_expiry_status_1.InventoryExpiryStatus, order_status_counter_1.OrderStatusCounter];
|
|
16
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/dashboard/index.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AACnE,uEAAiE;AACjE,iEAA2D;AAE9C,QAAA,KAAK,GAAiB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/dashboard/index.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AACnE,uEAAiE;AACjE,iEAA2D;AAE9C,QAAA,KAAK,GAAiB;;;;;;;;CAQlC,CAAA;AACY,QAAA,KAAK,GAAG,CAAC,iDAAsB,EAAE,+CAAqB,EAAE,yCAAkB,CAAC,CAAA","sourcesContent":["import { InventoryExpiryCounter } from './inventory-expiry-counter'\nimport { InventoryExpiryStatus } from './inventory-expiry-status'\nimport { OrderStatusCounter } from './order-status-counter'\n\nexport const Query = /* GraphQL */ `\n arrivalNoticesByStatus(filters: [Filter]): [OrderStatusCounter] @transaction\n collectionOrdersByStatus(filters: [Filter]): [OrderStatusCounter] @transaction\n deliveryOrdersByStatus(filters: [Filter]): [OrderStatusCounter] @transaction\n releaseGoodsByStatus(filters: [Filter]): [OrderStatusCounter] @transaction\n outboundOrderByStatus(filters: [Filter]): [OrderStatusCounter] @transaction\n inventoryExpiryMonitor(filters: [Filter]): InventoryExpiryStatus @transaction\n unitInboundedOutbounded(filters: [Filter]): [OrderStatusCounter] @transaction\n`\nexport const Types = [InventoryExpiryCounter, InventoryExpiryStatus, OrderStatusCounter]\n"]}
|
|
@@ -6,7 +6,7 @@ const BoardSetting = tslib_1.__importStar(require("./board-setting"));
|
|
|
6
6
|
const CustomElccl = tslib_1.__importStar(require("./custom/elccl"));
|
|
7
7
|
const CustomKimeda = tslib_1.__importStar(require("./custom/kimeda"));
|
|
8
8
|
const Dashboard = tslib_1.__importStar(require("./dashboard"));
|
|
9
|
-
const
|
|
9
|
+
const Other = tslib_1.__importStar(require("./other"));
|
|
10
10
|
const OpaMenu = tslib_1.__importStar(require("./opa-menu"));
|
|
11
11
|
const Reports = tslib_1.__importStar(require("./reports"));
|
|
12
12
|
const InventoryComparison = tslib_1.__importStar(require("./inventory-comparison"));
|
|
@@ -21,8 +21,12 @@ exports.queries = [
|
|
|
21
21
|
Reports.Query,
|
|
22
22
|
InventoryComparison.Query,
|
|
23
23
|
ShippingProvider.Query,
|
|
24
|
+
Other.Query
|
|
25
|
+
];
|
|
26
|
+
exports.mutations = [
|
|
27
|
+
Other.Mutation,
|
|
28
|
+
WarehouseInventory.Mutation
|
|
24
29
|
];
|
|
25
|
-
exports.mutations = [Extra.Mutation, WarehouseInventory.Mutation];
|
|
26
30
|
exports.types = [
|
|
27
31
|
...BoardSetting.Types,
|
|
28
32
|
...CustomElccl.Types,
|
|
@@ -31,5 +35,6 @@ exports.types = [
|
|
|
31
35
|
...Reports.Types,
|
|
32
36
|
...InventoryComparison.Types,
|
|
33
37
|
...ShippingProvider.Types,
|
|
38
|
+
...Other.Types
|
|
34
39
|
];
|
|
35
40
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/graphql/types/index.ts"],"names":[],"mappings":";;;;AAAA,sEAA+C;AAC/C,oEAA6C;AAC7C,sEAA+C;AAC/C,+DAAwC;AACxC,uDAAgC;AAChC,4DAAqC;AACrC,2DAAoC;AACpC,oFAA6D;AAC7D,8EAAuD;AACvD,6FAAsE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/graphql/types/index.ts"],"names":[],"mappings":";;;;AAAA,sEAA+C;AAC/C,oEAA6C;AAC7C,sEAA+C;AAC/C,+DAAwC;AACxC,uDAAgC;AAChC,4DAAqC;AACrC,2DAAoC;AACpC,oFAA6D;AAC7D,8EAAuD;AACvD,6FAAsE;AAEzD,QAAA,OAAO,GAAG;IACrB,YAAY,CAAC,KAAK;IAClB,WAAW,CAAC,KAAK;IACjB,YAAY,CAAC,KAAK;IAClB,SAAS,CAAC,KAAK;IACf,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,KAAK;IACb,mBAAmB,CAAC,KAAK;IACzB,gBAAgB,CAAC,KAAK;IACtB,KAAK,CAAC,KAAK;CACZ,CAAA;AAEY,QAAA,SAAS,GAAG;IACvB,KAAK,CAAC,QAAQ;IACd,kBAAkB,CAAC,QAAQ;CAC5B,CAAA;AAEY,QAAA,KAAK,GAAG;IACnB,GAAG,YAAY,CAAC,KAAK;IACrB,GAAG,WAAW,CAAC,KAAK;IACpB,GAAG,SAAS,CAAC,KAAK;IAClB,GAAG,OAAO,CAAC,KAAK;IAChB,GAAG,OAAO,CAAC,KAAK;IAChB,GAAG,mBAAmB,CAAC,KAAK;IAC5B,GAAG,gBAAgB,CAAC,KAAK;IACzB,GAAG,KAAK,CAAC,KAAK;CACf,CAAA","sourcesContent":["import * as BoardSetting from './board-setting'\nimport * as CustomElccl from './custom/elccl'\nimport * as CustomKimeda from './custom/kimeda'\nimport * as Dashboard from './dashboard'\nimport * as Other from './other'\nimport * as OpaMenu from './opa-menu'\nimport * as Reports from './reports'\nimport * as InventoryComparison from './inventory-comparison'\nimport * as ShippingProvider from './shipping-provider'\nimport * as WarehouseInventory from './warehouse-inventory-adjustment'\n\nexport const queries = [\n BoardSetting.Query,\n CustomElccl.Query,\n CustomKimeda.Query,\n Dashboard.Query,\n OpaMenu.Query,\n Reports.Query,\n InventoryComparison.Query,\n ShippingProvider.Query,\n Other.Query\n]\n\nexport const mutations = [\n Other.Mutation,\n WarehouseInventory.Mutation\n]\n\nexport const types = [\n ...BoardSetting.Types,\n ...CustomElccl.Types,\n ...Dashboard.Types,\n ...OpaMenu.Types,\n ...Reports.Types,\n ...InventoryComparison.Types,\n ...ShippingProvider.Types,\n ...Other.Types\n]\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Types = exports.Mutation = exports.Query = void 0;
|
|
4
|
+
const page_setting_1 = require("./page-setting");
|
|
5
|
+
exports.Query = `
|
|
6
|
+
pageSettings(
|
|
7
|
+
codes: [Filter!]
|
|
8
|
+
partners: [Filter!]
|
|
9
|
+
): [PageSettingType] @transaction
|
|
10
|
+
`;
|
|
11
|
+
exports.Mutation = `
|
|
12
|
+
addReleaseGoodProducts (
|
|
13
|
+
name: String!
|
|
14
|
+
orderInventories: [NewOrderInventory]
|
|
15
|
+
existingOrderInventories: [NewOrderInventory]
|
|
16
|
+
): Boolean @privilege(category: "order_customer", privilege: "mutation") @transaction
|
|
17
|
+
`;
|
|
18
|
+
exports.Types = [page_setting_1.PageSettingType, page_setting_1.PageSetting, page_setting_1.PageSettingDetails, page_setting_1.PageSettingInput];
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/other/index.ts"],"names":[],"mappings":";;;AACA,iDAAmG;AAEtF,QAAA,KAAK,GAAG;;;;;CAKpB,CAAA;AAEY,QAAA,QAAQ,GAAiB;;;;;;CAMrC,CAAA;AAEY,QAAA,KAAK,GAAG,CAAC,8BAAe,EAAE,0BAAW,EAAE,iCAAkB,EAAE,+BAAgB,CAAC,CAAA","sourcesContent":["\nimport { PageSettingType, PageSetting, PageSettingDetails, PageSettingInput } from './page-setting'\n\nexport const Query = `\n pageSettings(\n codes: [Filter!]\n partners: [Filter!]\n ): [PageSettingType] @transaction\n`\n\nexport const Mutation = /* GraphQL */ `\n addReleaseGoodProducts (\n name: String!\n orderInventories: [NewOrderInventory]\n existingOrderInventories: [NewOrderInventory]\n ): Boolean @privilege(category: \"order_customer\", privilege: \"mutation\") @transaction\n`\n\nexport const Types = [PageSettingType, PageSetting, PageSettingDetails, PageSettingInput]\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PageSettingInput = exports.PageSettingDetails = exports.PageSetting = exports.PageSettingType = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
|
6
|
+
exports.PageSettingType = (0, graphql_tag_1.default) `
|
|
7
|
+
type PageSettingType {
|
|
8
|
+
type: String
|
|
9
|
+
details: [PageSetting]
|
|
10
|
+
}
|
|
11
|
+
`;
|
|
12
|
+
exports.PageSetting = (0, graphql_tag_1.default) `
|
|
13
|
+
type PageSetting {
|
|
14
|
+
id: String
|
|
15
|
+
name: String
|
|
16
|
+
description: String
|
|
17
|
+
settingDetails: [PageSettingDetails]
|
|
18
|
+
}
|
|
19
|
+
`;
|
|
20
|
+
exports.PageSettingDetails = (0, graphql_tag_1.default) `
|
|
21
|
+
type PageSettingDetails {
|
|
22
|
+
id: String
|
|
23
|
+
name: String
|
|
24
|
+
description: String
|
|
25
|
+
rank: Int
|
|
26
|
+
}
|
|
27
|
+
`;
|
|
28
|
+
exports.PageSettingInput = (0, graphql_tag_1.default) `
|
|
29
|
+
input PageSettingInput {
|
|
30
|
+
query: Boolean
|
|
31
|
+
filters: [Filter!]
|
|
32
|
+
}
|
|
33
|
+
`;
|
|
34
|
+
//# sourceMappingURL=page-setting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-setting.js","sourceRoot":"","sources":["../../../../server/graphql/types/other/page-setting.ts"],"names":[],"mappings":";;;;AAAA,sEAA6B;AAEhB,QAAA,eAAe,GAAG,IAAA,qBAAG,EAAA;;;;;CAKjC,CAAA;AAEY,QAAA,WAAW,GAAG,IAAA,qBAAG,EAAA;;;;;;;CAO7B,CAAA;AAEY,QAAA,kBAAkB,GAAG,IAAA,qBAAG,EAAA;;;;;;;CAOpC,CAAA;AAEY,QAAA,gBAAgB,GAAG,IAAA,qBAAG,EAAA;;;;;CAKlC,CAAA","sourcesContent":["import gql from 'graphql-tag'\n\nexport const PageSettingType = gql`\n type PageSettingType {\n type: String\n details: [PageSetting]\n }\n`\n\nexport const PageSetting = gql`\n type PageSetting {\n id: String\n name: String\n description: String\n settingDetails: [PageSettingDetails]\n }\n`\n\nexport const PageSettingDetails = gql`\n type PageSettingDetails {\n id: String\n name: String\n description: String\n rank: Int\n }\n`\n\nexport const PageSettingInput = gql`\n input PageSettingInput {\n query: Boolean\n filters: [Filter!]\n }\n`"]}
|
|
@@ -13,6 +13,8 @@ const product_label_report_1 = require("./product-label-report");
|
|
|
13
13
|
const product_label_report_list_1 = require("./product-label-report-list");
|
|
14
14
|
const costing_report_1 = require("./costing-report");
|
|
15
15
|
const costing_report_list_1 = require("./costing-report-list");
|
|
16
|
+
const release_inventory_report_1 = require("./release-inventory-report");
|
|
17
|
+
const release_inventory_report_list_1 = require("./release-inventory-report-list");
|
|
16
18
|
exports.Query = `
|
|
17
19
|
inboundSerialNumberReport(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): InboundSerialNumberReportList @transaction
|
|
18
20
|
outboundSerialNumberReport(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): OutboundSerialNumberReportList @transaction
|
|
@@ -20,6 +22,7 @@ exports.Query = `
|
|
|
20
22
|
outboundOrderDetailsReport(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): OutboundOrderDetailsReportList @transaction
|
|
21
23
|
productLabelReport(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): ProductLabelReportList @transaction
|
|
22
24
|
costingReport(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): CostingReportList @transaction
|
|
25
|
+
releaseInventoryReport(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): ReleaseInventoryReportList @transaction
|
|
23
26
|
`;
|
|
24
27
|
exports.Types = [
|
|
25
28
|
inbound_serial_number_report_1.InboundSerialNumberReport,
|
|
@@ -33,6 +36,8 @@ exports.Types = [
|
|
|
33
36
|
product_label_report_1.ProductLabelReport,
|
|
34
37
|
product_label_report_list_1.ProductLabelReportList,
|
|
35
38
|
costing_report_1.CostingReport,
|
|
36
|
-
costing_report_list_1.CostingReportList
|
|
39
|
+
costing_report_list_1.CostingReportList,
|
|
40
|
+
release_inventory_report_1.ReleaseInventoryReport,
|
|
41
|
+
release_inventory_report_list_1.ReleaseInventoryReportList
|
|
37
42
|
];
|
|
38
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/reports/index.ts"],"names":[],"mappings":";;;AAAA,iFAA0E;AAC1E,2FAAmF;AACnF,mFAA4E;AAC5E,6FAAqF;AAErF,iFAA0E;AAC1E,2FAAmF;AACnF,mFAA4E;AAC5E,6FAAqF;AACrF,iEAA2D;AAC3D,2EAAoE;AAEpE,qDAAgD;AAChD,+DAAyD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/reports/index.ts"],"names":[],"mappings":";;;AAAA,iFAA0E;AAC1E,2FAAmF;AACnF,mFAA4E;AAC5E,6FAAqF;AAErF,iFAA0E;AAC1E,2FAAmF;AACnF,mFAA4E;AAC5E,6FAAqF;AACrF,iEAA2D;AAC3D,2EAAoE;AAEpE,qDAAgD;AAChD,+DAAyD;AACzD,yEAAmE;AACnE,mFAA4E;AAE/D,QAAA,KAAK,GAAG;;;;;;;;CAQpB,CAAA;AAEY,QAAA,KAAK,GAAG;IACnB,wDAAyB;IACzB,iEAA6B;IAC7B,0DAA0B;IAC1B,mEAA8B;IAC9B,wDAAyB;IACzB,iEAA6B;IAC7B,0DAA0B;IAC1B,mEAA8B;IAC9B,yCAAkB;IAClB,kDAAsB;IACtB,8BAAa;IACb,uCAAiB;IACjB,iDAAsB;IACtB,0DAA0B;CAC3B,CAAA","sourcesContent":["import { InboundSerialNumberReport } from './inbound-serial-number-report'\nimport { InboundSerialNumberReportList } from './inbound-serial-number-report-list'\nimport { OutboundSerialNumberReport } from './outbound-serial-number-report'\nimport { OutboundSerialNumberReportList } from './outbound-serial-number-report-list'\n\nimport { InboundOrderDetailsReport } from './inbound-order-details-report'\nimport { InboundOrderDetailsReportList } from './inbound-order-details-report-list'\nimport { OutboundOrderDetailsReport } from './outbound-order-details-report'\nimport { OutboundOrderDetailsReportList } from './outbound-order-details-report-list'\nimport { ProductLabelReport } from './product-label-report'\nimport { ProductLabelReportList } from './product-label-report-list'\n\nimport { CostingReport } from './costing-report'\nimport { CostingReportList } from './costing-report-list'\nimport { ReleaseInventoryReport } from './release-inventory-report'\nimport { ReleaseInventoryReportList } from './release-inventory-report-list'\n\nexport const Query = `\n inboundSerialNumberReport(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): InboundSerialNumberReportList @transaction\n outboundSerialNumberReport(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): OutboundSerialNumberReportList @transaction\n inboundOrderDetailsReport(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): InboundOrderDetailsReportList @transaction\n outboundOrderDetailsReport(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): OutboundOrderDetailsReportList @transaction\n productLabelReport(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): ProductLabelReportList @transaction\n costingReport(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): CostingReportList @transaction\n releaseInventoryReport(filters: [Filter!], pagination: Pagination, sortings: [Sorting!]): ReleaseInventoryReportList @transaction\n`\n\nexport const Types = [\n InboundSerialNumberReport,\n InboundSerialNumberReportList,\n OutboundSerialNumberReport,\n OutboundSerialNumberReportList,\n InboundOrderDetailsReport,\n InboundOrderDetailsReportList,\n OutboundOrderDetailsReport,\n OutboundOrderDetailsReportList,\n ProductLabelReport,\n ProductLabelReportList,\n CostingReport,\n CostingReportList,\n ReleaseInventoryReport,\n ReleaseInventoryReportList\n]\n"]}
|
|
@@ -9,17 +9,31 @@ exports.OutboundOrderDetailsReport = (0, graphql_tag_1.default) `
|
|
|
9
9
|
doNo: String
|
|
10
10
|
doDeliveryDate: String
|
|
11
11
|
deliveryAddress: String
|
|
12
|
+
manifestNo: String
|
|
12
13
|
roNo: String
|
|
13
14
|
roType: String
|
|
14
15
|
status: String
|
|
15
16
|
refNo1: String
|
|
16
17
|
refNo2: String
|
|
17
18
|
refNo3: String
|
|
19
|
+
exportOption: Boolean
|
|
20
|
+
containerNo: String
|
|
21
|
+
containerSize: String
|
|
22
|
+
transportOption: String
|
|
23
|
+
vehicleNo: String
|
|
24
|
+
driverName: String
|
|
25
|
+
palletQty: Int
|
|
18
26
|
acceptedBy: String
|
|
19
27
|
acceptedAt: String
|
|
20
28
|
orderCreatedAt: String
|
|
21
29
|
pickingStart: String
|
|
22
30
|
pickingComplete: String
|
|
31
|
+
packingStart: String
|
|
32
|
+
packingComplete: String
|
|
33
|
+
sortingStart: String
|
|
34
|
+
sortingComplete: String
|
|
35
|
+
loadingStart: String
|
|
36
|
+
loadingComplete: String
|
|
23
37
|
orderLineItem: Int
|
|
24
38
|
product: Product
|
|
25
39
|
packType: String
|
|
@@ -51,7 +65,9 @@ exports.OutboundOrderDetailsReport = (0, graphql_tag_1.default) `
|
|
|
51
65
|
checkedRemarkAt: String
|
|
52
66
|
loadedAt: String
|
|
53
67
|
loadedBy: String
|
|
54
|
-
|
|
68
|
+
manifestedAt: String
|
|
69
|
+
manifestedBy: String
|
|
70
|
+
dispatchedAt: String
|
|
55
71
|
}
|
|
56
72
|
`;
|
|
57
73
|
//# sourceMappingURL=outbound-order-details-report.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbound-order-details-report.js","sourceRoot":"","sources":["../../../../server/graphql/types/reports/outbound-order-details-report.ts"],"names":[],"mappings":";;;;AAAA,sEAA6B;AAEhB,QAAA,0BAA0B,GAAG,IAAA,qBAAG,EAAA
|
|
1
|
+
{"version":3,"file":"outbound-order-details-report.js","sourceRoot":"","sources":["../../../../server/graphql/types/reports/outbound-order-details-report.ts"],"names":[],"mappings":";;;;AAAA,sEAA6B;AAEhB,QAAA,0BAA0B,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkE5C,CAAA","sourcesContent":["import gql from 'graphql-tag'\n\nexport const OutboundOrderDetailsReport = gql`\n type OutboundOrderDetailsReport {\n bizplace: Bizplace\n doNo: String\n doDeliveryDate: String\n deliveryAddress: String\n manifestNo: String\n roNo: String\n roType: String\n status: String\n refNo1: String\n refNo2: String\n refNo3: String\n exportOption: Boolean\n containerNo: String\n containerSize: String\n transportOption: String\n vehicleNo: String\n driverName: String\n palletQty: Int\n acceptedBy: String\n acceptedAt: String\n orderCreatedAt: String\n pickingStart: String\n pickingComplete: String\n packingStart: String\n packingComplete: String\n sortingStart: String\n sortingComplete: String\n loadingStart: String\n loadingComplete: String\n orderLineItem: Int\n product: Product\n packType: String\n packSize: Int\n qty: Int\n uomValue: Float\n returnToLocationQty: Int\n returnToLocationUomValue: Float\n uom: String\n unitCost: Float\n unitVolume: Float\n totalVolume: Float\n unitNettWeight: Float\n totalUnitNettWeight: Float\n unitGrossWeight: Float\n totalUnitGrossWeight: Float\n weightUnit: String\n palletId: String\n cartonId: String\n batchId: String\n batchIdRef: String\n expirationDate: String\n manufactureDate: String\n pickedAt: String\n pickedBy: String\n packedAt: String\n packedBy: String\n checkedRemarkBy: String\n checkedRemarkAt: String\n loadedAt: String\n loadedBy: String\n manifestedAt: String\n manifestedBy: String\n dispatchedAt: String\n }\n`\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReleaseInventoryReportList = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
|
6
|
+
exports.ReleaseInventoryReportList = (0, graphql_tag_1.default) `
|
|
7
|
+
type ReleaseInventoryReportList {
|
|
8
|
+
items: [ReleaseInventoryReport]
|
|
9
|
+
total: Int
|
|
10
|
+
}
|
|
11
|
+
`;
|
|
12
|
+
//# sourceMappingURL=release-inventory-report-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-inventory-report-list.js","sourceRoot":"","sources":["../../../../server/graphql/types/reports/release-inventory-report-list.ts"],"names":[],"mappings":";;;;AAAA,sEAA6B;AAEhB,QAAA,0BAA0B,GAAG,IAAA,qBAAG,EAAA;;;;;CAK5C,CAAA","sourcesContent":["import gql from 'graphql-tag'\n\nexport const ReleaseInventoryReportList = gql`\n type ReleaseInventoryReportList {\n items: [ReleaseInventoryReport]\n total: Int\n }\n`"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReleaseInventoryReport = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
|
6
|
+
exports.ReleaseInventoryReport = (0, graphql_tag_1.default) `
|
|
7
|
+
type ReleaseInventoryReport {
|
|
8
|
+
bizplace: Bizplace
|
|
9
|
+
product: Product
|
|
10
|
+
packingType: String
|
|
11
|
+
assignedQty: Float
|
|
12
|
+
assignedUomValue: Float
|
|
13
|
+
assignedUom: String
|
|
14
|
+
orderNo: String
|
|
15
|
+
type: String
|
|
16
|
+
orderAt: String
|
|
17
|
+
releaseDate: String
|
|
18
|
+
palletId: String
|
|
19
|
+
cartonId: String
|
|
20
|
+
batchId: String
|
|
21
|
+
batchIdRef: String
|
|
22
|
+
expirationDate: String
|
|
23
|
+
manufactureDate: String
|
|
24
|
+
location: Location
|
|
25
|
+
}
|
|
26
|
+
`;
|
|
27
|
+
//# sourceMappingURL=release-inventory-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-inventory-report.js","sourceRoot":"","sources":["../../../../server/graphql/types/reports/release-inventory-report.ts"],"names":[],"mappings":";;;;AAAA,sEAA6B;AAEhB,QAAA,sBAAsB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;CAoBxC,CAAA","sourcesContent":["import gql from 'graphql-tag'\n\nexport const ReleaseInventoryReport = gql`\n type ReleaseInventoryReport {\n bizplace: Bizplace\n product: Product\n packingType: String\n assignedQty: Float\n assignedUomValue: Float\n assignedUom: String\n orderNo: String\n type: String\n orderAt: String\n releaseDate: String\n palletId: String\n cartonId: String\n batchId: String\n batchIdRef: String\n expirationDate: String\n manufactureDate: String\n location: Location\n }\n`\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SeedSetting1568858861188 = void 0;
|
|
4
|
-
const typeorm_1 = require("typeorm");
|
|
5
4
|
const env_1 = require("@things-factory/env");
|
|
6
5
|
const setting_base_1 = require("@things-factory/setting-base");
|
|
7
6
|
const shell_1 = require("@things-factory/shell");
|
|
@@ -28,9 +27,9 @@ const SEED_SETTINGS = [
|
|
|
28
27
|
];
|
|
29
28
|
class SeedSetting1568858861188 {
|
|
30
29
|
async up(queryRunner) {
|
|
31
|
-
const repository = (0,
|
|
32
|
-
const domainRepository = (0,
|
|
33
|
-
const domain = await domainRepository.
|
|
30
|
+
const repository = (0, shell_1.getRepository)(setting_base_1.Setting);
|
|
31
|
+
const domainRepository = (0, shell_1.getRepository)(shell_1.Domain);
|
|
32
|
+
const domain = await domainRepository.findOneBy({ name: 'SYSTEM' });
|
|
34
33
|
try {
|
|
35
34
|
SEED_SETTINGS.forEach(async (setting) => {
|
|
36
35
|
await repository.save(Object.assign(Object.assign({}, setting), { domain }));
|
|
@@ -41,9 +40,9 @@ class SeedSetting1568858861188 {
|
|
|
41
40
|
}
|
|
42
41
|
}
|
|
43
42
|
async down(queryRunner) {
|
|
44
|
-
const repository = (0,
|
|
43
|
+
const repository = (0, shell_1.getRepository)(setting_base_1.Setting);
|
|
45
44
|
SEED_SETTINGS.reverse().forEach(async (setting) => {
|
|
46
|
-
let record = await repository.
|
|
45
|
+
let record = await repository.findOneBy({ name: setting.name });
|
|
47
46
|
await repository.remove(record);
|
|
48
47
|
});
|
|
49
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1568858861188-SeedSetting.js","sourceRoot":"","sources":["../../server/migrations/1568858861188-SeedSetting.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"1568858861188-SeedSetting.js","sourceRoot":"","sources":["../../server/migrations/1568858861188-SeedSetting.ts"],"names":[],"mappings":";;;AAEA,6CAA4C;AAC5C,+DAAsD;AACtD,iDAA6D;AAE7D,4EAIqC;AAErC,MAAM,aAAa,GAAG;IACpB;QACE,IAAI,EAAE,sDAA0B;QAChC,WAAW,EAAE,mBAAmB;QAChC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,OAAO;KAClB;IACD;QACE,IAAI,EAAE,oDAAwB;QAC9B,WAAW,EAAE,iBAAiB;QAC9B,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,OAAO;KAClB;IACD;QACE,IAAI,EAAE,6DAAiC;QACvC,WAAW,EAAE,0BAA0B;QACvC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,OAAO;KAClB;CACF,CAAA;AAED,MAAa,wBAAwB;IAC5B,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,sBAAO,CAAC,CAAA;QACzC,MAAM,gBAAgB,GAAG,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QAEnE,IAAI;YACF,aAAa,CAAC,OAAO,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;gBACpC,MAAM,UAAU,CAAC,IAAI,iCAAM,OAAO,KAAE,MAAM,IAAG,CAAA;YAC/C,CAAC,CAAC,CAAA;SACH;QAAC,OAAO,CAAC,EAAE;YACV,YAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;SAChB;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,sBAAO,CAAC,CAAA;QAEzC,aAAa,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YAC9C,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;YAC/D,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAvBD,4DAuBC","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\n\nimport { logger } from '@things-factory/env'\nimport { Setting } from '@things-factory/setting-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport {\n LOCATION_LABEL_SETTING_KEY,\n PALLET_LABEL_SETTING_KEY,\n REUSABLE_PALLET_LABEL_SETTING_KEY\n} from '../opa-app-setting-constants'\n\nconst SEED_SETTINGS = [\n {\n name: LOCATION_LABEL_SETTING_KEY,\n description: 'Location label ID',\n value: '',\n category: 'board'\n },\n {\n name: PALLET_LABEL_SETTING_KEY,\n description: 'Pallet label ID',\n value: '',\n category: 'board'\n },\n {\n name: REUSABLE_PALLET_LABEL_SETTING_KEY,\n description: 'Reusable pallet label ID',\n value: '',\n category: 'board'\n }\n]\n\nexport class SeedSetting1568858861188 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(Setting)\n const domainRepository = getRepository(Domain)\n const domain = await domainRepository.findOneBy({ name: 'SYSTEM' })\n\n try {\n SEED_SETTINGS.forEach(async setting => {\n await repository.save({ ...setting, domain })\n })\n } catch (e) {\n logger.error(e)\n }\n }\n\n public async down(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(Setting)\n\n SEED_SETTINGS.reverse().forEach(async setting => {\n let record = await repository.findOneBy({ name: setting.name })\n await repository.remove(record)\n })\n }\n}\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SeedLocationRecommendSetting1623308919899 = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
4
5
|
const setting_base_1 = require("@things-factory/setting-base");
|
|
5
6
|
const shell_1 = require("@things-factory/shell");
|
|
6
|
-
const typeorm_1 = require("typeorm");
|
|
7
7
|
class SeedLocationRecommendSetting1623308919899 {
|
|
8
8
|
async up(queryRunner) {
|
|
9
9
|
await (0, typeorm_1.getConnection)().transaction(async (trx) => {
|