shareneus 1.1.6 → 1.1.8

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/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DebitNotePdfService = exports.DCWithoutPricePdfService = exports.DCLandscapeWithoutPricePdfService = exports.DCLandscapePdfService = exports.CustomerBalancesService = exports.SalesByCustomerPDFService = exports.CustWiseSalesDetailsService = exports.CreditNoteTotalsService = exports.CreditNotePdfService = exports.ConsultationPDFService = exports.ConsultationFullPrintService = exports.ConsultationFeeReceiptPrintService = exports.CNPrintService = exports.ChecklistsPDFService = exports.CheckListPrintService = exports.CategoryWiseItemPDFService = exports.SalesReceiptprintService = exports.AppointmentTotalsService = exports.AnalysisPDFService = exports.VenBalanceXlsxFileService = exports.TallySalesImportXlsxFileService = exports.StockXlsxFileService = exports.IssueSparesXlsxFileService = exports.ScheduledDrugXlsxFileService = exports.ScheduledDrugSummaryXlsxFileService = exports.SalesByServiceSummaryXlsxFileService = exports.SummaryXlsxFileService = exports.ServiceAdvisorWisePartXlsxFileService = exports.ServiceAdvisorWiseLaborXlsxFileService = exports.RepairOrdersXlsxFileService = exports.PaymentsMadeXlsxFileService = exports.PaymentReceiveXlsxFileService = exports.OperatorWiseSummaryXlsxFileService = exports.OperatorWiseDetailsXlsxFileService = exports.ManfWiseSalesXlsxFileService = exports.ItemsWiseSalesXlsxFileService = exports.ItemWiseMOSummaryXlsxFileService = exports.ItemWiseMODetailsXlsxFileService = exports.ItemWiseDoctorSaleXlsxFileService = exports.InvoicesWiseXlsxFileService = exports.InsuranceExpireXlsxFileService = exports.GSTR2ExcelService = exports.GSTR1ExcelService = exports.GSTROXlsxFileService = exports.ExpiringDrugsXlsxFileService = exports.SalesByCustomerXlsxFileService = exports.CustWiseSalesXlsxFileService = exports.CustBalanceXlsxFileService = exports.CategoryWiseItemXlsxFileService = exports.AnalysisXlsxFileService = void 0;
4
4
  exports.SharedInvoiceprintService = exports.WOPrintService = exports.ScheduledDrugSummaryPDFService = exports.ScheduledDrugPDFService = exports.SalesTotalsService = exports.SaleReceiptPrintService = exports.SalesReceiptpdfService = exports.SalesPrintService = exports.SalesPdfService = exports.SalesByServiceSummaryPDF = exports.ROTotalsService = exports.ROPrintService = exports.RoprintService = exports.RepairOrdersReportsPDFService = exports.ReorderPointPDFService = exports.ReceiptPrintService = exports.PurchaseOrderPDFService = exports.PurchaseOrderTotalsService = exports.PurchaseOrderPrintService = exports.PosReceiptPrintService = exports.POTotalsService = exports.PaymentsReportPDFService = exports.ReceiptPDFService = exports.PackShipPrintService = exports.PackShipPDFService = exports.OperatorWiseSalesSummaryPDF = exports.OperatorWiseSalesDetailsPDF = exports.MaterialOutprintService = exports.MeetingPdfService = exports.ManfWiseSalesService = exports.ItemWiseSalesPDFService = exports.ItemWiseMOSummaryPDF = exports.ItemWiseMODetailsPDF = exports.ItemWiseDoctorSalePDFService = exports.ItemDetaisPdf = exports.IssuePartsprintService = exports.InvoiceTotalsService = exports.InvoiceLandscapePdfService = exports.InvPrintService = exports.InvoiceprintService = exports.InsuranceExpirePDF = exports.HCInvoiceprintService = exports.ExpiringDrugPDFService = exports.EstPrintService = exports.EquipmentDesignPdf = exports.DeliveryChallanTotalsService = exports.DeliveryChallanPrintService = exports.DeliveryChallanPdfService = exports.DebitNoteTotalsService = exports.DebitNotePrintService = void 0;
5
- exports.MyDate = exports.TrUtils = exports.VendorDebitNoteTotalsService = exports.VendorDebitNotePrintService = exports.VendorDebitNotePdfService = exports.VendorCreditNoteTotalsService = exports.VendorCreditNotePrintService = exports.VendorCreditNotePDFService = exports.VendorBalancesService = exports.TransferOrderPrintService = exports.TechnicianPrintService = exports.TechnicianpdfService = exports.TaskReportsPDfService = exports.TaskPDfService = exports.PrintSharedService = exports.SharedPDFService = void 0;
5
+ exports.InvoicePortraitPrintService = exports.MyDate = exports.TrUtils = exports.VendorDebitNoteTotalsService = exports.VendorDebitNotePrintService = exports.VendorDebitNotePdfService = exports.VendorCreditNoteTotalsService = exports.VendorCreditNotePrintService = exports.VendorCreditNotePDFService = exports.VendorBalancesService = exports.TransferOrderPrintService = exports.TechnicianPrintService = exports.TechnicianpdfService = exports.TaskReportsPDfService = exports.TaskPDfService = exports.PrintSharedService = exports.SharedPDFService = void 0;
6
6
  var analysis_excel_service_1 = require("./excel-files/analysis-excel.service");
