From b8e6a7bb37d04f1e974e231a5caffc1854cf7f41 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期四, 27 六月 2024 09:37:26 +0800 Subject: [PATCH] this update tree data item --- jrj/project/business/GDN3.maint.cpp | 141 +++++++++++++++++++++------------------------- 1 files changed, 65 insertions(+), 76 deletions(-) diff --git a/jrj/project/business/GDN3.maint.cpp b/jrj/project/business/GDN3.maint.cpp index 60c633d..72aebdf 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 { @@ -106,7 +108,7 @@ } } tools += L"</vbox>"; - SetAgentNodeContent(anode, tools); + SetAgentNode(anode, tools); return 1; } @@ -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,7 +629,7 @@ { 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; @@ -657,7 +659,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 +679,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) @@ -700,7 +702,7 @@ dw_cdelement.DwUpdateAllToEx(xcdelement); if (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(); @@ -998,7 +1000,7 @@ 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); @@ -1006,7 +1008,6 @@ 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,7 +1078,7 @@ 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); @@ -1085,7 +1086,6 @@ 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 +1162,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 +1216,6 @@ PoTotal(); - x.Free(); evalProfitAmountEx(); } @@ -1613,7 +1612,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""); } @@ -1883,7 +1882,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 +1890,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(); } } @@ -2020,7 +2019,7 @@ int OnMakeCustom() { - int HCursor = xutil::SetCursorWait(); + HCURSOR HCursor = xutil::SetCursorWait(); dw_custom.AcceptText(); int cnt = dw_custom.GetRowCount(); bool cdelement = false; @@ -2238,8 +2237,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); } } @@ -2502,7 +2501,7 @@ 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); @@ -2602,7 +2601,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")) @@ -2717,7 +2716,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 +2739,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 +2765,14 @@ 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")); @@ -3206,13 +3205,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"") @@ -3352,13 +3351,13 @@ KXMLDOMNode n = o.selectSingleNode(L"VATRates"); if (n) { - tax = n.text.toDouble(); + tax = xstring(n.text()).toDouble(); n.Release(); } n = o.selectSingleNode(L"VATRefundRate"); if (n) { - retax = n.text.toDouble(); + retax = xstring(n.text()).toDouble(); n.Release(); } o.Release(); @@ -3430,7 +3429,6 @@ double rate = expRate.toDouble(); ManagementFee = sale * rate; } - trace(ManagementFee.toString()); dw_profit.SetItemDouble(1, L"ManagementFee", ManagementFee); return 1; } @@ -3644,6 +3642,7 @@ evalDrawbackEx(); evalTotalCost(); evalProfitAmountEx(); + return 1; } int OnItemAskStyle(TEvent* evt, LPARAM p) @@ -3695,14 +3694,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 +3737,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 +3761,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 +3782,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 +3793,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 +3813,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 +3821,6 @@ ele = node; //node.release(); dw_fcl.Retrieve(ele); - ele.release(); } return 1; @@ -3837,7 +3829,7 @@ int OnRefreshSource(xstring invno) { xml x; - x = new xml; + xaserverarg arg ; @@ -3858,7 +3850,7 @@ //return RetrieveUseBuffer(invno); xml x; - x = new xml; + xaserverarg arg ; @@ -3882,13 +3874,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 +3964,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 +3973,6 @@ { InvoiceID1 = x.text(); } - arg.Free(); - x.Free(); return InvoiceID1; } @@ -4013,16 +4003,17 @@ 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() @@ -4135,10 +4126,9 @@ 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(); InvoiceNo = arg_param.GetArgString(L"InvoiceNo"); if (InvoiceNo == L"") InvoiceNo = arg_param.GetArgString(L"EntityNo"); @@ -4185,10 +4175,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 +4187,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