From 858d5b84cb2f9311d6e00d90c6f9527e2e6f57b4 Mon Sep 17 00:00:00 2001
From: lifan <2308045698@qq.com>
Date: 星期四, 04 九月 2025 17:50:13 +0800
Subject: [PATCH] update
---
jrj/project/business/GDN3.maint.cpp | 279 +++++++++++++++++++++++++++++++------------------------
1 files changed, 158 insertions(+), 121 deletions(-)
diff --git a/jrj/project/business/GDN3.maint.cpp b/jrj/project/business/GDN3.maint.cpp
index 60c633d..ec33e89 100644
--- a/jrj/project/business/GDN3.maint.cpp
+++ b/jrj/project/business/GDN3.maint.cpp
@@ -8,6 +8,8 @@
#include "viewobject/view.base.hpp"
#include "viewobject/saleorder.view.hpp"
#include "viewobject/quote.view.hpp"
+#include "viewobject/gdn3.view.hpp"
+#include "viewobject/custom.view.hpp"
class __declspec(dllexport) GDN3MaintWin : public maint
{
@@ -53,8 +55,8 @@
xml x;
- xaserverarg& arg = *new xaserverarg;
- arg.setNativePointer(arg.CreateInstance());
+ xaserverarg arg ;
+
arg.AddArg(L"scene", scene, L"xs:xstring");
arg.AddArg(L"EntityID", EntityID, L"xs:xstring");
arg.AddArg(L"EntityName", EntityName, L"xs:xstring");
@@ -106,7 +108,7 @@
}
}
tools += L"</vbox>";
- SetAgentNodeContent(anode, tools);
+ SetAgentNode(anode, tools);
return 1;
}
@@ -195,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);
@@ -207,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);
@@ -217,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);
@@ -246,12 +248,12 @@
return 1;
}
- xstring GetEntityID(int /*param*/ pr)
+ xstring GetEntityID(LPARAM /*param*/ pr)
{
return InvoiceID;
}
- xstring GetEntityName(int /*param*/ pr)
+ xstring GetEntityName(LPARAM /*param*/ pr)
{
return L"GDN3";
}
@@ -384,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);
@@ -503,7 +505,7 @@
//if(dw_base.GetItemString(1,L"GoodsSource") == L"")
//{
- // alert(L"请选择货物产地(货物产地:开票工厂金额最大的工厂所属地)L");
+ // alert(L"请选择货物产地(货物产地:开票工厂金额最大的工厂所属地)");
// return 0;
// }
@@ -516,7 +518,7 @@
KXMLDOMDocument xbasedoc = xbase;
dw_base.DwUpdateAllTo(xbasedoc);
- xaserverarg arg = GDNView::MakeArg();
+ xaserverarg arg ;
//if(dw_billnote.DeletedCount()+dw_billnote.ModifiedCount() > 0)
//{
xml xbillnote ;
@@ -549,7 +551,7 @@
KXMLDOMDocument xprofitdoc = xprofit;
dw_profit.DwUpdateAllTo(xprofitdoc);
- xaserverarg arg3 = GDNView::MakeArg();
+ xaserverarg arg3 ;
arg3.AddArg(L"content", xprofit.xml());
if (xurl::get(L"/sale/data/Gdn/update/profit", arg3.GetString(), xprofit) != 1)
{
@@ -582,7 +584,7 @@
KXMLDOMDocument xitemdoc = xitem;
dw_item.DwUpdateAllToEx(xitemdoc);
//dw_base.DwUpdateAllTo(xitemdoc);
- xaserverarg arg1 = GDNView::MakeArg();
+ xaserverarg arg1 ;
arg1.AddArg(L"content", xitem.xml());
if (xurl::get(L"/sale/data/Gdn/update/item", arg1.GetString(), xitem) != 1)
@@ -604,7 +606,7 @@
xml x;
dw_source.DwUpdateAllToEx(x);
- xaserverarg arg2 = GDNView::MakeArg();
+ xaserverarg arg2 ;
arg2.AddArg(L"content", x.xml());
if (xurl::get(L"/sale/data/Gdn/update/sourceex", arg2.GetString(), x) != 1)
@@ -627,18 +629,19 @@
{
if (dw_custom.GetItemString(k, L"LineNo") == L"")
{
- dw_custom.SetItemString(k, L"LineNo", k.toString());
+ dw_custom.SetItemString(k, L"LineNo", xstring(k));
}
}
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
{
@@ -657,7 +660,7 @@
xml x1 ;
dw_invoiceItem.DwUpdateAllToEx(x1);
- xaserverarg arg4 = GDNView::MakeArg();
+ xaserverarg arg4;
arg4.AddArg(L"content", x1.xml());
if (xurl::get(L"/sale/data/Gdn/update/itemex", arg4.GetString(), x1) != 1)
if (!x1)
@@ -677,7 +680,7 @@
xml xfcl ;
dw_fcl.DwUpdateAllToEx(xfcl);
- xaserverarg arg8 = GDNView::MakeArg();
+ xaserverarg arg8 ;
arg8.AddArg(L"content", xfcl.xml());
if (xurl::get(L"/sale/data/Gdn/update/container", arg8.GetString(), xfcl) != 1)
@@ -698,9 +701,9 @@
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.GetXml());
+ xcdelement = CustomView::UpdateCustomElement(dw_base.GetItemString(1, L"InvoiceNo"), xcdelement.xml());
if (!xcdelement)
{
xstring error6 = xcdelement.text();
@@ -867,7 +870,7 @@
xstring ClassifyID = dw_custom.GetItemString(k, L"ClassifyID");
xstring ClassifyName = dw_custom.GetItemString(k, L"CustName");
xstring GroupNo = dw_custom.GetItemString(k, L"GroupNo");
- if (GroupNo != L"") ClassifyName += ClassifyName + L"(L" + GroupNo + L")L";
+ if (GroupNo != L"") ClassifyName += ClassifyName + L"(" + GroupNo + L")";
double LegalQty = dw_custom.GetItemDouble(k, L"LegalQty");
@@ -911,7 +914,7 @@
xstring ClassifyID = dw_custom.GetItemString(k, L"ClassifyID");
xstring ClassifyName = dw_custom.GetItemString(k, L"CustName");
xstring GroupNo = dw_custom.GetItemString(k, L"GroupNo");
- if (GroupNo != L"") ClassifyName += ClassifyName + L"(L" + GroupNo + L")L";
+ if (GroupNo != L"") ClassifyName += ClassifyName + L"(" + GroupNo + L")";
double VQuantity = dw_custom.GetItemDouble(k, L"Quantity");
double VAmount = dw_custom.GetItemDouble(k, L"Amount");
double qty = 0.0;
@@ -954,7 +957,7 @@
bool validProfit()
{
- double amt = dw_profit.GetItemString(1, L"ProfitAmountEx");
+ double amt = dw_profit.GetItemDouble(1, L"ProfitAmountEx");
if (amt < 0.0)
{
if (dw_profit.GetItemString(1, L"Note") == L"")
@@ -998,15 +1001,14 @@
xstring GDNLineID = dw_item.GetGuid(nRow);
if (clear) ClearSourcingItem(nRow);
double ExchangeCostEx = dw_profit.GetItemDouble(1, L"ExchangeCostEx");
- xml x = xml::Make();
+ xml x ;
x.loadXML(L"<data/>");
KXMLDOMElement e = dw_item.GetRowElement(nRow);
KXMLDOMNode n = e.cloneNode(-1);
x.documentElement().appendChild(n);
- n.Release();
+
xstring val = x.xml();
trace(L"=======L" + val + L"=======L");
- x.Free();
xml source = ViewObject::RetrieveData(L"/sale/data/PurchaseOrder/gdn/sourcing/refreshitemex", L"content", val);
if (source)
@@ -1077,15 +1079,14 @@
xstring GDNLineID = dw_item.GetGuid(nRow);
if (clear) ClearSourcingItem(nRow);
double ExchangeCostEx = dw_profit.GetItemDouble(1, L"ExchangeCostEx");
- xml x = xml::Make();
+ xml x ;
x.loadXML(L"<data/>");
KXMLDOMElement e = dw_item.GetRowElement(nRow);
KXMLDOMNode n = e.cloneNode(-1);
x.documentElement().appendChild(n);
- n.Release();
+
xstring val = x.xml();
trace(L"123=======L" + val + L"=======123");
- x.Free();
xml source = ViewObject::RetrieveData(L"/sale/data/PurchaseOrder/gdn/sourcing/refreshitemexOne", L"content", val);
if (source)
@@ -1162,7 +1163,7 @@
dw_item.DwUpdateAllToEx(xitemdoc);
- xml x = ViewObject::RetrieveData(L"/sale/data/PurchaseOrder/gdn/sourcing/refreshitemexOne", L"content", xitem.GetXml());
+ xml x = ViewObject::RetrieveData(L"/sale/data/PurchaseOrder/gdn/sourcing/refreshitemexOne", L"content", xitem.xml());
trace(x.xml());
if (x)
{
@@ -1216,7 +1217,6 @@
PoTotal();
- x.Free();
evalProfitAmountEx();
}
@@ -1415,6 +1415,7 @@
}
CalcDraftAmount();
CalcProfit();
+ GetInsuranceAmountEx();
dw_base.Redraw();
}
@@ -1528,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);
@@ -1541,7 +1545,7 @@
}
else
{
- xml xp = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/param", L"item", L"cryrate");
+ xml xp = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/paramS", L"item", L"cryrate");
if (xp.selectSingleNode(L"root/item/@value"))
exchangeRate = xp.selectSingleNode(L"root/item/@value").text();
dw_profit.SetItemString(1, L"ExchangeRate", exchangeRate);
@@ -1549,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;
}
@@ -1613,7 +1651,7 @@
{
if (data == L"")
{
- dw_item.SetItemDisplayString(row, col, L"");
+ dw_item.SetItemDisplayString(row, col.c_str(), L"");
dw_item.SetItemString(row, L"CDUnitPrice", L"");
dw_item.SetItemDisplayString(row, L"CDUnitPrice", L"");
}
@@ -1869,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;
}
@@ -1883,7 +1921,7 @@
{
xaserverarg arg ;
- xstring str = dw_billnote.GetItemString(row, colname);
+ xstring str = dw_billnote.GetItemString(row, colname.c_str());
arg.AddArg(L"value", str);
openUrl(L"/sale/view/view.dlg/xpage/memo/edit/new", &arg);
@@ -1891,7 +1929,7 @@
if (comdid == L"xmOK")
{
xstring value = arg.GetArgString(L"value");
- dw_billnote.SetItemString(row, colname, value);
+ dw_billnote.SetItemString(row, colname.c_str(), value);
dw_billnote.Redraw();
}
}
@@ -1903,7 +1941,7 @@
CheckCDLine();
CheckGW();
xaserverarg arg ;
- arg.setNativePointer(arg.CreateInstance());
+
arg.AddArg(L"EntityName", L"GDN3", L"");
arg.AddArg(L"EntityID", InvoiceID, L"");
arg.AddArg(L"EntityNo", dw_base.GetItemString(1, L"InvoiceNo"), L"");
@@ -2020,7 +2058,7 @@
int OnMakeCustom()
{
- int HCursor = xutil::SetCursorWait();
+ HCURSOR HCursor = xutil::SetCursorWait();
dw_custom.AcceptText();
int cnt = dw_custom.GetRowCount();
bool cdelement = false;
@@ -2133,7 +2171,7 @@
if (o.selectSingleNode(L"VATRates"))
{
xstring str1 = o.selectSingleNode(L"VATRates").text();
- if (str1.find(L",L") >= 0) str1 = str1.left(str1.find(L",L"));
+ if (str1.find(L",") >= 0) str1 = str1.left(str1.find(L","));
dw_custom.SetItemString(i, L"VATRates", str1);
}
if (o.selectSingleNode(L"CustEName"))
@@ -2186,7 +2224,7 @@
if(o.selectSingleNode(L"VATRates"))
{
xstring str1 = o.selectSingleNode(L"VATRates").text();
- if(str1.find(L",L")) str1 = str1.left(str1.find(L",L"));
+ if(str1.find(L",")) str1 = str1.left(str1.find(L","));
dw_custom.SetItemString(i,L"VATRates",str1);
}
if(o.selectSingleNode(L"CustEName"))
@@ -2238,8 +2276,8 @@
{
if (dw_custom.GetItemString(m, L"UseFlag") == L"0")
{
- if (dw_custom.GetItemString(i, L"ClassifyID") != L"")
- DeleteCDElement(dw_custom.GetItemString(i, L"ClassifyID"));
+ if (dw_custom.GetItemString(m, L"ClassifyID") != L"")
+ DeleteCDElement(dw_custom.GetItemString(m, L"ClassifyID"));
dw_custom.DeleteRow(m);
}
}
@@ -2441,7 +2479,7 @@
if (o.selectSingleNode(L"VATRates"))
{
xstring str1 = o.selectSingleNode(L"VATRates").text();
- if (str1.find(L",L")) str1 = str1.left(str1.find(L",L"));
+ if (str1.find(L",")) str1 = str1.left(str1.find(L","));
dw_custom.SetItemString(i, L"VATRates", str1);
dw_customex.SetItemString(i, L"VATRates", str1);
}
@@ -2502,10 +2540,11 @@
int OnAddSourcingItem()
{
- xaserverarg arg = GDNView::MakeArg();
+ xaserverarg arg ;
arg.AddArg(L"InvoiceNo", dw_base.GetItemString(1, L"InvoiceNo"));
int p = arg;
OpenWindow(L"dev:xpage[select.item.po.vx]", p);
+
xstring str = arg.GetArgString(L"items");
if (str != L"")
{
@@ -2602,7 +2641,7 @@
KXMLDOMNode t = items.item(i);
dw_item.SetItemString(row, L"SeqNo", xstring((row * 10)));
dw_item.SetItemString(row, L"GDNID", dw_base.GetGuid(1));
- double cost = (double) t.selectSingleNode(L"Cost").text().todouble();
+ double cost = xstring(t.selectSingleNode(L"Cost").text()).toDouble();
if (t.selectSingleNode(L"SONo"))
@@ -2615,7 +2654,7 @@
}
else if (SONos.find(SONo) < 0)
{
- SONos += L",L" + SONo;
+ SONos += L"," + SONo;
costs += cost;
}
}
@@ -2625,7 +2664,7 @@
xstring CustomerPONo = t.selectSingleNode(L"CustomerPONo").text();
if (OrderNos == L"")
OrderNos = CustomerPONo;
- else if (OrderNos.find(CustomerPONo) < 0) OrderNos += L",L" + CustomerPONo;
+ else if (OrderNos.find(CustomerPONo) < 0) OrderNos += L"," + CustomerPONo;
}
if (t.selectSingleNode(L"OperationTips"))
@@ -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());
@@ -2717,7 +2761,7 @@
double d1 = dw_item.GetItemDouble(row, L"Quantity");
double d2 = dw_item.GetItemDouble(row, L"UnitPrice");
double d = d1 * d2;
- d = d.round(2);
+ d = xdouble(d).round(2);
dw_item.SetItemDouble(row, L"Amount", d);
double UnitCommPrice = dw_item.GetItemDouble(row, L"UnitCommPrice");
@@ -2740,7 +2784,7 @@
dw_base.SetItemString(1, L"Mark", FrontMarkss);
double CostEx = dw_base.GetItemDouble(1, L"Cost");
- if (CostEx == 0 || CostEx == L"")
+ if (CostEx == 0)
{
if (costs >= 0) {
dw_base.SetItemString(1, L"CostMoreLess", L"1");
@@ -2766,14 +2810,13 @@
int OnAddGDNItem()
{
//trace(L"12313");
- xaserverarg arg = GDNView::MakeArg();
+ xaserverarg arg ;
arg.AddArg(L"CustomerID", dw_base.GetItemString(1, L"CustomerID"));
arg.AddArg(L"InvoiceNo", dw_base.GetItemString(1, L"InvoiceNo"));
arg.AddArg(L"SONo", dw_base.GetItemString(1, L""));
- int p = arg;
if (dw_base.GetItemString(1, L"CustomerID") == L"")
{
- OpenWindow(L"dev:xpage[SelectItem.New.GDN.vx]", cast(arg as int));
+ OpenWindow(L"dev:xpage[SelectItem.New.GDN.vx]", arg);
if (dw_base.GetItemString(1, L"CustomerID") == L"")
{
dw_base.SetItemDisplayString(1, L"CustomerID", arg.GetArgString(L"PartyName"));
@@ -2784,7 +2827,7 @@
}
else
{
- OpenWindow(L"dev:xpage[select.gdnitem.so.vx]", p);
+ OpenWindow(L"dev:xpage[select.gdnitem.so.vx]", arg);
}
xstring str = arg.GetArgString(L"items");
@@ -2909,7 +2952,7 @@
}
else if (SONo_s.find(SONo) < 0)
{
- SONo_s += L",L" + SONo;
+ SONo_s += L"," + SONo;
}
xstring PONo = dw_item.GetItemString(k, L"PONo");
if (PONo_s == L"")
@@ -2918,7 +2961,7 @@
}
else if (PONo_s.find(PONo) < 0)
{
- PONo_s += L",L" + PONo;
+ PONo_s += L"," + PONo;
}
}
dw_base.SetItemString(1, L"OrderNos", PONo_s);
@@ -3188,7 +3231,7 @@
xaserverarg& arg2 = *new xaserverarg;
arg2.AddArg(L"InvoiceNo", dw_base.GetItemString(1, L"InvoiceNo"));
- //arg2.AddArg(L"HWND", GetHWND().toString());
+ //arg2.AddArg(L"HWND", xstring((__int64)GetHWND()));
arg2.SetParam(L"HWND", (LPARAM)GetHWND());
OpenWindow(L"dev:xpage[GDNSourcePaperCard.vx]",(LPARAM)&arg2);
}
@@ -3206,13 +3249,13 @@
}
else if (comdid == L"xmMaintBuyPrice")
{
- xaserverarg arg = GDNView::MakeArg();
+ xaserverarg arg ;
int row = dw_source.GetRow();
if (row < 1) return 1;
arg.AddArg(L"SupplierID", dw_source.GetItemString(row, L"SupplierID"));
arg.AddArg(L"SupplierName", dw_source.GetItemDisplayString(row, L"SupplierID"));
arg.AddArg(L"Price", dw_source.GetItemString(row, L"BuyUnitPrice"));
- OpenWindow(L"dev:xpage[GDNSourcePriceMaint.vx]", cast(arg as int));
+ OpenWindow(L"dev:xpage[GDNSourcePriceMaint.vx]", arg);
if (arg.GetArgString(L"result") == L"ok")
{
if (arg.GetArgString(L"SupplierID") != L"")
@@ -3290,12 +3333,12 @@
xstring exchRate = L"";
xstring exchRate2 = L"";
- xml x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/param", L"item", L"prepareFeeRate");
+ xml x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/paramS", L"item", L"prepareFeeRate");
if (x.selectSingleNode(L"root/item/@value"))
exchRate = x.selectSingleNode(L"root/item/@value").text();
double rate = exchRate.toDouble();
- xml x1 = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/param", L"item", L"cryrate");
+ xml x1 = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/paramS", L"item", L"cryrate");
if (x.selectSingleNode(L"root/item/@value"))
exchRate2 = x1.selectSingleNode(L"root/item/@value").text();
double cryrate = exchRate2.toDouble();
@@ -3352,14 +3395,14 @@
KXMLDOMNode n = o.selectSingleNode(L"VATRates");
if (n)
{
- tax = n.text.toDouble();
- n.Release();
+ tax = xstring(n.text()).toDouble();
+
}
n = o.selectSingleNode(L"VATRefundRate");
if (n)
{
- retax = n.text.toDouble();
- n.Release();
+ retax = xstring(n.text()).toDouble();
+
}
o.Release();
}
@@ -3397,11 +3440,11 @@
xstring expRate = L"";
xstring exchRate = L"";
- xml x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/param", L"item", L"cryrate");
+ xml x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/paramS", L"item", L"cryrate");
if (x.selectSingleNode(L"root/item/@value"))
exchRate = x.selectSingleNode(L"root/item/@value").text();
- x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/param", L"item", L"mgtFeeRate");
+ x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/paramS", L"item", L"mgtFeeRate");
if (x.selectSingleNode(L"root/item/@value"))
expRate = x.selectSingleNode(L"root/item/@value").text();
//double sale = dw_profit.GetItemDouble(1,L"ExchangeAmountEx");
@@ -3430,7 +3473,6 @@
double rate = expRate.toDouble();
ManagementFee = sale * rate;
}
- trace(ManagementFee.toString());
dw_profit.SetItemDouble(1, L"ManagementFee", ManagementFee);
return 1;
}
@@ -3442,13 +3484,14 @@
xstring expRate = L"";
xstring exchRate = L"";
- xml x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/param", L"item", L"cryrate");
+ xml x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/paramS", L"item", L"cryrate");
if (x.selectSingleNode(L"root/item/@value"))
exchRate = x.selectSingleNode(L"root/item/@value").text();
- x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/param", L"item", L"RiskFundAmount");
+ x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/paramS", L"item", L"RiskFundAmount");
if (x.selectSingleNode(L"root/item/@value"))
expRate = x.selectSingleNode(L"root/item/@value").text();
+ //alert(expRate);
//double sale = dw_profit.GetItemDouble(1,L"ExchangeAmountEx");
xstring ETDEx = dw_base.GetItemString(1, L"ETD");
@@ -3516,6 +3559,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");
@@ -3543,6 +3587,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");
@@ -3550,7 +3595,7 @@
xstring exchangeRate = L"";
exchangeRate = dw_profit.GetItemString(1, L"ExchangeRate");
if (exchangeRate == L"") {
- xml x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/param", L"item", L"cryrate");
+ xml x = ViewObject::RetrieveData(L"/sale/data/GDN3/profit/paramS", L"item", L"cryrate");
if (x.selectSingleNode(L"root/item/@value"))
exchangeRate = x.selectSingleNode(L"root/item/@value").text();
dw_profit.SetItemString(1, L"ExchangeRate", exchangeRate);
@@ -3636,6 +3681,7 @@
int CalcProfit()
{
+ GetInsuranceAmountEx();
evalSale();
evalManagementFee();
evalRiskFundAmount();
@@ -3644,6 +3690,7 @@
evalDrawbackEx();
evalTotalCost();
evalProfitAmountEx();
+ return 1;
}
int OnItemAskStyle(TEvent* evt, LPARAM p)
@@ -3679,7 +3726,7 @@
int OnAttachEvent()
{
//绑定工具条点击事件
- AttachEvent(L"WM_XCOMMAND", L"DWV_CLICKED", (FEvent)&GDN3MaintWin::OnXCommand);
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&GDN3MaintWin::OnXCommand);
//获取焦点事件,用于重置工具条
AttachEvent(L"WM_SETFOCUS", (FEvent)&GDN3MaintWin::OnSetFocus);
@@ -3695,14 +3742,14 @@
AttachEvent(L"dw_item", L"DWV_ASKSTYLE", (FEvent)&GDN3MaintWin::OnItemAskStyle);
AttachCloseWindow();
-
+ return 1;
}
int RetrieveUseBuffer(xstring invno)
{
xml x;
- x = new xml;
+
xaserverarg arg;
@@ -3738,15 +3785,13 @@
if (dw_billnote.GetRowCount() < 1)
{
xml x0;
- x0 = new xml;
- x0.setNativePointer(xml::CreateInstance());
- xstring billnote = L"<GDN><DocInfo><data><Item Name='报关发票' Field='Remark'></Item>" +
- "<Item Name='报关箱单' Field='Remark'></Item>" +
- "<Item Name='议付发票' Field='Remark'></Item>" +
- "<Item Name='议付箱单' Field='Remark'></Item>" +
- "<Item Name='装船通知' Field='Remark'></Item>" +
- "<Item Name='加拿大海关发票' Field='Remark'></Item>" +
- "<Item Name='FORMA' Field='Remark'></Item></data></DocInfo></GDN>";
+ xstring billnote = L"<GDN><DocInfo><data><Item Name='报关发票' Field='Remark'></Item>"
+ L"<Item Name='报关箱单' Field='Remark'></Item>"
+ L"<Item Name='议付发票' Field='Remark'></Item>"
+ L"<Item Name='议付箱单' Field='Remark'></Item>"
+ L"<Item Name='装船通知' Field='Remark'></Item>"
+ L"<Item Name='加拿大海关发票' Field='Remark'></Item>"
+ L"<Item Name='FORMA' Field='Remark'></Item></data></DocInfo></GDN>";
x0.loadXML(billnote);
dw_billnote.Retrieve(x0);
}
@@ -3764,10 +3809,9 @@
dw_item.SetSelectionMode(1);
if (dw_item.GetRowCount() < 1)
{
- xml x2 = xml::Make();
+ xml x2 ;
x2.loadXML(L"<GDN/>");
dw_item.Retrieve(x2);
- x2.Free();
}
/*
@@ -3786,7 +3830,6 @@
ele = node;
//node.release();
dw_invoiceItem.Retrieve(ele);
- ele.release();
}
//alert(L"123"+InvoiceID);
//dw_source.DwRetrieve(GetServerUrl(),L"[source.gdn.sql.xq]", L"EntityID", InvoiceID);
@@ -3798,7 +3841,6 @@
ele = node;
//node.release();
dw_source.Retrieve(ele);
- ele.release();
}
dw_custom.DwRetrieve(GetServerUrl(), L"[cdline.gdn.sql.xq]", L"EntityID", InvoiceID);
dw_custom.SetSelectionMode(1);
@@ -3819,7 +3861,6 @@
//node.release();
dw_cdelement.Retrieve(ele);
dw_cdelement.SetSelectionMode(1);
- ele.release();
}
node = xdoc.selectSingleNode(L"data/Item[@subject='Container' or @subject='container']/*");
@@ -3828,7 +3869,6 @@
ele = node;
//node.release();
dw_fcl.Retrieve(ele);
- ele.release();
}
return 1;
@@ -3837,7 +3877,7 @@
int OnRefreshSource(xstring invno)
{
xml x;
- x = new xml;
+
xaserverarg arg ;
@@ -3858,7 +3898,7 @@
//return RetrieveUseBuffer(invno);
xml x;
- x = new xml;
+
xaserverarg arg ;
@@ -3882,13 +3922,13 @@
dw_billnote.Retrieve(x);
if (dw_billnote.GetRowCount() < 1)
{
- xstring billnote = L"<GDN><DocInfo><data><Item Name='报关发票' Field='Remark'></Item>" +
- "<Item Name='报关箱单' Field='Remark'></Item>" +
- "<Item Name='议付发票' Field='Remark'></Item>" +
- "<Item Name='议付箱单' Field='Remark'></Item>" +
- "<Item Name='装船通知' Field='Remark'></Item>" +
- "<Item Name='加拿大海关发票' Field='Remark'></Item>") +
- "<Item Name='FORMA' Field='Remark'></Item></data></DocInfo></GDN>");
+ xstring billnote = L"<GDN><DocInfo><data><Item Name='报关发票' Field='Remark'></Item>"
+ "<Item Name='报关箱单' Field='Remark'></Item>"
+ "<Item Name='议付发票' Field='Remark'></Item>"
+ "<Item Name='议付箱单' Field='Remark'></Item>"
+ "<Item Name='装船通知' Field='Remark'></Item>"
+ "<Item Name='加拿大海关发票' Field='Remark'></Item>"
+ "<Item Name='FORMA' Field='Remark'></Item></data></DocInfo></GDN>";
x.loadXML(billnote);
dw_billnote.Retrieve(x);
}
@@ -3972,8 +4012,8 @@
xstring GetInvoiceID(xstring InvoiceNo)
{
- xml x = xml::Make();
- xaserverarg arg = xaserverarg::Make();
+ xml x ;
+ xaserverarg arg ;
arg.AddArg(L"InvoiceNo", InvoiceNo);
xaserver::ExecXQuery(GetServerUrl(), L"[gdnid.gdn.xq]", arg.GetString(), x);
xstring InvoiceID1 = L"";
@@ -3981,8 +4021,6 @@
{
InvoiceID1 = x.text();
}
- arg.Free();
- x.Free();
return InvoiceID1;
}
@@ -4013,21 +4051,22 @@
dw_base.SetGuid(1, id);
dw_profit.SetGuid(1, id);
- xml x = ViewObject::MakeXml();
- xstring billnote = L"<GDN><DocInfo><data><Item Name='报关发票' Field='Remark'></Item>" +
- "<Item Name='报关箱单' Field='Remark'></Item>" +
- "<Item Name='议付发票' Field='Remark'></Item>" +
- "<Item Name='议付箱单' Field='Remark'></Item>" +
- "<Item Name='装船通知' Field='Remark'></Item>" +
- "<Item Name='加拿大海关发票' Field='Remark'></Item>" +
+ xml x;
+ xstring billnote = L"<GDN><DocInfo><data><Item Name='报关发票' Field='Remark'></Item>"
+ "<Item Name='报关箱单' Field='Remark'></Item>"
+ "<Item Name='议付发票' Field='Remark'></Item>"
+ "<Item Name='议付箱单' Field='Remark'></Item>"
+ "<Item Name='装船通知' Field='Remark'></Item>"
+ "<Item Name='加拿大海关发票' Field='Remark'></Item>"
"<Item Name='FORMA' Field='Remark'></Item></data></DocInfo></GDN>";
x.loadXML(billnote);
dw_billnote.Retrieve(x);
+ return 1;
}
int onload()
{
-
+ SetArg();
xstring userid = publiccode::GetUser().id;
//trace(userid);
haveUpdate = true;
@@ -4101,7 +4140,7 @@
dw_custom.SetColumnState(L"ClassifyID", false);
dw_custom.SetColumnState(L"AmountEx", false);
//dw_custom.SetReadOnlyColumn(L"CustName",true);
- dw_custom.SetColumnState(L"LineNo", false);
+ //dw_custom.SetColumnState(L"LineNo", false);
dw_customex = GetControl(L"dw_customex");
@@ -4135,11 +4174,10 @@
dw_doclist.openUrl(L"/sale/view/GDN/template/doclist");
InvoiceNo = L"";
- if (GetParam())
+ if (GetWinParam())
{
- xaserverarg arg_param = new xaserverarg;
- arg_param.setNativePointer(GetParam());
-
+ 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"")
@@ -4185,10 +4223,9 @@
else
{
OnNewInital();
- if (GetParam())
+ if (GetWinParam())
{
- xaserverarg arg = new xaserverarg;
- arg.setNativePointer(GetParam());
+ xaserverarg arg = GetArg();
if (arg.GetArgString(L"CustomerID") != L"")
{
@@ -4198,7 +4235,7 @@
xstring colname = L"CustomerID";
xstring value = arg.GetArgString(L"CustomerID");
KXMLDOMNodeList nlist = GetElement().selectNodes(L"//*[@name='" + dwname + L"']/trans[@for='" + colname + L"']");
- ViewObject::TransData(nlist, dw_base, 1, colname, value);
+ ViewObject::TransData(nlist, dw_base, 1, colname, value);
trace(L"+++++L");
}
}
--
Gitblit v1.9.3