using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Mcp.Control.Base; 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.Mcp.Mch.MchResult { public partial class FrmMchSourcApp : FrmBase { public FrmMchSourcApp() { InitializeComponent(); } private void FrmMchSourcApp_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);//当月最后一天 this.StartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00"); this.EndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59"); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": DoQuery(); break; case "AppThrough": DoAppThrough(); break; case "AppNotThrough": DoAppNotThrough(); break; case "OutsourcReturn": DoOutsourcReturn(); break; case "Export": GridHelper.ulGridToExcel(ultraGrid1, "委外审批信息"); break; case "Close": this.Close(); break; } } /// /// 查询 /// private void DoQuery() { if (!CheckQuery()) return; string startTime = ""; string endTime = ""; string judgeNo = ""; string batchNo = ""; string strat = ""; if (chkTim.Checked) { startTime = StartTime.Value.ToString(); endTime = EndTime.Value.ToString(); } if (chkJugeHeatNo.Checked) { judgeNo = txtJugeNo.Text.ToString().Trim(); } if (chkBatch.Checked) { batchNo = txtBatch.Text.ToString().Trim(); } if (chkStrat.Checked) { strat = cmbStrat.Value.ToString(); } ArrayList list = new ArrayList(); list.Add(startTime); list.Add(endTime); list.Add(judgeNo); list.Add(batchNo); list.Add(strat); DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMchSourcApp.doQuery", new object[] { list }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true); } /// /// 审批通过 /// private void DoAppThrough() { string plineCode=""; string plineName = ""; string spNote = ""; this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要审批通过的委外信息!"); return; } FrmOutSouCon subCon = new FrmOutSouCon(this.ob); if (subCon.ShowDialog() == DialogResult.OK) { spNote=subCon.Remark;//审批说明 plineCode = subCon.PlinCode; plineName = subCon.PlineName; } else { return; } ArrayList parm2 = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { ArrayList parm = new ArrayList(); parm.Add(spNote); parm.Add(plineCode); parm.Add(plineName); parm.Add(row.Cells["SUBCONTRACT_NO"].Text.ToString()); parm.Add(row.Cells["SUBCONTRACT_NO_SEQ"].Text.ToString()); parm.Add(this.UserInfo.GetUserName()); parm.Add(this.UserInfo.GetUserGroup()); parm.Add(this.UserInfo.GetUserOrder()); parm2.Add(parm); } if (MessageUtil.ShowYesNoAndQuestion("是否确认审批通过?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchSourcApp"; ccp.MethodName = "doAppThrough"; ccp.ServerParams = new object[] { parm2 }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("审批通过成功!")) { DoQuery(); } } } /// /// 审批不通过 /// private void DoAppNotThrough() { string plineCode = ""; string plineName = ""; string spNote = ""; this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要审批不通过的委外信息!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认审批不通过?") == DialogResult.No) return; FrmOutSouCon subCon = new FrmOutSouCon(this.ob); if (subCon.ShowDialog() == DialogResult.OK) { spNote = subCon.Remark;//审批说明 plineCode = subCon.PlinCode; plineName = subCon.PlineName; } else { return; } ArrayList parm2 = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { ArrayList parm = new ArrayList(); parm.Add(spNote); parm.Add(plineCode); parm.Add(plineName); parm.Add(row.Cells["SUBCONTRACT_NO"].Text.ToString()); parm.Add(row.Cells["SUBCONTRACT_NO_SEQ"].Text.ToString()); parm.Add(this.UserInfo.GetUserName()); parm.Add(this.UserInfo.GetUserGroup()); parm.Add(this.UserInfo.GetUserOrder()); parm.Add(row.Cells["RESULT_NO"].Text.ToString()); parm2.Add(parm); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchSourcApp"; ccp.MethodName = "doAppNotThrough"; ccp.ServerParams = new object[] { parm2 }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("审批不通过成功!")) { DoQuery(); } } } /// /// 委外回报 /// private void DoOutsourcReturn() { this.ultraGrid1.UpdateData(); IQueryable checkMagRows = this.ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (checkMagRows.Count() == 0) { MessageUtil.ShowTips("请勾选需要回报的委外信息!"); return; } ArrayList parm2 = new ArrayList(); foreach (UltraGridRow row in checkMagRows) { if (row.Cells["HB_COMPLETE_NUM"].Value.ToString().Equals("0")) { MessageUtil.ShowTips("请输入委外回报支数!"); return; } if (row.Cells["HB_COMPLETE_WT"].Value.ToString().Equals("0")) { MessageUtil.ShowTips("请输入委外回报重量!"); return; } ArrayList parm = new ArrayList(); parm.Add(row.Cells["HB_COMPLETE_NUM"].Value.ToString()); parm.Add(row.Cells["HB_COMPLETE_WT"].Value.ToString()); parm.Add(row.Cells["HB_FP_NUM"].Text.ToString()); parm.Add(row.Cells["HB_FP_WT"].Text.ToString()); parm.Add(row.Cells["SUBCONTRACT_NO"].Text.ToString()); parm.Add(row.Cells["SUBCONTRACT_NO_SEQ"].Text.ToString()); parm.Add(this.UserInfo.GetUserName()); parm.Add(this.UserInfo.GetUserGroup()); parm.Add(this.UserInfo.GetUserOrder()); parm.Add(row.Cells["RESULT_NO"].Text.ToString()); parm2.Add(parm); } if (MessageUtil.ShowYesNoAndQuestion("是否确认委外回报?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMchSourcApp"; ccp.MethodName = "doOutsourcReturn"; ccp.ServerParams = new object[] { parm2 }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("委外回报成功!")) { DoQuery(); } } } /// /// 数据验证 /// /// private bool CheckQuery() { if (DataTimeUtil.JudgeTime(DateTime.Parse(StartTime.Value.ToString()), DateTime.Parse(EndTime.Value.ToString())) == 0) { MessageUtil.ShowTips("您所选择的日期区域不对,请重新选择!"); return false; } if (this.chkJugeHeatNo.Checked && string.IsNullOrEmpty(this.txtJugeNo.Text.Trim())) { MessageUtil.ShowWarning("请输入炉号!"); return false; } if (this.chkBatch.Checked && string.IsNullOrEmpty(this.txtBatch.Text.Trim())) { MessageUtil.ShowWarning("请输入生产批号!"); return false; } if (this.chkStrat.Checked && string.IsNullOrEmpty(this.cmbStrat.Text.Trim())) { MessageUtil.ShowWarning("请选择委外状态!"); return false; } return true; } private void chkTim_CheckedChanged(object sender, EventArgs e) { if (chkTim.Checked) { StartTime.Enabled = true; EndTime.Enabled = true; } else { StartTime.Enabled = false; EndTime.Enabled = false; } if (chkJugeHeatNo.Checked) { txtJugeNo.Enabled = true; } else { txtJugeNo.Enabled = false; } if (chkBatch.Checked) { txtBatch.Enabled = true; } else { txtBatch.Enabled = false; } if (chkStrat.Checked) { cmbStrat.Enabled = true; } else { cmbStrat.Enabled = false; } } /// /// ultraGrid1改变事件 /// /// /// private void ultraGrid1_CellChange(object sender, CellEventArgs e) { //委外回报合格支 if (e.Cell.Column.Key.Equals("HB_COMPLETE_NUM")) { if (e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value == null) { e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value = "0"; } else { ultraGrid1.UpdateData(); string hbConNum = e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value.ToString(); if (!StringUtil.IsInt(hbConNum) || hbConNum == "0") { e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value = "0"; } if (int.Parse(e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value.ToString()) > int.Parse(e.Cell.Row.Cells["SUBCONTRACT_NUM"].Value.ToString())) { e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value = "0"; } e.Cell.Row.Cells["HB_COMPLETE_WT"].Value = ((double.Parse(e.Cell.Row.Cells["SUBCONTRACT_WT"].Value.ToString()) / int.Parse(e.Cell.Row.Cells["SUBCONTRACT_NUM"].Value.ToString())) * int.Parse(e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value.ToString())).ToString("f3"); e.Cell.Row.Cells["HB_FP_NUM"].Value = int.Parse(e.Cell.Row.Cells["SUBCONTRACT_NUM"].Value.ToString()) - int.Parse(e.Cell.Row.Cells["HB_COMPLETE_NUM"].Value.ToString()); e.Cell.Row.Cells["HB_FP_WT"].Value = (double.Parse(e.Cell.Row.Cells["SUBCONTRACT_WT"].Value.ToString()) - double.Parse(e.Cell.Row.Cells["HB_COMPLETE_WT"].Value.ToString())).ToString("f3"); } } //委外回报合格吨 if (e.Cell.Column.Key.Equals("HB_COMPLETE_WT")) { if (e.Cell.Row.Cells["HB_COMPLETE_WT"].Value == null) { e.Cell.Row.Cells["HB_COMPLETE_WT"].Value = "0"; } else { ultraGrid1.UpdateData(); string hbConWt = e.Cell.Row.Cells["HB_COMPLETE_WT"].Value.ToString(); if (!StringUtil.IsFloat(hbConWt) || hbConWt == "0") { e.Cell.Row.Cells["HB_COMPLETE_WT"].Value = "0"; } if (double.Parse(e.Cell.Row.Cells["HB_COMPLETE_WT"].Value.ToString()) > double.Parse(e.Cell.Row.Cells["SUBCONTRACT_WT"].Text.ToString())) { e.Cell.Row.Cells["HB_COMPLETE_WT"].Value = "0"; } e.Cell.Row.Cells["HB_FP_WT"].Value = (double.Parse(e.Cell.Row.Cells["SUBCONTRACT_WT"].Text.ToString()) - double.Parse(e.Cell.Row.Cells["HB_COMPLETE_WT"].Value.ToString())).ToString("f3"); } } } } }