@things-factory/operato-hub 5.0.13 → 6.0.0-alpha.1
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/bizplace-initializer/dataset/codes.js +9 -0
- package/dist-server/controllers/bizplace-initializer/dataset/codes.js.map +1 -1
- package/dist-server/controllers/bizplace-initializer/dataset/settings.js +5 -0
- package/dist-server/controllers/bizplace-initializer/dataset/settings.js.map +1 -1
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js +3 -3
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain-roles.js.map +1 -1
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js +2 -2
- package/dist-server/controllers/bizplace-initializer/generate-bizplace-domain.js.map +1 -1
- package/dist-server/controllers/bizplace-initializer/menus.js +2 -2
- package/dist-server/controllers/bizplace-initializer/menus.js.map +1 -1
- package/dist-server/controllers/company-initializer/business-register.js +6 -7
- package/dist-server/controllers/company-initializer/business-register.js.map +1 -1
- package/dist-server/controllers/company-initializer/generate-company-roles.js +4 -4
- package/dist-server/controllers/company-initializer/generate-company-roles.js.map +1 -1
- package/dist-server/controllers/invitation.js +9 -9
- package/dist-server/controllers/invitation.js.map +1 -1
- package/dist-server/controllers/utils/save-invitation-token.js +2 -2
- package/dist-server/controllers/utils/save-invitation-token.js.map +1 -1
- package/dist-server/graphql/resolvers/generators/generate-bizplace.js.map +1 -1
- package/dist-server/graphql/resolvers/generators/generate-company.js +4 -3
- package/dist-server/graphql/resolvers/generators/generate-company.js.map +1 -1
- package/dist-server/graphql/resolvers/generators/update-domain-extType.js +1 -1
- package/dist-server/graphql/resolvers/generators/update-domain-extType.js.map +1 -1
- package/dist-server/graphql/resolvers/invitations/partner-invitation.js +6 -6
- package/dist-server/graphql/resolvers/invitations/partner-invitation.js.map +1 -1
- package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js +5 -2
- package/dist-server/graphql/resolvers/oauth2/company-roles-by-scope.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.js +149 -0
- package/dist-server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/create-dat-shipments.js +58 -0
- package/dist-server/graphql/resolvers/synchronization/create-dat-shipments.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js +3 -3
- package/dist-server/graphql/resolvers/synchronization/fetch-sync-products.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/index.js +6 -2
- package/dist-server/graphql/resolvers/synchronization/index.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.js +68 -0
- package/dist-server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.js +35 -0
- package/dist-server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.js.map +1 -0
- package/dist-server/graphql/resolvers/synchronization/sync-products-from-account.js +1 -1
- package/dist-server/graphql/resolvers/synchronization/sync-products-from-account.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js +1 -1
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-account.js.map +1 -1
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js +4 -2
- package/dist-server/graphql/resolvers/synchronization/sync-products-to-sellercraft.js.map +1 -1
- package/dist-server/graphql/types/synchronization/index.js +4 -0
- package/dist-server/graphql/types/synchronization/index.js.map +1 -1
- package/dist-server/index.js +5 -5
- package/dist-server/index.js.map +1 -1
- package/dist-server/middlewares/business-middleware.js +2 -3
- package/dist-server/middlewares/business-middleware.js.map +1 -1
- package/dist-server/middlewares/store-middleware.js +2 -2
- package/dist-server/middlewares/store-middleware.js.map +1 -1
- package/dist-server/middlewares/warehouse-middleware.js +3 -2
- package/dist-server/middlewares/warehouse-middleware.js.map +1 -1
- package/dist-server/migrations/1597668478399-SeedBusinessDomain.js +2 -3
- package/dist-server/migrations/1597668478399-SeedBusinessDomain.js.map +1 -1
- package/dist-server/migrations/1597668478401-SeedBusinessRoles.js +2 -2
- package/dist-server/migrations/1597668478401-SeedBusinessRoles.js.map +1 -1
- package/dist-server/migrations/1608009991065-SeedUser.js +5 -6
- package/dist-server/migrations/1608009991065-SeedUser.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js +2 -1
- package/dist-server/routers/api/restful-apis/unstable/add-draft-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js +5 -4
- package/dist-server/routers/api/restful-apis/unstable/add-inbound-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js +5 -2
- package/dist-server/routers/api/restful-apis/unstable/add-marketplace-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-products.js +32 -16
- package/dist-server/routers/api/restful-apis/unstable/add-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/add-release-order.js +149 -40
- package/dist-server/routers/api/restful-apis/unstable/add-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js +4 -4
- package/dist-server/routers/api/restful-apis/unstable/cancel-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js +27 -11
- package/dist-server/routers/api/restful-apis/unstable/get-delivery-orders.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js +9 -2
- package/dist-server/routers/api/restful-apis/unstable/get-goods-received-notes.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js +2 -2
- package/dist-server/routers/api/restful-apis/unstable/get-onhand-inventories.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-partners.js +5 -4
- package/dist-server/routers/api/restful-apis/unstable/get-partners.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-products.js +1 -0
- package/dist-server/routers/api/restful-apis/unstable/get-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js +2 -2
- package/dist-server/routers/api/restful-apis/unstable/get-warehouses.js.map +1 -1
- package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js +2 -2
- package/dist-server/routers/api/restful-apis/unstable/update-release-order-details.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js +6 -5
- package/dist-server/routers/api/restful-apis/v1/add-inbound-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js +8 -5
- package/dist-server/routers/api/restful-apis/v1/add-marketplace-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/add-products.js +32 -16
- package/dist-server/routers/api/restful-apis/v1/add-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/add-release-order.js +8 -6
- package/dist-server/routers/api/restful-apis/v1/add-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js +4 -4
- package/dist-server/routers/api/restful-apis/v1/cancel-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js +27 -11
- package/dist-server/routers/api/restful-apis/v1/get-delivery-orders.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js +9 -2
- package/dist-server/routers/api/restful-apis/v1/get-goods-received-notes.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js +2 -2
- package/dist-server/routers/api/restful-apis/v1/get-onhand-inventories.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-partners.js +5 -4
- package/dist-server/routers/api/restful-apis/v1/get-partners.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-products.js +1 -0
- package/dist-server/routers/api/restful-apis/v1/get-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/get-warehouses.js +2 -2
- package/dist-server/routers/api/restful-apis/v1/get-warehouses.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js +2 -2
- package/dist-server/routers/api/restful-apis/v1/update-release-order-details.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js +6 -5
- package/dist-server/routers/api/restful-apis/v2/add-inbound-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js +8 -5
- package/dist-server/routers/api/restful-apis/v2/add-marketplace-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/add-products.js +32 -16
- package/dist-server/routers/api/restful-apis/v2/add-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/add-release-order.js +8 -6
- package/dist-server/routers/api/restful-apis/v2/add-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js +4 -4
- package/dist-server/routers/api/restful-apis/v2/cancel-release-order.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js +27 -11
- package/dist-server/routers/api/restful-apis/v2/get-delivery-orders.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js +9 -2
- package/dist-server/routers/api/restful-apis/v2/get-goods-received-notes.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js +2 -2
- package/dist-server/routers/api/restful-apis/v2/get-onhand-inventories.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-partners.js +5 -4
- package/dist-server/routers/api/restful-apis/v2/get-partners.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-products.js +1 -0
- package/dist-server/routers/api/restful-apis/v2/get-products.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/get-warehouses.js +2 -2
- package/dist-server/routers/api/restful-apis/v2/get-warehouses.js.map +1 -1
- package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js +2 -2
- package/dist-server/routers/api/restful-apis/v2/update-release-order-details.js.map +1 -1
- package/dist-server/routers/auth-invitation-router.js +2 -2
- package/dist-server/routers/auth-invitation-router.js.map +1 -1
- package/dist-server/routers/business/bizplace-register-router.js +3 -3
- package/dist-server/routers/business/bizplace-register-router.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/utils/get-warehouses.js +15 -11
- package/dist-server/utils/get-warehouses.js.map +1 -1
- package/openapi/unstable/product.yaml +9 -3
- package/openapi/v1/product.yaml +9 -3
- package/openapi/v2/product.yaml +9 -3
- package/package.json +47 -47
- package/server/controllers/bizplace-initializer/dataset/codes.ts +9 -0
- package/server/controllers/bizplace-initializer/dataset/settings.ts +5 -0
- package/server/controllers/bizplace-initializer/generate-bizplace-domain-roles.ts +4 -2
- package/server/controllers/bizplace-initializer/generate-bizplace-domain.ts +4 -3
- package/server/controllers/bizplace-initializer/menus.ts +4 -2
- package/server/controllers/company-initializer/business-register.ts +5 -3
- package/server/controllers/company-initializer/generate-company-roles.ts +4 -3
- package/server/controllers/invitation.ts +11 -7
- package/server/controllers/utils/save-invitation-token.ts +1 -1
- package/server/graphql/resolvers/generators/generate-bizplace.ts +1 -1
- package/server/graphql/resolvers/generators/generate-company.ts +5 -4
- package/server/graphql/resolvers/generators/update-domain-extType.ts +7 -5
- package/server/graphql/resolvers/invitations/partner-invitation.ts +5 -5
- package/server/graphql/resolvers/oauth2/company-roles-by-scope.ts +8 -6
- package/server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.ts +180 -0
- package/server/graphql/resolvers/synchronization/create-dat-shipments.ts +64 -0
- package/server/graphql/resolvers/synchronization/fetch-sync-products.ts +3 -2
- package/server/graphql/resolvers/synchronization/index.ts +10 -2
- package/server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.ts +91 -0
- package/server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.ts +39 -0
- package/server/graphql/resolvers/synchronization/sync-products-from-account.ts +4 -4
- package/server/graphql/resolvers/synchronization/sync-products-to-account.ts +4 -4
- package/server/graphql/resolvers/synchronization/sync-products-to-sellercraft.ts +19 -12
- package/server/graphql/types/synchronization/index.ts +4 -0
- package/server/index.ts +7 -7
- package/server/middlewares/business-middleware.ts +1 -2
- package/server/middlewares/store-middleware.ts +1 -1
- package/server/middlewares/warehouse-middleware.ts +3 -2
- package/server/migrations/1597668478399-SeedBusinessDomain.ts +3 -2
- package/server/migrations/1597668478401-SeedBusinessRoles.ts +2 -2
- package/server/migrations/1608009991065-SeedUser.ts +5 -3
- package/server/routers/api/restful-apis/unstable/add-draft-release-order.ts +2 -1
- package/server/routers/api/restful-apis/unstable/add-inbound-order.ts +3 -2
- package/server/routers/api/restful-apis/unstable/add-marketplace-order.ts +13 -2
- package/server/routers/api/restful-apis/unstable/add-products.ts +40 -16
- package/server/routers/api/restful-apis/unstable/add-release-order.ts +98 -48
- package/server/routers/api/restful-apis/unstable/cancel-release-order.ts +2 -2
- package/server/routers/api/restful-apis/unstable/get-delivery-orders.ts +27 -11
- package/server/routers/api/restful-apis/unstable/get-goods-received-notes.ts +9 -2
- package/server/routers/api/restful-apis/unstable/get-onhand-inventories.ts +1 -1
- package/server/routers/api/restful-apis/unstable/get-partners.ts +4 -2
- package/server/routers/api/restful-apis/unstable/get-products.ts +1 -0
- package/server/routers/api/restful-apis/unstable/get-warehouses.ts +3 -2
- package/server/routers/api/restful-apis/unstable/update-release-order-details.ts +1 -1
- package/server/routers/api/restful-apis/v1/add-inbound-order.ts +4 -3
- package/server/routers/api/restful-apis/v1/add-marketplace-order.ts +17 -5
- package/server/routers/api/restful-apis/v1/add-products.ts +40 -16
- package/server/routers/api/restful-apis/v1/add-release-order.ts +10 -6
- package/server/routers/api/restful-apis/v1/cancel-release-order.ts +2 -2
- package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +27 -11
- package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +9 -2
- package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +1 -1
- package/server/routers/api/restful-apis/v1/get-partners.ts +4 -2
- package/server/routers/api/restful-apis/v1/get-products.ts +1 -0
- package/server/routers/api/restful-apis/v1/get-warehouses.ts +3 -2
- package/server/routers/api/restful-apis/v1/update-release-order-details.ts +1 -1
- package/server/routers/api/restful-apis/v2/add-inbound-order.ts +4 -3
- package/server/routers/api/restful-apis/v2/add-marketplace-order.ts +17 -5
- package/server/routers/api/restful-apis/v2/add-products.ts +40 -16
- package/server/routers/api/restful-apis/v2/add-release-order.ts +10 -6
- package/server/routers/api/restful-apis/v2/cancel-release-order.ts +2 -2
- package/server/routers/api/restful-apis/v2/get-delivery-orders.ts +27 -11
- package/server/routers/api/restful-apis/v2/get-goods-received-notes.ts +9 -2
- package/server/routers/api/restful-apis/v2/get-onhand-inventories.ts +1 -1
- package/server/routers/api/restful-apis/v2/get-partners.ts +4 -2
- package/server/routers/api/restful-apis/v2/get-products.ts +1 -0
- package/server/routers/api/restful-apis/v2/get-warehouses.ts +3 -2
- package/server/routers/api/restful-apis/v2/update-release-order-details.ts +1 -1
- package/server/routers/auth-invitation-router.ts +2 -2
- package/server/routers/business/bizplace-register-router.ts +3 -1
- package/server/utils/get-warehouses.ts +46 -36
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner, Repository } from 'typeorm'
|
|
2
|
+
|
|
1
3
|
import { User, UserStatus } from '@things-factory/auth-base'
|
|
2
4
|
import { Company } from '@things-factory/biz-base'
|
|
3
|
-
import { Domain } from '@things-factory/shell'
|
|
4
|
-
|
|
5
|
+
import { Domain, getRepository } from '@things-factory/shell'
|
|
6
|
+
|
|
5
7
|
import { businessRegister } from '../controllers/company-initializer'
|
|
6
8
|
|
|
7
9
|
const ADMIN_USER = {
|
|
@@ -54,7 +56,7 @@ export class SeedUser1608009991065 implements MigrationInterface {
|
|
|
54
56
|
const domainRepository = getRepository(Domain)
|
|
55
57
|
|
|
56
58
|
const user = await userRepository.findOne({ where: { name: ADMIN_USER.name } })
|
|
57
|
-
await userRepository.delete(user)
|
|
59
|
+
await userRepository.delete({ id: user.id })
|
|
58
60
|
|
|
59
61
|
const systemDomain = await domainRepository.findOne({ where: { systemFlag: true } })
|
|
60
62
|
await domainRepository.delete(systemDomain)
|
|
@@ -125,7 +125,8 @@ router.post(
|
|
|
125
125
|
country: bodyReq?.deliverTo?.country || null,
|
|
126
126
|
phone1: bodyReq?.deliverTo?.phone1 || null,
|
|
127
127
|
phone2: bodyReq?.deliverTo?.phone2 || null,
|
|
128
|
-
email: bodyReq?.deliverTo?.email || null
|
|
128
|
+
email: bodyReq?.deliverTo?.email || null,
|
|
129
|
+
packageId: bodyReq?.packageId || null
|
|
129
130
|
},
|
|
130
131
|
orderProducts: orderInventories,
|
|
131
132
|
files: []
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import gql from 'graphql-tag'
|
|
2
|
-
import {
|
|
2
|
+
import { In } from 'typeorm'
|
|
3
3
|
|
|
4
4
|
import { restfulApiRouter as router } from '@things-factory/api'
|
|
5
5
|
import { Bizplace, ContactPoint, getCompanyBizplace } from '@things-factory/biz-base'
|
|
6
6
|
import { Product, ProductDetail } from '@things-factory/product-base'
|
|
7
|
+
import { getRepository } from '@things-factory/shell'
|
|
7
8
|
|
|
8
9
|
import { businessMiddleware } from '../../../../middlewares/business-middleware'
|
|
9
10
|
import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
|
|
@@ -90,7 +91,7 @@ router.post(
|
|
|
90
91
|
const supplierInfo = bodyReq.supplier
|
|
91
92
|
const foundSupplier: ContactPoint = await getRepository(ContactPoint).findOne({
|
|
92
93
|
where: {
|
|
93
|
-
domain,
|
|
94
|
+
domain: { id: domain.id },
|
|
94
95
|
bizplace: warehouseId,
|
|
95
96
|
name: supplierInfo.name,
|
|
96
97
|
companyName: supplierInfo.companyName,
|
|
@@ -3,18 +3,20 @@
|
|
|
3
3
|
/** 2. Sweetmag */
|
|
4
4
|
|
|
5
5
|
import gql from 'graphql-tag'
|
|
6
|
+
import { EntityManager, getConnection } from 'typeorm'
|
|
6
7
|
|
|
7
8
|
import { restfulApiRouter as router } from '@things-factory/api'
|
|
8
|
-
import {
|
|
9
|
+
import { createPayloadLog, PayloadType } from '@things-factory/integration-base'
|
|
9
10
|
import { MarketplaceOrder } from '@things-factory/marketplace-base'
|
|
10
11
|
|
|
11
12
|
import { businessMiddleware } from '../../../../middlewares/business-middleware'
|
|
12
13
|
import { storeMiddleware } from '../../../../middlewares/store-middleware'
|
|
13
14
|
|
|
14
15
|
const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:add-marketplace-order')
|
|
16
|
+
const apiVersion = 'unstable'
|
|
15
17
|
|
|
16
18
|
router.post(
|
|
17
|
-
|
|
19
|
+
`/${apiVersion}/warehouse/:storeId/add-marketplace-order`,
|
|
18
20
|
businessMiddleware,
|
|
19
21
|
storeMiddleware,
|
|
20
22
|
async (context, next) => {
|
|
@@ -120,6 +122,15 @@ router.post(
|
|
|
120
122
|
} as any)
|
|
121
123
|
).data
|
|
122
124
|
}
|
|
125
|
+
|
|
126
|
+
createPayloadLog(
|
|
127
|
+
marketplaceStore.id,
|
|
128
|
+
`/${apiVersion}/warehouse/:storeId/add-marketplace-order`,
|
|
129
|
+
bodyReq,
|
|
130
|
+
context.body.result,
|
|
131
|
+
context,
|
|
132
|
+
PayloadType.INGESTION
|
|
133
|
+
)
|
|
123
134
|
})
|
|
124
135
|
}
|
|
125
136
|
)
|
|
@@ -29,6 +29,8 @@ router.post(
|
|
|
29
29
|
await checkMandatoryKey(context, bodyReq)
|
|
30
30
|
debug('post:/add-product request.body', bodyReq)
|
|
31
31
|
|
|
32
|
+
let products = checkProductDetails(bodyReq)
|
|
33
|
+
|
|
32
34
|
context.body = {
|
|
33
35
|
result: (
|
|
34
36
|
await client.mutate({
|
|
@@ -39,7 +41,7 @@ router.post(
|
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
43
|
`,
|
|
42
|
-
variables: { products
|
|
44
|
+
variables: { products },
|
|
43
45
|
context: {
|
|
44
46
|
...context,
|
|
45
47
|
state: {
|
|
@@ -66,23 +68,45 @@ export async function checkMandatoryKey(context, params) {
|
|
|
66
68
|
|
|
67
69
|
if (param?.productDetails) {
|
|
68
70
|
let noSubParams = []
|
|
69
|
-
param.productDetails.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
71
|
+
if (param.productDetails.length == 0) {
|
|
72
|
+
context.throw(
|
|
73
|
+
400,
|
|
74
|
+
context.t('error.required param {x} not found in productDetails', {
|
|
75
|
+
x: 'gtin, packingType, packingSize, uom, uomValue'
|
|
76
|
+
})
|
|
77
|
+
)
|
|
78
|
+
} else {
|
|
79
|
+
param.productDetails.forEach((subParam, key) => {
|
|
80
|
+
if (!subParam.gtin) noSubParams.push('gtin')
|
|
81
|
+
|
|
82
|
+
if (!subParam.packingType) noSubParams.push('packingType')
|
|
83
|
+
|
|
84
|
+
if (!subParam.packingSize) noSubParams.push('packingSize')
|
|
85
|
+
|
|
86
|
+
if (!subParam.uom) noSubParams.push('uom')
|
|
87
|
+
|
|
88
|
+
if (!subParam.uomValue) noSubParams.push('uomValue')
|
|
89
|
+
|
|
90
|
+
if (noSubParams?.length)
|
|
91
|
+
context.throw(
|
|
92
|
+
400,
|
|
93
|
+
context.t('error.required param {x} not found in productDetails', { x: `${noSubParams.join(', ')}` })
|
|
94
|
+
)
|
|
95
|
+
})
|
|
96
|
+
}
|
|
83
97
|
}
|
|
84
98
|
|
|
85
99
|
if (noparams?.length)
|
|
86
|
-
context.throw(400, context.t('error.required param x not found', { x: `${noparams.join(', ')}` }))
|
|
100
|
+
context.throw(400, context.t('error.required param {x} not found', { x: `${noparams.join(', ')}` }))
|
|
87
101
|
})
|
|
88
102
|
}
|
|
103
|
+
|
|
104
|
+
function checkProductDetails(params) {
|
|
105
|
+
params.forEach(param => {
|
|
106
|
+
if (!param?.productDetails.some(pd => pd.isDefault)) {
|
|
107
|
+
param.productDetails[0].isDefault = true
|
|
108
|
+
}
|
|
109
|
+
})
|
|
110
|
+
|
|
111
|
+
return params
|
|
112
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { EntityManager, getConnection,
|
|
1
|
+
import { EntityManager, getConnection, In, Not, Repository, SelectQueryBuilder } from 'typeorm'
|
|
2
2
|
import { v4 as uuidv4 } from 'uuid'
|
|
3
3
|
|
|
4
4
|
import { restfulApiRouter as router } from '@things-factory/api'
|
|
5
|
-
import { User } from '@things-factory/auth-base'
|
|
6
5
|
import { Bizplace, getCompanyBizplace } from '@things-factory/biz-base'
|
|
7
6
|
import { logger } from '@things-factory/env'
|
|
8
7
|
import { generateId } from '@things-factory/id-rule-base'
|
|
@@ -27,7 +26,7 @@ import {
|
|
|
27
26
|
SellercraftController
|
|
28
27
|
} from '@things-factory/sales-base'
|
|
29
28
|
import { Setting } from '@things-factory/setting-base'
|
|
30
|
-
import { Domain } from '@things-factory/shell'
|
|
29
|
+
import { Domain, getRepository } from '@things-factory/shell'
|
|
31
30
|
import { Inventory, INVENTORY_STATUS, LOCATION_TYPE } from '@things-factory/warehouse-base'
|
|
32
31
|
|
|
33
32
|
import { ValidationError } from '../../../../errors/index'
|
|
@@ -103,6 +102,7 @@ router.post(
|
|
|
103
102
|
trackingNo: bodyReq?.trackingNo,
|
|
104
103
|
airwayBill: bodyReq?.airwayBill,
|
|
105
104
|
invoice: bodyReq?.invoice,
|
|
105
|
+
packageId: bodyReq?.packageId,
|
|
106
106
|
storeName: bodyReq?.storeName,
|
|
107
107
|
storeId: bodyReq?.storeId,
|
|
108
108
|
routeId: bodyReq?.routeId,
|
|
@@ -110,7 +110,7 @@ router.post(
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
// check existing order
|
|
113
|
-
await checkExistingOrder(releaseGood, customerBizplace, context, tx)
|
|
113
|
+
await checkExistingOrder(releaseGood, customerBizplace, bodyReq?.checkDuplicationValidation, context, tx)
|
|
114
114
|
|
|
115
115
|
//massage data
|
|
116
116
|
massagedData = await massageOrderItems(releaseGood, bodyReq.orderInventories, context)
|
|
@@ -168,29 +168,14 @@ router.post(
|
|
|
168
168
|
})
|
|
169
169
|
}
|
|
170
170
|
// assignment
|
|
171
|
-
console.time('assign')
|
|
171
|
+
// console.time('assign')
|
|
172
172
|
let assignedOrderProducts = await assignToInventory(massagedData.orderProducts, customerBizplace, context, tx)
|
|
173
|
-
console.timeEnd('assign')
|
|
173
|
+
// console.timeEnd('assign')
|
|
174
174
|
|
|
175
175
|
// create order
|
|
176
|
-
console.time('save')
|
|
176
|
+
// console.time('save')
|
|
177
177
|
let result = await createReleaseGood(releaseGood, assignedOrderProducts, customerBizplace, context, tx)
|
|
178
|
-
console.timeEnd('save')
|
|
179
|
-
|
|
180
|
-
const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOne({ domain: customerBizplace.domain })
|
|
181
|
-
if (sellercraft) {
|
|
182
|
-
try {
|
|
183
|
-
const sellercraftCtrl: SellercraftController = new SellercraftController(tx, domain, user)
|
|
184
|
-
let packageInfo = await sellercraftCtrl.packOrder(sellercraft, {
|
|
185
|
-
...result,
|
|
186
|
-
orderProducts: result.orderProducts
|
|
187
|
-
})
|
|
188
|
-
|
|
189
|
-
await getRepository(ReleaseGood).update({ id: result.id }, { packageId: packageInfo.packageId })
|
|
190
|
-
} catch (error) {
|
|
191
|
-
logger.error(`add-release-order[packageId][OrderNo: ${result.name}]: ${JSON.stringify(error)}`)
|
|
192
|
-
}
|
|
193
|
-
}
|
|
178
|
+
// console.timeEnd('save')
|
|
194
179
|
|
|
195
180
|
let addReleaseGood = {
|
|
196
181
|
id: result.id,
|
|
@@ -223,6 +208,7 @@ router.post(
|
|
|
223
208
|
airwayBill: result.airwayBill,
|
|
224
209
|
invoice: result.invoice,
|
|
225
210
|
type: result.type,
|
|
211
|
+
packageId: result.packageId,
|
|
226
212
|
storeName: result.storeName,
|
|
227
213
|
storeId: result.storeId,
|
|
228
214
|
routeId: result.routeId,
|
|
@@ -236,7 +222,6 @@ router.post(
|
|
|
236
222
|
}
|
|
237
223
|
// return body
|
|
238
224
|
context.body = { result: { addReleaseGood } }
|
|
239
|
-
|
|
240
225
|
createPayloadLog(
|
|
241
226
|
customerBizplaceId,
|
|
242
227
|
`/${apiVersion}/warehouse/:warehouseId/add-release-order`,
|
|
@@ -257,11 +242,49 @@ router.post(
|
|
|
257
242
|
|
|
258
243
|
if (error.errorCode) {
|
|
259
244
|
if (error.errorCode == 'INSUFFICIENT_STOCK' && requiredDraft) {
|
|
260
|
-
await createDraftOrder(releaseGood, massagedData.orderProducts, context)
|
|
245
|
+
const result = await createDraftOrder(releaseGood, massagedData.orderProducts, context)
|
|
246
|
+
let createdDraftOrder = {
|
|
247
|
+
id: result.id,
|
|
248
|
+
name: result.name,
|
|
249
|
+
refNo: result.refNo,
|
|
250
|
+
refNo2: result.refNo2,
|
|
251
|
+
refNo3: result.refNo3,
|
|
252
|
+
status: result.status,
|
|
253
|
+
truckNo: result.truckNo,
|
|
254
|
+
ownTransport: result.ownTransport,
|
|
255
|
+
marketplaceOrderStatus: result.marketplaceOrderStatus,
|
|
256
|
+
billingAddress: result.billingAddress,
|
|
257
|
+
deliveryAddress1: result.deliveryAddress1,
|
|
258
|
+
deliveryAddress2: result.deliveryAddress2,
|
|
259
|
+
deliveryAddress3: result.deliveryAddress3,
|
|
260
|
+
deliveryAddress4: result.deliveryAddress4,
|
|
261
|
+
deliveryAddress5: result.deliveryAddress5,
|
|
262
|
+
attentionTo: result.attentionTo,
|
|
263
|
+
attentionCompany: result.attentionCompany,
|
|
264
|
+
city: result.city,
|
|
265
|
+
state: result.state,
|
|
266
|
+
postalCode: result.postalCode,
|
|
267
|
+
country: result.country,
|
|
268
|
+
phone1: result.phone1,
|
|
269
|
+
phone2: result.phone2,
|
|
270
|
+
email: result.email,
|
|
271
|
+
type: result.type,
|
|
272
|
+
packageId: result.packageId,
|
|
273
|
+
exportOption: result.exportOption,
|
|
274
|
+
releaseDate: result.releaseDate,
|
|
275
|
+
collectionOrderNo: result.collectionOrderNo,
|
|
276
|
+
bizplace: { name: result.bizplace.name },
|
|
277
|
+
domain: { name: result.domain.name }
|
|
278
|
+
}
|
|
279
|
+
context.body = { result: { createdDraftOrder } }
|
|
280
|
+
} else {
|
|
281
|
+
logger.error(`add-release-order: ${JSON.stringify(error)}`)
|
|
282
|
+
context.throw(400, context.t(error))
|
|
261
283
|
}
|
|
284
|
+
} else {
|
|
285
|
+
logger.error(`add-release-order: ${JSON.stringify(error)}`)
|
|
286
|
+
context.throw(400, context.t(error))
|
|
262
287
|
}
|
|
263
|
-
logger.error(`add-release-order: ${JSON.stringify(error)}`)
|
|
264
|
-
context.throw(400, context.t(error))
|
|
265
288
|
}
|
|
266
289
|
})
|
|
267
290
|
}
|
|
@@ -315,16 +338,16 @@ async function checkMandatoryKey(context, params) {
|
|
|
315
338
|
return params
|
|
316
339
|
}
|
|
317
340
|
|
|
318
|
-
async function checkExistingOrder(releaseGood, bizplace, context, tx) {
|
|
319
|
-
const { domain, user }
|
|
341
|
+
async function checkExistingOrder(releaseGood, bizplace, checkDuplicationValidation = true, context, tx) {
|
|
342
|
+
const { domain, user } = context.state
|
|
320
343
|
const refNo: string = releaseGood.refNo
|
|
321
344
|
const refNo2: string = releaseGood.refNo2
|
|
322
345
|
const refNo3: string = releaseGood.refNo3
|
|
323
346
|
|
|
324
|
-
if (
|
|
347
|
+
if (checkDuplicationValidation) {
|
|
325
348
|
const foundDraftReleaseGood: DraftReleaseGood = await tx.getRepository(DraftReleaseGood).findOne({
|
|
326
349
|
where: {
|
|
327
|
-
domain,
|
|
350
|
+
domain: { id: domain.id },
|
|
328
351
|
refNo: refNo || null,
|
|
329
352
|
refNo2: refNo2 || null,
|
|
330
353
|
refNo3: refNo3 || null,
|
|
@@ -340,7 +363,7 @@ async function checkExistingOrder(releaseGood, bizplace, context, tx) {
|
|
|
340
363
|
})
|
|
341
364
|
}
|
|
342
365
|
|
|
343
|
-
const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).
|
|
366
|
+
const sellercraft: Sellercraft = await tx.getRepository(Sellercraft).findOneBy({ domain: bizplace.domain })
|
|
344
367
|
|
|
345
368
|
if (sellercraft) {
|
|
346
369
|
const sellercraftCtrl: SellercraftController = new SellercraftController(tx, bizplace.domain, user)
|
|
@@ -366,7 +389,7 @@ async function checkExistingOrder(releaseGood, bizplace, context, tx) {
|
|
|
366
389
|
const refNo2: string = releaseGood.refNo2
|
|
367
390
|
const foundSplittedReleaseGood = await tx.getRepository(ReleaseGood).findOne({
|
|
368
391
|
where: {
|
|
369
|
-
domain,
|
|
392
|
+
domain: { id: domain.id },
|
|
370
393
|
refNo2,
|
|
371
394
|
status: Not(In([ORDER_STATUS.CANCELLED, ORDER_STATUS.PENDING_CANCEL]))
|
|
372
395
|
},
|
|
@@ -405,7 +428,7 @@ async function createReleaseGood(
|
|
|
405
428
|
tx?: EntityManager
|
|
406
429
|
): Promise<ReleaseGood> {
|
|
407
430
|
try {
|
|
408
|
-
const { domain, user }
|
|
431
|
+
const { domain, user } = context.state
|
|
409
432
|
const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)
|
|
410
433
|
|
|
411
434
|
if (orderProducts.length <= 0) {
|
|
@@ -421,13 +444,12 @@ async function createReleaseGood(
|
|
|
421
444
|
// find RO number rule setting
|
|
422
445
|
const roNoSetting: Setting = await settingRepo.findOne({
|
|
423
446
|
where: {
|
|
424
|
-
domain,
|
|
447
|
+
domain: { id: domain.id },
|
|
425
448
|
name: ORDER_NUMBER_SETTING_KEY.RO_NUMBER_RULE
|
|
426
449
|
}
|
|
427
450
|
})
|
|
428
451
|
|
|
429
452
|
newReleaseGood = {
|
|
430
|
-
...newReleaseGood,
|
|
431
453
|
name: roNoSetting
|
|
432
454
|
? await generateId({ domain, type: ORDER_NUMBER_RULE_TYPE.RO_NUMBER, seed: {} })
|
|
433
455
|
: OrderNoGenerator.releaseGood(),
|
|
@@ -470,6 +492,7 @@ async function createReleaseGood(
|
|
|
470
492
|
storeId: releaseGood?.storeId,
|
|
471
493
|
routeId: releaseGood?.routeId,
|
|
472
494
|
stopId: releaseGood?.stopId,
|
|
495
|
+
packageId: releaseGood?.packageId || null,
|
|
473
496
|
noOfItems: orderProducts.length,
|
|
474
497
|
creator: user,
|
|
475
498
|
updater: user,
|
|
@@ -501,7 +524,7 @@ async function createReleaseGood(
|
|
|
501
524
|
bizplace: bizplace,
|
|
502
525
|
releaseGood: resultReleaseGood,
|
|
503
526
|
type: ORDER_TYPES.RELEASE_OF_GOODS,
|
|
504
|
-
status:
|
|
527
|
+
status: ORDER_INVENTORY_STATUS.PENDING_WORKSHEET
|
|
505
528
|
})
|
|
506
529
|
await tx.getRepository(OrderInventory).save(orderInventory)
|
|
507
530
|
|
|
@@ -820,6 +843,10 @@ async function assignToInventory(orderProducts: OrderProduct[], customerBizplace
|
|
|
820
843
|
let orderProduct = orderProducts[opIdx]
|
|
821
844
|
|
|
822
845
|
let assignedOrderInventories = []
|
|
846
|
+
const pickingProductSetting: Setting = await tx.getRepository(Setting).findOne({
|
|
847
|
+
where: { domain: { id: domain.id }, name: 'rule-for-picking-product' }
|
|
848
|
+
})
|
|
849
|
+
|
|
823
850
|
for (let oiIdx = 0; oiIdx < orderProducts[opIdx].orderInventories.length; oiIdx++) {
|
|
824
851
|
const orderInventory = orderProduct.orderInventories[oiIdx]
|
|
825
852
|
let sortings: any = []
|
|
@@ -827,34 +854,58 @@ async function assignToInventory(orderProducts: OrderProduct[], customerBizplace
|
|
|
827
854
|
switch (orderInventory.product.pickingStrategy) {
|
|
828
855
|
case 'LIFO':
|
|
829
856
|
sortings.push({ name: 'iv.created_at', desc: true })
|
|
857
|
+
if (pickingProductSetting?.value) {
|
|
858
|
+
for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
|
|
859
|
+
sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false })
|
|
860
|
+
}
|
|
861
|
+
} else {
|
|
862
|
+
sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false })
|
|
863
|
+
}
|
|
830
864
|
|
|
831
865
|
break
|
|
832
866
|
case 'FEFO':
|
|
833
|
-
sortings.push({ name: 'iv.expiration_date', desc: false })
|
|
834
|
-
|
|
867
|
+
sortings.push({ name: 'iv.expiration_date', desc: false }, { name: 'iv.created_at', desc: false })
|
|
868
|
+
if (pickingProductSetting?.value) {
|
|
869
|
+
for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
|
|
870
|
+
sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false })
|
|
871
|
+
}
|
|
872
|
+
} else {
|
|
873
|
+
sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false })
|
|
874
|
+
}
|
|
835
875
|
|
|
836
876
|
break
|
|
837
877
|
case 'FMFO':
|
|
838
|
-
sortings.push({ name: 'iv.manufacture_date', desc: false })
|
|
839
|
-
|
|
878
|
+
sortings.push({ name: 'iv.manufacture_date', desc: false }, { name: 'iv.created_at', desc: false })
|
|
879
|
+
if (pickingProductSetting?.value) {
|
|
880
|
+
for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
|
|
881
|
+
sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false })
|
|
882
|
+
}
|
|
883
|
+
} else {
|
|
884
|
+
sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false })
|
|
885
|
+
}
|
|
840
886
|
|
|
841
887
|
break
|
|
842
888
|
case 'LOCATION':
|
|
843
|
-
const pickingProductSetting: Setting = await tx.getRepository(Setting).findOne({
|
|
844
|
-
where: { domain, name: 'rule-for-picking-product' }
|
|
845
|
-
})
|
|
846
889
|
if (pickingProductSetting?.value) {
|
|
847
890
|
for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
|
|
848
891
|
sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false })
|
|
849
892
|
}
|
|
850
893
|
} else {
|
|
851
|
-
sortings.push({ name: 'loc.name', desc:
|
|
894
|
+
sortings.push({ name: 'loc.name', desc: false }, { name: 'iv.created_at', desc: false })
|
|
852
895
|
}
|
|
853
896
|
|
|
854
897
|
break
|
|
855
898
|
//Every other case includes 'FIFO' will be applicable for this case
|
|
856
899
|
default:
|
|
857
900
|
sortings.push({ name: 'iv.created_at', desc: false })
|
|
901
|
+
if (pickingProductSetting?.value) {
|
|
902
|
+
for (const [key, value] of Object.entries(JSON.parse(pickingProductSetting.value))) {
|
|
903
|
+
sortings.push({ name: `loc.${key}`, desc: value == 'DESC' ? true : false })
|
|
904
|
+
}
|
|
905
|
+
} else {
|
|
906
|
+
sortings.push({ name: 'loc.name', desc: false })
|
|
907
|
+
sortings.push({ name: 'iv.pallet_id', desc: false })
|
|
908
|
+
}
|
|
858
909
|
break
|
|
859
910
|
}
|
|
860
911
|
|
|
@@ -912,7 +963,8 @@ async function assignToInventory(orderProducts: OrderProduct[], customerBizplace
|
|
|
912
963
|
sum(qty - locked_qty - release_qty) over (order by sort_seq asc rows between unbounded preceding and current row) as lock_amount
|
|
913
964
|
from (
|
|
914
965
|
SELECT 0 as sort_seq, null as id, null as pallet_id, null as batch_id, null as batch_id_ref,
|
|
915
|
-
null as unit, '${orderInventory.uom}' as uom, '${orderInventory.packingType}' as packing_type, '${
|
|
966
|
+
null as unit, '${orderInventory.uom}' as uom, '${orderInventory.packingType}' as packing_type, '${
|
|
967
|
+
orderInventory.packingSize
|
|
916
968
|
}' as packing_size,
|
|
917
969
|
null as manufacture_year, null as carton_id, 0 as uom_value, 0 as locked_uom_value, 0 as qty, 0 as locked_qty, null as created_at,
|
|
918
970
|
'${orderInventory.releaseQty}' as release_qty, '${orderInventory.releaseUomValue}' as release_uom_value
|
|
@@ -953,8 +1005,6 @@ async function assignToInventory(orderProducts: OrderProduct[], customerBizplace
|
|
|
953
1005
|
]
|
|
954
1006
|
)
|
|
955
1007
|
|
|
956
|
-
// let data = await qb.getMany()
|
|
957
|
-
|
|
958
1008
|
let totalAssigned = updatedInventories[0].reduce((acc, inv) => {
|
|
959
1009
|
return acc + inv.reserve_qty
|
|
960
1010
|
}, 0)
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import gql from 'graphql-tag'
|
|
2
|
-
import { getRepository } from 'typeorm'
|
|
3
2
|
|
|
4
3
|
import { restfulApiRouter as router } from '@things-factory/api'
|
|
5
4
|
import { Bizplace } from '@things-factory/biz-base'
|
|
6
|
-
import {
|
|
5
|
+
import { DraftReleaseGood, ReleaseGood } from '@things-factory/sales-base'
|
|
6
|
+
import { getRepository } from '@things-factory/shell'
|
|
7
7
|
|
|
8
8
|
import { businessMiddleware } from '../../../../middlewares/business-middleware'
|
|
9
9
|
import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
|
|
@@ -74,6 +74,33 @@ router.get(
|
|
|
74
74
|
refBy
|
|
75
75
|
path
|
|
76
76
|
}
|
|
77
|
+
orderInventories {
|
|
78
|
+
batchId
|
|
79
|
+
batchIdRef
|
|
80
|
+
packingType
|
|
81
|
+
packingSize
|
|
82
|
+
uom
|
|
83
|
+
releaseQty
|
|
84
|
+
releaseUomValue
|
|
85
|
+
product {
|
|
86
|
+
sku
|
|
87
|
+
name
|
|
88
|
+
description
|
|
89
|
+
brand
|
|
90
|
+
brandSku
|
|
91
|
+
gtin
|
|
92
|
+
type
|
|
93
|
+
}
|
|
94
|
+
orderToteItems {
|
|
95
|
+
qty
|
|
96
|
+
orderTote {
|
|
97
|
+
name
|
|
98
|
+
orderToteSeals {
|
|
99
|
+
name
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
77
104
|
releaseGood {
|
|
78
105
|
name
|
|
79
106
|
description
|
|
@@ -84,7 +111,6 @@ router.get(
|
|
|
84
111
|
ownTransport
|
|
85
112
|
crossDocking
|
|
86
113
|
status
|
|
87
|
-
releaseDateTime
|
|
88
114
|
releaseDate
|
|
89
115
|
remark
|
|
90
116
|
courierOption
|
|
@@ -118,16 +144,6 @@ router.get(
|
|
|
118
144
|
handoverType
|
|
119
145
|
dropoffAddress
|
|
120
146
|
noOfItems
|
|
121
|
-
orderProducts {
|
|
122
|
-
id
|
|
123
|
-
type
|
|
124
|
-
batchId
|
|
125
|
-
packingType
|
|
126
|
-
packingSize
|
|
127
|
-
releaseQty
|
|
128
|
-
releaseUomValue
|
|
129
|
-
status
|
|
130
|
-
}
|
|
131
147
|
}
|
|
132
148
|
createdAt
|
|
133
149
|
updatedAt
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import gql from 'graphql-tag'
|
|
2
|
-
import { getRepository } from 'typeorm'
|
|
3
2
|
|
|
4
3
|
import { restfulApiRouter as router } from '@things-factory/api'
|
|
5
4
|
import { Product } from '@things-factory/product-base'
|
|
5
|
+
import { getRepository } from '@things-factory/shell'
|
|
6
6
|
|
|
7
7
|
import { businessMiddleware } from '../../../../middlewares/business-middleware'
|
|
8
8
|
import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import { In } from 'typeorm'
|
|
2
|
+
|
|
1
3
|
import { restfulApiRouter as router } from '@things-factory/api'
|
|
2
4
|
import { Bizplace, Partner } from '@things-factory/biz-base'
|
|
3
|
-
import { getRepository
|
|
5
|
+
import { getRepository } from '@things-factory/shell'
|
|
4
6
|
|
|
5
7
|
const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:get-partners')
|
|
6
8
|
|
|
7
9
|
router.get('/unstable/partners/:bizplaceId', async (context, next) => {
|
|
8
10
|
const { bizplaceId } = context.params
|
|
9
|
-
const bizplace: Bizplace = await getRepository(Bizplace).
|
|
11
|
+
const bizplace: Bizplace = await getRepository(Bizplace).findOneBy({ id: bizplaceId })
|
|
10
12
|
const partners: Partner[] = await getRepository(Partner).find({
|
|
11
13
|
where: { partnerBizplace: bizplace },
|
|
12
14
|
relations: ['domainBizplace']
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { restfulApiRouter as router } from '@things-factory/api'
|
|
2
2
|
import { Bizplace } from '@things-factory/biz-base'
|
|
3
|
-
import { getRepository } from '
|
|
3
|
+
import { getRepository } from '@things-factory/shell'
|
|
4
|
+
|
|
4
5
|
import { getBizplaceAccessibleWarehouses } from '../../../../utils'
|
|
5
6
|
|
|
6
7
|
const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:get-partners')
|
|
@@ -8,7 +9,7 @@ const debug = require('debug')('things-factory:operato-hub:restful-api:unstable:
|
|
|
8
9
|
router.get('/unstable/get-warehouses/:bizplaceId', async (context, next) => {
|
|
9
10
|
try {
|
|
10
11
|
const { bizplaceId } = context.params
|
|
11
|
-
const bizplace: Bizplace = await getRepository(Bizplace).
|
|
12
|
+
const bizplace: Bizplace = await getRepository(Bizplace).findOneBy({ id: bizplaceId })
|
|
12
13
|
context.body = {
|
|
13
14
|
result: await getBizplaceAccessibleWarehouses(bizplace)
|
|
14
15
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import gql from 'graphql-tag'
|
|
2
|
-
import { getRepository } from 'typeorm'
|
|
3
2
|
|
|
4
3
|
import { restfulApiRouter as router } from '@things-factory/api'
|
|
5
4
|
import { Bizplace } from '@things-factory/biz-base'
|
|
5
|
+
import { getRepository } from '@things-factory/shell'
|
|
6
6
|
|
|
7
7
|
import { businessMiddleware } from '../../../../middlewares/business-middleware'
|
|
8
8
|
import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import gql from 'graphql-tag'
|
|
2
|
-
import {
|
|
2
|
+
import { In } from 'typeorm'
|
|
3
3
|
|
|
4
4
|
import { restfulApiRouter as router } from '@things-factory/api'
|
|
5
5
|
import { Bizplace, ContactPoint, getCompanyBizplace } from '@things-factory/biz-base'
|
|
6
6
|
import { Product, ProductDetail } from '@things-factory/product-base'
|
|
7
|
+
import { getRepository } from '@things-factory/shell'
|
|
7
8
|
|
|
8
9
|
import { businessMiddleware } from '../../../../middlewares/business-middleware'
|
|
9
10
|
import { warehouseMiddleware } from '../../../../middlewares/warehouse-middleware'
|
|
@@ -90,8 +91,8 @@ router.post(
|
|
|
90
91
|
const supplierInfo = bodyReq.supplier
|
|
91
92
|
const foundSupplier: ContactPoint = await getRepository(ContactPoint).findOne({
|
|
92
93
|
where: {
|
|
93
|
-
domain,
|
|
94
|
-
bizplace: warehouseId,
|
|
94
|
+
domain: { id: domain.id },
|
|
95
|
+
bizplace: { id: warehouseId },
|
|
95
96
|
name: supplierInfo.name,
|
|
96
97
|
companyName: supplierInfo.companyName,
|
|
97
98
|
email: supplierInfo.email,
|