@things-factory/operato-pms 3.8.0 → 3.8.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/bootstrap.js +20 -7
- package/client/component/block-selector-popup.js +125 -24
- package/client/component/driver-selector-popup.js +223 -0
- package/client/component/mill-selector-popup.js +200 -0
- package/client/component/tracked-plantation-setting.js +113 -0
- package/client/component/truck-selector-popup.js +202 -0
- package/client/menu.js +34 -2
- package/client/pages/constants/index.js +1 -0
- package/client/pages/constants/organization.js +5 -0
- package/client/pages/dispatchment/daily-dispatch-detail.js +57 -18
- package/client/pages/dispatchment/dispatchment-create-record.js +140 -13
- package/client/pages/dispatchment/dispatchment-list.js +26 -34
- package/client/pages/harvesting/daily-harvesting-detail.js +55 -18
- package/client/pages/harvesting/edit-harvesting-record.js +89 -23
- package/client/pages/harvesting/harvesting-create-record.js +102 -16
- package/client/pages/harvesting/harvesting-list.js +58 -12
- package/client/pages/inventory/inventory-field-bunches.js +6 -4
- package/client/pages/loading/daily-loading-detail.js +47 -93
- package/client/pages/loading/edit-loading-record.js +75 -294
- package/client/pages/loading/loading-create-record.js +52 -329
- package/client/pages/loading/loading-list.js +20 -83
- package/client/pages/master/block.js +1 -0
- package/client/pages/master/company.js +26 -13
- package/client/pages/master/home.js +67 -65
- package/client/pages/master/ramp.js +1 -0
- package/client/pages/master/staff.js +54 -3
- package/client/pages/master/truck.js +416 -0
- package/client/pages/report/home.js +72 -65
- package/client/pages/report/report-daily-ffb-dispatch-and-production.js +393 -0
- package/client/pages/report/report-daily-production.js +38 -6
- package/client/pages/report/report-daily-staff-harvest.js +50 -5
- package/client/pages/report/report-ffb-tonnage-between-individual-block.js +393 -0
- package/client/pages/report/report-monthly-ffb-sale.js +413 -0
- package/client/pages/report/report-monthly-production.js +33 -4
- package/client/pages/report/report-yearly-production.js +24 -8
- package/client/pages/setting/home.js +107 -0
- package/client/pages/setting/plantation-setting.js +109 -0
- package/client/route.js +25 -0
- package/dist-server/constants/index.js +1 -0
- package/dist-server/constants/index.js.map +1 -1
- package/dist-server/constants/organization.js +9 -0
- package/dist-server/constants/organization.js.map +1 -0
- package/dist-server/controllers/render-dispatchment.js +1 -1
- package/dist-server/controllers/render-dispatchment.js.map +1 -1
- package/dist-server/entities/daily-dispatch.js +19 -4
- package/dist-server/entities/daily-dispatch.js.map +1 -1
- package/dist-server/entities/daily-harvest-detail.js +9 -11
- package/dist-server/entities/daily-harvest-detail.js.map +1 -1
- package/dist-server/entities/daily-harvest.js +16 -6
- package/dist-server/entities/daily-harvest.js.map +1 -1
- package/dist-server/entities/daily-loading-detail.js +14 -6
- package/dist-server/entities/daily-loading-detail.js.map +1 -1
- package/dist-server/entities/daily-loading.js +3 -11
- package/dist-server/entities/daily-loading.js.map +1 -1
- package/dist-server/entities/index.js +7 -1
- package/dist-server/entities/index.js.map +1 -1
- package/dist-server/entities/organization-staff.js +5 -1
- package/dist-server/entities/organization-staff.js.map +1 -1
- package/dist-server/entities/plantation-inventory.js +4 -10
- package/dist-server/entities/plantation-inventory.js.map +1 -1
- package/dist-server/entities/plantation-setting.js +76 -0
- package/dist-server/entities/plantation-setting.js.map +1 -0
- package/dist-server/entities/truck.js +77 -0
- package/dist-server/entities/truck.js.map +1 -0
- package/dist-server/graphql/resolvers/daily-dispatch/daily-dispatch-query.js +13 -2
- package/dist-server/graphql/resolvers/daily-dispatch/daily-dispatch-query.js.map +1 -1
- package/dist-server/graphql/resolvers/daily-dispatch/generate-daily-dispatch.js +25 -11
- package/dist-server/graphql/resolvers/daily-dispatch/generate-daily-dispatch.js.map +1 -1
- package/dist-server/graphql/resolvers/daily-dispatch/update-daily-dispatch.js +3 -2
- package/dist-server/graphql/resolvers/daily-dispatch/update-daily-dispatch.js.map +1 -1
- package/dist-server/graphql/resolvers/daily-harvest/daily-harvest-query.js +3 -1
- package/dist-server/graphql/resolvers/daily-harvest/daily-harvest-query.js.map +1 -1
- package/dist-server/graphql/resolvers/daily-harvest/generate-daily-harvest.js +21 -2
- package/dist-server/graphql/resolvers/daily-harvest/generate-daily-harvest.js.map +1 -1
- package/dist-server/graphql/resolvers/daily-harvest/update-daily-harvest.js +8 -2
- package/dist-server/graphql/resolvers/daily-harvest/update-daily-harvest.js.map +1 -1
- package/dist-server/graphql/resolvers/daily-loading/daily-loading-query.js +4 -6
- package/dist-server/graphql/resolvers/daily-loading/daily-loading-query.js.map +1 -1
- package/dist-server/graphql/resolvers/daily-loading/generate-daily-loading.js +20 -54
- package/dist-server/graphql/resolvers/daily-loading/generate-daily-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/daily-loading/update-daily-loading.js +17 -105
- package/dist-server/graphql/resolvers/daily-loading/update-daily-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/dashboard-query.js +82 -0
- package/dist-server/graphql/resolvers/dashboard/dashboard-query.js.map +1 -0
- package/dist-server/graphql/resolvers/dashboard/index.js +8 -0
- package/dist-server/graphql/resolvers/dashboard/index.js.map +1 -0
- package/dist-server/graphql/resolvers/index.js +9 -6
- package/dist-server/graphql/resolvers/index.js.map +1 -1
- package/dist-server/graphql/resolvers/organization-staff/organization-staff-query.js +7 -3
- package/dist-server/graphql/resolvers/organization-staff/organization-staff-query.js.map +1 -1
- package/dist-server/graphql/resolvers/plantation-setting/create-plantation-setting.js +12 -0
- package/dist-server/graphql/resolvers/plantation-setting/create-plantation-setting.js.map +1 -0
- package/dist-server/graphql/resolvers/plantation-setting/delete-plantation-setting.js +13 -0
- package/dist-server/graphql/resolvers/plantation-setting/delete-plantation-setting.js.map +1 -0
- package/dist-server/graphql/resolvers/plantation-setting/delete-plantation-settings.js +16 -0
- package/dist-server/graphql/resolvers/plantation-setting/delete-plantation-settings.js.map +1 -0
- package/dist-server/graphql/resolvers/plantation-setting/index.js +15 -0
- package/dist-server/graphql/resolvers/plantation-setting/index.js.map +1 -0
- package/dist-server/graphql/resolvers/plantation-setting/plantation-setting-query.js +33 -0
- package/dist-server/graphql/resolvers/plantation-setting/plantation-setting-query.js.map +1 -0
- package/dist-server/graphql/resolvers/plantation-setting/update-multiple-plantation-setting.js +31 -0
- package/dist-server/graphql/resolvers/plantation-setting/update-multiple-plantation-setting.js.map +1 -0
- package/dist-server/graphql/resolvers/plantation-setting/update-plantation-setting.js +16 -0
- package/dist-server/graphql/resolvers/plantation-setting/update-plantation-setting.js.map +1 -0
- package/dist-server/graphql/resolvers/report/daily-production-reports.js +46 -33
- package/dist-server/graphql/resolvers/report/daily-production-reports.js.map +1 -1
- package/dist-server/graphql/resolvers/report/daily-staff-harvest-reports.js +21 -10
- package/dist-server/graphql/resolvers/report/daily-staff-harvest-reports.js.map +1 -1
- package/dist-server/graphql/resolvers/report/index.js +4 -1
- package/dist-server/graphql/resolvers/report/index.js.map +1 -1
- package/dist-server/graphql/resolvers/report/monthly-block-dispatch-reports.js +89 -0
- package/dist-server/graphql/resolvers/report/monthly-block-dispatch-reports.js.map +1 -0
- package/dist-server/graphql/resolvers/report/monthly-dispatch-summary-reports.js +89 -0
- package/dist-server/graphql/resolvers/report/monthly-dispatch-summary-reports.js.map +1 -0
- package/dist-server/graphql/resolvers/report/monthly-ffb-sale-reports.js +87 -0
- package/dist-server/graphql/resolvers/report/monthly-ffb-sale-reports.js.map +1 -0
- package/dist-server/graphql/resolvers/report/monthly-production-reports.js +46 -31
- package/dist-server/graphql/resolvers/report/monthly-production-reports.js.map +1 -1
- package/dist-server/graphql/resolvers/report/yearly-production-reports.js +38 -28
- package/dist-server/graphql/resolvers/report/yearly-production-reports.js.map +1 -1
- package/dist-server/graphql/resolvers/truck/delete-trucks.js +18 -0
- package/dist-server/graphql/resolvers/truck/delete-trucks.js.map +1 -0
- package/dist-server/graphql/resolvers/truck/index.js +12 -0
- package/dist-server/graphql/resolvers/truck/index.js.map +1 -0
- package/dist-server/graphql/resolvers/truck/truck-query.js +46 -0
- package/dist-server/graphql/resolvers/truck/truck-query.js.map +1 -0
- package/dist-server/graphql/resolvers/truck/update-multiple-truck.js +40 -0
- package/dist-server/graphql/resolvers/truck/update-multiple-truck.js.map +1 -0
- package/dist-server/graphql/types/daily-dispatch/daily-dispatch-patch.js +4 -1
- package/dist-server/graphql/types/daily-dispatch/daily-dispatch-patch.js.map +1 -1
- package/dist-server/graphql/types/daily-dispatch/daily-dispatch.js +4 -1
- package/dist-server/graphql/types/daily-dispatch/daily-dispatch.js.map +1 -1
- package/dist-server/graphql/types/daily-dispatch/index.js +6 -1
- package/dist-server/graphql/types/daily-dispatch/index.js.map +1 -1
- package/dist-server/graphql/types/daily-dispatch/new-daily-dispatch.js +4 -1
- package/dist-server/graphql/types/daily-dispatch/new-daily-dispatch.js.map +1 -1
- package/dist-server/graphql/types/daily-harvest/daily-harvest-patch.js +5 -2
- package/dist-server/graphql/types/daily-harvest/daily-harvest-patch.js.map +1 -1
- package/dist-server/graphql/types/daily-harvest/daily-harvest.js +3 -0
- package/dist-server/graphql/types/daily-harvest/daily-harvest.js.map +1 -1
- package/dist-server/graphql/types/daily-harvest/new-daily-harvest.js +4 -1
- package/dist-server/graphql/types/daily-harvest/new-daily-harvest.js.map +1 -1
- package/dist-server/graphql/types/daily-harvest-detail/daily-harvest-detail-patch.js +1 -0
- package/dist-server/graphql/types/daily-harvest-detail/daily-harvest-detail-patch.js.map +1 -1
- package/dist-server/graphql/types/daily-harvest-detail/daily-harvest-detail.js +1 -0
- package/dist-server/graphql/types/daily-harvest-detail/daily-harvest-detail.js.map +1 -1
- package/dist-server/graphql/types/daily-harvest-detail/new-daily-harvest-detail.js +1 -0
- package/dist-server/graphql/types/daily-harvest-detail/new-daily-harvest-detail.js.map +1 -1
- package/dist-server/graphql/types/daily-loading/daily-loading-patch.js +0 -2
- package/dist-server/graphql/types/daily-loading/daily-loading-patch.js.map +1 -1
- package/dist-server/graphql/types/daily-loading/daily-loading.js +0 -2
- package/dist-server/graphql/types/daily-loading/daily-loading.js.map +1 -1
- package/dist-server/graphql/types/daily-loading/new-daily-loading.js +0 -2
- package/dist-server/graphql/types/daily-loading/new-daily-loading.js.map +1 -1
- package/dist-server/graphql/types/daily-loading-detail/daily-loading-detail-patch.js +6 -3
- package/dist-server/graphql/types/daily-loading-detail/daily-loading-detail-patch.js.map +1 -1
- package/dist-server/graphql/types/daily-loading-detail/daily-loading-detail.js +3 -0
- package/dist-server/graphql/types/daily-loading-detail/daily-loading-detail.js.map +1 -1
- package/dist-server/graphql/types/daily-loading-detail/new-daily-loading-detail.js +6 -3
- package/dist-server/graphql/types/daily-loading-detail/new-daily-loading-detail.js.map +1 -1
- package/dist-server/graphql/types/dashboard/bunches-count.js +15 -0
- package/dist-server/graphql/types/dashboard/bunches-count.js.map +1 -0
- package/dist-server/graphql/types/dashboard/index.js +32 -0
- package/dist-server/graphql/types/dashboard/index.js.map +1 -0
- package/dist-server/graphql/types/dashboard/productions-overview.js +15 -0
- package/dist-server/graphql/types/dashboard/productions-overview.js.map +1 -0
- package/dist-server/graphql/types/dashboard/tonnage-bunches-inventories.js +14 -0
- package/dist-server/graphql/types/dashboard/tonnage-bunches-inventories.js.map +1 -0
- package/dist-server/graphql/types/dashboard/tonnage-production.js +17 -0
- package/dist-server/graphql/types/dashboard/tonnage-production.js.map +1 -0
- package/dist-server/graphql/types/dashboard/yield-production.js +17 -0
- package/dist-server/graphql/types/dashboard/yield-production.js.map +1 -0
- package/dist-server/graphql/types/index.js +9 -6
- package/dist-server/graphql/types/index.js.map +1 -1
- package/dist-server/graphql/types/organization-staff/organization-staff-patch.js +2 -0
- package/dist-server/graphql/types/organization-staff/organization-staff-patch.js.map +1 -1
- package/dist-server/graphql/types/organization-staff/organization-staff.js +3 -0
- package/dist-server/graphql/types/organization-staff/organization-staff.js.map +1 -1
- package/dist-server/graphql/types/plantation-setting/index.js +36 -0
- package/dist-server/graphql/types/plantation-setting/index.js.map +1 -0
- package/dist-server/graphql/types/plantation-setting/new-plantation-setting.js +16 -0
- package/dist-server/graphql/types/plantation-setting/new-plantation-setting.js.map +1 -0
- package/dist-server/graphql/types/plantation-setting/plantation-setting-list.js +14 -0
- package/dist-server/graphql/types/plantation-setting/plantation-setting-list.js.map +1 -0
- package/dist-server/graphql/types/plantation-setting/plantation-setting-patch.js +18 -0
- package/dist-server/graphql/types/plantation-setting/plantation-setting-patch.js.map +1 -0
- package/dist-server/graphql/types/plantation-setting/plantation-setting.js +22 -0
- package/dist-server/graphql/types/plantation-setting/plantation-setting.js.map +1 -0
- package/dist-server/graphql/types/report/index.js +20 -0
- package/dist-server/graphql/types/report/index.js.map +1 -1
- package/dist-server/graphql/types/report/monthly-block-dispatch-report-list.js +14 -0
- package/dist-server/graphql/types/report/monthly-block-dispatch-report-list.js.map +1 -0
- package/dist-server/graphql/types/report/monthly-block-dispatch-report.js +19 -0
- package/dist-server/graphql/types/report/monthly-block-dispatch-report.js.map +1 -0
- package/dist-server/graphql/types/report/monthly-dispatch-summary-report-list.js +14 -0
- package/dist-server/graphql/types/report/monthly-dispatch-summary-report-list.js.map +1 -0
- package/dist-server/graphql/types/report/monthly-dispatch-summary-report.js +25 -0
- package/dist-server/graphql/types/report/monthly-dispatch-summary-report.js.map +1 -0
- package/dist-server/graphql/types/report/monthly-ffb-sale-report-list.js +14 -0
- package/dist-server/graphql/types/report/monthly-ffb-sale-report-list.js.map +1 -0
- package/dist-server/graphql/types/report/monthly-ffb-sale-report.js +24 -0
- package/dist-server/graphql/types/report/monthly-ffb-sale-report.js.map +1 -0
- package/dist-server/graphql/types/truck/index.js +33 -0
- package/dist-server/graphql/types/truck/index.js.map +1 -0
- package/dist-server/graphql/types/truck/new-truck.js +14 -0
- package/dist-server/graphql/types/truck/new-truck.js.map +1 -0
- package/dist-server/graphql/types/truck/truck-list.js +14 -0
- package/dist-server/graphql/types/truck/truck-list.js.map +1 -0
- package/dist-server/graphql/types/truck/truck-patch.js +17 -0
- package/dist-server/graphql/types/truck/truck-patch.js.map +1 -0
- package/dist-server/graphql/types/truck/truck.js +22 -0
- package/dist-server/graphql/types/truck/truck.js.map +1 -0
- package/package.json +2 -2
- package/server/constants/index.ts +1 -0
- package/server/constants/organization.ts +5 -0
- package/server/controllers/render-dispatchment.ts +1 -1
- package/server/entities/daily-dispatch.ts +21 -5
- package/server/entities/daily-harvest-detail.ts +10 -11
- package/server/entities/daily-harvest.ts +16 -7
- package/server/entities/daily-loading-detail.ts +14 -6
- package/server/entities/daily-loading.ts +7 -11
- package/server/entities/index.ts +6 -0
- package/server/entities/organization-staff.ts +6 -1
- package/server/entities/plantation-inventory.ts +6 -10
- package/server/entities/plantation-setting.ts +60 -0
- package/server/entities/truck.ts +58 -0
- package/server/graphql/resolvers/daily-dispatch/daily-dispatch-query.ts +15 -2
- package/server/graphql/resolvers/daily-dispatch/generate-daily-dispatch.ts +40 -14
- package/server/graphql/resolvers/daily-dispatch/update-daily-dispatch.ts +6 -2
- package/server/graphql/resolvers/daily-harvest/daily-harvest-query.ts +7 -2
- package/server/graphql/resolvers/daily-harvest/generate-daily-harvest.ts +50 -4
- package/server/graphql/resolvers/daily-harvest/update-daily-harvest.ts +12 -2
- package/server/graphql/resolvers/daily-loading/daily-loading-query.ts +6 -6
- package/server/graphql/resolvers/daily-loading/generate-daily-loading.ts +27 -109
- package/server/graphql/resolvers/daily-loading/update-daily-loading.ts +27 -213
- package/server/graphql/resolvers/dashboard/dashboard-query.ts +96 -0
- package/server/graphql/resolvers/dashboard/index.ts +5 -0
- package/server/graphql/resolvers/index.ts +10 -6
- package/server/graphql/resolvers/organization-staff/organization-staff-query.ts +13 -4
- package/server/graphql/resolvers/plantation-setting/create-plantation-setting.ts +16 -0
- package/server/graphql/resolvers/plantation-setting/delete-plantation-setting.ts +13 -0
- package/server/graphql/resolvers/plantation-setting/delete-plantation-settings.ts +16 -0
- package/server/graphql/resolvers/plantation-setting/index.ts +19 -0
- package/server/graphql/resolvers/plantation-setting/plantation-setting-query.ts +38 -0
- package/server/graphql/resolvers/plantation-setting/update-multiple-plantation-setting.ts +46 -0
- package/server/graphql/resolvers/plantation-setting/update-plantation-setting.ts +19 -0
- package/server/graphql/resolvers/report/daily-production-reports.ts +55 -44
- package/server/graphql/resolvers/report/daily-staff-harvest-reports.ts +28 -20
- package/server/graphql/resolvers/report/index.ts +7 -1
- package/server/graphql/resolvers/report/monthly-block-dispatch-reports.ts +112 -0
- package/server/graphql/resolvers/report/monthly-dispatch-summary-reports.ts +110 -0
- package/server/graphql/resolvers/report/monthly-ffb-sale-reports.ts +107 -0
- package/server/graphql/resolvers/report/monthly-production-reports.ts +54 -40
- package/server/graphql/resolvers/report/yearly-production-reports.ts +43 -38
- package/server/graphql/resolvers/truck/delete-trucks.ts +21 -0
- package/server/graphql/resolvers/truck/index.ts +12 -0
- package/server/graphql/resolvers/truck/truck-query.ts +52 -0
- package/server/graphql/resolvers/truck/update-multiple-truck.ts +55 -0
- package/server/graphql/types/daily-dispatch/daily-dispatch-patch.ts +4 -1
- package/server/graphql/types/daily-dispatch/daily-dispatch.ts +4 -1
- package/server/graphql/types/daily-dispatch/index.ts +6 -1
- package/server/graphql/types/daily-dispatch/new-daily-dispatch.ts +4 -1
- package/server/graphql/types/daily-harvest/daily-harvest-patch.ts +5 -2
- package/server/graphql/types/daily-harvest/daily-harvest.ts +3 -0
- package/server/graphql/types/daily-harvest/new-daily-harvest.ts +4 -1
- package/server/graphql/types/daily-harvest-detail/daily-harvest-detail-patch.ts +1 -0
- package/server/graphql/types/daily-harvest-detail/daily-harvest-detail.ts +1 -0
- package/server/graphql/types/daily-harvest-detail/new-daily-harvest-detail.ts +1 -0
- package/server/graphql/types/daily-loading/daily-loading-patch.ts +0 -2
- package/server/graphql/types/daily-loading/daily-loading.ts +0 -2
- package/server/graphql/types/daily-loading/new-daily-loading.ts +0 -2
- package/server/graphql/types/daily-loading-detail/daily-loading-detail-patch.ts +6 -3
- package/server/graphql/types/daily-loading-detail/daily-loading-detail.ts +3 -0
- package/server/graphql/types/daily-loading-detail/new-daily-loading-detail.ts +6 -3
- package/server/graphql/types/dashboard/bunches-count.ts +9 -0
- package/server/graphql/types/dashboard/index.ts +17 -0
- package/server/graphql/types/dashboard/productions-overview.ts +9 -0
- package/server/graphql/types/dashboard/tonnage-bunches-inventories.ts +8 -0
- package/server/graphql/types/dashboard/tonnage-production.ts +11 -0
- package/server/graphql/types/dashboard/yield-production.ts +11 -0
- package/server/graphql/types/index.ts +10 -6
- package/server/graphql/types/organization-staff/organization-staff-patch.ts +2 -0
- package/server/graphql/types/organization-staff/organization-staff.ts +3 -0
- package/server/graphql/types/plantation-setting/index.ts +21 -0
- package/server/graphql/types/plantation-setting/new-plantation-setting.ts +10 -0
- package/server/graphql/types/plantation-setting/plantation-setting-list.ts +8 -0
- package/server/graphql/types/plantation-setting/plantation-setting-patch.ts +12 -0
- package/server/graphql/types/plantation-setting/plantation-setting.ts +16 -0
- package/server/graphql/types/report/index.ts +20 -0
- package/server/graphql/types/report/monthly-block-dispatch-report-list.ts +7 -0
- package/server/graphql/types/report/monthly-block-dispatch-report.ts +13 -0
- package/server/graphql/types/report/monthly-dispatch-summary-report-list.ts +7 -0
- package/server/graphql/types/report/monthly-dispatch-summary-report.ts +19 -0
- package/server/graphql/types/report/monthly-ffb-sale-report-list.ts +7 -0
- package/server/graphql/types/report/monthly-ffb-sale-report.ts +18 -0
- package/server/graphql/types/truck/index.ts +18 -0
- package/server/graphql/types/truck/new-truck.ts +8 -0
- package/server/graphql/types/truck/truck-list.ts +8 -0
- package/server/graphql/types/truck/truck-patch.ts +11 -0
- package/server/graphql/types/truck/truck.ts +16 -0
- package/things-factory.config.js +27 -1
- package/translations/en.json +78 -16
- package/translations/ko.json +77 -48
- package/translations/ms.json +74 -45
- package/translations/zh.json +77 -48
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deletePlantationSettings = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const entities_1 = require("../../../entities");
|
|
6
|
+
exports.deletePlantationSettings = {
|
|
7
|
+
async deletePlantationSettings(_, { names }, context) {
|
|
8
|
+
const { domain, user } = context.state;
|
|
9
|
+
await (0, typeorm_1.getRepository)(entities_1.PlantationSetting).delete({
|
|
10
|
+
domain,
|
|
11
|
+
name: (0, typeorm_1.In)(names)
|
|
12
|
+
});
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=delete-plantation-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-plantation-settings.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/plantation-setting/delete-plantation-settings.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAC3C,gDAAqD;AAExC,QAAA,wBAAwB,GAAG;IACtC,KAAK,CAAC,wBAAwB,CAAC,CAAM,EAAE,EAAE,KAAK,EAAE,EAAE,OAAY;QAC5D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,MAAM,IAAA,uBAAa,EAAC,4BAAiB,CAAC,CAAC,MAAM,CAAC;YAC1C,MAAM;YACN,IAAI,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC;SAClB,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PlantationSettingResolver = void 0;
|
|
4
|
+
const plantation_setting_query_1 = require("./plantation-setting-query");
|
|
5
|
+
const update_plantation_setting_1 = require("./update-plantation-setting");
|
|
6
|
+
const update_multiple_plantation_setting_1 = require("./update-multiple-plantation-setting");
|
|
7
|
+
const create_plantation_setting_1 = require("./create-plantation-setting");
|
|
8
|
+
const delete_plantation_setting_1 = require("./delete-plantation-setting");
|
|
9
|
+
const delete_plantation_settings_1 = require("./delete-plantation-settings");
|
|
10
|
+
exports.PlantationSettingResolver = {
|
|
11
|
+
PlantationSetting: plantation_setting_query_1.PlantationSetting,
|
|
12
|
+
Query: plantation_setting_query_1.Query,
|
|
13
|
+
Mutation: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, update_plantation_setting_1.updatePlantationSetting), update_multiple_plantation_setting_1.updateMultiplePlantationSetting), create_plantation_setting_1.createPlantationSetting), delete_plantation_setting_1.deletePlantationSetting), delete_plantation_settings_1.deletePlantationSettings)
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/plantation-setting/index.ts"],"names":[],"mappings":";;;AAAA,yEAAqE;AAErE,2EAAqE;AACrE,6FAAsF;AACtF,2EAAqE;AACrE,2EAAqE;AACrE,6EAAuE;AAE1D,QAAA,yBAAyB,GAAG;IACvC,iBAAiB,EAAjB,4CAAiB;IACjB,KAAK,EAAL,gCAAK;IACL,QAAQ,4EACH,mDAAuB,GACvB,oEAA+B,GAC/B,mDAAuB,GACvB,mDAAuB,GACvB,qDAAwB,CAC5B;CACF,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PlantationSetting = exports.Query = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const shell_1 = require("@things-factory/shell");
|
|
6
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
7
|
+
const entities_1 = require("../../../entities");
|
|
8
|
+
exports.Query = {
|
|
9
|
+
async plantationSetting(_, { name }, context) {
|
|
10
|
+
const { domain, user } = context.state;
|
|
11
|
+
const repository = (0, typeorm_1.getRepository)(entities_1.PlantationSetting);
|
|
12
|
+
return await repository.findOne({
|
|
13
|
+
where: { domain, name }
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
async plantationSettings(_, params, context) {
|
|
17
|
+
const convertedParams = (0, shell_1.convertListParams)(params);
|
|
18
|
+
const [items, total] = await (0, typeorm_1.getRepository)(entities_1.PlantationSetting).findAndCount(Object.assign({}, convertedParams));
|
|
19
|
+
return { items, total };
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
exports.PlantationSetting = {
|
|
23
|
+
async domain(plantationSetting) {
|
|
24
|
+
return await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(plantationSetting.domainId);
|
|
25
|
+
},
|
|
26
|
+
async creator(plantationSetting) {
|
|
27
|
+
return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(plantationSetting.creatorId);
|
|
28
|
+
},
|
|
29
|
+
async updater(plantationSetting) {
|
|
30
|
+
return await (0, typeorm_1.getRepository)(auth_base_1.User).findOne(plantationSetting.updaterId);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=plantation-setting-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plantation-setting-query.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/plantation-setting/plantation-setting-query.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,iDAA4E;AAC5E,yDAAgD;AAChD,gDAAgF;AAEnE,QAAA,KAAK,GAAG;IACnB,KAAK,CAAC,iBAAiB,CAAC,CAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAY;QACpD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QACtC,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,4BAAuB,CAAC,CAAA;QAEzD,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;QAC9D,MAAM,eAAe,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,IAAA,uBAAa,EAAC,4BAAuB,CAAC,CAAC,YAAY,mBAC3E,eAAe,EAClB,CAAA;QAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;CACF,CAAA;AAEY,QAAA,iBAAiB,GAAG;IAC/B,KAAK,CAAC,MAAM,CAAC,iBAAiB;QAC5B,OAAO,MAAM,IAAA,uBAAa,EAAC,cAAM,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,iBAAiB;QAC7B,OAAO,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACvE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,iBAAiB;QAC7B,OAAO,MAAM,IAAA,uBAAa,EAAC,gBAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACvE,CAAC;CACF,CAAA"}
|
package/dist-server/graphql/resolvers/plantation-setting/update-multiple-plantation-setting.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateMultiplePlantationSetting = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const entities_1 = require("../../../entities");
|
|
6
|
+
exports.updateMultiplePlantationSetting = {
|
|
7
|
+
async updateMultiplePlantationSetting(_, { patches }, context) {
|
|
8
|
+
const { domain, user } = context.state;
|
|
9
|
+
let results = [];
|
|
10
|
+
const _createRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === '+');
|
|
11
|
+
const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
|
|
12
|
+
const plantationSettingRepo = (0, typeorm_1.getRepository)(entities_1.PlantationSetting);
|
|
13
|
+
if (_createRecords.length > 0) {
|
|
14
|
+
for (let i = 0; i < _createRecords.length; i++) {
|
|
15
|
+
const newRecord = _createRecords[i];
|
|
16
|
+
const result = await plantationSettingRepo.save(Object.assign(Object.assign({}, newRecord), { domain: domain, creator: user, updater: user }));
|
|
17
|
+
results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if (_updateRecords.length > 0) {
|
|
21
|
+
for (let i = 0; i < _updateRecords.length; i++) {
|
|
22
|
+
const newRecord = _updateRecords[i];
|
|
23
|
+
const plantationSetting = await plantationSettingRepo.findOne({ domain, id: newRecord.id });
|
|
24
|
+
const result = await plantationSettingRepo.save(Object.assign(Object.assign(Object.assign({}, plantationSetting), newRecord), { updater: user }));
|
|
25
|
+
results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return results;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=update-multiple-plantation-setting.js.map
|
package/dist-server/graphql/resolvers/plantation-setting/update-multiple-plantation-setting.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-multiple-plantation-setting.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/plantation-setting/update-multiple-plantation-setting.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,gDAAqD;AAExC,QAAA,+BAA+B,GAAG;IAC7C,KAAK,CAAC,+BAA+B,CAAC,CAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAY;QACrE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAA;QACzF,MAAM,qBAAqB,GAAG,IAAA,uBAAa,EAAC,4BAAiB,CAAC,CAAA;QAE9D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBAEnC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,iCAC1C,SAAS,KACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;gBAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;aACzC;SACJ;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;gBACnC,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAC,CAAC,CAAA;gBAE1F,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,+CAC1C,iBAAiB,GACjB,SAAS,KACZ,OAAO,EAAE,IAAI,IACb,CAAA;gBAEF,OAAO,CAAC,IAAI,iCAAM,MAAM,KAAE,MAAM,EAAE,GAAG,IAAG,CAAA;aACzC;SACJ;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updatePlantationSetting = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const entities_1 = require("../../../entities");
|
|
6
|
+
exports.updatePlantationSetting = {
|
|
7
|
+
async updatePlantationSetting(_, { name, patch }, context) {
|
|
8
|
+
const { domain, user } = context.state;
|
|
9
|
+
const repository = (0, typeorm_1.getRepository)(entities_1.PlantationSetting);
|
|
10
|
+
const plantationSetting = await repository.findOne({
|
|
11
|
+
where: { domain, name }
|
|
12
|
+
});
|
|
13
|
+
return await repository.save(Object.assign(Object.assign(Object.assign({}, plantationSetting), patch), { updater: user }));
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=update-plantation-setting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-plantation-setting.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/plantation-setting/update-plantation-setting.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,gDAAqD;AAExC,QAAA,uBAAuB,GAAG;IACrC,KAAK,CAAC,uBAAuB,CAAC,CAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAY;QACjE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEtC,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,4BAAiB,CAAC,CAAA;QACnD,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAA;QAEF,OAAO,MAAM,UAAU,CAAC,IAAI,+CACvB,iBAAiB,GACjB,KAAK,KACR,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;CACF,CAAA"}
|
|
@@ -25,22 +25,36 @@ exports.dailyProductionReports = {
|
|
|
25
25
|
.getRepository(entities_1.Block)
|
|
26
26
|
.findOneOrFail({ where: { id: params.filters.filter(x => x.name == 'block')[0].value } });
|
|
27
27
|
await tx.query(`
|
|
28
|
-
CREATE TEMP TABLE
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
CREATE TEMP TABLE temp_blocks on commit drop AS (
|
|
29
|
+
WITH RECURSIVE b AS (
|
|
30
|
+
SELECT $1::uuid as block_id, * FROM blocks b
|
|
31
|
+
WHERE id = $1::uuid
|
|
32
|
+
AND b.deleted_at IS null
|
|
33
|
+
UNION ALL
|
|
34
|
+
SELECT $1::uuid as block_id, cb.* FROM blocks cb
|
|
35
|
+
INNER JOIN b ON b.id = cb.parent_block_id
|
|
36
|
+
WHERE cb.deleted_at IS null
|
|
37
|
+
)
|
|
38
|
+
SELECT * FROM b
|
|
39
|
+
);
|
|
40
|
+
`, [block.id]);
|
|
41
|
+
await tx.query(`
|
|
42
|
+
CREATE TEMP TABLE temp_records on commit drop AS (
|
|
43
|
+
select blk.block_id, coalesce(sum(field_bunches),0) AS today_field_bunches,
|
|
44
|
+
round(coalesce(sum(ramp_weight),0)::numeric,4) AS today_ramp_weight,
|
|
31
45
|
sum(case when transaction_type = 'HARVEST' then field_bunches else 0 end) as today_bunch_harvest,
|
|
32
46
|
sum(case when transaction_type = 'LOADING' then -field_bunches else 0 end) as today_bunch_collected,
|
|
33
|
-
sum(case when transaction_type = 'LOADING' then ramp_weight else 0 end) as today_ramp_weight_collected,
|
|
34
|
-
sum(case when transaction_type = 'DISPATCHMENT' then -ramp_weight else 0 end) as today_weight_dispatch,
|
|
47
|
+
round(sum(case when transaction_type = 'LOADING' then ramp_weight else 0 end)::numeric,4) as today_ramp_weight_collected,
|
|
48
|
+
round(sum(case when transaction_type = 'DISPATCHMENT' then -ramp_weight else 0 end)::numeric,4) as today_weight_dispatch,
|
|
35
49
|
transaction_date
|
|
36
|
-
from record_transactions t2
|
|
50
|
+
from record_transactions t2
|
|
51
|
+
inner join temp_blocks blk on blk.id = t2.block_id
|
|
37
52
|
where transaction_date <= $1
|
|
38
|
-
|
|
39
|
-
group by block_id, transaction_date
|
|
53
|
+
group by blk.block_id, transaction_date
|
|
40
54
|
)
|
|
41
|
-
`, [toDateString
|
|
55
|
+
`, [toDateString]);
|
|
42
56
|
await tx.query(`
|
|
43
|
-
create temp table temp_daily_production_data as (
|
|
57
|
+
create temp table temp_daily_production_data on commit drop as (
|
|
44
58
|
select *,
|
|
45
59
|
prev_bunch_bal_in_field + today_bunch_harvest as today_bunch_in_field,
|
|
46
60
|
prev_bunch_bal_in_field + today_bunch_harvest - today_bunch_collected as today_bunch_bal_in_field,
|
|
@@ -79,48 +93,47 @@ exports.dailyProductionReports = {
|
|
|
79
93
|
order by transaction_date
|
|
80
94
|
) as dt on dt.transaction_date::date = md.dateDay
|
|
81
95
|
LEFT JOIN (
|
|
82
|
-
select sum(harvesting_round) AS today_harvesting_round, sum(coverage) AS today_hectare_cover, harvest_date
|
|
96
|
+
select sum(harvesting_round) AS today_harvesting_round, sum(coverage) AS today_hectare_cover, harvest_date
|
|
97
|
+
from daily_harvests dh
|
|
98
|
+
inner join temp_blocks blk on blk.id = dh.block_id
|
|
83
99
|
where harvest_date between $1 and $2
|
|
84
|
-
|
|
85
|
-
group by block_id, harvest_date
|
|
100
|
+
group by blk.block_id, harvest_date
|
|
86
101
|
) as thr ON thr.harvest_date::date = md.dateDay
|
|
87
102
|
LEFT JOIN (
|
|
88
|
-
select count(*) AS today_out_turn, dh.harvest_date
|
|
103
|
+
select count(*) AS today_out_turn, dh.harvest_date
|
|
104
|
+
from daily_harvest_details dhd
|
|
89
105
|
inner join daily_harvests dh on dh.id = dhd.daily_harvest_id
|
|
106
|
+
inner join temp_blocks blk on blk.id = dh.block_id
|
|
90
107
|
where dh.harvest_date between $1 and $2
|
|
91
|
-
|
|
92
|
-
GROUP BY dh.block_id, dh.harvest_date
|
|
108
|
+
GROUP BY blk.block_id, dh.harvest_date
|
|
93
109
|
) as tot ON tot.harvest_date::date = md.dateDay
|
|
94
110
|
) dt
|
|
95
111
|
)`, [fromDateString, toDateString, block.id]);
|
|
96
112
|
const result = await tx.query(`
|
|
97
113
|
select * from temp_daily_production_data dt
|
|
98
|
-
|
|
114
|
+
`);
|
|
99
115
|
const total = await tx.query(`
|
|
100
116
|
select count(*) from temp_daily_production_data
|
|
101
|
-
|
|
102
|
-
await tx.query(`
|
|
103
|
-
drop table temp_daily_production_data, temp_records
|
|
104
|
-
`);
|
|
117
|
+
`);
|
|
105
118
|
let items = result.map(itm => {
|
|
106
119
|
return {
|
|
107
120
|
block: itm.block,
|
|
108
121
|
dateDay: itm.date_day,
|
|
109
|
-
diffInBunches: itm.diff_in_bunches,
|
|
110
|
-
prevBunchBalInField: itm.prev_bunch_bal_in_field,
|
|
111
|
-
prevWeightBalInRamp: itm.prev_weight_bal_in_ramp,
|
|
112
|
-
toDateBunchHarvest: itm.to_date_bunch_harvest,
|
|
122
|
+
diffInBunches: parseFloat(itm.diff_in_bunches).toFixed(1),
|
|
123
|
+
prevBunchBalInField: parseFloat(itm.prev_bunch_bal_in_field).toFixed(1),
|
|
124
|
+
prevWeightBalInRamp: parseFloat(itm.prev_weight_bal_in_ramp).toFixed(4),
|
|
125
|
+
toDateBunchHarvest: parseFloat(itm.to_date_bunch_harvest).toFixed(1),
|
|
113
126
|
toDateOutTurn: itm.to_date_out_turn,
|
|
114
|
-
toDateWeightDispatch: itm.to_date_weight_dispatch,
|
|
115
|
-
todayBunchBalInField: itm.today_bunch_bal_in_field,
|
|
116
|
-
todayBunchCollected: itm.today_bunch_collected,
|
|
117
|
-
todayBunchHarvest: itm.today_bunch_harvest,
|
|
118
|
-
todayBunchInField: itm.today_bunch_in_field,
|
|
127
|
+
toDateWeightDispatch: parseFloat(itm.to_date_weight_dispatch).toFixed(4),
|
|
128
|
+
todayBunchBalInField: parseFloat(itm.today_bunch_bal_in_field).toFixed(1),
|
|
129
|
+
todayBunchCollected: parseFloat(itm.today_bunch_collected).toFixed(1),
|
|
130
|
+
todayBunchHarvest: parseFloat(itm.today_bunch_harvest).toFixed(1),
|
|
131
|
+
todayBunchInField: parseFloat(itm.today_bunch_in_field).toFixed(1),
|
|
119
132
|
todayHarvestingRound: itm.today_harvesting_round,
|
|
120
|
-
todayHectareCover: itm.today_hectare_cover,
|
|
133
|
+
todayHectareCover: parseFloat(itm.today_hectare_cover).toFixed(4),
|
|
121
134
|
todayOutTurn: itm.today_out_turn,
|
|
122
|
-
todayWeightBalInRamp: itm.today_weight_bal_in_ramp,
|
|
123
|
-
todayWeightDispatch: itm.today_weight_dispatch
|
|
135
|
+
todayWeightBalInRamp: parseFloat(itm.today_weight_bal_in_ramp).toFixed(4),
|
|
136
|
+
todayWeightDispatch: parseFloat(itm.today_weight_dispatch).toFixed(4)
|
|
124
137
|
};
|
|
125
138
|
});
|
|
126
139
|
return { items, total: total[0].count };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-production-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/daily-production-reports.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"daily-production-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/daily-production-reports.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,30 +25,41 @@ exports.dailyStaffHarvestReports = {
|
|
|
25
25
|
.getRepository(entities_1.Block)
|
|
26
26
|
.findOneOrFail({ where: { id: params.filters.filter(x => x.name == 'block')[0].value } });
|
|
27
27
|
await tx.query(`
|
|
28
|
-
|
|
28
|
+
CREATE TEMP TABLE temp_blocks on commit drop AS (
|
|
29
|
+
WITH RECURSIVE b AS (
|
|
30
|
+
SELECT $1::uuid as block_id, * FROM blocks b
|
|
31
|
+
WHERE id = $1::uuid
|
|
32
|
+
AND b.deleted_at IS null
|
|
33
|
+
UNION ALL
|
|
34
|
+
SELECT $1::uuid as block_id, cb.* FROM blocks cb
|
|
35
|
+
INNER JOIN b ON b.id = cb.parent_block_id
|
|
36
|
+
WHERE cb.deleted_at IS null
|
|
37
|
+
)
|
|
38
|
+
SELECT * FROM b
|
|
39
|
+
);
|
|
40
|
+
`, [block.id]);
|
|
41
|
+
await tx.query(`
|
|
42
|
+
create temp table temp_daily_staff_harvest_data on commit drop as (
|
|
29
43
|
select "harvestDate"::varchar as "harvestDate", "blockName"::varchar, "staffName"::varchar, sum("totalBunchHarvested")::varchar as "totalBunchHarvested" from (
|
|
30
44
|
select dh.harvest_date::date as "harvestDate", b2."name" as "blockName", os."name" as "staffName",
|
|
31
45
|
dhd.total_bunch_harvested as "totalBunchHarvested"
|
|
32
46
|
from daily_harvest_details dhd
|
|
33
47
|
inner join daily_harvests dh on dh.id = dhd.daily_harvest_id
|
|
48
|
+
inner join temp_blocks blk on blk.id = dh.block_id
|
|
34
49
|
inner join organization_staffs os on os.id = dhd.organization_staff_id
|
|
35
|
-
inner join blocks b2 on b2.id =
|
|
36
|
-
where dh.
|
|
37
|
-
and dh.harvest_date::date between $2 and $3
|
|
50
|
+
inner join blocks b2 on b2.id = blk.block_id
|
|
51
|
+
where dh.harvest_date::date between $1 and $2
|
|
38
52
|
) as dt
|
|
39
53
|
group by "harvestDate", "blockName", "staffName"
|
|
40
54
|
order by "staffName", "harvestDate"
|
|
41
55
|
)
|
|
42
|
-
`, [
|
|
56
|
+
`, [fromDateString, toDateString]);
|
|
43
57
|
const result = await tx.query(`
|
|
44
58
|
select * from temp_daily_staff_harvest_data dt
|
|
45
|
-
|
|
59
|
+
`);
|
|
46
60
|
const total = await tx.query(`
|
|
47
61
|
select count(*) from temp_daily_staff_harvest_data
|
|
48
|
-
|
|
49
|
-
await tx.query(`
|
|
50
|
-
drop table temp_daily_staff_harvest_data
|
|
51
|
-
`);
|
|
62
|
+
`);
|
|
52
63
|
return { items: result, total: total[0].count };
|
|
53
64
|
}
|
|
54
65
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-staff-harvest-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/daily-staff-harvest-reports.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"daily-staff-harvest-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/daily-staff-harvest-reports.ts"],"names":[],"mappings":";;;AAIA,gDAAyC;AAE5B,QAAA,wBAAwB,GAAG;IACtC,KAAK,CAAC,wBAAwB,CAAC,CAAM,EAAE,MAAiB,EAAE,OAAY;QACpE,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,GAA0B,OAAO,CAAC,KAAK,CAAA;YAEnD,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzF,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAE1F,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3C,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;YAEpC,IAAI,cAAc,GAAG;gBACnB,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAChD,IAAI;aACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,IAAI,YAAY,GAAG;gBACjB,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;aAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,MAAM,KAAK,GAAG,MAAM,EAAE;iBACnB,aAAa,CAAC,gBAAK,CAAC;iBACpB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAE3F,MAAM,EAAE,CAAC,KAAK,CAAC;;;;;;;;;;;;;OAad,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CACZ,CAAA;YAED,MAAM,EAAE,CAAC,KAAK,CACZ;;;;;;;;;;;;;;;WAeG,EACH,CAAC,cAAc,EAAE,YAAY,CAAC,CAC/B,CAAA;YAED,MAAM,MAAM,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAElC,CAAC,CAAA;YAEF,MAAM,KAAK,GAAQ,MAAM,EAAE,CAAC,KAAK,CAAC;;OAEjC,CAAC,CAAA;YAEF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;SAChD;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA"}
|
|
@@ -3,10 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ReportResolver = void 0;
|
|
4
4
|
const daily_production_reports_1 = require("./daily-production-reports");
|
|
5
5
|
const monthly_production_reports_1 = require("./monthly-production-reports");
|
|
6
|
+
const monthly_dispatch_summary_reports_1 = require("./monthly-dispatch-summary-reports");
|
|
6
7
|
const yearly_production_reports_1 = require("./yearly-production-reports");
|
|
7
8
|
const daily_staff_harvest_reports_1 = require("./daily-staff-harvest-reports");
|
|
9
|
+
const monthly_block_dispatch_reports_1 = require("./monthly-block-dispatch-reports");
|
|
10
|
+
const monthly_ffb_sale_reports_1 = require("./monthly-ffb-sale-reports");
|
|
8
11
|
exports.ReportResolver = {
|
|
9
|
-
Query: Object.assign(Object.assign(Object.assign(Object.assign({}, daily_production_reports_1.dailyProductionReports), monthly_production_reports_1.monthlyProductionReports), yearly_production_reports_1.yearlyProductionReports), daily_staff_harvest_reports_1.dailyStaffHarvestReports),
|
|
12
|
+
Query: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, daily_production_reports_1.dailyProductionReports), monthly_production_reports_1.monthlyProductionReports), monthly_dispatch_summary_reports_1.monthlyDispatchSummaryReports), yearly_production_reports_1.yearlyProductionReports), daily_staff_harvest_reports_1.dailyStaffHarvestReports), monthly_block_dispatch_reports_1.monthlyBlockDispatchReports), monthly_ffb_sale_reports_1.monthlyFfbSaleReports),
|
|
10
13
|
Mutation: {}
|
|
11
14
|
};
|
|
12
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/index.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AACnE,6EAAuE;AACvE,2EAAqE;AACrE,+EAAwE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/index.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AACnE,6EAAuE;AACvE,yFAAkF;AAClF,2EAAqE;AACrE,+EAAwE;AACxE,qFAA8E;AAC9E,yEAAkE;AAErD,QAAA,cAAc,GAAG;IAC5B,KAAK,wGACA,iDAAsB,GACtB,qDAAwB,GACxB,gEAA6B,GAC7B,mDAAuB,GACvB,sDAAwB,GACxB,4DAA2B,GAC3B,gDAAqB,CACzB;IACD,QAAQ,EAAE,EAAE;CACb,CAAA"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.monthlyBlockDispatchReports = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const entities_1 = require("../../../entities");
|
|
6
|
+
exports.monthlyBlockDispatchReports = {
|
|
7
|
+
async monthlyBlockDispatchReports(_, 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
|
+
// -- WHERE dd.dispatch_at::timestamp between $1::timestamp and $2::timestamp
|
|
30
|
+
// [fromDateString, toDateString]
|
|
31
|
+
await tx.query(`create extension if not exists tablefunc`);
|
|
32
|
+
await tx.query(`
|
|
33
|
+
CREATE TEMP TABLE raw_block_dispatch ON COMMIT DROP AS (
|
|
34
|
+
SELECT dd.id, b.name AS block_name,
|
|
35
|
+
COALESCE(ddd.adjusted_weight, ddd.collected_ramp_weight, 0) AS weight
|
|
36
|
+
FROM daily_dispatches dd
|
|
37
|
+
INNER JOIN daily_dispatch_details ddd ON ddd.daily_dispatch_id = dd.id
|
|
38
|
+
INNER JOIN ramps r ON r.id = ddd.ramp_id
|
|
39
|
+
INNER JOIN blocks b ON b.id = r.block_id
|
|
40
|
+
WHERE dd.dispatch_at::timestamp between $1::timestamp and $2::timestamp
|
|
41
|
+
)
|
|
42
|
+
`, [fromDateString, toDateString]);
|
|
43
|
+
await tx.query(`
|
|
44
|
+
CREATE TEMP TABLE pivot_block_dispatch ON COMMIT DROP AS (
|
|
45
|
+
SELECT * FROM crosstab(
|
|
46
|
+
$$SELECT rbd.id, rbd.block_name, round(rbd.weight, 2 )::varchar FROM raw_block_dispatch rbd$$,
|
|
47
|
+
$$SELECT b.name FROM ramps r INNER JOIN blocks b ON b.id = r.block_id WHERE r.deleted_at IS NULL$$
|
|
48
|
+
) AS ("id" uuid, ${ramps.map(ramp => `"${ramp.block.name}" varchar`).join(',')})
|
|
49
|
+
);
|
|
50
|
+
`);
|
|
51
|
+
await tx.query(`
|
|
52
|
+
CREATE TEMP TABLE temp_monthly_production_data ON COMMIT DROP AS (
|
|
53
|
+
SELECT
|
|
54
|
+
ROW_NUMBER() OVER(
|
|
55
|
+
PARTITION BY dd.dispatch_at::date
|
|
56
|
+
ORDER BY dd.dispatch_at
|
|
57
|
+
) as rn
|
|
58
|
+
, dd.id, COALESCE(c.name, 'UNKNOWN') AS "dispatchTo"
|
|
59
|
+
, dd.transport_no as "lorryNo"
|
|
60
|
+
, dd.driver_identification as "driverIdentification"
|
|
61
|
+
, TO_CHAR(dd.dispatch_at:: DATE, 'dd/mm/yyyy') as "date"
|
|
62
|
+
, row_to_json((SELECT d FROM (SELECT ${ramps.map(ramp => `pbd."${ramp.block.name}"`).join(',')}) d))::varchar as "blockData"
|
|
63
|
+
, (SELECT sum(weight) FROM raw_block_dispatch rbd WHERE rbd.id = dd.id) AS "today"
|
|
64
|
+
FROM daily_dispatches dd
|
|
65
|
+
INNER JOIN pivot_block_dispatch pbd ON pbd.id = dd.id
|
|
66
|
+
LEFT JOIN organizations c ON c.id = dd.dispatch_to_id
|
|
67
|
+
);
|
|
68
|
+
`);
|
|
69
|
+
const result = await tx.query(`
|
|
70
|
+
select "id", "dispatchTo", "lorryNo", "driverIdentification",
|
|
71
|
+
CASE WHEN "rn" = 1 THEN "date" ELSE '' END AS "date", "blockData", "today",
|
|
72
|
+
coalesce(sum(today) over (order by date asc rows between unbounded preceding and current row), 0) as "todate"
|
|
73
|
+
from temp_monthly_production_data dt
|
|
74
|
+
`);
|
|
75
|
+
const total = await tx.query(`
|
|
76
|
+
select count(*) from temp_monthly_production_data
|
|
77
|
+
`);
|
|
78
|
+
return {
|
|
79
|
+
items: result.map(itm => {
|
|
80
|
+
return Object.assign({}, itm);
|
|
81
|
+
}), total: total[0].count
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
throw error;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=monthly-block-dispatch-reports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monthly-block-dispatch-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/monthly-block-dispatch-reports.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.monthlyDispatchSummaryReports = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const entities_1 = require("../../../entities");
|
|
6
|
+
exports.monthlyDispatchSummaryReports = {
|
|
7
|
+
async monthlyDispatchSummaryReports(_, 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
|
+
const org = await tx
|
|
26
|
+
.getRepository(entities_1.Organization)
|
|
27
|
+
.findOneOrFail({ where: { domain: domain.id, deletedAt: (0, typeorm_1.IsNull)(), id: params.filters.filter(x => x.name == 'organization')[0].value } });
|
|
28
|
+
await tx.query(`
|
|
29
|
+
CREATE TEMP TABLE raw_dispatch ON COMMIT DROP AS (
|
|
30
|
+
SELECT dd.*,
|
|
31
|
+
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 tonnage
|
|
32
|
+
FROM daily_dispatches dd
|
|
33
|
+
WHERE dd.dispatch_at::timestamp between $1::timestamp and $2::timestamp
|
|
34
|
+
AND dd.dispatch_to_id = $3
|
|
35
|
+
);
|
|
36
|
+
`, [fromDateString, toDateString, org.id]);
|
|
37
|
+
await tx.query(`
|
|
38
|
+
CREATE TEMP TABLE temp_monthly_dispatch_to_mill_data ON COMMIT DROP AS (
|
|
39
|
+
SELECT "id", dispatch_at AS "dispatchAt", transport_no AS "lorryNo",
|
|
40
|
+
driver_identification AS "driverIdentification", chit_no AS "chitNo", round(COALESCE(percentage,0)::numeric, 2)::varchar AS "percentage",
|
|
41
|
+
COALESCE(diapatch_to_name, 'UNKNOWN') AS "dispatchTo", "tonnage",
|
|
42
|
+
CASE WHEN reverse_rn = 1 THEN round((coalesce(sum(percentage) over (PARTITION BY dispatch_to_id, dispatch_at::date ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0)/forward_rn)::numeric,2)::varchar ELSE '' END AS "todayAvg",
|
|
43
|
+
CASE WHEN reverse_rn = 1 THEN round((coalesce(sum(percentage) over (PARTITION BY dispatch_to_id ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0)/forward_rn)::numeric,2)::varchar ELSE '' END AS "todateAvg",
|
|
44
|
+
CASE WHEN reverse_rn = 1 THEN round(coalesce(sum(tonnage) over (PARTITION BY dispatch_to_id, dispatch_at::date ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0),2)::varchar ELSE '' END AS "today",
|
|
45
|
+
CASE WHEN reverse_rn = 1 THEN round(coalesce(sum(tonnage) over (PARTITION BY dispatch_to_id ORDER BY dispatch_at asc rows between unbounded preceding and current row), 0),2)::varchar ELSE '' END AS "todate"
|
|
46
|
+
FROM (
|
|
47
|
+
SELECT
|
|
48
|
+
ROW_NUMBER() OVER(
|
|
49
|
+
PARTITION BY rbd.dispatch_to_id, rbd.dispatch_at::date
|
|
50
|
+
ORDER BY rbd.dispatch_at ASC
|
|
51
|
+
) as forward_rn
|
|
52
|
+
, ROW_NUMBER() OVER(
|
|
53
|
+
PARTITION BY rbd.dispatch_to_id, rbd.dispatch_at::date
|
|
54
|
+
ORDER BY rbd.dispatch_at DESC
|
|
55
|
+
) as reverse_rn
|
|
56
|
+
, rbd.id
|
|
57
|
+
, rbd.dispatch_at
|
|
58
|
+
, rbd.transport_no
|
|
59
|
+
, rbd.driver_identification
|
|
60
|
+
, rbd.external_driver
|
|
61
|
+
, rbd.chit_no
|
|
62
|
+
, rbd.percentage
|
|
63
|
+
, rbd.dispatch_to_id
|
|
64
|
+
, c.name AS diapatch_to_name
|
|
65
|
+
, rbd.tonnage
|
|
66
|
+
FROM raw_dispatch rbd
|
|
67
|
+
LEFT JOIN organizations c ON c.id = rbd.dispatch_to_id
|
|
68
|
+
ORDER BY rbd.dispatch_to_id, rbd.dispatch_at
|
|
69
|
+
) src
|
|
70
|
+
);
|
|
71
|
+
`);
|
|
72
|
+
const result = await tx.query(`
|
|
73
|
+
select * from temp_monthly_dispatch_to_mill_data dt
|
|
74
|
+
`);
|
|
75
|
+
const total = await tx.query(`
|
|
76
|
+
select count(*) from temp_monthly_dispatch_to_mill_data
|
|
77
|
+
`);
|
|
78
|
+
return {
|
|
79
|
+
items: result.map(itm => {
|
|
80
|
+
return Object.assign({}, itm);
|
|
81
|
+
}), total: total[0].count
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
throw error;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=monthly-dispatch-summary-reports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monthly-dispatch-summary-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/monthly-dispatch-summary-reports.ts"],"names":[],"mappings":"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"}
|