shareneus 1.0.5

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 (125) hide show
  1. package/dist/aggregation/aggregation.js +60 -0
  2. package/dist/enums/cache-enums.js +37 -0
  3. package/dist/enums/code-enums.js +288 -0
  4. package/dist/enums/enums.js +362 -0
  5. package/dist/enums/industry-enums.js +24 -0
  6. package/dist/excel-files/GSTR-RO-excel.service.js +935 -0
  7. package/dist/excel-files/GSTR1-excel.service.js +295 -0
  8. package/dist/excel-files/GSTR2-excel.service.js +295 -0
  9. package/dist/excel-files/analysis-excel.service.js +297 -0
  10. package/dist/excel-files/category-wise-item-excel.service.js +274 -0
  11. package/dist/excel-files/cust-balance-excel.service.js +287 -0
  12. package/dist/excel-files/cust-wise-sales-details.js +320 -0
  13. package/dist/excel-files/cust-wise-sales-summary-excel.service.js +302 -0
  14. package/dist/excel-files/expiring-drugs-excel.service.js +292 -0
  15. package/dist/excel-files/insurance-expire-excel.service.js +301 -0
  16. package/dist/excel-files/invoice-wise-excel.service.js +857 -0
  17. package/dist/excel-files/item-wise-doctor-sale-excel.service.js +258 -0
  18. package/dist/excel-files/item-wise-mout-details.js +292 -0
  19. package/dist/excel-files/item-wise-mout-summary.js +286 -0
  20. package/dist/excel-files/items-wise-sales-excel.service.js +314 -0
  21. package/dist/excel-files/manf-wise-sales-excel.service.js +276 -0
  22. package/dist/excel-files/operator-wise-details.js +265 -0
  23. package/dist/excel-files/operator-wise-summary.js +266 -0
  24. package/dist/excel-files/payment-receive-excel.service.js +225 -0
  25. package/dist/excel-files/payments-made-excel.service.js +302 -0
  26. package/dist/excel-files/repair-orders-excel.service.js +255 -0
  27. package/dist/excel-files/sa-wise-labor-sales-excel.service.js +232 -0
  28. package/dist/excel-files/sa-wise-part-sales-excel.service.js +232 -0
  29. package/dist/excel-files/sale-summary-excel.service.js +326 -0
  30. package/dist/excel-files/sales-by-service-details-excel.service.js +1 -0
  31. package/dist/excel-files/sales-by-service-summary-excel.service.js +422 -0
  32. package/dist/excel-files/scheduled-drug-summary-excel.service.js +367 -0
  33. package/dist/excel-files/scheduled-drugs-excel.service.js +366 -0
  34. package/dist/excel-files/spares-issue-excel.service.js +492 -0
  35. package/dist/excel-files/stock-excel.service.js +283 -0
  36. package/dist/excel-files/tally-sales-import.service.js +765 -0
  37. package/dist/excel-files/ven-balance-excel.service.js +293 -0
  38. package/dist/index.js +237 -0
  39. package/dist/services/analysis-pdf.service.js +105 -0
  40. package/dist/services/appointment-total.service.js +253 -0
  41. package/dist/services/auto-sales-receipt-pdf.service.js +539 -0
  42. package/dist/services/category-wise-item-pdf.service.js +98 -0
  43. package/dist/services/checklist-pdf.js +140 -0
  44. package/dist/services/checklists-pdf.js +124 -0
  45. package/dist/services/cn-print.service.js +211 -0
  46. package/dist/services/consultation-fee-receipt.service.js +378 -0
  47. package/dist/services/consultation-full-pdf.service.js +220 -0
  48. package/dist/services/consultation-pdf.service.js +360 -0
  49. package/dist/services/credit-note-pdf.service.js +578 -0
  50. package/dist/services/credit-note-totals.service.js +328 -0
  51. package/dist/services/cust-wise-sales-details-pdf.service.js +118 -0
  52. package/dist/services/cust-wise-sales-summary-pdf.service.js +111 -0
  53. package/dist/services/customer-balances-pdf.service.js +169 -0
  54. package/dist/services/dc-landscape-pdf.service.js +903 -0
  55. package/dist/services/dc-landscape-without-price-pdf.service.js +853 -0
  56. package/dist/services/dc-without-price-pdf.service.js +489 -0
  57. package/dist/services/debit-note-pdf.service.js +673 -0
  58. package/dist/services/debit-note-print.service.js +234 -0
  59. package/dist/services/debit-note-totals.service.js +293 -0
  60. package/dist/services/delivery-challan-pdf.service.js +434 -0
  61. package/dist/services/delivery-challan-print.service.js +177 -0
  62. package/dist/services/delivery-challan-totals.js +339 -0
  63. package/dist/services/equipment-design-pdf.service.js +144 -0
  64. package/dist/services/est.print-service.js +1053 -0
  65. package/dist/services/expiring-drugs-pdf.service.js +156 -0
  66. package/dist/services/hc-inv-pdf.service.js +837 -0
  67. package/dist/services/insurance-expire-pdf.service.js +99 -0
  68. package/dist/services/inv-pdf.service.js +785 -0
  69. package/dist/services/inv-print.service.js +415 -0
  70. package/dist/services/invoice-landscape-pdf.service.js +909 -0
  71. package/dist/services/invoice-total.service.js +659 -0
  72. package/dist/services/issue-parts-pdf.service.js +763 -0
  73. package/dist/services/item-detais-pdf.js +136 -0
  74. package/dist/services/item-wise-doctor-sale-pdf.service.js +164 -0
  75. package/dist/services/item-wise-mout-details-pdf.js +107 -0
  76. package/dist/services/item-wise-mout-summary-pdf.js +99 -0
  77. package/dist/services/item-wise-sales-pdf.service.js +178 -0
  78. package/dist/services/manf-wise-sales-pdf.service.js +173 -0
  79. package/dist/services/meeting-pdf.js +369 -0
  80. package/dist/services/mout-pdf.service.js +503 -0
  81. package/dist/services/operator-wise-details-pdf.service.js +103 -0
  82. package/dist/services/operator-wise-summary-pdf.js +101 -0
  83. package/dist/services/pack-ship-pdf.service.js +105 -0
  84. package/dist/services/pack-ship-print.service.js +167 -0
  85. package/dist/services/payment-pdf.service.js +373 -0
  86. package/dist/services/payment-report-pdf.service.js +106 -0
  87. package/dist/services/po-totals.service.js +279 -0
  88. package/dist/services/pos-receipt-pdf.js +438 -0
  89. package/dist/services/purchase-order-pdf.service.js +924 -0
  90. package/dist/services/purchase-order-print.service.js +150 -0
  91. package/dist/services/purchase-order-totals.service.js +280 -0
  92. package/dist/services/receipt-print.service.js +50 -0
  93. package/dist/services/reorder-point-pdf.service.js +151 -0
  94. package/dist/services/repair-orders-pdf.service.js +172 -0
  95. package/dist/services/ro-pdf.service.js +1764 -0
  96. package/dist/services/ro-print-service.js +737 -0
  97. package/dist/services/ro-totals.service.js +1241 -0
  98. package/dist/services/sales-by-service-pdf.service.js +116 -0
  99. package/dist/services/sales-pdf.service.js +630 -0
  100. package/dist/services/sales-print.service.js +305 -0
  101. package/dist/services/sales-receipt-pdf.service.js +611 -0
  102. package/dist/services/sales-receipt-print.service.js +425 -0
  103. package/dist/services/sales-totals.service.js +339 -0
  104. package/dist/services/scheduled-drug-pdf.service.js +176 -0
  105. package/dist/services/scheduled-drug-summary-pdf.service.js +188 -0
  106. package/dist/services/separate-wo-print.service.js +351 -0
  107. package/dist/services/shared-inv-pdf.service.js +763 -0
  108. package/dist/services/shared-pdf.service.js +2569 -0
  109. package/dist/services/shared-print.service.js +885 -0
  110. package/dist/services/task-pdf.service.js +220 -0
  111. package/dist/services/task-reports-pdf.service.js +296 -0
  112. package/dist/services/technician-pdf.service.js +238 -0
  113. package/dist/services/technician-print.service.js +87 -0
  114. package/dist/services/transfer-order-pdf.service.js +139 -0
  115. package/dist/services/vendor-balances-pdf.service.js +101 -0
  116. package/dist/services/vendor-credit-note-pdf.service.js +1007 -0
  117. package/dist/services/vendor-credit-note-print.service.js +104 -0
  118. package/dist/services/vendor-credit-note-totals.service.js +327 -0
  119. package/dist/services/vendor-debit-note-pdf.service.js +561 -0
  120. package/dist/services/vendor-debit-note-print.service.js +245 -0
  121. package/dist/services/vendor-debit-note-totals.service.js +305 -0
  122. package/dist/utils/my-date.js +652 -0
  123. package/dist/utils/tr-utils.js +354 -0
  124. package/package.json +24 -0
  125. package/tsconfig.json +109 -0
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CheckListPrintService = void 0;
4
+ const tr_utils_1 = require("../utils/tr-utils");
5
+ const shared_pdf_service_1 = require("./shared-pdf.service");
6
+ const shared_print_service_1 = require("./shared-print.service");
7
+ class CheckListPrintService {
8
+ static CheckListPrint(CheckListData, win) {
9
+ let dd = {
10
+ info: {
11
+ title: 'CheckList',
12
+ },
13
+ background: function (currentPage, pageSize) {
14
+ return shared_pdf_service_1.SharedPDFService.GetWatermarkImage(CheckListData.Image, pageSize, CheckListData.Entity.Wmark);
15
+ },
16
+ header: function (currentPage, pageCount) {
17
+ return { text: currentPage.toString() + ' of ' + pageCount, alignment: 'right', marginRight: 7, fontSize: 8, marginTop: 2 };
18
+ },
19
+ pageMargins: [10, 15, 10, 15],
20
+ content: [
21
+ // SharedPDFService.MainHeading(CheckListData.Entity.CName, CheckListData.Entity.Header, CheckListData.Image, CheckListData.HColor, null),
22
+ shared_pdf_service_1.SharedPDFService.GetMainHeader(CheckListData.Entity, CheckListData.Image, CheckListData.AColor, CheckListData.HColor, null),
23
+ shared_pdf_service_1.SharedPDFService.GetPrintType('INSPECTION'),
24
+ shared_pdf_service_1.SharedPDFService.HeaderAfterLine(),
25
+ this.RODetails(CheckListData),
26
+ this.CheckListTable(CheckListData.Sections)
27
+ ],
28
+ styles: shared_pdf_service_1.SharedPDFService.GetStyles()
29
+ };
30
+ this.PrintFile = tr_utils_1.TrUtils.Stringify(dd);
31
+ pdfMake.createPdf(dd).getDataUrl((DataURL) => {
32
+ document.getElementById('pdf').setAttribute('src', DataURL);
33
+ });
34
+ }
35
+ static RODetails(CheckListData) {
36
+ return {
37
+ marginTop: 5,
38
+ columns: [
39
+ { stack: [shared_pdf_service_1.SharedPDFService.GetCustomerDetails(CheckListData.Customer, null, null, null, 'Customer Name & Address')], width: 250 }, { text: '', width: 40 }, { stack: [this.VehicleDetails(CheckListData)], width: 250 },
40
+ ]
41
+ };
42
+ }
43
+ static VehicleDetails(CheckListData) {
44
+ let id;
45
+ let vehicleData;
46
+ vehicleData = [
47
+ { name: 'RO#', value: this.CheckAndSetString(CheckListData.ROId) }
48
+ ];
49
+ vehicleData.push({ name: 'Regn. No', value: this.CheckAndSetString(CheckListData.RegNo) });
50
+ let a = [
51
+ { name: 'Vehicle', value: this.CheckAndSetString(CheckListData.Vehicle.Make) + ' ' + this.CheckAndSetString(CheckListData.Vehicle.Model) + ' ' + this.CheckAndSetString(CheckListData.Vehicle.Var) },
52
+ { name: 'Service Advisor Name', value: this.CheckAndSetString(CheckListData.SAName) }
53
+ ];
54
+ for (let i = 0; i < a.length; i++) {
55
+ vehicleData.push(a[i]);
56
+ }
57
+ return shared_pdf_service_1.SharedPDFService.GetVehicleDataTable(vehicleData);
58
+ }
59
+ static CheckAndSetString(Value) {
60
+ if (tr_utils_1.TrUtils.IsNull(Value)) {
61
+ Value = '';
62
+ }
63
+ return Value;
64
+ }
65
+ static CheckListTable(CheckList) {
66
+ return {
67
+ columns: [
68
+ this.SectionItemsTable(CheckList)
69
+ ]
70
+ };
71
+ }
72
+ static SectionItemsTable(sections) {
73
+ return {
74
+ style: 'tableExample',
75
+ marginTop: 10,
76
+ table: {
77
+ widths: [95, 15, 180, 40, 40, 40, 100],
78
+ // headerRows: 2,
79
+ body: this.ItemsTable(sections)
80
+ },
81
+ layout: shared_print_service_1.PrintSharedService.LayOutStyle()
82
+ };
83
+ }
84
+ static ItemsTable(sections) {
85
+ let body = [];
86
+ let column = this.sectionname();
87
+ body.push(column);
88
+ sections.forEach((section) => {
89
+ section.Items.forEach((item, index) => {
90
+ let dataRow = [];
91
+ if (index === 0) {
92
+ dataRow.push({ text: section.Name.toString(), noWrap: true, rowSpan: section.Items.length, alignment: "center", height: 60 });
93
+ }
94
+ else {
95
+ dataRow.push({});
96
+ }
97
+ dataRow.push({ text: item.SNo.toString(), noWrap: true, alignment: 'center' });
98
+ dataRow.push({ text: item.Desc.toString() });
99
+ let TickImage = {
100
+ image: 'data:image/jpeg;base64,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',
101
+ width: 20,
102
+ alignment: 'center'
103
+ };
104
+ if (item.Action === 'G') {
105
+ dataRow.push(TickImage);
106
+ }
107
+ else {
108
+ dataRow.push({ text: '', noWrap: true });
109
+ }
110
+ if (item.Action === 'O') {
111
+ dataRow.push(TickImage);
112
+ }
113
+ else {
114
+ dataRow.push({ text: '', noWrap: true });
115
+ }
116
+ if (item.Action === 'R') {
117
+ dataRow.push(TickImage);
118
+ }
119
+ else {
120
+ dataRow.push({ text: '', noWrap: true });
121
+ }
122
+ dataRow.push({ text: '', noWrap: true });
123
+ body.push(dataRow);
124
+ });
125
+ });
126
+ return body;
127
+ }
128
+ static sectionname() {
129
+ let headersNames = [{ text: 'Section', style: 'tableheader' },
130
+ { text: 'Sno', style: 'tableheader' },
131
+ { text: 'CHECK ITEMS', style: 'tableheader' },
132
+ { text: 'Good', style: 'tableheader' },
133
+ { text: 'Average', style: 'tableheader' },
134
+ { text: 'Bad', style: 'tableheader' },
135
+ { text: 'Remarks', style: 'tableheader' }];
136
+ // let HeaderName = [{ text: 'Section', colSpan: 5, color: 'white', fillColor: 'black',fontSize:10 }, {}, {}, {}, {}]
137
+ return headersNames;
138
+ }
139
+ }
140
+ exports.CheckListPrintService = CheckListPrintService;
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChecklistsPDFService = void 0;
4
+ const shared_pdf_service_1 = require("./shared-pdf.service");
5
+ class ChecklistsPDFService {
6
+ static GetCheckListPrintData(CheckListData, win) {
7
+ setTimeout(() => {
8
+ let dd = {
9
+ info: {
10
+ title: 'CheckList',
11
+ },
12
+ background: function (currentPage, pageSize) {
13
+ return shared_pdf_service_1.SharedPDFService.GetWatermarkImage(CheckListData.Image, pageSize, CheckListData.Entity.Wmark);
14
+ },
15
+ header: function (currentPage, pageCount) {
16
+ return { text: currentPage.toString() + ' of ' + pageCount, alignment: 'right', marginRight: 7, fontSize: 8, marginTop: 2 };
17
+ },
18
+ pageMargins: [10, 15, 10, 15],
19
+ // alignment: 'center',
20
+ content: [
21
+ // SharedPDFService.MainHeading(CheckListData.Entity.CName, CheckListData.Entity.Header, CheckListData.Image, CheckListData.HColor, null),
22
+ shared_pdf_service_1.SharedPDFService.GetMainHeader(CheckListData.Entity, CheckListData.Image, CheckListData.AColor, CheckListData.HColor, null),
23
+ shared_pdf_service_1.SharedPDFService.GetPrintType(CheckListData.Name),
24
+ shared_pdf_service_1.SharedPDFService.HeaderAfterLine(),
25
+ this.PrepareTableForCheckList(CheckListData),
26
+ ],
27
+ styles: shared_pdf_service_1.SharedPDFService.GetStyles()
28
+ };
29
+ pdfMake.createPdf(dd).open();
30
+ }, 400);
31
+ }
32
+ static PrepareTableForCheckList(CheckListData) {
33
+ var tables = [];
34
+ let SectionsList = this.GetItemsForSections(CheckListData.Sections, CheckListData.Items);
35
+ // let SectionsList: any = this.GetSectionListWithSNo(Sections);
36
+ let SNo = 1;
37
+ SectionsList.forEach((section) => {
38
+ section.Items.forEach((Item) => {
39
+ Item.SNo = SNo;
40
+ SNo += 1;
41
+ });
42
+ });
43
+ SectionsList.forEach((section, index) => {
44
+ var item = {
45
+ style: 'tableExamplemargin',
46
+ headerRows: 2,
47
+ widths: [370, 40, 40, 40],
48
+ table: {
49
+ widths: [370, 40, 40, 40],
50
+ body: this.CreateTableForSection(section, index)
51
+ },
52
+ layout: this.getlayoutStyles()
53
+ };
54
+ tables.push(item);
55
+ });
56
+ return tables;
57
+ }
58
+ static GetSectionListWithSNo(SectionsList) {
59
+ let SNo = 1;
60
+ SectionsList.forEach((section) => {
61
+ section.Items.forEach((Item) => {
62
+ Item.SNo = SNo;
63
+ SNo += 1;
64
+ });
65
+ });
66
+ }
67
+ static getlayoutStyles() {
68
+ return {
69
+ hLineColor: function (i, node) {
70
+ return ((i == 0 || i === 1) || i === node.table.body.length) ? 'grey' : 'white';
71
+ },
72
+ vLineColor: function (i, node) {
73
+ return (i == 0 || i === node.table.widths.length) ? 'grey' : 'white';
74
+ }
75
+ };
76
+ }
77
+ static CreateTableForSection(SectionData, index) {
78
+ var body = [];
79
+ var datarow = [];
80
+ datarow.push({ text: index + 1 + '.' + ' ' + SectionData.Name, margin: [0, 1, 0, 0], style: 'tableheader', colSpan: 4, alignment: 'start', bold: true, fillColor: 'grey', color: 'white' }, {}, {}, {});
81
+ body.push(datarow);
82
+ if (SectionData.Items.length != 0) {
83
+ let column = this.GetItemHeaders();
84
+ body.push(column);
85
+ SectionData.Items.forEach((Item) => {
86
+ body.push([{ text: Item.SNo + '.' + ' ' + Item.Desc, lineHeight: 1, margin: [0, 0, 0, 2] },
87
+ {
88
+ image: 'data:image/png;base64,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',
89
+ width: 15,
90
+ alignment: 'center'
91
+ },
92
+ {
93
+ image: 'data:image/png;base64,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',
94
+ width: 15,
95
+ alignment: 'center'
96
+ },
97
+ {
98
+ image: 'data:image/png;base64,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',
99
+ width: 15,
100
+ alignment: 'center'
101
+ }]);
102
+ });
103
+ }
104
+ return body;
105
+ }
106
+ static GetItemsForSections(SectionsList, ItemsList) {
107
+ SectionsList.forEach((Section) => {
108
+ Section.Items = ItemsList.filter((Item) => {
109
+ return Item.SecId === Section._id;
110
+ });
111
+ });
112
+ return SectionsList;
113
+ }
114
+ static GetItemHeaders() {
115
+ let headersNames = [
116
+ { text: ' ', style: 'tableHeader', Field: 'Desc' },
117
+ { text: 'Passed', style: 'tableHeader', Field: 'check', alignment: 'center' },
118
+ { text: 'Repaired', style: 'tableHeader', Field: 'check', alignment: 'center' },
119
+ { text: 'Replaced', style: 'tableHeader', Field: 'check', alignment: 'center' },
120
+ ];
121
+ return headersNames;
122
+ }
123
+ }
124
+ exports.ChecklistsPDFService = ChecklistsPDFService;
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CNPrintService = void 0;
4
+ const shared_print_service_1 = require("./shared-print.service");
5
+ const credit_note_totals_service_1 = require("./credit-note-totals.service");
6
+ const tr_utils_1 = require("../utils/tr-utils");
7
+ const code_enums_1 = require("../enums/code-enums");
8
+ const enums_1 = require("../enums/enums");
9
+ const my_date_1 = require("../utils/my-date");
10
+ const aggregation_1 = require("../aggregation/aggregation");
11
+ class CNPrintService {
12
+ static GetCreditNotePrintInfo(OriginalInvoiceData, OriginalEntityData, image, IncludeGST, ConsolidateGST, TaxCodes, IsProforma) {
13
+ var _a, _b;
14
+ let ForInsurance = !tr_utils_1.TrUtils.IsNull(OriginalInvoiceData.BillTo.InsId);
15
+ let InvoicePrintData = {};
16
+ let argInvoiceData = tr_utils_1.TrUtils.Stringify(OriginalInvoiceData);
17
+ if (!IncludeGST) {
18
+ argInvoiceData.Settings.Tax = 'NO';
19
+ }
20
+ InvoicePrintData.IsProforma = IsProforma;
21
+ InvoicePrintData.Settings = tr_utils_1.TrUtils.Stringify(argInvoiceData.Settings);
22
+ let SType;
23
+ if (!tr_utils_1.TrUtils.IsNull(argInvoiceData.Settings) && !tr_utils_1.TrUtils.IsNull(argInvoiceData.Settings.PoS)) {
24
+ SType = argInvoiceData.Settings.PoS.SType;
25
+ }
26
+ InvoicePrintData = this.GetPrintConditionsBasedOnInput(InvoicePrintData, IncludeGST, ConsolidateGST, ForInsurance, SType, argInvoiceData, IsProforma);
27
+ InvoicePrintData.Entity = shared_print_service_1.PrintSharedService.GetFormattedEntityDataForPrint(OriginalEntityData, "Invoice", OriginalInvoiceData);
28
+ InvoicePrintData = shared_print_service_1.PrintSharedService.GetEntityHeaderStyles(InvoicePrintData, OriginalEntityData, image);
29
+ InvoicePrintData = this.GetInvoiceOtherDetailsForPrint(InvoicePrintData, argInvoiceData);
30
+ let IsTaxable = (IncludeGST && tr_utils_1.TrUtils.isTaxable(argInvoiceData.Settings.Tax)) ? true : false;
31
+ let finalTotalsData = credit_note_totals_service_1.CreditNoteTotalsService.GetTotalsValue([], argInvoiceData.Items, IsTaxable, true, argInvoiceData.Disc, argInvoiceData.Perc, TaxCodes, true, argInvoiceData.Settings);
32
+ if (ConsolidateGST) {
33
+ finalTotalsData.CustLaborTotalBeforeDisc = finalTotalsData.CustLaborAfterTax;
34
+ finalTotalsData.CustPartsTotalBeforeDisc = finalTotalsData.CustPartAfterTax;
35
+ }
36
+ InvoicePrintData = tr_utils_1.TrUtils.ConcatObjects(InvoicePrintData, finalTotalsData);
37
+ InvoicePrintData.Items = this.GetItemsPrintInfo(InvoicePrintData.Items, ConsolidateGST, TaxCodes, (_b = (_a = OriginalEntityData.Entity.Settings) === null || _a === void 0 ? void 0 : _a.Acc) === null || _b === void 0 ? void 0 : _b.LTot);
38
+ argInvoiceData = this.ReverseItemsForInvoicePrint(argInvoiceData);
39
+ InvoicePrintData.PrintInfo = this.PrepareFormatForInvoicePrint(InvoicePrintData, code_enums_1.ROTypeEnum.Invoice, argInvoiceData.Sts);
40
+ InvoicePrintData = this.GetFormattedProductDataForPrint(argInvoiceData, InvoicePrintData);
41
+ InvoicePrintData = this.GetBillNameForInvoicePrint(argInvoiceData, InvoicePrintData);
42
+ InvoicePrintData.Consolidate = ConsolidateGST;
43
+ return InvoicePrintData;
44
+ }
45
+ static GetPrintConditionsBasedOnInput(InvoicePrintData, IncludeGST, ConsolidateGST, ForInsurance, SType, OriginalInvoiceData, IsProforma) {
46
+ InvoicePrintData.ForInsurance = ForInsurance;
47
+ InvoicePrintData.For = ForInsurance ? enums_1.PayTypeEnum.Insurance : enums_1.PayTypeEnum.Customer;
48
+ InvoicePrintData.IncludeGST = IncludeGST;
49
+ InvoicePrintData.ConsolidateGST = ConsolidateGST;
50
+ InvoicePrintData.ShowAccParts = false;
51
+ InvoicePrintData.ShowIGST = (tr_utils_1.TrUtils.IsNull(SType) || (SType === 'Intra')) ? false : true;
52
+ InvoicePrintData.ShowTaxColumn = (IncludeGST && !ConsolidateGST) ? true : false;
53
+ // InvoicePrintData.ShowDiscountColumn = (!ForInsurance && !ConsolidateGST) ? true : false;
54
+ InvoicePrintData = this.GetInvoiceTypeHeading(InvoicePrintData, OriginalInvoiceData, IncludeGST, ConsolidateGST, IsProforma);
55
+ InvoicePrintData.PrDate = tr_utils_1.TrUtils.IsNull(OriginalInvoiceData.PrDate) ? '' : my_date_1.MyDate.ConvertUTCDateToReadable(OriginalInvoiceData.PrDate);
56
+ return InvoicePrintData;
57
+ }
58
+ static GetInvoiceTypeHeading(InvoicePrintData, OriginalInvoiceData, IncludeGST, ConsolidateGST, IsProforma) {
59
+ InvoicePrintData.HeaderName = 'Credit Notes';
60
+ return InvoicePrintData;
61
+ }
62
+ static GetInvoiceOtherDetailsForPrint(InvoicePrintData, OriginalInvoiceData) {
63
+ InvoicePrintData.Type = 'Credit Notes';
64
+ InvoicePrintData._id = OriginalInvoiceData.Code;
65
+ InvoicePrintData.Sts = OriginalInvoiceData.Sts;
66
+ InvoicePrintData.CrDate = my_date_1.MyDate.ConvertUTCDateToReadable(OriginalInvoiceData.CrDate);
67
+ return InvoicePrintData;
68
+ }
69
+ static GetItemsPrintInfo(Items, Consolidate, TaxCodes, LineTotal) {
70
+ Items.forEach((Item) => {
71
+ if (Consolidate) {
72
+ let AfterDiscForEach = (0, aggregation_1.division)(Item.AfterPartDisc, Item.Qty);
73
+ let CTaxAmtPerItem = (0, aggregation_1.division)(Item.CGST, Item.Qty);
74
+ let STaxAmtPerItem = (0, aggregation_1.division)(Item.SGST, Item.Qty);
75
+ let ITaxAmtPerItem = (0, aggregation_1.division)(Item.IGST, Item.Qty);
76
+ Item.UnPr = tr_utils_1.TrUtils.FixedTo((0, aggregation_1.addition)(AfterDiscForEach, CTaxAmtPerItem, STaxAmtPerItem, ITaxAmtPerItem));
77
+ }
78
+ else {
79
+ Item.UnPr = tr_utils_1.TrUtils.FixPriceValue(Item.UnPr);
80
+ }
81
+ Item.CGSTAmt = tr_utils_1.TrUtils.FixPriceValue(Item.CGST);
82
+ Item.SGSTAmt = tr_utils_1.TrUtils.FixPriceValue(Item.SGST);
83
+ Item.IGSTAmt = tr_utils_1.TrUtils.FixPriceValue(Item.IGST);
84
+ Item.CGSTPerc = shared_print_service_1.PrintSharedService.GetCGSTValueBasedOnTaxCode(Item.TCode, TaxCodes);
85
+ Item.SGSTPerc = shared_print_service_1.PrintSharedService.GetSGSTValueBasedOnTaxCode(Item.TCode, TaxCodes);
86
+ Item.IGSTPerc = shared_print_service_1.PrintSharedService.GetIGSTValueBasedOnTaxCode(Item.TCode, TaxCodes);
87
+ if (LineTotal === 'AT') {
88
+ Item.LineTotal = tr_utils_1.TrUtils.FixPriceValue(Item.AfterPartTax);
89
+ }
90
+ else {
91
+ Item.LineTotal = tr_utils_1.TrUtils.FixPriceValue((0, aggregation_1.subtraction)(Item.UnAmt, Item.Disc));
92
+ }
93
+ if (!tr_utils_1.TrUtils.IsZero(Item.Qty) && !tr_utils_1.TrUtils.CheckInvalidSelect(Item.UoM)) {
94
+ Item.QtyAndUoM = Item.Qty + ' ' + Item.UoM;
95
+ }
96
+ });
97
+ return Items;
98
+ }
99
+ static ReverseItemsForInvoicePrint(argInvoiceData) {
100
+ // argInvoiceData.Ops = argInvoiceData.Ops.reverse();
101
+ argInvoiceData.Items = argInvoiceData.Items.reverse();
102
+ return argInvoiceData;
103
+ }
104
+ static PrepareFormatForInvoicePrint(InvoicePrintData, ROType, InvoiceStatus) {
105
+ let PrintInfo = [];
106
+ let ROLaborParts = {};
107
+ // ROLaborParts.Ops = InvoicePrintData.Ops;
108
+ ROLaborParts.Items = InvoicePrintData.Items;
109
+ ROLaborParts.Sts = InvoiceStatus;
110
+ ROLaborParts.Type = ROType;
111
+ PrintInfo.push(ROLaborParts);
112
+ return PrintInfo;
113
+ }
114
+ static GetFormattedProductDataForPrint(OriginalInvoiceData, InvoicePrintData) {
115
+ if (!tr_utils_1.TrUtils.IsNull(OriginalInvoiceData.Prod)) {
116
+ InvoicePrintData.Product = OriginalInvoiceData.Prod;
117
+ if (tr_utils_1.TrUtils.IsNull(InvoicePrintData.Product.VIN)) {
118
+ InvoicePrintData.Product.VIN = '';
119
+ }
120
+ if (tr_utils_1.TrUtils.IsNull(InvoicePrintData.Product.RegNo)) {
121
+ InvoicePrintData.Product.RegNo = '';
122
+ }
123
+ if (tr_utils_1.TrUtils.IsNull(InvoicePrintData.Product.EngNo)) {
124
+ InvoicePrintData.Product.EngNo = '';
125
+ }
126
+ InvoicePrintData.MIn = OriginalInvoiceData.Prod.MIn;
127
+ InvoicePrintData.MOut = OriginalInvoiceData.Prod.MOut;
128
+ }
129
+ return InvoicePrintData;
130
+ }
131
+ static GetBillNameForInvoicePrint(OriginalInvoiceData, InvoicePrintData) {
132
+ let Customer = {};
133
+ Customer.Name = OriginalInvoiceData.BillTo.Name;
134
+ Customer.Adrs = [];
135
+ Customer.Cons = [];
136
+ if (!tr_utils_1.TrUtils.IsNull(OriginalInvoiceData.BillTo.Adrs)) {
137
+ Customer.Adrs.push(OriginalInvoiceData.BillTo.Adrs.A1);
138
+ if (!tr_utils_1.TrUtils.IsEmpty(OriginalInvoiceData.BillTo.Adrs.A2)) {
139
+ Customer.Adrs.push(OriginalInvoiceData.BillTo.Adrs.A2);
140
+ }
141
+ if (!tr_utils_1.TrUtils.IsEmpty(OriginalInvoiceData.BillTo.Adrs.Ct)) {
142
+ Customer.Adrs.push(OriginalInvoiceData.BillTo.Adrs.Ct);
143
+ }
144
+ }
145
+ Customer.GSTIN = OriginalInvoiceData.BillTo.GSTIN;
146
+ if (!tr_utils_1.TrUtils.IsEmpty(OriginalInvoiceData.BillTo.Ph)) {
147
+ Customer.Cons = [
148
+ {
149
+ Type: 'M',
150
+ No: OriginalInvoiceData.BillTo.Ph
151
+ }
152
+ ];
153
+ }
154
+ InvoicePrintData.Customer = Customer;
155
+ if (!tr_utils_1.TrUtils.IsNull(OriginalInvoiceData.BillTo.InsId)) {
156
+ InvoicePrintData.Cust = this.GetCustomerDetails(OriginalInvoiceData);
157
+ }
158
+ return InvoicePrintData;
159
+ }
160
+ static GetCustomerDetails(OriginalInvoiceData) {
161
+ let Customer = {};
162
+ Customer.Name = this.GetBillToName(OriginalInvoiceData.Cust.Title, OriginalInvoiceData.Cust.Name);
163
+ Customer.Cons = [];
164
+ if (!tr_utils_1.TrUtils.IsEmpty(OriginalInvoiceData.Cust.Ph)) {
165
+ Customer.Cons = [
166
+ {
167
+ Type: 'M',
168
+ No: OriginalInvoiceData.Cust.Ph
169
+ }
170
+ ];
171
+ }
172
+ Customer.GSTIN = OriginalInvoiceData.Cust.GSTIN;
173
+ Customer.Adrs = [];
174
+ if (!tr_utils_1.TrUtils.IsNull(OriginalInvoiceData.Cust.Adrs)) {
175
+ Customer.Adrs.push(OriginalInvoiceData.Cust.Adrs.A1);
176
+ if (!tr_utils_1.TrUtils.IsEmpty(OriginalInvoiceData.Cust.Adrs.A2)) {
177
+ Customer.Adrs.push(OriginalInvoiceData.Cust.Adrs.A2);
178
+ }
179
+ Customer.Adrs.push(OriginalInvoiceData.Cust.Adrs.Ct);
180
+ }
181
+ Customer.ConName = OriginalInvoiceData.Cust.ConName;
182
+ Customer.ConPh = OriginalInvoiceData.Cust.ConPhone;
183
+ return Customer;
184
+ }
185
+ static GetBillToName(Title, Name) {
186
+ return tr_utils_1.TrUtils.IsEmpty(Title) ? Name : Title + ' ' + Name;
187
+ }
188
+ static GetPaymentsTotal(InvoicePayments, Total, InvoiceStatus) {
189
+ var i = 0;
190
+ let Data = {};
191
+ let PaidTotal = 0;
192
+ for (i = 0; i < InvoicePayments.length; i++) {
193
+ PaidTotal += InvoicePayments[i].Paid;
194
+ }
195
+ if (InvoiceStatus === enums_1.InvoiceStatusEnum.Closed) {
196
+ Data.Due = 0;
197
+ }
198
+ else {
199
+ Data.Due = tr_utils_1.TrUtils.FixedTo(Total - PaidTotal);
200
+ }
201
+ if (Data.Due < 0) {
202
+ Data.Due = 0;
203
+ }
204
+ if (Data.Due === 0) {
205
+ Data.Sts = enums_1.InvoiceStatusEnum.Closed;
206
+ }
207
+ Data.Paid = tr_utils_1.TrUtils.FixedTo(PaidTotal);
208
+ return Data;
209
+ }
210
+ }
211
+ exports.CNPrintService = CNPrintService;