@things-factory/sales-base 4.3.3 → 4.4.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/dist-server/constants/attachment-type.js +1 -2
  2. package/dist-server/constants/attachment-type.js.map +1 -1
  3. package/dist-server/constants/index.js +5 -2
  4. package/dist-server/constants/index.js.map +1 -1
  5. package/dist-server/constants/order.js +3 -12
  6. package/dist-server/constants/order.js.map +1 -1
  7. package/dist-server/controllers/ecommerce/index.js +5 -1
  8. package/dist-server/controllers/ecommerce/index.js.map +1 -1
  9. package/dist-server/controllers/index.js +5 -1
  10. package/dist-server/controllers/index.js.map +1 -1
  11. package/dist-server/errors/index.js +5 -1
  12. package/dist-server/errors/index.js.map +1 -1
  13. package/dist-server/errors/validation-error.js +5 -1
  14. package/dist-server/errors/validation-error.js.map +1 -1
  15. package/dist-server/index.js +5 -1
  16. package/dist-server/index.js.map +1 -1
  17. package/dist-server/service/arrival-notice/index.js +5 -1
  18. package/dist-server/service/arrival-notice/index.js.map +1 -1
  19. package/dist-server/service/claim/index.js +5 -1
  20. package/dist-server/service/claim/index.js.map +1 -1
  21. package/dist-server/service/claim-detail/index.js +5 -1
  22. package/dist-server/service/claim-detail/index.js.map +1 -1
  23. package/dist-server/service/claim-order/index.js +5 -1
  24. package/dist-server/service/claim-order/index.js.map +1 -1
  25. package/dist-server/service/collection-order/index.js +5 -1
  26. package/dist-server/service/collection-order/index.js.map +1 -1
  27. package/dist-server/service/delivery-order/index.js +5 -1
  28. package/dist-server/service/delivery-order/index.js.map +1 -1
  29. package/dist-server/service/goods-receival-note/index.js +5 -1
  30. package/dist-server/service/goods-receival-note/index.js.map +1 -1
  31. package/dist-server/service/index.js +24 -48
  32. package/dist-server/service/index.js.map +1 -1
  33. package/dist-server/service/inventory-check/index.js +5 -1
  34. package/dist-server/service/inventory-check/index.js.map +1 -1
  35. package/dist-server/service/invoice/index.js +5 -1
  36. package/dist-server/service/invoice/index.js.map +1 -1
  37. package/dist-server/service/invoice-product/index.js +5 -1
  38. package/dist-server/service/invoice-product/index.js.map +1 -1
  39. package/dist-server/service/job-sheet/index.js +5 -1
  40. package/dist-server/service/job-sheet/index.js.map +1 -1
  41. package/dist-server/service/order-inventory/index.js +5 -1
  42. package/dist-server/service/order-inventory/index.js.map +1 -1
  43. package/dist-server/service/order-inventory/order-inventory-query.js +1 -38
  44. package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
  45. package/dist-server/service/order-inventory/order-inventory-types.js +1 -9
  46. package/dist-server/service/order-inventory/order-inventory-types.js.map +1 -1
  47. package/dist-server/service/order-inventory/order-inventory.js +1 -5
  48. package/dist-server/service/order-inventory/order-inventory.js.map +1 -1
  49. package/dist-server/service/order-product/index.js +5 -1
  50. package/dist-server/service/order-product/index.js.map +1 -1
  51. package/dist-server/service/order-product/order-product-types.js +13 -13
  52. package/dist-server/service/order-product/order-product-types.js.map +1 -1
  53. package/dist-server/service/order-product/order-product.js +4 -39
  54. package/dist-server/service/order-product/order-product.js.map +1 -1
  55. package/dist-server/service/order-vas/index.js +5 -1
  56. package/dist-server/service/order-vas/index.js.map +1 -1
  57. package/dist-server/service/others/index.js +5 -1
  58. package/dist-server/service/others/index.js.map +1 -1
  59. package/dist-server/service/others/other-query.js +2 -37
  60. package/dist-server/service/others/other-query.js.map +1 -1
  61. package/dist-server/service/purchase-order/index.js +5 -1
  62. package/dist-server/service/purchase-order/index.js.map +1 -1
  63. package/dist-server/service/purchase-order-other-charge/index.js +5 -1
  64. package/dist-server/service/purchase-order-other-charge/index.js.map +1 -1
  65. package/dist-server/service/release-good/index.js +5 -1
  66. package/dist-server/service/release-good/index.js.map +1 -1
  67. package/dist-server/service/release-good/release-good-mutation.js +1 -23
  68. package/dist-server/service/release-good/release-good-mutation.js.map +1 -1
  69. package/dist-server/service/release-good/release-good-query.js +2 -28
  70. package/dist-server/service/release-good/release-good-query.js.map +1 -1
  71. package/dist-server/service/release-good/release-good.js +12 -32
  72. package/dist-server/service/release-good/release-good.js.map +1 -1
  73. package/dist-server/service/retail-replenishment-order/index.js +5 -1
  74. package/dist-server/service/retail-replenishment-order/index.js.map +1 -1
  75. package/dist-server/service/return-order/index.js +5 -1
  76. package/dist-server/service/return-order/index.js.map +1 -1
  77. package/dist-server/service/reverse-kitting-order/index.js +5 -1
  78. package/dist-server/service/reverse-kitting-order/index.js.map +1 -1
  79. package/dist-server/service/reverse-kitting-order-inventory/index.js +5 -1
  80. package/dist-server/service/reverse-kitting-order-inventory/index.js.map +1 -1
  81. package/dist-server/service/shipping-order/index.js +5 -1
  82. package/dist-server/service/shipping-order/index.js.map +1 -1
  83. package/dist-server/service/transfer-order/index.js +5 -1
  84. package/dist-server/service/transfer-order/index.js.map +1 -1
  85. package/dist-server/service/vas/index.js +5 -1
  86. package/dist-server/service/vas/index.js.map +1 -1
  87. package/dist-server/service/vas-order/index.js +5 -1
  88. package/dist-server/service/vas-order/index.js.map +1 -1
  89. package/dist-server/utils/index.js +5 -1
  90. package/dist-server/utils/index.js.map +1 -1
  91. package/dist-server/utils/inventory-util.js +99 -258
  92. package/dist-server/utils/inventory-util.js.map +1 -1
  93. package/dist-server/utils/order-no-generator.js +0 -7
  94. package/dist-server/utils/order-no-generator.js.map +1 -1
  95. package/package.json +13 -13
  96. package/server/constants/attachment-type.ts +1 -2
  97. package/server/constants/index.ts +0 -1
  98. package/server/constants/order.ts +2 -12
  99. package/server/service/index.ts +21 -51
  100. package/server/service/order-inventory/order-inventory-query.ts +2 -40
  101. package/server/service/order-inventory/order-inventory-types.ts +0 -6
  102. package/server/service/order-inventory/order-inventory.ts +5 -5
  103. package/server/service/order-product/order-product-types.ts +3 -5
  104. package/server/service/order-product/order-product.ts +3 -30
  105. package/server/service/others/other-query.ts +8 -43
  106. package/server/service/release-good/release-good-mutation.ts +2 -24
  107. package/server/service/release-good/release-good-query.ts +30 -57
  108. package/server/service/release-good/release-good.ts +9 -28
  109. package/server/utils/inventory-util.ts +106 -287
  110. package/server/utils/order-no-generator.ts +48 -42
  111. package/dist-server/constants/release-good.js +0 -9
  112. package/dist-server/constants/release-good.js.map +0 -1
  113. package/dist-server/service/draft-release-good/draft-release-good-mutation.js +0 -563
  114. package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +0 -1
  115. package/dist-server/service/draft-release-good/draft-release-good-query.js +0 -289
  116. package/dist-server/service/draft-release-good/draft-release-good-query.js.map +0 -1
  117. package/dist-server/service/draft-release-good/draft-release-good-type.js +0 -364
  118. package/dist-server/service/draft-release-good/draft-release-good-type.js.map +0 -1
  119. package/dist-server/service/draft-release-good/draft-release-good.js +0 -321
  120. package/dist-server/service/draft-release-good/draft-release-good.js.map +0 -1
  121. package/dist-server/service/draft-release-good/index.js +0 -21
  122. package/dist-server/service/draft-release-good/index.js.map +0 -1
  123. package/dist-server/service/order-tote/index.js +0 -21
  124. package/dist-server/service/order-tote/index.js.map +0 -1
  125. package/dist-server/service/order-tote/order-tote-mutation.js +0 -56
  126. package/dist-server/service/order-tote/order-tote-mutation.js.map +0 -1
  127. package/dist-server/service/order-tote/order-tote-query.js +0 -123
  128. package/dist-server/service/order-tote/order-tote-query.js.map +0 -1
  129. package/dist-server/service/order-tote/order-tote-types.js +0 -79
  130. package/dist-server/service/order-tote/order-tote-types.js.map +0 -1
  131. package/dist-server/service/order-tote/order-tote.js +0 -91
  132. package/dist-server/service/order-tote/order-tote.js.map +0 -1
  133. package/dist-server/service/order-tote-item/index.js +0 -21
  134. package/dist-server/service/order-tote-item/index.js.map +0 -1
  135. package/dist-server/service/order-tote-item/order-tote-item-mutation.js +0 -56
  136. package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +0 -1
  137. package/dist-server/service/order-tote-item/order-tote-item-query.js +0 -100
  138. package/dist-server/service/order-tote-item/order-tote-item-query.js.map +0 -1
  139. package/dist-server/service/order-tote-item/order-tote-item-types.js +0 -91
  140. package/dist-server/service/order-tote-item/order-tote-item-types.js.map +0 -1
  141. package/dist-server/service/order-tote-item/order-tote-item.js +0 -104
  142. package/dist-server/service/order-tote-item/order-tote-item.js.map +0 -1
  143. package/dist-server/service/order-tote-seal/index.js +0 -21
  144. package/dist-server/service/order-tote-seal/index.js.map +0 -1
  145. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js +0 -56
  146. package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +0 -1
  147. package/dist-server/service/order-tote-seal/order-tote-seal-query.js +0 -97
  148. package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +0 -1
  149. package/dist-server/service/order-tote-seal/order-tote-seal-types.js +0 -71
  150. package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +0 -1
  151. package/dist-server/service/order-tote-seal/order-tote-seal.js +0 -71
  152. package/dist-server/service/order-tote-seal/order-tote-seal.js.map +0 -1
  153. package/server/constants/release-good.ts +0 -6
  154. package/server/service/draft-release-good/draft-release-good-mutation.ts +0 -734
  155. package/server/service/draft-release-good/draft-release-good-query.ts +0 -314
  156. package/server/service/draft-release-good/draft-release-good-type.ts +0 -261
  157. package/server/service/draft-release-good/draft-release-good.ts +0 -270
  158. package/server/service/draft-release-good/index.ts +0 -9
  159. package/server/service/order-tote/index.ts +0 -9
  160. package/server/service/order-tote/order-tote-mutation.ts +0 -30
  161. package/server/service/order-tote/order-tote-query.ts +0 -114
  162. package/server/service/order-tote/order-tote-types.ts +0 -47
  163. package/server/service/order-tote/order-tote.ts +0 -62
  164. package/server/service/order-tote-item/index.ts +0 -9
  165. package/server/service/order-tote-item/order-tote-item-mutation.ts +0 -30
  166. package/server/service/order-tote-item/order-tote-item-query.ts +0 -88
  167. package/server/service/order-tote-item/order-tote-item-types.ts +0 -56
  168. package/server/service/order-tote-item/order-tote-item.ts +0 -72
  169. package/server/service/order-tote-seal/index.ts +0 -9
  170. package/server/service/order-tote-seal/order-tote-seal-mutation.ts +0 -30
  171. package/server/service/order-tote-seal/order-tote-seal-query.ts +0 -60
  172. package/server/service/order-tote-seal/order-tote-seal-types.ts +0 -41
  173. package/server/service/order-tote-seal/order-tote-seal.ts +0 -46
