@things-factory/operato-wms 4.3.769 → 4.3.771
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/components/list-view/product-list-view.js +28 -3
- package/client/pages/components/mobile-condition-of-goods-listing.js +342 -0
- package/client/pages/components/unloading-worksheet-information-popup.js +299 -0
- package/client/pages/constants/order.js +7 -0
- package/client/pages/inbound/condition-of-goods-popup.js +646 -0
- package/client/pages/inbound/putaway/putaway-product.js +35 -6
- package/client/pages/inbound/unload-product-landing-page.js +282 -0
- package/client/pages/inbound/unload-product.js +707 -175
- package/client/pages/inbound/unloaded-inventories-popup.js +3 -0
- package/client/pages/inventory/inventory-adjustment-approval.js +28 -1
- package/client/pages/inventory/inventory-adjustment.js +31 -1
- package/client/pages/inventory/inventory-by-product-detail.js +15 -0
- package/client/pages/inventory/inventory-history.js +18 -0
- package/client/pages/inventory/onhand-inventory.js +14 -0
- package/client/pages/order/release-order/b2b/b2b-order-list.js +99 -0
- package/client/pages/order/release-order/packing-label-history-popup.js +378 -0
- package/client/pages/order/release-order/preview-print-packing-list.js +533 -0
- package/client/pages/order/release-order/print-quantity-popup.js +118 -0
- package/client/pages/outbound/loading-v2/loading-execution-base.js +29 -0
- package/client/pages/outbound/loading-v2/loading-execution.js +579 -2
- package/client/pages/outbound/loading-v2/loading-package-info-popup.js +182 -0
- package/client/pages/outbound/loading-v2/loading.js +18 -0
- package/client/pages/report/inbound-order-details-report.js +26 -1
- package/client/route.js +17 -0
- package/config.development.js +104 -87
- package/dist-server/graphql/resolvers/other/add-release-good-products.js +44 -12
- package/dist-server/graphql/resolvers/other/add-release-good-products.js.map +1 -1
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js +9 -1
- package/dist-server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.js.map +1 -1
- package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js +11 -5
- package/dist-server/graphql/resolvers/outbound/loading-worksheet-v2.js.map +1 -1
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js +2 -1
- package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js.map +1 -1
- package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js +6 -4
- package/dist-server/graphql/resolvers/zone-worksheet/zone-picking.js.map +1 -1
- package/dist-server/graphql/types/reports/inbound-order-details-report.js +1 -0
- package/dist-server/graphql/types/reports/inbound-order-details-report.js.map +1 -1
- package/package.json +15 -15
- package/server/graphql/resolvers/other/add-release-good-products.ts +52 -13
- package/server/graphql/resolvers/outbound/find-loadable-release-good-by-bin.ts +9 -1
- package/server/graphql/resolvers/outbound/loading-worksheet-v2.ts +13 -1
- package/server/graphql/resolvers/reports/inbound-order-details-report.ts +2 -1
- package/server/graphql/resolvers/zone-worksheet/zone-picking.ts +6 -4
- package/server/graphql/types/reports/inbound-order-details-report.ts +1 -0
- package/things-factory.config.js +8 -0
- package/translations/en.json +45 -1
- package/translations/ko.json +40 -0
- package/translations/ms.json +40 -0
- package/translations/zh.json +40 -0
|
@@ -54,7 +54,7 @@ export const addReleaseGoodProducts = {
|
|
|
54
54
|
let existingOrderInv: OrderInventory
|
|
55
55
|
|
|
56
56
|
if (curOrderInv?.inventory?.id) {
|
|
57
|
-
|
|
57
|
+
let foundInv: Inventory = await tx.getRepository(Inventory).findOne(curOrderInv.inventory.id)
|
|
58
58
|
curOrderInv.inventory = foundInv
|
|
59
59
|
|
|
60
60
|
existingOrderInv = await tx.getRepository(OrderInventory).findOne({
|
|
@@ -134,13 +134,35 @@ export const addReleaseGoodProducts = {
|
|
|
134
134
|
await tx.getRepository(WorksheetDetail).save(existingWorksheetDetail)
|
|
135
135
|
await tx.getRepository(OrderInventory).save(curOrderInv)
|
|
136
136
|
} else {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
137
|
+
const qtyDelta = Number(curOrderInv.releaseQty) - Number(existingOrderInv.releaseQty)
|
|
138
|
+
const uomDelta = Number(curOrderInv.releaseUomValue) - Number(existingOrderInv.releaseUomValue)
|
|
139
|
+
|
|
140
|
+
const updateResult = await tx
|
|
141
|
+
.getRepository(Inventory)
|
|
142
|
+
.createQueryBuilder()
|
|
143
|
+
.update(Inventory)
|
|
144
|
+
.set({
|
|
145
|
+
lockedQty: () => `GREATEST(COALESCE("locked_qty", 0) + :qtyDelta::numeric, 0)`,
|
|
146
|
+
lockedUomValue: () => `GREATEST(COALESCE("locked_uom_value", 0) + :uomDelta::numeric, 0)`,
|
|
147
|
+
updater: user
|
|
148
|
+
})
|
|
149
|
+
.setParameter('qtyDelta', qtyDelta)
|
|
150
|
+
.setParameter('uomDelta', uomDelta)
|
|
151
|
+
.where(
|
|
152
|
+
qtyDelta > 0
|
|
153
|
+
? 'id = :id AND qty >= COALESCE(locked_qty, 0) + :newQty'
|
|
154
|
+
: 'id = :id',
|
|
155
|
+
{
|
|
156
|
+
id: foundInv.id,
|
|
157
|
+
...(qtyDelta > 0 ? { newQty: qtyDelta } : {})
|
|
158
|
+
}
|
|
159
|
+
)
|
|
160
|
+
.execute()
|
|
142
161
|
|
|
143
|
-
|
|
162
|
+
if (updateResult.affected === 0) {
|
|
163
|
+
throw new Error(`Insufficient inventory for pallet ${foundInv.palletId}`)
|
|
164
|
+
}
|
|
165
|
+
foundInv = await tx.getRepository(Inventory).findOne(foundInv.id)
|
|
144
166
|
|
|
145
167
|
if (existingOrderInv) {
|
|
146
168
|
// if found existing OrderInventory and worksheetDetail then qty, uomValue, and status are updated
|
|
@@ -224,7 +246,7 @@ export const addReleaseGoodProducts = {
|
|
|
224
246
|
// check if it is release by inventory (has inventory value) or product
|
|
225
247
|
if (newOrderInv.inventory?.id) {
|
|
226
248
|
// if release by inventory, then quantity and uomValue values are updated
|
|
227
|
-
|
|
249
|
+
let foundInv: Inventory = await tx
|
|
228
250
|
.getRepository(Inventory)
|
|
229
251
|
.findOne({ where: { id: newOrderInv.inventory.id }, relations: ['productDetail'] })
|
|
230
252
|
newOrderInv.inventory = foundInv
|
|
@@ -246,9 +268,28 @@ export const addReleaseGoodProducts = {
|
|
|
246
268
|
}
|
|
247
269
|
})
|
|
248
270
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
271
|
+
const lockResult = await tx
|
|
272
|
+
.getRepository(Inventory)
|
|
273
|
+
.createQueryBuilder()
|
|
274
|
+
.update(Inventory)
|
|
275
|
+
.set({
|
|
276
|
+
lockedQty: () => `COALESCE("locked_qty", 0) + :releaseQty::numeric`,
|
|
277
|
+
lockedUomValue: () => `COALESCE("locked_uom_value", 0) + :releaseUomValue::numeric`,
|
|
278
|
+
updater: user
|
|
279
|
+
})
|
|
280
|
+
.setParameter('releaseQty', newOrderInv.releaseQty)
|
|
281
|
+
.setParameter('releaseUomValue', newOrderInv.releaseUomValue)
|
|
282
|
+
.where('id = :id AND qty >= COALESCE(locked_qty, 0) + :newQty', {
|
|
283
|
+
id: foundInv.id,
|
|
284
|
+
newQty: newOrderInv.releaseQty
|
|
285
|
+
})
|
|
286
|
+
.execute()
|
|
287
|
+
|
|
288
|
+
if (lockResult.affected === 0) {
|
|
289
|
+
throw new Error(`Insufficient inventory for pallet ${foundInv.palletId}`)
|
|
290
|
+
}
|
|
291
|
+
// Re-read foundInv for downstream use
|
|
292
|
+
foundInv = await tx.getRepository(Inventory).findOne(foundInv.id)
|
|
252
293
|
|
|
253
294
|
let newOrderProduct: OrderProduct = Object.assign(new OrderProduct(), newOrderInv)
|
|
254
295
|
newOrderProduct = {
|
|
@@ -263,8 +304,6 @@ export const addReleaseGoodProducts = {
|
|
|
263
304
|
if (!existingOrderProduct) newOrderProduct = await tx.getRepository(OrderProduct).save(newOrderProduct)
|
|
264
305
|
|
|
265
306
|
newOrderInv.orderProduct = existingOrderProduct ? existingOrderProduct : newOrderProduct
|
|
266
|
-
|
|
267
|
-
await tx.getRepository(Inventory).save(foundInv)
|
|
268
307
|
} else {
|
|
269
308
|
// check for existing released OrderInventory specifying product, batchId and packingType
|
|
270
309
|
existingOrderInv = await tx.getRepository(OrderInventory).findOne({
|
|
@@ -146,17 +146,25 @@ const transformToWorksheetFormat = (orderInventories: OrderInventory[], releaseG
|
|
|
146
146
|
batchId: oi.batchId,
|
|
147
147
|
packingType: oi.packingType,
|
|
148
148
|
refWorksheetId: oi.refWorksheetId,
|
|
149
|
+
packedQty: oi.packedQty,
|
|
150
|
+
releaseQty: oi.releaseQty,
|
|
149
151
|
product: oi.inventory?.product
|
|
150
152
|
? {
|
|
151
153
|
id: oi.inventory.product.id,
|
|
152
154
|
sku: oi.inventory.product.sku,
|
|
153
|
-
name: oi.inventory.product.name
|
|
155
|
+
name: oi.inventory.product.name,
|
|
156
|
+
isInventoryDecimal: oi.inventory.product.isInventoryDecimal
|
|
154
157
|
}
|
|
155
158
|
: null,
|
|
156
159
|
productDetail: oi.inventory?.productDetail
|
|
157
160
|
? {
|
|
158
161
|
id: oi.inventory.productDetail.id
|
|
159
162
|
}
|
|
163
|
+
: null,
|
|
164
|
+
orderProduct: oi.orderProductId
|
|
165
|
+
? {
|
|
166
|
+
id: oi.orderProductId
|
|
167
|
+
}
|
|
160
168
|
: null
|
|
161
169
|
}
|
|
162
170
|
}))
|
|
@@ -57,14 +57,20 @@ interface WorksheetDetailInfo {
|
|
|
57
57
|
id?: string
|
|
58
58
|
batchId?: string
|
|
59
59
|
packingType?: string
|
|
60
|
+
packedQty?: number
|
|
61
|
+
releaseQty?: number
|
|
60
62
|
product?: {
|
|
61
63
|
id?: string
|
|
62
64
|
sku?: string
|
|
63
65
|
name?: string
|
|
66
|
+
isInventoryDecimal?: boolean
|
|
64
67
|
}
|
|
65
68
|
productDetail?: {
|
|
66
69
|
id?: string
|
|
67
70
|
}
|
|
71
|
+
orderProduct?: {
|
|
72
|
+
id?: string
|
|
73
|
+
}
|
|
68
74
|
}
|
|
69
75
|
}
|
|
70
76
|
|
|
@@ -243,13 +249,19 @@ async function mapdata(
|
|
|
243
249
|
batchId: wsd.targetInventory?.batchId || '-',
|
|
244
250
|
packingType: wsd.targetInventory?.packingType,
|
|
245
251
|
refWorksheetId: wsd.targetInventory?.refWorksheetId,
|
|
252
|
+
packedQty: wsd.targetInventory?.packedQty || 0,
|
|
253
|
+
releaseQty: wsd.targetInventory?.releaseQty,
|
|
246
254
|
product: {
|
|
247
255
|
id: wsd.targetInventory?.product?.id,
|
|
248
256
|
sku: wsd.targetInventory?.product?.sku,
|
|
249
|
-
name: wsd.targetInventory?.product?.name
|
|
257
|
+
name: wsd.targetInventory?.product?.name,
|
|
258
|
+
isInventoryDecimal: wsd.targetInventory?.product?.isInventoryDecimal
|
|
250
259
|
},
|
|
251
260
|
productDetail: {
|
|
252
261
|
id: wsd.targetInventory?.productDetail?.id
|
|
262
|
+
},
|
|
263
|
+
orderProduct: {
|
|
264
|
+
id: wsd.targetInventory?.orderProductId
|
|
253
265
|
}
|
|
254
266
|
}
|
|
255
267
|
}))
|
|
@@ -83,7 +83,7 @@ export const inboundOrderDetailsReport = {
|
|
|
83
83
|
p.id as "product_id", p.sku as "product_sku", p.name as "product_name", p.description as "product_description", p.type as "product_type",
|
|
84
84
|
oi.packing_size as "pack_size", oi.packing_type as "pack_type", oi.actual_pack_qty, oi.actual_pack_uom_value, oi.uom, oi.batch_id, oi.batch_id_ref,
|
|
85
85
|
oi.unloaded_at as "unloaded_at", oi.putaway_at as "putaway_at", oi.unloaded_by_id as "oi_unloaded_by_id", oi.putaway_by_id as "oi_putaway_by_id",
|
|
86
|
-
i.pallet_id, i.carton_id, i.expiration_date, i.manufacture_date, i.unit_cost,
|
|
86
|
+
i.pallet_id, i.carton_id, i.expiration_date, i.condition_of_goods, i.manufacture_date, i.unit_cost,
|
|
87
87
|
pd.volume as "unit_volume", pd.nett_weight as "unit_nett_weight", pd.gross_weight as "unit_gross_weight", pd.weight_unit as "weight_unit"
|
|
88
88
|
from (
|
|
89
89
|
select * from arrival_notices
|
|
@@ -208,6 +208,7 @@ export const inboundOrderDetailsReport = {
|
|
|
208
208
|
batchId: itm.batch_id,
|
|
209
209
|
batchIdRef: itm.batch_id_ref,
|
|
210
210
|
expirationDate: itm.expiration_date,
|
|
211
|
+
conditionOfGoods: itm.condition_of_goods,
|
|
211
212
|
manufactureDate: itm.manufacture_date,
|
|
212
213
|
unloadedAt: itm.unloaded_at,
|
|
213
214
|
unloadedBy: itm.unloaded_by,
|
|
@@ -257,10 +257,10 @@ export const zonePicking = {
|
|
|
257
257
|
|
|
258
258
|
//update inventory with proper decimal handling
|
|
259
259
|
let updateInvObj = {
|
|
260
|
-
qty: () => `"qty" -
|
|
261
|
-
lockedQty: () => `"locked_qty" -
|
|
262
|
-
uomValue: () => `"uom_value" -
|
|
263
|
-
lockedUomValue: () => `"locked_uom_value" -
|
|
260
|
+
qty: () => `"qty" - :deductQty::numeric`,
|
|
261
|
+
lockedQty: () => `GREATEST("locked_qty" - :deductQty::numeric, 0)`,
|
|
262
|
+
uomValue: () => `"uom_value" - :deductUomValue::numeric`,
|
|
263
|
+
lockedUomValue: () => `GREATEST("locked_uom_value" - :deductUomValue::numeric, 0)`,
|
|
264
264
|
updater: user,
|
|
265
265
|
updatedAt: new Date()
|
|
266
266
|
}
|
|
@@ -270,6 +270,8 @@ export const zonePicking = {
|
|
|
270
270
|
.createQueryBuilder()
|
|
271
271
|
.update(Inventory)
|
|
272
272
|
.set(updateInvObj)
|
|
273
|
+
.setParameter('deductQty', targetInventory.releaseQty)
|
|
274
|
+
.setParameter('deductUomValue', targetInventory.releaseUomValue)
|
|
273
275
|
.where('id = :id', { id: targetInventory.inventory.id })
|
|
274
276
|
.returning(['qty'])
|
|
275
277
|
.execute()
|
package/things-factory.config.js
CHANGED
|
@@ -208,6 +208,10 @@ export default {
|
|
|
208
208
|
tagname: 'bulk-print-packing-list',
|
|
209
209
|
page: 'bulk_print_packing_list'
|
|
210
210
|
},
|
|
211
|
+
{
|
|
212
|
+
tagname: 'preview-print-packing-list',
|
|
213
|
+
page: 'preview_print_packing_list'
|
|
214
|
+
},
|
|
211
215
|
{
|
|
212
216
|
tagname: 'create-loading-manifest',
|
|
213
217
|
page: 'create_loading_manifest'
|
|
@@ -380,6 +384,10 @@ export default {
|
|
|
380
384
|
tagname: 'unload-product',
|
|
381
385
|
page: 'unloading'
|
|
382
386
|
},
|
|
387
|
+
{
|
|
388
|
+
tagname: 'unload-product-landing-page',
|
|
389
|
+
page: 'unloading_landing'
|
|
390
|
+
},
|
|
383
391
|
{
|
|
384
392
|
tagname: 'putaway-product',
|
|
385
393
|
page: 'putaway'
|
package/translations/en.json
CHANGED
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"button.get_tracking_no": "get tracking no",
|
|
60
60
|
"button.go_to_loading": "Go to LOADING",
|
|
61
61
|
"button.go_to_picked": "Go to PICKED",
|
|
62
|
+
"button.group_packing_label": "Group Packing Label",
|
|
62
63
|
"button.ignore": "ignore",
|
|
63
64
|
"button.import": "import",
|
|
64
65
|
"button.init_logistics": "init logistics",
|
|
@@ -130,6 +131,7 @@
|
|
|
130
131
|
"button.view_merged_list": "view merged list",
|
|
131
132
|
"button.warehouse_return": "warehouse return",
|
|
132
133
|
"button.wooden_pallet": "wooden pallet",
|
|
134
|
+
"button.condition": "condition",
|
|
133
135
|
"claim_chit_list": "claim chit list",
|
|
134
136
|
"claim_created": "new claim created",
|
|
135
137
|
"claim_updated": "claim updated",
|
|
@@ -484,6 +486,7 @@
|
|
|
484
486
|
"field.number_of_shelf": "number of shelf",
|
|
485
487
|
"field.obsolete_qty": "obsolete qty",
|
|
486
488
|
"field.obsolete": "obsolete",
|
|
489
|
+
"field.inventory_quality": "inventory quality",
|
|
487
490
|
"field.onhand_inventory_quantity": "onhand inventory quantity",
|
|
488
491
|
"field.opening_balance": "opening balance",
|
|
489
492
|
"field.opening_qty": "opening qty",
|
|
@@ -526,6 +529,7 @@
|
|
|
526
529
|
"field.packed_at": "packed at",
|
|
527
530
|
"field.packed_by": "packed by",
|
|
528
531
|
"field.packing_end": "packing end",
|
|
532
|
+
"field.packing_label_no": "Packing Label No.",
|
|
529
533
|
"field.packing_rate": "packing rate",
|
|
530
534
|
"field.packing_size": "packing size",
|
|
531
535
|
"field.packing_start": "packing start",
|
|
@@ -560,6 +564,7 @@
|
|
|
560
564
|
"field.print_no": "print no.",
|
|
561
565
|
"field.print_qty": "print quantity",
|
|
562
566
|
"field.printed_at": "printed at",
|
|
567
|
+
"field.printed_by": "printed by",
|
|
563
568
|
"field.printed": "printed",
|
|
564
569
|
"field.priority_delivery": "priority delivery",
|
|
565
570
|
"field.priority": "priority",
|
|
@@ -822,6 +827,11 @@
|
|
|
822
827
|
"field.your_name": "your name",
|
|
823
828
|
"field.zone": "zone",
|
|
824
829
|
"filed.role": "role",
|
|
830
|
+
"field.type_of_condition": "type of condition",
|
|
831
|
+
"label.COLLECTION": "COLLECTION",
|
|
832
|
+
"label.DELIVERY": "DELIVERY",
|
|
833
|
+
"label.Location_format": "location format",
|
|
834
|
+
"label.VAS": "value added service",
|
|
825
835
|
"label.activated": "activated",
|
|
826
836
|
"label.actual_qty": "actual qty",
|
|
827
837
|
"label.add_extension": "add extension",
|
|
@@ -1101,6 +1111,7 @@
|
|
|
1101
1111
|
"label.packing_type": "packing type",
|
|
1102
1112
|
"label.packing_unit": "packing unit",
|
|
1103
1113
|
"label.packing": "packing",
|
|
1114
|
+
"label.packing_label": "Packing Label",
|
|
1104
1115
|
"label.paid_amount": "paid amount",
|
|
1105
1116
|
"label.pallet_id": "pallet id",
|
|
1106
1117
|
"label.pallet_qty": "pallet qty",
|
|
@@ -1131,6 +1142,7 @@
|
|
|
1131
1142
|
"label.previous_location": "previous location",
|
|
1132
1143
|
"label.print_by_sku": "print by sku",
|
|
1133
1144
|
"label.print_qty": "print qty",
|
|
1145
|
+
"label.print_quantity": "Print Quantity",
|
|
1134
1146
|
"label.printing_mode": "printing mode",
|
|
1135
1147
|
"label.process_type": "process type",
|
|
1136
1148
|
"label.product_barcode": "product barcode",
|
|
@@ -1250,9 +1262,11 @@
|
|
|
1250
1262
|
"label.total_location_with_opening_balance": "total location with opening balance",
|
|
1251
1263
|
"label.total_opening_balance": "total opening balance",
|
|
1252
1264
|
"label.total_pack_qty": "total pack qty",
|
|
1265
|
+
"label.total_packing_label": "Total Packing Label",
|
|
1253
1266
|
"label.total_pallet_qty": "total pallet qty",
|
|
1254
1267
|
"label.total_tracking_no": "total tracking no",
|
|
1255
1268
|
"label.total_uom_value": "total uom value",
|
|
1269
|
+
"label.total_sku": "Total SKU",
|
|
1256
1270
|
"label.total": "total",
|
|
1257
1271
|
"label.tracking_no": "tracking no.",
|
|
1258
1272
|
"label.transfer_inventory": "transfer inventory",
|
|
@@ -1306,6 +1320,11 @@
|
|
|
1306
1320
|
"label.worksheet_no": "worksheet no",
|
|
1307
1321
|
"label.zip_postal_code": "ZIP/Postal code",
|
|
1308
1322
|
"label.zone_name": "zone name",
|
|
1323
|
+
"label.condition": "Condition",
|
|
1324
|
+
"label.condition_of_goods_good": "Good",
|
|
1325
|
+
"label.condition_of_goods_defect": "Defect",
|
|
1326
|
+
"label.condition_of_goods_damaged": "Damaged",
|
|
1327
|
+
"label.condition_of_goods_quarantine": "Quarantine",
|
|
1309
1328
|
"release_order_created": "release order created",
|
|
1310
1329
|
"release_order_updated": "release order updated",
|
|
1311
1330
|
"release_orders_requests": "release orders requests",
|
|
@@ -1514,6 +1533,11 @@
|
|
|
1514
1533
|
"text.extra_products_approved": "extra product approved",
|
|
1515
1534
|
"text.extra_products_have_been_processed": "extra products have been processed",
|
|
1516
1535
|
"text.extra_products_were_added": "extra products were added",
|
|
1536
|
+
"text.failed_to_open_packing_label_history": "failed to open packing label history",
|
|
1537
|
+
"text.failed_to_open_print_packing_label": "failed to open print packing label",
|
|
1538
|
+
"text.failed_to_print": "failed to print",
|
|
1539
|
+
"text.failed_to_render_template": "failed to render template",
|
|
1540
|
+
"text.failed_to_create_group_loading_packages": "failed to create group loading packages",
|
|
1517
1541
|
"text.field": "field",
|
|
1518
1542
|
"text.fields": "fields",
|
|
1519
1543
|
"text.from_date_cannot_be_empty": "from date cannot be empty",
|
|
@@ -1534,6 +1558,9 @@
|
|
|
1534
1558
|
"text.goods_delivery_note_uploaded": "goods delivery note uploaded",
|
|
1535
1559
|
"text.goods_received_note_has_been_received": "GRN has been marked received",
|
|
1536
1560
|
"text.goods_received_note_has_been_sent_successfully": "GRN has been sent successfully",
|
|
1561
|
+
"text.group_quantity_cannot_be_negative": "group quantity cannot be negative",
|
|
1562
|
+
"text.group_quantity_cannot_be_zero": "group quantity cannot be zero",
|
|
1563
|
+
"text.group_quantity_exceeds_total": "group quantity cannot exceed total quantity",
|
|
1537
1564
|
"text.holder_field_is_empty": "holder field is empty",
|
|
1538
1565
|
"text.inbound": "inbound",
|
|
1539
1566
|
"text.incomplete_container_information": "incomplete container information",
|
|
@@ -1630,6 +1657,7 @@
|
|
|
1630
1657
|
"text.month_is_empty": "month is empty",
|
|
1631
1658
|
"text.new_batch_id_is_empty": "new batch no is empty",
|
|
1632
1659
|
"text.new_sku_empty": "new SKU column is empty",
|
|
1660
|
+
"text.new_packing_label_created": "new packing label created",
|
|
1633
1661
|
"text.no_available_worksheet_selected": "no available worksheet selected",
|
|
1634
1662
|
"text.no_changes_to_be_submitted": "no changes to be submitted",
|
|
1635
1663
|
"text.no_company_selected": "no company selected",
|
|
@@ -1646,6 +1674,9 @@
|
|
|
1646
1674
|
"text.no_products": "no products",
|
|
1647
1675
|
"text.no_record_selected": "no record selected",
|
|
1648
1676
|
"text.no_serial_number_selected": "no serial number selected",
|
|
1677
|
+
"text.no_sku_selected": "no SKU selected",
|
|
1678
|
+
"text.no_valid_orders_selected": "no valid orders selected",
|
|
1679
|
+
"text.no_valid_packages_selected": "no valid packages selected",
|
|
1649
1680
|
"text.not_a_reusable_pallet": "not a reusable pallet",
|
|
1650
1681
|
"text.not_found_in_putaway_list": "not found in putaway list",
|
|
1651
1682
|
"text.nothing_changed": "nothing changed",
|
|
@@ -1656,6 +1687,7 @@
|
|
|
1656
1687
|
"text.online": "online",
|
|
1657
1688
|
"text.only_one_file_is_allowed_for_both_AWB_upload": "Only one file is allowed for both AWB upload. Please ensure you select a single file",
|
|
1658
1689
|
"text.only_one_file_is_allowed_for_both_invoice_upload": "Only one file is allowed for both Invoice upload. Please ensure you select a single file.",
|
|
1690
|
+
"text.only_available_on_loading_tab": "only available on the LOADING tab",
|
|
1659
1691
|
"text.only_supports_search_of_single_field": "only supports search of single field",
|
|
1660
1692
|
"text.only_transfer_quantity_with_greater_than_zero": "only transfer quantity with greater than 0 will be created in the replenishment.",
|
|
1661
1693
|
"text.optional": "optional",
|
|
@@ -1709,10 +1741,12 @@
|
|
|
1709
1741
|
"text.please_select_a_truck": "select a truck",
|
|
1710
1742
|
"text.please_select_an_existing_manifest_or_create_a_new_one": "please select an existing manifest or create a new one",
|
|
1711
1743
|
"text.please_select_an_inventory": "please select an inventory",
|
|
1744
|
+
"text.please_select_at_least_one_record": "please select at least one record",
|
|
1712
1745
|
"text.please_select_at_least_one_order_with_status_deactivated_to_proceed": "please select at least one order with status deactivated to proceed",
|
|
1713
1746
|
"text.please_select_container_size": "please select container size",
|
|
1714
1747
|
"text.please_select_label_indicator": "please select label indicator",
|
|
1715
1748
|
"text.please_select_maximum_50_worksheets_with_status_deactivated_to_proceed": "please select maximum 50 worksheets with status deactivated to proceed",
|
|
1749
|
+
"text.please_select_one_or_more_order": "please select one or more orders",
|
|
1716
1750
|
"text.please_select_one_or_more_order_to_generate_worksheet": "please select one or more order to generate worksheet",
|
|
1717
1751
|
"text.please_select_order_with_status_deactivated_only": "please select order with status deactivated only",
|
|
1718
1752
|
"text.please_select_product_to_replenish": "please select product to replenish",
|
|
@@ -1771,6 +1805,7 @@
|
|
|
1771
1805
|
"text.related_release_order_will_be_rejected": "related release order will be rejected",
|
|
1772
1806
|
"text.release_date_is_empty": "release date is empty",
|
|
1773
1807
|
"text.release_date_is_required": "release date is required",
|
|
1808
|
+
"text.release_good_number_not_found": "release good number not found",
|
|
1774
1809
|
"text.release_order_confirmed": "release order confirmed",
|
|
1775
1810
|
"text.release_order_created": "release order created",
|
|
1776
1811
|
"text.release_order_details_updated": "release order details updated",
|
|
@@ -1833,6 +1868,7 @@
|
|
|
1833
1868
|
"text.selected_qty_is_more_than_expected": "selected qty is more than expected",
|
|
1834
1869
|
"text.selected_release_order(s)_is_not_in_pending_worksheet_status": "selected release order(s) is not in pending worksheet status",
|
|
1835
1870
|
"text.selected_replenishment(s)_is_not_in_pending_worksheet_status": "selected replenishment(s) is not in pending worksheet status",
|
|
1871
|
+
"text.selected_items_not_found": "selected items not found in data",
|
|
1836
1872
|
"text.send_goods_received_note": "send GRN",
|
|
1837
1873
|
"text.sequence_out_of_range": "sequence out of range: {ranges}",
|
|
1838
1874
|
"text.serial_number_has_been_scanned": "serial number has been scanned",
|
|
@@ -1848,6 +1884,7 @@
|
|
|
1848
1884
|
"text.sku_has_vas_releaseQty_less_than_qty_for_vas_changing_will_require_user_to_reenter_vas_information": "SKU has vas. release Qty is lesser than Qty for vas changing will require user to reenter vas information",
|
|
1849
1885
|
"text.sku_is_required_kindly_fill_in_the_sku_to_continue": "SKU is required. Kindly fill in the sku to continue",
|
|
1850
1886
|
"text.sku_is_required": "sku is required",
|
|
1887
|
+
"text.sku_list_view_not_found": "SKU list view not found",
|
|
1851
1888
|
"text.sorting_is_completed": "sorting is completed",
|
|
1852
1889
|
"text.state_is_empty_please_fill_in_the_data_before_proceed_create_order": "state is empty. please fill in the data before proceed create order.",
|
|
1853
1890
|
"text.status_field_is_empty": "status field is empty",
|
|
@@ -1930,6 +1967,7 @@
|
|
|
1930
1967
|
"text.unable_to_save_print_history_x": "unable to save print history ({state.counter} label(s) printed). Kindly contact our support",
|
|
1931
1968
|
"text.undo_inspection": "undo inspection",
|
|
1932
1969
|
"text.undo_inventory": "undo inventory",
|
|
1970
|
+
"text.undo_loading_package_success": "undo loading package successfully",
|
|
1933
1971
|
"text.undo_picking_worksheet": "undo inventory selection",
|
|
1934
1972
|
"text.undo_preunload": "undo preunload",
|
|
1935
1973
|
"text.undo_putaway": "undo putaway",
|
|
@@ -1974,6 +2012,7 @@
|
|
|
1974
2012
|
"text.wrong_lot_id": "wrong lot ID",
|
|
1975
2013
|
"text.wrong_release_qty": "wrong release qty",
|
|
1976
2014
|
"text.wrong_sorting_qty": "wrong sorting qty",
|
|
2015
|
+
"text.error_occurred": "unexpected error occurred",
|
|
1977
2016
|
"text.x_error": "{state.x} error",
|
|
1978
2017
|
"text.x_exceed_limit": "{state.x} exceed limit",
|
|
1979
2018
|
"text.x_is_empty": "{state.x} is empty",
|
|
@@ -1988,6 +2027,7 @@
|
|
|
1988
2027
|
"text.your_work_has_completed": "your work has completed",
|
|
1989
2028
|
"text.zip/postal_code_is_empty_please_fill_in_the_data_before_proceed_create_order": "ZIP/Postal code is empty. please fill in the data before proceed create order.",
|
|
1990
2029
|
"text.zone_picking": "zone picking",
|
|
2030
|
+
"text.no_products_found": "No Products Found",
|
|
1991
2031
|
"title.add_inventory": "add inventory",
|
|
1992
2032
|
"title.add_product": "add product",
|
|
1993
2033
|
"title.add_rule_field": "add rule field",
|
|
@@ -2189,6 +2229,9 @@
|
|
|
2189
2229
|
"title.outbound_worksheet": "outbound worksheet",
|
|
2190
2230
|
"title.packing_list": "packing list",
|
|
2191
2231
|
"title.packing_worksheet_list": "packing worksheet list",
|
|
2232
|
+
"title.packing_label": "packing label",
|
|
2233
|
+
"title.packing_label_history": "packing label history",
|
|
2234
|
+
"title.print_packing_label": "print packing label",
|
|
2192
2235
|
"title.packing": "packing",
|
|
2193
2236
|
"title.pallet_replacement": "pallet replacement",
|
|
2194
2237
|
"title.pallet": "pallet",
|
|
@@ -2374,5 +2417,6 @@
|
|
|
2374
2417
|
"title.worksheet_unloading": "worksheet unloading",
|
|
2375
2418
|
"title.worksheet_vas": "worksheet vas",
|
|
2376
2419
|
"title.worksheet": "worksheet",
|
|
2377
|
-
"title.zone_worksheet": "zone worksheet"
|
|
2420
|
+
"title.zone_worksheet": "zone worksheet",
|
|
2421
|
+
"title.condition_of_goods": "condition of goods"
|
|
2378
2422
|
}
|