From 69b5a2fc2e6b78de476fdb6acdec518f98a38fb4 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期四, 27 六月 2024 21:57:34 +0800
Subject: [PATCH] test

---
 jrj/project/business/quote.enquiry.cpp |  128 ++++++++++++++++++++----------------------
 1 files changed, 62 insertions(+), 66 deletions(-)

diff --git a/jrj/project/business/quote.enquiry.cpp b/jrj/project/business/quote.enquiry.cpp
index 5e5912d..b5c9ac7 100644
--- a/jrj/project/business/quote.enquiry.cpp
+++ b/jrj/project/business/quote.enquiry.cpp
@@ -3,13 +3,16 @@
 #include <xcontrol/xdwgrid.hpp>
 #include <xcontrol/ximageview.hpp>
 #include <xcontrol/xcell.hpp>
+#include <adt/xarray.hpp>
+#include <win32/xfile.hpp>
+#include <wobject/xdouble.hpp>
 
 
 #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
 #include "viewobject/view.base.hpp"
 #include "viewobject/quote.view.hpp"
 
-using xml = KXMLDOMDocument;
+using xml = KXMLDOMDocument;xxxx
 class __declspec(dllexport) QuoteFileView : public xframe
 {
 
@@ -1053,7 +1056,7 @@
 			itemStr += L"<ItemName>" + dw_cell.GetItemString(row, colItemName) + L"</ItemName>";
 			itemStr += L"<ItemCName>" + dw_cell.GetItemString(row, colItemCName) + L"</ItemCName>";
 			itemStr += L"<ItemSpec>" + dw_cell.GetItemString(row, colItemSpec) + L"</ItemSpec>";
-			itemStr += L"<RowNo>" + (row - startRow + 1).toString() + L"</RowNo>";
+			itemStr += L"<RowNo>" + xstring(row - startRow + 1) + L"</RowNo>";
 			itemStr += L"<Purchor>" + dw_cell.GetItemString(row, colBuyer) + L"</Purchor>";
 			itemStr += L"<Package>" + dw_cell.GetItemString(row, colPackage) + L"</Package>";
 			itemStr += L"<NWT>" + dw_cell.GetItemString(row, colNW) + L"</NWT>";
@@ -1327,18 +1330,17 @@
 		arg4.setNativePointer(xaserverarg::CreateInstance());
 		trace(items);
 		arg4.AddArg(L"value", items);
-		OpenWindow(L"dev:xpage[QuoteFilePurched.vx]", cast(arg4 as int));
+		OpenWindow(L"dev:xpage[QuoteFilePurched.vx]", arg4);
 
 		if (arg4.GetArgString(L"process") != L"ok") return 1;
 		items = arg4.GetArgString(L"value");
 
 		xml x0 ;
-		x0.setNativePointer(xml::CreateInstance());
 		x0.loadXML(items);
 
 		KXMLDOMNodeList ts = x0.selectNodes(L"data/Item[IsSend='1']");
 		int len = ts.length();
-		if (len < 1) return L"";
+		if (len < 1) return 0;
 
 		xstring content = L"";
 		xstring sdate = publiccode::GetCurrentDate();
@@ -1471,7 +1473,7 @@
 		{
 			trace(L"\r\ntaskid:" + taskid + L" finished:" + finished);
 			ProcessSendMessage(myurl, L"", content, datacontent, true);
-			win32::PostMessage(GetFrameWindow().GetHWND(), 0x401, L"xmRefreshTask", 0);
+			PostMessage(GetFrameWindow().GetHWND(), 0x401, (WPARAM)L"xmRefreshTask", 0);
 		}
 
 		return 1;
@@ -1534,7 +1536,7 @@
 		arg4.setNativePointer(xaserverarg::CreateInstance());
 		trace(items);
 		arg4.AddArg(L"value", items);
-		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", cast(arg4 as int));
+		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", arg4);
 		if (arg4.GetArgString(L"process") != L"ok") return 1;
 		items = arg4.GetArgString(L"value");
 
@@ -1630,14 +1632,12 @@
 
 		xstring items = GetPurchItems();
 		xaserverarg arg4 ;
-		arg4.setNativePointer(xaserverarg::CreateInstance());
 		arg4.AddArg(L"value", items);
-		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", cast(arg4 as int));
+		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", arg4);
 		if (arg4.GetArgString(L"process") != L"ok") return 1;
 		items = arg4.GetArgString(L"value");
 
 		xml x0 ;
-		x0.setNativePointer(xml::CreateInstance());
 		x0.loadXML(items);
 		KXMLDOMNodeList ts1 = x0.selectNodes(L"data/Item");
 		int len1 = ts1.length();
@@ -1780,6 +1780,7 @@
 			}
 		}
 
