@things-factory/sales-base 7.0.1-beta.16 → 7.0.1-beta.18

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.
Files changed (44) hide show
  1. package/dist-server/service/arrival-notice/arrival-notice-query.js +2 -2
  2. package/dist-server/service/arrival-notice/arrival-notice-query.js.map +1 -1
  3. package/dist-server/service/delivery-order/delivery-order-query.js +2 -2
  4. package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -1
  5. package/dist-server/service/draft-release-good/draft-release-good-query.js +1 -1
  6. package/dist-server/service/draft-release-good/draft-release-good-query.js.map +1 -1
  7. package/dist-server/service/goods-receival-note/goods-receival-note-query.js +1 -1
  8. package/dist-server/service/goods-receival-note/goods-receival-note-query.js.map +1 -1
  9. package/dist-server/service/manifest/manifest-query.js +1 -1
  10. package/dist-server/service/manifest/manifest-query.js.map +1 -1
  11. package/dist-server/service/manifest/manifest.js +2 -2
  12. package/dist-server/service/manifest/manifest.js.map +1 -1
  13. package/dist-server/service/order-inventory/order-inventory-query.js +3 -3
  14. package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
  15. package/dist-server/service/order-tote/order-tote.js +1 -1
  16. package/dist-server/service/order-tote/order-tote.js.map +1 -1
  17. package/dist-server/service/others/other-query.js +3 -3
  18. package/dist-server/service/others/other-query.js.map +1 -1
  19. package/dist-server/service/release-good/release-good-query.js +2 -2
  20. package/dist-server/service/release-good/release-good-query.js.map +1 -1
  21. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js +1 -1
  22. package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js.map +1 -1
  23. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js +2 -2
  24. package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js.map +1 -1
  25. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js +1 -1
  26. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js.map +1 -1
  27. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js +2 -2
  28. package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js.map +1 -1
  29. package/dist-server/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +13 -13
  31. package/server/service/arrival-notice/arrival-notice-query.ts +8 -2
  32. package/server/service/delivery-order/delivery-order-query.ts +9 -3
  33. package/server/service/draft-release-good/draft-release-good-query.ts +4 -1
  34. package/server/service/goods-receival-note/goods-receival-note-query.ts +10 -7
  35. package/server/service/manifest/manifest-query.ts +1 -1
  36. package/server/service/manifest/manifest.ts +2 -2
  37. package/server/service/order-inventory/order-inventory-query.ts +9 -3
  38. package/server/service/order-tote/order-tote.ts +1 -1
  39. package/server/service/others/other-query.ts +3 -3
  40. package/server/service/release-good/release-good-query.ts +8 -2
  41. package/server/service/reverse-kitting-order/reverse-kitting-order-query.ts +1 -1
  42. package/server/service/reverse-kitting-order/reverse-kitting-order.ts +2 -2
  43. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.ts +1 -1
  44. package/server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"goods-receival-note-query.js","sourceRoot":"","sources":["../../../server/service/goods-receival-note/goods-receival-note-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { IsNull, Not, OrderByCondition, SelectQueryBuilder } from 'typeorm'\n\nimport { Partner, User } from '@things-factory/auth-base'\nimport { Bizplace, ContactPoint, getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { buildQuery, Domain, getRepository, ListParam } from '@things-factory/shell'\nimport { ReducedInventoryHistory } from '@things-factory/warehouse-base'\n\nimport { GoodsReceivalNoteList } from '../'\nimport { DateTimeConverter } from '../../utils/datetime-util'\nimport { ArrivalNotice } from '../arrival-notice/arrival-notice'\nimport { OrderProduct } from '../order-product/order-product'\nimport { GoodsReceivalNote } from './goods-receival-note'\n\n@Resolver(GoodsReceivalNote)\nexport class GoodsReceivalNoteQuery {\n @Query(returns => GoodsReceivalNoteList)\n async goodsReceivalNotes(@Ctx() context: ResolverContext, @Args() params: ListParam): Promise<GoodsReceivalNoteList> {\n const { domain, user } = context.state\n\n const fromDateParamIdx = params.filters.findIndex(param => param.name === 'fromDate')\n if (fromDateParamIdx >= 0) {\n let fromDateVal = new Date(params.filters[fromDateParamIdx].value)\n params.filters.splice(fromDateParamIdx, 1)\n\n params.filters.push({\n name: 'createdAt',\n operator: 'gte',\n value: fromDateVal.toISOString(),\n relation: false\n })\n }\n\n const toDateParamIdx = params.filters.findIndex(param => param.name === 'toDate')\n if (toDateParamIdx >= 0) {\n let toDateVal = new Date(params.filters[toDateParamIdx].value)\n params.filters.splice(toDateParamIdx, 1)\n\n params.filters.push({\n name: 'createdAt',\n operator: 'lt',\n value: new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),\n relation: false\n })\n }\n\n let refNoFilter = params.filters.find(x => x.name == 'refNo')\n let refNo2Filter = params.filters.find(x => x.name == 'refNo2')\n let refNo3Filter = params.filters.find(x => x.name == 'refNo3')\n let ganNameFilter = params.filters.find(x => x.name == 'arrivalNoticeNo')\n let bizplaceFilter = params.filters.find(x => x.name == 'bizplaceName')\n let ganStatusFilter = params.filters.find(x => x.name == 'ganStatus')\n let grnStatusFilter = params.filters.find(x => x.name == 'grnStatus')\n let orderProductsApiFilter = params.filters.find(x => x.name == 'orderProductsApi')\n\n params.filters = params.filters.filter(\n x =>\n x.name != 'refNo' &&\n x.name != 'refNo2' &&\n x.name != 'refNo3' &&\n x.name != 'arrivalNoticeNo' &&\n x.name != 'bizplaceName' &&\n x.name != 'ganStatus' &&\n x.name != 'grnStatus'\n )\n\n const qb: SelectQueryBuilder<GoodsReceivalNote> = getRepository(GoodsReceivalNote).createQueryBuilder('grn')\n buildQuery(qb, params, context)\n qb.addSelect('COALESCE(\"cc\".rank, 9999)', 'rank')\n qb.leftJoinAndSelect('grn.domain', 'domain')\n qb.leftJoinAndSelect('grn.bizplace', 'bizplace')\n qb.leftJoinAndSelect('grn.creator', 'creator')\n qb.leftJoinAndSelect('grn.updater', 'updater')\n qb.innerJoinAndSelect('grn.arrivalNotice', 'arrivalNotice')\n if (orderProductsApiFilter?.value) {\n qb.innerJoinAndSelect('arrivalNotice.orderProducts', 'orderProducts')\n qb.innerJoinAndSelect('orderProducts.product', 'product')\n }\n qb.leftJoin(\n subQuery => {\n return subQuery\n .select(`ccd.rank`, 'rank')\n .addSelect(`ccd.name`, 'status')\n .from(`common_code_details`, 'ccd')\n .innerJoin(`ccd.commonCode`, 'cc')\n .where(`ccd.domain_id = :domainId`, { domainId: domain.id })\n .andWhere(`cc.name = 'GRN_STATUS'`)\n .andWhere(`cc.name = 'GAN_REQUESTS_STATUS'`)\n },\n 'cc',\n 'cc.status = arrivalNotice.status'\n )\n\n let permittedBizplaceIds = await getPermittedBizplaceIds(domain, user)\n qb.andWhere('grn.bizplace_id IN (:...bizplaceIds)', { bizplaceIds: permittedBizplaceIds })\n\n if (refNoFilter?.value) {\n qb.andWhere('arrivalNotice.ref_no ilike :refNo', { refNo: refNoFilter.value })\n }\n if (refNo2Filter?.value) {\n qb.andWhere('arrivalNotice.ref_no_2 ilike :refNo2', { refNo2: refNo2Filter.value })\n }\n if (refNo3Filter?.value) {\n qb.andWhere('arrivalNotice.ref_no_3 ilike :refNo3', { refNo3: refNo3Filter.value })\n }\n if (ganNameFilter?.value) {\n qb.andWhere('arrivalNotice.name ilike :ganName', { ganName: ganNameFilter.value })\n }\n if (bizplaceFilter?.value) {\n qb.andWhere('bizplace.name ilike :bizName', { bizName: bizplaceFilter.value })\n }\n\n if (ganStatusFilter?.value) {\n qb.andWhere('arrivalNotice.status ilike :ganStatus', { ganStatus: ganStatusFilter.value })\n }\n if (grnStatusFilter?.value) {\n qb.andWhere('grn.status ilike :grnStatus', { grnStatus: grnStatusFilter.value })\n }\n\n const arrChildSortData = ['refNo', 'refNo2', 'refNo3']\n const arrNameSortData = ['bizplace', 'arrivalNotice', 'updater']\n const arrGanStatusSortData = ['ganStatus']\n const arrGrnStatuSortData = ['status']\n const sort: OrderByCondition = (params.sortings || []).reduce(\n (acc, sort) => ({\n ...acc,\n [arrChildSortData.indexOf(sort.name) >= 0\n ? 'arrivalNotice.' + sort.name\n : arrNameSortData.indexOf(sort.name) >= 0\n ? sort.name + '.name'\n : arrGanStatusSortData.indexOf(sort.name) >= 0\n ? 'arrivalNotice.status'\n : arrGrnStatuSortData.indexOf(sort.name) >= 0\n ? 'grn.status'\n : 'grn.' + sort.name]: sort.desc ? 'DESC' : 'ASC'\n }),\n !params.sortings.some(e => e.name === 'status') ? { rank: 'ASC' } : {}\n )\n\n qb.orderBy(sort)\n\n const [items, total] = await qb.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => GoodsReceivalNote)\n async goodsReceivalNote(\n @Arg('name') name: string,\n @Arg('timezoneOffSet') timezoneOffSet: string,\n @Ctx() context: ResolverContext\n ): Promise<any> {\n const { domain } = context.state\n\n const foundGRN: GoodsReceivalNote = await getRepository(GoodsReceivalNote).findOne({\n where: { domain: { id: domain.id }, name },\n relations: [\n 'domain',\n 'bizplace',\n 'bizplace.domain',\n 'bizplace.company',\n 'arrivalNotice',\n 'arrivalNotice.purchaseOrder'\n ]\n })\n\n const foundGAN: ArrivalNotice = foundGRN.arrivalNotice\n const ownRefNo = foundGAN.refNo\n\n const partnerBiz: Bizplace = foundGRN.bizplace\n\n const partnerDomain: Partner = await getRepository(Partner).findOne({\n where: { partnerDomain: { id: partnerBiz.domain.id }, domain: { id: domain.id } },\n relations: ['domain']\n })\n\n const domainOwner: Domain = partnerDomain.domain\n const domainBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { domain: { id: domainOwner.id } },\n relations: ['company']\n })\n\n const qbReducedInventory = await getRepository(ReducedInventoryHistory)\n .createQueryBuilder('ivh')\n .select('product_id', 'productId')\n .addSelect('batch_id', 'batchId')\n .addSelect('reusable_pallet_id', 'reusablePalletId')\n .addSelect('packing_type', 'packingType')\n .addSelect('sum(qty)', 'qty')\n .addSelect('sum(uom_value)', 'uomValue')\n .addSelect('uom', 'uom')\n .addSelect('count(distinct pallet_id)', 'pallet')\n .addSelect(`string_agg(distinct expiration_date::varchar,', ' order by expiration_date::varchar)`, 'expiryDate')\n .addSelect(`string_agg(distinct pallet_id::varchar,', ' order by pallet_id::varchar)`, 'palletId')\n .where('ivh.domain_id = :domainId', { domainId: domain.id })\n .andWhere('ivh.ref_order_id = :refOrderId', { refOrderId: foundGAN.id })\n .andWhere(`ivh.transaction_type = 'UNLOADING'`)\n .groupBy('reusable_pallet_id')\n .addGroupBy('product_id')\n .addGroupBy('batch_id')\n .addGroupBy('packing_type')\n .addGroupBy('uom')\n .getRawMany()\n\n // 5. find domain contact point\n const foundCP: ContactPoint = await getRepository(ContactPoint).findOne({\n where: { domain: { id: domain.id }, bizplace: { id: domainBizplace.id } }\n })\n\n const inboundInventories: any[] = await qbReducedInventory\n\n const targetProducts: OrderProduct[] = await getRepository(OrderProduct).find({\n where: {\n domain: { id: domain.id },\n arrivalNotice: { id: foundGAN.id },\n actualPalletQty: Not(IsNull()),\n actualPackQty: Not(IsNull())\n },\n relations: ['product', 'arrivalNotice', 'arrivalNotice.purchaseOrder']\n })\n\n const data = {\n grnNo: foundGRN.name,\n ganNo: foundGAN.name,\n refGANNo: foundGAN.refNo || '',\n refGANNo2: foundGAN.refNo2 || '',\n refGANNo3: foundGAN.refNo3 || '',\n companyDomain: domainBizplace.company.name,\n supplier: foundCP.name || '',\n date: foundGAN.acceptedAt ? DateTimeConverter.datetime(foundGAN.acceptedAt, timezoneOffSet) : '',\n productLists: targetProducts.map((item, idx) => {\n let unloadInvHistory = inboundInventories.find(\n ih =>\n ih.productId == item.product.id &&\n ih.batchId == item.batchId &&\n ih.packingType == item.packingType &&\n ih.uom == item.uom\n )\n\n return {\n list_no: idx + 1,\n po: item?.arrivalNotice?.purchaseOrder?.name ? item?.arrivalNotice?.purchaseOrder.name : '',\n batchNo: item.batchId || '',\n productSKU: `${item.product.sku}`,\n productName: `${item.product.name}(${item.product.description})`,\n productType: item.packingType,\n productBatch: item.batchId,\n expectedQty: item.packQty,\n actualQty: unloadInvHistory.qty || item.actualPackQty,\n actualUomValue: item.uomValue * item.actualPackQty,\n productUom: `${unloadInvHistory.uom || item.uom}`,\n expiryDate: unloadInvHistory.expiryDate || '',\n unitPrice: item.unitPrice.toFixed(2) || 0.0,\n manufactureDate: item.manufactureDate || '',\n remark: (item.remark ? item.remark : '') + (item.issue ? ' [Issue]: ' + item.issue : '')\n }\n })\n }\n\n return data\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() goodsReceivalNote: GoodsReceivalNote): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: goodsReceivalNote.domainId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() goodsReceivalNote: GoodsReceivalNote): Promise<User> {\n return await getRepository(User).findOneBy({ id: goodsReceivalNote.creatorId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() goodsReceivalNote: GoodsReceivalNote): Promise<User> {\n return await getRepository(User).findOneBy({ id: goodsReceivalNote.updaterId })\n }\n}\n"]}
