@things-factory/operato-pms 3.8.13 → 3.8.14

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 (60) hide show
  1. package/client/pages/dispatchment/daily-dispatch-detail.js +1 -1
  2. package/client/pages/dispatchment/dispatchment-create-record.js +15 -40
  3. package/client/pages/harvesting/daily-harvesting-detail.js +2 -2
  4. package/client/pages/harvesting/edit-harvesting-record.js +2 -2
  5. package/client/pages/harvesting/harvesting-create-record.js +2 -2
  6. package/client/pages/inventory/inventory-ramp-tonnage.js +23 -31
  7. package/client/pages/report/report-daily-ffb-dispatch-and-production.js +167 -124
  8. package/client/pages/report/report-ffb-tonnage-between-individual-block.js +12 -7
  9. package/dist-server/constants/transaction.js +2 -1
  10. package/dist-server/constants/transaction.js.map +1 -1
  11. package/dist-server/entities/daily-dispatch.js +1 -2
  12. package/dist-server/entities/daily-dispatch.js.map +1 -1
  13. package/dist-server/graphql/resolvers/daily-dispatch/update-daily-dispatch.js +1 -1
  14. package/dist-server/graphql/resolvers/daily-dispatch/update-daily-dispatch.js.map +1 -1
  15. package/dist-server/graphql/resolvers/daily-harvest/generate-daily-harvest.js +2 -2
  16. package/dist-server/graphql/resolvers/daily-harvest/generate-daily-harvest.js.map +1 -1
  17. package/dist-server/graphql/resolvers/daily-loading/update-daily-loading.js +19 -6
  18. package/dist-server/graphql/resolvers/daily-loading/update-daily-loading.js.map +1 -1
  19. package/dist-server/graphql/resolvers/dashboard/dashboard-query.js +165 -43
  20. package/dist-server/graphql/resolvers/dashboard/dashboard-query.js.map +1 -1
  21. package/dist-server/graphql/resolvers/report/daily-ffb-dispatch-production-reports.js +111 -0
  22. package/dist-server/graphql/resolvers/report/daily-ffb-dispatch-production-reports.js.map +1 -0
  23. package/dist-server/graphql/resolvers/report/daily-production-reports.js +6 -6
  24. package/dist-server/graphql/resolvers/report/index.js +2 -1
  25. package/dist-server/graphql/resolvers/report/index.js.map +1 -1
  26. package/dist-server/graphql/resolvers/report/monthly-block-dispatch-reports.js +10 -8
  27. package/dist-server/graphql/resolvers/report/monthly-block-dispatch-reports.js.map +1 -1
  28. package/dist-server/graphql/resolvers/report/monthly-ffb-sale-reports.js +1 -1
  29. package/dist-server/graphql/resolvers/report/monthly-production-reports.js +1 -1
  30. package/dist-server/graphql/types/report/daily-ffb-dispatch-production-report-list.js +14 -0
  31. package/dist-server/graphql/types/report/daily-ffb-dispatch-production-report-list.js.map +1 -0
  32. package/dist-server/graphql/types/report/daily-ffb-dispatch-production-report.js +15 -0
  33. package/dist-server/graphql/types/report/daily-ffb-dispatch-production-report.js.map +1 -0
  34. package/dist-server/graphql/types/report/index.js +13 -0
  35. package/dist-server/graphql/types/report/index.js.map +1 -1
  36. package/dist-server/utils/core-values.js +2 -2
  37. package/dist-server/utils/transaction-util.js +2 -1
  38. package/dist-server/utils/transaction-util.js.map +1 -1
  39. package/package.json +2 -2
  40. package/server/constants/transaction.ts +2 -1
  41. package/server/entities/daily-dispatch.ts +1 -4
  42. package/server/graphql/resolvers/daily-dispatch/update-daily-dispatch.ts +2 -2
  43. package/server/graphql/resolvers/daily-harvest/generate-daily-harvest.ts +2 -2
  44. package/server/graphql/resolvers/daily-loading/update-daily-loading.ts +39 -11
  45. package/server/graphql/resolvers/dashboard/dashboard-query.ts +208 -52
  46. package/server/graphql/resolvers/report/daily-ffb-dispatch-production-reports.ts +138 -0
  47. package/server/graphql/resolvers/report/daily-production-reports.ts +6 -6
  48. package/server/graphql/resolvers/report/index.ts +3 -1
  49. package/server/graphql/resolvers/report/monthly-block-dispatch-reports.ts +11 -9
  50. package/server/graphql/resolvers/report/monthly-ffb-sale-reports.ts +1 -1
  51. package/server/graphql/resolvers/report/monthly-production-reports.ts +1 -1
  52. package/server/graphql/types/report/daily-ffb-dispatch-production-report-list.ts +8 -0
  53. package/server/graphql/types/report/daily-ffb-dispatch-production-report.ts +9 -0
  54. package/server/graphql/types/report/index.ts +13 -0
  55. package/server/utils/core-values.ts +2 -2
  56. package/server/utils/transaction-util.ts +2 -1
  57. package/translations/en.json +7 -6
  58. package/translations/ko.json +7 -6
  59. package/translations/ms.json +10 -9
  60. package/translations/zh.json +7 -6
@@ -307,6 +307,7 @@ class ReportFfbTonnageBetweenIndividualBlock extends connect(store)(localize(i18
307
307
  block {
308
308
  id
309
309
  name
310
+ deletedAt
310
311
  }
311
312
  }
312
313
  }
@@ -316,16 +317,19 @@ class ReportFfbTonnageBetweenIndividualBlock extends connect(store)(localize(i18
316
317
  })
317
318
 
