@things-factory/worksheet-base 3.6.34 → 3.6.39
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.
|
@@ -69,7 +69,7 @@ async function renderJobSheet({ ganNo, timezoneOffSet }, context) {
|
|
|
69
69
|
const prodType = products.map(prod => prod.type);
|
|
70
70
|
return await (0, typeorm_1.getManager)().transaction(async (trxMgr) => {
|
|
71
71
|
await trxMgr.query(`
|
|
72
|
-
create temp table temp_invHistory as (
|
|
72
|
+
create temp table temp_invHistory on commit drop as (
|
|
73
73
|
select i2.id as inventory_id, i2.pallet_id, i2.product_id, i2.packing_type, i2.batch_id,
|
|
74
74
|
ih.id as inventory_history_id, ih.seq, ih.status, ih.transaction_type, ih.qty, ih.opening_qty, ih.uom_value, ih.opening_uom_value,
|
|
75
75
|
ih.created_at
|
|
@@ -81,44 +81,59 @@ async function renderJobSheet({ ganNo, timezoneOffSet }, context) {
|
|
|
81
81
|
inner join reduced_inventory_histories ih on ih.pallet_id = i2.pallet_id and ih.domain_id = i2.domain_id
|
|
82
82
|
)
|
|
83
83
|
`, [foundGAN.id]);
|
|
84
|
-
const invItems = await trxMgr.query(`
|
|
85
|
-
SELECT
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
84
|
+
const invItems = await trxMgr.query(`
|
|
85
|
+
SELECT rn,
|
|
86
|
+
inv_id,
|
|
87
|
+
case when rn = 1 then "packingType" else null end as "packingType",
|
|
88
|
+
case when rn = 1 then "createdAt" else null end as "createdAt",
|
|
89
|
+
case when rn = 1 then "productName" else null end as "productName",
|
|
90
|
+
case when rn = 1 then "unloadedQty" else null end as "unloadedQty",
|
|
91
|
+
case when rn = 1 then "outboundAt" else null end as "outboundAt",
|
|
92
|
+
"doName",
|
|
93
|
+
case when rn = 1 then "palletId" else null end as "palletId",
|
|
94
|
+
qty,
|
|
95
|
+
case when rn = 1 then "ownTransport" else null end as "ownTransport",
|
|
96
|
+
case when rn = 1 then "vasName" else null end as "vasName"
|
|
97
|
+
from
|
|
98
|
+
(
|
|
99
|
+
SELECT
|
|
100
|
+
row_number() over(partition by pallet_id order by inv.pallet_id, product.name asc) as rn,
|
|
101
|
+
inv.id AS "inv_id", inv.packing_type AS "packingType", inv.created_at AS "createdAt", product.name AS "productName",
|
|
102
|
+
(
|
|
103
|
+
select distinct on(pallet_id) COALESCE(qty, 0) AS unloadedQty from temp_invHistory invh
|
|
104
|
+
where invh.status = 'UNLOADED' and invh.inventory_id = inv.id
|
|
105
|
+
order by pallet_id, seq asc
|
|
106
|
+
) AS "unloadedQty",
|
|
107
|
+
(
|
|
108
|
+
select distinct on(pallet_id) COALESCE(created_at, null) AS outboundAt from temp_invHistory invh
|
|
109
|
+
where invh.status = 'TERMINATED' and invh.inventory_id = inv.id
|
|
110
|
+
order by pallet_id, seq desc
|
|
111
|
+
) AS "outboundAt",
|
|
112
|
+
STRING_AGG (case when do2.name is not null then (CONCAT(do2.delivery_date, ' (', orderInv.release_qty, ') ', do2.name, ', ', case when do2.own_collection = true then 'TPT N' else 'TPT Y' end )) else null end, ', ') AS "doName",
|
|
113
|
+
case when plt.name is not null then (CONCAT(inv.pallet_id, ' (', plt.name, ')')) else inv.pallet_id end AS "palletId",
|
|
114
|
+
SUM(orderInv.release_qty) as "qty",
|
|
115
|
+
do2.own_collection AS "ownTransport",
|
|
116
|
+
STRING_AGG (vas.name, ', ') AS "vasName"
|
|
117
|
+
FROM inventories inv
|
|
118
|
+
LEFT JOIN order_inventories orderInv ON orderInv.inventory_id = inv.id AND orderInv.release_good_id is not null and orderInv.status <> 'CANCELLED' AND orderinv.picked_qty > 0
|
|
119
|
+
LEFT JOIN order_vass orderVass ON orderVass.inventory_id = inv.id
|
|
120
|
+
LEFT JOIN vass vas ON vas.id = orderVass.vas_id
|
|
121
|
+
LEFT JOIN pallets plt on plt.id = inv.reusable_pallet_id
|
|
122
|
+
LEFT JOIN delivery_orders do2 ON do2.id = orderInv.delivery_order_id
|
|
123
|
+
LEFT JOIN products product ON product.id=inv.product_id
|
|
124
|
+
inner join order_inventories oi on oi.inventory_id = inv.id
|
|
125
|
+
where oi.arrival_notice_id = $1
|
|
126
|
+
AND inv.domain_id = $2
|
|
127
|
+
GROUP BY inv.id, product.name, do2.own_collection, plt.name
|
|
128
|
+
ORDER BY inv.pallet_id, product.name asc
|
|
129
|
+
) foo
|
|
113
130
|
`, [foundGAN.id, domain.id]);
|
|
114
|
-
await trxMgr.query(`
|
|
115
|
-
drop table temp_invHistory
|
|
116
|
-
`);
|
|
117
131
|
const sumPackQty = targetProducts.map((op) => op.actualPackQty).reduce((a, b) => a + b, 0);
|
|
118
132
|
let sumPalletQty = 0;
|
|
119
133
|
if (foundJS === null || foundJS === void 0 ? void 0 : foundJS.sumPalletQty) {
|
|
120
134
|
sumPalletQty = foundJS.sumPalletQty;
|
|
121
135
|
}
|
|
136
|
+
let index = 0;
|
|
122
137
|
const data = {
|
|
123
138
|
logo_url: logo,
|
|
124
139
|
customer_biz: partnerBiz.company.name,
|
|
@@ -140,9 +155,10 @@ async function renderJobSheet({ ganNo, timezoneOffSet }, context) {
|
|
|
140
155
|
created_on: datetime_util_1.DateTimeConverter.date(foundJS.createdAt),
|
|
141
156
|
job_no: foundJS ? foundJS.name : null,
|
|
142
157
|
ref_no: foundGAN.name,
|
|
143
|
-
product_list: invItems.map(
|
|
158
|
+
product_list: invItems.map(item => {
|
|
159
|
+
index = item.rn == 1 ? index + 1 : index;
|
|
144
160
|
return {
|
|
145
|
-
idx:
|
|
161
|
+
idx: item.rn == 1 ? index : '',
|
|
146
162
|
pallet_id: item.palletId,
|
|
147
163
|
product_name: item.productName,
|
|
148
164
|
product_type: item.packingType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-job-sheet.js","sourceRoot":"","sources":["../../server/controllers/render-job-sheet.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"render-job-sheet.js","sourceRoot":"","sources":["../../server/controllers/render-job-sheet.ts"],"names":[],"mappings":";;;;;;AAAA,qEAAqE;AACrE,uDAAmD;AACnD,yDAAmD;AACnD,6CAA4C;AAE5C,2DAAkF;AAClF,iDAA8C;AAC9C,0DAAgC;AAChC,4DAA8B;AAC9B,qCAA+E;AAC/E,4CAA4D;AAC5D,0CAAuC;AACvC,0DAA0D;AAE1D,MAAM,cAAc,GAAG,YAAM,CAAC,GAAG,CAAC,cAAc,EAAE,6CAA6C,CAAC,CAAA;AAEzF,KAAK,UAAU,cAAc,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,OAAO;IACrE,MAAM,MAAM,GAAW,MAAM,IAAA,uBAAa,EAAC,cAAM,CAAC,CAAC,OAAO,CAAC;QACzD,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE;KACvC,CAAC,CAAA,CAAC,gBAAgB;IAEnB,WAAW;IACX,MAAM,QAAQ,GAAkB,MAAM,IAAA,uBAAa,EAAC,0BAAa,CAAC,CAAC,OAAO,CAAC;QACzE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;QAC9B,SAAS,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;KAC/D,CAAC,CAAA;IAEF,iBAAiB;IACjB,MAAM,OAAO,GAAa,MAAM,IAAA,uBAAa,EAAC,qBAAQ,CAAC,CAAC,OAAO,CAAC;QAC9D,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,CAAC,IAAI,EAAE;KAClF,CAAC,CAAA;IAEF,oBAAoB;IACpB,MAAM,UAAU,GAAa,QAAQ,CAAC,QAAQ,CAAA;IAE9C,MAAM,aAAa,GAAY,MAAM,IAAA,uBAAa,EAAC,mBAAO,CAAC,CAAC,OAAO,CAAC;QAClE,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,CAAC,MAAM,EAAE;QAC3C,SAAS,EAAE,CAAC,QAAQ,CAAC;KACtB,CAAC,CAAA;IAEF,MAAM,WAAW,GAAW,aAAa,CAAC,MAAM,CAAA;IAChD,MAAM,cAAc,GAAa,MAAM,IAAA,uBAAa,EAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC;QACrE,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;QAC9B,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB,CAAC,CAAA;IAEF,MAAM,aAAa,GAAe,MAAM,IAAA,uBAAa,EAAC,4BAAU,CAAC,CAAC,OAAO,CAAC;QACxE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,yBAAa,CAAC,YAAY,EAAE;KACxD,CAAC,CAAA;IAEF,MAAM,SAAS,GAAe,MAAM,IAAA,uBAAa,EAAC,4BAAU,CAAC,CAAC,OAAO,CAAC;QACpE,KAAK,EAAE;YACL,MAAM;YACN,QAAQ,EAAE,yBAAa,CAAC,IAAI;SAC7B;KACF,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,yBAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACpE,IAAI,IAAI,GAAG,IAAI,CAAA;IACf,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,EAAE;QACnB,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC,QAAQ,GAAG,UAAU,GAAG,CAAC,MAAM,yBAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;KACtG;IAED,sDAAsD;IACtD,MAAM,OAAO,GAAc,MAAM,IAAA,uBAAa,EAAC,oBAAS,CAAC,CAAC,OAAO,CAAC;QAChE,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,0BAAc,CAAC,SAAS,EAAE;QAC1E,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB,CAAC,CAAA;IAEF,gCAAgC;IAChC,MAAM,cAAc,GAAmB,MAAM,IAAA,uBAAa,EAAC,yBAAY,CAAC,CAAC,IAAI,CAAC;QAC5E,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAA,aAAG,EAAC,IAAA,gBAAM,GAAE,CAAC,EAAE;QAC1E,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAc,cAAc,CAAC,GAAG,CAAC,CAAC,EAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;IAChF,MAAM,QAAQ,GAAU,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvD,OAAO,MAAM,IAAA,oBAAU,GAAE,CAAC,WAAW,CAAC,KAAK,EAAE,MAAqB,EAAE,EAAE;QACpE,MAAM,MAAM,CAAC,KAAK,CAChB;;;;;;;;;;;;OAYC,EACD,CAAC,QAAQ,CAAC,EAAE,CAAC,CACd,CAAA;QAED,MAAM,QAAQ,GAAU,MAAM,MAAM,CAAC,KAAK,CACxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8CD,EACC,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CACzB,CAAA;QAED,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAExG,IAAI,YAAY,GAAG,CAAC,CAAA;QACpB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE;YACzB,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;SACpC;QACD,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,MAAM,IAAI,GAAG;YACX,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI;YACrC,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI;YAC3C,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG;YACvC,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO;YAC/C,YAAY,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe;YAClF,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;YACtD,GAAG,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,EAAC,CAAC,CAAC,iCAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;YACpF,GAAG,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,EAAC,CAAC,CAAC,iCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;YAChE,cAAc,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAC,CAAC,CAAC,iCAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;YACnF,OAAO,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EAAC,CAAC,CAAC,iCAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;YACxF,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,iCAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5G,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YAC1C,YAAY,EACV,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,SAAS,CAAC;gBACzE,IAAI;gBACJ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1E,UAAU,EAAE,iCAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACrD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACrC,MAAM,EAAE,QAAQ,CAAC,IAAI;YACrB,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAChC,KAAK,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;gBACxC,OAAO;oBACL,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC9B,SAAS,EAAE,IAAI,CAAC,QAAQ;oBACxB,YAAY,EAAE,IAAI,CAAC,WAAW;oBAC9B,YAAY,EAAE,IAAI,CAAC,WAAW;oBAC9B,SAAS,EAAE,iCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;oBACjD,UAAU,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAC,CAAC,CAAC,iCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC7E,OAAO,EAAE,IAAI,CAAC,MAAM;oBACpB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;iBACnD,CAAA;YACH,CAAC,CAAC;SACH,CAAA;QACD,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAA;QAE/B,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACrC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAEnD,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,cAAc,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;QAEF,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC,CAAC,CAAA;AACJ,CAAC;AA3LD,wCA2LC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/worksheet-base",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.39",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -24,20 +24,20 @@
|
|
|
24
24
|
"migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@things-factory/auth-base": "^3.6.
|
|
28
|
-
"@things-factory/biz-base": "^3.6.
|
|
29
|
-
"@things-factory/document-template-base": "^3.6.
|
|
30
|
-
"@things-factory/id-rule-base": "^3.6.
|
|
31
|
-
"@things-factory/integration-lmd": "^3.6.
|
|
32
|
-
"@things-factory/integration-marketplace": "^3.6.
|
|
33
|
-
"@things-factory/integration-sellercraft": "^3.6.
|
|
34
|
-
"@things-factory/marketplace-base": "^3.6.
|
|
35
|
-
"@things-factory/notification": "^3.6.
|
|
36
|
-
"@things-factory/sales-base": "^3.6.
|
|
37
|
-
"@things-factory/setting-base": "^3.6.
|
|
38
|
-
"@things-factory/shell": "^3.6.
|
|
39
|
-
"@things-factory/transport-base": "^3.6.
|
|
40
|
-
"@things-factory/warehouse-base": "^3.6.
|
|
27
|
+
"@things-factory/auth-base": "^3.6.38",
|
|
28
|
+
"@things-factory/biz-base": "^3.6.38",
|
|
29
|
+
"@things-factory/document-template-base": "^3.6.38",
|
|
30
|
+
"@things-factory/id-rule-base": "^3.6.39",
|
|
31
|
+
"@things-factory/integration-lmd": "^3.6.39",
|
|
32
|
+
"@things-factory/integration-marketplace": "^3.6.39",
|
|
33
|
+
"@things-factory/integration-sellercraft": "^3.6.39",
|
|
34
|
+
"@things-factory/marketplace-base": "^3.6.39",
|
|
35
|
+
"@things-factory/notification": "^3.6.38",
|
|
36
|
+
"@things-factory/sales-base": "^3.6.39",
|
|
37
|
+
"@things-factory/setting-base": "^3.6.38",
|
|
38
|
+
"@things-factory/shell": "^3.6.38",
|
|
39
|
+
"@things-factory/transport-base": "^3.6.38",
|
|
40
|
+
"@things-factory/warehouse-base": "^3.6.39"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "0c0d02d7247a05196bf21879cc899931de55d2ef"
|
|
43
43
|
}
|
|
@@ -79,7 +79,7 @@ export async function renderJobSheet({ ganNo, timezoneOffSet }, context) {
|
|
|
79
79
|
return await getManager().transaction(async (trxMgr: EntityManager) => {
|
|
80
80
|
await trxMgr.query(
|
|
81
81
|
`
|
|
82
|
-
create temp table temp_invHistory as (
|
|
82
|
+
create temp table temp_invHistory on commit drop as (
|
|
83
83
|
select i2.id as inventory_id, i2.pallet_id, i2.product_id, i2.packing_type, i2.batch_id,
|
|
84
84
|
ih.id as inventory_history_id, ih.seq, ih.status, ih.transaction_type, ih.qty, ih.opening_qty, ih.uom_value, ih.opening_uom_value,
|
|
85
85
|
ih.created_at
|
|
@@ -95,52 +95,63 @@ export async function renderJobSheet({ ganNo, timezoneOffSet }, context) {
|
|
|
95
95
|
)
|
|
96
96
|
|
|
97
97
|
const invItems: any[] = await trxMgr.query(
|
|
98
|
-
`
|
|
99
|
-
SELECT
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
98
|
+
`
|
|
99
|
+
SELECT rn,
|
|
100
|
+
inv_id,
|
|
101
|
+
case when rn = 1 then "packingType" else null end as "packingType",
|
|
102
|
+
case when rn = 1 then "createdAt" else null end as "createdAt",
|
|
103
|
+
case when rn = 1 then "productName" else null end as "productName",
|
|
104
|
+
case when rn = 1 then "unloadedQty" else null end as "unloadedQty",
|
|
105
|
+
case when rn = 1 then "outboundAt" else null end as "outboundAt",
|
|
106
|
+
"doName",
|
|
107
|
+
case when rn = 1 then "palletId" else null end as "palletId",
|
|
108
|
+
qty,
|
|
109
|
+
case when rn = 1 then "ownTransport" else null end as "ownTransport",
|
|
110
|
+
case when rn = 1 then "vasName" else null end as "vasName"
|
|
111
|
+
from
|
|
112
|
+
(
|
|
113
|
+
SELECT
|
|
114
|
+
row_number() over(partition by pallet_id order by inv.pallet_id, product.name asc) as rn,
|
|
115
|
+
inv.id AS "inv_id", inv.packing_type AS "packingType", inv.created_at AS "createdAt", product.name AS "productName",
|
|
116
|
+
(
|
|
117
|
+
select distinct on(pallet_id) COALESCE(qty, 0) AS unloadedQty from temp_invHistory invh
|
|
118
|
+
where invh.status = 'UNLOADED' and invh.inventory_id = inv.id
|
|
119
|
+
order by pallet_id, seq asc
|
|
120
|
+
) AS "unloadedQty",
|
|
121
|
+
(
|
|
122
|
+
select distinct on(pallet_id) COALESCE(created_at, null) AS outboundAt from temp_invHistory invh
|
|
123
|
+
where invh.status = 'TERMINATED' and invh.inventory_id = inv.id
|
|
124
|
+
order by pallet_id, seq desc
|
|
125
|
+
) AS "outboundAt",
|
|
126
|
+
STRING_AGG (case when do2.name is not null then (CONCAT(do2.delivery_date, ' (', orderInv.release_qty, ') ', do2.name, ', ', case when do2.own_collection = true then 'TPT N' else 'TPT Y' end )) else null end, ', ') AS "doName",
|
|
127
|
+
case when plt.name is not null then (CONCAT(inv.pallet_id, ' (', plt.name, ')')) else inv.pallet_id end AS "palletId",
|
|
128
|
+
SUM(orderInv.release_qty) as "qty",
|
|
129
|
+
do2.own_collection AS "ownTransport",
|
|
130
|
+
STRING_AGG (vas.name, ', ') AS "vasName"
|
|
131
|
+
FROM inventories inv
|
|
132
|
+
LEFT JOIN order_inventories orderInv ON orderInv.inventory_id = inv.id AND orderInv.release_good_id is not null and orderInv.status <> 'CANCELLED' AND orderinv.picked_qty > 0
|
|
133
|
+
LEFT JOIN order_vass orderVass ON orderVass.inventory_id = inv.id
|
|
134
|
+
LEFT JOIN vass vas ON vas.id = orderVass.vas_id
|
|
135
|
+
LEFT JOIN pallets plt on plt.id = inv.reusable_pallet_id
|
|
136
|
+
LEFT JOIN delivery_orders do2 ON do2.id = orderInv.delivery_order_id
|
|
137
|
+
LEFT JOIN products product ON product.id=inv.product_id
|
|
138
|
+
inner join order_inventories oi on oi.inventory_id = inv.id
|
|
139
|
+
where oi.arrival_notice_id = $1
|
|
140
|
+
AND inv.domain_id = $2
|
|
141
|
+
GROUP BY inv.id, product.name, do2.own_collection, plt.name
|
|
142
|
+
ORDER BY inv.pallet_id, product.name asc
|
|
143
|
+
) foo
|
|
127
144
|
`,
|
|
128
145
|
[foundGAN.id, domain.id]
|
|
129
146
|
)
|
|
130
147
|
|
|
131
|
-
await trxMgr.query(
|
|
132
|
-
`
|
|
133
|
-
drop table temp_invHistory
|
|
134
|
-
`
|
|
135
|
-
)
|
|
136
|
-
|
|
137
148
|
const sumPackQty = targetProducts.map((op: OrderProduct) => op.actualPackQty).reduce((a, b) => a + b, 0)
|
|
138
149
|
|
|
139
150
|
let sumPalletQty = 0
|
|
140
151
|
if (foundJS?.sumPalletQty) {
|
|
141
152
|
sumPalletQty = foundJS.sumPalletQty
|
|
142
153
|
}
|
|
143
|
-
|
|
154
|
+
let index = 0
|
|
144
155
|
const data = {
|
|
145
156
|
logo_url: logo,
|
|
146
157
|
customer_biz: partnerBiz.company.name,
|
|
@@ -163,9 +174,10 @@ export async function renderJobSheet({ ganNo, timezoneOffSet }, context) {
|
|
|
163
174
|
created_on: DateTimeConverter.date(foundJS.createdAt),
|
|
164
175
|
job_no: foundJS ? foundJS.name : null,
|
|
165
176
|
ref_no: foundGAN.name,
|
|
166
|
-
product_list: invItems.map(
|
|
177
|
+
product_list: invItems.map(item => {
|
|
178
|
+
index = item.rn == 1 ? index + 1 : index
|
|
167
179
|
return {
|
|
168
|
-
idx:
|
|
180
|
+
idx: item.rn == 1 ? index : '',
|
|
169
181
|
pallet_id: item.palletId,
|
|
170
182
|
product_name: item.productName,
|
|
171
183
|
product_type: item.packingType,
|