shareneus 1.7.4 → 1.7.6

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 (212) hide show
  1. package/README.md +1 -0
  2. package/dist/accounting/invoice/invoice-pdf/invoice-pdf.service.js +18 -45
  3. package/dist/accounting/invoice/reports/excel/analysis-excel.service.js +17 -7
  4. package/dist/accounting/invoice/reports/excel/category-wise-item-excel.service.js +17 -7
  5. package/dist/accounting/invoice/reports/excel/cust-wise-sales-details.js +17 -7
  6. package/dist/accounting/invoice/reports/excel/cust-wise-sales-summary-excel.service.js +17 -7
  7. package/dist/accounting/invoice/reports/excel/invoice-wise-excel.service.js +17 -7
  8. package/dist/accounting/invoice/reports/excel/item-wise-doctor-sale-excel.service.js +17 -7
  9. package/dist/accounting/invoice/reports/excel/items-wise-sales-excel.service.js +17 -7
  10. package/dist/accounting/invoice/reports/excel/manf-wise-sales-excel.service.js +17 -7
  11. package/dist/accounting/invoice/reports/excel/operator-wise-details.js +17 -7
  12. package/dist/accounting/invoice/reports/excel/operator-wise-summary.js +17 -7
  13. package/dist/accounting/invoice/reports/excel/sa-wise-labor-sales-excel.service.js +17 -7
  14. package/dist/accounting/invoice/reports/excel/sa-wise-part-sales-excel.service.js +17 -7
  15. package/dist/accounting/invoice/reports/excel/sale-summary-excel.service.js +17 -7
  16. package/dist/accounting/invoice/reports/excel/sales-by-service-summary-excel.service.js +17 -7
  17. package/dist/accounting/invoice/reports/excel/scheduled-drug-summary-excel.service.js +17 -7
  18. package/dist/accounting/invoice/reports/excel/scheduled-drugs-excel.service.js +17 -7
  19. package/dist/accounting/invoice/unified-invoice-pdf.service.d.ts +1 -1
  20. package/dist/accounting/payment-receive/reports/excel/cust-balance-excel.service.js +17 -7
  21. package/dist/accounting/payment-receive/reports/excel/payment-receive-excel.service.js +17 -7
  22. package/dist/common/reports/excel/product-without-owner-excel.service.js +17 -7
  23. package/dist/gst/excel/GSTR-RO-excel.service.js +17 -7
  24. package/dist/gst/excel/GSTR1-excel.service.js +17 -7
  25. package/dist/gst/excel/GSTR2-excel.service.js +17 -7
  26. package/dist/gst/excel/hsn-summary.js +17 -7
  27. package/dist/gst/excel/tally-sales-import.service.js +17 -7
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.js +6 -6
  30. package/dist/inventory/items/reports/excel/expiring-drugs-excel.service.js +17 -7
  31. package/dist/inventory/items/reports/excel/item-wise-mout-details.js +17 -7
  32. package/dist/inventory/items/reports/excel/item-wise-mout-summary.js +17 -7
  33. package/dist/inventory/items/reports/excel/spares-issue-excel.service.js +17 -7
  34. package/dist/inventory/items/reports/excel/stock-excel.service.js +17 -7
  35. package/dist/purchases/payment-made/reports/excel/payments-made-excel.service.js +17 -7
  36. package/dist/purchases/payment-made/reports/excel/ven-balance-excel.service.js +17 -7
  37. package/dist/services/reports/excel/insurance-expire-excel.service.js +17 -7
  38. package/dist/services/reports/excel/next-service-date-excel.service.js +17 -7
  39. package/dist/services/reports/excel/repair-orders-excel.service.js +17 -7
  40. package/dist/shared/table-section/pdf-table.header.d.ts +1 -1
  41. package/dist/shared/table-section/pdf-table.header.js +14 -2
  42. package/dist/shared/table-section/pdf-table.section.js +6 -13
  43. package/dist/{accounting/invoice/invoice-pdf.service.js → shared/transactions-pdf.service.js} +15 -15
  44. package/package.json +1 -1
  45. package/src/accounting/counter-sales/auto-sales-receipt-pdf.service.ts +569 -0
  46. package/src/accounting/counter-sales/pos-receipt-pdf.ts +577 -0
  47. package/src/accounting/counter-sales/sales-receipt-pdf.service.ts +628 -0
  48. package/src/accounting/counter-sales/sales-receipt-print.service.ts +506 -0
  49. package/src/accounting/credit-note/cn-print.service.ts +264 -0
  50. package/src/accounting/credit-note/credit-note-pdf.service.ts +602 -0
  51. package/src/accounting/credit-note/credit-note-totals.service.ts +424 -0
  52. package/src/accounting/debit-note/debit-note-pdf.service.ts +681 -0
  53. package/src/accounting/debit-note/debit-note-print.service.ts +276 -0
  54. package/src/accounting/debit-note/debit-note-totals.service.ts +361 -0
  55. package/src/accounting/invoice/hc-inv-pdf.service.ts +880 -0
  56. package/src/accounting/invoice/inv-pdf.service.ts +812 -0
  57. package/src/accounting/invoice/inv-print.service.ts +532 -0
  58. package/src/accounting/invoice/invoice-landscape-pdf.service.ts +947 -0
  59. package/src/accounting/invoice/invoice-letterhead-pdf.service.ts +813 -0
  60. package/src/accounting/invoice/invoice-pdf/invoice-pdf.service.ts +359 -0
  61. package/src/accounting/invoice/invoice-portrait-pdf.ts +972 -0
  62. package/src/accounting/invoice/invoice-print.service.ts +2906 -0
  63. package/src/accounting/invoice/invoice-total.service.ts +834 -0
  64. package/src/accounting/invoice/reports/excel/analysis-excel.service.ts +291 -0
  65. package/src/accounting/invoice/reports/excel/category-wise-item-excel.service.ts +267 -0
  66. package/src/accounting/invoice/reports/excel/cust-wise-sales-details.ts +321 -0
  67. package/src/accounting/invoice/reports/excel/cust-wise-sales-summary-excel.service.ts +300 -0
  68. package/src/accounting/invoice/reports/excel/invoice-wise-excel.service.ts +859 -0
  69. package/src/accounting/invoice/reports/excel/item-wise-doctor-sale-excel.service.ts +255 -0
  70. package/src/accounting/invoice/reports/excel/items-wise-sales-excel.service.ts +312 -0
  71. package/src/accounting/invoice/reports/excel/manf-wise-sales-excel.service.ts +273 -0
  72. package/src/accounting/invoice/reports/excel/operator-wise-details.ts +258 -0
  73. package/src/accounting/invoice/reports/excel/operator-wise-summary.ts +259 -0
  74. package/src/accounting/invoice/reports/excel/sa-wise-labor-sales-excel.service.ts +230 -0
  75. package/src/accounting/invoice/reports/excel/sa-wise-part-sales-excel.service.ts +231 -0
  76. package/src/accounting/invoice/reports/excel/sale-summary-excel.service.ts +326 -0
  77. package/src/accounting/invoice/reports/excel/sales-by-service-details-excel.service.ts +0 -0
  78. package/src/accounting/invoice/reports/excel/sales-by-service-summary-excel.service.ts +432 -0
  79. package/src/accounting/invoice/reports/excel/scheduled-drug-summary-excel.service.ts +373 -0
  80. package/src/accounting/invoice/reports/excel/scheduled-drugs-excel.service.ts +372 -0
  81. package/src/accounting/invoice/reports/pdf/analysis-pdf.service.ts +113 -0
  82. package/src/accounting/invoice/reports/pdf/category-wise-item-pdf.service.ts +107 -0
  83. package/src/accounting/invoice/reports/pdf/cust-wise-sales-details-pdf.service.ts +125 -0
  84. package/src/accounting/invoice/reports/pdf/cust-wise-sales-summary-pdf.service.ts +119 -0
  85. package/src/accounting/invoice/reports/pdf/item-wise-doctor-sale-pdf.service.ts +180 -0
  86. package/src/accounting/invoice/reports/pdf/item-wise-sales-pdf.service.ts +193 -0
  87. package/src/accounting/invoice/reports/pdf/manf-wise-sales-pdf.service.ts +188 -0
  88. package/src/accounting/invoice/reports/pdf/operator-wise-details-pdf.service.ts +118 -0
  89. package/src/accounting/invoice/reports/pdf/operator-wise-summary-pdf.ts +116 -0
  90. package/src/accounting/invoice/reports/pdf/sales-by-service-pdf.service.ts +132 -0
  91. package/src/accounting/invoice/reports/pdf/scheduled-drug-pdf.service.ts +191 -0
  92. package/src/accounting/invoice/reports/pdf/scheduled-drug-summary-pdf.service.ts +202 -0
  93. package/src/accounting/invoice/shared-inv-pdf.service.ts +787 -0
  94. package/src/accounting/invoice/unified-invoice-pdf.service.ts +937 -0
  95. package/src/accounting/payment-receive/payment-pdf.service.ts +410 -0
  96. package/src/accounting/payment-receive/payment-receipt-pdf/receipt-pdf.service.ts +470 -0
  97. package/src/accounting/payment-receive/receipt-print.service.ts +71 -0
  98. package/src/accounting/payment-receive/reports/excel/cust-balance-excel.service.ts +298 -0
  99. package/src/accounting/payment-receive/reports/excel/payment-receive-excel.service.ts +221 -0
  100. package/src/accounting/payment-receive/reports/pdf/customer-balances-pdf.service.ts +182 -0
  101. package/src/accounting/payment-receive/reports/pdf/payment-report-pdf.service.ts +116 -0
  102. package/src/aggregation/aggregation.ts +58 -0
  103. package/src/appointments/appointments/appointment-total.service.ts +298 -0
  104. package/src/appointments/consultations/consultation-fee-receipt.service.ts +407 -0
  105. package/src/appointments/consultations/consultation-full-pdf.service.ts +238 -0
  106. package/src/appointments/consultations/consultation-letterhead-pdf.service.ts +430 -0
  107. package/src/appointments/consultations/consultation-pdf.service.ts +417 -0
  108. package/src/common/reports/excel/product-without-owner-excel.service.ts +308 -0
  109. package/src/common/reports/pdf/product-without-owner-pdf.service.ts +146 -0
  110. package/src/enums/cache-enums.ts +33 -0
  111. package/src/enums/code-enums.ts +291 -0
  112. package/src/enums/country-enums.ts +9 -0
  113. package/src/enums/enums.ts +364 -0
  114. package/src/enums/industry-enums.ts +26 -0
  115. package/src/enums/treatment-enums.ts +9 -0
  116. package/src/gst/excel/GSTR-RO-excel.service.ts +926 -0
  117. package/src/gst/excel/GSTR1-excel.service.ts +313 -0
  118. package/src/gst/excel/GSTR2-excel.service.ts +314 -0
  119. package/src/gst/excel/hsn-summary.ts +314 -0
  120. package/src/gst/excel/tally-sales-import.service.ts +767 -0
  121. package/src/gst/pdf/hsn-summary-pdf.ts +176 -0
  122. package/src/index.ts +194 -0
  123. package/src/inventory/items/adjustment-pdf.service.ts +177 -0
  124. package/src/inventory/items/issue-parts-pdf.service.ts +795 -0
  125. package/src/inventory/items/item-bar-code-label-pdf.ts +194 -0
  126. package/src/inventory/items/item-detais-pdf.ts +141 -0
  127. package/src/inventory/items/item-price-for-pricelist.ts +368 -0
  128. package/src/inventory/items/reports/excel/expiring-drugs-excel.service.ts +290 -0
  129. package/src/inventory/items/reports/excel/item-wise-mout-details.ts +284 -0
  130. package/src/inventory/items/reports/excel/item-wise-mout-summary.ts +279 -0
  131. package/src/inventory/items/reports/excel/spares-issue-excel.service.ts +494 -0
  132. package/src/inventory/items/reports/excel/stock-excel.service.ts +319 -0
  133. package/src/inventory/items/reports/pdf/expiring-drugs-pdf.service.ts +172 -0
  134. package/src/inventory/items/reports/pdf/item-wise-mout-details-pdf.ts +122 -0
  135. package/src/inventory/items/reports/pdf/item-wise-mout-summary-pdf.ts +115 -0
  136. package/src/inventory/items/reports/pdf/reorder-point-pdf.service.ts +163 -0
  137. package/src/inventory/material-out/mout-pdf.service.ts +545 -0
  138. package/src/inventory/transfer-order/transfer-order-pdf.service.ts +154 -0
  139. package/src/purchases/bills/bill-pdf/bill-pdf.service.ts +211 -0
  140. package/src/purchases/bills/bill-pdf.service.ts +21 -0
  141. package/src/purchases/payment-made/reports/excel/payments-made-excel.service.ts +313 -0
  142. package/src/purchases/payment-made/reports/excel/ven-balance-excel.service.ts +307 -0
  143. package/src/purchases/payment-made/reports/pdf/vendor-balances-pdf.service.ts +114 -0
  144. package/src/purchases/purchase-order/po-totals.service.ts +343 -0
  145. package/src/purchases/purchase-order/purchase-order-pdf.service.ts +1016 -0
  146. package/src/purchases/purchase-order/purchase-order-print.service.ts +279 -0
  147. package/src/purchases/purchase-order/purchase-order-totals.service.ts +637 -0
  148. package/src/purchases/vendor-credit-note/vendor-credit-note-pdf.service.ts +1055 -0
  149. package/src/purchases/vendor-credit-note/vendor-credit-note-print.service.ts +145 -0
  150. package/src/purchases/vendor-credit-note/vendor-credit-note-totals.service.ts +399 -0
  151. package/src/purchases/vendor-debit-note/vendor-debit-note-pdf.service.ts +582 -0
  152. package/src/purchases/vendor-debit-note/vendor-debit-note-print.service.ts +295 -0
  153. package/src/purchases/vendor-debit-note/vendor-debit-note-totals.service.ts +377 -0
  154. package/src/sales/delivery-challan/dc-landscape-pdf.service.ts +922 -0
  155. package/src/sales/delivery-challan/dc-landscape-without-price-pdf.service.ts +869 -0
  156. package/src/sales/delivery-challan/dc-without-price-pdf.service.ts +505 -0
  157. package/src/sales/delivery-challan/delivery-challan-pdf.service.ts +461 -0
  158. package/src/sales/delivery-challan/delivery-challan-print.service.ts +229 -0
  159. package/src/sales/delivery-challan/delivery-challan-totals.ts +466 -0
  160. package/src/sales/sales/equipment-design-pdf.service.ts +153 -0
  161. package/src/sales/sales/pack-ship-pdf.service.ts +128 -0
  162. package/src/sales/sales/pack-ship-print.service.ts +198 -0
  163. package/src/sales/sales/sales-pdf.service.ts +658 -0
  164. package/src/sales/sales/sales-print.service.ts +376 -0
  165. package/src/sales/sales/sales-totals.service.ts +500 -0
  166. package/src/sales-receive/sales-receive-pdf.service.ts +602 -0
  167. package/src/sales-receive/sales-receive-print.service.ts +242 -0
  168. package/src/sales-receive/sales-receive-totals.service.ts +651 -0
  169. package/src/services/checklist-pdf.ts +151 -0
  170. package/src/services/checklists-pdf.ts +133 -0
  171. package/src/services/est.print-service.ts +1155 -0
  172. package/src/services/reports/excel/insurance-expire-excel.service.ts +292 -0
  173. package/src/services/reports/excel/next-service-date-excel.service.ts +317 -0
  174. package/src/services/reports/excel/repair-orders-excel.service.ts +249 -0
  175. package/src/services/reports/pdf/insurance-expire-pdf.service.ts +115 -0
  176. package/src/services/reports/pdf/next-service-date-pdf.service.ts +198 -0
  177. package/src/services/reports/pdf/repair-orders-pdf.service.ts +184 -0
  178. package/src/services/ro-pdf.service.ts +1917 -0
  179. package/src/services/ro-print-service.ts +881 -0
  180. package/src/services/ro-totals.service.ts +1314 -0
  181. package/src/services/separate-wo-print.service.ts +396 -0
  182. package/src/services/service-history-pdf.service.ts +145 -0
  183. package/src/services/service-price-for-pricelist.ts +649 -0
  184. package/src/services/technician-pdf.service.ts +234 -0
  185. package/src/services/technician-print.service.ts +95 -0
  186. package/src/shared/header-footer-section/pdf-header-footer.section.ts +519 -0
  187. package/src/shared/header-footer-section/pdf-shared.utils.ts +46 -0
  188. package/src/shared/math-operations.ts +208 -0
  189. package/src/shared/party-details-section/pdf-party-details.section.ts +602 -0
  190. package/src/shared/shared-pdf.service.ts +3042 -0
  191. package/src/shared/shared-print.service.ts +879 -0
  192. package/src/shared/table-section/pdf-table.config.ts +8 -0
  193. package/src/shared/table-section/pdf-table.header.ts +396 -0
  194. package/src/shared/table-section/pdf-table.row.ts +248 -0
  195. package/src/shared/table-section/pdf-table.section.ts +447 -0
  196. package/src/shared/totals-section/pdf-totals.section.ts +921 -0
  197. package/src/shared/transactions-pdf.service.ts +191 -0
  198. package/src/shared/util.ts +101 -0
  199. package/src/tasks/meetings/meeting-pdf.ts +410 -0
  200. package/src/tasks/tasks/task-pdf.service.ts +238 -0
  201. package/src/tasks/tasks/task-reports-pdf.service.ts +313 -0
  202. package/src/tax/index.ts +86 -0
  203. package/src/tax/tax-calculator.ts +1025 -0
  204. package/src/tax/tax.types.ts +535 -0
  205. package/src/transaction-calculations/discounts-distribution.ts +343 -0
  206. package/src/transaction-calculations/index.ts +3 -0
  207. package/src/transaction-calculations/total-calculation.ts +443 -0
  208. package/src/transaction-calculations/transaction-calculation-engine.ts +903 -0
  209. package/src/utils/my-date.ts +111 -0
  210. package/src/utils/tr-utils.ts +104 -0
  211. package/tsconfig.json +2 -2
  212. /package/dist/{accounting/invoice/invoice-pdf.service.d.ts → shared/transactions-pdf.service.d.ts} +0 -0