1
+ {"version":3,"file":"goods-receival-note-query.js","sourceRoot":"","sources":["../../../server/service/goods-receival-note/goods-receival-note-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { IsNull, Not, OrderByCondition, SelectQueryBuilder } from 'typeorm'\n\nimport { Partner, User } from '@things-factory/auth-base'\nimport { Bizplace, ContactPoint, getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { buildQuery, Domain, getRepository, ListParam } from '@things-factory/shell'\nimport { ReducedInventoryHistory } from '@things-factory/warehouse-base'\n\nimport { GoodsReceivalNoteList } from '../'\nimport { DateTimeConverter } from '../../utils/datetime-util'\nimport { ArrivalNotice } from '../arrival-notice/arrival-notice'\nimport { OrderProduct } from '../order-product/order-product'\nimport { GoodsReceivalNote } from './goods-receival-note'\n\n@Resolver(GoodsReceivalNote)\nexport class GoodsReceivalNoteQuery {\n @Query(returns => GoodsReceivalNoteList)\n async goodsReceivalNotes(\n @Ctx() context: ResolverContext,\n @Args(type => ListParam) params: ListParam\n ): Promise<GoodsReceivalNoteList> {\n const { domain, user } = context.state\n\n const fromDateParamIdx = params.filters.findIndex(param => param.name === 'fromDate')\n if (fromDateParamIdx >= 0) {\n let fromDateVal = new Date(params.filters[fromDateParamIdx].value)\n params.filters.splice(fromDateParamIdx, 1)\n\n params.filters.push({\n name: 'createdAt',\n operator: 'gte',\n value: fromDateVal.toISOString(),\n relation: false\n })\n }\n\n const toDateParamIdx = params.filters.findIndex(param => param.name === 'toDate')\n if (toDateParamIdx >= 0) {\n let toDateVal = new Date(params.filters[toDateParamIdx].value)\n params.filters.splice(toDateParamIdx, 1)\n\n params.filters.push({\n name: 'createdAt',\n operator: 'lt',\n value: new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),\n relation: false\n })\n }\n\n let refNoFilter = params.filters.find(x => x.name == 'refNo')\n let refNo2Filter = params.filters.find(x => x.name == 'refNo2')\n let refNo3Filter = params.filters.find(x => x.name == 'refNo3')\n let ganNameFilter = params.filters.find(x => x.name == 'arrivalNoticeNo')\n let bizplaceFilter = params.filters.find(x => x.name == 'bizplaceName')\n let ganStatusFilter = params.filters.find(x => x.name == 'ganStatus')\n let grnStatusFilter = params.filters.find(x => x.name == 'grnStatus')\n let orderProductsApiFilter = params.filters.find(x => x.name == 'orderProductsApi')\n\n params.filters = params.filters.filter(\n x =>\n x.name != 'refNo' &&\n x.name != 'refNo2' &&\n x.name != 'refNo3' &&\n x.name != 'arrivalNoticeNo' &&\n x.name != 'bizplaceName' &&\n x.name != 'ganStatus' &&\n x.name != 'grnStatus'\n )\n\n const qb: SelectQueryBuilder<GoodsReceivalNote> = getRepository(GoodsReceivalNote).createQueryBuilder('grn')\n buildQuery(qb, params, context)\n qb.addSelect('COALESCE(\"cc\".rank, 9999)', 'rank')\n qb.leftJoinAndSelect('grn.domain', 'domain')\n qb.leftJoinAndSelect('grn.bizplace', 'bizplace')\n qb.leftJoinAndSelect('grn.creator', 'creator')\n qb.leftJoinAndSelect('grn.updater', 'updater')\n qb.innerJoinAndSelect('grn.arrivalNotice', 'arrivalNotice')\n if (orderProductsApiFilter?.value) {\n qb.innerJoinAndSelect('arrivalNotice.orderProducts', 'orderProducts')\n qb.innerJoinAndSelect('orderProducts.product', 'product')\n }\n qb.leftJoin(\n subQuery => {\n return subQuery\n .select(`ccd.rank`, 'rank')\n .addSelect(`ccd.name`, 'status')\n .from(`common_code_details`, 'ccd')\n .innerJoin(`ccd.commonCode`, 'cc')\n .where(`ccd.domain_id = :domainId`, { domainId: domain.id })\n .andWhere(`cc.name = 'GRN_STATUS'`)\n .andWhere(`cc.name = 'GAN_REQUESTS_STATUS'`)\n },\n 'cc',\n 'cc.status = arrivalNotice.status'\n )\n\n let permittedBizplaceIds = await getPermittedBizplaceIds(domain, user)\n qb.andWhere('grn.bizplace_id IN (:...bizplaceIds)', { bizplaceIds: permittedBizplaceIds })\n\n if (refNoFilter?.value) {\n qb.andWhere('arrivalNotice.ref_no ilike :refNo', { refNo: refNoFilter.value })\n }\n if (refNo2Filter?.value) {\n qb.andWhere('arrivalNotice.ref_no_2 ilike :refNo2', { refNo2: refNo2Filter.value })\n }\n if (refNo3Filter?.value) {\n qb.andWhere('arrivalNotice.ref_no_3 ilike :refNo3', { refNo3: refNo3Filter.value })\n }\n if (ganNameFilter?.value) {\n qb.andWhere('arrivalNotice.name ilike :ganName', { ganName: ganNameFilter.value })\n }\n if (bizplaceFilter?.value) {\n qb.andWhere('bizplace.name ilike :bizName', { bizName: bizplaceFilter.value })\n }\n\n if (ganStatusFilter?.value) {\n qb.andWhere('arrivalNotice.status ilike :ganStatus', { ganStatus: ganStatusFilter.value })\n }\n if (grnStatusFilter?.value) {\n qb.andWhere('grn.status ilike :grnStatus', { grnStatus: grnStatusFilter.value })\n }\n\n const arrChildSortData = ['refNo', 'refNo2', 'refNo3']\n const arrNameSortData = ['bizplace', 'arrivalNotice', 'updater']\n const arrGanStatusSortData = ['ganStatus']\n const arrGrnStatuSortData = ['status']\n const sort: OrderByCondition = (params.sortings || []).reduce(\n (acc, sort) => ({\n ...acc,\n [arrChildSortData.indexOf(sort.name) >= 0\n ? 'arrivalNotice.' + sort.name\n : arrNameSortData.indexOf(sort.name) >= 0\n ? sort.name + '.name'\n : arrGanStatusSortData.indexOf(sort.name) >= 0\n ? 'arrivalNotice.status'\n : arrGrnStatuSortData.indexOf(sort.name) >= 0\n ? 'grn.status'\n : 'grn.' + sort.name]: sort.desc ? 'DESC' : 'ASC'\n }),\n !params.sortings.some(e => e.name === 'status') ? { rank: 'ASC' } : {}\n )\n\n qb.orderBy(sort)\n\n const [items, total] = await qb.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => GoodsReceivalNote)\n async goodsReceivalNote(\n @Arg('name') name: string,\n @Arg('timezoneOffSet') timezoneOffSet: string,\n @Ctx() context: ResolverContext\n ): Promise<any> {\n const { domain } = context.state\n\n const foundGRN: GoodsReceivalNote = await getRepository(GoodsReceivalNote).findOne({\n where: { domain: { id: domain.id }, name },\n relations: [\n 'domain',\n 'bizplace',\n 'bizplace.domain',\n 'bizplace.company',\n 'arrivalNotice',\n 'arrivalNotice.purchaseOrder'\n ]\n })\n\n const foundGAN: ArrivalNotice = foundGRN.arrivalNotice\n const ownRefNo = foundGAN.refNo\n\n const partnerBiz: Bizplace = foundGRN.bizplace\n\n const partnerDomain: Partner = await getRepository(Partner).findOne({\n where: { partnerDomain: { id: partnerBiz.domain.id }, domain: { id: domain.id } },\n relations: ['domain']\n })\n\n const domainOwner: Domain = partnerDomain.domain\n const domainBizplace: Bizplace = await getRepository(Bizplace).findOne({\n where: { domain: { id: domainOwner.id } },\n relations: ['company']\n })\n\n const qbReducedInventory = await getRepository(ReducedInventoryHistory)\n .createQueryBuilder('ivh')\n .select('product_id', 'productId')\n .addSelect('batch_id', 'batchId')\n .addSelect('reusable_pallet_id', 'reusablePalletId')\n .addSelect('packing_type', 'packingType')\n .addSelect('sum(qty)', 'qty')\n .addSelect('sum(uom_value)', 'uomValue')\n .addSelect('uom', 'uom')\n .addSelect('count(distinct pallet_id)', 'pallet')\n .addSelect(`string_agg(distinct expiration_date::varchar,', ' order by expiration_date::varchar)`, 'expiryDate')\n .addSelect(`string_agg(distinct pallet_id::varchar,', ' order by pallet_id::varchar)`, 'palletId')\n .where('ivh.domain_id = :domainId', { domainId: domain.id })\n .andWhere('ivh.ref_order_id = :refOrderId', { refOrderId: foundGAN.id })\n .andWhere(`ivh.transaction_type = 'UNLOADING'`)\n .groupBy('reusable_pallet_id')\n .addGroupBy('product_id')\n .addGroupBy('batch_id')\n .addGroupBy('packing_type')\n .addGroupBy('uom')\n .getRawMany()\n\n // 5. find domain contact point\n const foundCP: ContactPoint = await getRepository(ContactPoint).findOne({\n where: { domain: { id: domain.id }, bizplace: { id: domainBizplace.id } }\n })\n\n const inboundInventories: any[] = await qbReducedInventory\n\n const targetProducts: OrderProduct[] = await getRepository(OrderProduct).find({\n where: {\n domain: { id: domain.id },\n arrivalNotice: { id: foundGAN.id },\n actualPalletQty: Not(IsNull()),\n actualPackQty: Not(IsNull())\n },\n relations: ['product', 'arrivalNotice', 'arrivalNotice.purchaseOrder']\n })\n\n const data = {\n grnNo: foundGRN.name,\n ganNo: foundGAN.name,\n refGANNo: foundGAN.refNo || '',\n refGANNo2: foundGAN.refNo2 || '',\n refGANNo3: foundGAN.refNo3 || '',\n companyDomain: domainBizplace.company.name,\n supplier: foundCP.name || '',\n date: foundGAN.acceptedAt ? DateTimeConverter.datetime(foundGAN.acceptedAt, timezoneOffSet) : '',\n productLists: targetProducts.map((item, idx) => {\n let unloadInvHistory = inboundInventories.find(\n ih =>\n ih.productId == item.product.id &&\n ih.batchId == item.batchId &&\n ih.packingType == item.packingType &&\n ih.uom == item.uom\n )\n\n return {\n list_no: idx + 1,\n po: item?.arrivalNotice?.purchaseOrder?.name ? item?.arrivalNotice?.purchaseOrder.name : '',\n batchNo: item.batchId || '',\n productSKU: `${item.product.sku}`,\n productName: `${item.product.name}(${item.product.description})`,\n productType: item.packingType,\n productBatch: item.batchId,\n expectedQty: item.packQty,\n actualQty: unloadInvHistory.qty || item.actualPackQty,\n actualUomValue: item.uomValue * item.actualPackQty,\n productUom: `${unloadInvHistory.uom || item.uom}`,\n expiryDate: unloadInvHistory.expiryDate || '',\n unitPrice: item.unitPrice.toFixed(2) || 0.0,\n manufactureDate: item.manufactureDate || '',\n remark: (item.remark ? item.remark : '') + (item.issue ? ' [Issue]: ' + item.issue : '')\n }\n })\n }\n\n return data\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() goodsReceivalNote: GoodsReceivalNote): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: goodsReceivalNote.domainId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() goodsReceivalNote: GoodsReceivalNote): Promise<User> {\n return await getRepository(User).findOneBy({ id: goodsReceivalNote.creatorId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() goodsReceivalNote: GoodsReceivalNote): Promise<User> {\n return await getRepository(User).findOneBy({ id: goodsReceivalNote.updaterId })\n }\n}\n"]}
@@ -117,7 +117,7 @@ tslib_1.__decorate([
117
117
  ], ManifestQuery.prototype, "manifest", null);