318
319
  if (!response.errors) {
319
- return response.data.ramps.items.map(ramp => {
320
- return {
321
- id: ramp.block.id,
322
- name: ramp.block.name
323
- }
324
- })
320
+ return response.data.ramps.items.reduce((acc, ramp) => {
321
+ if (!acc.find(itm => itm.id == ramp.block.id) && !ramp.block.deletedAt)
322
+ acc.push({
323
+ id: ramp.block.id,
324
+ name: ramp.block.name
325
+ })
326
+
327
+ return acc
328
+ }, [])
325
329
  }
326
330
  }
327
331
 
328
- _dateChange() {
332
+ _dateChange(e) {
329
333
  const monthNames = [
330
334
  'January',
331
335
  'February',
@@ -342,6 +346,7 @@ class ReportFfbTonnageBetweenIndividualBlock extends connect(store)(localize(i18
342
346
  ]
343
347
  let selectedDate = this._monthInput.valueAsDate
344
348
  this._month = `${monthNames[selectedDate.getMonth()]} ${selectedDate.getFullYear().toString()}`
349
+ this.searchForm.submit()
345
350
  }
346
351
 
347
352
  async _exportableData() {
@@ -5,7 +5,8 @@ exports.TRANSACTION_TYPE = {
5
5
  HARVEST: 'HARVEST',
6
6
  LOADING: 'LOADING',
7
7
  DISPATCHMENT: 'DISPATCHMENT',
8
- TONNAGE_ADJUSTMENT: 'TONNAGE_ADJUSTMENT',
8
+ LOADING_ADJUSTMENT: 'LOADING_ADJUSTMENT',
9
+ DISPATCHMENT_ADJUSTMENT: 'DISPATCHMENT_ADJUSTMENT',
9
10
  BUNCHES_ADJUSTMENT: 'BUNCHES_ADJUSTMENT',
10
11
  TERMINATED: 'TERMINATED'
11
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../server/constants/transaction.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,UAAU,EAAE,YAAY;CACzB,CAAA"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../server/constants/transaction.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,kBAAkB,EAAE,oBAAoB;IACxC,uBAAuB,EAAE,yBAAyB;IAClD,kBAAkB,EAAE,oBAAoB;IACxC,UAAU,EAAE,YAAY;CACzB,CAAA"}
@@ -42,8 +42,7 @@ __decorate([
42
42
  __metadata("design:type", String)
43
43
  ], DailyDispatch.prototype, "externalDriver", void 0);
44
44
  __decorate([
45
- (0, typeorm_1.OneToOne)(type => entities_1.Truck, { nullable: true }),
46
- (0, typeorm_1.JoinColumn)(),
45
+ (0, typeorm_1.ManyToOne)(type => entities_1.Truck, { nullable: true }),
47
46
  __metadata("design:type", entities_1.Truck)
48
47
  ], DailyDispatch.prototype, "transport", void 0);
49
48
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"daily-dispatch.js","sourceRoot":"","sources":["../../server/entities/daily-dispatch.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAWgB;AAEhB,yDAAgD;AAChD,iDAA8C;AAE9C,0CAAyF;AAMzF,IAAa,aAAa,GAA1B,MAAa,aAAa;CAsEzB,CAAA;AApEC;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;yCACrB;AAGV;IADC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;kDAClB,cAAM,oBAAN,cAAM;6CAAA;AAGd;IADC,IAAA,gBAAM,GAAE;;2CACG;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACR;AAGnB;IADC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,4BAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACjD,4BAAiB;6CAAA;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACL;AAItB;IAFC,IAAA,kBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAU,GAAE;8BACF,gBAAK;gDAAA;AAGhB;IADC,IAAA,gBAAM,GAAE;;kDACU;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACC;AAG5B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0DACX;AAG3B;IADC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAmB,EAAE,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,CAAC;;2DACtD;AAG3C;IADC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,uBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACxC,uBAAY;iDAAA;AAGxB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACf,IAAI;IAEhB,+BAA+B;;iDAFf;AAIhB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;6CACV;AAId;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACpB;AAGlB;IADC,IAAA,gBAAM,GAAE;;6CACK;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAChB,IAAI;gDAAA;AAGf;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;gDAAA;AAGf;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;gDAAA;AAKf;IAHC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;kDACO,gBAAI,oBAAJ,gBAAI;8CAAA;AAKb;IAHC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;kDACO,gBAAI,oBAAJ,gBAAI;8CAAA;AArEF,aAAa;IAJzB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,qBAAqB,EAAE,CAAC,aAA4B,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,EAAE;QACxG,MAAM,EAAE,IAAI;KACb,CAAC;GACW,aAAa,CAsEzB;AAtEY,sCAAa"}
1
+ {"version":3,"file":"daily-dispatch.js","sourceRoot":"","sources":["../../server/entities/daily-dispatch.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCASgB;AAEhB,yDAAgD;AAChD,iDAA8C;AAE9C,0CAAyF;AAMzF,IAAa,aAAa,GAA1B,MAAa,aAAa;CAqEzB,CAAA;AAnEC;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;yCACrB;AAGV;IADC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;kDAClB,cAAM,oBAAN,cAAM;6CAAA;AAGd;IADC,IAAA,gBAAM,GAAE;;2CACG;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACR;AAGnB;IADC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,4BAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACjD,4BAAiB;6CAAA;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACL;AAGtB;IADC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAClC,gBAAK;gDAAA;AAGhB;IADC,IAAA,gBAAM,GAAE;;kDACU;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACC;AAG5B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0DACX;AAG3B;IADC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAmB,EAAE,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,CAAC;;2DACtD;AAG3C;IADC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,uBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACxC,uBAAY;iDAAA;AAGxB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACf,IAAI;IAEhB,+BAA+B;;iDAFf;AAIhB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;6CACV;AAId;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACpB;AAGlB;IADC,IAAA,gBAAM,GAAE;;6CACK;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAChB,IAAI;gDAAA;AAGf;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;gDAAA;AAGf;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;gDAAA;AAKf;IAHC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;kDACO,gBAAI,oBAAJ,gBAAI;8CAAA;AAKb;IAHC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;kDACO,gBAAI,oBAAJ,gBAAI;8CAAA;AApEF,aAAa;IAJzB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,qBAAqB,EAAE,CAAC,aAA4B,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,EAAE;QACxG,MAAM,EAAE,IAAI;KACb,CAAC;GACW,aAAa,CAqEzB;AArEY,sCAAa"}
@@ -12,7 +12,7 @@ exports.updateDailyDispatch = {
12
12
  });
13
13
  let foundDailyDispatchDetails = dailyDispatch.dailyDispatchDetails;
14
14
  foundDailyDispatchDetails = foundDailyDispatchDetails.map(record => {
15
- const matchedDispatchDetail = dailyDispatchDetails.filter(dispatchDetail => dispatchDetail.name === record.name)[0];
15
+ const matchedDispatchDetail = dailyDispatchDetails.find(dispatchDetail => dispatchDetail.name === record.name);
16
16
  return Object.assign(Object.assign(Object.assign({}, record), matchedDispatchDetail), { updater: user });
17
17
  });
18
18
  await tx.getRepository(entities_1.DailyDispatchDetail).save(foundDailyDispatchDetails);
@@ -1 +1 @@
1
- {"version":3,"file":"update-daily-dispatch.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/daily-dispatch/update-daily-dispatch.ts"],"names":[],"mappings":";;;AAKA,gDAAsE;AAEzD,QAAA,mBAAmB,GAAG;IACjC,KAAK,CAAC,mBAAmB,CAAC,CAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,EAAE,OAAY;QAChG,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,wBAAa,CAAC,CAAA;QAClD,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;YACvB,SAAS,EAAE,CAAC,sBAAsB,CAAC;SACpC,CAAC,CAAA;QAEF,IAAI,yBAAyB,GAA0B,aAAa,CAAC,oBAAoB,CAAA;QAEzF,yBAAyB,GAAG,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACjE,MAAM,qBAAqB,GAAQ,oBAAoB,CAAC,MAAM,CAC5D,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CACtD,CAAC,CAAC,CAAC,CAAA;YAEJ,qDACK,MAAM,GACN,qBAAqB,KACxB,OAAO,EAAE,IAAI,IACd;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAmB,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAE3E,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,aAAa,KAChB,MAAM;YACN,UAAU,EACV,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"update-daily-dispatch.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/daily-dispatch/update-daily-dispatch.ts"],"names":[],"mappings":";;;AAKA,gDAAsE;AAEzD,QAAA,mBAAmB,GAAG;IACjC,KAAK,CAAC,mBAAmB,CAAC,CAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,EAAE,OAAY;QAChG,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,wBAAa,CAAC,CAAA;QAClD,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;YACvB,SAAS,EAAE,CAAC,sBAAsB,CAAC;SACpC,CAAC,CAAA;QAEF,IAAI,yBAAyB,GAA0B,aAAa,CAAC,oBAAoB,CAAA;QAEzF,yBAAyB,GAAG,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACjE,MAAM,qBAAqB,GAAQ,oBAAoB,CAAC,IAAI,CAC1D,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CACtD,CAAA;YAED,qDACK,MAAM,GACN,qBAAqB,KACxB,OAAO,EAAE,IAAI,IACd;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAmB,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAE3E,OAAO,MAAM,UAAU,CAAC,IAAI,iCACvB,aAAa,KAChB,MAAM;YACN,UAAU,EACV,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -71,7 +71,7 @@ async function addPlantationInventory(domain, newDailyHarvest, block, user, tx)
71
71
  existingFieldBunch.totalBunches -= newDailyHarvest.collectedBunch;
72
72
  existingFieldBunch.updater = user;
73
73
  existingFieldBunch = await plantationInvRepo.save(existingFieldBunch);
74
- await (0, utils_1.generateTransactionHistory)(existingFieldBunch, newDailyHarvest.id, newDailyHarvest.name, constants_1.TRANSACTION_TYPE.BUNCHES_ADJUSTMENT, newDailyHarvest.harvestDate, -newDailyHarvest.collectedBunch, 0, user, tx);
74
+ await (0, utils_1.generateTransactionHistory)(existingFieldBunch, newDailyHarvest.id, newDailyHarvest.name, constants_1.TRANSACTION_TYPE.LOADING, newDailyHarvest.harvestDate, -newDailyHarvest.collectedBunch, 0, user, tx);
75
75
  }
76
76
  }
77
77
  else {
@@ -91,7 +91,7 @@ async function addPlantationInventory(domain, newDailyHarvest, block, user, tx)
91
91
  plantationInventory.totalBunches -= newDailyHarvest.collectedBunch;
92
92
  plantationInventory.updater = user;
93
93
  plantationInventory = await plantationInvRepo.save(plantationInventory);
94
- await (0, utils_1.generateTransactionHistory)(plantationInventory, newDailyHarvest.id, newDailyHarvest.name, constants_1.TRANSACTION_TYPE.BUNCHES_ADJUSTMENT, newDailyHarvest.harvestDate, -newDailyHarvest.collectedBunch, 0, user, tx);
94
+ await (0, utils_1.generateTransactionHistory)(plantationInventory, newDailyHarvest.id, newDailyHarvest.name, constants_1.TRANSACTION_TYPE.LOADING, newDailyHarvest.harvestDate, -newDailyHarvest.collectedBunch, 0, user, tx);
95
95
  }
96
96
  }
97
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-daily-harvest.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/daily-harvest/generate-daily-harvest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-daily-harvest.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/daily-harvest/generate-daily-harvest.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updatePlantationInventory = exports.updateDailyLoadingDetail = exports.updateDailyLoading = void 0;
4
4
  const typeorm_1 = require("typeorm");
5
+ const constants_1 = require("../../../constants");
5
6
  const entities_1 = require("../../../entities");
6
7
  const utils_1 = require("../../../utils");
7
8
  exports.updateDailyLoading = {
@@ -46,12 +47,14 @@ async function updateDailyLoadingDetail(domain, dailyLoading, dailyLoadingDetail
46
47
  // new row added in client side
47
48
  const newDailyLoadingDetail = dailyLoadingDetailPatches.filter(detail => detail.name === null);
48
49
  if ((existingDailyLoadingDetails === null || existingDailyLoadingDetails === void 0 ? void 0 : existingDailyLoadingDetails.length) > 0) {
49
- updatedDailyLoadingDetails = await Promise.all(dailyLoadingDetails.map(async (record) => {
50
- const foundDailyLoadingDetailPatch = dailyLoadingDetailPatches.find(detail => detail.name === record.name);
51
- return Object.assign(Object.assign({}, record), { dailyLoading, truck: await truckRepo.findOne({ id: record.truck.id }), block: await blockRepo.findOne({ id: record.block.id }), ramp: await rampRepo.findOne({ id: record.ramp.id }), totalBunchLoaded: (foundDailyLoadingDetailPatch === null || foundDailyLoadingDetailPatch === void 0 ? void 0 : foundDailyLoadingDetailPatch.totalBunchLoaded) || 0, totalBunchWeight: (foundDailyLoadingDetailPatch === null || foundDailyLoadingDetailPatch === void 0 ? void 0 : foundDailyLoadingDetailPatch.totalBunchWeight) || 0, remark: (foundDailyLoadingDetailPatch === null || foundDailyLoadingDetailPatch === void 0 ? void 0 : foundDailyLoadingDetailPatch.remark) || null, updater: user });
50
+ updatedDailyLoadingDetails = await Promise.all(dailyLoadingDetails.map(async (existingRecord) => {
51
+ const foundDailyLoadingDetailPatch = dailyLoadingDetailPatches.find(detail => detail.name === existingRecord.name);
52
+ if (foundDailyLoadingDetailPatch.totalBunchWeight !== existingRecord.totalBunchWeight) {
53
+ await updatePlantationInventory(domain, dailyLoading, foundDailyLoadingDetailPatch, existingRecord, user, tx);
54
+ }
55
+ return Object.assign(Object.assign({}, existingRecord), { dailyLoading, truck: await truckRepo.findOne({ id: existingRecord.truck.id }), block: await blockRepo.findOne({ id: existingRecord.block.id }), ramp: await rampRepo.findOne({ id: existingRecord.ramp.id }), totalBunchLoaded: (foundDailyLoadingDetailPatch === null || foundDailyLoadingDetailPatch === void 0 ? void 0 : foundDailyLoadingDetailPatch.totalBunchLoaded) || 0, totalBunchWeight: (foundDailyLoadingDetailPatch === null || foundDailyLoadingDetailPatch === void 0 ? void 0 : foundDailyLoadingDetailPatch.totalBunchWeight) || 0, remark: (foundDailyLoadingDetailPatch === null || foundDailyLoadingDetailPatch === void 0 ? void 0 : foundDailyLoadingDetailPatch.remark) || null, updater: user });
52
56
  }));
53
57
  updatedDailyLoadingDetails = await dailyLoadingDetailRepo.save(updatedDailyLoadingDetails);
54
- // await updatePlantationInventory(domain, dailyLoading, updatedDailyLoadingDetails, user, tx)
55
58
  }
56
59
  if ((newDailyLoadingDetail === null || newDailyLoadingDetail === void 0 ? void 0 : newDailyLoadingDetail.length) > 0) {
57
60
  await Promise.all(newDailyLoadingDetail.map(async (dailyLoadingDetail) => {
@@ -71,9 +74,19 @@ async function updateDailyLoadingDetail(domain, dailyLoading, dailyLoadingDetail
71
74
  }
72
75
  }
73
76
  exports.updateDailyLoadingDetail = updateDailyLoadingDetail;
74
- async function updatePlantationInventory(domain, dailyLoading, updatedDailyLoadingDetails, user, tx) {
77
+ async function updatePlantationInventory(domain, dailyLoading, foundDailyLoadingDetailPatch, existingRecord, user, tx) {
75
78
  const plantationInvRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(entities_1.PlantationInventory)) || (0, typeorm_1.getRepository)(entities_1.PlantationInventory);
76
- const rampRepo = (tx === null || tx === void 0 ? void 0 : tx.getRepository(entities_1.Ramp)) || (0, typeorm_1.getRepository)(entities_1.Ramp);
79
+ let existingRampTonnage = await plantationInvRepo.findOne({
80
+ where: { domain, type: constants_1.INVENTORY_TYPE.RAMP_TONNAGE, ramp: existingRecord.ramp },
81
+ relations: ['domain', 'block', 'ramp']
82
+ });
83
+ if (existingRampTonnage) {
84
+ const tonnageChanges = foundDailyLoadingDetailPatch.totalBunchWeight - existingRecord.totalBunchWeight;
85
+ existingRampTonnage.totalTonnage = existingRampTonnage.totalTonnage + tonnageChanges;
86
+ existingRampTonnage.updater = user;
87
+ await plantationInvRepo.save(existingRampTonnage);
88
+ await (0, utils_1.generateTransactionHistory)(existingRampTonnage, dailyLoading.id, dailyLoading.name, constants_1.TRANSACTION_TYPE.LOADING_ADJUSTMENT, dailyLoading.loadingDate, 0, tonnageChanges, user, tx);
89
+ }
77
90
  }
78
91
  exports.updatePlantationInventory = updatePlantationInventory;
79
92
  //# sourceMappingURL=update-daily-loading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-daily-loading.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/daily-loading/update-daily-loading.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-daily-loading.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/daily-loading/update-daily-loading.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
- // import { EntityManager } from 'typeorm'
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Query = void 0;
3
+ exports.getDailyProductionData = exports.Query = void 0;
5
4
  // import { buildQuery, ListParam } from '@things-factory/shell'
6
5
  exports.Query = {
7
6
  /**
@@ -10,46 +9,34 @@ exports.Query = {
10
9
  * @returns tonnage data with its sorted date
11
10
  */
12
11
  async monthlyTonnageProductions(_, { blockId, yearAndMonth }, context) {
13
- if (blockId == 'ALL_BLOCKS') {
14
- // should remove block filter
15
- // 'ALL_BLOCKS' was hardcoded from dashboard
16
- }
17
- const year = yearAndMonth.substring(0, 4);
18
- const month = yearAndMonth.substring(4);
19
- let data = [];
20
- for (let i = 1, l = new Date(Number(year), Number(month), 0).getDate(); i <= l; i++) {
21
- let theDate = new Date(`${year}-${month}-${i}`);
22
- theDate.setHours(8, 0, 0, 0);
23
- data.push({
24
- blockId,
25
- tonnage: Math.floor(Math.random() * 1000) + 200,
26
- year,
27
- month,
28
- date: theDate.toLocaleString('default', { day: '2-digit', month: 'short' })
12
+ try {
13
+ const { tx } = context.state;
14
+ const year = parseInt(yearAndMonth.substring(0, 4));
15
+ const month = parseInt(yearAndMonth.substring(4));
16
+ let data = await getDailyProductionData(blockId, year, month, tx);
17
+ let result = [];
18
+ result = data.map(itm => {
19
+ return Object.assign(Object.assign({}, itm), { blockId, tonnage: itm.todayWeightCollected, year: itm.dateDay.getFullYear(), month: itm.dateDay.getMonth(), date: itm.dateDay.toLocaleString('default', { day: '2-digit', month: 'short' }) });
29
20
  });
21
+ return result;
22
+ }
23
+ catch (ex) {
30
24
  }
31
- return data.sort((a, b) => (a.date > b.date ? 1 : -1));
32
25
  },
33
26
  async monthlyYields(_, { blockId, yearAndMonth }, context) {
34
- if (blockId == 'ALL_BLOCKS') {
35
- // should remove block filter
36
- // 'ALL_BLOCKS' was hardcoded from dashboard
37
- }
38
- const year = yearAndMonth.substring(0, 4);
39
- const month = yearAndMonth.substring(4);
40
- let data = [];
41
- for (let i = 1, l = new Date(Number(year), Number(month), 0).getDate(); i <= l; i++) {
42
- let theDate = new Date(`${year}-${month}-${i}`);
43
- theDate.setHours(8, 0, 0, 0);
44
- data.push({
45
- blockId,
46
- yield: Math.floor(Math.random() * 1000) + 200,
47
- year,
48
- month,
49
- date: theDate.toLocaleString('default', { day: '2-digit', month: 'short' })
27
+ try {
28
+ const { tx } = context.state;
29
+ const year = parseInt(yearAndMonth.substring(0, 4));
30
+ const month = parseInt(yearAndMonth.substring(4));
31
+ let data = await getDailyProductionData(blockId, year, month, tx);
32
+ let result = [];
33
+ result = data.map(itm => {
34
+ return Object.assign(Object.assign({}, itm), { blockId, yield: (itm.todayHectareCover != 0 ? itm.todayWeightCollected / itm.todayHectareCover : 0).toFixed(4), year: itm.dateDay.getFullYear(), month: itm.dateDay.getMonth(), date: itm.dateDay.toLocaleString('default', { day: '2-digit', month: 'short' }) });
50
35
  });
36
+ return result;
37
+ }
38
+ catch (ex) {
51
39
  }
52
- return data.sort((a, b) => (a.date > b.date ? 1 : -1));
53
40
  },
54
41
  async weeklyBunchesCount(_, { targetDate }, context) {
55
42
  if (!targetDate || targetDate == '')
@@ -58,8 +45,10 @@ exports.Query = {
58
45
  for (let i = 0; i < 7; i++) {
59
46
  bunchesCount.push({
60
47
  date: new Date(targetDate).toLocaleString('default', { day: '2-digit', month: 'short' }),
61
- harvestedCount: Math.floor(Math.random() * 1000) + 500,
62
- collectedCount: Math.floor(Math.random() * 500) + 50
48
+ harvestedCount: 0,
49
+ collectedCount: 0
50
+ // harvestedCount: Math.floor(Math.random() * 1000) + 500,
51
+ // collectedCount: Math.floor(Math.random() * 500) + 50
63
52
  });
64
53
  targetDate.setDate(targetDate.getDate() - 1);
65
54
  }
@@ -67,16 +56,149 @@ exports.Query = {
67
56
  },
68
57
  async tonnageAndBunchesInventories(_, { something }, context) {
69
58
  return {
70
- bunches: Math.floor(Math.random() * 10000) + 500,
71
- tonnage: Math.floor(Math.random() * 10000) + 500
59
+ bunches: 0,
60
+ tonnage: 0
61
+ // bunches: Math.floor(Math.random() * 10000) + 500,
62
+ // tonnage: Math.floor(Math.random() * 10000) + 500
72
63
  };
73
64
  },
74
65
  async productionsOverview(_, { something }, context) {
75
66
  return {
76
- averageBunchWeight: Math.floor(Math.random() * 150) + 70,
77
- bunchesCount: Math.floor(Math.random() * 10000) + 500,
78
- tonnageWeighed: Math.floor(Math.random() * 10000) + 500
67
+ averageBunchWeight: 0,
68
+ bunchesCount: 0,
69
+ tonnageWeighed: 0,
70
+ // averageBunchWeight: Math.floor(Math.random() * 150) + 70,
71
+ // bunchesCount: Math.floor(Math.random() * 10000) + 500,
72
+ // tonnageWeighed: Math.floor(Math.random() * 10000) + 500
79
73
  };
80
74
  }
81
75
  };
76
+ async function getDailyProductionData(blockId, year, month, tx) {
77
+ await tx.query(`
78
+ CREATE TEMP TABLE temp_blocks on commit drop AS (
79
+ WITH RECURSIVE b AS (
80
+ SELECT b.id AS block_id, * FROM blocks b
81
+ WHERE b.deleted_at IS null
82
+ UNION ALL
83
+ SELECT b.id AS block_id, cb.* FROM blocks cb
84
+ INNER JOIN b ON b.id = cb.parent_block_id
85
+ WHERE cb.deleted_at IS null
86
+ )
87
+ SELECT block_id, id, name FROM b
88
+ ${blockId != 'all-blocks' && blockId != '' ? `WHERE block_id = '${blockId}' or id = '${blockId}'` : ``}
89
+ GROUP BY block_id, id, name
90
+ ORDER BY block_id, id, name
91
+ );
92
+ `);
93
+ let fromDate = new Date(year, month - 1, 1);
94
+ let toDate = new Date(year, month, 1);
95
+ toDate.setDate(toDate.getDate() - 1);
96
+ let fromDateString = [
97
+ fromDate.getFullYear().toString(),
98
+ String(fromDate.getMonth() + 1).padStart(2, '0'),
99
+ '01'
100
+ ].join('-');
101
+ let toDateString = [
102
+ toDate.getFullYear().toString(),
103
+ String(toDate.getMonth() + 1).padStart(2, '0'),
104
+ String(toDate.getDate()).padStart(2, '0')
105
+ ].join('-');
106
+ await tx.query(`
107
+ CREATE TEMP TABLE temp_records on commit drop AS (
108
+ select blk.block_id, coalesce(sum(field_bunches),0) AS today_field_bunches,
109
+ round(coalesce(sum(ramp_weight),0)::numeric,4) AS today_ramp_weight,
110
+ sum(case when transaction_type = 'HARVEST' OR transaction_type = 'BUNCHES_ADJUSTMENT' then field_bunches else 0 end) as today_bunch_harvest,
111
+ sum(case when transaction_type = 'LOADING' OR transaction_type = 'LOADING_ADJUSTMENT' then -field_bunches else 0 end) as today_bunch_collected,
112
+ round(sum(case when transaction_type = 'LOADING' OR transaction_type = 'LOADING_ADJUSTMENT' then ramp_weight else 0 end)::numeric,4) as today_ramp_weight_collected,
113
+ round(sum(case when transaction_type = 'DISPATCHMENT' OR transaction_type = 'DISPATCHMENT_ADJUSTMENT' then -ramp_weight else 0 end)::numeric,4) as today_weight_dispatch,
114
+ transaction_date
115
+ from record_transactions t2
116
+ inner join temp_blocks blk on blk.id = t2.block_id
117
+ where transaction_date <= $1
118
+ group by blk.block_id, transaction_date
119
+ )
120
+ `, [toDateString]);
121
+ await tx.query(`
122
+ create temp table temp_daily_production_data on commit drop as (
123
+ select *,
124
+ prev_bunch_bal_in_field + today_bunch_harvest as today_bunch_in_field,
125
+ prev_bunch_bal_in_field + today_bunch_harvest - today_bunch_collected as today_bunch_bal_in_field,
126
+ prev_weight_bal_in_ramp + today_ramp_weight_collected - today_weight_dispatch as today_weight_bal_in_ramp FROM (
127
+ select md.dateDay as date_day,
128
+ coalesce(
129
+ (
130
+ select sum(today_field_bunches) from temp_records t2
131
+ where transaction_date::timestamp < md.dateDay
132
+ )
133
+ , 0) as prev_bunch_bal_in_field,
134
+ coalesce(
135
+ (
136
+ select sum(today_ramp_weight) from temp_records t2
137
+ where transaction_date::timestamp < md.dateDay
138
+ )
139
+ , 0) as prev_weight_bal_in_ramp,
140
+ coalesce(today_bunch_harvest, 0) as today_bunch_harvest,
141
+ coalesce(sum(today_bunch_harvest) over (order by dateDay asc rows between unbounded preceding and current row), 0) as to_date_bunch_harvest,
142
+ coalesce(today_bunch_collected, 0) as today_bunch_collected,
143
+ coalesce(sum(today_bunch_collected) over (order by dateDay asc rows between unbounded preceding and current row), 0) as to_date_bunch_collected,
144
+ coalesce(today_ramp_weight_collected, 0) as today_ramp_weight_collected,
145
+ coalesce(sum(today_ramp_weight_collected) over (order by dateDay asc rows between unbounded preceding and current row), 0) as to_date_ramp_weight_collected,
146
+ coalesce(today_weight_dispatch, 0) as today_weight_dispatch,
147
+ coalesce(sum(today_weight_dispatch) over (order by dateDay asc rows between unbounded preceding and current row), 0) as to_date_weight_dispatch,
148
+ coalesce(tot.today_out_turn, 0) as today_out_turn,
149
+ coalesce(sum(tot.today_out_turn) over (order by dateDay asc rows between unbounded preceding and current row), 0) as to_date_out_turn,
150
+ ${blockId != 'all-blocks' && blockId != '' ? `(select name from blocks b2 WHERE id = '${blockId}')` : `''`} as block,
151
+ coalesce(thr.today_harvesting_round, 0) as today_harvesting_round,
152
+ coalesce(thr.today_hectare_cover, 0) as today_hectare_cover
153
+ from
154
+ (select generate_series((date '${fromDateString}')::timestamp, (date '${toDateString}')::timestamp, interval '1 day')::date as dateDay) as md
155
+ left join (
156
+ select * from temp_records trx
157
+ where transaction_date between $1 and $2
158
+ order by transaction_date
159
+ ) as dt on dt.transaction_date::date = md.dateDay
160
+ LEFT JOIN (
161
+ select sum(harvesting_round) AS today_harvesting_round, sum(coverage) AS today_hectare_cover, harvest_date
162
+ from daily_harvests dh
163
+ inner join temp_blocks blk on blk.id = dh.block_id
164
+ where harvest_date between $1 and $2
165
+ group by blk.block_id, harvest_date
166
+ ) as thr ON thr.harvest_date::date = md.dateDay
167
+ LEFT JOIN (
168
+ select count(*) AS today_out_turn, dh.harvest_date
169
+ from daily_harvest_details dhd
170
+ inner join daily_harvests dh on dh.id = dhd.daily_harvest_id
171
+ inner join temp_blocks blk on blk.id = dh.block_id
172
+ where dh.harvest_date between $1 and $2
173
+ GROUP BY blk.block_id, dh.harvest_date
174
+ ) as tot ON tot.harvest_date::date = md.dateDay
175
+ ) dt
176
+ )`, [fromDateString, toDateString]);
177
+ const result = await tx.query(`
178
+ select * from temp_daily_production_data dt
179
+ `);
180
+ return result.map(itm => {
181
+ return {
182
+ block: itm.block,
183
+ dateDay: itm.date_day,
184
+ diffInBunches: parseFloat(itm.diff_in_bunches).toFixed(1),
185
+ prevBunchBalInField: parseFloat(itm.prev_bunch_bal_in_field).toFixed(1),
186
+ prevWeightBalInRamp: parseFloat(itm.prev_weight_bal_in_ramp).toFixed(4),
187
+ toDateBunchHarvest: parseFloat(itm.to_date_bunch_harvest).toFixed(1),
188
+ toDateOutTurn: itm.to_date_out_turn,
189
+ toDateWeightDispatch: parseFloat(itm.to_date_weight_dispatch).toFixed(4),
190
+ todayBunchBalInField: parseFloat(itm.today_bunch_bal_in_field).toFixed(1),
191
+ todayBunchCollected: parseFloat(itm.today_bunch_collected).toFixed(1),
192
+ todayBunchHarvest: parseFloat(itm.today_bunch_harvest).toFixed(1),
193
+ todayBunchInField: parseFloat(itm.today_bunch_in_field).toFixed(1),
194
+ todayHarvestingRound: itm.today_harvesting_round,
195
+ todayHectareCover: parseFloat(itm.today_hectare_cover).toFixed(4),
196
+ todayOutTurn: itm.today_out_turn,
197
+ todayWeightCollected: parseFloat(itm.today_ramp_weight_collected).toFixed(4),
198
+ todayWeightBalInRamp: parseFloat(itm.today_weight_bal_in_ramp).toFixed(4),
199
+ todayWeightDispatch: parseFloat(itm.today_weight_dispatch).toFixed(4),
200
+ };
201
+ });
202
+ }
203
+ exports.getDailyProductionData = getDailyProductionData;
82
204
  //# sourceMappingURL=dashboard-query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-query.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/dashboard-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-query.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/dashboard/dashboard-query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dailyFfbDispatchProductionReports = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const entities_1 = require("../../../entities");
6
+ exports.dailyFfbDispatchProductionReports = {
7
+ async dailyFfbDispatchProductionReports(_, params, context) {
8
+ try {
9
+ const { domain, tx } = context.state;
10
+ let year = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[0]);
11
+ let month = parseInt(params.filters.filter(x => x.name == 'month')[0].value.split('-')[1]);
12
+ let fromDate = new Date(year, month - 1, 1);
13
+ let toDate = new Date(year, month, 1);
14
+ toDate.setDate(toDate.getDate() - 1);
15
+ let fromDateString = [
16
+ fromDate.getFullYear().toString(),
17
+ String(fromDate.getMonth() + 1).padStart(2, '0'),
18
+ '01'
19
+ ].join('-');
20
+ let toDateString = [
21
+ toDate.getFullYear().toString(),
22
+ String(toDate.getMonth() + 1).padStart(2, '0'),
23
+ String(toDate.getDate()).padStart(2, '0')
24
+ ].join('-');
25
+ let ramps = await (0, typeorm_1.getRepository)(entities_1.Ramp).find({
26
+ where: { domain: domain.id, deletedAt: (0, typeorm_1.IsNull)() },
27
+ relations: ['block']
28
+ });
29
+ let organizations = await (0, typeorm_1.getRepository)(entities_1.Organization).find({
30
+ where: { domain: domain.id, deletedAt: (0, typeorm_1.IsNull)() }
31
+ });
32
+ let blocks = await tx.getRepository(entities_1.Block).query(`
33
+ SELECT b.id, b.name FROM ramps r
34
+ INNER JOIN blocks b ON b.id = r.block_id
35
+ WHERE b.deleted_at IS NULL
36
+ AND r.domain_id = $1
37
+ GROUP BY b.id, b.name
38
+ `, [domain.id]);
39
+ // -- WHERE dd.dispatch_at::timestamp between $1::timestamp and $2::timestamp
40
+ // [fromDateString, toDateString]
41
+ await tx.query(`create extension if not exists tablefunc`);
42
+ await tx.query(`
43
+ CREATE TEMP TABLE raw_block_dispatch ON COMMIT DROP AS (
44
+ SELECT "name", "dispatch_at", sum(weight) AS weight FROM(
45
+ SELECT * FROM (
46
+ SELECT dd.id,COALESCE(b.name, 'unknown') AS name, 1 AS "rank", dd.dispatch_at::date AS dispatch_at,
47
+ COALESCE(ddd.adjusted_weight, ddd.collected_ramp_weight, 0) AS weight
48
+ FROM daily_dispatches dd
49
+ INNER JOIN daily_dispatch_details ddd ON ddd.daily_dispatch_id = dd.id
50
+ INNER JOIN ramps r ON r.id = ddd.ramp_id
51
+ INNER JOIN blocks b ON b.id = r.block_id
52
+ WHERE dd.dispatch_at::date between $1 and $2
53
+ UNION
54
+ SELECT dd.id, COALESCE(c.name, 'unknown') AS name, CASE WHEN c.name IS NULL THEN 3 ELSE 2 END AS "rank", dd.dispatch_at::date AS dispatch_at,
55
+ COALESCE((SELECT SUM(COALESCE(ddd.adjusted_weight, ddd.collected_ramp_weight, 0)) FROM daily_dispatch_details ddd WHERE ddd.daily_dispatch_id = dd.id),0) AS weight
56
+ FROM daily_dispatches dd
57
+ LEFT JOIN organizations c ON c.id = dd.dispatch_to_id
58
+ WHERE dd.dispatch_at::date between $1 and $2
59
+ ) foo
60
+ ORDER BY "rank", "name", "dispatch_at"
61
+ ) foo
62
+ GROUP BY "name", "dispatch_at"
63
+ ORDER BY name, "dispatch_at"
64
+ )
65
+ `, [fromDateString, toDateString]);
66
+ await tx.query(`
67
+ CREATE TEMP TABLE pivot_block_dispatch ON COMMIT DROP AS (
68
+ SELECT * FROM crosstab(
69
+ $$
70
+ SELECT rbd."dispatch_at", rbd."name",
71
+ CONCAT('today: ', round(rbd.weight,2)::varchar, ' | todate: ', round(coalesce(sum(rbd.weight) over (PARTITION BY "name" ORDER BY name, dispatch_at asc rows between unbounded preceding and current row), 0),2)::varchar) AS weight
72
+ FROM raw_block_dispatch rbd
73
+ ORDER BY rbd."dispatch_at", rbd."name"
74
+ $$,
75
+ $$
76
+ SELECT b.name FROM ramps r INNER JOIN blocks b ON b.id = r.block_id WHERE r.deleted_at IS NULL AND r.domain_id = '${domain.id}'
77
+ GROUP BY b.id, b.name
78
+ UNION
79
+ SELECT c.name FROM organizations c
80
+ $$
81
+ ) AS (dispatch_at date, ${[...blocks.map(block => `"${block.name}" varchar`), ...organizations.map(organization => `"${organization.name}" varchar`)].join(',')},"unknown" varchar)
82
+ );
83
+ `);
84
+ await tx.query(`
85
+ CREATE TEMP TABLE temp_monthly_production_data ON COMMIT DROP AS (
86
+ SELECT TO_CHAR(md.dateDay:: DATE, 'dd/mm/yyyy') as "date"
87
+ , row_to_json((SELECT d FROM (SELECT ${[...blocks.map(block => `pbd."${block.name}"`), ...organizations.map(organization => `pbd."${organization.name}"`)].join(',')}, pbd."unknown") d))::varchar as "blockData"
88
+ , (SELECT sum(weight) FROM raw_block_dispatch rbd WHERE rbd.dispatch_at = pbd.dispatch_at) AS "today"
89
+ FROM (select generate_series((date '${fromDateString}')::timestamp, (date '${toDateString}')::timestamp, interval '1 day')::date as dateDay) as md
90
+ LEFT JOIN pivot_block_dispatch pbd on pbd.dispatch_at::date = md.dateDay
91
+ );
92
+ `);
93
+ const result = await tx.query(`
94
+ select "date", "blockData", "today"
95
+ from temp_monthly_production_data dt
96
+ `);
97
+ const total = await tx.query(`
98
+ select count(*) from temp_monthly_production_data
99
+ `);
100
+ return {
101
+ items: result.map(itm => {
102
+ return Object.assign({}, itm);
103
+ }), total: total[0].count
104
+ };
105
+ }
106
+ catch (error) {
107
+ throw error;
108
+ }
109
+ }
110
+ };
111
+ //# sourceMappingURL=daily-ffb-dispatch-production-reports.js.map