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,630 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SalesPdfService = void 0;
4
+ const shared_pdf_service_1 = require("./shared-pdf.service");
5
+ const shared_print_service_1 = require("./shared-print.service");
6
+ const equipment_design_pdf_service_1 = require("./equipment-design-pdf.service");
7
+ const tr_utils_1 = require("../utils/tr-utils");
8
+ class SalesPdfService {
9
+ static GetSalesPrint(ROPrintData, numberofCopies, isOtherIndustry, Entity, Sites, Items, Image) {
10
+ console.log('ROPrintData', ROPrintData);
11
+ var contents = [];
12
+ if (tr_utils_1.TrUtils.IsNull(numberofCopies) || numberofCopies.length === 0) {
13
+ contents.push(this.CommonHeaderDetails(ROPrintData, null), this.PreparesparePartsTable(ROPrintData), this.CommonTotalDetails(ROPrintData, null, numberofCopies));
14
+ }
15
+ else {
16
+ numberofCopies.forEach((text, index) => {
17
+ contents.push(this.CommonHeaderDetails(ROPrintData, text), this.PreparesparePartsTable(ROPrintData), this.CommonTotalDetails(ROPrintData, index, numberofCopies));
18
+ });
19
+ }
20
+ if (isOtherIndustry && !tr_utils_1.TrUtils.IsNull(Sites) && Sites.length != 0) {
21
+ contents.push({ text: '', pageBreak: 'after' });
22
+ contents.push(equipment_design_pdf_service_1.EquipmentDesignPdf.GetContentData(tr_utils_1.TrUtils.Stringify(Entity), Sites, Items, Image));
23
+ }
24
+ var dd = {
25
+ info: {
26
+ title: this.GetFileName(ROPrintData),
27
+ },
28
+ background: function (currentPage, pageSize) {
29
+ return shared_pdf_service_1.SharedPDFService.GetWatermarkImage(ROPrintData.Image, pageSize, ROPrintData.Entity.Wmark);
30
+ },
31
+ header: function (currentPage, pageCount) {
32
+ return { text: currentPage.toString() + ' of ' + pageCount, alignment: 'right', marginRight: 7, fontSize: 8, marginTop: 2 };
33
+ },
34
+ pageMargins: [10, 15, 10, 15],
35
+ content: contents,
36
+ defaultStyle: {
37
+ fontSize: 10,
38
+ },
39
+ styles: shared_pdf_service_1.SharedPDFService.GetStyles()
40
+ };
41
+ return dd;
42
+ }
43
+ static GetFileName(ROPrintData) {
44
+ let fileName = ROPrintData.HeaderName;
45
+ if (!tr_utils_1.TrUtils.IsNull(ROPrintData.Product) && !tr_utils_1.TrUtils.IsEmpty(ROPrintData.Product.RegNo)) {
46
+ fileName = fileName + '-' + ROPrintData.Product.RegNo;
47
+ }
48
+ return fileName;
49
+ }
50
+ static CommonHeaderDetails(ROPrintData, text) {
51
+ return [
52
+ this.GetMainHeaderDetails(ROPrintData.Entity, ROPrintData.HeaderName, ROPrintData.Image, ROPrintData.HColor, ROPrintData.AColor, text),
53
+ shared_pdf_service_1.SharedPDFService.GetSOCustomerAndOthDetails(ROPrintData._id, ROPrintData.CrDate, ROPrintData.PrDate, ROPrintData.PrintType, ROPrintData.For, ROPrintData.SurName, ROPrintData.SurPhone, ROPrintData.Type, ROPrintData.SurEmail, ROPrintData.ShippmentTo, ROPrintData.PolNo, ROPrintData.PolType, ROPrintData.Customer, ROPrintData.Settings, ROPrintData.RefNo, null, null, null, null, null),
54
+ shared_pdf_service_1.SharedPDFService.GetOwnerDetails(ROPrintData.Cust, ROPrintData.Type, ROPrintData.For),
55
+ shared_pdf_service_1.SharedPDFService.CustomerAndVehicleDetailsAfterLine(),
56
+ shared_pdf_service_1.SharedPDFService.GetDisplayTable(),
57
+ ];
58
+ }
59
+ static GetMainHeaderDetails(Entity, HeaderName, Image, HColor, AColor, text) {
60
+ return [
61
+ // SharedPDFService.MainHeading(Entity.CName, Entity.Header, Image, HColor, text),
62
+ shared_pdf_service_1.SharedPDFService.GetMainHeader(Entity, Image, AColor, HColor, text),
63
+ shared_pdf_service_1.SharedPDFService.GetPrintType(HeaderName),
64
+ shared_pdf_service_1.SharedPDFService.HeaderAfterLine()
65
+ ];
66
+ }
67
+ static PreparesparePartsTable(ROPrintData) {
68
+ let List = [];
69
+ if (ROPrintData.Entity.Body === 1) {
70
+ for (let i = 0; i < ROPrintData.PrintInfo.length; i++) {
71
+ if (tr_utils_1.TrUtils.IsNull(ROPrintData.PrintInfo[i].Text)) {
72
+ ROPrintData.PrintInfo[i].Text = '';
73
+ }
74
+ List.push(ROPrintData.PrintInfo[i].Text, this.GetLaborPartsTableForView(tr_utils_1.TrUtils.Stringify(ROPrintData.PrintInfo[i].Items), ROPrintData.Entity.MPN));
75
+ }
76
+ }
77
+ else {
78
+ if (ROPrintData.Entity.Body === 2) {
79
+ for (let i = 0; i < ROPrintData.PrintInfo.length; i++) {
80
+ if (tr_utils_1.TrUtils.IsNull(ROPrintData.PrintInfo[i].Text)) {
81
+ ROPrintData.PrintInfo[i].Text = '';
82
+ }
83
+ List.push(ROPrintData.PrintInfo[i].Text, this.WithOutDiscountFieldTable(tr_utils_1.TrUtils.Stringify(ROPrintData.PrintInfo[i].Items), ROPrintData.ShowTaxColumn, ROPrintData.Entity.MPN, ROPrintData.Entity.Body, ROPrintData.ShowIGST, ROPrintData.ConsolidateGST, ROPrintData.ShowDiscountColumn));
84
+ }
85
+ }
86
+ else {
87
+ if (ROPrintData.Summary) {
88
+ List.push('', this.GetLaborPartsTableForView(ROPrintData.Items, ROPrintData.Entity.MPN));
89
+ }
90
+ else {
91
+ for (let i = 0; i < ROPrintData.PrintInfo.length; i++) {
92
+ if (tr_utils_1.TrUtils.IsNull(ROPrintData.PrintInfo[i].Text)) {
93
+ ROPrintData.PrintInfo[i].Text = '';
94
+ }
95
+ List.push(ROPrintData.PrintInfo[i].Text, this.GetWithOutDiscAndTaxFieldHeader(tr_utils_1.TrUtils.Stringify(ROPrintData.PrintInfo[i].Items), ROPrintData.ShowTaxColumn, ROPrintData.Entity.MPN, ROPrintData.Entity.Body, ROPrintData.ShowIGST, ROPrintData.ConsolidateGST, ROPrintData.ShowDiscountColumn));
96
+ }
97
+ }
98
+ }
99
+ }
100
+ return List;
101
+ }
102
+ static GetLaborPartsTableForView(Parts, PrintPartNo) {
103
+ if (Parts.length !== 0) {
104
+ if (PrintPartNo) {
105
+ return {
106
+ style: 'tableExample',
107
+ // marginLeft: 20,
108
+ table: {
109
+ widths: [15, 30, 170, 85, 15, 20, 50, 30, 30, 60],
110
+ // headerRows: 2,
111
+ body: this.buildTableForCustomerLabor(Parts, PrintPartNo, false)
112
+ },
113
+ layout: shared_print_service_1.PrintSharedService.LayOutStyleanother()
114
+ };
115
+ }
116
+ else {
117
+ return {
118
+ style: 'tableExample',
119
+ // marginLeft: 20,
120
+ table: {
121
+ widths: [15, 200, 55, 25, 55, 55, 40, 15, 60],
122
+ // headerRows: 2,
123
+ body: this.buildTableForCustomerLabor(Parts, PrintPartNo, false)
124
+ },
125
+ layout: shared_print_service_1.PrintSharedService.LayOutStyleanother()
126
+ };
127
+ }
128
+ }
129
+ else {
130
+ let a = '';
131
+ return a;
132
+ }
133
+ }
134
+ static WithOutDiscountFieldTable(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn) {
135
+ if (Parts.length !== 0) {
136
+ if (PrintPartNo) {
137
+ return {
138
+ style: 'tableExample',
139
+ marginLeft: 20,
140
+ table: {
141
+ widths: [15, 67, 160, 25, 50, 60, 30, 53],
142
+ headerRows: 1,
143
+ body: this.BuildTableBodyForLaborAndParts(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn)
144
+ },
145
+ layout: shared_print_service_1.PrintSharedService.LayOutStyleanother()
146
+ };
147
+ }
148
+ else {
149
+ return {
150
+ style: 'tableExample',
151
+ marginLeft: 20,
152
+ table: {
153
+ widths: [15, 215, 25, 50, 60, 45, 60],
154
+ headerRows: 1,
155
+ body: this.BuildTableBodyForLaborAndParts(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn)
156
+ },
157
+ layout: shared_print_service_1.PrintSharedService.LayOutStyleanother()
158
+ };
159
+ }
160
+ }
161
+ else {
162
+ let a = '';
163
+ return a;
164
+ }
165
+ }
166
+ static BuildTableBodyForLaborAndParts(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn) {
167
+ var body = [];
168
+ let columns = shared_print_service_1.PrintSharedService.GetWithOutDiscountFieldHeader(PrintPartNo, ShowTaxColumn, Body, ShowIGST, ShowDiscountColumn);
169
+ // if (ShowTaxColumn) {
170
+ for (let i = 0; i < columns.length; i++) {
171
+ body.push(columns[i]);
172
+ }
173
+ columns = columns[1];
174
+ // } else {
175
+ // body.push(columns);
176
+ // }
177
+ let DummyOps = [];
178
+ // if (Parts.length !== 0) {
179
+ // let dummypartadding1: any = {};
180
+ // dummypartadding1.SNo = '';
181
+ // dummypartadding1.Desc = 'Spare Parts';
182
+ // dummypartadding1.Qty = '';
183
+ // dummypartadding1.UnPr = '';
184
+ // dummypartadding1.LineTotal = '';
185
+ // Parts.unshift(dummypartadding1);
186
+ // }
187
+ let SNo = 1;
188
+ Parts.forEach((part) => {
189
+ var dataRow = [];
190
+ columns.forEach((column) => {
191
+ if (((!tr_utils_1.TrUtils.IsNull(part.Type) && part.Type !== 'Lab') || (!tr_utils_1.TrUtils.IsFixedZero(part[column.Field]) && !tr_utils_1.TrUtils.IsNull(part[column.Field])))
192
+ || (column.text === 'Line Total')) {
193
+ if (part[column.Field] === 'Spare Parts') {
194
+ dataRow.push({ text: part[column.Field].toString(), marginLeft: 50, style: 'InlineHeader' });
195
+ }
196
+ else {
197
+ if (!tr_utils_1.TrUtils.IsNull(part.Type) && part.Type !== 'Lab') {
198
+ if (column.Field === 'Desc') {
199
+ if (part.Type === 'Note') {
200
+ dataRow.push({ text: part[column.Field].toString(), colSpan: 11, bold: true });
201
+ }
202
+ else {
203
+ dataRow.push({ text: part[column.Field].toString(), colSpan: 10, alignment: 'right' });
204
+ }
205
+ }
206
+ else {
207
+ if ((part.Type === 'Sub' || part.Type === 'Disc' || part.Type === 'Tax' || part.Type === 'Tot') && column.text === 'Line Total') {
208
+ dataRow.push({ text: part[column.Field].toString(), alignment: 'right', nowrap: true, bold: true });
209
+ }
210
+ else {
211
+ if (column.Field === 'SNo') {
212
+ dataRow.push({ text: '' });
213
+ }
214
+ else {
215
+ dataRow.push({});
216
+ }
217
+ }
218
+ }
219
+ }
220
+ else {
221
+ if (((column.Field === 'CGSTAmt' || column.Field === 'SGSTAmt' || column.Field === 'CGSTPerc' || column.Field === 'SGSTPerc' || column.Field === 'IGSTAmt' || column.Field === 'IGSTPerc')
222
+ && tr_utils_1.TrUtils.CheckInvalidSelect(part.TCode))) {
223
+ part[column.Field] = '';
224
+ dataRow.push({ text: part[column.Field].toString(), alignment: 'center' });
225
+ }
226
+ else {
227
+ if (column.text === 'Line Total' || column.Field === 'UnPr' || column.Field === 'QtyAndUoM'
228
+ || column.text === 'Tax' || column.Field === 'Disc' || column.Field === 'Perc' || column.Field === 'CGSTAmt' || column.Field === 'SGSTAmt'
229
+ || column.Field === 'CGSTPerc' || column.Field === 'SGSTPerc' || column.Field === 'IGSTAmt' || column.Field === 'IGSTPerc') {
230
+ if (column.Field === 'Disc') {
231
+ if (column.type === 'percentage') {
232
+ if (!tr_utils_1.TrUtils.IsEmpty(part[column.Field])) {
233
+ dataRow.push({ text: part[column.Field].toString(), noWrap: true });
234
+ }
235
+ else {
236
+ dataRow.push({ text: '', noWrap: true });
237
+ }
238
+ }
239
+ else {
240
+ if (!tr_utils_1.TrUtils.IsZero(part[column.Field])) {
241
+ dataRow.push({ text: part[column.Field].toString(), noWrap: true });
242
+ }
243
+ else {
244
+ dataRow.push({ text: '', noWrap: true });
245
+ }
246
+ }
247
+ }
248
+ else {
249
+ if (!tr_utils_1.TrUtils.IsZero(part[column.Field])) {
250
+ dataRow.push({ text: part[column.Field].toString(), alignment: 'right', nowrap: true });
251
+ }
252
+ else {
253
+ dataRow.push({ text: '', noWrap: true });
254
+ }
255
+ }
256
+ }
257
+ else {
258
+ // dataRow.push(part[column.Field].toString());
259
+ if (column.Field === 'Desc') {
260
+ let DescData = [];
261
+ DescData.push(part[column.Field].toString());
262
+ if (!tr_utils_1.TrUtils.IsEmpty(part['EDesc'])) {
263
+ DescData.push({ text: part['EDesc'].toString(), color: 'grey' });
264
+ }
265
+ dataRow.push({ stack: DescData });
266
+ }
267
+ else {
268
+ part[column.Field] = tr_utils_1.TrUtils.IsNull(part[column.Field]) ? '' : part[column.Field];
269
+ dataRow.push({ text: part[column.Field].toString() });
270
+ }
271
+ }
272
+ }
273
+ }
274
+ }
275
+ }
276
+ else {
277
+ if (column.Field === 'SNo') {
278
+ part[column.Field] = SNo;
279
+ SNo = SNo + 1;
280
+ }
281
+ else {
282
+ part[column.Field] = '';
283
+ }
284
+ dataRow.push({ text: part[column.Field].toString(), alignment: 'center' });
285
+ }
286
+ });
287
+ body.push(dataRow);
288
+ });
289
+ // if (Labor.length !== 0) {
290
+ // let dummypartadding1: any = {};
291
+ // dummypartadding1.SNo = '';
292
+ // dummypartadding1.Desc = 'Labor';
293
+ // dummypartadding1.Qty = '';
294
+ // dummypartadding1.UnPr = '';
295
+ // dummypartadding1.LineTotal = '';
296
+ // Labor.unshift(dummypartadding1);
297
+ // // DummyOps.unshift(dummypartadding1);
298
+ // }
299
+ // if (Body === 2) {
300
+ // for (let i = 0; i < Labor.length; i++) {
301
+ // Labor[i].UnPr = '';
302
+ // }
303
+ // }
304
+ // Labor.forEach((Ops: any) => {
305
+ // var dataRow: any = [];
306
+ // columns.forEach((column: any) => {
307
+ // if ((!TrUtils.IsFixedZero(Ops[column.Field]) && !TrUtils.IsNull(Ops[column.Field]))
308
+ // || (column.text === 'Line Total')) {
309
+ // if (Ops[column.Field] === 'Labor') {
310
+ // dataRow.push({ text: Ops[column.Field].toString(), marginLeft: 50, style: 'InlineHeader' });
311
+ // } else {
312
+ // if (((column.Field === 'CGSTAmt' || column.Field === 'SGSTAmt' || column.Field === 'CGSTPerc' || column.Field === 'SGSTPerc' || column.Field === 'IGSTAmt' || column.Field === 'IGSTPerc')
313
+ // && TrUtils.CheckInvalidSelect(Ops.TCode))) {
314
+ // Ops[column.Field] = '';
315
+ // dataRow.push({ text: Ops[column.Field].toString(), alignment: 'center' });
316
+ // } else {
317
+ // if (column.text === 'Line Total' || column.Field === 'Price' || column.text === 'Tax' || column.Field === 'UnPr'
318
+ // || column.Field === 'QtyAndUoM' || column.Field === 'Disc' || column.Field === 'CGSTAmt' || column.Field === 'SGSTAmt'
319
+ // || column.Field === 'CGSTPerc' || column.Field === 'SGSTPerc' || column.Field === 'IGSTAmt' || column.Field === 'IGSTPerc') {
320
+ // if (column.Field === 'Disc') {
321
+ // if (column.type === 'percentage') {
322
+ // if (Ops.Perc && !TrUtils.IsZero(Ops[column.Field])) {
323
+ // dataRow.push({ text: Ops[column.Field].toString(), noWrap: true });
324
+ // } else {
325
+ // dataRow.push({ text: '', noWrap: true });
326
+ // }
327
+ // } else {
328
+ // if (!Ops.Perc && !TrUtils.IsZero(Ops[column.Field])) {
329
+ // dataRow.push({ text: Ops[column.Field].toString(), noWrap: true });
330
+ // } else {
331
+ // dataRow.push({ text: '', noWrap: true });
332
+ // }
333
+ // }
334
+ // } else {
335
+ // if (!TrUtils.IsZero(Ops[column.Field])) {
336
+ // dataRow.push({ text: Ops[column.Field].toString(), alignment: 'right', nowrap: true });
337
+ // } else {
338
+ // dataRow.push({ text: '', noWrap: true });
339
+ // }
340
+ // }
341
+ // } else {
342
+ // dataRow.push(Ops[column.Field].toString());
343
+ // }
344
+ // }
345
+ // }
346
+ // } else {
347
+ // if (column.Field === 'SNo') {
348
+ // Ops[column.Field] = SNo;
349
+ // SNo = SNo + 1;
350
+ // } else {
351
+ // Ops[column.Field] = '';
352
+ // }
353
+ // dataRow.push({ text: Ops[column.Field].toString(), alignment: 'center' });
354
+ // }
355
+ // });
356
+ // body.push(dataRow);
357
+ // });
358
+ return body;
359
+ }
360
+ static GetWithOutDiscAndTaxFieldHeader(Parts, ShowTaxColumn, PrintPartNo, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn) {
361
+ if (Parts.length !== 0) {
362
+ if (ShowTaxColumn) {
363
+ return this.TaxDataTable(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn);
364
+ }
365
+ else {
366
+ if (ConsolidateGST) {
367
+ return this.ConsolidateDataTable(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn);
368
+ }
369
+ else {
370
+ return this.NoTaxDataTable(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn);
371
+ }
372
+ }
373
+ }
374
+ else {
375
+ let a = '';
376
+ return a;
377
+ }
378
+ }
379
+ static TaxDataTable(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn) {
380
+ if (PrintPartNo) {
381
+ if (ShowIGST) {
382
+ return {
383
+ style: 'tableExample',
384
+ table: {
385
+ widths: shared_print_service_1.PrintSharedService.TaxTableWidths(PrintPartNo, ShowIGST, ShowDiscountColumn),
386
+ // headerRows: 2,
387
+ body: this.BuildTableBodyForLaborAndParts(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn)
388
+ },
389
+ layout: shared_print_service_1.PrintSharedService.LayOutStyle()
390
+ };
391
+ }
392
+ else {
393
+ return {
394
+ style: 'tableExample',
395
+ table: {
396
+ widths: shared_print_service_1.PrintSharedService.TaxTableWidths(PrintPartNo, ShowIGST, ShowDiscountColumn),
397
+ // headerRows: 2,
398
+ body: this.BuildTableBodyForLaborAndParts(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn)
399
+ },
400
+ layout: shared_print_service_1.PrintSharedService.LayOutStyle()
401
+ };
402
+ }
403
+ }
404
+ else {
405
+ if (ShowIGST) {
406
+ return {
407
+ style: 'tableExample',
408
+ table: {
409
+ widths: shared_print_service_1.PrintSharedService.TaxTableWidths(PrintPartNo, ShowIGST, ShowDiscountColumn),
410
+ // headerRows: 2,
411
+ body: this.BuildTableBodyForLaborAndParts(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn)
412
+ },
413
+ layout: shared_print_service_1.PrintSharedService.LayOutStyle()
414
+ };
415
+ }
416
+ else {
417
+ return {
418
+ style: 'tableExample',
419
+ table: {
420
+ widths: shared_print_service_1.PrintSharedService.TaxTableWidths(PrintPartNo, ShowIGST, ShowDiscountColumn),
421
+ // headerRows: 2,
422
+ body: this.BuildTableBodyForLaborAndParts(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn)
423
+ },
424
+ layout: shared_print_service_1.PrintSharedService.LayOutStyle()
425
+ };
426
+ }
427
+ }
428
+ }
429
+ static ConsolidateDataTable(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn) {
430
+ if (PrintPartNo) {
431
+ return {
432
+ style: 'tableExample',
433
+ table: {
434
+ widths: [15, 70, 273, 25, 60, 80, 10, 40],
435
+ // headerRows: 1,
436
+ body: this.BuildTableBodyForLaborAndParts(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn)
437
+ },
438
+ layout: shared_print_service_1.PrintSharedService.LayOutStyle()
439
+ };
440
+ }
441
+ else {
442
+ return {
443
+ style: 'tableExample',
444
+ table: {
445
+ widths: [20, 300, 50, 80, 80, 10, 40],
446
+ // headerRows: 1,
447
+ body: this.BuildTableBodyForLaborAndParts(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn)
448
+ },
449
+ layout: shared_print_service_1.PrintSharedService.LayOutStyle()
450
+ };
451
+ }
452
+ }
453
+ static NoTaxDataTable(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn) {
454
+ if (PrintPartNo) {
455
+ return {
456
+ style: 'tableExample',
457
+ table: {
458
+ widths: shared_print_service_1.PrintSharedService.WidthForInsuranceOrNot(ShowDiscountColumn, PrintPartNo),
459
+ // headerRows: 1,
460
+ body: this.BuildTableBodyForLaborAndParts(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn)
461
+ },
462
+ layout: shared_print_service_1.PrintSharedService.LayOutStyle()
463
+ };
464
+ }
465
+ else {
466
+ return {
467
+ style: 'tableExample',
468
+ table: {
469
+ widths: shared_print_service_1.PrintSharedService.WidthForInsuranceOrNot(ShowDiscountColumn, PrintPartNo),
470
+ // headerRows: 1,
471
+ body: this.BuildTableBodyForLaborAndParts(Parts, PrintPartNo, ShowTaxColumn, Body, ShowIGST, ConsolidateGST, ShowDiscountColumn)
472
+ },
473
+ layout: shared_print_service_1.PrintSharedService.LayOutStyle()
474
+ };
475
+ }
476
+ }
477
+ static buildTableForCustomerLabor(Parts, PrintPartNo, customerorInsurance) {
478
+ var body = [];
479
+ let columns;
480
+ columns = this.getSummaryHeaders(PrintPartNo);
481
+ body.push(columns);
482
+ if (Parts.length !== 0) {
483
+ let dummypartadding1 = {};
484
+ dummypartadding1.SNo = '';
485
+ dummypartadding1.Desc = 'Spare Parts';
486
+ dummypartadding1.Qty = '';
487
+ dummypartadding1.UnPr = '';
488
+ dummypartadding1.Price = '';
489
+ dummypartadding1.DiscountedPrice = '';
490
+ dummypartadding1.LineTotal = '';
491
+ dummypartadding1.QtyAndUoM = '';
492
+ dummypartadding1.HSN = '';
493
+ dummypartadding1.MPN = '';
494
+ Parts.unshift(dummypartadding1);
495
+ }
496
+ let SNo = 1;
497
+ Parts.forEach((part) => {
498
+ var dataRow = [];
499
+ columns.forEach((column) => {
500
+ if (!tr_utils_1.TrUtils.IsFixedZero(part[column.Field]) && !tr_utils_1.TrUtils.IsNull(part[column.Field])
501
+ || column.text === 'Line Total') {
502
+ if (part[column.Field] === 'Spare Parts') {
503
+ dataRow.push({ text: part[column.Field].toString(), marginLeft: 50, style: 'InlineHeader' });
504
+ }
505
+ else {
506
+ // tslint:disable-next-line:max-line-length
507
+ if (column.text === 'Line Total' || column.Field === 'QtyAndUoM' || column.Field === 'CustPrice' || column.Field === 'InsPrice' ||
508
+ column.Field === 'DiscountedPrice' || column.Field === 'TaxAmount' || column.Field === 'UnPr') {
509
+ if (column.Field === 'Disc Amt') {
510
+ dataRow.push({ text: part[column.Field].toString(), alignment: 'right', noWrap: true });
511
+ }
512
+ else {
513
+ dataRow.push({ text: part[column.Field].toString(), alignment: 'right', nowrap: true });
514
+ }
515
+ }
516
+ else {
517
+ // dataRow.push({ text: part[column.Field].toString() });
518
+ if (column.Field === 'Desc') {
519
+ let DescData = [];
520
+ DescData.push(part[column.Field].toString());
521
+ if (!tr_utils_1.TrUtils.IsEmpty(part['EDesc'])) {
522
+ DescData.push({ text: part['EDesc'].toString(), color: 'grey' });
523
+ }
524
+ dataRow.push({ stack: DescData });
525
+ }
526
+ else {
527
+ dataRow.push({ text: part[column.Field].toString() });
528
+ }
529
+ }
530
+ }
531
+ }
532
+ else {
533
+ if (column.Field === 'SNo') {
534
+ part[column.Field] = SNo;
535
+ SNo = SNo + 1;
536
+ }
537
+ else {
538
+ part[column.Field] = '';
539
+ }
540
+ dataRow.push({ text: part[column.Field].toString(), alignment: 'center' });
541
+ }
542
+ });
543
+ body.push(dataRow);
544
+ });
545
+ // if (Ops.length !== 0) {
546
+ // let dummypartadding1: any = {};
547
+ // dummypartadding1.SNo = '';
548
+ // dummypartadding1.Desc = 'Labor';
549
+ // dummypartadding1.Qty = '';
550
+ // dummypartadding1.UnPr = '';
551
+ // dummypartadding1.Price = '';
552
+ // dummypartadding1.DiscountedPrice = '';
553
+ // dummypartadding1.LineTotal = '';
554
+ // dummypartadding1.QtyAndUoM = '';
555
+ // dummypartadding1.HSN = '';
556
+ // Ops.unshift(dummypartadding1);
557
+ // }
558
+ // Ops.forEach((labor: any) => {
559
+ // var dataRow: any = [];
560
+ // columns.forEach((column: any) => {
561
+ // if (!TrUtils.IsFixedZero(labor[column.Field]) && !TrUtils.IsNull(labor[column.Field])
562
+ // || column.text === 'Line Total') {
563
+ // if (labor[column.Field] === 'Labor') {
564
+ // dataRow.push({ text: labor[column.Field].toString(), marginLeft: 50, style: 'InlineHeader' });
565
+ // } else {
566
+ // if (column.text === 'Line Total' || column.Field === 'QtyAndUoM' || column.Field === 'DiscountedPrice' || column.Field === 'TaxAmount'
567
+ // || column.Field === 'UnPr' || column.Field === 'CustPrice' || column.Field === 'InsPrice') {
568
+ // if (column.Field === 'Disc Amt') {
569
+ // dataRow.push({ text: labor[column.Field].toString(), alignment: 'right', noWrap: true });
570
+ // } else {
571
+ // dataRow.push({ text: labor[column.Field].toString(), alignment: 'right', nowrap: true });
572
+ // }
573
+ // } else {
574
+ // dataRow.push({ text: labor[column.Field].toString() });
575
+ // }
576
+ // }
577
+ // } else {
578
+ // if (column.Field === 'SNo') {
579
+ // labor[column.Field] = SNo;
580
+ // SNo = SNo + 1;
581
+ // } else {
582
+ // labor[column.Field] = '';
583
+ // }
584
+ // dataRow.push({ text: labor[column.Field].toString(), alignment: 'center' });
585
+ // }
586
+ // });
587
+ // body.push(dataRow);
588
+ // });
589
+ return body;
590
+ }
591
+ static getSummaryHeaders(permission) {
592
+ let headersNames = [{ text: 'Description', style: 'tableheader', Field: 'Desc' },
593
+ { text: 'HSN / SAC', style: 'tableheader', Field: 'SAC' },
594
+ { text: 'Qty', style: 'tableheader', Field: 'QtyAndUoM' },
595
+ // { text: 'Rate / Unit', style: 'tableheader', Field: 'UnPr' },
596
+ { text: 'Ins. Amt', style: 'tableheader', Field: 'AssPr' },
597
+ { text: 'Cust. Amt', style: 'tableheader', Field: 'Pr' },
598
+ { text: 'Disc.(Rs)', style: 'tableheader', Field: 'DiscountedPrice' },
599
+ { text: 'Tax %', style: 'tableheader', Field: 'TaxAmount' },
600
+ { text: 'Line Total', style: 'tableheader', Field: 'LineTotal' }];
601
+ if (permission) {
602
+ let sno = { text: 'S.No.', style: 'tableheader', Field: 'SNo' };
603
+ let MPN = { text: 'Part No', style: 'tableheader', Field: 'MPN' };
604
+ headersNames.unshift(sno, MPN);
605
+ }
606
+ else {
607
+ let sno = { text: 'S.No.', style: 'tableheader', Field: 'SNo' };
608
+ headersNames.unshift(sno);
609
+ }
610
+ return headersNames;
611
+ }
612
+ static CommonTotalDetails(ROPrintData, index, numberofCopies) {
613
+ let CommonDetails = [
614
+ shared_pdf_service_1.SharedPDFService.GetFinalTotalDetails('0.00', '0.00', '0.00', '0.00', '0.00', '0.00', ROPrintData.ShowIGST, ROPrintData.ShowTaxColumn, ROPrintData.CustItemsTotalBeforeDisc, ROPrintData.CustItemsDiscTotal, ROPrintData.CustItemCGST, ROPrintData.CustItemSGST, ROPrintData.CustTaxGroupData, ROPrintData.ShowAccParts, '0.00', ROPrintData.CustItemAfterTax, ROPrintData.FixedDisc, ROPrintData.For, ROPrintData.FixedTotal, ROPrintData.CustTotalRoundedBy, ROPrintData.CustRoundedTotal, ROPrintData.ShowTaxColumn, ROPrintData.ShowTaxColumn, tr_utils_1.TrUtils.isTaxable(ROPrintData.Settings.Tax), '0.00', ROPrintData.CustItemITax, ROPrintData.Consolidate, ROPrintData.From, null, ROPrintData.SubTotal),
615
+ shared_pdf_service_1.SharedPDFService.InvoiceDueStatus(ROPrintData.Type, ROPrintData.Paid, ROPrintData.Due, ROPrintData.Sts, false),
616
+ shared_pdf_service_1.SharedPDFService.GetTemsAndConditions(ROPrintData.Entity.Terms),
617
+ shared_pdf_service_1.SharedPDFService.GetUnderLine(),
618
+ shared_pdf_service_1.SharedPDFService.GetSignatures(ROPrintData.Entity.CName, ROPrintData.Type, ROPrintData.For),
619
+ ];
620
+ if (ROPrintData.Type !== 'Invoice') {
621
+ CommonDetails.splice(2, 0, shared_pdf_service_1.SharedPDFService.GetUnderLine());
622
+ }
623
+ if (!tr_utils_1.TrUtils.IsNull(numberofCopies) && numberofCopies.length !== 0 && (index !== (numberofCopies.length - 1))) {
624
+ CommonDetails.push({ text: '', pageBreak: 'after' });
625
+ }
626
+ return CommonDetails;
627
+ }
628
+ }
629
+ exports.SalesPdfService = SalesPdfService;
630
+ SalesPdfService.FontSize = 8;