From db02064b0a296aaeab02780c892b3ce8e80012b1 Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期二, 29 十月 2024 10:59:13 +0800 Subject: [PATCH] update --- jrj/project/business/Affair/message.business.cpp | 377 +++++++++++++++++++++++++++-------------------------- 1 files changed, 194 insertions(+), 183 deletions(-) diff --git a/jrj/project/business/Affair/message.business.cpp b/jrj/project/business/Affair/message.business.cpp index 9d85ecd..1589db3 100644 --- a/jrj/project/business/Affair/message.business.cpp +++ b/jrj/project/business/Affair/message.business.cpp @@ -1,87 +1,100 @@ -use "xcontrol.vframe.vbusiness.vd" -use "xbase.vframe.vbusiness.vd" -use "base.view.vd" +#include <wobject/xstring.hpp> +#include <xcontrol/xtreeview.hpp> +#include <xcontrol/xdwgrid.hpp> +#include <xcontrol/xcell.hpp> -unit trade -[ - class MessageBusinessWin : public xframe + +#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" +#include "viewobject/view.base.hpp" + +using xml = KXMLDOMDocument; + class __declspec(dllexport) MessageBusinessWin : public xframe { + public: //xdwgrid dw_list; xdwtable dw_base; xnode m_agentNode; //Agent Condition xwin sheet; bool readonly; - string MessageID; - string bill; + xstring MessageID; + xstring bill; + public: + MessageBusinessWin(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} + public: + static MessageBusinessWin* CreateInstance(void* implPtr, void* hWnd) + { + MessageBusinessWin* pWin = new MessageBusinessWin(implPtr, (HWND)hWnd); + return pWin; + } int SetAgent() { return 1; - string xfNodeAgentArea = "agentarea"; + xstring xfNodeAgentArea = L"agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { - SetAgentNodeContent (anode,m_agentNode); + SetAgentNode (anode,m_agentNode); } else { - msxml::IXMLDOMElement xframeElement = GetElement(); - msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); + KXMLDOMElement xframeElement = GetElement(); + KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); if(agent) { - string s = agent.xml; - m_agentNode = SetAgentNodeContent (anode,s); + xstring s = agent.xml(); + m_agentNode = SetAgentNode (anode,s); } } return 1; } //焦点激活处理函数 - int OnSetFocus(ref TEvent evt,int param) + int OnSetFocus(TEvent* evt, LPARAM param) { //重置工具条 SetAgent(); return 1; } - int OnItemChanged(ref TNotifyEvent evt,int p) + int OnItemChanged(TEvent* evt, int p) { - ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); - string colname=hdr.colname; - string value = hdr.data; + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + xstring colname=hdr.colname; + xstring value = hdr.data; int row = hdr.row; - if(colname=="Category") + if(colname==L"Category") { - if(value=="供应商申请") + if(value==L"供应商申请") { - dw_base.SetItemString(1,"Receiver","fdp-011"); - dw_base.SetItemString(1,"Subject","请添加"); + dw_base.SetItemString(1,L"Receiver",L"fdp-011"); + dw_base.SetItemString(1,L"Subject",L"请添加"); } return 1; bool changed = false; - xml x = ViewObject::RetrieveData("/sale/data/business/message/maint","typ",value); + xml x = ViewObject::RetrieveData(L"/sale/data/business/message/maint",L"typ",value); if(x) { - string xpage_ = x.GetXmlDoc().documentElement.getAttribute("xpage"); - string templaterpt = x.GetXmlDoc().documentElement.getAttribute("template"); - if(xpage_ !="") + xstring xpage_ = x.documentElement().getAttribute(L"xpage"); + xstring templaterpt = x.documentElement().getAttribute(L"template"); + if(xpage_ !=L"") { - string s = "<hbox name='agent'>"; - s += "<xpage url='" + xpage_ + "' name='contentex'/>"; - s += "</hbox>"; - SetAgentNodeContent (GetAgentNode("agent"),s); - SwitchLayer("sheet2","frame"); - sheet = GetChildWin("contentex"); + xstring s = L"<hbox name='agent'>"; + s += L"<xpage url='" + xpage_ + L"' name='contentex'/>"; + s += L"</hbox>"; + SetAgentNode (GetAgentNode(L"agent"),s); + SwitchLayer(L"sheet2",L"frame"); + sheet = GetChildWin(L"contentex"); changed = true; } } if(!changed) { sheet = 0; - SwitchLayer("sheet1","frame"); + SwitchLayer(L"sheet1",L"frame"); } } @@ -89,26 +102,26 @@ } //命令发布函数 - int OnCmdDispatch(string comdid) + int OnCmdDispatch(xstring comdid) { - if(comdid=="xmSend") + if(comdid==L"xmSend") { if(!readonly) OnSend(); return 1; } - else if(comdid=="xmSave") + else if(comdid==L"xmSave") { if(!readonly) OnSave(); return 1; } - else if(comdid=="xmCancel") + else if(comdid==L"xmCancel") { CloseWindow(); return 1; } - if(sheet && comdid !="") + if(sheet && comdid !=L"") { - int ret = win32::SendMessage(sheet.GetHWND(),0x401,comdid,0); + int ret =SendMessage(GetHWND(),0x401,(LPARAM)comdid,0); if(ret) return ret; } @@ -116,50 +129,49 @@ } //命令处理事件 - int OnXCommand(ref TXCommandEvent evt,int param) + int OnXCommand(TEvent* evt, LPARAM param) { - return OnCmdDispatch(evt.pStrID); + return OnCmdDispatch(evt->xcommand.pStrID); } - int OnDWClick(ref TNotifyEvent evt,int p) + int OnDWClick(TEvent* evt, int p) { - ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); - string value = hdr.data; - string colname = hdr.colname; - if (value == "收件人:") + DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; + xstring value = hdr.data; + xstring colname = hdr.colname; + if (value == L"收件人:") { - xaserverarg arg2 = new xaserverarg; - arg2.setNativePointer(arg2.CreateInstance()); - xaserverarg parg2 = GetParam(); - OpenWindow("dev:xpage[UserGroupPersonSelect.vx]",cast(arg2 as int)); + xaserverarg arg2 ; + xaserverarg parg2 = GetArg(); + OpenWindow(L"dev:xpage[UserGroupPersonSelect.vx]",arg2); - if(arg2.GetArgString("comdid")=="xmOk") + if(arg2.GetArgString(L"comdid")==L"xmOk") { - string data = arg2.GetArgString("data"); - xml x2 = new xml; - x2.setNativePointer(xml::CreateInstance()); - x2.LoadXml(data); - msxml::IXMLDOMNodeList nodes = x2.GetXmlDoc().selectNodes("/root/item"); - trace(x2.GetXml()); + xstring data = arg2.GetArgString(L"data"); + xml x2; - int len = nodes.length; + x2.loadXML(data); + KXMLDOMNodeList nodes = x2.selectNodes(L"/root/item"); + trace(x2.xml()); + + int len = nodes.length(); - string Names = ""; + xstring Names = L""; for(int i=0;i<len; i++) { - msxml::IXMLDOMElement t= nodes.item(i); + KXMLDOMElement t= nodes.item(i); - if(t.getAttribute("Name")) + if(t.getAttribute(L"Name")) { - string Name = t.getAttribute("Name"); - if(Names=="") + xstring Name = t.getAttribute(L"Name"); + if(Names==L"") Names = Name; - else if(Names.find(Name) < 0) Names+=";"+Name; + else if(Names.find(Name) < 0) Names+=L";"+Name; } } - dw_base.SetItemString(1,"Receiver",Names); + dw_base.SetItemString(1,L"Receiver",Names); } return 1; } @@ -169,46 +181,46 @@ int OnAttachEvent() { //绑定工具条点击事件 - AttachEvent("WM_XCOMMAND",OnXCommand); + AttachEvent(L"WM_XCOMMAND", (FEvent)&MessageBusinessWin::OnXCommand); //获取焦点事件,用于重置工具条 - AttachEvent("WM_SETFOCUS",OnSetFocus); + AttachEvent(L"WM_SETFOCUS", (FEvent)&MessageBusinessWin::OnSetFocus); - AttachEvent("dw_base","DWV_ITEMCHANGED",OnItemChanged); - AttachEvent("dw_base","DWV_CLICKED",OnDWClick); + AttachEvent(L"dw_base",L"DWV_ITEMCHANGED", (FEvent)&MessageBusinessWin::OnItemChanged); + AttachEvent(L"dw_base",L"DWV_CLICKED", (FEvent)&MessageBusinessWin::OnDWClick); return 1; } int OnSave() { - xml x = new xml; - x.setNativePointer(xml::CreateInstance()); - xaserverarg arg1 = MakeArg("scriptbox"); - string murl = "/sale/data/Business/message/update"; - if(MessageID=="") murl = "/sale/data/Business/message/add2"; - if(url::get(murl, arg1.GetString(),x)!=1) + xml x ; + + xaserverarg arg1 = MakeArg(L"scriptbox"); + xstring murl = L"/sale/data/Business/message/update"; + if(MessageID==L"") murl = L"/sale/data/Business/message/add2"; + if(xurl::get(murl, arg1.GetString(),x)!=1) { - alert("error1:\r\n"+x.GetXmlDoc().text); + alert((xstring)L"error1:\r\n"+x.text()); return 1; } - if(MessageID=="") MessageID= dw_base.GetGuid(1); - alert("已保存到草稿箱"); + if(MessageID==L"") MessageID= dw_base.GetGuid(1); + alert(L"已保存到草稿箱"); return 1; - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); + xaserverarg arg; + if(sheet) { - int val = cast(arg as int); - win32::SendMessage(sheet.GetHWND(),0x401,"GetEntityData:"+val.toString(),0); - string data = arg.GetArgString("EntityData"); - murl = "/sale/data/Business/message/attach/update"; - arg1.AddArg("url","message/attach"); - arg1.AddArg("content",data); - arg1.AddArg("param",MessageID); - if(url::get(murl, arg1.GetString(),x)!=1) + + SendMessage(sheet.GetHWND(),0x401,L"GetEntityData:"+arg,0); + xstring data = arg.GetArgString(L"EntityData"); + murl = L"/sale/data/Business/message/attach/update"; + arg1.AddArg(L"url",L"message/attach"); + arg1.AddArg(L"content",data); + arg1.AddArg(L"param",MessageID); + if(xurl::get(murl, arg1.GetString(),x)!=1) { - alert("error2:\r\n"+x.GetXmlDoc().text); + alert((xstring)L"error2:\r\n"+x.text()); return 1; } } @@ -217,88 +229,87 @@ int OnSend() { - xml x = new xml; - x.setNativePointer(xml::CreateInstance()); - //xaserverarg arg1 = MakeArg("outbox"); - xaserverarg arg1 = MakeArg("inbox"); - string murl = "/sale/data/Business/message/update"; - if(MessageID=="") murl = "/sale/data/Business/message/add2"; + xml x ; + //xaserverarg arg1 = MakeArg(L"outbox"); + xaserverarg arg1 = MakeArg(L"inbox"); + xstring murl = L"/sale/data/Business/message/update"; + if(MessageID==L"") murl = L"/sale/data/Business/message/add2"; trace(arg1.GetString()); - if(url::get(murl, arg1.GetString(),x)!=1) + if(xurl::get(murl, arg1.GetString(),x)!=1) { - alert("error1:\r\n"+x.GetXmlDoc().text); + alert((xstring)L"error1:\r\n"+x.text()); return 1; } - if(MessageID=="") MessageID= dw_base.GetGuid(1); - alert("发送完成"); + if(MessageID==L"") MessageID= dw_base.GetGuid(1); + alert(L"发送完成"); CloseWindow(); return 1; - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); + xaserverarg arg; + if(sheet) { - int val = cast(arg as int); - win32::SendMessage(sheet.GetHWND(),0x401,"GetEntityData:"+val.toString(),0); - string data = arg.GetArgString("EntityData"); - murl = "/sale/data/Business/message/attach/update"; - arg1.AddArg("url","message/attach"); - arg1.AddArg("content",data); - arg1.AddArg("param",MessageID); - if(url::get(murl, arg1.GetString(),x)!=1) + + SendMessage(sheet.GetHWND(),0x401,L"GetEntityData:"+arg,0); + xstring data = arg.GetArgString(L"EntityData"); + murl = L"/sale/data/Business/message/attach/update"; + arg1.AddArg(L"url",L"message/attach"); + arg1.AddArg(L"content",data); + arg1.AddArg(L"param",MessageID); + if(xurl::get(murl, arg1.GetString(),x)!=1) { - alert("error2:\r\n"+x.GetXmlDoc().text); + alert((xstring)L"error2:\r\n"+x.text()); return 1; } } return 1; } - xaserverarg MakeArg(string folder) + xaserverarg MakeArg(xstring folder) { //ThingImpl:AddMessage($MessageID,$Folder,$EntityNo, $EntityID, $Subject, $Category, $Reciever, $Content) //ThingImpl:UpdateMessage($MessageID,$Folder,$EntityNo, $EntityID, $Subject, $Category, $Reciever, $Content) - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); + xaserverarg arg; - if(MessageID=="") + + if(MessageID==L"") { dw_base.SetGuid(1,ViewObject::GetGuid()); - arg.AddArg("MessageID", dw_base.GetGuid(1)); - arg.AddArg("EntityID", dw_base.GetGuid(1)); + arg.AddArg(L"MessageID", dw_base.GetGuid(1)); + arg.AddArg(L"EntityID", dw_base.GetGuid(1)); } else { - arg.AddArg("MessageID", MessageID); - arg.AddArg("EntityID", MessageID); + arg.AddArg(L"MessageID", MessageID); + arg.AddArg(L"EntityID", MessageID); } - arg.AddArg("Folder", folder); - arg.AddArg("EntityNo", dw_base.GetItemString(1,"EntityNo")); - arg.AddArg("Subject", dw_base.GetItemString(1,"Subject")); - arg.AddArg("Category", dw_base.GetItemString(1,"Category")); - arg.AddArg("Reciever", dw_base.GetItemString(1,"Receiver")); - arg.AddArg("Note", dw_base.GetItemString(1,"Note")); - //arg.AddArg("Content", dw_base.GetItemString(1,"Content")); - arg.AddArg("Content",GetControl("content").GetText()); - arg.AddArg("Content2",bill); + arg.AddArg(L"Folder", folder); + arg.AddArg(L"EntityNo", dw_base.GetItemString(1,L"EntityNo")); + arg.AddArg(L"Subject", dw_base.GetItemString(1,L"Subject")); + arg.AddArg(L"Category", dw_base.GetItemString(1,L"Category")); + arg.AddArg(L"Reciever", dw_base.GetItemString(1,L"Receiver")); + arg.AddArg(L"Note", dw_base.GetItemString(1,L"Note")); + //arg.AddArg(L"Content", dw_base.GetItemString(1,L"Content")); + arg.AddArg(L"Content",xcontrol(GetControl(L"sle_search")).GetText()); + arg.AddArg(L"Content2",bill); return arg; } int OnRetrieve() { - xml x = new xml; - x.setNativePointer(xml::CreateInstance()); - xaserverarg arg = new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg("id",MessageID); - if (getUrl("/sale/data/business/list/fetch",arg.GetString(),x)!=1) + xml x; + + xaserverarg arg; + + arg.AddArg(L"id",MessageID); + if (getUrl(L"/sale/data/business/list/fetch",arg.GetString(),x)!=1) { - trace(x.GetXmlDoc().text); + trace(x.text()); return -1; }else { @@ -306,41 +317,41 @@ dw_base.Redraw(); if(readonly) dw_base.SetReadOnly(true); - if(x.GetXmlDoc().selectSingleNode("root/Content")) + if(x.selectSingleNode(L"root/Content")) { - string str = x.GetXmlDoc().selectSingleNode("root/Content").text; - str = str.replace("\n","\r\n"); - GetControl("content").SetText(str); + xstring str = x.selectSingleNode(L"root/Content").text(); + str = str.replace(L"\n",L"\r\n"); + GetControl(L"content").SetText(str); } - //alert(x.GetXml()); - if(x.GetXmlDoc().selectSingleNode("root/Content2")) + //alert(x.xml()); + if(x.selectSingleNode(L"root/Content2")) { - string str2 = x.GetXmlDoc().selectSingleNode("root/Content2").text; - string tm=""; - string EntityID=""; - string Category=""; - int pos = str2.find("EntityID="); + xstring str2 = x.selectSingleNode(L"root/Content2").text(); + xstring tm=L""; + xstring EntityID=L""; + xstring Category=L""; + int pos = str2.find(L"EntityID=L"); if(pos >= 0) { - tm = str2.mid(pos+"EntityID=".length(),64); - if(tm.find(" ")>0) tm = tm.left(tm.find(" ")); + tm = str2.mid(pos + L"EntityID=L".length(),64); + if(tm.find(L" ")>0) tm = tm.left(tm.find(L" ")); EntityID=tm; } - pos = str2.find("Category="); + pos = str2.find(L"Category=L"); if(pos >= 0) { - tm = str2.mid(pos+"Category=".length(),64); - if(tm.find(" ")>0) tm = tm.left(tm.find(" ")); + tm = str2.mid(pos+L"Category=L".length(),64); + if(tm.find(L" ")>0) tm = tm.left(tm.find(L" ")); Category=tm; } - trace("EntityID:"+EntityID); - trace("Category:"+Category); - if(EntityID != "" && Category != "") + trace(L"EntityID:"+EntityID); + trace(L"Category:"+Category); + if(EntityID != L"" && Category != L"") { - string eleStr = "<row EntityID='"+EntityID+"'"; - eleStr += " category='" + Category + "'/>"; - bill = "EntityID="+EntityID+" Category=" + Category; + xstring eleStr = L"<row EntityID='"+EntityID+L"'"; + eleStr += L" category='" + Category + L"'/>"; + bill = L"EntityID=L"+EntityID+L" Category=L" + Category; ShowDetail(eleStr); } } @@ -348,23 +359,23 @@ return 1; } - int ShowDetail(string eleStr) + int ShowDetail(xstring eleStr) { - xaserverarg arg=new xaserverarg; - arg.setNativePointer(arg.CreateInstance()); - arg.AddArg("content",eleStr); - xml doc=new xml; - doc.setNativePointer(xml::CreateInstance()); - if(getUrl("/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1) + xaserverarg arg; + + arg.AddArg(L"content",eleStr); + xml doc; + + if(getUrl(L"/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1) { - trace("error->:"+doc.GetXml()); + trace((xstring)L"error->:"+doc.xml()); return 0; } - if(doc.GetXml() == "") + if(doc.xml() == L"") return -1; - htmlctrl ht = GetControl("taskinfo"); - ht.SetContent(doc.GetXml()); + htmlctrl ht = GetControl(L"taskinfo"); + ht.SetContent(doc.xml()); ht.Redraw(); return 1; @@ -372,34 +383,35 @@ int onload() { - dw_base = GetControl("dw_base"); - dw_base.openUrl("/sale/view/business3/template/message/maint"); + SetArg(); + dw_base = GetControl(L"dw_base"); + dw_base.openUrl(L"/sale/view/business3/template/message/maint"); dw_base.SetColHeaderHeight(0); dw_base.SetRowSelectorWidth(0); dw_base.SetHScrollState(false); dw_base.SetVScrollState(false); - dw_base.SetItemString(1,"Category","普通"); + dw_base.SetItemString(1,L"Category",L"普通"); OnAttachEvent(); readonly = false; - MessageID = ""; - bill = ""; + MessageID = L""; + bill = L""; SetAgent(); - if(GetParam()) + if(GetWinParam()) { - xaserverarg arg = GetParam(); - MessageID = arg.GetArgString("id"); - if(arg.GetArgString("readonly")=="1") readonly=true; + xaserverarg arg = GetArg(); + MessageID = arg.GetArgString(L"id"); + if(arg.GetArgString(L"readonly")==L"1") readonly=true; OnRetrieve(); - if(arg.GetArgString("EntityID")!="") + if(arg.GetArgString(L"EntityID")!=L"") { - string str = "<row EntityID='"+arg.GetArgString("EntityID")+"'"; - str += " category='" + arg.GetArgString("EntityName")+"'/>"; - bill = "EntityID="+arg.GetArgString("EntityID")+" Category=" + arg.GetArgString("EntityName"); + xstring str = L"<row EntityID='"+arg.GetArgString(L"EntityID")+L"'"; + str += L" category='" + arg.GetArgString(L"EntityName")+L"'/>"; + bill = L"EntityID=L"+arg.GetArgString(L"EntityID")+L" Category=L" + arg.GetArgString(L"EntityName"); ShowDetail(str); } } @@ -412,5 +424,4 @@ return 1; } - }; -] \ No newline at end of file + }; \ No newline at end of file -- Gitblit v1.9.3