@things-factory/operato-wms 5.0.13 → 6.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/client/pages/bulk-operation/bulk-operation.js +96 -8
  2. package/client/pages/bulk-operation/validate-gan-popup.js +37 -27
  3. package/client/pages/bulk-operation/validate-ro-popup.js +40 -0
  4. package/client/pages/components/select-inventory-popup.js +633 -0
  5. package/client/pages/constants/order.js +2 -1
  6. package/client/pages/inbound/pallet-label-popup.js +2 -0
  7. package/client/pages/inbound/select-product-batch.js +7 -1
  8. package/client/pages/inbound/undo-unload-popup.js +37 -21
  9. package/client/pages/inbound/unload-product.js +147 -59
  10. package/client/pages/inbound/worksheet-putaway.js +1 -1
  11. package/client/pages/inbound/worksheet-unloading.js +11 -7
  12. package/client/pages/inventory/inventory-adjustment.js +261 -238
  13. package/client/pages/inventory/inventory-by-product-detail.js +99 -92
  14. package/client/pages/inventory/inventory-by-product.js +170 -68
  15. package/client/pages/inventory/onhand-inventory.js +10 -12
  16. package/client/pages/inventory/serial-number-list-popup.js +36 -5
  17. package/client/pages/inventory-check/inspecting-product.js +1 -1
  18. package/client/pages/manifest/create-loading-manifest.js +47 -22
  19. package/client/pages/manifest/dispatcher-verification-popup.js +24 -13
  20. package/client/pages/manifest/loading-manifest-detail.js +311 -46
  21. package/client/pages/manifest/loading-manifest-list.js +86 -13
  22. package/client/pages/order/arrival-notice/arrival-notice-detail.js +305 -52
  23. package/client/pages/order/arrival-notice/arrival-notice-list.js +20 -1
  24. package/client/pages/order/arrival-notice/create-arrival-notice.js +2 -2
  25. package/client/pages/order/goods-received-note/received-note-detail.js +187 -15
  26. package/client/pages/order/release-order/b2b/b2b-order-list.js +76 -80
  27. package/client/pages/order/release-order/b2c/b2c-order-requests.js +148 -123
  28. package/client/pages/order/release-order/batch-picking-popup.js +11 -0
  29. package/client/pages/order/release-order/create-release-order.js +762 -250
  30. package/client/pages/order/release-order/release-extra-product-popup.js +10 -3
  31. package/client/pages/order/release-order/release-order-detail.js +897 -215
  32. package/client/pages/order/transport-order/delivery-note-popup.js +1050 -107
  33. package/client/pages/order/transport-order/print-delivery-note.js +214 -33
  34. package/client/pages/order/transport-order/upload-delivery-note.js +6 -4
  35. package/client/pages/order/transport-order/view-delivery-note.js +0 -1
  36. package/client/pages/outbound/generate-worksheet-popup.js +374 -0
  37. package/client/pages/outbound/inventory-reassign-popup.js +1097 -0
  38. package/client/pages/outbound/loading-product.js +88 -78
  39. package/client/pages/outbound/merged-outbound-worksheet.js +1 -1
  40. package/client/pages/outbound/packing-product.js +193 -82
  41. package/client/pages/outbound/packing-worksheet-list.js +10 -9
  42. package/client/pages/outbound/picking-product.js +979 -905
  43. package/client/pages/outbound/route-label-popup.js +283 -191
  44. package/client/pages/outbound/serial-number-popup.js +1 -0
  45. package/client/pages/outbound/sorting-product.js +12 -12
  46. package/client/pages/outbound/worksheet-batch-picking.js +39 -5
  47. package/client/pages/outbound/worksheet-packing.js +17 -4
  48. package/client/pages/outbound/worksheet-picking.js +45 -6
  49. package/client/pages/report/inbound-serial-number-report.js +86 -9
  50. package/client/pages/report/inventory-report.js +10 -0
  51. package/client/pages/report/inventory-summary-report.js +28 -19
  52. package/client/pages/report/outbound-order-details-report.js +204 -43
  53. package/client/pages/report/outbound-serial-number-report.js +87 -9
  54. package/client/pages/report/release-inventory-report.js +503 -0
  55. package/client/route.js +5 -0
  56. package/client/util/index.js +2 -0
  57. package/client/util/page-settings.js +43 -0
  58. package/client/util/toast.js +10 -0
  59. package/dist-server/graphql/resolvers/board-setting/board-settings.js +3 -3
  60. package/dist-server/graphql/resolvers/board-setting/board-settings.js.map +1 -1
  61. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js +2 -2
  62. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.js.map +1 -1
  63. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js +1 -1
  64. package/dist-server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.js.map +1 -1
  65. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js +2 -2
  66. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.js.map +1 -1
  67. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js +9 -10
  68. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.js.map +1 -1
  69. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js +2 -2
  70. package/dist-server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.js.map +1 -1
  71. package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js +6 -4
  72. package/dist-server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.js.map +1 -1
  73. package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js +6 -4
  74. package/dist-server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.js.map +1 -1
  75. package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js +21 -10
  76. package/dist-server/graphql/resolvers/dashboard/arrival-notices-by-status.js.map +1 -1
  77. package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js +1 -2
  78. package/dist-server/graphql/resolvers/dashboard/collection-orders-by-status.js.map +1 -1
  79. package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js +1 -2
  80. package/dist-server/graphql/resolvers/dashboard/delivery-orders-by-status.js.map +1 -1
  81. package/dist-server/graphql/resolvers/dashboard/index.js +2 -1
  82. package/dist-server/graphql/resolvers/dashboard/index.js.map +1 -1
  83. package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js +17 -1
  84. package/dist-server/graphql/resolvers/dashboard/inventory-expiry-monitor.js.map +1 -1
  85. package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js +113 -75
  86. package/dist-server/graphql/resolvers/dashboard/outbound-order-by-status.js.map +1 -1
  87. package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js +21 -10
  88. package/dist-server/graphql/resolvers/dashboard/release-goods-by-status.js.map +1 -1
  89. package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js +56 -0
  90. package/dist-server/graphql/resolvers/dashboard/unit-inbounded-outbounded.js.map +1 -0
  91. package/dist-server/graphql/resolvers/index.js +5 -4
  92. package/dist-server/graphql/resolvers/index.js.map +1 -1
  93. package/dist-server/graphql/resolvers/inventory-comparison/inventory-comparison-list.js.map +1 -1
  94. package/dist-server/graphql/resolvers/opa-menu/opa-menus.js +8 -7
  95. package/dist-server/graphql/resolvers/opa-menu/opa-menus.js.map +1 -1
  96. package/dist-server/graphql/resolvers/{extra → other}/add-release-good-products.js +59 -8
  97. package/dist-server/graphql/resolvers/other/add-release-good-products.js.map +1 -0
  98. package/dist-server/graphql/resolvers/{extra → other}/index.js +3 -1
  99. package/dist-server/graphql/resolvers/other/index.js.map +1 -0
  100. package/dist-server/graphql/resolvers/other/page-settings.js +87 -0
  101. package/dist-server/graphql/resolvers/other/page-settings.js.map +1 -0
  102. package/dist-server/graphql/resolvers/reports/costing-report.js +4 -4
  103. package/dist-server/graphql/resolvers/reports/costing-report.js.map +1 -1
  104. package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js +3 -3
  105. package/dist-server/graphql/resolvers/reports/inbound-order-details-report.js.map +1 -1
  106. package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js +36 -7
  107. package/dist-server/graphql/resolvers/reports/inbound-serial-number-report.js.map +1 -1
  108. package/dist-server/graphql/resolvers/reports/index.js +2 -1
  109. package/dist-server/graphql/resolvers/reports/index.js.map +1 -1
  110. package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js +69 -30
  111. package/dist-server/graphql/resolvers/reports/outbound-order-details-report.js.map +1 -1
  112. package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js +36 -11
  113. package/dist-server/graphql/resolvers/reports/outbound-serial-number-report.js.map +1 -1
  114. package/dist-server/graphql/resolvers/reports/product-label-report.js +3 -3
  115. package/dist-server/graphql/resolvers/reports/product-label-report.js.map +1 -1
  116. package/dist-server/graphql/resolvers/reports/release-inventory-report.js +180 -0
  117. package/dist-server/graphql/resolvers/reports/release-inventory-report.js.map +1 -0
  118. package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js +2 -2
  119. package/dist-server/graphql/resolvers/shipping-provider/shipping-providers.js.map +1 -1
  120. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js +1 -1
  121. package/dist-server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.js.map +1 -1
  122. package/dist-server/graphql/types/dashboard/index.js +1 -0
  123. package/dist-server/graphql/types/dashboard/index.js.map +1 -1
  124. package/dist-server/graphql/types/index.js +7 -2
  125. package/dist-server/graphql/types/index.js.map +1 -1
  126. package/dist-server/graphql/types/other/index.js +19 -0
  127. package/dist-server/graphql/types/other/index.js.map +1 -0
  128. package/dist-server/graphql/types/other/page-setting.js +34 -0
  129. package/dist-server/graphql/types/other/page-setting.js.map +1 -0
  130. package/dist-server/graphql/types/reports/index.js +6 -1
  131. package/dist-server/graphql/types/reports/index.js.map +1 -1
  132. package/dist-server/graphql/types/reports/outbound-order-details-report.js +17 -1
  133. package/dist-server/graphql/types/reports/outbound-order-details-report.js.map +1 -1
  134. package/dist-server/graphql/types/reports/release-inventory-report-list.js +12 -0
  135. package/dist-server/graphql/types/reports/release-inventory-report-list.js.map +1 -0
  136. package/dist-server/graphql/types/reports/release-inventory-report.js +27 -0
  137. package/dist-server/graphql/types/reports/release-inventory-report.js.map +1 -0
  138. package/dist-server/migrations/1568858861188-SeedSetting.js +5 -6
  139. package/dist-server/migrations/1568858861188-SeedSetting.js.map +1 -1
  140. package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js +1 -1
  141. package/dist-server/migrations/1623308919899-SeedLocationRecommendSetting.js.map +1 -1
  142. package/dist-server/migrations/1623381200659-SeedStoringRule.js +1 -1
  143. package/dist-server/migrations/1623381200659-SeedStoringRule.js.map +1 -1
  144. package/dist-server/tsconfig.tsbuildinfo +1 -1
  145. package/dist-server/utils/report-query-util.js +5 -2
  146. package/dist-server/utils/report-query-util.js.map +1 -1
  147. package/helps/release-note.ko.md +8 -20
  148. package/helps/release-note.md +8 -20
  149. package/helps/release-note.ms.md +8 -20
  150. package/helps/release-note.zh.md +8 -20
  151. package/package.json +42 -42
  152. package/server/graphql/resolvers/board-setting/board-settings.ts +4 -6
  153. package/server/graphql/resolvers/custom/elccl/elccl-daily-collection-report.ts +4 -5
  154. package/server/graphql/resolvers/custom/elccl/elccl-daily-order-inventory-report.ts +9 -10
  155. package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-pallet-detail-report.ts +4 -5
  156. package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-report.ts +17 -19
  157. package/server/graphql/resolvers/custom/elccl/elccl-inventory-history-summary-report.ts +10 -8
  158. package/server/graphql/resolvers/custom/elccl/elccl-onhand-inventory-counter.ts +9 -9
  159. package/server/graphql/resolvers/custom/kimeda/kimeda-onhand-inventory-counter.ts +9 -9
  160. package/server/graphql/resolvers/dashboard/arrival-notices-by-status.ts +23 -14
  161. package/server/graphql/resolvers/dashboard/collection-orders-by-status.ts +4 -5
  162. package/server/graphql/resolvers/dashboard/delivery-orders-by-status.ts +4 -5
  163. package/server/graphql/resolvers/dashboard/index.ts +3 -1
  164. package/server/graphql/resolvers/dashboard/inventory-expiry-monitor.ts +18 -6
  165. package/server/graphql/resolvers/dashboard/outbound-order-by-status.ts +114 -81
  166. package/server/graphql/resolvers/dashboard/release-goods-by-status.ts +23 -14
  167. package/server/graphql/resolvers/dashboard/unit-inbounded-outbounded.ts +61 -0
  168. package/server/graphql/resolvers/index.ts +5 -4
  169. package/server/graphql/resolvers/inventory-comparison/inventory-comparison-list.ts +11 -9
  170. package/server/graphql/resolvers/opa-menu/opa-menus.ts +7 -6
  171. package/server/graphql/resolvers/{extra → other}/add-release-good-products.ts +73 -12
  172. package/server/graphql/resolvers/other/index.ts +10 -0
  173. package/server/graphql/resolvers/other/page-settings.ts +105 -0
  174. package/server/graphql/resolvers/reports/costing-report.ts +8 -10
  175. package/server/graphql/resolvers/reports/inbound-order-details-report.ts +7 -9
  176. package/server/graphql/resolvers/reports/inbound-serial-number-report.ts +41 -13
  177. package/server/graphql/resolvers/reports/index.ts +3 -1
  178. package/server/graphql/resolvers/reports/outbound-order-details-report.ts +76 -38
  179. package/server/graphql/resolvers/reports/outbound-serial-number-report.ts +42 -18
  180. package/server/graphql/resolvers/reports/product-label-report.ts +4 -6
  181. package/server/graphql/resolvers/reports/release-inventory-report.ts +201 -0
  182. package/server/graphql/resolvers/shipping-provider/shipping-providers.ts +3 -5
  183. package/server/graphql/resolvers/warehouse-inventory-adjustment/warehouse-intentory-adjustment.ts +10 -10
  184. package/server/graphql/types/dashboard/index.ts +1 -0
  185. package/server/graphql/types/index.ts +8 -2
  186. package/server/graphql/types/other/index.ts +19 -0
  187. package/server/graphql/types/other/page-setting.ts +33 -0
  188. package/server/graphql/types/reports/index.ts +6 -1
  189. package/server/graphql/types/reports/outbound-order-details-report.ts +17 -1
  190. package/server/graphql/types/reports/release-inventory-report-list.ts +8 -0
  191. package/server/graphql/types/reports/release-inventory-report.ts +23 -0
  192. package/server/migrations/1568858861188-SeedSetting.ts +4 -4
  193. package/server/migrations/1623308919899-SeedLocationRecommendSetting.ts +3 -2
  194. package/server/migrations/1623381200659-SeedStoringRule.ts +3 -2
  195. package/server/utils/report-query-util.ts +5 -2
  196. package/things-factory.config.js +4 -0
  197. package/translations/en.json +148 -27
  198. package/translations/ko.json +185 -105
  199. package/translations/ms.json +183 -98
  200. package/translations/zh.json +197 -112
  201. package/dist-server/graphql/resolvers/extra/add-release-good-products.js.map +0 -1
  202. package/dist-server/graphql/resolvers/extra/index.js.map +0 -1
  203. package/dist-server/graphql/types/extra/index.js +0 -11
  204. package/dist-server/graphql/types/extra/index.js.map +0 -1
  205. package/server/graphql/resolvers/extra/index.ts +0 -5
  206. package/server/graphql/types/extra/index.ts +0 -7
