@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.
- package/client/pages/dispatchment/daily-dispatch-detail.js +1 -1
- package/client/pages/dispatchment/dispatchment-create-record.js +15 -40
- package/client/pages/harvesting/daily-harvesting-detail.js +2 -2
- package/client/pages/harvesting/edit-harvesting-record.js +2 -2
- package/client/pages/harvesting/harvesting-create-record.js +2 -2
- package/client/pages/inventory/inventory-ramp-tonnage.js +23 -31
- package/client/pages/report/report-daily-ffb-dispatch-and-production.js +167 -124
- package/client/pages/report/report-ffb-tonnage-between-individual-block.js +12 -7
- package/dist-server/constants/transaction.js +2 -1
- package/dist-server/constants/transaction.js.map +1 -1
- package/dist-server/entities/daily-dispatch.js +1 -2
- package/dist-server/entities/daily-dispatch.js.map +1 -1
- package/dist-server/graphql/resolvers/daily-dispatch/update-daily-dispatch.js +1 -1
- package/dist-server/graphql/resolvers/daily-dispatch/update-daily-dispatch.js.map +1 -1
- package/dist-server/graphql/resolvers/daily-harvest/generate-daily-harvest.js +2 -2
- package/dist-server/graphql/resolvers/daily-harvest/generate-daily-harvest.js.map +1 -1
- package/dist-server/graphql/resolvers/daily-loading/update-daily-loading.js +19 -6
- package/dist-server/graphql/resolvers/daily-loading/update-daily-loading.js.map +1 -1
- package/dist-server/graphql/resolvers/dashboard/dashboard-query.js +165 -43
- package/dist-server/graphql/resolvers/dashboard/dashboard-query.js.map +1 -1
- package/dist-server/graphql/resolvers/report/daily-ffb-dispatch-production-reports.js +111 -0
- package/dist-server/graphql/resolvers/report/daily-ffb-dispatch-production-reports.js.map +1 -0
- package/dist-server/graphql/resolvers/report/daily-production-reports.js +6 -6
- package/dist-server/graphql/resolvers/report/index.js +2 -1
- package/dist-server/graphql/resolvers/report/index.js.map +1 -1
- package/dist-server/graphql/resolvers/report/monthly-block-dispatch-reports.js +10 -8
- package/dist-server/graphql/resolvers/report/monthly-block-dispatch-reports.js.map +1 -1
- package/dist-server/graphql/resolvers/report/monthly-ffb-sale-reports.js +1 -1
- package/dist-server/graphql/resolvers/report/monthly-production-reports.js +1 -1
- package/dist-server/graphql/types/report/daily-ffb-dispatch-production-report-list.js +14 -0
- package/dist-server/graphql/types/report/daily-ffb-dispatch-production-report-list.js.map +1 -0
- package/dist-server/graphql/types/report/daily-ffb-dispatch-production-report.js +15 -0
- package/dist-server/graphql/types/report/daily-ffb-dispatch-production-report.js.map +1 -0
- package/dist-server/graphql/types/report/index.js +13 -0
- package/dist-server/graphql/types/report/index.js.map +1 -1
- package/dist-server/utils/core-values.js +2 -2
- package/dist-server/utils/transaction-util.js +2 -1
- package/dist-server/utils/transaction-util.js.map +1 -1
- package/package.json +2 -2
- package/server/constants/transaction.ts +2 -1
- package/server/entities/daily-dispatch.ts +1 -4
- package/server/graphql/resolvers/daily-dispatch/update-daily-dispatch.ts +2 -2
- package/server/graphql/resolvers/daily-harvest/generate-daily-harvest.ts +2 -2
- package/server/graphql/resolvers/daily-loading/update-daily-loading.ts +39 -11
- package/server/graphql/resolvers/dashboard/dashboard-query.ts +208 -52
- package/server/graphql/resolvers/report/daily-ffb-dispatch-production-reports.ts +138 -0
- package/server/graphql/resolvers/report/daily-production-reports.ts +6 -6
- package/server/graphql/resolvers/report/index.ts +3 -1
- package/server/graphql/resolvers/report/monthly-block-dispatch-reports.ts +11 -9
- package/server/graphql/resolvers/report/monthly-ffb-sale-reports.ts +1 -1
- package/server/graphql/resolvers/report/monthly-production-reports.ts +1 -1
- package/server/graphql/types/report/daily-ffb-dispatch-production-report-list.ts +8 -0
- package/server/graphql/types/report/daily-ffb-dispatch-production-report.ts +9 -0
- package/server/graphql/types/report/index.ts +13 -0
- package/server/utils/core-values.ts +2 -2
- package/server/utils/transaction-util.ts +2 -1
- package/translations/en.json +7 -6
- package/translations/ko.json +7 -6
- package/translations/ms.json +10 -9
- package/translations/zh.json +7 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daily-ffb-dispatch-production-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/daily-ffb-dispatch-production-reports.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,10 +42,10 @@ exports.dailyProductionReports = {
|
|
|
42
42
|
CREATE TEMP TABLE temp_records on commit drop AS (
|
|
43
43
|
select blk.block_id, coalesce(sum(field_bunches),0) AS today_field_bunches,
|
|
44
44
|
round(coalesce(sum(ramp_weight),0)::numeric,4) AS today_ramp_weight,
|
|
45
|
-
sum(case when transaction_type = 'HARVEST' then field_bunches else 0 end) as today_bunch_harvest,
|
|
46
|
-
sum(case when transaction_type = 'LOADING' then -field_bunches else 0 end) as today_bunch_collected,
|
|
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,
|
|
45
|
+
sum(case when transaction_type = 'HARVEST' OR transaction_type = 'BUNCHES_ADJUSTMENT' then field_bunches else 0 end) as today_bunch_harvest,
|
|
46
|
+
sum(case when transaction_type = 'LOADING' OR transaction_type = 'LOADING_ADJUSTMENT' then -field_bunches else 0 end) as today_bunch_collected,
|
|
47
|
+
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,
|
|
48
|
+
round(sum(case when transaction_type = 'DISPATCHMENT' OR transaction_type = 'DISPATCHMENT_ADJUSTMENT' then -ramp_weight else 0 end)::numeric,4) as today_weight_dispatch,
|
|
49
49
|
transaction_date
|
|
50
50
|
from record_transactions t2
|
|
51
51
|
inner join temp_blocks blk on blk.id = t2.block_id
|
|
@@ -110,10 +110,10 @@ exports.dailyProductionReports = {
|
|
|
110
110
|
) dt
|
|
111
111
|
)`, [fromDateString, toDateString, block.id]);
|
|
112
112
|
const result = await tx.query(`
|
|
113
|
-
|
|
113
|
+
select * from temp_daily_production_data dt
|
|
114
114
|
`);
|
|
115
115
|
const total = await tx.query(`
|
|
116
|
-
|
|
116
|
+
select count(*) from temp_daily_production_data
|
|
117
117
|
`);
|
|
118
118
|
let items = result.map(itm => {
|
|
119
119
|
return {
|
|
@@ -8,8 +8,9 @@ const yearly_production_reports_1 = require("./yearly-production-reports");
|
|
|
8
8
|
const daily_staff_harvest_reports_1 = require("./daily-staff-harvest-reports");
|
|
9
9
|
const monthly_block_dispatch_reports_1 = require("./monthly-block-dispatch-reports");
|
|
10
10
|
const monthly_ffb_sale_reports_1 = require("./monthly-ffb-sale-reports");
|
|
11
|
+
const daily_ffb_dispatch_production_reports_1 = require("./daily-ffb-dispatch-production-reports");
|
|
11
12
|
exports.ReportResolver = {
|
|
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),
|
|
13
|
+
Query: Object.assign(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), daily_ffb_dispatch_production_reports_1.dailyFfbDispatchProductionReports),
|
|
13
14
|
Mutation: {}
|
|
14
15
|
};
|
|
15
16
|
//# 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,yFAAkF;AAClF,2EAAqE;AACrE,+EAAwE;AACxE,qFAA8E;AAC9E,yEAAkE;
|
|
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;AAClE,mGAA2F;AAE9E,QAAA,cAAc,GAAG;IAC5B,KAAK,sHACA,iDAAsB,GACtB,qDAAwB,GACxB,gEAA6B,GAC7B,mDAAuB,GACvB,sDAAwB,GACxB,4DAA2B,GAC3B,gDAAqB,GACrB,yEAAiC,CACrC;IACD,QAAQ,EAAE,EAAE;CACb,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.monthlyBlockDispatchReports = void 0;
|
|
4
|
-
const typeorm_1 = require("typeorm");
|
|
5
4
|
const entities_1 = require("../../../entities");
|
|
6
5
|
exports.monthlyBlockDispatchReports = {
|
|
7
6
|
async monthlyBlockDispatchReports(_, params, context) {
|
|
@@ -22,10 +21,13 @@ exports.monthlyBlockDispatchReports = {
|
|
|
22
21
|
String(toDate.getMonth() + 1).padStart(2, '0'),
|
|
23
22
|
String(toDate.getDate()).padStart(2, '0')
|
|
24
23
|
].join('-');
|
|
25
|
-
let
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
let blocks = await tx.getRepository(entities_1.Block).query(`
|
|
25
|
+
SELECT b.id, b.name FROM ramps r
|
|
26
|
+
INNER JOIN blocks b ON b.id = r.block_id
|
|
27
|
+
WHERE b.deleted_at IS NULL
|
|
28
|
+
AND r.domain_id = $1
|
|
29
|
+
GROUP BY b.id, b.name
|
|
30
|
+
`, [domain.id]);
|
|
29
31
|
// -- WHERE dd.dispatch_at::timestamp between $1::timestamp and $2::timestamp
|
|
30
32
|
// [fromDateString, toDateString]
|
|
31
33
|
await tx.query(`create extension if not exists tablefunc`);
|
|
@@ -44,8 +46,8 @@ exports.monthlyBlockDispatchReports = {
|
|
|
44
46
|
CREATE TEMP TABLE pivot_block_dispatch ON COMMIT DROP AS (
|
|
45
47
|
SELECT * FROM crosstab(
|
|
46
48
|
$$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, ${
|
|
49
|
+
$$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}' GROUP BY b.id, b.name$$
|
|
50
|
+
) AS ("id" uuid, ${blocks.map(block => `"${block.name}" varchar`).join(',')})
|
|
49
51
|
);
|
|
50
52
|
`);
|
|
51
53
|
await tx.query(`
|
|
@@ -59,7 +61,7 @@ exports.monthlyBlockDispatchReports = {
|
|
|
59
61
|
, dd.transport_no as "lorryNo"
|
|
60
62
|
, dd.driver_identification as "driverIdentification"
|
|
61
63
|
, TO_CHAR(dd.dispatch_at:: DATE, 'dd/mm/yyyy') as "date"
|
|
62
|
-
, row_to_json((SELECT d FROM (SELECT ${
|
|
64
|
+
, row_to_json((SELECT d FROM (SELECT ${blocks.map(block => `pbd."${block.name}"`).join(',')}) d))::varchar as "blockData"
|
|
63
65
|
, (SELECT sum(weight) FROM raw_block_dispatch rbd WHERE rbd.id = dd.id) AS "today"
|
|
64
66
|
FROM daily_dispatches dd
|
|
65
67
|
INNER JOIN pivot_block_dispatch pbd ON pbd.id = dd.id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monthly-block-dispatch-reports.js","sourceRoot":"","sources":["../../../../server/graphql/resolvers/report/monthly-block-dispatch-reports.ts"],"names":[],"mappings":";;;
|
|
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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"}
|
|
@@ -35,7 +35,7 @@ exports.monthlyFfbSaleReports = {
|
|
|
35
35
|
SELECT "id", dispatch_at, transport_no AS "lorryNo",
|
|
36
36
|
driver_identification AS "driverIdentification", chit_no AS "chitNo", round(COALESCE(percentage,0)::numeric, 2)::varchar AS "percentage",
|
|
37
37
|
COALESCE(diapatch_to_name, 'UNKNOWN') AS "dispatchTo", round(COALESCE(tonnage,0), 2)::varchar AS "tonnage",
|
|
38
|
-
CASE WHEN forward_rn = 1 THEN dispatch_at::
|
|
38
|
+
CASE WHEN forward_rn = 1 THEN TO_CHAR(dispatch_at:: DATE, 'dd/mm/yyyy') ELSE '' END AS "dispatchAt",
|
|
39
39
|
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",
|
|
40
40
|
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",
|
|
41
41
|
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",
|
|
@@ -70,8 +70,8 @@ exports.monthlyProductionReports = {
|
|
|
70
70
|
left join(
|
|
71
71
|
select blk.block_id, sum(total_weight) as total_weight_loaded, sum(total_bunch) as total_bunch_loaded
|
|
72
72
|
from daily_loadings dl
|
|
73
|
-
inner join temp_blocks blk on blk.id = dl.block_id
|
|
74
73
|
inner join daily_loading_details dld on dld.daily_loading_id = dl.id
|
|
74
|
+
inner join temp_blocks blk on blk.id = dld.block_id
|
|
75
75
|
where dl.loading_date::timestamp between $1::timestamp and $2::timestamp
|
|
76
76
|
group by blk.block_id
|
|
77
77
|
) as loading on loading.block_id = b.id
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DailyFfbDispatchProductionReportList = void 0;
|
|
7
|
+
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
8
|
+
exports.DailyFfbDispatchProductionReportList = (0, graphql_tag_1.default) `
|
|
9
|
+
type DailyFfbDispatchProductionReportList {
|
|
10
|
+
items: [DailyFfbDispatchProductionReport]
|
|
11
|
+
total: Int
|
|
12
|
+
}
|
|
13
|
+
`;
|
|
14
|
+
//# sourceMappingURL=daily-ffb-dispatch-production-report-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daily-ffb-dispatch-production-report-list.js","sourceRoot":"","sources":["../../../../server/graphql/types/report/daily-ffb-dispatch-production-report-list.ts"],"names":[],"mappings":";;;;;;AAAA,8DAA6B;AAEhB,QAAA,oCAAoC,GAAG,IAAA,qBAAG,EAAA;;;;;CAKtD,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DailyFfbDispatchProductionReport = void 0;
|
|
7
|
+
const graphql_tag_1 = __importDefault(require("graphql-tag"));
|
|
8
|
+
exports.DailyFfbDispatchProductionReport = (0, graphql_tag_1.default) `
|
|
9
|
+
type DailyFfbDispatchProductionReport {
|
|
10
|
+
date: String
|
|
11
|
+
blockData: String
|
|
12
|
+
today: String
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
15
|
+
//# sourceMappingURL=daily-ffb-dispatch-production-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daily-ffb-dispatch-production-report.js","sourceRoot":"","sources":["../../../../server/graphql/types/report/daily-ffb-dispatch-production-report.ts"],"names":[],"mappings":";;;;;;AAAA,8DAA6B;AAEhB,QAAA,gCAAgC,GAAG,IAAA,qBAAG,EAAA;;;;;;CAMlD,CAAA"}
|
|
@@ -27,15 +27,19 @@ __exportStar(require("./monthly-production-report-list"), exports);
|
|
|
27
27
|
__exportStar(require("./monthly-production-report"), exports);
|
|
28
28
|
__exportStar(require("./yearly-production-report-list"), exports);
|
|
29
29
|
__exportStar(require("./yearly-production-report"), exports);
|
|
30
|
+
__exportStar(require("./daily-ffb-dispatch-production-report"), exports);
|
|
31
|
+
__exportStar(require("./daily-ffb-dispatch-production-report-list"), exports);
|
|
30
32
|
exports.ReportResolver = (0, graphql_tag_1.default) `
|
|
31
33
|
extend type Query {
|
|
32
34
|
dailyProductionReports(filters: [Filter], pagination: Pagination, sortings: [Sorting]): DailyProductionReportList
|
|
33
35
|
@transaction
|
|
36
|
+
|
|
34
37
|
monthlyProductionReports(
|
|
35
38
|
filters: [Filter]
|
|
36
39
|
pagination: Pagination
|
|
37
40
|
sortings: [Sorting]
|
|
38
41
|
): MonthlyProductionReportList @transaction
|
|
42
|
+
|
|
39
43
|
yearlyProductionReports(filters: [Filter], pagination: Pagination, sortings: [Sorting]): YearlyProductionReportList
|
|
40
44
|
@transaction
|
|
41
45
|
dailyStaffHarvestReports(
|
|
@@ -43,21 +47,30 @@ exports.ReportResolver = (0, graphql_tag_1.default) `
|
|
|
43
47
|
pagination: Pagination
|
|
44
48
|
sortings: [Sorting]
|
|
45
49
|
): DailyStaffHarvestReportList @transaction
|
|
50
|
+
|
|
46
51
|
monthlyDispatchSummaryReports(
|
|
47
52
|
filters: [Filter],
|
|
48
53
|
pagination: Pagination,
|
|
49
54
|
sortings: [Sorting]
|
|
50
55
|
): MonthlyDispatchSummaryReportList @transaction
|
|
56
|
+
|
|
51
57
|
monthlyBlockDispatchReports(
|
|
52
58
|
filters: [Filter],
|
|
53
59
|
pagination: Pagination,
|
|
54
60
|
sortings: [Sorting]
|
|
55
61
|
): MonthlyBlockDispatchReportList @transaction
|
|
62
|
+
|
|
56
63
|
monthlyFfbSaleReports(
|
|
57
64
|
filters: [Filter],
|
|
58
65
|
pagination: Pagination,
|
|
59
66
|
sortings: [Sorting]
|
|
60
67
|
): MonthlyDispatchSummaryReportList @transaction
|
|
68
|
+
|
|
69
|
+
dailyFfbDispatchProductionReports(
|
|
70
|
+
filters: [Filter],
|
|
71
|
+
pagination: Pagination,
|
|
72
|
+
sortings: [Sorting]
|
|
73
|
+
): DailyFfbDispatchProductionReportList @transaction
|
|
61
74
|
}
|
|
62
75
|
|
|
63
76
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/report/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA6B;AAE7B,iEAA8C;AAC9C,4DAAyC;AACzC,oEAAiD;AACjD,+DAA4C;AAC5C,uEAAoD;AACpD,kEAA+C;AAC/C,yEAAsD;AACtD,oEAAiD;AACjD,mEAAgD;AAChD,8DAA2C;AAC3C,kEAA+C;AAC/C,6DAA0C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/graphql/types/report/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA6B;AAE7B,iEAA8C;AAC9C,4DAAyC;AACzC,oEAAiD;AACjD,+DAA4C;AAC5C,uEAAoD;AACpD,kEAA+C;AAC/C,yEAAsD;AACtD,oEAAiD;AACjD,mEAAgD;AAChD,8DAA2C;AAC3C,kEAA+C;AAC/C,6DAA0C;AAC1C,yEAAsD;AACtD,8EAA2D;AAE9C,QAAA,cAAc,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ChC,CAAA"}
|
|
@@ -37,8 +37,8 @@ async function getDailyBlockCalculatedValues(block, date, trxMgr) {
|
|
|
37
37
|
select block_id, transaction_date,
|
|
38
38
|
(select opening_field_bunches from transactions dt where dt.block_id = trx.block_id and dt.seq = min(trx.seq)) as prev_bunch_bal_in_field,
|
|
39
39
|
0 as prev_weight_bal_in_ramp,
|
|
40
|
-
sum(case when transaction_type = 'HARVEST' then field_bunches else 0 end) as today_bunch_harvest,
|
|
41
|
-
sum(case when transaction_type = 'LOADING' then -field_bunches else 0 end) as today_bunch_collected,
|
|
40
|
+
sum(case when transaction_type = 'HARVEST' OR transaction_type = 'BUNCHES_ADJUSTMENT' then field_bunches else 0 end) as today_bunch_harvest,
|
|
41
|
+
sum(case when transaction_type = 'LOADING' OR transaction_type = 'LOADING_ADJUSTMENT' then -field_bunches else 0 end) as today_bunch_collected,
|
|
42
42
|
0 as today_weight_dispatch,
|
|
43
43
|
0 as today_weight_bal_in_ramp,
|
|
44
44
|
(
|
|
@@ -31,7 +31,8 @@ async function generateTransactionHistory(plantationInventory, refActionID, refR
|
|
|
31
31
|
await transactionRepo.save(recTransactionHistory);
|
|
32
32
|
if (transactionType === constants_1.TRANSACTION_TYPE.LOADING ||
|
|
33
33
|
transactionType === constants_1.TRANSACTION_TYPE.DISPATCHMENT ||
|
|
34
|
-
transactionType === constants_1.TRANSACTION_TYPE.
|
|
34
|
+
transactionType === constants_1.TRANSACTION_TYPE.LOADING_ADJUSTMENT ||
|
|
35
|
+
transactionType === constants_1.TRANSACTION_TYPE.DISPATCHMENT_ADJUSTMENT) {
|
|
35
36
|
await switchRampStatus(domain, ramp, user, trxMgr);
|
|
36
37
|
}
|
|
37
38
|
return recTransactionHistory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-util.js","sourceRoot":"","sources":["../../server/utils/transaction-util.ts"],"names":[],"mappings":";;;AAEA,4CAA8E;AAC9E,0CAA0E;AAC1E,oCAAsC;AACtC,qCAAkE;AAElE;;;GAGG;AAEI,KAAK,UAAU,0BAA0B,CAC9C,mBAAwC,EACxC,WAAgB,EAChB,WAAmB,EACnB,eAAuB,EACvB,eAAuB,EACvB,YAAoB,EACpB,UAAkB,EAClB,IAAU,EACV,MAAsB;IAEtB,MAAM,eAAe,GACnB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,4BAAiB,CAAC,KAAI,IAAA,uBAAa,EAAC,4BAAiB,CAAC,CAAA;IAE9E,IAAI,CAAC,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,EAAE,CAAA;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAE3F,MAAM,MAAM,GAAW,mBAAmB,CAAC,MAAM,CAAA;IACjD,MAAM,IAAI,GAAS,mBAAmB,CAAC,IAAI,CAAA;IAE3C,IAAI,qBAAqB,GAAsB,IAAI,4BAAiB,EAAE,CAAA;IACtE,qBAAqB,CAAC,IAAI,GAAG,mBAAW,CAAC,sBAAsB,EAAE,CAAA;IACjE,qBAAqB,CAAC,WAAW,GAAG,WAAW,CAAA;IAC/C,qBAAqB,CAAC,WAAW,GAAG,WAAW,CAAA;IAC/C,qBAAqB,CAAC,eAAe,GAAG,eAAe,CAAA;IACvD,qBAAqB,CAAC,eAAe,GAAG,eAAe,CAAA;IACvD,qBAAqB,CAAC,YAAY,GAAG,YAAY,CAAA;IACjD,qBAAqB,CAAC,UAAU,GAAG,UAAU,CAAA;IAC7C,qBAAqB,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;IAC/D,qBAAqB,CAAC,MAAM,GAAG,MAAM,CAAA;IACrC,qBAAqB,CAAC,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;IACvD,qBAAqB,CAAC,OAAO,GAAG,IAAI,CAAA;IACpC,qBAAqB,CAAC,OAAO,GAAG,IAAI,CAAA;IACpC,MAAM,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IAEjD,IACE,eAAe,KAAK,4BAAgB,CAAC,OAAO;QAC5C,eAAe,KAAK,4BAAgB,CAAC,YAAY;QACjD,eAAe,KAAK,4BAAgB,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"transaction-util.js","sourceRoot":"","sources":["../../server/utils/transaction-util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/operato-pms",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.14",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -96,5 +96,5 @@
|
|
|
96
96
|
"devDependencies": {
|
|
97
97
|
"@things-factory/builder": "^3.7.5"
|
|
98
98
|
},
|
|
99
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "cc23839fe5ef7e12dd2d61f4f21daface150bec9"
|
|
100
100
|
}
|
|
@@ -2,7 +2,8 @@ export const TRANSACTION_TYPE = {
|
|
|
2
2
|
HARVEST: 'HARVEST',
|
|
3
3
|
LOADING: 'LOADING',
|
|
4
4
|
DISPATCHMENT: 'DISPATCHMENT',
|
|
5
|
-
|
|
5
|
+
LOADING_ADJUSTMENT: 'LOADING_ADJUSTMENT',
|
|
6
|
+
DISPATCHMENT_ADJUSTMENT: 'DISPATCHMENT_ADJUSTMENT',
|
|
6
7
|
BUNCHES_ADJUSTMENT: 'BUNCHES_ADJUSTMENT',
|
|
7
8
|
TERMINATED: 'TERMINATED'
|
|
8
9
|
}
|
|
@@ -3,10 +3,8 @@ import {
|
|
|
3
3
|
CreateDateColumn,
|
|
4
4
|
Entity,
|
|
5
5
|
Index,
|
|
6
|
-
JoinColumn,
|
|
7
6
|
ManyToOne,
|
|
8
7
|
OneToMany,
|
|
9
|
-
OneToOne,
|
|
10
8
|
PrimaryGeneratedColumn,
|
|
11
9
|
UpdateDateColumn
|
|
12
10
|
} from 'typeorm'
|
|
@@ -39,8 +37,7 @@ export class DailyDispatch {
|
|
|
39
37
|
@Column({ nullable: true })
|
|
40
38
|
externalDriver: string
|
|
41
39
|
|
|
42
|
-
@
|
|
43
|
-
@JoinColumn()
|
|
40
|
+
@ManyToOne(type => Truck, { nullable: true })
|
|
44
41
|
transport: Truck
|
|
45
42
|
|
|
46
43
|
@Column()
|
|
@@ -18,9 +18,9 @@ export const updateDailyDispatch = {
|
|
|
18
18
|
let foundDailyDispatchDetails: DailyDispatchDetail[] = dailyDispatch.dailyDispatchDetails
|
|
19
19
|
|
|
20
20
|
foundDailyDispatchDetails = foundDailyDispatchDetails.map(record => {
|
|
21
|
-
const matchedDispatchDetail: any = dailyDispatchDetails.
|
|
21
|
+
const matchedDispatchDetail: any = dailyDispatchDetails.find(
|
|
22
22
|
dispatchDetail => dispatchDetail.name === record.name
|
|
23
|
-
)
|
|
23
|
+
)
|
|
24
24
|
|
|
25
25
|
return {
|
|
26
26
|
...record,
|
|
@@ -137,7 +137,7 @@ export async function addPlantationInventory(
|
|
|
137
137
|
existingFieldBunch,
|
|
138
138
|
newDailyHarvest.id,
|
|
139
139
|
newDailyHarvest.name,
|
|
140
|
-
TRANSACTION_TYPE.
|
|
140
|
+
TRANSACTION_TYPE.LOADING,
|
|
141
141
|
newDailyHarvest.harvestDate,
|
|
142
142
|
-newDailyHarvest.collectedBunch,
|
|
143
143
|
0,
|
|
@@ -181,7 +181,7 @@ export async function addPlantationInventory(
|
|
|
181
181
|
plantationInventory,
|
|
182
182
|
newDailyHarvest.id,
|
|
183
183
|
newDailyHarvest.name,
|
|
184
|
-
TRANSACTION_TYPE.
|
|
184
|
+
TRANSACTION_TYPE.LOADING,
|
|
185
185
|
newDailyHarvest.harvestDate,
|
|
186
186
|
-newDailyHarvest.collectedBunch,
|
|
187
187
|
0,
|
|
@@ -3,8 +3,9 @@ import { EntityManager, getRepository, Repository } from 'typeorm'
|
|
|
3
3
|
import { User } from '@things-factory/auth-base'
|
|
4
4
|
import { Domain } from '@things-factory/shell'
|
|
5
5
|
|
|
6
|
+
import { INVENTORY_TYPE, TRANSACTION_TYPE } from '../../../constants'
|
|
6
7
|
import { Block, DailyLoading, DailyLoadingDetail, PlantationInventory, Ramp, Truck } from '../../../entities'
|
|
7
|
-
import { NoGenerator } from '../../../utils'
|
|
8
|
+
import { generateTransactionHistory, NoGenerator } from '../../../utils'
|
|
8
9
|
|
|
9
10
|
export const updateDailyLoading = {
|
|
10
11
|
async updateDailyLoading(_: any, { name, dailyLoadingPatch }, context: any) {
|
|
@@ -68,15 +69,21 @@ export async function updateDailyLoadingDetail(
|
|
|
68
69
|
|
|
69
70
|
if (existingDailyLoadingDetails?.length > 0) {
|
|
70
71
|
updatedDailyLoadingDetails = await Promise.all(
|
|
71
|
-
dailyLoadingDetails.map(async (
|
|
72
|
-
const foundDailyLoadingDetailPatch = dailyLoadingDetailPatches.find(
|
|
72
|
+
dailyLoadingDetails.map(async (existingRecord: DailyLoadingDetail) => {
|
|
73
|
+
const foundDailyLoadingDetailPatch = dailyLoadingDetailPatches.find(
|
|
74
|
+
detail => detail.name === existingRecord.name
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
if (foundDailyLoadingDetailPatch.totalBunchWeight !== existingRecord.totalBunchWeight) {
|
|
78
|
+
await updatePlantationInventory(domain, dailyLoading, foundDailyLoadingDetailPatch, existingRecord, user, tx)
|
|
79
|
+
}
|
|
73
80
|
|
|
74
81
|
return {
|
|
75
|
-
...
|
|
82
|
+
...existingRecord,
|
|
76
83
|
dailyLoading,
|
|
77
|
-
truck: await truckRepo.findOne({ id:
|
|
78
|
-
block: await blockRepo.findOne({ id:
|
|
79
|
-
ramp: await rampRepo.findOne({ id:
|
|
84
|
+
truck: await truckRepo.findOne({ id: existingRecord.truck.id }),
|
|
85
|
+
block: await blockRepo.findOne({ id: existingRecord.block.id }),
|
|
86
|
+
ramp: await rampRepo.findOne({ id: existingRecord.ramp.id }),
|
|
80
87
|
totalBunchLoaded: foundDailyLoadingDetailPatch?.totalBunchLoaded || 0,
|
|
81
88
|
totalBunchWeight: foundDailyLoadingDetailPatch?.totalBunchWeight || 0,
|
|
82
89
|
remark: foundDailyLoadingDetailPatch?.remark || null,
|
|
@@ -85,8 +92,6 @@ export async function updateDailyLoadingDetail(
|
|
|
85
92
|
})
|
|
86
93
|
)
|
|
87
94
|
updatedDailyLoadingDetails = await dailyLoadingDetailRepo.save(updatedDailyLoadingDetails)
|
|
88
|
-
|
|
89
|
-
// await updatePlantationInventory(domain, dailyLoading, updatedDailyLoadingDetails, user, tx)
|
|
90
95
|
}
|
|
91
96
|
|
|
92
97
|
if (newDailyLoadingDetail?.length > 0) {
|
|
@@ -113,12 +118,35 @@ export async function updateDailyLoadingDetail(
|
|
|
113
118
|
export async function updatePlantationInventory(
|
|
114
119
|
domain: Domain,
|
|
115
120
|
dailyLoading: DailyLoading,
|
|
116
|
-
|
|
121
|
+
foundDailyLoadingDetailPatch: any,
|
|
122
|
+
existingRecord: DailyLoadingDetail,
|
|
117
123
|
user: User,
|
|
118
124
|
tx?: EntityManager
|
|
119
125
|
): Promise<void> {
|
|
120
126
|
const plantationInvRepo: Repository<PlantationInventory> =
|
|
121
127
|
tx?.getRepository(PlantationInventory) || getRepository(PlantationInventory)
|
|
122
128
|
|
|
123
|
-
|
|
129
|
+
let existingRampTonnage: PlantationInventory = await plantationInvRepo.findOne({
|
|
130
|
+
where: { domain, type: INVENTORY_TYPE.RAMP_TONNAGE, ramp: existingRecord.ramp },
|
|
131
|
+
relations: ['domain', 'block', 'ramp']
|
|
132
|
+
})
|
|
133
|
+
|
|
134
|
+
if (existingRampTonnage) {
|
|
135
|
+
const tonnageChanges: number = foundDailyLoadingDetailPatch.totalBunchWeight - existingRecord.totalBunchWeight
|
|
136
|
+
existingRampTonnage.totalTonnage = existingRampTonnage.totalTonnage + tonnageChanges
|
|
137
|
+
existingRampTonnage.updater = user
|
|
138
|
+
await plantationInvRepo.save(existingRampTonnage)
|
|
139
|
+
|
|
140
|
+
await generateTransactionHistory(
|
|
141
|
+
existingRampTonnage,
|
|
142
|
+
dailyLoading.id,
|
|
143
|
+
dailyLoading.name,
|
|
144
|
+
TRANSACTION_TYPE.LOADING_ADJUSTMENT,
|
|
145
|
+
dailyLoading.loadingDate,
|
|
146
|
+
0,
|
|
147
|
+
tonnageChanges,
|
|
148
|
+
user,
|
|
149
|
+
tx
|
|
150
|
+
)
|
|
151
|
+
}
|
|
124
152
|
}
|