From 3e154206139f2fc8aeeab61c12c38717e55b3fc6 Mon Sep 17 00:00:00 2001 From: qianxj2004 <qianxj15@sina.com> Date: 星期二, 10 六月 2025 11:44:09 +0800 Subject: [PATCH] update --- jrj/project/business/Company/HrJob.cpp | 283 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 143 insertions(+), 140 deletions(-) diff --git a/jrj/project/business/Company/HrJob.cpp b/jrj/project/business/Company/HrJob.cpp index 4a43c57..ba496db 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,41 @@ 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); - if (hItem <= 0 || hItem == rootItem) + //int wid = tv_1.GetId(); + HTREEITEM hItem = tv_1.GetSelectedItem(); + HTREEITEM rootItem = tv_1.GetRootItem(); + if (!hItem || 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 +99,33 @@ 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) + KXMLDOMElement e1 = tv_1.GetItemData(hItem); + string str = e1.xml(); + + 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"); - int i = 0, s = list.length; - msxml::IXMLDOMElement e; - string sname; + auto list = x.selectNodes(L"//Type"); + int i = 0, s = list.length(); + 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 +133,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 +194,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 +225,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 +269,19 @@ 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 = 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 -- Gitblit v1.9.3