From 92041f16c37d6be17d8757d59343d3ce4a799292 Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期三, 26 六月 2024 11:47:13 +0800 Subject: [PATCH] 提交代码 --- jrj/project/business/GDN3.list.cpp | 202 +++++++++++++++++++++++++------------------------ 1 files changed, 103 insertions(+), 99 deletions(-) diff --git a/jrj/project/business/GDN3.list.cpp b/jrj/project/business/GDN3.list.cpp index 6ed85f3..6488691 100644 --- a/jrj/project/business/GDN3.list.cpp +++ b/jrj/project/business/GDN3.list.cpp @@ -37,9 +37,9 @@ //process tree //查找当前树项的顶级目录 - int LookupTopFolder(HTREEVIEW hItem) + HTREEITEM LookupTopFolder(HTREEITEM hItem) { - int hRoot = tv_folder.GetRootItem(); + HTREEITEM hRoot = tv_folder.GetRootItem(); while (tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem); return hItem; } @@ -62,38 +62,42 @@ return 1; } - int ExpandCatChildFolder(HTREEVIEW hItem, KXMLDOMElement ele, int image) + int ExpandCatChildFolder(HTREEITEM hItem, KXMLDOMElement ele, int image) { - KXMLDOMNodeList nlist = ele.SelectNodes(L"item"); - int len = nlist.length; + KXMLDOMNodeList nlist = ele.selectNodes(L"item"); + int len = nlist.length(); if (len > 0) tv_folder.SetItemChild(hItem, 1); for (int i = 0; i < len; i++) { - KXMLDOMElement e = nlist.item(i); - xstring name = e.getAttribute(L"name"); - int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), image); + KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i)); + string name = e.getAttribute(L"name"); + HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image); ExpandCatChildFolder(h, e, 35); } return 1; } - int ExpandFolderItem(HTREEVIEW hItem, xstring no) + int ExpandFolderItem(HTREEITEM hItem, xstring no) { //xml x = ViewObject::RetrieveData(urlTree,L"no",no); - xml x = xml::Make(); + /*xml x = xml::Make(); xaserverarg arg = xaserverarg::Make(); arg.AddArg(L"no", no); xaserver::ExecXQuery(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", arg.GetString(), x); + */ + + + KXMLDOMDocument x = ViewObject::RetrieveData(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", L"id", no); if (!x) return 0; - KXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes(L"/data/item"); - int len = nlist.length; + KXMLDOMNodeList nlist = x.SelectNodes(L"/data/item"); + int len = nlist.length(); for (int i = 0; i < len; i++) { - KXMLDOMElement e = nlist.item(i); - xstring name = e.getAttribute(L"name"); - int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), 35); + KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i)); + string name = e.getAttribute(L"name"); + HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, 35); ExpandCatChildFolder(h, e, 35); } x.Free(); @@ -101,33 +105,34 @@ } //树展开 - int OnTreeExpanding(ref TNotifyEvent evt, int p) + int OnTreeExpanding(TEvent* evt, int p) { - ref NMTREEVIEW nmtv = evt.pnmh; - HTREEVIEW hItem = nmtv.itemNew.hItem; - int hTopItem = LookupTopFolder(hItem); + NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh; + HTREEITEM hItem = nmtv.itemNew.hItem; + HTREEITEM hTopItem = LookupTopFolder(hItem); xstring name = tv_folder.GetItemLabel(hTopItem); - int child = tv_folder.GetChildItem(hItem); + HTREEITEM child = tv_folder.GetChildItem(hItem); - KXMLDOMElement e = tv_folder.GetItemData(hItem); + KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); if (!child)ExpandFolderItem(hItem, e.getAttribute(L"no")); return 1; } - int ExpandChildFolder(HTREEVIEW hItem, KXMLDOMElement pElement) + int ExpandChildFolder(HTREEITEM hItem, KXMLDOMElement pElement) { - KXMLDOMNodeList nlist = pElement.SelectNodes(L"Item"); - int len = nlist.length; + KXMLDOMNodeList nlist = pElement.selectNodes(L"Item"); + int len = nlist.length(); for (int i = 0; i < len; i++) { - KXMLDOMElement e = nlist.item(i); - xstring name = e.getAttribute(L"name"); + KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i)); + string name = e.getAttribute(L"name"); xstring sImage = e.getAttribute(L"image"); + xstring child = e.getAttribute(L"child"); int image = 15; - //if(sImage) image = sImage.toInt(); - int h = tv_folder.InsertChildItem(tv_folder.GetId(), hItem, name, trust(e as int), image); - tv_folder.SetItemChild(h, 1); + if (sImage) image = sImage.toInt(); + HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image); + if (child != L"no") tv_folder.SetItemChild(h, 1); ExpandChildFolder(h, e); } return 1; @@ -141,7 +146,7 @@ return 1; } - int OnTreeSelChanged(ref TNotifyEvent evt, int p) + int OnTreeSelChanged(TEvent* evt, LPARAM p) { if (changeddlb) return 1; return OnPreRetrieve(); @@ -153,20 +158,20 @@ { if (updateItem == L"del") { - int DelRow = this.dw_list.GetRow(); - this.dw_list.DeleteRow(DelRow); + int DelRow = dw_list.GetRow(); + dw_list.DeleteRow(DelRow); } else if (updateItem == L"setstate") { - int row = this.dw_list.GetRow(); + int row = dw_list.GetRow(); if (row < 1) return 1; - KXMLDOMElement ele = this.dw_list.GetRowElement(row); + KXMLDOMElement ele = dw_list.GetRowElement(row); xstring id = GetEntityIDName(1); xstring entity = ele.selectSingleNode(id).text(); SetAgent(L"list", entity); if (arg.GetArgString(L"state") != L"") - //this.dw_list.SetItemString(row, L"ApprovalStatus", arg.GetArgString(L"state")); + //dw_list.SetItemString(row, L"ApprovalStatus", arg.GetArgString(L"state")); dw_list.SetItemString(row, L"ApplyStatus", arg.GetArgString(L"state")); if (arg.GetArgString(L"billstatus") != L"") { @@ -176,7 +181,7 @@ dw_list.SetItemDisplayString(row, L"ApprovalStatus", statusName); } - this.dw_list.Redraw(); + dw_list.Redraw(); } return 1; @@ -195,14 +200,14 @@ { if (readed) return 1; - HTREEVIEW hItem = tv_folder.GetSelectedItem(); + HTREEITEM hItem = tv_folder.GetSelectedItem(); if (hItem <= 0) { hItem = tv_folder.GetRootItem(); if (hItem <= 0) return 1; } - int hCursor = xutil::SetCursorWait(); - KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement); + HCURSOR hCursor = xutil::SetCursorWait(); + KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); xstring no = e1.getAttribute(L"no"); //xml x = 0; //x = ViewObject::RetrieveData(myDataUrl,L"no",no,L"QueryTxt", m_QueryTxt,L"rows",rows); @@ -211,6 +216,7 @@ arg.AddArg(L"no", no); arg.AddArg(L"QueryTxt", m_QueryTxt); arg.AddArg(L"rows", rows); + trace(no + L"***" + m_QueryTxt + L"***" + rows); /*if(DeptName==L"跟单部"){ dw_list.DwRetrieve(GetServerUrl(),L"[list.creator.gdn.sql.xq]",arg.GetString()); @@ -231,15 +237,16 @@ int OnPreRetrieve() { - HTREEVIEW hItem = tv_folder.GetSelectedItem(); + HTREEITEM hItem = tv_folder.GetSelectedItem(); if (hItem <= 0) return 1; - int hCursor = xutil::SetCursorWait(); - KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement); + HCURSOR hCursor = xutil::SetCursorWait(); + + KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); xstring no = e1.getAttribute(L"no"); - xml x = 0; + trace(L"\r\n" + no + L"\r\n" + m_QueryTxt); - x = ViewObject::RetrieveData(myDataUrl, L"no", no, L"QueryTxt", m_QueryTxt, L"rows", rows); + KXMLDOMDocument x = ViewObject::RetrieveData(myDataUrl, L"no", no, L"QueryTxt", m_QueryTxt, L"rows", rows); if (x) { dw_list.Retrieve(x); @@ -270,7 +277,7 @@ //dw_source.DwRetrieve(GetServerUrl(),L"[source.gdn.sql.xq]",L"EntityID", EntityID ); - xml x = ViewObject::RetrieveData(L"/sale/data/GDN/source/maintex1", L"GDNID", EntityID); + KXMLDOMDocument x = ViewObject::RetrieveData(L"/sale/data/GDN/source/maintex1", L"GDNID", EntityID); if (x) dw_source.Retrieve(x); else @@ -278,7 +285,7 @@ dw_source.Redraw(); dw_source.SetReadOnly(true); - xml x1 = ViewObject::RetrieveData(L"/sale/data/Custom3/maint/custom/data", L"invno", InvoiceNo); + KXMLDOMDocument x1 = ViewObject::RetrieveData(L"/sale/data/Custom3/maint/custom/data", L"invno", InvoiceNo); if (x1) dw_custom.Retrieve(x1); else @@ -292,15 +299,14 @@ return 1; } - int OnRowChanged(ref TNotifyEvent evt, int p) + int OnRowChanged(TEvent* evt, LPARAM p) { - //fixed one event only one process listwin::OnRowChanged(evt, p); - ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; int row = hdr.row; - int hCursor = xutil::SetCursorWait(); + HCURSOR hCursor = xutil::SetCursorWait(); RetrieveDetail(row); xutil::RestoreCursor(hCursor); @@ -328,9 +334,9 @@ xml x = ViewObject::RetrieveData(L"/sale/data/Gdn/checksource",L"invno",InvoiceNo); if(!x) return 1; - if(x.GetXmlDoc().selectSingleNode(L"error")) + if(x.selectSingleNode(L"error")) { - alert(x.GetXmlDoc().selectSingleNode(L"error").text); + alert(x.selectSingleNode(L"error").text); return 0; } @@ -342,7 +348,7 @@ xml supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType",L"id", s); if(supplier_x) { - if(supplier_x.GetXmlDoc().text != L"业务员") + if(supplier_x.text != L"业务员") { alert(L"当前角色不是业务员不能新增单子,请重新选择角色"); return 0; @@ -355,10 +361,10 @@ int OnSearch() { - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); + xaserverarg& arg = *new xaserverarg; + arg.AddArg(L"text", searchStr); - OpenWindow(L"dev:xpage[search.dialog.vx]", cast(arg as int)); + OpenWindow(L"dev:xpage[search.dialog.vx]", (LPARAM)&arg); xstring str = arg.GetArgString(L"text"); if (str != searchStr) { @@ -374,7 +380,7 @@ if (comdid == L"action:bill.refresh") { changeddlb = 1; - int RItem = tv_folder.GetRootItem(); + HTREEITEM RItem = tv_folder.GetRootItem(); while (tv_folder.GetChildItem(RItem)) tv_folder.DeleteItem(tv_folder.GetChildItem(RItem)); ExpandFolderItem(RItem, L"Category:Customer"); @@ -395,8 +401,8 @@ else if (comdid.find(L"bill.print") > 0) { xstring EntityIDS = dw_list.GetGuid(dw_list.GetRow()); - xml xs = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudge", L"GDNID", EntityIDS); - xstring Results1 = xs.GetXmlDoc().text(); + KXMLDOMDocument xs = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudge", L"GDNID", EntityIDS); + xstring Results1 = xs.text(); if (Results1 != L"") { alert(Results1); @@ -412,10 +418,10 @@ if (publiccode::GetUser().name != L"admin") { xstring s = publiccode::GetUser().id; - xml supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType", L"id", s); + KXMLDOMDocument supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType", L"id", s); if (supplier_x) { - if (supplier_x.GetXmlDoc().text != L"跟单") + if (supplier_x.text() != L"跟单") { alert(L"当前角色不是跟单员不能新增单子,请重新选择角色"); return 0; @@ -426,11 +432,11 @@ else if (comdid == L"action:bill.GDNDelay") { xstring EntityIDEx = dw_list.GetGuid(dw_list.GetRow()); - xaserverarg argEx = new xaserverarg; + xaserverarg& argEx = *new xaserverarg; argEx.setNativePointer(argEx.CreateInstance()); trace(EntityIDEx); argEx.AddArg(L"GDNID", EntityIDEx); - OpenWindow(L"dev:xpage[GDNDelay.vx]", cast(argEx as int)); + OpenWindow(L"dev:xpage[GDNDelay.vx]", (LPARAM)&argEx); return 1; } else if (comdid == L"action:bill.check.ask") @@ -443,32 +449,32 @@ } xstring EntityID = dw_list.GetGuid(dw_list.GetRow()); - xml xx = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudge", L"GDNID", EntityID); - xstring Results = xx.GetXmlDoc().text(); + KXMLDOMDocument xx = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudge", L"GDNID", EntityID); + xstring Results = xx.text(); if (Results != L"") { alert(Results); return 0; } - xml xx2 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeEx", L"GDNID", EntityID); - xstring Results2 = xx2.GetXmlDoc().text(); + KXMLDOMDocument xx2 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeEx", L"GDNID", EntityID); + xstring Results2 = xx2.text(); if (Results2 != L"") { alert(Results2); return 0; } - xml xx3 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeExS", L"GDNID", EntityID); - xstring Results3 = xx3.GetXmlDoc().text(); + KXMLDOMDocument xx3 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeExS", L"GDNID", EntityID); + xstring Results3 = xx3.text(); if (Results3 != L"") { alert(Results3); return 0; } - xml xx4 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeAmount", L"GDNID", EntityID); - xstring Results4 = xx4.GetXmlDoc().text(); + KXMLDOMDocument xx4 = ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNJudgeAmount", L"GDNID", EntityID); + xstring Results4 = xx4.text(); if (Results4 != L"") { alert(Results4); @@ -476,18 +482,18 @@ } /*xml xx5= ViewObject::RetrieveData(L"/sale/data/GDN/GetGDNCost",L"GDNID",EntityID); - xstring Results5=xx5.GetXmlDoc().text(); + xstring Results5=xx5.text(); if(Results5 !=L"") { alert(Results5); return 0; }*/ - xaserverarg arg = new xaserverarg; + xaserverarg& arg = *new xaserverarg; arg.setNativePointer(arg.CreateInstance()); trace(EntityID); arg.AddArg(L"GDNID", EntityID); - OpenWindow(L"dev:xpage[GDNDelay.vx]", cast(arg as int)); + OpenWindow(L"dev:xpage[GDNDelay.vx]", (LPARAM)&arg); } else if (comdid == L"action:bill.SourceRemark") return OnSourceRemark(); @@ -498,18 +504,18 @@ int OnSourceRemark() { xstring name = L"出运明细单"; - xml x = ViewObject::RetrieveData(L"/sale/data/TradeFinance3/GetSetUpRemarks", L"Type", name); - KXMLDOMNodeList items = x.GetXmlDoc().selectNodes(L"data/Item"); + KXMLDOMDocument x = ViewObject::RetrieveData(L"/sale/data/TradeFinance3/GetSetUpRemarks", L"Type", name); + KXMLDOMNodeList items = x.selectNodes(L"data/Item"); KXMLDOMNode t = items.item(0); xstring Content = L""; if (t.selectSingleNode(L"Content")) { Content = t.selectSingleNode(L"Content").text(); } - xaserverarg arg1 = new xaserverarg; + xaserverarg& arg1 = *new xaserverarg; arg1.setNativePointer(arg1.CreateInstance()); arg1.AddArg(L"value", Content); - OpenWindow(L"dev:xpage[memo.edit.new.vx]", arg1.getNativePointer()); + OpenWindow(L"dev:xpage[memo.edit.new.vx]", (LPARAM)&arg1); return 1; } @@ -518,8 +524,8 @@ { int row = dw_list.GetRow(); xstring GDNID = dw_list.GetGuid(row); - xml x = ViewObject::RetrieveData(L"/sale/data/GDN/CheckCDLine", L"GDNID", GDNID); - xstring r = x.GetXmlDoc().text(); + KXMLDOMDocument x = ViewObject::RetrieveData(L"/sale/data/GDN/CheckCDLine", L"GDNID", GDNID); + xstring r = x.text(); int r1 = r.toInt(); if (x) { @@ -536,8 +542,8 @@ { int row = dw_list.GetRow(); xstring GDNID = dw_list.GetGuid(row); - xml x = ViewObject::RetrieveData(L"/sale/data/GDN/CheckGW", L"GDNID", GDNID); - xstring r = x.GetXmlDoc().text(); + KXMLDOMDocument x = ViewObject::RetrieveData(L"/sale/data/GDN/CheckGW", L"GDNID", GDNID); + xstring r = x.text(); int r1 = r.toInt(); if (x) { @@ -552,17 +558,16 @@ //xcombobox下拉 - int OnSelectDdlb(ref TNotifyEvent evt, int p) + int OnSelectDdlb(TEvent* evt, LPARAM p) { changeddlb = 1; - int wid = ddlb_1.GetId(); int CB_GETCURSEL = 0x0147; int nIndex = win32::SendMessage(wid, CB_GETCURSEL, 0, 0); KXMLDOMElement e = ddlb_1.GetElement(); - KXMLDOMElement e2 = e.selectSingleNode(L"item[" + (nIndex + 1).toString() + L"]"); + KXMLDOMElement e2 = e.selectSingleNode(L"item[" + xstring(nIndex + 1) + L"]"); xstring no = e2.selectSingleNode(L"@element").text(); - HTREEVIEW hItem = tv_folder.GetRootItem(); + HTREEITEM hItem = tv_folder.GetRootItem(); while (tv_folder.GetChildItem(hItem)) tv_folder.DeleteItem(tv_folder.GetChildItem(hItem)); @@ -572,13 +577,12 @@ return 1; } - int OnSelectDataShowDdlb(ref TNotifyEvent evt, int p) + int OnSelectDataShowDdlb(TEvent* evt, LPARAM p) { - int wid = cbx_datashow.GetId(); int CB_GETCURSEL = 0x0147; int nIndex = win32::SendMessage(wid, CB_GETCURSEL, 0, 0); KXMLDOMElement e = cbx_datashow.GetElement(); - KXMLDOMElement e2 = e.selectSingleNode(L"item[" + (nIndex + 1).toString() + L"]"); + KXMLDOMElement e2 = e.selectSingleNode(L"item[" + xstring(nIndex + 1) + L"]"); rows = e2.selectSingleNode(L"@rows").text(); OnPreRetrieve(); @@ -586,19 +590,19 @@ } - int AttachEvent() + int PostOnAttachEvent() { - AttachEvent(L"tv_folder", L"TVN_SELCHANGED", OnTreeSelChanged); //树选择 - //AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING",OnTreeExpanding); //树展开 - AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", OnRowChanged); - AttachEvent(L"cbx_1", L"CBN_SELCHANGE", OnSelectDdlb); - AttachEvent(L"cbx_datashow", L"CBN_SELCHANGE", OnSelectDataShowDdlb); + AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&GDN3list::OnTreeSelChanged); //树选择 + //AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING",(FEvent)&GDN3list::OnTreeExpanding); //树展开 + AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&GDN3list::OnRowChanged); + AttachEvent(L"cbx_1", L"CBN_SELCHANGE", (FEvent)&GDN3list::OnSelectDdlb); + AttachEvent(L"cbx_datashow", L"CBN_SELCHANGE", (FEvent)&GDN3list::OnSelectDataShowDdlb); return 1; } virtual xstring GetTemplateUrl() { - return "/sale/view/GDN/template/GDN/ListEx"; + return L"/sale/view/GDN/template/GDN/ListEx"; } int onload() { @@ -666,7 +670,7 @@ int onloaded() { - HTREEVIEW hItem = tv_folder.GetRootItem(); + HTREEITEM hItem = tv_folder.GetRootItem(); ExpandFolderItem(hItem, L"Category:Customer"); tv_folder.ExpandItem(hItem); tv_folder.ItemFocus(hItem); @@ -678,7 +682,7 @@ //attach my control event - AttachEvent(); + PostOnAttachEvent(); readed = false; @@ -702,7 +706,7 @@ arg.AddArg(L"ReadOnly", L"false"); } - HTREEVIEW hItem = tv_folder.GetCaretItem(); + HTREEITEM hItem = tv_folder.GetCaretItem(); if (hItem <= 0) return 1; KXMLDOMElement e = tv_folder.GetItemData(hItem); xstring no = e.getAttribute(L"no"); -- Gitblit v1.9.3