From bb4dc0fab56e542e784311f95ae6d7e7dd785a8f Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期二, 29 十月 2024 17:10:33 +0800
Subject: [PATCH] update

---
 jrj/project/business/Product.list.cpp |   96 +++++++++++++++++++++++++++---------------------
 1 files changed, 54 insertions(+), 42 deletions(-)

diff --git a/jrj/project/business/Product.list.cpp b/jrj/project/business/Product.list.cpp
index ba30975..1d26f23 100644
--- a/jrj/project/business/Product.list.cpp
+++ b/jrj/project/business/Product.list.cpp
@@ -95,7 +95,7 @@
 	KXMLDOMElement OnGetCarListRowElement(int row = 0)
 	{
 		if (row < 1) row = dwc_list.GetRow();
-		if (row < 1 || row > dwc_list.GetRowCount()) return 0;
+		if (row < 1 || row > dwc_list.GetRowCount()) return KXMLDOMElement();
 		KXMLDOMElement e = dw_list.GetRowElement(row);
 		return e;
 	}
@@ -652,7 +652,7 @@
 
 		xml x ;
 		xaserverarg arg;
-		arg.setNativePointer(arg.CreateInstance());
+		
 		xstring str = L"<Item update.modify='1' update.delete='1' guid='" + id + L"'/>";
 		arg.AddArg(L"content", str);
 		if (xurl::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
@@ -731,7 +731,7 @@
 		//alert(id);
 
 		HTREEITEM hItem = tv_folder.GetSelectedItem();
-		KXMLDOMElement& e1 = *(KXMLDOMElement * )tv_folder.GetItemData(hItem);
+		KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
 		xstring categoryid = e1.selectSingleNode(L"@guid").text();
 		//alert(categoryid);
 		xaserverarg* arg = new xaserverarg;
@@ -746,11 +746,19 @@
 	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");
+		xaserverarg arg;
+		//xstring guid = e.getAttribute(L"guid");
+	
+
+		int row = dw_list.GetNextSelectRow(1);
+		if (row < 1) row = dw_list.GetRow();
+		if (row < 1 || row > dw_list.GetRowCount()) return 0;
+		xstring guid = dw_list.GetItemString(row, L"@guid");
 		if (guid == L"") return 1;
+		arg.AddArg(L"skuid", guid);
 
 		/*
 		if(no==L"NP0000FS" || no==L"UP0000FS")
@@ -758,16 +766,15 @@
 			OpenWindow(L"dev:xpage[PackSchemaMaint.goodslib.vx]");
 		}else
 		{
-			int pr = g_xdoc_product;
+			LPARAM  pr = g_xdoc_product;
 			OpenWindow(L"dev:xpage[ProductLibraryItemMaint.vx]",pr);
 		}
 		*/
 		//KXMLDOMElement ele = g_xdoc_product.getRowElement(L"data/Item", 1);
 		//alert(ele.xml);
-#ifdef shouldfinished
-		int pr = g_xdoc_product;
-		OpenWindow(L"dev:xpage[ProductLibraryItemMaint3.vx]", pr);
-#endif
+
+		OpenWindow(L"dev:xpage[ProductLibraryItemMaint3.vx]", arg);
+#
 		return 1;
 	}
 
@@ -777,7 +784,7 @@
 		HTREEITEM hTopItem = LookupTopFolder(hItem);
 		xstring name = tv_folder.GetItemLabel(hTopItem);
 
