From cab996376fd73d68625301f6af16d2a9010ec5de Mon Sep 17 00:00:00 2001
From: lifan <2308045698@qq.com>
Date: 星期二, 28 七月 2026 13:31:05 +0800
Subject: [PATCH] update

---
 jrj/project/business/GDN3.list.cpp |   80 +++++++++++++++++++++++++++++----------
 1 files changed, 59 insertions(+), 21 deletions(-)

diff --git a/jrj/project/business/GDN3.list.cpp b/jrj/project/business/GDN3.list.cpp
index 342c44f..1ca80ae 100644
--- a/jrj/project/business/GDN3.list.cpp
+++ b/jrj/project/business/GDN3.list.cpp
@@ -28,7 +28,7 @@
 
 	int changeddlb;
 	xcombobox ddlb_1;
-	xcombobox cbx_datashow;
+	xcombobox cbx_datashow; 
 
 	xtreeview tv_folder;
 	xdwgrid   dw_goods;
@@ -70,9 +70,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);
 			string 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;
@@ -87,8 +87,11 @@
 		xaserver::ExecXQuery(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", arg.GetString(), x);
 		*/
 
-		
-		KXMLDOMDocument x = ViewObject::RetrieveData(GetServerUrl(), L"[customerfolder.gdn.sql.xq]", L"id", no);
+		KXMLDOMDocument x;
+		xaserverarg arg;
+		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;
 
@@ -96,9 +99,9 @@
 		int len = nlist.length();
 		for (int i = 0; i < len; i++)
 		{
-			KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
+			KXMLDOMElement e = nlist.item(i);
 			string 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;
@@ -125,13 +128,13 @@
 		int len = nlist.length();
 		for (int i = 0; i < len; i++)
 		{
-			KXMLDOMElement& e = *new KXMLDOMElement(nlist.item(i));
+			KXMLDOMElement e = 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();
-			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);
 		}
@@ -154,7 +157,7 @@
 		return 1;
 	}
 
-	int ViewUpdate(int pr, xstring updateItem, xaserverarg  arg)
+	int ViewUpdate(LPARAM pr, xstring updateItem, xaserverarg  arg)
 	{
 		if (updateItem == L"del")
 		{
@@ -420,7 +423,7 @@
 				KXMLDOMDocument supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType", L"id", s);
 				if (supplier_x)
 				{
-					if (supplier_x.text() != L"跟单")
+					if ((xstring)supplier_x.text() != L"跟单")
 					{
 						alert(L"当前角色不是跟单员不能新增单子,请重新选择角色");
 						return 0;
@@ -433,7 +436,7 @@
 			xstring EntityIDEx = dw_list.GetGuid(dw_list.GetRow());
 			xaserverarg argEx;
 			
-			alert(EntityIDEx);
+			//alert(EntityIDEx);
 			argEx.AddArg(L"GDNID", EntityIDEx);
 			OpenWindow(L"dev:xpage[GDNDelay.vx]", argEx);
 			return 1;
@@ -488,11 +491,11 @@
 				return 0;
 			}*/
 
-			xaserverarg& arg = *new xaserverarg;
-			arg.setNativePointer(arg.CreateInstance());
+			xaserverarg arg ;
+			
 			trace(EntityID);
 			arg.AddArg(L"GDNID", EntityID);
-			OpenWindow(L"dev:xpage[GDNDelay.vx]", (LPARAM)&arg);
+			OpenWindow(L"dev:xpage[GDNDelay.vx]", arg);
 
 		}
 		else if (comdid == L"action:bill.SourceRemark") return OnSourceRemark();
@@ -511,10 +514,10 @@
 		{
 			Content = t.selectSingleNode(L"Content").text();
 		}
-		xaserverarg& arg1 = *new xaserverarg;
-		arg1.setNativePointer(arg1.CreateInstance());
+		xaserverarg arg1 ;
+		
 		arg1.AddArg(L"value", Content);
-		OpenWindow(L"dev:xpage[memo.edit.new.vx]", (LPARAM)&arg1);
+		OpenWindow(L"dev:xpage[memo.edit.new.vx]",arg1);
 
 		return 1;
 	}
@@ -578,8 +581,9 @@
 
 	int OnSelectDataShowDdlb(TEvent* evt, LPARAM p)
 	{
+		HWND wid = cbx_datashow.GetHWND();
 		int CB_GETCURSEL = 0x0147;
-		int nIndex = SendMessageW(HWND(), CB_GETCURSEL, 0, 0);
+		int nIndex = SendMessageW(wid, CB_GETCURSEL, 0, 0);
 		KXMLDOMElement e = cbx_datashow.GetElement();
 		KXMLDOMElement e2 = e.selectSingleNode(L"item[" + xstring(nIndex + 1) + L"]");
 		rows = e2.selectSingleNode(L"@rows").text();
@@ -589,6 +593,39 @@
 	}
 
 
+	int OnItemAskStyle(TEvent* evt, LPARAM p)
+	{
+		int DMS_CSSSTYLE = 0x8;
+		DWASKSTYLENMHDR& hdr = *(DWASKSTYLENMHDR*)evt->notify.pnmh;
+		int row = hdr.row;
+		int col = hdr.col;
+		xstring colname = hdr.colname;
+	
+		int rows = dw_goods.GetRowCount();
+		
+		if (row < 1 || row > rows)
+		{
+			return 1;
+		}
+
+		if (colname == L"Packages")
+		{
+
+			int PackingRate = dw_goods.GetItemString(row, L"PackingRate").toInt();
+			int Quantity = dw_goods.GetItemString(row, L"Quantity").toInt();
+			alert(colname);
+			alert(xstring(PackingRate));
+			if (PackingRate != 0)
+			{
+				if ((Quantity / PackingRate) * PackingRate != Quantity)
+				{
+					hdr.mask = DMS_CSSSTYLE;
+					hdr.pCssStyle = (wchar_t*)L"color:#ff0000";
+				}
+			}
+		}
+		return 1;
+	}
 	int PostOnAttachEvent()
 	{
 		AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&ListGDN3Win::OnTreeSelChanged); //树选择
@@ -596,6 +633,7 @@
 		AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&ListGDN3Win::OnRowChanged);
 		AttachEvent(L"cbx_1", L"CBN_SELCHANGE", (FEvent)&ListGDN3Win::OnSelectDdlb);
 		AttachEvent(L"cbx_datashow", L"CBN_SELCHANGE", (FEvent)&ListGDN3Win::OnSelectDataShowDdlb);
+		AttachEvent(L"dw_goods", L"DWV_ASKSTYLE", (FEvent)&ListGDN3Win::OnItemAskStyle);
 		return 1;
 	}
 
@@ -655,7 +693,7 @@
 		dw_custom.SetColumnState(L"ClassifyID", false);
 		dw_custom.SetColumnState(L"AmountEx", false);
 		//dw_custom.SetReadOnlyColumn(L"CustName",true);
-		dw_custom.SetColumnState(L"LineNo", false);
+		//dw_custom.SetColumnState(L"LineNo", false);
 
 		rows = L"500";
 		myDataUrl = L"/sale/data/GDN3/folder/list";
@@ -713,7 +751,7 @@
 		{
 			arg.AddArg(L"CustomerID", e.getAttribute(L"id"));
 			xstring name = e.getAttribute(L"name");
-			if (name.find(L"(L") >= 0) name = name.left(name.find(L"(L"));
+			if (name.find(L"(") >= 0) name = name.left(name.find(L"("));
 			arg.AddArg(L"CustomerName", name);
 		}
 		return 1;

--
Gitblit v1.9.3