7
7
  Object.defineProperty(exports, "AnalysisXlsxFileService", { enumerable: true, get: function () { return analysis_excel_service_1.AnalysisXlsxFileService; } });
8
8
  var category_wise_item_excel_service_1 = require("./excel-files/category-wise-item-excel.service");
@@ -235,3 +235,5 @@ var tr_utils_1 = require("./utils/tr-utils");
235
235
  Object.defineProperty(exports, "TrUtils", { enumerable: true, get: function () { return tr_utils_1.TrUtils; } });
236
236
  var my_date_1 = require("./utils/my-date");
237
237
  Object.defineProperty(exports, "MyDate", { enumerable: true, get: function () { return my_date_1.MyDate; } });
238
+ var invoice_portrait_pdf_1 = require("./services/invoice-portrait-pdf");
239
+ Object.defineProperty(exports, "InvoicePortraitPrintService", { enumerable: true, get: function () { return invoice_portrait_pdf_1.InvoicePortraitPrintService; } });
@@ -53,7 +53,9 @@ class InvPrintService {
53
53
  }
54
54
  InvoicePrintData.Consolidate = ConsolidateGST;
55
55
  InvoicePrintData.ShowDiscountColumn = false;
56
+ console.log(ForInsurance, ConsolidateGST);
56
57
  if (!ForInsurance && !ConsolidateGST) {
58
+ console.log(shared_print_service_1.PrintSharedService.CheckItemIndexWithDisc(InvoicePrintData));
57
59
  if (shared_print_service_1.PrintSharedService.CheckItemIndexWithDisc(InvoicePrintData) !== -1) {
58
60
  // InvoicePrintData.ShowDiscountColumn = (InvoicePrintData.Settings.DiscLvl === 'ITM' || InvoicePrintData.Settings.DiscLvl === 'RECITM') ? true : false;
59
61
  InvoicePrintData.ShowDiscountColumn = true;
@@ -267,6 +269,12 @@ class InvPrintService {
267
269
  else {
268
270
  Item.QtyAndUoM = Item.Qty + '';
269
271
  }
272
+ if (!tr_utils_1.TrUtils.IsZero(Item.OfQty) && !tr_utils_1.TrUtils.CheckInvalidSelect(Item.UoM)) {
273
+ Item.OfQtyAndUoM = Item.OfQty + ' ' + Item.UoM;
274
+ }
275
+ else {
276
+ Item.OfQtyAndUoM = Item.OfQty + '';
277
+ }
270
278
  });
271
279
  return Items;
272
280
  }
@@ -156,6 +156,7 @@ class InvoiceLandscapePdfService {
156
156
  ];
157
157
  }
