using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Net; using System.Text; using System.Windows.Forms; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.LgResMgt.Mcms.entity; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.LgResMgt.Mcms { public partial class FrmBuyCheck : FrmBase { public FrmBuyCheck() { InitializeComponent(); buyGpCheckResultEntityBindingSource.DataSource = new List(){new BuyGpCheckResultEntity()}; buyGpCheckResultDEntityBindingSource.DataSource = new List() { new BuyGpCheckResultDEntity() }; EntityHelper.ShowGridCaption(planGrid.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ugResult.DisplayLayout.Bands[0]); } private List listFail = new List(); protected override void OnLoad(EventArgs e) { base.OnLoad(e); ugData.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default; ugData.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False; var dt = ServerHelper.GetData("com.steering.Mcms.BuyCheckServer.doQueryName", new object[] { }, ob); if ((dt != null) && (dt.Rows.Count > 0)) { uceUserName.DataSource = dt; uceUserName.ValueMember = "USER_NAME"; uceUserName.DisplayMember = "USER_NAME"; } } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "DoQuery": Query(); break; case "DoAdd": DoAdd(); break; case "DoDelete": DoDelete(); break; case "DoBeside": DoBeside(); break; case "CelBeside": DoCelBeside(); break; case "DoClose": Close(); break; } } private void DoDelete() { if (planGrid.ActiveRow == null) return; if (ugResult.ActiveRow == null) { MessageBox.Show("清选择需求要删除的记录"); return; } BuyGpCheckResultEntity entity = ugResult.ActiveRow.ListObject as BuyGpCheckResultEntity; var blank = planGrid.ActiveRow.ListObject as CmmBlankPredictionEntity; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Mcms.BuyCheckServer"; ccp.MethodName = "DoDelete"; ccp.ServerParams = new object[] { JSONFormat.Format(entity), }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Contains("成功!")) { if (!string.IsNullOrEmpty(blank.ReportPath)) { try { FileHelper.Delete(entity.ReportPath); ServerHelper.SetData("com.steering.Mcms.BlankPredictionServer.UpdatePath", new object[] { "", entity.PredictionId }, ob); } catch (Exception) { MessageUtil.ShowTips("报告删除失败!"); } } Query(); } } } private void DoCelBeside() { if (planGrid.ActiveRow == null) return; CmmBlankPredictionEntity entity = planGrid.ActiveRow.ListObject as CmmBlankPredictionEntity; var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Mcms.BuyCheckServer"; ccp.MethodName = "DoCelBeside"; ccp.ServerParams = new object[] { JSONFormat.Format(entity), }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Contains("成功!")) Query(); } } private void DoBeside() { if(planGrid.ActiveRow==null) return; CmmBlankPredictionEntity entity = planGrid.ActiveRow.ListObject as CmmBlankPredictionEntity; Upload(entity, false); var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Mcms.BuyCheckServer"; ccp.MethodName = "DoBeside"; ccp.ServerParams = new object[] { JSONFormat.Format(entity), }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Contains("成功!")) Query(); } } private void DoAdd() { if (planGrid.ActiveRow == null) return; matGrid.UpdateData(); ugData.UpdateData(); List list = buyGpCheckResultEntityBindingSource.DataSource as List; List listd = buyGpCheckResultDEntityBindingSource.DataSource as List; if(listd==null) listd = new List(); var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.Mcms.BuyCheckServer"; ccp.MethodName = "DoAdd"; ccp.ServerParams = new object[] { JSONFormat.Format(list[0]), listd.Select(JSONFormat.Format).ToList(),listFail.Select(JSONFormat.Format).ToList() }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Contains("成功")) Query(); } } private void Query() { var dic = new Dictionary(); if (chkJudgeStove.Checked) dic.Add("judgeStoveNoD", txtJudgeStove.Text); if (chkPound.Checked) dic.Add("isPound","1"); if (chkShippersName.Checked) dic.Add("shippersName", uteShippersName.Text); dic.Add("checkFlag", ultraOptionSet2.Value.ToString2()); cmmBlankPredictionEntityBindingSource.DataSource = EntityHelper.GetData( "com.steering.Mcms.BlankPredictionServer.doQuery", new object[] { dic }, ob).OrderBy(p=>p.JudgeStoveNo).ToList(); Comm.RefreshAndAutoSize(planGrid, new string[] { "ReportPath" }); } private void planGrid_AfterRowActivate(object sender, EventArgs e) { buyGpCheckResultDEntityBindingSource.Clear(); CmmBlankPredictionEntity row = planGrid.ActiveRow.ListObject as CmmBlankPredictionEntity; if(row==null) return; var proList = QueryResult(row.PredictionId); decimal total = row.PlanNum ?? 0; decimal addNum = proList != null && proList.Any() ? proList.Where(p => p.ProNum != null).Select(p => (decimal) p.ProNum).Sum() : 0; decimal proNum = total - addNum; if (proNum <= 0) proNum = 0; decimal check = 0; if (proNum > 0) { check = decimal.Parse(Math.Ceiling(proNum / 5).ToString3()); } buyGpCheckResultEntityBindingSource.DataSource = new List() { new BuyGpCheckResultEntity() { ActDimater = "Φ" + row.ActDimater + "*" + row.ActLen + "mm", JudgeStoveNo = row.JudgeStoveNo, ProNum =proNum, CheckNum = check, PassNum = proNum, UnpassNum = 0, Steelcode = row.Gradecode, Steelname = row.Gradename, ProShift = this.UserInfo.GetUserOrder(), ProGroup = this.UserInfo.GetUserGroup(), ProUser = ugData.Rows[0].Cells["ProUser"].Value.ToString2(), ProTime = DateTime.Now.ToString("yyyy-MM-dd"), PredictionId = row.PredictionId, Standard = row.Standard } }; listFail = new List(); } private List QueryResult(string id) { var dic = new Dictionary(); dic.Add("predictionId", id); List proList = EntityHelper.GetData( "com.steering.Mcms.BuyCheckServer.doQuery", new object[] {dic}, ob); bindingSource1.DataSource = proList; Comm.RefreshAndAutoSize(ugResult, new string[] {"ReportPath"}); return proList; } private void matGrid_ClickCell(object sender, ClickCellEventArgs e) { if (matGrid.ActiveRow.IsAddRow) { int a = matGrid.ActiveCell.Row.Index; int b = matGrid.ActiveCell.Column.Index; matGrid.Rows.Band.AddNew(); matGrid.Rows[a].Cells[b].Activated = true; matGrid.PerformAction(UltraGridAction.EnterEditMode); matGrid.PerformAction(UltraGridAction.EnterEditMode); } } private void uteUnpass_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { using (var FrmUnpassEdit = new FrmUnpassEdit(ob, listFail)) { if (FrmUnpassEdit.ShowDialog() == DialogResult.OK) { listFail = FrmUnpassEdit.UnPassList; ugData.Rows[0].Cells["UnpassNum"].Value = listFail.Any() ?listFail.Select(p => p.FailNum).Sum():0; ugData_CellChange(null, null); } } } private void ugData_CellChange(object sender, CellEventArgs e) { decimal total = 0; decimal unPass = 0; if (decimal.TryParse(ugData.Rows[0].Cells["ProNum"].Text, out total) && decimal.TryParse(ugData.Rows[0].Cells["UnpassNum"].Text, out unPass)) { decimal pass = total - unPass; ugData.Rows[0].Cells["PassNum"].Value = pass < 0 ? 0 : pass; } } private void utUpLoad1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { } private void Upload(CmmBlankPredictionEntity entity, bool showMsg = true) { string strurl; // strurl = "http://172.16.2.145/WebReport/ReportServer?reportlet=RepGpPipeRecordTH.cpt&format=pdf&PREDICTION_ID=" + entity.PredictionId; strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepGpPipeRecordTH.cpt&format=pdf&PREDICTION_ID=" + entity.PredictionId; var webClient = new WebClient(); var listPdf = new List(); var date = DateTime.Now.ToString("yyyyMMdd"); var filePathNew = ""; //报告目录 var reportNo = ""; //报告编号 filePathNew = "BuyCheck/" + entity.JudgeStoveNo + "/"; reportNo = entity.PredictionId; var pdf = webClient.DownloadData(strurl); var fileBean = new FileBean(); fileBean.setFile(pdf); fileBean.setFileName(reportNo + ".pdf"); fileBean.setPathName(filePathNew); listPdf.Add(fileBean); webClient.Dispose(); var a = FileHelper.Upload(listPdf); if (a) { ServerHelper.SetData("com.steering.Mcms.BlankPredictionServer.UpdatePath", new object[] { filePathNew + reportNo + ".pdf", entity.PredictionId }, ob); if (showMsg) { MessageUtil.ShowTips("上传报告成功!"); Query(); } } } private void ugResult_InitializeRow(object sender, InitializeRowEventArgs e) { var BuyGpCheckResultEntity = e.Row.ListObject as BuyGpCheckResultEntity; e.Row.Cells["ReportPath"].Appearance.BackColor = string.IsNullOrEmpty(BuyGpCheckResultEntity.ReportPath) ? Color.Red : Color.LightGreen; } private void uteUpload2_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { var entity = planGrid.ActiveRow.ListObject as CmmBlankPredictionEntity; var strurl = ""; if (e.Button.Key == "VIEW") { //strurl = // "http://172.16.2.145/WebReport/ReportServer?reportlet=RepGpPipeRecordTH.cpt&op=view&PREDICTION_ID=" + // entity.PredictionId; strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepGpPipeRecordTH.cpt&op=view&PREDICTION_ID=" + entity.PredictionId; var fre = new FrmRepExcel(ob, strurl); fre.AutoSize = true; fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fre.WindowState = FormWindowState.Maximized; fre.Show(); } else if (e.Button.Key == "UPLOAD") { Upload(entity); } else { MessageUtil.ShowError("系统生成PDF失败,请稍后再试!"); } } private void matGrid_AfterRowInsert(object sender, RowEventArgs e) { e.Row.Cells["SurfaceQuality"].Value = "合格"; e.Row.Cells["Identification"].Value = "合格"; } } }