@@ -1,14 +1,18 @@
1
1
  import '@things-factory/biz-ui'
2
+ import '@things-factory/warehouse-ui'
2
3
  import './validate-gan-popup'
3
4
  import './validate-ro-popup'
4
5
 
6
+ import gql from 'graphql-tag'
5
7
  import { css, html } from 'lit-element'
6
8
  import XLSX from 'xlsx'
7
9
 
8
10
  import { MultiColumnFormStyles } from '@things-factory/form-ui'
9
11
  import { i18next, localize } from '@things-factory/i18n-base'
10
12
  import { openPopup } from '@things-factory/layout-base'
11
- import { PageView } from '@things-factory/shell'
13
+ import { client, PageView, navigate, CustomAlert } from '@things-factory/shell'
14
+ import { fetchSettingRule } from '../../fetch-setting-value'
15
+ import { sleep } from '@things-factory/utils'
12
16
 
13
17
  class BulkOperation extends localize(i18next)(PageView) {
14
18
  static get styles() {
@@ -137,11 +141,15 @@ class BulkOperation extends localize(i18next)(PageView) {
137
141
  return {
138
142
  _ganBizplaceId: String,
139
143
  _ganBizplaceName: String,
144
+ _ganPartnerDomainId: String,
140
145
  _ganDocument: Object,
141
146
  _roDocument: Object,
142
147
  _rawData: Array,
143
148
  _roBizplaceId: String,
144
- _roBizplaceName: String
149
+ _roBizplaceName: String,
150
+ ganProcessingSetting: String,
151
+ _bufferLocationId: Object,
152
+ _arrivalNotices: Array
145
153
  }
146
154
  }
147
155
 
@@ -195,6 +203,7 @@ class BulkOperation extends localize(i18next)(PageView) {
195
203
  refNo3: '',
196
204
  releaseDate: '',
197
205
  attentionTo: '',
206
+ attentionCompany: '',
198
207
  deliveryAddress1: '',
199
208
  deliveryAddress2: '',
200
209
  deliveryAddress3: '',
@@ -208,7 +217,12 @@ class BulkOperation extends localize(i18next)(PageView) {
208
217
  packingType: '',
209
218
  packingSize: 0,
210
219
  uom: '',
211
- releaseQty: 0
220
+ releaseQty: 0,
221
+ billingAddress: '',
222
+ billingPostalCode: '',
223
+ billingCountry: '',
224
+ billingState: '',
225
+ billingCity: ''
212
226
  }
213
227
  ]
214
228
  }
@@ -342,14 +356,56 @@ class BulkOperation extends localize(i18next)(PageView) {
342
356
  } else this._showToast({ level: 'error', message: i18next.t('text.please_attach_the_file') })
343
357
  }
