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/CompanyMaint.cpp | 734 +++---
jrj/project/business/Company/HrPersonMaint.cpp | 696 +++---
jrj/project/business/Company/HrPosition.cpp | 287 +-
jrj/project/business/Company/HrEmployeex.cpp | 319 +-
jrj/project/business/Company/HrOrgType.cpp | 334 +-
jrj/project/business/Company/HrJob.cpp | 279 +-
jrj/project/business/Company/HrOrgMaint.cpp | 504 ++--
jrj/project/business/Company/HrOrgChart.cpp | 252 +-
jrj/project/business/Company/HrPersonAdd.cpp | 278 +-
jrj/project/business/Company/HrEmployee.cpp | 391 +-
jrj/project/business/Company/HRPerson.cpp | 502 ++--
jrj/project/business/Company/CompanyList.cpp | 387 +-
jrj/project/business/Company/HrPositionAdd.cpp | 232 +-
jrj/project/business/Company/HrOrg.cpp | 916 ++++----
jrj/project/business/Company/HrEmployeeAdd.cpp | 191
jrj/ext-jrj/ext-jrj.vcxproj | 2
jrj/project/business/Company/HrPersonSel.cpp | 163
17 files changed, 3,268 insertions(+), 3,199 deletions(-)
diff --git a/jrj/ext-jrj/ext-jrj.vcxproj b/jrj/ext-jrj/ext-jrj.vcxproj
index 7ec233d..3cbb7d3 100644
--- a/jrj/ext-jrj/ext-jrj.vcxproj
+++ b/jrj/ext-jrj/ext-jrj.vcxproj
@@ -288,7 +288,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\project\business\Company\CompanyList.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\project\business\Company\CompanyMaint.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
diff --git a/jrj/project/business/Company/CompanyList.cpp b/jrj/project/business/Company/CompanyList.cpp
index e862ca8..9e85432 100644
--- a/jrj/project/business/Company/CompanyList.cpp
+++ b/jrj/project/business/Company/CompanyList.cpp
@@ -1,214 +1,217 @@
-use "win.vl"
-use "treeview.vm"
-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"
-unit vbusiness.xpage
-[
- CompanyList is extend list;
- about CompanyList
- [
- control:
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
- method:
- [
- xdwgrid__ dw_list;
- string m_agentCond; //Agent Node
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- int SetAgent()
+ using xml = KXMLDOMDocument;
+ class __declspec(dllexport) CompanyList : public xwin
+ {
+ public:
+ xdwgrid dw_list;
+ xstring m_agentCond; //Agent Node
+ xnode m_agentNode;
+ public:
+ CompanyList(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+ public:
+ static CompanyList* CreateInstance(void* implPtr, void* hWnd)
+ {
+ CompanyList* pWin = new CompanyList(implPtr, (HWND)hWnd);
+ return pWin;
+ }
+ int SetAgent()
+ {
+ xstring xfNodeAgentArea = L"agentarea";
+ xnode anode = GetAgentNode(xfNodeAgentArea);
+ if (m_agentNode)
{
- string xfNodeAgentArea = "agentarea";
- xnode__ anode = new xnode__;
- anode.setNativePointer(GetAgentNode(xfNodeAgentArea));
- var xframeElement = GetElement();
- var agent = xframeElement.selectSingleNode("agent/" + xfNodeAgentArea + "[1]/*");
+ SetAgentNode(anode, m_agentNode);
+ }
+ else
+ {
+ KXMLDOMElement xframeElement = GetElement();
+ KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/" + xfNodeAgentArea + L"[1]/*");
if (agent)
{
- string s = agent.xml;
- SetAgentNodeContent(anode, s);
+ xstring s = agent.xml();
+ m_agentNode = SetAgentNode(anode, s);
}
- return 1;
}
+ return 1;
+ }
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
- //焦点激活处理函数
- int OnSetFocus(ref TEvent evt, int p)
+ int OnRetrieve()
+ {
+ xml x;
+
+ xaserverarg arg;
+
+ //arg.AddArg(L"sType",c_type);
+ if (xurl::get(L"OrganizationStruct/list.CompanyInfo", arg.GetString(), x) != 1)
{
- SetAgent();
-
- //重置工具条
- return 1;
+ trace(x.text());
+ return -1;
}
-
- int OnRetrieve()
+ else
{
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- //arg.AddArg("sType",c_type);
- if (url::get("OrganizationStruct/list.CompanyInfo", arg.GetString(), x) != 1)
+ //trace(x.GetXml());
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetReadOnly(true);
+ return 1;
+ }
+
+ //xgridex双击
+ int OnDoubleClicked(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ if (row < 1 || row > dw_list.GetRowCount())
+ return 1;
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ xstring sguid = e.selectSingleNode(L"@guid").text();
+
+ xaserverarg& arg = *new xaserverarg;
+ arg.AddArg(L"operate", L"modify");
+ arg.AddArg(L"guid", sguid);
+ //trace(sguid);
+ //trace(row.toString());
+ //win::OpenWindow(L"dev:xpage[CompanyMaint.vx]",arg);
+ openUrl(L"组织架构.vface/xpage/CompanyInfo/maint", &arg);
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ xaserverarg& arg = *new xaserverarg;
+
+ KXMLDOMElement e;
+ xstring sguid;
+ xstring sName;
+
+ if (comdid == L"AddRow")
+ {
+ arg.AddArg(L"operate", L"new0");
+ arg.AddArg(L"guid", L"");
+ //win::OpenWindow(L"dev:xpage[CompanyMaint.vx]",arg);
+ openUrl(L"组织架构.vface/xpage/CompanyInfo/maint", &arg);
+ }
+ else if (comdid == L"ModifyRow")
+ {
+ int row = dw_list.GetNextSelectRow(1);
+ if (row < 1)
{
- trace(x.GetXmlDoc().text);
- return -1;
+ row = dw_list.GetRow();
+ if (row < 1)
+ {
+ MessageBox(GetHWND(), L"请选中要修改的公司行!", L"提示", 0);
+ return -1;
+ }
+ }
+ e = dw_list.GetRowElement(row);
+ sguid = e.selectSingleNode(L"@guid").text();
+ arg.AddArg(L"operate", L"modify");
+ arg.AddArg(L"guid", sguid);
+ //win::OpenWindow(L"dev:xpage[CompanyMaint.vx]",arg);
+ openUrl(L"组织架构.vface/xpage/CompanyInfo/maint", &arg);
+ }
+ else if (comdid == L"DeleteRow")
+ {
+ int row = dw_list.GetNextSelectRow(1);
+ if (row < 1)
+ {
+ row = dw_list.GetRow();
+ if (row < 1)
+ {
+ MessageBox(GetHWND(), L"请选中要删除的公司行!", L"提示", 0);
+ return -1;
+ }
+ }
+ e = dw_list.GetRowElement(row);
+
+ sguid = e.selectSingleNode(L"@guid").text();
+ sName = e.selectSingleNode(L"Name").text();
+
+ sName += L"";
+ int MB_YESNO = 0x00000004;
+ int IDYES = 6;
+ if (MessageBox(GetHWND(), L"确认要删除公司 " + sName + L" 的信息吗?", L"提示", MB_YESNO) != IDYES) return 1;
+ arg.AddArg(L"guid", sguid);
+ trace(sguid);
+ xml x1;
+
+ if (xurl::post(L"OrganizationStruct/delete.CompanyInfo", arg.GetString(), x1) != 1)
+ {
+ xstring error = x1.text();
+ trace(error);
}
else
{
- //trace(x.GetXml());
- dw_list.Retrieve(x);
- dw_list.Redraw();
+ MessageBox(GetHWND(), L"删除成功!", L"提示", 0);
+ dw_list.DeleteRow(row);
}
- dw_list.SetReadOnly(true);
- return 1;
+
}
-
- //xgridex双击
- int OnDoubleClicked(ref TNotifyEvent evt, int p)
+ else if (comdid == L"Refresh")
{
- ref DWNMHDR hdr = evt.pnmh;
- int row = hdr.row;
- if (row < 1 || row > dw_list.GetRowCount())
- return 1;
- msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
- string sguid = e.SelectSingleNode("@guid").text;
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("operate", "modify");
- arg.AddArg("guid", sguid);
- //trace(sguid);
- //trace(row.toString());
- //win__::OpenWindow("dev:xpage[CompanyMaint.vx]",arg);
- openUrl("组织架构.vface/xpage/CompanyInfo/maint", arg);
- return 1;
- }
-
- //命令发布函数
- int OnCmdDispatch(string comdid)
- {
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- msxml::IXMLDOMElement e;
- string sguid;
- string sName;
-
- if (comdid == "AddRow")
- {
- arg.AddArg("operate", "new0");
- arg.AddArg("guid", "");
- //win__::OpenWindow("dev:xpage[CompanyMaint.vx]",arg);
- openUrl("组织架构.vface/xpage/CompanyInfo/maint", arg);
- }
- else if (comdid == "ModifyRow")
- {
- int row = dw_list.GetNextSelectRow(1);
- if (row < 1)
- {
- row = dw_list.GetRow();
- if (row < 1)
- {
- win__::MessageBox(GetHWND(), "请选中要修改的公司行!", "提示", 0);
- return -1;
- }
- }
- e = dw_list.GetRowElement(row);
- sguid = e.SelectSingleNode("@guid").text;
- arg.AddArg("operate", "modify");
- arg.AddArg("guid", sguid);
- //win__::OpenWindow("dev:xpage[CompanyMaint.vx]",arg);
- openUrl("组织架构.vface/xpage/CompanyInfo/maint", arg);
- }
- else if (comdid == "DeleteRow")
- {
- int row = dw_list.GetNextSelectRow(1);
- if (row < 1)
- {
- row = dw_list.GetRow();
- if (row < 1)
- {
- win__::MessageBox(GetHWND(), "请选中要删除的公司行!", "提示", 0);
- return -1;
- }
- }
- e = dw_list.GetRowElement(row);
-
- sguid = e.SelectSingleNode("@guid").text;
- sName = e.selectSingleNode("Name").text;
-
- sName += "";
- int MB_YESNO = 0x00000004;
- int IDYES = 6;
- if (win__::MessageBox(GetHWND(), "确认要删除公司 " + sName + " 的信息吗?", "提示", MB_YESNO) != IDYES) return 1;
- arg.AddArg("guid", sguid);
- trace(sguid);
- xml__ x1 = new xml__;
- x1.setNativePointer(x1.CreateInstance());
- if (url::post("OrganizationStruct/delete.CompanyInfo", arg.GetString(), x1) != 1)
- {
- string error = x1.GetXmlDoc().text;
- trace(error);
- }
- else
- {
- win__::MessageBox(GetHWND(), "删除成功!", "提示", 0);
- dw_list.DeleteRow(row);
- }
-
- }
- else if (comdid == "Refresh")
- {
- OnRetrieve();
- }
- return 0;
- }
-
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt, int p)
- {
- return OnCmdDispatch(evt.pStrID);
- }
-
- int OnAttachEvent()
- {
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND", OnXCommand);
- //获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
- //双击
- AttachEvent("dw_list", "DWV_DOUBLECLICKED", OnDoubleClicked);
- }
-
- int OnInitial()
- {
- SetAgent();
- OnAttachEvent();
-
- return 1;
- }
-
- int onload()
- {
- dw_list = new xdwgrid__;
- dw_list.setNativePointer(this.GetControl("dw_list"));
-
- //xaserverarg__ args = new xaserverarg__;
- //args.setNativePointer(args.CreateInstance());
- //args.AddArg("type","CompanyList");
- //dw_list.SetDataObject(GetServerUrl(),pref::getPref("HumanResource/GetHrObject",args.GetString()));
- dw_list.openUrl("组织架构.vface/template/company/list");
- dw_list.SetSelectionMode(1);
- dw_list.SetReadOnly(true);
-
- OnInitial();
OnRetrieve();
-
- return 1;
}
+ return 0;
+ }
- ]
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
- ]
-]
\ No newline at end of file
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&CompanyList::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&CompanyList::OnSetFocus);
+ //双击
+ AttachEvent(L"dw_list", L"DWV_DOUBLECLICKED", (FEvent)&CompanyList::OnDoubleClicked);
+ return 1;
+ }
+
+ int OnInitial()
+ {
+ SetAgent();
+ OnAttachEvent();
+
+ return 1;
+ }
+
+ int onload()
+ {
+ dw_list = new xdwgrid;
+ dw_list.setNativePointer(GetControl(L"dw_list"));
+
+ //xaserverarg args;
+ //args.setNativePointer(args.CreateInstance());
+ //args.AddArg(L"type",L"CompanyList");
+ //dw_list.SetDataObject(GetServerUrl(),pref::getPref(L"HumanResource/GetHrObject",args.GetString()));
+ dw_list.openUrl(L"组织架构.vface/template/company/list");
+ dw_list.SetSelectionMode(1);
+ dw_list.SetReadOnly(true);
+
+ OnInitial();
+ OnRetrieve();
+
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/business/Company/CompanyMaint.cpp b/jrj/project/business/Company/CompanyMaint.cpp
index 0ade828..c94f48a 100644
--- a/jrj/project/business/Company/CompanyMaint.cpp
+++ b/jrj/project/business/Company/CompanyMaint.cpp
@@ -1,403 +1,407 @@
-use "win.vl"
-use "treeview.vm"
-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 "dev:vm[pagecontrol.vm]"
-use "maint.vl"
-use "publiccode.vl"
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
-unit vbusiness.xpage
-[
- CompanyMaint is extend maint;
- about CompanyMaint
- [
- control:
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- method:
- [
- pagecontrol__ m_layer;
- xdwtable__ dw_detail;
- xdwtable__ dw_bank;
- string m_operate;
- string m_sguid;
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) CompanyMaint : public xframe
+{
+public:
+ pagecontrol m_layer;
+ xdwtable dw_detail;
+ xdwtable dw_bank;
+ xstring m_operate;
+ xstring m_sguid;
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- int SetAgent()
+ xnode m_agentNode; //Agent Condition
+ xstring m_agentCond; //Agent Node
+public:
+ CompanyMaint(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+ static CompanyMaint* CreateInstance(void* implPtr, void* hWnd)
+ {
+ CompanyMaint* pWin = new CompanyMaint(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(TEvent* evt, LPARAM param)
+ {
+ SetAgent();
+
+ //重置工具条
+ return 1;
+ }
+
+ int OnPreSave()
+ {
+ xdwtable dw = new xdwtable;
+ dw.setNativePointer(dw_detail.FindDwTable(L"CompanyInfo"));
+ xstring sPartyNo = dw.GetItemString(1, L"PartyNo");
+ if (sPartyNo == L"")
+ {
+ xstring sGetNo = publiccode::GetIdentityNo(L"");
+ dw.SetItemString(1, L"PartyNo", sGetNo);
+ //alert(L"公司编号为空!");
+ //return -1;
+ }
+ xstring sPartyName = dw.GetItemString(1, L"Name");
+ if (sPartyName == L"")
+ {
+ alert(L"公司名称为空!");
+ return -1;
+ }
+
+ xstring suserid = publiccode::GetUser().id;
+ xstring sdate = publiccode::GetCurrentDate();
+ dw.SetItemString(1, L"ModifierID", suserid);
+ dw.SetItemString(1, L"ModifyDate", sdate);
+
+ dw.setNativePointer(dw_bank.FindDwTable(L"item", 0));
+ if (dw)
+ {
+ xstring sno;
+ xstring sname;
+ xstring status;
+
+ int i;
+ int row = dw.GetRowCount();
+ for (i = 1; i <= row; i++)
+ {
+ status = dw.GetItemString(i, L"Status") + L"";
+ if (status == L"")
{
- string xfNodeAgentArea = "agentarea";
- xnode__ anode = new xnode__;
- anode.setNativePointer(GetAgentNode(xfNodeAgentArea));
- var xframeElement = GetElement();
- var agent = xframeElement.selectSingleNode("agent/" + xfNodeAgentArea + "[1]/*");
- if (agent)
+ dw.SetItemString(i, L"Status", L"Y");
+ //alert(L"第"+i.toString()+L"行状态为空");
+ //return -1;
+ }
+ /*
+ sno=dw.GetItemString(i,L"BankAccountNo",0)+L"";
+ sname=dw.GetItemString(i,L"BankName",0)+L"";
+ status=dw.GetItemString(i,L"Status",0)+L"";
+ if (sno==L"" || sno==nil)
+ {
+ if(sname !=L"" && sname != nil)
{
- string s = agent.xml;
- SetAgentNodeContent(anode, s);
+ alert(L"第"+i.toString()+L"行银行编号为空");
+ return -1;
}
- return 1;
}
- //焦点激活处理函数
- int OnSetFocus(ref TEvent evt, int param)
+ if (sname==L"" || sname==nil)
{
- SetAgent();
-
- //重置工具条
- return 1;
- }
-
- int OnPreSave()
- {
- xdwtable__ dw = new xdwtable__;
- dw.setNativePointer(dw_detail.FindDwTable("CompanyInfo", 0));
- string sPartyNo = dw.GetItemString(1, "PartyNo", 0);
- if (sPartyNo == "" || sPartyNo == nil)
+ if(sno !=L"" && sno != nil)
{
- string sGetNo = publiccode::GetIdentityNo("");
- dw.SetItemString(1, "PartyNo", sGetNo);
- //alert("公司编号为空!");
+ alert(L"第"+i.toString()+L"行银行名称为空");
+ return -1;
+ }
+ }
+ else
+ {
+ if (status==L"" || status==nil)
+ {
+ dw.SetItemString(i,L"Status",L"Y");
+ //alert(L"第"+i.toString()+L"行状态为空");
//return -1;
}
- string sPartyName = dw.GetItemString(1, "Name", 0);
- if (sPartyName == "" || sPartyName == nil)
- {
- alert("公司名称为空!");
- return -1;
- }
-
- string suserid = publiccode::GetUserInfo().id;
- string sdate = publiccode::GetCurDate();
- dw.SetItemString(1, "ModifierID", suserid);
- dw.SetItemString(1, "ModifyDate", sdate);
-
- dw.setNativePointer(dw_bank.FindDwTable("item", 0));
- if (dw)
- {
- string sno;
- string sname,
- string status;
- int i;
- int row = dw.GetRowCount();
- for (i = 1; i <= row; i++)
- {
- status = dw.GetItemString(i, "Status", 0) + "";
- if (status == "" || status == nil)
- {
- dw.SetItemString(i, "Status", "Y");
- //alert("第"+i.toString()+"行状态为空");
- //return -1;
- }
- /*
- sno=dw.GetItemString(i,"BankAccountNo",0)+"";
- sname=dw.GetItemString(i,"BankName",0)+"";
- status=dw.GetItemString(i,"Status",0)+"";
- if (sno=="" || sno==nil)
- {
- if(sname !="" && sname != nil)
- {
- alert("第"+i.toString()+"行银行编号为空");
- return -1;
- }
- }
-
- if (sname=="" || sname==nil)
- {
- if(sno !="" && sno != nil)
- {
- alert("第"+i.toString()+"行银行名称为空");
- return -1;
- }
- }
- else
- {
- if (status=="" || status==nil)
- {
- dw.SetItemString(i,"Status","Y");
- //alert("第"+i.toString()+"行状态为空");
- //return -1;
- }
- }
- */
- }
- }
- return 1;
}
+ */
+ }
+ }
+ return 1;
+ }
- int OnSave()
- {
- dw_detail.AcceptText();
- dw_bank.AcceptText();
- int rec;
- rec = OnPreSave();
- if (rec == -1)
- return -1;
+ int OnSave()
+ {
+ dw_detail.AcceptText();
+ dw_bank.AcceptText();
+ int rec;
+ rec = OnPreSave();
+ if (rec == -1)
+ return -1;
- int hIcon = xutil__::SetCursorWait();
+ HCURSOR hIcon = xutil::SetCursorWait();
+
+ xstring val, val2;
+ xml x;
- string val, val2;
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- var xdoc = x.GetXmlDoc();
- dw_detail.DwUpdateAllTo(xdoc);
- //val = xdoc.xml ;
- dw_bank.DwUpdateAllTo(xdoc);
- val = xdoc.xml;
- trace(val);
- xaserverarg__ args = new xaserverarg__;
- args.setNativePointer(args.CreateInstance());
- args.AddArg("content", val);
- args.AddArg("dbmap", "CompanyInfo.dbmap");
- //trace(m_EntityValueEx);
- xml__ x1 = new xml__;
- x1.setNativePointer(x1.CreateInstance());
- if (url::post("OrganizationStruct/update.companyinfoex", args.GetString(), x1) != 1)
- //if (xaserver__::ExecXAction("","[update.CompanyInfoEx.xa]",args.GetString(),x1) !=1)
- {
- string error = x1.GetXmlDoc().text;
- trace(error);
- }
- else
- {
- trace(x1.GetXml());
- if (x1.GetXmlDoc().selectSingleNode("error"))
- {
- alert("保存出错2!");
- return 0;
- }
- win__::MessageBox(GetHWND(), "保存成功!", "提示", 0);
- }
- xutil__::RestoreCursor(hIcon);
- dw_detail.ResetUpdateStatus();
- dw_bank.ResetUpdateStatus();
- var xdoc2 = x.GetXmlDoc();
- dw_detail.DwUpdateAllTo(xdoc2);
- val = xdoc.xml;
- trace(val);
- return 1;
- }
+ var xdoc = x;
+ dw_detail.DwUpdateAllTo(xdoc);
+ //val = xdoc.xml ;
+ dw_bank.DwUpdateAllTo(xdoc);
+ val = xdoc.xml;
+ trace(val);
+ xaserverarg args;
+ args.setNativePointer(args.CreateInstance());
+ args.AddArg(L"content", val);
+ args.AddArg(L"dbmap", L"CompanyInfo.dbmap");
+ //trace(m_EntityValueEx);
+ xml x1;
+
+ if (xurl::post(L"OrganizationStruct/update.companyinfoex", args.GetString(), x1) != 1)
+ //if (xaserver::ExecXAction(L"",L"[update.CompanyInfoEx.xa]",args.GetString(),x1) !=1)
+ {
+ xstring error = x1.text();
+ trace(error);
+ }
+ else
+ {
+ trace(x1.xml());
+ if (x1.selectSingleNode(L"error"))
+ {
+ alert(L"保存出错2!");
+ return 0;
+ }
+ MessageBox(GetHWND(), L"保存成功!", L"提示", 0);
+ }
+ xutil::RestoreCursor(hIcon);
+ dw_detail.ResetUpdateStatus();
+ dw_bank.ResetUpdateStatus();
+ var xdoc2 = x;
+ dw_detail.DwUpdateAllTo(xdoc2);
+ val = xdoc.xml;
+ trace(val);
+ return 1;
+ }
- int OnItemChanged(ref TNotifyEvent evt, int p)
- {
- ref DWNMHDR dwhdr = evt.pnmh;
- int row = dwhdr.row;
- string col = dwhdr.colname;
- string data = dwhdr.data;
- if (col == "Name")
- {
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("Name", data);
- }
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& dwhdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = dwhdr.row;
+ xstring col = dwhdr.colname;
+ xstring data = dwhdr.data;
+ if (col == L"Name")
+ {
+ xml x;
- return 1;
- }
+ xaserverarg arg;
- int OnChildContent(ref TNotifyEvent evt, int p)
- {
- ref DWNMHDR dwhdr = evt.pnmh;
- string col = dwhdr.colname;
- if (col != "") {
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- string query;
- query = "[IResourceMSSql.xq]";
- if (col == "TradeType") {
- arg.AddArg("ResourceType", "TradeType");//贸易方式
- }
- if (xaserver__::ExecXQuery(GetServerUrl(), query, arg.GetString(), x) == 1)
- dwhdr.data = x.GetXml();
- //trace(x.GetXml());
- }
- return 1;
- }
+ arg.AddArg(L"Name", data);
+ }
- int OnAddRow()
- {
- int h = m_layer.GetSheetIndex();
- if (h == 1)
- {
- xdwtable__ dw = new xdwtable__;
- dw.setNativePointer(dw_bank.GetCurTable());
- string dw_n = dw.GetDwName();
- if (dw_n == "item")
- {
- int row = dw.InsertRow(0);
- dw.SetItemString(row, "Status", "Y");
- }
- }
- return 1;
- }
+ return 1;
+ }
- int OnInsertRow()
- {
- int h = m_layer.GetSheetIndex();
- if (h == 1)
- {
- xdwtable__ dw = new xdwtable__;
- dw.setNativePointer(dw_bank.GetCurTable());
- string dw_n = dw.GetDwName();
- if (dw_n == "item")
- {
- int row = dw.GetRow();
- int crow = dw.InsertRow(row);
- dw.SetItemString(crow, "Status", "Y");
- }
- }
- return 1;
- }
+ int OnChildContent(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& dwhdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring col = dwhdr.colname;
+ if (col != L"") {
+ xml x;
- int OnDeleteRow()
- {
- int h = m_layer.GetSheetIndex();
- if (h == 1)
- {
- xdwtable__ dw = new xdwtable__;
- dw.setNativePointer(dw_bank.GetCurTable());
- string dw_n = dw.GetDwName();
- if (dw_n == "item")
- {
- int row = dw.GetRow();
- dw.DeleteRow(row);
- }
- }
- return 1;
- }
+ xaserverarg arg;
- //命令发布函数
- int OnCmdDispatch(string comdid)
- {
- if (comdid == "Save") OnSave();
- else if (comdid == "AddRow") OnAddRow();
- else if (comdid == "InsertRow") OnInsertRow();
- else if (comdid == "DeleteRow") OnDeleteRow();
- return 0;
- }
+ xstring query;
+ query = L"[IResourceMSSql.xq]";
+ if (col == L"TradeType") {
+ arg.AddArg(L"ResourceType", L"TradeType");//贸易方式
+ }
+ if (xaserver::ExecXQuery(GetServerUrl(), query, arg.GetString(), x) == 1)
+ dwhdr.data = x.xml();
+ //trace(x.GetXml());
+ }
+ return 1;
+ }
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt, int param)
- {
- return OnCmdDispatch(evt.pStrID);
- }
+ int OnAddRow()
+ {
+ int h = m_layer.GetSheetIndex();
+ if (h == 1)
+ {
+ xdwtable dw = new xdwtable;
+ dw.setNativePointer(dw_bank.GetCurTable());
+ xstring dw_n = dw.GetDwName();
+ if (dw_n == L"item")
+ {
+ int row = dw.InsertRow(0);
+ dw.SetItemString(row, L"Status", L"Y");
+ }
+ }
+ return 1;
+ }
- int OnAttachEvent()
- {
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND", OnXCommand);
- //获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
- //下拉框 提供内容
- AttachEvent("dw_detail", "DWV_CHILDCONTENT", OnChildContent);
- AttachEvent("dw_detail", "DWV_ITEMCHANGED", OnItemChanged);
- }
+ int OnInsertRow()
+ {
+ int h = m_layer.GetSheetIndex();
+ if (h == 1)
+ {
+ xdwtable dw = new xdwtable;
+ dw.setNativePointer(dw_bank.GetCurTable());
+ xstring dw_n = dw.GetDwName();
+ if (dw_n == L"item")
+ {
+ int row = dw.GetRow();
+ int crow = dw.InsertRow(row);
+ dw.SetItemString(crow, L"Status", L"Y");
+ }
+ }
+ return 1;
+ }
- int OnRetrieve()
- {
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("guid", m_sguid);
- //trace(m_sguid);
- //if (url::get("OrganizationStruct/detail.CompanyInfo",arg.GetString(),x) != 1)
- if (url::post("OrganizationStruct/detail.CompanyInfo", arg.GetString(), x) != 1)
- {
- trace(x.GetXmlDoc().text);
- return -1;
- }
- else
- {
- dw_detail.Retrieve(x);
- dw_detail.Redraw();
- dw_bank.Retrieve(x);
- dw_bank.Redraw();
- //trace(x.GetXml());
- }
+ int OnDeleteRow()
+ {
+ int h = m_layer.GetSheetIndex();
+ if (h == 1)
+ {
+ xdwtable dw = new xdwtable;
+ dw.setNativePointer(dw_bank.GetCurTable());
+ xstring dw_n = dw.GetDwName();
+ if (dw_n == L"item")
+ {
+ int row = dw.GetRow();
+ dw.DeleteRow(row);
+ }
+ }
+ return 1;
+ }
- return 1;
- }
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"Save") OnSave();
+ else if (comdid == L"AddRow") OnAddRow();
+ else if (comdid == L"InsertRow") OnInsertRow();
+ else if (comdid == L"DeleteRow") OnDeleteRow();
+ return 0;
+ }
- int OnInitial()
- {
- SetAgent();
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg = this.GetParam();
- if (arg)
- {
- m_operate = arg.GetArgString("operate");
- m_sguid = arg.GetArgString("guid");
- }
- /*if ( m_sguid == "" || m_sguid == nil)
- {
- m_sguid = win__::GetGuid();
- trace(m_sguid);
- }*/
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&CompanyMaint::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&CompanyMaint::OnSetFocus);
+ //下拉框 提供内容
+ AttachEvent(L"dw_detail", L"DWV_CHILDCONTENT", (FEvent)&CompanyMaint::OnChildContent);
+ AttachEvent(L"dw_detail", L"DWV_ITEMCHANGED", (FEvent)&CompanyMaint::OnItemChanged);
+ return 1;
+ }
- OnAttachEvent();
+ int OnRetrieve()
+ {
+ xml x;
- return 1;
- }
+ xaserverarg arg;
- int onload()
- {
- m_layer = new pagecontrol__;
- m_layer.setNativePointer(this.GetControl("cTab"));
+ arg.AddArg(L"guid", m_sguid);
+ //trace(m_sguid);
+ //if (xurl::get(L"OrganizationStruct/detail.CompanyInfo",arg.GetString(),x) != 1)
+ if (xurl::post(L"OrganizationStruct/detail.CompanyInfo", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_detail.Retrieve(x);
+ dw_detail.Redraw();
+ dw_bank.Retrieve(x);
+ dw_bank.Redraw();
+ //trace(x.GetXml());
+ }
- dw_detail = new xdwtable__;
- dw_detail.setNativePointer(this.GetControl("dw_detail"));
- dw_detail.openUrl("组织架构.vface/template/company/detail");
- dw_detail.SetColHeaderHeight(0);
- dw_detail.SetRowSelectorWidth(0);
- dw_bank = new xdwtable__;
- dw_bank.setNativePointer(this.GetControl("dw_bank"));
- dw_bank.openUrl("组织架构.vface/template/company/bank");
+ return 1;
+ }
- OnInitial();
- if (m_sguid != "") {
- OnRetrieve();
- }
- else {
- xdwtable__ dw = new xdwtable__;
- dw.setNativePointer(dw_detail.FindDwTable("CompanyInfo", 0));
- dw.SetItemString(1, "Status", "1");
- dw.SetItemString(1, "InternalFlag", "Y");
- dw.SetItemString(1, "Type", "0");
- string suserid = publiccode::GetUserInfo().id;
- /*string susername = publiccode::GetUserInfo().name;
- string sdate = publiccode::GetCurDate();
- dw.SetItemString(1,"CreatorID",suserid);
- dw.SetItemDisplayString(1,"CreatorID",susername);
- dw.SetItemString(1,"CreateDate",sdate);*/
+ int OnInitial()
+ {
+ SetArg();
+ SetAgent();
+ xaserverarg arg;
+ arg = GetArg();
+ if (arg)
+ {
+ m_operate = arg.GetArgString(L"operate");
+ m_sguid = arg.GetArgString(L"guid");
+ }
+ /*if ( m_sguid == L"" || m_sguid == nil)
+ {
+ m_sguid = win::GetGuid();
+ trace(m_sguid);
+ }*/
- dw.setNativePointer(dw_detail.FindDwTable("address", 0));
- dw.SetItemString(1, "IdentifyAddressFlag", "Y");
- dw.SetItemString(1, "Status", "1");
- dw.setNativePointer(dw_detail.FindDwTable("Regist", 0));
- dw.SetItemString(1, "IdentifyAddressFlag", "N");
- dw.SetItemString(1, "Status", "1");
+ OnAttachEvent();
- dw.setNativePointer(dw_bank.FindDwTable("item", 0));
- if (dw) {
- //msxml::IXMLDOMElement ele = dw.GetElement();
- //trace(ele.xml);
- //dw.SetItemString(1,"Status","Y");
- }
- }
- return 1;
- }
+ return 1;
+ }
- ]
+ int onload()
+ {
+ m_layer = new pagecontrol;
+ m_layer.setNativePointer(GetControl(L"cTab"));
- ]
-]
\ No newline at end of file
+ dw_detail = new xdwtable;
+ dw_detail.setNativePointer(GetControl(L"dw_detail"));
+ dw_detail.openUrl(L"组织架构.vface/template/company/detail");
+ dw_detail.SetColHeaderHeight(0);
+ dw_detail.SetRowSelectorWidth(0);
+ dw_bank = new xdwtable;
+ dw_bank.setNativePointer(GetControl(L"dw_bank"));
+ dw_bank.openUrl(L"组织架构.vface/template/company/bank");
+
+ OnInitial();
+ if (m_sguid != L"") {
+ OnRetrieve();
+ }
+ else {
+ xdwtable dw = new xdwtable;
+ dw.setNativePointer(dw_detail.FindDwTable(L"CompanyInfo", 0));
+ dw.SetItemString(1, L"Status", L"1");
+ dw.SetItemString(1, L"InternalFlag", L"Y");
+ dw.SetItemString(1, L"Type", L"0");
+ xstring suserid = publiccode::GetUser().id;
+ /*xstring susername = publiccode::GetUserInfo().name;
+ xstring sdate = publiccode::GetCurDate();
+ dw.SetItemString(1,L"CreatorID",suserid);
+ dw.SetItemDisplayString(1,L"CreatorID",susername);
+ dw.SetItemString(1,L"CreateDate",sdate);*/
+
+ dw.setNativePointer(dw_detail.FindDwTable(L"address", 0));
+ dw.SetItemString(1, L"IdentifyAddressFlag", L"Y");
+ dw.SetItemString(1, L"Status", L"1");
+ dw.setNativePointer(dw_detail.FindDwTable(L"Regist", 0));
+ dw.SetItemString(1, L"IdentifyAddressFlag", L"N");
+ dw.SetItemString(1, L"Status", L"1");
+
+ dw.setNativePointer(dw_bank.FindDwTable(L"item", 0));
+ if (dw) {
+ //KXMLDOMElement ele = dw.GetElement();
+ //trace(ele.xml);
+ //dw.SetItemString(1,L"Status",L"Y");
+ }
+ }
+ return 1;
+ }
+
+};
\ No newline at end of file
diff --git a/jrj/project/business/Company/HRPerson.cpp b/jrj/project/business/Company/HRPerson.cpp
index 7b3e668..4e9eee8 100644
--- a/jrj/project/business/Company/HRPerson.cpp
+++ b/jrj/project/business/Company/HRPerson.cpp
@@ -1,275 +1,281 @@
-use "win.vl"
-use "dev:vm[xdwgrid.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"
-//unit vclient.vobject tpp
-unit vbusiness.xpage
-[
- HrPerson is extend frame;
- about HrPerson
- [
- control:
-
- method:
- [
- xdwgrid__ dw_list;
- xdwgrid__ dw_HrEmployee;
- string m_sTxt;
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- int SetAgent()
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrPerson : public xframe
+{
+public:
+ xdwgrid dw_list;
+ xdwgrid dw_HrEmployee;
+ xstring m_sTxt;
+
+ xnode m_agentNode; //Agent Condition
+ xstring m_agentCond; //Agent Node
+public:
+ HrPerson(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+ static HrPerson* CreateInstance(void* implPtr, void* hWnd)
+ {
+ HrPerson* pWin = new HrPerson(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)
{
- 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;
+ xstring s = agent.xml();
+ m_agentNode = SetAgentNode(anode, s);
}
+ }
+ return 1;
+ }
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ SetAgent();
- //焦点激活处理函数
- int OnSetFocus(ref TEvent evt,int p)
- {
- SetAgent();
+ //重置工具条
+ return 1;
+ }
- //重置工具条
- return 1;
- }
+ //xgridex双击
+ int OnDoubleClicked(TEvent* evt, int p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ if (row < 1 || row > dw_list.GetRowCount())
+ return 1;
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ xstring sguid = e.selectSingleNode(L"@guid").text();
+ xaserverarg& arg = *new xaserverarg;
- //xgridex双击
- int OnDoubleClicked(ref TNotifyEvent evt,int p)
- {
- ref DWNMHDR hdr = evt.pnmh;
- int row = hdr.row;
- if(row < 1 || row > dw_list.GetRowCount())
- return 1;
- msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
- string sguid = e.SelectSingleNode("@guid").text;
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("operate","modify");
- arg.AddArg("guid",sguid);
- //trace(sguid);
- //xwin::OpenWindow("dev:xpage[HrPersonMaint.xpage]",arg);
- openUrl("组织架构.vface/xpage/Hr/HrPersonMaint", arg);
- return 1;
- }
- //行改变
- int OnRowFocusChanged(ref TNotifyEvent evt,int p)
- {
- ref DWNMHDR hdr = evt.pnmh;
- int row = hdr.row;
- if(row < 1 || row > dw_list.GetRowCount())
- return 1;
- msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
- string sPersonID = e.SelectSingleNode("@guid").text;
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("guid",sPersonID);
-
- if (url::get("OrganizationStruct/Person.HrEmployee",arg.GetString(),x) != 1)
- {
- trace(x.GetXmlDoc().text);
- return -1;
- }else
- {
- dw_HrEmployee.Retrieve(x);
- dw_HrEmployee.Redraw();
- }
-
- return 1;
- }
+ arg.AddArg(L"operate", L"modify");
+ arg.AddArg(L"guid", sguid);
+ //trace(sguid);
+ //xwin::OpenWindow(L"dev:xpage[HrPersonMaint.xpage]",arg);
+ openUrl(L"组织架构.vface/xpage/Hr/HrPersonMaint", &arg);
+ return 1;
+ }
+ //行改变
+ int OnRowFocusChanged(TEvent* evt, int p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ if (row < 1 || row > dw_list.GetRowCount())
+ return 1;
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ xstring sPersonID = e.selectSingleNode(L"@guid").text();
+ xml x;
- int OnRetrieve()
- {
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("sTxt",m_sTxt);
- if (url::get("OrganizationStruct/list.HrPerson",arg.GetString(),x) != 1)
- {
- trace(x.GetXmlDoc().text);
- return -1;
- }
- else
- {
- dw_list.Retrieve(x);
- dw_list.Redraw();
- }
+ xaserverarg arg;
+
+ arg.AddArg(L"guid", sPersonID);
+
+ if (xurl::get(L"OrganizationStruct/Person.HrEmployee", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_HrEmployee.Retrieve(x);
+ dw_HrEmployee.Redraw();
+ }
+
+ return 1;
+ }
+
+ int OnRetrieve()
+ {
+ xml x;
+
+ xaserverarg arg;
+
+ arg.AddArg(L"sTxt", m_sTxt);
+ if (xurl::get(L"OrganizationStruct/list.HrPerson", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
// if (dw_list.GetRowCount() >0)
// OnRowFocusChanged();
- dw_list.SetReadOnly(true);
- return 1;
- }
+ dw_list.SetReadOnly(true);
+ return 1;
+ }
- int OnSearch()
- {
- control__ xc = new control__;
- xc.setNativePointer(this.GetControl("QueryTxt"));
- m_sTxt= xc.GetText();
- OnRetrieve();
- return 1;
- }
+ int OnSearch()
+ {
+ control xc = new control;
+ xc.setNativePointer(GetControl(L"QueryTxt"));
+ m_sTxt = xc.GetText();
+ OnRetrieve();
+ return 1;
+ }
- int OnUpdateAssignmentView()
+ int OnUpdateAssignmentView()
+ {
+ xml x1;
+ if (xurl::post(L"OrganizationStruct/update.Assignmentview", L"", x1) != 1)
+ {
+ xstring error = x1.text();
+ trace(error);
+ return 1;
+ }
+ else
+ {
+ trace(x1.xml());
+ MessageBox(GetHWND(), L"更新成功!", L"提示", 0);
+ }
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ xaserverarg& arg = *new xaserverarg;
+
+ KXMLDOMElement e;
+ xstring sPersonID;
+ xstring sName;
+ if (comdid == L"AddPerson")
+ {
+ arg.AddArg(L"operate", L"new0");
+ arg.AddArg(L"guid", L"");
+ openUrl(L"组织架构.vface/xpage/Hr/HrPersonMaint", &arg);
+ }
+ else if (comdid == L"UpdateAssignmentView")
+ OnUpdateAssignmentView();
+ else if (comdid == L"ModifyPerson")
+ {
+ int row = dw_list.GetNextSelectRow(1);
+ if (row < 1)
{
- xml__ x1 = new xml__;
- x1.setNativePointer(x1.CreateInstance());
- if (url::post("OrganizationStruct/update.Assignmentview","",x1) != 1)
+ row = dw_list.GetRow();
+ if (row < 1)
{
- string error = x1.GetXmlDoc().text;
- trace(error);
- return 1;
- }
- else
- {
- trace(x1.GetXml());
- win__::MessageBox(GetHWND(),"更新成功!","提示",0);
+ MessageBox(GetHWND(), L"请选中要修改的人员行!", L"提示", 0);
+ return -1;
}
- return 1;
}
-
- //命令发布函数
- int OnCmdDispatch(string comdid)
+ e = dw_list.GetRowElement(row);
+ sPersonID = e.selectSingleNode(L"@guid").text();
+ arg.AddArg(L"operate", L"modify");
+ arg.AddArg(L"guid", sPersonID);
+ openUrl(L"组织架构.vface/xpage/Hr/HrPersonMaint", &arg);
+ }
+ else if (comdid == L"DeletePerson")
+ {
+ int row = dw_list.GetNextSelectRow(1);
+ if (row < 1)
{
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- msxml::IXMLDOMElement e;
- string sPersonID;
- string sName;
- if (comdid =="AddPerson")
+ row = dw_list.GetRow();
+ if (row < 1)
{
- arg.AddArg("operate","new0");
- arg.AddArg("guid","");
- openUrl("组织架构.vface/xpage/Hr/HrPersonMaint", arg);
+ MessageBox(GetHWND(), L"请选中要删除的人员行!", L"提示", 0);
+ return -1;
}
- else if(comdid=="UpdateAssignmentView")
- OnUpdateAssignmentView();
- else if (comdid =="ModifyPerson")
- {
- int row = dw_list.GetNextSelectRow(1);
- if (row < 1)
- {
- row = dw_list.GetRow();
- if (row < 1)
- {
- win__::MessageBox(GetHWND(),"请选中要修改的人员行!","提示",0);
- return -1;
- }
- }
- e = dw_list.GetRowElement(row);
- sPersonID = e.SelectSingleNode("@guid").text;
- arg.AddArg("operate","modify");
- arg.AddArg("guid",sPersonID);
- openUrl("组织架构.vface/xpage/Hr/HrPersonMaint", arg);
- }
- else if (comdid =="DeletePerson")
- {
- int row = dw_list.GetNextSelectRow(1);
- if (row < 1)
- {
- row = dw_list.GetRow();
- if (row < 1)
- {
- win__::MessageBox(GetHWND(),"请选中要删除的人员行!","提示",0);
- return -1;
- }
- }
-
- e = dw_list.GetRowElement(row);
- sPersonID = e.SelectSingleNode("@guid").text;
- sName = e.selectSingleNode("Name").text;
- sName += "";
- int MB_YESNO = 0x00000004;
- int IDYES = 6;
- if(win__::MessageBox(GetHWND(),"确认要删除 "+sName+" 的信息吗?","提示",MB_YESNO)!=IDYES) return 1;
-
-
- arg.AddArg("guid",sPersonID);
-
-
- xml__ x1 = new xml__;
- x1.setNativePointer(x1.CreateInstance());
- if (url::post("OrganizationStruct/delete.HrPerson",arg.GetString(),x1) != 1)
- {
- string error = x1.GetXmlDoc().text;
- trace(error);
- }
- else
- {
- //win32::MessageBox(GetHWND(),"删除成功!","提示",0);
- dw_list.DeleteRow(row);
- }
- }
- else if (comdid =="Refresh")
- {
- OnRetrieve();
- }
- else if (comdid =="search" || comdid=="query")
- {
- OnSearch();
- }
- return 0;
}
-
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt,int param)
+
+ e = dw_list.GetRowElement(row);
+ sPersonID = e.selectSingleNode(L"@guid").text();
+ sName = e.selectSingleNode(L"Name").text();
+ sName += L"";
+ int MB_YESNO = 0x00000004;
+ int IDYES = 6;
+ if (MessageBox(GetHWND(), L"确认要删除 " + sName + L" 的信息吗?", L"提示", MB_YESNO) != IDYES) return 1;
+
+
+ arg.AddArg(L"guid", sPersonID);
+
+
+ xml x1;
+
+ if (xurl::post(L"OrganizationStruct/delete.HrPerson", arg.GetString(), x1) != 1)
{
- return OnCmdDispatch(evt.pStrID);
+ xstring error = x1.text();
+ trace(error);
}
-
- int OnAttachEvent()
+ else
{
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND",OnXCommand);
- //获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS",OnSetFocus);
- AttachEvent("dw_list","DWV_CLICKED",OnRowFocusChanged);
- AttachEvent("dw_list","DWV_DOUBLECLICKED",OnDoubleClicked);
+ //win32::MessageBox(GetHWND(),L"删除成功!",L"提示",0);
+ dw_list.DeleteRow(row);
}
+ }
+ else if (comdid == L"Refresh")
+ {
+ OnRetrieve();
+ }
+ else if (comdid == L"search" || comdid == L"query")
+ {
+ OnSearch();
+ }
+ return 0;
+ }
- int OnInitial()
- {
- SetAgent();
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
- OnAttachEvent();
-
- return 1;
- }
-
- int onload()
- {
- m_sTxt="";
- dw_list = new xdwgrid__;
- dw_list.setNativePointer(this.GetControl("dw_list"));
- dw_list.openUrl("组织架构.vface/template/HrPerson/list");
- dw_list.SetReadOnly(true);
- dw_list.SetSelectionMode(1);
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&HrPerson::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrPerson::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_CLICKED", (FEvent)&HrPerson::OnRowFocusChanged);
+ AttachEvent(L"dw_list", L"DWV_DOUBLECLICKED", (FEvent)&HrPerson::OnDoubleClicked);
+ return 1;
+ }
- dw_HrEmployee = new xdwgrid__;
- dw_HrEmployee.setNativePointer(this.GetControl("dw_HrEmployee"));
- dw_HrEmployee.openUrl("组织架构.vface/template/HrPerson/listemp");
- //dw_HrEmployee.openUrl("组织架构.vface/template/HrEmployee/list");
- OnInitial();
+ int OnInitial()
+ {
+ SetAgent();
- OnRetrieve();
-
- return 1;
- }
- ]
-
- ]
-]
\ No newline at end of file
+ OnAttachEvent();
+
+ return 1;
+ }
+
+ int onload()
+ {
+ m_sTxt = L"";
+ dw_list = new xdwgrid;
+ dw_list.setNativePointer(GetControl(L"dw_list"));
+ dw_list.openUrl(L"组织架构.vface/template/HrPerson/list");
+ dw_list.SetReadOnly(true);
+ dw_list.SetSelectionMode(1);
+
+ dw_HrEmployee = new xdwgrid;
+ dw_HrEmployee.setNativePointer(GetControl(L"dw_HrEmployee"));
+ dw_HrEmployee.openUrl(L"组织架构.vface/template/HrPerson/listemp");
+ //dw_HrEmployee.openUrl(L"组织架构.vface/template/HrEmployee/list");
+ OnInitial();
+
+ OnRetrieve();
+
+ return 1;
+ }
+};
\ No newline at end of file
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
diff --git a/jrj/project/business/Company/HrEmployeeAdd.cpp b/jrj/project/business/Company/HrEmployeeAdd.cpp
index 32d7ae0..904dfff 100644
--- a/jrj/project/business/Company/HrEmployeeAdd.cpp
+++ b/jrj/project/business/Company/HrEmployeeAdd.cpp
@@ -1,51 +1,53 @@
-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:
- [
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrEmployeeAdd : public xframe
+{
+public:
HrEmployee lw_obj;
- xdwgrid__ dw_list;
+ xdwgrid dw_list;
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- string m_sTxt;
- ]
-
- 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)
+ int OnSetFocus(TEvent* evt, LPARAM param)
{
SetAgent();
//重置工具条
@@ -54,17 +56,17 @@
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)
+ control xc = new control;
+ xc.setNativePointer(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.GetXmlDoc().text);
+ trace(x.text());
return -1;
}
else
@@ -90,50 +92,50 @@
int row = dw_list.GetNextSelectRow(1);
if (row < 1)
{
- alert("请选择人员!");
+ alert(L"请选择人员!");
return 1;
}
- string sPositionID, sPositionName;
- string sOrgID, sOrgName;
- string sJobID, sJobName;
+ xstring sPositionID, sPositionName;
+ xstring sOrgID, sOrgName;
+ xstring sJobID, sJobName;
int wid = lw_obj.tv_org.GetId();
- int hitem = treeview__::GetSelectedItem(wid);
- msxml::IXMLDOMElement ele = treeview__::GetItemData(wid, hitem);
+ int hitem = treeview::GetSelectedItem(wid);
+ KXMLDOMElement 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;
+ 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 + "";
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ xstring sEmployeeNo = e.selectSingleNode(L"EmployeeNo").text + L"";
+ xstring sPersonID = e.selectSingleNode(L"PersonID").text + L"";
+ xstring sPersonName = e.selectSingleNode(L"Name").text + L"";
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);
+ 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::GetCurDate() + L"";
+ lw_obj.dw_emp.SetItemString(nRow, L"StartDate", sdate + L"");
+ lw_obj.dw_emp.SetItemString(nRow, L"EndDate", L"2050-12-31");
row = dw_list.GetNextSelectRow(row + 1);
}
@@ -142,29 +144,30 @@
}
//命令发布函数
- int OnCmdDispatch(string comdid)
+ int OnCmdDispatch(xstring comdid)
{
- if (comdid == "xmOk")
+ if (comdid == L"xmOk")
OnOK();
- else if (comdid == "query")
+ else if (comdid == L"query")
OnRetrieve();
- else if (comdid == "xmCancel")
+ else if (comdid == L"xmCancel")
CloseWindow();
return 0;
}
//命令处理事件
- int OnXCommand(ref TXCommandEvent evt, int param)
+ 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)&HrEmployeeAdd::OnXCommand);
//获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrEmployeeAdd::OnSetFocus);
+ return 1;
}
int OnInitial()
@@ -176,9 +179,9 @@
int onload()
{
- dw_list = new xdwgrid__;
- dw_list.setNativePointer(this.GetControl("dw_list"));
- dw_list.openUrl("组织架构.vface/template/HrEmployee/PersonSel");
+ 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);
diff --git a/jrj/project/business/Company/HrEmployeex.cpp b/jrj/project/business/Company/HrEmployeex.cpp
index 0b1c5ef..38feb04 100644
--- a/jrj/project/business/Company/HrEmployeex.cpp
+++ b/jrj/project/business/Company/HrEmployeex.cpp
@@ -1,47 +1,54 @@
-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
-[
- HrEmployeex is extend list;
- about HrEmployeex
- [
- field:
- [
- treeview__ tv_org;
- xdwtable__ dw_1;
- xnode__ m_agentNode;
- string is_orgid
- string is_orgname;
- string is_inflag;
- xdwtable__ dw_empmaint;
- ]
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.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);
- }
- }
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+
+class __declspec(dllexport) HrEmployeex : public xwin
+{
+public:
+ xtreeview tv_org;
+ xdwtable dw_1;
+ xnode m_agentNode;
+ xstring is_orgid;
+ xstring is_orgname;
+ xstring is_inflag;
+ xdwtable dw_empmaint;
+public:
+ HrEmployeex(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+public:
+ static HrEmployeex* CreateInstance(void* implPtr, void* hWnd)
+ {
+ HrEmployeex* pWin = new HrEmployeex(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();
//重置工具条
@@ -50,60 +57,60 @@
int OnSave()
{
- int hIcon = xutil__::SetCursorWait();
+ HCURSOR hIcon = xutil::SetCursorWait();
- string val;
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- var xdoc = x.GetXmlDoc();
+ xstring val;
+ xml x;
+
+ var xdoc = x;
dw_1.AcceptText();
dw_1.DwUpdateAllTo(xdoc);
val = xdoc.xml;
//trace(val);
//return 1;
- xaserverarg__ args = new xaserverarg__;
- args.setNativePointer(args.CreateInstance());
- args.AddArg("content", val);
- xml__ x1 = new xml__;
- x1.setNativePointer(x1.CreateInstance());
- if (url::post("OrganizationStruct/update.Employee", args.GetString(), x1) != 1)
+ xaserverarg args;
+
+ args.AddArg(L"content", val);
+ xml x1;
+
+ if (xurl::post(L"OrganizationStruct/update.Employee", args.GetString(), x1) != 1)
{
- string error = x1.GetXmlDoc().text;
+ xstring error = x1.text();
trace(error);
}
else
{
- win__::MessageBox(GetHWND(), "保存成功!", "提示", 0);
+ MessageBox(GetHWND(), L"保存成功!", L"提示", 0);
}
- xutil__::RestoreCursor(hIcon);
+ xutil::RestoreCursor(hIcon);
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/detail.Employee", arg.GetString(), x) == 1)
+ //if (xaserver::ExecXQuery(GetServerUrl(),L"[MSSqlHrEmployee.xq]",arg.GetString(),x) == 1)
+ if (xurl::get(L"OrganizationStruct/detail.Employee", arg.GetString(), x) == 1)
{
- dw_1.openUrl("组织架构.vface/template/HrEmployee/detail");
+ dw_1.openUrl(L"组织架构.vface/template/HrEmployee/detail");
dw_1.Retrieve(x);
dw_1.Redraw();
}
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);
- string ls_orgid = ele.SelectSingleNode("@guid").text;
+ //int wid = tv_org.GetId();
+ HTREEITEM hitem = tv_org.GetSelectedItem();
+ KXMLDOMElement ele = tv_org.GetItemData(hitem);
+ xstring ls_orgid = ele.selectSingleNode(L"@guid").text();
is_orgid = ls_orgid;
//trace(is_orgid);
OnRetrieve(ls_orgid);
@@ -112,20 +119,20 @@
int OnAddRow()
{
- xdwtable__ dw = new xdwtable__;
+ xdwtable dw = new xdwtable;
dw.setNativePointer(dw_1.GetCurTable());
- string dw_n = dw.GetDwName();
- if (dw_n == "HrEmployee")
+ xstring dw_n = dw.GetDwName();
+ if (dw_n == L"HrEmployee")
dw.InsertRow(0);
return 1;
}
int OnInsertRow()
{
- xdwtable__ dw = new xdwtable__;
+ xdwtable dw = new xdwtable;
dw.setNativePointer(dw_1.GetCurTable());
- string dw_n = dw.GetDwName();
- if (dw_n == "HrEmployee")
+ xstring dw_n = dw.GetDwName();
+ if (dw_n == L"HrEmployee")
{
int row = dw.GetRow();
dw.InsertRow(row);
@@ -135,10 +142,10 @@
int OnDeleteRow()
{
- xdwtable__ dw = new xdwtable__;
+ xdwtable dw = new xdwtable;
dw.setNativePointer(dw_1.GetCurTable());
- string dw_n = dw.GetDwName();
- if (dw_n == "HrEmployee")
+ xstring dw_n = dw.GetDwName();
+ if (dw_n == L"HrEmployee")
{
int row = dw.GetRow();
dw.DeleteRow(row);
@@ -146,116 +153,119 @@
return 1;
}
- int OnChildContent(ref TNotifyEvent evt, int p) {
- ref DWNMHDR dwhdr = evt.pnmh;
- string col = dwhdr.colname;
- if (col != "") {
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- string query;
- query = "[IResourceMSSql.xq]";
- if (col == "PositionID") {
- arg.AddArg("ResourceType", "HrPosition");
+ int OnChildContent(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& dwhdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring col = dwhdr.colname;
+ if (col != L"") {
+ xml x;
+
+ xaserverarg arg;
+
+ xstring query;
+ query = L"[IResourceMSSql.xq]";
+ if (col == L"PositionID") {
+ arg.AddArg(L"ResourceType", L"HrPosition");
}
- else if (col == "PersonID") {
- arg.AddArg("ResourceType", "HrPerson");
+ else if (col == L"PersonID") {
+ arg.AddArg(L"ResourceType", L"HrPerson");
}
- else if (col == "OrgID") {
- arg.AddArg("ResourceType", "HrOrg");
+ else if (col == L"OrgID") {
+ arg.AddArg(L"ResourceType", L"HrOrg");
}
- else if (col == "JobID") {
- arg.AddArg("ResourceType", "HrJob");
+ else if (col == L"JobID") {
+ arg.AddArg(L"ResourceType", L"HrJob");
}
- if (xaserver__::ExecXQuery(GetServerUrl(), query, arg.GetString(), x) == 1)
- dwhdr.data = x.GetXml();
+ if (xaserver::ExecXQuery(GetServerUrl(), query, arg.GetString(), x) == 1)
+ dwhdr.data = x.xml();
//trace(x.GetXml());
}
return 1;
}
- int OnItemChanged(ref TNotifyEvent evt, int p)
+ int OnItemChanged(TEvent* evt, LPARAM p)
{
- int HCursor = xutil__::SetCursorWait();
+ DWNMHDR& dwhdr = *(DWNMHDR*)evt->notify.pnmh;
+ HCURSOR HCursor = xutil::SetCursorWait();
- ref DWNMHDR dwhdr = evt.pnmh;
+
int row = dwhdr.row;
- string col = dwhdr.colname;
- string data = dwhdr.data;
- trace(row);
- if (col == "PositionID")
+ xstring col = dwhdr.colname;
+ xstring data = dwhdr.data;
+ trace(xstring(row));
+ if (col == L"PositionID")
{
- xdwtable__ dw_HrEmployee = new xdwtable__;
- dw_HrEmployee.setNativePointer(dw_1.FindDwTable("HrEmployee"));
- string sPositionID = dw_HrEmployee.GetItemString(row, "PositionID");
+ xdwtable dw_HrEmployee = new xdwtable;
+ dw_HrEmployee.setNativePointer(dw_1.FindDwTable(L"HrEmployee"));
+ xstring sPositionID = dw_HrEmployee.GetItemString(row, L"PositionID");
- if (sPositionID == "" || sPositionID == nil)
+ if (sPositionID == L"")
return 1;
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("guid", sPositionID);
- arg.AddArg("type", "GetOrgIDJobID");
+ xml x;
+
+ xaserverarg arg;
+
+ arg.AddArg(L"guid", sPositionID);
+ arg.AddArg(L"type", L"GetOrgIDJobID");
//trace(arg.GetString());
- if (url::get("OrganizationStruct/GetOrgIDJobID", arg.GetString(), x) != 1)
+ if (xurl::get(L"OrganizationStruct/GetOrgIDJobID", arg.GetString(), x) != 1)
{
- trace(x.GetXmlDoc().text);
+ trace(x.text());
return -1;
}
else
{
- msxml::IXMLDOMDocument xdoc = x.GetXmlDoc();
- //IXMLDOMNodeList nlist = xdoc.getElementsByTagName("OrgID");
- msxml::IXMLDOMElement e = xdoc.documentElement;
- string sOrgID = e.SelectSingleNode("@OrgID").text;
- string sOrgName = e.SelectSingleNode("@OrgName").text;
- string sJobID = e.SelectSingleNode("@JobID").text;
- string sJobName = e.SelectSingleNode("@JobName").text;
- dw_HrEmployee.SetItemString(row, "OrgID", sOrgID);
- dw_HrEmployee.SetItemDisplayString(row, "OrgID", sOrgName);
- dw_HrEmployee.SetItemString(row, "JobID", sJobID);
- dw_HrEmployee.SetItemDisplayString(row, "JobID", sJobName);
+ KXMLDOMDocument xdoc = x;
+ //IXMLDOMNodeList nlist = xdoc.getElementsByTagName(L"OrgID");
+ KXMLDOMElement e = xdoc.documentElement();
+ xstring sOrgID = e.selectSingleNode(L"@OrgID").text();
+ xstring sOrgName = e.selectSingleNode(L"@OrgName").text();
+ xstring sJobID = e.selectSingleNode(L"@JobID").text();
+ xstring sJobName = e.selectSingleNode(L"@JobName").text();
+ dw_HrEmployee.SetItemString(row, L"OrgID", sOrgID);
+ dw_HrEmployee.SetItemDisplayString(row, L"OrgID", sOrgName);
+ dw_HrEmployee.SetItemString(row, L"JobID", sJobID);
+ dw_HrEmployee.SetItemDisplayString(row, L"JobID", sJobName);
}
}
- xutil__::RestoreCursor(HCursor);
+ xutil::RestoreCursor(HCursor);
return 0;
}
int OnImportData()
{
- openUrl("组织架构.vface/xpage/Hr/HrPersonSel", this);
+ openUrl(L"组织架构.vface/xpage/Hr/HrPersonSel", this);
return 1;
}
//命令发布函数
- int OnCmdDispatch(string comdid)
+ int OnCmdDispatch(xstring comdid)
{
- if (comdid == "AddRow") return OnAddRow();
- else if (comdid == "InsertRow") return OnInsertRow();
- else if (comdid == "DeleteRow") return OnDeleteRow();
- else if (comdid == "Save") return OnSave();
- else if (comdid == "ImportData") return OnImportData();
+ if (comdid == L"AddRow") return OnAddRow();
+ else if (comdid == L"InsertRow") return OnInsertRow();
+ else if (comdid == L"DeleteRow") return OnDeleteRow();
+ else if (comdid == L"Save") return OnSave();
+ else if (comdid == L"ImportData") return OnImportData();
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)&HrEmployeex::OnXCommand);
//获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrEmployeex::OnSetFocus);
//获得树的选择事件
- AttachEvent("tv_org", "TVN_SELCHANGED", OnTreeSelChanged);
+ AttachEvent(L"tv_org", L"TVN_SELCHANGED", (FEvent)&HrEmployeex::OnTreeSelChanged);
//下拉框 提供内容
- AttachEvent("dw_1", "DWV_CHILDCONTENT", OnChildContent);
- AttachEvent("dw_1", "DWV_ITEMCHANGED", OnItemChanged);
+ AttachEvent(L"dw_1", L"DWV_CHILDCONTENT", (FEvent)&HrEmployeex::OnChildContent);
+ AttachEvent(L"dw_1", L"DWV_ITEMCHANGED", (FEvent)&HrEmployeex::OnItemChanged);
+ return 1;
}
int OnInitial()
@@ -268,19 +278,16 @@
int onload()
{
- tv_org = new treeview__;
- tv_org.setNativePointer(this.GetControl("tv_org"));
- dw_1 = new xdwtable__;
- dw_1.setNativePointer(this.GetControl("dw_1"));
- dw_1.openUrl("组织架构.vface/template/HrEmployee/detail");
+ tv_org = new treeview;
+ tv_org.setNativePointer(GetControl(L"tv_org"));
+ dw_1 = new xdwtable;
+ dw_1.setNativePointer(GetControl(L"dw_1"));
+ dw_1.openUrl(L"组织架构.vface/template/HrEmployee/detail");
OnInitial();
- int wid = tv_org.GetId();
- int root = treeview__::GetRootItem(wid);
- treeview__::ExpandItem(wid, root);
+ //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
diff --git a/jrj/project/business/Company/HrJob.cpp b/jrj/project/business/Company/HrJob.cpp
index 4a43c57..08597ef 100644
--- a/jrj/project/business/Company/HrJob.cpp
+++ b/jrj/project/business/Company/HrJob.cpp
@@ -1,49 +1,53 @@
-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"
+#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
-[
- HrJob is extend frame;
- about HrJob
- [
- field:
- [
- treeview__ tv_1;
- xdwgrid__ dw_list;
- string m_type;
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- ]
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrJob : public xframe
+{
+public:
+ xtreeview tv_1;
+ xdwgrid dw_list;
+ xstring m_type;
- 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
+public:
+ HrJob(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+ static HrJob* CreateInstance(void* implPtr, void* hWnd)
+ {
+ HrJob* pWin = new HrJob(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)
+ int OnSetFocus(TEvent* evt, LPARAM param)
{
SetAgent();
@@ -53,42 +57,43 @@
int OnRetrieve()
{
- string query = "[MSSqlHrJob.xq]";
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("type", m_type);
- //if (xaserver__::ExecXQuery(GetServerUrl(),query,arg.GetString(),x)!=1)
- if (url::post("OrganizationStruct/list.Job", arg.GetString(), x) != 1)
+ xstring query = L"[MSSqlHrJob.xq]";
+ xml x;
+
+ xaserverarg arg;
+
+ arg.AddArg(L"type", m_type);
+ //if (xaserver::ExecXQuery(GetServerUrl(),query,arg.GetString(),x)!=1)
+ if (xurl::post(L"OrganizationStruct/list.Job", arg.GetString(), x) != 1)
{
- trace(x.GetXmlDoc().text);
+ trace(x.text());
return -1;
}
else
{
- dw_list.openUrl("组织架构.vface/template/HrJob/list");
+ dw_list.openUrl(L"组织架构.vface/template/HrJob/list");
dw_list.Retrieve(x);
dw_list.Redraw();
}
return 1;
}
- int OnTreeSelChanged(ref TNotifyEvent evt, int p) {
- ref NMTREEVIEW nmtv = evt.pnmh;
- int hItem = nmtv.itemNew.hItem;
+ int OnTreeSelChanged(TEvent* evt, int p)
+ {
+ NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
+ HTREEITEM hItem = nmtv.itemNew.hItem;
- int wid = tv_1.GetId();
- int hItem = treeview__::GetSelectedItem(wid);
- int rootItem = treeview__::GetRootItem(wid);
+ //int wid = tv_1.GetId();
+ HTREEITEM hItem = tv_1.GetSelectedItem();
+ HTREEITEM rootItem = tv_1.GetRootItem();
if (hItem <= 0 || hItem == rootItem)
{
- m_type = "all";
+ m_type = L"all";
}
else
{
- msxml::IXMLDOMElement ele = treeview__::GetItemData(wid, hItem);
- m_type = ele.SelectSingleNode("@name").text;
+ KXMLDOMElement ele = tv_1.GetItemData(hItem);
+ m_type = ele.selectSingleNode(L"@name").text();
}
OnRetrieve();
return 1;
@@ -96,30 +101,30 @@
int OnCreateTree()
{
- int wid = tv_1.GetId();
- xml__ x = new xml__;
- x.setNativePointer(xml__::CreateInstance());
- x.Load("<Type code='0.0' name='all' guid='' />");
- msxml::IXMLDOMElement ele = x.GetXmlDoc().SelectSingleNode("Type");
- int hItem = tv_1.InsertChildItemEx(wid, 0, "工种类型", ele, 15, 4);
+ //int wid = tv_1.GetId();
+ xml x;
+
+ x.loadXML(L"<Type code='0.0' name='all' guid='' />");
+ KXMLDOMElement ele = x.selectSingleNode(L"Type");
+ HTREEITEM hItem = tv_1.InsertChildItemEx(0, L"工种类型", ele, 15, 4);
- if (url::post("/sale/data/OrganizationStruct/type.Job", "", x) != 1)
+ if (xurl::post(L"/sale/data/OrganizationStruct/type.Job", L"", x) != 1)
{
- trace(x.GetXml());
+ trace(x.xml());
return -1;
}
//trace(x.GetXml());
- var list = x.GetXmlDoc().selectNodes("//Type");
+ var list = x.selectNodes(L"//Type");
int i = 0, s = list.length;
- msxml::IXMLDOMElement e;
- string sname;
+ KXMLDOMElement e;
+ xstring sname;
if (s > 0)
{
for (i = 0; i < s; i++)
{
e = list.item(i);
- sname = e.SelectSingleNode("@name").text;
- int curItem = tv_1.InsertChildItemEx(wid, hItem, sname, e, 15, 4);
+ sname = e.selectSingleNode(L"@name").text();
+ HTREEITEM curItem = tv_1.InsertChildItemEx( hItem, sname, e, 15, 4);
}
}
return 1;
@@ -127,60 +132,60 @@
int OnSave()
{
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- dw_list.AcceptText();
- dw_list.DwUpdateAllToEx(x.GetXmlDoc());
+ xml x;
- string xdata = x.GetXml();
- trace(x.GetXml());
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+
+ xstring xdata = x.xml();
+ trace(x.xml());
//return 1;
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("xdata", xdata);
+ xaserverarg arg;
- string xAction = "[MSSqlHrJobUpdate.xa]";
- //if(xaserver__::ExecXAction(GetServerUrl(),xAction,arg.GetString())!=1)
- if (url::post("OrganizationStruct/update.Job", arg.GetString(), x) != 1)
+ arg.AddArg(L"xdata", xdata);
+
+ xstring xAction = L"[MSSqlHrJobUpdate.xa]";
+ //if(xaserver::ExecXAction(GetServerUrl(),xAction,arg.GetString())!=1)
+ if (xurl::post(L"OrganizationStruct/update.Job", arg.GetString(), x) != 1)
{
- trace(x.GetXmlDoc().documentElement.text);
- alert("保存失败");
+ trace(x.documentElement().text());
+ alert(L"保存失败");
}
else {
- alert("保存成功");
+ alert(L"保存成功");
}
return 1;
}
int OnAddRow()
{
- if (m_type == "all")
+ if (m_type == L"all")
{
- alert("请先选择工种类型!");
+ alert(L"请先选择工种类型!");
}
else
{
int row = dw_list.InsertRow(0);
- trace(row.toString());
- dw_list.SetItemString(row, "JobType", m_type);
- dw_list.SetItemString(row, "Status", "Y");
+ trace(xstring(row));
+ dw_list.SetItemString(row, L"JobType", m_type);
+ dw_list.SetItemString(row, L"Status", L"Y");
}
return 1;
}
int OnInsertRow()
{
- if (m_type == "all")
+ if (m_type == L"all")
{
- alert("请先选择工种类型!");
+ alert(L"请先选择工种类型!");
}
else
{
int crow = dw_list.GetRow();
int row = dw_list.InsertRow(crow);
- dw_list.SetItemString(row, "JobType", m_type);
- dw_list.SetItemString(row, "Status", "Y");
+ dw_list.SetItemString(row, L"JobType", m_type);
+ dw_list.SetItemString(row, L"Status", L"Y");
}
return 1;
}
@@ -188,28 +193,28 @@
int OnDeleteRow()
{
int row = dw_list.GetRow();
- msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
- string sguid = e.selectSingleNode("@guid").text;
- string sName = e.selectSingleNode("JobName").text;
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ xstring sguid = e.selectSingleNode(L"@guid").text();
+ xstring sName = e.selectSingleNode(L"JobName").text();
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("guid", sguid);
- if (url::post("OrganizationStruct/used.Job", arg.GetString(), x) != 1)
+ xml x;
+
+ xaserverarg arg;
+
+ arg.AddArg(L"guid", sguid);
+ if (xurl::post(L"OrganizationStruct/used.Job", arg.GetString(), x) != 1)
{
- trace(x.GetXmlDoc().text);
+ trace(x.text());
return -1;
}
else
{
- msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement;
- string snums = ele.SelectSingleNode("@num").text;
+ KXMLDOMElement ele = x.documentElement();
+ xstring snums = ele.selectSingleNode(L"@num").text();
int num = snums.toInt();
if (num != 0)
{
- win__::MessageBox(GetHWND(), "工种 " + sName + " 已启用,禁止删除!", "提示", 0);
+ MessageBox(GetHWND(), L"工种 " + sName + L" 已启用,禁止删除!", L"提示", 0);
return -1;
}
}
@@ -219,38 +224,39 @@
int OnJobType()
{
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("id", "工种类型");
- openUrl("公共设置.vface/worknode/quickcode/config", arg);
+ xaserverarg& arg = *new xaserverarg;
+
+ arg.AddArg(L"id", L"工种类型");
+ openUrl(L"公共设置.vface/worknode/quickcode/config", &arg);
return 1;
}
//命令发布函数
- int OnCmdDispatch(string comdid)
+ int OnCmdDispatch(xstring comdid)
{
- if (comdid == "Save") OnSave();
- else if (comdid == "AddRow") OnAddRow();
- else if (comdid == "InsertRow") OnInsertRow();
- else if (comdid == "DeleteRow") OnDeleteRow();
- else if (comdid == "JobType") OnJobType();
+ if (comdid == L"Save") OnSave();
+ else if (comdid == L"AddRow") OnAddRow();
+ else if (comdid == L"InsertRow") OnInsertRow();
+ else if (comdid == L"DeleteRow") OnDeleteRow();
+ else if (comdid == L"JobType") OnJobType();
return 0;
}
//命令处理事件
- int OnXCommand(ref TXCommandEvent evt, int param)
+ 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)&HrJob::OnXCommand);
//获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrJob::OnSetFocus);
//获得树的选择事件
- AttachEvent("tv_1", "TVN_SELCHANGED", OnTreeSelChanged);
+ AttachEvent(L"tv_1", L"TVN_SELCHANGED", (FEvent)&HrJob::OnTreeSelChanged);
+ return 1;
}
int OnInitial()
@@ -262,23 +268,20 @@
int onload()
{
- m_type = "all";
- tv_1 = new treeview__;
- tv_1.setNativePointer(this.GetControl("tv_1"));
- dw_list = new xdwgrid__;
- dw_list.setNativePointer(this.GetControl("dw_list"));
- dw_list.openUrl("组织架构.vface/template/HrJob/list");
+ m_type = L"all";
+ tv_1 = new treeview;
+ tv_1.setNativePointer(GetControl(L"tv_1"));
+ dw_list = new xdwgrid;
+ dw_list.setNativePointer(GetControl(L"dw_list"));
+ dw_list.openUrl(L"组织架构.vface/template/HrJob/list");
OnInitial();
OnCreateTree();
- int wid = tv_1.GetId();
- int hItem = treeview__::GetRootItem(wid);
- tv_1.ExpandItem(wid, hItem);
+ //int wid = tv_1.GetId();
+ HTREEITEM hItem = tv_1.GetRootItem();
+ tv_1.ExpandItem(hItem);
OnRetrieve();
return 1;
}
- ]
-
- ]
-]
\ No newline at end of file
+};
\ No newline at end of file
diff --git a/jrj/project/business/Company/HrOrg.cpp b/jrj/project/business/Company/HrOrg.cpp
index 0d8a459..4c8234d 100644
--- a/jrj/project/business/Company/HrOrg.cpp
+++ b/jrj/project/business/Company/HrOrg.cpp
@@ -1,487 +1,493 @@
-use "win.vl"
-use "treeview.vm"
-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"
-unit vbusiness.xpage
-[
- HrOrg is extend list;
- about HrOrg
- [
- control:
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
- method:
- [
- xdwgrid__ dw_list;
- treeview__ tv_org;
- string sOrgID;
- string sOrgName;
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- string sRootOrgID;
- string sRootOrgName;
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrOrg : public xwin
+{
+public:
+ xdwgrid dw_list;
+ xtreeview tv_org;
+ xstring sOrgID;
+ xstring sOrgName;
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- 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;
- }
+ xstring sRootOrgID;
+ xstring sRootOrgName;
- int OnRetrieve()
- {
- int hIcon = xutil__::SetCursorWait();
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("guid", sOrgID);
- if (url::get("OrganizationStruct/list.HrOrg", arg.GetString(), x) != 1)
- {
- trace(x.GetXmlDoc().text);
- return -1;
- }
- else
- {
- dw_list.Retrieve(x);
- dw_list.Redraw();
- }
- dw_list.SetReadOnly(true);
- xutil__::RestoreCursor(hIcon);
- return 1;
- }
+ xnode m_agentNode; //Agent Condition
+ xstring m_agentCond; //Agent Node
+public:
+ HrOrg(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+public:
+ static HrOrg* CreateInstance(void* implPtr, void* hWnd)
+ {
+ HrOrg* pWin = new HrOrg(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)
- {
- SetAgent();
- //OnRetrieve();
- //重置工具条
- return 1;
- }
+ int OnRetrieve()
+ {
+ HCURSOR hIcon = xutil::SetCursorWait();
+ xml x;
- int OnCreateTree(string sguid, int parentitem)
- {
- int wid = tv_org.GetId();
- xml__ x = new xml__;
- x.setNativePointer(xml__::CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("sguid", sguid);
- if (url::post("/sale/data/OrganizationStruct/tree.child.OrgChart", arg.GetString(), x) != 1)
- {
- trace(x.GetXml());
- return -1;
- }
- //trace(x.GetXml());
- var list = x.GetXmlDoc().selectNodes("//Org");
- int i = 0, s = list.length;
- msxml::IXMLDOMElement xitem;
- string sname;
- string sguid;
- if (s > 0)
- {
- for (i = 0; i < s; i++)
- {
- xitem = list.item(s - i - 1);
- sname = xitem.SelectSingleNode("OrgName").text;
- sguid = xitem.SelectSingleNode("@guid").text;
- int curItem = tv_org.InsertChildItemEx(wid, parentitem, sname, xitem, 15, 4);
- OnCreateTree(sguid, curItem);
- /*string id = xitem.selectSingleNode("ModuleID").text;
- string Name="";
- if(xitem.selectSingleNode("ModuleName")) Name=xitem.selectSingleNode("ModuleName").text;
- string image = 15;
- if(xitem.selectSingleNode("ModuelImage")) image=xitem.selectSingleNode("ModuelImage").text;
- int curItem=treeview__::InsertItem(tv_menu.GetId(), parentItem,0,Name,id,image.toInt());
- string child=xitem.selectSingleNode("@child").text;//item.getAttribute("HasChild");
- if (child != "0")
- treeview__::SetItemChild1(tv_menu.GetId(), curItem,1);*/
- }
- }
- return 1;
- }
+ xaserverarg arg;
- int OnTreeExpanding(ref TNotifyEvent evt, int p)
- {
- ref NMTREEVIEW nmtv = evt.pnmh;
- int sitem = nmtv.itemNew.hItem;
+ arg.AddArg(L"guid", sOrgID);
+ if (xurl::get(L"OrganizationStruct/list.HrOrg", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetReadOnly(true);
+ xutil::RestoreCursor(hIcon);
+ return 1;
+ }
- string id = treeview__::GetItemData(tv_org.GetId(), sitem);
- int hCursor = xutil__::SetCursorWait();
- OnCreateTree(id, sitem);
- xutil__::RestoreCursor(hCursor);
- return 1;
- }
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ SetAgent();
+ //OnRetrieve();
+ //重置工具条
+ return 1;
+ }
- //树点击事件
- int OnTreeSelecded(ref TNotifyEvent evt, int p)
- {
- ref NMTREEVIEW nmtv = evt.pnmh;
- int hItem = nmtv.itemNew.hItem;
- int wid = tv_org.GetId();
- int hitem = treeview__::GetSelectedItem(wid);
- msxml::IXMLDOMElement ele = treeview__::GetItemData(wid, hitem);
+ int OnCreateTree(xstring sguid, HTREEITEM parentitem)
+ {
+ //int wid = ;
+ xml x;
- int hroot = treeview__::GetParentItem(wid, hitem);
- int hparent = treeview__::GetParentItem(wid, hroot);
- if (!hparent)
- {
- hparent = hroot;
- hroot = hitem;
- }
- bool found = false;
- if (hparent) found = true;
- while (treeview__::GetParentItem(wid, hparent))
- {
- hroot = hparent;
- hparent = treeview__::GetParentItem(wid, hroot);
- }
- if (found)
- {
- msxml::IXMLDOMElement ele1 = treeview__::GetItemData(wid, hroot);
- //trace(ele1.xml);
- //sRootOrgID = ele1.SelectSingleNode("CompanyID").text;
- //sRootOrgName = ele1.selectSingleNode("CompanyID/@_displaystring").text;
- }
+ xaserverarg arg;
- string ls_orgid = ele.SelectSingleNode("@guid").text;
- sOrgID = ls_orgid + "";
- //trace(sOrgID);
- sOrgName = ele.selectSingleNode("OrgName").text;
- OnRetrieve();
- return 1;
- }
+ arg.AddArg(L"sguid", sguid);
+ if (xurl::post(L"/sale/data/OrganizationStruct/tree.child.OrgChart", arg.GetString(), x) != 1)
+ {
+ trace(x.xml());
+ return -1;
+ }
+ //trace(x.GetXml());
+ var list = x.selectNodes(L"//Org");
+ int i = 0, s = list.length;
+ KXMLDOMElement xitem;
+ xstring sname;
+ xstring sguid;
+ if (s > 0)
+ {
+ for (i = 0; i < s; i++)
+ {
+ xitem = list.item(s - i - 1);
+ sname = xitem.selectSingleNode(L"OrgName").text();
+ sguid = xitem.selectSingleNode(L"@guid").text();
+ HTREEITEM curItem = tv_org.InsertChildItemEx(parentitem, sname, xitem, 15, 4);
+ OnCreateTree(sguid, curItem);
+ /*xstring id = xitem.selectSingleNode(L"ModuleID").text();
+ xstring Name=L"";
+ if(xitem.selectSingleNode(L"ModuleName")) Name=xitem.selectSingleNode(L"ModuleName").text();
+ xstring image = 15;
+ if(xitem.selectSingleNode(L"ModuelImage")) image=xitem.selectSingleNode(L"ModuelImage").text();
+ int curItem=tv_org.InsertItem(tv_menu.GetId(), parentItem,0,Name,id,image.toInt());
+ xstring child=xitem.selectSingleNode(L"@child").text();//item.getAttribute(L"HasChild");
+ if (child != L"0")
+ tv_org.SetItemChild1(tv_menu.GetId(), curItem,1);*/
+ }
+ }
+ return 1;
+ }
- int OnTreeMoveNode(ref TNotifyEvent evt, int p)
- {
- ref TVNNMHDR nmtv = evt.pnmh;
- int xfrom = nmtv.FromItem;
- int xto = nmtv.ToItem;
+ int OnTreeExpanding(TEvent* evt, int p)
+ {
+ NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
+ HTREEITEM sitem = nmtv.itemNew.hItem;
- int ret = win__::MessageBox(this.GetHWND(), "确定移动组织节点?", "提示:", 1);
- //trace(ret);
- int wid = tv_org.GetId();
- if (ret == 2)
- {
- treeview__::DeleteItem(wid, xto);
- return -1;
- }
+ xstring id = tv_org.GetItemData(sitem);
+ HCURSOR hCursor = xutil::SetCursorWait();
+ OnCreateTree(id, sitem);
+ xutil::RestoreCursor(hCursor);
+ return 1;
+ }
- //string fid = treeview__::GetItemData(wid, xfrom);
- //string tid = treeview__::GetItemData(wid, xto);
- int xtop = treeview__::GetParentItem(wid, xto);
- msxml::IXMLDOMElement ef = treeview__::GetItemData(wid, xfrom);
- msxml::IXMLDOMElement et = treeview__::GetItemData(wid, xtop);
- string fid = ef.SelectSingleNode("@guid").text;//ef.xml;
- string tid = et.SelectSingleNode("@guid").text;//et.xml;
- xml__ x = new xml__;
- x.setNativePointer(xml__::CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("from", fid);
- arg.AddArg("to", tid);
- //trace(et.xml);
- //return 1;
- if (url::post("OrganizationStruct/move.update.HrOrg", arg.GetString(), x) != 1)
- {
- trace("error:" + x.GetXml());
- alert("移动组织节点出错!");
- treeview__::DeleteItem(wid, xto);
- return 0;
- }
- treeview__::DeleteItem(wid, xfrom);
- return 1;
- }
+ //树点击事件
+ int OnTreeSelecded(TEvent* evt, int p)
+ {
+ NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
+ HTREEITEM hItem = nmtv.itemNew.hItem;
+ int wid = 0;
+ HTREEITEM hitem = tv_org.GetSelectedItem();
+ KXMLDOMElement ele = tv_org.GetItemData(hitem);
- //xgridex双击
- int OnDoubleClicked(ref TNotifyEvent evt, int p)
- {
- ref DWNMHDR hdr = evt.pnmh;
- int row = hdr.row;
- if (row < 1 || row > dw_list.GetRowCount())
- return 1;
- msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
- string sguid = e.SelectSingleNode("@guid").text;
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("operate", "modify");
- arg.AddArg("guid", sguid);
- arg.AddArg("tvOrgID", sOrgID);
- arg.AddArg("tvOrgName", sOrgName);
- arg.AddArg("tvRootOrgID", sRootOrgID);
- arg.AddArg("tvRootOrgName", sRootOrgName);
- //trace(row.toString());
- //win__::OpenWindow("dev:xpage[HrOrgMaint.xpage]",arg);
- openUrl("组织架构.vface/xpage/HrOrg/maint", arg);
- return 1;
- }
+ HTREEITEM hroot = tv_org.GetParentItem(hitem);
+ HTREEITEM hparent = tv_org.GetParentItem(hroot);
+ if (!hparent)
+ {
+ hparent = hroot;
+ hroot = hitem;
+ }
+ bool found = false;
+ if (hparent) found = true;
+ while (tv_org.GetParentItem(hparent))
+ {
+ hroot = hparent;
+ hparent = tv_org.GetParentItem(hroot);
+ }
+ if (found)
+ {
+ KXMLDOMElement ele1 = tv_org.GetItemData(hroot);
+ //trace(ele1.xml);
+ //sRootOrgID = ele1.selectSingleNode(L"CompanyID").text();
+ //sRootOrgName = ele1.selectSingleNode(L"CompanyID/@_displaystring").text();
+ }
- int AddRow()
- {
- /*int wid = tv_org.GetId();
- int hitem=treeview__::GetSelectedItem(wid);
- int root=treeview__::GetRootItem(wid);
- if (hitem == root)
- {
- win32::MessageBox(GetHWND(),"根组织!","提示",0);
- return -1;
- }*/
- //int row = dw_list.GetNextSelectRow(1);
- //IXMLDOMElement e = dw_list.GetRowElement(row);
- //string sguid = e.getAttribute("guid");
+ xstring ls_orgid = ele.selectSingleNode(L"@guid").text();
+ sOrgID = ls_orgid + L"";
+ //trace(sOrgID);
+ sOrgName = ele.selectSingleNode(L"OrgName").text();
+ OnRetrieve();
+ return 1;
+ }
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("operate", "new0");
- arg.AddArg("guid", "");
- arg.AddArg("tvOrgID", sOrgID);
- arg.AddArg("tvOrgName", sOrgName);
- arg.AddArg("tvRootOrgID", sRootOrgID);
- arg.AddArg("tvRootOrgName", sRootOrgName);
- openUrl("组织架构.vface/xpage/HrOrg/maint", arg);
- return 1;
- }
+ int OnTreeMoveNode(TEvent* evt, int p)
+ {
+ TVNNMHDR& nmtv = *(TVNNMHDR*)evt->notify.pnmh;
+ HTREEITEM xfrom = nmtv.FromItem;
+ HTREEITEM xto = nmtv.ToItem;
- int ModifyRow()
- {
- int row = dw_list.GetNextSelectRow(1);
- if (row < 1)
- {
- row = dw_list.GetRow();
- if (row < 1)
- {
- win__::MessageBox(GetHWND(), "请选中要修改的组织数据行!", "提示", 0);
- return -1;
- }
- }
- msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
- string sguid = e.SelectSingleNode("@guid").text;
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("operate", "modify");
- arg.AddArg("guid", sguid);
- arg.AddArg("tvOrgID", sOrgID);
- arg.AddArg("tvOrgName", sOrgName);
- arg.AddArg("tvRootOrgID", sRootOrgID);
- arg.AddArg("tvRootOrgName", sRootOrgName);
- openUrl("组织架构.vface/xpage/HrOrg/maint", arg);
- return 1;
- }
+ int ret = MessageBox(GetHWND(), L"确定移动组织节点?", L"提示:", 1);
+ //trace(ret);
+ int wid = 0;
+ if (ret == 2)
+ {
+ tv_org.DeleteItem(xto);
+ return -1;
+ }
- int OnDeleteItem(string sguid)
- {
- int wid = tv_org.GetId();
- int hitem = treeview__::GetSelectedItem(wid);
- int ditem = treeview__::GetChildItem(wid, hitem);
- msxml::IXMLDOMElement e = treeview__::GetItemData(wid, ditem);
- if (e)
- {
- string dguid = e.SelectSingleNode("@guid").text;
- while (dguid != sguid)
- {
- ditem = treeview__::GetNextItem(wid, ditem);
- e = treeview__::GetItemData(wid, ditem);
- dguid = e.SelectSingleNode("@guid").text;
- }
- treeview__::DeleteItem(wid, ditem);
- }
- return 1;
- }
- int DeleteRow()
- {
- int row = dw_list.GetNextSelectRow(1);
- if (row < 1)
- {
- row = dw_list.GetRow();
- if (row < 1)
- {
- //win__::MessageBox(GetHWND(),"请选中要删除的组织数据行!","提示",0);
- return -1;
- }
- }
- msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
- string sguid = e.SelectSingleNode("@guid").text;
- string sName = e.selectSingleNode("OrgName").text;
- sName += "";
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("guid", sguid);
- if (url::get("OrganizationStruct/child.OrgNums", arg.GetString(), x) != 1)
- {
- trace(x.GetXmlDoc().text);
- return -1;
- }
- else
- {
- msxml::IXMLDOMElement ele = x.GetXmlDoc().documentElement;
- string snums = ele.SelectSingleNode("@num").text;
- int num = snums.toInt();
- if (num != 0)
- {
- win__::MessageBox(GetHWND(), "组织 " + sName + " 存在下级组织单元,禁止删除!", "提示", 0);
- return 1;
- }
- }
+ //xstring fid = tv_org.GetItemData(wid, xfrom);
+ //xstring tid = tv_org.GetItemData(wid, xto);
+ HTREEITEM xtop = tv_org.GetParentItem(xto);
+ KXMLDOMElement ef = tv_org.GetItemData(xfrom);
+ KXMLDOMElement et = tv_org.GetItemData(xtop);
+ xstring fid = ef.selectSingleNode(L"@guid").text();//ef.xml;
+ xstring tid = et.selectSingleNode(L"@guid").text();//et.xml;
+ xml x;
- int MB_YESNO = 0x00000004;
- int IDYES = 6;
- if (win__::MessageBox(GetHWND(), "确认要删除组织 " + sName + " 的信息吗?", "提示", MB_YESNO) != IDYES) return 1;
- arg.AddArg("guid", sguid);
- //trace(sguid);
- xml__ x1 = new xml__;
- x1.setNativePointer(x1.CreateInstance());
- if (url::post("/sale/data/OrganizationStruct/delete.HrOrg", arg.GetString(), x1) != 1)
- {
- string error = x1.GetXmlDoc().text;
- trace(error);
- }
- else
- {
- //win32::MessageBox(GetHWND(),"删除成功!","提示",0);
- dw_list.DeleteRow(row);
- OnDeleteItem(sguid);
- }
- return 1;
- }
+ xaserverarg arg;
- int Productlinemaint()
- {
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("id", "产品线");
- openUrl("公共设置.vface/worknode/quickcode/config", arg);
- //openUrl("下拉窗口.vface/xpage/hremployee/select", arg);
+ arg.AddArg(L"from", fid);
+ arg.AddArg(L"to", tid);
+ //trace(et.xml);
+ //return 1;
+ if (xurl::post(L"OrganizationStruct/move.update.HrOrg", arg.GetString(), x) != 1)
+ {
+ trace(L"error:" + (xstring)x.xml());
+ alert(L"移动组织节点出错!");
+ tv_org.DeleteItem(xto);
+ return 0;
+ }
+ tv_org.DeleteItem(xfrom);
+ return 1;
+ }
- return 1;
- }
- int setTree()
- {
- string str = "<vbox name='tree' >";
- str += "<xtree name='tv_org' imagelist='0' drag='true'>";
- str += "<treeitem src='xquery:[OrgChart.hr.xq]' src1='xquery:[OrgStructureRetrieve.xq]' xcaption='OrgName' xroot='/root' xpath='Org' xchildpath='Org' image='15' loop='yes' xdata='.'/>";
- str += "</xtree></vbox>";
- string xfNodeAgentArea = "tree";
- xnode__ anode = new xnode__;
- anode.setNativePointer(GetAgentNode(xfNodeAgentArea));
- SetAgentNodeContent(anode, str);
- tv_org = new treeview__;
- tv_org.setNativePointer(this.GetControl("tv_org"));
- AttachEvent("tv_org", "TVN_SELCHANGED", OnTreeSelecded);
- int root = treeview__::GetRootItem(tv_org.GetId());
- if (root > 0)
- {
- treeview__::ExpandItemEx(tv_org.GetId(), root);
- }
- return 1;
- }
- //命令发布函数
- int OnCmdDispatch(string comdid)
- {
- if (comdid == "AddRow") { return AddRow(); }
- else if (comdid == "ModifyRow") { return ModifyRow(); }
- else if (comdid == "DeleteRow") { return DeleteRow(); }
- else if (comdid == "OrgType")
- {
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("id", "组织类型");
- openUrl("公共设置.vface/worknode/quickcode/config", arg);
- //openUrl("组织架构.vface/xpage/HrOrg/type");
- }
- else if (comdid == "Refresh")
- {
- OnRetrieve();
- setTree();
- AttachEvent("tv_org", "TVN_ENDDRAG", OnTreeMoveNode);
- }
- else if (comdid == "Productlinemaint")
- {
- Productlinemaint();
- }
- return 0;
- }
+ //xgridex双击
+ int OnDoubleClicked(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ if (row < 1 || row > dw_list.GetRowCount())
+ return 1;
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ xstring sguid = e.selectSingleNode(L"@guid").text();
+ xaserverarg& arg = *new xaserverarg;
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt, int p)
- {
- return OnCmdDispatch(evt.pStrID);
- }
+ arg.AddArg(L"operate", L"modify");
+ arg.AddArg(L"guid", sguid);
+ arg.AddArg(L"tvOrgID", sOrgID);
+ arg.AddArg(L"tvOrgName", sOrgName);
+ arg.AddArg(L"tvRootOrgID", sRootOrgID);
+ arg.AddArg(L"tvRootOrgName", sRootOrgName);
+ //trace(row.toString());
+ //win::OpenWindow(L"dev:xpage[HrOrgMaint.xpage]",arg);
+ openUrl(L"组织架构.vface/xpage/HrOrg/maint", &arg);
+ return 1;
+ }
- int OnAttachEvent()
- {
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND", OnXCommand);
- //获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
- //获得树的点击事件
- AttachEvent("tv_org", "TVN_SELCHANGED", OnTreeSelecded);
- AttachEvent("tv_org", "TVN_ITEMEXPANDING", OnTreeExpanding);
- AttachEvent("tv_org", "TVN_ENDDRAG", OnTreeMoveNode);
- //双击
- AttachEvent("dw_list", "DWV_DOUBLECLICKED", OnDoubleClicked);
- }
+ int AddRow()
+ {
+ /*int wid = ;
+ int hitem=tv_org.GetSelectedItem(wid);
+ int root=tv_org.GetRootItem(wid);
+ if (hitem == root)
+ {
+ win32::MessageBox(GetHWND(),L"根组织!",L"提示",0);
+ return -1;
+ }*/
+ //int row = dw_list.GetNextSelectRow(1);
+ //IXMLDOMElement e = dw_list.GetRowElement(row);
+ //xstring sguid = e.getAttribute(L"guid");
- int OnInitial()
- {
- SetAgent();
+ xaserverarg& arg = *new xaserverarg;
- OnAttachEvent();
+ arg.AddArg(L"operate", L"new0");
+ arg.AddArg(L"guid", L"");
+ arg.AddArg(L"tvOrgID", sOrgID);
+ arg.AddArg(L"tvOrgName", sOrgName);
+ arg.AddArg(L"tvRootOrgID", sRootOrgID);
+ arg.AddArg(L"tvRootOrgName", sRootOrgName);
+ openUrl(L"组织架构.vface/xpage/HrOrg/maint", &arg);
+ return 1;
+ }
- return 1;
- }
+ int ModifyRow()
+ {
+ int row = dw_list.GetNextSelectRow(1);
+ if (row < 1)
+ {
+ row = dw_list.GetRow();
+ if (row < 1)
+ {
+ MessageBox(GetHWND(), L"请选中要修改的组织数据行!", L"提示", 0);
+ return -1;
+ }
+ }
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ xstring sguid = e.selectSingleNode(L"@guid").text();
+ xaserverarg& arg = *new xaserverarg;
- int onload()
- {
- tv_org = new treeview__;
- tv_org.setNativePointer(this.GetControl("tv_org"));
- dw_list = new xdwgrid__;
- dw_list.setNativePointer(this.GetControl("dw_list"));
- dw_list.openUrl("组织架构.vface/template/HrOrg/list");
- dw_list.SetSelectionMode(1);
- dw_list.SetReadOnly(true);
- dw_list.SetColumnState("OrgPlat", false);
- dw_list.SetColumnState("OrgComLeader", false);
- dw_list.SetColumnState("OrgSupLeader", false);
- dw_list.SetColumnState("OrgProLine", false);
+ arg.AddArg(L"operate", L"modify");
+ arg.AddArg(L"guid", sguid);
+ arg.AddArg(L"tvOrgID", sOrgID);
+ arg.AddArg(L"tvOrgName", sOrgName);
+ arg.AddArg(L"tvRootOrgID", sRootOrgID);
+ arg.AddArg(L"tvRootOrgName", sRootOrgName);
+ openUrl(L"组织架构.vface/xpage/HrOrg/maint", &arg);
+ return 1;
+ }
+
+ int OnDeleteItem(xstring sguid)
+ {
+ int wid = 0;
+ HTREEITEM hitem = tv_org.GetSelectedItem();
+ HTREEITEM ditem = tv_org.GetChildItem(hitem);
+ KXMLDOMElement e = tv_org.GetItemData(ditem);
+ if (e)
+ {
+ xstring dguid = e.selectSingleNode(L"@guid").text();
+ while (dguid != sguid)
+ {
+ ditem = tv_org.GetNextItem(ditem);
+ e = tv_org.GetItemData(ditem);
+ dguid = e.selectSingleNode(L"@guid").text();
+ }
+ tv_org.DeleteItem(ditem);
+ }
+ return 1;
+ }
+ int DeleteRow()
+ {
+ int row = dw_list.GetNextSelectRow(1);
+ if (row < 1)
+ {
+ row = dw_list.GetRow();
+ if (row < 1)
+ {
+ //win::MessageBox(GetHWND(),L"请选中要删除的组织数据行!",L"提示",0);
+ return -1;
+ }
+ }
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ xstring sguid = e.selectSingleNode(L"@guid").text();
+ xstring sName = e.selectSingleNode(L"OrgName").text();
+ sName += L"";
+ xml x;
+
+ xaserverarg arg;
+
+ arg.AddArg(L"guid", sguid);
+ if (xurl::get(L"OrganizationStruct/child.OrgNums", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ KXMLDOMElement ele = x.documentElement();
+ xstring snums = ele.selectSingleNode(L"@num").text();
+ int num = snums.toInt();
+ if (num != 0)
+ {
+ MessageBox(GetHWND(), L"组织 " + sName + L" 存在下级组织单元,禁止删除!", L"提示", 0);
+ return 1;
+ }
+ }
+
+ int MB_YESNO = 0x00000004;
+ int IDYES = 6;
+ if (MessageBox(GetHWND(), L"确认要删除组织 " + sName + L" 的信息吗?", L"提示", MB_YESNO) != IDYES) return 1;
+ arg.AddArg(L"guid", sguid);
+ //trace(sguid);
+ xml x1;
+
+ if (xurl::post(L"/sale/data/OrganizationStruct/delete.HrOrg", arg.GetString(), x1) != 1)
+ {
+ xstring error = x1.text();
+ trace(error);
+ }
+ else
+ {
+ //win32::MessageBox(GetHWND(),L"删除成功!",L"提示",0);
+ dw_list.DeleteRow(row);
+ OnDeleteItem(sguid);
+ }
+ return 1;
+ }
+
+ int Productlinemaint()
+ {
+ xaserverarg& arg = *new xaserverarg;
+
+ arg.AddArg(L"id", L"产品线");
+ openUrl(L"公共设置.vface/worknode/quickcode/config", &arg);
+ //openUrl(L"下拉窗口.vface/xpage/hremployee/select", arg);
+
+ return 1;
+ }
+ int setTree()
+ {
+ xstring str = L"<vbox name='tree' >";
+ str += L"<xtree name='tv_org' imagelist='0' drag='true'>";
+ str += L"<treeitem src='xquery:[OrgChart.hr.xq]' src1='xquery:[OrgStructureRetrieve.xq]' xcaption='OrgName' xroot='/root' xpath='Org' xchildpath='Org' image='15' loop='yes' xdata='.'/>";
+ str += L"</xtree></vbox>";
+ xstring xfNodeAgentArea = L"tree";
+ xnode anode = new xnode;
+ anode.setNativePointer(GetAgentNode(xfNodeAgentArea));
+ SetAgentNode(anode, str);
+ tv_org = new treeview;
+ tv_org.setNativePointer(GetControl(L"tv_org"));
+ AttachEvent(L"tv_org", L"TVN_SELCHANGED", (FEvent)&HrOrg::OnTreeSelecded);
+ HTREEITEM root = tv_org.GetRootItem();
+ if (root > 0)
+ {
+ tv_org.ExpandItemEx(root);
+ }
+ return 1;
+ }
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"AddRow") { return AddRow(); }
+ else if (comdid == L"ModifyRow") { return ModifyRow(); }
+ else if (comdid == L"DeleteRow") { return DeleteRow(); }
+ else if (comdid == L"OrgType")
+ {
+ xaserverarg& arg = *new xaserverarg;
+
+ arg.AddArg(L"id", L"组织类型");
+ openUrl(L"公共设置.vface/worknode/quickcode/config", &arg);
+ //openUrl(L"组织架构.vface/xpage/HrOrg/type");
+ }
+ else if (comdid == L"Refresh")
+ {
+ OnRetrieve();
+ setTree();
+ AttachEvent(L"tv_org", L"TVN_ENDDRAG", (FEvent)&HrOrg::OnTreeMoveNode);
+ }
+ else if (comdid == L"Productlinemaint")
+ {
+ Productlinemaint();
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&HrOrg::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrOrg::OnSetFocus);
+ //获得树的点击事件
+ AttachEvent(L"tv_org", L"TVN_SELCHANGED", (FEvent)&HrOrg::OnTreeSelecded);
+ AttachEvent(L"tv_org", L"TVN_ITEMEXPANDING", (FEvent)&HrOrg::OnTreeExpanding);
+ AttachEvent(L"tv_org", L"TVN_ENDDRAG", (FEvent)&HrOrg::OnTreeMoveNode);
+ //双击
+ AttachEvent(L"dw_list", L"DWV_DOUBLECLICKED", (FEvent)&HrOrg::OnDoubleClicked);
+ return 1;
+ }
+
+ int OnInitial()
+ {
+ SetAgent();
+
+ OnAttachEvent();
+
+ return 1;
+ }
+
+ int onload()
+ {
+ tv_org = new treeview;
+ tv_org.setNativePointer(GetControl(L"tv_org"));
+ dw_list = new xdwgrid;
+ dw_list.setNativePointer(GetControl(L"dw_list"));
+ dw_list.openUrl(L"组织架构.vface/template/HrOrg/list");
+ dw_list.SetSelectionMode(1);
+ dw_list.SetReadOnly(true);
+ dw_list.SetColumnState(L"OrgPlat", false);
+ dw_list.SetColumnState(L"OrgComLeader", false);
+ dw_list.SetColumnState(L"OrgSupLeader", false);
+ dw_list.SetColumnState(L"OrgProLine", false);
- OnInitial();
+ OnInitial();
- //OnCreateTree("00000000-0000-0000-0000-000000000000", 0);
- int root = treeview__::GetRootItem(tv_org.GetId());
- if (root > 0)
- {
- treeview__::ExpandItemEx(tv_org.GetId(), root);
- msxml::IXMLDOMElement ele = treeview__::GetItemData(tv_org.GetId(), root);
- if (ele)
- {
- string ls_orgid = ele.SelectSingleNode("@guid").text;
- sOrgID = ls_orgid + "";
- sOrgName = ele.selectSingleNode("OrgName").text;
- OnRetrieve();
- }
- }
+ //OnCreateTree(L"00000000-0000-0000-0000-000000000000", 0);
+ HTREEITEM root = tv_org.GetRootItem();
+ if (root > 0)
+ {
+ tv_org.ExpandItemEx(root);
+ KXMLDOMElement ele = tv_org.GetItemData(root);
+ if (ele)
+ {
+ xstring ls_orgid = ele.selectSingleNode(L"@guid").text();
+ sOrgID = ls_orgid + L"";
+ sOrgName = ele.selectSingleNode(L"OrgName").text();
+ OnRetrieve();
+ }
+ }
- return 1;
- }
- ]
-
- ]
-]
\ No newline at end of file
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/business/Company/HrOrgChart.cpp b/jrj/project/business/Company/HrOrgChart.cpp
index 0522905..7e1e781 100644
--- a/jrj/project/business/Company/HrOrgChart.cpp
+++ b/jrj/project/business/Company/HrOrgChart.cpp
@@ -1,142 +1,144 @@
-use "win.vl"
-use "treeview.vm"
-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]"
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
-unit vbusiness.xpage
-[
- HrOrgChart is extend win__;
- about HrOrgChart
- [
- control:
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- method:
- [
- treeview__ tv_org;
- xdwtable__ dw_parent;
- int m_bCanDestroy;
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrOrgChart : public xwin
+{
+public:
+ xtreeview tv_org;
+ xdwtable dw_parent;
+ int m_bCanDestroy;
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
+ xnode m_agentNode; //Agent Condition
+ xstring m_agentCond; //Agent Node
+public:
+ HrOrgChart(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+public:
+ static HrOrgChart* CreateInstance(void* implPtr, void* hWnd)
+ {
+ HrOrgChart* pWin = new HrOrgChart(implPtr, (HWND)hWnd);
+ return pWin;
+ }
- int OnTreeSelChanged(ref TNotifyEvent evt, int p)
- {
- ref NMTREEVIEW nmtv = evt.pnmh;
- int hitem = nmtv.itemNew.hItem;
- if (hitem == 0)
- hitem = treeview__::GetRootItem(tv_org.GetId());
- string label = treeview__::GetItemLabel(tv_org.GetId(), hitem);
- string pUnit;
- pUnit = treeview__::GetItemLabel(tv_org.GetId(), hitem) + "\\";
- int pitem = treeview__::GetParentItem(tv_org.GetId(), hitem);
- while (pitem > 0)
- {
- pUnit = treeview__::GetItemLabel(tv_org.GetId(), pitem) + "\\" + pUnit;
- pitem = treeview__::GetParentItem(tv_org.GetId(), pitem);
- }
- msxml::IXMLDOMElement ele = treeview__::GetItemData(tv_org.GetId(), hitem);
- string guid = ele.SelectSingleNode("@guid").text;
+ int OnTreeSelChanged(TEvent* evt, int p)
+ {
+ NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
+ HTREEITEM hitem = nmtv.itemNew.hItem;
+ if (hitem == 0)
+ hitem = tv_org.GetRootItem();
+ xstring label = tv_org.GetItemLabel(hitem);
+ xstring pUnit;
+ pUnit = tv_org.GetItemLabel(hitem) + L"\\";
+ HTREEITEM pitem = tv_org.GetParentItem(hitem);
+ while (pitem > 0)
+ {
+ pUnit = tv_org.GetItemLabel(pitem) + L"\\" + pUnit;
+ pitem = tv_org.GetParentItem(pitem);
+ }
+ KXMLDOMElement ele = tv_org.GetItemData(hitem);
+ xstring guid = ele.selectSingleNode(L"@guid").text();
- //CloseWindow();
- return 1;
- }
+ //CloseWindow();
+ return 1;
+ }
- int OnActive(ref TEvent evt, int p)
- {
- /*int WA_INACTIVE = 0;
- int WA_ACTIVE = 1;
- int WA_CLICKACTIVE = 2;
- int lw = evt.wParam & 0xffff;
- if( lw ==WA_INACTIVE && m_bCanDestroy==1 )
- {
- win__::CloseWindow();
- return 1;
- }
- if(lw !=WA_INACTIVE)m_bCanDestroy = 1;
- return 1;*/
- }
+ int OnActive(TEvent* evt, int p)
+ {
+ /*int WA_INACTIVE = 0;
+ int WA_ACTIVE = 1;
+ int WA_CLICKACTIVE = 2;
+ int lw = evt.wParam & 0xffff;
+ if( lw ==WA_INACTIVE && m_bCanDestroy==1 )
+ {
+ win::CloseWindow();
+ return 1;
+ }
+ if(lw !=WA_INACTIVE)m_bCanDestroy = 1;
+ return 1;*/
+ }
- //焦点激活处理函数
- int OnSetFocus(ref TEvent evt, int p)
- {
- return 1;
- }
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ return 1;
+ }
- int OnOK(string comdid)
- {
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg = win__::GetParam();
- arg.AddArg("comdid", comdid);
- int hitem = treeview__::GetSelectedItem(tv_org.GetId());
- if (hitem > 0)
- {
- msxml::IXMLDOMElement ele = treeview__::GetItemData(tv_org.GetId(), hitem);
- string guid = ele.SelectSingleNode("@guid").text;
- string label = ele.selectSingleNode("OrgName").text;
- arg.AddArg("OrgName", label);
- arg.AddArg("OrgId", guid);
- win__::CloseWindow();
- }
- else
- win__::MessageBox(GetHWND(), "请选择组织!", "提示", 0);
- return 1;
- }
+ int OnOK(xstring comdid)
+ {
+ xaserverarg arg;
- //命令发布函数
- int OnCmdDispatch(string comdid)
- {
- int hCursor = xutil__::SetCursorWait();
- if (comdid == "xmOk")
- OnOK(comdid);
- else if (comdid == "xmCancel")
- CloseWindow();
- xutil__::RestoreCursor(hCursor);
- return 0;
- }
+ arg = GetArg();
+ arg.AddArg(L"comdid", comdid);
+ HTREEITEM hitem = tv_org.GetSelectedItem();
+ if (hitem > 0)
+ {
+ KXMLDOMElement ele = tv_org.GetItemData( hitem);
+ xstring guid = ele.selectSingleNode(L"@guid").text();
+ xstring label = ele.selectSingleNode(L"OrgName").text();
+ arg.AddArg(L"OrgName", label);
+ arg.AddArg(L"OrgId", guid);
+ CloseWindow();
+ }
+ else
+ MessageBox(GetHWND(), L"请选择组织!", L"提示", 0);
+ return 1;
+ }
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt, int p)
- {
- return OnCmdDispatch(evt.pStrID);
- }
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ HCURSOR hCursor = xutil::SetCursorWait();
+ if (comdid == L"xmOk")
+ OnOK(comdid);
+ else if (comdid == L"xmCancel")
+ CloseWindow();
+ xutil::RestoreCursor(hCursor);
+ return 0;
+ }
- int OnAttachEvent()
- {
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND", OnXCommand);
- //获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
- AttachEvent("tv_org", "TVN_SELCHANGED", OnTreeSelChanged);
- //AttachEvent("WM_ACTIVATE",OnActive);
- }
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
- int OnInitial()
- {
- OnAttachEvent();
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&HrOrgChart::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrOrgChart::OnSetFocus);
+ AttachEvent(L"tv_org", L"TVN_SELCHANGED", (FEvent)&HrOrgChart::OnTreeSelChanged);
- return 1;
- }
+ //AttachEvent(L"WM_ACTIVATE",OnActive);
+ return 1;
+ }
- int onload()
- {
- m_bCanDestroy = 1;
- tv_org = new treeview__;
- tv_org.setNativePointer(this.GetControl("tv_org"));
- OnInitial();
+ int OnInitial()
+ {
+ OnAttachEvent();
- int root = treeview__::GetRootItem(tv_org.GetId());
- treeview__::ExpandItemEx(tv_org.GetId(), root);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ m_bCanDestroy = 1;
+ tv_org = new xtreeview;
+ tv_org.setNativePointer(GetControl(L"tv_org"));
+ OnInitial();
+
+ HTREEITEM root = tv_org.GetRootItem();
+ tv_org.ExpandItemEx( root);
- return 1;
- }
- ]
-
- ]
-]
\ No newline at end of file
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/business/Company/HrOrgMaint.cpp b/jrj/project/business/Company/HrOrgMaint.cpp
index 1989e32..9f23955 100644
--- a/jrj/project/business/Company/HrOrgMaint.cpp
+++ b/jrj/project/business/Company/HrOrgMaint.cpp
@@ -1,266 +1,274 @@
-use "win.vl"
-use "treeview.vm"
-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"
-unit vbusiness.xpage
-[
- HrOrgMaint is extend list;
- about HrOrgMaint
- [
- control:
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
- method:
- [
- xdwtable__ dw_detail;
- string m_operate;
- string m_sguid;
- string m_tvOrgID;
- string m_tvOrgName;
- string m_tvRootOrgID;
- string m_tvRootOrgName;
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- 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;
- }
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrOrgMaint : public xwin
+{
+public:
- //焦点激活处理函数
- int OnSetFocus(ref TEvent evt, int p)
- {
- SetAgent();
+ xdwtable dw_detail;
+ xstring m_operate;
+ xstring m_sguid;
+ xstring m_tvOrgID;
+ xstring m_tvOrgName;
+ xstring m_tvRootOrgID;
+ xstring m_tvRootOrgName;
- //重置工具条
- return 1;
- }
+ xnode m_agentNode; //Agent Condition
+ xstring m_agentCond; //Agent Node
+public:
+ HrOrgMaint(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+public:
+ static HrOrgMaint* CreateInstance(void* implPtr, void* hWnd)
+ {
+ HrOrgMaint* pWin = new HrOrgMaint(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 OnRetrieve()
- {
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("guid", m_sguid);
- if (url::get("OrganizationStruct/detail.HrOrg", arg.GetString(), x) != 1)
- {
- trace(x.GetXmlDoc().text);
- return -1;
- }
- else
- {
- trace(x.GetXml());
- dw_detail.Retrieve(x);
- dw_detail.Redraw();
- }
- return 1;
- }
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ SetAgent();
- int OnSave()
- {
- int hIcon = xutil__::SetCursorWait();
- //dw_detail.AcceptText();
- string val;
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- var xdoc = x.GetXmlDoc();
- dw_detail.DwUpdateAllTo(xdoc);
- val = xdoc.xml;
- //trace(val);
- //return 1;
- xaserverarg__ args = new xaserverarg__;
- args.setNativePointer(args.CreateInstance());
- args.AddArg("content", val);
- //trace(val);
- xml__ x1 = new xml__;
- x1.setNativePointer(x1.CreateInstance());
- if (url::post("OrganizationStruct/update.HrOrg", args.GetString(), x1) != 1)
- {
- string error = x1.GetXmlDoc().text;
- trace(error);
- }
- else
- {
- win__::MessageBox(GetHWND(), "保存成功!", "提示", 0);
- }
- dw_detail.ResetUpdateStatus();
- xutil__::RestoreCursor(hIcon);
- return 1;
- }
+ //重置工具条
+ return 1;
+ }
- int OnNew()
- {
- dw_detail.openUrl("组织架构.vface/template/HrOrg/detail");
- if (m_operate == "new0")
- {
- dw_detail.SetItemString(1, "ParentOrgID", m_tvOrgID);
- dw_detail.SetItemDisplayString(1, "ParentOrgID", m_tvOrgName);
- }
- dw_detail.SetItemString(1, "Status", "Y");
- //dw_detail.SetItemDisplayString(1,"Status","有效");
- return 1;
- }
+ int OnRetrieve()
+ {
+ xml x;
- //命令发布函数
- int OnCmdDispatch(string comdid)
- {
- if (comdid == "New") OnNew();
- if (comdid == "Save") OnSave();
- if (comdid == "xmOk") OnSave();
- if (comdid == "xmCancel") CloseWindow();
- return 0;
- }
+ xaserverarg arg;
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt, int p)
- {
- return OnCmdDispatch(evt.pStrID);
- }
+ arg.AddArg(L"guid", m_sguid);
+ if (xurl::get(L"OrganizationStruct/detail.HrOrg", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ trace(x.xml());
+ dw_detail.Retrieve(x);
+ dw_detail.Redraw();
+ }
+ return 1;
+ }
- int OnChildContent(ref TNotifyEvent evt, int p)
- {
- ref DWNMHDR dwhdr = evt.pnmh;
- string col = dwhdr.colname;
- if (col != "") {
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- string query;
- query = "[IResourceMSSql.xq]";
- if (col == "OrgTypeID") {
- arg.AddArg("ResourceType", "HrOrgType");//组织类型
- }
- else if (col == "OrgAddress000") {
- arg.AddArg("ResourceType", "HR_Address");//组织地址
- }
- else if (col == "CompanyID") {
- arg.AddArg("ResourceType", "CompanyInfo");//所属法人
- }
- else if (col == "OrgProLine") {
- arg.AddArg("ResourceType", "OrgProLine");//产品线
- }
- if (xaserver__::ExecXQuery(GetServerUrl(), query, arg.GetString(), x) == 1)
- dwhdr.data = x.GetXml();
- //trace(x.GetXml());
- }
- return 1;
- }
- int OnClicked(ref TNotifyEvent evt, int p)
- {
- ref DWNMHDR hdr = evt.pnmh;
+ int OnSave()
+ {
+ HCURSOR hIcon = xutil::SetCursorWait();
+ //dw_detail.AcceptText();
+ xstring val;
+ xml x;
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
+ var xdoc = x;
+ dw_detail.DwUpdateAllTo(xdoc);
+ val = xdoc.xml;
+ //trace(val);
+ //return 1;
+ xaserverarg args;
+ args.setNativePointer(args.CreateInstance());
+ args.AddArg(L"content", val);
+ //trace(val);
+ xml x1;
- string colname = hdr.colname;
- if (colname == "ParentOrgID")
- {
- openUrl("组织架构.vface/xpage/HrOrg/Chart", arg);
- //trace(arg.GetString());
- string comdid = arg.GetArgString("comdid");
- if (comdid == "xmOk")
- {
- string OrgName = arg.GetArgString("OrgName");
- string OrgID = arg.GetArgString("OrgId");
- dw_detail.SetItemDisplayString(1, "ParentOrgID", OrgName);
- dw_detail.SetItemString(1, "ParentOrgID", OrgID);
- dw_detail.Redraw();
- }
- }
- if (colname == "LeaderID")
- {
- openUrl("组织架构.vface/xpage/hremployee/select", arg);
- comdid = arg.GetArgString("comdid");
- if (comdid == "xmOk")
- {
- string sPersonID = arg.GetArgString("sPersonID");
- //trace(sPersonID);
- string sPersonName = arg.GetArgString("sPersonName");
- dw_detail.SetItemDisplayString(1, colname, sPersonName);
- dw_detail.SetItemString(1, colname, sPersonID);
- dw_detail.Redraw();
- }
- }
- return 1;
- }
+ if (xurl::post(L"OrganizationStruct/update.HrOrg", args.GetString(), x1) != 1)
+ {
+ xstring error = x1.text();
+ trace(error);
+ }
+ else
+ {
+ MessageBox(GetHWND(), L"保存成功!", L"提示", 0);
+ }
+ dw_detail.ResetUpdateStatus();
+ xutil::RestoreCursor(hIcon);
+ return 1;
+ }
- int OnAttachEvent()
- {
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND", OnXCommand);
- //获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
- //下拉框 提供内容
- AttachEvent("dw_detail", "DWV_CHILDCONTENT", OnChildContent);
- AttachEvent("dw_detail", "DWV_ITEMFOCUSCHANGED", OnClicked);
- }
+ int OnNew()
+ {
+ dw_detail.openUrl(L"组织架构.vface/template/HrOrg/detail");
+ if (m_operate == L"new0")
+ {
+ dw_detail.SetItemString(1, L"ParentOrgID", m_tvOrgID);
+ dw_detail.SetItemDisplayString(1, L"ParentOrgID", m_tvOrgName);
+ }
+ dw_detail.SetItemString(1, L"Status", L"Y");
+ //dw_detail.SetItemDisplayString(1,L"Status",L"有效");
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"New") OnNew();
+ if (comdid == L"Save") OnSave();
+ if (comdid == L"xmOk") OnSave();
+ if (comdid == L"xmCancel") CloseWindow();
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ int OnChildContent(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& dwhdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring col = dwhdr.colname;
+ if (col != L"") {
+ xml x;
+
+ xaserverarg arg;
+
+ xstring query;
+ query = L"[IResourceMSSql.xq]";
+ if (col == L"OrgTypeID") {
+ arg.AddArg(L"ResourceType", L"HrOrgType");//组织类型
+ }
+ else if (col == L"OrgAddress000") {
+ arg.AddArg(L"ResourceType", L"HR_Address");//组织地址
+ }
+ else if (col == L"CompanyID") {
+ arg.AddArg(L"ResourceType", L"CompanyInfo");//所属法人
+ }
+ else if (col == L"OrgProLine") {
+ arg.AddArg(L"ResourceType", L"OrgProLine");//产品线
+ }
+ if (xaserver::ExecXQuery(GetServerUrl(), query, arg.GetString(), x) == 1)
+ dwhdr.data = x.xml();
+ //trace(x.GetXml());
+ }
+ return 1;
+ }
+ int OnClicked(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+
+ xaserverarg& arg = *new xaserverarg;
- int OnInitial()
- {
- SetAgent();
- OnAttachEvent();
- return 1;
- }
+ xstring colname = hdr.colname;
+ if (colname == L"ParentOrgID")
+ {
+ openUrl(L"组织架构.vface/xpage/HrOrg/Chart", &arg);
+ //trace(arg.GetString());
+ xstring comdid = arg.GetArgString(L"comdid");
+ if (comdid == L"xmOk")
+ {
+ xstring OrgName = arg.GetArgString(L"OrgName");
+ xstring OrgID = arg.GetArgString(L"OrgId");
+ dw_detail.SetItemDisplayString(1, L"ParentOrgID", OrgName);
+ dw_detail.SetItemString(1, L"ParentOrgID", OrgID);
+ dw_detail.Redraw();
+ }
+ }
+ if (colname == L"LeaderID")
+ {
+ openUrl(L"组织架构.vface/xpage/hremployee/select", &arg);
+ xstring comdid = arg.GetArgString(L"comdid");
+ if (comdid == L"xmOk")
+ {
+ xstring sPersonID = arg.GetArgString(L"sPersonID");
+ //trace(sPersonID);
+ xstring sPersonName = arg.GetArgString(L"sPersonName");
+ dw_detail.SetItemDisplayString(1, colname, sPersonName);
+ dw_detail.SetItemString(1, colname, sPersonID);
+ dw_detail.Redraw();
+ }
+ }
+ return 1;
+ }
- int onload()
- {
- dw_detail = new xdwtable__;
- dw_detail.setNativePointer(this.GetControl("dw_detail"));
- dw_detail.openUrl("组织架构.vface/template/HrOrg/detail");
- OnInitial();
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&HrOrgMaint::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrOrgMaint::OnSetFocus);
+ //下拉框 提供内容
+ AttachEvent(L"dw_detail", L"DWV_CHILDCONTENT", (FEvent)&HrOrgMaint::OnChildContent);
+ AttachEvent(L"dw_detail", L"DWV_ITEMFOCUSCHANGED", (FEvent)&HrOrgMaint::OnClicked);
+ return 1;
+ }
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg = this.GetParam();
- if (arg)
- {
- m_operate = arg.GetArgString("operate");
- m_sguid = arg.GetArgString("guid");
- m_tvOrgID = arg.GetArgString("tvOrgID");//组织树的ID
- m_tvOrgName = arg.GetArgString("tvOrgName");//组织树的Name
- m_tvRootOrgID = arg.GetArgString("tvRootOrgID");//组织树的ID
- m_tvRootOrgName = arg.GetArgString("tvRootOrgName");//组织树的Name
- //alert(m_tvRootOrgName);
- }
- /*if ( m_sguid == "" || m_sguid == nil)
- {
- m_sguid = win__::GetGuid();//错误
- trace(m_sguid);
- }*/
- if (m_sguid != "") {
- OnRetrieve();
- };
- if (m_operate == "new0")
- {
- //trace(m_tvOrgID);
- dw_detail.SetItemString(1, "ParentOrgID", m_tvOrgID);
- dw_detail.SetItemDisplayString(1, "ParentOrgID", m_tvOrgName);
- dw_detail.SetItemString(1, "CompanyID", m_tvRootOrgID);
- dw_detail.SetItemDisplayString(1, "CompanyID", m_tvRootOrgName);
- dw_detail.SetItemString(1, "Status", "Y");
- //dw_detail.SetItemDisplayString(1,"Status","有效");
- }
- return 1;
- }
- ]
- ]
-]
\ No newline at end of file
+ int OnInitial()
+ {
+ SetAgent();
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_detail = new xdwtable;
+ dw_detail.setNativePointer(GetControl(L"dw_detail"));
+ dw_detail.openUrl(L"组织架构.vface/template/HrOrg/detail");
+ OnInitial();
+
+ xaserverarg arg;
+
+ arg = GetArg();
+ if (arg)
+ {
+ m_operate = arg.GetArgString(L"operate");
+ m_sguid = arg.GetArgString(L"guid");
+ m_tvOrgID = arg.GetArgString(L"tvOrgID");//组织树的ID
+ m_tvOrgName = arg.GetArgString(L"tvOrgName");//组织树的Name
+ m_tvRootOrgID = arg.GetArgString(L"tvRootOrgID");//组织树的ID
+ m_tvRootOrgName = arg.GetArgString(L"tvRootOrgName");//组织树的Name
+ //alert(m_tvRootOrgName);
+ }
+ /*if ( m_sguid == L"" || m_sguid == nil)
+ {
+ m_sguid = GetGuid();//错误
+ trace(m_sguid);
+ }*/
+ if (m_sguid != L"") {
+ OnRetrieve();
+ };
+ if (m_operate == L"new0")
+ {
+ //trace(m_tvOrgID);
+ dw_detail.SetItemString(1, L"ParentOrgID", m_tvOrgID);
+ dw_detail.SetItemDisplayString(1, L"ParentOrgID", m_tvOrgName);
+ dw_detail.SetItemString(1, L"CompanyID", m_tvRootOrgID);
+ dw_detail.SetItemDisplayString(1, L"CompanyID", m_tvRootOrgName);
+ dw_detail.SetItemString(1, L"Status", L"Y");
+ //dw_detail.SetItemDisplayString(1,L"Status",L"有效");
+ }
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/business/Company/HrOrgType.cpp b/jrj/project/business/Company/HrOrgType.cpp
index 59517b6..da2986e 100644
--- a/jrj/project/business/Company/HrOrgType.cpp
+++ b/jrj/project/business/Company/HrOrgType.cpp
@@ -1,186 +1,192 @@
-use "win.vl"
-use "treeview.vm"
-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"
-unit vbusiness.xpage
-[
- HrOrgType is extend list;
- about HrOrgType
- [
- control:
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
- method:
- [
- xdwgrid__ dw_list;
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- 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;
- }
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrOrgType : public xwin
+{
+public:
+ xdwgrid dw_list;
- //焦点激活处理函数
- int OnSetFocus(ref TEvent evt, int p)
- {
- SetAgent();
+ xnode m_agentNode; //Agent Condition
+ xstring m_agentCond; //Agent Node
+public:
+ HrOrgType(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+public:
+ static HrOrgType* CreateInstance(void* implPtr, void* hWnd)
+ {
+ HrOrgType* pWin = new HrOrgType(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;
+ }
- //重置工具条
- return 1;
- }
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ SetAgent();
- int OnSave()
- {
- int hIcon = xutil__::SetCursorWait();
+ //重置工具条
+ return 1;
+ }
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- var xdoc = x.GetXmlDoc();
- dw_list.AcceptText();
- dw_list.DwUpdateAllTo(xdoc);//dw_list.DwUpdateAllTo(xdoc); //dw_list.DwUpdateTo(xdoc);
+ int OnSave()
+ {
+ HCURSOR hIcon = xutil::SetCursorWait();
- string val = xdoc.xml;
- xaserverarg__ args = new xaserverarg__;
- args.setNativePointer(args.CreateInstance());
- args.AddArg("content", val);
- //trace(val);
- //return 1;
- if (url::post("OrganizationStruct/update.HrOrgType", args.GetString(), x) != 1)
- {
- string error = x.GetXmlDoc().text;
- trace(error);
- xutil__::RestoreCursor(hIcon);
- return -1;
- }
+ xml x;
- xutil__::RestoreCursor(hIcon);
- win__::MessageBox(GetHWND(), "保存成功!", "提示", 0);
- return 1;
- }
+ var xdoc = x;
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllTo(xdoc);//dw_list.DwUpdateAllTo(xdoc); //dw_list.DwUpdateTo(xdoc);
- int OnRetrieve()
- {
- int hIcon = xutil__::SetCursorWait();
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- //arg.AddArg("guid","xxx");
- if (url::post("OrganizationStruct/list.HrOrgType", arg.GetString(), x) != 1)
- {
- trace(x.GetXmlDoc().text);
- return -1;
- }
- else
- {
- dw_list.Retrieve(x);
- dw_list.Redraw();
- }
- xutil__::RestoreCursor(hIcon);
- return 1;
- }
+ xstring val = xdoc.xml;
+ xaserverarg args;
+ args.setNativePointer(args.CreateInstance());
+ args.AddArg(L"content", val);
+ //trace(val);
+ //return 1;
+ if (xurl::post(L"OrganizationStruct/update.HrOrgType", args.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ trace(error);
+ xutil::RestoreCursor(hIcon);
+ return -1;
+ }
- int OnAddrow()
- {
- dw_list.InsertRow(0);
- return 1;
- }
+ xutil::RestoreCursor(hIcon);
+ MessageBox(GetHWND(), L"保存成功!", L"提示", 0);
+ return 1;
+ }
- int OnInsertrow()
- {
- int row = dw_list.GetRow();
- if (row < 1) return 0;
- dw_list.InsertRow(row);
- return 1;
- }
+ int OnRetrieve()
+ {
+ HCURSOR hIcon = xutil::SetCursorWait();
+ xml x;
- int OnDeleteRow()
- {
- int row = dw_list.GetRow();
- if (row < 1) return 0;
+ xaserverarg arg;
- msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
- string sguid = e.selectSingleNode("Code").text; //e.getAttribute("guid");
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("guid", sguid);
- //trace(sguid);
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- if (url::post("OrganizationStruct/delete.HrOrgType", arg.GetString(), x) != 1)
- {
- string error = x.GetXmlDoc().text;
- trace(error);
- }
- else
- {
- dw_list.DeleteRow(row);
- }
- return 1;
- }
+ //arg.AddArg(L"guid",L"xxx");
+ if (xurl::post(L"OrganizationStruct/list.HrOrgType", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ xutil::RestoreCursor(hIcon);
+ return 1;
+ }
- //命令发布函数
- int OnCmdDispatch(string comdid)
- {
- if (comdid == "save") OnSave();
- else if (comdid == "addrow") OnAddrow();
- else if (comdid == "insertrow") OnInsertrow();
- else if (comdid == "deleterow") OnDeleteRow();
+ int OnAddrow()
+ {
+ dw_list.InsertRow(0);
+ return 1;
+ }
- return 0;
- }
+ int OnInsertrow()
+ {
+ int row = dw_list.GetRow();
+ if (row < 1) return 0;
+ dw_list.InsertRow(row);
+ return 1;
+ }
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt, int p)
- {
- return OnCmdDispatch(evt.pStrID);
- }
+ int OnDeleteRow()
+ {
+ int row = dw_list.GetRow();
+ if (row < 1) return 0;
- int OnAttachEvent()
- {
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND", OnXCommand);
- //获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
- }
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ xstring sguid = e.selectSingleNode(L"Code").text(); //e.getAttribute(L"guid");
+ xaserverarg arg;
- int OnInitial()
- {
- SetAgent();
- OnAttachEvent();
- return 1;
- }
+ arg.AddArg(L"guid", sguid);
+ //trace(sguid);
+ xml x;
- int onload()
- {
- dw_list = new xdwgrid__;
- dw_list.setNativePointer(this.GetControl("dw_list"));
- dw_list.openUrl("组织架构.vface/template/HrOrg/orgtype");
- //dw_list.SetSelectionMode(1);
- //dw_list.SetReadOnly(true);
+ if (xurl::post(L"OrganizationStruct/delete.HrOrgType", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ trace(error);
+ }
+ else
+ {
+ dw_list.DeleteRow(row);
+ }
+ return 1;
+ }
- OnInitial();
- OnRetrieve();
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"save") OnSave();
+ else if (comdid == L"addrow") OnAddrow();
+ else if (comdid == L"insertrow") OnInsertrow();
+ else if (comdid == L"deleterow") OnDeleteRow();
- return 1;
- }
- ]
+ return 0;
+ }
- ]
-]
\ No newline at end of file
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&HrOrgType::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrOrgType::OnSetFocus);
+ return 1;
+ }
+
+ int OnInitial()
+ {
+ SetAgent();
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onload()
+ {
+ dw_list = new xdwgrid;
+ dw_list.setNativePointer(GetControl(L"dw_list"));
+ dw_list.openUrl(L"组织架构.vface/template/HrOrg/orgtype");
+ //dw_list.SetSelectionMode(1);
+ //dw_list.SetReadOnly(true);
+
+ OnInitial();
+ OnRetrieve();
+
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/business/Company/HrPersonAdd.cpp b/jrj/project/business/Company/HrPersonAdd.cpp
index 93fa835..595a32f 100644
--- a/jrj/project/business/Company/HrPersonAdd.cpp
+++ b/jrj/project/business/Company/HrPersonAdd.cpp
@@ -1,155 +1,155 @@
-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
-[
- HrPersonAdd is extend frame;
- about HrPersonAdd
- [
- field:
- [
- HrEmployee lw_obj;
- xdwgrid__ dw_list;
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- string m_sTxt;
- ]
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrPersonAdd : 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:
+ HrPersonAdd(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+ static HrPersonAdd* CreateInstance(void* implPtr, void* hWnd)
+ {
+ HrPersonAdd* pWin = new HrPersonAdd(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.Person", 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()
+ {
+ control xc = new control;
+ xc.setNativePointer(GetControl(L"QueryTxt"));
+ m_sTxt = xc.GetText() + L"";
+ xml x;
- int OnOK(string comdid)
- {
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg = win__::GetParam();
- arg.AddArg("comdid", comdid);
+ xaserverarg arg;
- int row = dw_list.GetNextSelectRow(1);
- if (row < 1)
- {
- alert("请选择人员!");
- return 1;
- }
+ arg.AddArg(L"sTxt", m_sTxt);
+ if (xurl::post(L"OrganizationStruct/select.Person", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ dw_list.SetReadOnly(true);
+ }
+ return 1;
+ }
- while (row > 0)
- {
- msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
- string sPersonID = e.selectSingleNode("PersonID").text + "";
- string sPersonName = e.selectSingleNode("Name").text + "";
- arg.AddArg("sPersonID", sPersonID);
- arg.AddArg("sPersonName", sPersonName);
- row = dw_list.GetNextSelectRow(row + 1);
- }
- CloseWindow();
- return 1;
- }
+ int OnOK(xstring comdid)
+ {
+ xaserverarg arg;
- //命令发布函数
- int OnCmdDispatch(string comdid)
- {
- if (comdid == "xmOk")
- OnOK(comdid);
- else if (comdid == "query")
- OnRetrieve();
- else if (comdid == "xmCancel")
- CloseWindow();
- return 0;
- }
+ arg = GetArg();
+ arg.AddArg(L"comdid", comdid);
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt, int param)
- {
- return OnCmdDispatch(evt.pStrID);
- }
+ int row = dw_list.GetNextSelectRow(1);
+ if (row < 1)
+ {
+ alert(L"请选择人员!");
+ return 1;
+ }
- int OnAttachEvent()
- {
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND", OnXCommand);
- //获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
- }
+ while (row > 0)
+ {
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ xstring sPersonID = e.selectSingleNode(L"PersonID").text() + (xstring)L"";
+ xstring sPersonName = e.selectSingleNode(L"Name").text() + (xstring)L"";
+ arg.AddArg(L"sPersonID", sPersonID);
+ arg.AddArg(L"sPersonName", sPersonName);
+ row = dw_list.GetNextSelectRow(row + 1);
+ }
+ CloseWindow();
+ return 1;
+ }
- int OnInitial()
- {
- SetAgent();
- OnAttachEvent();
- return 1;
- }
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmOk")
+ OnOK(comdid);
+ else if (comdid == L"query")
+ OnRetrieve();
+ else if (comdid == L"xmCancel")
+ CloseWindow();
+ return 0;
+ }
- int onload()
- {
- dw_list = new xdwgrid__;
- dw_list.setNativePointer(this.GetControl("dw_list"));
- dw_list.openUrl("组织架构.vface/template/HrEmployee/PersonSel");
- dw_list.SetSelectionMode(4); //3
- dw_list.SetReadOnly(true);
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&HrPersonAdd::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrPersonAdd::OnSetFocus);
+ return 1;
+ }
- OnInitial();
- OnRetrieve();
+ int OnInitial()
+ {
+ SetAgent();
+ OnAttachEvent();
+ return 1;
+ }
- return 1;
- }
- ]
+ int onload()
+ {
+ SetArg();
+ dw_list = new xdwgrid;
+ dw_list.setNativePointer(GetControl(L"dw_list"));
+ dw_list.openUrl(L"组织架构.vface/template/HrEmployee/PersonSel");
+ dw_list.SetSelectionMode(4); //3
+ dw_list.SetReadOnly(true);
- ]
-]
\ No newline at end of file
+ OnInitial();
+ OnRetrieve();
+
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/business/Company/HrPersonMaint.cpp b/jrj/project/business/Company/HrPersonMaint.cpp
index b5252a8..5a84680 100644
--- a/jrj/project/business/Company/HrPersonMaint.cpp
+++ b/jrj/project/business/Company/HrPersonMaint.cpp
@@ -1,371 +1,377 @@
-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 "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
-[
- HrPersonMaint is extend frame;
- about HrPersonMaint
- [
- control:
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- method:
- [
- xdwtable__ dw_1;
- string m_operate;
- string m_sguid;
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrPersonMaint : public xframe
+{
+public:
+ xdwtable dw_1;
+ xstring m_operate;
+ xstring m_sguid;
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- int SetAgent()
+ xnode m_agentNode; //Agent Condition
+ xstring m_agentCond; //Agent Node
+public:
+ HrPersonMaint(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+ static HrPersonMaint* CreateInstance(void* implPtr, void* hWnd)
+ {
+ HrPersonMaint* pWin = new HrPersonMaint(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(TEvent* evt, LPARAM param)
+ {
+ SetAgent();
+
+ //重置工具条
+ return 1;
+ }
+
+ int OnSave()
+ {
+ HCURSOR hIcon = xutil::SetCursorWait();
+
+ xstring val;
+ xml x;
+
+ var xdoc = x;
+ dw_1.AcceptText();
+ dw_1.DwUpdateAllTo(xdoc);
+ val = xdoc.xml;
+ //trace(val);
+ xaserverarg args;
+ args.setNativePointer(args.CreateInstance());
+ args.AddArg(L"content", val);
+ //trace(m_EntityValueEx);
+ //trace(val);
+ xml x1;
+
+ if (xurl::post(L"OrganizationStruct/update.HrPerson", args.GetString(), x1) != 1)
+ {
+ xstring error = x1.text();
+ trace(error);
+ return 1;
+ }
+ else
+ {
+ trace(x1.xml());
+ MessageBox(GetHWND(), L"保存成功!", L"提示", 0);
+ }
+ dw_1.ResetUpdateStatus();
+ xutil::RestoreCursor(hIcon);
+ return 1;
+ }
+
+ int OnAddRow()
+ {
+ xdwtable dw = new xdwtable;
+ dw.setNativePointer(dw_1.GetCurTable());
+ xstring dw_n = dw.GetDwName();
+ if (dw_n == L"HrEmployee")
+ dw.InsertRow(0);
+ return 1;
+ }
+
+ int OnInsertRow()
+ {
+ xdwtable dw = new xdwtable;
+ dw.setNativePointer(dw_1.GetCurTable());
+ xstring dw_n = dw.GetDwName();
+ if (dw_n == L"HrEmployee")
+ {
+ int row = dw.GetRow();
+ dw.InsertRow(row);
+ }
+ return 1;
+ }
+
+ int OnDeleteRow()
+ {
+ xdwtable dw = new xdwtable;
+ dw.setNativePointer(dw_1.GetCurTable());
+ xstring dw_n = dw.GetDwName();
+ if (dw_n == L"HrEmployee")
+ {
+ int row = dw.GetRow();
+ dw.DeleteRow(row);
+ }
+ return 1;
+ }
+
+ int OnUpdateAssignmentView()
+ {
+ xml x1;
+
+ if (xurl::post(L"OrganizationStruct/update.Assignmentview", L"", x1) != 1)
+ {
+ xstring error = x1.text();
+ trace(error);
+ return 1;
+ }
+ else
+ {
+ trace(x1.xml());
+ MessageBox(GetHWND(), L"更新成功!", L"提示", 0);
+ }
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"Save") OnSave();
+ else if (comdid == L"AddRow") OnAddRow();
+ else if (comdid == L"InsertRow") OnInsertRow();
+ else if (comdid == L"DeleteRow") OnDeleteRow();
+ else if (comdid == L"Close") CloseWindow();
+ else if (comdid == L"UpdateAssignmentView")
+ OnUpdateAssignmentView();
+ return 0;
+ }
+
+ int OnChildContent(TEvent* evt, int p)
+ {
+ DWNMHDR& dwhdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring col = dwhdr.colname;
+ if (col != L"") {
+ xml x;
+
+ xaserverarg arg;
+
+ xstring query;
+ query = L"[IResourceMSSql.xq]";
+ if (col == L"PositionID") {
+ arg.AddArg(L"ResourceType", L"HrPosition");
+ }
+ if (xaserver::ExecXQuery(GetServerUrl(), query, arg.GetString(), x) == 1)
+ dwhdr.data = x.xml();
+ //trace(x.GetXml());
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, int p)
+ {
+ DWNMHDR& dwhdr = *(DWNMHDR*)evt->notify.pnmh;
+ HCURSOR HCursor = xutil::SetCursorWait();
+
+
+ int row = dwhdr.row;
+ xstring col = dwhdr.colname;
+ xstring data = dwhdr.data;
+ trace(xstring(row));
+
+ if (col == L"Name")
+ {
+ xstring Name = dw_1.GetItemString(1, L"Name");
+
+ xml xs;
+
+ xaserverarg args;
+ args.setNativePointer(args.CreateInstance());
+ args.AddArg(L"Name", Name);
+ if (xurl::get(L"/sale/data/ManpowerFile/GetUserName", args.GetString(), xs) != 1)
+ {
+ trace(xs.text());
+ return -1;
+ }
+ else
+ {
+ KXMLDOMNodeList items = xs.selectNodes(L"data/Item");
+ int len = items.length();
+ if (len != 0)
{
- 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;
+ KXMLDOMNode t = items.item(0);
+
+ xstring english_name = L"";
+ xstring sex = L"";
+ xstring sexex = L"";
+ xstring birth_date = L"";
+ xstring contact = L"";
+ xstring induction_time = L"";
+ xstring household_register = L"";
+ xstring EmailAddress = L"";
+ if (t.selectSingleNode(L"english_name")) english_name = t.selectSingleNode(L"english_name").text();
+ if (t.selectSingleNode(L"sex")) sex = t.selectSingleNode(L"sexex").text();
+ if (t.selectSingleNode(L"sexex")) sexex = t.selectSingleNode(L"sexex").text();
+ if (t.selectSingleNode(L"birth_date")) birth_date = t.selectSingleNode(L"birth_date").text();
+ if (t.selectSingleNode(L"contact")) contact = t.selectSingleNode(L"contact").text();
+ if (t.selectSingleNode(L"induction_time")) induction_time = t.selectSingleNode(L"induction_time").text();
+ if (t.selectSingleNode(L"household_register")) household_register = t.selectSingleNode(L"household_register").text();
+ if (t.selectSingleNode(L"EmailAddress")) EmailAddress = t.selectSingleNode(L"EmailAddress").text();
+
+ dw_1.SetItemString(1, L"NickName", english_name);
+ dw_1.SetItemDisplayString(1, L"Gender", sexex);
+ dw_1.SetItemString(1, L"Gender", sex);
+ dw_1.SetItemString(1, L"Birthday", birth_date);
+ dw_1.SetItemString(1, L"Mobile", contact);
+ dw_1.SetItemString(1, L"HireDate", induction_time);
+ dw_1.SetItemString(1, L"BirthPlace", household_register);
+ dw_1.SetItemString(1, L"Email", EmailAddress);
}
+ }
- //焦点激活处理函数
- int OnSetFocus(ref TEvent evt, int p)
- {
- SetAgent();
+ }
+ if (col == L"PositionID")
+ {
+ xdwtable dw_HrEmployee = new xdwtable;
+ dw_HrEmployee.setNativePointer(dw_1.FindDwTable(L"HrEmployee"));
+ xstring sPositionID = dw_HrEmployee.GetItemString(row, L"PositionID");
- //重置工具条
- return 1;
- }
+ if (sPositionID == L"")
+ return 1;
+ xml x;
- int OnSave()
- {
- int hIcon = xutil__::SetCursorWait();
+ xaserverarg arg;
- string val;
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- var xdoc = x.GetXmlDoc();
- dw_1.AcceptText();
- dw_1.DwUpdateAllTo(xdoc);
- val = xdoc.xml;
- //trace(val);
- xaserverarg__ args = new xaserverarg__;
- args.setNativePointer(args.CreateInstance());
- args.AddArg("content", val);
- //trace(m_EntityValueEx);
- //trace(val);
- xml__ x1 = new xml__;
- x1.setNativePointer(x1.CreateInstance());
- if (url::post("OrganizationStruct/update.HrPerson", args.GetString(), x1) != 1)
- {
- string error = x1.GetXmlDoc().text;
- trace(error);
- return 1;
- }
- else
- {
- trace(x1.GetXml());
- win__::MessageBox(GetHWND(), "保存成功!", "提示", 0);
- }
- dw_1.ResetUpdateStatus();
- xutil__::RestoreCursor(hIcon);
- return 1;
- }
+ arg.AddArg(L"guid", sPositionID);
+ arg.AddArg(L"type", L"GetOrgIDJobID");
+ //trace(arg.GetString());
+ if (xurl::get(L"OrganizationStruct/GetOrgIDJobID", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ KXMLDOMDocument xdoc = x;
+ //IXMLDOMNodeList nlist = xdoc.getElementsByTagName(L"OrgID");
+ KXMLDOMElement e = xdoc.documentElement();
+ xstring sOrgID = e.selectSingleNode(L"@OrgID").text();
+ xstring sJobID = e.selectSingleNode(L"@JobID").text();
+ dw_HrEmployee.SetItemString(row, L"OrgID", sOrgID);
+ dw_HrEmployee.SetItemString(row, L"JobID", sJobID);
+ xstring sdate = publiccode::GetCurrentDate() + (xstring)L"";
+ dw_HrEmployee.SetItemString(row, L"StartDate", sdate + L"");
+ dw_HrEmployee.SetItemString(row, L"EndDate", L"2050-12-31");
+ }
+ }
- int OnAddRow()
- {
- xdwtable__ dw = new xdwtable__;
- dw.setNativePointer(dw_1.GetCurTable());
- string dw_n = dw.GetDwName();
- if (dw_n == "HrEmployee")
- dw.InsertRow(0);
- return 1;
- }
+ xutil::RestoreCursor(HCursor);
- int OnInsertRow()
- {
- xdwtable__ dw = new xdwtable__;
- dw.setNativePointer(dw_1.GetCurTable());
- string dw_n = dw.GetDwName();
- if (dw_n == "HrEmployee")
- {
- int row = dw.GetRow();
- dw.InsertRow(row);
- }
- return 1;
- }
+ return 0;
+ }
- int OnDeleteRow()
- {
- xdwtable__ dw = new xdwtable__;
- dw.setNativePointer(dw_1.GetCurTable());
- string dw_n = dw.GetDwName();
- if (dw_n == "HrEmployee")
- {
- int row = dw.GetRow();
- dw.DeleteRow(row);
- }
- return 1;
- }
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
- int OnUpdateAssignmentView()
- {
- xml__ x1 = new xml__;
- x1.setNativePointer(x1.CreateInstance());
- if (url::post("OrganizationStruct/update.Assignmentview", "", x1) != 1)
- {
- string error = x1.GetXmlDoc().text;
- trace(error);
- return 1;
- }
- else
- {
- trace(x1.GetXml());
- win__::MessageBox(GetHWND(), "更新成功!", "提示", 0);
- }
- return 1;
- }
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&HrPersonMaint::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrPersonMaint::OnSetFocus);
+ //下拉框 提供内容
+ AttachEvent(L"dw_detail", L"DWV_CHILDCONTENT", (FEvent)&HrPersonMaint::OnChildContent);
+ //内容改变
+ AttachEvent(L"dw_detail", L"DWV_ITEMCHANGED", (FEvent)&HrPersonMaint::OnItemChanged);
+ //
+ //AttachEvent(L"dw_detail",L"DWV_ITEMFOCUSCHANGED",OnItemFocusChanged);
+ return 1;
+ }
- //命令发布函数
- int OnCmdDispatch(string comdid)
- {
- if (comdid == "Save") OnSave();
- else if (comdid == "AddRow") OnAddRow();
- else if (comdid == "InsertRow") OnInsertRow();
- else if (comdid == "DeleteRow") OnDeleteRow();
- else if (comdid == "Close") CloseWindow();
- else if (comdid == "UpdateAssignmentView")
- OnUpdateAssignmentView();
- return 0;
- }
+ int OnRetrieve()
+ {
+ xml x;
- int OnChildContent(ref TNotifyEvent evt, int p) {
- ref DWNMHDR dwhdr = evt.pnmh;
- string col = dwhdr.colname;
- if (col != "") {
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- string query;
- query = "[IResourceMSSql.xq]";
- if (col == "PositionID") {
- arg.AddArg("ResourceType", "HrPosition");
- }
- if (xaserver__::ExecXQuery(GetServerUrl(), query, arg.GetString(), x) == 1)
- dwhdr.data = x.GetXml();
- //trace(x.GetXml());
- }
- return 1;
- }
+ xaserverarg arg;
- int OnItemChanged(ref TNotifyEvent evt, int p)
- {
- int HCursor = xutil__::SetCursorWait();
+ arg.AddArg(L"guid", m_sguid);
+ if (xurl::get(L"OrganizationStruct/detail.HrPerson", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_1.Retrieve(x);
+ dw_1.Redraw();
+ //trace(x.GetXml());
+ }
- ref DWNMHDR dwhdr = evt.pnmh;
- int row = dwhdr.row;
- string col = dwhdr.colname;
- string data = dwhdr.data;
- trace(row);
+ return 1;
+ }
- if (col == "Name")
- {
- string Name = dw_1.GetItemString(1, "Name", 0);
+ int OnInitial()
+ {
+ SetAgent();
- xml__ xs = new xml__;
- xs.setNativePointer(xs.CreateInstance());
- xaserverarg__ args = new xaserverarg__;
- args.setNativePointer(args.CreateInstance());
- args.AddArg("Name", Name);
- if (url::get("/sale/data/ManpowerFile/GetUserName", args.GetString(), xs) != 1)
- {
- trace(xs.GetXmlDoc().text);
- return -1;
- }
- else
- {
- msxml::IXMLDOMNodeList items = xs.GetXmlDoc().selectNodes("data/Item");
- int len = items.length;
- if (len != 0)
- {
- msxml::IXMLDOMNode t = items.item(0);
+ OnAttachEvent();
- string english_name = "";
- string sex = "";
- string sexex = "";
- string birth_date = "";
- string contact = "";
- string induction_time = "";
- string household_register = "";
- string EmailAddress = "";
- if (t.selectSingleNode("english_name")) english_name = t.selectSingleNode("english_name").text;
- if (t.selectSingleNode("sex")) sex = t.selectSingleNode("sexex").text;
- if (t.selectSingleNode("sexex")) sexex = t.selectSingleNode("sexex").text;
- if (t.selectSingleNode("birth_date")) birth_date = t.selectSingleNode("birth_date").text;
- if (t.selectSingleNode("contact")) contact = t.selectSingleNode("contact").text;
- if (t.selectSingleNode("induction_time")) induction_time = t.selectSingleNode("induction_time").text;
- if (t.selectSingleNode("household_register")) household_register = t.selectSingleNode("household_register").text;
- if (t.selectSingleNode("EmailAddress")) EmailAddress = t.selectSingleNode("EmailAddress").text;
+ return 1;
+ }
- dw_1.SetItemString(1, "NickName", english_name);
- dw_1.SetItemDisplayString(1, "Gender", sexex);
- dw_1.SetItemString(1, "Gender", sex);
- dw_1.SetItemString(1, "Birthday", birth_date);
- dw_1.SetItemString(1, "Mobile", contact);
- dw_1.SetItemString(1, "HireDate", induction_time);
- dw_1.SetItemString(1, "BirthPlace", household_register);
- dw_1.SetItemString(1, "Email", EmailAddress);
- }
- }
+ int onload()
+ {
+ SetArg();
+ dw_1 = new xdwtable;
+ dw_1.setNativePointer(GetControl(L"dw_detail"));
+ dw_1.openUrl(L"组织架构.vface/template/HrPerson/maint");
+ OnInitial();
- }
- if (col == "PositionID")
- {
- xdwtable__ dw_HrEmployee = new xdwtable__;
- dw_HrEmployee.setNativePointer(dw_1.FindDwTable("HrEmployee"));
- string sPositionID = dw_HrEmployee.GetItemString(row, "PositionID");
+ xaserverarg arg;
- if (sPositionID == "" || sPositionID == nil)
- return 1;
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("guid", sPositionID);
- arg.AddArg("type", "GetOrgIDJobID");
- //trace(arg.GetString());
- if (url::get("OrganizationStruct/GetOrgIDJobID", arg.GetString(), x) != 1)
- {
- trace(x.GetXmlDoc().text);
- return -1;
- }
- else
- {
- msxml::IXMLDOMDocument xdoc = x.GetXmlDoc();
- //IXMLDOMNodeList nlist = xdoc.getElementsByTagName("OrgID");
- msxml::IXMLDOMElement e = xdoc.documentElement;
- string sOrgID = e.SelectSingleNode("@OrgID").text;
- string sJobID = e.SelectSingleNode("@JobID").text;
- dw_HrEmployee.SetItemString(row, "OrgID", sOrgID);
- dw_HrEmployee.SetItemString(row, "JobID", sJobID);
- string sdate = publiccode::GetCurDate() + "";
- dw_HrEmployee.SetItemString(row, "StartDate", sdate + "");
- dw_HrEmployee.SetItemString(row, "EndDate", "2050-12-31");
- }
- }
+ arg = GetArg();
+ if (arg)
+ {
+ m_operate = arg.GetArgString(L"operate");
+ m_sguid = arg.GetArgString(L"guid");
+ }
- xutil__::RestoreCursor(HCursor);
+ /*if ( m_sguid == L"" || m_sguid == nil)
+ {
+ xstring val;
+ xml x ;
- return 0;
- }
+ var xdoc = x;
+ dw_1.DwUpdateTo(xdoc);
+ val = xdoc.xml ;
- //命令处理事件
- int OnXCommand(ref TXCommandEvent evt, int p)
- {
- return OnCmdDispatch(evt.pStrID);
- }
-
- int OnAttachEvent()
- {
- //绑定工具条点击事件
- AttachEvent("WM_XCOMMAND", OnXCommand);
- //获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
- //下拉框 提供内容
- AttachEvent("dw_detail", "DWV_CHILDCONTENT", OnChildContent);
- //内容改变
- AttachEvent("dw_detail", "DWV_ITEMCHANGED", OnItemChanged);
- //
- //AttachEvent("dw_detail","DWV_ITEMFOCUSCHANGED",OnItemFocusChanged);
- }
-
- int OnRetrieve()
- {
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("guid", m_sguid);
- if (url::get("OrganizationStruct/detail.HrPerson", arg.GetString(), x) != 1)
- {
- trace(x.GetXmlDoc().text);
- return -1;
- }
- else
- {
- dw_1.Retrieve(x);
- dw_1.Redraw();
- //trace(x.GetXml());
- }
-
- return 1;
- }
-
- int OnInitial()
- {
- SetAgent();
-
- OnAttachEvent();
-
- return 1;
- }
-
- int onload()
- {
-
- dw_1 = new xdwtable__;
- dw_1.setNativePointer(this.GetControl("dw_detail"));
- dw_1.openUrl("组织架构.vface/template/HrPerson/maint");
- OnInitial();
-
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg = this.GetParam();
- if (arg)
- {
- m_operate = arg.GetArgString("operate");
- m_sguid = arg.GetArgString("guid");
- }
-
- /*if ( m_sguid == "" || m_sguid == nil)
- {
- string val;
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- var xdoc = x.GetXmlDoc();
- dw_1.DwUpdateTo(xdoc);
- val = xdoc.xml ;
-
- xml__ xx = new xml__;
- xx.setNativePointer(xx.CreateInstance());
- xx.loadXML(val);
- msxml::IXMLDOMElement e;
- e = xx.GetXmlDoc().selectSingleNode("HrPerson");
- if (e)
- {
- string sguid = e.getAttribute("guid");
- m_sguid = sguid;
- }
- //trace(m_sguid);
- }*/
- if (m_sguid != "")
- OnRetrieve();
- return 1;
- }
- ]
-
- ]
-]
\ No newline at end of file
+ xml xx ;
+ xx.setNativePointer(xx.CreateInstance());
+ xx.loadXML(val);
+ KXMLDOMElement e;
+ e = xx.selectSingleNode(L"HrPerson");
+ if (e)
+ {
+ xstring sguid = e.getAttribute(L"guid");
+ m_sguid = sguid;
+ }
+ //trace(m_sguid);
+ }*/
+ if (m_sguid != L"")
+ OnRetrieve();
+ return 1;
+ }
+};
\ No newline at end of file
diff --git a/jrj/project/business/Company/HrPersonSel.cpp b/jrj/project/business/Company/HrPersonSel.cpp
index ce87a12..6be1bc1 100644
--- a/jrj/project/business/Company/HrPersonSel.cpp
+++ b/jrj/project/business/Company/HrPersonSel.cpp
@@ -1,51 +1,53 @@
-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[HrEmployeex.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
-[
- HrPersonSel is extend frame;
- about HrPersonSel
- [
- field:
- [
- HrEmployeex lw_obj;
- xdwgrid__ dw_list;
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- string m_sTxt;
- ]
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrPersonSel : public xframe
+{
+public:
+ HrEmployeex 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:
+ HrPersonSel(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+ static HrPersonSel* CreateInstance(void* implPtr, void* hWnd)
+ {
+ HrPersonSel* pWin = new HrPersonSel(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)
+ int OnSetFocus(TEvent* evt, LPARAM param)
{
SetAgent();
//重置工具条
@@ -54,19 +56,19 @@
int OnRetrieve()
{
- control__ xc = new control__;
- xc.setNativePointer(this.GetControl("QueryTxt"));
- m_sTxt = xc.GetText() + "";
- string query = "[MSSqlHrJob.xq]";
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("sTxt", m_sTxt);
- //if (xaserver__::ExecXQuery(GetServerUrl(),query,arg.GetString(),x)!=1
- if (url::post("OrganizationStruct/select.Employee", arg.GetString(), x) != 1)
+ control xc = new control;
+ xc.setNativePointer(GetControl(L"QueryTxt"));
+ m_sTxt = xc.GetText() + L"";
+ xstring query = L"[MSSqlHrJob.xq]";
+ xml x;
+
+ xaserverarg arg;
+
+ arg.AddArg(L"sTxt", m_sTxt);
+ //if (xaserver::ExecXQuery(GetServerUrl(),query,arg.GetString(),x)!=1
+ if (xurl::post(L"OrganizationStruct/select.Employee", arg.GetString(), x) != 1)
{
- trace(x.GetXmlDoc().text);
+ trace(x.text());
return -1;
}
else
@@ -80,52 +82,53 @@
int OnOK()
{
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg = win__::GetParam();
- arg.AddArg("comdid", "xmOk");
+ xaserverarg arg;
+
+ arg =GetArg();
+ arg.AddArg(L"comdid", L"xmOk");
int row = dw_list.GetNextSelectRow(1);
if (row < 1)
{
- alert("请选择人员!");
+ alert(L"请选择人员!");
return 1;
}
- msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
- trace(e.xml);
- string EmployeeID = e.selectSingleNode("EmployeeID").text + "";
- string Name = e.selectSingleNode("Name").text + "";
- arg.AddArg("EmployeeID", EmployeeID);
- arg.AddArg("Name", Name);
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ trace(e.xml());
+ xstring EmployeeID = e.selectSingleNode(L"EmployeeID").text() + (xstring)L"";
+ xstring Name = e.selectSingleNode(L"Name").text() + (xstring)L"";
+ arg.AddArg(L"EmployeeID", EmployeeID);
+ arg.AddArg(L"Name", Name);
CloseWindow();
return 1;
}
//命令发布函数
- int OnCmdDispatch(string comdid)
+ int OnCmdDispatch(xstring comdid)
{
- if (comdid == "xmOk")
+ if (comdid == L"xmOk")
OnOK();
- else if (comdid == "query")
+ else if (comdid == L"query")
{
OnRetrieve();
}
- else if (comdid == "xmCancel")
+ else if (comdid == L"xmCancel")
CloseWindow();
return 0;
}
//命令处理事件
- int OnXCommand(ref TXCommandEvent evt, int param)
+ 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)&HrPersonSel::OnXCommand);
//获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrPersonSel::OnSetFocus);
+ return 1;
}
int OnInitial()
@@ -137,9 +140,10 @@
int onload()
{
- dw_list = new xdwgrid__;
- dw_list.setNativePointer(this.GetControl("dw_list"));
- dw_list.openUrl("组织架构.vface/template/HrEmployee/PersonSel");
+ SetArg();
+ 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);
@@ -148,7 +152,4 @@
return 1;
}
- ]
-
- ]
-]
\ No newline at end of file
+};
\ No newline at end of file
diff --git a/jrj/project/business/Company/HrPosition.cpp b/jrj/project/business/Company/HrPosition.cpp
index 3acacfb..de946c5 100644
--- a/jrj/project/business/Company/HrPosition.cpp
+++ b/jrj/project/business/Company/HrPosition.cpp
@@ -1,50 +1,54 @@
-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"
+#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
-[
- HrPosition is extend frame;
- about HrPosition
- [
- field:
- [
- treeview__ tv_org;
- xdwgrid__ dw_list;
- string sOrgID;
- string sOrgName;
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- ]
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrPosition : public xframe
+{
+public:
+ xtreeview tv_org;
+ xdwgrid dw_list;
+ xstring sOrgID;
+ xstring sOrgName;
- 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
+public:
+ HrPosition(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+ static HrPosition* CreateInstance(void* implPtr, void* hWnd)
+ {
+ HrPosition* pWin = new HrPosition(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)
+ int OnSetFocus(TEvent* evt, LPARAM param)
{
SetAgent();
@@ -52,82 +56,82 @@
return 1;
}
- int OnRetrieve(string ls_orgid)
+ int OnRetrieve(xstring ls_orgid)
{
- string query = "[MSSqlHrPosition.xq]";
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("orgID", ls_orgid);
- //if (xaserver__::ExecXQuery(GetServerUrl(),query,arg.GetString(),x)!=1)
- if (url::post("OrganizationStruct/list.Position", arg.GetString(), x) != 1)
+ xstring query = L"[MSSqlHrPosition.xq]";
+ xml x;
+
+ xaserverarg arg;
+
+ arg.AddArg(L"orgID", ls_orgid);
+ //if (xaserver::ExecXQuery(GetServerUrl(),query,arg.GetString(),x)!=1)
+ if (xurl::post(L"OrganizationStruct/list.Position", arg.GetString(), x) != 1)
{
- trace(x.GetXmlDoc().text);
+ trace(x.text());
return -1;
}
else
{
//trace(x.GetXml());
- //dw_list.openUrl("组织架构.vface/template/HrPosition/list");
+ //dw_list.openUrl(L"组织架构.vface/template/HrPosition/list");
dw_list.Retrieve(x);
dw_list.Redraw();
}
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);
- string ls_orgid = ele.selectSingleNode("@guid").text;
- sOrgID = ls_orgid + "";
- sOrgName = ele.selectSingleNode("OrgName").text;
+ //int wid = tv_org.GetId();
+ HTREEITEM hitem = tv_org.GetSelectedItem();
+ KXMLDOMElement ele = tv_org.GetItemData(hitem);
+ xstring ls_orgid = ele.selectSingleNode(L"@guid").text();
+ sOrgID = ls_orgid + L"";
+ sOrgName = ele.selectSingleNode(L"OrgName").text();
OnRetrieve(ls_orgid);
return 1;
}
int OnSave()
{
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- dw_list.AcceptText();
- dw_list.DwUpdateAllToEx(x.GetXmlDoc());
+ xml x;
- string xdata = x.GetXml();
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("xdata", xdata);
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+
+ xstring xdata = x.xml();
+ xaserverarg arg;
+
+ arg.AddArg(L"xdata", xdata);
//trace(x.GetXml());
//return 1;
- //string xAction="[MSSqlHrPositionUpdate.xa]";
- //if(xaserver__::ExecXAction(GetServerUrl(),xAction,arg.GetString())!=1)
- if (url::post("OrganizationStruct/update.Position", arg.GetString(), x) != 1)
+ //xstring xAction=L"[MSSqlHrPositionUpdate.xa]";
+ //if(xaserver::ExecXAction(GetServerUrl(),xAction,arg.GetString())!=1)
+ if (xurl::post(L"OrganizationStruct/update.Position", arg.GetString(), x) != 1)
{
- trace(x.GetXmlDoc().documentElement.text);
- alert("保存失败1");
+ trace(x.documentElement().text());
+ alert(L"保存失败1");
}
else
{
dw_list.ResetUpdateStatus();
- alert("保存成功");
+ alert(L"保存成功");
}
return 1;
}
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;
}
- //openUrl("组织架构.vface/xpage/Hr/HrPositionAdd", this);
- OpenWindow("dev:xpage[HrPositionAdd.vx]", this);
+ //openUrl(L"组织架构.vface/xpage/Hr/HrPositionAdd", this);
+ OpenWindow(L"dev:xpage[HrPositionAdd.vx]", this);
return 1;
}
@@ -143,102 +147,104 @@
int row = dw_list.GetRow();
if (row > 0)
{
- string sPositionName = dw_list.GetItemString(row, "PositionName", 0);
- int del_flog = win__::MessageBox(0, "确定要删除选中的岗位 " + sPositionName + " 吗?", "提示", 4);
+ xstring sPositionName = dw_list.GetItemString(row, L"PositionName");
+ int del_flog =MessageBox(0, L"确定要删除选中的岗位 " + sPositionName + L" 吗?", L"提示", 4);
if (del_flog == 7) { return 0; }
//判断HrEmployee里面是否存在该岗位
- //string sPositionID = dw_list.GetItemString(row,"PositionID",0);
- msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
- string sPositionID = e.selectSingleNode("@guid").text;
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ args = new xaserverarg__;
- args.setNativePointer(args.CreateInstance());
- args.AddArg("guid", sPositionID);
- //if(xaserver__::ExecXQuery(GetServerUrl(),"[HrpositionSel.xq]",args.GetString(),x)!=1)
- if (url::post("OrganizationStruct/select.Position", args.GetString(), x) != 1)
+ //xstring sPositionID = dw_list.GetItemString(row,L"PositionID",0);
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ xstring sPositionID = e.selectSingleNode(L"@guid").text();
+ xml x;
+
+ xaserverarg args;
+
+ args.AddArg(L"guid", sPositionID);
+ //if(xaserver::ExecXQuery(GetServerUrl(),L"[HrpositionSel.xq]",args.GetString(),x)!=1)
+ if (xurl::post(L"OrganizationStruct/select.Position", args.GetString(), x) != 1)
{
- trace(x.GetXml());
+ trace(x.xml());
return 0;
}
- var doc = x.GetXmlDoc();
- string cnt = doc.text;
+ var doc = x;
+ xstring cnt = doc.text();
int ll_cnt = cnt.toInt();
if (ll_cnt == 0) //判断HrEmploee里面是否存在该岗位
{
args.ClearArgs();
- //xaserverarg__ Args = new xaserverarg__;
+ //xaserverarg Args;
//Args.setNativePointer(Args.CreateInstance());
- args.AddArg("guid", sPositionID);
- //if(xaserver__::ExecXAction(GetServerUrl(),"[HrPositionDel.xa]",Args.GetString(),x)!=1)
- if (url::post("OrganizationStruct/delete.Position", args.GetString(), x) != 1)
+ args.AddArg(L"guid", sPositionID);
+ //if(xaserver::ExecXAction(GetServerUrl(),L"[HrPositionDel.xa]",Args.GetString(),x)!=1)
+ if (xurl::post(L"OrganizationStruct/delete.Position", args.GetString(), x) != 1)
{
- trace(x.GetXmlDoc().documentElement.text);
- alert("删除失败");
+ trace(x.documentElement().text());
+ alert(L"删除失败");
}
else {
dw_list.DeleteRow(row);
- alert("删除成功");
+ alert(L"删除成功");
}
}
else
{
- alert("其他地方已经使用该岗位,不允许删除!");
+ alert(L"其他地方已经使用该岗位,不允许删除!");
return 0;
}
}
return 1;
}
- int OnChildContent(ref TNotifyEvent evt, int param) {
- ref DWNMHDR dwhdr = evt.pnmh;
- string col = dwhdr.colname;
- if (col != "") {
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- string query;
- query = "[IResourceMSSql.xq]";
- if (col == "OrgID") {
- arg.AddArg("ResourceType", "HrOrg");
+ int OnChildContent(TEvent* evt, int p)
+ {
+ DWNMHDR& dwhdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring col = dwhdr.colname;
+ if (col != L"") {
+ xml x;
+
+ xaserverarg arg;
+
+ xstring query;
+ query = L"[IResourceMSSql.xq]";
+ if (col == L"OrgID") {
+ arg.AddArg(L"ResourceType", L"HrOrg");
}
- else if (col == "JobID") {
- arg.AddArg("ResourceType", "HrJob");
+ else if (col == L"JobID") {
+ arg.AddArg(L"ResourceType", L"HrJob");
}
- if (xaserver__::ExecXQuery(GetServerUrl(), query, arg.GetString(), x) == 1)
- dwhdr.data = x.GetXml();
+ if (xaserver::ExecXQuery(GetServerUrl(), query, arg.GetString(), x) == 1)
+ dwhdr.data = x.xml();
//trace(x.GetXml());
}
return 1;
}
//命令发布函数
- int OnCmdDispatch(string comdid)
+ int OnCmdDispatch(xstring comdid)
{
- if (comdid == "Save") OnSave();
- else if (comdid == "AddRow") OnAddRow();
- else if (comdid == "InsertRow") OnInsertRow();
- else if (comdid == "DeleteRow") OnDeleteRow();
+ if (comdid == L"Save") OnSave();
+ else if (comdid == L"AddRow") OnAddRow();
+ else if (comdid == L"InsertRow") OnInsertRow();
+ else if (comdid == L"DeleteRow") OnDeleteRow();
return 0;
}
//命令处理事件
- int OnXCommand(ref TXCommandEvent evt, int param)
+ 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)&HrPosition::OnXCommand);
//获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrPosition::OnSetFocus);
//获得树的选择事件
- AttachEvent("tv_org", "TVN_SELCHANGED", OnTreeSelChanged);
- //AttachEvent("dw_list","DWV_CHILDCONTENT",OnChildContent);
- //AttachEvent("dw_list","DWV_ITEMCHANGED",OnItemChanged);
+ AttachEvent(L"tv_org", L"TVN_SELCHANGED", (FEvent)&HrPosition::OnTreeSelChanged);
+ //AttachEvent(L"dw_list",L"DWV_CHILDCONTENT",OnChildContent);
+ //AttachEvent(L"dw_list",L"DWV_ITEMCHANGED",OnItemChanged);
+ return 1;
}
int OnInitial()
@@ -250,22 +256,19 @@
int onload()
{
- tv_org = new treeview__;
- tv_org.setNativePointer(this.GetControl("tv_org"));
- dw_list = new xdwgrid__;
- dw_list.setNativePointer(this.GetControl("dw_list"));
- dw_list.openUrl("组织架构.vface/template/HrPosition/list");
+ tv_org = new treeview;
+ tv_org.setNativePointer(GetControl(L"tv_org"));
+ dw_list = new xdwgrid;
+ dw_list.setNativePointer(GetControl(L"dw_list"));
+ dw_list.openUrl(L"组织架构.vface/template/HrPosition/list");
OnInitial();
- int wid = tv_org.GetId();
- int root = treeview__::GetRootItem(wid);
- treeview__::ExpandItem(wid, root);
+ //int wid = tv_org.GetId();
+ HTREEITEM root = tv_org.GetRootItem();
+ tv_org.ExpandItem( root);
//OnRetrieve();
return 1;
}
- ]
-
- ]
-]
\ No newline at end of file
+};
\ No newline at end of file
diff --git a/jrj/project/business/Company/HrPositionAdd.cpp b/jrj/project/business/Company/HrPositionAdd.cpp
index f5c822c..8173dc8 100644
--- a/jrj/project/business/Company/HrPositionAdd.cpp
+++ b/jrj/project/business/Company/HrPositionAdd.cpp
@@ -1,52 +1,55 @@
-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[HrPosition.vx]"
-use "HrPosition.vx"
+#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
-[
- HrPositionAdd is extend frame;
- about HrPositionAdd
- [
- field:
- [
- HrPosition lw_obj;
- xdwgrid__ dw_list;
- treeview__ tv_1;
- string m_type;
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
- xnode__ m_agentNode; //Agent Condition
- string m_agentCond; //Agent Node
- ]
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) HrPositionAdd : public xframe
+{
+public:
- 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;
- }
+ HrPosition lw_obj;
+ xdwgrid dw_list;
+ xtreeview tv_1;
+ xstring m_type;
+
+ xnode m_agentNode; //Agent Condition
+ xstring m_agentCond; //Agent Node
+public:
+ HrPositionAdd(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+public:
+ static HrPositionAdd* CreateInstance(void* implPtr, void* hWnd)
+ {
+ HrPositionAdd* pWin = new HrPositionAdd(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)
+ int OnSetFocus(TEvent* evt, LPARAM param)
{
//SetAgent();
//重置工具条
@@ -55,16 +58,16 @@
int OnRetrieve()
{
- string query = "[MSSqlHrJob.xq]";
- xml__ x = new xml__;
- x.setNativePointer(x.CreateInstance());
- xaserverarg__ arg = new xaserverarg__;
- arg.setNativePointer(arg.CreateInstance());
- arg.AddArg("type", m_type);
- //if (xaserver__::ExecXQuery(GetServerUrl(),query,arg.GetString(),x)!=1
- if (url::post("OrganizationStruct/list.Job", arg.GetString(), x) != 1)
+ xstring query = L"[MSSqlHrJob.xq]";
+ xml x;
+
+ xaserverarg arg;
+
+ arg.AddArg(L"type", m_type);
+ //if (xaserver::ExecXQuery(GetServerUrl(),query,arg.GetString(),x)!=1
+ if (xurl::post(L"OrganizationStruct/list.Job", arg.GetString(), x) != 1)
{
- trace(x.GetXmlDoc().text);
+ trace(x.text());
return -1;
}
else
@@ -76,21 +79,23 @@
return 1;
}
- int OnTreeSelChanged(ref TNotifyEvent evt, int p) {
- ref NMTREEVIEW nmtv = evt.pnmh;
- int hItem = nmtv.itemNew.hItem;
+ int OnTreeSelChanged(TEvent* evt, int p)
+ {
+ NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh;
+
+ HTREEITEM hItem = nmtv.itemNew.hItem;
- int wid = tv_1.GetId();
- int hItem = treeview__::GetSelectedItem(wid);
- int rootItem = treeview__::GetRootItem(wid);
+ //int wid = tv_1.GetId();
+ HTREEITEM hItem = tv_1.GetSelectedItem();
+ HTREEITEM rootItem = tv_1.GetRootItem();
if (hItem <= 0 || hItem == rootItem)
{
- m_type = "all";
+ m_type = L"all";
}
else
{
- msxml::IXMLDOMElement ele = treeview__::GetItemData(wid, hItem);
- m_type = ele.SelectSingleNode("@name").text;
+ KXMLDOMElement ele = tv_1.GetItemData(hItem);
+ m_type = ele.selectSingleNode(L"@name").text();
}
OnRetrieve();
return 1;
@@ -98,30 +103,30 @@
int OnCreateTree()
{
- int wid = tv_1.GetId();
- xml__ x = new xml__;
- x.setNativePointer(xml__::CreateInstance());
- x.Load("<Type name='all'/>");
- msxml::IXMLDOMElement ele = x.GetXmlDoc().SelectSingleNode("Type");
- int hItem = tv_1.InsertChildItemEx(wid, 0, "工种类型", ele, 15, 4);
+ //int wid = tv_1.GetId();
+ xml x;
+
+ x.loadXML(L"<Type name='all'/>");
+ KXMLDOMElement ele = x.selectSingleNode(L"Type");
+ HTREEITEM hItem = tv_1.InsertChildItemEx(0, L"工种类型", ele, 15, 4);
- if (url::post("/sale/data/OrganizationStruct/type.Job", "", x) != 1)
+ if (xurl::post(L"/sale/data/OrganizationStruct/type.Job", L"", x) != 1)
{
- trace(x.GetXml());
+ trace(x.xml());
return -1;
}
//trace(x.GetXml());
- var list = x.GetXmlDoc().selectNodes("//Type");
+ var list = x.selectNodes(L"//Type");
int i = 0, s = list.length;
- msxml::IXMLDOMElement e;
- string sname;
+ KXMLDOMElement e;
+ xstring sname;
if (s > 0)
{
for (i = 0; i < s; i++)
{
e = list.item(i);
- sname = e.SelectSingleNode("@name").text;
- int curItem = tv_1.InsertChildItemEx(wid, hItem, sname, e, 15, 4);
+ sname = e.selectSingleNode(L"@name").text();
+ HTREEITEM curItem = tv_1.InsertChildItemEx( hItem, sname, e, 15, 4);
}
}
return 1;
@@ -129,7 +134,7 @@
int OnOK()
{
- if (GetParam())
+ if (GetWinParam())
{
lw_obj = new HrPosition;
lw_obj.setNativePointer(GetParam());
@@ -141,30 +146,30 @@
int row = dw_list.GetNextSelectRow(1);
if (row < 1)
{
- alert("请选择工种!");
+ alert(L"请选择工种!");
return 1;
}
- //treeview__ tv_org = new treeview__;
+ //treeview tv_org = new treeview;
//tv_org.setNativePointer(lw_obj.tv_org);
- int wid = lw_obj.tv_org.GetId();
- int hitem = treeview__::GetSelectedItem(wid);
- msxml::IXMLDOMElement ele = treeview__::GetItemData(wid, hitem);
- string sOrgID = ele.selectSingleNode("@guid").text;
- string sOrgName = ele.selectSingleNode("OrgName").text;
+ HTREEITEM wid = lw_obj.tv_org.GetId();
+ HTREEITEM hitem = tv_1.GetSelectedItem();
+ KXMLDOMElement ele = tv_1.GetItemData( hitem);
+ xstring sOrgID = ele.selectSingleNode(L"@guid").text();
+ xstring sOrgName = ele.selectSingleNode(L"OrgName").text();
while (row > 0)
{
- msxml::IXMLDOMElement e = dw_list.GetRowElement(row);
- string sJobID = e.selectSingleNode("@guid").text + "";
- string sJobName = e.selectSingleNode("JobName").text + "";
+ KXMLDOMElement e = dw_list.GetRowElement(row);
+ xstring sJobID = e.selectSingleNode(L"@guid").text() + (xstring)L"";
+ xstring sJobName = e.selectSingleNode(L"JobName").text() + (xstring)L"";
int nRow = lw_obj.dw_list.InsertRow(0);
- lw_obj.dw_list.SetItemString(nRow, "JobID", sJobID);
- lw_obj.dw_list.SetItemDisplayString(nRow, "JobID", sJobName);
- lw_obj.dw_list.SetItemString(nRow, "Status", "Y");
- lw_obj.dw_list.SetItemDisplayString(nRow, "Status", "有效");
- lw_obj.dw_list.SetItemString(nRow, "OrgID", sOrgID);
- lw_obj.dw_list.SetItemDisplayString(nRow, "OrgID", sOrgName);
- lw_obj.dw_list.SetItemString(nRow, "PositionName", sOrgName + sJobName);
+ lw_obj.dw_list.SetItemString(nRow, L"JobID", sJobID);
+ lw_obj.dw_list.SetItemDisplayString(nRow, L"JobID", sJobName);
+ lw_obj.dw_list.SetItemString(nRow, L"Status", L"Y");
+ lw_obj.dw_list.SetItemDisplayString(nRow, L"Status", L"有效");
+ lw_obj.dw_list.SetItemString(nRow, L"OrgID", sOrgID);
+ lw_obj.dw_list.SetItemDisplayString(nRow, L"OrgID", sOrgName);
+ lw_obj.dw_list.SetItemString(nRow, L"PositionName", sOrgName + sJobName);
row = dw_list.GetNextSelectRow(row + 1);
}
CloseWindow();
@@ -172,29 +177,30 @@
}
//命令发布函数
- int OnCmdDispatch(string comdid)
+ int OnCmdDispatch(xstring comdid)
{
- if (comdid == "xmOk")
+ if (comdid == L"xmOk")
OnOK();
- else if (comdid == "xmCancel")
+ else if (comdid == L"xmCancel")
CloseWindow();
return 0;
}
//命令处理事件
- int OnXCommand(ref TXCommandEvent evt, int param)
+ 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)&HrPositionAdd::OnXCommand);
//获取焦点事件,用于重置工具条
- AttachEvent("WM_SETFOCUS", OnSetFocus);
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&HrPositionAdd::OnSetFocus);
//获得树的选择事件
- AttachEvent("tv_1", "TVN_SELCHANGED", OnTreeSelChanged);
+ AttachEvent(L"tv_1", L"TVN_SELCHANGED", (FEvent)&HrPositionAdd::OnTreeSelChanged);
+ return 1;
}
int OnInitial()
@@ -206,25 +212,23 @@
int onload()
{
- m_type = "all";
- tv_1 = new treeview__;
- tv_1.setNativePointer(this.GetControl("tv_1"));
- dw_list = new xdwgrid__;
- dw_list.setNativePointer(this.GetControl("dw_list"));
- dw_list.openUrl("组织架构.vface/template/HrJob/list");
+ SetArg();
+ m_type = L"all";
+ tv_1 = new treeview;
+ tv_1.setNativePointer(GetControl(L"tv_1"));
+ dw_list = new xdwgrid;
+ dw_list.setNativePointer(GetControl(L"dw_list"));
+ dw_list.openUrl(L"组织架构.vface/template/HrJob/list");
dw_list.SetSelectionMode(3); //3
dw_list.SetReadOnly(true);
OnInitial();
OnCreateTree();
- int wid = tv_1.GetId();
- int hItem = treeview__::GetRootItem(wid);
- tv_1.ExpandItem(wid, hItem);
+ //int wid = tv_1.GetId();
+ HTREEITEM hItem = tv_1.GetRootItem();
+ tv_1.ExpandItem( hItem);
OnRetrieve();
return 1;
}
- ]
-
- ]
-]
\ No newline at end of file
+};
\ No newline at end of file
--
Gitblit v1.9.3