From 94d3840bda13f23c0cd4619a99ac215b74ffcd94 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期四, 07 十一月 2024 13:54:14 +0800
Subject: [PATCH] update

---
 jrj/project/business/Company/HrEmployeeAdd.cpp |  340 +++++++++++++++++++++++++++----------------------------
 1 files changed, 167 insertions(+), 173 deletions(-)

diff --git a/jrj/project/business/Company/HrEmployeeAdd.cpp b/jrj/project/business/Company/HrEmployeeAdd.cpp
index 32d7ae0..1c330ef 100644
--- a/jrj/project/business/Company/HrEmployeeAdd.cpp
+++ b/jrj/project/business/Company/HrEmployeeAdd.cpp
@@ -1,193 +1,187 @@
-use "win.vl"
-use "dev:vm[xdwgrid.vm]"
-use "dev:vm[xdwtable.vm]"
-use "pref.vl"
-use "dev:vm[xml.vm]"
-use "dev:vm[xaserverarg.vm]"
-use "dev:vm[xaserver.vm]"
-use "dev:vm[xutil.vm]"
-use "frame.vl"
-use "treeview.vm"
-use "dev:code[HrEmployee.vx]"
-use "publiccode.vl"
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
 
-//unit vclient.vobject tpp
-unit vbusiness.xpage
-[
-	HrEmployeeAdd is extend frame;
-	about HrEmployeeAdd
-		[
-			field:
-			[
-				HrEmployee lw_obj;
-				xdwgrid__	dw_list;
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+#include "hremployee.hpp"
 
-				xnode__	m_agentNode;	//Agent Condition
-				string	m_agentCond;	//Agent Node
-				string	m_sTxt;
-			]
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrEmployeeAdd : public xframe
+{
+public:
+	HrEmployee* lw_obj;
+	xdwgrid	dw_list;
 
-				method:
-			[
-				int SetAgent()
-				{
-					string xfNodeAgentArea = "agentarea";
-					xnode__ anode = new xnode__;
-					anode.setNativePointer(GetAgentNode(xfNodeAgentArea));
-					var xframeElement = GetElement();
-					var agent = xframeElement.selectSingleNode("agent/" + xfNodeAgentArea + "[1]/*");
-					if (agent)
-					{
-						string s = agent.xml;
-						SetAgentNodeContent(anode, s);
-					}
-					return 1;
-				}
+	xnode	m_agentNode;	//Agent Condition
+	xstring	m_agentCond;	//Agent Node
+	xstring	m_sTxt;
+public:
+	HrEmployeeAdd(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+	static HrEmployeeAdd* CreateInstance(void* implPtr, void* hWnd)
+	{
+		HrEmployeeAdd* pWin = new HrEmployeeAdd(implPtr, (HWND)hWnd);
+		return pWin;
+	}
+	int SetAgent()
+	{
+		xstring xfNodeAgentArea = L"agentarea";
+		xnode anode = GetAgentNode(xfNodeAgentArea);
+		if (m_agentNode)
+		{
+			SetAgentNode(anode, m_agentNode);
+		}
+		else
+		{
+			KXMLDOMElement xframeElement = GetElement();
+			KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/" + xfNodeAgentArea + L"[1]/*");
+			if (agent)
+			{
+				xstring s = agent.xml();
+				m_agentNode = SetAgentNode(anode, s);
+			}
+		}
+		return 1;
+	}
 
-				//焦点激活处理函数
-				int OnSetFocus(ref TEvent evt, int param)
-				{
-					SetAgent();
-					//重置工具条
-					return 1;
-				}
+	//焦点激活处理函数
+	int OnSetFocus(TEvent* evt, LPARAM param)
+	{
+		SetAgent();
+		//重置工具条
+		return 1;
+	}
 
-				int  OnRetrieve()
-				{
-					control__ xc = new control__;
-					xc.setNativePointer(this.GetControl("QueryTxt"));
-					m_sTxt = xc.GetText() + "";
-					xml__ x = new xml__;
-					x.setNativePointer(x.CreateInstance());
-					xaserverarg__ arg = new xaserverarg__;
-					arg.setNativePointer(arg.CreateInstance());
-					arg.AddArg("sTxt", m_sTxt);
-					if (url::post("OrganizationStruct/select.Employee", arg.GetString(), x) != 1)
-					{
-						trace(x.GetXmlDoc().text);
-						return -1;
-					}
-					else
-					{
-						dw_list.Retrieve(x);
-						dw_list.Redraw();
-						dw_list.SetReadOnly(true);
-					}
-					return 1;
-				}
+	int  OnRetrieve()
+	{
+		xcontrol xc = GetControl(L"QueryTxt");
+		m_sTxt = xc.GetText() + L"";
+		xml x;
+		xaserverarg arg;
+		arg.AddArg(L"sTxt", m_sTxt);
+		if (xurl::post(L"OrganizationStruct/select.Employee", arg.GetString(), x) != 1)
+		{
+			trace(x.text());
+			return -1;
+		}
+		else
+		{
+			dw_list.Retrieve(x);
+			dw_list.Redraw();
+			dw_list.SetReadOnly(true);
+		}
+		return 1;
+	}
 
-				int OnOK()
-				{
-					if (GetParam())
-					{
-						lw_obj = new HrEmployee;
-						lw_obj.setNativePointer(GetParam());
-						lw_obj = GetParam();
-					}
-					else
-						return 0;
+	int OnOK()
+	{
+		if (GetWinParam())
+		{
+			lw_obj = (HrEmployee*)GetWinParam();
+		}
+		else
+			return 0;
 
-					int row = dw_list.GetNextSelectRow(1);
-					if (row < 1)
-					{
-						alert("请选择人员!");
-						return 1;
-					}
+		int row = dw_list.GetNextSelectRow(1);
+		if (row < 1)
+		{
+			alert(L"请选择人员!");
+			return 1;
+		}
 
-					string sPositionID, sPositionName;
-					string sOrgID, sOrgName;
-					string sJobID, sJobName;
-					int wid = lw_obj.tv_org.GetId();
-					int hitem = treeview__::GetSelectedItem(wid);
-					msxml::IXMLDOMElement ele = treeview__::GetItemData(wid, hitem);
-					if (ele)
-					{
-						sPositionID = ele.SelectSingleNode("id").text;
-						sPositionName = ele.SelectSingleNode("name").text;
-						sOrgID = ele.SelectSingleNode("OrgID").text;
-						sOrgName = ele.SelectSingleNode("OrgName").text;
-						sJobID = ele.SelectSingleNode("JobID").text;
-						sJobName = ele.SelectSingleNode("JobName").text;
-					}
+		xstring sPositionID, sPositionName;
+		xstring sOrgID, sOrgName;
+		xstring sJobID, sJobName;
+		KXMLDOMElement ele = lw_obj->tv_org.GetItemData(lw_obj->tv_org.GetSelectedItem());
+		if (ele)
+		{
+			sPositionID = ele.selectSingleNode(L"id").text();
+			sPositionName = ele.selectSingleNode(L"name").text();
+			sOrgID = ele.selectSingleNode(L"OrgID").text();
+			sOrgName = ele.selectSingleNode(L"OrgName").text();
+			sJobID = ele.selectSingleNode(L"JobID").text();
+			sJobName = ele.selectSingleNode(L"JobName").text();
+		}
 
-					while (row > 0)
-					{
-						msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
-						string sEmployeeNo = e.selectSingleNode("EmployeeNo").text + "";
-						string sPersonID = e.selectSingleNode("PersonID").text + "";
-						string sPersonName = e.selectSingleNode("Name").text + "";
+		while (row > 0)
+		{
+			KXMLDOMElement e = dw_list.GetRowElement(row);
+			xstring sEmployeeNo = e.selectSingleNode(L"EmployeeNo").text();
+			xstring sPersonID = e.selectSingleNode(L"PersonID").text();
+			xstring sPersonName = e.selectSingleNode(L"Name").text();
 
-						int nRow = lw_obj.dw_emp.InsertRow(0);
-						lw_obj.dw_emp.SetItemString(nRow, "EmployeeNo", sEmployeeNo);
-						lw_obj.dw_emp.SetItemString(nRow, "PersonID", sPersonID);
-						lw_obj.dw_emp.SetItemDisplayString(nRow, "PersonID", sPersonName);
+			int nRow = lw_obj->dw_emp.InsertRow(0);
+			lw_obj->dw_emp.SetItemString(nRow, L"EmployeeNo", sEmployeeNo);
+			lw_obj->dw_emp.SetItemString(nRow, L"PersonID", sPersonID);
+			lw_obj->dw_emp.SetItemDisplayString(nRow, L"PersonID", sPersonName);
 
-						lw_obj.dw_emp.SetItemString(nRow, "PositionID", sPositionID);
-						lw_obj.dw_emp.SetItemDisplayString(nRow, "PositionID", sPositionName);
-						lw_obj.dw_emp.SetItemString(nRow, "OrgID", sOrgID);
-						lw_obj.dw_emp.SetItemDisplayString(nRow, "OrgID", sOrgName);
-						lw_obj.dw_emp.SetItemString(nRow, "JobID", sJobID);
-						lw_obj.dw_emp.SetItemDisplayString(nRow, "JobID", sJobName);
+			lw_obj->dw_emp.SetItemString(nRow, L"PositionID", sPositionID);
+			lw_obj->dw_emp.SetItemDisplayString(nRow, L"PositionID", sPositionName);
+			lw_obj->dw_emp.SetItemString(nRow, L"OrgID", sOrgID);
+			lw_obj->dw_emp.SetItemDisplayString(nRow, L"OrgID", sOrgName);
+			lw_obj->dw_emp.SetItemString(nRow, L"JobID", sJobID);
+			lw_obj->dw_emp.SetItemDisplayString(nRow, L"JobID", sJobName);
 
-						lw_obj.dw_emp.SetItemString(nRow, "Status", "Y");
-						lw_obj.dw_emp.SetItemDisplayString(nRow, "Status", "有效");
-						string sdate = publiccode::GetCurDate() + "";
-						lw_obj.dw_emp.SetItemString(nRow, "StartDate", sdate + "");
-						lw_obj.dw_emp.SetItemString(nRow, "EndDate", "2050-12-31");
+			lw_obj->dw_emp.SetItemString(nRow, L"Status", L"Y");
+			lw_obj->dw_emp.SetItemDisplayString(nRow, L"Status", L"有效");
+			xstring sdate = publiccode::GetCurrentDate();
+			lw_obj->dw_emp.SetItemString(nRow, L"StartDate", sdate);
+			lw_obj->dw_emp.SetItemString(nRow, L"EndDate", L"2050-12-31");
 
-						row = dw_list.GetNextSelectRow(row + 1);
-					}
-					CloseWindow();
-					return 1;
-				}
+			row = dw_list.GetNextSelectRow(row + 1);
+		}
+		CloseWindow();
+		return 1;
+	}
 
-				//命令发布函数
-				int OnCmdDispatch(string comdid)
-				{
-					if (comdid == "xmOk")
-						OnOK();
-					else if (comdid == "query")
-						OnRetrieve();
-					else if (comdid == "xmCancel")
-						CloseWindow();
-					return 0;
-				}
+	//命令发布函数
+	int OnCmdDispatch(xstring comdid)
+	{
+		if (comdid == L"xmOk")
+			OnOK();
+		else if (comdid == L"query")
+			OnRetrieve();
+		else if (comdid == L"xmCancel")
+			CloseWindow();
+		return 0;
+	}
 
-				//命令处理事件
-				int OnXCommand(ref TXCommandEvent evt, int param)
-				{
-					return OnCmdDispatch(evt.pStrID);
-				}
+	//命令处理事件
+	int OnXCommand(TEvent* evt, LPARAM param)
+	{
+		return OnCmdDispatch(evt->xcommand.pStrID);
+	}
 
-				int OnAttachEvent()
-				{
-					//绑定工具条点击事件
-					AttachEvent("WM_XCOMMAND", OnXCommand);
-					//获取焦点事件,用于重置工具条
-					AttachEvent("WM_SETFOCUS", OnSetFocus);
-				}
+	int OnAttachEvent()
+	{
+		//绑定工具条点击事件
+		AttachEvent(L"WM_XCOMMAND", (FEvent)&HrEmployeeAdd::OnXCommand);
+		//获取焦点事件,用于重置工具条
+		AttachEvent(L"WM_SETFOCUS", (FEvent)&HrEmployeeAdd::OnSetFocus);
+		return 1;
+	}
 
-				int OnInitial()
-				{
-					SetAgent();
-					OnAttachEvent();
-					return 1;
-				}
+	int OnInitial()
+	{
+		SetAgent();
+		OnAttachEvent();
+		return 1;
+	}
 
-				int onload()
-				{
-					dw_list = new xdwgrid__;
-					dw_list.setNativePointer(this.GetControl("dw_list"));
-					dw_list.openUrl("组织架构.vface/template/HrEmployee/PersonSel");
-					dw_list.SetSelectionMode(3); //3
-					dw_list.SetReadOnly(true);
+	int onload()
+	{
+		dw_list = new xdwgrid;
+		dw_list.setNativePointer(GetControl(L"dw_list"));
+		dw_list.openUrl(L"组织架构.vface/template/HrEmployee/PersonSel");
+		dw_list.SetSelectionMode(3); //3
+		dw_list.SetReadOnly(true);
 
-					OnInitial();
-					OnRetrieve();
+		OnInitial();
+		OnRetrieve();
 
-					return 1;
-				}
-			]
-
-		]
-]
\ No newline at end of file
+		return 1;
+	}
+};
\ No newline at end of file

--
Gitblit v1.9.3