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 System.Collections; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Control; using Core.StlMes.Client.Qcm; namespace Core.StlMes.Client.SaleOrder.ReviewForm { public partial class frmBaseMaterialPl : FrmBase { private DataSourceList _materialEntityList = new DataSourceList(); private DataSourceList _materialAPlEntityList = new DataSourceList(); private DataSourceList _materialBPlEntityList = new DataSourceList(); private DataSourceList _materialCPlEntityList = new DataSourceList(); private DataSourceList _materialDPlEntityList = new DataSourceList(); private DataSourceList _materialEPlEntityList = new DataSourceList(); private DataSourceList _materialFPlEntityList = new DataSourceList(); private DataSourceList _materialJPlEntityList = new DataSourceList(); private DataSourceList _materialIPlEntityList = new DataSourceList(); Boolean flag = false; private string[] _plines = new string[0]; public frmBaseMaterialPl() { InitializeComponent(); this.IsLoadUserView = true; } private void frmBaseMaterialPl_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid3.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid4.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid5.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid6.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid7.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid8.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid9.DisplayLayout.Bands[0]); GetPagePermission(); _plines = getPlinePermission(); flag = true; } private void QueryMaterial() { try { this.Cursor = Cursors.WaitCursor; if (IsExitEdit()) { if (ultraTabControl1.ActiveTab.Key == "1") { QueryMaterialAPl(); } else if (ultraTabControl1.ActiveTab.Key == "2") { QueryMaterialBPl(); } else if (ultraTabControl1.ActiveTab.Key == "3") { QueryMaterialCPl(); } else if (ultraTabControl1.ActiveTab.Key == "4") { QueryMaterialDPl(); } else if (ultraTabControl1.ActiveTab.Key == "5") { QueryMaterialEPl(); } else if (ultraTabControl1.ActiveTab.Key == "6") { QueryMaterialFPl(); } else if (ultraTabControl1.ActiveTab.Key == "7") { QueryMaterialHPl(); } else if (ultraTabControl1.ActiveTab.Key == "8") { QueryMaterialIPl(); } else if (ultraTabControl1.ActiveTab.Key == "9") { QueryBaseMaterial(); } } } finally { this.Cursor = Cursors.Default; } } /// /// 查询基础物料编码 /// private void QueryBaseMaterial() { _materialEntityList = EntityHelper.GetData( "com.steering.pss.sale.order.CoreBaseMaterialPl.getBaseMaterial", new object[] { }, ob); _materialEntityList.AcceptChanges(); slmBaseMaterialEntityBindingSource.DataSource = _materialEntityList; } /// /// 通过主键查询基础物料码 /// /// private DataRow QueryBaseMaterialByPk(string materialNo) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreBaseMaterialPl.getBaseMaterialByPk", new object[] { materialNo }, ob); if (dt.Rows.Count > 0) { return dt.Rows[0]; } else { return null; } } /// /// 查询电炉 /// private void QueryMaterialAPl() { _materialAPlEntityList = EntityHelper.GetData( "com.steering.pss.sale.order.CoreBaseMaterialPl.getBaseMaterialAPl", new object[] { _plines }, ob); _materialAPlEntityList.AcceptChanges(); slmBaseMaterialAPlEntityBindingSource.DataSource = _materialAPlEntityList; } /// /// 查询铸造 /// private void QueryMaterialBPl() { _materialBPlEntityList = EntityHelper.GetData( "com.steering.pss.sale.order.CoreBaseMaterialPl.getBaseMaterialBPl", new object[] { _plines }, ob); _materialBPlEntityList.AcceptChanges(); slmBaseMaterialBPlEntityBindingSource.DataSource = _materialBPlEntityList; } /// /// 查询锻造 /// private void QueryMaterialCPl() { _materialCPlEntityList = EntityHelper.GetData( "com.steering.pss.sale.order.CoreBaseMaterialPl.getBaseMaterialCPl", new object[] { _plines }, ob); _materialCPlEntityList.AcceptChanges(); slmBaseMaterialCPlEntityBindingSource.DataSource = _materialCPlEntityList; } /// /// 查询轧制 /// private void QueryMaterialDPl() { _materialDPlEntityList = EntityHelper.GetData( "com.steering.pss.sale.order.CoreBaseMaterialPl.getBaseMaterialDPl", new object[] { _plines }, ob); _materialDPlEntityList.AcceptChanges(); slmBaseMaterialDPlEntityBindingSource.DataSource = _materialDPlEntityList; } /// /// 查询墩拔扩 /// private void QueryMaterialEPl() { _materialEPlEntityList = EntityHelper.GetData( "com.steering.pss.sale.order.CoreBaseMaterialPl.getBaseMaterialEPl", new object[] { _plines }, ob); _materialEPlEntityList.AcceptChanges(); slmBaseMaterialEPlEntityBindingSource.DataSource = _materialEPlEntityList; } /// /// 查询热处理 /// private void QueryMaterialFPl() { _materialFPlEntityList = EntityHelper.GetData( "com.steering.pss.sale.order.CoreBaseMaterialPl.getBaseMaterialFPl", new object[] { _plines }, ob); _materialFPlEntityList.AcceptChanges(); slmBaseMaterialFPlEntityBindingSource.DataSource = _materialFPlEntityList; } /// /// 查询接箍 /// private void QueryMaterialHPl() { _materialJPlEntityList = EntityHelper.GetData( "com.steering.pss.sale.order.CoreBaseMaterialPl.getBaseMaterialHPl", new object[] { _plines }, ob); _materialJPlEntityList.AcceptChanges(); slmBaseMaterialJPlEntityBindingSource.DataSource = _materialJPlEntityList; } /// /// 查询加工 /// private void QueryMaterialIPl() { _materialIPlEntityList = EntityHelper.GetData( "com.steering.pss.sale.order.CoreBaseMaterialPl.getBaseMaterialIPl", new object[] { _plines }, ob); _materialIPlEntityList.AcceptChanges(); slmBaseMaterialIPlEntityBindingSource.DataSource = _materialIPlEntityList; } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "doQuery": QueryMaterial(); break; case "doUpdate": UpdateMaterialAPl(); break; case "doDelete": DeleteMaterialAPl(); break; case "Export": DoExport(); break; case "doClose": this.Close(); break; } } private void DoExport() { if (ultraTabControl1.ActiveTab.Key == "1") { GridHelper.ulGridToExcel(ultraGrid1, "电炉产线能力"); } else if (ultraTabControl1.ActiveTab.Key == "2") { GridHelper.ulGridToExcel(ultraGrid2, "铸造产线能力"); } else if (ultraTabControl1.ActiveTab.Key == "3") { GridHelper.ulGridToExcel(ultraGrid3, "锻造产线能力"); } else if (ultraTabControl1.ActiveTab.Key == "4") { GridHelper.ulGridToExcel(ultraGrid4, "轧制产线能力"); } else if (ultraTabControl1.ActiveTab.Key == "5") { GridHelper.ulGridToExcel(ultraGrid5, "镦拔扩产线能力"); } else if (ultraTabControl1.ActiveTab.Key == "6") { GridHelper.ulGridToExcel(ultraGrid6, "热处理产线能力"); } else if (ultraTabControl1.ActiveTab.Key == "7") { GridHelper.ulGridToExcel(ultraGrid7, "接箍加工产线能力"); } else if (ultraTabControl1.ActiveTab.Key == "8") { GridHelper.ulGridToExcel(ultraGrid8, "加工产线能力"); } else if (ultraTabControl1.ActiveTab.Key == "9") { GridHelper.ulGridToExcel(ultraGrid9, "产成品物料"); } } /// /// 修改电炉产线能力 /// private void UpdateMaterialAPl() { ultraGrid1.UpdateData(); ultraGrid2.UpdateData(); ultraGrid3.UpdateData(); ultraGrid4.UpdateData(); ultraGrid5.UpdateData(); ultraGrid6.UpdateData(); ultraGrid7.UpdateData(); ultraGrid8.UpdateData(); ultraGrid9.UpdateData(); var ultraGrid9Rows = ultraGrid9.Rows.Where(a=>a.GetValue("Chk") == "True"); IQueryable ultraGrid1ChkRows = ultraGrid1.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid2ChkRows = ultraGrid2.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid3ChkRows = ultraGrid3.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid4ChkRows = ultraGrid4.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid5ChkRows = ultraGrid5.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid6ChkRows = ultraGrid6.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid7ChkRows = ultraGrid7.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid8ChkRows = ultraGrid8.Rows.AsQueryable().Where("CHK = 'True'"); int chkCnt = ultraGrid1ChkRows.Count() + ultraGrid2ChkRows.Count() + ultraGrid3ChkRows.Count() + ultraGrid4ChkRows.Count() + ultraGrid5ChkRows.Count() + ultraGrid6ChkRows.Count() + ultraGrid7ChkRows.Count() + ultraGrid8ChkRows.Count() + ultraGrid9Rows.Count(); if (chkCnt == 0) { MessageUtil.ShowWarning("请选择记录"); return; } ArrayList list = new ArrayList(); ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); ArrayList list3 = new ArrayList(); ArrayList list4 = new ArrayList(); ArrayList list5 = new ArrayList(); ArrayList list6 = new ArrayList(); ArrayList list7 = new ArrayList(); ArrayList list8 = new ArrayList(); ArrayList list9 = new ArrayList(); string msg = ""; string fieldName = ""; foreach (UltraGridRow ugr in ultraGrid1ChkRows) { SlmBaseMaterialAPlEntity baseMaterialAPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialAPl.UpdateName = UserInfo.GetUserName(); if (EntityHelper.CheckEntity(baseMaterialAPl, out msg, out fieldName) == false) { MessageUtil.ShowWarning(msg); return; } string strJSON = JSONFormat.Format(baseMaterialAPl); list1.Add(strJSON); } foreach (UltraGridRow ugr in ultraGrid2ChkRows) { SlmBaseMaterialBPlEntity baseMaterialBPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialBPl.UpdateName = UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialBPl); list2.Add(strJSON); } foreach (UltraGridRow ugr in ultraGrid3ChkRows) { SlmBaseMaterialCPlEntity baseMaterialCPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialCPl.UpdateName = UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialCPl); list3.Add(strJSON); } IQueryable querableMaterialD = ultraGrid4ChkRows.Select(a => (SlmBaseMaterialDPlEntity)a.ListObject); if (CheckMaterialDIsSame(querableMaterialD, out msg)) { MessageUtil.ShowWarning(msg); return; } foreach (UltraGridRow ugr in ultraGrid4ChkRows) { SlmBaseMaterialDPlEntity baseMaterialDPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialDPl.UpdateName = this.UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialDPl); list4.Add(strJSON); } foreach (UltraGridRow ugr in ultraGrid4ChkRows) { SlmBaseMaterialDPlEntity baseMaterialDPl = EntityHelper.CopyEntity(ugr.ListObject); if (CheckMaterialD(baseMaterialDPl, list4, out msg)) { MessageUtil.ShowWarning(msg); return; } } //if (CheckMaterialD(list4, out msg)) //{ // MessageUtil.ShowWarning(msg); // return; //} foreach (UltraGridRow ugr in ultraGrid5ChkRows) { SlmBaseMaterialEPlEntity baseMaterialEPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialEPl.UpdateName = this.UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialEPl); list5.Add(strJSON); } foreach (UltraGridRow ugr in ultraGrid6ChkRows) { SlmBaseMaterialFPlEntity baseMaterialFPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialFPl.UpdateName = this.UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialFPl); list6.Add(strJSON); } foreach (UltraGridRow ugr in ultraGrid7ChkRows) { SlmBaseMaterialJPlEntity baseMaterialJPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialJPl.UpdateName = this.UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialJPl); list7.Add(strJSON); } foreach (UltraGridRow ugr in ultraGrid8ChkRows) { SlmBaseMaterialIPlEntity baseMaterialIPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialIPl.UpdateName = this.UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialIPl); list8.Add(strJSON); } foreach (var row in ultraGrid9Rows) { SlmBaseMaterialEntity baseMaterial = EntityHelper.CopyEntity(row.ListObject); DataRow rowBaseMaterial = QueryBaseMaterialByPk(baseMaterial.MaterialNo.ToString()); if (rowBaseMaterial != null && rowBaseMaterial["FIRST_PRDC"].ToString() == "1") { if (baseMaterial.AutoCraft == "True") { MessageUtil.ShowWarning("该物料为首次生产,不能设置自动生成工艺文件!"); row.SetCellActive("AutoCraft"); return; } } baseMaterial.UpdateName = this.UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterial); list9.Add(strJSON); } list.Add(list1); list.Add(list2); list.Add(list3); list.Add(list4); list.Add(list5); list.Add(list6); list.Add(list7); list.Add(list8); list.Add(list9); if (MessageUtil.ShowYesNoAndQuestion("是否修改?") == DialogResult.No) { return; } ServerHelper.SetData("com.steering.pss.sale.order.CoreBaseMaterialPl.updateBaseMaterial", new object[] { list}, ob); _materialAPlEntityList.AcceptChanges(); _materialBPlEntityList.AcceptChanges(); _materialCPlEntityList.AcceptChanges(); _materialDPlEntityList.AcceptChanges(); _materialEPlEntityList.AcceptChanges(); _materialFPlEntityList.AcceptChanges(); _materialIPlEntityList.AcceptChanges(); _materialJPlEntityList.AcceptChanges(); _materialEntityList.AcceptChanges(); MessageUtil.ShowTips("修改成功!"); //QueryMaterialAPl(); } private bool CheckMaterialDIsSame(IQueryable querableMaterialD, out string msg) { msg = ""; var varList = querableMaterialD.GroupBy(a => new { a.OutMaterialNo, a.InMaterialNo }); foreach (var var in varList) { IQueryable groupList = querableMaterialD.Where( a => a.InMaterialNo == var.Key.InMaterialNo && a.OutMaterialNo == var.Key.OutMaterialNo); int cnt = groupList.Select(a => a.PlineLevel).Distinct().Count(); if (cnt != groupList.Count()) { msg = "保存的数据中优先级存在重复项!\r\n投入物料[" + groupList.First().InMaterialDesc + "]-产出物料[" + groupList.First().OutMaterialDesc +"]"; return true; } } return false; } private bool CheckMaterialD(SlmBaseMaterialDPlEntity baseMaterialDPl, ArrayList list, out string msg) { msg = ""; DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreBaseMaterialPl.queryMaterialDLvCnt", new object[] { JSONFormat.Format(baseMaterialDPl), list }, ob); if (dt.Rows.Count > 0) { msg = "系统中存在相同的优先级[" + dt.Rows[0]["PLINE_LEVEL"] + "]\r\n投入物料[" + baseMaterialDPl.InMaterialDesc + "]-产出物料["+ baseMaterialDPl.OutMaterialDesc +"]"; return true; } return false; } //private void InitColumn() //{ // ///电炉 // setColumnReadOnly(ultraGrid1, new String[] { "InMaterialNo", "OutMaterialNo", "PlineCode", "PlineName", "InMaterialDesc", "OutMaterialDesc" }); // setColumnBackColor(ultraGrid1, new String[] { "HrCapcty", "PrdRate", "DisableFl" }); // ///铸造 // setColumnReadOnly(ultraGrid2, new String[] { "InMaterialNo", "OutMaterialNo", "PlineCode", "PlineName" }); // setColumnBackColor(ultraGrid2, new String[] { "HrCapcty", "PrdRate", "DisableFl" }); // ///锻造 // setColumnReadOnly(ultraGrid3, new String[] { "InMaterialNo", "OutMaterialNo", "PlineCode", "PlineName" }); // setColumnBackColor(ultraGrid3, new String[] { "HrCapcty", "PrdRate", "DisableFl" }); // ///轧管 // setColumnReadOnly(ultraGrid4, new String[] { "InMaterialNo", "OutMaterialNo", "PlineCode", "PlineName" }); // setColumnBackColor(ultraGrid4, new String[] { "HrCapcty", "PrdRate", "DisableFl", "RolLenMin", "RolLenMax", "CropEnd", "MandrelSize", "DisableFl", "DblLenMax" }); ; // ///墩拔扩 // setColumnReadOnly(ultraGrid5, new String[] { "InMaterialNo", "OutMaterialNo", "PlineCode", "PlineName" }); // setColumnBackColor(ultraGrid5, new String[] { "HrCapcty", "PrdRate", "DisableFl" }); // ///热处理 // setColumnReadOnly(ultraGrid6, new String[] { "InMaterialNo", "OutMaterialNo", "PlineCode", "PlineName" }); // setColumnBackColor(ultraGrid6, new String[] { "HrCapcty", "PrdRate", "DisableFl" }); // ///接箍 // setColumnReadOnly(ultraGrid7, new String[] { "InMaterialNo", "OutMaterialNo", "PlineCode", "PlineName" }); // setColumnBackColor(ultraGrid7, new String[] { "HrCapcty", "PrdRate", "DisableFl" }); //} ///// ///// 设置列背景颜色 ///// ///// UltraGrid ///// 列数组 //private void setColumnBackColor(UltraGrid ugr, String[] columns) //{ // for (int i = 0; i < columns.Length; i++) // { // ugr.DisplayLayout.Bands[0].Columns[columns[i]].CellAppearance.BackColor = Color.FromArgb(255, 255, 128); // } //} ///// ///// 设置列只可读 ///// ///// UltraGrid ///// 列数组 //private void setColumnReadOnly(UltraGrid ugr, String[] columns) //{ // for (int i = 0; i < columns.Length; i++) // { // ugr.DisplayLayout.Bands[0].Columns[columns[i]].CellActivation = Activation.ActivateOnly; // } //} /// /// 判断实体类列数据是否为数字 /// /// /// /// private Boolean checkIsNumber(Object obj, List columns) { System.Reflection.PropertyInfo[] properties = obj.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public); foreach (System.Reflection.PropertyInfo item in properties) { string name = item.Name; string value = item.GetValue(obj, null).ToString(); if (columns.Contains(name)) { if (!value.Equals("") && !StringUtil.IsNumber(value)) { return false; } } } return true; } private void ControlCellEdit(UltraGridRow row) { foreach (UltraGridCell cell in row.Cells) { if (cell.Column.CellAppearance.BackColor == Color.FromArgb(255, 255, 128)) { if (row.Cells["CHK"].Value.ToString() == "True") cell.Activation = Activation.AllowEdit; else cell.Activation = Activation.ActivateOnly; } } } private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e) { ControlCellEdit(e.Row); } private void ultraGrid2_InitializeRow(object sender, InitializeRowEventArgs e) { ControlCellEdit(e.Row); } private void ultraGrid3_InitializeRow(object sender, InitializeRowEventArgs e) { ControlCellEdit(e.Row); } private void ultraGrid4_InitializeRow(object sender, InitializeRowEventArgs e) { ControlCellEdit(e.Row); } private void ultraGrid5_InitializeRow(object sender, InitializeRowEventArgs e) { ControlCellEdit(e.Row); } private void ultraGrid6_InitializeRow(object sender, InitializeRowEventArgs e) { ControlCellEdit(e.Row); } private void ultraGrid7_InitializeRow(object sender, InitializeRowEventArgs e) { ControlCellEdit(e.Row); } private void ultraGrid8_InitializeRow(object sender, InitializeRowEventArgs e) { ControlCellEdit(e.Row); } private void ultraGrid1_CellChange(object sender, CellEventArgs e) { ultraGrid1.UpdateData(); SlmBaseMaterialAPlEntity materialAPlEntity = (SlmBaseMaterialAPlEntity)e.Cell.Row.ListObject; _materialAPlEntityList.Change(materialAPlEntity); } private void ultraGrid2_CellChange(object sender, CellEventArgs e) { e.Cell.Row.Update(); SlmBaseMaterialBPlEntity materialBPlEntity = (SlmBaseMaterialBPlEntity)e.Cell.Row.ListObject; _materialBPlEntityList.Change(materialBPlEntity); } private void ultraGrid3_CellChange(object sender, CellEventArgs e) { e.Cell.Row.Update(); SlmBaseMaterialCPlEntity materialCPlEntity = (SlmBaseMaterialCPlEntity)e.Cell.Row.ListObject; _materialCPlEntityList.Change(materialCPlEntity); } private void ultraGrid4_CellChange(object sender, CellEventArgs e) { e.Cell.Row.Update(); SlmBaseMaterialDPlEntity materialDPlEntity = (SlmBaseMaterialDPlEntity)e.Cell.Row.ListObject; _materialDPlEntityList.Change(materialDPlEntity); } private void ultraGrid5_CellChange(object sender, CellEventArgs e) { e.Cell.Row.Update(); SlmBaseMaterialEPlEntity materialEPlEntity = (SlmBaseMaterialEPlEntity)e.Cell.Row.ListObject; _materialEPlEntityList.Change(materialEPlEntity); } private void ultraGrid6_CellChange(object sender, CellEventArgs e) { e.Cell.Row.Update(); SlmBaseMaterialFPlEntity materialFPlEntity = (SlmBaseMaterialFPlEntity)e.Cell.Row.ListObject; _materialFPlEntityList.Change(materialFPlEntity); } private void ultraGrid7_CellChange(object sender, CellEventArgs e) { e.Cell.Row.Update(); SlmBaseMaterialJPlEntity materialJPlEntity = (SlmBaseMaterialJPlEntity)e.Cell.Row.ListObject; _materialJPlEntityList.Change(materialJPlEntity); } private void ultraGrid8_CellChange(object sender, CellEventArgs e) { e.Cell.Row.Update(); SlmBaseMaterialIPlEntity materialIPlEntity = (SlmBaseMaterialIPlEntity)e.Cell.Row.ListObject; _materialIPlEntityList.Change(materialIPlEntity); } private bool IsExitEdit() { if(_materialAPlEntityList.IsChanged || _materialBPlEntityList.IsChanged || _materialCPlEntityList.IsChanged || _materialDPlEntityList.IsChanged || _materialEPlEntityList.IsChanged || _materialFPlEntityList.IsChanged || _materialIPlEntityList.IsChanged || _materialJPlEntityList.IsChanged || _materialEntityList.IsChanged) { if (MessageUtil.ShowYesNoAndQuestion("系统检测到有数据修改,是否放弃编辑?") == DialogResult.Yes) { _materialAPlEntityList.IsChanged = false; _materialBPlEntityList.IsChanged = false; _materialCPlEntityList.IsChanged = false; _materialDPlEntityList.IsChanged = false; _materialEPlEntityList.IsChanged = false; _materialFPlEntityList.IsChanged = false; _materialIPlEntityList.IsChanged = false; _materialJPlEntityList.IsChanged = false; _materialEntityList.IsChanged = false; return true; } else { return false; } } return true; } private void ultraTabControl1_ActiveTabChanging(object sender, Infragistics.Win.UltraWinTabControl.ActiveTabChangingEventArgs e) { if (IsExitEdit() == false) { e.Cancel = true; } } /// /// 获取TAB页面权限 /// /// /// public void GetPagePermission() { for (int i = 0; i < ultraTabControl1.Tabs.Count; i++) { ultraTabControl1.Tabs[i].Visible = false; } DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreBaseMaterialPl.GetPagePermission", new object[] { this.ValidDataPurviewIds }, this.ob); ArrayList proCodeList = new ArrayList(); if (dt != null && dt.Rows.Count > 0) { foreach(DataRow dr in dt.Rows){ proCodeList.Add(dr[0]); } } ultraTabControl1.Tabs[8].Visible = true; if (proCodeList != null && proCodeList.Count > 0) { if (proCodeList.Contains("A")) { ultraTabControl1.Tabs[0].Visible = true; } if (proCodeList.Contains("B")) { ultraTabControl1.Tabs[1].Visible = true; } if (proCodeList.Contains("C")) { ultraTabControl1.Tabs[2].Visible = true; } if (proCodeList.Contains("D")) { ultraTabControl1.Tabs[3].Visible = true; } if (proCodeList.Contains("E")) { ultraTabControl1.Tabs[4].Visible = true; } if (proCodeList.Contains("F")) { ultraTabControl1.Tabs[5].Visible = true; } if (proCodeList.Contains("H")) { ultraTabControl1.Tabs[6].Visible = true; } if (proCodeList.Contains("G")) { ultraTabControl1.Tabs[7].Visible = true; } } } /// /// 产线权限 /// /// public string[] getPlinePermission() { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreBaseMaterialPl.getPlinePermission", new object[] { this.ValidDataPurviewIds }, this.ob); string[] plines=new string[0]; if (dt != null && dt.Rows.Count > 0) { plines = new string[dt.Rows.Count]; for (int i=0;i< dt.Rows.Count;i++) { plines[i] = dt.Rows[i][0].ToString(); } } return plines; } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (!flag) { return; } try { this.Cursor = Cursors.WaitCursor; QueryMaterial(); } finally { this.Cursor = Cursors.Default; } } public void DeleteMaterialAPl() { ultraGrid1.UpdateData(); ultraGrid2.UpdateData(); ultraGrid3.UpdateData(); ultraGrid4.UpdateData(); ultraGrid5.UpdateData(); ultraGrid6.UpdateData(); ultraGrid7.UpdateData(); ultraGrid8.UpdateData(); ultraGrid9.UpdateData(); IQueryable ultraGrid1ChkRows = ultraGrid1.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid2ChkRows = ultraGrid2.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid3ChkRows = ultraGrid3.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid4ChkRows = ultraGrid4.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid5ChkRows = ultraGrid5.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid6ChkRows = ultraGrid6.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid7ChkRows = ultraGrid7.Rows.AsQueryable().Where("CHK = 'True'"); IQueryable ultraGrid8ChkRows = ultraGrid8.Rows.AsQueryable().Where("CHK = 'True'"); var ultraGrid9Rows = ultraGrid9.Rows.Where(a=>a.GetValue("Chk") == "True"); int chkCnt = ultraGrid1ChkRows.Count() + ultraGrid2ChkRows.Count() + ultraGrid3ChkRows.Count() + ultraGrid4ChkRows.Count() + ultraGrid5ChkRows.Count() + ultraGrid6ChkRows.Count() + ultraGrid7ChkRows.Count() + ultraGrid8ChkRows.Count() + ultraGrid9Rows.Count(); if (chkCnt == 0) { MessageUtil.ShowWarning("请选择需要删除的记录!"); return; } ArrayList list = new ArrayList(); ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); ArrayList list3 = new ArrayList(); ArrayList list4 = new ArrayList(); ArrayList list5 = new ArrayList(); ArrayList list6 = new ArrayList(); ArrayList list7 = new ArrayList(); ArrayList list8 = new ArrayList(); ArrayList list9 = new ArrayList(); string msg = ""; string fieldName = ""; foreach (UltraGridRow ugr in ultraGrid1ChkRows) { SlmBaseMaterialAPlEntity baseMaterialAPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialAPl.UpdateName = UserInfo.GetUserName(); if (EntityHelper.CheckEntity(baseMaterialAPl, out msg, out fieldName) == false) { MessageUtil.ShowWarning(msg); return; } string strJSON = JSONFormat.Format(baseMaterialAPl); list1.Add(strJSON); } foreach (UltraGridRow ugr in ultraGrid2ChkRows) { SlmBaseMaterialBPlEntity baseMaterialBPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialBPl.UpdateName = UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialBPl); list2.Add(strJSON); } foreach (UltraGridRow ugr in ultraGrid3ChkRows) { SlmBaseMaterialCPlEntity baseMaterialCPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialCPl.UpdateName = UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialCPl); list3.Add(strJSON); } IQueryable querableMaterialD = ultraGrid4ChkRows.Select(a => (SlmBaseMaterialDPlEntity)a.ListObject); if (CheckMaterialDIsSame(querableMaterialD, out msg)) { MessageUtil.ShowWarning(msg); return; } foreach (UltraGridRow ugr in ultraGrid4ChkRows) { SlmBaseMaterialDPlEntity baseMaterialDPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialDPl.UpdateName = this.UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialDPl); list4.Add(strJSON); } foreach (UltraGridRow ugr in ultraGrid4ChkRows) { SlmBaseMaterialDPlEntity baseMaterialDPl = EntityHelper.CopyEntity(ugr.ListObject); if (CheckMaterialD(baseMaterialDPl, list4, out msg)) { MessageUtil.ShowWarning(msg); return; } } foreach (UltraGridRow ugr in ultraGrid5ChkRows) { SlmBaseMaterialEPlEntity baseMaterialEPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialEPl.UpdateName = this.UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialEPl); list5.Add(strJSON); } foreach (UltraGridRow ugr in ultraGrid6ChkRows) { SlmBaseMaterialFPlEntity baseMaterialFPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialFPl.UpdateName = this.UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialFPl); list6.Add(strJSON); } foreach (UltraGridRow ugr in ultraGrid7ChkRows) { SlmBaseMaterialJPlEntity baseMaterialJPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialJPl.UpdateName = this.UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialJPl); list7.Add(strJSON); } foreach (UltraGridRow ugr in ultraGrid8ChkRows) { SlmBaseMaterialIPlEntity baseMaterialIPl = EntityHelper.CopyEntity(ugr.ListObject); baseMaterialIPl.UpdateName = this.UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterialIPl); list8.Add(strJSON); } foreach (var row in ultraGrid9Rows) { SlmBaseMaterialEntity baseMaterial = EntityHelper.CopyEntity(row.ListObject); baseMaterial.UpdateName = this.UserInfo.GetUserName(); string strJSON = JSONFormat.Format(baseMaterial); list9.Add(strJSON); } list.Add(list1); list.Add(list2); list.Add(list3); list.Add(list4); list.Add(list5); list.Add(list6); list.Add(list7); list.Add(list8); list.Add(list9); if (MessageUtil.ShowYesNoAndQuestion("此删除操作不可恢复,确认是否继续?") == DialogResult.No) { return; } ServerHelper.SetData("com.steering.pss.sale.order.CoreBaseMaterialPl.deleteBaseMaterial", new object[] { list }, ob); QueryMaterial(); MessageUtil.ShowTips("删除成功!"); } private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { var row = ultraGrid9.ActiveRow; switch (ultraGrid9.ActiveCell.Column.Key) { case "MaterialTypeMaxDesc": DataTable dtMax = ClsBaseInfo.GetComBaseInfo("4088", ob); dtMax.Columns["BASENAME"].Caption = "物料大类"; BaseInfoPopup baseInfoMax = new BaseInfoPopup(dtMax, "BASENAME", "BASECODE"); foreach (var column in baseInfoMax.UltraGrid1.DisplayLayout.Bands[0].Columns) { if (column.Key != "BASENAME") { column.Hidden = true; } } if (baseInfoMax.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ultraGrid9.ActiveRow.SetValue("MaterialTypeMaxDesc", baseInfoMax.ChoicedRow.GetValue("BASENAME")); ultraGrid9.ActiveRow.SetValue("MaterialTypeMax", baseInfoMax.ChoicedRow.GetValue("BASECODE")); } break; case "MaterialTypeMidDesc": if (row.GetValue("MaterialTypeMax") == "") { MessageUtil.ShowWarning("请选择物料大类!"); return; } DataTable dtMid = ClsBaseInfo.GetComBaseInfo(row.GetValue("MaterialTypeMax"), ob); dtMid.Columns["BASENAME"].Caption = "物料中类"; BaseInfoPopup baseInfoMid = new BaseInfoPopup(dtMid, "BASENAME", "BASECODE"); foreach (var column in baseInfoMid.UltraGrid1.DisplayLayout.Bands[0].Columns) { if (column.Key != "BASENAME") { column.Hidden = true; } } if (baseInfoMid.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ultraGrid9.ActiveRow.SetValue("MaterialTypeMidDesc", baseInfoMid.ChoicedRow.GetValue("BASENAME")); ultraGrid9.ActiveRow.SetValue("MaterialTypeMid", baseInfoMid.ChoicedRow.GetValue("BASECODE")); } break; case "MaterialTypeMinDesc": if (row.GetValue("MaterialTypeMid") == "") { MessageUtil.ShowWarning("请选择物料中类!"); return; } DataTable dtMin = ClsBaseInfo.GetComBaseInfo(row.GetValue("MaterialTypeMid"), ob); dtMin.Columns["BASENAME"].Caption = "物料小类"; BaseInfoPopup baseInfoMin = new BaseInfoPopup(dtMin, "BASENAME", "BASECODE"); foreach (var column in baseInfoMin.UltraGrid1.DisplayLayout.Bands[0].Columns) { if (column.Key != "BASENAME") { column.Hidden = true; } } if (baseInfoMin.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ultraGrid9.ActiveRow.SetValue("MaterialTypeMinDesc", baseInfoMin.ChoicedRow.GetValue("BASENAME")); ultraGrid9.ActiveRow.SetValue("MaterialTypeMin", baseInfoMin.ChoicedRow.GetValue("BASECODE")); } break; case "PropertyType1Desc": DataTable dtProperty1 = ClsBaseInfo.GetComBaseInfo("4089", ob); dtProperty1.Columns["BASENAME"].Caption = "属性分类1"; BaseInfoPopup baseInfoProperty1 = new BaseInfoPopup(dtProperty1, "BASENAME", "BASECODE"); foreach (var column in baseInfoProperty1.UltraGrid1.DisplayLayout.Bands[0].Columns) { if (column.Key != "BASENAME") { column.Hidden = true; } } if (baseInfoProperty1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ultraGrid9.ActiveRow.SetValue("PropertyType1Desc", baseInfoProperty1.ChoicedRow.GetValue("BASENAME")); ultraGrid9.ActiveRow.SetValue("PropertyType1", baseInfoProperty1.ChoicedRow.GetValue("BASECODE")); } break; case "PropertyType2Desc": DataTable dtProperty2 = ClsBaseInfo.GetComBaseInfo("4089", ob); dtProperty2.Columns["BASENAME"].Caption = "属性分类2"; BaseInfoPopup baseInfoProperty2 = new BaseInfoPopup(dtProperty2, "BASENAME", "BASECODE"); foreach (var column in baseInfoProperty2.UltraGrid1.DisplayLayout.Bands[0].Columns) { if (column.Key != "BASENAME") { column.Hidden = true; } } if (baseInfoProperty2.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ultraGrid9.ActiveRow.SetValue("PropertyType2Desc", baseInfoProperty2.ChoicedRow.GetValue("BASENAME")); ultraGrid9.ActiveRow.SetValue("PropertyType2", baseInfoProperty2.ChoicedRow.GetValue("BASECODE")); } break; } } private void ultraGrid9_CellChange(object sender, CellEventArgs e) { e.Cell.Row.Update(); SlmBaseMaterialEntity materialEntity = (SlmBaseMaterialEntity)e.Cell.Row.ListObject; _materialEntityList.Change(materialEntity); } private void ultraGrid_MouseUp(object sender, MouseEventArgs e) { UltraGrid grid = (UltraGrid)sender; foreach (UltraGridRow row in grid.Rows) { if (row.Selected) { row.Cells["CHK"].Value = true; } } grid.UpdateData(); } } }