@@ -0,0 +1,145 @@
1
+
2
+ import { PrintTypesEnum } from '../../enums/code-enums';
3
+ import { PrintSharedService } from '../../shared/shared-print.service';
4
+ import { MyDate } from '../../utils/my-date';
5
+ import { TrUtils } from '../../utils/tr-utils';
6
+ import { VendorCreditNoteTotalsService } from './vendor-credit-note-totals.service';
7
+
8
+ export class VendorCreditNotePrintService {
9
+
10
+ //Prepare Pdf Data For Purchase Order And Bill
11
+
12
+ static GetDataForVendorCreditNotesPrint(argCNData: any, EntityData: any, image: any, IncludeGST: any,
13
+ ConsolidateGST: any, TaxCodes: any) {
14
+
15
+ let CNData: any = TrUtils.Stringify(argCNData);
16
+
17
+ let creditNotePDFData: any = {};
18
+
19
+ creditNotePDFData.Settings = TrUtils.Stringify(argCNData.Settings);
20
+ creditNotePDFData.SType = TrUtils.Stringify(argCNData.SType);
21
+
22
+
23
+ // let IsTaxable: boolean = (CNData.Tax === 3) ? true : false;
24
+ let IsTaxable: boolean = true;
25
+
26
+ // PurchaseOrderPDFData.ShowTaxColumn = (CNData.Tax === 3) ? true : false;
27
+
28
+ // PurchaseOrderPDFData.HasTaxIncluded = (CNData.Tax === 2) ? true : false;
29
+
30
+ // PurchaseOrderPDFData.HideDiscountColumn = (CNData.Tax === 2) ? true : false;
31
+
32
+ creditNotePDFData.ShowTaxColumn = true;
33
+
34
+ creditNotePDFData.ShowTaxColumn = (IncludeGST && !ConsolidateGST) ? true : false;
35
+
36
+ creditNotePDFData.HasTaxIncluded = false;
37
+
38
+ creditNotePDFData.ShowDiscountColumn = (creditNotePDFData.Settings.DiscLvl === 'ITM' || creditNotePDFData.Settings.DiscLvl === 'RECITM') ? true : false;
39
+
40
+ // PurchaseOrderPDFData.HasNoTax = (CNData.Tax === 1) ? true : false;
41
+ creditNotePDFData.HasNoTax = false;
42
+
43
+ let SType: any
44
+
45
+ if (!TrUtils.IsNull(argCNData.SType)) {
46
+ SType = argCNData.SType
47
+ }
48
+
49
+ creditNotePDFData.ShowIGST = (TrUtils.IsNull(CNData.SType) || (CNData.SType === 'Intra')) ? false : true;
50
+
51
+ creditNotePDFData.Id = CNData.BNo;
52
+
53
+ creditNotePDFData.CrDate = MyDate.ConvertUTCDateToReadable(CNData.CrDate);
54
+
55
+ creditNotePDFData.DeDate = MyDate.ConvertUTCDateToReadable(CNData.DeDate);
56
+
57
+ creditNotePDFData.Items = TrUtils.Stringify(CNData.Items);
58
+
59
+ // creditNotePDFData.Items = this.GetPartsDescription(creditNotePDFData.Items);
60
+
61
+ let DetailedTotalsInfo: any;
62
+
63
+ creditNotePDFData.Entity = PrintSharedService.GetFormattedEntityDataForPrint(EntityData, PrintTypesEnum.PurOrder, CNData);
64
+
65
+
66
+ DetailedTotalsInfo = VendorCreditNoteTotalsService.GetTotalsValue([], creditNotePDFData.Items, IsTaxable,
67
+ true, creditNotePDFData.Disc, creditNotePDFData.Perc, TaxCodes, true, creditNotePDFData.Settings, creditNotePDFData.Entity);
68
+
69
+ creditNotePDFData = this.ConcatTotalsInfo(creditNotePDFData, DetailedTotalsInfo);
70
+
71
+
72
+ creditNotePDFData = PrintSharedService.GetEntityHeaderStyles(creditNotePDFData, EntityData, image);
73
+
74
+ creditNotePDFData.HeaderName = 'Vendor Credit Note';
75
+
76
+ creditNotePDFData.Vendor = this.GetVendorDataForPrint(TrUtils.Stringify(CNData.BFrom));
77
+
78
+ creditNotePDFData = this.FixPriceValuesForPrint(creditNotePDFData, TaxCodes, creditNotePDFData.Entity);
79
+
80
+ return creditNotePDFData;
81
+ }
82
+
83
+ static GetVendorDataForPrint(argVendorData: any) {
84
+ let VendorPDFData: any = {};
85
+ let VendorData: any = TrUtils.Stringify(argVendorData);
86
+ // VendorPDFData.VendorType = VendorData.Type;
87
+ // if (VendorData.Type === CustomerTypesEnum.Individual) {
88
+ VendorPDFData.Name = VendorData.Name;
89
+ VendorPDFData.Contact = [
90
+ { Type: 'M', No: VendorData.Ph }
91
+ ]
92
+ // } else {
93
+ // VendorPDFData.Name = VendorData.CName;
94
+ // VendorPDFData.Contact = [
95
+ // { Type: 'M', No: VendorData.MPhone }
96
+ // ]
97
+ // }
98
+ VendorPDFData.Address = [];
99
+ if (!TrUtils.IsNull(VendorData.Adrs)) {
100
+ VendorPDFData.Address.push(VendorData.Adrs.A1);
101
+ if (!TrUtils.IsEmpty(VendorData.Adrs.A2)) {
102
+ VendorPDFData.Address.push(VendorData.Adrs.A2);
103
+ }
104
+ VendorPDFData.Address.push(VendorData.Adrs.Ct);
105
+ }
106
+ return VendorPDFData;
107
+ }
108
+
109
+ static ConcatTotalsInfo(creditNotePDFData: any, DetailedTotalsInfo: any) {
110
+ creditNotePDFData = TrUtils.ConcatObjects(creditNotePDFData, DetailedTotalsInfo);
111
+ return creditNotePDFData;
112
+ }
113
+
114
+ static FixPriceValuesForPrint(PrintData: any, TaxCodes: any, DecimalsNumber: number) {
115
+ PrintData.ShowDetailedPartTaxInfo = false;
116
+
117
+ PrintData.Items.forEach((Part: any) => {
118
+ Part.UnPr = TrUtils.FixPriceValue(Part.Pr, DecimalsNumber);
119
+ Part.DiscountedPrice = TrUtils.FixPriceValue(Part.DiscountedPrice, DecimalsNumber);
120
+ Part.AfterTax = TrUtils.FixPriceValue(Part.AfterTax, DecimalsNumber);
121
+ Part.CGSTAmt = TrUtils.FixPriceValue(Part.CGST, DecimalsNumber);
122
+ Part.IGSTAmt = TrUtils.FixPriceValue(Part.IGST, DecimalsNumber);
123
+ Part.SGSTAmt = TrUtils.FixPriceValue(Part.SGST, DecimalsNumber);
124
+ if (!TrUtils.CheckInvalidSelect(Part.TCode)) {
125
+ PrintData.ShowDetailedPartTaxInfo = true;
126
+ }
127
+ Part.CGSTPerc = PrintSharedService.GetCGSTValueBasedOnTaxCode(Part.TCode, TaxCodes);
128
+ Part.SGSTPerc = PrintSharedService.GetSGSTValueBasedOnTaxCode(Part.TCode, TaxCodes);
129
+ Part.IGSTPerc = PrintSharedService.GetIGSTValueBasedOnTaxCode(Part.TCode, TaxCodes);
130
+ });
131
+
132
+ PrintData.PartsDiscTotal = TrUtils.FixPriceValue(PrintData.CustItemsDiscTotal, DecimalsNumber);
133
+ PrintData.PartsTotalAfterDisc = TrUtils.FixPriceValue(PrintData.CustItemsTotalAfterDisc, DecimalsNumber);
134
+ PrintData.PartsTotalBeforeDisc = TrUtils.FixPriceValue(PrintData.CustItemsTotalBeforeDisc, DecimalsNumber);
135
+ PrintData.TaxTotal = TrUtils.FixPriceValue(PrintData.TaxTotal,DecimalsNumber);
136
+ PrintData.PartCGST = TrUtils.FixPriceValue(PrintData.CustItemCGST, DecimalsNumber);
137
+ PrintData.PartIGST = TrUtils.FixPriceValue(PrintData.CustItemIGST, DecimalsNumber);
138
+ PrintData.PartSGST = TrUtils.FixPriceValue(PrintData.CustItemSGST, DecimalsNumber);
139
+ PrintData.PartAfterTax = TrUtils.FixPriceValue(PrintData.CustItemAfterTax, DecimalsNumber);
140
+ PrintData.TotalRoundedBy = TrUtils.FixPriceValue(PrintData.CustTotalRoundedBy, DecimalsNumber);
141
+ PrintData.RoundedTotal = TrUtils.FixPriceValue(PrintData.CustRoundedTotal, DecimalsNumber);
142
+ return PrintData;
143
+ }
144
+
145
+ }
@@ -0,0 +1,399 @@
1
+ import { Add, Subtract } from "../../shared/math-operations";
2
+ import { TrUtils } from "../../utils/tr-utils";
3
+
4
+
5
+
6
+ export class VendorCreditNoteTotalsService {
7
+
8
+ static GetTotalsValue(opCodesList: any, ItemsList: any, IsIndependentTax: boolean, DetailedInfo: boolean,
9
+ Disc: any, Perc: string,
10
+ TaxCodes: any, WithItems: boolean, Settings: any, EntitySettings: any) {
11
+
12
+ // LPerc = TrUtils.SetPercToStringIfNull(LPerc);
13
+ // PPerc = TrUtils.SetPercToStringIfNull(PPerc);
14
+ Perc = TrUtils.SetPercToStringIfNull(Perc);
15
+ // LDisc = TrUtils.SetValueToZeroIfNull(LDisc);
16
+ // PDisc = TrUtils.SetValueToZeroIfNull(PDisc);
17
+ Disc = TrUtils.SetValueToZeroIfNull(Disc);
18
+
19
+
20
+ // opCodesList = this.CalculateLaborValues(opCodesList, IsIndependentTax);
21
+
22
+ ItemsList = this.CalculateLaborItemValues(ItemsList, IsIndependentTax);
23
+
24
+ let finalTotalsData: any = this.GetFinalCNDataForSave(opCodesList, ItemsList, IsIndependentTax, Disc, Perc, DetailedInfo, Settings, EntitySettings.DecimalsNumber);
25
+
26
+ if (DetailedInfo) {
27
+ finalTotalsData = this.GetDetailedTotalsData(finalTotalsData,
28
+ IsIndependentTax, opCodesList, ItemsList, TaxCodes, EntitySettings.DecimalsNumber);
29
+ }
30
+
31
+ if (WithItems) {
32
+ // finalTotalsData.Ops = opCodesList;
33
+ finalTotalsData.Items = ItemsList;
34
+ }
35
+ return finalTotalsData;
36
+ }
37
+
38
+ static CalculateLaborItemValues(ItemsList: any, IsIndependentTax: boolean) {
39
+ ItemsList = this.ResetLaborItemValues(ItemsList, IsIndependentTax);
40
+
41
+ // ItemsList = this.GetLaborItemsDiscountPrice(ItemsList);
42
+
43
+ // ItemsList = this.GetLaborItemsAfterDiscount(ItemsList);
44
+
45
+ // ItemsList = this.GetItemsAfterTax(ItemsList, IsIndependentTax);
46
+
47
+ return ItemsList;
48
+ }
49
+
50
+ static ResetLaborItemValues(ItemsList: any, IsIndependentTax:boolean) {
51
+ ItemsList.forEach((Item: any) => {
52
+ Item = this.ResetLaborItemValueIfInvalid(Item);
53
+ Item.DiscountedPrice = Add(Item.Disc, Item.RecDisc);
54
+ Item.AfterItemDisc = Subtract(Item.UnAmt, Item.Disc, Item.RecDisc);
55
+ if (IsIndependentTax) {
56
+ Item.AfterItemTax = Add(Item.AfterItemDisc, Item.CGST, Item.SGST, Item.IGST);
57
+ } else {
58
+ Item.AfterItemTax = Item.AfterItemDisc;
59
+ }
60
+ });
61
+ return ItemsList;
62
+ }
63
+
64
+ static ResetLaborItemValueIfInvalid(Item: any) {
65
+ Item.UnCo = TrUtils.SetValueToZeroIfNull(Item.UnCo);
66
+ Item.Disc = TrUtils.SetValueToZeroIfNull(Item.Disc);
67
+ Item.RecDisc = TrUtils.SetValueToZeroIfNull(Item.RecDisc);
68
+ Item.CGST = TrUtils.SetValueToZeroIfNull(Item.CGST);
69
+ Item.SGST = TrUtils.SetValueToZeroIfNull(Item.SGST);
70
+ Item.IGST = TrUtils.SetValueToZeroIfNull(Item.IGST);
71
+ return Item;
72
+ }
73
+
74
+ static GetFinalCNDataForSave(LaborList: any, ItemsList: any, IsIndependentTax: boolean, Disc: any, Perc: string,
75
+ DetailedInfo: boolean, Settings: any, DecimalsNumber: number) {
76
+
77
+ let finalTotalsData: any = {};
78
+
79
+ finalTotalsData = this.SetMainDiscountValues(Disc, Perc, finalTotalsData, DetailedInfo);
80
+
81
+ finalTotalsData.Settings = Settings;
82
+
83
+ finalTotalsData = this.GetFinalCustomerTotalsData(finalTotalsData, [], ItemsList,
84
+ IsIndependentTax, DetailedInfo, DecimalsNumber);
85
+
86
+ return finalTotalsData;
87
+ }
88
+
89
+ static SetMainDiscountValues(Disc: string, Perc: string, finalTotalsData: any, DetailedInfo: boolean) {
90
+ // finalTotalsData.LDisc = LDisc;
91
+ // finalTotalsData.LPerc = LPerc;
92
+
93
+ // finalTotalsData.PDisc = PDisc;
94
+ // finalTotalsData.PPerc = PPerc;
95
+
96
+ finalTotalsData.Disc = Disc;
97
+ finalTotalsData.Perc = Perc;
98
+
99
+ if (DetailedInfo) {
100
+ // finalTotalsData.FixedLDisc = LDisc;
101
+ // finalTotalsData.FixedPDisc = PDisc;
102
+ finalTotalsData.FixedDisc = Disc;
103
+ }
104
+ return finalTotalsData;
105
+ }
106
+
107
+ static GetFinalCustomerTotalsData(finalTotalsData: any, LaborList: any, ItemsList: any, IsIndependentTax: boolean,
108
+ DetailedInfo: boolean, DecimalsNumber: number) {
109
+ let CustomerAfterDiscTotals: number = this.GetSubTotalFor([], ItemsList);
110
+
111
+ let CustLaborTaxTotal = this.GetLaborTaxTotalFor([], IsIndependentTax);
112
+
113
+ let CustItemTaxTotal = this.GetItemsTaxTotalFor(ItemsList, IsIndependentTax);
114
+
115
+ finalTotalsData.SubTotal = TrUtils.FixedTo(CustomerAfterDiscTotals, DecimalsNumber);
116
+ // let CustLaborDiscTotal = this.GetLaborDiscountedTotal(LaborList, IsIndependentTax, finalTotalsData);
117
+
118
+ let CustItemsDiscTotal = this.GetItemDiscountedTotal(ItemsList, IsIndependentTax, finalTotalsData, DecimalsNumber);
119
+
120
+ // let CustLaborTotalAfterDisc = this.GetLaborTotalAfterDiscount(LaborList);
121
+ let CustItemsTotalAfterDisc = this.GetItemsTotalAfterDiscount(ItemsList);
122
+
123
+ finalTotalsData.STotal = TrUtils.FixedTo(Add(CustItemsDiscTotal, CustItemsTotalAfterDisc), DecimalsNumber);
124
+
125
+ let CustTotal: any = this.GetCustomerTotalBasedOnTaxType(finalTotalsData, CustLaborTaxTotal, CustItemTaxTotal, [], ItemsList, IsIndependentTax, DecimalsNumber);
126
+
127
+ finalTotalsData.Round = TrUtils.FixedTo(Subtract(Math.round(CustTotal), CustTotal), DecimalsNumber);
128
+
129
+ finalTotalsData.Total = Math.round(CustTotal);
130
+
131
+ if (DetailedInfo) {
132
+ finalTotalsData.FixedSubTotal = TrUtils.FixedTo(CustomerAfterDiscTotals, DecimalsNumber);
133
+ finalTotalsData.FixedTotal = TrUtils.FixedTo(CustTotal, DecimalsNumber);
134
+ }
135
+
136
+ return finalTotalsData;
137
+ }
138
+
139
+ static GetSubTotalFor(LaborList: any, ItemsList: any) {
140
+ // let LaborTotalAfterDisc: any = this.GetLaborTotalAfterDiscount(LaborList);
141
+ let ItemsTotalAfterDisc: any = this.GetItemsTotalAfterDiscount(ItemsList);
142
+ return ItemsTotalAfterDisc;
143
+ }
144
+
145
+ static GetItemsTotalAfterDiscount(ItemsList: any) {
146
+ let ItemsTotalAfterDisc: any = 0;
147
+ ItemsList.forEach((Item: any) => {
148
+ ItemsTotalAfterDisc += Item.AfterItemDisc;
149
+ });
150
+ return ItemsTotalAfterDisc;
151
+ }
152
+
153
+ static GetDetailedTotalsData(finalTotalsData: any, IsIndependentTax: boolean, opCodesList: any, ItemsList: any, TaxCodes: any, DecimalsNumber: number) {
154
+ // finalTotalsData.CustLaborDiscTotal = this.GetLaborDiscountedTotal(opCodesList, IsIndependentTax, finalTotalsData);
155
+
156
+ finalTotalsData.CustItemsDiscTotal = this.GetItemDiscountedTotal(ItemsList, IsIndependentTax, finalTotalsData, DecimalsNumber);
157
+
158
+ // finalTotalsData.CustLaborTotalAfterDisc = this.GetLaborTotalAfterDiscount(opCodesList);
159
+ finalTotalsData.CustItemsTotalAfterDisc = this.GetItemsTotalAfterDiscount(ItemsList);
160
+
161
+ // finalTotalsData.CustLaborTotalBeforeDisc = TrUtils.FixedTo(finalTotalsData.CustLaborTotalAfterDisc
162
+ // + finalTotalsData.CustLaborDiscTotal);
163
+ finalTotalsData.CustItemsTotalBeforeDisc = TrUtils.FixedTo(Add(finalTotalsData.CustItemsTotalAfterDisc
164
+ , finalTotalsData.CustItemsDiscTotal), DecimalsNumber);
165
+
166
+ // finalTotalsData.CustLaborITax = this.GetLaborTaxTotalFor(opCodesList, IsIndependentTax);
167
+ // finalTotalsData.CustLaborSGST = this.GetLaborSGSTTaxTotal(opCodesList, IsIndependentTax);
168
+ // finalTotalsData.CustLaborCGST = this.GetLaborCGSTTaxTotal(opCodesList, IsIndependentTax);
169
+ // finalTotalsData.CustLaborIGST = this.GetLaborIGSTTaxTotal(opCodesList, IsIndependentTax);
170
+ let TaxInfo:any=this.GetItemGSTTaxTotal(ItemsList, IsIndependentTax);
171
+ finalTotalsData.CustItemITax = TrUtils.SetValueToZeroIfNull(TaxInfo[3]);
172
+ finalTotalsData.CustItemCGST = TrUtils.SetValueToZeroIfNull(TaxInfo[0]);
173
+ finalTotalsData.CustItemIGST = TrUtils.SetValueToZeroIfNull(TaxInfo[2]);
174
+ finalTotalsData.CustItemSGST = TrUtils.SetValueToZeroIfNull(TaxInfo[1]);
175
+
176
+ // finalTotalsData.CustItemITax = this.GetItemsTaxTotalFor(ItemsList, IsIndependentTax);
177
+ // finalTotalsData.CustItemCGST = this.GetItemCGSTTaxTotal(ItemsList, IsIndependentTax);
178
+ // finalTotalsData.CustItemIGST = this.GetItemIGSTTaxTotal(ItemsList, IsIndependentTax);
179
+ // finalTotalsData.CustItemSGST = this.GetItemSGSTTaxTotal(ItemsList, IsIndependentTax);
180
+
181
+ // finalTotalsData.CustLaborAfterTax = TrUtils.FixedTo(finalTotalsData.CustLaborITax + finalTotalsData.CustLaborTotalAfterDisc);
182
+ finalTotalsData.CustItemAfterTax = TrUtils.FixedTo(Add(finalTotalsData.CustItemITax, finalTotalsData.CustItemsTotalAfterDisc), DecimalsNumber);
183
+
184
+ finalTotalsData.CustTaxGroupData = this.GetTaxGroupingForItemsByHSN(ItemsList, TaxCodes, DecimalsNumber);
185
+
186
+ finalTotalsData.CustTotalRoundedBy = TrUtils.FixedTo(finalTotalsData.Round, DecimalsNumber);
187
+
188
+ finalTotalsData.CustRoundedTotal = TrUtils.FixedTo(finalTotalsData.Total, DecimalsNumber);
189
+
190
+ for (var key in finalTotalsData) {
191
+ if (key !== 'Total' && key !== 'SubTotal' &&
192
+ key !== 'LDisc' && key !== 'LPerc' && key !== 'PDisc' &&
193
+ key !== 'PPerc' && key !== 'Disc' && key !== 'Perc' && key !== 'Tax'
194
+ && typeof finalTotalsData[key] === 'number') {
195
+ finalTotalsData[key] = TrUtils.FixPriceValue(finalTotalsData[key], DecimalsNumber);
196
+ }
197
+ }
198
+
199
+ return finalTotalsData;
200
+ }
201
+
202
+ static GetItemDiscountedTotal(ItemsList: any, isTaxable: boolean, finalTotalsData: any, DecimalsNumber: number) {
203
+ let ItemsDiscountedTotal: any = 0;
204
+ let overallItemDisc: number = 0;
205
+ if (!isTaxable) {
206
+ overallItemDisc = TrUtils.SetValueToZeroIfNull(finalTotalsData.PDisc);
207
+ }
208
+ ItemsList.forEach((Item: any) => {
209
+ ItemsDiscountedTotal += Item.DiscountedPrice;
210
+ });
211
+ return TrUtils.FixedTo((Add(ItemsDiscountedTotal, overallItemDisc)), DecimalsNumber);
212
+ }
213
+
214
+ static GetLaborTaxTotalFor(opCodesList: any, IsIndependentTax: boolean) {
215
+ let TotalTaxAmt: any = 0;
216
+ if (IsIndependentTax) {
217
+ opCodesList.forEach((Labor: any) => {
218
+ TotalTaxAmt = TotalTaxAmt + Labor.CGST + Labor.SGST + Labor.IGST;
219
+ });
220
+ }
221
+ return TotalTaxAmt;
222
+ }
223
+
224
+ static GetItemsTaxTotalFor(ItemsList: any, IsIndependentTax: boolean) {
225
+ let TotalTaxAmt: any = 0;
226
+ if (IsIndependentTax) {
227
+ ItemsList.forEach((Item: any) => {
228
+ TotalTaxAmt = TotalTaxAmt + Item.CGST + Item.SGST + Item.IGST;
229
+ });
230
+ }
231
+ return TotalTaxAmt;
232
+ }
233
+
234
+ static GetCustomerTotalBasedOnTaxType(finalTotalsData: any, LaborTaxAmount: number, ItemsTaxAmount: number
235
+ , LaborList: any, ItemsList: any,
236
+ IsIndependentTax: boolean, DecimalsNumber: number) {
237
+ // let LaborTotalAfterDisc: any = this.GetLaborTotalAfterDiscount(LaborList);
238
+ let ItemsTotalAfterDisc: any = this.GetItemsTotalAfterDiscount(ItemsList);
239
+ if (IsIndependentTax) {
240
+ return Add(ItemsTotalAfterDisc, LaborTaxAmount, ItemsTaxAmount);
241
+ } else {
242
+ return TrUtils.FixedTo(Subtract(ItemsTotalAfterDisc, finalTotalsData.Disc), DecimalsNumber);
243
+ }
244
+ }
245
+
246
+ static LaborTotalAfterDiscount(LaborTotalAfterDisc: number, LaborTaxAmount: number, MainLDisc: number, LDiscInPerc: string) {
247
+ let LaborTotal: number = LaborTotalAfterDisc + LaborTaxAmount;
248
+ if (!TrUtils.IsZero(MainLDisc)) {
249
+ if (!TrUtils.IsEmpty(LDiscInPerc)) {
250
+ LaborTotal = (LaborTotal - (LaborTotal * Number(LDiscInPerc)) / 100);
251
+ } else {
252
+ LaborTotal = LaborTotal - MainLDisc;
253
+ }
254
+ }
255
+ return LaborTotal;
256
+ }
257
+
258
+ static ItemsTotalAfterDiscount(ItemsTotalAfterDisc: number, ItemsTaxAmount: number, MainPDisc: number, PDiscInPerc: string) {
259
+ let ItemsTotal: number = ItemsTotalAfterDisc + ItemsTaxAmount;
260
+ if (!TrUtils.IsZero(MainPDisc)) {
261
+ if (!TrUtils.IsEmpty(PDiscInPerc)) {
262
+ ItemsTotal = (ItemsTotal - (ItemsTotal * Number(PDiscInPerc)) / 100);
263
+ } else {
264
+ ItemsTotal = ItemsTotal - MainPDisc;
265
+ }
266
+ }
267
+ return ItemsTotal;
268
+ }
269
+
270
+ static GetItemGSTTaxTotal(ItemsList: any, IsIndependentTax: boolean) {
271
+ let TotalCGSTAmt: number = 0;
272
+ let TotalSGSTAmt: number = 0;
273
+ let TotalIGSTAmt: number = 0;
274
+ let TotalTaxAmt: number = 0;
275
+ if (IsIndependentTax) {
276
+ ItemsList.forEach((Item: any) => {
277
+ TotalCGSTAmt = Add(TotalCGSTAmt , Item.CGST);
278
+ TotalSGSTAmt = Add(TotalSGSTAmt , Item.SGST);
279
+ TotalIGSTAmt = Add(TotalIGSTAmt , Item.IGST);
280
+ TotalTaxAmt = Add(TotalTaxAmt , Item.CGST , Item.SGST , Item.IGST);
281
+ });
282
+ }
283
+ return [TotalCGSTAmt, TotalSGSTAmt, TotalIGSTAmt, TotalTaxAmt];
284
+ }
285
+
286
+ static GetTaxGroupingForItemsByHSN(Items: any, TaxCodes: any, DecimalsNumber: number) {
287
+ Items = this.GetCombinedTaxPercentage(Items, TaxCodes);
288
+ // Items = this.ResetItemsHSNIfInvalid(Items);
289
+
290
+ let FinalMatchedItems: any[] = this.CompareItemsByHSN(Items, TaxCodes);
291
+
292
+ return this.GetTaxGroupingInfoByHSN(FinalMatchedItems, TaxCodes, DecimalsNumber);
293
+ }
294
+
295
+ static GetCombinedTaxPercentage(Items: any, TaxCodes: any) {
296
+ Items.forEach((Item: any) => {
297
+ if (TrUtils.IsNull(Item.HSN)) {
298
+ Item.HSN = '';
299
+ }
300
+ let TaxInfo = this.GetGSTValueBasedOnTaxCode(Item.TCode, TaxCodes);
301
+ Item.CGSTAmt = TrUtils.SetValueToZeroIfNull(TaxInfo[0]);
302
+ Item.SGSTAmt = TrUtils.SetValueToZeroIfNull(TaxInfo[1]);
303
+ Item.IGSTAmt = TrUtils.SetValueToZeroIfNull(TaxInfo[2]);
304
+
305
+ Item.CombinedTaxPercentage = Add(Item.CGSTAmt, Item.SGSTAmt, Item.IGSTAmt);
306
+
307
+ });
308
+ return Items;
309
+ }
310
+
311
+ static CompareItemsByHSN(Items: any, TaxCodes: any) {
312
+ let FinalMatchedItems: any[] = [];
313
+ Items.forEach((Item: any) => {
314
+ let MatchedItemsBasedOnHSN = Items.filter((argItem: any) => {
315
+ let ItemFound: boolean = false;
316
+ FinalMatchedItems.forEach((FinalArgItems: any) => {
317
+ let ItemIndex: any = FinalArgItems.findIndex((FinalArgItem: any) => {
318
+ return FinalArgItem._id === argItem._id;
319
+ });
320
+ if (ItemIndex !== -1) {
321
+ ItemFound = true;
322
+ }
323
+ });
324
+
325
+ // let argGSTValues: any[] = this.GetGSTValueBasedOnTaxCode(argItem.TCode, TaxCodes);
326
+ // let argCGST = argGSTValues[0];
327
+ // let argSGST = argGSTValues[1];
328
+ // let argIGST = argGSTValues[2];
329
+
330
+ // let ItemGSTValues: any[] = this.GetGSTValueBasedOnTaxCode(Item.TCode, TaxCodes);
331
+ // let ItemCGST = ItemGSTValues[0];
332
+ // let ItemSGST = ItemGSTValues[1];
333
+ // let ItemIGST = ItemGSTValues[2];
334
+
335
+ return (argItem.HSN === Item.HSN) && (!ItemFound) &&
336
+ (argItem.CGSTAmt === Item.CGSTAmt) && (argItem.IGSTAmt === Item.IGSTAmt) &&
337
+ (argItem.SGSTAmt === Item.SGSTAmt);
338
+ });
339
+ if (MatchedItemsBasedOnHSN.length !== 0) {
340
+ FinalMatchedItems.push(MatchedItemsBasedOnHSN);
341
+ }
342
+ });
343
+ return FinalMatchedItems;
344
+ }
345
+
346
+ static GetTaxGroupingInfoByHSN(FinalMatchedItems: any, TaxCodes: any, DecimalsNumber: number) {
347
+ let HSNTaxInfo: any[] = [];
348
+ FinalMatchedItems.forEach((MatchedItem: any) => {
349
+ let TaxInfo: any = {};
350
+ let TaxOnAmount: any = 0;
351
+ let TaxAmount: any = 0;
352
+ let HSN: any = MatchedItem[0].HSN;
353
+ TaxInfo.CombinedTaxPercentage = MatchedItem[0].CombinedTaxPercentage;
354
+ MatchedItem.forEach((argMatchedGSTItem: any) => {
355
+ TaxOnAmount = Add(TaxOnAmount,argMatchedGSTItem.AfterItemDisc);
356
+ TaxAmount = Add(TaxAmount,argMatchedGSTItem.CGST);
357
+ TaxAmount = Add(TaxAmount,argMatchedGSTItem.IGST);
358
+ TaxAmount = Add(TaxAmount,argMatchedGSTItem.SGST);
359
+ });
360
+ TaxInfo.HSN = HSN;
361
+ TaxInfo.TotalTaxableAmount = TrUtils.FixPriceValue(TaxOnAmount, DecimalsNumber);
362
+ TaxInfo.TotalTaxAmount = TrUtils.FixPriceValue(TaxAmount, DecimalsNumber);
363
+ TaxInfo.ItemsCount = MatchedItem.length;
364
+ // let GSTValues: any[] = this.GetGSTValueBasedOnTaxCode(MatchedItem[0].TCode, TaxCodes);
365
+ // TaxInfo.CGST = GSTValues[0];
366
+ // TaxInfo.SGST = GSTValues[1];
367
+ // TaxInfo.IGST = GSTValues[2];
368
+ TaxInfo.CGST = MatchedItem[0].CGSTAmt;
369
+ TaxInfo.IGST = MatchedItem[0].IGSTAmt;
370
+ TaxInfo.SGST = MatchedItem[0].SGSTAmt;
371
+ if (TaxOnAmount !== 0) {
372
+ HSNTaxInfo.push(TaxInfo);
373
+ }
374
+ });
375
+ return HSNTaxInfo;
376
+ }
377
+
378
+ static GetGSTValueBasedOnTaxCode(TCode: any, TaxCodes: any) {
379
+ let CGST: number = 0;
380
+ let SGST: number = 0;
381
+ let IGST: number = 0;
382
+ if (TrUtils.IsNull(TCode)) {
383
+ return [CGST, SGST, IGST];
384
+ }
385
+ let TCodeIndex: any = TaxCodes.findIndex((TaxCode: any) => {
386
+ return TaxCode._id === Number(TCode);
387
+ });
388
+ if (TCodeIndex !== -1) {
389
+ if (TaxCodes[TCodeIndex].Type === 'Intra') {
390
+ return [TaxCodes[TCodeIndex].CGST, TaxCodes[TCodeIndex].SGST, 0];
391
+ } else {
392
+ return [0, 0, TaxCodes[TCodeIndex].IGST];
393
+ }
394
+ } else {
395
+ return [CGST, SGST, IGST];
396
+ }
397
+ }
398
+
399
+ }