using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using CoreFS.CA06; using Core.Mes.Client.Comm.Tool; using Core.Mes.Client.Comm.Server; using System.Collections; using Infragistics.Win.UltraWinGrid; using CoreFS.SA06; using Core.Mes.Client.Comm.Format; using Infragistics.Win.UltraWinTree; using Core.StlMes.Client.SaleOrder.Dialog; namespace Core.StlMes.Client.SaleOrder { public delegate void PopupOrderAskAddHandler(object sender, PopupOrderAskAddArgs e); public partial class PopupOrderAskAdd : FrmBase { public event PopupOrderAskAddHandler PopupOrderAskAddEvent; private dlgOrderAddAsk _frmOrderAddAsk; private string _psc = ""; private string _addAskNo = ""; private string _user = ""; private string _stdCode = ""; private string _stdDesc = ""; private string _userDesc = ""; private string _ordPk = ""; private string _ordLnPk = ""; private string closeAction = ""; public PopupOrderAskAdd(string[] args, string exceptionMsg, OpeBase ob) { InitializeComponent(); ExceptionHelper.RegistException(); this.ob = ob; _psc = args[0]; _addAskNo = args[1]; _user = args[2]; _ordPk = args[3]; _ordLnPk = args[4]; ultraStatusBar1.Panels["ExMsg"].Text = exceptionMsg; _frmOrderAddAsk = new dlgOrderAddAsk(); DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[] { new DataColumn("STD_CODE"), new DataColumn("FINAL_USER"), new DataColumn("FINAL_USER_DESC"), new DataColumn("ADD_ASK_NO")}); DataRow dr = dt.NewRow(); GetStdCode(_psc); dr["STD_CODE"] = _stdCode; dr["FINAL_USER"] = _user; dr["FINAL_USER_DESC"] = _userDesc; dr["ADD_ASK_NO"] = _addAskNo; _frmOrderAddAsk.Dr = dr; _frmOrderAddAsk.IsQueryStd = false; _frmOrderAddAsk.IsPopup = true; _frmOrderAddAsk.PopupLoad(ob); this.panel5.Controls.Add(_frmOrderAddAsk.FrmBase_Fill_Panel1); _frmOrderAddAsk.UltraToolbarsManager1.DockWithinContainer = this.panel5; _frmOrderAddAsk.UltraToolbarsManager1.Toolbars[0].Tools["评审通过"].SharedProps.Visible = true; _frmOrderAddAsk.UltraToolbarsManager1.Toolbars[0].Tools["评审不通过"].SharedProps.Visible = true; _frmOrderAddAsk.UltraToolbarsManager1.Toolbars[0].Tools["doConfrim"].SharedProps.Visible = false; _frmOrderAddAsk.UltraToolbarsManager1.Toolbars[0].Tools["新增"].SharedProps.Visible = false; _frmOrderAddAsk.UltraToolbarsManager1.Toolbars[0].Tools["作废"].SharedProps.Visible = false; _frmOrderAddAsk.UltraToolbarsManager1.ToolClick += new Infragistics.Win.UltraWinToolbars.ToolClickEventHandler(UltraToolbarsManager1_ToolClick); } private void GetStdCode(string psc) { string[] strs = new string[] { "", "" }; DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderAddAsk.getStdCode", new object[] { psc, _user}, ob); if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { if (dr[1].ToString() == "PSC") { _stdCode = dr[0].ToString(); _stdDesc = dr[2].ToString(); } else { _userDesc = dr[0].ToString(); } } } } private void UltraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { if (e.Tool.Key == "评审通过") { if (PopupOrderAskAddEvent != null) { UltraTreeNode node = _frmOrderAddAsk.UltraTree.ActiveNode; bool insertResult = InsertBaseAddAsk(e.Tool.Key, node); if (insertResult == false) return; PopupOrderAskAddArgs e2 = new PopupOrderAskAddArgs(); e2.Result = "1"; e2.AddAskNo = node.Key; PopupOrderAskAddEvent(this, e2); closeAction = "Ok"; this.DialogResult = DialogResult.OK; } } else if (e.Tool.Key == "评审不通过") { UltraTreeNode node = _frmOrderAddAsk.UltraTree.ActiveNode; if (InsertBaseAddAsk(e.Tool.Key, node) == false) return; this.Close(); } } private bool InsertBaseAddAsk(string strAction, UltraTreeNode node) { ArrayList list2 = new ArrayList(); list2.Add(new string[] { _ordPk, _ordLnPk }); string userName = CoreUserInfo.UserInfo.GetUserName(); string userDept = ClsBaseInfo.GetDepartBySectionId(CoreUserInfo.UserInfo.GetDeptid(), ob) + "-" + UserInfo.GetDepartment(); string reviewRs = ""; ArrayList list = new ArrayList(); string addAskNo = node.Key; if (addAskNo.Substring(0, 3).ToUpper().Equals("STD")) { MessageUtil.ShowWarning("请选择客户附加要求进行评审!"); return false; } if (node.Key == "CUSTADDKEY") { MessageUtil.ShowWarning("请选择客户附加要求进行评审!"); return false; } foreach (UltraGridRow row in _frmOrderAddAsk.UltraGrid1.Rows) { if (row.GetValue("IS_OTHER") == "True") continue; if (row.GetValue("ASK_ITME_OLD") == "") { MessageUtil.ShowWarning("请先保存后,再进行评审!"); return false; } ComBaseAdditionalEntity addAskEntity = new ComBaseAdditionalEntity(); addAskEntity.AskItme = row.GetValue("ASK_ITME"); addAskEntity.AskItmeDesc = row.GetValue("ASK_ITME_DESC"); addAskEntity.AskSubItme = row.GetValue("ASK_SUB_ITME"); addAskEntity.AskSubItmeDesc = row.GetValue("ASK_SUB_ITME_DESC"); addAskEntity.AskSubItmeVal = row.GetValue("ASK_SUB_ITME_VAL1"); addAskEntity.AskSubItmeValDesc = row.GetText("ASK_SUB_ITME_VAL1"); addAskEntity.CreateName = CoreUserInfo.UserInfo.GetUserName(); addAskEntity.UpdateName = CoreUserInfo.UserInfo.GetUserName(); addAskEntity.DeleteName = CoreUserInfo.UserInfo.GetUserName(); addAskEntity.Memo = row.GetValue("MEMO"); addAskEntity.Pic = row.GetValue("PIC1"); addAskEntity.StdCode = _stdCode; addAskEntity.StdName = _stdDesc; string strJSON = JSONFormat.Format(addAskEntity); list.Add(strJSON); } if (MessageUtil.ShowYesNoAndQuestion("是否确认" + strAction + "?") == DialogResult.No) return false; if (strAction == "评审不通过") { dlgReviewMemo dlg = new dlgReviewMemo(); dlg.ReviewFlag = 0; dlg.ReviewSatus = "评审不通过"; DialogResult result = dlg.ShowDialog(); if (result == DialogResult.OK) { reviewRs = dlg.ReviewMemo; } else { return false; } } ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderAddAsk.insertBaseAdditional", new object[] { list, addAskNo, strAction, list2, userDept, userName, reviewRs }, ob); return true; } private void PopupOrderAskAdd_FormClosing(object sender, FormClosingEventArgs e) { if (PopupOrderAskAddEvent != null && closeAction == "") { PopupOrderAskAddArgs e2 = new PopupOrderAskAddArgs(); e2.Result = "0"; PopupOrderAskAddEvent(this, e2); } } } public class PopupOrderAskAddArgs : EventArgs { private string _result = ""; public string Result { get { return _result; } set { _result = value; } } private string _addAskNo = ""; public string AddAskNo { get { return _addAskNo; } set { _addAskNo = value; } } } }