@@ -1,289 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- var _a;
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.getDraftReleaseGoodFunction = exports.DraftReleaseGoodQuery = void 0;
17
- const type_graphql_1 = require("type-graphql");
18
- const typeorm_1 = require("typeorm");
19
- const biz_base_1 = require("@things-factory/biz-base");
20
- const shell_1 = require("@things-factory/shell");
21
- const constants_1 = require("../../constants");
22
- const draft_release_good_1 = require("./draft-release-good");
23
- const draft_release_good_type_1 = require("./draft-release-good-type");
24
- const attachment_base_1 = require("@things-factory/attachment-base");
25
- const constants_2 = require("../../constants");
26
- const utils_1 = require("../../utils");
27
- let DraftReleaseGoodQuery = class DraftReleaseGoodQuery {
28
- async draftReleaseGood(id, context) {
29
- const { domain } = context.state;
30
- return await (0, typeorm_1.getRepository)(draft_release_good_1.DraftReleaseGood).findOne({
31
- where: { domain, id }
32
- });
33
- }
34
- async draftReleaseGoodByName(name, context) {
35
- const { domain, tx } = context.state;
36
- return getDraftReleaseGoodFunction(null, name, context, tx);
37
- }
38
- async draftReleaseGoods(params, context) {
39
- try {
40
- const { domain, user, tx } = context.state;
41
- const statusFilter = params.filters.find(e => e.name === 'status');
42
- const bizplaceFilter = params.filters.find(param => param.name === 'bizplaceId');
43
- const noOfItemsFilter = params.filters.find(param => param.name === 'noOfItems');
44
- const skuFilter = params.filters.find(param => param.name === 'sku');
45
- const orderRemarkFilter = params.filters.find(param => param.name === 'orderRemark');
46
- if (!bizplaceFilter) {
47
- params.filters.push({
48
- name: 'bizplaceId',
49
- operator: 'in',
50
- value: await (0, biz_base_1.getPermittedBizplaceIds)(domain, user),
51
- relation: false
52
- });
53
- }
54
- params.filters = params.filters.filter(itm => itm.name !== 'noOfItems' && itm.name !== 'sku' && itm.name !== 'status');
55
- if (orderRemarkFilter) {
56
- const orderRemarkIdx = params.filters.findIndex(param => param.name === 'orderRemark');
57
- if (orderRemarkFilter.value == true) {
58
- params.filters.splice(orderRemarkIdx, 1);
59
- params.filters.push({
60
- name: 'remark',
61
- operator: 'is_not_null',
62
- value: null,
63
- relation: false
64
- });
65
- }
66
- else {
67
- params.filters.splice(orderRemarkIdx, 1);
68
- params.filters.push({
69
- name: 'remark',
70
- operator: 'is_null',
71
- value: null,
72
- relation: false
73
- });
74
- }
75
- }
76
- const fromDateParamIdx = params.filters.findIndex(param => param.name === 'fromDate');
77
- if (fromDateParamIdx >= 0) {
78
- let fromDateVal = new Date(params.filters[fromDateParamIdx].value);
79
- params.filters.splice(fromDateParamIdx, 1);
80
- params.filters.push({
81
- name: 'createdAt',
82
- operator: 'gte',
83
- value: fromDateVal.toISOString(),
84
- relation: false
85
- });
86
- }
87
- const toDateParamIdx = params.filters.findIndex(param => param.name === 'toDate');
88
- if (toDateParamIdx >= 0) {
89
- let toDateVal = new Date(params.filters[toDateParamIdx].value);
90
- params.filters.splice(toDateParamIdx, 1);
91
- params.filters.push({
92
- name: 'createdAt',
93
- operator: 'lt',
94
- value: new Date(toDateVal.setDate(toDateVal.getDate() + 1)).toISOString(),
95
- relation: false
96
- });
97
- }
98
- tx.query(`
99
- create temp table temp_op_calculation on commit drop as (
100
- select drg1.id, sum(case when wboi."remainQty" >= op.release_qty then 0 else 1 end) as insufficient_count, count(*) as total_row
101
- from draft_release_goods drg1
102
- left join order_products op on drg1.id = op.draft_release_good_id
103
- left join warehouse_bizplace_onhand_inventories wboi
104
- on (wboi."productId" = op.product_id or wboi."productBundleId" = op.product_id)
105
- and wboi."packingType" = op.packing_type
106
- and wboi."packingSize" = op.packing_size
107
- and wboi.uom = op.uom
108
- and wboi."domainId" = op.domain_id
109
- and wboi."bizplaceId" = op.bizplace_id
110
- where op.domain_id = $1 and drg1.status ='DRAFT'
111
- group by drg1.id
112
- )
113
- `, [domain.id]);
114
- const qb = tx.getRepository(draft_release_good_1.DraftReleaseGood).createQueryBuilder('drg');
115
- (0, shell_1.buildQuery)(qb, params, context);
116
- qb.addSelect('COALESCE("cc".rank, 99999)', 'rank');
117
- qb.addSelect(`CASE WHEN "drg".status = 'DRAFT' and (tmp_calc.insufficient_count > 0 or tmp_calc.total_row = 0) then 'INSUFFICIENT' else "drg".status END`, 'computed_status');
118
- qb.leftJoin(`temp_op_calculation`, 'tmp_calc', 'tmp_calc.id = drg.id');
119
- qb.leftJoinAndSelect('drg.domain', 'domain');
120
- qb.leftJoinAndSelect('drg.bizplace', 'bizplace');
121
- qb.leftJoinAndSelect('drg.creator', 'creator');
122
- qb.leftJoinAndSelect('drg.updater', 'updater');
123
- qb.leftJoinAndSelect('drg.deliverTo', 'deliverTo');
124
- qb.leftJoin(subQuery => {
125
- return subQuery
126
- .select(`ccd.rank`, 'rank')
127
- .addSelect(`ccd.name`, 'status')
128
- .from(`common_code_details`, 'ccd')
129
- .innerJoin(`ccd.commonCode`, 'cc')
130
- .where(`ccd.domain_id = :domainId`, { domainId: domain.id })
131
- .andWhere(`cc.name = 'ODO_REQUESTS_STATUS'`);
132
- }, 'cc', 'cc.status = drg.status');
133
- if (skuFilter) {
134
- qb.andWhere(`
135
- exists (
136
- select * from order_products op
137
- inner join products p on op.product_id = p.id
138
- where op.draft_release_good_id = drg.id
139
- and lower(p.sku) ilike :sku
140
- )
141
- `, { sku: skuFilter.value.toLowerCase() });
142
- }
143
- if (noOfItemsFilter) {
144
- qb.andWhere(`
145
- exists (
146
- select numberFilterOp.product_id from order_products numberFilterOp
147
- where numberFilterOp.draft_release_good_id = drg.id
148
- group by numberFilterOp.product_id having count(*) ${noOfItemsFilter.value == 1 ? ' = 1' : '> 1'}
149
- )
150
- `);
151
- }
152
- if (statusFilter) {
153
- if (statusFilter.value == constants_1.DRAFT_RELEASE_ORDER_STATUS.DRAFT) {
154
- qb.andWhere(`
155
- drg.status = 'DRAFT' AND tmp_calc.insufficient_count = 0 AND tmp_calc.total_row > 0
156
- `);
157
- }
158
- else if (statusFilter.value == constants_1.DRAFT_RELEASE_ORDER_STATUS.INSUFFICIENT) {
159
- qb.andWhere(`
160
- drg.status = 'DRAFT' AND (tmp_calc.insufficient_count > 0 OR tmp_calc.total_row = 0)
161
- `);
162
- }
163
- else {
164
- qb.andWhere(`
165
- drg.status = '${statusFilter.value}'
166
- `);
167
- }
168
- }
169
- const arrChildSortData = ['bizplace', 'creator'];
170
- const sort = (params.sortings || []).reduce((acc, sort) => (Object.assign(Object.assign({}, acc), { [arrChildSortData.indexOf(sort.name) >= 0 ? sort.name + '.name' : 'drg.' + sort.name]: sort.desc
171
- ? 'DESC'
172
- : 'ASC' })), params.sortings.length < 1 ? { rank: 'ASC', 'drg.createdAt': 'DESC' } : {});
173
- qb.orderBy(sort);
174
- let [items, total] = await Promise.all([qb.getRawMany(), qb.getCount()]);
175
- items = items.map(itm => {
176
- return {
177
- id: itm.drg_id,
178
- name: itm.drg_name,
179
- description: itm.drg_description,
180
- type: itm.drg_type,
181
- releaseDate: itm.drg_release_date,
182
- exportOption: itm.drg_export_option,
183
- ownTransport: itm.drg_own_transport,
184
- bizplace: { id: itm.bizplace_id, name: itm.bizplace_name, description: itm.bizplace_description },
185
- refNo: itm.drg_ref_no,
186
- refNo2: itm.drg_ref_no_2,
187
- refNo3: itm.drg_ref_no_3,
188
- status: itm.computed_status,
189
- createdAt: itm.drg_created_at,
190
- creator: { id: itm.creator_id, name: itm.creator_name, description: itm.creator_description },
191
- updatedAt: itm.drg_updated_at,
192
- updater: { id: itm.updater_id, name: itm.updater_name, description: itm.updater_description }
193
- };
194
- });
195
- return { items, total };
196
- }
197
- catch (error) {
198
- throw error;
199
- }
200
- }
201
- };
202
- __decorate([
203
- (0, type_graphql_1.Query)(returns => draft_release_good_1.DraftReleaseGood, { description: 'To fetch a DraftReleaseGood' }),
204
- __param(0, (0, type_graphql_1.Arg)('id')),
205
- __param(1, (0, type_graphql_1.Ctx)()),
206
- __metadata("design:type", Function),
207
- __metadata("design:paramtypes", [String, Object]),
208
- __metadata("design:returntype", Promise)
209
- ], DraftReleaseGoodQuery.prototype, "draftReleaseGood", null);
210
- __decorate([
211
- (0, type_graphql_1.Directive)('@transaction'),
212
- (0, type_graphql_1.Query)(returns => draft_release_good_1.DraftReleaseGood, { description: 'To fetch a DraftReleaseGood' }),
213
- __param(0, (0, type_graphql_1.Arg)('name')),
214
- __param(1, (0, type_graphql_1.Ctx)()),
215
- __metadata("design:type", Function),
216
- __metadata("design:paramtypes", [String, Object]),
217
- __metadata("design:returntype", Promise)
218
- ], DraftReleaseGoodQuery.prototype, "draftReleaseGoodByName", null);
219
- __decorate([
220
- (0, type_graphql_1.Directive)('@transaction'),
221
- (0, type_graphql_1.Query)(returns => draft_release_good_type_1.DraftReleaseGoodList, { description: 'To fetch multiple DraftReleaseGoods' }),
222
- __param(0, (0, type_graphql_1.Args)()),
223
- __param(1, (0, type_graphql_1.Ctx)()),
224
- __metadata("design:type", Function),
225
- __metadata("design:paramtypes", [typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object, Object]),
226
- __metadata("design:returntype", Promise)
227
- ], DraftReleaseGoodQuery.prototype, "draftReleaseGoods", null);
228
- DraftReleaseGoodQuery = __decorate([
229
- (0, type_graphql_1.Resolver)(draft_release_good_1.DraftReleaseGood)
230
- ], DraftReleaseGoodQuery);
231
- exports.DraftReleaseGoodQuery = DraftReleaseGoodQuery;
232
- async function getDraftReleaseGoodFunction(_, name, context, tx) {
233
- var _a;
234
- try {
235
- const { domain, user, bizplace } = context.state;
236
- let permittedBizplaces = await (0, biz_base_1.getPermittedBizplaces)(domain, user);
237
- let result = await tx.getRepository(draft_release_good_1.DraftReleaseGood).findOne({
238
- where: { domain, name, bizplace: (0, typeorm_1.In)(permittedBizplaces.map(biz => biz.id)) },
239
- relations: [
240
- 'releaseGood',
241
- 'orderProducts',
242
- 'orderProducts.product',
243
- 'orderProducts.productBundle',
244
- 'shippingOrder',
245
- 'bizplace',
246
- 'domain',
247
- 'creator',
248
- 'updater'
249
- ]
250
- });
251
- if (!(result === null || result === void 0 ? void 0 : result.id))
252
- throw new Error(`Failed to find draft release good ${name}`);
253
- let foundPermittedBizplace;
254
- let companyBizplace;
255
- if (result.bizplace.id) {
256
- foundPermittedBizplace = permittedBizplaces.find(biz => biz.id == result.bizplace.id);
257
- if (foundPermittedBizplace) {
258
- if (!((_a = foundPermittedBizplace.company) === null || _a === void 0 ? void 0 : _a.id)) {
259
- foundPermittedBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne(foundPermittedBizplace.id, {
260
- relations: ['company', 'company.domain']
261
- });
262
- }
263
- const companyDomain = foundPermittedBizplace.company.domain;
264
- companyBizplace = await tx.getRepository(biz_base_1.Bizplace).findOne({ where: { domain: companyDomain } });
265
- }
266
- }
267
- const bizplaces = [foundPermittedBizplace, companyBizplace];
268
- let productInventory;
269
- if (result.orderProducts.length > 0)
270
- productInventory = await utils_1.InventoryUtil.bizplaceProductInventory(bizplaces, { filters: [{ name: 'productId', operator: 'in', value: [...result.orderProducts.filter(itm => itm === null || itm === void 0 ? void 0 : itm.product).map(itm => { return itm.product.id; }), ...result.orderProducts.filter(itm => itm === null || itm === void 0 ? void 0 : itm.productBundle).map(itm => { return itm.productBundle.id; })] }] }, context, tx);
271
- result.orderProducts = result.orderProducts.map(itm => {
272
- let foundProductInv = productInventory === null || productInventory === void 0 ? void 0 : productInventory.items.find(i => { var _a, _b; return (i.productId == ((_a = itm === null || itm === void 0 ? void 0 : itm.product) === null || _a === void 0 ? void 0 : _a.id) || i.productId == ((_b = itm === null || itm === void 0 ? void 0 : itm.productBundle) === null || _b === void 0 ? void 0 : _b.id)) && i.packingType == itm.packingType && i.packingSize == itm.packingSize && i.uom == itm.uom; });
273
- return Object.assign(Object.assign({}, itm), { product: itm.product || { id: foundProductInv.productId, name: foundProductInv.productName, brand: foundProductInv.productBrand, sku: foundProductInv.productSKU }, groupType: foundProductInv ? foundProductInv.groupType : 'SINGLE', remainQty: foundProductInv ? foundProductInv.remainQty : 0, remainUomValue: foundProductInv ? foundProductInv.remainUomValue : 0, remainUomValueWithUom: foundProductInv ? foundProductInv.remainUomValueWithUom : 0 });
274
- });
275
- const foundAttachments = await tx.getRepository(attachment_base_1.Attachment).find({
276
- where: {
277
- domain,
278
- refBy: result.id,
279
- category: constants_2.ATTACHMENT_TYPE.DGRN
280
- }
281
- });
282
- return Object.assign(Object.assign({}, result), { attachment: foundAttachments });
283
- }
284
- catch (error) {
285
- console.error(error);
286
- }
287
- }
288
- exports.getDraftReleaseGoodFunction = getDraftReleaseGoodFunction;
289
- //# sourceMappingURL=draft-release-good-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"draft-release-good-query.js","sourceRoot":"","sources":["../../../server/service/draft-release-good/draft-release-good-query.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA8F;AAC9F,qCAA0F;AAG1F,uDAAmG;AACnG,iDAAkG;AAElG,+CAA0E;AAC1E,6DAAuD;AACvD,uEAAgE;AAEhE,qEAA4D;AAC5D,+CAAiD;AAEjD,uCAA2C;AAI3C,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAEhC,KAAK,CAAC,gBAAgB,CAAY,EAAU,EAAS,OAAY;QAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,uBAAa,EAAC,qCAAgB,CAAC,CAAC,OAAO,CAAC;YACnD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAID,KAAK,CAAC,sBAAsB,CAAc,IAAY,EAAS,OAAY;QACzE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAA0C,OAAO,CAAC,KAAK,CAAA;QAE3E,OAAO,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC7D,CAAC;IAID,KAAK,CAAC,iBAAiB,CAAS,MAAiB,EAAS,OAAY;QACpE,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAE7F,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;YAClE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;YAChF,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAA;YAChF,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;YACpE,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;YAEpF,IAAI,CAAC,cAAc,EAAE;gBACnB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,MAAM,IAAA,kCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC;oBAClD,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAA;aACH;YAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;YAEtH,IAAI,iBAAiB,EAAE;gBACrB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;gBACtF,IAAI,iBAAiB,CAAC,KAAK,IAAI,IAAI,EAAE;oBACnC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;oBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,aAAa;wBACvB,KAAK,EAAE,IAAI;wBACX,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAA;iBACH;qBAAM;oBACL,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;oBACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,SAAS;wBACnB,KAAK,EAAE,IAAI;wBACX,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAA;iBACH;aACF;YAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;YACrF,IAAI,gBAAgB,IAAI,CAAC,EAAE;gBACzB,IAAI,WAAW,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAA;gBAClE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAA;gBAE1C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,KAAK;oBACf,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE;oBAChC,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAA;aACH;YAED,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;YACjF,IAAI,cAAc,IAAI,CAAC,EAAE;gBACvB,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAA;gBAC9D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;gBAExC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;oBACzE,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAA;aACH;YAED,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;OAeR,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;YAEf,MAAM,EAAE,GAAyC,EAAE,CAAC,aAAa,CAAC,qCAAgB,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAC7G,IAAA,kBAAU,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YAC/B,EAAE,CAAC,SAAS,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAA;YAClD,EAAE,CAAC,SAAS,CAAC,4IAA4I,EAAE,iBAAiB,CAAC,CAAA;YAC7K,EAAE,CAAC,QAAQ,CAAC,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAA;YACtE,EAAE,CAAC,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;YAC5C,EAAE,CAAC,iBAAiB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;YAChD,EAAE,CAAC,iBAAiB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;YAC9C,EAAE,CAAC,iBAAiB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;YAC9C,EAAE,CAAC,iBAAiB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;YAClD,EAAE,CAAC,QAAQ,CACT,QAAQ,CAAC,EAAE;gBACT,OAAO,QAAQ;qBACZ,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;qBAC1B,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC;qBAC/B,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC;qBAClC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC;qBACjC,KAAK,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;qBAC3D,QAAQ,CAAC,iCAAiC,CAAC,CAAA;YAChD,CAAC,EACD,IAAI,EACJ,wBAAwB,CACzB,CAAA;YAED,IAAI,SAAS,EAAE;gBACb,EAAE,CAAC,QAAQ,CACT;;;;;;;SAOD,EACC,EAAE,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CACvC,CAAA;aACF;YAED,IAAI,eAAe,EAAE;gBACnB,EAAE,CAAC,QAAQ,CACT;;;;qEAI2D,eAAe,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;;WAErG,CACF,CAAA;aACF;YAED,IAAI,YAAY,EAAE;gBAChB,IAAI,YAAY,CAAC,KAAK,IAAI,sCAA0B,CAAC,KAAK,EAAE;oBAC1D,EAAE,CAAC,QAAQ,CACT;;aAEC,CACF,CAAA;iBACF;qBAAM,IAAI,YAAY,CAAC,KAAK,IAAI,sCAA0B,CAAC,YAAY,EAAE;oBACxE,EAAE,CAAC,QAAQ,CACT;;aAEC,CACF,CAAA;iBACF;qBAAM;oBACL,EAAE,CAAC,QAAQ,CACT;8BACkB,YAAY,CAAC,KAAK;aACnC,CACF,CAAA;iBACF;aACF;YAED,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YAChD,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CACzC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,iCACV,GAAG,KACN,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI;oBAC9F,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,KAAK,IACT,EACF,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAC3E,CAAA;YAED,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAEhB,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YAGxE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACtB,OAAO;oBACL,EAAE,EAAE,GAAG,CAAC,MAAM;oBACd,IAAI,EAAE,GAAG,CAAC,QAAQ;oBAClB,WAAW,EAAE,GAAG,CAAC,eAAe;oBAChC,IAAI,EAAE,GAAG,CAAC,QAAQ;oBAClB,WAAW,EAAE,GAAG,CAAC,gBAAgB;oBACjC,YAAY,EAAE,GAAG,CAAC,iBAAiB;oBACnC,YAAY,EAAE,GAAG,CAAC,iBAAiB;oBACnC,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,CAAC,oBAAoB,EAAE;oBACjG,KAAK,EAAE,GAAG,CAAC,UAAU;oBACrB,MAAM,EAAE,GAAG,CAAC,YAAY;oBACxB,MAAM,EAAE,GAAG,CAAC,YAAY;oBACxB,MAAM,EAAE,GAAG,CAAC,eAAe;oBAC3B,SAAS,EAAE,GAAG,CAAC,cAAc;oBAC7B,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,CAAC,mBAAmB,EAAE;oBAC7F,SAAS,EAAE,GAAG,CAAC,cAAc;oBAC7B,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,CAAC,mBAAmB,EAAE;iBAC9F,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;SACxB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IAEH,CAAC;CACF,CAAA;AA1NC;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,qCAAgB,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IAC3D,WAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,kBAAG,GAAE,CAAA;;;;6DAMnD;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,qCAAgB,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IACrD,WAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,WAAA,IAAA,kBAAG,GAAE,CAAA;;;;mEAI7D;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,8CAAoB,EAAE,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;IACtE,WAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,WAAA,IAAA,kBAAG,GAAE,CAAA;;yDAAjB,iBAAS,oBAAT,iBAAS;;8DAuMhD;AA3NU,qBAAqB;IADjC,IAAA,uBAAQ,EAAC,qCAAgB,CAAC;GACd,qBAAqB,CA4NjC;AA5NY,sDAAqB;AA8N3B,KAAK,UAAU,2BAA2B,CAAC,CAAM,EAAE,IAAS,EAAE,OAAY,EAAE,EAAkB;;IACnG,IAAI;QACF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAuD,OAAO,CAAC,KAAK,CAAA;QAEpG,IAAI,kBAAkB,GAAG,MAAM,IAAA,gCAAqB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClE,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,qCAAgB,CAAC,CAAC,OAAO,CAAC;YAC5D,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAA,YAAE,EAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;YAC5E,SAAS,EAAE;gBACT,aAAa;gBACb,eAAe;gBACf,uBAAuB;gBACvB,6BAA6B;gBAC7B,eAAe;gBACf,UAAU;gBACV,QAAQ;gBACR,SAAS;gBACT,SAAS;aACV;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAA;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAA;QAG7E,IAAI,sBAAgC,CAAA;QACpC,IAAI,eAAyB,CAAA;QAE7B,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;YACtB,sBAAsB,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAErF,IAAI,sBAAsB,EAAE;gBAC1B,IAAI,CAAC,CAAA,MAAA,sBAAsB,CAAC,OAAO,0CAAE,EAAE,CAAA,EAAE;oBACvC,sBAAsB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,EAAE;wBAC3F,SAAS,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;qBACzC,CAAC,CAAA;iBACH;gBACD,MAAM,aAAa,GAAW,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAA;gBACnE,eAAe,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mBAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;aACjG;SACF;QAED,MAAM,SAAS,GAAe,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAA;QAEvE,IAAI,gBAAgB,CAAA;QACpB,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YACjC,gBAAgB,GAAG,MAAM,qBAAa,CAAC,wBAAwB,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,CAAA,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,GAAG,CAAC,aAAa,CAAC,EAAE,CAAA,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;QAE1V,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpD,IAAI,eAAe,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,eAAC,OAAA,CAAC,CAAC,CAAC,SAAS,KAAI,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,0CAAE,EAAE,CAAA,IAAI,CAAC,CAAC,SAAS,KAAI,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,aAAa,0CAAE,EAAE,CAAA,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAA,EAAA,CAAC,CAAA;YAC/N,uCACK,GAAG,KACN,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,eAAe,CAAC,UAAU,EAAE,EAClK,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EACjE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC1D,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EACpE,qBAAqB,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IACnF;QACH,CAAC,CAAC,CAAA;QACF,MAAM,gBAAgB,GAAiB,MAAM,EAAE,CAAC,aAAa,CAAC,4BAAU,CAAC,CAAC,IAAI,CAAC;YAC7E,KAAK,EAAE;gBACL,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,EAAE;gBAChB,QAAQ,EAAE,2BAAe,CAAC,IAAI;aAC/B;SACF,CAAC,CAAA;QAEF,uCACK,MAAM,KACT,UAAU,EAAE,gBAAgB,IAC7B;KAEF;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;KACrB;AACH,CAAC;AAzED,kEAyEC"}