From 6a4764ee747fff45d89ef48f98873d6409e4f85e Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期二, 16 七月 2024 17:22:23 +0800
Subject: [PATCH] update

---
 jrj/project/business/BasicCode/PaymentTerm.maint.cpp |  314 +++++++++++++++++++++++++++-------------------------
 1 files changed, 164 insertions(+), 150 deletions(-)

diff --git a/jrj/project/business/BasicCode/PaymentTerm.maint.cpp b/jrj/project/business/BasicCode/PaymentTerm.maint.cpp
index 678ac29..3604cc8 100644
--- a/jrj/project/business/BasicCode/PaymentTerm.maint.cpp
+++ b/jrj/project/business/BasicCode/PaymentTerm.maint.cpp
@@ -1,110 +1,121 @@
-use "maint.vd"
-use "xaserver.vd"
-use "xaserverarg.vd"
-use "profit.vd"
-use "xcell.vd"
-use "vbind.vd"
-use "publiccode.vd"
-use "xpagecontrol.vd"
-class PaymentTermEdit : public maint
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+class  __declspec(dllexport) PaymentTermEdit : public xframe
 {
+public:
 	xdwtable dw_base;
 	xdwtable	dw_p;
 	xcell dw_cell;
-	string sCryno;
+	xstring sCryno;
+public:
+	PaymentTermEdit(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+	static PaymentTermEdit* CreateInstance(void* implPtr, void* hWnd)
+	{
+		PaymentTermEdit* pWin = new PaymentTermEdit(implPtr, (HWND)hWnd);
+		return pWin;
+	}
 	int OnAddrow()
 	{
-		dw_p = dw_base.FindDwTable("line");
+		dw_p = dw_base.FindDwTable(L"line");
 		int i;
 		double dDueAmount = 0;
 		double dPercnet = 100;
 		for (i = 1 ; i <= dw_p.GetRowCount();i++)
 		{
-			dDueAmount = dw_p.GetItemDouble(i,"DueAmount");
+			dDueAmount = dw_p.GetItemDouble(i,L"DueAmount");
 			if (dDueAmount > 0)
 				break;
-			dPercnet = dPercnet - dw_p.GetItemDouble(i,"DuePercent");
+			dPercnet = dPercnet - dw_p.GetItemDouble(i,L"DuePercent");
 		}
 		int irow = dw_p.InsertRow(0);
-		dw_p.SetItemString(irow,"SeqNo",irow.toString());
+		dw_p.SetItemString(irow,L"SeqNo",xstring(irow));
 		if (dDueAmount <= 0)
-			dw_p.SetItemDouble(irow,"DuePercent",dPercnet);
+			dw_p.SetItemDouble(irow,L"DuePercent",dPercnet);
 		
 		return 1;
 	}
 	int OnDeleterow()
 	{
-		dw_p = dw_base.FindDwTable("line");
+		dw_p = dw_base.FindDwTable(L"line");
 		int row2 = dw_p.GetRow();
 		if (row2 < 1) return 0;
 		dw_p.DeleteRow(row2);
 
 		return 1;
 	}
-	string OnCreateTxt()
+	xstring OnCreateTxt()
 	{
 		//dw_1.AcceptText(); //不能加会报错
 		int irow;
 		//int icnt = dw_1.GetRowCount();
-		dw_p = dw_base.FindDwTable("line");
+		dw_p = dw_base.FindDwTable(L"line");
 		int icnt = dw_p.GetRowCount();
-		if (icnt < 1) return "";
-		string sTxt;
+		if (icnt < 1) return L"";
+		xstring sTxt;
 		//double dPercnet = 100;
 		for (irow = 1;irow <= icnt ;irow ++)
 		{
-			string sPaymentMethod = dw_p.GetItemString(irow,"PaymentMethod"); //支付方式
-			//string sDueDays = dw_p.GetItemDisplayString(irow,"DueDays"); 
-			string sDueDays = dw_p.GetItemString(irow,"DueDays"); //期限
-			string sDuePercent = dw_p.GetItemString(irow,"DuePercent"); //比例
-			string sDueAmount = dw_p.GetItemString(irow,"DueAmount"); //金额
+			xstring sPaymentMethod = dw_p.GetItemString(irow,L"PaymentMethod"); //支付方式
+			//xstring sDueDays = dw_p.GetItemDisplayString(irow,L"DueDays"); 
+			xstring sDueDays = dw_p.GetItemString(irow,L"DueDays"); //期限
+			xstring sDuePercent = dw_p.GetItemString(irow,L"DuePercent"); //比例
+			xstring sDueAmount = dw_p.GetItemString(irow,L"DueAmount"); //金额
 			
-			if (!sPaymentMethod || sPaymentMethod == "")
-				sTxt = sTxt + "";
-			if (!sDueDays || sDueDays == "")
-				sTxt = sTxt + "";
+			if (!sPaymentMethod || sPaymentMethod == L"")
+				sTxt = sTxt + L"";
+			if (!sDueDays || sDueDays == L"")
+				sTxt = sTxt + L"";
 			else
 			{
-				if (sDueDays == "-1") sDueDays = " IN ADVANCE";
-				else if (sDueDays == "0") sDueDays = " AT SIGHT";
+				if (sDueDays == L"-1") sDueDays = L" IN ADVANCE";
+				else if (sDueDays == L"0") sDueDays = L" AT SIGHT";
 				else 
 				{
-					if (sPaymentMethod == "T/T")
-						sDueDays = " WITHIN "+sDueDays + " DAYS AFTER SHIPMENT";
+					if (sPaymentMethod == L"T/T")
+						sDueDays = L" WITHIN "+sDueDays + L" DAYS AFTER SHIPMENT";
 					else
-						sDueDays = " AT "+sDueDays + " DAYS";
+						sDueDays = L" AT "+sDueDays + L" DAYS";
 				}
 				
-				if (!sDuePercent || sDuePercent == "")
+				if (!sDuePercent || sDuePercent == L"")
 				{
-					if (!sDueAmount || sDueAmount == "")
-						sTxt = sTxt + "";
+					if (!sDueAmount || sDueAmount == L"")
+						sTxt = sTxt + L"";
 					else
 					{
 						
-						sTxt = sTxt + sCryno + " " + sDueAmount + " " + sPaymentMethod + sDueDays + ";";
+						sTxt = sTxt + sCryno + L" " + sDueAmount + L" " + sPaymentMethod + sDueDays + L";";
 					}
 				}
 				else
 				{
-					if (sDuePercent.find(".",0) >= 0)
+					if (sDuePercent.find(L".",0) >= 0)
 					{
-						while (sDuePercent.right(1) == "0")
+						while (sDuePercent.right(1) == L"0")
 						{
 							sDuePercent = sDuePercent.left(sDuePercent.length() - 1);
 						}
-						if (sDuePercent.right(1) == ".")
+						if (sDuePercent.right(1) == L".")
 							sDuePercent = sDuePercent.left(sDuePercent.length() - 1);
 					}
 				
-					sTxt = sTxt + sDuePercent + "% " + sPaymentMethod+ sDueDays + ";";
+					sTxt = sTxt + sDuePercent + L"% " + sPaymentMethod+ sDueDays + L";";
 				}
 			}
 		}
 		
 		sTxt = sTxt.mid(0,sTxt.length() - 1);
-		if (sTxt != "")
-			sTxt = sTxt + ".";
+		if (sTxt != L"")
+			sTxt = sTxt + L".";
 
 		return sTxt;
 	}
@@ -112,38 +123,39 @@
 	{
 		dw_base.AcceptText();
 		//判断是否有必输值为空
-		dw_p = dw_base.FindDwTable("line");
+		dw_p = dw_base.FindDwTable(L"line");
 		double dPercnet = 0;
 		double dAmount = 0;
+		xstring sChargeAll = L"";
 		if (dw_p)
 		{
 			int i;
 			for (i=1;i <= dw_p.GetRowCount();i++)
 			{
-				string seqNo = dw_p.GetItemString(i,"SeqNo");
-				string sPaymentMethod = dw_p.GetItemString(i,"PaymentMethod");
-				string sDueDays = dw_p.GetItemString(i,"DueDays");
-				string sDuePercent = dw_p.GetItemString(i,"DuePercent");
+				xstring seqNo = dw_p.GetItemString(i,L"SeqNo");
+				xstring sPaymentMethod = dw_p.GetItemString(i,L"PaymentMethod");
+				xstring sDueDays = dw_p.GetItemString(i,L"DueDays");
+				xstring sDuePercent = dw_p.GetItemString(i,L"DuePercent");
 				dPercnet = dPercnet + sDuePercent.toDouble();
-				string sDueAmount = dw_p.GetItemString(i,"DueAmount");
+				xstring sDueAmount = dw_p.GetItemString(i,L"DueAmount");
 				dAmount = dAmount + sDueAmount.toDouble();
-				if (!seqNo) seqNo = "";
-				if (!sPaymentMethod) sPaymentMethod = "";
-				if (!sDueDays) sDueDays = "";
-				if (!sDuePercent) sDuePercent = "";
-				if (!sDueAmount) sDueAmount = "";
-				dw_p.SetItemString(i,"SeqNo",i.toString());
-				string sChargeAll = sPaymentMethod + sDueDays + sDuePercent + sDueAmount;
-				if (sChargeAll != "")
+				if (!seqNo) seqNo = L"";
+				if (!sPaymentMethod) sPaymentMethod = L"";
+				if (!sDueDays) sDueDays = L"";
+				if (!sDuePercent) sDuePercent = L"";
+				if (!sDueAmount) sDueAmount = L"";
+				dw_p.SetItemString(i,L"SeqNo",xstring(i));
+				sChargeAll = sPaymentMethod + sDueDays + sDuePercent + sDueAmount;
+				if (sChargeAll != L"")
 				{
-					if (sPaymentMethod == "")
+					if (sPaymentMethod == L"")
 					{
-						alert("支付方式不能为空!");
+						alert(L"支付方式不能为空!");
 						return 0;
 					}
-					if (sDueDays == "")
+					if (sDueDays == L"")
 					{
-						alert("期限不能为空!");
+						alert(L"期限不能为空!");
 						return 0;
 					}
 
@@ -152,7 +164,7 @@
 		}
 		
 		//百分比校验
-		if (dw_p.GetRowCount() <= 1 && sChargeAll == "")
+		if (dw_p.GetRowCount() <= 1 && sChargeAll == L"")
 		{}
 		else
 		{
@@ -160,46 +172,46 @@
 			{
 				if (dAmount <= 0)
 				{
-					alert("比率不等于100!");
+					alert(L"比率不等于100!");
 					return 0;
 				}
 			}
 		}
 		
-		string sTxt = OnCreateTxt();
-		dw_base.SetItemString(1,"PaymentTermEx",sTxt);
+		xstring sTxt = OnCreateTxt();
+		dw_base.SetItemString(1,L"PaymentTermEx",sTxt);
 
 		//CloseWindow();
 		return 1;
 	}
-	int OnItemChanged(ref TNotifyEvent evt,int p)
+	int OnItemChanged(TEvent* evt, LPARAM p)
 	{
-		ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
-		string colname=hdr.colname;
-		string value = hdr.data;
+		DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+		xstring colname=hdr.colname;
+		xstring value = hdr.data;
 		int row = hdr.row;
 		
-		if (colname == "DueDays")
+		if (colname == L"DueDays")
 		{
 			xdwtable dw;
-			dw = dw_base.FindDwTable("line");
+			dw = dw_base.FindDwTable(L"line");
 			
 			if (dw)
 			{
-				string sPaymentMethod = dw.GetItemString(row,"PaymentMethod");
-				if (value == "0")
+				xstring sPaymentMethod = dw.GetItemString(row,L"PaymentMethod");
+				if (value == L"0")
 				{
-					if (sPaymentMethod == "T/T")
+					if (sPaymentMethod == L"T/T")
 					{
-						//alert("此支付方式期限不能为 0 (AT SIGHT)");
+						//alert(L"此支付方式期限不能为 0 (AT SIGHT)");
 						//return -1;
 					}
 				}
-				else if (value == "-1")
+				else if (value == L"-1")
 				{
-					if (sPaymentMethod != "T/T")
+					if (sPaymentMethod != L"T/T")
 					{
-						alert("此支付方式期限不能为 -1(IN ADVANCE)");
+						alert(L"此支付方式期限不能为 -1(IN ADVANCE)");
 						return -1;
 					}
 				}
@@ -207,30 +219,30 @@
 		
 		}
 		//生成支付条款文本
-		if (colname == "PaymentMethod" || colname == "DueDays" || colname == "DuePercent" || colname == "DueAmount")
+		if (colname == L"PaymentMethod" || colname == L"DueDays" || colname == L"DuePercent" || colname == L"DueAmount")
 		{
-			string sTxt = OnCreateTxt();
+			xstring sTxt = OnCreateTxt();
 
-			dw_base.SetItemString(1,"Description",sTxt);
+			dw_base.SetItemString(1,L"Description",sTxt);
 		}
 		
 		return 1;
 	}
-	int OnClick(ref TNotifyEvent evt,int p)
+	int OnClick(TEvent* evt, LPARAM p)
 	{
-		ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
-		string value = hdr.data;
-		string colname = hdr.colname;
+		DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+		xstring value = hdr.data;
+		xstring colname = hdr.colname;
 		int row = hdr.row;
-		xaserverarg arg=new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());
+		xaserverarg arg;
+		
 		//alert(row.toString());
 		xdwtable dw;
-		dw = dw_base.FindDwTable("line");
+		dw = dw_base.FindDwTable(L"line");
 		//alert(colname);
 		if (dw)
 		{
-			if (colname == "DuePercent")
+			if (colname == L"DuePercent")
 			{
 				int i;
 				int icnt = dw.GetRowCount();
@@ -239,23 +251,23 @@
 				double dDueAmount = 0;
 				for (i = 1 ; i <= icnt ; i++)
 				{
-					dDueAmount = dw.GetItemDouble(i,"DueAmount");
+					dDueAmount = dw.GetItemDouble(i,L"DueAmount");
 					if (dDueAmount > 0)
 						break;
 				}
-				dw_cell.setNativePointer(dw_base.QueryItem("ixcell"));
+				dw_cell.setNativePointer(dw_base.QueryItem(L"ixcell"));
 				if (dDueAmount > 0)
 				{
-					dw.SetColumnProp("DuePercent","cellprotect","保护");//保护中文规格
+					dw.SetColumnProp(L"DuePercent",L"cellprotect",L"保护");//保护中文规格
 				}
 				else
 				{
-					dw.SetColumnProp("DuePercent","cellprotect","不保护");//保护中文规格
+					dw.SetColumnProp(L"DuePercent",L"cellprotect",L"不保护");//保护中文规格
 				}
 					
 			}
 			
-			if (colname == "DueAmount")
+			if (colname == L"DueAmount")
 			{
 				int j;
 				int jcnt = dw.GetRowCount();
@@ -264,17 +276,17 @@
 				double dDuePercent = 0;
 				for (j = 1 ; j <= jcnt ; j++)
 				{
-					dDuePercent = dw.GetItemDouble(j,"DuePercent");
+					dDuePercent = dw.GetItemDouble(j,L"DuePercent");
 					if (dDuePercent > 0)
 						break;
 				}
 				if (dDuePercent > 0)
 				{
-					dw.SetColumnProp("DueAmount","cellprotect","保护");//保护中文规格
+					dw.SetColumnProp(L"DueAmount",L"cellprotect",L"保护");//保护中文规格
 				}
 				else
 				{
-					dw.SetColumnProp("DueAmount","cellprotect","不保护");//保护中文规格
+					dw.SetColumnProp(L"DueAmount",L"cellprotect",L"不保护");//保护中文规格
 				}
 			}
 			
@@ -287,97 +299,98 @@
 	int OnSave()
 	{
 		if(OnOk()<1)return 0;
-		dw_base = GetControl("dw_base");
+		dw_base = GetControl(L"dw_base");
 		dw_base.AcceptText();
 		//dw_bank.AcceptText();
-		xml x = new xml;
-		xaserverarg arg = new xaserverarg;		
-		x.setNativePointer(xml::CreateInstance());
-		dw_base.DwUpdateAllTo(x.GetXmlDoc()); 
-		//dw_bank.DwUpdateAllTo(x.GetXmlDoc()); 
-		//alert(x.GetXml());
-		arg.setNativePointer(arg.CreateInstance());	
-		arg.AddArg("content",x.GetXml());						
-		arg.AddArg("dbmap","FND_PaymentTerm.dbmap");
+		xml x ;
+		xaserverarg arg ;		
+		
+		dw_base.DwUpdateAllTo(x); 
+		//dw_bank.DwUpdateAllTo(x); 
+		//alert(x.xml());
+			
+		arg.AddArg(L"content",x.xml());						
+		arg.AddArg(L"dbmap",L"FND_PaymentTerm.dbmap");
 		//return 0;
-		if (getUrl("/sale/data/PaymentTerm/entity/company/save",arg.GetString(),x) != 1)
+		if (getUrl(L"/sale/data/PaymentTerm/entity/company/save",arg.GetString(),x) != 1)
 		{
-			alert("保存失败!");
+			alert(L"保存失败!");
 			return 0;
 		}						
 		else
 		{	
-			//alert(x.GetXml());
-			if(x.GetXmlDoc().selectSingleNode("error"))
+			//alert(x.xml());
+			if(x.selectSingleNode(L"error"))
 			{
-				alert("保存出错2!");
+				alert(L"保存出错2!");
 				return 0;				
 			}
-			arg.AddArg("ret","Ok");
-			xwin::MessageBox(GetHWND(),"保存成功!","提示",0);	
-			//alert("保存成功");
+			arg.AddArg(L"ret",L"Ok");
+			MessageBox(GetHWND(),L"保存成功!",L"提示",0);	
+			//alert(L"保存成功");
 			dw_base.ResetUpdateStatus();	
 			//dw_bank.ResetUpdateStatus();	
-			//xwin::SendMessage(parenthwnd, 0x401, "maintsave", 0);//通知list窗口更新数据
+			//xwin::SendMessage(parenthwnd, 0x401, L"maintsave", 0);//通知list窗口更新数据
 		}
-		//alert("保存成功");
+		//alert(L"保存成功");
 		dw_base.Redraw();	
 		//dw_bank.Redraw();	
 		CloseWindow();
 		return 0;
 	}
 			
-	int OnCmdDispatch(string comdid)
+	int OnCmdDispatch(xstring comdid)
 	{
 		//alert(comdid);
-		if(comdid=="xmOk") OnSave();
-		else if(comdid=="addrow") OnAddrow();
-		else if(comdid=="deleterow") OnDeleterow();
-		//else if(comdid=="AddRow") OnAddRow();
-		//else if(comdid=="InsertRow") OnInsertRow();
-		//else if(comdid=="DeleteRow")OnDeleteRow();
+		if(comdid==L"xmOk") OnSave();
+		else if(comdid==L"addrow") OnAddrow();
+		else if(comdid==L"deleterow") OnDeleterow();
+		//else if(comdid==L"AddRow") OnAddRow();
+		//else if(comdid==L"InsertRow") OnInsertRow();
+		//else if(comdid==L"DeleteRow")OnDeleteRow();
 		return 1;
 	}
 
 	//按钮事件
-	int OnXCommand(ref TXCommandEvent evt,int p)
+	int OnXCommand(TEvent* evt, LPARAM param)
 	{
-		return OnCmdDispatch(evt.pStrID);
+		return OnCmdDispatch(evt->xcommand.pStrID);
 	}
 
 	int OnAttachEvent()
 	{
 		//按钮事件
-		AttachEvent("WM_XCOMMAND",OnXCommand);
+		AttachEvent(L"WM_XCOMMAND", (FEvent)&PaymentTermEdit::OnXCommand);
 		//获取焦点事件,用于重置工具条
-		//AttachEvent("WM_SETFOCUS",OnSetFocus);
-		AttachEvent("dw_base","DWV_ITEMCHANGED",OnItemChanged);
-		AttachEvent("dw_base","DWV_CLICKED",OnClick);
+		//AttachEvent(L"WM_SETFOCUS",OnSetFocus);
+		AttachEvent(L"dw_base",L"DWV_ITEMCHANGED", (FEvent)&PaymentTermEdit::OnItemChanged);
+		AttachEvent(L"dw_base",L"DWV_CLICKED", (FEvent)&PaymentTermEdit::OnClick);
+		return 1;
 	}
 	int OnRetrieve()
 	{
-		if(GetParam())
+		if(GetWinParam())
 		{
-			int p = GetParam();
-			xaserverarg args = new xaserverarg;
-			args.setNativePointer(p);
-			string id = args.GetArgString("EntityID");
+			int p = GetArg();
+			xaserverarg args ;
+			
+			xstring id = args.GetArgString(L"EntityID");
 			//alert(id);
-			if(id=="new")
+			if(id==L"new")
 			{
 				
 				//OnAddNew();
 			}
 			else
 			{
-				xml x = new xml;
-				x.setNativePointer(xml::CreateInstance());
-				if(getUrl("/sale/data/PaymentTerm/entity/base12", args.GetString(), x) != 1)
+				xml x ;
+				
+				if(getUrl(L"/sale/data/PaymentTerm/entity/base12", args.GetString(), x) != 1)
 				{
-					alert("错误");
+					alert(L"错误");
 					return -1;
 				}
-				//alert(x.GetXml());
+				//alert(x.xml());
 				dw_base.Retrieve(x);
 				//dw_bank.Retrieve(x);
 				dw_base.Redraw();
@@ -389,26 +402,27 @@
 
 	int onload()
 	{
+		SetArg();
 		//maint::onload();
 		//maint::onloaded();
-		dw_base = GetControl("dw_base");
+		dw_base = GetControl(L"dw_base");
 		dw_cell = new xcell;
-		dw_cell.setNativePointer(dw_base.QueryItem("ixcell"));
-		dw_base.openUrl("/sale/view/Payment/template/Payment/maint");
-		//alert("1233");
+		dw_cell.setNativePointer(dw_base.QueryItem(L"ixcell"));
+		dw_base.openUrl(L"/sale/view/Payment/template/Payment/maint");
+		//alert(L"1233");
 		OnRetrieve();
 		OnAttachEvent();
-		//dw_base = GetControl("dw_base");
+		//dw_base = GetControl(L"dw_base");
 		
 	}
 	
 	int onloaded()
 	{	
 		//maint::onloaded();
-		//alert("response");
-		//dw_base = GetControl("dw_base");
+		//alert(L"response");
+		//dw_base = GetControl(L"dw_base");
 		//dw_cell = new xcell;
-		//dw_cell.setNativePointer(dw_base.QueryItem("ixcell"));
+		//dw_cell.setNativePointer(dw_base.QueryItem(L"ixcell"));
 		return -1; 
 	}
 	

--
Gitblit v1.9.3