shareneus 1.4.37 → 1.4.39

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.d.ts CHANGED
@@ -121,4 +121,5 @@ export { NextServiceDateXlsxFileService } from './excel-files/next-service-date-
121
121
  export { NextServiceDatePDFService } from './services/next-service-date-pdf.service';
122
122
  export { ItemBarCodeLabelPdf } from './inventory/items/item-bar-code-label-pdf';
123
123
  export { GetItemPriceForPriceList } from "./inventory/items/item-price-for-pricelist";
124
+ export { CalcItemFinalSalePrice } from "./inventory/items/item-price-for-pricelist";
124
125
  export { IsNotNull, IsNull } from "./shared/util";
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.SharedPDFService = 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.ExpiringDrugPDFService = exports.EstPrintService = exports.EquipmentDesignPdf = exports.DeliveryChallanTotalsService = exports.DeliveryChallanPrintService = exports.DeliveryChallanPdfService = exports.DebitNoteTotalsService = exports.DebitNotePrintService = void 0;
5
- exports.IsNull = exports.IsNotNull = exports.GetItemPriceForPriceList = exports.ItemBarCodeLabelPdf = exports.NextServiceDatePDFService = exports.NextServiceDateXlsxFileService = exports.ConsultationLetterHeadPDFService = exports.InvoiceLetterheadPdfService = exports.HCInvoiceprintService = 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 = void 0;
5
+ exports.IsNull = exports.IsNotNull = exports.CalcItemFinalSalePrice = exports.GetItemPriceForPriceList = exports.ItemBarCodeLabelPdf = exports.NextServiceDatePDFService = exports.NextServiceDateXlsxFileService = exports.ConsultationLetterHeadPDFService = exports.InvoiceLetterheadPdfService = exports.HCInvoiceprintService = 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 = void 0;
6
6
  var analysis_excel_service_1 = require("./sales/reports/excel/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("./sales/reports/excel/category-wise-item-excel.service");
@@ -249,6 +249,8 @@ var item_bar_code_label_pdf_1 = require("./inventory/items/item-bar-code-label-p
249
249
  Object.defineProperty(exports, "ItemBarCodeLabelPdf", { enumerable: true, get: function () { return item_bar_code_label_pdf_1.ItemBarCodeLabelPdf; } });
250
250
  var item_price_for_pricelist_1 = require("./inventory/items/item-price-for-pricelist");
251
251
  Object.defineProperty(exports, "GetItemPriceForPriceList", { enumerable: true, get: function () { return item_price_for_pricelist_1.GetItemPriceForPriceList; } });
252
+ var item_price_for_pricelist_2 = require("./inventory/items/item-price-for-pricelist");
253
+ Object.defineProperty(exports, "CalcItemFinalSalePrice", { enumerable: true, get: function () { return item_price_for_pricelist_2.CalcItemFinalSalePrice; } });
252
254
  var util_1 = require("./shared/util");
253
255
  Object.defineProperty(exports, "IsNotNull", { enumerable: true, get: function () { return util_1.IsNotNull; } });
254
256
  Object.defineProperty(exports, "IsNull", { enumerable: true, get: function () { return util_1.IsNull; } });
@@ -1 +1,14 @@
1
- export declare function GetItemPriceForPriceList(item: any, priceList: any, includeMargin: boolean): any;
1
+ export declare function GetItemPriceForPriceList(item: any, priceList: any, includeMargin?: boolean): any;
2
+ /**
3
+ * Calculates the final sale price of an item after applying a discount and optional markup.
4
+ * Optionally includes margin calculation based on cost.
5
+ *
6
+ * @param price - The original price of the item.
7
+ * @param disc - The discount percentage to apply.
8
+ * @param priceList - The price list object containing rounding and other configurations.
9
+ * @param markup - Whether to apply markup instead of discount (default is false).
10
+ * @param includeMargin - Whether to include margin calculation in the result (default is false).
11
+ * @param cost - The cost of the item, used for margin calculation (default is 0).
12
+ * @returns The final price or an object containing margin and final price if includeMargin is true.
13
+ */
14
+ export declare function CalcItemFinalSalePrice(price: number, disc: number, priceList: any, markup?: boolean, includeMargin?: boolean, cost?: number): any;
@@ -1,10 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetItemPriceForPriceList = GetItemPriceForPriceList;
4
+ exports.CalcItemFinalSalePrice = CalcItemFinalSalePrice;
4
5
  const math_operations_1 = require("../../shared/math-operations");
5
6
  const util_1 = require("../../shared/util");
6
- function GetItemPriceForPriceList(item, priceList, includeMargin) {
7
+ const tr_utils_1 = require("../../utils/tr-utils");
8
+ function GetItemPriceForPriceList(item, priceList, includeMargin = false) {
9
+ var _a, _b;
7
10
  let salePricesByPriceListId = [];
11
+ const calcDisc = (_a = priceList.CalcDisc) !== null && _a !== void 0 ? _a : {};
12
+ let markUp = (_b = calcDisc.Mark) !== null && _b !== void 0 ? _b : false;
8
13
  if ((0, util_1.IsNotNull)(item.SalePrices) && item.SalePrices.length > 0) {
9
14
  salePricesByPriceListId = item.SalePrices.filter((price) => priceList._id.toString() == price.PrListId.toString());
10
15
  }
@@ -13,15 +18,13 @@ function GetItemPriceForPriceList(item, priceList, includeMargin) {
13
18
  if (item.Track == 'TR' || item.Track == 'SN') {
14
19
  item.Sale["MRP"] = item.Sale.Price;
15
20
  if ((0, util_1.IsNotNull)(item.SalePrices[0].Price) && (0, util_1.IsNotNull)(item.SalePrices[0].Disc)) {
16
- const calculatedPrice = (0, math_operations_1.CalcDiscPrice)(item.SalePrices[0].Price, item.SalePrices[0].Disc);
17
- item.Sale.Price = ApplyRounding(calculatedPrice, priceList);
21
+ item.Sale.Price = CalcItemFinalSalePrice(item.SalePrices[0].Price, item.SalePrices[0].Disc, priceList, markUp);
18
22
  }
19
23
  else if ((0, util_1.IsNotNull)(item.SalePrices[0].Price) && (0, util_1.IsNull)(item.SalePrices[0].Disc)) {
20
24
  item.Sale.Price = ApplyRounding(item.SalePrices[0].Price, priceList);
21
25
  }
22
26
  else if ((0, util_1.IsNull)(item.SalePrices[0].Price) && (0, util_1.IsNotNull)(item.SalePrices[0].Disc)) {
23
- const calculatedPrice = (0, math_operations_1.CalcDiscPrice)(item.Sale.Price, item.SalePrices[0].Disc);
24
- item.Sale.Price = ApplyRounding(calculatedPrice, priceList);
27
+ item.Sale.Price = CalcItemFinalSalePrice(item.Sale.Price, item.SalePrices[0].Disc, priceList, markUp);
25
28
  }
26
29
  if (includeMargin) {
27
30
  item.Margin = (0, math_operations_1.GetMarginValue)(item.Sale.Price, item.Pur.Cost);
@@ -35,17 +38,17 @@ function GetItemPriceForPriceList(item, priceList, includeMargin) {
35
38
  batchSalePrice = item.SalePrices.filter((batch) => priceList._id.toString() == batch.PrListId.toString() && batch.BN == null);
36
39
  }
37
40
  element.MRP = element.Price;
41
+ console.log("Batch Sale Price:", batchSalePrice);
38
42
  if (batchSalePrice.length > 0) {
39
43
  if ((0, util_1.IsNotNull)(batchSalePrice[0].Price) && (0, util_1.IsNotNull)(batchSalePrice[0].Disc)) {
40
- const calculatedPrice = (0, math_operations_1.CalcDiscPrice)(batchSalePrice[0].Price, batchSalePrice[0].Disc);
41
- element.Price = ApplyRounding(calculatedPrice, priceList);
44
+ console.log("Price:", batchSalePrice[0].Price, "Discount:", batchSalePrice[0].Disc);
45
+ element.Price = CalcItemFinalSalePrice(batchSalePrice[0].Price, batchSalePrice[0].Disc, priceList, markUp);
42
46
  }
43
47
  else if ((0, util_1.IsNotNull)(batchSalePrice[0].Price) && (0, util_1.IsNull)(batchSalePrice[0].Disc)) {
44
48
  element.Price = ApplyRounding(batchSalePrice[0].Price, priceList);
45
49
  }
46
50
  else if ((0, util_1.IsNull)(batchSalePrice[0].Price) && (0, util_1.IsNotNull)(batchSalePrice[0].Disc)) {
47
- const calculatedPrice = (0, math_operations_1.CalcDiscPrice)(element.Price, batchSalePrice[0].Disc);
48
- element.Price = ApplyRounding(calculatedPrice, priceList);
51
+ element.Price = CalcItemFinalSalePrice(element.Price, batchSalePrice[0].Disc, priceList, markUp);
49
52
  }
50
53
  }
51
54
  if (includeMargin) {
@@ -53,10 +56,36 @@ function GetItemPriceForPriceList(item, priceList, includeMargin) {
53
56
  }
54
57
  }
55
58
  }
59
+ console.log("Item after applying price list:", tr_utils_1.TrUtils.Stringify(item));
56
60
  return item;
57
61
  }
58
62
  return CalculatePriceBasedOnPriceList(item, priceList, includeMargin);
59
63
  }
64
+ /**
65
+ * Calculates the final sale price of an item after applying a discount and optional markup.
66
+ * Optionally includes margin calculation based on cost.
67
+ *
68
+ * @param price - The original price of the item.
69
+ * @param disc - The discount percentage to apply.
70
+ * @param priceList - The price list object containing rounding and other configurations.
71
+ * @param markup - Whether to apply markup instead of discount (default is false).
72
+ * @param includeMargin - Whether to include margin calculation in the result (default is false).
73
+ * @param cost - The cost of the item, used for margin calculation (default is 0).
74
+ * @returns The final price or an object containing margin and final price if includeMargin is true.
75
+ */
76
+ function CalcItemFinalSalePrice(price, disc, priceList, markup = false, includeMargin = false, cost = 0) {
77
+ // Calculate the price after applying discount or markup
78
+ const calculatedPrice = (0, math_operations_1.CalcDiscPrice)(price, disc, markup);
79
+ // Apply rounding rules from the price list
80
+ const finalPrice = ApplyRounding(calculatedPrice, priceList);
81
+ // If margin calculation is requested, calculate and return both margin and final price
82
+ if (includeMargin) {
83
+ const margin = (0, math_operations_1.GetMarginValue)(finalPrice, cost);
84
+ return { margin: margin, finalPrice: finalPrice };
85
+ }
86
+ // Otherwise, return only the final price
87
+ return finalPrice;
88
+ }
60
89
  function CalculatePriceBasedOnPriceList(item, priceList, includeMargin) {
61
90
  var _a, _b;
62
91
  if (priceList != null) {
@@ -67,8 +96,7 @@ function CalculatePriceBasedOnPriceList(item, priceList, includeMargin) {
67
96
  if (item.Track == 'TR' || item.Track == 'SN') {
68
97
  item.Sale["MRP"] = item.Sale.Price;
69
98
  if ((0, util_1.IsNotNull)(fixedDisc) && fixedDisc > 0) {
70
- const calculatedPrice = (0, math_operations_1.CalcDiscPrice)(fixedPrice, fixedDisc);
71
- item.Sale.Price = ApplyRounding(calculatedPrice, priceList);
99
+ item.Sale.Price = CalcItemFinalSalePrice(fixedPrice, fixedDisc, priceList);
72
100
  }
73
101
  else {
74
102
  item.Sale.Price = ApplyRounding(fixedPrice, priceList);
@@ -81,8 +109,7 @@ function CalculatePriceBasedOnPriceList(item, priceList, includeMargin) {
81
109
  for (let batch of item.Batches) {
82
110
  batch.MRP = batch.Price;
83
111
  if ((0, util_1.IsNotNull)(fixedDisc) && fixedDisc > 0) {
84
- const calculatedPrice = (0, math_operations_1.CalcDiscPrice)(fixedPrice, fixedDisc);
85
- batch.Price = ApplyRounding(calculatedPrice, priceList);
112
+ batch.Price = CalcItemFinalSalePrice(fixedPrice, fixedDisc, priceList);
86
113
  }
87
114
  else {
88
115
  batch.Price = ApplyRounding(fixedPrice, priceList);
@@ -101,8 +128,7 @@ function CalculatePriceBasedOnPriceList(item, priceList, includeMargin) {
101
128
  if (priceList.BasedOn == "SP") {
102
129
  if (item.Track == 'TR' || item.Track == 'SN') {
103
130
  item.Sale["MRP"] = item.Sale.Price;
104
- const calculatedPrice = (0, math_operations_1.CalcDiscPrice)(item.Sale.Price, discPerc, markUp);
105
- item.Sale.Price = ApplyRounding(calculatedPrice, priceList);
131
+ item.Sale.Price = CalcItemFinalSalePrice(item.Sale.Price, discPerc, priceList, markUp);
106
132
  if (includeMargin) {
107
133
  item.Margin = (0, math_operations_1.GetMarginValue)(item.Sale.Price, item.Pur.Cost);
108
134
  }
@@ -110,8 +136,7 @@ function CalculatePriceBasedOnPriceList(item, priceList, includeMargin) {
110
136
  else if (item.Track == 'BN') {
111
137
  for (let batch of item.Batches) {
112
138
  batch.MRP = batch.Price;
113
- const calculatedPrice = (0, math_operations_1.CalcDiscPrice)(batch.Price, discPerc, markUp);
114
- batch.Price = ApplyRounding(calculatedPrice, priceList);
139
+ batch.Price = CalcItemFinalSalePrice(batch.Price, discPerc, priceList, markUp);
115
140
  if (includeMargin) {
116
141
  batch.Margin = (0, math_operations_1.GetMarginValue)(batch.Price, batch.Cost);
117
142
  }
@@ -122,8 +147,7 @@ function CalculatePriceBasedOnPriceList(item, priceList, includeMargin) {
122
147
  if (item.Track == 'TR' || item.Track == 'SN') {
123
148
  item.Sale["MRP"] = item.Sale.Price;
124
149
  if ((0, util_1.IsNotNull)(item.Pur) && (0, util_1.IsNotNull)(item.Pur.Cost)) {
125
- const calculatedPrice = (0, math_operations_1.CalcDiscPrice)(item.Pur.Cost, discPerc, markUp);
126
- item.Sale.Price = ApplyRounding(calculatedPrice, priceList);
150
+ item.Sale.Price = CalcItemFinalSalePrice(item.Pur.Cost, discPerc, priceList, markUp);
127
151
  if (includeMargin) {
128
152
  item.Margin = (0, math_operations_1.GetMarginValue)(item.Sale.Price, item.Pur.Cost);
129
153
  }
@@ -133,8 +157,7 @@ function CalculatePriceBasedOnPriceList(item, priceList, includeMargin) {
133
157
  for (let batch of item.Batches) {
134
158
  batch.MRP = batch.Price;
135
159
  if ((0, util_1.IsNotNull)(batch.Cost)) {
136
- const calculatedPrice = (0, math_operations_1.CalcDiscPrice)(batch.Cost, discPerc, markUp);
137
- batch.Price = ApplyRounding(calculatedPrice, priceList);
160
+ batch.Price = CalcItemFinalSalePrice(batch.Cost, discPerc, priceList, markUp);
138
161
  if (includeMargin) {
139
162
  batch.Margin = (0, math_operations_1.GetMarginValue)(batch.Price, batch.Cost);
140
163
  }
@@ -36,6 +36,5 @@ export declare class TrUtils {
36
36
  static IsItemFromEstimate(ItemId: string): boolean;
37
37
  static IsItemInsurance(PayBy: string): boolean;
38
38
  static GetMonthsArray(): any[];
39
- static IsEqual(arg1: any, arg2: any): any;
40
39
  static GetDurationInHrsAndMins(duration: number): string;
41
40
  }
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TrUtils = void 0;
4
4
  // import { HttpClient } from '@angular/common/http';
5
5
  const enums_1 = require("../enums/enums");
6
- var deepEqual = require('deep-equal');
7
6
  // import { LaborStatusEnum } from '../enums/enums';
8
7
  class TrUtils {
9
8
  static IsNull(Value) {
@@ -327,9 +326,6 @@ class TrUtils {
327
326
  MonthName[11] = 'Dec';
328
327
  return MonthName;
329
328
  }
330
- static IsEqual(arg1, arg2) {
331
- return deepEqual(arg1, arg2, true);
332
- }
333
329
  static GetDurationInHrsAndMins(duration) {
334
330
  let Durationhr = Math.floor(duration / 60);
335
331
  let Durationmin = duration % 60;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shareneus",
3
- "version": "1.4.37",
3
+ "version": "1.4.39",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",