From f7f68dbf94f9da14863f155d88cdaec47352ba99 Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期三, 24 七月 2024 10:28:02 +0800 Subject: [PATCH] update --- jrj/project/business/SO/Product.Select.SO.cpp | 171 +++++++++++++++++++++++++------------------------------- 1 files changed, 76 insertions(+), 95 deletions(-) diff --git a/jrj/project/business/SO/Product.Select.SO.cpp b/jrj/project/business/SO/Product.Select.SO.cpp index 5089eeb..0f83c4e 100644 --- a/jrj/project/business/SO/Product.Select.SO.cpp +++ b/jrj/project/business/SO/Product.Select.SO.cpp @@ -17,7 +17,7 @@ class __declspec(dllexport) ProductSelectSOWin : public xwin { public: - int hObject = 0; + HWND hObject = 0; xstring CustomerID; xstring CustomerName; @@ -78,7 +78,7 @@ { if (row < 1) row = dwc_list.GetRow(); if (row < 1 || row > dwc_list.GetRowCount()) return 1; - KXMLDOMElement e = g_xdoc_shoppingcart.getRowElement(L"data/Item", row); + KXMLDOMElement e = dwc_list.GetRowElement(row); return e; } @@ -92,7 +92,7 @@ xs.SetContent(html); xs.Redraw(); - xstring skuno = g_xdoc_product.getData(0, L"data/Item", row, L"SKUNo"); + xstring skuno = dw_list.GetItemString(row, L"SKUNo"); OnShowImage(skuno); return 1; @@ -108,7 +108,7 @@ xs.SetContent(html); xs.Redraw(); - xstring skuno = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"No"); + xstring skuno = dwc_list.GetItemString(row, L"No"); //alert(skuno); OnShowImage(skuno); @@ -121,7 +121,7 @@ int MB_OKCANCEL = 1; int MB_ICONQUESTION = 32; if (MessageBoxW(GetHWND(), L"确认删除指定的项,删除后将不能恢复?", L"提示", MB_OKCANCEL | MB_ICONQUESTION) != IDOK) return 1; - xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid"); + xstring id = dw_list.GetGuid(row); if (ProductLibraryView::DeleteItem(id) == 1) dw_list.DeleteRow(0); return 1; @@ -233,7 +233,7 @@ xstring makeHtml(int row) { - xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid"); + xstring id = dw_list.GetItemString(row, L"@guid"); xml x = GetGoodsPropList(id); xml x1 = GetGoodsPropListEx(id); @@ -265,7 +265,7 @@ { name = fieldsEx.item(i).selectSingleNode(L"@name").text(); label = fieldsEx.item(i).selectSingleNode(L"@label").text(); - ls_item += L"<td>" + label + L"</td>" + L"<td style='text-align:center'>" + g_xdoc_product.getData(0, L"data/Item", row, name) + L"</td>"; + ls_item += L"<td>" + label + L"</td>" + L"<td style='text-align:center'>" + dw_list.GetItemString(row, name.c_str()); + L"</td>"; cnt++; i++; if (i == len)break; @@ -300,7 +300,7 @@ if (i >= len)count = 2; continue; } - else if (g_xdoc_product.getData(0, L"data/Item", row, name) == L"") + else if (dw_list.GetItemString(row, name.c_str()) == L"") { KXMLDOMNodeList options = fields.item(i).selectNodes(L"item"); int tlen = options.length(); @@ -317,7 +317,7 @@ } else { - ls_item = L"<td>" + label + L"</td>" + L"<td>" + g_xdoc_product.getData(0, L"data/Item", row, name) + L"</td>"; + ls_item = L"<td>" + label + L"</td>" + L"<td>" + dw_list.GetItemString(row, name.c_str()) + L"</td>"; count++; } i++; @@ -346,11 +346,11 @@ html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row, L"PackTerm") + L"</span></div>"; } - if (g_xdoc_product.getData(0, L"data/Item", row, L"Remark") != L"") + if (dw_list.GetItemString(row, L"Remark") != L"") { //html += L"<div style='height:12px'/>"; html += L"<div ><span style='font-weight:700;width:50;font-size:10pt' >备注:</span></div>"; - html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + g_xdoc_product.getData(0, L"data/Item", row, L"Remark") + L"</span></div>"; + html += L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row, L"Remark") + L"</span></div>"; } html += L"<div style='height:24px'/>"; @@ -401,24 +401,24 @@ if (i == 0) html += L"<td rowspan='" + xstring(len) + L"'>" + No + L"</td><td >" + label + L"</td><td >" + L"</td>"; else - html += L"<td >" + label + L"</td><td >" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, name) + L"</td>"; + html += L"<td >" + label + L"</td><td >" + dwc_list.GetItemString( row, name.c_str()) + L"</td>"; html += L"</tr>"; } html += L"<tr>"; - html += L"<td rowspan='3'>" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"PackCode") + L"</td><td >包装方式</td><td >" + - g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CPack") + L"</td>"; + html += L"<td rowspan='3'>" + dwc_list.GetItemString( row, L"PackCode") + L"</td><td >包装方式</td><td >" + + dwc_list.GetItemString( row, L"CPack") + L"</td>"; html += L"</tr>"; html += L"<tr height='48'>"; - html += L"<td >包装要求</td><td >" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"PackQualityTerm") + L"</td>"; + html += L"<td >包装要求</td><td >" + dwc_list.GetItemString( row, L"PackQualityTerm") + L"</td>"; html += L"</tr>"; html += L"<tr>"; html += L"<td >侧唛</td><td ></td>"; html += L"</tr>"; html += L"<tr height='72'>"; - html += L"<td>" + g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"QualityCode") + L"</td><td >质量要求</td><td >" + - g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"QualityTerm") + L"</td>"; + html += L"<td>" + dwc_list.GetItemString( row, L"QualityCode") + L"</td><td >质量要求</td><td >" + + dwc_list.GetItemString( row, L"QualityTerm") + L"</td>"; html += L"</tr>"; html += L"</table>"; @@ -432,30 +432,31 @@ return 1; } - int Up(xstring name) { + LPCTSTR Up(xstring name) { //int ret1 = 3; xstring str = name.mid(0, 2); str = str.toUpper(); //alert(str); - int ret1 = xaserver::UploadFile(L"product" + str, name + L".jpg", GetHWND(), L"", false); + LPCTSTR ret1 = xaserver::UploadFile((L"product" + str).c_str(), (name + L".jpg").c_str(), GetHWND(), L"", false); //trace(ret1); return ret1; } + int OnAddImage() { int row = dw_list.GetNextSelectRow(1); if (row < 1) row = dw_list.GetRow(); if (row < 1 || row > dw_list.GetRowCount()) return 0; - KXMLDOMElement e = g_xdoc_product.getRowElement(L"data/Item", row); + KXMLDOMElement e = dw_list.GetRowElement(row); //KXMLDOMElement e = dw_list.GetRowElement(row); //alert(e.xml); - xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid"); + xstring id = dw_list.GetItemString(row, L"@guid"); //alert(id); - int ret1 = Up(id); + xstring ret1 = Up(id); //alert(ret1.toString()); - if (ret1 == -1) + if (ret1 == L"- 1") return -1; - if (ret1 == 0) + if (ret1 == L"0") { alert(L"上传图片失败"); return -1; @@ -463,10 +464,8 @@ //GoodsLib:GetList($parent) goodslib.object.xq // 图片名加入数据库 - xstring path = L"data/Item"; - g_xdoc_product.xdoc.SetXPath(path); - g_xdoc_product.setItem(path, row, L"ImgName", id + L".jpg"); - KXMLDOMElement e1 = g_xdoc_product.getRowElement(L"data/Item", row); + dw_list.SetItemString( row, L"ImgName", id + L".jpg"); + KXMLDOMElement e1 = dw_list.GetRowElement(row); xstring val = e1.xml(); //g_xdoc_product.GetContent(); //trace(val); xml x ; @@ -494,7 +493,7 @@ int row = dw_list.GetNextSelectRow(1); if (row < 1) row = dw_list.GetRow(); if (row < 1 || row > dw_list.GetRowCount()) return 0; - KXMLDOMElement e1 = g_xdoc_product.getRowElement(L"data/Item", row); + KXMLDOMElement e1 = dw_list.GetRowElement(row); xstring val = e1.xml(); xml x ; @@ -514,13 +513,12 @@ int row = dw_list.GetNextSelectRow(1); if (row < 1) row = dw_list.GetRow(); if (row < 1 || row > dw_list.GetRowCount()) return 0; - KXMLDOMElement e = g_xdoc_product.getRowElement(L"data/Item", row); + KXMLDOMElement e = dw_list.GetRowElement(row); //KXMLDOMElement e = dw_list.GetRowElement(row); //alert(e.xml); - xstring id = g_xdoc_product.getData(0, L"data/Item", row, L"@guid"); + xstring id = dw_list.GetItemString(row, L"@guid"); - int pr = g_xdoc_product; - OpenWindow(L"dev:xpage[PictureView.Product3.vx]", pr); + OpenWindow(L"dev:xpage[PictureView.Product3.vx]", (LPARAM) & dw_list); return 1; } @@ -528,7 +526,7 @@ int ItemMaint() { HTREEITEM hItem = tv_folder.GetSelectedItem(); - KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); + KXMLDOMElement e = tv_folder.GetItemData(hItem); //xstring no = e.getAttribute(L"no"); //if(no==L"") return 1; xstring guid = e.getAttribute(L"guid"); @@ -545,8 +543,7 @@ } */ - int pr = g_xdoc_product; - OpenWindow(L"dev:xpage[ProductLibraryItemMaint3.vx]", pr); + OpenWindow(L"dev:xpage[ProductLibraryItemMaint3.vx]", (LPARAM)&dw_list); return 1; } @@ -556,7 +553,7 @@ HTREEITEM hItem = tv_folder.GetSelectedItem(); - KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); + KXMLDOMElement e = tv_folder.GetItemData(hItem); //alert(e.xml); @@ -672,7 +669,7 @@ dw_list.Redraw(); impStr = L""; - SendMessage(hObject, 0x401, ls_nos, 0); + SendMessage(hObject, 0x401, (LPARAM)ls_nos.c_str(), 0); alert(L"转入完成!"); return 1; } @@ -700,7 +697,7 @@ } else if (comdid == L"xmCarGoodsMaint") { - OpenWindow(L"dev:xpage[ShoppingCartProductMaint.vx]", trust(g_xdoc_shoppingcart as int)); + OpenWindow(L"dev:xpage[ShoppingCartProductMaint.vx]",(LPARAM) & dwc_list); return 1; } else if (comdid == L"xmCarMaint") @@ -827,8 +824,10 @@ } else if (comdid == L"xmPropConfigure") { +#ifdef spending int r = cast(g_xdoc_product.getData(L"data/Item", L"@guid") as int); OpenWindow(L"dev:xpage[Product.ItemProp.Maint.vx]", r); +#endif return 1; } else if (comdid == L"xmRertieve") @@ -836,10 +835,8 @@ HTREEITEM hItem1 = tv_folder.GetSelectedItem(); KXMLDOMElement e2 = tv_folder.GetItemData(hItem1); xstring no1 = e2.getAttribute(L"no"); - xml x2 = vcontrol::RetrieveData(L"/sale/data/SO/goods/usergoods/listex1", L"parent", no1); - g_xdoc_product.Retrieve(x2); - dwc_list.PostRetrieve(); - dw_list.PostRetrieve(); + xml x2 = ViewObject::RetrieveData(L"/sale/data/SO/goods/usergoods/listex1", L"parent", no1); + dw_list.Retrieve(x2); return 1; } @@ -856,7 +853,7 @@ xstring html = L"<data>"; while (xrow > 0) { - KXMLDOMElement e = g_xdoc_product.getRowElement(L"data/Item", xrow); + KXMLDOMElement e = dw_list.GetRowElement(xrow); goodsid = ProductLibraryView::GetElementString(e, L"@guid"); html += L"<item goodid='" + goodsid + L"' id ='" + ProductLibraryView::GetGuid() + L"'/>"; xrow = dw_list.GetNextSelectRow(xrow + 1); @@ -923,12 +920,12 @@ int len = nlist.length(); for (int i = 0; i < len; i++) { - KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i)); + KXMLDOMElement e = nlist.item(i); xstring name = e.getAttribute(L"CName"); xstring no = e.getAttribute(L"CategoryNo"); xstring label = no.trim() + L" " + name; - HTREEITEM h = tv_folder.InsertChildItem(hItem, label, (LPARAM)&e, 15); + HTREEITEM h = tv_folder.InsertChildItem(hItem, label, e, 15); xstring child = e.getAttribute(L"Childs"); if (child == L"") tv_folder.SetItemChild(h, 1); @@ -946,24 +943,25 @@ if (len > 0) tv_folder.SetItemChild(hItem, 1); for (int i = 0; i < len; i++) { - KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i)); + KXMLDOMElement e = nlist.item(i); xstring name = e.getAttribute(L"name"); - HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image); + HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image); ExpandCatChildFolder(h, e, 35); } return 1; } int MakeGoodCarFolderItem(HTREEITEM hItem) { - xml x = ShoppingCartView::GetRoleList(); + //xml x = ShoppingCartView::GetRoleList(CustomerID); + xml x = ShoppingCartView::GetRoleListForSO(CustomerID); if (!x) return 0; KXMLDOMNodeList nlist = x.selectNodes(L"/data/item"); int len = nlist.length(); for (int i = 0; i < len; i++) { - KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i)); + KXMLDOMElement e = nlist.item(i); xstring name = e.getAttribute(L"name"); - HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, 35); + HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, 35); ExpandCatChildFolder(h, e, 35); } return 1; @@ -1035,7 +1033,7 @@ xcontrol query = GetControl(L"sl_search"); xstring queryString = query.GetText(); - xshtml xs; + xshtml xs = GetControl(L"html_detail"); if (name == L"购物车") { if (agentFor != L"goodscar")SwitchLayer(L"goodscarsheet", L"sheetframe"); @@ -1044,7 +1042,7 @@ if (selectname != name) { - KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem); + KXMLDOMElement e1 = tv_folder.GetItemData(hItem); xstring str = e1.getAttribute(L"no"); if (str.find(L"Customer1:") == 0 || str.find(L"Customer:") == 0 || str.find(L"SO:") == 0 || str.find(L"Quote:") == 0) { @@ -1054,31 +1052,28 @@ dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodssolist"); } dwc_list.SetReadOnly(true); - trace(str + L"+++++L" + queryString); - g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str, queryString)); + dwc_list.Retrieve(ShoppingCartView::GetGoodsList(str, queryString)); } - else if (e1.getAttribute(L"categoryid") != L"") + else if ((xstring)e1.getAttribute(L"categoryid") != L"") { xstring categoryid = e1.getAttribute(L"categoryid"); - dwc_list.SetDataObject(ProductLibraryView::GetMaintListForm3(categoryid).GetXmlDoc()); + dwc_list.SetDataObject(ProductLibraryView::GetMaintListForm3(categoryid)); dwc_list.SetReadOnly(true); - g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString, L"")); + dwc_list.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString, L"")); } else { - dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodslist"); dwc_list.SetReadOnly(true); - g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname, queryString)); + dwc_list.Retrieve(ShoppingCartView::GetGoodsList(selectname, queryString)); } - dwc_list.PostRetrieve(); dwc_list.Redraw(); if (dwc_list.GetRowCount() >= 0) { - xshtml xs = GetControl(L"html_detail"); + xs.SetContent(makeGoodscarHtml(1)); } else @@ -1086,7 +1081,7 @@ xs = GetControl(L"html_detail"); xs.SetContent(L"<html><body/></html>"); } - xs.Redraw(); + if(xs)xs.Redraw(); } } else @@ -1109,21 +1104,17 @@ dw_list = GetControl(L"dw_list"); dw_list.SetReadOnly(true); - g_xdoc_product.Retrieve(ProductLibraryView::GetMaintList3(no, queryString, L"")); - dw_list.PostRetrieve(); + dw_list.Retrieve(ProductLibraryView::GetMaintList3(no, queryString, L"")); dw_list.Redraw(); if (dw_list.GetRowCount() >= 0) { - xs = GetControl(L"html_detail"); xs.SetContent(makeHtml(1)); } else { - xs = GetControl(L"html_detail"); xs.SetContent(L"<html/>"); } - xs.Redraw(); xutil::RestoreCursor(hCursor); } } @@ -1145,12 +1136,12 @@ int len = nlist.length(); for (int i = 0; i < len; i++) { - KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i)); + KXMLDOMElement e = nlist.item(i); xstring name = e.getAttribute(L"cname"); xstring sImage = e.getAttribute(L"image"); int image = 15; //if(sImage) image = sImage.toInt(); - HTREEITEM h = tv_folder.InsertChildItem(hItem, name, (LPARAM)&e, image); + HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image); tv_folder.SetItemChild(h, 1); ExpandChildFolder(h, e); } @@ -1194,11 +1185,14 @@ int OnDwcClicked(TEvent* evt, LPARAM p) { DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; - char ch; int row = hdr.row; xstring col = hdr.colname; - xstring str = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"QuoteLineID"); + KXMLDOMElement e = dwc_list.GetRowElement(row); + xstring str; + if (e.selectSingleNode(L"QuoteLineID")) + str = e.selectSingleNode(L"QuoteLineID").text(); + //xstring str = dwc_list.GetItemString(row, L"QuoteLineID"); if (str != L"") str = L"ql:" + str; else if (dwc_list.GetItemString(row, L"SKUNo") != L"") @@ -1206,7 +1200,7 @@ else str = dwc_list.GetItemString(row, L"No"); - if (dwc_list.IsRowSelected(row) & 0xff) + if (dwc_list.IsRowSelected(row)) { //will unselect impStr = impStr.replace(L" " + str, L""); @@ -1225,16 +1219,16 @@ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; int row = hdr.row; xstring ls_nos = L"ImportXml:"; - xstring str = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SOLineID"); - xstring str1 = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"EnquiryPriceListID"); + xstring str = dw_list.GetItemString(row, L"SOLineID"); + xstring str1 =dw_list.GetItemString(row, L"EnquiryPriceListID"); if (str1 != L"") str += L"el:" + str1; else if (str != L"") str = L"sl:" + str; - else if (dwc_list.GetItemString(row, L"SKUNo") != L"") - str = dwc_list.GetItemString(row, L"SKUNo"); + else if (dw_list.GetItemString(row, L"SKUNo") != L"") + str = dw_list.GetItemString(row, L"SKUNo"); else - str = dwc_list.GetItemString(row, L"No"); + str = dw_list.GetItemString(row, L"No"); ls_nos += str; dw_list.SelectRow(0, false); @@ -1242,7 +1236,7 @@ dw_list.Redraw(); dwc_list.Redraw(); impStr = L""; - win32::SendMessage(hObject, 0x401, ls_nos, 0); + SendMessageW(hObject, 0x401, (LPARAM)ls_nos, 0); xutil::RestoreCursor(hCursor); CloseWindow(); @@ -1279,27 +1273,16 @@ dw_list = GetControl(L"dw_list"); dwc_list = GetControl(L"dwc_list"); - xaserverarg arg; + xaserverarg arg = GetArg(); CustomerID = L""; CustomerName = L""; hObject = 0; if (arg) { - hObject = (int)arg.GetArgString(L"HWND"); + hObject = (HWND)arg.GetParam(L"HWND"); CustomerID = arg.GetArgString(L"CustomerID"); } InitialFolder(); - - g_xdoc_product = new xdataset; - g_xdoc_product.Init(); - xbind bindproduct = new xbind; - bindproduct.bindEx(dw_list, g_xdoc_product, L""); - - g_xdoc_shoppingcart = new xdataset; - g_xdoc_shoppingcart.Init(); - - xbind bindcart = new xbind; - bindcart.bindEx(dwc_list, g_xdoc_shoppingcart, L""); dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(L"").xml()); dw_list = GetControl(L"dw_list"); @@ -1314,9 +1297,7 @@ xs.SetContent(makeHtml(1)); } - //xtreeview::ExpandItem(tv_folder.GetId(), - // xtreeview::GetNextItem(tv_folder.GetId(),xtreeview::GetRootItem(tv_folder.GetId()))); - xtreeview::ExpandItem(tv_folder.GetId(), xtreeview::GetRootItem(tv_folder.GetId())); + tv_folder.ExpandItem(tv_folder.GetRootItem()); dw_list.SetSelectionMode(3); dwc_list.SetSelectionMode(3); -- Gitblit v1.9.3