344
358
 
359
+ async _assignBufferLocation() {
360
+ try {
361
+ this._validateBufferLocation()
362
+
363
+ let result = await CustomAlert({
364
+ title: i18next.t('title.are_you_sure'),
365
+ text: i18next.t('text.assign_warehouse'),
366
+ confirmButton: { text: i18next.t('button.confirm') },
367
+ cancelButton: { text: i18next.t('button.cancel') }
368
+ })
369
+
370
+ if (!result.value) return
371
+
372
+ const response = await client.mutate({
373
+ mutation: gql`
374
+ mutation generateArrivalNoticeWorksheet($arrivalNoticeNos: [String!], $bufferLocation: ObjectRef!) {
375
+ generateArrivalNoticeWorksheet(arrivalNoticeNos: $arrivalNoticeNos, bufferLocation: $bufferLocation) {
376
+ unloadingWorksheet {
377
+ name
378
+ }
379
+ }
380
+ }
381
+ `,
382
+ variables: {
383
+ arrivalNoticeNos: this._arrivalNotices,
384
+ bufferLocation: { id: this._bufferLocationId }
385
+ }
386
+ })
387
+
388
+ if (!response.errors) {
389
+ navigate(`inbound_worksheets`)
390
+ this._showToast({ message: i18next.t('text.warehouse_is_assigned') })
391
+ }
392
+ } catch (e) {
393
+ this._showToast(e)
394
+ }
395
+ }
396
+
397
+ _validateBufferLocation() {
398
+ if (!this._bufferLocationId) throw new Error(i18next.t('text.warehouse_is_not_assigned'))
399
+ }
400
+
345
401
  _validateArrivalNotice(records) {
346
402
  /* validate excel that user uploaded */
347
403
  openPopup(
348
404
  html`
349
405
  <validate-gan-popup
350
406
  .records=${records.map(raw => {
351
- let etaDate = new Date((raw.etaDate - (25567 + 1)) * 86400 * 1000 || NULL)
352
- let mfgDate = new Date((raw.manufactureDate - (25567 + 1)) * 86400 * 1000 || NULL)
407
+ let etaDate = new Date((raw.etaDate - (25567 + 1)) * 86400 * 1000 || null)
408
+ let mfgDate = new Date((raw.manufactureDate - (25567 + 1)) * 86400 * 1000 || null)
353
409
 
354
410
  return {
355
411
  refNo: String(raw.refNo || ''),
@@ -380,7 +436,13 @@ class BulkOperation extends localize(i18next)(PageView) {
380
436
  .padStart(2, 0)}`
381
437
  }
382
438
  })}
