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.StlMes.Client.ZGMil.Entity; using Core.Mes.Client.Comm.Server; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using System.Collections; using Core.Mes.Client.Comm.Format; using Infragistics.Win; using System.Text.RegularExpressions; namespace Core.StlMes.Client.ZGMil.Result { public partial class FrmQueryScrapBack :FrmBase { private string Departm = "";//部门 private string PlineCode = "";//产线 public FrmQueryScrapBack() { InitializeComponent(); } private void FrmQueryScrapBack_Load(object sender, EventArgs e) { DateTime now = DateTime.Now; DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天 DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天 NativeMethodNew na = new NativeMethodNew(this.ob); Departm = UserInfo.GetDepartment(); PlineCode = na.GetPCode(Departm);//获取 用户 对应的产线 RegStartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00"); RegEndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59"); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); InitBaseResult(); } /// /// 将下拉框绑定到GRID列 /// /// 下拉框(已经初始化完成) /// 列名 /// 空间集合(每次只需填入this.Controls) /// GRID /// GRID的第几层结构 static void BindColumn(UltraComboEditor uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGrid ug, int i) { con.Add(uce); uce.Visible = false; ug.DisplayLayout.Bands[i].Columns[ColumnName].EditorComponent = uce; ug.DisplayLayout.Bands[i].Columns[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; SetComboItemHeight(uce); } /// /// 设置UltraComboEditor中的中文和非中文统一高度。 /// /// public static void SetComboItemHeight(UltraComboEditor cmb) { foreach (ValueListItem item in cmb.Items) { if (Regex.IsMatch(item.DisplayText, @"[\u4e00-\u9fa5]+")) { item.Appearance.FontData.SizeInPoints = 9.0F; } else { item.Appearance.FontData.SizeInPoints = 10.5F; } } } UltraComboEditor ridResult = new UltraComboEditor(); /// /// 加载处理结果 /// private void InitBaseResult() { ClsBaseInfo.FillComBaseInfo(ridResult, "5002", ob, true); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": doQueryData(); break; case "DoDistribution": doDistribution(); break; case "DoScrap": doScrap(); break; case "DoScrapBack": doScrapBack(); break; case "RetrunWarehouse": retrunWarehouse(); break; case "RetrunWarehouseBack": retrunWarehouseBack(); break; case "Close": this.Close(); break; } } /// /// 分配重量 /// private void doDistribution() { this.ultraGrid1.UpdateData(); this.ultraGrid2.UpdateData(); double dbz = Double.Parse(this.ultraGrid1.ActiveRow.Cells["Dbz"].ToString3()); double inputWeight = 0.0; double inputWeightTep = 0.0; IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要返库的信息!"); return; } ArrayList parm = new ArrayList(); foreach (UltraGridRow uRow in checkMagRows) { inputWeight += Double.Parse(uRow.Cells["InputWeight"].Text.ToString3()); } for (int i = 0; i < this.ultraGrid2.Rows.Count; i++) { if(i+1 /// 查询 /// private void doQueryData() { string regStartTim = ""; string regEndTim = ""; string heatNo = ""; NativeMethodNew na = new NativeMethodNew(this.ob); string plinCode = na.GetPCode(this.UserInfo.GetDepartment()); if (this.chkRegTime.Checked) { regStartTim = RegStartTime.Value.ToString(); regEndTim = RegEndTime.Value.ToString(); } if (this.chkFurnace.Checked) { heatNo = this.txtFurnace.Text.Trim(); } ArrayList parm = new ArrayList(); parm.Add(heatNo); parm.Add(plinCode); List listSource = EntityHelper.GetData( "com.steering.mes.zgmil.coup.FrmQueryScrapBack.doQueryData", new object[] { parm, regStartTim, regEndTim, this.ultraOptionSet2.CheckedItem.DataValue.ToString() }, this.ob); MilSlabScrapEntitybindingSource.DataSource = listSource; } /// /// 撤销返库 /// private void retrunWarehouseBack() { this.ultraGrid1.UpdateData(); int m = 0; IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要撤销返库的信息!"); return; } ArrayList parm = new ArrayList(); foreach (UltraGridRow uRow in checkMagRows) { if (uRow.Cells["HandleResult"].Text.Trim().Equals("返库") && uRow.Cells["Flag"].Text.Trim().Equals("已处理")) { m = m + 1; } MilSlabScrapEntity milSlabEntity = (MilSlabScrapEntity)uRow.ListObject; string milSlabTity = JSONFormat.Format(milSlabEntity); parm.Add(milSlabTity); } if (m == 0) { MessageUtil.ShowTips("请选择需要撤销返库的信息!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认撤销返库?") == DialogResult.No) { return; } ArrayList parm2 = new ArrayList(); parm2.Add(this.UserInfo.GetUserName()); parm2.Add(this.UserInfo.GetUserGroup()); parm2.Add(this.UserInfo.GetUserOrder()); parm2.Add(PlineCode); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.zgmil.coup.FrmQueryScrapBack"; ccp.MethodName = "retrunWarehouseBack"; ccp.ServerParams = new object[] { parm, parm2 }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("撤销返库成功!")) { doQueryData(); } MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } /// /// 返库 /// private void retrunWarehouse() { this.ultraGrid1.UpdateData(); this.ultraGrid2.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要修改的信息!"); return; } ArrayList parm = new ArrayList(); foreach(UltraGridRow uRow in checkMagRows) { if (uRow.Cells["Flag"].Text.Trim().Equals("已处理")) { MessageUtil.ShowTips("已处理的数据不能修改!"); return; } MilSlabScrapEntity milSlabEntity = (MilSlabScrapEntity)uRow.ListObject; string milSlabTity = JSONFormat.Format(milSlabEntity); parm.Add(milSlabTity); } ArrayList parmBack = new ArrayList(); foreach (UltraGridRow uRow in ultraGrid2.Rows) { ArrayList parmBack1 = new ArrayList(); parmBack1.Add(uRow.Cells["FIX_NUM"].ToString()); parmBack1.Add(uRow.Cells["FIX_LEN"].ToString()); parmBack1.Add(uRow.Cells["ACT_LEN"].ToString()); parmBack1.Add(uRow.Cells["ACT_COUNT"].ToString()); parmBack1.Add(uRow.Cells["ACT_WEIGHT"].ToString()); parmBack.Add(parmBack1); } if (MessageUtil.ShowYesNoAndQuestion("是否确认返库?") == DialogResult.No) { return; } ArrayList parm2 = new ArrayList(); parm2.Add(this.UserInfo.GetUserName()); parm2.Add(this.UserInfo.GetUserGroup()); parm2.Add(this.UserInfo.GetUserOrder()); parm2.Add(PlineCode); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.zgmil.coup.FrmQueryScrapBack"; ccp.MethodName = "retrunWarehouse"; ccp.ServerParams = new object[] { parm, parm2, parmBack }; ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("返库成功!")) { MessageUtil.ShowTips(ccp.ReturnInfo); doQueryData(); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } /// /// 确认废品 /// private void doScrap() { this.ultraGrid1.UpdateData(); int m = 0; IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要修改的信息!"); return; } ArrayList parm = new ArrayList(); foreach (UltraGridRow uRow in checkMagRows) { if (uRow.Cells["Flag"].Text.Trim().Equals("已处理")) { MessageUtil.ShowTips("已处理的数据不能修改!"); return; } MilSlabScrapEntity milSlabEntity = (MilSlabScrapEntity)uRow.ListObject; string milSlabTity = JSONFormat.Format(milSlabEntity); parm.Add(milSlabTity); } if (MessageUtil.ShowYesNoAndQuestion("是否确认废?") == DialogResult.No) { return; } ArrayList parm2 = new ArrayList(); parm2.Add(this.UserInfo.GetUserName()); parm2.Add(this.UserInfo.GetUserGroup()); parm2.Add(this.UserInfo.GetUserOrder()); parm2.Add(PlineCode); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.zgmil.coup.FrmQueryScrapBack"; ccp.MethodName = "doScrap"; ccp.ServerParams = new object[] { parm, parm2 }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("确认成功!")) { MessageUtil.ShowTips(ccp.ReturnInfo); doQueryData(); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } /// /// 撤销确认废品 /// private void doScrapBack() { this.ultraGrid1.UpdateData(); int m = 0; IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请选择需要修改的信息!"); return; } ArrayList parm = new ArrayList(); foreach (UltraGridRow uRow in checkMagRows) { if (uRow.Cells["HandleResult"].Text.Trim().Equals("")) { m = m + 1; } if (uRow.Cells["Flag"].Text.Trim().Equals("已处理")) { MessageUtil.ShowTips("已处理的数据不能修改!"); return; } MilSlabScrapEntity milSlabEntity = (MilSlabScrapEntity)uRow.ListObject; string milSlabTity = JSONFormat.Format(milSlabEntity); parm.Add(milSlabTity); } if (m > 0) { MessageUtil.ShowTips("请选择处理结果!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.No) { return; } ArrayList parm2 = new ArrayList(); parm2.Add(this.UserInfo.GetUserName()); parm2.Add(this.UserInfo.GetUserGroup()); parm2.Add(this.UserInfo.GetUserOrder()); parm2.Add(PlineCode); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.zgmil.coup.FrmQueryScrapBack"; ccp.MethodName = "doScrapBack"; ccp.ServerParams = new object[] { parm, parm2 }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("撤销成功!")) { MessageUtil.ShowTips(ccp.ReturnInfo); doQueryData(); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } private void chkFurnace_CheckedChanged(object sender, EventArgs e) { this.txtFurnace.Enabled = this.chkFurnace.Checked; } private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHK"].Value = true; } } } private void chkRegTime_CheckedChanged(object sender, EventArgs e) { this.RegStartTime.Enabled = this.chkRegTime.Checked; this.RegEndTime.Enabled = this.chkRegTime.Checked; } private void ultraGrid2_AfterRowInsert(object sender, RowEventArgs e) { } } }