using com.steering.pss.sale.order.model; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Qcm; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Core.StlMes.Client.SaleOrder.Dialog { public partial class FrmStableMps : FrmBase { public FrmStableMps() { InitializeComponent(); } public FrmStableMps(OpeBase _ob) { InitializeComponent(); this.ob = _ob; } private string msc = ""; private string finaUser = ""; private string finaUserDesc = ""; private string dimater = ""; private string height = ""; private string model = ""; private string ordLnPk = ""; /// /// 合同行号 /// public string OrdLnPk { get { return ordLnPk; } set { ordLnPk = value; } } private string wdType = "1"; /// /// 弹出窗体的方式 /// public string WdType { get { return wdType; } set { wdType = value; } } public delegate void FrmClosedRefresh(); public event FrmClosedRefresh frmClosedRefresh; private void FrmStableMps_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(gdMps.DisplayLayout.Bands[0]); InitFormData(this.OrdLnPk); if (WdType == "2") { QueryDataByFilter(); } } private void InitFormData(string ordLnPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreStableMps.queryOrdInfo", new object[] { ordLnPk }, this.ob); if (dt != null && dt.Rows.Count > 0) { msc = dt.Rows[0]["MSC"].ToString2(); finaUser = dt.Rows[0]["FINAL_USER"].ToString2(); finaUserDesc = dt.Rows[0]["FINAL_USER_DESC"].ToString2(); dimater = dt.Rows[0]["DIMATER"].ToString2(); height = dt.Rows[0]["HEIGHT"].ToString2(); model = dt.Rows[0]["MODEL_CODE"].ToString2(); } } private void gdMps_AfterRowInsert(object sender, Infragistics.Win.UltraWinGrid.RowEventArgs e) { string mpsId = gdMps.Rows.Max(a => a.Cells["MPSID"].Value.ToString2()); if (mpsId == "") { e.Row.Cells["MPSID"].Value = DateTime.Now.ToString("yyyyMMdd") + "001"; } else { if (mpsId.Substring(0, 8) == DateTime.Now.ToString("yyyyMMdd")) e.Row.Cells["MPSID"].Value = DateTime.Now.ToString("yyyyMMdd") + (Convert.ToInt32(mpsId.Substring(8, 3)) + 1).ToString().PadLeft(3, '0'); else e.Row.Cells["MPSID"].Value = DateTime.Now.ToString("yyyyMMdd") + "001"; } e.Row.Cells["MSC"].Value = msc; e.Row.Cells["FINAUSER"].Value = finaUser; e.Row.Cells["FINAUSERDESC"].Value = finaUserDesc; e.Row.Cells["DIMATERMIN"].Value = dimater; e.Row.Cells["DIMATERMAX"].Value = dimater; e.Row.Cells["HEIGHTMIN"].Value = height; e.Row.Cells["HEIGHTMAX"].Value = height; } private void gdMps_ClickCellButton(object sender, CellEventArgs e) { gdMps.UpdateData(); if (e.Cell.Column.Key.Equals("ModelDesc")) { UltraGridRow ugr = gdMps.ActiveRow; FrmModel fm = new FrmModel(); fm.FrmOb = this.ob; fm.Desc = ugr.Cells["ModelDesc"].Value.ToString(); fm.ShowDialog(); if (fm.DialogResult != DialogResult.OK) return; ugr.Cells["ModelCode"].Value = fm.Code; ugr.Cells["ModelDesc"].Value = fm.Desc; } } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "Query": if (WdType == "1") { QueryData(); } else if (WdType == "2") { QueryDataByFilter(); } break; case "Save": SaveData(); break; case "Select": SelectStableMps(); break; case "Close": this.Close(); break; } } private void SelectStableMps() { gdMps.UpdateData(); UltraGridRow ugr = gdMps.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择您要引用的MPS!"); return; } if (ugr.Cells["MpsFileName"].Value.ToString2() == "") { MessageUtil.ShowWarning("您选择的MPS编号尚未上传MPS文本!"); return; } SlmOrderStableMpsEntity sos = (SlmOrderStableMpsEntity)ugr.ListObject; int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreStableMps.selectStableMps", new object[] { sos, this.OrdLnPk }, this.ob); if (count > 0) { MessageUtil.ShowTips("选择成功!"); DialogResult = DialogResult.OK; } else { MessageUtil.ShowWarning("选择失败,请尝试重新选择!"); } } /// /// 保存数据 /// private void SaveData() { gdMps.UpdateData(); UltraGridRow[] row = gdMps.Rows.AsQueryable().Where(a => a.Cells["CHK"].Value.ToString().ToUpper() == "TRUE").ToArray(); if (row.Length <= 0) { MessageUtil.ShowWarning("请选择需要保存的记录!"); return; } ArrayList parm = new ArrayList(); List list = new List(); foreach (var uRow in row) { SlmOrderStableMpsEntity sos = (SlmOrderStableMpsEntity)uRow.ListObject; if (sos.MpsNo == "") { MessageUtil.ShowWarning("请输入MPS编号"); return; } if (sos.DimaterMin != "" && sos.DimaterMax != "") { if (Convert.ToDecimal(sos.DimaterMin) > Convert.ToDecimal(sos.DimaterMax)) { MessageUtil.ShowWarning("外径下限不能超过上限!"); return; } } if (sos.HeightMin != "" && sos.HeightMax != "") { if (Convert.ToDecimal(sos.HeightMin) > Convert.ToDecimal(sos.HeightMax)) { MessageUtil.ShowWarning("壁厚下限不能超过上限"); return; } } if (sos.Validflag == "") //新增 { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreStableMps.queryMpsNoByNo", new object[] { sos.MpsNo }, this.ob); if (dt != null && dt.Rows.Count > 0) { MessageUtil.ShowWarning("MpsId:【" + sos.MpsId + "】 Mps编号:【" + sos.MpsNo + "】 系统已经存在!"); return; } } else { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreStableMps.queryMpsNoById", new object[] { sos.MpsId }, this.ob); if (dt != null && dt.Rows.Count > 0) { if (dt.Rows[0][0].ToString2() != sos.MpsNo) { DataTable dt1 = ServerHelper.GetData("com.steering.pss.sale.order.CoreStableMps.queryMpsNoByNo", new object[] { sos.MpsNo }, this.ob); if (dt1 != null && dt1.Rows.Count > 0) { MessageUtil.ShowWarning("MpsId:【" + sos.MpsId + "】 Mps编号:【" + sos.MpsNo + "】 系统已经存在!"); return; } } } } if (list.Contains(sos.MpsNo)) { MessageUtil.ShowWarning("MPS编号重复!"); return; } else { list.Add(sos.MpsNo); } sos.CreateName = UserInfo.GetUserName(); sos.UpdateName = UserInfo.GetUserName(); parm.Add(sos); } CoreClientParam ccp = new CoreClientParam(); ccp.IfShowErrMsg = false; ccp.ServerName = "com.steering.pss.sale.order.CoreStableMps"; ccp.MethodName = "saveData"; ccp.ServerParams = new object[] { parm }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp != null) { if (ccp.ReturnCode == -1) { MessageUtil.ShowWarning(ccp.ReturnInfo); return; } MessageUtil.ShowTips("保存成功!"); if (WdType == "1") { QueryData(); } else if (WdType == "2") { QueryDataByFilter(); } } } private void MpsFile_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { UltraGridRow row = gdMps.ActiveRow; if (row == null) return; string mpsId = row.Cells["MPSID"].Value.ToString(); if (e.Button.Key.Equals("upload")) // 上传 { if (row.Cells["VALIDFLAG"].Value.ToString2() == "") { MessageUtil.ShowWarning("请先保存该记录,才可上传MPS文本!"); return; } string reStr = FlileUpload("Mps/" + ordLnPk); if (reStr == "F") { MessageUtil.ShowWarning("上传失败,尝试重新上传!"); return; } else if (reStr == "N") { return; } row.Cells["MPSFILENAME"].Value = reStr; if (updateStableMps(mpsId, "Mps/" + ordLnPk, reStr)) { MessageUtil.ShowTips("上传成功!"); } else { MessageUtil.ShowWarning("上传失败,尝试重新上传!"); } } else if (e.Button.Key.Equals("view")) //预览 { if (row.Cells["VALIDFLAG"].Value.ToString2() == "") { MessageUtil.ShowWarning("暂无MPS文本可供查看!"); return; } string filePath = "Mps/" + ordLnPk; string dbFilePath = ""; DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreStableMps.selectMpsAddr", new object[] { row.Cells["MPSID"].Value.ToString2() }, this.ob); if (dt != null && dt.Rows.Count > 0) { dbFilePath = dt.Rows[0][0].ToString(); } else { MessageUtil.ShowWarning("暂无MPS文本可供查看!"); return; } string fpath = filePath; if (dbFilePath != filePath) fpath = dbFilePath; dlgOrderAskDown down = new dlgOrderAskDown(this.ob, fpath); down.ShowDialog(); if (down.CtrlFileDown1.List.Count == 0) { if (dbFilePath == filePath) updateStableMps(mpsId, filePath, ""); row.Cells["MPSFILENAME"].Value = ""; } } } /// /// 更新固定MPS /// /// /// /// private bool updateStableMps(string mpsId, string mpsAddr, string p) { int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreStableMps.updateStableMps", new object[] { mpsId, mpsAddr, p }, this.ob); if (count > 0) { return true; } else { return false; } } public static string FlileUpload(string sFileName) { List list = new List(); FileBean bean = new FileBean(); OpenFileDialog file = new OpenFileDialog(); file.Multiselect = false; // file.Multiselect = true 改为 file.Multiselect = false DialogResult drStat; drStat = file.ShowDialog(); string fileList = ""; if (drStat == DialogResult.OK) { foreach (string fileName in file.FileNames) { bean = new FileBean(); string filena = System.IO.Path.GetFileName(fileName); bean.setFileName(filena); bean.setPathName(sFileName); bean.setFile(FileHelper.FileToArray(fileName)); list.Add(bean); fileList = filena; } bool isSuccess = false; isSuccess = Core.Mes.Client.Comm.Server.FileHelper.Upload(list); if (isSuccess) { return fileList; } else { return "F"; } } else return "N"; //未选择文件 } private void FrmStableMps_Shown(object sender, EventArgs e) { if (WdType == "1") { ultraToolbarsManager1.Toolbars[0].Tools["Select"].SharedProps.Visible = false; } } private void QueryData() { string no = ""; string name = ""; if (mpsNo.Checked) { no = mpsNo.Text.Trim(); } if (mpsName.Checked) { name = mpsName.Text.Trim(); } List list = EntityHelper.GetData("com.steering.pss.sale.order.CoreStableMps.queryData", new object[] { no, name }, this.ob); slmOrderStableMpsEntityBindingSource1.DataSource = list; } /// /// 根据过滤条件查询数据 /// private void QueryDataByFilter() { string no = ""; string name = ""; if (mpsNo.Checked) { no = mpsNo.Text.Trim(); } if (mpsName.Checked) { name = mpsName.Text.Trim(); } ArrayList parm = new ArrayList(); parm.Add(no); parm.Add(name); parm.Add(dimater); parm.Add(dimater); parm.Add(height); parm.Add(height); parm.Add(model); parm.Add(msc); parm.Add(finaUser); List list = EntityHelper.GetData("com.steering.pss.sale.order.CoreStableMps.queryDataByFilter", new object[] { parm }, this.ob); slmOrderStableMpsEntityBindingSource1.DataSource = list; } private void FrmStableMps_FormClosed(object sender, FormClosedEventArgs e) { if (frmClosedRefresh != null) frmClosedRefresh(); } } }