shareneus 1.3.8 → 1.4.0

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.
@@ -43,10 +43,10 @@ class PurchaseOrderPrintService {
43
43
  PurchaseOrderPDFData.Items = this.GetQtyWithUoM(PurchaseOrderPDFData.Items);
44
44
  let DetailedTotalsInfo;
45
45
  if (IsFormPO) {
46
- DetailedTotalsInfo = purchase_order_totals_service_1.PurchaseOrderTotalsService.GetTotalsValue(PurchaseOrderPDFData.Items, IsTaxable, true, TaxCodes, PurchaseOrderPDFData.Tax, true, PurchaseOrderPDFData.HasNoTax, false, 0, false, PurchaseOrderPDFData.Adjust);
46
+ DetailedTotalsInfo = purchase_order_totals_service_1.PurchaseOrderTotalsService.GetTotalsValue(PurchaseOrderPDFData.Ops, PurchaseOrderPDFData.Items, IsTaxable, true, TaxCodes, PurchaseOrderPDFData.Tax, true, PurchaseOrderPDFData.HasNoTax, false, 0, false, PurchaseOrderPDFData.Adjust);
47
47
  }
48
48
  else {
49
- DetailedTotalsInfo = purchase_order_totals_service_1.PurchaseOrderTotalsService.GetTotalsValue(PurchaseOrderPDFData.Items, IsTaxable, true, TaxCodes, PurchaseOrderPDFData.Tax, true, PurchaseOrderPDFData.HasNoTax, true, PurchaseOrderData.Disc, PurchaseOrderData.Perc, PurchaseOrderPDFData.Adjust);
49
+ DetailedTotalsInfo = purchase_order_totals_service_1.PurchaseOrderTotalsService.GetTotalsValue(PurchaseOrderPDFData.Ops, PurchaseOrderPDFData.Items, IsTaxable, true, TaxCodes, PurchaseOrderPDFData.Tax, true, PurchaseOrderPDFData.HasNoTax, true, PurchaseOrderData.Disc, PurchaseOrderData.Perc, PurchaseOrderPDFData.Adjust);
50
50
  }
51
51
  PurchaseOrderPDFData = this.ConcatTotalsInfo(PurchaseOrderPDFData, DetailedTotalsInfo);
52
52
  PurchaseOrderPDFData.Entity = shared_print_service_1.PrintSharedService.GetFormattedEntityDataForPrint(EntityData, code_enums_1.PrintTypesEnum.PurOrder, PurchaseOrderData);
@@ -5,22 +5,63 @@ const aggregation_1 = require("../aggregation/aggregation");
5
5
  const code_enums_1 = require("../enums/code-enums");
6
6
  const tr_utils_1 = require("../utils/tr-utils");
7
7
  class PurchaseOrderTotalsService {
8
- static GetTotalsValue(argPartsList, IsTaxable, DetailedTotalsInfo, TaxCodes, Tax, ReturnPartsAlso, HasNoTax, GetSubTotal, Discount, DiscInPerc, Adjust) {
8
+ static GetTotalsValue(opCodesList, argPartsList, IsTaxable, DetailedTotalsInfo, TaxCodes, Tax, ReturnPartsAlso, HasNoTax, GetSubTotal, Discount, DiscInPerc, Adjust) {
9
9
  let PartsList = tr_utils_1.TrUtils.IsNull(argPartsList) ? [] : tr_utils_1.TrUtils.Stringify(argPartsList);
10
10
  // PartsList = this.ResetPartValuesIfInvalid(PartsList);
11
11
  // PartsList = this.GetPartsDiscountPrice(PartsList);
12
12
  // PartsList = this.GetPartsAfterDiscount(PartsList);
13
+ if (tr_utils_1.TrUtils.IsNull(opCodesList)) {
14
+ opCodesList = [];
15
+ }
16
+ opCodesList = this.CalculateLaborValues(opCodesList, IsTaxable);
13
17
  PartsList = this.GetPartsTaxAmount(PartsList, IsTaxable, TaxCodes);
14
18
  // PartsList = this.GetPartsAfterTax(PartsList);
15
- let finalTotalsData = this.GetTotalsInfo(PartsList, IsTaxable, TaxCodes, HasNoTax, GetSubTotal, Discount, DiscInPerc, Adjust);
19
+ let finalTotalsData = this.GetTotalsInfo(PartsList, opCodesList, IsTaxable, TaxCodes, HasNoTax, GetSubTotal, Discount, DiscInPerc, Adjust);
16
20
  if (ReturnPartsAlso) {
21
+ finalTotalsData.Ops = opCodesList;
17
22
  finalTotalsData.Items = PartsList;
18
23
  }
19
24
  if (DetailedTotalsInfo === true) {
20
- finalTotalsData = this.GetDetailedTotalsData(finalTotalsData, IsTaxable, PartsList, TaxCodes, Tax, HasNoTax);
25
+ finalTotalsData = this.GetDetailedTotalsData(finalTotalsData, IsTaxable, PartsList, opCodesList, TaxCodes, Tax, HasNoTax);
21
26
  }
22
27
  return finalTotalsData;
23
28
  }
29
+ static CalculateLaborValues(opCodesList, IsIndependentTax) {
30
+ opCodesList = this.ResetLaborValues(opCodesList, IsIndependentTax);
31
+ // opCodesList = this.GetOperationsDiscountPrice(opCodesList);
32
+ // opCodesList = this.GetOperationsAfterDiscount(opCodesList,IsIndependentTax);
33
+ // opCodesList = this.GetOperationsAfterTax(opCodesList, IsIndependentTax);
34
+ return opCodesList;
35
+ }
36
+ static ResetLaborValues(opCodesList, IsIndependentTax) {
37
+ opCodesList.forEach((Operation) => {
38
+ Operation = this.ResetLaborValueIfInvalid(Operation);
39
+ Operation.DiscountedPrice = (0, aggregation_1.addition)(Operation.Disc, Operation.RecDisc);
40
+ if (tr_utils_1.TrUtils.IsNull(Operation.Amt)) {
41
+ Operation.Amt = Operation.Pr;
42
+ }
43
+ Operation.GSTAmt = (0, aggregation_1.addition)(Operation.SGST, Operation.CGST, Operation.IGST);
44
+ if (IsIndependentTax) {
45
+ let NetAmt = (0, aggregation_1.subtraction)(Operation.Amt, Operation.Disc, Operation.RecDisc);
46
+ Operation.AfterLaborDisc = NetAmt;
47
+ Operation.AfterLaborTax = (0, aggregation_1.addition)(Operation.AfterLaborDisc, Operation.CGST, Operation.SGST, Operation.IGST);
48
+ }
49
+ else {
50
+ Operation.AfterLaborDisc = (0, aggregation_1.subtraction)(Operation.Amt, Operation.Disc);
51
+ Operation.AfterLaborTax = Operation.AfterLaborDisc;
52
+ }
53
+ });
54
+ return opCodesList;
55
+ }
56
+ static ResetLaborValueIfInvalid(Operation) {
57
+ Operation.Pr = tr_utils_1.TrUtils.SetValueToZeroIfNull(Operation.Pr);
58
+ Operation.RecDisc = tr_utils_1.TrUtils.SetValueToZeroIfNull(Operation.RecDisc);
59
+ Operation.Disc = tr_utils_1.TrUtils.SetValueToZeroIfNull(Operation.Disc);
60
+ Operation.CGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(Operation.CGST);
61
+ Operation.SGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(Operation.SGST);
62
+ Operation.IGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(Operation.IGST);
63
+ return Operation;
64
+ }
24
65
  static CheckPartStatusAndReturn(PartsList) {
25
66
  PartsList = PartsList.filter((Part) => {
26
67
  return Part.Sts !== code_enums_1.POPartStatusEnum.Del && Part.Sts !== code_enums_1.POPartStatusEnum.Deleted;
@@ -107,13 +148,17 @@ class PurchaseOrderTotalsService {
107
148
  return [0, 0, 0];
108
149
  }
109
150
  }
110
- static GetTotalsInfo(PartsList, IsTaxable, TaxCodes, HasNoTax, GetSubTotal, Discount, DiscInPerc, Adjust) {
151
+ static GetTotalsInfo(PartsList, LaborList, IsTaxable, TaxCodes, HasNoTax, GetSubTotal, Discount, DiscInPerc, Adjust) {
111
152
  let finalTotalsData = {};
112
153
  let PartsInfo = this.GetPartsTotalTaxAndAfterDiscount(PartsList);
113
154
  let PartsTotalAfterDisc = tr_utils_1.TrUtils.SetValueToZeroIfNull(PartsInfo[0]);
114
155
  let PartsDiscTotal = tr_utils_1.TrUtils.SetValueToZeroIfNull(PartsInfo[1]);
115
156
  let PartsTaxTotal = tr_utils_1.TrUtils.SetValueToZeroIfNull(PartsInfo[2]);
116
- finalTotalsData.SubTotal = (0, aggregation_1.addition)(PartsTotalAfterDisc, PartsDiscTotal);
157
+ let ServicesInfo = this.GetServiceTotalTaxAndAfterDiscount(LaborList);
158
+ let ServicesTotalAfterDisc = tr_utils_1.TrUtils.SetValueToZeroIfNull(ServicesInfo[0]);
159
+ let ServicesDiscTotal = tr_utils_1.TrUtils.SetValueToZeroIfNull(ServicesInfo[1]);
160
+ let ServicesTaxTotal = tr_utils_1.TrUtils.SetValueToZeroIfNull(ServicesInfo[2]);
161
+ finalTotalsData.SubTotal = (0, aggregation_1.addition)(PartsTotalAfterDisc, PartsDiscTotal, ServicesTotalAfterDisc, ServicesDiscTotal);
117
162
  finalTotalsData.Adj = tr_utils_1.TrUtils.FixPriceValue(Adjust);
118
163
  // if (GetSubTotal) {
119
164
  // finalTotalsData.SubTotal = this.GetTotalBasedOnTaxType(PartsTotalAfterDisc, PartsTaxTotal,
@@ -129,12 +174,23 @@ class PurchaseOrderTotalsService {
129
174
  // }
130
175
  // finalTotalsData.Total = Total;
131
176
  // } else {
132
- finalTotalsData.Total = this.GetTotalBasedOnTaxType(PartsTotalAfterDisc, PartsTaxTotal, IsTaxable, Adjust);
177
+ finalTotalsData.Total = this.GetTotalBasedOnTaxType(PartsTotalAfterDisc, PartsTaxTotal, ServicesTotalAfterDisc, ServicesTaxTotal, IsTaxable, Adjust);
133
178
  // }
134
179
  // finalTotalsData.Round = TrUtils.FixedTo(Math.round(finalTotalsData.Total) - finalTotalsData.Total);
135
180
  // finalTotalsData.Total = Math.round(finalTotalsData.Total);
136
181
  return finalTotalsData;
137
182
  }
183
+ static GetServiceTotalTaxAndAfterDiscount(LaborList) {
184
+ let ServicesTotalAfterDisc = 0;
185
+ let ServicesDiscountedTotal = 0;
186
+ let TotalTaxAmt = 0;
187
+ LaborList.forEach((Part) => {
188
+ ServicesTotalAfterDisc = (0, aggregation_1.addition)(ServicesTotalAfterDisc, Part.AfterLaborDisc);
189
+ ServicesDiscountedTotal = (0, aggregation_1.addition)(ServicesDiscountedTotal, Part.DiscountedPrice);
190
+ TotalTaxAmt = (0, aggregation_1.addition)(TotalTaxAmt, Part.GSTAmt);
191
+ });
192
+ return [ServicesTotalAfterDisc, ServicesDiscountedTotal, TotalTaxAmt];
193
+ }
138
194
  static GetPartsTotalTaxAndAfterDiscount(PartsList) {
139
195
  let PartsTotalAfterDisc = 0;
140
196
  let PartsDiscountedTotal = 0;
@@ -146,24 +202,29 @@ class PurchaseOrderTotalsService {
146
202
  });
147
203
  return [PartsTotalAfterDisc, PartsDiscountedTotal, TotalTaxAmt];
148
204
  }
149
- static GetTotalBasedOnTaxType(PartsTotalAfterDisc, PartsTaxAmount, IsTaxable, Adjust) {
205
+ static GetTotalBasedOnTaxType(PartsTotalAfterDisc, PartsTaxAmount, ServicesTotalAfterDisc, ServicesTaxTotal, IsTaxable, Adjust) {
150
206
  let Total = 0;
151
207
  if (IsTaxable) {
152
- Total = (0, aggregation_1.addition)(PartsTotalAfterDisc, PartsTaxAmount);
208
+ Total = (0, aggregation_1.addition)(PartsTotalAfterDisc, PartsTaxAmount, ServicesTotalAfterDisc, ServicesTaxTotal);
153
209
  }
154
210
  else {
155
- Total = PartsTotalAfterDisc;
211
+ Total = (0, aggregation_1.addition)(PartsTotalAfterDisc, ServicesTotalAfterDisc);
156
212
  }
157
213
  let finalTotal = (0, aggregation_1.addition)(Total, tr_utils_1.TrUtils.SetValueToZeroIfNull(Adjust));
158
214
  return tr_utils_1.TrUtils.FixedTo(finalTotal);
159
215
  }
160
- static GetDetailedTotalsData(finalTotalsData, IsTaxable, PartsList, TaxCodes, Tax, HasNoTax) {
216
+ static GetDetailedTotalsData(finalTotalsData, IsTaxable, PartsList, LaborList, TaxCodes, Tax, HasNoTax) {
161
217
  let PartsInfo = this.GetPartsTotalTaxAndAfterDiscount(PartsList);
218
+ let ServicesInfo = this.GetServiceTotalTaxAndAfterDiscount(LaborList);
162
219
  finalTotalsData.PartsDiscTotal = tr_utils_1.TrUtils.SetValueToZeroIfNull(PartsInfo[1]);
163
220
  finalTotalsData.PartsTotalAfterDisc = tr_utils_1.TrUtils.SetValueToZeroIfNull(PartsInfo[0]);
164
221
  finalTotalsData.PartsTotalBeforeDisc = (0, aggregation_1.addition)(finalTotalsData.PartsTotalAfterDisc, finalTotalsData.PartsDiscTotal);
165
222
  // finalTotalsData.TaxTotal = this.GetPartsTaxTotal(PartsList);
166
223
  finalTotalsData.TaxTotal = tr_utils_1.TrUtils.SetValueToZeroIfNull(PartsInfo[2]);
224
+ finalTotalsData.ServiceTotalAfterDisc = tr_utils_1.TrUtils.SetValueToZeroIfNull(ServicesInfo[0]);
225
+ finalTotalsData.ServiceDiscTotal = tr_utils_1.TrUtils.SetValueToZeroIfNull(ServicesInfo[1]);
226
+ finalTotalsData.ServiceTaxTotal = tr_utils_1.TrUtils.SetValueToZeroIfNull(ServicesInfo[2]);
227
+ finalTotalsData.ServiceTotalBeforeDisc = (0, aggregation_1.addition)(finalTotalsData.ServiceTotalAfterDisc, finalTotalsData.ServiceDiscTotal);
167
228
  let TaxAmt = this.GetPartGSTTaxTotal(PartsList);
168
229
  // finalTotalsData.PartCGST = this.GetPartCGSTTaxTotal(PartsList);
169
230
  // finalTotalsData.PartIGST = this.GetPartIGSTTaxTotal(PartsList);
@@ -171,7 +232,12 @@ class PurchaseOrderTotalsService {
171
232
  finalTotalsData.PartCGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(TaxAmt[0]);
172
233
  finalTotalsData.PartSGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(TaxAmt[1]);
173
234
  finalTotalsData.PartIGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(TaxAmt[2]);
235
+ let ServiceTaxAmt = this.GetServicesGSTTaxTotal(LaborList);
236
+ finalTotalsData.ServieCGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(TaxAmt[0]);
237
+ finalTotalsData.ServieSGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(TaxAmt[1]);
238
+ finalTotalsData.ServieIGST = tr_utils_1.TrUtils.SetValueToZeroIfNull(TaxAmt[2]);
174
239
  finalTotalsData.PartAfterTax = (0, aggregation_1.addition)(finalTotalsData.PartsTotalAfterDisc, finalTotalsData.TaxTotal);
240
+ finalTotalsData.ServiceAfterTax = (0, aggregation_1.addition)(finalTotalsData.ServiceTotalAfterDisc, finalTotalsData.ServiceTaxTotal);
175
241
  finalTotalsData.IsTaxable = IsTaxable;
176
242
  finalTotalsData.Tax = Tax;
177
243
  finalTotalsData.HasNoTax = HasNoTax;
@@ -193,6 +259,17 @@ class PurchaseOrderTotalsService {
193
259
  });
194
260
  return [CGSTAmt, SGSTAmt, IGSTAmt];
195
261
  }
262
+ static GetServicesGSTTaxTotal(ServicesList) {
263
+ let CGSTAmt = 0;
264
+ let SGSTAmt = 0;
265
+ let IGSTAmt = 0;
266
+ ServicesList.forEach((labor) => {
267
+ CGSTAmt = (0, aggregation_1.addition)(CGSTAmt, labor.CGST);
268
+ SGSTAmt = (0, aggregation_1.addition)(SGSTAmt, labor.SGST);
269
+ IGSTAmt = (0, aggregation_1.addition)(IGSTAmt, labor.IGST);
270
+ });
271
+ return [CGSTAmt, SGSTAmt, IGSTAmt];
272
+ }
196
273
  static GetPartsTaxGroupingFor(PartsList, TaxCodes) {
197
274
  return this.GetTaxGroupingForPartsByHSN(tr_utils_1.TrUtils.Stringify(PartsList), TaxCodes);
198
275
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shareneus",
3
- "version": "1.3.8",
3
+ "version": "1.4.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",