439
+ .ganProcessing=${this.ganProcessingSetting}
383
440
  .bizplaceId=${this._ganBizplaceId}
441
+ @gan-processing-setting="${async e => {
442
+ this._arrivalNotices = e.detail
443
+ await sleep(10)
444
+ this._openBufferSelector()
445
+ }}"
384
446
  ></validate-gan-popup>
385
447
  `,
386
448
  {
@@ -425,7 +487,12 @@ class BulkOperation extends localize(i18next)(PageView) {
425
487
  : null,
426
488
  postalCode: String(record.postalCode || ''),
427
489
  phone1: String(record.phone1 || ''),
428
- exportOption: false
490
+ exportOption: false,
491
+ billingAddress: String(record.billingAddress || ''),
492
+ billingPostalCode: String(record.billingPostalCode || ''),
493
+ billingCountry: String(record.billingCountry || ''),
494
+ billingState: String(record.billingState || ''),
495
+ billingCity: String(record.billingCity || '')
429
496
  }
430
497
  })}
431
498
  .bizplaceId=${this._roBizplaceId}
@@ -444,15 +511,18 @@ class BulkOperation extends localize(i18next)(PageView) {
444
511
  openPopup(
445
512
  html`
446
513
  <popup-partner-bizplaces-selector
447
- @selected="${e => {
448
- let { id, name } = e.detail
514
+ @selected="${async e => {
515
+ let { id, name, domain } = e.detail
449
516
  if (source == 'GAN') {
450
517
  this._ganBizplaceId = id
451
518
  this._ganBizplaceName = name
519
+ this._ganPartnerDomainId = domain.id
452
520
  } else if (source == 'RO') {
453
521
  this._roBizplaceId = id
454
522
  this._roBizplaceName = name
455
523
  }
