From de912d29bb06ebfb88552ede51cf1cb99a1eafc6 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期六, 01 三月 2025 15:05:33 +0800 Subject: [PATCH] update --- jrj/project/business/GDN3.maint.cpp | 71 +++++++++++++++++++++++++++++------ 1 files changed, 59 insertions(+), 12 deletions(-) diff --git a/jrj/project/business/GDN3.maint.cpp b/jrj/project/business/GDN3.maint.cpp index 72a1372..3da7240 100644 --- a/jrj/project/business/GDN3.maint.cpp +++ b/jrj/project/business/GDN3.maint.cpp @@ -197,7 +197,7 @@ KXMLDOMDocument xitemdoc = xitem; dw_item.DwUpdateAllToEx(xitemdoc); - if (xitem.xml() != L"") + if ((xstring)xitem.xml() != L"") { KXMLDOMElement eitem = xitemdoc.documentElement(); if (eitem) ebase.appendChild(eitem); @@ -209,7 +209,7 @@ dw_source.DwUpdateAllToEx(xsourcedoc); - if (xsource.xml() != L"") + if ((xstring)xsource.xml() != L"") { KXMLDOMElement eitem1 = xitemdoc.documentElement(); if (eitem1) ebase.appendChild(eitem1); @@ -219,7 +219,7 @@ KXMLDOMDocument xcustomdoc = xcustom; dw_source.DwUpdateAllToEx(xcustomdoc); - if (xcustom.xml() != L"") + if ((xstring)xcustom.xml() != L"") { KXMLDOMElement eitem2 = xitemdoc.documentElement(); if (eitem2) ebase.appendChild(eitem2); @@ -386,7 +386,7 @@ dw_base.SetItemString(1, L"Packages", xstring(Packages_s)); dw_base.SetItemDouble(1, L"Volume", xdouble(Vol_s).round(2)); dw_base.ItemChangeTo(1, L"Amount", xstring(Amount_s)); - + dw_base.ItemChangeTo(1, L"InsuredAmount", xstring(Amount_s)); dw_base.SetItemDouble(1, L"PrivateCommissionAmount", ResearchCommissionRate_s + MiddlemanAmountRate_s); //dw_base.SetItemDouble(1,L"Cost",Cost_s); @@ -633,14 +633,15 @@ } } xml xcustom; - + xstring error5; dw_custom.DwUpdateAllToEx(xcustom); - if (xcustom.xml() != L"") + + if ((xstring)xcustom.xml() != L"") { xcustom = CustomView::UpdateCustomItem(dw_base.GetItemString(1, L"InvoiceNo"), xcustom.xml()); if (!xcustom) { - xstring error5 = xcustom.text(); + error5 = xcustom.text(); } else { @@ -700,7 +701,7 @@ xml xcdelement ; dw_cdelement.DwUpdateAllToEx(xcdelement); - if (xcdelement.xml() != L"") + if ((xstring)xcdelement.xml() != L"") { xcdelement = CustomView::UpdateCustomElement(dw_base.GetItemString(1, L"InvoiceNo"), xcdelement.xml()); if (!xcdelement) @@ -1414,6 +1415,7 @@ } CalcDraftAmount(); CalcProfit(); + GetInsuranceAmountEx(); dw_base.Redraw(); } @@ -1527,7 +1529,10 @@ else if (col == L"ETD") { xstring ETD = dw_base.GetItemString(1, L"ETD"); + xstring CustomerID = dw_base.GetItemString(1, L"CustomerID"); + xstring exchangeRate = L""; + xstring PremiumRate = L""; if (ETD != L"") { trace(ETD); @@ -1548,10 +1553,44 @@ } evalManagementFee(); evalRiskFundAmount(); - } + xml x1 = ViewObject::RetrieveData(L"/sale/data/GDN3/GetInsuranceRateEx", L"ETD", ETD, L"CustomerID", CustomerID); + if (x1.selectSingleNode(L"root/item/@value")) + PremiumRate = x1.selectSingleNode(L"root/item/@value").text(); + + if (PremiumRate != L"") + { + dw_base.SetItemString(1, L"InsuranceRateEx", PremiumRate); + GetInsuranceAmountEx(); + } + + } dw_profit.Redraw(); + dw_base.Redraw(); } + else if (col == L"InsuredAmount" || col == L"InsuranceRateEx") + { + GetInsuranceAmountEx(); + } + return 1; + } + + int GetInsuranceAmountEx() + { + double InsuranceRateEx = dw_base.GetItemDouble(1, L"InsuranceRateEx"); + double InsuredAmount = dw_base.GetItemDouble(1, L"InsuredAmount"); + + double ExchangeAmountEx = dw_profit.GetItemDouble(1, L"ExchangeAmountEx"); + + dw_base.SetItemDouble(1, L"InsuranceAmountEx", InsuranceRateEx * InsuredAmount / 100); + dw_profit.SetItemDouble(1, L"SinosurAmount", InsuranceRateEx * InsuredAmount / 100); + + dw_profit.SetItemDouble(1, L"ExchangeAmountEx", ExchangeAmountEx + (InsuranceRateEx * InsuredAmount / 100)); + evalProfitAmount(); + //dw_profit.ItemChangeTo(1,"SinosurAmount",(InsuranceRateEx * InsuredAmount/100).toString()); + dw_base.Redraw(); + dw_profit.Redraw(); + return 1; } @@ -1868,7 +1907,7 @@ if (x == L"userSalespersonID") { xstring sSalespersonID = dw_base.GetItemString(1, L"SalespersonID"); - hdr->data = sSalespersonID; + hdr->data = sSalespersonID.c_str(true); } return 1; } @@ -2650,6 +2689,11 @@ if (t.selectSingleNode(L"SalespersonID"))dw_base.SetItemString(1, L"SalespersonID", t.selectSingleNode(L"SalespersonID").text()); if (t.selectSingleNode(L"CustomerID"))dw_base.SetItemString(1, L"CustomerID", t.selectSingleNode(L"CustomerID").text()); if (t.selectSingleNode(L"CustomerID/@_displaystring"))dw_base.SetItemDisplayString(1, L"CustomerID", t.selectSingleNode(L"CustomerID/@_displaystring").text()); + + if (t.selectSingleNode(L"UOCCode"))dw_base.SetItemString(1, L"UOCCode", t.selectSingleNode(L"UOCCode").text()); + if (t.selectSingleNode(L"ApprovalIimit"))dw_base.SetItemString(1, L"ApprovalIimit", t.selectSingleNode(L"ApprovalIimit").text()); + if (t.selectSingleNode(L"InsuranceRateEx"))dw_base.SetItemString(1, L"InsuranceRateEx", t.selectSingleNode(L"InsuranceRateEx").text()); + if (t.selectSingleNode(L"AvailableIimits"))dw_base.SetItemString(1, L"AvailableIimits", t.selectSingleNode(L"AvailableIimits").text()); //trace(L"*****************"); if (t.selectSingleNode(L"LCNo"))dw_base.SetItemString(1, L"LCNo", t.selectSingleNode(L"LCNo").text()); @@ -3514,6 +3558,7 @@ dw_profit.SetItemString(1, L"Amount", dw_base.GetItemString(1, L"Amount")); dw_profit.SetItemString(1, L"Freight", dw_base.GetItemString(1, L"Freight")); dw_profit.SetItemString(1, L"InsuranceAmount", dw_base.GetItemString(1, L"InsuranceAmount")); + dw_profit.SetItemString(1, L"SinosurAmount", dw_base.GetItemString(1, L"InsuranceAmountEx")); //dw_profit.SetItemString(1,L"CommissionAmount",dw_base.GetItemString(1,L"CommissionAmount")); double comm1 = dw_base.GetItemDouble(1, L"CommissionAmount"); @@ -3541,6 +3586,7 @@ ttl -= dw_base.GetItemDouble(1, L"CommissionAmount"); ttl -= dw_base.GetItemDouble(1, L"PrivateCommissionAmount"); ttl -= dw_base.GetItemDouble(1, L"DiscountAmount"); + ttl -= dw_base.GetItemDouble(1, L"InsuranceAmountEx"); ttl += dw_profit.GetItemDouble(1, L"SaleExternCost"); @@ -3634,6 +3680,7 @@ int CalcProfit() { + GetInsuranceAmountEx(); evalSale(); evalManagementFee(); evalRiskFundAmount(); @@ -4018,7 +4065,7 @@ int onload() { - + SetArg(); xstring userid = publiccode::GetUser().id; //trace(userid); haveUpdate = true; @@ -4129,7 +4176,7 @@ if (GetWinParam()) { xaserverarg arg_param=GetArg(); - + xstring xs = arg_param.GetString(); InvoiceNo = arg_param.GetArgString(L"InvoiceNo"); if (InvoiceNo == L"") InvoiceNo = arg_param.GetArgString(L"EntityNo"); if (InvoiceNo == L"") -- Gitblit v1.9.3