LiFan
2024-07-15 55677ef8893f99fd7aeb3f459b20e32aca0ed8fc
update
已添加17个文件
已修改2个文件
3638 ■■■■■ 文件已修改
jrj/ext-jrj/ext-jrj.vcxproj 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/CompanyList.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/CompanyMaint.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HRPerson.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HR_Address.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HrEmployee.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HrEmployeeAdd.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HrEmployeex.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HrJob.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HrOrg.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HrOrgChart.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HrOrgMaint.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HrOrgType.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HrPersonAdd.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HrPersonMaint.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HrPersonSel.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HrPosition.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/Company/HrPositionAdd.cpp 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/project/business/GDN/CustomCodeNew.cpp 补丁 | 查看 | 原始文档 | blame | 历史
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>
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
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;
        }
    };
jrj/project/business/GDN/CustomCodeNew.cpp
Binary files differ