From ac02af984539dbc00df25144a3dd4145eb03b1d2 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期三, 17 七月 2024 15:20:36 +0800 Subject: [PATCH] update hr --- jrj/project/start.vframe.vbusiness.cpp | 4 ++-- jrj/xframe/xcontrol/xtreeview.hpp | 2 +- jrj/project/business/Company/HrOrg.cpp | 28 +++++++++++++++------------- jrj/project/business/Quote3.maint.cpp | 0 jrj/project/business/Company/HrOrgChart.cpp | 3 +-- jrj/xframe/kobject/kxml.hpp | 8 ++++---- 6 files changed, 23 insertions(+), 22 deletions(-) diff --git a/jrj/project/business/Company/HrOrg.cpp b/jrj/project/business/Company/HrOrg.cpp index a8628a1..baceac9 100644 --- a/jrj/project/business/Company/HrOrg.cpp +++ b/jrj/project/business/Company/HrOrg.cpp @@ -129,6 +129,8 @@ NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh; HTREEITEM sitem = nmtv.itemNew.hItem; + return 1; + xstring id = tv_org.GetItemData(sitem); HCURSOR hCursor = xutil::SetCursorWait(); OnCreateTree(id, sitem); @@ -167,10 +169,11 @@ //sRootOrgName = ele1.selectSingleNode(L"CompanyID/@_displaystring").text(); } - xstring ls_orgid = ele.selectSingleNode(L"@guid").text(); - sOrgID = ls_orgid + L""; - //trace(sOrgID); - sOrgName = ele.selectSingleNode(L"OrgName").text(); + string str = ele.xml(); + if(ele.selectSingleNode(L"@guid")) + sOrgID = ele.selectSingleNode(L"@guid").text(); + if(ele.selectSingleNode(L"OrgName")) + sOrgName = ele.selectSingleNode(L"OrgName").text(); OnRetrieve(); return 1; } @@ -386,8 +389,7 @@ 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)); + xnode anode = GetAgentNode(xfNodeAgentArea); SetAgentNode(anode, str); tv_org = GetControl(L"tv_org"); AttachEvent(L"tv_org", L"TVN_SELCHANGED", (FEvent)&HrOrg::OnTreeSelecded); @@ -439,7 +441,7 @@ 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_ITEMEXPANDING", (FEvent)&HrOrg::OnTreeExpanding); AttachEvent(L"tv_org", L"TVN_ENDDRAG", (FEvent)&HrOrg::OnTreeMoveNode); //双击 AttachEvent(L"dw_list", L"DWV_DOUBLECLICKED", (FEvent)&HrOrg::OnDoubleClicked); @@ -458,8 +460,7 @@ int onload() { tv_org = GetControl(L"tv_org"); - dw_list = new xdwgrid; - dw_list.setNativePointer(GetControl(L"dw_list")); + dw_list = GetControl(L"dw_list"); dw_list.openUrl(L"组织架构.vface/template/HrOrg/list"); dw_list.SetSelectionMode(1); dw_list.SetReadOnly(true); @@ -473,15 +474,16 @@ //OnCreateTree(L"00000000-0000-0000-0000-000000000000", 0); HTREEITEM root = tv_org.GetRootItem(); - if (!root) + if (root) { 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(); + if(ele.selectSingleNode(L"@guid")) + sOrgID = ele.selectSingleNode(L"@guid").text(); + if(ele.selectSingleNode(L"OrgName")) + sOrgName = ele.selectSingleNode(L"OrgName").text(); OnRetrieve(); } } diff --git a/jrj/project/business/Company/HrOrgChart.cpp b/jrj/project/business/Company/HrOrgChart.cpp index b8d02e8..9918b20 100644 --- a/jrj/project/business/Company/HrOrgChart.cpp +++ b/jrj/project/business/Company/HrOrgChart.cpp @@ -132,8 +132,7 @@ { SetArg(); m_bCanDestroy = 1; - tv_org = new xtreeview; - tv_org.setNativePointer(GetControl(L"tv_org")); + tv_org = GetControl(L"tv_org"); OnInitial(); HTREEITEM root = tv_org.GetRootItem(); diff --git a/jrj/project/business/Quote3.maint.cpp b/jrj/project/business/Quote3.maint.cpp index 462c10d..8dc1b52 100644 --- a/jrj/project/business/Quote3.maint.cpp +++ b/jrj/project/business/Quote3.maint.cpp Binary files differ diff --git a/jrj/project/start.vframe.vbusiness.cpp b/jrj/project/start.vframe.vbusiness.cpp index f43f0a7..87c8560 100644 --- a/jrj/project/start.vframe.vbusiness.cpp +++ b/jrj/project/start.vframe.vbusiness.cpp @@ -53,8 +53,8 @@ int nRow = dw_list.GetRow(); if (nRow < 0) return L""; KXMLDOMElement ele = dw_list.GetRowElement(nRow); - xstring x = ele.getAttribute(L"category"); - return x; + if (!ele) return L""; + return ele.getAttribute(L"category"); } xstring GetEntityID(LPARAM pr) diff --git a/jrj/xframe/kobject/kxml.hpp b/jrj/xframe/kobject/kxml.hpp index f6ed27c..fc6931f 100644 --- a/jrj/xframe/kobject/kxml.hpp +++ b/jrj/xframe/kobject/kxml.hpp @@ -141,7 +141,9 @@ this->AddRef(); return (LPARAM)this->getImpl(); } - KXMLDOMNode(LPARAM p) :KXMLDOMNode((void*)p) {} + KXMLDOMNode(LPARAM p) :KXMLDOMNode((void*)p) { + AddRef(); + } public: operator bool() { return impl ? true : false; } bool operator !=(KXMLDOMNode& rhs) { return rhs.getImpl() != getImpl(); } @@ -158,9 +160,7 @@ KXMLDOMElement(void* impl) :KXMLDOMNode(impl) {} KXMLDOMElement() :KXMLDOMNode() {} public: - KXMLDOMElement(LPARAM p) :KXMLDOMNode((void*)p) { - AddRef(); - } + KXMLDOMElement(LPARAM p) :KXMLDOMNode(p) {} }; class KXMLDOMDocument : public KXMLDOMNode diff --git a/jrj/xframe/xcontrol/xtreeview.hpp b/jrj/xframe/xcontrol/xtreeview.hpp index d559fcb..f0601aa 100644 --- a/jrj/xframe/xcontrol/xtreeview.hpp +++ b/jrj/xframe/xcontrol/xtreeview.hpp @@ -390,7 +390,7 @@ return InsertChildItemEx(hItem, label, ele.ptr(), image,image2); } - HTREEITEM InsertChildItemEx(HTREEITEM hItem,string label,int data,int image = 0,int image2 = 0) + HTREEITEM InsertChildItemEx(HTREEITEM hItem,string label,LPARAM data,int image = 0,int image2 = 0) { int TVM_INSERTITEM = TV_FIRST + 50; -- Gitblit v1.9.3