524
+ this.ganProcessingSetting =
525
+ (await fetchSettingRule('gan-order-processing', this._ganPartnerDomainId)) || '-1'
456
526
  }}"
457
527
  ></popup-partner-bizplaces-selector>
458
528
  `,
@@ -464,6 +534,24 @@ class BulkOperation extends localize(i18next)(PageView) {
464
534
  )
465
535
  }
466
536
 
537
+ _openBufferSelector() {
538
+ openPopup(
539
+ html`
540
+ <buffer-location-selector
541
+ @selected="${async e => {
542
+ this._bufferLocationId = `${e.detail.id}`
543
+ await this._assignBufferLocation()
544
+ }}"
545
+ ></buffer-location-selector>
546
+ `,
547
+ {
548
+ backdrop: true,
549
+ size: 'large',
550
+ title: i18next.t('title.select_warehouse')
551
+ }
552
+ )
553
+ }
554
+
467
555
  _getStdDateStr(date) {
468
556
  if (isNaN(date.getFullYear())) return ''
469
557
  else {
@@ -14,7 +14,8 @@ class ValidateGanPopup extends localize(i18next)(LitElement) {
14
14
  return {
15
15
  _ganConfig: Object,
16
16
  bizplaceId: String,
17
- records: Array
17
+ records: Array,
18
+ ganProcessing: String
18
19
  }
19
20
  }
20
21
 
@@ -313,6 +314,34 @@ class ValidateGanPopup extends localize(i18next)(LitElement) {
313
314
  try {
314
315
  this._validateArrivalNotices()
315
316
 
317
+ if (rawArrivalNotices) {
318
+ rawArrivalNotices = rawArrivalNotices.map(raw => {
319
+ return {
320
+ refNo: raw.refNo,
321
+ refNo2: raw.refNo2,
322
+ refNo3: raw.refNo3,
323
+ etaDate: raw.etaDate,
324
+ truckNo: raw.truckNo,
325
+ ownTransport: !!raw.truckNo || false,
326
+ looseItem: !!raw.looseItem || false,
327
+ importCargo: !!raw.importCargo || false,
328
+ container: (!!raw.containerNo && !!raw.containerSize) || false,
329
+ containerNo: raw.containerNo,
330
+ containerSize: raw.containerSize,
331
+ sku: raw.sku,
332
+ batchId: raw.batchId,
333
+ batchIdRef: raw.batchIdRef,
334
+ packingType: raw.packingType,
335
+ packingSize: raw.packingSize,
336
+ uom: raw.uom,
337
+ packQty: raw.packQty,
338
+ palletQty: raw.palletQty,
339
+ unitPrice: raw.unitPrice,
340
+ manufactureDate: new Date(parseInt(raw.manufactureDate))
341
+ }
342
+ })
343
+ }
344
+
316
345
  const response = await client.mutate({
317
346
  mutation: gql`
