@things-factory/worksheet-base 4.3.4 → 4.3.5

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.
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createReturnWorksheet = exports.completeLoading = exports.completeLoadingResolver = void 0;
4
+ const biz_base_1 = require("@things-factory/biz-base");
5
+ const integration_fulfillment_1 = require("@things-factory/integration-fulfillment");
4
6
  const integration_sftp_1 = require("@things-factory/integration-sftp");
5
7
  const sales_base_1 = require("@things-factory/sales-base");
6
8
  const warehouse_base_1 = require("@things-factory/warehouse-base");
@@ -27,26 +29,46 @@ async function completeLoading(tx, domain, user, releaseGoodNo) {
27
29
  const worksheetDetails = worksheet.worksheetDetails;
28
30
  const targetInventories = worksheetDetails.map((wsd) => wsd.targetInventory);
29
31
  const remainInventories = targetInventories.filter((targetInventory) => targetInventory.status === sales_base_1.ORDER_INVENTORY_STATUS.LOADING);
32
+ // Search Warehouse Company Domain
33
+ const warehouseCompanyBizplace = await tx
34
+ .getRepository(biz_base_1.Bizplace)
35
+ .findOne({ where: { domain }, relations: ['company'] });
36
+ const warehouseCompany = warehouseCompanyBizplace.company;
37
+ const warehouseBizplaces = await tx
38
+ .getRepository(biz_base_1.Bizplace)
39
+ .find({ where: { company: warehouseCompany }, relations: ['domain'] });
40
+ const warehouseCompanyBizplaces = warehouseBizplaces.filter(biz => biz.domain.extType == 'company');
41
+ const warehouseCompanyDomain = warehouseCompanyBizplaces[0].domain;
30
42
  const customerDomain = releaseGood.bizplace.domain;
31
- let customerAvailableSftp = await tx.getRepository(integration_sftp_1.Sftp).findOne({
32
- where: { domain: customerDomain }
33
- });
34
- if (customerAvailableSftp) {
35
- let inventoryItems = await tx.getRepository(warehouse_base_1.InventoryItem).find({
36
- where: { domain, outboundOrderId: releaseGood.id }
43
+ const fulfillmentCenter = await tx
44
+ .getRepository(integration_fulfillment_1.FulfillmentCenter)
45
+ .findOne({ domain: warehouseCompanyDomain, centerId: domain.subdomain, status: 'active' });
46
+ if (fulfillmentCenter) {
47
+ let customerAvailableSftp = await tx.getRepository(integration_sftp_1.Sftp).findOne({
48
+ where: { domain: customerDomain, status: 'ACTIVE', fulfillmentCenter }
37
49
  });
38
- let shipmentResult = await integration_sftp_1.SftpAPI.createShipment(customerAvailableSftp, {
39
- releaseGood,
40
- orderInventories: targetInventories,
41
- sftp: customerAvailableSftp
42
- });
43
- customerAvailableSftp = await tx.getRepository(integration_sftp_1.Sftp).save(shipmentResult);
44
- let snResult = await integration_sftp_1.SftpAPI.createSerialNumber(customerAvailableSftp, {
45
- releaseGood,
46
- inventoryItems,
47
- sftp: customerAvailableSftp
48
- });
49
- customerAvailableSftp = await tx.getRepository(integration_sftp_1.Sftp).save(snResult);
50
+ if (customerAvailableSftp) {
51
+ const responseFileTypes = JSON.parse(customerAvailableSftp.responseFileTypes);
52
+ let inventoryItems = await tx.getRepository(warehouse_base_1.InventoryItem).find({
53
+ where: { domain, outboundOrderId: releaseGood.id }
54
+ });
55
+ if (responseFileTypes.enableShipment) {
56
+ let shipmentResult = await integration_sftp_1.SftpAPI.createShipment(customerAvailableSftp, {
57
+ releaseGood,
58
+ orderInventories: targetInventories,
59
+ sftp: customerAvailableSftp
60
+ });
61
+ customerAvailableSftp = await tx.getRepository(integration_sftp_1.Sftp).save(shipmentResult);
62
+ }
63
+ if (responseFileTypes.enableSerialNumber) {
64
+ let snResult = await integration_sftp_1.SftpAPI.createSerialNumber(customerAvailableSftp, {
65
+ releaseGood,
66
+ inventoryItems,
67
+ sftp: customerAvailableSftp
68
+ });
69
+ customerAvailableSftp = await tx.getRepository(integration_sftp_1.Sftp).save(snResult);
70
+ }
71
+ }
50
72
  }
51
73
  await worksheetController.completeLoading(releaseGoodNo);
52
74
  if (remainInventories.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"complete-loading.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/loading/complete-loading.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complete-loading.js","sourceRoot":"","sources":["../../../../../server/graphql/resolvers/worksheet/loading/complete-loading.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/worksheet-base",
3
- "version": "4.3.4",
3
+ "version": "4.3.5",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -29,16 +29,16 @@
29
29
  "@things-factory/document-template-base": "^4.3.2",
30
30
  "@things-factory/id-rule-base": "^4.3.2",
31
31
  "@things-factory/integration-lmd": "^4.3.2",
32
- "@things-factory/integration-marketplace": "^4.3.4",
33
- "@things-factory/integration-sellercraft": "^4.3.4",
34
- "@things-factory/integration-sftp": "^4.3.2",
35
- "@things-factory/marketplace-base": "^4.3.4",
32
+ "@things-factory/integration-marketplace": "^4.3.5",
33
+ "@things-factory/integration-sellercraft": "^4.3.5",
34
+ "@things-factory/integration-sftp": "^4.3.5",
35
+ "@things-factory/marketplace-base": "^4.3.5",
36
36
  "@things-factory/notification": "^4.3.2",
37
- "@things-factory/sales-base": "^4.3.4",
37
+ "@things-factory/sales-base": "^4.3.5",
38
38
  "@things-factory/setting-base": "^4.3.2",
39
39
  "@things-factory/shell": "^4.3.2",
40
40
  "@things-factory/transport-base": "^4.3.2",
41
- "@things-factory/warehouse-base": "^4.3.4"
41
+ "@things-factory/warehouse-base": "^4.3.5"
42
42
  },
43
- "gitHead": "1301c111daf6268e7c6b4464a7dd325901b0db3e"
43
+ "gitHead": "67b6e7dec5c062108f68b22bcb0b20c67ef61610"
44
44
  }
@@ -1,6 +1,8 @@
1
1
  import { EntityManager } from 'typeorm'
2
2
 
3
3
  import { User } from '@things-factory/auth-base'
4
+ import { Bizplace, Company } from '@things-factory/biz-base'
5
+ import { FulfillmentCenter } from '@things-factory/integration-fulfillment'
4
6
  import { Sftp, SftpAPI } from '@things-factory/integration-sftp'
5
7
  import { ORDER_INVENTORY_STATUS, ORDER_STATUS, OrderInventory, ReleaseGood } from '@things-factory/sales-base'
6
8
  import { Domain } from '@things-factory/shell'
@@ -44,28 +46,52 @@ export async function completeLoading(
44
46
  (targetInventory: OrderInventory) => targetInventory.status === ORDER_INVENTORY_STATUS.LOADING
45
47
  )
46
48
 
49
+ // Search Warehouse Company Domain
50
+ const warehouseCompanyBizplace: Bizplace = await tx
51
+ .getRepository(Bizplace)
52
+ .findOne({ where: { domain }, relations: ['company'] })
53
+
54
+ const warehouseCompany: Company = warehouseCompanyBizplace.company
55
+ const warehouseBizplaces: Bizplace[] = await tx
56
+ .getRepository(Bizplace)
57
+ .find({ where: { company: warehouseCompany }, relations: ['domain'] })
58
+ const warehouseCompanyBizplaces: Bizplace[] = warehouseBizplaces.filter(biz => biz.domain.extType == 'company')
59
+ const warehouseCompanyDomain: Domain = warehouseCompanyBizplaces[0].domain
60
+
47
61
  const customerDomain: Domain = releaseGood.bizplace.domain
48
- let customerAvailableSftp: Sftp = await tx.getRepository(Sftp).findOne({
49
- where: { domain: customerDomain }
50
- })
51
- if (customerAvailableSftp) {
52
- let inventoryItems: InventoryItem[] = await tx.getRepository(InventoryItem).find({
53
- where: { domain, outboundOrderId: releaseGood.id }
54
- })
62
+ const fulfillmentCenter: FulfillmentCenter = await tx
63
+ .getRepository(FulfillmentCenter)
64
+ .findOne({ domain: warehouseCompanyDomain, centerId: domain.subdomain, status: 'active' })
55
65
 
56
- let shipmentResult: Sftp = await SftpAPI.createShipment(customerAvailableSftp, {
57
- releaseGood,
58
- orderInventories: targetInventories,
59
- sftp: customerAvailableSftp
66
+ if (fulfillmentCenter) {
67
+ let customerAvailableSftp: Sftp = await tx.getRepository(Sftp).findOne({
68
+ where: { domain: customerDomain, status: 'ACTIVE', fulfillmentCenter }
60
69
  })
61
- customerAvailableSftp = await tx.getRepository(Sftp).save(shipmentResult)
70
+ if (customerAvailableSftp) {
71
+ const responseFileTypes: any = JSON.parse(customerAvailableSftp.responseFileTypes)
62
72
 
63
- let snResult: Sftp = await SftpAPI.createSerialNumber(customerAvailableSftp, {
64
- releaseGood,
65
- inventoryItems,
66
- sftp: customerAvailableSftp
67
- })
68
- customerAvailableSftp = await tx.getRepository(Sftp).save(snResult)
73
+ let inventoryItems: InventoryItem[] = await tx.getRepository(InventoryItem).find({
74
+ where: { domain, outboundOrderId: releaseGood.id }
75
+ })
76
+
77
+ if (responseFileTypes.enableShipment) {
78
+ let shipmentResult: Sftp = await SftpAPI.createShipment(customerAvailableSftp, {
79
+ releaseGood,
80
+ orderInventories: targetInventories,
81
+ sftp: customerAvailableSftp
82
+ })
83
+ customerAvailableSftp = await tx.getRepository(Sftp).save(shipmentResult)
84
+ }
85
+
86
+ if (responseFileTypes.enableSerialNumber) {
87
+ let snResult: Sftp = await SftpAPI.createSerialNumber(customerAvailableSftp, {
88
+ releaseGood,
89
+ inventoryItems,
90
+ sftp: customerAvailableSftp
91
+ })
92
+ customerAvailableSftp = await tx.getRepository(Sftp).save(snResult)
93
+ }
94
+ }
69
95
  }
70
96
 
71
97
  await worksheetController.completeLoading(releaseGoodNo)