jrj/ext-jrj/ext-jrj.vcxproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/ext-jrj/ext-jrj.vcxproj.filters | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Affair/Business5.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Affair/ProcessManagement.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Affair/message.business.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
jrj/project/business/Affair/message.supplier.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
jrj/ext-jrj/ext-jrj.vcxproj
@@ -282,6 +282,18 @@ <ItemGroup> <ClCompile Include="..\jarch.impl\JStringImpl.cpp" /> <ClCompile Include="..\project\analysis\DataVanalysisWin.cpp" /> <ClCompile Include="..\project\business\Affair\Business5.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Affair\message.business.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Affair\message.supplier.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\Affair\ProcessManagement.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> </ClCompile> <ClCompile Include="..\project\business\AP\APBank.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild> </ClCompile> jrj/ext-jrj/ext-jrj.vcxproj.filters
@@ -1442,6 +1442,18 @@ <ClCompile Include="..\project\business\PO\paymentmethod.cpp"> <Filter>project\business\PO</Filter> </ClCompile> <ClCompile Include="..\project\business\Affair\Business5.cpp"> <Filter>project\business\Affair</Filter> </ClCompile> <ClCompile Include="..\project\business\Affair\message.business.cpp"> <Filter>project\business\Affair</Filter> </ClCompile> <ClCompile Include="..\project\business\Affair\message.supplier.cpp"> <Filter>project\business\Affair</Filter> </ClCompile> <ClCompile Include="..\project\business\Affair\ProcessManagement.cpp"> <Filter>project\business\Affair</Filter> </ClCompile> </ItemGroup> <ItemGroup> <None Include="ext-jrj.def"> jrj/project/business/Affair/Business5.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,669 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "saleorder.view.vd" use "publiccode.vutil.vbusiness.vd" unit trade [ class Business5Win : public xframe { xdwgrid dw_list; xdwgrid dw_processed; xdwgrid dw_message; xdwgrid dw_outbox; xdwgrid dw_Recovery; xnode m_agentNode; //Agent Condition xtreeview tv_folder; int hMessage; int hTask; string agentFor; string selectname; xwin sheet; int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[@for='"+agentFor+"']/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); //FillGoodsCarList(); } } return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ SetAgent(); return 1; } int RetrieveData() { if(selectname == "å·²å¤çä»»å¡") { xml x = ViewObject::RetrieveData("/sale/data/business/list/processedtask"); dw_processed.Retrieve(x); dw_processed.Redraw(); dw_processed.SetReadOnly(true); }else if(selectname == "æ¶ä»¶ç®±") { string UserNO= publiccode::GetUser().no; x = ViewObject::RetrieveData("/sale/data/business/list/inbox"); dw_message.Retrieve(x); dw_message.Redraw(); dw_message.SetReadOnly(true); } else if(selectname == "åä»¶ç®±") { x = ViewObject::RetrieveData("/sale/data/business/list/outbox"); dw_outbox.Retrieve(x); dw_outbox.Redraw(); dw_outbox.SetReadOnly(true); } else if(selectname == "åæ¶ç®±") { x = ViewObject::RetrieveData("/sale/data/business/list/Recovery"); dw_Recovery.Retrieve(x); dw_Recovery.Redraw(); dw_Recovery.SetReadOnly(true); } AdjustTip(); return 1; } int OnDelete() { int MB_OKCANCEL = 1; int IDOK = 1; int ret = win32::MessageBox(GetHWND(),"确认å 餿¶æ¯?","æç¤º",MB_OKCANCEL); if(ret == IDOK) { msxml::IXMLDOMElement ele = dw_message.GetRowElement(dw_message.GetRow()); string TaskID = ele.getAttribute("guid"); xml x = ViewObject::RetrieveData("/sale/data/business/message/delete","TaskID",TaskID); string status = x.GetXml(); if(status.find("ok") == 1) { alert("å 餿å"); RetrieveData(); }else { alert("å é¤å¤±è´¥"); } } return 1; } int OnUpdateRecovery() { int MB_OKCANCEL = 1; int IDOK = 1; int ret = win32::MessageBox(GetHWND(),"确认æ¢å¤æ¶æ¯?","æç¤º",MB_OKCANCEL); if(ret == IDOK) { msxml::IXMLDOMElement ele = dw_Recovery.GetRowElement(dw_Recovery.GetRow()); string TaskID = ele.getAttribute("guid"); xml x = ViewObject::RetrieveData("/sale/data/business/Recovery/UpdateRecovery","TaskID",TaskID); string status = x.GetXml(); if(status.find("ok") == 1) { alert("æ¢å¤æå"); RetrieveData(); }else { alert("æ¢å¤å¤±è´¥"); } } return 1; } int OnDeleteRecovery() { int MB_OKCANCEL = 1; int IDOK = 1; int ret = win32::MessageBox(GetHWND(),"确认彻åºå 餿¶æ¯?","æç¤º",MB_OKCANCEL); if(ret == IDOK) { msxml::IXMLDOMElement ele = dw_Recovery.GetRowElement(dw_Recovery.GetRow()); string TaskID = ele.getAttribute("guid"); xml x = ViewObject::RetrieveData("/sale/data/business/Recovery/DeleteRecovery","TaskID",TaskID); string status = x.GetXml(); if(status.find("ok") == 1) { alert("å 餿å"); RetrieveData(); }else { alert("å é¤å¤±è´¥"); } } return 1; } int OnAdd() { OpenWindow("dev:xpage[message.business.vx]"); if(selectname == "åä»¶ç®±" || selectname == "è稿箱") RetrieveData(); return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { int ret = 0; if(comdid.find("action:",0)>=0) { ret = win32::SendMessage(sheet.GetHWND(),0x401,comdid,0); } if(comdid=="xmRefreshTask") { trace("\r\n----refresh task--------"); win32::SendMessage(sheet.GetHWND(),0x401,comdid,0); return 1; } if(comdid=="xmRefresh") { trace("\r\n----refresh--------"); ret = win32::SendMessage(sheet.GetHWND(),0x401,comdid,0); } if(comdid == "xmRertieve") { RetrieveData(); ret = 1; } if(comdid=="xmAdd") { OnAdd(); ret = 1; } if(comdid == "xmDelete") { OnDelete(); ret = 1; } if(comdid == "UpdateRecovery") { OnUpdateRecovery(); ret = 1; } if(comdid == "DeleteRecovery") { OnDeleteRecovery(); ret = 1; } if(comdid == "xmImage") { int row = dw_message.GetRow(); string PriceID = dw_message.GetItemString(row,"EntityID"); xml x = ViewObject::RetrieveData("/sale/data/Enquiry/PriceList/GetSkunoByPriceID","PriceID",PriceID); msxml::IXMLDOMNodeList items = x.GetXmlDoc().selectNodes("data/Item"); msxml::IXMLDOMNode t = items.item(0); string skunos = t.selectSingleNode("skuno").text; xaserverarg arg_pic=new xaserverarg; arg_pic.setNativePointer(arg_pic.CreateInstance()); arg_pic.AddArg("SKUNoList",skunos); arg_pic.AddArg("ParentWindow",GetHWND().toString()); arg_pic.AddArg("OpenFlag","1"); OpenWindow("dev:xpage[SKU.PictureView.Product3.vx]",cast(arg_pic as int)); return 1; } else if(comdid == "xmSearchOne") { OnSearchOne(); return 1; } else if(comdid == "xmSearchTwo") { OnSearchTwo(); return 1; } else if(comdid=="Lognew") { string EntityID = dw_processed.GetItemString(dw_processed.GetRow(),"EntityID"); //alert(EntityID); xaserverarg args=new xaserverarg; args.setNativePointer(args.CreateInstance()); args.AddArg("EntityID",EntityID); //OpenWindow("dev:xpage[workflow.actionlog.vx]",cast(args as int)); OpenWindow("dev:xpage[workflow.actionlog_vd.vx]",args.getNativePointer()); } return ret; } int OnSearchOne() { string searchStr=""; xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("text", searchStr); OpenWindow("dev:xpage[search.dialog.vx]", cast(arg as int)); string str = arg.GetArgString("text"); if(str != searchStr) { searchStr = str; dw_message.Filter("*",searchStr); return 1; } return 1; } int OnSearchTwo() { string searchStr=""; xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("text", searchStr); OpenWindow("dev:xpage[search.dialog.vx]", cast(arg as int)); string str = arg.GetArgString("text"); if(str != searchStr) { searchStr = str; dw_Recovery.Filter("*",searchStr); return 1; } return 1; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } //æ¥æ¾å½åæ 项ç顶级ç®å½ int LookupTopFolder(int hItem) { int hRoot = tv_folder.GetRootItem(); while(tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem); return hItem; } int ResetAgent(string agentAsk) { if(agentFor != agentAsk) { agentFor = agentAsk; m_agentNode = 0; SetAgent(); } return 1; } int OnTreeSelChanged(ref TNotifyEvent evt,int p) { ref NMTREEVIEW nmtv = cast(evt.pnmh as NMTREEVIEW); int hItem = nmtv.itemNew.hItem; int hTopItem = LookupTopFolder(hItem); string data = tv_folder.GetItemData(hItem); trace("\r\n"+data); //msxml::IXMLDOMElement e = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement); //if(e)trace(e.xml); string name = tv_folder.GetItemLabel(hTopItem); selectname = tv_folder.GetItemLabel(hItem); if(selectname == "å¾ å¤çä»»å¡") { SwitchLayer("sheet2","frame"); sheet = GetChildWin("sheet2"); ResetAgent("business1"); }else if(selectname == "å·²å¤çä»»å¡") { SwitchLayer("sheet3","frame"); RetrieveData(); ResetAgent("business2"); }else if(selectname == "æ¶ä»¶ç®±") { SwitchLayer("sheet4","frame"); RetrieveData(); ResetAgent("business3"); }else if(selectname == "åä»¶ç®±") { SwitchLayer("sheet5","frame"); RetrieveData(); ResetAgent("business2"); } else if(selectname == "äºå¡") { SwitchLayer("sheet1","frame"); }else if(selectname == "åæ¶ç®±") { SwitchLayer("sheet6","frame"); RetrieveData(); ResetAgent("business5"); } return 1; } int OnRowChanged(ref TNotifyEvent evt,int p) { //fixed one event only one process ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); int row = hdr.row; if(selectname == "å·²å¤çä»»å¡") msxml::IXMLDOMElement ele = dw_processed.GetRowElement(row); else if(selectname == "æ¶ä»¶ç®±") { ele = dw_message.GetRowElement(row); string Subject = dw_message.GetItemString(row,"Subject"); if(Subject.find("ä»·æ ¼å") == -1) { ResetAgent("business3"); }else{ ResetAgent("business4"); } } else if(selectname == "åæ¶ç®±") { ele = dw_Recovery.GetRowElement(row); string SubjectOne = dw_Recovery.GetItemString(row,"Subject"); } else if(selectname == "åä»¶ç®±") ele = dw_outbox.GetRowElement(row); xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); trace(ele.xml); arg.AddArg("content",ele.xml); xml doc=new xml; doc.setNativePointer(xml::CreateInstance()); if(getUrl("/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1) { trace("error->:"+doc.GetXml()); return 0; } if(doc.GetXml() == "") return -1; //trace(doc.GetXml()); htmlctrl ht = GetControl("taskinfo"); ht.SetContent(doc.GetXml()); ht.Redraw(); return 1; } int OnItemAskStyle(ref TNotifyEvent evt,int p) { int DMS_CSSSTYLE = 0x8; ref DWASKSTYLENMHDR hdr = trust(evt.pnmh as ref DWASKSTYLENMHDR); int row = hdr.row; int col = hdr.col; string colname = hdr.colname; int rows = dw_message.GetRowCount(); if(row < 1 || row > rows) { return 1; } if(colname=="flowName" || colname=="Process" || colname=="sender" || colname=="SendDate"||colname=="processer"||colname=="ProcessedDate"|| colname=="Subject"||colname=="Content") { string ReadedFlag = dw_message.GetItemString(row,"ReadedFlag"); if(ReadedFlag != "Y") { hdr.mask = DMS_CSSSTYLE; //hdr.cssstyle = "color:#cccccc"; hdr.cssstyle = "font-weight:700"; } } return 1; } int OnDWClick(ref TNotifyEvent evt,int p) { string UserNO=publiccode::GetUser().no; if(UserNO !="00701") { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); string value = hdr.data; string colname = hdr.colname; int row = hdr.row; msxml::IXMLDOMElement ele = dw_message.GetRowElement(row); string TaskID = ele.getAttribute("guid"); string ReadedFlag = dw_message.GetItemString(row,"ReadedFlag"); string flowName = dw_message.GetItemString(row,"flowName"); if(ReadedFlag != "Y") { xml x = ViewObject::RetrieveData("/sale/data/business/message/read","TaskID",TaskID); dw_message.SetItemString(row,"ReadedFlag","Y"); if(ReadedFlag != "Y" && flowName == "ä»·æ ¼åå ±äº«") { xml x1 = ViewObject::RetrieveData("/sale/data/business/Recovery/MessageStatus","TaskID",TaskID); } dw_message.Redraw(); //RetrieveData(); } AdjustTip(); } return 1; } int OpenShowroom1(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); string value = hdr.data; string colname = hdr.colname; int row = hdr.row; msxml::IXMLDOMElement ele = dw_outbox.GetRowElement(row); string TaskID = ele.getAttribute("guid"); string Category = dw_outbox.GetItemString(row,"flowName"); if(Category=="æ®é"){ xaserverarg arg2 = new xaserverarg; arg2.setNativePointer(arg2.CreateInstance()); if(dw_outbox.GetRowCount() < 1) return 1; msxml::IXMLDOMElement ele1 = dw_outbox.GetRowElement(dw_outbox.GetRow()); arg2.AddArg("EntityID",dw_outbox.GetItemString(dw_outbox.GetRow(),"EntityID")); arg2.AddArg("id",ele1.getAttribute("guid")); OpenWindow("dev:xpage[message.business.vx]", cast(arg2 as int)); return 1; } return 1; } int OpenShowroom(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); string value = hdr.data; string colname = hdr.colname; int row = hdr.row; msxml::IXMLDOMElement ele = dw_message.GetRowElement(row); string TaskID = ele.getAttribute("guid"); string Category = dw_message.GetItemString(row,"Category"); if(Category=="è´§å·ç³è¯·"){ int p1="" ; OpenWindow("dev:xpage[UserProductApply.vx]", p1); } if(Category=="æ®é"){ xaserverarg arg2 = new xaserverarg; arg2.setNativePointer(arg2.CreateInstance()); if(dw_message.GetRowCount() < 1) return 1; msxml::IXMLDOMElement ele1 = dw_message.GetRowElement(dw_message.GetRow()); arg2.AddArg("EntityID",dw_message.GetItemString(dw_message.GetRow(),"EntityID")); arg2.AddArg("id",ele1.getAttribute("guid")); OpenWindow("dev:xpage[message.business.vx]", cast(arg2 as int)); return 1; } else if(Category=="æ¥ä»·åå ±äº«") { if(dw_message.GetRowCount() < 1) return 1; string No = dw_message.GetItemString(dw_message.GetRow(),"No"); OpenWindow("dev:xpage[EnquiryEx.quote.vx]",cast(No as int)); } if(Category=="SupplierV3") { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); if(dw_message.GetRowCount() < 1) return 1; arg.AddArg("EntityID",dw_message.GetItemString(dw_message.GetRow(),"EntityID")); //OpenWindow("dev:xpage[maint.Owner.Supplier.v3.vx]",cast(arg as int)); arg.AddArg("config","/sale/view/SupplierV3/config/supplier/open"); OpenWindow("dev:xpage[maintex.Owner.Supplier.v3.vx]",arg.getNativePointer()); } if(Category=="ä¾åºååé") { xaserverarg arg1 = new xaserverarg; arg1.setNativePointer(arg1.CreateInstance()); if(dw_message.GetRowCount() < 1) return 1; arg1.AddArg("EntityID",dw_message.GetItemString(dw_message.GetRow(),"EntityID")); OpenWindow("dev:xpage[maint.Owner.Supplier.v3.vx]",cast(arg1 as int)); } return 1; } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); //æ éæ© AttachEvent("tv_folder", "TVN_SELCHANGED",OnTreeSelChanged); AttachEvent("dw_processed","DWV_ROWFOCUSCHANGED",OnRowChanged); AttachEvent("dw_message","DWV_ROWFOCUSCHANGED",OnRowChanged); AttachEvent("dw_outbox","DWV_ROWFOCUSCHANGED",OnRowChanged); AttachEvent("dw_Recovery","DWV_ROWFOCUSCHANGED",OnRowChanged); AttachEvent("dw_message","DWV_ASKSTYLE",OnItemAskStyle); AttachEvent("dw_message","DWV_CLICKED",OnDWClick); AttachEvent("dw_message","DWV_DOUBLECLICKED",OpenShowroom); AttachEvent("dw_outbox","DWV_DOUBLECLICKED",OpenShowroom1); return 1; } int OnRetrieve() { return 1; } int InitialFolder() { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement e = xframeElement.selectSingleNode("//xtree[@name='tv_folder']/initial"); //msxml::IXMLDOMElement e = xframeElement.selectSingleNode("//xtree[@name='tv_folder']/data/item[@name='"+"']"); //trace(e.xml); if(e) ExpandChildFolder(0,e); return 1; } int ExpandChildFolder(int hItem, msxml::IXMLDOMElement pElement) { msxml::IXMLDOMNodeList nlist = pElement.SelectNodes("Item"); int len = nlist.length; for (int i = 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("name"); string sImage = e.getAttribute("image"); string child = e.getAttribute("child"); int image = 15; if(sImage) image = sImage.toInt(); int h= tv_folder.InsertChildItem(tv_folder.GetId(),hItem,name, trust(e as int),image); if(child !="no" ) tv_folder.SetItemChild(h,1); ExpandChildFolder(h,e); } return 1; } int AdjustTip() { xml x = ViewObject::RetrieveData("/sale/data/business/list/AdjustTipNotify"); msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("/data/Item"); msxml::IXMLDOMNode t = nlist.item(0); string informationQuantity =t.selectSingleNode("informationQuantity").text; tv_folder.SetItemLabel(hMessage, "æ¶æ¯"+"("+informationQuantity+")"); xml x1 = ViewObject::RetrieveData("/sale/data/business/list/AdjustTipTask"); //alert(x1.GetXml()); msxml::IXMLDOMNodeList nlist1 = x1.GetXmlDoc().SelectNodes("/data/Item"); msxml::IXMLDOMNode t1= nlist1.item(0); string informationQuantityTask =t1.selectSingleNode("informationQuantityTask").text; tv_folder.SetItemLabel(hTask, "ä»»å¡"+"("+informationQuantityTask+")"); /*select count(*) from bpm_task where typ='notify' and process='N' and charindex('|'+'00303'+'|','|' + rtrim(receiver) +'|')>=1*/ return 1; } int onload() { agentFor = "business"; OnAttachEvent(); dw_list = GetControl("dw_list"); dw_processed = GetControl("dw_processed"); dw_processed.openUrl("/sale/view/Business3/template/processedtask"); dw_processed.SetColumnState("EntityID",false); dw_processed.SetColumnState("Category",false); dw_message = GetControl("dw_message"); dw_message.openUrl("/sale/view/Business3/template/message"); dw_message.SetAskStyle(true); dw_message.SetColumnState("EntityID",false); dw_message.SetColumnState("Category",false); dw_message.SetColumnState("ReadedFlag",false); dw_outbox = GetControl("dw_outbox"); dw_outbox.openUrl("/sale/view/Business3/template/outbox"); dw_outbox.SetColumnState("EntityID",false); dw_Recovery = GetControl("dw_Recovery"); dw_Recovery.openUrl("/sale/view/Business3/template/message"); dw_Recovery.SetColumnState("EntityID",false); dw_Recovery.SetColumnState("Category",false); dw_Recovery.SetColumnState("ReadedFlag",false); dw_Recovery.SetColumnState("No",false); tv_folder = GetControl("tv_folder"); tv_folder.SetLineAtRoot(true); sheet = GetChildWin("sheet1"); int hItem = tv_folder.GetRootItem(); tv_folder.ExpandItem(hItem); int hcItem =tv_folder.GetChildItem(hItem); hTask = hcItem; tv_folder.ExpandItemAll(hcItem); tv_folder.ItemFocus(tv_folder.GetChildItem(hcItem)); hcItem = tv_folder.GetNextItem(hcItem); hMessage = hcItem; tv_folder.ExpandItemAll(hcItem); AdjustTip(); return 1; } int onloaded() { SetAgent(); return 1; } }; ] jrj/project/business/Affair/ProcessManagement.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,171 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.vd" unit trade [ class ProcessManagement : public xframe { xdwgrid dw_list; xnode m_agentNode; //Agent Condition int SetAgent() { string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ SetAgent(); return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { if(comdid == "xmDelete") { int MB_OKCANCEL = 1; int IDOK = 1; int ret = win32::MessageBox(GetHWND(),"确认å 餿µç¨?","æç¤º",MB_OKCANCEL); if(ret == IDOK) { int row = dw_list.GetRow(); string TaskID = dw_list.GetItemString(row,"TaskID"); xml x = ViewObject::RetrieveData("/sale/data/business/DelProcessManagement","TaskID",TaskID); string status = x.GetXml(); if(status.find("ok") == 1) { alert("å 餿å"); dw_list.DeleteRow(row); }else { alert("å é¤å¤±è´¥"); } } return 1; } else if (comdid == "xmRefresh") { OnRetrieve(); } else if (comdid == "AA") { AA(); } return 0; } int AA() { //string FobUnitPriceEx=dw_cell.GetItemString(row,colFOBPrice); string FobUnitPriceEx="$123.0"; if(FobUnitPriceEx=="$") FobUnitPriceEx="123"; //alert(FobUnitPriceEx.find("$").toString()); if(FobUnitPriceEx.find("$") >=0) FobUnitPriceEx=FobUnitPriceEx.right(FobUnitPriceEx.length() - 1); trace(FobUnitPriceEx); } //触åé¼ æ 离å¼åtranäºä»¶ï¼éè¿æ¥æ¾æä¸ªåæ°å¾å°å¯¹åºçå int OnBaseItemChanged(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); string colname=hdr.colname; string value = hdr.data; string dwname = "dw_list"; if(value != "") { msxml::IXMLDOMNodeList nlist = GetElement().selectNodes("//*[@name='"+dwname+"']/trans[@for='"+colname+"']"); ViewObject::TransData(nlist, dw_list, hdr.row, colname, value); } return 1; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent("dw_list","DWV_ITEMCHANGED",OnBaseItemChanged); } int OnRetrieve() { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); if (getUrl("/sale/data/business/ProcessManagement",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); return -1; }else { dw_list.Retrieve(x); dw_list.Redraw(); dw_list.SetReadOnly(true); dw_list.SetSelectionMode(1); } return 1; } int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/Business3/template/ProcessManagement"); dw_list.SetColumnState("TaskID",false); OnRetrieve(); OnAttachEvent(); return 1; } int onloaded() { SetAgent(); return 1; } }; ] jrj/project/business/Affair/message.business.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,416 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "base.view.vd" unit trade [ class MessageBusinessWin : public xframe { //xdwgrid dw_list; xdwtable dw_base; xnode m_agentNode; //Agent Condition xwin sheet; bool readonly; string MessageID; string bill; int SetAgent() { return 1; string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ SetAgent(); return 1; } int OnItemChanged(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); string colname=hdr.colname; string value = hdr.data; int row = hdr.row; if(colname=="Category") { if(value=="ä¾åºåç³è¯·") { dw_base.SetItemString(1,"Receiver","fdp-011"); dw_base.SetItemString(1,"Subject","请添å "); } return 1; bool changed = false; xml x = ViewObject::RetrieveData("/sale/data/business/message/maint","typ",value); if(x) { string xpage_ = x.GetXmlDoc().documentElement.getAttribute("xpage"); string templaterpt = x.GetXmlDoc().documentElement.getAttribute("template"); if(xpage_ !="") { string s = "<hbox name='agent'>"; s += "<xpage url='" + xpage_ + "' name='contentex'/>"; s += "</hbox>"; SetAgentNodeContent (GetAgentNode("agent"),s); SwitchLayer("sheet2","frame"); sheet = GetChildWin("contentex"); changed = true; } } if(!changed) { sheet = 0; SwitchLayer("sheet1","frame"); } } return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { if(comdid=="xmSend") { if(!readonly) OnSend(); return 1; } else if(comdid=="xmSave") { if(!readonly) OnSave(); return 1; } else if(comdid=="xmCancel") { CloseWindow(); return 1; } if(sheet && comdid !="") { int ret = win32::SendMessage(sheet.GetHWND(),0x401,comdid,0); if(ret) return ret; } return 0; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnDWClick(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr = trust(evt.pnmh as ref DWNMHDR); string value = hdr.data; string colname = hdr.colname; if (value == "æ¶ä»¶äºº:") { xaserverarg arg2 = new xaserverarg; arg2.setNativePointer(arg2.CreateInstance()); xaserverarg parg2 = GetParam(); OpenWindow("dev:xpage[UserGroupPersonSelect.vx]",cast(arg2 as int)); if(arg2.GetArgString("comdid")=="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()); int len = nodes.length; string Names = ""; for(int i=0;i<len; i++) { msxml::IXMLDOMElement t= nodes.item(i); if(t.getAttribute("Name")) { string Name = t.getAttribute("Name"); if(Names=="") Names = Name; else if(Names.find(Name) < 0) Names+=";"+Name; } } dw_base.SetItemString(1,"Receiver",Names); } return 1; } } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent("dw_base","DWV_ITEMCHANGED",OnItemChanged); AttachEvent("dw_base","DWV_CLICKED",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) { alert("error1:\r\n"+x.GetXmlDoc().text); return 1; } if(MessageID=="") MessageID= dw_base.GetGuid(1); alert("å·²ä¿åå°è稿箱"); return 1; xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); 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) { alert("error2:\r\n"+x.GetXmlDoc().text); return 1; } } return 1; } 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"; trace(arg1.GetString()); if(url::get(murl, arg1.GetString(),x)!=1) { alert("error1:\r\n"+x.GetXmlDoc().text); return 1; } if(MessageID=="") MessageID= dw_base.GetGuid(1); alert("åé宿"); CloseWindow(); return 1; xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); 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) { alert("error2:\r\n"+x.GetXmlDoc().text); return 1; } } return 1; } xaserverarg MakeArg(string 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()); if(MessageID=="") { dw_base.SetGuid(1,ViewObject::GetGuid()); arg.AddArg("MessageID", dw_base.GetGuid(1)); arg.AddArg("EntityID", dw_base.GetGuid(1)); } else { arg.AddArg("MessageID", MessageID); arg.AddArg("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); 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) { trace(x.GetXmlDoc().text); return -1; }else { dw_base.Retrieve(x); dw_base.Redraw(); if(readonly) dw_base.SetReadOnly(true); if(x.GetXmlDoc().selectSingleNode("root/Content")) { string str = x.GetXmlDoc().selectSingleNode("root/Content").text; str = str.replace("\n","\r\n"); GetControl("content").SetText(str); } //alert(x.GetXml()); if(x.GetXmlDoc().selectSingleNode("root/Content2")) { string str2 = x.GetXmlDoc().selectSingleNode("root/Content2").text; string tm=""; string EntityID=""; string Category=""; int pos = str2.find("EntityID="); if(pos >= 0) { tm = str2.mid(pos+"EntityID=".length(),64); if(tm.find(" ")>0) tm = tm.left(tm.find(" ")); EntityID=tm; } pos = str2.find("Category="); if(pos >= 0) { tm = str2.mid(pos+"Category=".length(),64); if(tm.find(" ")>0) tm = tm.left(tm.find(" ")); Category=tm; } trace("EntityID:"+EntityID); trace("Category:"+Category); if(EntityID != "" && Category != "") { string eleStr = "<row EntityID='"+EntityID+"'"; eleStr += " category='" + Category + "'/>"; bill = "EntityID="+EntityID+" Category=" + Category; ShowDetail(eleStr); } } } return 1; } int ShowDetail(string 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) { trace("error->:"+doc.GetXml()); return 0; } if(doc.GetXml() == "") return -1; htmlctrl ht = GetControl("taskinfo"); ht.SetContent(doc.GetXml()); ht.Redraw(); return 1; } int onload() { dw_base = GetControl("dw_base"); dw_base.openUrl("/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","æ®é"); OnAttachEvent(); readonly = false; MessageID = ""; bill = ""; SetAgent(); if(GetParam()) { xaserverarg arg = GetParam(); MessageID = arg.GetArgString("id"); if(arg.GetArgString("readonly")=="1") readonly=true; OnRetrieve(); if(arg.GetArgString("EntityID")!="") { string str = "<row EntityID='"+arg.GetArgString("EntityID")+"'"; str += " category='" + arg.GetArgString("EntityName")+"'/>"; bill = "EntityID="+arg.GetArgString("EntityID")+" Category=" + arg.GetArgString("EntityName"); ShowDetail(str); } } return 1; } int onloaded() { return 1; } }; ] jrj/project/business/Affair/message.supplier.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,218 @@ use "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" unit trade [ class SupplierMessageWin : public xframe { xdwtable dw_base; //xdwgrid dw_list; xnode m_agentNode; //Agent Condition int SetAgent() { return 1; string xfNodeAgentArea = "agentarea"; xnode anode = GetAgentNode(xfNodeAgentArea); if(m_agentNode) { SetAgentNodeContent (anode,m_agentNode); } else { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*"); if(agent) { string s = agent.xml; m_agentNode = SetAgentNodeContent (anode,s); } } return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(ref TEvent evt,int param) { //éç½®å·¥å ·æ¡ SetAgent(); return 1; } int UpLoad(string name) { string str = name.mid(0,2); str = str.upper(); int ret1 = xaserver::Upload("supplier"+str, name+".jpg", this.GetHWND(),"",false); return ret1; } int OnItemClick(ref TNotifyEvent evt,int p) { ref DWNMHDR hdr1 = trust(evt.pnmh as ref DWNMHDR); string colname1= hdr1.colname; ref DWNMHDR hdr = evt.pnmh; string value = hdr.data; xaserverarg arg=new xaserverarg; arg.setNativePointer(arg.CreateInstance()); if(value == "ä¸ä¼ éä»¶") { string strguid = publiccode::GetGuid(); //alert(strguid); int ret1 = UpLoad(strguid); if(ret1 == -1) return -1; if(ret1 == 0) { alert("ä¸ä¼ é件失败"); return -1; } else { alert("ä¸ä¼ éä»¶æå"); string strimage=dw_base.GetItemString(1,"ImageList1"); //alert(strimage); if(strimage=="") strimage="<ImageList></ImageList>"; xml y=new xml; y.setNativePointer(xml::CreateInstance()); y.LoadXml(strimage); msxml::IXMLDOMElement ele= y.GetXmlDoc().documentElement; xml x=new xml; x.setNativePointer(xml::CreateInstance()); string xx = "<ImageList><image>"+strguid+".jpg</image></ImageList>"; x.LoadXml(xx); msxml::IXMLDOMElement e= x.GetXmlDoc().selectSingleNode("//image"); ele.appendChild(e); dw_base.SetItemString(1,"ImageList1",ele.xml); dw_base.Redraw(); } } if(value == "æ¥ç") { arg.AddArg("src",dw_base.GetItemString(1,"ImageList1")); int pa = arg.getNativePointer(); openUrl("/sale/view/SupplierV3/xpage/supplierattachment/picture", pa); arg.setNativePointer(pa); dw_base.SetItemString(1,"ImageList1",arg.GetArgString("src")); } return 1; } int GetEntityData(xaserverarg arg) { xml x = new xml; x.setNativePointer(xml::CreateInstance()); dw_base.DwUpdateAllTo(x.GetXmlDoc()); arg.AddArg("EntityData",x.GetXml()); return 1; } xaserverarg GetArg(string comdid) { if(comdid.find(":")>=0) { xaserverarg arg = comdid.mid(comdid.find(":")+1,64).toInt(); return arg; } return 0; } int GetEntityInfo(xaserverarg arg) { arg.AddArg("EntityName","Supplier"); arg.AddArg("EntityID",dw_base.GetGuid(1)); return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(string comdid) { if(comdid.find("GetEntityInfo:")==0) return GetEntityInfo(GetArg(comdid)); else if(comdid.find("GetEntityData:")==0) return GetEntityData(GetArg(comdid)); else if(comdid=="xmAddRow") return OnAddRow(); else if(comdid=="xmDeleteRow") return OnDeleteRow(); return 0; } //å½ä»¤å¤çäºä»¶ int OnXCommand(ref TXCommandEvent evt,int param) { return OnCmdDispatch(evt.pStrID); } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent("WM_XCOMMAND",OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent("WM_SETFOCUS",OnSetFocus); AttachEvent("dw_base","DWV_CLICKED",OnItemClick); } int OnAddRow() { xdwtable dw_obj = dw_base.FindDwTable("item"); dw_obj.InsertRow(0); return 1; } int OnDeleteRow() { xdwtable dw_obj = dw_base.GetCurTable(); dw_obj.DeleteRow(0); return 1; } /* int OnRetrieve() { xml x = new xml; x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("xxx","xxx"); if (getUrl("",arg.GetString(),x)!=1) { trace(x.GetXmlDoc().text); return -1; }else { //dw_list.Retrieve(x); //dw_list.Redraw(); } return 1; } */ int onload() { dw_base = GetControl("dw_base"); dw_base.openUrl("/sale/view/SupplierV3/template/supplier/simplebase"); dw_base.SetColHeaderHeight(0); dw_base.SetRowSelectorWidth(0); //dw_base.SetHScrollState(false); //dw_base.SetVScrollState(false); OnAttachEvent(); return 1; } int onloaded() { SetAgent(); return 1; } }; ]