318
347
  mutation bulkGenerateArrivalNotices($rawArrivalNotices: [NewArrivalNotice!], $bizplaceId: String!) {
@@ -324,38 +353,18 @@ class ValidateGanPopup extends localize(i18next)(LitElement) {
324
353
  }
325
354
  `,
326
355
  variables: {
327
- rawArrivalNotices: rawArrivalNotices.map(raw => {
328
- return {
329
- refNo: raw.refNo,
330
- refNo2: raw.refNo2,
331
- refNo3: raw.refNo3,
332
- etaDate: raw.etaDate,
333
- truckNo: raw.truckNo,
334
- ownTransport: !!raw.truckNo || false,
335
- looseItem: !!raw.looseItem || false,
336
- importCargo: !!raw.importCargo || false,
337
- container: (!!raw.containerNo && !!raw.containerSize) || false,
338
- containerNo: raw.containerNo,
339
- containerSize: raw.containerSize,
340
- sku: raw.sku,
341
- batchId: raw.batchId,
342
- batchIdRef: raw.batchIdRef,
343
- packingType: raw.packingType,
344
- packingSize: raw.packingSize,
345
- uom: raw.uom,
346
- packQty: raw.packQty,
347
- palletQty: raw.palletQty,
348
- unitPrice: raw.unitPrice,
349
- manufactureDate: new Date(parseInt(raw.manufactureDate))
350
- }
351
- }),
356
+ rawArrivalNotices,
352
357
  bizplaceId
353
358
  }
354
359
  })
355
360
 
356
361
  if (!response.errors) {
357
362
  this._showToast({ message: i18next.t('text.arrival_notices_created') })
358
- history.back()
363
+
364
+ if (this.ganProcessing == '1') {
365
+ let arrivalNoticeNos = response.data.bulkGenerateArrivalNotices.items.map(itm => itm.name)
366
+ this.dispatchEvent(new CustomEvent('gan-processing-setting', { detail: arrivalNoticeNos }))
367
+ }
359
368
  } else {
360
369
  let invalidDataError = response.errors.find(err => err.extensions.exception.errorCode == 'ivd1')
361
370
  if (invalidDataError) {
@@ -366,6 +375,7 @@ class ValidateGanPopup extends localize(i18next)(LitElement) {
366
375
  } catch (e) {
367
376
  this._showToast(e)
368
377
  } finally {
378
+ history.back()
369
379
  this.dataGrist.hideSpinner()
370
380
  await sleep(1)
371
381
  }
@@ -148,6 +148,36 @@ class ValidateRoPopup extends localize(i18next)(LitElement) {
148
148
  header: i18next.t('field.delivery_address_4'),
149
149
  width: 150
150
150
  },
151
+ {
152
+ type: 'string',
153
+ name: 'billingAddress',
154
+ header: i18next.t('field.billing_address'),
155
+ width: 150
156
+ },
157
+ {
158
+ type: 'string',
159
+ name: 'billingPostalCode',
160
+ header: i18next.t('field.billing_postal_code'),
161
+ width: 150
162
+ },
163
+ {
164
+ type: 'string',
165
+ name: 'billingCountry',
166
+ header: i18next.t('field.billing_country'),
167
+ width: 150
168
+ },
169
+ {
170
+ type: 'string',
171
+ name: 'billingState',
172
+ header: i18next.t('field.billing_state'),
173
+ width: 150
174
+ },
175
+ {
176
+ type: 'string',
177
+ name: 'billingCity',
178
+ header: i18next.t('field.billing_city'),
179
+ width: 150
180
+ },
151
181
  {
152
182
  type: 'string',
153
183
  name: 'city',
@@ -290,6 +320,11 @@ class ValidateRoPopup extends localize(i18next)(LitElement) {
290
320
  deliveryAddress2
291
321
  deliveryAddress3
292
322
  deliveryAddress4
323
+ billingAddress
324
+ billingCity
325
+ billingPostalCode
326
+ billingState
327
+ billingCountry
293
328
  attentionTo
294
329
  city
295
330
  state
@@ -344,6 +379,11 @@ class ValidateRoPopup extends localize(i18next)(LitElement) {
344
379
  deliveryAddress2: x.deliveryAddress2,
345
380
  deliveryAddress3: x.deliveryAddress3,
346
381
  deliveryAddress4: x.deliveryAddress4,
382
+ billingAddress: x.billingAddress,
383
+ billingCity: x.billingCity,
384
+ billingState: x.billingState,
385
+ billingPostalCode: x.billingPostalCode,
386
+ billingCountry: x.billingCountry,
347
387
  attentionTo: x.attentionTo,
348
388
  city: x.city,
349
389
  state: x.state,