@things-factory/operato-wms 4.3.760 → 4.3.761
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/outbound/loading-v2/delivery-order-info.js +21 -7
- package/client/pages/outbound/loading-v2/loading-execution-base.js +42 -17
- package/client/pages/outbound/loading-v2/loading-execution.js +3 -1
- package/dist-server/graphql/resolvers/outbound/undo-load.js +2 -1
- package/dist-server/graphql/resolvers/outbound/undo-load.js.map +1 -1
- package/package.json +3 -3
- package/server/graphql/resolvers/outbound/undo-load.ts +2 -1
|
@@ -106,7 +106,7 @@ class DeliveryOrderInfo extends localize(i18next)(LitElement) {
|
|
|
106
106
|
{
|
|
107
107
|
type: 'row',
|
|
108
108
|
content: [
|
|
109
|
-
{ header: 'Exp Date', field: 'expirationDate', type: 'string' },
|
|
109
|
+
{ header: 'Exp Date', field: 'inventory.expirationDate', type: 'string' },
|
|
110
110
|
{ header: 'Batch No', field: 'batchId', type: 'string' }
|
|
111
111
|
]
|
|
112
112
|
},
|
|
@@ -166,6 +166,11 @@ class DeliveryOrderInfo extends localize(i18next)(LitElement) {
|
|
|
166
166
|
|
|
167
167
|
async undoLoad() {
|
|
168
168
|
try {
|
|
169
|
+
// Validate data exists before proceeding
|
|
170
|
+
if (!this.data?.id) {
|
|
171
|
+
throw new Error('Delivery order data is not available')
|
|
172
|
+
}
|
|
173
|
+
|
|
169
174
|
const result = await CustomAlert({
|
|
170
175
|
title: i18next.t('title.are_you_sure'),
|
|
171
176
|
text: i18next.t('text.proceed_undo_loading'),
|
|
@@ -175,23 +180,31 @@ class DeliveryOrderInfo extends localize(i18next)(LitElement) {
|
|
|
175
180
|
|
|
176
181
|
if (!result.value) return
|
|
177
182
|
|
|
183
|
+
const doId = this.data.id
|
|
184
|
+
|
|
178
185
|
const response = await client.mutate({
|
|
179
186
|
mutation: gql`
|
|
180
187
|
mutation undoLoad($doId: String!) {
|
|
181
188
|
undoLoad(doId: $doId)
|
|
182
189
|
}
|
|
183
190
|
`,
|
|
184
|
-
variables: { doId
|
|
191
|
+
variables: { doId }
|
|
185
192
|
})
|
|
186
193
|
|
|
187
194
|
if (!response.errors) {
|
|
188
|
-
|
|
189
|
-
|
|
195
|
+
// Dispatch event with bubbles and composed to ensure proper propagation through shadow DOM
|
|
196
|
+
this.dispatchEvent(new CustomEvent('undo', {
|
|
197
|
+
detail: { doId },
|
|
198
|
+
bubbles: true,
|
|
199
|
+
composed: true
|
|
200
|
+
}))
|
|
201
|
+
// Small delay to allow event handler to process before closing popup
|
|
202
|
+
setTimeout(() => history.back(), 100)
|
|
190
203
|
} else {
|
|
191
204
|
throw new Error(response.errors[0]?.message || 'Failed to undo loading')
|
|
192
205
|
}
|
|
193
206
|
} catch (e) {
|
|
194
|
-
showToast(e)
|
|
207
|
+
showToast({ type: 'error', message: e.message || 'Failed to undo loading' })
|
|
195
208
|
}
|
|
196
209
|
}
|
|
197
210
|
|
|
@@ -215,8 +228,9 @@ class DeliveryOrderInfo extends localize(i18next)(LitElement) {
|
|
|
215
228
|
const groupedMap = new Map()
|
|
216
229
|
|
|
217
230
|
this.data.orderInventories.forEach(oi => {
|
|
218
|
-
// Create a unique key based on product details
|
|
219
|
-
const
|
|
231
|
+
// Create a unique key based on product details (expirationDate is on inventory relation)
|
|
232
|
+
const expirationDate = oi.inventory?.expirationDate || ''
|
|
233
|
+
const key = `${oi.product?.sku || ''}_${oi.batchId || ''}_${expirationDate}_${oi.packingType || ''}_${oi.packingSize || ''}`
|
|
220
234
|
|
|
221
235
|
if (groupedMap.has(key)) {
|
|
222
236
|
const existing = groupedMap.get(key)
|
|
@@ -562,9 +562,13 @@ export class LoadingExecutionBase extends LitElement {
|
|
|
562
562
|
this.fetchData(orderNoForQc, 'qc', useQcSkuForFetch),
|
|
563
563
|
this.fetchData(orderNoForQc, 'loading', useQcSkuForFetch)
|
|
564
564
|
])
|
|
565
|
+
|
|
566
|
+
// QC tab: items that still need QC (sortedQty != pickedQty)
|
|
565
567
|
this.qcData = qcData.filter(data => data?.sortedQty != data?.pickedQty) || []
|
|
568
|
+
// Loading tab: items that have completed QC (sortedQty >= pickedQty) and are not yet loaded
|
|
566
569
|
this.loadingData =
|
|
567
|
-
loadingData.filter(data => data?.sortedQty
|
|
570
|
+
loadingData.filter(data => data?.sortedQty >= data?.pickedQty && data.status != WORKSHEET_STATUS.DONE.value) || []
|
|
571
|
+
|
|
568
572
|
// Check seal status when opening QC tab (needed for Tote button visibility)
|
|
569
573
|
await this._checkAndUpdateSealStatus()
|
|
570
574
|
// Update button visibility after fetching QC data (which updates _hasRefWorksheetId)
|
|
@@ -585,8 +589,9 @@ export class LoadingExecutionBase extends LitElement {
|
|
|
585
589
|
// Filter to only show items for the currently selected release order AND from this bin
|
|
586
590
|
// Note: FIND_LOADABLE_RELEASE_GOOD_BY_BIN returns OrderInventory status ('LOADED'),
|
|
587
591
|
// not WorksheetDetail status ('DONE'), so we filter by 'LOADED'
|
|
592
|
+
// Loading tab: items that have completed QC (sortedQty >= pickedQty) and are not yet loaded
|
|
588
593
|
this.loadingData = (binData || []).filter(
|
|
589
|
-
data => data?.status !== 'LOADED' && data?.releaseGood?.name === this._currentReleaseGood.releaseGood.name
|
|
594
|
+
data => data?.sortedQty >= data?.pickedQty && data?.status !== 'LOADED' && data?.releaseGood?.name === this._currentReleaseGood.releaseGood.name
|
|
590
595
|
)
|
|
591
596
|
}
|
|
592
597
|
|
|
@@ -617,9 +622,13 @@ export class LoadingExecutionBase extends LitElement {
|
|
|
617
622
|
}
|
|
618
623
|
}
|
|
619
624
|
} else {
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
625
|
+
const rawLoadingData = await this.fetchData(this.worksheet?.releaseGood?.name, 'loading', this._useQcSku)
|
|
626
|
+
|
|
627
|
+
// Loading tab: items that have completed QC (sortedQty >= pickedQty) and are not yet loaded
|
|
628
|
+
this.loadingData = (rawLoadingData || []).filter(
|
|
629
|
+
data => data?.sortedQty >= data?.pickedQty && data?.status !== WORKSHEET_STATUS.DONE.value
|
|
630
|
+
)
|
|
631
|
+
|
|
623
632
|
// Refresh tabCounts when switching to LOADING tab
|
|
624
633
|
if (this._currentReleaseGood?.releaseGood?.name || this.worksheet?.releaseGood?.name) {
|
|
625
634
|
const orderNo = this._currentReleaseGood?.releaseGood?.name || this.worksheet?.releaseGood?.name
|
|
@@ -774,13 +783,16 @@ export class LoadingExecutionBase extends LitElement {
|
|
|
774
783
|
|
|
775
784
|
// Filter to only show items for the selected release order from this bin
|
|
776
785
|
// Note: FIND_LOADABLE_RELEASE_GOOD_BY_BIN returns OrderInventory status ('LOADED')
|
|
786
|
+
// Loading tab: items that have completed QC (sortedQty >= pickedQty) and are not yet loaded
|
|
777
787
|
this.loadingData = (binData || []).filter(
|
|
778
|
-
data => data?.status !== 'LOADED' && data?.releaseGood?.name === selectedRO.name
|
|
788
|
+
data => data?.sortedQty >= data?.pickedQty && data?.status !== 'LOADED' && data?.releaseGood?.name === selectedRO.name
|
|
779
789
|
)
|
|
780
790
|
} else {
|
|
781
791
|
this.loadingData = await this.fetchData(selectedRO.name, 'loading', false)
|
|
782
|
-
//
|
|
783
|
-
this.loadingData = (this.loadingData || []).filter(
|
|
792
|
+
// Loading tab: items that have completed QC (sortedQty >= pickedQty) and are not yet loaded
|
|
793
|
+
this.loadingData = (this.loadingData || []).filter(
|
|
794
|
+
data => data?.sortedQty >= data?.pickedQty && data?.status !== WORKSHEET_STATUS.DONE.value
|
|
795
|
+
)
|
|
784
796
|
}
|
|
785
797
|
} else if (finalTabName === TAB_TYPES.LOADED) {
|
|
786
798
|
this.loadedData = await fetchDeliveryOrders(selectedRO.name)
|
|
@@ -801,19 +813,22 @@ export class LoadingExecutionBase extends LitElement {
|
|
|
801
813
|
data?.releaseGood?.name === selectedRO.name
|
|
802
814
|
)
|
|
803
815
|
// Also fetch loading data for banner
|
|
816
|
+
// Loading tab: items that have completed QC (sortedQty >= pickedQty) and are not yet loaded
|
|
804
817
|
let binLoadingData = await this.fetchData(this.worksheet.binLocationName, 'loading', true)
|
|
805
818
|
this.loadingData = (binLoadingData || []).filter(
|
|
806
819
|
data =>
|
|
807
|
-
data?.sortedQty
|
|
820
|
+
data?.sortedQty >= data?.pickedQty && data?.status !== 'LOADED' && data?.releaseGood?.name === selectedRO.name
|
|
808
821
|
)
|
|
809
822
|
} else {
|
|
810
823
|
const [qcData, loadingData] = await Promise.all([
|
|
811
824
|
this.fetchData(selectedRO.name, 'qc', this._useQcSku),
|
|
812
825
|
this.fetchData(selectedRO.name, 'loading', this._useQcSku)
|
|
813
826
|
])
|
|
827
|
+
// QC tab: items that still need QC (sortedQty < pickedQty)
|
|
814
828
|
this.qcData = qcData.filter(data => data?.sortedQty < data?.pickedQty) || []
|
|
829
|
+
// Loading tab: items that have completed QC (sortedQty >= pickedQty) and are not yet loaded
|
|
815
830
|
this.loadingData =
|
|
816
|
-
loadingData.filter(data => data?.sortedQty
|
|
831
|
+
loadingData.filter(data => data?.sortedQty >= data?.pickedQty && data.status != WORKSHEET_STATUS.DONE.value) || []
|
|
817
832
|
}
|
|
818
833
|
// fetchData updates _hasRefWorksheetId, so update buttons after data is fetched
|
|
819
834
|
}
|
|
@@ -873,9 +888,11 @@ export class LoadingExecutionBase extends LitElement {
|
|
|
873
888
|
)
|
|
874
889
|
}
|
|
875
890
|
|
|
891
|
+
// QC tab: items that still need QC (sortedQty < pickedQty)
|
|
876
892
|
this.qcData = this.worksheetDetails.filter(data => data?.sortedQty < data?.pickedQty) || []
|
|
893
|
+
// Loading tab: items that have completed QC (sortedQty >= pickedQty) and are not yet loaded
|
|
877
894
|
this.loadingData =
|
|
878
|
-
this.worksheetDetails.filter(data => data?.sortedQty
|
|
895
|
+
this.worksheetDetails.filter(data => data?.sortedQty >= data?.pickedQty && data.status != WORKSHEET_STATUS.DONE.value) || []
|
|
879
896
|
this.loadedData = this.deliveryOrdersInfo || []
|
|
880
897
|
|
|
881
898
|
this._executionData = {
|
|
@@ -990,14 +1007,17 @@ export class LoadingExecutionBase extends LitElement {
|
|
|
990
1007
|
let binData = await this.fetchData(this.worksheet.binLocationName, 'loading', true)
|
|
991
1008
|
// Filter to only show items for the selected release order from this bin
|
|
992
1009
|
// Note: FIND_LOADABLE_RELEASE_GOOD_BY_BIN returns OrderInventory status ('LOADED')
|
|
1010
|
+
// Loading tab: items that have completed QC (sortedQty >= pickedQty) and are not yet loaded
|
|
993
1011
|
this.loadingData = (binData || []).filter(
|
|
994
|
-
data => data?.status !== 'LOADED' && data?.releaseGood?.name === orderNo
|
|
1012
|
+
data => data?.sortedQty >= data?.pickedQty && data?.status !== 'LOADED' && data?.releaseGood?.name === orderNo
|
|
995
1013
|
)
|
|
996
1014
|
} else {
|
|
997
1015
|
// Standard mode: fetch by release order name
|
|
998
1016
|
this.loadingData = await this.fetchData(orderNo, 'loading', false)
|
|
999
|
-
//
|
|
1000
|
-
this.loadingData = (this.loadingData || []).filter(
|
|
1017
|
+
// Loading tab: items that have completed QC (sortedQty >= pickedQty) and are not yet loaded
|
|
1018
|
+
this.loadingData = (this.loadingData || []).filter(
|
|
1019
|
+
data => data?.sortedQty >= data?.pickedQty && data?.status !== WORKSHEET_STATUS.DONE.value
|
|
1020
|
+
)
|
|
1001
1021
|
}
|
|
1002
1022
|
}
|
|
1003
1023
|
|
|
@@ -1240,9 +1260,11 @@ export class LoadingExecutionBase extends LitElement {
|
|
|
1240
1260
|
this.fetchData(orderNoForRefresh, 'loading', useQcSkuForRefresh)
|
|
1241
1261
|
])
|
|
1242
1262
|
|
|
1263
|
+
// QC tab: items that still need QC (sortedQty < pickedQty)
|
|
1243
1264
|
this.qcData = qcData.filter(data => data?.sortedQty < data?.pickedQty) || []
|
|
1265
|
+
// Loading tab: items that have completed QC (sortedQty >= pickedQty) and are not yet loaded
|
|
1244
1266
|
this.loadingData =
|
|
1245
|
-
loadingData.filter(data => data?.sortedQty
|
|
1267
|
+
loadingData.filter(data => data?.sortedQty >= data?.pickedQty && data.status != WORKSHEET_STATUS.DONE.value) || []
|
|
1246
1268
|
|
|
1247
1269
|
// Update QC banner state after data changes
|
|
1248
1270
|
if (this._updateQcBannerState) {
|
|
@@ -1493,8 +1515,10 @@ export class LoadingExecutionBase extends LitElement {
|
|
|
1493
1515
|
@warehouse-return=${async e => {
|
|
1494
1516
|
showToast({ type: 'success', message: 'Returning worksheet generated' })
|
|
1495
1517
|
this.loadingData = await this.fetchData(this.worksheet?.releaseGood?.name, 'loading', this._useQcSku)
|
|
1496
|
-
//
|
|
1497
|
-
this.loadingData = (this.loadingData || []).filter(
|
|
1518
|
+
// Loading tab: items that have completed QC (sortedQty >= pickedQty) and are not yet loaded
|
|
1519
|
+
this.loadingData = (this.loadingData || []).filter(
|
|
1520
|
+
data => data?.sortedQty >= data?.pickedQty && data?.status !== WORKSHEET_STATUS.DONE.value
|
|
1521
|
+
)
|
|
1498
1522
|
}}
|
|
1499
1523
|
></warehouse-return-popup>
|
|
1500
1524
|
`,
|
|
@@ -1557,6 +1581,7 @@ export class LoadingExecutionBase extends LitElement {
|
|
|
1557
1581
|
}
|
|
1558
1582
|
|
|
1559
1583
|
const worksheetDetailInfos = response.data.loadingWorksheetv2.worksheetDetailInfos
|
|
1584
|
+
|
|
1560
1585
|
// Check if any order inventory has refWorksheetId
|
|
1561
1586
|
this._hasRefWorksheetId = worksheetDetailInfos.some(
|
|
1562
1587
|
item => item?.relatedOrderInv?.refWorksheetId != null && item?.relatedOrderInv?.refWorksheetId !== ''
|
|
@@ -424,9 +424,11 @@ export class LoadingExecution extends LoadingExecutionBase {
|
|
|
424
424
|
}
|
|
425
425
|
|
|
426
426
|
// Filter data for different tabs
|
|
427
|
+
// QC tab: items that still need QC (sortedQty < pickedQty)
|
|
427
428
|
this.qcData = processedDetails.filter(data => data?.sortedQty < data?.pickedQty && data.status !== 'LOADED') || []
|
|
429
|
+
// Loading tab: items that have completed QC (sortedQty >= pickedQty) and are not yet loaded
|
|
428
430
|
this.loadingData =
|
|
429
|
-
processedDetails.filter(data => data?.sortedQty
|
|
431
|
+
processedDetails.filter(data => data?.sortedQty >= data?.pickedQty && data.status != WORKSHEET_STATUS.DONE.value) || []
|
|
430
432
|
this.loadedData = this.deliveryOrdersInfo || []
|
|
431
433
|
|
|
432
434
|
// Update execution data
|
|
@@ -28,7 +28,8 @@ exports.undoLoad = {
|
|
|
28
28
|
targetInventory: { id: (0, typeorm_1.In)(doInventoryIds) },
|
|
29
29
|
type: worksheet_base_1.WORKSHEET_TYPE.LOADING,
|
|
30
30
|
status: worksheet_base_1.WORKSHEET_STATUS.DONE
|
|
31
|
-
}
|
|
31
|
+
},
|
|
32
|
+
relations: ['targetInventory']
|
|
32
33
|
});
|
|
33
34
|
// Create a map for O(1) lookup of worksheet details by targetInventory.id
|
|
34
35
|
const wsdByTargetId = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"undo-load.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/outbound/undo-load.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAC3C,2DAAkG;AAGlG,mEAAgH;AAChH,mEAAkG;AAErF,QAAA,QAAQ,GAAG;IACtB,KAAK,CAAC,QAAQ,CAAC,CAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAY;QAC3C,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,MAAM,aAAa,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,0BAAa,CAAC,CAAC,OAAO,CAAC;YACjF,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YAC3B,SAAS,EAAE,CAAC,kBAAkB,EAAE,4BAA4B,EAAE,aAAa,EAAE,8BAA8B,CAAC;SAC7G,CAAC,CAAA;QAEF,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;SAC5C;QAED,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAA;QAC7C,MAAM,aAAa,GAAG,aAAa,CAAC,gBAAgB,CAAA;QAEpD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YACzB,MAAM,EAAE,CAAC,aAAa,CAAC,0BAAa,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;YAC9D,OAAO,IAAI,CAAA;SACZ;QAED,sFAAsF;QACtF,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QACrD,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAe,CAAC,CAAC,IAAI,CAAC;YACpE,KAAK,EAAE;gBACL,eAAe,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,cAAc,CAAC,EAAE;gBAC3C,IAAI,EAAE,+BAAc,CAAC,OAAO;gBAC5B,MAAM,EAAE,iCAAgB,CAAC,IAAI;aAC9B;
|
|
1
|
+
{"version":3,"file":"undo-load.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/outbound/undo-load.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/operato-wms",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.761",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"@things-factory/transport-base": "^4.3.755",
|
|
109
109
|
"@things-factory/tutorial-ui": "^4.3.755",
|
|
110
110
|
"@things-factory/warehouse-base": "^4.3.755",
|
|
111
|
-
"@things-factory/worksheet-base": "^4.3.
|
|
111
|
+
"@things-factory/worksheet-base": "^4.3.761"
|
|
112
112
|
},
|
|
113
113
|
"devDependencies": {
|
|
114
114
|
"@things-factory/builder": "^4.3.755",
|
|
@@ -117,5 +117,5 @@
|
|
|
117
117
|
"cypress-localstorage-commands": "^1.6.1",
|
|
118
118
|
"eslint-plugin-cypress": "^2.12.1"
|
|
119
119
|
},
|
|
120
|
-
"gitHead": "
|
|
120
|
+
"gitHead": "ed2c237b4da43cdb1f9902ab9bfc6fbadb1cc53a"
|
|
121
121
|
}
|
|
@@ -33,7 +33,8 @@ export const undoLoad = {
|
|
|
33
33
|
targetInventory: { id: In(doInventoryIds) },
|
|
34
34
|
type: WORKSHEET_TYPE.LOADING,
|
|
35
35
|
status: WORKSHEET_STATUS.DONE
|
|
36
|
-
}
|
|
36
|
+
},
|
|
37
|
+
relations: ['targetInventory']
|
|
37
38
|
})
|
|
38
39
|
|
|
39
40
|
// Create a map for O(1) lookup of worksheet details by targetInventory.id
|