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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
41
|
-
element.Price =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
}
|
package/dist/utils/tr-utils.d.ts
CHANGED
|
@@ -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
|
}
|
package/dist/utils/tr-utils.js
CHANGED
|
@@ -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;
|