158
158
  static PreparesparePartsTable(ROPrintData) {
159
+ console.log('ROPrintData', ROPrintData);
159
160
  let List = [];
160
161
  if (ROPrintData.Entity.Body === 1) {
161
162
  for (let i = 0; i < ROPrintData.PrintInfo.length; i++) {
@@ -0,0 +1,636 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvoicePortraitPrintService = void 0;
4
+ const enums_1 = require("../enums/enums");
5
+ const my_date_1 = require("../utils/my-date");
6
+ const tr_utils_1 = require("../utils/tr-utils");
7
+ class InvoicePortraitPrintService {
8
+ static GetPrint(InvoicePDFData, size, printOptions) {
9
+ // console.log('InvoicePDFData', InvoicePDFData);
10
+ if (tr_utils_1.TrUtils.IsNull(InvoicePDFData.Name)) {
11
+ InvoicePDFData.Name = '';
12
+ }
13
+ let dd = {
14
+ info: {
15
+ title: 'CounterSale',
16
+ },
17
+ header: function (currentPage, pageCount, pageSize) {
18
+ return { text: currentPage.toString() + ' of ' + pageCount, alignment: 'right', marginRight: 25, fontSize: 8, marginTop: 2 };
19
+ },
20
+ pageMargins: this.GetMarginsBasedOnPaperSize(size),
21
+ pageSize: 'A4',
22
+ content: [
23
+ { text: InvoicePDFData.Entity.CName, style: ['headerstyle'], alignment: 'center', fontSize: 15 },
24
+ { text: this.GetAddress(InvoicePDFData.Entity), alignment: 'center', style: ['headerstyle'] },
25
+ {
26
+ columns: this.GetHeaderInfo(InvoicePDFData)
27
+ },
28
+ {
29
+ style: 'tableExample',
30
+ table: {
31
+ widths: [200, '*', 'auto'],
32
+ body: this.GetCustomerAndBankDetails(InvoicePDFData)
33
+ },
34
+ layout: this.HeaderLayOut()
35
+ },
36
+ this.GetItemsTable(InvoicePDFData.Items, InvoicePDFData.ShowTaxColumn, InvoicePDFData.Settings.PoS.SType, printOptions, size),
37
+ [this.TotalDetails(InvoicePDFData)],
38
+ this.GetSignatures(InvoicePDFData.Entity.CName, InvoicePDFData.Type, InvoicePDFData.For),
39
+ ],
40
+ styles: {
41
+ headerstyle: {
42
+ fontFamily: 'Calibri',
43
+ fontSize: 9
44
+ },
45
+ Sign: {
46
+ fontSize: 8,
47
+ margin: [0, 15, 0, 5]
48
+ },
49
+ forCompany: {
50
+ // margin: [0, 10, 30, 0],
51
+ marginRight: 5,
52
+ marginTop: 10,
53
+ fontSize: 9,
54
+ alignment: 'right'
55
+ },
56
+ forCompany1: {
57
+ margin: [0, 5, 15, 0],
58
+ fontSize: 8
59
+ },
60
+ tableheader: {
61
+ bold: true,
62
+ fontFamily: 'Calibri',
63
+ margin: [0, 1, 0, 5],
64
+ alignment: 'center'
65
+ },
66
+ tableheader1: {
67
+ bold: true,
68
+ fontFamily: 'Calibri',
69
+ margin: [0, 2, 0, 2],
70
+ alignment: 'center'
71
+ },
72
+ tableExample: {
73
+ fontSize: 9
74
+ },
75
+ tableExample1: {
76
+ fontSize: 8
77
+ }
78
+ }
79
+ };
80
+ return dd;
81
+ }
82
+ static GetCustomerAndBankDetails(InvoicePDFData) {
83
+ let CustDetails = [];
84
+ CustDetails.push([{
85
+ marginLeft: 3,
86
+ stack: [
87
+ this.GetCustomerDetails(InvoicePDFData.Customer, InvoicePDFData.Type, null, null, 'Customer Name & Address')
88
+ ]
89
+ },
90
+ {
91
+ marginLeft: 5,
92
+ marginRight: 5,
93
+ stack: [this.GetCustomerGSTIN(InvoicePDFData.Customer), this.GetCustomerDLNo(InvoicePDFData.Customer)]
94
+ },
95
+ {
96
+ marginRight: 5,
97
+ stack: [{ text: 'Invoice No : ' + InvoicePDFData._id, style: ['headerstyle'] },
98
+ { text: 'Date : ' + InvoicePDFData.CrDate, style: ['headerstyle'] }]
99
+ }]);
100
+ if (InvoicePDFData.Entity.PrBank) {
101
+ CustDetails.push([{ text: 'Note: OUR BANK A/C: ' + InvoicePDFData.Entity.Bank.ACNo + ', IFSC CODE: ' + InvoicePDFData.Entity.Bank.IFSC + ', Account Holder Name: ' + InvoicePDFData.Entity.Bank.ACName + ', BANK NAME: ' + InvoicePDFData.Entity.Bank.Name, colSpan: 3, fontSize: 8 }]);
102
+ }
103
+ return CustDetails;
104
+ }
105
+ static GetAddress1(Customer) {
106
+ var Address = this.GetFormatAddress(Customer);
107
+ if (Address.length !== 5) {
108
+ return Address;
109
+ }
110
+ else {
111
+ let a = '';
112
+ return a;
113
+ }
114
+ }
115
+ static GetFormatAddress(CustomerObj) {
116
+ var Addressnew = '';
117
+ if (!tr_utils_1.TrUtils.IsNull(CustomerObj.Adrs)) {
118
+ CustomerObj.Adrs.forEach((Adrs, index) => {
119
+ Addressnew = Addressnew + Adrs;
120
+ if (CustomerObj.Adrs.length > (index + 1)) {
121
+ Addressnew = Addressnew + ', ';
122
+ }
123
+ });
124
+ }
125
+ return Addressnew;
126
+ }
127
+ static GetCustomerDetails(Customer, Type, Vehicle, Settings, CustHeader) {
128
+ if (tr_utils_1.TrUtils.IsNull(Customer)) {
129
+ return this.emptyObject();
130
+ }
131
+ let Data = [{ text: CustHeader + ':', style: 'hed', bold: true },
132
+ { text: Customer.Name, marginTop: 2 },
133
+ { text: this.GetAddress1(Customer), marginTop: 3, fontSize: 7 },
134
+ this.GetCustPhoneNumber(Customer, Type),
135
+ this.GetCustomerName(Customer.CustName)];
136
+ return {
137
+ style: 'colum1',
138
+ stack: Data
139
+ };
140
+ }
141
+ static GetFormatContact(CustomerObj) {
142
+ var contactnew = '';
143
+ if (!tr_utils_1.TrUtils.IsNull(CustomerObj.Cons)) {
144
+ CustomerObj.Cons.forEach((Contact) => {
145
+ contactnew = contactnew + '(' + Contact.Type + '):' + Contact.No + '\n';
146
+ });
147
+ }
148
+ return contactnew;
149
+ }
150
+ static GetCustPhoneNumber(Customer, Type) {
151
+ if (Type !== 'Technician Copy') {
152
+ var contact = this.GetFormatContact(Customer);
153
+ if (contact.length !== 0) {
154
+ return { columns: [{ text: 'Phone', width: 27, style: 'hed' }, contact] };
155
+ }
156
+ else {
157
+ return this.emptyObject();
158
+ }
159
+ }
160
+ else {
161
+ return this.emptyObject();
162
+ }
163
+ }
164
+ static emptyObject() {
165
+ let a = {};
166
+ return a;
167
+ }
168
+ static GetCustomerName(Customer) {
169
+ if (!tr_utils_1.TrUtils.IsEmpty(Customer)) {
170
+ let GSTIN = { columns: [{ text: 'Customer Name :', width: 65, bold: true }, { text: Customer }] };
171
+ return GSTIN;
172
+ }
173
+ else {
174
+ return this.emptyObject();
175
+ }
176
+ }
177
+ static GetCustomerGSTIN(Customer) {
178
+ if (!tr_utils_1.TrUtils.IsEmpty(Customer.GSTIN)) {
179
+ let GSTIN = { columns: [{ text: 'GSTIN :', width: 33, style: 'hed' }, { text: Customer.GSTIN, marginTop: 1.5 }] };
180
+ return GSTIN;
181
+ }
182
+ else {
183
+ return this.emptyObject();
184
+ }
185
+ }
186
+ static GetCustomerDLNo(Customer) {
187
+ if (!tr_utils_1.TrUtils.IsEmpty(Customer.DLNo)) {
188
+ let GSTIN = { columns: [{ text: 'DL No :', width: 33, style: 'hed' }, { text: Customer.DLNo, marginTop: 1.5 }] };
189
+ return GSTIN;
190
+ }
191
+ else {
192
+ return this.emptyObject();
193
+ }
194
+ }
195
+ static HeaderLayOut() {
196
+ return {
197
+ hLineWidth: function (i, node) {
198
+ return (i === 0 || i === 1 || i === node.table.body.length) ? 1 : 0;
199
+ },
200
+ vLineWidth: function (i, node) {
201
+ return (i === 0 || i === node.table.widths.length) ? 1 : 0;
202
+ },
203
+ hLineColor: function (i, node) {
204
+ return 'gray';
205
+ },
206
+ vLineColor: function (i, node) {
207
+ return 'gray';
208
+ },
209
+ };
210
+ }
211
+ static GetHeaderInfo(InvoicePDFData) {
212
+ let TaxInfo = [];
213
+ if (!tr_utils_1.TrUtils.IsEmpty(InvoicePDFData.Entity.GSTIN)) {
214
+ TaxInfo.push({ text: 'GSTIN : ' + InvoicePDFData.Entity.GSTIN, marginTop: 2, marginLeft: 5, alignment: 'left', fontSize: 9, width: 'auto' });
215
+ }
216
+ if (!tr_utils_1.TrUtils.IsEmpty(InvoicePDFData.Entity.DLNo)) {
217
+ TaxInfo.push({ text: 'D.L.NO : ' + InvoicePDFData.Entity.DLNo, marginTop: 2, marginLeft: 5, alignment: 'left', fontSize: 9, width: '*' });
218
+ }
219
+ TaxInfo.push(this.GetBillofSupplyName(InvoicePDFData.Settings));
220
+ return TaxInfo;
221
+ }
222
+ static GetMarginsBasedOnPaperSize(size) {
223
+ if (size === 'full') {
224
+ return [20, 15, 20, 15];
225
+ }
226
+ else {
227
+ return [20, 15, 20, 435.945];
228
+ }
229
+ }
230
+ static GrandTotalTable(data) {
231
+ var body = [];
232
+ data.forEach((row) => {
233
+ if (!tr_utils_1.TrUtils.IsFixedZero(row.value) || row.name === 'Total') {
234
+ var dataRow = [];
235
+ dataRow.push({ text: (row.name).toString(), noWrap: true });
236
+ dataRow.push(':');
237
+ if (row.name === 'Final Total') {
238
+ dataRow.push({ text: (row.value).toString(), noWrap: true, bold: true, fontSize: 12, alignment: 'right' });
239
+ }
240
+ else if (!tr_utils_1.TrUtils.IsNull(row.value)) {
241
+ dataRow.push({ text: (row.value).toString(), noWrap: true, alignment: 'right' });
242
+ }
243
+ else {
244
+ dataRow.push({ text: '', noWrap: true, alignment: 'right' });
245
+ }
246
+ body.push(dataRow);
247
+ }
248
+ });
249
+ return body;
250
+ }
251
+ static GetBillofSupplyName(Settings) {
252
+ return { text: Settings.Tax === 'BS' ? ' Bill of Supply' : null, alignment: 'center', marginLeft: 15, marginTop: 2, marginBottom: 3, fontSize: 9, width: 'auto' };
253
+ }
254
+ static GetDiscountOverall(InvoicePDFData) {
255
+ return tr_utils_1.TrUtils.FixPriceValue(Number(InvoicePDFData.FixedDisc));
256
+ }
257
+ static CustomerAndVehicleDetailsAfterLine(size) {
258
+ let length = 575;
259
+ if (size === 'A3') {
260
+ length = 820;
261
+ }
262
+ else if (size === 'Custom') {
263
+ length = 575;
264
+ }
265
+ return {
266
+ canvas: [
267
+ {
268
+ type: 'line',
269
+ lineColor: 'gray',
270
+ x1: 0,
271
+ y1: 0,
272
+ x2: 540,
273
+ y2: 0,
274
+ lineWidth: 1
275
+ }
276
+ ]
277
+ };
278
+ }
279
+ static GetSignatures(CName, For, Type) {
280
+ return {
281
+ columns: [{
282
+ stack: [
283
+ { columns: ['', '', this.CompanyName(CName)] }
284
+ ]
285
+ }],
286
+ };
287
+ }
288
+ static CompanyName(CName) {
289
+ return {
290
+ style: 'forCompany1',
291
+ text: ['For ', { text: CName, bold: 'true' }],
292
+ };
293
+ }
294
+ static Authorizedsignature() {
295
+ return {
296
+ style: 'Sign',
297
+ text: ['Authorized Signatory'],
298
+ };
299
+ }
300
+ static CustomerSignature() {
301
+ return {
302
+ style: 'Sign',
303
+ text: ['Customer Signature'], marginLeft: 90
304
+ };
305
+ }
306
+ static GetItemsTable(Items, ShowTaxColumn, SType, printOptions, size) {
307
+ return {
308
+ style: 'tableExample',
309
+ marginTop: 3,
310
+ marginBottom: 5,
311
+ table: {
312
+ widths: this.GetWidths(ShowTaxColumn, printOptions),
313
+ headerRows: 1,
314
+ body: this.BuildTableBodyForLaborAndParts(Items, ShowTaxColumn, SType, printOptions, size)
315
+ },
316
+ layout: {
317
+ hLineWidth: function (i, node) {
318
+ return (i === 0 || i === 1 || i === node.table.body.length) ? 1 : 0;
319
+ },
320
+ vLineWidth: function (i, node) {
321
+ return (i === 0 || i === node.table.widths.length) ? 1 : 0.5;
322
+ },
323
+ hLineColor: function (i, node) {
324
+ return 'gray';
325
+ },
326
+ vLineColor: function (i, node) {
327
+ return 'gray';
328
+ },
329
+ }
330
+ };
331
+ }
332
+ static GetWidths(ShowTaxColumn, printOptions) {
333
+ if (ShowTaxColumn && printOptions.Tax !== 'NO') {
334
+ if (printOptions.Disc === 'NO') {
335
+ return [16, '*', 40, 45, 25, 20, 20, 45, 45, 30, 50];
336
+ }
337
+ else {
338
+ return [16, '*', 40, 45, 25, 20, 20, 45, 45, 35, 30, 50];
339
+ }
340
+ }
341
+ else {
342
+ if (printOptions.Disc === 'NO') {
343
+ return [22, '*', 40, 45, 25, 20, 20, 50, 50, 50];
344
+ }
345
+ else {
346
+ return [22, '*', 40, 45, 25, 20, 20, 50, 50, 50, 50];
347
+ }
348
+ }
349
+ }
350
+ static GetAddress(Entity) {
351
+ return Entity.Adrs1 + ', ' + Entity.Adrs2 + ', ' + Entity.City + '-' + Entity.PIN + ', Cell : ' + Entity.Phone;
352
+ }
353
+ static BuildTableBodyForLaborAndParts(Items, ShowTaxColumn, SType, printOptions, size) {
354
+ let body = this.GetHeaderNames(ShowTaxColumn, SType, printOptions);
355
+ let j = 1;
356
+ Items.forEach((item, index) => {
357
+ var _a, _b;
358
+ let dataRow = [];
359
+ dataRow.push({ text: index + 1, });
360
+ dataRow.push({ text: item.Desc, });
361
+ if (ShowTaxColumn) {
362
+ dataRow.push({ text: item.HSN, alignment: 'center', style: ['headerstyle'], });
363
+ }
364
+ dataRow.push({ text: (_a = item.Batch) === null || _a === void 0 ? void 0 : _a.BN, alignment: 'center', style: ['headerstyle'], });
365
+ dataRow.push({ text: my_date_1.MyDate.ConvertUTCDateToReadableExDate(item['Batch'].ExDt), alignment: 'center', style: ['headerstyle'], });
366
+ dataRow.push({ text: item.QtyAndUoM, alignment: 'right', style: ['headerstyle'], });
367
+ dataRow.push({ text: item.OfQty, alignment: 'right', style: ['headerstyle'], });
368
+ dataRow.push({ text: tr_utils_1.TrUtils.FixPriceValue(item.MRP), alignment: 'right', style: ['headerstyle'], });
369
+ dataRow.push({ text: tr_utils_1.TrUtils.FixPriceValue(item.UnPr), alignment: 'right', style: ['headerstyle'], });
370
+ if (printOptions.Disc !== 'NO') {
371
+ if (printOptions.Disc === 'PERC') {
372
+ dataRow.push({ text: tr_utils_1.TrUtils.FixPriceValue(item.DiscPerc), alignment: 'right', style: ['headerstyle'], });
373
+ }
374
+ else {
375
+ dataRow.push({ text: tr_utils_1.TrUtils.FixPriceValue(item.Disc), alignment: 'right', style: ['headerstyle'], });
376
+ }
377
+ }
378
+ if (ShowTaxColumn && printOptions.Tax !== 'NO') {
379
+ let Tax = (_b = item.TaxName) === null || _b === void 0 ? void 0 : _b.split('%');
380
+ dataRow.push({ text: tr_utils_1.TrUtils.IsNull(Tax) ? '' : Tax[0], alignment: 'right', style: ['headerstyle'], });
381
+ }
382
+ dataRow.push({ text: item.Ret ? '-' + tr_utils_1.TrUtils.FixPriceValue(item.LineTotal) : tr_utils_1.TrUtils.FixPriceValue(item.LineTotal), alignment: 'right', style: ['headerstyle'], });
383
+ body.push(dataRow);
384
+ if (index + 1 === j * 9) {
385
+ j++;
386
+ if (size === 'diff') {
387
+ let dataRow1 = [{ text: '', pageBreak: 'after' }, '', '', '', '', ''];
388
+ if (ShowTaxColumn) {
389
+ dataRow1.push('');
390
+ dataRow1.push('');
391
+ }
392
+ body.push(dataRow1);
393
+ }
394
+ }
395
+ });
396
+ return body;
397
+ }
398
+ static GetHeaderNames(ShowTaxColumn, SType, printOptions) {
399
+ let HeadingNames;
400
+ if (ShowTaxColumn) {
401
+ HeadingNames = [[{ text: 'S.No', style: 'tableheader1', Field: 'SNo', alignment: 'left', fontSize: 7 },
402
+ { text: 'Item Name', style: 'tableheader1', Field: 'Desc', alignment: 'left', line: true },
403
+ { text: 'HSN', style: 'tableheader1', Field: 'HSN' },
404
+ { text: 'Batch No.', style: 'tableheader1', Field: 'Batches' },
405
+ { text: 'Ex.Dt', style: 'tableheader1', Field: 'ExDate' },
406
+ { text: 'Qty', style: 'tableheader1', Field: 'Qty', alignment: 'right' },
407
+ { text: 'Free', style: 'tableheader1', Field: 'OfQty', alignment: 'right' },
408
+ { text: 'MRP', style: 'tableheader1', Field: 'MRP', alignment: 'right' },
409
+ { text: 'Price', style: 'tableheader1', Field: 'UnPr', alignment: 'right' },
410
+ { text: 'Line Total', style: 'tableheader1', Field: 'LineTotal', alignment: 'right' }]];
411
+ if (printOptions.Disc !== 'NO') {
412
+ HeadingNames[0].splice(9, 0, { text: (printOptions.Disc === 'PERC') ? 'Disc(%)' : 'Disc(Rs)', style: 'tableheader1', Field: 'Disc' });
413
+ }
414
+ if (printOptions.Tax !== 'NO') {
415
+ HeadingNames[0].splice(10, 0, { text: (SType === 'Intra') ? 'GST(%)' : 'IGST(%)', style: 'tableheader1', Field: 'TaxAmount', alignment: 'right' });
416
+ }
417
+ }
418
+ else {
419
+ HeadingNames = [[{ text: 'S.No', style: 'tableheader1', Field: 'SNo', alignment: 'left' },
420
+ { text: 'Item Name', style: 'tableheader1', Field: 'Desc', alignment: 'left', line: true },
421
+ { text: 'Batch No.', style: 'tableheader1', Field: 'Batches', alignment: 'left' },
422
+ { text: 'Ex.Dt', style: 'tableheader1', Field: 'ExDate', alignment: 'left' },
423
+ { text: 'Qty', style: 'tableheader1', Field: 'Qty', alignment: 'right' },
424
+ { text: 'Free', style: 'tableheader1', Field: 'OfQty', alignment: 'right' },
425
+ { text: 'MRP', style: 'tableheader1', Field: 'MRP', alignment: 'right' },
426
+ { text: 'Price', style: 'tableheader1', Field: 'UnPr', alignment: 'right' },
427
+ // { text: 'Disc(%)', style: 'tableheader1', Field: 'Disc' },
428
+ { text: 'Line Total', style: 'tableheader1', Field: 'LineTotal', alignment: 'right' }]];
429
+ if (printOptions.Disc !== 'NO') {
430
+ HeadingNames[0].splice(8, 0, { text: (printOptions.Disc === 'PERC') ? 'Disc(%)' : 'Disc(Rs)', style: 'tableheader1', Field: 'Disc' });
431
+ }
432
+ }
433
+ return HeadingNames;
434
+ }
435
+ static TotalDetails(ROPrintData) {
436
+ let totalDisc;
437
+ let totalTax;
438
+ if (!ROPrintData.Consolidate) {
439
+ totalTax = tr_utils_1.TrUtils.FixPriceValue(Number(0) + Number(ROPrintData.CustPartITax));
440
+ if (tr_utils_1.TrUtils.isTaxable(ROPrintData.Settings.Tax)) {
441
+ totalDisc = tr_utils_1.TrUtils.FixPriceValue(Number(0) + Number(ROPrintData.CustPartsDiscTotal));
442
+ }
443
+ else {
444
+ totalDisc = tr_utils_1.TrUtils.FixPriceValue(Number(0) + Number(ROPrintData.CustPartsDiscTotal) + Number(ROPrintData.FixedDisc));
445
+ }
446
+ }
447
+ return [
448
+ {
449
+ style: 'tableExample',
450
+ marginTop: -3,
451
+ table: {
452
+ widths: ['*', '*'],
453
+ body: [
454
+ [
455
+ this.PartsTaxAmounts(ROPrintData.CustTaxGroupData, true, ROPrintData.ShowIGST, ROPrintData.ShowTaxColumn),
456
+ {
457
+ columns: [{ text: '', width: 150 }, this.GrandTotal('0.00', ROPrintData.CustPartsTotalBeforeDisc, totalDisc, totalTax, ROPrintData.For, ROPrintData.FixedTotal, ROPrintData.CustTotalRoundedBy, ROPrintData.CustRoundedTotal, null, ROPrintData.Consolidate, null)]
458
+ }
459
+ ],
460
+ ]
461
+ },
462
+ layout: 'noBorders'
463
+ },
464
+ ];
465
+ }
466
+ static PartsTaxAmounts(PartsTaxInfo, ShowAccParts, ShowIGST, ShowTaxColumn) {
467
+ if (ShowTaxColumn) {
468
+ return {
469
+ stack: [this.AllHSNPartCGSTTaxListTable(PartsTaxInfo, ShowAccParts, ShowIGST, ShowTaxColumn)]
470
+ };
471
+ }
472
+ else {
473
+ return '';
474
+ }
475
+ }
476
+ static GrandTotal(LaborAfterGST, PartsAfterGST, OverAllRecordDiscount, totalTax, For, OverAllRecordTotal, Rounded, GrandTotal, Adj, Consolidate, subTotal) {
477
+ let AccountFields = [
478
+ { name: 'Total Disc.', value: OverAllRecordDiscount },
479
+ ];
480
+ if (!Consolidate && !tr_utils_1.TrUtils.IsNull(subTotal)) {
481
+ AccountFields.unshift({ name: 'SubTotal', value: tr_utils_1.TrUtils.FixPriceValue(tr_utils_1.TrUtils.SetValueToZeroIfNull(Number(subTotal))) });
482
+ }
483
+ else {
484
+ if (!Consolidate) {
485
+ AccountFields.unshift({ name: 'SubTotal', value: tr_utils_1.TrUtils.FixPriceValue(tr_utils_1.TrUtils.SetValueToZeroIfNull(Number(LaborAfterGST)) + tr_utils_1.TrUtils.SetValueToZeroIfNull(Number(PartsAfterGST))) });
486
+ }
487
+ }
488
+ if (!tr_utils_1.TrUtils.IsEmpty(totalTax)) {
489
+ AccountFields.push({ name: 'Total Tax', value: totalTax });
490
+ }
491
+ if (!tr_utils_1.TrUtils.IsEmpty(Adj)) {
492
+ if (Adj > 0) {
493
+ Adj = '+' + tr_utils_1.TrUtils.FixPriceValue(Adj);
494
+ }
495
+ AccountFields.push({ name: 'Adjust', value: Adj });
496
+ }
497
+ if (For === enums_1.PayTypeEnum.Insurance) {
498
+ let total = {
499
+ name: 'Total',
500
+ value: OverAllRecordTotal
501
+ };
502
+ let Rounding = { name: 'Rounding', value: Rounded };
503
+ if (Rounding.value > 0) {
504
+ Rounding.value = '+' + Rounding.value;
505
+ }
506
+ let FinalTotal = { name: 'Final Total', value: GrandTotal, bold: true, fontSize: 12 };
507
+ AccountFields.push(total);
508
+ AccountFields.push(Rounding);
509
+ if (!tr_utils_1.TrUtils.IsFixedZero(Rounded)) {
510
+ AccountFields.push(FinalTotal);
511
+ }
512
+ }
513
+ else {
514
+ let total = {
515
+ name: 'Total',
516
+ value: OverAllRecordTotal
517
+ };
518
+ let Rounding = { name: 'Rounding', value: Rounded };
519
+ let FinalTotal = { name: 'Final Total', value: GrandTotal };
520
+ if (Rounding.value > 0) {
521
+ Rounding.value = '+' + Rounding.value;
522
+ }
523
+ // AccountFields.push(total);
524
+ AccountFields.push(Rounding);
525
+ if (!tr_utils_1.TrUtils.IsFixedZero(Rounded)) {
526
+ AccountFields.push(FinalTotal);
527
+ }
528
+ }
529
+ return {
530
+ style: ['columnheader', 'TotalsStyles'],
531
+ lineHeight: 0.7,
532
+ marginBottom: 5,
533
+ width: 'auto',
534
+ table: {
535
+ widths: ['auto', 'auto', 60],
536
+ body: this.GrandTotalTable(AccountFields)
537
+ },
538
+ layout: 'noBorders'
539
+ };
540
+ }
541
+ static AllHSNPartCGSTTaxListTable(PartsTaxInfo, ShowAccParts, ShowIGST, ShowTaxColumn) {
542
+ if (ShowIGST) {
543
+ return {
544
+ style: 'tableExample1',
545
+ table: {
546
+ widths: [50, 30, 45, 45],
547
+ headerRows: 1,
548
+ body: this.CreateHSNTaxTable(PartsTaxInfo, ShowAccParts, ShowIGST, ShowTaxColumn)
549
+ },
550
+ layout: this.HeaderLineStyle(),
551
+ };
552
+ }
553
+ else {
554
+ return {
555
+ style: 'tableExample1',
556
+ table: {
557
+ widths: [50, 30, 30, 60, 60],
558
+ headerRows: 1,
559
+ body: this.CreateHSNTaxTable(PartsTaxInfo, ShowAccParts, ShowIGST, ShowTaxColumn)
560
+ },
561
+ layout: this.HeaderLineStyle(),
562
+ };
563
+ }
564
+ }
565
+ static CreateHeadingAllHSNTaxList(ShowIGST) {
566
+ let HeaderNames = [{ text: 'HSN', style: 'tableheader', fontSize: 6, lineHeight: 0.3, Field: 'HSN', alignment: 'right' },
567
+ { text: 'Taxable Value', style: 'tableheader', fontSize: 6, lineHeight: 0.3, Field: 'TotalTaxableAmount', alignment: 'right' },
568
+ { text: 'Amount', style: 'tableheader', fontSize: 6, lineHeight: 0.3, Field: 'TotalTaxAmount', alignment: 'right' },
569
+ ];
570
+ if (ShowIGST) {
571
+ HeaderNames.splice(1, 0, { text: 'IGST', style: 'tableheader', fontSize: 6, lineHeight: 0.3, Field: 'IGST', alignment: 'right' });
572
+ }
573
+ else {
574
+ HeaderNames.splice(1, 0, { text: 'CGST', style: 'tableheader', fontSize: 6, lineHeight: 0.3, Field: 'CGST', alignment: 'right' });
575
+ HeaderNames.splice(2, 0, { text: 'SGST', style: 'tableheader', fontSize: 6, lineHeight: 0.3, Field: 'SGST', alignment: 'right' });
576
+ }
577
+ return HeaderNames;
578
+ }
579
+ static CreateHSNTaxTable(PartsTaxInfo, ShowAccParts, ShowIGST, ShowTaxColumn) {
580
+ if (!tr_utils_1.TrUtils.IsNull(PartsTaxInfo) && PartsTaxInfo.length !== 0 && ShowAccParts && ShowTaxColumn) {
581
+ var body = [];
582
+ let columns = this.CreateHeadingAllHSNTaxList(ShowIGST);
583
+ body.push(columns);
584
+ PartsTaxInfo.forEach((part) => {
585
+ var dataRow = [];
586
+ columns.forEach((column) => {
587
+ if (!tr_utils_1.TrUtils.IsFixedZero(part[column.Field]) &&
588
+ !tr_utils_1.TrUtils.IsNull(part[column.Field]) || column.Field === 'SGST' || column.Field === 'CGST'
589
+ || column.Field === 'TotalTaxAmount') {
590
+ if (column.Field === 'HSN') {
591
+ dataRow.push({ text: part[column.Field].toString(), alignment: 'right', nowrap: true });
592
+ }
593
+ else {
594
+ dataRow.push({ text: tr_utils_1.TrUtils.FixPriceValue(part[column.Field]).toString(), alignment: 'right', nowrap: true });
595
+ }
596
+ }
597
+ else {
598
+ part[column.Field] = '';
599
+ dataRow.push({ text: part[column.Field].toString(), alignment: 'right' });
600
+ }
601
+ });
602
+ body.push(dataRow);
603
+ });
604
+ return body;
605
+ }
606
+ else {
607
+ return [{}];
608
+ }
609
+ }
610
+ static HeaderLineStyle() {
611
+ return {
612
+ hLineWidth: function (i, node) {
613
+ return (i === 1) ? 0.1 : 0;
614
+ },
615
+ vLineWidth: function (i, node) {
616
+ return (i === 0 || i === node.table.widths.length) ? 0 : 0;
617
+ },
618
+ hLineColor: function (i, node) {
619
+ let color;
620
+ if (i === 0 || i === node.table.body.length) {
621
+ color = 'black';
622
+ }
623
+ else {
624
+ if (i === 1) {
625
+ color = 'lightgray';
626
+ }
627
+ else {
628
+ color = 'lightgray';
629
+ }
630
+ }
631
+ return color;
632
+ },
633
+ };
634
+ }
635
+ }
636
+ exports.InvoicePortraitPrintService = InvoicePortraitPrintService;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shareneus",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",