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
@@ -292,6 +292,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
@@ -136,9 +136,6 @@ <Filter Include="jarch.impl"> <UniqueIdentifier>{4d691658-8fdc-4c09-8cfa-d8fa62419ef3}</UniqueIdentifier> </Filter> <Filter Include="jarch\module"> <UniqueIdentifier>{ee1bdbb1-df9a-4db8-8212-b40535f8b9e9}</UniqueIdentifier> </Filter> </ItemGroup> <ItemGroup> <ClInclude Include="framework.h"> @@ -1471,36 +1468,6 @@ </ClCompile> <ClCompile Include="..\project\business\PO\paymentmethod.cpp"> <Filter>project\business\PO</Filter> </ClCompile> <ClCompile Include="JModule.cpp"> <Filter>jarch\module</Filter> </ClCompile> <ClCompile Include="JType.cpp"> <Filter>jarch\module</Filter> </ClCompile> <ClCompile Include="JArgument.cpp"> <Filter>jarch\module</Filter> </ClCompile> <ClCompile Include="JField.cpp"> <Filter>jarch\module</Filter> </ClCompile> <ClCompile Include="JMethod.cpp"> <Filter>jarch\module</Filter> </ClCompile> <ClCompile Include="JParam.cpp"> <Filter>jarch\module</Filter> </ClCompile> <ClCompile Include="JValue.cpp"> <Filter>jarch\module</Filter> </ClCompile> <ClCompile Include="JLiteral.cpp"> <Filter>jarch\module</Filter> </ClCompile> <ClCompile Include="JBinaryOp.cpp"> <Filter>jarch\module</Filter> </ClCompile> <ClCompile Include="JVariant.cpp"> <Filter>jarch\module</Filter> </ClCompile> </ItemGroup> <ItemGroup> jrj/project/business/Affair/Business5.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,688 @@ #include <wobject/xstring.hpp> #include <xcontrol/xtreeview.hpp> #include <xcontrol/xdwgrid.hpp> #include <xcontrol/xcell.hpp> #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) Business5Win : public xframe { public: 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; xstring agentFor; xstring selectname; xwin sheet; public: Business5Win(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static Business5Win* CreateInstance(void* implPtr, void* hWnd) { Business5Win* pWin = new Business5Win(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"[@for='"+agentFor+L"']/*"); if(agent) { xstring s = agent.xml(); m_agentNode = SetAgentNode (anode,s); //FillGoodsCarList(); } } return 1; } //ç¦ç¹æ¿æ´»å¤ç彿° int OnSetFocus(TEvent* evt, LPARAM param) { //éç½®å·¥å ·æ¡ SetAgent(); return 1; } int RetrieveData() { xml x; if(selectname == L"å·²å¤çä»»å¡") { x = ViewObject::RetrieveData(L"/sale/data/business/list/processedtask"); dw_processed.Retrieve(x); dw_processed.Redraw(); dw_processed.SetReadOnly(true); }else if(selectname == L"æ¶ä»¶ç®±") { xstring UserNO= publiccode::GetUser().no; x = ViewObject::RetrieveData(L"/sale/data/business/list/inbox"); dw_message.Retrieve(x); dw_message.Redraw(); dw_message.SetReadOnly(true); } else if(selectname == L"åä»¶ç®±") { x = ViewObject::RetrieveData(L"/sale/data/business/list/outbox"); dw_outbox.Retrieve(x); dw_outbox.Redraw(); dw_outbox.SetReadOnly(true); } else if(selectname == L"åæ¶ç®±") { x = ViewObject::RetrieveData(L"/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 =MessageBox(GetHWND(),L"确认å 餿¶æ¯?",L"æç¤º",MB_OKCANCEL); if(ret == IDOK) { KXMLDOMElement ele = dw_message.GetRowElement(dw_message.GetRow()); xstring TaskID = ele.getAttribute(L"guid"); xml x = ViewObject::RetrieveData(L"/sale/data/business/message/delete",L"TaskID",TaskID); xstring status = x.xml(); if(status.find(L"ok") == 1) { alert(L"å 餿å"); RetrieveData(); }else { alert(L"å é¤å¤±è´¥"); } } return 1; } int OnUpdateRecovery() { int MB_OKCANCEL = 1; int IDOK = 1; int ret =MessageBox(GetHWND(),L"确认æ¢å¤æ¶æ¯?",L"æç¤º",MB_OKCANCEL); if(ret == IDOK) { KXMLDOMElement ele = dw_Recovery.GetRowElement(dw_Recovery.GetRow()); xstring TaskID = ele.getAttribute(L"guid"); xml x = ViewObject::RetrieveData(L"/sale/data/business/Recovery/UpdateRecovery",L"TaskID",TaskID); xstring status = x.xml(); if(status.find(L"ok") == 1) { alert(L"æ¢å¤æå"); RetrieveData(); }else { alert(L"æ¢å¤å¤±è´¥"); } } return 1; } int OnDeleteRecovery() { int MB_OKCANCEL = 1; int IDOK = 1; int ret =MessageBox(GetHWND(),L"确认彻åºå 餿¶æ¯?",L"æç¤º",MB_OKCANCEL); if(ret == IDOK) { KXMLDOMElement ele = dw_Recovery.GetRowElement(dw_Recovery.GetRow()); xstring TaskID = ele.getAttribute(L"guid"); xml x = ViewObject::RetrieveData(L"/sale/data/business/Recovery/DeleteRecovery",L"TaskID",TaskID); xstring status = x.xml(); if(status.find(L"ok") == 1) { alert(L"å 餿å"); RetrieveData(); }else { alert(L"å é¤å¤±è´¥"); } } return 1; } int OnAdd() { OpenWindow(L"dev:xpage[message.business.vx]"); if(selectname == L"åä»¶ç®±" || selectname == L"è稿箱") RetrieveData(); return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(xstring comdid) { int ret = 0; if(comdid.find(L"action:",0)>=0) { ret =SendMessage(GetHWND(),0x401,(LPARAM)comdid,0); } if(comdid==L"xmRefreshTask") { trace(L"\r\n----refresh task--------"); SendMessage(GetHWND(),0x401,(LPARAM)comdid,0); return 1; } if(comdid==L"xmRefresh") { trace(L"\r\n----refresh--------"); ret =SendMessage(GetHWND(),0x401, (LPARAM)comdid,0); } if(comdid == L"xmRertieve") { RetrieveData(); ret = 1; } if(comdid==L"xmAdd") { OnAdd(); ret = 1; } if(comdid == L"xmDelete") { OnDelete(); ret = 1; } if(comdid == L"UpdateRecovery") { OnUpdateRecovery(); ret = 1; } if(comdid == L"DeleteRecovery") { OnDeleteRecovery(); ret = 1; } if(comdid == L"xmImage") { int row = dw_message.GetRow(); xstring PriceID = dw_message.GetItemString(row,L"EntityID"); xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/PriceList/GetSkunoByPriceID",L"PriceID",PriceID); KXMLDOMNodeList items = x.selectNodes(L"data/Item"); KXMLDOMNode t = items.item(0); xstring skunos = t.selectSingleNode(L"skuno").text(); xaserverarg arg_pic; arg_pic.AddArg(L"SKUNoList",skunos); #if 0 arg_pic.AddArg(L"ParentWindow", GetHWND()); #endif // 0 arg_pic.AddArg(L"OpenFlag",L"1"); OpenWindow(L"dev:xpage[SKU.PictureView.Product3.vx]",arg_pic ); return 1; } else if(comdid == L"xmSearchOne") { OnSearchOne(); return 1; } else if(comdid == L"xmSearchTwo") { OnSearchTwo(); return 1; } else if(comdid==L"Lognew") { xstring EntityID = dw_processed.GetItemString(dw_processed.GetRow(),L"EntityID"); //alert(EntityID); xaserverarg args; args.AddArg(L"EntityID",EntityID); //OpenWindow(L"dev:xpage[workflow.actionlog.vx]",cast(args as int)); OpenWindow(L"dev:xpage[workflow.actionlog_vd.vx]",args); } return ret; } int OnSearchOne() { xstring searchStr=L""; xaserverarg arg; arg.AddArg(L"text", searchStr); OpenWindow(L"dev:xpage[search.dialog.vx]", arg); xstring str = arg.GetArgString(L"text"); if(str != searchStr) { searchStr = str; dw_message.Filter(L"*",searchStr); return 1; } return 1; } int OnSearchTwo() { xstring searchStr=L""; xaserverarg arg; arg.AddArg(L"text", searchStr); OpenWindow(L"dev:xpage[search.dialog.vx]", arg); xstring str = arg.GetArgString(L"text"); if(str != searchStr) { searchStr = str; dw_Recovery.Filter(L"*",searchStr); return 1; } return 1; } //å½ä»¤å¤çäºä»¶ int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt->xcommand.pStrID); } //æ¥æ¾å½åæ 项ç顶级ç®å½ HTREEITEM LookupTopFolder(HTREEITEM hItem) { HTREEITEM hRoot = tv_folder.GetRootItem(); while (tv_folder.GetParentItem(hItem)) hItem = tv_folder.GetParentItem(hItem); return hItem; } int ResetAgent(xstring agentAsk) { if(agentFor != agentAsk) { agentFor = agentAsk; m_agentNode = 0; SetAgent(); } return 1; } int OnTreeSelChanged(TEvent* evt, LPARAM p) { NMTREEVIEW& nmtv = *(NMTREEVIEW*)evt->notify.pnmh; HTREEITEM hItem = nmtv.itemNew.hItem; HTREEITEM hTopItem = LookupTopFolder(hItem); xstring data = tv_folder.GetItemData(hItem); trace(L"\r\n"+data); //KXMLDOMElement e = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement); //if(e)trace(e.xml()); xstring name = tv_folder.GetItemLabel(hTopItem); selectname = tv_folder.GetItemLabel(hItem); if(selectname == L"å¾ å¤çä»»å¡") { SwitchLayer(L"sheet2",L"frame"); sheet = GetChildWin(L"sheet2"); ResetAgent(L"business1"); }else if(selectname == L"å·²å¤çä»»å¡") { SwitchLayer(L"sheet3",L"frame"); RetrieveData(); ResetAgent(L"business2"); }else if(selectname == L"æ¶ä»¶ç®±") { SwitchLayer(L"sheet4",L"frame"); RetrieveData(); ResetAgent(L"business3"); }else if(selectname == L"åä»¶ç®±") { SwitchLayer(L"sheet5",L"frame"); RetrieveData(); ResetAgent(L"business2"); } else if(selectname == L"äºå¡") { SwitchLayer(L"sheet1",L"frame"); }else if(selectname == L"åæ¶ç®±") { SwitchLayer(L"sheet6",L"frame"); RetrieveData(); ResetAgent(L"business5"); } return 1; } int OnRowChanged(TEvent* evt, int p) { //fixed one event only one process DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; int row = hdr.row; KXMLDOMElement ele; if(selectname == L"å·²å¤çä»»å¡") ele = dw_processed.GetRowElement(row); else if(selectname == L"æ¶ä»¶ç®±") { ele = dw_message.GetRowElement(row); xstring Subject = dw_message.GetItemString(row,L"Subject"); if(Subject.find(L"ä»·æ ¼å") == -1) { ResetAgent(L"business3"); }else{ ResetAgent(L"business4"); } } else if(selectname == L"åæ¶ç®±") { ele = dw_Recovery.GetRowElement(row); xstring SubjectOne = dw_Recovery.GetItemString(row,L"Subject"); } else if(selectname == L"åä»¶ç®±") ele = dw_outbox.GetRowElement(row); xaserverarg arg; trace(ele.xml()); arg.AddArg(L"content",ele.xml()); xml doc=new xml; if(getUrl(L"/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1) { trace((xstring)L"error->:"+doc.xml()); return 0; } if(doc.xml() == L"") return -1; //trace(doc.xml()); htmlctrl ht = GetControl(L"taskinfo"); ht.SetContent(doc.xml()); ht.Redraw(); return 1; } int OnItemAskStyle(TEvent* evt, int p) { int DMS_CSSSTYLE = 0x8; ref DWASKSTYLENMHDR hdr = trust(evt.pnmh as ref DWASKSTYLENMHDR); int row = hdr.row; int col = hdr.col; xstring colname = hdr.colname; int rows = dw_message.GetRowCount(); if(row < 1 || row > rows) { return 1; } if(colname==L"flowName" || colname==L"Process" || colname==L"sender" || colname==L"SendDate"||colname==L"processer"||colname==L"ProcessedDate"|| colname==L"Subject"||colname==L"Content") { xstring ReadedFlag = dw_message.GetItemString(row,L"ReadedFlag"); if(ReadedFlag != L"Y") { hdr.mask = DMS_CSSSTYLE; //hdr.cssstyle = L"color:#cccccc"; hdr.cssstyle = L"font-weight:700"; } } return 1; } int OnDWClick(TEvent* evt, int p) { xstring UserNO=publiccode::GetUser().no; if(UserNO !=L"00701") { DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; xstring value = hdr.data; xstring colname = hdr.colname; int row = hdr.row; KXMLDOMElement ele = dw_message.GetRowElement(row); xstring TaskID = ele.getAttribute(L"guid"); xstring ReadedFlag = dw_message.GetItemString(row,L"ReadedFlag"); xstring flowName = dw_message.GetItemString(row,L"flowName"); if(ReadedFlag != L"Y") { xml x = ViewObject::RetrieveData(L"/sale/data/business/message/read",L"TaskID",TaskID); dw_message.SetItemString(row,L"ReadedFlag",L"Y"); if(ReadedFlag != L"Y" && flowName == L"ä»·æ ¼åå ±äº«") { xml x1 = ViewObject::RetrieveData(L"/sale/data/business/Recovery/MessageStatus",L"TaskID",TaskID); } dw_message.Redraw(); //RetrieveData(); } AdjustTip(); } return 1; } int OpenShowroom1(TEvent* evt, int p) { DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; xstring value = hdr.data; xstring colname = hdr.colname; int row = hdr.row; KXMLDOMElement ele = dw_outbox.GetRowElement(row); xstring TaskID = ele.getAttribute(L"guid"); xstring Category = dw_outbox.GetItemString(row,L"flowName"); if(Category==L"æ®é"){ xaserverarg arg2; if(dw_outbox.GetRowCount() < 1) return 1; KXMLDOMElement ele1 = dw_outbox.GetRowElement(dw_outbox.GetRow()); arg2.AddArg(L"EntityID",dw_outbox.GetItemString(dw_outbox.GetRow(),L"EntityID")); arg2.AddArg(L"id",ele1.getAttribute(L"guid")); OpenWindow(L"dev:xpage[message.business.vx]",arg2); return 1; } return 1; } int OpenShowroom(TEvent* evt, int p) { DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; xstring value = hdr.data; xstring colname = hdr.colname; int row = hdr.row; KXMLDOMElement ele = dw_message.GetRowElement(row); xstring TaskID = ele.getAttribute(L"guid"); xstring Category = dw_message.GetItemString(row,L"Category"); if(Category==L"è´§å·ç³è¯·"){ int p1 ; OpenWindow(L"dev:xpage[UserProductApply.vx]", p1); } if(Category==L"æ®é"){ xaserverarg arg2; if(dw_message.GetRowCount() < 1) return 1; KXMLDOMElement ele1 = dw_message.GetRowElement(dw_message.GetRow()); arg2.AddArg(L"EntityID",dw_message.GetItemString(dw_message.GetRow(),L"EntityID")); arg2.AddArg(L"id",ele1.getAttribute(L"guid")); OpenWindow(L"dev:xpage[message.business.vx]", arg2); return 1; } else if(Category==L"æ¥ä»·åå ±äº«") { if(dw_message.GetRowCount() < 1) return 1; xstring No = dw_message.GetItemString(dw_message.GetRow(),L"No"); OpenWindow(L"dev:xpage[EnquiryEx.quote.vx]",cast(No as int)); } if(Category==L"SupplierV3") { xaserverarg arg; if(dw_message.GetRowCount() < 1) return 1; arg.AddArg(L"EntityID",dw_message.GetItemString(dw_message.GetRow(),L"EntityID")); //OpenWindow(L"dev:xpage[maint.Owner.Supplier.v3.vx]",cast(arg as int)); arg.AddArg(L"config",L"/sale/view/SupplierV3/config/supplier/open"); OpenWindow(L"dev:xpage[maintex.Owner.Supplier.v3.vx]",arg); } if(Category==L"ä¾åºååé") { xaserverarg arg1; if(dw_message.GetRowCount() < 1) return 1; arg1.AddArg(L"EntityID",dw_message.GetItemString(dw_message.GetRow(),L"EntityID")); OpenWindow(L"dev:xpage[maint.Owner.Supplier.v3.vx]",arg1); } return 1; } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent(L"WM_XCOMMAND", (FEvent)&Business5Win::OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent(L"WM_SETFOCUS", (FEvent)&Business5Win::OnSetFocus); //æ éæ© AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&Business5Win::OnTreeSelChanged); AttachEvent(L"dw_processed",L"DWV_ROWFOCUSCHANGED", (FEvent)&Business5Win::OnRowChanged); AttachEvent(L"dw_message",L"DWV_ROWFOCUSCHANGED", (FEvent)&Business5Win::OnRowChanged); AttachEvent(L"dw_outbox",L"DWV_ROWFOCUSCHANGED", (FEvent)&Business5Win::OnRowChanged); AttachEvent(L"dw_Recovery",L"DWV_ROWFOCUSCHANGED", (FEvent)&Business5Win::OnRowChanged); AttachEvent(L"dw_message",L"DWV_ASKSTYLE", (FEvent)&Business5Win::OnItemAskStyle); AttachEvent(L"dw_message",L"DWV_CLICKED", (FEvent)&Business5Win::OnDWClick); AttachEvent(L"dw_message",L"DWV_DOUBLECLICKED", (FEvent)&Business5Win::OpenShowroom); AttachEvent(L"dw_outbox",L"DWV_DOUBLECLICKED", (FEvent)&Business5Win::OpenShowroom1); return 1; } int OnRetrieve() { return 1; } int InitialFolder() { KXMLDOMElement xframeElement = GetElement(); KXMLDOMElement e = xframeElement.selectSingleNode(L"//xtree[@name='tv_folder']/initial"); //KXMLDOMElement e = xframeElement.selectSingleNode(L"//xtree[@name='tv_folder']/data/item[@name='"+L"']"); //trace(e.xml()); if(e) ExpandChildFolder(0,e); return 1; } int ExpandChildFolder(int hItem, KXMLDOMElement pElement) { KXMLDOMNodeList nlist = pElement.selectNodes(L"Item"); int len = nlist.length(); for (int i = 0; i < len; i++) { KXMLDOMElement e = nlist.item(i); xstring name = e.getAttribute(L"name"); xstring sImage = e.getAttribute(L"image"); xstring child = e.getAttribute(L"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 !=L"no" ) tv_folder.SetItemChild(h,1); ExpandChildFolder(h,e); } return 1; } int AdjustTip() { xml x = ViewObject::RetrieveData(L"/sale/data/business/list/AdjustTipNotify"); KXMLDOMNodeList nlist = x.selectNodes(L"/data/Item"); KXMLDOMNode t = nlist.item(0); xstring informationQuantity =t.selectSingleNode(L"informationQuantity").text(); tv_folder.SetItemLabel(hMessage, L"æ¶æ¯"+L"(L"+informationQuantity+L")L"); xml x1 = ViewObject::RetrieveData(L"/sale/data/business/list/AdjustTipTask"); //alert(x1.xml()); KXMLDOMNodeList nlist1 = x1.selectNodes(L"/data/Item"); KXMLDOMNode t1= nlist1.item(0); xstring informationQuantityTask =t1.selectSingleNode(L"informationQuantityTask").text(); tv_folder.SetItemLabel(hTask, L"ä»»å¡"+L"(L"+informationQuantityTask+L")L"); /*select count(*) from bpm_task where typ='notify' and process='N' and charindex('|'+'00303'+'|','|' + rtrim(receiver) +'|')>=1*/ return 1; } int onload() { agentFor = L"business"; OnAttachEvent(); dw_list = GetControl(L"dw_list"); dw_processed = GetControl(L"dw_processed"); dw_processed.openUrl(L"/sale/view/Business3/template/processedtask"); dw_processed.SetColumnState(L"EntityID",false); dw_processed.SetColumnState(L"Category",false); dw_message = GetControl(L"dw_message"); dw_message.openUrl(L"/sale/view/Business3/template/message"); dw_message.SetAskStyle(true); dw_message.SetColumnState(L"EntityID",false); dw_message.SetColumnState(L"Category",false); dw_message.SetColumnState(L"ReadedFlag",false); dw_outbox = GetControl(L"dw_outbox"); dw_outbox.openUrl(L"/sale/view/Business3/template/outbox"); dw_outbox.SetColumnState(L"EntityID",false); dw_Recovery = GetControl(L"dw_Recovery"); dw_Recovery.openUrl(L"/sale/view/Business3/template/message"); dw_Recovery.SetColumnState(L"EntityID",false); dw_Recovery.SetColumnState(L"Category",false); dw_Recovery.SetColumnState(L"ReadedFlag",false); dw_Recovery.SetColumnState(L"No",false); tv_folder = GetControl(L"tv_folder"); tv_folder.SetLineAtRoot(true); sheet = GetChildWin(L"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,180 @@ #include <wobject/xstring.hpp> #include <xcontrol/xtreeview.hpp> #include <xcontrol/xdwgrid.hpp> #include <xcontrol/xcell.hpp> #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) ProcessManagement : public xframe { public: xdwgrid dw_list; xnode m_agentNode; //Agent Condition public: ProcessManagement(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static ProcessManagement* CreateInstance(void* implPtr, void* hWnd) { ProcessManagement* pWin = new ProcessManagement(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 OnSetFocus(TEvent* evt, LPARAM param) { //éç½®å·¥å ·æ¡ SetAgent(); return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(xstring comdid) { if(comdid == L"xmDelete") { int MB_OKCANCEL = 1; int IDOK = 1; int ret =MessageBox(GetHWND(),L"确认å 餿µç¨?",L"æç¤º",MB_OKCANCEL); if(ret == IDOK) { int row = dw_list.GetRow(); xstring TaskID = dw_list.GetItemString(row,L"TaskID"); xml x = ViewObject::RetrieveData(L"/sale/data/business/DelProcessManagement",L"TaskID",TaskID); xstring status = x.xml(); if(status.find(L"ok") == 1) { alert(L"å 餿å"); dw_list.DeleteRow(row); }else { alert(L"å é¤å¤±è´¥"); } } return 1; } else if (comdid == L"xmRefresh") { OnRetrieve(); } else if (comdid == L"AA") { AA(); } return 0; } int AA() { //xstring FobUnitPriceEx=dw_cell.GetItemString(row,colFOBPrice); xstring FobUnitPriceEx=L"$123.0"; if(FobUnitPriceEx==L"$") FobUnitPriceEx=L"123"; //alert(FobUnitPriceEx.find(L"$").toString()); if(FobUnitPriceEx.find(L"$") >=0) FobUnitPriceEx=FobUnitPriceEx.right(FobUnitPriceEx.length() - 1); trace(FobUnitPriceEx); } //触åé¼ æ 离å¼åtranäºä»¶ï¼éè¿æ¥æ¾æä¸ªåæ°å¾å°å¯¹åºçå int OnBaseItemChanged(TEvent* evt, int 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 OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent(L"WM_XCOMMAND", (FEvent)&ProcessManagement::OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent(L"WM_SETFOCUS", (FEvent)&ProcessManagement::OnSetFocus); AttachEvent(L"dw_list",L"DWV_ITEMCHANGED", (FEvent)&ProcessManagement::OnBaseItemChanged); return 1; } int OnRetrieve() { xml x; xaserverarg arg; if (getUrl(L"/sale/data/business/ProcessManagement",arg.GetString(),x)!=1) { trace(x.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(L"dw_list"); dw_list.openUrl(L"/sale/view/Business3/template/ProcessManagement"); dw_list.SetColumnState(L"TaskID",false); OnRetrieve(); OnAttachEvent(); return 1; } int onloaded() { SetAgent(); return 1; } }; jrj/project/business/Affair/message.business.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,427 @@ #include <wobject/xstring.hpp> #include <xcontrol/xtreeview.hpp> #include <xcontrol/xdwgrid.hpp> #include <xcontrol/xcell.hpp> #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; 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; 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 OnSetFocus(TEvent* evt, LPARAM param) { //éç½®å·¥å ·æ¡ SetAgent(); return 1; } int OnItemChanged(TEvent* evt, int p) { DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; xstring colname=hdr.colname; xstring value = hdr.data; int row = hdr.row; if(colname==L"Category") { if(value==L"ä¾åºåç³è¯·") { 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(L"/sale/data/business/message/maint",L"typ",value); if(x) { xstring xpage_ = x.documentElement().getAttribute(L"xpage"); xstring templaterpt = x.documentElement().getAttribute(L"template"); if(xpage_ !=L"") { 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(L"sheet1",L"frame"); } } return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(xstring comdid) { if(comdid==L"xmSend") { if(!readonly) OnSend(); return 1; } else if(comdid==L"xmSave") { if(!readonly) OnSave(); return 1; } else if(comdid==L"xmCancel") { CloseWindow(); return 1; } if(sheet && comdid !=L"") { int ret =SendMessage(GetHWND(),0x401,(LPARAM)comdid,0); if(ret) return ret; } return 0; } //å½ä»¤å¤çäºä»¶ int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt->xcommand.pStrID); } int OnDWClick(TEvent* evt, int p) { DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; xstring value = hdr.data; xstring colname = hdr.colname; if (value == L"æ¶ä»¶äºº:") { xaserverarg arg2 ; xaserverarg parg2 = GetArg(); OpenWindow(L"dev:xpage[UserGroupPersonSelect.vx]",arg2); if(arg2.GetArgString(L"comdid")==L"xmOk") { xstring data = arg2.GetArgString(L"data"); xml x2; x2.loadXML(data); KXMLDOMNodeList nodes = x2.selectNodes(L"/root/item"); trace(x2.xml()); int len = nodes.length(); xstring Names = L""; for(int i=0;i<len; i++) { KXMLDOMElement t= nodes.item(i); if(t.getAttribute(L"Name")) { xstring Name = t.getAttribute(L"Name"); if(Names==L"") Names = Name; else if(Names.find(Name) < 0) Names+=L";"+Name; } } dw_base.SetItemString(1,L"Receiver",Names); } return 1; } } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent(L"WM_XCOMMAND", (FEvent)&MessageBusinessWin::OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent(L"WM_SETFOCUS", (FEvent)&MessageBusinessWin::OnSetFocus); 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 ; 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((xstring)L"error1:\r\n"+x.text()); return 1; } if(MessageID==L"") MessageID= dw_base.GetGuid(1); alert(L"å·²ä¿åå°è稿箱"); return 1; xaserverarg arg; if(sheet) { 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((xstring)L"error2:\r\n"+x.text()); return 1; } } return 1; } int OnSend() { 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(xurl::get(murl, arg1.GetString(),x)!=1) { alert((xstring)L"error1:\r\n"+x.text()); return 1; } if(MessageID==L"") MessageID= dw_base.GetGuid(1); alert(L"åé宿"); CloseWindow(); return 1; xaserverarg arg; if(sheet) { 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((xstring)L"error2:\r\n"+x.text()); return 1; } } return 1; } 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; if(MessageID==L"") { dw_base.SetGuid(1,ViewObject::GetGuid()); arg.AddArg(L"MessageID", dw_base.GetGuid(1)); arg.AddArg(L"EntityID", dw_base.GetGuid(1)); } else { arg.AddArg(L"MessageID", MessageID); arg.AddArg(L"EntityID", MessageID); } 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; xaserverarg arg; arg.AddArg(L"id",MessageID); if (getUrl(L"/sale/data/business/list/fetch",arg.GetString(),x)!=1) { trace(x.text()); return -1; }else { dw_base.Retrieve(x); dw_base.Redraw(); if(readonly) dw_base.SetReadOnly(true); if(x.selectSingleNode(L"root/Content")) { xstring str = x.selectSingleNode(L"root/Content").text(); str = str.replace(L"\n",L"\r\n"); GetControl(L"content").SetText(str); } //alert(x.xml()); if(x.selectSingleNode(L"root/Content2")) { 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 + L"EntityID=L".length(),64); if(tm.find(L" ")>0) tm = tm.left(tm.find(L" ")); EntityID=tm; } pos = str2.find(L"Category=L"); if(pos >= 0) { tm = str2.mid(pos+L"Category=L".length(),64); if(tm.find(L" ")>0) tm = tm.left(tm.find(L" ")); Category=tm; } trace(L"EntityID:"+EntityID); trace(L"Category:"+Category); if(EntityID != L"" && Category != L"") { xstring eleStr = L"<row EntityID='"+EntityID+L"'"; eleStr += L" category='" + Category + L"'/>"; bill = L"EntityID=L"+EntityID+L" Category=L" + Category; ShowDetail(eleStr); } } } return 1; } int ShowDetail(xstring eleStr) { xaserverarg arg; arg.AddArg(L"content",eleStr); xml doc; if(getUrl(L"/sale/data/vpage/vstart/task",arg.GetString(),doc)!=1) { trace((xstring)L"error->:"+doc.xml()); return 0; } if(doc.xml() == L"") return -1; htmlctrl ht = GetControl(L"taskinfo"); ht.SetContent(doc.xml()); ht.Redraw(); return 1; } int onload() { 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,L"Category",L"æ®é"); OnAttachEvent(); readonly = false; MessageID = L""; bill = L""; SetAgent(); if(GetWinParam()) { xaserverarg arg = GetArg(); MessageID = arg.GetArgString(L"id"); if(arg.GetArgString(L"readonly")==L"1") readonly=true; OnRetrieve(); if(arg.GetArgString(L"EntityID")!=L"") { 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); } } return 1; } int onloaded() { return 1; } }; jrj/project/business/Affair/message.supplier.cpp
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,230 @@ #include <wobject/xstring.hpp> #include <xcontrol/xtreeview.hpp> #include <xcontrol/xdwgrid.hpp> #include <xcontrol/xcell.hpp> #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" #include "viewobject/view.base.hpp" using xml = KXMLDOMDocument; class __declspec(dllexport) SupplierMessageWin : public xframe { public: xdwtable dw_base; //xdwgrid dw_list; xnode m_agentNode; //Agent Condition public: SupplierMessageWin(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} public: static SupplierMessageWin* CreateInstance(void* implPtr, void* hWnd) { SupplierMessageWin* pWin = new SupplierMessageWin(implPtr, (HWND)hWnd); return pWin; } int SetAgent() { return 1; 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 OnSetFocus(TEvent* evt, LPARAM param) { //éç½®å·¥å ·æ¡ SetAgent(); return 1; } int UpLoad(xstring name) { xstring str = name.mid(0,2); str = str.toUpper(); int ret1 = xaserver::Upload(L"supplier"+str, name+L".jpg", GetHWND(),L"",false); return ret1; } int OnItemClick(TEvent* evt, int p) { DWNMHDR& hdr1 = *(DWNMHDR*)evt->notify.pnmh; xstring colname1= hdr1.colname; DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh; xstring value = hdr.data; xaserverarg arg; if(value == L"ä¸ä¼ éä»¶") { xstring strguid = publiccode::GetGuid(); //alert(strguid); int ret1 = UpLoad(strguid); if(ret1 == -1) return -1; if(ret1 == 0) { alert(L"ä¸ä¼ é件失败"); return -1; } else { alert(L"ä¸ä¼ éä»¶æå"); xstring strimage=dw_base.GetItemString(1,L"ImageList1"); //alert(strimage); if(strimage==L"") strimage=L"<ImageList></ImageList>"; xml y; y.loadXML(strimage); KXMLDOMElement ele= y.documentElement(); xml x; xstring xx = L"<ImageList><image>"+strguid+L".jpg</image></ImageList>"; x.loadXML(xx); KXMLDOMElement e= x.selectSingleNode(L"//image"); ele.appendChild(e); dw_base.SetItemString(1,L"ImageList1",ele.xml()); dw_base.Redraw(); } } if(value == L"æ¥ç") { arg.AddArg(L"src",dw_base.GetItemString(1,L"ImageList1")); openUrl(L"/sale/view/SupplierV3/xpage/supplierattachment/picture", arg); dw_base.SetItemString(1,L"ImageList1",arg.GetArgString(L"src")); } return 1; } int GetEntityData(xaserverarg arg) { xml x; dw_base.DwUpdateAllTo(x); arg.AddArg(L"EntityData",x.xml()); return 1; } xaserverarg GetArg(xstring comdid) { if(comdid.find(L":")>=0) { xaserverarg arg = comdid.mid(comdid.find(L":")+1,64).toInt(); return arg; } return 0; } int GetEntityInfo(xaserverarg arg) { arg.AddArg(L"EntityName",L"Supplier"); arg.AddArg(L"EntityID",dw_base.GetGuid(1)); return 1; } //å½ä»¤åå¸å½æ° int OnCmdDispatch(xstring comdid) { if(comdid.find(L"GetEntityInfo:")==0) return GetEntityInfo(GetArg(comdid)); else if(comdid.find(L"GetEntityData:")==0) return GetEntityData(GetArg(comdid)); else if(comdid==L"xmAddRow") return OnAddRow(); else if(comdid==L"xmDeleteRow") return OnDeleteRow(); return 0; } //å½ä»¤å¤çäºä»¶ int OnXCommand(TEvent* evt, LPARAM param) { return OnCmdDispatch(evt->xcommand.pStrID); } int OnAttachEvent() { //ç»å®å·¥å ·æ¡ç¹å»äºä»¶ AttachEvent(L"WM_XCOMMAND", (FEvent)&SupplierMessageWin::OnXCommand); //è·åç¦ç¹äºä»¶ï¼ç¨äºéç½®å·¥å ·æ¡ AttachEvent(L"WM_SETFOCUS", (FEvent)&SupplierMessageWin::OnSetFocus); AttachEvent(L"dw_base",L"DWV_CLICKED", (FEvent)&SupplierMessageWin::OnItemClick); } int OnAddRow() { xdwtable dw_obj = dw_base.FindDwTable(L"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.AddArg(L"xxx",L"xxx"); if (getUrl(L"",arg.GetString(),x)!=1) { trace(x.text()); return -1; }else { //dw_list.Retrieve(x); //dw_list.Redraw(); } return 1; } */ int onload() { dw_base = GetControl(L"dw_base"); dw_base.openUrl(L"/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; } };