using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Mcp.Treatment.Entity; using CoreFS.CA06; using Infragistics.Win.UltraWinEditors; using System.Data; using Core.Mes.Client.Comm.Server; using Infragistics.Win.UltraWinGrid; using System.Collections; namespace Core.StlMes.Client.Mcp.Treatment.Report { public partial class FrmJgRunTimeRptHsk : FrmBase { public FrmJgRunTimeRptHsk() { InitializeComponent(); this.IsLoadUserView = true; } private string balMonth = ""; private string[] plineCodes = null; private string ProcessCode = ""; private List CurrentlistEntity; protected override void OnLoad(EventArgs e) { base.OnLoad(e); ProcessCode = "H"; plineCodes = comm.InitDropPlinePower(ProcessCode, cboPline, this.ValidDataPurviewIds, ob); // comm.InitDroProStation(ProcessCode, new List() { uceFactory }, this.ValidDataPurviewIds, ob); if (plineCodes == null || plineCodes.Length <= 0) { MessageBox.Show("无数据权限!"); this.Close(); } EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); comm.RefreshAndAutoSizeWithHeader(ultraGrid1); dtBathYear.Value = DateTime.Now; } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": Query(); break; case "Export": Export(); break; case "insertTal": insertTal(); break; case "cancelInsertTal": cancelinsertTal(); break; case "Close": this.Close(); break; } } private void insertTal() { ArrayList parm = new ArrayList(); foreach (UltraGridRow uRow in ultraGrid1.Rows) { YdmZcInitialJgHskEntity matZcEntity = (YdmZcInitialJgHskEntity)uRow.ListObject; string matZcTity = JSONFormat.Format(matZcEntity); parm.Add(matZcTity); } if (ultraGrid1.Rows.Count == 0) { MessageBox.Show("无期末,无需结转"); return; } var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.common.FrmHttRunTimeRpt"; ccp.MethodName = "insertTalJg"; ccp.ServerParams = new object[] { dtBathYear.Value.AddMonths(1).ToString("yyyyMM"), dtBathYear.Value.AddMonths(2).ToString("yyyyMM"), parm, ucePlineCode.Checked && cboPline.CheckedItems.Count > 0 ? cboPline.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : plineCodes, this.UserInfo.GetUserName() }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("结转成功!")) { Query(); } } } private void cancelinsertTal() { ArrayList parm = new ArrayList(); foreach (UltraGridRow uRow in ultraGrid1.Rows) { YdmZcInitialJgHskEntity matZcEntity = (YdmZcInitialJgHskEntity)uRow.ListObject; string matZcTity = JSONFormat.Format(matZcEntity); parm.Add(matZcTity); } var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.common.FrmHttRunTimeRpt"; ccp.MethodName = "cancelinsertTalJg"; ccp.ServerParams = new object[] { dtBathYear.Value.AddMonths(1).ToString("yyyyMM"), dtBathYear.Value.AddMonths(2).ToString("yyyyMM"), ucePlineCode.Checked && cboPline.CheckedItems.Count > 0 ? cboPline.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : plineCodes }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("撤销成功!")) { Query(); } } } private void Export() { GridHelper.ulGridToExcel(ultraGrid1, ""); } private void Query() { balMonth = dtBathYear.Value.ToString("yyyyMM"); DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.common.FrmHttRunTimeRpt.doQueryJg", new Object[] {balMonth,ucePlineCode.Checked && cboPline.CheckedItems.Count > 0 ? cboPline.CheckedItems.Select(p => p.DataValue.ToString()).ToArray() : plineCodes, uceJudgeStove.Checked ? txtJudgeStove.Text : "" }, this.ob); GridHelper.CopyDataToDatatable(dt, this.dt1, true); GridHelper.RefreshAndAutoSize(this.ultraGrid1); foreach (UltraGridRow ugr in ultraGrid1.Rows) { //在产品 if (ugr.Cells["VALIDFLAG"].Value.ToString() == "00") { ugr.Cells["ONLINE_NUM"].Value = int.Parse(ugr.Cells["ACT_COUNT"].Value.ToString3()) + int.Parse(ugr.Cells["LOAD_PIECES"].Value.ToString3()); ugr.Cells["ONLINE_WT"].Value = double.Parse(ugr.Cells["ACT_WEIGHT"].Value.ToString3()) + double.Parse(ugr.Cells["LOAD_WEIGHT"].Value.ToString3()); } else if (ugr.Cells["VALIDFLAG"].Value.ToString() == "20") { ugr.Cells["ONLINE_NUM"].Value = 0; ugr.Cells["ONLINE_WT"].Value = 0.000; } //消耗量=期初+收料-废品-缴库-在产品 ugr.Cells["XHL"].Value = double.Parse(ugr.Cells["ACT_WEIGHT"].Value.ToString3()) + double.Parse(ugr.Cells["LOAD_WEIGHT"].Value.ToString3()) - double.Parse(ugr.Cells["REJECTED_WT"].Value.ToString3()) - double.Parse(ugr.Cells["PRO_WT"].Value.ToString3()) - double.Parse(ugr.Cells["ONLINE_WT"].Value.ToString3()); //成材率=缴库/(期初+收料+废品-在产品) ugr.Cells["RATE"].Value = double.Parse(ugr.Cells["PRO_WT"].Value.ToString3()) / (double.Parse(ugr.Cells["ACT_WEIGHT"].Value.ToString3()) + double.Parse(ugr.Cells["LOAD_WEIGHT"].Value.ToString3()) + double.Parse(ugr.Cells["REJECTED_WT"].Value.ToString3()) - double.Parse(ugr.Cells["ONLINE_WT"].Value.ToString3())); } } private void ultraGrid1_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e) { /* YdmHttInitialEntityPlus entity = e.Row.ListObject as YdmHttInitialEntityPlus; if (entity.SourceNumTotal + entity.ActCount != entity.FailNum + entity.GroupNum + entity.EndNum + entity.JudgeNum) { e.Row.Appearance.BackColor = Color.Red; }*/ } } }