From 79621dd1d0247784657a74429db924ca4059a0ff Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期五, 19 七月 2024 09:38:19 +0800
Subject: [PATCH] update product select

---
 jrj/project/business/SO/Product.Select.SO.cpp          |  134 ++++++++++++++++-----------------
 jrj/project/business/SO/Product.FetchNo.cpp            |    2 
 jrj/project/business/EnquiryEx3.list.cpp               |    0 
 jrj/project/business/Enquiry/Entity.Product.Select.cpp |   20 ++--
 jrj/project/business/HR/AdministrativeDepartment.cpp   |   10 +-
 jrj/project/business/Public/GroupManagerList.cpp       |    8 +-
 jrj/project/viewobject/productlibrary.view.hpp         |    2 
 jrj/ext-jrj/ext-jrj.vcxproj                            |    4 
 jrj/project/business/Enquiry.list.cpp                  |    6 
 jrj/project/business/HR/ManpowerFile.cpp               |   12 +-
 jrj/project/business/SO3.maint.cpp                     |    7 -
 11 files changed, 100 insertions(+), 105 deletions(-)

diff --git a/jrj/ext-jrj/ext-jrj.vcxproj b/jrj/ext-jrj/ext-jrj.vcxproj
index 77fe435..4dd4cc9 100644
--- a/jrj/ext-jrj/ext-jrj.vcxproj
+++ b/jrj/ext-jrj/ext-jrj.vcxproj
@@ -791,11 +791,11 @@
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     </ClCompile>
     <ClCompile Include="..\project\business\SO\Product.FetchNo.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     </ClCompile>
     <ClCompile Include="..\project\business\SO\Product.Select.SO.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     </ClCompile>
     <ClCompile Include="..\project\business\SO\select.item.so.cpp">
diff --git a/jrj/project/business/Enquiry.list.cpp b/jrj/project/business/Enquiry.list.cpp
index 670b9c1..40dc29e 100644
--- a/jrj/project/business/Enquiry.list.cpp
+++ b/jrj/project/business/Enquiry.list.cpp
@@ -164,7 +164,7 @@
 		{	
 			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(tv_folder,h,e,35);
 		}
 		return 1;
@@ -181,7 +181,7 @@
 		{	
 			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(tv_folder,h,e,35);
 		}
 		return 1;				
@@ -232,7 +232,7 @@
 			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);
 			if(child !=L"no" ) tv_folder.SetItemChild(h,1);
 			ExpandChildFolder(tv_folder,h,e);
 		}
diff --git a/jrj/project/business/Enquiry/Entity.Product.Select.cpp b/jrj/project/business/Enquiry/Entity.Product.Select.cpp
index b160594..35f0d4e 100644
--- a/jrj/project/business/Enquiry/Entity.Product.Select.cpp
+++ b/jrj/project/business/Enquiry/Entity.Product.Select.cpp
@@ -902,12 +902,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);
@@ -927,12 +927,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);
@@ -950,9 +950,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;
@@ -965,9 +965,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;
@@ -1253,12 +1253,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);
 			}
diff --git a/jrj/project/business/EnquiryEx3.list.cpp b/jrj/project/business/EnquiryEx3.list.cpp
index 4727cfc..9d37420 100644
--- a/jrj/project/business/EnquiryEx3.list.cpp
+++ b/jrj/project/business/EnquiryEx3.list.cpp
Binary files differ
diff --git a/jrj/project/business/HR/AdministrativeDepartment.cpp b/jrj/project/business/HR/AdministrativeDepartment.cpp
index a613fc6..6b0ce3b 100644
--- a/jrj/project/business/HR/AdministrativeDepartment.cpp
+++ b/jrj/project/business/HR/AdministrativeDepartment.cpp
@@ -62,9 +62,9 @@
 				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);//trust(e as int)将e放入树结构里面的data属性中
+				HTREEITEM h = tv_folder.InsertChildItem(hItem, name, e, image);//trust(e as int)将e放入树结构里面的data属性中
 				ExpandCatChildFolder(h, e, 35);
 			}
 			return 1;
@@ -81,9 +81,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.selectSingleNode(L"name").text();
-				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;
@@ -336,7 +336,7 @@
 			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");
 				xstring sImage = e.getAttribute(L"image");
 				xstring child = e.getAttribute(L"child");
diff --git a/jrj/project/business/HR/ManpowerFile.cpp b/jrj/project/business/HR/ManpowerFile.cpp
index be4a0cd..007f977 100644
--- a/jrj/project/business/HR/ManpowerFile.cpp
+++ b/jrj/project/business/HR/ManpowerFile.cpp
@@ -33,13 +33,13 @@
 			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");
 				xstring sImage = e.getAttribute(L"image");
 				xstring child = e.getAttribute(L"child");
 				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);
 				if (child != L"no") tv_folder.SetItemChild(h, 1);
 				ExpandChildFolder(h, e);
 			}