+		int purchercol1 = 0;
 		//update purch
 		if (1 == 0)
 		{
@@ -1810,8 +1811,9 @@
 
 			headrow1 = row2;
 			startrow1 = headrow1 + 1;
-			int purchercol1 = getItemCol(cell1, headrow1, L"閲囪喘浜哄憳");
+			purchercol1 = getItemCol(cell1, headrow1, L"閲囪喘浜哄憳");
 		}
+		
 
 		//Clear
 		if (1 == 1)
@@ -1833,7 +1835,7 @@
 				supplier = dw_cell.GetItemString(lastrow, purchercol);
 				if (supplier != username)
 				{
-					KXMLDOMNode n1 = x0.selectSingleNode(L"data/Item[IsSend='1' and Purchor='" + supplier + L"' and RowNo='" + (lastrow - row + 1).toString() + L"']");
+					KXMLDOMNode n1 = x0.selectSingleNode(L"data/Item[IsSend='1' and Purchor='" + supplier + L"' and RowNo='" + xstring(lastrow - row + 1) + L"']");
 					if (n1)
 					{
 						xstring rowid = getRowID(dw_cell, lastrow);
@@ -2028,7 +2030,7 @@
 		arg4.setNativePointer(xaserverarg::CreateInstance());
 		trace(items);
 		arg4.AddArg(L"value", items);
-		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", cast(arg4 as int));
+		OpenWindow(L"dev:xpage[QuoteFilePurch.vx]", arg4);
 		if (arg4.GetArgString(L"process") != L"ok") return 1;
 		items = arg4.GetArgString(L"value");
 
@@ -2055,7 +2057,6 @@
 		}
 
 		xml x0 ;
-		x0.setNativePointer(xml::CreateInstance());
 		x0.loadXML(items);
 
 		while (supplier != L"")
@@ -2200,7 +2201,7 @@
 		xml x = ViewObject::RetrieveData(L"/sale/data/TO/template/param", L"TemplateID", id);
 
 		xml sheet ;
-		sheet.loadXML(x.selectSingleNode(L"data/*").xml);
+		sheet.loadXML(x.selectSingleNode(L"data/*").xml());
 
 		dw_cell.LoadTemplate(sheet);
 		dw_cell.Redraw();
@@ -2319,7 +2320,7 @@
 			return L"";
 		}
 
-		xstring appPath = GetModuleTmpPath();
+		xstring appPath = xutil::GetModuleTmpPath();
 		xaserver::CreateDirectory(appPath);
 		ret = xaserver::DownLoadFile(GetServerUrl(), L"/business/products/chanpin/" + str + L"/" + name, name, appPath + L"/" + name);
 		if (ret < 0)
@@ -2559,7 +2560,7 @@
 		dw_cell.SetCellProps(row, colPhoto, props);
 		dw_cell.SetCellProps(row, colPhoto1, props);
 
-		xstring appPath = GetModuleTmpPath();
+		xstring appPath = xutil::GetModuleTmpPath();
 		xstring guid = ViewObject::GetGuid();
 		xstring filename1 = UploadImage(guid);
 		if (filename1 != L"")
@@ -2586,7 +2587,7 @@
 		return 1;
 	}
 