-		KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
+		KXMLDOMElement e = tv_folder.GetItemData(hItem);
 		//alert(e.xml);
 		/*xstring no = e.getAttribute(L"no");
 		if(no==L"") return 1;
@@ -792,7 +799,7 @@
 		xstring guid = e.getAttribute(L"guid");
 		if (guid == L"") return 1;
 		xaserverarg arg;
-		arg.setNativePointer(arg.CreateInstance());
+		
 		arg.AddArg(L"guid", e.getAttribute(L"guid"));
 		if (name == L"个人产品")
 			arg.AddArg(L"FolderID", e.getAttribute(L"guid"));
@@ -821,7 +828,7 @@
 		xaserverarg arg;
 		if (hItem != hTopItem)
 		{
-			KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
+			KXMLDOMElement e = tv_folder.GetItemData(hItem);
 			xstring folder = e.getAttribute(L"guid");
 			if (folder != L"")
 			{
@@ -858,7 +865,7 @@
 		if (name == L"个人库" && selectname == L"新产品" && tv_folder.GetParentItem(hItem) == hTopItem) return 1;
 		if (hItem != hTopItem)
 		{
-			KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
+			KXMLDOMElement e = tv_folder.GetItemData(hItem);
 			xstring folder = e.getAttribute(L"guid");
 			if (folder != L"")
 			{
@@ -925,9 +932,9 @@
 			}
 			content += L"</data>";
 			xaserverarg carg;
-			carg.setNativePointer(carg.CreateInstance());
+			
 			carg.AddArg(L"content", content);
-			OpenWindow(L"dev:xpage[SO.Simulation.Import.vx]", (LPARAM) & carg);
+			OpenWindow(L"dev:xpage[SO.Simulation.Import.vx]",  carg);
 			return 1;
 		}
 		else if (comdid == L"xmEnquiry")
@@ -942,9 +949,9 @@
 			}
 			content += L"</data>";
 			xaserverarg carg;
-			carg.setNativePointer(carg.CreateInstance());
+			
 			carg.AddArg(L"content", content);
-			OpenWindow(L"dev:xpage[Enquiry.Import.vx]", (LPARAM)&carg);
+			OpenWindow(L"dev:xpage[Enquiry.Import.vx]", carg);
 			return 1;
 		}
 		else if (comdid == L"xmPurchar")
@@ -1112,12 +1119,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);
@@ -1137,12 +1144,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);
@@ -1160,9 +1167,9 @@
 		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;
@@ -1175,9 +1182,9 @@
 		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;
@@ -1189,19 +1196,19 @@
 		xstring name = tv_folder.GetItemLabel(hTopItem);
 		HTREEITEM child = tv_folder.GetChildItem(hItem);
 		xstring no = L"";
-		KXMLDOMElement* e=nullptr;
+		KXMLDOMElement e;
 		if (name == L"公司库" && !child)
 		{
 			no = L"";
 			if (hTopItem != hItem)
 			{
-				e = (KXMLDOMElement * )tv_folder.GetItemData(hItem);
-				no = e->getAttribute(L"categoryid");
+				e = tv_folder.GetItemData(hItem);
+				no = e.getAttribute(L"categoryid");
 			}
 			else
 			{
-				e = (KXMLDOMElement*)tv_folder.GetItemData(hItem);
-				no = e->getAttribute(L"categoryid");
+				e = tv_folder.GetItemData(hItem);
+				no = e.getAttribute(L"categoryid");
 			}
 			MakeGoodsFolderItem(hItem, no);
 		}
@@ -1210,8 +1217,8 @@
 			no = L"";
 			if (hTopItem != hItem)
 			{
-				e = (KXMLDOMElement*)tv_folder.GetItemData(hItem);
-				no = e->getAttribute(L"categoryid");
+				e = tv_folder.GetItemData(hItem);
+				no = e.getAttribute(L"categoryid");
 				MakeUserGoodsFolderItem(hItem, no);
 			}
 		}
@@ -1245,7 +1252,7 @@
 	{
 		while (true)
 		{
-			KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
+			KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
 			xstring str = e1.getAttribute(L"no");
 			if (str.find(L"Customer:") >= 0) return hItem;
 			hItem = tv_folder.GetParentItem(hItem);
@@ -1258,7 +1265,7 @@
 	{
 		hItem = LookupCustomerFolder(hItem);
 		if (hItem == 0) return L"";
-		KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
+		KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
 		xstring str = e1.getAttribute(L"no");
 		return str.mid(xstring(L"Customer:").length(), 9999);
 	}
@@ -1300,7 +1307,7 @@
 		{
 			if (selectname != name)
 			{
-				KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
+				KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
 				xstring str = e1.getAttribute(L"no");
 				alert(str);
 				if (str.find(L"Customer:") == 0 || str.find(L"SO:") == 0)
@@ -1366,9 +1373,11 @@
 
 				if (hItem != hTopItem)
 				{
-					KXMLDOMElement& e = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
+					KXMLDOMElement e = tv_folder.GetItemData(hItem);
 					no = e.getAttribute(L"guid");
 				}
+				else
+					return 1;
 
 				/*	dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no).GetXmlDoc());
 					dw_list = GetControl(L"dw_list");
@@ -1389,7 +1398,10 @@
 							dw_list.Retrieve(ProductLibraryView::GetMaintList3(no, queryString, L""));
 					}
 					else
+					{
+						if (no == L"N000005") return 1;
 						dw_list.Retrieve(ProductLibraryView::GetMaintList3(no));
+					}
 				}
 				//dw_list.PostRetrieve();
 				dw_list.Redraw();
@@ -1456,7 +1468,7 @@
 			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);
 		}
@@ -1505,7 +1517,6 @@
 	{
 		agentFor = L"goodslib";
 		m_customer = 0;
-		imageElement = 0;
 
 		OnAttachEvent();
 
@@ -1522,14 +1533,15 @@
 		dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodslist");
 		dwc_list.SetReadOnly(true);
 
+		tv_folder.ExpandItem(tv_folder.GetRootItem());
+		tv_folder.ItemFocus(tv_folder.GetRootItem());
+
 		if (dw_list.GetRowCount())
 		{
 			xshtml xs = GetControl(L"html_detail");
 			xs.SetContent(makeHtml(1));
 		}
 
-		tv_folder.ExpandItem(tv_folder.GetRootItem());
-		tv_folder.ItemFocus(tv_folder.GetRootItem());
 		return 1;
 	}
 
@@ -1540,7 +1552,7 @@
 		return 1;
 	}
 
-	int OnImgDBClicked(TEvent * evt, int pr)
+	int OnImgDBClicked(TEvent * evt, LPARAM  pr)
 	{
 		IMGNNMHDR& nmtv = *(IMGNNMHDR*)evt->notify.pnmh;
 		xstring src = nmtv.path;

--
Gitblit v1.9.3