@@ -61,9 +61,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;
@@ -76,9 +76,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;
diff --git a/jrj/project/business/Public/GroupManagerList.cpp b/jrj/project/business/Public/GroupManagerList.cpp
index 9f7d61a..8b5c127 100644
--- a/jrj/project/business/Public/GroupManagerList.cpp
+++ b/jrj/project/business/Public/GroupManagerList.cpp
@@ -61,9 +61,9 @@
 				for (i = 0; i < s; i++)
 				{
 				
-					KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
+					KXMLDOMElement e = nlist.item(i);
 					xstring name = e.selectSingleNode(L"@name").text();
-					HTREEITEM hw = tv_folder.InsertChildItem(h, name,(LPARAM)&e , 15);
+					HTREEITEM hw = tv_folder.InsertChildItem(h, name,e , 15);
 					createSubTree(wid, hw, e);
 				}
 			return 1;
@@ -93,9 +93,9 @@
 				int i;
 				for (i = 0; i < len; i++)
 				{
-					KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
+					KXMLDOMElement e = nlist.item(i);
 					xstring name = e.selectSingleNode(L"@name").text();
-					HTREEITEM h = tv_folder.InsertChildItem( 0, name, name, (LPARAM)&e, 15);
+					HTREEITEM h = tv_folder.InsertChildItem( 0, name, name, e, 15);
 					createSubTree(h, e);
 					tv_folder.ExpandItem(h);
 				}
diff --git a/jrj/project/business/SO/Product.FetchNo.cpp b/jrj/project/business/SO/Product.FetchNo.cpp
index 549a563..c4d6dcf 100644
--- a/jrj/project/business/SO/Product.FetchNo.cpp
+++ b/jrj/project/business/SO/Product.FetchNo.cpp
@@ -82,7 +82,7 @@
 			xstring Reciever = L"00908";
 			xstring Content = L"";
 			//alert(L"EntityID:"+EntityID);
-			xml x = ViewObject::AddMessage( Category, Reciever, EntityNo, EntityID, Subject, Content);
+			ViewObject::AddMessage( GetServerUrl(),Category, Reciever, EntityNo, EntityID, Subject, Content);
 			return 1;
 		}
 
diff --git a/jrj/project/business/SO/Product.Select.SO.cpp b/jrj/project/business/SO/Product.Select.SO.cpp
index 1b7aeb6..0f83c4e 100644
--- a/jrj/project/business/SO/Product.Select.SO.cpp
+++ b/jrj/project/business/SO/Product.Select.SO.cpp
@@ -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 = 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 = 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, (LPARAM)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");
@@ -1054,30 +1052,28 @@
 							dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodssolist");
 						}
 						dwc_list.SetReadOnly(true);
-						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
@@ -1085,7 +1081,7 @@
 						xs = GetControl(L"html_detail");
 						xs.SetContent(L"<html><body/></html>");
 					}
-					xs.Redraw();
+					if(xs)xs.Redraw();
 				}
 			}
 			else
@@ -1108,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);
 				}
 			}
@@ -1144,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);
 			}
@@ -1196,7 +1188,11 @@
 			int row = hdr.row;
 			xstring col = hdr.colname;
 
-			xstring str = dwc_list.GetItemString(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"")
@@ -1204,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"");
diff --git a/jrj/project/business/SO3.maint.cpp b/jrj/project/business/SO3.maint.cpp
index 0a1efb7..5bb3ca6 100644
--- a/jrj/project/business/SO3.maint.cpp
+++ b/jrj/project/business/SO3.maint.cpp
@@ -609,11 +609,10 @@
 			//str = str.trim();
 			//if(str==L"")
 			//{
-			xaserverarg& arg = *new xaserverarg;
-			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg(L"HWND", xstring((__int64)GetHWND()));
+			xaserverarg arg;
+			arg.SetParam(L"HWND", GetHWND());
 			arg.AddArg(L"CustomerID", dw_base.GetItemString(1, L"CustomerID"));
-			OpenWindow(L"dev:xpage[Product.Select.SO.vx]", (LPARAM)&arg);
+			OpenWindow(L"dev:xpage[Product.Select.SO.vx]", arg);
 			//OpenWindow(L"dev:xpage[Product.Select.vx]",cast(arg1 as int));
 		//}
 		//else
diff --git a/jrj/project/viewobject/productlibrary.view.hpp b/jrj/project/viewobject/productlibrary.view.hpp
index bb47c68..51abfda 100644
--- a/jrj/project/viewobject/productlibrary.view.hpp
+++ b/jrj/project/viewobject/productlibrary.view.hpp
@@ -38,7 +38,7 @@
         return -1;
     }
 public:
-    xml  GetGoodsPropList(string guid)
+    KXMLDOMDocument  GetGoodsPropList(string guid)
     {
         return RetrieveData(L"/sale/data/SO/goods/goodsprop/list",L"guid", guid);
     }

--
Gitblit v1.9.3