From 55677ef8893f99fd7aeb3f459b20e32aca0ed8fc Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期一, 15 七月 2024 11:45:00 +0800
Subject: [PATCH] update
---
jrj/project/business/Company/CompanyMaint.cpp | 211 +++
jrj/project/business/Company/HR_Address.cpp | 211 +++
jrj/project/business/Company/HrPersonMaint.cpp | 211 +++
jrj/project/business/Company/HrPosition.cpp | 211 +++
jrj/project/business/Company/HrEmployeex.cpp | 211 +++
jrj/project/business/GDN/CustomCodeNew.cpp | 0
jrj/project/business/Company/HrOrgType.cpp | 211 +++
jrj/project/business/Company/HrJob.cpp | 211 +++
jrj/project/business/Company/HrOrgMaint.cpp | 211 +++
jrj/project/business/Company/HrOrgChart.cpp | 211 +++
jrj/project/business/Company/HrPersonAdd.cpp | 211 +++
jrj/project/business/Company/HrEmployee.cpp | 211 +++
jrj/project/business/Company/HRPerson.cpp | 211 +++
jrj/project/business/Company/CompanyList.cpp | 211 +++
jrj/project/business/Company/HrPositionAdd.cpp | 211 +++
jrj/project/business/Company/HrOrg.cpp | 211 +++
jrj/project/business/Company/HrEmployeeAdd.cpp | 211 +++
jrj/ext-jrj/ext-jrj.vcxproj | 51
jrj/project/business/Company/HrPersonSel.cpp | 211 +++
19 files changed, 3,638 insertions(+), 0 deletions(-)
diff --git a/jrj/ext-jrj/ext-jrj.vcxproj b/jrj/ext-jrj/ext-jrj.vcxproj
index 68c13d8..7ec233d 100644
--- a/jrj/ext-jrj/ext-jrj.vcxproj
+++ b/jrj/ext-jrj/ext-jrj.vcxproj
@@ -287,6 +287,57 @@
<ClCompile Include="..\project\business\AR\maint.SettlementExchange.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
</ClCompile>
+ <ClCompile Include="..\project\business\Company\CompanyList.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\CompanyMaint.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HrEmployee.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HrEmployeeAdd.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HrEmployeex.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HrJob.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HrOrg.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HrOrgChart.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HrOrgMaint.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HrOrgType.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HRPerson.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HrPersonAdd.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HrPersonMaint.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HrPersonSel.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HrPosition.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HrPositionAdd.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\project\business\Company\HR_Address.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ </ClCompile>
<ClCompile Include="..\project\business\Customer3.list.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
</ClCompile>
diff --git a/jrj/project/business/Company/CompanyList.cpp b/jrj/project/business/Company/CompanyList.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/CompanyList.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/CompanyMaint.cpp b/jrj/project/business/Company/CompanyMaint.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/CompanyMaint.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HRPerson.cpp b/jrj/project/business/Company/HRPerson.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HRPerson.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HR_Address.cpp b/jrj/project/business/Company/HR_Address.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HR_Address.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HrEmployee.cpp b/jrj/project/business/Company/HrEmployee.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HrEmployee.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HrEmployeeAdd.cpp b/jrj/project/business/Company/HrEmployeeAdd.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HrEmployeeAdd.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HrEmployeex.cpp b/jrj/project/business/Company/HrEmployeex.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HrEmployeex.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HrJob.cpp b/jrj/project/business/Company/HrJob.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HrJob.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HrOrg.cpp b/jrj/project/business/Company/HrOrg.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HrOrg.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HrOrgChart.cpp b/jrj/project/business/Company/HrOrgChart.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HrOrgChart.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HrOrgMaint.cpp b/jrj/project/business/Company/HrOrgMaint.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HrOrgMaint.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HrOrgType.cpp b/jrj/project/business/Company/HrOrgType.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HrOrgType.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HrPersonAdd.cpp b/jrj/project/business/Company/HrPersonAdd.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HrPersonAdd.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HrPersonMaint.cpp b/jrj/project/business/Company/HrPersonMaint.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HrPersonMaint.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HrPersonSel.cpp b/jrj/project/business/Company/HrPersonSel.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HrPersonSel.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HrPosition.cpp b/jrj/project/business/Company/HrPosition.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HrPosition.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/Company/HrPositionAdd.cpp b/jrj/project/business/Company/HrPositionAdd.cpp
new file mode 100644
index 0000000..cb4571d
--- /dev/null
+++ b/jrj/project/business/Company/HrPositionAdd.cpp
@@ -0,0 +1,211 @@
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+ class __declspec(dllexport) Deduction : public xframe
+ {
+ public:
+ xdwgrid dw_list;
+ xstring EntityID;
+ xstring InvoiceNo;
+
+ xnode m_agentNode; //Agent Condition
+
+ public:
+ Deduction(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {}
+ public:
+ static Deduction* CreateInstance(void* implPtr, void* hWnd)
+ {
+ Deduction* pWin = new Deduction(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 OnRowChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ int row = hdr.row;
+ SetAgent();
+ return 1;
+ }
+
+ //焦点激活处理函数
+ int OnSetFocus(TEvent* evt, LPARAM param)
+ {
+ //重置工具条
+ SetAgent();
+ return 1;
+ }
+
+ //命令发布函数
+ int OnCmdDispatch(xstring comdid)
+ {
+ if (comdid == L"xmSave")
+ {
+ OnSave();
+ return 1;
+ }
+ if (comdid == L"xmSearch")
+ {
+ OnRetrieve(InvoiceNo, EntityID);
+ return 1;
+ }
+ if (comdid == L"xmClose")
+ {
+ CloseWindow();
+ return 1;
+ }
+ return 0;
+ }
+
+ //命令处理事件
+ int OnXCommand(TEvent* evt, LPARAM param)
+ {
+ return OnCmdDispatch(evt->xcommand.pStrID);
+ }
+
+ xstring GetGuid()
+ {
+ return publiccode::GetGuid();
+ }
+
+ int OnSave()
+ {
+ xml x;
+
+ dw_list.AcceptText();
+ dw_list.DwUpdateAllToEx(x);
+ xaserverarg arg ;
+
+ arg.AddArg(L"content", x.xml());
+ trace(x.xml());
+ if (xurl::get(L"/sale/data/AR/update/ARDeduction", arg.GetString(), x) != 1)
+ {
+ xstring error = x.text();
+ alert(L"err:" + error);
+ return 1;
+ }
+ xstring str = x.documentElement().getAttribute(L"text");
+ if (str == L"true")
+ {
+ dw_list.ResetUpdateStatus();
+ alert(L"保存成功!");
+ }
+ else
+ {
+ alert(L"保存失败!");
+ }
+ return 1;
+ }
+
+ int OnItemChanged(TEvent* evt, LPARAM p)
+ {
+ DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
+ xstring colname = hdr.colname;
+ xstring value = hdr.data;
+ int row = hdr.row;
+ xstring dwname = L"dw_list";
+ if (colname == L"DeductionAmount")
+ {
+ dw_list.SetItemString(row, L"SettlementAdjustID", EntityID);
+ xstring id = publiccode::GetGuid();
+ KXMLDOMElement ele = dw_list.GetRowElement(row);
+ ele.setAttribute(L"guid", id);
+ //dw_list.SetGuid(row,id);
+ //alert(ele.xml);
+ //alert(dw_list.GetGuid(row));
+ }
+ dw_list.Redraw();
+ return 1;
+ }
+
+ int OnAttachEvent()
+ {
+ //绑定工具条点击事件
+ AttachEvent(L"WM_XCOMMAND", (FEvent)&Deduction::OnXCommand);
+ //获取焦点事件,用于重置工具条
+ AttachEvent(L"WM_SETFOCUS", (FEvent)&Deduction::OnSetFocus);
+ AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&Deduction::OnRowChanged);
+ AttachEvent(L"dw_list", L"DWV_ITEMCHANGED", (FEvent)&Deduction::OnItemChanged);
+ return 1;
+ }
+
+
+ int OnRetrieve(xstring InvoiceNo, xstring EntityID)
+ {
+ xml x;
+
+ xaserverarg arg ;
+
+ arg.AddArg(L"InvoiceNo", InvoiceNo);
+ arg.AddArg(L"InvoiceNoEx", xcontrol(GetControl(L"search")).GetText());
+ arg.AddArg(L"EntityID", EntityID);
+
+ //trace(GetControl(L"search").GetText());
+ if (getUrl(L"/sale/data/AR/DeductionList", arg.GetString(), x) != 1)
+ {
+ trace(x.text());
+ return -1;
+ }
+ else
+ {
+ dw_list.Retrieve(x);
+ dw_list.Redraw();
+ }
+ dw_list.SetSelectionMode(1);
+ return 1;
+ }
+
+ int onload()
+ {
+ SetArg();
+ dw_list = GetControl(L"dw_list");
+ dw_list.openUrl(L"/sale/view/AR/template/Deduction");
+
+ dw_list.SetColumnState(L"ID", false);
+ dw_list.SetColumnState(L"GDNLineID", false);
+ dw_list.SetColumnState(L"SettlementAdjustID", false);
+
+
+ if (GetWinParam())
+ {
+ xaserverarg arg = GetArg();
+ EntityID = arg.GetArgString(L"EntityID");
+ InvoiceNo = arg.GetArgString(L"InvoiceNo");
+ }
+ trace(InvoiceNo);
+ OnRetrieve(InvoiceNo, EntityID);
+ OnAttachEvent();
+ return 1;
+ }
+
+ int onloaded()
+ {
+ SetAgent();
+
+ return 1;
+ }
+ };
diff --git a/jrj/project/business/GDN/CustomCodeNew.cpp b/jrj/project/business/GDN/CustomCodeNew.cpp
index fdf9f69..110e378 100644
--- a/jrj/project/business/GDN/CustomCodeNew.cpp
+++ b/jrj/project/business/GDN/CustomCodeNew.cpp
Binary files differ
--
Gitblit v1.9.3