shareneus 1.4.35 → 1.4.36
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/aggregation/aggregation.js +13 -13
- package/dist/excel-files/GSTR-RO-excel.service.js +3 -3
- package/dist/excel-files/GSTR1-excel.service.js +7 -7
- package/dist/excel-files/GSTR2-excel.service.js +6 -6
- package/dist/excel-files/analysis-excel.service.js +4 -4
- package/dist/excel-files/category-wise-item-excel.service.js +10 -10
- package/dist/excel-files/cust-balance-excel.service.js +5 -5
- package/dist/excel-files/cust-wise-sales-details.js +5 -5
- package/dist/excel-files/cust-wise-sales-summary-excel.service.js +5 -5
- package/dist/excel-files/expiring-drugs-excel.service.js +7 -7
- package/dist/excel-files/insurance-expire-excel.service.js +4 -4
- package/dist/excel-files/invoice-wise-excel.service.js +3 -3
- package/dist/excel-files/item-wise-doctor-sale-excel.service.js +7 -7
- package/dist/excel-files/item-wise-mout-details.js +4 -4
- package/dist/excel-files/item-wise-mout-summary.js +4 -4
- package/dist/excel-files/items-wise-sales-excel.service.js +10 -10
- package/dist/excel-files/manf-wise-sales-excel.service.js +4 -4
- package/dist/excel-files/next-service-date-excel.service.js +5 -5
- package/dist/excel-files/operator-wise-details.js +4 -4
- package/dist/excel-files/operator-wise-summary.js +4 -4
- package/dist/excel-files/payment-receive-excel.service.js +6 -6
- package/dist/excel-files/payments-made-excel.service.js +6 -6
- package/dist/excel-files/repair-orders-excel.service.js +10 -10
- package/dist/excel-files/sa-wise-labor-sales-excel.service.js +6 -6
- package/dist/excel-files/sa-wise-part-sales-excel.service.js +6 -6
- package/dist/excel-files/sale-summary-excel.service.js +3 -3
- package/dist/excel-files/sales-by-service-summary-excel.service.js +14 -14
- package/dist/excel-files/scheduled-drug-summary-excel.service.js +8 -8
- package/dist/excel-files/scheduled-drugs-excel.service.js +10 -10
- package/dist/excel-files/spares-issue-excel.service.js +14 -14
- package/dist/excel-files/stock-excel.service.js +3 -3
- package/dist/excel-files/tally-sales-import.service.js +3 -3
- package/dist/excel-files/ven-balance-excel.service.js +3 -3
- package/dist/index.js +6 -6
- package/dist/services/analysis-pdf.service.js +8 -8
- package/dist/services/appointment-total.service.js +37 -37
- package/dist/services/auto-sales-receipt-pdf.service.js +24 -24
- package/dist/services/category-wise-item-pdf.service.js +6 -6
- package/dist/services/checklist-pdf.js +3 -3
- package/dist/services/cn-print.service.js +33 -33
- package/dist/services/consultation-fee-receipt.service.js +16 -16
- package/dist/services/consultation-full-pdf.service.js +10 -10
- package/dist/services/consultation-letterhead-pdf.service.js +15 -15
- package/dist/services/consultation-pdf.service.js +15 -15
- package/dist/services/credit-note-pdf.service.js +16 -16
- package/dist/services/credit-note-totals.service.js +31 -31
- package/dist/services/cust-wise-sales-details-pdf.service.js +8 -8
- package/dist/services/cust-wise-sales-summary-pdf.service.js +7 -7
- package/dist/services/customer-balances-pdf.service.js +7 -7
- package/dist/services/dc-landscape-pdf.service.js +28 -28
- package/dist/services/dc-landscape-without-price-pdf.service.js +24 -24
- package/dist/services/dc-without-price-pdf.service.js +15 -15
- package/dist/services/debit-note-pdf.service.js +14 -14
- package/dist/services/debit-note-print.service.js +33 -33
- package/dist/services/debit-note-totals.service.js +28 -28
- package/dist/services/delivery-challan-pdf.service.js +16 -16
- package/dist/services/delivery-challan-print.service.js +26 -26
- package/dist/services/delivery-challan-totals.js +32 -32
- package/dist/services/equipment-design-pdf.service.js +10 -10
- package/dist/services/est.print-service.js +150 -150
- package/dist/services/expiring-drugs-pdf.service.js +6 -6
- package/dist/services/hc-inv-pdf.service.js +42 -42
- package/dist/services/insurance-expire-pdf.service.js +1 -1
- package/dist/services/inv-pdf.service.js +54 -54
- package/dist/services/inv-print.service.js +59 -59
- package/dist/services/invoice-landscape-pdf.service.js +29 -29
- package/dist/services/invoice-letterhead-pdf.service.js +54 -54
- package/dist/services/invoice-portrait-pdf.js +51 -51
- package/dist/services/invoice-total.service.js +78 -78
- package/dist/services/issue-parts-pdf.service.js +43 -43
- package/dist/services/item-bar-code-label-pdf.js +2 -2
- package/dist/services/item-price-for-pricelist.js +29 -46
- package/dist/services/item-wise-doctor-sale-pdf.service.js +3 -3
- package/dist/services/item-wise-mout-details-pdf.js +3 -3
- package/dist/services/item-wise-mout-summary-pdf.js +2 -2
- package/dist/services/item-wise-sales-pdf.service.js +6 -6
- package/dist/services/manf-wise-sales-pdf.service.js +5 -5
- package/dist/services/meeting-pdf.js +14 -14
- package/dist/services/mout-pdf.service.js +17 -17
- package/dist/services/next-service-date-pdf.service.js +1 -1
- package/dist/services/operator-wise-details-pdf.service.js +8 -8
- package/dist/services/operator-wise-summary-pdf.js +7 -7
- package/dist/services/pack-ship-pdf.service.js +3 -3
- package/dist/services/pack-ship-print.service.js +26 -26
- package/dist/services/payment-pdf.service.js +4 -4
- package/dist/services/payment-report-pdf.service.js +3 -3
- package/dist/services/po-totals.service.js +28 -28
- package/dist/services/pos-receipt-pdf.js +19 -19
- package/dist/services/purchase-order-pdf.service.js +40 -40
- package/dist/services/purchase-order-print.service.js +43 -43
- package/dist/services/purchase-order-totals.service.js +53 -53
- package/dist/services/receipt-print.service.js +5 -5
- package/dist/services/reorder-point-pdf.service.js +3 -3
- package/dist/services/repair-orders-pdf.service.js +3 -3
- package/dist/services/ro-pdf.service.js +80 -80
- package/dist/services/ro-print-service.js +87 -87
- package/dist/services/ro-totals.service.js +123 -123
- package/dist/services/sales-by-service-pdf.service.js +6 -6
- package/dist/services/sales-pdf.service.js +23 -23
- package/dist/services/sales-print.service.js +54 -54
- package/dist/services/sales-receipt-pdf.service.js +25 -25
- package/dist/services/sales-receipt-print.service.js +62 -62
- package/dist/services/sales-totals.service.js +33 -33
- package/dist/services/scheduled-drug-pdf.service.js +7 -7
- package/dist/services/scheduled-drug-summary-pdf.service.js +4 -4
- package/dist/services/separate-wo-print.service.js +9 -9
- package/dist/services/shared-inv-pdf.service.js +44 -44
- package/dist/services/shared-pdf.service.js +119 -119
- package/dist/services/shared-print.service.js +68 -68
- package/dist/services/task-pdf.service.js +10 -10
- package/dist/services/task-reports-pdf.service.js +9 -9
- package/dist/services/technician-pdf.service.js +10 -10
- package/dist/services/technician-print.service.js +9 -9
- package/dist/services/vendor-balances-pdf.service.js +6 -6
- package/dist/services/vendor-credit-note-pdf.service.js +27 -27
- package/dist/services/vendor-credit-note-print.service.js +29 -29
- package/dist/services/vendor-credit-note-totals.service.js +37 -37
- package/dist/services/vendor-debit-note-pdf.service.js +16 -16
- package/dist/services/vendor-debit-note-print.service.js +29 -29
- package/dist/services/vendor-debit-note-totals.service.js +30 -30
- package/dist/shared/math-operations.js +184 -0
- package/dist/shared/util.js +15 -0
- package/dist/{shared → utils}/my-date.js +31 -31
- package/dist/{shared/utils.js → utils/tr-utils.js} +0 -8
- package/package.json +2 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.POTotalsService = void 0;
|
|
4
4
|
const aggregation_1 = require("../aggregation/aggregation");
|
|
5
|
-
const
|
|
5
|
+
const tr_utils_1 = require("../utils/tr-utils");
|
|
6
6
|
class POTotalsService {
|
|
7
7
|
static GetTotalsValue(ItemsList, IsIndependentTax, DetailedInfo, Disc, Perc, TaxCodes, WithItems) {
|
|
8
8
|
ItemsList = this.CalculateItemValues(ItemsList);
|
|
@@ -30,11 +30,11 @@ class POTotalsService {
|
|
|
30
30
|
return ItemsList;
|
|
31
31
|
}
|
|
32
32
|
static ResetItemValueIfInvalid(Item) {
|
|
33
|
-
Item.UnPr =
|
|
34
|
-
Item.Disc =
|
|
35
|
-
Item.CCGST =
|
|
36
|
-
Item.CSGST =
|
|
37
|
-
Item.CIGST =
|
|
33
|
+
Item.UnPr = tr_utils_1.TrUtils.SetValueToZeroIfNull(Item.UnPr);
|
|
34
|
+
Item.Disc = tr_utils_1.TrUtils.SetValueToZeroIfNull(Item.Disc);
|
|
35
|
+
Item.CCGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(Item.CCGST);
|
|
36
|
+
Item.CSGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(Item.CSGST);
|
|
37
|
+
Item.CIGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(Item.CIGST);
|
|
38
38
|
return Item;
|
|
39
39
|
}
|
|
40
40
|
static GetItemDiscountedPrice(Price, Qty, Disc, DiscInPerc) {
|
|
@@ -55,8 +55,8 @@ class POTotalsService {
|
|
|
55
55
|
return finalTotalsData;
|
|
56
56
|
}
|
|
57
57
|
static ResetRecordDiscountsIfInvalid(Disc, Perc, finalTotalsData, DetailedInfo) {
|
|
58
|
-
Perc =
|
|
59
|
-
Disc =
|
|
58
|
+
Perc = tr_utils_1.TrUtils.SetPercToTrueIfNull(Perc);
|
|
59
|
+
Disc = tr_utils_1.TrUtils.SetValueToZeroIfNull(Disc);
|
|
60
60
|
finalTotalsData.Disc = Disc;
|
|
61
61
|
finalTotalsData.Perc = Perc;
|
|
62
62
|
if (DetailedInfo) {
|
|
@@ -67,13 +67,13 @@ class POTotalsService {
|
|
|
67
67
|
static GetFinalTotalsData(finalTotalsData, ItemsList, IsIndependentTax, Disc, Perc, DetailedInfo) {
|
|
68
68
|
let AfterDiscTotals = this.GetSubTotal(ItemsList);
|
|
69
69
|
let ItemTaxTotal = this.GetItemsTaxTotal(ItemsList, IsIndependentTax);
|
|
70
|
-
finalTotalsData.SubTotal =
|
|
70
|
+
finalTotalsData.SubTotal = tr_utils_1.TrUtils.FixedTo(AfterDiscTotals);
|
|
71
71
|
let Total = this.GetTotalBasedOnTaxType(ItemTaxTotal, ItemsList, IsIndependentTax, Disc, Perc);
|
|
72
|
-
finalTotalsData.Total =
|
|
72
|
+
finalTotalsData.Total = tr_utils_1.TrUtils.FixedTo(Total);
|
|
73
73
|
finalTotalsData.ITax = IsIndependentTax;
|
|
74
74
|
if (DetailedInfo) {
|
|
75
|
-
finalTotalsData.FixedSubTotal =
|
|
76
|
-
finalTotalsData.FixedTotal =
|
|
75
|
+
finalTotalsData.FixedSubTotal = tr_utils_1.TrUtils.FixedTo(AfterDiscTotals);
|
|
76
|
+
finalTotalsData.FixedTotal = tr_utils_1.TrUtils.FixedTo(Total);
|
|
77
77
|
}
|
|
78
78
|
return finalTotalsData;
|
|
79
79
|
}
|
|
@@ -84,26 +84,26 @@ class POTotalsService {
|
|
|
84
84
|
static GetDetailedTotalsData(finalTotalsData, IsIndependentTax, ItemsList, TaxCodes) {
|
|
85
85
|
finalTotalsData.ItemsDiscTotal = this.GetItemDiscountedTotal(ItemsList);
|
|
86
86
|
finalTotalsData.ItemsTotalAfterDisc = this.GetItemsTotalAfterDiscount(ItemsList);
|
|
87
|
-
finalTotalsData.ItemsTotalBeforeDisc =
|
|
87
|
+
finalTotalsData.ItemsTotalBeforeDisc = tr_utils_1.TrUtils.FixedTo(finalTotalsData.ItemsTotalAfterDisc
|
|
88
88
|
+ finalTotalsData.ItemsDiscTotal);
|
|
89
89
|
finalTotalsData.ItemITax = this.GetItemsTaxTotal(ItemsList, IsIndependentTax);
|
|
90
90
|
// finalTotalsData.ItemCGST = this.GetItemCGSTTaxTotal(ItemsList, IsIndependentTax);
|
|
91
91
|
// finalTotalsData.ItemIGST = this.GetItemIGSTTaxTotal(ItemsList, IsIndependentTax);
|
|
92
92
|
// finalTotalsData.ItemSGST = this.GetItemSGSTTaxTotal(ItemsList, IsIndependentTax);
|
|
93
93
|
let TaxAmt = this.GetItemGSTTaxTotal(ItemsList);
|
|
94
|
-
finalTotalsData.ItemCGST =
|
|
95
|
-
finalTotalsData.ItemSGST =
|
|
96
|
-
finalTotalsData.ItemIGST =
|
|
97
|
-
finalTotalsData.ItemAfterTax =
|
|
94
|
+
finalTotalsData.ItemCGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(TaxAmt[0]);
|
|
95
|
+
finalTotalsData.ItemSGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(TaxAmt[1]);
|
|
96
|
+
finalTotalsData.ItemIGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(TaxAmt[2]);
|
|
97
|
+
finalTotalsData.ItemAfterTax = tr_utils_1.TrUtils.FixedTo(finalTotalsData.ItemITax + finalTotalsData.ItemsTotalAfterDisc);
|
|
98
98
|
finalTotalsData.OverAllRecordDiscount = (finalTotalsData.Perc) ? ((finalTotalsData.SubTotal * finalTotalsData.Disc) / 100) : finalTotalsData.Disc;
|
|
99
99
|
finalTotalsData.TaxGroupData = this.GetItemsTaxGrouping(ItemsList, TaxCodes);
|
|
100
|
-
finalTotalsData.TotalRoundedBy =
|
|
100
|
+
finalTotalsData.TotalRoundedBy = tr_utils_1.TrUtils.FixedTo(Math.round(finalTotalsData.Total) - finalTotalsData.Total);
|
|
101
101
|
finalTotalsData.RoundedTotal = Math.round(finalTotalsData.Total);
|
|
102
102
|
for (var key in finalTotalsData) {
|
|
103
103
|
if (key !== 'Total' && key !== 'SubTotal' &&
|
|
104
104
|
key !== 'Disc' && key !== 'Perc' && key !== 'ITax'
|
|
105
105
|
&& typeof finalTotalsData[key] === 'number') {
|
|
106
|
-
finalTotalsData[key] =
|
|
106
|
+
finalTotalsData[key] = tr_utils_1.TrUtils.FixPriceValue(finalTotalsData[key]);
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
return finalTotalsData;
|
|
@@ -152,7 +152,7 @@ class POTotalsService {
|
|
|
152
152
|
SubTotalWithTax = ItemsAfterDisc;
|
|
153
153
|
}
|
|
154
154
|
let Total = 0;
|
|
155
|
-
if (!
|
|
155
|
+
if (!tr_utils_1.TrUtils.IsZero(SubTotalWithTax)) {
|
|
156
156
|
if (DiscInPerc === true) {
|
|
157
157
|
Total = (SubTotalWithTax - (SubTotalWithTax * Discount) / 100);
|
|
158
158
|
}
|
|
@@ -173,13 +173,13 @@ class POTotalsService {
|
|
|
173
173
|
}
|
|
174
174
|
static GetCombinedTaxPercentage(Items, TaxCodes) {
|
|
175
175
|
Items.forEach((Item) => {
|
|
176
|
-
if (
|
|
176
|
+
if (tr_utils_1.TrUtils.IsNull(Item.HSN)) {
|
|
177
177
|
Item.HSN = '';
|
|
178
178
|
}
|
|
179
179
|
let TaxInfo = this.GetGSTValueBasedOnTaxCode(Item.TCode, TaxCodes);
|
|
180
|
-
Item.CGSTAmt =
|
|
181
|
-
Item.SGSTAmt =
|
|
182
|
-
Item.IGSTAmt =
|
|
180
|
+
Item.CGSTAmt = tr_utils_1.TrUtils.SetValueToZeroIfNull(TaxInfo[0]);
|
|
181
|
+
Item.SGSTAmt = tr_utils_1.TrUtils.SetValueToZeroIfNull(TaxInfo[1]);
|
|
182
|
+
Item.IGSTAmt = tr_utils_1.TrUtils.SetValueToZeroIfNull(TaxInfo[2]);
|
|
183
183
|
Item.CombinedTaxPercentage = (0, aggregation_1.addition)(Item.CGSTAmt, Item.SGSTAmt, Item.IGSTAmt);
|
|
184
184
|
});
|
|
185
185
|
return Items;
|
|
@@ -232,8 +232,8 @@ class POTotalsService {
|
|
|
232
232
|
TaxAmount = (0, aggregation_1.addition)(TaxAmount, argMatchedGSTItem.SGST);
|
|
233
233
|
});
|
|
234
234
|
TaxInfo.HSN = HSN;
|
|
235
|
-
TaxInfo.TotalTaxableAmount =
|
|
236
|
-
TaxInfo.TotalTaxAmount =
|
|
235
|
+
TaxInfo.TotalTaxableAmount = tr_utils_1.TrUtils.FixPriceValue(TaxOnAmount);
|
|
236
|
+
TaxInfo.TotalTaxAmount = tr_utils_1.TrUtils.FixPriceValue(TaxAmount);
|
|
237
237
|
TaxInfo.ItemsCount = MatchedItem.length;
|
|
238
238
|
// let CGST = this.GetCGSTValueBasedOnTaxCode(MatchedItem[0].TCode, TaxCodes);
|
|
239
239
|
// let SGST = this.GetSGSTValueBasedOnTaxCode(MatchedItem[0].TCode, TaxCodes);
|
|
@@ -251,10 +251,10 @@ class POTotalsService {
|
|
|
251
251
|
return HSNTaxInfo;
|
|
252
252
|
}
|
|
253
253
|
static GetGSTValueBasedOnTaxCode(TCode, argTaxCodes) {
|
|
254
|
-
if (
|
|
254
|
+
if (tr_utils_1.TrUtils.IsNull(TCode)) {
|
|
255
255
|
return [0, 0, 0];
|
|
256
256
|
}
|
|
257
|
-
let TaxCodes =
|
|
257
|
+
let TaxCodes = tr_utils_1.TrUtils.Stringify(argTaxCodes);
|
|
258
258
|
let TCodeIndex = TaxCodes.findIndex((TaxCode) => {
|
|
259
259
|
return TaxCode._id === Number(TCode);
|
|
260
260
|
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PosReceiptPrintService = void 0;
|
|
4
|
-
const
|
|
4
|
+
const tr_utils_1 = require("../utils/tr-utils");
|
|
5
5
|
const shared_pdf_service_1 = require("./shared-pdf.service");
|
|
6
6
|
class PosReceiptPrintService {
|
|
7
7
|
static GetPrint(InvoicePDFData, size) {
|
|
8
8
|
// console.log('InvoicePDFData', InvoicePDFData);
|
|
9
|
-
if (
|
|
9
|
+
if (tr_utils_1.TrUtils.IsNull(InvoicePDFData.Name)) {
|
|
10
10
|
InvoicePDFData.Name = '';
|
|
11
11
|
}
|
|
12
12
|
let dd = {
|
|
@@ -151,7 +151,7 @@ class PosReceiptPrintService {
|
|
|
151
151
|
};
|
|
152
152
|
}
|
|
153
153
|
static GetMainHeaderInfo(InvoicePDFData) {
|
|
154
|
-
if (!
|
|
154
|
+
if (!tr_utils_1.TrUtils.IsNull(InvoicePDFData.Image)) {
|
|
155
155
|
return {
|
|
156
156
|
columns: [{ image: InvoicePDFData.Image, width: 60, height: 60, marginBottom: 5 },
|
|
157
157
|
{
|
|
@@ -182,10 +182,10 @@ class PosReceiptPrintService {
|
|
|
182
182
|
}
|
|
183
183
|
static GetHeaderInfo(InvoicePDFData, marginleft) {
|
|
184
184
|
let TaxInfo = [];
|
|
185
|
-
if (!
|
|
185
|
+
if (!tr_utils_1.TrUtils.IsEmpty(InvoicePDFData.Entity.GSTIN)) {
|
|
186
186
|
TaxInfo.push({ text: 'GSTIN : ' + InvoicePDFData.Entity.GSTIN, marginTop: 2, marginLeft: marginleft, alignment: 'left', fontSize: 9, width: 'auto' });
|
|
187
187
|
}
|
|
188
|
-
if (!
|
|
188
|
+
if (!tr_utils_1.TrUtils.IsEmpty(InvoicePDFData.Entity.DLNo)) {
|
|
189
189
|
TaxInfo.push({ text: 'D.L.NO : ' + InvoicePDFData.Entity.DLNo, marginTop: 2, marginLeft: 5, alignment: 'left', fontSize: 9, width: '*' });
|
|
190
190
|
}
|
|
191
191
|
TaxInfo.push(this.GetBillofSupplyName(InvoicePDFData.Settings));
|
|
@@ -225,30 +225,30 @@ class PosReceiptPrintService {
|
|
|
225
225
|
}
|
|
226
226
|
static GetTotalDeetails(InvoicePDFData, size) {
|
|
227
227
|
let TotalData = [];
|
|
228
|
-
if (!
|
|
228
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(InvoicePDFData.STotal)) {
|
|
229
229
|
// TotalData.push({ text: 'Sub Total : ' + InvoicePDFData.STotal, style: ['headerstyle'], alignment: 'right', marginRight: 5, })
|
|
230
230
|
TotalData.push({ name: 'Sub Total', value: InvoicePDFData.STotal });
|
|
231
231
|
}
|
|
232
|
-
if (!
|
|
232
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(this.GetDiscountOverall(InvoicePDFData))) {
|
|
233
233
|
// TotalData.push({ text: 'Discount : -' + this.GetDiscountOverall(InvoicePDFData), style: ['headerstyle'], alignment: 'right', marginRight: 5, });
|
|
234
234
|
TotalData.push({ name: 'Discount', value: this.GetDiscountOverall(InvoicePDFData) });
|
|
235
235
|
}
|
|
236
|
-
if (!
|
|
237
|
-
TotalData.push({ name: 'Tax Amount', value:
|
|
236
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(InvoicePDFData.CustPartITax) && tr_utils_1.TrUtils.IsFixedZero(InvoicePDFData.CustRetRoundedTotal)) {
|
|
237
|
+
TotalData.push({ name: 'Tax Amount', value: tr_utils_1.TrUtils.FixPriceValue(InvoicePDFData.CustPartITax) });
|
|
238
238
|
}
|
|
239
|
-
if (!
|
|
240
|
-
TotalData.push({ name: 'Round off', value:
|
|
239
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(InvoicePDFData.Round) && tr_utils_1.TrUtils.IsFixedZero(InvoicePDFData.CustRetRoundedTotal)) {
|
|
240
|
+
TotalData.push({ name: 'Round off', value: tr_utils_1.TrUtils.FixPriceValue(InvoicePDFData.Round) });
|
|
241
241
|
}
|
|
242
|
-
if (!
|
|
242
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(InvoicePDFData.CustRetRoundedTotal)) {
|
|
243
243
|
// TotalData.push({ text: 'Total : ' + InvoicePDFData.CustRoundedTotal, style: ['headerstyle'], alignment: 'right', marginRight: 5, });
|
|
244
244
|
TotalData.push({ name: 'Total', value: InvoicePDFData.CustNonRetRoundedTotal });
|
|
245
245
|
TotalData.push({ name: 'Returns Total', value: InvoicePDFData.CustRetRoundedTotal });
|
|
246
246
|
}
|
|
247
|
-
if (!
|
|
247
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(InvoicePDFData.CustRoundedTotal)) {
|
|
248
248
|
// TotalData.push({ text: 'Total : ' + InvoicePDFData.CustRoundedTotal, style: ['headerstyle'], alignment: 'right', marginRight: 5, });
|
|
249
249
|
TotalData.push({ name: 'Final Total', value: InvoicePDFData.CustRoundedTotal });
|
|
250
250
|
}
|
|
251
|
-
if (!
|
|
251
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(InvoicePDFData.Due)) {
|
|
252
252
|
// TotalData.push({ text: 'Total : ' + InvoicePDFData.CustRoundedTotal, style: ['headerstyle'], alignment: 'right', marginRight: 5, });
|
|
253
253
|
TotalData.push({ name: 'Due', value: InvoicePDFData.Due });
|
|
254
254
|
}
|
|
@@ -275,11 +275,11 @@ class PosReceiptPrintService {
|
|
|
275
275
|
static GrandTotalTable(data) {
|
|
276
276
|
var body = [];
|
|
277
277
|
data.forEach((row) => {
|
|
278
|
-
if (!
|
|
278
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(row.value) || row.name === 'Total') {
|
|
279
279
|
var dataRow = [];
|
|
280
280
|
dataRow.push({ text: (row.name).toString(), noWrap: true, bold: true, style: ['headerstyle'], fontSize: 10 });
|
|
281
281
|
dataRow.push({ text: ':', style: ['headerstyle'], bold: true, fontSize: 10 });
|
|
282
|
-
if (!
|
|
282
|
+
if (!tr_utils_1.TrUtils.IsNull(row.value)) {
|
|
283
283
|
dataRow.push({ text: (row.value).toString(), noWrap: true, alignment: 'right', bold: true, style: ['headerstyle'], fontSize: 10, marginRight: 5 });
|
|
284
284
|
}
|
|
285
285
|
else {
|
|
@@ -297,7 +297,7 @@ class PosReceiptPrintService {
|
|
|
297
297
|
// let OveralDisc: number = TrUtils.SetValueToZeroIfNull(Number(InvoicePDFData.Disc)) +
|
|
298
298
|
// TrUtils.SetValueToZeroIfNull(Number(InvoicePDFData.CustPartsDiscTotal));
|
|
299
299
|
// console.log(InvoicePDFData.Disc,InvoicePDFData.CustPartsDiscTotal);
|
|
300
|
-
return
|
|
300
|
+
return tr_utils_1.TrUtils.FixPriceValue(Number(InvoicePDFData.CustPartsDiscTotal));
|
|
301
301
|
}
|
|
302
302
|
static CustomerAndVehicleDetailsAfterLine(size) {
|
|
303
303
|
let length = 575;
|
|
@@ -405,11 +405,11 @@ class PosReceiptPrintService {
|
|
|
405
405
|
dataRow.push({ text: item.Make, alignment: 'center', style: ['headerstyle'], });
|
|
406
406
|
dataRow.push({ text: item.Sch, alignment: 'center', style: ['headerstyle'], });
|
|
407
407
|
dataRow.push({ text: item.Ret ? -item.Qty : item.Qty, alignment: 'right', style: ['headerstyle'], });
|
|
408
|
-
dataRow.push({ text:
|
|
408
|
+
dataRow.push({ text: tr_utils_1.TrUtils.FixPriceValue(item.UnPr), alignment: 'right', style: ['headerstyle'], });
|
|
409
409
|
if (ShowTaxColumn) {
|
|
410
410
|
dataRow.push({ text: item.TaxName, alignment: 'center', style: ['headerstyle'], });
|
|
411
411
|
}
|
|
412
|
-
dataRow.push({ text: item.Ret ? '-' +
|
|
412
|
+
dataRow.push({ text: item.Ret ? '-' + tr_utils_1.TrUtils.FixPriceValue(item.LineTotal) : tr_utils_1.TrUtils.FixPriceValue(item.LineTotal), alignment: 'right', style: ['headerstyle'], });
|
|
413
413
|
body.push(dataRow);
|
|
414
414
|
if (index + 1 === j * 9) {
|
|
415
415
|
j++;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PurchaseOrderPDFService = void 0;
|
|
4
|
-
const
|
|
4
|
+
const tr_utils_1 = require("../utils/tr-utils");
|
|
5
5
|
const shared_pdf_service_1 = require("./shared-pdf.service");
|
|
6
6
|
const shared_print_service_1 = require("./shared-print.service");
|
|
7
7
|
class PurchaseOrderPDFService {
|
|
@@ -138,7 +138,7 @@ class PurchaseOrderPDFService {
|
|
|
138
138
|
}
|
|
139
139
|
static GetMainHeaderStyleForLeftAlignHeader(WorkShopName) {
|
|
140
140
|
var wsname_fontSize;
|
|
141
|
-
if (
|
|
141
|
+
if (tr_utils_1.TrUtils.IsNull(WorkShopName)) {
|
|
142
142
|
WorkShopName = '';
|
|
143
143
|
}
|
|
144
144
|
switch (true) {
|
|
@@ -173,10 +173,10 @@ class PurchaseOrderPDFService {
|
|
|
173
173
|
{ text: '' + Entity.City + this.GetPinCode(Entity.PIN) + ', ' + 'Ph: ' + Entity.Phone, style: headerstyle },
|
|
174
174
|
{ text: '' + this.GetEmailName(Entity.Email) + '', style: headerstyle }
|
|
175
175
|
];
|
|
176
|
-
if (!
|
|
176
|
+
if (!tr_utils_1.TrUtils.IsEmpty(Entity.Adrs2)) {
|
|
177
177
|
SubHeader.splice(1, 0, { text: '' + Entity.Adrs2 + '', style: [headerstyle] });
|
|
178
178
|
}
|
|
179
|
-
if (!
|
|
179
|
+
if (!tr_utils_1.TrUtils.IsEmpty(Entity.TLine)) {
|
|
180
180
|
SubHeader.unshift({ text: this.GetTagLine(Entity.TLine), fontSize: 10, bold: true, margin: [0, 0, 0, 2] });
|
|
181
181
|
}
|
|
182
182
|
return SubHeader;
|
|
@@ -189,31 +189,31 @@ class PurchaseOrderPDFService {
|
|
|
189
189
|
};
|
|
190
190
|
}
|
|
191
191
|
static GetTagLine(TLine) {
|
|
192
|
-
if (
|
|
192
|
+
if (tr_utils_1.TrUtils.IsEmpty(TLine)) {
|
|
193
193
|
TLine = '';
|
|
194
194
|
}
|
|
195
195
|
return TLine;
|
|
196
196
|
}
|
|
197
197
|
static GetEmailName(email) {
|
|
198
198
|
let Email = '';
|
|
199
|
-
if (!
|
|
199
|
+
if (!tr_utils_1.TrUtils.IsNull(email)) {
|
|
200
200
|
Email = 'Email: ' + email;
|
|
201
201
|
}
|
|
202
202
|
return Email;
|
|
203
203
|
}
|
|
204
204
|
static GetPinCode(pin) {
|
|
205
205
|
let code = '';
|
|
206
|
-
if (!
|
|
206
|
+
if (!tr_utils_1.TrUtils.IsNull(pin)) {
|
|
207
207
|
code = ' - ' + pin;
|
|
208
208
|
}
|
|
209
209
|
return code;
|
|
210
210
|
}
|
|
211
211
|
static GetEntityTaxDetails(Entity) {
|
|
212
212
|
let EntityData = [];
|
|
213
|
-
if (!
|
|
213
|
+
if (!tr_utils_1.TrUtils.IsEmpty(Entity.GSTIN)) {
|
|
214
214
|
EntityData.push({ name: 'GSTIN', value: Entity.GSTIN });
|
|
215
215
|
}
|
|
216
|
-
if (!
|
|
216
|
+
if (!tr_utils_1.TrUtils.IsEmpty(Entity.PAN)) {
|
|
217
217
|
EntityData.push({ name: 'PAN No', value: Entity.PAN });
|
|
218
218
|
}
|
|
219
219
|
if (EntityData.length !== 0) {
|
|
@@ -246,7 +246,7 @@ class PurchaseOrderPDFService {
|
|
|
246
246
|
static DataCreateForTable(EntityFields) {
|
|
247
247
|
var body = [];
|
|
248
248
|
EntityFields.forEach((row) => {
|
|
249
|
-
if (!
|
|
249
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(row.value) && !tr_utils_1.TrUtils.IsEmpty(row.value)) {
|
|
250
250
|
var dataRow = [];
|
|
251
251
|
dataRow.push({ text: (row.name).toString(), noWrap: true });
|
|
252
252
|
dataRow.push(':');
|
|
@@ -286,7 +286,7 @@ class PurchaseOrderPDFService {
|
|
|
286
286
|
};
|
|
287
287
|
}
|
|
288
288
|
static GetVendorData(Vendor, Type) {
|
|
289
|
-
if (
|
|
289
|
+
if (tr_utils_1.TrUtils.IsNull(Vendor)) {
|
|
290
290
|
return shared_pdf_service_1.SharedPDFService.emptyObject();
|
|
291
291
|
}
|
|
292
292
|
return {
|
|
@@ -317,7 +317,7 @@ class PurchaseOrderPDFService {
|
|
|
317
317
|
}
|
|
318
318
|
static GetFormatAddress(CustomerObj) {
|
|
319
319
|
var Addressnew = '';
|
|
320
|
-
if (!
|
|
320
|
+
if (!tr_utils_1.TrUtils.IsNull(CustomerObj) && !tr_utils_1.TrUtils.IsNull(CustomerObj.Address)) {
|
|
321
321
|
CustomerObj.Address.forEach((Adrs) => {
|
|
322
322
|
Addressnew = Addressnew + Adrs + '\n';
|
|
323
323
|
});
|
|
@@ -326,7 +326,7 @@ class PurchaseOrderPDFService {
|
|
|
326
326
|
}
|
|
327
327
|
static GetVendorGSTIN(Vendor) {
|
|
328
328
|
let GSTIN = {};
|
|
329
|
-
if (!
|
|
329
|
+
if (!tr_utils_1.TrUtils.IsEmpty(Vendor.GSTIN)) {
|
|
330
330
|
let columns = [];
|
|
331
331
|
columns.push({ text: 'GSTIN :', width: 33, style: 'hed' });
|
|
332
332
|
columns.push({ text: Vendor.GSTIN, marginTop: 1.5 });
|
|
@@ -373,14 +373,14 @@ class PurchaseOrderPDFService {
|
|
|
373
373
|
}
|
|
374
374
|
static getPartsData(ROPrintData) {
|
|
375
375
|
if (ROPrintData.Entity.Body === 1) {
|
|
376
|
-
return this.GetPartsTableForView(
|
|
376
|
+
return this.GetPartsTableForView(tr_utils_1.TrUtils.Stringify(ROPrintData.Items), tr_utils_1.TrUtils.Stringify(ROPrintData.Ops), ROPrintData.Entity.MPN);
|
|
377
377
|
}
|
|
378
378
|
else {
|
|
379
379
|
if (ROPrintData.Entity.Body === 2) {
|
|
380
|
-
return this.WithOutDiscountFieldTable(
|
|
380
|
+
return this.WithOutDiscountFieldTable(tr_utils_1.TrUtils.Stringify(ROPrintData.Items), tr_utils_1.TrUtils.Stringify(ROPrintData.Ops), ROPrintData.Entity.MPN, ROPrintData.ShowTaxColumn, ROPrintData.Entity.Body, ROPrintData.ShowIGST, ROPrintData.ShowDiscountColumn);
|
|
381
381
|
}
|
|
382
382
|
else {
|
|
383
|
-
return this.GetWithOutDiscAndTaxFieldHeader(
|
|
383
|
+
return this.GetWithOutDiscAndTaxFieldHeader(tr_utils_1.TrUtils.Stringify(ROPrintData.Items), tr_utils_1.TrUtils.Stringify(ROPrintData.Ops), ROPrintData.Entity.MPN, ROPrintData.ShowTaxColumn, ROPrintData.Entity.Body, ROPrintData.ShowIGST, ROPrintData.ShowDiscountColumn);
|
|
384
384
|
}
|
|
385
385
|
}
|
|
386
386
|
}
|
|
@@ -576,7 +576,7 @@ class PurchaseOrderPDFService {
|
|
|
576
576
|
var dataRow = [];
|
|
577
577
|
columns.forEach((column) => {
|
|
578
578
|
var _a, _b, _c, _d;
|
|
579
|
-
if (!
|
|
579
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(part[column.Field]) && !tr_utils_1.TrUtils.IsNull(part[column.Field])
|
|
580
580
|
|| column.text === 'Line Total' || column.text === 'Unit Price') {
|
|
581
581
|
if (part[column.Field] === 'Spare Items') {
|
|
582
582
|
dataRow.push({ text: (_a = part[column.Field]) === null || _a === void 0 ? void 0 : _a.toString(), marginLeft: 50, style: 'InlineHeader' });
|
|
@@ -594,7 +594,7 @@ class PurchaseOrderPDFService {
|
|
|
594
594
|
if (column.Field === 'Desc') {
|
|
595
595
|
let DescData = [];
|
|
596
596
|
DescData.push((_d = part[column.Field]) === null || _d === void 0 ? void 0 : _d.toString());
|
|
597
|
-
if (!
|
|
597
|
+
if (!tr_utils_1.TrUtils.IsEmpty(part['EDesc'])) {
|
|
598
598
|
DescData.push({ text: part['EDesc'].toString(), color: 'grey' });
|
|
599
599
|
}
|
|
600
600
|
dataRow.push({ stack: DescData });
|
|
@@ -618,12 +618,12 @@ class PurchaseOrderPDFService {
|
|
|
618
618
|
});
|
|
619
619
|
body.push(dataRow);
|
|
620
620
|
});
|
|
621
|
-
if (!
|
|
621
|
+
if (!tr_utils_1.TrUtils.IsNull(Ops)) {
|
|
622
622
|
Ops === null || Ops === void 0 ? void 0 : Ops.forEach((part) => {
|
|
623
623
|
var dataRow = [];
|
|
624
624
|
columns.forEach((column) => {
|
|
625
625
|
var _a, _b, _c, _d;
|
|
626
|
-
if (!
|
|
626
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(part[column.Field]) && !tr_utils_1.TrUtils.IsNull(part[column.Field])
|
|
627
627
|
|| column.text === 'Line Total' || column.text === 'Unit Price') {
|
|
628
628
|
if (part[column.Field] === 'Spare Items') {
|
|
629
629
|
dataRow.push({ text: (_a = part[column.Field]) === null || _a === void 0 ? void 0 : _a.toString(), marginLeft: 50, style: 'InlineHeader' });
|
|
@@ -641,7 +641,7 @@ class PurchaseOrderPDFService {
|
|
|
641
641
|
if (column.Field === 'Desc') {
|
|
642
642
|
let DescData = [];
|
|
643
643
|
DescData.push((_d = part[column.Field]) === null || _d === void 0 ? void 0 : _d.toString());
|
|
644
|
-
if (!
|
|
644
|
+
if (!tr_utils_1.TrUtils.IsEmpty(part['EDesc'])) {
|
|
645
645
|
DescData.push({ text: part['EDesc'].toString(), color: 'grey' });
|
|
646
646
|
}
|
|
647
647
|
dataRow.push({ stack: DescData });
|
|
@@ -678,7 +678,7 @@ class PurchaseOrderPDFService {
|
|
|
678
678
|
return PartsTable;
|
|
679
679
|
}
|
|
680
680
|
static GetPOTotalDetails(ROPrintData, moreDiscDetails) {
|
|
681
|
-
if (
|
|
681
|
+
if (tr_utils_1.TrUtils.IsNull(ROPrintData.SubTotal)) {
|
|
682
682
|
ROPrintData.SubTotal = 0;
|
|
683
683
|
}
|
|
684
684
|
return {
|
|
@@ -696,11 +696,11 @@ class PurchaseOrderPDFService {
|
|
|
696
696
|
static GetTaxOnParts(BasicPartsTotal, PartsTotalBeforeDisc, PCGST, PSGST, ShowAccParts, PIGST, ShowIGST, ShowTaxColumn, ShowDetailedPartTaxInfo) {
|
|
697
697
|
let istheretax = false;
|
|
698
698
|
let PartsTotal = [];
|
|
699
|
-
if (!
|
|
699
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(BasicPartsTotal)) {
|
|
700
700
|
PartsTotal.push({ name: 'Total Taxable', value: BasicPartsTotal });
|
|
701
701
|
}
|
|
702
702
|
if (ShowTaxColumn) {
|
|
703
|
-
if (!
|
|
703
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(PartsTotalBeforeDisc)) {
|
|
704
704
|
PartsTotal.unshift({ name: 'Items', value: PartsTotalBeforeDisc });
|
|
705
705
|
}
|
|
706
706
|
}
|
|
@@ -735,34 +735,34 @@ class PurchaseOrderPDFService {
|
|
|
735
735
|
];
|
|
736
736
|
let total = {
|
|
737
737
|
name: 'Total',
|
|
738
|
-
value:
|
|
738
|
+
value: tr_utils_1.TrUtils.FixPriceValue(OverAllRecordTotal)
|
|
739
739
|
};
|
|
740
740
|
let Rounding = { name: 'Rounding', value: Rounded };
|
|
741
741
|
let FinalTotal = { name: 'Total', value: GrandTotal };
|
|
742
742
|
if (Rounding.value > 0) {
|
|
743
743
|
Rounding.value = '+' + Rounding.value;
|
|
744
744
|
}
|
|
745
|
-
if (!
|
|
746
|
-
AccountFields.push({ name: 'SubTotal', value:
|
|
745
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(SubTotal)) {
|
|
746
|
+
AccountFields.push({ name: 'SubTotal', value: tr_utils_1.TrUtils.FixPriceValue(SubTotal) });
|
|
747
747
|
}
|
|
748
|
-
if (!
|
|
748
|
+
if (!tr_utils_1.TrUtils.IsEmpty(PartsDiscTotal) && !moreDiscDetails) {
|
|
749
749
|
AccountFields.push({ name: 'Discount', value: '-' + PartsDiscTotal });
|
|
750
750
|
}
|
|
751
751
|
else {
|
|
752
|
-
AccountFields.push({ name: 'Overall Discount', value: '-' +
|
|
752
|
+
AccountFields.push({ name: 'Overall Discount', value: '-' + tr_utils_1.TrUtils.FixPriceValue(RecordData.Disc) });
|
|
753
753
|
}
|
|
754
|
-
if (!
|
|
754
|
+
if (!tr_utils_1.TrUtils.IsEmpty(TaxTotal)) {
|
|
755
755
|
AccountFields.push({ name: 'Total Tax', value: TaxTotal });
|
|
756
756
|
}
|
|
757
|
-
if (!
|
|
757
|
+
if (!tr_utils_1.TrUtils.IsEmpty(Adj)) {
|
|
758
758
|
if (Adj > 0) {
|
|
759
|
-
Adj = '+' +
|
|
759
|
+
Adj = '+' + tr_utils_1.TrUtils.FixPriceValue(Adj);
|
|
760
760
|
}
|
|
761
|
-
AccountFields.push({ name: 'Adjust', value:
|
|
761
|
+
AccountFields.push({ name: 'Adjust', value: tr_utils_1.TrUtils.FixPriceValue(Adj) });
|
|
762
762
|
}
|
|
763
763
|
AccountFields.push(total);
|
|
764
764
|
AccountFields.push(Rounding);
|
|
765
|
-
if (!
|
|
765
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(Rounded)) {
|
|
766
766
|
AccountFields.push(FinalTotal);
|
|
767
767
|
}
|
|
768
768
|
return {
|
|
@@ -875,15 +875,15 @@ class PurchaseOrderPDFService {
|
|
|
875
875
|
return HeaderNames;
|
|
876
876
|
}
|
|
877
877
|
static CreateTableForGroupByHSN(PartsTaxInfo, ShowAccParts, ShowIGST, ShowTaxColumn) {
|
|
878
|
-
if (!
|
|
878
|
+
if (!tr_utils_1.TrUtils.IsNull(PartsTaxInfo) && PartsTaxInfo.length !== 0 && ShowAccParts && ShowTaxColumn) {
|
|
879
879
|
var body = [];
|
|
880
880
|
let columns = this.CreateHeaderForGroupByHSN(ShowIGST);
|
|
881
881
|
body.push(columns);
|
|
882
882
|
PartsTaxInfo.forEach((part) => {
|
|
883
883
|
var dataRow = [];
|
|
884
884
|
columns.forEach((column) => {
|
|
885
|
-
if (!
|
|
886
|
-
!
|
|
885
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(part[column.Field]) &&
|
|
886
|
+
!tr_utils_1.TrUtils.IsNull(part[column.Field]) || column.Field === 'SGST' || column.Field === 'CGST'
|
|
887
887
|
|| column.Field === 'TotalTaxAmount') {
|
|
888
888
|
if (column.Field === 'SGSTLaborAmt') {
|
|
889
889
|
dataRow.push({ text: part[column.Field].toString(), alignment: 'right', nowrap: true });
|
|
@@ -906,14 +906,14 @@ class PurchaseOrderPDFService {
|
|
|
906
906
|
}
|
|
907
907
|
}
|
|
908
908
|
static CreateTableForGroupByPercentage(PartsTaxInfo, ShowAccParts, ShowTaxColumn) {
|
|
909
|
-
if (!
|
|
909
|
+
if (!tr_utils_1.TrUtils.IsNull(PartsTaxInfo) && PartsTaxInfo.length !== 0 && ShowAccParts && ShowTaxColumn) {
|
|
910
910
|
var body = [];
|
|
911
911
|
let columns = this.CreateHeaderForGroupByPercentage();
|
|
912
912
|
body.push(columns);
|
|
913
913
|
PartsTaxInfo.forEach((part) => {
|
|
914
914
|
var dataRow = [];
|
|
915
915
|
columns.forEach((column) => {
|
|
916
|
-
if (!
|
|
916
|
+
if (!tr_utils_1.TrUtils.IsNull(part[column.Field]) && !tr_utils_1.TrUtils.IsNull(part[column.Field])) {
|
|
917
917
|
if (column.Field === 'TotalTaxAmount' || column.Field === 'TotalTaxableAmount') {
|
|
918
918
|
dataRow.push({ text: part[column.Field].toString(), alignment: 'right', nowrap: true });
|
|
919
919
|
}
|
|
@@ -937,7 +937,7 @@ class PurchaseOrderPDFService {
|
|
|
937
937
|
static CreateGrandTotalTable(data) {
|
|
938
938
|
var body = [];
|
|
939
939
|
data.forEach((row) => {
|
|
940
|
-
if (!
|
|
940
|
+
if (!tr_utils_1.TrUtils.IsFixedZero(row.value) || row.name === 'Total') {
|
|
941
941
|
var dataRow = [];
|
|
942
942
|
dataRow.push({ text: (row.name).toString(), noWrap: true });
|
|
943
943
|
dataRow.push(':');
|