-	int GetOpenFileNames(StringArray items, xstring initFileName, xstring filter, xstring ext)
+	int GetOpenFileNames(xarray<xstring>& items, xstring initFileName, xstring filter, xstring ext)
 	{
 		//xstring path = GetOpenFileName(L"",
 		//		"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
@@ -2636,7 +2637,7 @@
 		ofn.nFileExtension = 0;
 
 		//debugbreak();
-		if (file::GetOpenFileName(ofn))
+		if (xfile::GetOpenFileName(ofn))
 		{
 			int pos = ofn.nFileOffset & 0xffff;
 			xstring path = szPath;
@@ -2646,22 +2647,18 @@
 			}
 			else
 			{
-				int start = cast(szPath as int);
+				wchar_t* start = szPath;
 				start += pos * 2;
-				xstring str = cast(start  as xstring);
+				xstring str = start;
 				while (true)
 				{
 					if (str == L"")break;
 					items.push_back(path + L"/" + str);
 					start += (str.length() + 1) * 2;
-					str = cast(start  as xstring);
+					str = start;
 				}
 			}
 		}
-		delete szFileName;
-		delete szPath;
-		delete ofn;
-
 		return items.length();
 	}
 
@@ -2678,12 +2675,11 @@
 		int LastRow = dw_cell.GetValidRow();
 		if (row < startRow) return  0;
 
-		xstring appPath = GetModuleTmpPath();
-		StringArray items;
-		items = StringArray::make();
+		xstring appPath = xutil::GetModuleTmpPath();
+		xarray<xstring> items;
 		GetOpenFileNames(items, L"",
-			"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
-			"jpg");
+			L"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
+			L"jpg");
 		if (items.length() < 1) return 1;
 
 		int sRow = row;
@@ -2756,12 +2752,11 @@
 		dw_cell.SetCellProps(row, colPhoto, props);
 		dw_cell.SetCellProps(row, colPhoto1, props);
 
-		xstring appPath = GetModuleTmpPath();
-		StringArray items;
-		items = StringArray::make();
+		xstring appPath = xutil::GetModuleTmpPath();
+		xarray<xstring> items;
 		GetOpenFileNames(items, L"",
 			L"JPEG 鏂囦欢(*.jpg)\0*.jpg;*.jpeg;*.png;*.gif;*.bmp\0鍏ㄩ儴鏂囦欢(*.*)\0*.*\0",
-			"jpg");
+			L"jpg");
 		if (items.length() < 1) return 1;
 
 		for (int i = 0; i < items.length(); i++)
@@ -2857,7 +2852,7 @@
 			double colFOBPriceEx = fobprice.toDouble();
 
 			double colFOBPriceS;
-			colFOBPriceS = colFOBPriceEx.round(2);
+			colFOBPriceS = xdouble(colFOBPriceEx).round(2);
 			xstring colFOBPriceS1 = xstring(colFOBPriceS);
 			xstring colFOBPriceS2 = colFOBPriceS1.left(colFOBPriceS1.find(L"."));
 			xstring colFOBPriceS3 = colFOBPriceS1.mid(colFOBPriceS1.find(L"."), colFOBPriceS1.length());
@@ -2875,7 +2870,7 @@
 				xaserverarg argx ;
 				argx.setNativePointer(argx.CreateInstance());
 				argx.AddArg(L"GoodsNo", dw_cell.GetItemString(row, colItemNo));
-				OpenWindow(L"dev:xpage[CustomerItemNoList.vx]", cast(argx as int));
+				OpenWindow(L"dev:xpage[CustomerItemNoList.vx]", argx);
 				if (argx.GetArgString(L"action") != L"ok") return 1;
 
 				xml x1 ;
@@ -2919,7 +2914,10 @@
 							dw_cell.SetItemString(row, colQtyPerPack, str2 + L"/" + str1);
 						}
 						else
+						{
+							xstring str1 = goods.selectSingleNode(L"//PackingRate[1]").text();
 							dw_cell.SetItemString(row, colQtyPerPack, str1);
+						}
 					}
 					ProcessItemImage(dw_cell.GetItemString(row, colSKUNo), row);
 					//ProcessItemImage1(dw_cell.GetItemString(row,colItemNo),row);
@@ -2973,7 +2971,7 @@
 				//if(qty2 !=L"") qty = qty*qty2.toDouble();
 				qty = qty2.toDouble();
 				double ttl = 65.0 * qty / v;
