@things-factory/worksheet-base 3.7.15 → 3.8.3
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/dist-server/controllers/ecommerce/sellercraft-controller.js +1 -1
- package/dist-server/controllers/ecommerce/sellercraft-controller.js.map +1 -1
- package/dist-server/controllers/inbound/putaway-worksheet-controller.js +24 -5
- package/dist-server/controllers/inbound/putaway-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/inbound/unloading-worksheet-controller.js +22 -6
- package/dist-server/controllers/inbound/unloading-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/packing-worksheet-controller.js +4 -10
- package/dist-server/controllers/outbound/packing-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/outbound/picking-worksheet-controller.js +12 -14
- package/dist-server/controllers/outbound/picking-worksheet-controller.js.map +1 -1
- package/dist-server/controllers/render-elccl-grn.js +6 -6
- package/dist-server/controllers/render-elccl-grn.js.map +1 -1
- package/dist-server/controllers/worksheet-controller.js +6 -5
- package/dist-server/controllers/worksheet-controller.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js +3 -2
- package/dist-server/graphql/resolvers/worksheet/inventories-by-pallet.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js +0 -4
- package/dist-server/graphql/resolvers/worksheet/picking/activate-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js +9 -5
- package/dist-server/graphql/resolvers/worksheet/picking/complete-picking.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js +2 -2
- package/dist-server/graphql/resolvers/worksheet/recommend-putway-location.js.map +1 -1
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js +6 -1
- package/dist-server/graphql/resolvers/worksheet/unloaded-inventories.js.map +1 -1
- package/dist-server/utils/inventory-util.js +0 -2
- package/dist-server/utils/inventory-util.js.map +1 -1
- package/package.json +16 -16
- package/server/controllers/ecommerce/sellercraft-controller.ts +2 -2
- package/server/controllers/inbound/putaway-worksheet-controller.ts +29 -8
- package/server/controllers/inbound/unloading-worksheet-controller.ts +33 -16
- package/server/controllers/outbound/packing-worksheet-controller.ts +6 -13
- package/server/controllers/outbound/picking-worksheet-controller.ts +32 -38
- package/server/controllers/render-elccl-grn.ts +8 -6
- package/server/controllers/worksheet-controller.ts +7 -6
- package/server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts +3 -1
- package/server/graphql/resolvers/worksheet/inventories-by-pallet.ts +6 -5
- package/server/graphql/resolvers/worksheet/picking/activate-picking.ts +1 -6
- package/server/graphql/resolvers/worksheet/picking/complete-picking.ts +12 -12
- package/server/graphql/resolvers/worksheet/recommend-putway-location.ts +4 -2
- package/server/graphql/resolvers/worksheet/unloaded-inventories.ts +10 -1
- package/server/utils/inventory-util.ts +0 -2
|
@@ -387,7 +387,7 @@ export class WorksheetController {
|
|
|
387
387
|
type: string,
|
|
388
388
|
additionalProps: Partial<Worksheet> = {}
|
|
389
389
|
): Promise<Worksheet> {
|
|
390
|
-
let refOrderType: string = this.getRefOrderField(refOrder)
|
|
390
|
+
let refOrderType: string = await this.getRefOrderField(refOrder)
|
|
391
391
|
const bizplace: Bizplace = await this.extractBizplaceFromRefOrder(refOrder)
|
|
392
392
|
|
|
393
393
|
const worksheet: Partial<Worksheet> = {
|
|
@@ -562,7 +562,7 @@ export class WorksheetController {
|
|
|
562
562
|
worksheet: Worksheet,
|
|
563
563
|
orderTargets: OrderTargetTypes[],
|
|
564
564
|
refOrderStatus: string,
|
|
565
|
-
orderTargetStatus: string
|
|
565
|
+
orderTargetStatus: string
|
|
566
566
|
): Promise<Worksheet> {
|
|
567
567
|
let newOrderTarget = []
|
|
568
568
|
|
|
@@ -676,7 +676,7 @@ export class WorksheetController {
|
|
|
676
676
|
'worksheetDetails.targetVas'
|
|
677
677
|
])
|
|
678
678
|
|
|
679
|
-
|
|
679
|
+
let worksheetDetails: WorksheetDetail[] = worksheet.worksheetDetails
|
|
680
680
|
|
|
681
681
|
worksheetDetails
|
|
682
682
|
.filter((wsd: WorksheetDetail) => wsd.status !== ORDER_INVENTORY_STATUS.REPLACED)
|
|
@@ -687,7 +687,7 @@ export class WorksheetController {
|
|
|
687
687
|
await this.trxMgr.getRepository(WorksheetDetail).save(worksheetDetails)
|
|
688
688
|
|
|
689
689
|
if (worksheetType === WORKSHEET_TYPE.UNLOADING) {
|
|
690
|
-
|
|
690
|
+
let targetProducts: OrderProduct[] = worksheet.worksheetDetails.map((wsd: WorksheetDetail) => {
|
|
691
691
|
let targetProduct: OrderProduct = wsd.targetProduct
|
|
692
692
|
targetProduct.status = ORDER_PRODUCT_STATUS.TERMINATED
|
|
693
693
|
targetProduct.updater = this.user
|
|
@@ -696,7 +696,7 @@ export class WorksheetController {
|
|
|
696
696
|
|
|
697
697
|
await this.updateOrderTargets(targetProducts)
|
|
698
698
|
} else if (worksheetType === WORKSHEET_TYPE.VAS) {
|
|
699
|
-
|
|
699
|
+
let targetVASs: OrderVas[] = worksheet.worksheetDetails.map((wsd: WorksheetDetail) => {
|
|
700
700
|
let targetVAS: OrderVas = wsd.targetVas
|
|
701
701
|
targetVAS.status = ORDER_VAS_STATUS.TERMINATED
|
|
702
702
|
targetVAS.updater = this.user
|
|
@@ -707,11 +707,12 @@ export class WorksheetController {
|
|
|
707
707
|
} else if (
|
|
708
708
|
worksheetType === WORKSHEET_TYPE.PUTAWAY ||
|
|
709
709
|
worksheetType === WORKSHEET_TYPE.PICKING ||
|
|
710
|
+
worksheetType === WORKSHEET_TYPE.PACKING ||
|
|
710
711
|
worksheetType === WORKSHEET_TYPE.LOADING ||
|
|
711
712
|
worksheetType === WORKSHEET_TYPE.WAREHOUSE_RETURN ||
|
|
712
713
|
worksheetType === WORKSHEET_TYPE.UNLOADING_RETURN
|
|
713
714
|
) {
|
|
714
|
-
|
|
715
|
+
let targetInventories: OrderInventory[] = worksheet.worksheetDetails
|
|
715
716
|
.filter((wsd: WorksheetDetail) => wsd.status !== ORDER_INVENTORY_STATUS.REPLACED)
|
|
716
717
|
.map((wsd: WorksheetDetail) => {
|
|
717
718
|
let targetInventory: OrderInventory = wsd.targetInventory
|
package/server/graphql/resolvers/worksheet/generate-worksheet/generate-release-good-worksheet.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { EntityManager } from 'typeorm'
|
|
2
|
+
|
|
1
3
|
import { User } from '@things-factory/auth-base'
|
|
2
4
|
import { OrderInventory } from '@things-factory/sales-base'
|
|
3
5
|
import { Domain } from '@things-factory/shell'
|
|
4
|
-
|
|
6
|
+
|
|
5
7
|
import { PickingWorksheetController } from '../../../../controllers/'
|
|
6
8
|
import { Worksheet, WorksheetDetail } from '../../../../entities'
|
|
7
9
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import {
|
|
1
|
+
import { Brackets, getRepository, SelectQueryBuilder } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { User } from '@things-factory/auth-base'
|
|
4
4
|
import { getPermittedBizplaceIds } from '@things-factory/biz-base'
|
|
5
|
-
import { Inventory } from '@things-factory/warehouse-base'
|
|
6
5
|
import { ORDER_INVENTORY_STATUS } from '@things-factory/sales-base'
|
|
7
|
-
import {
|
|
6
|
+
import { buildCondition, buildQuery, Domain } from '@things-factory/shell'
|
|
7
|
+
import { Inventory, LOCATION_TYPE } from '@things-factory/warehouse-base'
|
|
8
8
|
|
|
9
9
|
export const inventoriesByPalletResolver = {
|
|
10
10
|
async inventoriesByPallet(_: any, { filters, pagination, sortings, locationSortingRules }, context: any) {
|
|
@@ -41,6 +41,7 @@ export const inventoriesByPalletResolver = {
|
|
|
41
41
|
.andWhere('iv.qty > 0')
|
|
42
42
|
.andWhere('CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END >= 0')
|
|
43
43
|
.andWhere('iv.qty - CASE WHEN iv.lockedQty IS NULL THEN 0 ELSE iv.lockedQty END > 0')
|
|
44
|
+
.andWhere(`location.type NOT IN ('${LOCATION_TYPE.QUARANTINE}', '${LOCATION_TYPE.RESERVE}')`)
|
|
44
45
|
.andWhere(
|
|
45
46
|
`(iv.batch_id, product.name, iv.packing_type, product.brand) NOT IN (
|
|
46
47
|
SELECT
|
|
@@ -7,7 +7,7 @@ import { MarketplaceOrder } from '@things-factory/marketplace-base'
|
|
|
7
7
|
import { ORDER_STATUS, ReleaseGood } from '@things-factory/sales-base'
|
|
8
8
|
import { Domain } from '@things-factory/shell'
|
|
9
9
|
|
|
10
|
-
import { EcommerceController, PickingWorksheetController
|
|
10
|
+
import { EcommerceController, PickingWorksheetController } from '../../../../controllers'
|
|
11
11
|
import { Worksheet } from '../../../../entities'
|
|
12
12
|
|
|
13
13
|
export const activatePickingResolver = {
|
|
@@ -40,11 +40,6 @@ export async function activatePicking(
|
|
|
40
40
|
.getRepository(Sellercraft)
|
|
41
41
|
.findOne({ domain: worksheet.bizplace.domain, status: SellercraftStatus.ACTIVE })
|
|
42
42
|
|
|
43
|
-
if (sellercraft) {
|
|
44
|
-
const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
45
|
-
await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)
|
|
46
|
-
}
|
|
47
|
-
|
|
48
43
|
if (marketplaceStores?.length && !sellercraft) {
|
|
49
44
|
if (marketplaceStores.some(store => store.isAutoUpdateStockQty)) {
|
|
50
45
|
const worksheetDetails = worksheet.worksheetDetails
|
|
@@ -7,6 +7,7 @@ import { MarketplaceStore, MarketplaceTransporter } from '@things-factory/integr
|
|
|
7
7
|
import { Sellercraft, SellercraftStatus } from '@things-factory/integration-sellercraft'
|
|
8
8
|
import { MarketplaceOrder, MarketplaceOrderItem, MarketplaceOrderShipping } from '@things-factory/marketplace-base'
|
|
9
9
|
import { ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'
|
|
10
|
+
import { PartnerSetting, Setting } from '@things-factory/setting-base'
|
|
10
11
|
import { Domain } from '@things-factory/shell'
|
|
11
12
|
|
|
12
13
|
import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../../constants'
|
|
@@ -19,7 +20,6 @@ import {
|
|
|
19
20
|
import { EcommerceController } from '../../../../controllers/ecommerce'
|
|
20
21
|
import { WorksheetController } from '../../../../controllers/worksheet-controller'
|
|
21
22
|
import { Worksheet, WorksheetDetail } from '../../../../entities'
|
|
22
|
-
import { Setting, PartnerSetting } from '@things-factory/setting-base'
|
|
23
23
|
|
|
24
24
|
export const completePickingResolver = {
|
|
25
25
|
async completePicking(_: any, { releaseGoodNo }, context: any) {
|
|
@@ -45,7 +45,7 @@ export async function completePicking(
|
|
|
45
45
|
releaseGoodNo: string
|
|
46
46
|
): Promise<void> {
|
|
47
47
|
const pickingWSCtrl: PickingWorksheetController = new PickingWorksheetController(tx, domain, user)
|
|
48
|
-
|
|
48
|
+
let releaseGood: ReleaseGood = await tx.getRepository(ReleaseGood).findOne({
|
|
49
49
|
where: { domain, name: releaseGoodNo },
|
|
50
50
|
relations: [
|
|
51
51
|
'bizplace',
|
|
@@ -53,6 +53,7 @@ export async function completePicking(
|
|
|
53
53
|
'bizplace.company',
|
|
54
54
|
'bizplace.company.domain',
|
|
55
55
|
'orderInventories',
|
|
56
|
+
'orderInventories.inventory',
|
|
56
57
|
'orderInventories.product'
|
|
57
58
|
]
|
|
58
59
|
})
|
|
@@ -84,6 +85,7 @@ export async function completePicking(
|
|
|
84
85
|
|
|
85
86
|
if (sellercraft) {
|
|
86
87
|
const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
88
|
+
releaseGood = await sellercraftCtrl.initiateOrderShipment(sellercraft, releaseGood)
|
|
87
89
|
await sellercraftCtrl.initiateOrderDocument(sellercraft, releaseGood)
|
|
88
90
|
} else {
|
|
89
91
|
const companyDomain: Domain = releaseGood.bizplace.company.domain
|
|
@@ -192,23 +194,22 @@ export async function completePicking(
|
|
|
192
194
|
const directActivatePackingWorksheet: Setting = await tx.getRepository(Setting).findOne({
|
|
193
195
|
where: { domain: domain, category: 'id-rule', name: 'enable-direct-activate-packing-worksheet' }
|
|
194
196
|
})
|
|
195
|
-
const partnerDirectActivatePackingWorksheetSetting: PartnerSetting = await tx
|
|
196
|
-
|
|
197
|
-
|
|
197
|
+
const partnerDirectActivatePackingWorksheetSetting: PartnerSetting = await tx
|
|
198
|
+
.getRepository(PartnerSetting)
|
|
199
|
+
.findOne({
|
|
200
|
+
where: { setting: directActivatePackingWorksheet, domain: domain, partnerDomain: releaseGood.bizplace?.domain }
|
|
201
|
+
})
|
|
198
202
|
|
|
199
203
|
let packingWorksheet: Worksheet = await packingWSCtrl.generatePackingWorksheet(releaseGoodNo)
|
|
200
204
|
|
|
201
|
-
if (
|
|
202
|
-
directActivatePackingWorksheet != undefined && (directActivatePackingWorksheet.value).toLowerCase() == 'true'
|
|
203
|
-
) {
|
|
205
|
+
if (directActivatePackingWorksheet != undefined && directActivatePackingWorksheet.value.toLowerCase() == 'true') {
|
|
204
206
|
if (partnerDirectActivatePackingWorksheetSetting != undefined) {
|
|
205
|
-
if (
|
|
207
|
+
if (partnerDirectActivatePackingWorksheetSetting.value.toLowerCase() == 'true')
|
|
206
208
|
await packingWSCtrl.activatePacking(packingWorksheet.name)
|
|
207
209
|
} else {
|
|
208
210
|
await packingWSCtrl.activatePacking(packingWorksheet.name)
|
|
209
211
|
}
|
|
210
212
|
}
|
|
211
|
-
|
|
212
213
|
} else {
|
|
213
214
|
// Find Existing Loading Worksheet if any
|
|
214
215
|
let existLoadingWorksheet: Worksheet = await tx.getRepository(Worksheet).findOne({
|
|
@@ -232,8 +233,7 @@ export async function completePicking(
|
|
|
232
233
|
|
|
233
234
|
const loadingWorksheetDetails: WorksheetDetail[] = loadingWorksheet.worksheetDetails
|
|
234
235
|
await loadingWSCtrl.activateLoading(loadingWorksheet.name, loadingWorksheetDetails)
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
236
|
+
} else {
|
|
237
237
|
const loadingWSCtrl: LoadingWorksheetController = new LoadingWorksheetController(tx, domain, user)
|
|
238
238
|
let loadingWorksheet: Worksheet = await loadingWSCtrl.updateLoadingWorksheet(
|
|
239
239
|
releaseGoodNo,
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { getRepository, In } from 'typeorm'
|
|
2
|
+
|
|
1
3
|
import { ArrivalNotice, ReturnOrder } from '@things-factory/sales-base'
|
|
2
4
|
import { Setting } from '@things-factory/setting-base'
|
|
3
5
|
import { Domain } from '@things-factory/shell'
|
|
4
6
|
import { Location, LOCATION_STATUS, LOCATION_TYPE, Warehouse } from '@things-factory/warehouse-base'
|
|
5
|
-
|
|
7
|
+
|
|
6
8
|
import { WORKSHEET_STATUS, WORKSHEET_TYPE } from '../../../constants'
|
|
7
9
|
import { Worksheet, WorksheetDetail } from '../../../entities'
|
|
8
10
|
|
|
@@ -69,7 +71,7 @@ export async function recommendLocationLevel1(
|
|
|
69
71
|
domain,
|
|
70
72
|
warehouse,
|
|
71
73
|
status: LOCATION_STATUS.EMPTY,
|
|
72
|
-
type:
|
|
74
|
+
type: In([LOCATION_TYPE.SHELF, LOCATION_TYPE.FLOOR]) // should only recommend these types
|
|
73
75
|
},
|
|
74
76
|
order,
|
|
75
77
|
take: optCnt
|
|
@@ -32,7 +32,7 @@ export const unloadedInventories = {
|
|
|
32
32
|
const returnOrder: ReturnOrder = foundWorksheetDetails[0].worksheet.returnOrder
|
|
33
33
|
const customerBizplace: Bizplace = foundWorksheetDetails[0].bizplace
|
|
34
34
|
if (arrivalNotice) {
|
|
35
|
-
|
|
35
|
+
let foundInv = await getRepository(Inventory).find({
|
|
36
36
|
where: {
|
|
37
37
|
domain,
|
|
38
38
|
bizplace: customerBizplace,
|
|
@@ -44,6 +44,15 @@ export const unloadedInventories = {
|
|
|
44
44
|
},
|
|
45
45
|
relations: ['reusablePallet', 'product', 'bizplace']
|
|
46
46
|
})
|
|
47
|
+
const items = foundInv.map((inv: Inventory) => {
|
|
48
|
+
const expirationDate: Date = inv.expirationDate ? new Date(inv.expirationDate) : null
|
|
49
|
+
return {
|
|
50
|
+
...inv,
|
|
51
|
+
expirationDate: expirationDate
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
return items
|
|
47
56
|
}
|
|
48
57
|
|
|
49
58
|
if (returnOrder) {
|
|
@@ -115,8 +115,6 @@ export async function generateInventoryHistory(
|
|
|
115
115
|
inventoryHistory.uom = inventory.uom
|
|
116
116
|
inventoryHistory.qty = qty
|
|
117
117
|
inventoryHistory.openingQty = openingQty
|
|
118
|
-
inventoryHistory.weight = 0
|
|
119
|
-
inventoryHistory.openingWeight = 0
|
|
120
118
|
inventoryHistory.uomValue = uomValue
|
|
121
119
|
inventoryHistory.openingUomValue = openingUomValue
|
|
122
120
|
inventoryHistory.unitCost = inventory.unitCost
|