From 871adf001724fb4af2552ab4f580939b9bbc2dda Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期一, 15 七月 2024 16:34:56 +0800
Subject: [PATCH] update Company
---
jrj/project/business/Company/HrEmployee.cpp | 391 ++++++++++++++++++++++++++++---------------------------
1 files changed, 199 insertions(+), 192 deletions(-)
diff --git a/jrj/project/business/Company/HrEmployee.cpp b/jrj/project/business/Company/HrEmployee.cpp
index bc48927..196ff85 100644
--- a/jrj/project/business/Company/HrEmployee.cpp
+++ b/jrj/project/business/Company/HrEmployee.cpp
@@ -1,65 +1,74 @@
-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 "list.vl"
-use "treeview.vm"
-//unit vclient.vobject tpp
-unit vbusiness.xpage
-[
- HrEmployee is extend list;
- about HrEmployee
- [
- field:
- [
- treeview__ tv_org;
- xdwgrid__ dw_emp;
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
- string is_orgid
- string is_orgname;
- string is_inflag;
- xdwtable__ dw_empmaint;
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- ]
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- 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);
- }
- }
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrEmployee : public xwin
+{
+public:
+
+ xtreeview tv_org;
+ xdwgrid dw_emp;
+
+ xstring is_orgid;
+ xstring is_orgname;
+ xstring is_inflag;
+ xdwtable dw_empmaint;
+ xnode m_agentNode; //Agent Condition
+ xstring m_agentCond; //Agent Node
+
+
+public:
+ HrEmployee(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+public:
+ static HrEmployee* CreateInstance(void* implPtr, void* hWnd)
+ {
+ HrEmployee* pWin = new HrEmployee(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 p)
+ int OnSetFocus(TEvent* evt, LPARAM param)
{
SetAgent();
//重置工具条
return 1;
}
- int OnRetrieve(string ls_orgid)
+ int OnRetrieve(xstring ls_orgid)
{
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("OrgID", ls_orgid);
+ xml x;
+
+ xaserverarg arg;
+
+ arg.AddArg(L"OrgID", ls_orgid);
//trace(ls_orgid);
- //if (xaserver__::ExecXQuery(GetServerUrl(),"[MSSqlHrEmployee.xq]",arg.GetString(),x) == 1)
- if (url::get("OrganizationStruct/list.Employee", arg.GetString(), x) == 1)
+ //if (xaserver::ExecXQuery(GetServerUrl(),L"[MSSqlHrEmployee.xq]",arg.GetString(),x) == 1)
+ if (xurl::get(L"OrganizationStruct/list.Employee", arg.GetString(), x) == 1)
{
dw_emp.Retrieve(x);
dw_emp.Redraw();
@@ -70,71 +79,71 @@
int OnSave()
{
- int hIcon = xutil__::SetCursorWait();
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- dw_emp.AcceptText();
- dw_emp.DwUpdateAllToEx(x.GetXmlDoc());
+ HCURSOR hIcon = xutil::SetCursorWait();
+ xml x;
- string val = x.GetXml();
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("content", val);
+ dw_emp.AcceptText();
+ dw_emp.DwUpdateAllToEx(x);
+
+ xstring val = x.xml();
+ xaserverarg arg;
+
+ arg.AddArg(L"content", val);
//trace(x.GetXml());
//return 1;
- if (url::post("OrganizationStruct/update.Employee", arg.GetString(), x) != 1)
+ if (xurl::post(L"OrganizationStruct/update.Employee", arg.GetString(), x) != 1)
{
- trace(x.GetXmlDoc().documentElement.text);
- alert("保存失败");
+ trace(x.documentElement().text());
+ alert(L"保存失败");
}
else {
dw_emp.ResetUpdateStatus();
- alert("保存成功");
+ alert(L"保存成功");
}
trace(x.GetXml());
- xutil__::RestoreCursor(hIcon);
+ xutil::RestoreCursor(hIcon);
return 1;
}
- int OnSubTree(string id, int parentitem)
+ int OnSubTree(xstring id, HTREEITEM parentitem)
{
- int wid = tv_org.GetId();
- if (treeview__::GetChildItem(wid, parentitem) > 0) return 1;
- xml__ x = new xml__;
- x.setNativePointer(xml__::CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("sguid", id);
- if (url::post("/sale/data/OrganizationStruct/tree.child.OrgChart", arg.GetString(), x) != 1)
+ //int wid = tv_org.GetId();
+ if (tv_org.GetChildItem(parentitem) > 0) return 1;
+ xml x;
+
+ xaserverarg arg;
+
+ arg.AddArg(L"sguid", id);
+ if (xurl::post(L"/sale/data/OrganizationStruct/tree.child.OrgChart", arg.GetString(), x) != 1)
{
- trace(x.GetXml());
+ trace(x.xml());
return -1;
}
//trace(x.GetXml());
- var list = x.GetXmlDoc().selectNodes("//item");
+ var list = x.selectNodes(L"//item");
int i = 0, s = list.length;
- msxml::IXMLDOMElement xitem;
- string sName;
- string sguid;
- string stype;
+ KXMLDOMElement xitem;
+ xstring sName;
+ xstring sguid;
+ xstring stype;
if (s > 0)
{
for (i = 0; i < s; i++)
{
xitem = list.item(i);
- sName = xitem.SelectSingleNode("name").text;
- sguid = xitem.SelectSingleNode("id").text;
- stype = xitem.SelectSingleNode("typ").text;
+ sName = xitem.selectSingleNode(L"name").text();
+ sguid = xitem.selectSingleNode(L"id").text();
+ stype = xitem.selectSingleNode(L"typ").text();
//int curItem = tv_org.InsertChildItemEx(wid,parentitem,sName,xitem,15,4);
- int curItem = 0;
- if (stype == "Org")
+ HTREEITEM curItem = 0;
+ if (stype == L"Org")
{
- curItem = tv_org.InsertChildItemEx(wid, parentitem, sName, xitem, 15, 4);
- tv_org.SetItemChild1(wid, curItem, 1);
+ curItem = tv_org.InsertChildItemEx(parentitem, sName, xitem, 15, 4);
+ tv_org.SetItemChild1(curItem, 1);
}
else
{
- curItem = tv_org.InsertChildItemEx(wid, parentitem, sName, xitem, 21, 21);
+ curItem = tv_org.InsertChildItemEx(parentitem, sName, xitem, 21, 21);
}
//OnSubTree(sguid,curItem);
}
@@ -142,43 +151,43 @@
return 1;
}
- int OnCreateTree(string id, int parentitem)
+ int OnCreateTree(xstring id, HTREEITEM parentitem)
{
//while (tv_1.GetRootItem()>0)
// tv_1.DeleteItem(tv_1.GetRootItem());
- int wid = tv_org.GetId();
- xml__ x = new xml__;
- x.setNativePointer(xml__::CreateInstance());
- x.LoadXml("<item><id>" + id + "</id><no/><name>宁波家尔佳</name><typ>Org</typ></item>");
- //msxml::IXMLDOMDocument root = x.GetXmlDoc();
- //msxml::IXMLDOMElement RDoc = x.GetXmlDoc().documentElement;
- //msxml::IXMLDOMElement ele = RDoc.SelectSingleNode("//Org");
- msxml::IXMLDOMElement ele = x.GetXmlDoc().SelectSingleNode("//item");
- int hItem = treeview__::InsertChildItemEx(wid, 0, "宁波家尔佳", ele, 15, 4);
- treeview__::SetItemChild1(wid, hItem, 1);
+ //int wid = tv_org.GetId();
+ xml x;
+
+ x.loadXML(L"<item><id>" + id + L"</id><no/><name>宁波家尔佳</name><typ>Org</typ></item>");
+ //KXMLDOMDocument root = x;
+ //KXMLDOMElement RDoc = x.documentElement;
+ //KXMLDOMElement ele = RDoc.selectSingleNode(L"//Org");
+ KXMLDOMElement ele = x.selectSingleNode(L"//item");
+ HTREEITEM hItem = tv_org.InsertChildItemEx(0, L"宁波家尔佳", ele, 15, 4);
+ tv_org.SetItemChild1(hItem, 1);
return 1;
- /*xaserverarg__ arg=new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("sguid",id);
- if(url::post("/sale/data/OrganizationStruct/tree.child.OrgChart",arg.GetString(),x)!=1)
+ /*xaserverarg arg=new xaserverarg;
+
+ arg.AddArg(L"sguid",id);
+ if(xurl::post(L"/sale/data/OrganizationStruct/tree.child.OrgChart",arg.GetString(),x)!=1)
{
trace(x.GetXml());
return -1;
}
//trace(x.GetXml());
- var list=x.GetXmlDoc().selectNodes("//item");
+ var list=x.selectNodes(L"//item");
int i=0,s=list.length;
- msxml::IXMLDOMElement xitem;
- string sName;
- string sguid;
+ KXMLDOMElement xitem;
+ xstring sName;
+ xstring sguid;
if (s >0)
{
for (i=0;i<s;i++)
{
xitem= list.item(i);
- sName = xitem.SelectSingleNode("@name").text;
- sguid = xitem.SelectSingleNode("@id").text;
+ sName = xitem.selectSingleNode(L"@name").text();
+ sguid = xitem.selectSingleNode(L"@id").text();
int curItem = tv_org.InsertChildItemEx(wid,hItem,sName,xitem,15,4);
tv_org.SetItemChild1(wid,curItem,1);
//OnSubTree(sguid,curItem);
@@ -187,28 +196,28 @@
return 1;*/
}
- int OnTreeExpanding(ref TNotifyEvent evt, int p)
+ int OnTreeExpanding(TEvent* evt, int p)
{
- ref NMTREEVIEW nmtv = evt.pnmh;
- int sitem = nmtv.itemNew.hItem;
+ NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
+ HTREEITEM sitem = nmtv.itemNew.hItem;
- int hCursor = xutil__::SetCursorWait();
- //string id = treeview__::GetItemData(tv_org.GetId(), sitem);
- msxml::IXMLDOMElement ele = treeview__::GetItemData(tv_org.GetId(), sitem);
- string id = ele.SelectSingleNode("id").text;
+ HCURSOR hCursor = xutil::SetCursorWait();
+ //xstring id = tv_org.GetItemData(tv_org.GetId(), sitem);
+ KXMLDOMElement ele = tv_org.GetItemData(sitem);
+ xstring id = ele.selectSingleNode(L"id").text();
OnSubTree(id, sitem);
- xutil__::RestoreCursor(hCursor);
+ xutil::RestoreCursor(hCursor);
return 1;
}
- int OnTreeSelChanged(ref TXCommandEvent evt, int p)
+ int OnTreeSelChanged(TEvent* evt, int p)
{
- int wid = tv_org.GetId();
- int hitem = treeview__::GetSelectedItem(wid);
- msxml::IXMLDOMElement ele = treeview__::GetItemData(wid, hitem);
+ //int wid = tv_org.GetId();
+ HTREEITEM hitem = tv_org.GetSelectedItem();
+ KXMLDOMElement ele = tv_org.GetItemData(hitem);
if (ele)
{
- string ls_orgid = ele.SelectSingleNode("id").text;
+ xstring ls_orgid = ele.selectSingleNode(L"id").text();
is_orgid = ls_orgid;
OnRetrieve(ls_orgid);
}
@@ -217,26 +226,26 @@
int OnAddRow()
{
- int wid = tv_org.GetId();
- int hitem = treeview__::GetSelectedItem(wid);
+ //int wid = tv_org.GetId();
+ HTREEITEM hitem = tv_org.GetSelectedItem();
if (!hitem)
{
- alert("请选择岗位!");
+ alert(L"请选择岗位!");
return 0;
}
else
{
- msxml::IXMLDOMElement ele = treeview__::GetItemData(wid, hitem);
- string stype = ele.SelectSingleNode("typ").text;
- if (stype != "Pos")
+ KXMLDOMElement ele = tv_org.GetItemData(hitem);
+ xstring stype = ele.selectSingleNode(L"typ").text();
+ if (stype != L"Pos")
{
- alert("请选择岗位!");
+ alert(L"请选择岗位!");
return 0;
}
}
- OpenWindow("dev:xpage[HrEmployeeAdd.vx]", this);
- //openUrl("组织架构.vface/xpage/Hr/HrEmployeeAdd", this);
+ OpenWindow(L"dev:xpage[HrEmployeeAdd.vx]", this);
+ //openUrl(L"组织架构.vface/xpage/Hr/HrEmployeeAdd", this);
return 1;
}
@@ -248,20 +257,20 @@
row = dw_emp.GetRow();
if (row < 1)
{
- win__::MessageBox(GetHWND(), "请选中要修改的任职信息行!", "提示", 0);
+ MessageBox(GetHWND(), L"请选中要修改的任职信息行!", L"提示", 0);
return -1;
}
}
- int wid = dw_emp.GetId();
- msxml::IXMLDOMElement e = dw_emp.GetRowElement(row);
- string sPersonID = e.selectSingleNode("PersonID").text;
+ //int wid = dw_emp.GetId();
+ KXMLDOMElement e = dw_emp.GetRowElement(row);
+ xstring sPersonID = e.selectSingleNode(L"PersonID").text();
//trace(e.xml);
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("operate", "modify");
- arg.AddArg("guid", sPersonID);
- //xwin::OpenWindow("dev:xpage[HrPersonMaint.xpage]",arg);
- openUrl("组织架构.vface/xpage/Hr/HrPersonMaint", arg);
+ xaserverarg& arg = *new xaserverarg;
+
+ arg.AddArg(L"operate", L"modify");
+ arg.AddArg(L"guid", sPersonID);
+ //xwin::OpenWindow(L"dev:xpage[HrPersonMaint.xpage]",arg);
+ openUrl(L"组织架构.vface/xpage/Hr/HrPersonMaint", &arg);
return 1;
}
@@ -273,26 +282,26 @@
ll_row = dw_emp.GetRow();
if (ll_row < 1)
{
- win__::MessageBox(GetHWND(), "请选中要删除的任职信息行!", "提示", 0);
+ MessageBox(GetHWND(), L"请选中要删除的任职信息行!", L"提示", 0);
return -1;
}
}
- string sName = dw_emp.GetItemDisplayString(ll_row, "PersonID", 0);
- if (win__::MessageBox(GetHWND(), "确定删除" + sName + "任职信息吗?", "提示", 1) != 1)
+ xstring sName = dw_emp.GetItemDisplayString(ll_row, L"PersonID");
+ if (MessageBox(GetHWND(), L"确定删除" + sName + L"任职信息吗?", L"提示", 1) != 1)
return 0;
- msxml::IXMLDOMElement ele = dw_emp.GetRowElement(ll_row);
- string empid = ele.selectSingleNode("@guid").text;
+ KXMLDOMElement ele = dw_emp.GetRowElement(ll_row);
+ xstring empid = ele.selectSingleNode(L"@guid").text();
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ args = new xaserverarg__;
+ xml x;
+
+ xaserverarg args;
args.setNativePointer(args.CreateInstance());
- args.AddArg("guid", empid);
- //if(xaserver__::ExecXAction(GetServerUrl(),"[MSSqlHrEmployeeDel.xq]",args.GetString(),x) !=1)
- if (url::post("OrganizationStruct/delete.Employee", args.GetString(), x) != 1)
+ args.AddArg(L"guid", empid);
+ //if(xaserver::ExecXAction(GetServerUrl(),L"[MSSqlHrEmployeeDel.xq]",args.GetString(),x) !=1)
+ if (xurl::post(L"OrganizationStruct/delete.Employee", args.GetString(), x) != 1)
{
- string error = x.GetXmlDoc().text;
+ xstring error = x.text();
trace(error);
}
else
@@ -305,62 +314,63 @@
int SetText()
{
- win__::SetWindowText(GetHWND(), "所属组织:" + is_orgname + " 操作状态:" + is_inflag);
+ SetWindowText(GetHWND(), L"所属组织:" + is_orgname + L" 操作状态:" + is_inflag);
return 1;
}
//xgridex双击
- int OnDoubleClicked(ref TNotifyEvent evt, int p)
+ int OnDoubleClicked(TEvent* evt, LPARAM p)
{
- ref DWNMHDR hdr = evt.pnmh;
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
int row = hdr.row;
if (row < 1 || row > dw_emp.GetRowCount())
return 1;
- msxml::IXMLDOMElement e = dw_emp.GetRowElement(row);
- string sPersonID = e.selectSingleNode("PersonID").text;
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("operate", "modify");
- arg.AddArg("guid", sPersonID);
- //xwin::OpenWindow("dev:xpage[HrPersonMaint.xpage]",arg);
- openUrl("组织架构.vface/xpage/Hr/HrPersonMaint", arg);
+ KXMLDOMElement e = dw_emp.GetRowElement(row);
+ xstring sPersonID = e.selectSingleNode(L"PersonID").text();
+ xaserverarg& arg = *new xaserverarg;
+
+ arg.AddArg(L"operate", L"modify");
+ arg.AddArg(L"guid", sPersonID);
+ //xwin::OpenWindow(L"dev:xpage[HrPersonMaint.xpage]",arg);
+ openUrl(L"组织架构.vface/xpage/Hr/HrPersonMaint", &arg);
return 1;
}
//命令发布函数
- int OnCmdDispatch(string comdid)
+ int OnCmdDispatch(xstring comdid)
{
- if (comdid == "Save") return OnSave();
- else if (comdid == "AddRow") return OnAddRow();
- else if (comdid == "ModifyRow") return OnModifyRow();
- else if (comdid == "DeleteRow") return OnDeleteRow();
- else if (comdid == "Refresh") return OnRetrieve(is_orgid);
- /*else if(comdid =="adjustorg") return OnAdjustOrg();*/
+ if (comdid == L"Save") return OnSave();
+ else if (comdid == L"AddRow") return OnAddRow();
+ else if (comdid == L"ModifyRow") return OnModifyRow();
+ else if (comdid == L"DeleteRow") return OnDeleteRow();
+ else if (comdid == L"Refresh") return OnRetrieve(is_orgid);
+ /*else if(comdid ==L"adjustorg") return OnAdjustOrg();*/
return 0;
}
//命令处理事件
- 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)&HrEmployee::OnXCommand);
//获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrEmployee::OnSetFocus);
//获得树的选择事件
- AttachEvent("tv_org", "TVN_SELCHANGED", OnTreeSelChanged);
- AttachEvent("tv_org", "TVN_ITEMEXPANDING", OnTreeExpanding);
- AttachEvent("dw_emp", "DWV_DOUBLECLICKED", OnDoubleClicked);
+ AttachEvent(L"tv_org", L"TVN_SELCHANGED", (FEvent)&HrEmployee::OnTreeSelChanged);
+ AttachEvent(L"tv_org", L"TVN_ITEMEXPANDING", (FEvent)&HrEmployee::OnTreeExpanding);
+ AttachEvent(L"dw_emp", L"DWV_DOUBLECLICKED", (FEvent)&HrEmployee::OnDoubleClicked);
+ return 1;
}
int OnInitial()
{
- m_agentNode = new xnode__;
+ m_agentNode = new xnode;
SetAgent();
OnAttachEvent();
@@ -369,22 +379,19 @@
int onload()
{
- tv_org = new treeview__;
- tv_org.setNativePointer(this.GetControl("tv_org"));
- dw_emp = new xdwgrid__;
- dw_emp.setNativePointer(this.GetControl("dw_emp"));
- dw_emp.openUrl("组织架构.vface/template/HrEmployee/list");
+ tv_org = new treeview;
+ tv_org.setNativePointer(GetControl(L"tv_org"));
+ dw_emp = new xdwgrid;
+ dw_emp.setNativePointer(GetControl(L"dw_emp"));
+ dw_emp.openUrl(L"组织架构.vface/template/HrEmployee/list");
//dw_emp.SetReadOnly(true);
//dw_emp.SetSelectionMode(1);
OnInitial();
- OnCreateTree("00000000-0000-0000-0000-000000000000", 0);
- int wid = tv_org.GetId();
- int root = treeview__::GetRootItem(wid);
- treeview__::ExpandItem(wid, root);
+ OnCreateTree(L"00000000-0000-0000-0000-000000000000", 0);
+ //int wid = tv_org.GetId();
+ HTREEITEM root = tv_org.GetRootItem();
+ tv_org.ExpandItem( root);
return 1;
}
- ]
-
- ]
-]
\ No newline at end of file
+};
\ No newline at end of file
--
Gitblit v1.9.3