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/ShipcompanyMaint.cpp |  603 +++++++++++++++++++++++++++---------------------------
 1 files changed, 303 insertions(+), 300 deletions(-)

diff --git a/jrj/project/business/BasicCode/ShipcompanyMaint.cpp b/jrj/project/business/BasicCode/ShipcompanyMaint.cpp
index 390b1d9..5d399ae 100644
--- a/jrj/project/business/BasicCode/ShipcompanyMaint.cpp
+++ b/jrj/project/business/BasicCode/ShipcompanyMaint.cpp
@@ -1,316 +1,319 @@
-use "system.vl"
-use "win.vl"
-use "maint.vl"
-use "file.vl"
-use "dev:vm[xcell.vm]"
-unit vbusiness.entity
-[
-	ShipcompanyMaint is extend maint;
-	about ShipcompanyMaint
-	[
-		field:
-		[
-			msxml::IXMLDOMDocument m_configDoc;
-			string m_userid;
-			string m_username;
-			string ContactID;
-			xdwtable__ dw_base;
-			xcell__ dw_cell;			
-		]
-		
-		method:
-		[
-			int alert(string str)
+#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) ShipcompanyMaint : public xframe
+{
+public:
+	KXMLDOMDocument m_configDoc;
+	xstring m_userid;
+	xstring m_username;
+	xstring ContactID;
+	xdwtable dw_base;
+	xcell dw_cell;
+public:
+	ShipcompanyMaint(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+	static ShipcompanyMaint* CreateInstance(void* implPtr, void* hWnd)
+	{
+		ShipcompanyMaint* pWin = new ShipcompanyMaint(implPtr, (HWND)hWnd);
+		return pWin;
+	}
+	int alert(xstring str)
+	{
+		//win::MessageBox(GetHWND(),str,L"提示22:",0);
+		TApp::alert(this, str);
+		return 0;
+	}
+	int setCellReadOnly()
+	{
+		dw_base = new xdwtable;
+		dw_base.setNativePointer(GetControl(L"dw_base"));
+		dw_cell = new xcell;
+		dw_cell.setNativePointer(dw_base.QueryItem(L"ixcell"));
+		xstring strnew = L"<cellprop celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='保护' cellvisibleex='' cellvisible='' cellvalid='' cellinitial=''/>";
+		dw_cell.SetCellProps(2, 2, strnew);
+		return 0;
+	}
+	int OnSetFocus(TEvent* evt, LPARAM p)
+	{
+		SetAgent(L"maint");
+		return 1;
+	}
+	xstring GetGuid() {
+		return TApp::GetGuid();
+	}
+	int OnClear() {
+		if (m_EntityID == L"") {
+			m_userid = TApp::GetUserInfo().id;
+			m_username = TApp::GetUserInfo().name;
+			dw_base = new xdwtable;
+			dw_base.setNativePointer(GetControl(L"dw_base"));
+			dw_base.SetItemString(1, L"PartyID", GetGuid());
+			dw_base.SetItemString(1, L"PStatus", L"1");
+			dw_base.SetItemDisplayString(1, L"PStatus", L"有效");
+			dw_base.SetItemString(1, L"CreatorID", m_userid);
+			dw_base.SetItemString(1, L"PADStatus", L"1");
+			dw_base.SetItemString(1, L"Type", L"6");
+			dw_base.SetItemString(1, L"AddressID", GetGuid());
+			dw_base.SetItemString(1, L"PADIdentifyAddressFlag", L"Y");
+			dw_base.SetItemString(1, L"PrimaryFlag", L"Y");
+			dw_base.SetItemString(1, L"EnterName", m_userid);
+			dw_base.SetItemDisplayString(1, L"EnterName", m_username);
+			dw_base.SetItemString(1, L"CreateDate", TApp::GetCurDate());
+		}
+		else
+		{
+			setCellReadOnly();
+		}
+		return 0;
+	}
+
+	int OnAddrow()
+	{
+		dw_base = new xdwtable;
+		dw_base.setNativePointer(GetControl(L"dw_base"));
+		xdwtable dw = new xdwtable;
+		dw.setNativePointer(dw_base.GetCurTable());
+		xstring dw_n = dw.GetDwName();
+		if (dw_n == L"item")
+		{
+			dw.InsertRow(0);
+			int rows = dw.GetRowCount();
+			dw.SetRow(rows);
+		}
+		return 1;
+	}
+	int OnInsertRow()
+	{
+		dw_base = new xdwtable;
+		dw_base.setNativePointer(GetControl(L"dw_base"));
+		xdwtable dw = new xdwtable;
+		dw.setNativePointer(dw_base.GetCurTable());
+		xstring dw_n = dw.GetDwName();
+		if (dw_n == L"item")
+		{
+			int row = dw.GetRow();
+			if (row < 1) return 0;
+			dw.InsertRow(row);
+			dw.SetRow(row);
+		}
+		return 1;
+	}
+
+	int OnDeleteRow()
+	{
+		dw_base = new xdwtable;
+		dw_base.setNativePointer(GetControl(L"dw_base"));
+		xdwtable dw = new xdwtable;
+		dw.setNativePointer(dw_base.GetCurTable());
+		xstring dw_n = dw.GetDwName();
+		if (dw_n == L"item")
+		{
+			int row = dw.GetRow();
+			if (row < 1) return 0;
+			/*xstring del = dw.GetItemString(row,8);
+			if(del!=L"")
 			{
-				//win__::MessageBox(this.GetHWND(),str,"提示22:",0);
-				TApp::alert(this,str);
-				return 0;
-			}			
-			int setCellReadOnly()
-			{		
-				dw_base = new xdwtable__;
-				dw_base.setNativePointer(this.GetControl("dw_base"));			
-				dw_cell = new xcell__;
-				dw_cell.setNativePointer(dw_base.QueryItem("ixcell"));		
-				string strnew = "<cellprop celltype='' cellformatex='' cellformat='' cellprotectex='' cellprotect='保护' cellvisibleex='' cellvisible='' cellvalid='' cellinitial=''/>";
-				dw_cell.SetCellProps(2,2,strnew);			
-				return 0;
-			}		
-			int OnSetFocus(ref TNotifyEvent evt,int p)
-			{
-				SetAgent("maint");
-				return 1;
-			}		
-			string GetGuid(){
-				return TApp::GetGuid();			
-			}					
-			int OnClear(){
-				if(this.m_EntityID ==""){
-					m_userid = TApp::GetUserInfo().id;
-					m_username = TApp::GetUserInfo().name;						
-					dw_base = new xdwtable__;
-					dw_base.setNativePointer(this.GetControl("dw_base"));									
-					dw_base.SetItemString(1,"PartyID",GetGuid());		
-					dw_base.SetItemString(1,"PStatus","1");
-					dw_base.SetItemDisplayString(1,"PStatus","有效");									
-					dw_base.SetItemString(1,"CreatorID",m_userid);
-					dw_base.SetItemString(1,"PADStatus","1");
-					dw_base.SetItemString(1,"Type","6");						
-					dw_base.SetItemString(1,"AddressID",GetGuid());
-					dw_base.SetItemString(1,"PADIdentifyAddressFlag","Y");	
-					dw_base.SetItemString(1,"PrimaryFlag","Y");						
-					dw_base.SetItemString(1,"EnterName",m_userid);
-					dw_base.SetItemDisplayString(1,"EnterName",m_username);				
-					dw_base.SetItemString(1,"CreateDate",TApp::GetCurDate());										
+				if(m_dels==L"")
+				{
+					m_dels=del;
 				}
 				else
 				{
-					setCellReadOnly();			
-				}	
-				return 0;
-			}					
+					xstring temp=m_dels;
+					m_dels=del + L"|" + temp;
+				//+= L"|"+del;
+				}
 
-			int OnAddrow()
-			{	
-				dw_base = new xdwtable__;
-				dw_base.setNativePointer(this.GetControl("dw_base"));					
-				xdwtable__ dw =  new xdwtable__;
-				dw.setNativePointer(dw_base.GetCurTable());
-				string dw_n=dw.GetDwName();
-				if(dw_n=="item")
-				{	
-					dw.InsertRow(0);
-					int rows = dw.GetRowCount();
-					dw.SetRow(rows);								
-				}				
-				return 1;				
-			}
-			int OnInsertRow()
+			}*/
+			dw.DeleteRow(row);
+			dw.SetRow(row - 1);
+		}
+		return 1;
+	}
+	xstring getGoodsNo()
+	{
+		xml x;
+
+		xaserverarg arg;
+
+		if (getUrl(L"/sale/data/LogisticsCode/pref/shipcompany/PartyNo", arg.GetString(), x) != 1)
+		{
+			trace(x.xml());
+			return L"";
+		}
+		KXMLDOMElement e = x.documentElement();
+		if (e)
+		{
+			xstring code = e.text();
+			trace(code);
+			return L"P" + code;
+		}
+		return  L"P1000";
+	}
+	int OnPreSave()
+	{
+		dw_base.AcceptText();
+		dw_base = new xdwtable;
+		dw_base.setNativePointer(GetControl(L"dw_base"));
+		xstring ShipNo = dw_base.GetItemString(1, L"ShipNo");
+		if (ShipNo == L"")
+		{
+			dw_base.SetItemString(1, L"ShipNo", getGoodsNo());
+		}
+		xdwtable dwcon = new xdwtable;
+		dwcon.setNativePointer(dw_base.FindDwTable(L"item", 0));
+		int i;
+		for (i = 1; i <= dwcon.GetRowCount(); i++)
+		{
+			xstring aTemp;
+			xstring aName = dwcon.GetItemString(i, L"ContacterName");
+			trace(aName);
+			if (aName == L"")
 			{
-				dw_base = new xdwtable__;
-				dw_base.setNativePointer(this.GetControl("dw_base"));					
-				xdwtable__ dw =  new xdwtable__;
-				dw.setNativePointer(dw_base.GetCurTable());
-				string dw_n=dw.GetDwName();
-				if(dw_n=="item")
+				aTemp = dwcon.GetItemString(i, L"Mobile") + dwcon.GetItemString(i, L"TEL") + dwcon.GetItemString(i, L"Fax") + dwcon.GetItemString(i, L"Email") + dwcon.GetItemString(i, L"PCRemark");
+				trace(aTemp);
+				if (aTemp != L"")
 				{
-					int row=dw.GetRow();
-					if(row<1) return 0;					
-					dw.InsertRow(row);
-					dw.SetRow(row);									
-				}
-				return 1;
-			}
-
-			int OnDeleteRow()
-			{	
-				dw_base = new xdwtable__;
-				dw_base.setNativePointer(this.GetControl("dw_base"));						
-				xdwtable__ dw =  new xdwtable__;
-				dw.setNativePointer(dw_base.GetCurTable());
-				string dw_n=dw.GetDwName();
-				if(dw_n=="item")
-				{
-					int row=dw.GetRow();
-					if(row<1) return 0;
-					/*string del = dw.GetItemString(row,8);
-					if(del!="")
-					{
-						if(m_dels=="")
-						{	
-							m_dels=del;						
-						}		
-						else 
-						{	
-							string temp=m_dels;
-							m_dels=del + "|" + temp;
-						//+= "|"+del;						
-						}	
-
-					}*/				
-					dw.DeleteRow(row);	
-					dw.SetRow(row - 1);						
-				}
-				return 1;
-			}
-			string getGoodsNo()
-			{
-				xml__ x=new xml__;
-				x.setNativePointer(xml__::CreateInstance());
-				xaserverarg__ arg=new xaserverarg__;
-				arg.setNativePointer(arg.CreateInstance());	
-				if (getUrl("/sale/data/LogisticsCode/pref/shipcompany/PartyNo",arg.GetString(),x) != 1)
-				{
-					trace(x.GetXml());
-					return "";
-				}			
-				msxml::IXMLDOMElement e = x.GetXmlDoc().documentElement;
-				if(e)
-				{
-					string code = e.text;
-				trace(code);
-					return "P"+code;
-				}
-				return "P1000";
-			}				
-			int OnPreSave()
-			{	
-				dw_base.AcceptText();					
-				dw_base = new xdwtable__;
-				dw_base.setNativePointer(this.GetControl("dw_base"));				
-				string ShipNo = dw_base.GetItemString(1,"ShipNo",0);
-				if (ShipNo=="" || ShipNo== nil) 
-					{
-					dw_base.SetItemString(1,"ShipNo",getGoodsNo());			
-				}				
-				xdwtable__ dwcon =  new xdwtable__;				
-				dwcon.setNativePointer(dw_base.FindDwTable("item",0));
-				int i;				
-				for(i=1;i<=dwcon.GetRowCount();i++)
-				{
-					string aTemp;				
-					string aName = dwcon.GetItemString(i,"ContacterName",0);
-					trace(aName);
-					if (aName=="" || aName== nil)
-					{
-						aTemp=dwcon.GetItemString(i,"Mobile",0)+dwcon.GetItemString(i,"TEL",0)+dwcon.GetItemString(i,"Fax",0)+dwcon.GetItemString(i,"Email",0)+dwcon.GetItemString(i,"PCRemark",0);	
-						trace(aTemp);
-						if(aTemp !="" && aTemp != nil)
-						{
-							alert("联系人名称必填!");
-							return -1;
-						}
-					}
-					else{
-							string ContactID = dwcon.GetItemString(i,"ContactID",0);
-							if (ContactID=="" || ContactID== nil)					
-							{	
-								dwcon.SetItemString(i,"ContactID",GetGuid());
-								dwcon.SetItemString(i,"PCStatus","1");					
-								dw_base.SetItemString(1,"PrimaryContactID",dwcon.GetItemString(1,"ContactID"));								
-							}	
-						
-
-
-					}
-				}
-				return 1;					
-			}						
-			int OnSave()
-			{	
-					
-				dw_base = new xdwtable__;
-				dw_base.setNativePointer(this.GetControl("dw_base"));							
-				string SName = dw_base.GetItemString(1,"Name");
-				if(SName==""){
-					alert("请输入船公司名称!");
+					alert(L"联系人名称必填!");
 					return -1;
 				}
-				int rec =OnPreSave();
-				if (rec== -1)	return -1;					
-				xml__ x=new xml__;
-				x.setNativePointer(xml__::CreateInstance());
-				dw_base.DwUpdateAllTo(x.GetXmlDoc()); 
-				trace(x.GetXml());
-				xaserverarg__ arg=new xaserverarg__;
-				arg.setNativePointer(arg.CreateInstance());	
-				arg.AddArg("content",x.GetXml());						
-				arg.AddArg("dbmap","Shipcompany.dbmap");
-				//arg.AddArg("m_dels",m_dels);	
-			
-				if (getUrl("/sale/data/LogisticsCode/entity/shipcompany/save",arg.GetString(),x) != 1)
+			}
+			else {
+				xstring ContactID = dwcon.GetItemString(i, L"ContactID");
+				if (ContactID == L"")
 				{
-					trace("error:"+x.GetXml());
-					alert("保存失败!");
-					return 0;
-				}						
-				else
-				{	
-					trace(x.GetXml());
-					if(x.GetXmlDoc().selectSingleNode("error"))
-					{
-						alert("保存出错2!");
-						return 0;				
-					}
-					alert("保存成功!");
-					dw_base.ResetUpdateStatus();
-					setCellReadOnly();							
+					dwcon.SetItemString(i, L"ContactID", GetGuid());
+					dwcon.SetItemString(i, L"PCStatus", L"1");
+					dw_base.SetItemString(1, L"PrimaryContactID", dwcon.GetItemString(1, L"ContactID"));
 				}
-				dw_base.Redraw();
-				//m_dels="";				
-				return 0;
-			}					
-			int OnCmdDispatch(string comdid)
+
+
+
+			}
+		}
+		return 1;
+	}
+	int OnSave()
+	{
+
+		dw_base = new xdwtable;
+		dw_base.setNativePointer(GetControl(L"dw_base"));
+		xstring SName = dw_base.GetItemString(1, L"Name");
+		if (SName == L"") {
+			alert(L"请输入船公司名称!");
+			return -1;
+		}
+		int rec = OnPreSave();
+		if (rec == -1)	return -1;
+		xml x;
+
+		dw_base.DwUpdateAllTo(x);
+		trace(x.xml());
+		xaserverarg arg;
+
+		arg.AddArg(L"content", x.xml());
+		arg.AddArg(L"dbmap", L"Shipcompany.dbmap");
+		//arg.AddArg(L"m_dels",m_dels);	
+
+		if (getUrl(L"/sale/data/LogisticsCode/entity/shipcompany/save", arg.GetString(), x) != 1)
+		{
+			trace(L"error:" + (xstring)x.xml());
+			alert(L"保存失败!");
+			return 0;
+		}
+		else
+		{
+			trace(x.xml());
+			if (x.selectSingleNode(L"error"))
 			{
-				trace(comdid);
-				if(comdid.find("action:bill.row.add",0)>=0) {
-					OnAddrow();
-				}
-				else if(comdid.find("bill.row.insert",0)>=0) {
-					OnInsertRow(); 							
-				}
-				else if(comdid.find("bill.row.delete",0)>=0) {
-					OnDeleteRow();
-				}
-				else if(comdid.find("bill.save",0)>=0) {					
-					trace(1);
-					dw_base.AcceptText();
-					OnSave();
-				}					
+				alert(L"保存出错2!");
+				return 0;
+			}
+			alert(L"保存成功!");
+			dw_base.ResetUpdateStatus();
+			setCellReadOnly();
+		}
+		dw_base.Redraw();
+		//m_dels=L"";				
+		return 0;
+	}
+	int OnCmdDispatch(xstring comdid)
+	{
+		trace(comdid);
+		if (comdid.find(L"action:bill.row.add", 0) >= 0) {
+			OnAddrow();
+		}
+		else if (comdid.find(L"bill.row.insert", 0) >= 0) {
+			OnInsertRow();
+		}
+		else if (comdid.find(L"bill.row.delete", 0) >= 0) {
+			OnDeleteRow();
+		}
+		else if (comdid.find(L"bill.save", 0) >= 0) {
+			//trace(1);
+			dw_base.AcceptText();
+			OnSave();
+		}
+		return 0;
+	}
+
+	int OnXCommand(TEvent* evt, LPARAM param)
+	{
+		return OnCmdDispatch(evt->xcommand.pStrID);
+	}
+	int OnCellChanged(TEvent* evt, LPARAM p)
+	{
+		dw_base = new xdwtable;
+		dw_base.setNativePointer(GetControl(L"dw_base"));
+		DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+		xstring colname = hdr.colname;
+		//trace(colname);
+		if (colname == L"ShipNo")
+		{
+			xstring cspec = dw_base.GetItemString(1, 1);
+			trace(cspec);
+			xstring SpecRule = L"^\\d*$";
+			xaserverarg args;
+
+			args.AddArg(L"CSpec", cspec);
+			args.AddArg(L"SpecRule", SpecRule);
+			xml  x;
+
+			getUrl(L"/sale/data/LogisticsCode/pref/forwarderno/check", args.GetString(), x);
+			if (x.selectSingleNode(L"root/spec"))
+			{
+				alert(L"请输入数字!");
 				return 0;
 			}
 
-			int OnXCommand(ref TXCommandEvent evt,int p)
-			{
-				return OnCmdDispatch(evt.pStrID);
-			}
-			int OnCellChanged(ref TNotifyEvent evt,int p)
-			{	
-				dw_base = new xdwtable__;
-				dw_base.setNativePointer(this.GetControl("dw_base"));						
-				ref DWNMHDR  hdr = evt.pnmh;
-				string colname=hdr.colname;
-				//trace(colname);
-				if(colname=="ShipNo")
-				{
-					string cspec = dw_base.GetItemString(1,1);
-					trace(cspec);
-					string SpecRule="^\\d*$";
-					xaserverarg__ args = new xaserverarg__;
-					args.setNativePointer(args.CreateInstance());
-					args.AddArg("CSpec",cspec);
-					args.AddArg("SpecRule",SpecRule);
-					xml__  x= new xml__;
-					x.setNativePointer(xml__::CreateInstance());
-					getUrl("/sale/data/LogisticsCode/pref/forwarderno/check",args.GetString(),x);			
-					if(x.GetXmlDoc().selectSingleNode("root/spec"))
-					{  
-						alert("请输入数字!");
-						return 0;
-					}
-					
-				}
-				return 1;
-			}			
-			int OnAttachEvent()
-			{
-				AttachEvent("WM_XCOMMAND",OnXCommand);
-				AttachEvent("WM_SETFOCUS",OnSetFocus);
-				AttachEvent("dw_base","DWV_ITEMCHANGED",OnCellChanged);				
-				return 0;
-			}
-					
-			int onload()
-			{	
-								
-				OnAttachEvent();								
-				//if(!m_configDoc) return -1;
+		}
+		return 1;
+	}
+	int OnAttachEvent()
+	{
+		AttachEvent(L"WM_XCOMMAND", (FEvent)&ShipcompanyMaint::OnXCommand);
+		AttachEvent(L"WM_SETFOCUS", (FEvent)&ShipcompanyMaint::OnSetFocus);
+		AttachEvent(L"dw_base", L"DWV_ITEMCHANGED", (FEvent)&ShipcompanyMaint::OnCellChanged);
+		return 1;
+	}
 
-				maint::onload();
-				
-				OnClear();
-			
-			}
-		]
-	]
-]
\ No newline at end of file
+	int onload()
+	{
+
+		OnAttachEvent();
+		//if(!m_configDoc) return -1;
+
+		maint::onload();
+
+		OnClear();
+
+	}
+};
\ No newline at end of file

--
Gitblit v1.9.3