From 7e70f74c002a311f27e81712e738fec07fb2cdff Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期五, 19 七月 2024 17:19:13 +0800 Subject: [PATCH] update --- jrj/project/business/AP/list.RefundGDNLine.Entity.xarch.cpp | 302 +++++++++++++++++++++++++++ jrj/project/business/AP/list.RefundSourcingLine.Entity.xarch.cpp | 298 +++++++++++++++++++++++++++ jrj/ext-jrj/ext-jrj.vcxproj | 2 3 files changed, 602 insertions(+), 0 deletions(-) diff --git a/jrj/ext-jrj/ext-jrj.vcxproj b/jrj/ext-jrj/ext-jrj.vcxproj index d9113b3..6827c10 100644 --- a/jrj/ext-jrj/ext-jrj.vcxproj +++ b/jrj/ext-jrj/ext-jrj.vcxproj @@ -258,6 +258,8 @@ <ClCompile Include="..\project\business\AP\list.ap.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> + <ClCompile Include="..\project\business\AP\list.RefundGDNLine.Entity.xarch.cpp" /> + <ClCompile Include="..\project\business\AP\list.RefundSourcingLine.Entity.xarch.cpp" /> <ClCompile Include="..\project\business\AP\maint.ap.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> diff --git a/jrj/project/business/AP/list.RefundGDNLine.Entity.xarch.cpp b/jrj/project/business/AP/list.RefundGDNLine.Entity.xarch.cpp new file mode 100644 index 0000000..666c2a6 --- /dev/null +++ b/jrj/project/business/AP/list.RefundGDNLine.Entity.xarch.cpp @@ -0,0 +1,302 @@ +#include <wobject/xstring.hpp> +#include <xcontrol/xtreeview.hpp> +#include <xcontrol/xdwgrid.hpp> +#include <wobject/xdouble.hpp> +#include <xcontrol/xlayersheet.hpp> +#include <xcontrol/xdatetimepick.hpp> + +#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" +#include "viewobject/view.base.hpp" + +using xml = KXMLDOMDocument; + class __declspec(dllexport) RefundGDNLineMaintListView : public xframe + { + public: + xdwgrid dw_list; + xdwtable dw_arg; + xnode m_agentNode; //Agent Condition + xstring str_url ; + xstring m_entityid; + public: + RefundGDNLineMaintListView(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} + public: + static RefundGDNLineMaintListView* CreateInstance(void* implPtr, void* hWnd) + { + RefundGDNLineMaintListView* pWin = new RefundGDNLineMaintListView(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; + } + + xstring GetEntityName(int pr) + { + return L"RefundGDNLine"; + } + + xstring GetEntityID(int pr) + { + int row = dw_list.GetRow(); + xstring id = dw_list.GetItemString(row,m_entityid); + return id; + } + + int ProcessUsedArg(xaserverarg arg) + { + xstring EntityIDList = L""; + int ll_row = dw_list.GetNextSelectRow(1); + while(ll_row > 0 && ll_row <= dw_list.GetRowCount()) + { + xstring id=dw_list.GetItemString(ll_row,m_entityid); + if(EntityIDList == L"") EntityIDList = id; else EntityIDList += L",L" + id; + ll_row = dw_list.GetNextSelectRow(ll_row + 1); + } + if(EntityIDList != L"") arg.AddArg(L"EntityID",EntityIDList); + + return 1; + } + + //焦点激活处理函数 + int OnSetFocus(TEvent* evt, LPARAM param) + { + //重置工具条 + //SetAgent(L"list",GetEntityID(1)); + SetAgent(); + return 1; + } + + int OnItemChanged(TEvent* evt, LPARAM p) + { + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + xstring colname=hdr.colname; + xstring value = hdr.data; + xstring dwname = L"dw_list"; + if(value != L"") + { + KXMLDOMNodeList nlist = GetElement().selectNodes(L"//*[@name='"+dwname+L"']/trans[@for='"+colname+L"']"); + ViewObject::TransData(nlist, dw_list, hdr.row, colname, value); + } + + return 1; + } + + int OnAdd() + { + dw_list.InsertRow(0); + return 1; + } + + int OnDelete() + { + int row = dw_list.GetRow(); + if(row < 1) return 1; + if (MessageBox(GetHWND(),L"是否删除此数据!",L"提示",1) == 2) + return 1; + dw_list.DeleteRow(0); + return 1; + } + + int OnSave() + { + dw_list.AcceptText(); + + if(dw_list.GetRowCount()>0) + { + if(dw_list.GetItemString(dw_list.GetRowCount(),L"序号")==L"") dw_list.DeleteRow(dw_list.GetRowCount()); + + } + xml x ; + + KXMLDOMDocument xdoc = x; + dw_list.DwUpdateAllToEx(xdoc); + + xaserverarg arg ; + + arg.AddArg(L"content",x.xml()); + + //trace(x.xml()); + if(xurl::get(L"/sale/data/Gdn/update/RefundGDNLine", arg.GetString(),x)!=1) + { + xstring error = x.text(); + alert(L"err:"+error); + alert(L"保存失败!"); + return -1; + } + xstring str = x.documentElement().getAttribute(L"text"); + if(str == L"false") + { + alert(L"数据保存失败!"); + return -1; + } + dw_list.ResetUpdateStatus(); + alert(L"数据保存完成!"); + + return 1; + } + + int OnSearch() + { + xml x ; + + xaserverarg arg ; + + arg.AddArg(L"query",GetQueryArg()); + if (getUrl(str_url,arg.GetString(),x)!=1) + { + trace(x.text()); + return -1; + }else + { + dw_list.Retrieve(x); + dw_list.Redraw(); + } + return 1; + } + + int OnRowChanged(TEvent* evt, LPARAM p) + { + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + int row = hdr.row; + //SetAgent(L"list",dw_list.GetItemString(row,m_entityid)); + return 1; + } + + //命令发布函数 + int OnCmdDispatch(xstring comdid) + { + if(comdid == L"action:bill.new") + return OnAdd(); + else if(comdid == L"action:bill.delete") + return OnDelete(); + else if(comdid == L"action:bill.update") + return OnSave(); + else if(comdid == L"xmSearch") + return OnSearch(); + else if(comdid.find(L"action:",0)>=0) + { + int ret = ProcessFlowAction(comdid, 1); + } + return 0; + } + + int ViewUpdate(int pr,xstring updateItem,xaserverarg arg) + { + if( updateItem==L"setstate") + { + + //OnRetrieve(query); + } + return 1; + } + + //命令处理事件 + int OnXCommand(TEvent* evt, LPARAM param) + { + return OnCmdDispatch(evt->xcommand.pStrID); + } + + int OnRowChanged(TEvent* evt, LPARAM p) + { + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + int row = hdr.row; + //SetAgent(L"list",dw_list.GetItemString(row,GetEntityID(1))); + return 1; + } + + int OnAttachEvent() + { + //绑定工具条点击事件 + AttachEvent(L"WM_XCOMMAND", (FEvent)&RefundGDNLineMaintListView::OnXCommand); + //获取焦点事件,用于重置工具条 + AttachEvent(L"WM_SETFOCUS", (FEvent)&RefundGDNLineMaintListView::OnSetFocus); + AttachEvent(L"dw_list",L"DWV_ITEMCHANGED", (FEvent)&RefundGDNLineMaintListView::OnItemChanged); + //AttachEvent(L"dw_list",L"DWV_DOUBLECLICKED",OnUpdate);//行双击 + AttachEvent(L"dw_list",L"DWV_ROWFOCUSCHANGED", (FEvent)&RefundGDNLineMaintListView::OnRowChanged);//绑定行更改触发事件OnRowChanged + return 1; + } + + xstring GetQueryArg() + { + dw_arg.AcceptText(); + xml x ; + + dw_arg.DwUpdateAllTo(x); + return x.xml(); + } + + int OnRetrieve(xstring query) + { + xml x ; + + xaserverarg arg ; + + arg.AddArg(L"query",query); + arg.AddArg(L"QueryArg",L""); + if (getUrl(str_url,arg.GetString(),x)!=1) + { + trace(L"错误信息=L"+(xstring)x.text()); + return -1; + }else + { + dw_list.Retrieve(x); + dw_list.Redraw(); + } + //dw_list.SetSelectionMode(3); + return 1; + } + + int onload() + { + str_url = L"/sale/data/GDN/fetch/RefundGDNLine"; + + dw_list = GetControl(L"dw_list"); + //dw_list.openUrl(L"/sale/view/Expense3/commodity/list"); + dw_list.SetDataObject(GetServerUrl(),L"dev:sheet[list.RefundGDNLine.Entity.xarch.tpl/退税出口明细]"); + + //dw_list.SetSelectionMode(1); + + dw_arg = GetControl(L"dw_arg"); + dw_arg.SetDataObject(GetServerUrl(),L"dev:sheet[list.RefundGDNLine.Entity.xarch.tpl/退税出口明细参数]"); + + dw_arg.SetColHeaderHeight(0); + dw_arg.SetRowSelectorWidth(0); + dw_arg.SetHScrollState(false); + dw_arg.SetVScrollState(false); + + dw_list.SetColumnState(L"CIEID", false); + dw_list.SetColumnState(L"CommDate", false); + //dw_list.SetReadOnly(true); + + OnAttachEvent(); + + return 1; + } + + + + int onloaded() + { + SetAgent(); + //SetAgent(L"list",GetEntityID(1)); + OnRetrieve(L""); + + return 1; + } + }; \ No newline at end of file diff --git a/jrj/project/business/AP/list.RefundSourcingLine.Entity.xarch.cpp b/jrj/project/business/AP/list.RefundSourcingLine.Entity.xarch.cpp new file mode 100644 index 0000000..8df82ff --- /dev/null +++ b/jrj/project/business/AP/list.RefundSourcingLine.Entity.xarch.cpp @@ -0,0 +1,298 @@ +#include <wobject/xstring.hpp> +#include <xcontrol/xtreeview.hpp> +#include <xcontrol/xdwgrid.hpp> +#include <wobject/xdouble.hpp> +#include <xcontrol/xlayersheet.hpp> +#include <xcontrol/xdatetimepick.hpp> + +#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" +#include "viewobject/view.base.hpp" + +using xml = KXMLDOMDocument; + class __declspec(dllexport) RefundSourcingLineMaintListView : public xframe + { + public: + xdwgrid dw_list; + xdwtable dw_arg; + xnode m_agentNode; //Agent Condition + xstring str_url ; + xstring m_entityid; + public: + RefundSourcingLineMaintListView(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} + public: + static RefundSourcingLineMaintListView* CreateInstance(void* implPtr, void* hWnd) + { + RefundSourcingLineMaintListView* pWin = new RefundSourcingLineMaintListView(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 OnSave() + { + dw_list.AcceptText(); + + if(dw_list.GetRowCount()>0) + { + if(dw_list.GetItemString(dw_list.GetRowCount(),L"序号")==L"") dw_list.DeleteRow(dw_list.GetRowCount()); + + } + xml x ; + + KXMLDOMDocument xdoc = x; + dw_list.DwUpdateAllToEx(xdoc); + + xaserverarg arg ; + + arg.AddArg(L"content",x.xml()); + + if(xurl::get(L"/sale/data/Gdn/update/RefundSourcingLine", arg.GetString(),x)!=1) + { + xstring error = x.text(); + alert(L"err:"+error); + alert(L"保存失败!"); + return -1; + } + xstring str = x.documentElement().getAttribute(L"text"); + if(str == L"false") + { + alert(L"数据保存失败!"); + return -1; + } + dw_list.ResetUpdateStatus(); + alert(L"数据保存完成!"); + + return 1; + } + + xstring GetEntityName(int pr) + { + return L"RefundSourcingLine"; + } + + xstring GetEntityID(int pr) + { + int row = dw_list.GetRow(); + xstring id = dw_list.GetItemString(row,m_entityid); + return id; + } + + int ProcessUsedArg(xaserverarg arg) + { + xstring EntityIDList = L""; + int ll_row = dw_list.GetNextSelectRow(1); + while(ll_row > 0 && ll_row <= dw_list.GetRowCount()) + { + xstring id=dw_list.GetItemString(ll_row,m_entityid); + if(EntityIDList == L"") EntityIDList = id; else EntityIDList += L",L" + id; + ll_row = dw_list.GetNextSelectRow(ll_row + 1); + } + if(EntityIDList != L"") arg.AddArg(L"EntityID",EntityIDList); + + return 1; + } + + //焦点激活处理函数 + int OnSetFocus(TEvent* evt, LPARAM param) + { + //重置工具条 + //SetAgent(L"list",GetEntityID(1)); + SetAgent(); + return 1; + } + + int OnItemChanged(TEvent* evt, LPARAM p) + { + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + xstring colname=hdr.colname; + xstring value = hdr.data; + xstring dwname = L"dw_list"; + if(value != L"") + { + KXMLDOMNodeList nlist = GetElement().selectNodes(L"//*[@name='"+dwname+L"']/trans[@for='"+colname+L"']"); + ViewObject::TransData(nlist, dw_list, hdr.row, colname, value); + } + + return 1; + } + + int OnAdd() + { + dw_list.InsertRow(0); + return 1; + } + + int OnDelete() + { + int row = dw_list.GetRow(); + if(row < 1) return 1; + if (MessageBox(GetHWND(),L"是否删除此数据!",L"提示",1) == 2) + return 1; + dw_list.DeleteRow(0); + return 1; + } + + int OnSearch() + { + xml x ; + + xaserverarg arg ; + + arg.AddArg(L"query",GetQueryArg()); + if (getUrl(str_url,arg.GetString(),x)!=1) + { + trace(x.text()); + return -1; + }else + { + dw_list.Retrieve(x); + dw_list.Redraw(); + } + return 1; + } + + int OnRowChanged(TEvent* evt, LPARAM p) + { + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + int row = hdr.row; + //SetAgent(L"list",dw_list.GetItemString(row,m_entityid)); + return 1; + } + + //命令发布函数 + int OnCmdDispatch(xstring comdid) + { + if(comdid == L"action:bill.new") + return OnAdd(); + else if(comdid == L"action:bill.delete") + return OnDelete(); + else if(comdid == L"action:bill.update") + return OnSave(); + else if(comdid == L"xmSearch") + return OnSearch(); + else if(comdid.find(L"action:",0)>=0) + { + int ret = ProcessFlowAction(comdid, 1); + } + return 0; + } + + int ViewUpdate(int pr,xstring updateItem,xaserverarg arg) + { + if( updateItem==L"setstate") + { + + //OnRetrieve(query); + } + return 1; + } + + //命令处理事件 + int OnXCommand(TEvent* evt, LPARAM param) + { + return OnCmdDispatch(evt->xcommand.pStrID); + } + + int OnRowChanged(TEvent* evt, LPARAM p) + { + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + int row = hdr.row; + //SetAgent(L"list",dw_list.GetItemString(row,GetEntityID(1))); + return 1; + } + + int OnAttachEvent() + { + //绑定工具条点击事件 + AttachEvent(L"WM_XCOMMAND", (FEvent)&RefundSourcingLineMaintListView::OnXCommand); + //获取焦点事件,用于重置工具条 + AttachEvent(L"WM_SETFOCUS", (FEvent)&RefundSourcingLineMaintListView::OnSetFocus); + AttachEvent(L"dw_list",L"DWV_ITEMCHANGED", (FEvent)&RefundSourcingLineMaintListView::OnItemChanged); + //AttachEvent(L"dw_list",L"DWV_DOUBLECLICKED",OnUpdate);//行双击 + AttachEvent(L"dw_list",L"DWV_ROWFOCUSCHANGED", (FEvent)&RefundSourcingLineMaintListView::OnRowChanged);//绑定行更改触发事件OnRowChanged + return 1; + } + + xstring GetQueryArg() + { + dw_arg.AcceptText(); + xml x ; + + dw_arg.DwUpdateAllTo(x); + return x.xml(); + } + + int OnRetrieve(xstring query) + { + xml x ; + + xaserverarg arg ; + + arg.AddArg(L"query",query); + arg.AddArg(L"QueryArg",L""); + if (getUrl(str_url,arg.GetString(),x)!=1) + { + trace(L"错误信息=L"+(xstring)x.text()); + return -1; + }else + { + dw_list.Retrieve(x); + dw_list.Redraw(); + } + //dw_list.SetSelectionMode(3); + return 1; + } + + int onload() + { + str_url = L"/sale/data/GDN/fetch/RefundSourcingLine"; + + dw_list = GetControl(L"dw_list"); + dw_list.SetDataObject(GetServerUrl(),L"dev:sheet[list.RefundSourcingLine.Entity.xarch.tpl/退税进货明细]"); + //dw_list.SetSelectionMode(1); + + dw_arg = GetControl(L"dw_arg"); + dw_arg.SetDataObject(GetServerUrl(),L"dev:sheet[list.RefundSourcingLine.Entity.xarch.tpl/退税进货明细参数]"); + + dw_arg.SetColHeaderHeight(0); + dw_arg.SetRowSelectorWidth(0); + dw_arg.SetHScrollState(false); + dw_arg.SetVScrollState(false); + + + dw_list.SetColumnState(L"CIEID", false); + dw_list.SetColumnState(L"CommDate", false); + //dw_list.SetReadOnly(true); + + OnAttachEvent(); + + return 1; + } + + + + int onloaded() + { + SetAgent(); + OnRetrieve(L""); + return 1; + } + }; \ No newline at end of file -- Gitblit v1.9.3