@things-factory/operato-wms 4.3.752 → 4.3.755
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/inbound/unload-product.js +30 -33
- package/client/pages/outbound/loading-product.js +2 -3
- package/client/pages/outbound/loading-v2/loading-execution-base.js +568 -56
- package/client/pages/outbound/loading-v2/loading-execution.js +258 -8
- package/client/pages/outbound/loading-v2/loading.js +82 -12
- package/client/pages/outbound/picking-product.js +11 -6
- package/client/pages/outbound/picking-v2/picking-execution-base.js +8 -8
- package/client/pages/outbound/picking-v2/picking-execution.js +75 -0
- package/client/pages/outbound/route-label-history-dialog.js +253 -0
- package/client/pages/outbound/route-label-popup.js +637 -131
- package/client/pages/outbound/show-ro-list-popup.js +8 -4
- package/client/pages/outbound/single-outbound-worksheet.js +55 -6
- package/client/pages/outbound/sorting-product.js +71 -25
- package/client/pages/outbound/zone-worksheet.js +62 -3
- package/dist-server/entities/index.js +9 -0
- package/dist-server/entities/index.js.map +1 -0
- package/dist-server/entities/route-label-sequence-counter.js +75 -0
- package/dist-server/entities/route-label-sequence-counter.js.map +1 -0
- package/dist-server/entities/route-label-sequence-log.js +74 -0
- package/dist-server/entities/route-label-sequence-log.js.map +1 -0
- package/dist-server/graphql/resolvers/index.js +3 -0
- package/dist-server/graphql/resolvers/index.js.map +1 -1
- package/dist-server/graphql/resolvers/outbound/complete-load.js +40 -3
- package/dist-server/graphql/resolvers/outbound/complete-load.js.map +1 -1
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js +50 -11
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js.map +1 -1
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js +90 -48
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good.js.map +1 -1
- package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js +15 -7
- package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js.map +1 -1
- package/dist-server/graphql/resolvers/outbound/sort-item.js +95 -16
- package/dist-server/graphql/resolvers/outbound/sort-item.js.map +1 -1
- package/dist-server/graphql/resolvers/route-label/index.js +7 -0
- package/dist-server/graphql/resolvers/route-label/index.js.map +1 -0
- package/dist-server/graphql/resolvers/route-label/route-label.js +220 -0
- package/dist-server/graphql/resolvers/route-label/route-label.js.map +1 -0
- package/dist-server/graphql/resolvers/zone-worksheet/index.js.map +1 -1
- package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js +123 -27
- package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/zone-worksheet/zone-worksheet.js.map +1 -1
- package/dist-server/graphql/types/index.js +4 -0
- package/dist-server/graphql/types/index.js.map +1 -1
- package/dist-server/graphql/types/outbound/index.js +7 -1
- package/dist-server/graphql/types/outbound/index.js.map +1 -1
- package/dist-server/graphql/types/route-label/index.js +14 -0
- package/dist-server/graphql/types/route-label/index.js.map +1 -0
- package/dist-server/graphql/types/route-label/route-label-sequence.js +53 -0
- package/dist-server/graphql/types/route-label/route-label-sequence.js.map +1 -0
- package/dist-server/index.js +5 -0
- package/dist-server/index.js.map +1 -1
- package/dist-server/validators/setting-validators.js +519 -0
- package/dist-server/validators/setting-validators.js.map +1 -0
- package/helps/operato-wms/outbound/picking-product.en.md +156 -158
- package/package.json +50 -50
- package/server/entities/index.ts +6 -0
- package/server/entities/route-label-sequence-counter.ts +56 -0
- package/server/entities/route-label-sequence-log.ts +47 -0
- package/server/graphql/resolvers/index.ts +3 -0
- package/server/graphql/resolvers/outbound/complete-load.ts +42 -1
- package/server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.ts +56 -13
- package/server/graphql/resolvers/outbound/find-loadable-release-good.ts +120 -57
- package/server/graphql/resolvers/outbound/loading-worksheet-v2.ts +9 -2
- package/server/graphql/resolvers/outbound/sort-item.ts +125 -21
- package/server/graphql/resolvers/route-label/index.ts +16 -0
- package/server/graphql/resolvers/route-label/route-label.ts +264 -0
- package/server/graphql/resolvers/zone-worksheet/index.ts +2 -2
- package/server/graphql/resolvers/zone-worksheet/zone-picking.ts +156 -39
- package/server/graphql/resolvers/zone-worksheet/zone-worksheet.ts +1 -2
- package/server/graphql/types/index.ts +4 -0
- package/server/graphql/types/outbound/index.ts +7 -1
- package/server/graphql/types/route-label/index.ts +18 -0
- package/server/graphql/types/route-label/route-label-sequence.ts +50 -0
- package/server/index.ts +7 -1
- package/server/validators/setting-validators.ts +668 -0
- package/translations/en.json +280 -252
- package/translations/ko.json +29 -1
- package/translations/ms.json +28 -0
- package/translations/zh.json +28 -0
|
@@ -744,22 +744,7 @@ class UnloadProduct extends connect(store)(localize(i18next)(PageView)) {
|
|
|
744
744
|
}
|
|
745
745
|
}
|
|
746
746
|
|
|
747
|
-
|
|
748
|
-
if (!date) return date
|
|
749
|
-
|
|
750
|
-
if (!isNaN(Number(date))) {
|
|
751
|
-
date = Number(date)
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
const DATE_OPTIONS = {
|
|
755
|
-
year: 'numeric',
|
|
756
|
-
month: 'numeric',
|
|
757
|
-
day: 'numeric'
|
|
758
|
-
}
|
|
759
|
-
const formatter = new Intl.DateTimeFormat(navigator.language, DATE_OPTIONS)
|
|
760
|
-
return formatter.format(new Date(date))
|
|
761
|
-
}
|
|
762
|
-
|
|
747
|
+
//===== FORMAT TIMESTAMP VALUE TO DATE STRING (YYYY-MM-DD) =====
|
|
763
748
|
_formatDateForInput(date) {
|
|
764
749
|
if (!date) return ''
|
|
765
750
|
|
|
@@ -781,6 +766,7 @@ class UnloadProduct extends connect(store)(localize(i18next)(PageView)) {
|
|
|
781
766
|
return `${year}-${month}-${day}`
|
|
782
767
|
}
|
|
783
768
|
|
|
769
|
+
//==== GET THE VALID MANUFACTURING DATE FROM THE MANUFACTURING DATE INPUT =====
|
|
784
770
|
_getValidManufactureDate() {
|
|
785
771
|
const value = this.manufactureDateInput?.value
|
|
786
772
|
if (!value || value.trim() === '') return null
|
|
@@ -795,19 +781,24 @@ class UnloadProduct extends connect(store)(localize(i18next)(PageView)) {
|
|
|
795
781
|
}
|
|
796
782
|
|
|
797
783
|
_getManufactureDateValue() {
|
|
784
|
+
//===== IF MANUFACTURING DATE CHECK SETTING IS SET =====
|
|
798
785
|
if (this._isRequiredCheckManufactureDate) {
|
|
799
786
|
return this._getValidManufactureDate()
|
|
800
787
|
}
|
|
801
788
|
|
|
789
|
+
//===== ELSE, GET THE MANUFACTURING DATE FROM THE SELECTED ORDER PRODUCT =====
|
|
790
|
+
let manufactureDate = null
|
|
791
|
+
|
|
802
792
|
if (this.refOrderType === AVAIL_ORDER_TYPES.ARRIVAL_NOTICE.value) {
|
|
803
|
-
|
|
793
|
+
manufactureDate = this._selectedOrderProduct?.manufactureDate || null
|
|
794
|
+
} else if (this.refOrderType === AVAIL_ORDER_TYPES.RETURN_ORDER.value) {
|
|
795
|
+
manufactureDate = this._selectedOrderProduct?.inventory?.manufactureDate || null
|
|
804
796
|
}
|
|
805
797
|
|
|
806
|
-
if (
|
|
807
|
-
return this._selectedOrderProduct?.inventory?.manufactureDate || null
|
|
808
|
-
}
|
|
798
|
+
if (!manufactureDate) return null
|
|
809
799
|
|
|
810
|
-
|
|
800
|
+
const formattedDate = this._formatDateForInput(manufactureDate)
|
|
801
|
+
return formattedDate || null
|
|
811
802
|
}
|
|
812
803
|
|
|
813
804
|
async _fetchProducts(orderNo, response) {
|
|
@@ -945,7 +936,12 @@ class UnloadProduct extends connect(store)(localize(i18next)(PageView)) {
|
|
|
945
936
|
itm => itm.id == this._selectedOrderProduct.id && itm.actualPackQty == itm.packQty
|
|
946
937
|
)
|
|
947
938
|
if (quantityTally?.length == 1) {
|
|
948
|
-
|
|
939
|
+
// Only clear selected product if serial number scanning is NOT required
|
|
940
|
+
// This ensures the Serial Number button remains visible when qty is matched
|
|
941
|
+
if (!this._isRequireSerialNumberScanningInbound) {
|
|
942
|
+
this._selectedOrderProduct = null
|
|
943
|
+
}
|
|
944
|
+
|
|
949
945
|
if (this._isRequireSerialNumberScanningInbound) {
|
|
950
946
|
this.serialNumberInput.value = ''
|
|
951
947
|
|
|
@@ -1122,17 +1118,18 @@ class UnloadProduct extends connect(store)(localize(i18next)(PageView)) {
|
|
|
1122
1118
|
inventory.packingSize == orderProduct.packingSize
|
|
1123
1119
|
)
|
|
1124
1120
|
|
|
1125
|
-
if (matchingInventories.length > 0) {
|
|
1126
|
-
const manufactureDates =
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1121
|
+
if (matchingInventories.length > 0) { // FOR ARRIVAL NOTICE AND RETURN ORDER WHERE ORDER PRODUCT IS UNLOADED
|
|
1122
|
+
const manufactureDates = [...new Set(
|
|
1123
|
+
matchingInventories
|
|
1124
|
+
.map(inv => this._formatDateForInput(inv.manufactureDate))
|
|
1125
|
+
.filter(date => date)
|
|
1126
|
+
)].sort()
|
|
1127
|
+
|
|
1128
|
+
orderProduct.displayManufactureDate = manufactureDates.length > 0 ? manufactureDates.join(', ') : (orderProduct.manufactureDate ? this._formatDateForInput(orderProduct.manufactureDate) : null)
|
|
1129
|
+
} else if (orderProduct.manufactureDate) { // FOR ARRIVAL NOTICE
|
|
1130
|
+
orderProduct.displayManufactureDate = this._formatDateForInput(orderProduct.manufactureDate)
|
|
1131
|
+
} else if (orderProduct?.inventory?.manufactureDate) { // FOR RETURN ORDER
|
|
1132
|
+
orderProduct.displayManufactureDate = this._formatDateForInput(orderProduct.inventory.manufactureDate)
|
|
1136
1133
|
}
|
|
1137
1134
|
|
|
1138
1135
|
return orderProduct
|
|
@@ -345,8 +345,7 @@ class LoadingProduct extends connect(store)(localize(i18next)(PageView)) {
|
|
|
345
345
|
this._requireDeliveryInformation = enableLoadingDeliveryInformation
|
|
346
346
|
this._enableLoadingSelectAll = enableLoadingSelectAll || false
|
|
347
347
|
|
|
348
|
-
|
|
349
|
-
// this._requireDeliveryInformation = await fetchSettingRule('enable-loading-delivery-information')
|
|
348
|
+
const toteScanningValue = parseInt(enableToteScanning || '0', 10)
|
|
350
349
|
|
|
351
350
|
let configColumns = [
|
|
352
351
|
{ type: 'gutter', gutterName: 'sequence' },
|
|
@@ -365,7 +364,7 @@ class LoadingProduct extends connect(store)(localize(i18next)(PageView)) {
|
|
|
365
364
|
'loadedQty'
|
|
366
365
|
]
|
|
367
366
|
|
|
368
|
-
if (
|
|
367
|
+
if (toteScanningValue >= 1) {
|
|
369
368
|
configColumns.push({
|
|
370
369
|
type: 'string',
|
|
371
370
|
name: 'toteName',
|