þÿuse "xcontrol.vframe.vbusiness.vd" use "xbase.vframe.vbusiness.vd" use "supplier.view.vd" unit trade [ class listOwnerSupplierv3 : public xframe { xnode m_agentNode; //Agent Condition string m_agentCond; //Agent Node xdwgrid dw_list; xtreeview tv_folder; xdatetimepick sdate; xdatetimepick edate; string urlTree; string searchStr; //\U_[Pe‡Nö 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 InitialFolder() { msxml::IXMLDOMElement xframeElement = GetElement(); msxml::IXMLDOMElement e = xframeElement.selectSingleNode("//xtree[@name='tv_folder']/initial"); if (e) ExpandChildFolder(0, e); return 1; } int ExpandCatChildFolder(int hItem, msxml::IXMLDOMElement ele, int image) { msxml::IXMLDOMNodeList nlist = ele.SelectNodes("item"); int len = nlist.length; if (len > 0) tv_folder.SetItemChild(hItem, 1); for (int i = 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("name"); int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), image); ExpandCatChildFolder(h, e, 35); } return 1; } int ExpandFolderItem(int hItem) { xml x = ViewObject::RetrieveData(urlTree); if (!x) return 0; msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("/data/item"); int len = nlist.length; for (int i = 0; i < len; i++) { msxml::IXMLDOMElement e = nlist.item(i); string name = e.getAttribute("name"); int h = tv_folder.InsertChildItem(hItem, name, trust(e as int), 35); ExpandCatChildFolder(h, e, 35); } return 1; } 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; } //q&p¹oÀm;YtQýep int OnSetFocus(ref TEvent evt, int param) { //‘Ín]åQwga SetAgent(); return 1; } int OnRetrieve() { xml x = new xml; xcontrol query = GetControl("sle_search"); string keyword = query.GetText(); int hItem = tv_folder.GetSelectedItem(); if (hItem <= 0) return 1; int hCursor = xutil::SetCursorWait(); msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement); string no = e1.getAttribute("no"); x.setNativePointer(xml::CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("keyword", keyword); arg.AddArg("NOS", no); if (getUrl("/sale/data/SupplierV3/entity/owner/list", arg.GetString(), x) != 1) { return -1; } else { dw_list.Retrieve(x); dw_list.Redraw(); dw_list.SetReadOnly(true); } return 1; } int OnNew() { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("EntityID", ""); OpenWindow("dev:xpage[maint.Owner.Supplier.v3.vx]", cast(arg as int)); return 1; } int OnOpen() { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); if (dw_list.GetRowCount() < 1) return 1; arg.AddArg("EntityID", dw_list.GetItemString(dw_list.GetRow(), "SupplierID")); OpenWindow("dev:xpage[maint.Owner.Supplier.v3.vx]", cast(arg as int)); return 1; } int OnTreeSelChanged(ref TNotifyEvent evt, int p) { return OnRetrieve(); } int OnAttachEvent() { //~Ñ[š]åQwgap¹QûN‹Nö AttachEvent("WM_XCOMMAND", OnXCommand); //ƒ·SÖq&p¹N‹Nöÿ u(NŽ‘Ín]åQwga AttachEvent("WM_SETFOCUS", OnSetFocus); AttachEvent("dw_list", "DWV_DOUBLECLICKED", OnDoubleClicked); AttachEvent("tv_folder", "TVN_SELCHANGED", OnTreeSelChanged); //h bé } //T}NäYtN‹Nö int OnXCommand(ref TXCommandEvent evt, int param) { return OnCmdDispatch(evt.pStrID); } int SendNotice() { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); if (dw_list.GetRowCount() < 1) return 1; string Subject = dw_list.GetItemString(dw_list.GetRow(), "Name") + "ÿu3‹÷ubkc_O›^”UF"; string NO = dw_list.GetItemString(dw_list.GetRow(), "PartyNo"); string EntityID = dw_list.GetItemString(dw_list.GetRow(), "SupplierID"); string Category = "SupplierV3"; string Reciever = "00601"; string Content = ""; xml x = ViewObject::AddMessage(Category, Reciever, NO, EntityID, Subject, Content); return 1; } int SendNoticeOne() { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); if (dw_list.GetRowCount() < 1) return 1; string Subject = dw_list.GetItemString(dw_list.GetRow(), "Name") + "ÿu3‹÷ubkc_O›^”UF"; string NO = dw_list.GetItemString(dw_list.GetRow(), "PartyNo"); string EntityID = dw_list.GetItemString(dw_list.GetRow(), "SupplierID"); string Category = "SupplierV3"; string Reciever = "00603"; string Content = ""; xml x = ViewObject::AddMessage(Category, Reciever, NO, EntityID, Subject, Content); return 1; } int SendNoticeTwo() { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); if (dw_list.GetRowCount() < 1) return 1; string Subject = dw_list.GetItemString(dw_list.GetRow(), "Name") + "ÿu3‹÷ubkc_O›^”UF"; string NO = dw_list.GetItemString(dw_list.GetRow(), "PartyNo"); string EntityID = dw_list.GetItemString(dw_list.GetRow(), "SupplierID"); string Category = "SupplierV3"; string Reciever = "00609"; string Content = ""; xml x = ViewObject::AddMessage(Category, Reciever, NO, EntityID, Subject, Content); return 1; } int OnAsk() { int row = dw_list.GetRow(); if (row < 1) return 1; string YearEstablished = dw_list.GetItemString(row, "YearEstablished"); if (YearEstablished.rtrim() == "") { alert("bzËeö•ôN:zzÿ"); return 1; } string LegalPerson = dw_list.GetItemString(row, "LegalPerson"); if (LegalPerson.rtrim() == "") { alert("lÕNºNãˆhN:zzÿ"); return 1; } string ThirdPartyReport = dw_list.GetItemString(row, "ThirdPartyReport"); if (ThirdPartyReport.rtrim() == "") { alert("šŒS‚b¥TJN:zzÿ"); return 1; } string Address = dw_list.GetItemString(row, "Address"); if (Address.rtrim() == "") { alert("O›^”UFW0W@N:zzÿ"); return 1; } string bAddress = dw_list.GetItemString(row, "bAddress"); if (bAddress.rtrim() == "") { alert("[ÄNöW0W@N:zzÿ"); return 1; } string PayType = dw_list.GetItemString(row, "PayType"); if (PayType.rtrim() == "") { alert("NØk>e¹_N:zzÿ"); return 1; } string AdvantageProduct = dw_list.GetItemString(row, "AdvantageProduct"); if (AdvantageProduct.rtrim() == "") { alert("OR¿N§TÁN:zzÿ"); return 1; } string SupplierSource = dw_list.GetItemString(row, "SupplierSource"); if (SupplierSource.rtrim() == "") { alert("O›^”UF'nN:zzÿ"); return 1; } string FactoryForPaperCard = dw_list.GetItemString(row, "FactoryForPaperCard"); string FactoryForPart = dw_list.GetItemString(row, "FactoryForPart"); string FactoryForPacking = dw_list.GetItemString(row, "FactoryForPacking"); string FactoryForItem = dw_list.GetItemString(row, "FactoryForItem"); string FactoryForMake = dw_list.GetItemString(row, "FactoryForMake"); if (FactoryForPaperCard != "Y" && FactoryForPart != "Y" && FactoryForPacking != "Y" && FactoryForItem != "Y" && FactoryForMake != "Y") { alert("O›^”UFR~ÄN:zzÿ"); return 1; } string count = "0"; string entityid = dw_list.GetItemString(row, "SupplierID"); xml x1 = ViewObject::RetrieveData("/sale/data/TDocument3/attachment/countbyid", "entityid", entityid); msxml::IXMLDOMNodeList items = x1.GetXmlDoc().selectNodes("data/Item"); msxml::IXMLDOMNode t = items.item(0); if (t.selectSingleNode("count"))count = t.selectSingleNode("count").text; if (count == "0") { alert("g*N O „%NbgqgVþrGÿ"); return 1; } int MB_YESNO = 0x00000004; int IDYES = 6; if (win32::MessageBox(GetHWND(), "u3‹÷" + dw_list.GetItemDisplayString(dw_list.GetRow(), "Name") + "ubkc_O›^”UF?", "cÐy:", MB_YESNO) != IDYES) return 1; xml x = new xml; x.setNativePointer(x.CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("SupplierID", dw_list.GetItemString(dw_list.GetRow(), "SupplierID")); //alert(dw_list.GetItemString(dw_list.GetRow(),"Name")); if (url::post("/sale/data/SupplierV3/entity/asksupplier", arg.GetString(), x) != 1) { string error = x.GetXmlDoc().text; //alert(error); } SendNotice(); //SendNoticeOne(); SendNoticeTwo(); OnRetrieve(); return 1; } int OnDelete() { if (dw_list.GetRow() < 1) return 1; int row = dw_list.GetRow(); int MB_YESNO = 0x00000004; int IDYES = 6; if (win32::MessageBox(GetHWND(), "R –d" + dw_list.GetItemDisplayString(dw_list.GetRow(), "Name") + "O›^”UF?", "cÐy:", MB_YESNO) != IDYES) return 1; xml x = new xml; x.setNativePointer(x.CreateInstance()); xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("EntityID", dw_list.GetItemString(dw_list.GetRow(), "SupplierID")); // trace(sguid); if (url::post("/sale/data/SupplierV3/entity/delete", arg.GetString(), x) != 1) { string error = x.GetXmlDoc().text; trace(error); } else { if (x.GetXmlDoc().selectSingleNode("//process")) { msxml::IXMLDOMElement e1 = x.GetXmlDoc().selectSingleNode("//process"); string valid = e1.getAttribute("valid"); string finished = e1.getAttribute("finished"); string errInfo = ""; if (valid == "0") { errInfo = e1.getAttribute("errInfo"); alert(errInfo); } else if (finished == "0") { errInfo = e1.getAttribute("errInfo"); errInfo = "YtY1%!\r\n" + errInfo; alert(errInfo); } else dw_list.DeleteRow(row); } } //OnRetrieve(); return 1; } int OnCmdDispatch(string comdid) { if (comdid == "xmNew") { return OnNew(); } else if (comdid == "xmMaint") { return OnOpen(); } else if (comdid == "xmDelete") { return OnDelete(); } else if (comdid == "xmRefresh") { return OnRetrieve(); } else if (comdid == "xmAsk") { return OnAsk(); } else if (comdid == "xmSearch") { return OnSearch(); } else if (comdid == "note") { return OnNote(); } else if (comdid == "Annex") { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("entityid", dw_list.GetItemString(dw_list.GetRow(), "SupplierID")); int p3 = cast(arg as int); OpenWindow("dev:xpage[maint.Document.Supplier.v3.vx]", p3); return 1; } else if (comdid == "AnnexEx") { xaserverarg arg4 = new xaserverarg; arg4.setNativePointer(arg4.CreateInstance()); arg4.AddArg("entityid", dw_list.GetItemString(dw_list.GetRow(), "SDID")); int p4 = cast(arg4 as int); OpenWindow("dev:xpage[maint.Document.Customer.v3.vx]", p4); return 1; } return 1; } int OnNote() { xaserverarg arg = new xaserverarg; arg.setNativePointer(arg.CreateInstance()); arg.AddArg("EntityID", dw_list.GetItemString(dw_list.GetRow(), "SupplierID")); OpenWindow("dev:xpage[CommentaryEx.dialog.vx]", arg.getNativePointer()); return 1; } int OnSearch() { 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_list.Filter("*", searchStr); return 1; } return 1; } int OnDoubleClicked(ref TNotifyEvent evt, int p) { int hCursor = xutil::SetCursorWait(); OnCmdDispatch("xmMaint"); xutil::RestoreCursor(hCursor); return 1; } int onload() { dw_list = GetControl("dw_list"); dw_list.openUrl("/sale/view/SupplierV3/template/supplier/list"); dw_list.SetColumnState("SupplierID", false); dw_list.SetColumnState("SourcingID", false); dw_list.SetColumnState("ApplyStatus", false); dw_list.SetColumnState("Class", false); dw_list.SetColumnState("userNo", false); dw_list.SetColumnState("YearEstablished", false); dw_list.SetColumnState("LegalPerson", false); dw_list.SetColumnState("ThirdPartyReport", false); dw_list.SetColumnState("bAddress", false); dw_list.SetColumnState("PayType", false); dw_list.SetColumnState("PicPath", false); dw_list.SetColumnState("Class", false); dw_list.SetColumnState("DateEx", false); dw_list.SetColumnState("DateExS", false); dw_list.SetColumnState("SOID", false); dw_list.SetColumnState("AdvantageProduct", false); searchStr = ""; urlTree = "/sale/data/SupplierV3/folder"; tv_folder = GetControl("tv_folder"); tv_folder.SetLineAtRoot(true); InitialFolder(); return 1; } int onloaded() { SetAgent(); OnAttachEvent(); OnRetrieve(); int hItem = tv_folder.GetRootItem(); ExpandFolderItem(hItem); tv_folder.ExpandItem(hItem); tv_folder.ItemFocus(hItem); return 1; } }; ]