118
118
  tslib_1.__decorate([
119
119
  (0, type_graphql_1.Query)(returns => manifest_type_1.ManifestList, { description: 'To fetch multiple Manifests' }),
120
- tslib_1.__param(0, (0, type_graphql_1.Args)()),
120
+ tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
121
121
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
122
122
  tslib_1.__metadata("design:type", Function),
123
123
  tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-query.js","sourceRoot":"","sources":["../../../server/service/manifest/manifest-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { SelectQueryBuilder } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { buildQuery, convertListParams, Domain, getRepository, ListParam, Sorting } from '@things-factory/shell'\n\nimport { ReleaseGood } from '../release-good/release-good'\nimport { Manifest } from './manifest'\nimport { ManifestList } from './manifest-type'\n\n@Resolver(Manifest)\nexport class ManifestQuery {\n @Query(returns => Manifest, { description: 'To fetch a Manifest' })\n async manifest(\n @Arg('name') name: string,\n @Ctx() context: ResolverContext,\n @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[]\n ): Promise<Manifest> {\n const phoneSort = sortings.findIndex(sort => sort.name === 'phone')\n if (phoneSort >= 0) {\n sortings[phoneSort].name = 'phone1'\n }\n\n const deliveryAddressSort = sortings.findIndex(sort => sort.name === 'deliveryAddress')\n if (deliveryAddressSort >= 0) {\n sortings[deliveryAddressSort].name = 'deliveryAddress1'\n }\n\n const orderRemarkSort = sortings.findIndex(sort => sort.name === 'orderRemark')\n if (orderRemarkSort >= 0) {\n sortings[orderRemarkSort].name = 'remark'\n }\n\n const orderStatusSort = sortings.findIndex(sort => sort.name === 'orderStatus')\n if (orderStatusSort >= 0) {\n sortings[orderStatusSort].name = 'status'\n }\n const convertedParams = convertListParams({ sortings })\n const { domain, tx } = context.state\n const manifest: Manifest = await getRepository(Manifest).findOne({ where: { domain: { id: domain.id }, name } })\n\n const releaseGoods: ReleaseGood[] = await getRepository(ReleaseGood).find({\n ...convertedParams,\n where: { manifest: { id: manifest.id } }\n })\n\n const trackingNos: any[] = releaseGoods.map(releaseGood => {\n return {\n trackingNo: releaseGood.trackingNo,\n refNo: releaseGood.refNo,\n deliveryAddress: releaseGood.deliveryAddress1,\n attentionTo: releaseGood.attentionTo,\n postalCode: releaseGood.postalCode,\n city: releaseGood.city,\n phone: releaseGood.phone1,\n dispatchmentStatus: releaseGood.dispatchmentStatus,\n orderStatus: releaseGood.status,\n orderRemark: releaseGood.remark\n }\n })\n\n return {\n ...manifest,\n trackingNos\n }\n }\n\n @Query(returns => ManifestList, { description: 'To fetch multiple Manifests' })\n async manifests(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ManifestList> {\n const { domain } = context.state\n\n let orderInfoFilter\n const orderInfoParamIdx = params.filters.findIndex(param => param.name === 'orderInfo')\n if (orderInfoParamIdx >= 0) {\n orderInfoFilter = params.filters[orderInfoParamIdx].value.toLowerCase().split(',').join('|')\n\n params.filters.splice(orderInfoParamIdx, 1)\n }\n\n let trackingNoFilter\n const trackingNoParamIdx = params.filters.findIndex(param => param.name === 'trackingNo')\n if (trackingNoParamIdx >= 0) {\n trackingNoFilter = params.filters[trackingNoParamIdx].value\n\n params.filters.splice(trackingNoParamIdx, 1)\n }\n\n const fromDateParamIdx = params.filters.findIndex(param => param.name === 'fromDate')\n if (fromDateParamIdx >= 0) {\n let fromDateVal = new Date(params.filters[fromDateParamIdx].value)\n params.filters.splice(fromDateParamIdx, 1)\n\n params.filters.push({\n name: 'createdAt',\n operator: 'gte',\n value: fromDateVal.toISOString(),\n relation: false\n })\n }\n\n const toDateParamIdx = params.filters.findIndex(param => param.name === 'toDate')\n if (toDateParamIdx >= 0) {\n let toDateVal = new Date(params.filters[toDateParamIdx].value)\n params.filters.splice(toDateParamIdx, 1)\n\n params.filters.push({\n name: 'createdAt',\n operator: 'lt',\n value: new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),\n relation: false\n })\n }\n\n const qb: SelectQueryBuilder<Manifest> = getRepository(Manifest).createQueryBuilder('mf')\n buildQuery(qb, params, context)\n qb.innerJoin('release_goods', 'rg', 'rg.manifest_id = mf.id')\n orderInfoFilter\n ? qb.andWhere(\n '(rg.name ~* :orderInfoFilter or rg.ref_no ~* :orderInfoFilter or rg.ref_no_2 ~* :orderInfoFilter or rg.ref_no_3 ~* :orderInfoFilter)',\n { orderInfoFilter }\n )\n : ''\n trackingNoFilter ? qb.andWhere('rg.tracking_no ilike :trackingNo', { trackingNo: trackingNoFilter }) : ''\n\n const [items, total] = await qb.getManyAndCount()\n\n await Promise.all(\n items.map(async item => {\n item.totalTrackingNo = await getRepository(ReleaseGood).count({ where: { manifest: { id: item.id } } })\n })\n )\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() manifest: Manifest): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: manifest.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() manifest: Manifest): Promise<User> {\n return await getRepository(User).findOneBy({ id: manifest.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() manifest: Manifest): Promise<User> {\n return await getRepository(User).findOneBy({ id: manifest.creatorId })\n }\n}\n"]}
1
+ {"version":3,"file":"manifest-query.js","sourceRoot":"","sources":["../../../server/service/manifest/manifest-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { SelectQueryBuilder } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { buildQuery, convertListParams, Domain, getRepository, ListParam, Sorting } from '@things-factory/shell'\n\nimport { ReleaseGood } from '../release-good/release-good'\nimport { Manifest } from './manifest'\nimport { ManifestList } from './manifest-type'\n\n@Resolver(Manifest)\nexport class ManifestQuery {\n @Query(returns => Manifest, { description: 'To fetch a Manifest' })\n async manifest(\n @Arg('name') name: string,\n @Ctx() context: ResolverContext,\n @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[]\n ): Promise<Manifest> {\n const phoneSort = sortings.findIndex(sort => sort.name === 'phone')\n if (phoneSort >= 0) {\n sortings[phoneSort].name = 'phone1'\n }\n\n const deliveryAddressSort = sortings.findIndex(sort => sort.name === 'deliveryAddress')\n if (deliveryAddressSort >= 0) {\n sortings[deliveryAddressSort].name = 'deliveryAddress1'\n }\n\n const orderRemarkSort = sortings.findIndex(sort => sort.name === 'orderRemark')\n if (orderRemarkSort >= 0) {\n sortings[orderRemarkSort].name = 'remark'\n }\n\n const orderStatusSort = sortings.findIndex(sort => sort.name === 'orderStatus')\n if (orderStatusSort >= 0) {\n sortings[orderStatusSort].name = 'status'\n }\n const convertedParams = convertListParams({ sortings })\n const { domain, tx } = context.state\n const manifest: Manifest = await getRepository(Manifest).findOne({ where: { domain: { id: domain.id }, name } })\n\n const releaseGoods: ReleaseGood[] = await getRepository(ReleaseGood).find({\n ...convertedParams,\n where: { manifest: { id: manifest.id } }\n })\n\n const trackingNos: any[] = releaseGoods.map(releaseGood => {\n return {\n trackingNo: releaseGood.trackingNo,\n refNo: releaseGood.refNo,\n deliveryAddress: releaseGood.deliveryAddress1,\n attentionTo: releaseGood.attentionTo,\n postalCode: releaseGood.postalCode,\n city: releaseGood.city,\n phone: releaseGood.phone1,\n dispatchmentStatus: releaseGood.dispatchmentStatus,\n orderStatus: releaseGood.status,\n orderRemark: releaseGood.remark\n }\n })\n\n return {\n ...manifest,\n trackingNos\n }\n }\n\n @Query(returns => ManifestList, { description: 'To fetch multiple Manifests' })\n async manifests(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<ManifestList> {\n const { domain } = context.state\n\n let orderInfoFilter\n const orderInfoParamIdx = params.filters.findIndex(param => param.name === 'orderInfo')\n if (orderInfoParamIdx >= 0) {\n orderInfoFilter = params.filters[orderInfoParamIdx].value.toLowerCase().split(',').join('|')\n\n params.filters.splice(orderInfoParamIdx, 1)\n }\n\n let trackingNoFilter\n const trackingNoParamIdx = params.filters.findIndex(param => param.name === 'trackingNo')\n if (trackingNoParamIdx >= 0) {\n trackingNoFilter = params.filters[trackingNoParamIdx].value\n\n params.filters.splice(trackingNoParamIdx, 1)\n }\n\n const fromDateParamIdx = params.filters.findIndex(param => param.name === 'fromDate')\n if (fromDateParamIdx >= 0) {\n let fromDateVal = new Date(params.filters[fromDateParamIdx].value)\n params.filters.splice(fromDateParamIdx, 1)\n\n params.filters.push({\n name: 'createdAt',\n operator: 'gte',\n value: fromDateVal.toISOString(),\n relation: false\n })\n }\n\n const toDateParamIdx = params.filters.findIndex(param => param.name === 'toDate')\n if (toDateParamIdx >= 0) {\n let toDateVal = new Date(params.filters[toDateParamIdx].value)\n params.filters.splice(toDateParamIdx, 1)\n\n params.filters.push({\n name: 'createdAt',\n operator: 'lt',\n value: new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),\n relation: false\n })\n }\n\n const qb: SelectQueryBuilder<Manifest> = getRepository(Manifest).createQueryBuilder('mf')\n buildQuery(qb, params, context)\n qb.innerJoin('release_goods', 'rg', 'rg.manifest_id = mf.id')\n orderInfoFilter\n ? qb.andWhere(\n '(rg.name ~* :orderInfoFilter or rg.ref_no ~* :orderInfoFilter or rg.ref_no_2 ~* :orderInfoFilter or rg.ref_no_3 ~* :orderInfoFilter)',\n { orderInfoFilter }\n )\n : ''\n trackingNoFilter ? qb.andWhere('rg.tracking_no ilike :trackingNo', { trackingNo: trackingNoFilter }) : ''\n\n const [items, total] = await qb.getManyAndCount()\n\n await Promise.all(\n items.map(async item => {\n item.totalTrackingNo = await getRepository(ReleaseGood).count({ where: { manifest: { id: item.id } } })\n })\n )\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() manifest: Manifest): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: manifest.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() manifest: Manifest): Promise<User> {\n return await getRepository(User).findOneBy({ id: manifest.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() manifest: Manifest): Promise<User> {\n return await getRepository(User).findOneBy({ id: manifest.creatorId })\n }\n}\n"]}
@@ -95,7 +95,7 @@ tslib_1.__decorate([
95
95
  ], Manifest.prototype, "updatedAt", void 0);
96
96
  tslib_1.__decorate([
97
97
  (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
98
- (0, type_graphql_1.Field)({ nullable: true }),
98
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
99
99
  tslib_1.__metadata("design:type", auth_base_1.User)
100
100
  ], Manifest.prototype, "creator", void 0);
101
101
  tslib_1.__decorate([
@@ -104,7 +104,7 @@ tslib_1.__decorate([
104
104
  ], Manifest.prototype, "creatorId", void 0);
105
105
  tslib_1.__decorate([
106
106
  (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
107
- (0, type_graphql_1.Field)({ nullable: true }),
107
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
108
108
  tslib_1.__metadata("design:type", auth_base_1.User)
109
109
  ], Manifest.prototype, "updater", void 0);
110
110
  tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../server/service/manifest/manifest.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType, registerEnumType, Int } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { config } from '@things-factory/env'\nimport { Domain } from '@things-factory/shell'\n\nimport { TrackingNo } from './manifest-type'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\nexport enum ManifestStatus {\n OPEN = 'OPEN',\n CLOSED = 'CLOSED',\n IN_QUEUE = 'IN_QUEUE'\n}\n\nregisterEnumType(ManifestStatus, {\n name: 'ManifestStatus',\n description: 'state enumeration of a manifest'\n})\n\n@Entity()\n@Index('ix_manifest_0', (manifest: Manifest) => [manifest.domain, manifest.name], { unique: true })\n@ObjectType({ description: 'Entity for Manifest' })\nexport class Manifest {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain?: Domain\n\n @RelationId((manifest: Manifest) => manifest.domain)\n domainId?: string\n\n @Column()\n @Field()\n name: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n shippingProvider: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n dispatcherName: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n dispatcherIdentity: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n dispatchedAt: Date\n\n @Column({\n type:\n DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'enum'\n : DATABASE_TYPE == 'oracle'\n ? 'varchar2'\n : 'smallint',\n enum: ManifestStatus,\n default: ManifestStatus.OPEN\n })\n @Field()\n status: ManifestStatus\n\n @Field(type => [TrackingNo], { nullable: true })\n trackingNos?: TrackingNo[]\n\n @Field(type => Int, { nullable: true })\n totalTrackingNo?: number\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((manifest: Manifest) => manifest.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((manifest: Manifest) => manifest.updater)\n updaterId?: string\n}\n"]}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../server/service/manifest/manifest.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType, registerEnumType, Int } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { config } from '@things-factory/env'\nimport { Domain } from '@things-factory/shell'\n\nimport { TrackingNo } from './manifest-type'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\nexport enum ManifestStatus {\n OPEN = 'OPEN',\n CLOSED = 'CLOSED',\n IN_QUEUE = 'IN_QUEUE'\n}\n\nregisterEnumType(ManifestStatus, {\n name: 'ManifestStatus',\n description: 'state enumeration of a manifest'\n})\n\n@Entity()\n@Index('ix_manifest_0', (manifest: Manifest) => [manifest.domain, manifest.name], { unique: true })\n@ObjectType({ description: 'Entity for Manifest' })\nexport class Manifest {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain?: Domain\n\n @RelationId((manifest: Manifest) => manifest.domain)\n domainId?: string\n\n @Column()\n @Field()\n name: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n shippingProvider: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n dispatcherName: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n dispatcherIdentity: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n dispatchedAt: Date\n\n @Column({\n type:\n DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'\n ? 'enum'\n : DATABASE_TYPE == 'oracle'\n ? 'varchar2'\n : 'smallint',\n enum: ManifestStatus,\n default: ManifestStatus.OPEN\n })\n @Field()\n status: ManifestStatus\n\n @Field(type => [TrackingNo], { nullable: true })\n trackingNos?: TrackingNo[]\n\n @Field(type => Int, { nullable: true })\n totalTrackingNo?: number\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((manifest: Manifest) => manifest.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((manifest: Manifest) => manifest.updater)\n updaterId?: string\n}\n"]}
@@ -552,7 +552,7 @@ exports.OrderInventoryQuery = OrderInventoryQuery;
552
552
  tslib_1.__decorate([
553
553
  (0, type_graphql_1.Query)(returns => order_inventory_types_1.OrderInventoryList),
554
554
  tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
555
- tslib_1.__param(1, (0, type_graphql_1.Args)()),
555
+ tslib_1.__param(1, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
556
556
  tslib_1.__metadata("design:type", Function),
557
557
  tslib_1.__metadata("design:paramtypes", [Object, shell_1.ListParam]),
558
558
  tslib_1.__metadata("design:returntype", Promise)
@@ -586,7 +586,7 @@ tslib_1.__decorate([
586
586
  tslib_1.__decorate([
587
587
  (0, type_graphql_1.Query)(returns => order_inventory_types_1.OrderInventoryList),
588
588
  tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
589
- tslib_1.__param(1, (0, type_graphql_1.Args)()),
589
+ tslib_1.__param(1, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
590
590
  tslib_1.__metadata("design:type", Function),
591
591
  tslib_1.__metadata("design:paramtypes", [Object, shell_1.ListParam]),
592
592
  tslib_1.__metadata("design:returntype", Promise)
@@ -617,7 +617,7 @@ tslib_1.__decorate([
617
617
  tslib_1.__decorate([
618
618
  (0, type_graphql_1.Query)(returns => order_inventory_types_1.OrderInventoryList),
619
619
  tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
620
- tslib_1.__param(1, (0, type_graphql_1.Args)()),
620
+ tslib_1.__param(1, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
621
621
  tslib_1.__param(2, (0, type_graphql_1.Arg)('productTypes', type => [String], { nullable: true })),
622
622
  tslib_1.__metadata("design:type", Function),
623
623
  tslib_1.__metadata("design:paramtypes", [Object, shell_1.ListParam, Array]),
@@ -1 +1 @@
1
- {"version":3,"file":"order-inventory-query.js","sourceRoot":"","sources":["../../../server/service/order-inventory/order-inventory-query.ts"],"names":[],"mappings":";;;;AAAA,+CAA8F;AAC9F,qCAA8E;AAE9E,yDAAgD;AAChD,uDAAkE;AAClE,+DAAsD;AACtD,iDAU8B;AAC9B,mEAA0E;AAE1E,+CAAsE;AACtE,qEAAgE;AAChE,oFAA6E;AAC7E,+DAA0D;AAC1D,uDAAkD;AAQ3C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAExB,AAAN,KAAK,CAAC,gBAAgB,CAAQ,OAAwB,EAAU,MAAiB;;QAC/E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,MAAM,oBAAoB,GAAQ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAA;QACvG,MAAM,kBAAkB,GAAQ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,CAAA;QAEnG,IAAI,oBAAoB,KAAI,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,KAAK,CAAA,EAAE,CAAC;YACxD,MAAM,kBAAkB,GAAkB,MAAM,IAAA,qBAAa,EAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;gBACnF,KAAK,EAAE;oBACL,IAAI,EAAE,oBAAoB,CAAC,KAAK;oBAChC,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;iBAC1B;aACF,CAAC,CAAA;YAEF,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CACnB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,iBAAiB,CAAC,EAChE,CAAC,CACF,CAAA;gBACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAA;YAChG,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,iCAAiC,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAA;YACjF,CAAC;QACH,CAAC;QAED,IAAI,kBAAkB,KAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,KAAK,CAAA,EAAE,CAAC;YACpD,MAAM,gBAAgB,GAAgB,MAAM,IAAA,qBAAa,EAAC,0BAAW,CAAC,CAAC,OAAO,CAAC;gBAC7E,KAAK,EAAE;oBACL,IAAI,EAAE,kBAAkB,CAAC,KAAK;oBAC9B,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;iBAC1B;aACF,CAAC,CAAA;YAEF,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CACnB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,EAC9D,CAAC,CACF,CAAA;gBACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAA;YAC5F,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,iCAAiC,kBAAkB,CAAC,KAAK,GAAG,CAAC,CAAA;YAC/E,CAAC;QACH,CAAC;QAED,MAAM,EAAE,GAAuC,IAAA,qBAAa,EAAC,gCAAc,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACrG,IAAA,kBAAU,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAE/B,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QAC3C,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAA;QACzD,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAA;QACvD,EAAE,CAAC,iBAAiB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;QACjD,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAA;QACpD,EAAE,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAA;QACtD,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAA;QACrD,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAA;QACzD,EAAE,CAAC,iBAAiB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;QAC7C,EAAE,CAAC,iBAAiB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;QAE7C,IAAI,IAAI,GAAqB,EAAE,CAAA;QAC/B,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE,CAAC;YACrB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,EAAE,CAAC;gBAC9D,gFAAgF;gBAChF,IAAI,GAAG;oBACL,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,mBAAmB,CAAC,CAAC;yBACvG,IAAI;wBACL,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,KAAK;oBACT,cAAc,EAAE,CAAA,MAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,0CAAE,IAAI;wBAChG,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,KAAK;iBACV,CAAA;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC;gBAC7D,IAAI,mCACC,IAAI,KACP,cAAc,EAAE,CAAA,MAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,0CAAE,IAAI;wBAChG,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,KAAK,GACV,CAAA;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAA;QAClC,CAAC;QAED,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAEhB,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,eAAe,EAAE,CAAA;QAE/C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,6BAA6B,CAC1B,OAAwB,EACuB,OAAkB,EACb,UAAuB,EAC1B,QAAoB;QAE5E,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC5E,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,qBAAa,EAAC,gCAAc,CAAC,CAAC,YAAY,iCAChE,eAAe,KAClB,SAAS,EAAE;gBACT,QAAQ;gBACR,eAAe;gBACf,WAAW;gBACX,SAAS;gBACT,aAAa;gBACb,eAAe;gBACf,SAAS;gBACT,SAAS;aACV,IACD,CAAA;QAEF,KAAK,GAAG,KAAK;aACV,GAAG,CAAC,CAAC,IAAoB,EAAE,EAAE;YAC5B,MAAM,OAAO,GAAY,IAAI,CAAC,OAAO,CAAA;YACrC,OAAO;gBACL,WAAW,EAAE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,EAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,EAAE;gBACpE,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;aACtC,CAAA;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;YACxB,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAC1B,OAAO,CAAC,EAAE,CACR,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;gBACxB,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW;gBACxC,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW;gBACxC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CACnC,CAAA;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS,GAAG;oBACV,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;iBACtC,CAAA;gBAED,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACvB,OAAO,OAAO,CAAA;YAChB,CAAC;iBAAM,CAAC;gBACN,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBACtB,IACE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;wBACnB,EAAE,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW;wBACnC,EAAE,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW;wBACnC,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAC3B,CAAC;wBACD,uCACK,EAAE,KACL,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,EAC3C,eAAe,EAAE,EAAE,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAC3D;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO,EAAE,CAAA;oBACX,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,EAAE,EAAE,CAAC,CAAA;QAER,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CAAY,EAAU,EAAS,OAAwB;QACzE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,qBAAa,EAAC,gCAAc,CAAC,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;gBACzB,EAAE;aACH;YACD,SAAS,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;SACxE,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,sBAAsB,CACgB,OAAyB,EAC5D,OAAwB;;QAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,IAAI,KAAK,GAAG,EAAE,CAAA;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,mBAAmB,GAAc,MAAM,IAAA,qBAAa,EAAC,0BAAS,CAAC,CAAC,OAAO,CAAC;gBAC1E,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,QAAQ,EAAE;aACrE,CAAC,CAAA;YAEF,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,mBAAmB,GAAG,MAAM,IAAA,qBAAa,EAAC,0BAAS,CAAC,CAAC,OAAO,CAAC;oBAC3D,KAAK,EAAE,EAAE,EAAE,EAAE,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,EAAE,EAAE;iBAC9B,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,CAAA,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,OAAO,KAAI,IAAI,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAqB,MAAM,IAAA,qBAAa,EAAC,gCAAc,CAAC,CAAC,IAAI,CAAC;oBAC3E,KAAK,EAAE,EAAE,SAAS,EAAE,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,EAAS,EAAE,MAAM,EAAE,SAAS,EAAE;iBACxE,CAAC,CAAA;gBAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CAAQ,OAAwB,EAAU,MAAiB;;QACjF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,IAAI,oBAAoB,GAAa,MAAM,IAAA,kCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEhF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;YACxE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,oBAAoB;gBAC3B,QAAQ,EAAE,IAAI;aACf,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,KAAK,CAAA;YACxF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAA;QAC7E,CAAC;QAED,IAAI,MAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC,0CAAE,KAAK,EAAE,CAAC;YACnF,IAAI,WAAW,GAAgB,MAAM,IAAA,qBAAa,EAAC,0BAAW,CAAC,CAAC,OAAO,CAAC;gBACtE,KAAK,EAAE;oBACL,IAAI,EAAE,IAAA,cAAI,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,KAAK,CAAC;iBACnF;aACF,CAAC,CAAA;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,iBAAiB,CAAC,CAAA;gBAElF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,WAAW,CAAC,EAAE;oBACrB,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,MAAM,EAAE,GAAuC,IAAA,qBAAa,EAAC,gCAAc,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACrG,IAAA,kBAAU,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAE/B,EAAE,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,aAAa,CAAC;aACnD,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC;aACxC,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC;aAC5C,iBAAiB,CAAC,cAAc,EAAE,WAAW,CAAC;aAC9C,iBAAiB,CAAC,mBAAmB,EAAE,SAAS,CAAC;aACjD,iBAAiB,CAAC,YAAY,EAAE,SAAS,CAAC;aAC1C,iBAAiB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;QAE7C,EAAE,CAAC,QAAQ,CAAC,8BAA8B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QAC/D,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,eAAe,EAAE,CAAA;QAE/C,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAoB,EAAE,EAAE;YACzC,uCACK,IAAI,KACP,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EACrB,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EACtC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EACjC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EACpC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EACxC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EACtC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAC1C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,IACxC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,yBAAyB,CACtB,OAAwB,EACuB,OAAkB,EACb,UAAuB,EAC1B,QAAoB;QAE5E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,CAAA;QAElC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,CAAA;YAChE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,CAAA;YACtD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAA;YACxD,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,CAAA;YACpE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,CAAA;YAC3D,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,CAAA;YAE9D,OAAO,GAAG,OAAO,CAAC,MAAM,CACtB,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC7G,CAAA;YAED,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;YACtC,MAAM,EAAE,GAAuC,IAAA,qBAAa,EAAC,gCAAc,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;YACrG,IAAA,kBAAU,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YAE/B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;iBACZ,SAAS,CAAC,yDAAyD,EAAE,kBAAkB,CAAC;iBACxF,kBAAkB,CAAC,cAAc,EAAE,KAAK,CAAC;iBACzC,kBAAkB,CAAC,gBAAgB,EAAE,IAAI,CAAC;iBAC1C,kBAAkB,CAAC,YAAY,EAAE,SAAS,CAAC;iBAC3C,iBAAiB,CAAC,gBAAgB,EAAE,SAAS,CAAC;iBAC9C,QAAQ,CAAC,sCAAsC,EAAE;gBAChD,iBAAiB,EAAE,CAAC,wBAAY,CAAC,OAAO,EAAE,wBAAY,CAAC,OAAO,CAAC;aAChE,CAAC;iBACD,QAAQ,CAAC,yCAAyC,EAAE;gBACnD,oBAAoB,EAAE;oBACpB,kCAAsB,CAAC,MAAM;oBAC7B,kCAAsB,CAAC,OAAO;oBAC9B,kCAAsB,CAAC,MAAM;iBAC9B;aACF,CAAC,CAAA;YAEJ,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,kBAAkB,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAA;gBACjE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;oBACf,MAAM,QAAQ,GAAG,EAAE;yBAChB,QAAQ,EAAE;yBACV,MAAM,EAAE;yBACR,IAAI,CAAC,sBAAO,EAAE,UAAU,CAAC;yBACzB,KAAK,CAAC,6BAA6B,CAAC;yBACpC,QAAQ,CACP,IAAI,kBAAQ,CAAC,EAAE,CAAC,EAAE;wBAChB,EAAE,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;6BACnF,OAAO,CAAC,wCAAwC,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;6BACtF,OAAO,CAAC,+CAA+C,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;6BAC7F,OAAO,CAAC,yCAAyC,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAA;oBAC5F,CAAC,CAAC,CACH;yBACA,QAAQ,EAAE,CAAA;oBACb,OAAO,UAAU,QAAQ,EAAE,CAAA;gBAC7B,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,EAAE,CAAC,QAAQ,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACpF,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,EAAE,CAAC,QAAQ,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACzF,CAAC;YAED,IAAI,iBAAiB,EAAE,CAAC;gBACtB,EAAE,CAAC,QAAQ,CAAC,uCAAuC,EAAE,EAAE,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YAC9G,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,EAAE,CAAC,QAAQ,CAAC,qCAAqC,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACnG,CAAC;YAED,IAAI,cAAc,EAAE,CAAC;gBACnB,EAAE,CAAC,QAAQ,CAAC,qCAAqC,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACtG,CAAC;YAED,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,MAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAqB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACrE,MAAM,KAAK,GAAW,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;oBAEhD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;wBAClB,KAAK,YAAY;4BACf,GAAG,mCAAQ,GAAG,KAAE,CAAC,aAAa,CAAC,EAAE,KAAK,GAAE,CAAA;4BACxC,MAAK;wBAEP,KAAK,aAAa;4BAChB,GAAG,mCAAQ,GAAG,KAAE,CAAC,cAAc,CAAC,EAAE,KAAK,GAAE,CAAA;4BACzC,MAAK;wBAEP,KAAK,cAAc;4BACjB,GAAG,mCAAQ,GAAG,KAAE,CAAC,eAAe,CAAC,EAAE,KAAK,GAAE,CAAA;wBAE5C,KAAK,aAAa;4BAChB,GAAG,mCAAQ,GAAG,KAAE,CAAC,cAAc,CAAC,EAAE,KAAK,GAAE,CAAA;4BACzC,MAAK;wBAEP;4BACE,GAAG,mCAAQ,GAAG,KAAE,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,GAAE,CAAA;4BAC5C,MAAK;oBACT,CAAC;oBAED,OAAO,GAAG,CAAA;gBACZ,CAAC,EAAE,EAAE,CAAC,CAAA;gBACN,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACpB,CAAC;YAED,IAAI,KAAK,GAAG,MAAM,EAAE;iBACjB,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;iBAC1B,KAAK,CAAC,KAAK,CAAC;iBACZ,UAAU,EAAE,CAAA;YAEf,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAA;YAC/B,OAAO;gBACL,KAAK;gBACL,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBAChC,GAAG,CAAC,IAAI,CACN,MAAM,CAAC,MAAM,CAAC,IAAI,gCAAc,EAAE,EAAE;wBAClC,EAAE,EAAE,IAAI,CAAC,KAAK;wBACd,OAAO,EAAE,IAAI,CAAC,WAAW;wBACzB,WAAW,EAAE,IAAI,CAAC,eAAe;wBACjC,WAAW,EAAE,IAAI,CAAC,eAAe;wBACjC,GAAG,EAAE,IAAI,CAAC,MAAM;wBAChB,SAAS,EAAE,IAAI,CAAC,aAAa;wBAC7B,cAAc,EAAE,IAAI,CAAC,gBAAgB;wBACrC,OAAO,EAAE,IAAI,sBAAO,CAAC,IAAI,CAAC;wBAC1B,WAAW,EAAE;4BACX,EAAE,EAAE,IAAI,CAAC,UAAU;4BACnB,IAAI,EAAE,IAAI,CAAC,YAAY;4BACvB,WAAW,EAAE,IAAI,CAAC,mBAAmB;yBACtC;wBACD,WAAW,EAAE;4BACX,EAAE,EAAE,IAAI,CAAC,KAAK;4BACd,IAAI,EAAE,IAAI,CAAC,OAAO;4BAClB,KAAK,EAAE,IAAI,CAAC,SAAS;4BACrB,WAAW,EAAE,IAAI,CAAC,cAAc;yBACjC;wBACD,SAAS,EAAE;4BACT,EAAE,EAAE,IAAI,CAAC,MAAM;4BACf,QAAQ,EAAE,IAAI,CAAC,aAAa;4BAC5B,QAAQ,EAAE,IAAI,CAAC,aAAa;yBAC7B;wBACD,SAAS,EAAE,IAAI,CAAC,aAAa;wBAC7B,SAAS,EAAE,IAAI,CAAC,aAAa;qBAC9B,CAAC,CACH,CAAA;oBAED,OAAO,GAAG,CAAA;gBACZ,CAAC,EAAE,EAAE,CAAC;aACP,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,uCAAuC,CACpC,OAAwB,EACb,SAAiB,EACE,QAAgB,EACf,SAAiB,EACD,OAAkB,EAChB,QAAoB;QAE5E,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;YACpC,MAAM,YAAY,GAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;YAChF,MAAM,aAAa,GAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;YAClF,MAAM,eAAe,GAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;YAElF,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,IAAI,YAAY,GAAG,EAAE,CAAA;YACrB,IAAI,mBAAmB,GAAG,EAAE,CAAA;YAE5B,2DAA2D;YAC3D,IAAI,eAAe,EAAE,CAAC;gBACpB,mBAAmB,GAAG;;;;;;;;;;;;;;SAcrB,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,mBAAmB,GAAG;;;;;;;;;;;;;;SAcrB,CAAA;YACH,CAAC;YAED,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;iBAYS,mBAAmB;;SAE3B,EACD,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CACvB,CAAA;YAED,IAAI,YAAY,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,KAAI,IAAI,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,EAAE,CAAA;YAChH,IAAI,YAAY,GAAG,EAAE,CAAA;YACrB,IAAI,aAAa,GACf,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,KAAI,IAAI;gBAC1B,CAAC,CAAC,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,KAAI,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,8BAA8B;gBAC9F,CAAC,CAAC,EAAE,CAAA;YAER,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;oBAC5C,YAAY;wBACV,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,KAAI,IAAI,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,KAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;4BAC/E,qBAAqB;4BACrB,SAAS;4BACT,GAAG,CAAA;gBACP,CAAC;qBAAM,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;oBAC9B,YAAY;wBACV,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,KAAI,IAAI,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,KAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;4BAC/E,6BAA6B,CAAA;gBACjC,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,YAAY,GAAG,YAAY,CAAA;gBAE3B,QAAQ,QAAQ,EAAE,CAAC;oBACjB,KAAK,OAAO;wBACV,YAAY,GAAG,YAAY,GAAG,oCAAoC,CAAA;wBAClE,MAAK;oBAEP,KAAK,OAAO;wBACV,YAAY,GAAG,YAAY,GAAG,mCAAmC,CAAA;wBACjE,MAAK;oBAEP,KAAK,QAAQ;wBACX,YAAY,GAAG,YAAY,GAAG,oCAAoC,CAAA;wBAClE,MAAK;oBAEP,KAAK,OAAO;wBACV,YAAY,GAAG,YAAY,GAAG,oCAAoC,CAAA;wBAClE,MAAK;oBAEP,KAAK,QAAQ;wBACX,YAAY,GAAG,YAAY,GAAG,oCAAoC,CAAA;wBAClE,MAAK;oBAEP,KAAK,QAAQ;wBACX,YAAY,GAAG,YAAY,GAAG,mCAAmC,CAAA;wBACjE,MAAK;oBAEP,KAAK,OAAO;wBACV,YAAY,GAAG,YAAY,GAAG,mCAAmC,CAAA;wBACjE,MAAK;oBAEP,KAAK,QAAQ;wBACX,YAAY,GAAG,YAAY,GAAG,oCAAoC,CAAA;wBAClE,MAAK;gBACT,CAAC;YACH,CAAC;YAED,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,MAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACnD,MAAM,KAAK,GAAW,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;oBAEhD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;wBAClB,KAAK,QAAQ;4BACX,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,oBAAoB,GAAG,KAAK,CAAC,CAAA;4BAC5C,MAAK;wBAEP,KAAK,YAAY;4BACf,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,eAAe,GAAG,KAAK,CAAC,CAAA;4BACvC,MAAK;wBAEP,KAAK,WAAW;4BACd,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,cAAc,GAAG,KAAK,CAAC,CAAA;4BACtC,MAAK;wBAEP,KAAK,YAAY;4BACf,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,eAAe,GAAG,KAAK,CAAC,CAAA;4BACvC,MAAK;oBACT,CAAC;oBAED,OAAO,GAAG,CAAA;gBACZ,CAAC,EAAE,EAAE,CAAC,CAAA;gBAEN,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;YAC7D,CAAC;YAED,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CACxB;;YAEI,YAAY;YACZ,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,IAAI;WACL,CACJ,CAAA;YAED,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAA;YAExB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;QACzB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,8BAA8B,CAC3B,OAAwB,EACvB,MAAiB,EACkC,YAAuB;QAElF,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,EAAE,GAAG,IAAA,qCAA6B,EAAC;YACvC,UAAU,EAAE,IAAA,qBAAa,EAAC,gCAAc,CAAC;YACzC,MAAM;YACN,MAAM;YACN,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC;YAC1D,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,uDAAuD;oBACvD,cAAc,EAAE,WAAW;oBAC3B,UAAU,EAAE,UAAU;iBACvB;aACF;SACF,CAAC,CAAA;QAEF,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC;aACzC,iBAAiB,CAAC,cAAc,EAAE,WAAW,CAAC;aAC9C,iBAAiB,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;aAC5D,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC;aACtC,iBAAiB,CAAC,YAAY,EAAE,GAAG,CAAC;aACpC,iBAAiB,CAAC,aAAa,EAAE,GAAG,CAAC;aACrC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;aAC7D,QAAQ,CAAC,8BAA8B,EAAE;YACxC,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAA;QAEJ,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,eAAe,EAAE,CAAA;QAEjD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,cAA8B;QACjD,OAAO,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/E,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,cAA8B;QAClD,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAA;IAC9E,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,cAA8B;QAClD,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAA;IAC9E,CAAC;CACF,CAAA;AA5qBY,kDAAmB;AAExB;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,0CAAkB,CAAC;IACb,mBAAA,IAAA,kBAAG,GAAE,CAAA;IAA4B,mBAAA,IAAA,mBAAI,GAAE,CAAA;;qDAAS,iBAAS;;2DAuFhF;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,0CAAkB,CAAC;IAElC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,cAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,mBAAA,IAAA,kBAAG,EAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,kBAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,mBAAA,IAAA,kBAAG,EAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,eAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;4DADiB,kBAAU;;wEA2EnF;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,gCAAc,CAAC;IACX,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;yDAUjD;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;IAEvB,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,+BAAc,CAAC,CAAC,CAAA;IACxC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iEAiCP;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,0CAAkB,CAAC;IACX,mBAAA,IAAA,kBAAG,GAAE,CAAA;IAA4B,mBAAA,IAAA,mBAAI,GAAE,CAAA;;qDAAS,iBAAS;;6DAgElF;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,0CAAkB,CAAC;IAElC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,cAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,mBAAA,IAAA,kBAAG,EAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,kBAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,mBAAA,IAAA,kBAAG,EAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,eAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;4DADiB,kBAAU;;oEA2JnF;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,0CAAkB,CAAC;IAElC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,WAAW,CAAC,CAAA;IAChB,mBAAA,IAAA,kBAAG,EAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACnC,mBAAA,IAAA,kBAAG,EAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACpC,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,cAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,mBAAA,IAAA,kBAAG,EAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,eAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;;;kFA0KxD;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,0CAAkB,CAAC;IAElC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,mBAAI,GAAE,CAAA;IACN,mBAAA,IAAA,kBAAG,EAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;qDAD1C,iBAAS;;yEAkC1B;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAiB,gCAAc;;iDAElD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAiB,gCAAc;;kDAEnD;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAiB,gCAAc;;kDAEnD;8BA3qBU,mBAAmB;IAD/B,IAAA,uBAAQ,EAAC,gCAAc,CAAC;GACZ,mBAAmB,CA4qB/B","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Brackets, Like, OrderByCondition, SelectQueryBuilder } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { Product } from '@things-factory/product-base'\nimport {\n buildQuery,\n convertListParams,\n Domain,\n Filter,\n getQueryBuilderFromListParams,\n getRepository,\n ListParam,\n Pagination,\n Sorting\n} from '@things-factory/shell'\nimport { Inventory, InventoryPatch } from '@things-factory/warehouse-base'\n\nimport { ORDER_INVENTORY_STATUS, ORDER_STATUS } from '../../constants'\nimport { ArrivalNotice } from '../arrival-notice/arrival-notice'\nimport { OrderInventoryList } from '../order-inventory/order-inventory-types'\nimport { ReleaseGood } from '../release-good/release-good'\nimport { OrderInventory } from './order-inventory'\n\ninterface filterInterface {\n name: string\n operator: string\n value: any\n}\n@Resolver(OrderInventory)\nexport class OrderInventoryQuery {\n @Query(returns => OrderInventoryList)\n async orderInventories(@Ctx() context: ResolverContext, @Args() params: ListParam): Promise<OrderInventoryList> {\n const { domain } = context.state\n const arrivalNoticeNoParam: any = params.filters.find((param: any) => param.name === 'arrivalNoticeNo')\n const releaseGoodNoParam: any = params.filters.find((param: any) => param.name === 'releaseGoodNo')\n\n if (arrivalNoticeNoParam && arrivalNoticeNoParam?.value) {\n const foundArrivalNotice: ArrivalNotice = await getRepository(ArrivalNotice).findOne({\n where: {\n name: arrivalNoticeNoParam.value,\n domain: { id: domain.id }\n }\n })\n\n if (foundArrivalNotice) {\n params.filters.splice(\n params.filters.findIndex(item => item.name == 'arrivalNoticeNo'),\n 1\n )\n params.filters.push({ name: 'arrivalNoticeId', operator: 'eq', value: foundArrivalNotice.id })\n } else {\n throw new Error(`Cannot find result for order \"${arrivalNoticeNoParam.value}\"`)\n }\n }\n\n if (releaseGoodNoParam && releaseGoodNoParam?.value) {\n const foundReleaseGood: ReleaseGood = await getRepository(ReleaseGood).findOne({\n where: {\n name: releaseGoodNoParam.value,\n domain: { id: domain.id }\n }\n })\n\n if (foundReleaseGood) {\n params.filters.splice(\n params.filters.findIndex(item => item.name == 'releaseGoodNo'),\n 1\n )\n params.filters.push({ name: 'releaseGoodId', operator: 'eq', value: foundReleaseGood.id })\n } else {\n throw new Error(`Cannot find result for order \"${releaseGoodNoParam.value}\"`)\n }\n }\n\n const qb: SelectQueryBuilder<OrderInventory> = getRepository(OrderInventory).createQueryBuilder('oi')\n buildQuery(qb, params, context)\n\n qb.leftJoinAndSelect('oi.domain', 'domain')\n qb.leftJoinAndSelect('oi.arrivalNotice', 'arrivalNotice')\n qb.leftJoinAndSelect('oi.orderProduct', 'orderProduct')\n qb.leftJoinAndSelect('oi.inventory', 'inventory')\n qb.leftJoinAndSelect('inventory.product', 'product')\n qb.leftJoinAndSelect('inventory.location', 'location')\n qb.leftJoinAndSelect('oi.releaseGood', 'releaseGood')\n qb.leftJoinAndSelect('oi.deliveryOrder', 'deliveryOrder')\n qb.leftJoinAndSelect('oi.creator', 'creator')\n qb.leftJoinAndSelect('oi.updater', 'updater')\n\n let sort: OrderByCondition = {}\n if (params?.sortings) {\n if (params.sortings.some(e => e.name === 'inventoryPalletId')) {\n // overwrite the worksheet status sorting since inventory check status is needed\n sort = {\n 'inventory.palletId': params.sortings[params.sortings.findIndex(item => item.name == 'inventoryPalletId')]\n .desc\n ? 'DESC'\n : 'ASC',\n 'oi.createdAt': params.sortings[params.sortings.findIndex(item => item.name == 'createdAt')]?.desc\n ? 'DESC'\n : 'ASC'\n }\n } else if (params.sortings.some(e => e.name === 'createdAt')) {\n sort = {\n ...sort,\n 'oi.createdAt': params.sortings[params.sortings.findIndex(item => item.name == 'createdAt')]?.desc\n ? 'DESC'\n : 'ASC'\n }\n }\n } else {\n sort = { 'oi.createdAt': 'ASC' }\n }\n\n qb.orderBy(sort)\n\n let [items, total] = await qb.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => OrderInventoryList)\n async mergedProductOrderInventories(\n @Ctx() context: ResolverContext,\n @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],\n @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,\n @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[]\n ): Promise<OrderInventoryList> {\n const convertedParams = convertListParams({ filters, pagination, sortings })\n let [items, total] = await getRepository(OrderInventory).findAndCount({\n ...convertedParams,\n relations: [\n 'domain',\n 'arrivalNotice',\n 'inventory',\n 'product',\n 'releaseGood',\n 'deliveryOrder',\n 'creator',\n 'updater'\n ]\n })\n\n items = items\n .map((item: OrderInventory) => {\n const product: Product = item.product\n return {\n productName: `(${product?.sku ? product.sku : '-'}) ${product.name}`,\n packingType: item.packingType,\n packingSize: item.packingSize,\n sku: item.product.sku,\n batchId: item.batchId,\n batchIdRef: item.batchIdRef,\n releaseQty: item.releaseQty,\n releaseUomValue: item.releaseUomValue\n }\n })\n .reduce((newItem, item) => {\n let foundItem = newItem.find(\n newItem =>\n newItem.sku === item.sku &&\n newItem.packingType === item.packingType &&\n newItem.packingSize === item.packingSize &&\n newItem.batchId === item.batchId\n )\n if (!foundItem) {\n foundItem = {\n productName: item.productName,\n packingType: item.packingType,\n packingSize: item.packingSize,\n sku: item.sku,\n batchId: item.batchId,\n batchIdRef: item.batchIdRef,\n releaseQty: item.releaseQty,\n releaseUomValue: item.releaseUomValue\n }\n\n newItem.push(foundItem)\n return newItem\n } else {\n return newItem.map(ni => {\n if (\n ni.sku === item.sku &&\n ni.packingType === item.packingType &&\n ni.packingSize === item.packingSize &&\n ni.batchId === item.batchId\n ) {\n return {\n ...ni,\n releaseQty: ni.releaseQty + item.releaseQty,\n releaseUomValue: ni.releaseUomValue + item.releaseUomValue\n }\n } else {\n return ni\n }\n })\n }\n }, [])\n\n return { items, total }\n }\n\n @Query(returns => OrderInventory)\n async orderInventory(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<OrderInventory> {\n const { domain } = context.state\n\n return await getRepository(OrderInventory).findOne({\n where: {\n domain: { id: domain.id },\n id\n },\n relations: ['domain', 'releaseGood', 'inventory', 'creator', 'updater']\n })\n }\n\n @Query(returns => Boolean)\n async validateOrderInventory(\n @Arg('patches', type => [InventoryPatch]) patches: InventoryPatch[],\n @Ctx() context: ResolverContext\n ) {\n const { domain, user, tx } = context.state\n\n let error = []\n\n for (let i = 0; i < patches.length; i++) {\n let foundExistingPallet: Inventory = await getRepository(Inventory).findOne({\n where: { domain: { id: domain.id }, palletId: patches[i]?.palletId }\n })\n\n if (!foundExistingPallet) {\n foundExistingPallet = await getRepository(Inventory).findOne({\n where: { id: patches[i]?.id }\n })\n }\n\n if (patches[i]?.batchId != null) {\n const worksheet: OrderInventory[] = await getRepository(OrderInventory).find({\n where: { inventory: foundExistingPallet?.id as any, status: 'PICKING' }\n })\n\n if (worksheet.length > 0) {\n error = [...worksheet]\n }\n }\n }\n\n if (error.length == 0) {\n return true\n } else {\n return false\n }\n }\n\n @Query(returns => OrderInventoryList)\n async inventoriesByOrder(@Ctx() context: ResolverContext, @Args() params: ListParam): Promise<OrderInventoryList> {\n const { domain, user } = context.state\n\n let permittedBizplaceIds: string[] = await getPermittedBizplaceIds(domain, user)\n\n if (!params.filters.find((filter: any) => filter.name === 'bizplaceId')) {\n params.filters.push({\n name: 'bizplaceId',\n operator: 'in',\n value: permittedBizplaceIds,\n relation: true\n })\n } else {\n permittedBizplaceIds = params.filters.find(filter => filter.name === 'bizplaceId').value\n params.filters.find(filter => filter.name === 'bizplaceId').relation = true\n }\n\n if (params.filters.find((filter: any) => filter.name === 'releaseGoodName')?.value) {\n let releaseGood: ReleaseGood = await getRepository(ReleaseGood).findOne({\n where: {\n name: Like(params.filters.find(filter => filter.name === 'releaseGoodName').value)\n }\n })\n\n if (releaseGood) {\n params.filters = params.filters.filter(filter => filter.name != 'releaseGoodName')\n\n params.filters.push({\n name: 'releaseGoodId',\n operator: 'eq',\n value: releaseGood.id,\n relation: true\n })\n }\n }\n const qb: SelectQueryBuilder<OrderInventory> = getRepository(OrderInventory).createQueryBuilder('oi')\n buildQuery(qb, params, context)\n\n qb.innerJoinAndSelect('oi.releaseGood', 'releaseGood')\n .leftJoinAndSelect('oi.domain', 'domain')\n .leftJoinAndSelect('oi.bizplace', 'bizplace')\n .leftJoinAndSelect('oi.inventory', 'inventory')\n .leftJoinAndSelect('inventory.product', 'product')\n .leftJoinAndSelect('oi.creator', 'creator')\n .leftJoinAndSelect('oi.updater', 'updater')\n\n qb.andWhere('releaseGood.status = :status', { status: 'DONE' })\n let [items, total] = await qb.getManyAndCount()\n\n items = items.map((item: OrderInventory) => {\n return {\n ...item,\n id: item.inventory.id,\n releaseGoodName: item.releaseGood.name,\n palletId: item.inventory.palletId,\n productId: item.inventory.product.id,\n productName: item.inventory.product.name,\n productSKU: item.inventory.product.sku,\n productBrand: item.inventory.product.brand,\n packingSize: item.inventory.packingSize\n }\n })\n\n return { items, total }\n }\n\n @Query(returns => OrderInventoryList)\n async nonLoadedOrderInventories(\n @Ctx() context: ResolverContext,\n @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],\n @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,\n @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[]\n ): Promise<OrderInventoryList> {\n const { page, limit } = pagination\n\n try {\n const productFilter = filters.find(x => x.name == 'productInfo')\n const roNoFilter = filters.find(x => x.name == 'roNo')\n const refNoFilter = filters.find(x => x.name == 'refNo')\n const binLocationFilter = filters.find(x => x.name == 'binLocation')\n const lotIdFilter = filters.find(x => x.name == 'palletId')\n const cartonIdFilter = filters.find(x => x.name == 'cartonId')\n\n filters = filters.filter(\n filter => ['productInfo', 'roNo', 'refNo', 'binLocation', 'palletId', 'cartonId'].indexOf(filter.name) == -1\n )\n\n const params = { filters, pagination }\n const qb: SelectQueryBuilder<OrderInventory> = getRepository(OrderInventory).createQueryBuilder('oi')\n buildQuery(qb, params, context)\n\n qb.select('oi')\n .addSelect('(oi.release_uom_value / oi.release_qty) * oi.picked_qty', 'picked_uom_value')\n .innerJoinAndSelect('oi.inventory', 'inv')\n .innerJoinAndSelect('oi.releaseGood', 'rg')\n .innerJoinAndSelect('oi.product', 'product')\n .leftJoinAndSelect('oi.binLocation', 'bin_loc')\n .andWhere('rg.status IN (:...releaseGoodStatus)', {\n releaseGoodStatus: [ORDER_STATUS.PICKING, ORDER_STATUS.LOADING]\n })\n .andWhere('oi.status IN (:...orderInventoryStatus)', {\n orderInventoryStatus: [\n ORDER_INVENTORY_STATUS.PICKED,\n ORDER_INVENTORY_STATUS.LOADING,\n ORDER_INVENTORY_STATUS.LOADED\n ]\n })\n\n if (productFilter) {\n let productFilterValue = `%${productFilter.value.toLowerCase()}%`\n qb.andWhere(qb => {\n const subQuery = qb\n .subQuery()\n .select()\n .from(Product, `products`)\n .where(`products.id = oi.product_id`)\n .andWhere(\n new Brackets(qb => {\n qb.where('Lower(products.sku) LIKE :productInfo', { productInfo: productFilterValue })\n .orWhere('Lower(products.name) LIKE :productInfo', { productInfo: productFilterValue })\n .orWhere('Lower(products.description) LIKE :productInfo', { productInfo: productFilterValue })\n .orWhere('Lower(products.brand) LIKE :productInfo', { productInfo: productFilterValue })\n })\n )\n .getQuery()\n return `EXISTS ${subQuery}`\n })\n }\n\n if (roNoFilter) {\n qb.andWhere('Lower(rg.name) LIKE :roNo', { roNo: roNoFilter.value.toLowerCase() })\n }\n\n if (refNoFilter) {\n qb.andWhere('Lower(rg.ref_no) LIKE :refNo', { refNo: refNoFilter.value.toLowerCase() })\n }\n\n if (binLocationFilter) {\n qb.andWhere('Lower(bin_loc.name) LIKE :binLocation', { binLocation: binLocationFilter.value.toLowerCase() })\n }\n\n if (lotIdFilter) {\n qb.andWhere('Lower(inv.pallet_id) LIKE :palletId', { palletId: lotIdFilter.value.toLowerCase() })\n }\n\n if (cartonIdFilter) {\n qb.andWhere('Lower(inv.carton_id) LIKE :cartonId', { cartonId: cartonIdFilter.value.toLowerCase() })\n }\n\n if (sortings?.length !== 0) {\n const sorter: OrderByCondition = (sortings || []).reduce((acc, sort) => {\n const order: string = sort.desc ? 'DESC' : 'ASC'\n\n switch (sort.name) {\n case 'productSku':\n acc = { ...acc, ['product.sku']: order }\n break\n\n case 'productName':\n acc = { ...acc, ['product.name']: order }\n break\n\n case 'productBrand':\n acc = { ...acc, ['product.brand']: order }\n\n case 'binLocation':\n acc = { ...acc, ['bin_loc.name']: order }\n break\n\n default:\n acc = { ...acc, [`oi.${sort.name}`]: order }\n break\n }\n\n return acc\n }, {})\n qb.orderBy(sorter)\n }\n\n let items = await qb\n .offset((page - 1) * limit)\n .limit(limit)\n .getRawMany()\n\n let total = await qb.getCount()\n return {\n total,\n items: items.reduce((acc, item) => {\n acc.push(\n Object.assign(new OrderInventory(), {\n id: item.oi_id,\n batchId: item.oi_batch_id,\n packingType: item.oi_packing_type,\n packingSize: item.oi_packing_size,\n uom: item.oi_uom,\n pickedQty: item.oi_picked_qty,\n pickedUomValue: item.picked_uom_value,\n product: new Product(item),\n binLocation: {\n id: item.bin_loc_id,\n name: item.bin_loc_name,\n description: item.bin_loc_description\n },\n releaseGood: {\n id: item.rg_id,\n name: item.rg_name,\n refNo: item.rg_ref_no,\n description: item.rg_description\n },\n inventory: {\n id: item.inv_id,\n palletId: item.inv_pallet_id,\n cartonId: item.inv_carton_id\n },\n createdAt: item.oi_created_at,\n updatedAt: item.oi_updated_at\n })\n )\n\n return acc\n }, [])\n }\n } catch (error) {\n throw error\n }\n }\n\n @Directive('@transaction')\n @Query(returns => OrderInventoryList)\n async orderInventoriesOfMultipleReleaseOrders(\n @Ctx() context: ResolverContext,\n @Arg('partnerId') partnerId: string,\n @Arg('priority', { nullable: true }) priority: string,\n @Arg('binNumber', { nullable: true }) binNumber: string,\n @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],\n @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[]\n ): Promise<OrderInventoryList> {\n try {\n const { domain, tx } = context.state\n const withSkuParam: any = filters.find((param: any) => param.name === 'withSku')\n const withToteParam: any = filters.find((param: any) => param.name === 'withTote')\n const mergedPageParam: any = filters.find((param: any) => param.name === 'merged')\n\n let sort = ''\n let prioritySort = ''\n let releaseOrderIdQuery = ''\n\n // Require further evaluation. Potential performance issue.\n if (mergedPageParam) {\n releaseOrderIdQuery = `\n select rg.id from release_goods rg\n inner join order_inventories oi on oi.release_good_id = rg.id\n inner join worksheet_details wd on wd.target_inventory_id = oi.id\n inner join worksheets w on w.id = wd.worksheet_id\n where rg.route_id is not null and rg.type = 'b2b'\n and rg.domain_id = $1 and rg.bizplace_id = $2\n and w.type in ('BATCH_PICKING', 'SORTING', 'LOADING') and w.status = 'EXECUTING'\n and rg.id not in (select rg2.id from release_goods rg2 \n inner join worksheets w2 on w2.release_good_id = rg2.id \n where rg2.domain_id = $1 and rg2.bizplace_id = $2\n and rg2.route_id is not null and rg2.type = 'b2b' \n and w2.type in ('PICKING'))\n group by rg.id\n `\n } else {\n releaseOrderIdQuery = `\n select rg.id from release_goods rg \n inner join worksheets w on w.release_good_id = rg.id \n where rg.domain_id = $1 and rg.bizplace_id = $2\n and rg.route_id is not null and rg.type = 'b2b' \n and w.type in ('PICKING', 'LOADING') and w.status = 'EXECUTING'\n and rg.id not in (select rg2.id from release_goods rg2 \n inner join order_inventories oi2 on oi2.release_good_id = rg2.id\n inner join worksheet_details wd2 on wd2.target_inventory_id = oi2.id\n inner join worksheets w2 on w2.id = wd2.worksheet_id\n where rg2.route_id is not null and rg2.type = 'b2b'\n and rg2.domain_id = $1 and rg2.bizplace_id = $2\n and w2.type in ('BATCH_PICKING'))\n group by rg.id\n `\n }\n\n await tx.query(\n `\n create temp table temp_route_label ON COMMIT drop as (\n select distinct(ot.name) as \"toteNumber\", oi.id, rg3.name as \"releaseGoodName\", (case when ot.name is null then oi.release_qty else null end) as \"releaseQty\", \n (case when ot.name is null then p.sku else null end) as \"productSKU\", (case when ot.name is null then p.name else null end) as \"productName\", (case when ot.name is null then l.name else null end) as \"binNumber\",\n rg3.route_id as \"routeId\", rg3.store_id as \"storeId\", rg3.store_name as \"storeName\", rg3.stop_id as \"stopId\", \n rg3.created_at as \"createdAt\" from order_inventories oi \n inner join release_goods rg3 on rg3.id = oi.release_good_id\n inner join products p on p.id = oi.product_id\n left join locations l on l.id = oi.bin_location_id\n left join order_tote_items oti on oti.order_inventory_id = oi.id\n left join order_totes ot on ot.id = oti.order_tote_id\n where oi.release_good_id in \n (${releaseOrderIdQuery})\n )\n `,\n [domain.id, partnerId]\n )\n\n let withSkuQuery = withSkuParam?.value == true ? `AND tmp.\"binNumber\" is null AND tmp.\"toteNumber\" is null` : ''\n let withBinQuery = ''\n let withToteQuery =\n withToteParam?.value == true\n ? (withSkuParam?.value == true || binNumber ? `OR ` : 'AND ') + `tmp.\"toteNumber\" is not null`\n : ''\n\n if (binNumber) {\n if (binNumber !== 'all' && binNumber !== '') {\n withBinQuery =\n (withSkuParam?.value == true || withToteParam?.value == false ? `OR ` : `AND `) +\n `tmp.\"binNumber\" = '` +\n binNumber +\n `'`\n } else if (binNumber == 'all') {\n withBinQuery =\n (withSkuParam?.value == true || withToteParam?.value == false ? `OR ` : `AND `) +\n `tmp.\"binNumber\" is not null`\n }\n }\n\n if (priority) {\n prioritySort = ' order by '\n\n switch (priority) {\n case 'roSku':\n prioritySort = prioritySort + '\"createdAt\" desc, \"productSKU\" asc'\n break\n\n case 'roBin':\n prioritySort = prioritySort + '\"createdAt\" desc, \"binNumber\" asc'\n break\n\n case 'roTote':\n prioritySort = prioritySort + '\"createdAt\" desc, \"toteNumber\" asc'\n break\n\n case 'skuRo':\n prioritySort = prioritySort + '\"productSKU\" asc, \"createdAt\" desc'\n break\n\n case 'skuBin':\n prioritySort = prioritySort + '\"productSKU\" asc, \"binNumber\" asc'\n break\n\n case 'binSku':\n prioritySort = prioritySort + '\"binNumber\" asc, \"productSKU\" asc'\n break\n\n case 'binRo':\n prioritySort = prioritySort + '\"binNumber\" asc, \"createdAt\" desc'\n break\n\n case 'toteRo':\n prioritySort = prioritySort + '\"toteNumber\" asc, \"createdAt\" desc'\n break\n }\n }\n\n if (sortings?.length !== 0) {\n const sorter = (sortings || []).reduce((acc, sort) => {\n const order: string = sort.desc ? 'DESC' : 'ASC'\n\n switch (sort.name) {\n case 'roName':\n acc = [...acc, '\"releaseGoodName\" ' + order]\n break\n\n case 'productSku':\n acc = [...acc, '\"productSKU\" ' + order]\n break\n\n case 'binNumber':\n acc = [...acc, '\"binNumber\" ' + order]\n break\n\n case 'toteNumber':\n acc = [...acc, '\"toteNumber\" ' + order]\n break\n }\n\n return acc\n }, [])\n\n sort = (priority ? ', ' : ' order by ') + sorter.toString()\n }\n\n let items = await tx.query(\n `\n select * from temp_route_label tmp where 1 = 1\n ${withSkuQuery}\n ${withBinQuery}\n ${withToteQuery}\n ${prioritySort}\n ${sort}\n `\n )\n\n let total = items.length\n\n return { items, total }\n } catch (e) {\n throw e\n }\n }\n\n @Query(returns => OrderInventoryList)\n async orderInventoriesForReleaseGood(\n @Ctx() context: ResolverContext,\n @Args() params: ListParam,\n @Arg('productTypes', type => [String], { nullable: true }) productTypes?: string[]\n ): Promise<OrderInventoryList> {\n const { domain } = context.state\n\n const qb = getQueryBuilderFromListParams({\n repository: getRepository(OrderInventory),\n params,\n domain,\n alias: 'oi',\n searchables: ['bizplace', 'product', 'releaseGood', 'lot'],\n filtersMap: {\n lot: {\n /* 조인 테이블의 필터대상 컬럼이름을 디폴트('name')에서 다른 컬럼('sku')로 변경 */\n relationColumn: 'inventory',\n columnName: 'palletId'\n }\n }\n })\n\n qb.leftJoinAndSelect('oi.releaseGood', 'rg')\n .leftJoinAndSelect('rg.deliverTo', 'deliverTo')\n .leftJoinAndSelect('deliverTo.bizplace', 'deliverToBizplace')\n .leftJoinAndSelect('oi.inventory', 'i')\n .leftJoinAndSelect('oi.product', 'p')\n .leftJoinAndSelect('oi.bizplace', 'b')\n .andWhere('oi.type = :oiType', { oiType: 'RELEASE_OF_GOODS' })\n .andWhere('p.type IN (:...productTypes)', {\n productTypes: productTypes\n })\n\n const [items, total] = await qb.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() orderInventory: OrderInventory): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: orderInventory.domainId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() orderInventory: OrderInventory): Promise<User> {\n return await getRepository(User).findOneBy({ id: orderInventory.creatorId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() orderInventory: OrderInventory): Promise<User> {\n return await getRepository(User).findOneBy({ id: orderInventory.updaterId })\n }\n}\n"]}
1
+ {"version":3,"file":"order-inventory-query.js","sourceRoot":"","sources":["../../../server/service/order-inventory/order-inventory-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { Brackets, Like, OrderByCondition, SelectQueryBuilder } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { Product } from '@things-factory/product-base'\nimport {\n buildQuery,\n convertListParams,\n Domain,\n Filter,\n getQueryBuilderFromListParams,\n getRepository,\n ListParam,\n Pagination,\n Sorting\n} from '@things-factory/shell'\nimport { Inventory, InventoryPatch } from '@things-factory/warehouse-base'\n\nimport { ORDER_INVENTORY_STATUS, ORDER_STATUS } from '../../constants'\nimport { ArrivalNotice } from '../arrival-notice/arrival-notice'\nimport { OrderInventoryList } from '../order-inventory/order-inventory-types'\nimport { ReleaseGood } from '../release-good/release-good'\nimport { OrderInventory } from './order-inventory'\n\ninterface filterInterface {\n name: string\n operator: string\n value: any\n}\n@Resolver(OrderInventory)\nexport class OrderInventoryQuery {\n @Query(returns => OrderInventoryList)\n async orderInventories(\n @Ctx() context: ResolverContext,\n @Args(type => ListParam) params: ListParam\n ): Promise<OrderInventoryList> {\n const { domain } = context.state\n const arrivalNoticeNoParam: any = params.filters.find((param: any) => param.name === 'arrivalNoticeNo')\n const releaseGoodNoParam: any = params.filters.find((param: any) => param.name === 'releaseGoodNo')\n\n if (arrivalNoticeNoParam && arrivalNoticeNoParam?.value) {\n const foundArrivalNotice: ArrivalNotice = await getRepository(ArrivalNotice).findOne({\n where: {\n name: arrivalNoticeNoParam.value,\n domain: { id: domain.id }\n }\n })\n\n if (foundArrivalNotice) {\n params.filters.splice(\n params.filters.findIndex(item => item.name == 'arrivalNoticeNo'),\n 1\n )\n params.filters.push({ name: 'arrivalNoticeId', operator: 'eq', value: foundArrivalNotice.id })\n } else {\n throw new Error(`Cannot find result for order \"${arrivalNoticeNoParam.value}\"`)\n }\n }\n\n if (releaseGoodNoParam && releaseGoodNoParam?.value) {\n const foundReleaseGood: ReleaseGood = await getRepository(ReleaseGood).findOne({\n where: {\n name: releaseGoodNoParam.value,\n domain: { id: domain.id }\n }\n })\n\n if (foundReleaseGood) {\n params.filters.splice(\n params.filters.findIndex(item => item.name == 'releaseGoodNo'),\n 1\n )\n params.filters.push({ name: 'releaseGoodId', operator: 'eq', value: foundReleaseGood.id })\n } else {\n throw new Error(`Cannot find result for order \"${releaseGoodNoParam.value}\"`)\n }\n }\n\n const qb: SelectQueryBuilder<OrderInventory> = getRepository(OrderInventory).createQueryBuilder('oi')\n buildQuery(qb, params, context)\n\n qb.leftJoinAndSelect('oi.domain', 'domain')\n qb.leftJoinAndSelect('oi.arrivalNotice', 'arrivalNotice')\n qb.leftJoinAndSelect('oi.orderProduct', 'orderProduct')\n qb.leftJoinAndSelect('oi.inventory', 'inventory')\n qb.leftJoinAndSelect('inventory.product', 'product')\n qb.leftJoinAndSelect('inventory.location', 'location')\n qb.leftJoinAndSelect('oi.releaseGood', 'releaseGood')\n qb.leftJoinAndSelect('oi.deliveryOrder', 'deliveryOrder')\n qb.leftJoinAndSelect('oi.creator', 'creator')\n qb.leftJoinAndSelect('oi.updater', 'updater')\n\n let sort: OrderByCondition = {}\n if (params?.sortings) {\n if (params.sortings.some(e => e.name === 'inventoryPalletId')) {\n // overwrite the worksheet status sorting since inventory check status is needed\n sort = {\n 'inventory.palletId': params.sortings[params.sortings.findIndex(item => item.name == 'inventoryPalletId')]\n .desc\n ? 'DESC'\n : 'ASC',\n 'oi.createdAt': params.sortings[params.sortings.findIndex(item => item.name == 'createdAt')]?.desc\n ? 'DESC'\n : 'ASC'\n }\n } else if (params.sortings.some(e => e.name === 'createdAt')) {\n sort = {\n ...sort,\n 'oi.createdAt': params.sortings[params.sortings.findIndex(item => item.name == 'createdAt')]?.desc\n ? 'DESC'\n : 'ASC'\n }\n }\n } else {\n sort = { 'oi.createdAt': 'ASC' }\n }\n\n qb.orderBy(sort)\n\n let [items, total] = await qb.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => OrderInventoryList)\n async mergedProductOrderInventories(\n @Ctx() context: ResolverContext,\n @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],\n @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,\n @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[]\n ): Promise<OrderInventoryList> {\n const convertedParams = convertListParams({ filters, pagination, sortings })\n let [items, total] = await getRepository(OrderInventory).findAndCount({\n ...convertedParams,\n relations: [\n 'domain',\n 'arrivalNotice',\n 'inventory',\n 'product',\n 'releaseGood',\n 'deliveryOrder',\n 'creator',\n 'updater'\n ]\n })\n\n items = items\n .map((item: OrderInventory) => {\n const product: Product = item.product\n return {\n productName: `(${product?.sku ? product.sku : '-'}) ${product.name}`,\n packingType: item.packingType,\n packingSize: item.packingSize,\n sku: item.product.sku,\n batchId: item.batchId,\n batchIdRef: item.batchIdRef,\n releaseQty: item.releaseQty,\n releaseUomValue: item.releaseUomValue\n }\n })\n .reduce((newItem, item) => {\n let foundItem = newItem.find(\n newItem =>\n newItem.sku === item.sku &&\n newItem.packingType === item.packingType &&\n newItem.packingSize === item.packingSize &&\n newItem.batchId === item.batchId\n )\n if (!foundItem) {\n foundItem = {\n productName: item.productName,\n packingType: item.packingType,\n packingSize: item.packingSize,\n sku: item.sku,\n batchId: item.batchId,\n batchIdRef: item.batchIdRef,\n releaseQty: item.releaseQty,\n releaseUomValue: item.releaseUomValue\n }\n\n newItem.push(foundItem)\n return newItem\n } else {\n return newItem.map(ni => {\n if (\n ni.sku === item.sku &&\n ni.packingType === item.packingType &&\n ni.packingSize === item.packingSize &&\n ni.batchId === item.batchId\n ) {\n return {\n ...ni,\n releaseQty: ni.releaseQty + item.releaseQty,\n releaseUomValue: ni.releaseUomValue + item.releaseUomValue\n }\n } else {\n return ni\n }\n })\n }\n }, [])\n\n return { items, total }\n }\n\n @Query(returns => OrderInventory)\n async orderInventory(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<OrderInventory> {\n const { domain } = context.state\n\n return await getRepository(OrderInventory).findOne({\n where: {\n domain: { id: domain.id },\n id\n },\n relations: ['domain', 'releaseGood', 'inventory', 'creator', 'updater']\n })\n }\n\n @Query(returns => Boolean)\n async validateOrderInventory(\n @Arg('patches', type => [InventoryPatch]) patches: InventoryPatch[],\n @Ctx() context: ResolverContext\n ) {\n const { domain, user, tx } = context.state\n\n let error = []\n\n for (let i = 0; i < patches.length; i++) {\n let foundExistingPallet: Inventory = await getRepository(Inventory).findOne({\n where: { domain: { id: domain.id }, palletId: patches[i]?.palletId }\n })\n\n if (!foundExistingPallet) {\n foundExistingPallet = await getRepository(Inventory).findOne({\n where: { id: patches[i]?.id }\n })\n }\n\n if (patches[i]?.batchId != null) {\n const worksheet: OrderInventory[] = await getRepository(OrderInventory).find({\n where: { inventory: foundExistingPallet?.id as any, status: 'PICKING' }\n })\n\n if (worksheet.length > 0) {\n error = [...worksheet]\n }\n }\n }\n\n if (error.length == 0) {\n return true\n } else {\n return false\n }\n }\n\n @Query(returns => OrderInventoryList)\n async inventoriesByOrder(\n @Ctx() context: ResolverContext,\n @Args(type => ListParam) params: ListParam\n ): Promise<OrderInventoryList> {\n const { domain, user } = context.state\n\n let permittedBizplaceIds: string[] = await getPermittedBizplaceIds(domain, user)\n\n if (!params.filters.find((filter: any) => filter.name === 'bizplaceId')) {\n params.filters.push({\n name: 'bizplaceId',\n operator: 'in',\n value: permittedBizplaceIds,\n relation: true\n })\n } else {\n permittedBizplaceIds = params.filters.find(filter => filter.name === 'bizplaceId').value\n params.filters.find(filter => filter.name === 'bizplaceId').relation = true\n }\n\n if (params.filters.find((filter: any) => filter.name === 'releaseGoodName')?.value) {\n let releaseGood: ReleaseGood = await getRepository(ReleaseGood).findOne({\n where: {\n name: Like(params.filters.find(filter => filter.name === 'releaseGoodName').value)\n }\n })\n\n if (releaseGood) {\n params.filters = params.filters.filter(filter => filter.name != 'releaseGoodName')\n\n params.filters.push({\n name: 'releaseGoodId',\n operator: 'eq',\n value: releaseGood.id,\n relation: true\n })\n }\n }\n const qb: SelectQueryBuilder<OrderInventory> = getRepository(OrderInventory).createQueryBuilder('oi')\n buildQuery(qb, params, context)\n\n qb.innerJoinAndSelect('oi.releaseGood', 'releaseGood')\n .leftJoinAndSelect('oi.domain', 'domain')\n .leftJoinAndSelect('oi.bizplace', 'bizplace')\n .leftJoinAndSelect('oi.inventory', 'inventory')\n .leftJoinAndSelect('inventory.product', 'product')\n .leftJoinAndSelect('oi.creator', 'creator')\n .leftJoinAndSelect('oi.updater', 'updater')\n\n qb.andWhere('releaseGood.status = :status', { status: 'DONE' })\n let [items, total] = await qb.getManyAndCount()\n\n items = items.map((item: OrderInventory) => {\n return {\n ...item,\n id: item.inventory.id,\n releaseGoodName: item.releaseGood.name,\n palletId: item.inventory.palletId,\n productId: item.inventory.product.id,\n productName: item.inventory.product.name,\n productSKU: item.inventory.product.sku,\n productBrand: item.inventory.product.brand,\n packingSize: item.inventory.packingSize\n }\n })\n\n return { items, total }\n }\n\n @Query(returns => OrderInventoryList)\n async nonLoadedOrderInventories(\n @Ctx() context: ResolverContext,\n @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],\n @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,\n @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[]\n ): Promise<OrderInventoryList> {\n const { page, limit } = pagination\n\n try {\n const productFilter = filters.find(x => x.name == 'productInfo')\n const roNoFilter = filters.find(x => x.name == 'roNo')\n const refNoFilter = filters.find(x => x.name == 'refNo')\n const binLocationFilter = filters.find(x => x.name == 'binLocation')\n const lotIdFilter = filters.find(x => x.name == 'palletId')\n const cartonIdFilter = filters.find(x => x.name == 'cartonId')\n\n filters = filters.filter(\n filter => ['productInfo', 'roNo', 'refNo', 'binLocation', 'palletId', 'cartonId'].indexOf(filter.name) == -1\n )\n\n const params = { filters, pagination }\n const qb: SelectQueryBuilder<OrderInventory> = getRepository(OrderInventory).createQueryBuilder('oi')\n buildQuery(qb, params, context)\n\n qb.select('oi')\n .addSelect('(oi.release_uom_value / oi.release_qty) * oi.picked_qty', 'picked_uom_value')\n .innerJoinAndSelect('oi.inventory', 'inv')\n .innerJoinAndSelect('oi.releaseGood', 'rg')\n .innerJoinAndSelect('oi.product', 'product')\n .leftJoinAndSelect('oi.binLocation', 'bin_loc')\n .andWhere('rg.status IN (:...releaseGoodStatus)', {\n releaseGoodStatus: [ORDER_STATUS.PICKING, ORDER_STATUS.LOADING]\n })\n .andWhere('oi.status IN (:...orderInventoryStatus)', {\n orderInventoryStatus: [\n ORDER_INVENTORY_STATUS.PICKED,\n ORDER_INVENTORY_STATUS.LOADING,\n ORDER_INVENTORY_STATUS.LOADED\n ]\n })\n\n if (productFilter) {\n let productFilterValue = `%${productFilter.value.toLowerCase()}%`\n qb.andWhere(qb => {\n const subQuery = qb\n .subQuery()\n .select()\n .from(Product, `products`)\n .where(`products.id = oi.product_id`)\n .andWhere(\n new Brackets(qb => {\n qb.where('Lower(products.sku) LIKE :productInfo', { productInfo: productFilterValue })\n .orWhere('Lower(products.name) LIKE :productInfo', { productInfo: productFilterValue })\n .orWhere('Lower(products.description) LIKE :productInfo', { productInfo: productFilterValue })\n .orWhere('Lower(products.brand) LIKE :productInfo', { productInfo: productFilterValue })\n })\n )\n .getQuery()\n return `EXISTS ${subQuery}`\n })\n }\n\n if (roNoFilter) {\n qb.andWhere('Lower(rg.name) LIKE :roNo', { roNo: roNoFilter.value.toLowerCase() })\n }\n\n if (refNoFilter) {\n qb.andWhere('Lower(rg.ref_no) LIKE :refNo', { refNo: refNoFilter.value.toLowerCase() })\n }\n\n if (binLocationFilter) {\n qb.andWhere('Lower(bin_loc.name) LIKE :binLocation', { binLocation: binLocationFilter.value.toLowerCase() })\n }\n\n if (lotIdFilter) {\n qb.andWhere('Lower(inv.pallet_id) LIKE :palletId', { palletId: lotIdFilter.value.toLowerCase() })\n }\n\n if (cartonIdFilter) {\n qb.andWhere('Lower(inv.carton_id) LIKE :cartonId', { cartonId: cartonIdFilter.value.toLowerCase() })\n }\n\n if (sortings?.length !== 0) {\n const sorter: OrderByCondition = (sortings || []).reduce((acc, sort) => {\n const order: string = sort.desc ? 'DESC' : 'ASC'\n\n switch (sort.name) {\n case 'productSku':\n acc = { ...acc, ['product.sku']: order }\n break\n\n case 'productName':\n acc = { ...acc, ['product.name']: order }\n break\n\n case 'productBrand':\n acc = { ...acc, ['product.brand']: order }\n\n case 'binLocation':\n acc = { ...acc, ['bin_loc.name']: order }\n break\n\n default:\n acc = { ...acc, [`oi.${sort.name}`]: order }\n break\n }\n\n return acc\n }, {})\n qb.orderBy(sorter)\n }\n\n let items = await qb\n .offset((page - 1) * limit)\n .limit(limit)\n .getRawMany()\n\n let total = await qb.getCount()\n return {\n total,\n items: items.reduce((acc, item) => {\n acc.push(\n Object.assign(new OrderInventory(), {\n id: item.oi_id,\n batchId: item.oi_batch_id,\n packingType: item.oi_packing_type,\n packingSize: item.oi_packing_size,\n uom: item.oi_uom,\n pickedQty: item.oi_picked_qty,\n pickedUomValue: item.picked_uom_value,\n product: new Product(item),\n binLocation: {\n id: item.bin_loc_id,\n name: item.bin_loc_name,\n description: item.bin_loc_description\n },\n releaseGood: {\n id: item.rg_id,\n name: item.rg_name,\n refNo: item.rg_ref_no,\n description: item.rg_description\n },\n inventory: {\n id: item.inv_id,\n palletId: item.inv_pallet_id,\n cartonId: item.inv_carton_id\n },\n createdAt: item.oi_created_at,\n updatedAt: item.oi_updated_at\n })\n )\n\n return acc\n }, [])\n }\n } catch (error) {\n throw error\n }\n }\n\n @Directive('@transaction')\n @Query(returns => OrderInventoryList)\n async orderInventoriesOfMultipleReleaseOrders(\n @Ctx() context: ResolverContext,\n @Arg('partnerId') partnerId: string,\n @Arg('priority', { nullable: true }) priority: string,\n @Arg('binNumber', { nullable: true }) binNumber: string,\n @Arg('filters', type => [Filter], { nullable: true }) filters?: Filter[],\n @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: Sorting[]\n ): Promise<OrderInventoryList> {\n try {\n const { domain, tx } = context.state\n const withSkuParam: any = filters.find((param: any) => param.name === 'withSku')\n const withToteParam: any = filters.find((param: any) => param.name === 'withTote')\n const mergedPageParam: any = filters.find((param: any) => param.name === 'merged')\n\n let sort = ''\n let prioritySort = ''\n let releaseOrderIdQuery = ''\n\n // Require further evaluation. Potential performance issue.\n if (mergedPageParam) {\n releaseOrderIdQuery = `\n select rg.id from release_goods rg\n inner join order_inventories oi on oi.release_good_id = rg.id\n inner join worksheet_details wd on wd.target_inventory_id = oi.id\n inner join worksheets w on w.id = wd.worksheet_id\n where rg.route_id is not null and rg.type = 'b2b'\n and rg.domain_id = $1 and rg.bizplace_id = $2\n and w.type in ('BATCH_PICKING', 'SORTING', 'LOADING') and w.status = 'EXECUTING'\n and rg.id not in (select rg2.id from release_goods rg2 \n inner join worksheets w2 on w2.release_good_id = rg2.id \n where rg2.domain_id = $1 and rg2.bizplace_id = $2\n and rg2.route_id is not null and rg2.type = 'b2b' \n and w2.type in ('PICKING'))\n group by rg.id\n `\n } else {\n releaseOrderIdQuery = `\n select rg.id from release_goods rg \n inner join worksheets w on w.release_good_id = rg.id \n where rg.domain_id = $1 and rg.bizplace_id = $2\n and rg.route_id is not null and rg.type = 'b2b' \n and w.type in ('PICKING', 'LOADING') and w.status = 'EXECUTING'\n and rg.id not in (select rg2.id from release_goods rg2 \n inner join order_inventories oi2 on oi2.release_good_id = rg2.id\n inner join worksheet_details wd2 on wd2.target_inventory_id = oi2.id\n inner join worksheets w2 on w2.id = wd2.worksheet_id\n where rg2.route_id is not null and rg2.type = 'b2b'\n and rg2.domain_id = $1 and rg2.bizplace_id = $2\n and w2.type in ('BATCH_PICKING'))\n group by rg.id\n `\n }\n\n await tx.query(\n `\n create temp table temp_route_label ON COMMIT drop as (\n select distinct(ot.name) as \"toteNumber\", oi.id, rg3.name as \"releaseGoodName\", (case when ot.name is null then oi.release_qty else null end) as \"releaseQty\", \n (case when ot.name is null then p.sku else null end) as \"productSKU\", (case when ot.name is null then p.name else null end) as \"productName\", (case when ot.name is null then l.name else null end) as \"binNumber\",\n rg3.route_id as \"routeId\", rg3.store_id as \"storeId\", rg3.store_name as \"storeName\", rg3.stop_id as \"stopId\", \n rg3.created_at as \"createdAt\" from order_inventories oi \n inner join release_goods rg3 on rg3.id = oi.release_good_id\n inner join products p on p.id = oi.product_id\n left join locations l on l.id = oi.bin_location_id\n left join order_tote_items oti on oti.order_inventory_id = oi.id\n left join order_totes ot on ot.id = oti.order_tote_id\n where oi.release_good_id in \n (${releaseOrderIdQuery})\n )\n `,\n [domain.id, partnerId]\n )\n\n let withSkuQuery = withSkuParam?.value == true ? `AND tmp.\"binNumber\" is null AND tmp.\"toteNumber\" is null` : ''\n let withBinQuery = ''\n let withToteQuery =\n withToteParam?.value == true\n ? (withSkuParam?.value == true || binNumber ? `OR ` : 'AND ') + `tmp.\"toteNumber\" is not null`\n : ''\n\n if (binNumber) {\n if (binNumber !== 'all' && binNumber !== '') {\n withBinQuery =\n (withSkuParam?.value == true || withToteParam?.value == false ? `OR ` : `AND `) +\n `tmp.\"binNumber\" = '` +\n binNumber +\n `'`\n } else if (binNumber == 'all') {\n withBinQuery =\n (withSkuParam?.value == true || withToteParam?.value == false ? `OR ` : `AND `) +\n `tmp.\"binNumber\" is not null`\n }\n }\n\n if (priority) {\n prioritySort = ' order by '\n\n switch (priority) {\n case 'roSku':\n prioritySort = prioritySort + '\"createdAt\" desc, \"productSKU\" asc'\n break\n\n case 'roBin':\n prioritySort = prioritySort + '\"createdAt\" desc, \"binNumber\" asc'\n break\n\n case 'roTote':\n prioritySort = prioritySort + '\"createdAt\" desc, \"toteNumber\" asc'\n break\n\n case 'skuRo':\n prioritySort = prioritySort + '\"productSKU\" asc, \"createdAt\" desc'\n break\n\n case 'skuBin':\n prioritySort = prioritySort + '\"productSKU\" asc, \"binNumber\" asc'\n break\n\n case 'binSku':\n prioritySort = prioritySort + '\"binNumber\" asc, \"productSKU\" asc'\n break\n\n case 'binRo':\n prioritySort = prioritySort + '\"binNumber\" asc, \"createdAt\" desc'\n break\n\n case 'toteRo':\n prioritySort = prioritySort + '\"toteNumber\" asc, \"createdAt\" desc'\n break\n }\n }\n\n if (sortings?.length !== 0) {\n const sorter = (sortings || []).reduce((acc, sort) => {\n const order: string = sort.desc ? 'DESC' : 'ASC'\n\n switch (sort.name) {\n case 'roName':\n acc = [...acc, '\"releaseGoodName\" ' + order]\n break\n\n case 'productSku':\n acc = [...acc, '\"productSKU\" ' + order]\n break\n\n case 'binNumber':\n acc = [...acc, '\"binNumber\" ' + order]\n break\n\n case 'toteNumber':\n acc = [...acc, '\"toteNumber\" ' + order]\n break\n }\n\n return acc\n }, [])\n\n sort = (priority ? ', ' : ' order by ') + sorter.toString()\n }\n\n let items = await tx.query(\n `\n select * from temp_route_label tmp where 1 = 1\n ${withSkuQuery}\n ${withBinQuery}\n ${withToteQuery}\n ${prioritySort}\n ${sort}\n `\n )\n\n let total = items.length\n\n return { items, total }\n } catch (e) {\n throw e\n }\n }\n\n @Query(returns => OrderInventoryList)\n async orderInventoriesForReleaseGood(\n @Ctx() context: ResolverContext,\n @Args(type => ListParam) params: ListParam,\n @Arg('productTypes', type => [String], { nullable: true }) productTypes?: string[]\n ): Promise<OrderInventoryList> {\n const { domain } = context.state\n\n const qb = getQueryBuilderFromListParams({\n repository: getRepository(OrderInventory),\n params,\n domain,\n alias: 'oi',\n searchables: ['bizplace', 'product', 'releaseGood', 'lot'],\n filtersMap: {\n lot: {\n /* 조인 테이블의 필터대상 컬럼이름을 디폴트('name')에서 다른 컬럼('sku')로 변경 */\n relationColumn: 'inventory',\n columnName: 'palletId'\n }\n }\n })\n\n qb.leftJoinAndSelect('oi.releaseGood', 'rg')\n .leftJoinAndSelect('rg.deliverTo', 'deliverTo')\n .leftJoinAndSelect('deliverTo.bizplace', 'deliverToBizplace')\n .leftJoinAndSelect('oi.inventory', 'i')\n .leftJoinAndSelect('oi.product', 'p')\n .leftJoinAndSelect('oi.bizplace', 'b')\n .andWhere('oi.type = :oiType', { oiType: 'RELEASE_OF_GOODS' })\n .andWhere('p.type IN (:...productTypes)', {\n productTypes: productTypes\n })\n\n const [items, total] = await qb.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() orderInventory: OrderInventory): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: orderInventory.domainId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() orderInventory: OrderInventory): Promise<User> {\n return await getRepository(User).findOneBy({ id: orderInventory.creatorId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() orderInventory: OrderInventory): Promise<User> {\n return await getRepository(User).findOneBy({ id: orderInventory.updaterId })\n }\n}\n"]}
@@ -63,7 +63,7 @@ tslib_1.__decorate([
63
63
  (0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
64
64
  nullable: true
65
65
  }),
66
- (0, type_graphql_1.Field)({ nullable: true }),
66
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
67
67
  tslib_1.__metadata("design:type", auth_base_1.User)
68
68
  ], OrderTote.prototype, "updater", void 0);
69
69
  tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"order-tote.js","sourceRoot":"","sources":["../../../server/service/order-tote/order-tote.ts"],"names":[],"mappings":";;;;AAAA,+CAAgD;AAChD,qCASgB;AAEhB,yDAAgD;AAChD,iDAA8C;AAC9C,mEAAqD;AAErD,wEAAkE;AAClE,+DAA0D;AAKnD,IAAM,SAAS,GAAf,MAAM,SAAS;CAkDrB,CAAA;AAlDY,8BAAS;AAGpB;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,GAAE;;qCACE;AAIV;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IACzB,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;sCACd,cAAM;yCAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;;2CACvC;AAIhB;IAFC,IAAA,gBAAM,GAAE;IACR,IAAA,oBAAK,GAAE;;uCACI;AAIZ;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,0BAAW,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,0BAAW,CAAC;sCACb,0BAAW;8CAAA;AAGzB;IADC,IAAA,oBAAU,EAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC;;gDACvC;AAIrB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,qBAAI,CAAC;IACvB,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,qBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjC,qBAAI;uCAAA;AAGX;IADC,IAAA,oBAAU,EAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;;yCACvC;AAId;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACb,IAAI;6CAAA;AAIjB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACf,IAAI;4CAAA;AAMf;IAJC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAChB,gBAAI;0CAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;;4CACvC;AAIjB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,+BAAa,EAAE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9F,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,+BAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACnB;oBAjDrB,SAAS;IAHrB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,iBAAiB,EAAE,CAAC,SAAoB,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACpF,IAAA,yBAAU,GAAE;GACA,SAAS,CAkDrB","sourcesContent":["import { Field, ObjectType } from 'type-graphql'\nimport {\n Column,\n Entity,\n Index,\n ManyToOne,\n OneToMany,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { Tote } from '@things-factory/warehouse-base'\n\nimport { OrderToteSeal } from '../order-tote-seal/order-tote-seal'\nimport { ReleaseGood } from '../release-good/release-good'\n\n@Entity()\n@Index('ix_order_tote_0', (orderTote: OrderTote) => [orderTote.id], { unique: true })\n@ObjectType()\nexport class OrderTote {\n @PrimaryGeneratedColumn('uuid')\n @Field()\n id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain: Domain\n\n @RelationId((orderTote: OrderTote) => orderTote.domain)\n domainId: string\n\n @Column()\n @Field()\n name: string\n\n @ManyToOne(type => ReleaseGood)\n @Field(type => ReleaseGood)\n releaseGood?: ReleaseGood\n\n @RelationId((orderTote: OrderTote) => orderTote.releaseGood)\n releaseGoodId: string\n\n @ManyToOne(type => Tote)\n @Field(type => Tote, { nullable: true })\n tote?: Tote\n\n @RelationId((orderTote: OrderTote) => orderTote.tote)\n toteId: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n closedDate?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((orderTote: OrderTote) => orderTote.updater)\n updaterId: string\n\n @OneToMany(type => OrderToteSeal, orderToteSeal => orderToteSeal.orderTote, { nullable: true })\n @Field(type => [OrderToteSeal], { nullable: true })\n orderToteSeals?: OrderToteSeal[]\n}\n"]}
1
+ {"version":3,"file":"order-tote.js","sourceRoot":"","sources":["../../../server/service/order-tote/order-tote.ts"],"names":[],"mappings":";;;;AAAA,+CAAgD;AAChD,qCASgB;AAEhB,yDAAgD;AAChD,iDAA8C;AAC9C,mEAAqD;AAErD,wEAAkE;AAClE,+DAA0D;AAKnD,IAAM,SAAS,GAAf,MAAM,SAAS;CAkDrB,CAAA;AAlDY,8BAAS;AAGpB;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,GAAE;;qCACE;AAIV;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IACzB,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;sCACd,cAAM;yCAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;;2CACvC;AAIhB;IAFC,IAAA,gBAAM,GAAE;IACR,IAAA,oBAAK,GAAE;;uCACI;AAIZ;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,0BAAW,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,0BAAW,CAAC;sCACb,0BAAW;8CAAA;AAGzB;IADC,IAAA,oBAAU,EAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC;;gDACvC;AAIrB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,qBAAI,CAAC;IACvB,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,qBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjC,qBAAI;uCAAA;AAGX;IADC,IAAA,oBAAU,EAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;;yCACvC;AAId;IAFC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACb,IAAI;6CAAA;AAIjB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACf,IAAI;4CAAA;AAMf;IAJC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAC9B,gBAAI;0CAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,SAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;;4CACvC;AAIjB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,+BAAa,EAAE,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9F,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,+BAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACnB;oBAjDrB,SAAS;IAHrB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,iBAAiB,EAAE,CAAC,SAAoB,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACpF,IAAA,yBAAU,GAAE;GACA,SAAS,CAkDrB","sourcesContent":["import { Field, ObjectType } from 'type-graphql'\nimport {\n Column,\n Entity,\n Index,\n ManyToOne,\n OneToMany,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\nimport { Tote } from '@things-factory/warehouse-base'\n\nimport { OrderToteSeal } from '../order-tote-seal/order-tote-seal'\nimport { ReleaseGood } from '../release-good/release-good'\n\n@Entity()\n@Index('ix_order_tote_0', (orderTote: OrderTote) => [orderTote.id], { unique: true })\n@ObjectType()\nexport class OrderTote {\n @PrimaryGeneratedColumn('uuid')\n @Field()\n id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain: Domain\n\n @RelationId((orderTote: OrderTote) => orderTote.domain)\n domainId: string\n\n @Column()\n @Field()\n name: string\n\n @ManyToOne(type => ReleaseGood)\n @Field(type => ReleaseGood)\n releaseGood?: ReleaseGood\n\n @RelationId((orderTote: OrderTote) => orderTote.releaseGood)\n releaseGoodId: string\n\n @ManyToOne(type => Tote)\n @Field(type => Tote, { nullable: true })\n tote?: Tote\n\n @RelationId((orderTote: OrderTote) => orderTote.tote)\n toteId: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n closedDate?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt: Date\n\n @ManyToOne(type => User, {\n nullable: true\n })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((orderTote: OrderTote) => orderTote.updater)\n updaterId: string\n\n @OneToMany(type => OrderToteSeal, orderToteSeal => orderToteSeal.orderTote, { nullable: true })\n @Field(type => [OrderToteSeal], { nullable: true })\n orderToteSeals?: OrderToteSeal[]\n}\n"]}
@@ -403,7 +403,7 @@ tslib_1.__decorate([
403
403
  (0, type_graphql_1.Directive)('@transaction'),
404
404
  (0, type_graphql_1.Query)(returns => __1.InventoryProductGroupList),
405
405
  tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
406
- tslib_1.__param(1, (0, type_graphql_1.Args)()),
406
+ tslib_1.__param(1, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
407
407
  tslib_1.__metadata("design:type", Function),
408
408
  tslib_1.__metadata("design:paramtypes", [Object, shell_1.ListParam]),
409
409
  tslib_1.__metadata("design:returntype", Promise)
@@ -413,7 +413,7 @@ tslib_1.__decorate([
413
413
  (0, type_graphql_1.Directive)('@transaction'),
414
414
  (0, type_graphql_1.Query)(returns => __1.InventoryProductGroupList),
415
415
  tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
416
- tslib_1.__param(1, (0, type_graphql_1.Args)()),
416
+ tslib_1.__param(1, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
417
417
  tslib_1.__metadata("design:type", Function),
418
418
  tslib_1.__metadata("design:paramtypes", [Object, shell_1.ListParam]),
419
419
  tslib_1.__metadata("design:returntype", Promise)
@@ -422,7 +422,7 @@ tslib_1.__decorate([
422
422
  (0, type_graphql_1.Directive)('@transaction'),
423
423
  (0, type_graphql_1.Query)(returns => __1.InventoryProductGroupList),
424
424
  tslib_1.__param(0, (0, type_graphql_1.Ctx)()),
425
- tslib_1.__param(1, (0, type_graphql_1.Args)()),
425
+ tslib_1.__param(1, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
426
426
  tslib_1.__metadata("design:type", Function),
427
427
  tslib_1.__metadata("design:paramtypes", [Object, shell_1.ListParam]),
428
428
  tslib_1.__metadata("design:returntype", Promise)