-				dw_cell.SetItemString(row, col40HQ, ttl.toInt().toString());
+				dw_cell.SetItemString(row, col40HQ, xstring((int)ttl));
 			}
 		}
 
@@ -3106,9 +3104,9 @@
 		return 1;
 	}
 
-	int OnItemChanged(TEvent*, LPARAM p)
+	int OnItemChanged(TEvent* evt, LPARAM p)
 	{
-		ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
+		DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
 		xstring colname = hdr.colname;
 		xstring value = hdr.data;
 		int row = hdr.row;
@@ -3129,7 +3127,7 @@
 		int startRow = getItemHeadRow(dw_cell);
 
 		//娌℃湁鎵惧埌鍟嗗搧琛岀殑鏍囬
-		if (startRow < 1) return L"";
+		if (startRow < 1) return 0;
 		startRow++;
 
 		int colItemNo = getItemCol(dw_cell, startRow - 1, L"鎴戝徃鍨嬪彿,ItemNo");
@@ -3253,13 +3251,12 @@
 	int ProcessItemImage(xstring goodsno, int row)
 	{
 		xml xp ;
-		xp.setNativePointer(xml::CreateInstance());
 		xaserverarg arg_pic ;
 		arg_pic.setNativePointer(arg_pic.CreateInstance());
 		arg_pic.AddArg(L"SKUNo", goodsno);
 
 		ximageview im = GetControl(L"frame:im1");
-		im.ResetEx();
+		im.Reset();
 		xstring res = L"/sale/data/productlibrary3/pref/picture/imagelistskuno";
 		if (xurl::get(res, arg_pic.GetString(), xp) != 1)
 		{
@@ -3313,13 +3310,12 @@
 	int ProcessItemImage1(xstring goodsno, int row)
 	{
 		xml xp ;
-		xp.setNativePointer(xml::CreateInstance());
 		xaserverarg arg_pic ;
 		arg_pic.setNativePointer(arg_pic.CreateInstance());
 		arg_pic.AddArg(L"GoodsNo", goodsno);
 
 		ximageview im = GetControl(L"frame:im1");
-		im.ResetEx();
+		im.Reset();
 		xstring res = L"/sale/data/ProductLibrary3/pref/picture/imagelistItemNo";
 		if (xurl::get(res, arg_pic.GetString(), xp) != 1)
 		{
@@ -3345,7 +3341,7 @@
 				im.AddImages(picname,goodsno);*/
 				if (ip == 0)
 				{
-					xstring appPath = GetModuleTmpPath();
+					xstring appPath = xutil::GetModuleTmpPath();
 					xaserver::CreateDirectory(appPath);
 					xaserver::DownLoadFile(GetServerUrl(), L"/business/products/chanpin/" + id.left(2) + L"/" + name, name, appPath + L"/" + name);
 
@@ -3464,19 +3460,18 @@
 		}
 		else if (comdid == L"xmRefreshTask1")
 		{
-			win32::PostMessage(GetFrameWindow().GetHWND(), 0x401, L"xmRefreshTask", 0);
+			PostMessage(GetFrameWindow().GetHWND(), 0x401, L"xmRefreshTask", 0);
 			return 1;
 		}
 		else if (comdid == L"xmFileOpen" || comdid == L"xmOpen" || comdid == L"xmNew")
 		{
 			xstring suserid = publiccode::GetUser().id;
 			xaserverarg args ;
-			args.setNativePointer(args.CreateInstance());
 
 			if (comdid == L"xmNew")
-				OpenWindow(L"dev:xpage[TONewSelectDlg.vx]", cast(args as int));
+				OpenWindow(L"dev:xpage[TONewSelectDlg.vx]", args);
 			else
-				OpenWindow(L"dev:xpage[TOSelectDlg.vx]", cast(args as int));
+				OpenWindow(L"dev:xpage[TOSelectDlg.vx]", args);
 			fileid = args.GetArgString(L"id");
 			templateID = args.GetArgString(L"templateID");
 			xstring myaction = args.GetArgString(L"action");
@@ -3501,7 +3496,7 @@
 
 			args.AddArg(L"src", L"data/QuoteFile/" + suserid);
 			args.AddArg(L"process", L"path");
-			OpenWindow(L"dev:xpage[trade.document.selectdlg.vx]", cast(args as int));
+			OpenWindow(L"dev:xpage[trade.document.selectdlg.vx]", args);
 			if (args.GetArgString(L"result") == L"ok")
 			{
 				xstring u = args.GetArgString(L"src");
@@ -3509,11 +3504,11 @@
 				
 				xaserver::LoadUrl(GetServerUrl(), u, L"", x);
 				trace(x.xml());
-				dw_cell.LoadTemplateEx(x.documentElement);
+				dw_cell.LoadTemplateEx(x.documentElement());
 				dw_cell.Redraw();
 				filename = args.GetArgString(L"filename");
 				fileid = args.GetArgString(L"ID");
-				win32::SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:" + filename);
+				SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:" + filename);
 			}
 			return 1;
 		}
@@ -3523,7 +3518,7 @@
 			dw_cell.Redraw();
 			filename = L"";
 			fileid = L"";
-			win32::SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:[new]");
+			SetWindowText(GetHWND(), L"鎶ヤ环鏂囦欢:[new]");
 			return 1;
 		}
 		else if (comdid == L"xmFileSave" || comdid == L"xmSave")
@@ -3560,6 +3555,7 @@
 			if (action == L"purch")
 			{
 				int crow = dw_cell.GetRow();
+				xstring cmd = comdid.mid(3, comdid.length());
 				if (getRowID(dw_cell, crow) == L"") SendCtrlCmd(dw_cell, cmd);
 				return 1;
 			}
@@ -3658,12 +3654,13 @@
 				Item += L"<ModifyDate>" + sdate + L"</ModifyDate>";
 
 				Item += L"</Item>";
-			}
-			if (hasNew)
-			{
-				xstring newItem = L"<data>" + Item + L"</data>";
-				trace(newItem);
-				if (OnSaveNewItem(newItem) == -1) return 1;
+
+				if (hasNew)
+				{
+					xstring newItem = L"<data>" + Item + L"</data>";
+					trace(newItem);
+					if (OnSaveNewItem(newItem) == -1) return 1;
+				}
 			}
 		}
 
@@ -3687,7 +3684,7 @@
 		}
 		else
 		{
-			xstring str = x.documentElement.getAttribute(L"text");
+			xstring str = x.documentElement().getAttribute(L"text");
 			if (str == L"true")
 			{
 				dw_goods.ResetUpdateStatus();
@@ -3875,7 +3872,7 @@
 			if (pos >= 0)
 			{
 				pos1 = content.find(L"</display>", pos);
-				str = content.mid(pos1 + L"</display>".length(), 9999999);
+				str = content.mid(pos1 + xstring(L"</display>").length(), 9999999);
 				content = content.left(pos) + str;
 			}
 			else
@@ -3911,7 +3908,7 @@
 			if (pos >= 0)
 			{
 				pos1 = content.find(L"</display>", pos);
-				str = content.mid(pos1 + L"</display>".length(), 9999999);
+				str = content.mid(pos1 + xstring(L"</display>").length(), 9999999);
 				content = content.left(pos) + str;
 			}
 			else
@@ -3991,7 +3988,6 @@
 
 		xml x ;
 		xaserverarg args ;
-		args.setNativePointer(args.CreateInstance());
 		args.AddArg(L"myurl", myurl);
 		args.AddArg(L"name", sfilename);
 		args.AddArg(L"filepath", sname);
@@ -4540,7 +4536,7 @@
 
 		xstring sh = doc.GetXml();
 		int p = cast(sh as int);
-		win32::SendMessage(m_winHwnd, 0x401, p, 0);
+		SendMessage(m_winHwnd, 0x401, p, 0);
 		*/
 		return 1;
 	}
@@ -4797,7 +4793,7 @@
 
 			dw_cell.openUrl(templateurl);
 			*/
-			//win32::SetWindowText(GetHWND(),L"鎶ヤ环鏂囦欢:[new]");
+			//SetWindowText(GetHWND(),L"鎶ヤ环鏂囦欢:[new]");
 		}
 
 		ARow = 0;

--
Gitblit v1.9.3