| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391 |
-
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Windows.Forms;
- using com.steering.mes.mcp.entity;
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Format;
- using Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Tool;
- using Core.StlMes.Client.Mcp.Control;
- using Core.StlMes.Client.Mcp.Control.Common;
- using Core.StlMes.Client.Mcp.Control.Entity;
- using Core.StlMes.Client.Mcp.Mch.Entity;
- using Core.StlMes.Client.Mcp.Mch.MchResult;
- using CoreFS.CA06;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinGrid;
- using ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle;
- using MchOfflineResultEntity = Core.StlMes.Client.Mcp.Control.Entity.MchOfflineResultEntity;
- using PortMchBatchSampleResultEntity = Core.StlMes.Client.Mcp.Mch.Entity.PortMchBatchSampleResultEntity;
- namespace Core.StlMes.Client.Mcp.Mch
- {
- public partial class FrmMeasureResult : FrmMchBase
- {
- public FrmMeasureResult()
- {
- InitializeComponent();
- mchControlBase1 = new MeasureControl()
- {
- Dock = DockStyle.Fill
- };
- plnEdit.Controls.Add(mchControlBase1);
- }
-
- protected override UltraGridRow ActitveResultRow { get { return CrackDetectGrid.ActiveRow; } }
- protected override object Value { get { return (mchControlBase1 as MeasureControl).Value; } }
- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- EntityHelper.ShowGridCaption<MchMeasureResultEntity>(CrackDetectGrid.DisplayLayout.Bands[0]);
- EntityHelper.ShowGridCaption<RtdMeasurePosdataEntity>(ugData.DisplayLayout.Bands[0]);
- EntityHelper.ShowGridCaption<PortMchBatchSampleResultEntity>(ultraGrid2.DisplayLayout.Bands[0]);
-
- base.ultraGrid1.DisplayLayout.Bands[0].Columns["ActCount"].Hidden = true;
- base.ultraGrid1.DisplayLayout.Bands[0].Columns["ActWeight"].Hidden = true;
- base.ultraGrid1.DisplayLayout.Bands[0].Columns["BatchGroudNo"].Hidden = true;
- CrackDetectGrid.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
- CrackDetectGrid.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default;
- ultraGrid1.DisplayLayout.Bands[0].Columns["MeasureCount"].Hidden = false;
- ultraGrid1.DisplayLayout.Bands[0].Columns["MeasureCount"].ButtonDisplayStyle = ButtonDisplayStyle.Always;
- ultraGrid1.DisplayLayout.Bands[0].Columns["MeasureCount"].EditorComponent = uteMeasureData;
- ultraOptionSet2.Visible = false;
- portMchBatchControl1.ShowSeq = true;
- egbOther.Expanded = true;
- base.ultraGrid1.DisplayLayout.Bands[0].Columns["FilePath2"].Hidden = false;
- }
- protected override void DoAdd()
- {
- if (ActiveRow != null)
- {
- int num = 0;
- int.TryParse((Value as MchMeasureResultEntity).ProNum.ToString3(), out num);
- if( num==null || num<0)
- {
- MessageBox.Show("请输入正确的作业支数");
- return;
- }
- List<MchLenWeightEntity> Detail = (mchControlBase1 as MeasureControl).MeasureData;
- if (Detail.Any())
- {
- if (Detail.Sum(p => p.ActCount) != num)
- {
- MessageBox.Show("手动维护的数据的支数和作业支数不符合");
- return;
- }
- }
- var list =
- portMchBatchControl1.Data.Where(
- p =>
- p.TrFlag != "1" &&
- !mchControlBase1.ScrappedList.Any(q => q.MatNo.Split(',').Contains(p.MatNo)) &&
- (((p.MatStatus == "00") || (p.MatStatus == "合格")) || (p.MatStatus == "剔除" &&
- mchControlBase1.CheckGx(p.OpProcessCode, Gx)) )).Take(num).ToList();
- if (list.Count != num)
- {
- List<MchOfflineResultEntity> mchOffline = EntityHelper.GetData<MchOfflineResultEntity>("com.steering.mes.mcp.common.OfflineHelper.QueryMchOffLineData", new object[] { ActiveRow.HeatPlanNo, ActiveRow.BatchNo }, ob);
- if (mchOffline.Any(p => p.ReNum == null || p.ReNum <= 0))
- {
- MessageBox.Show(
- mchOffline.Any(p => (p.ReNum == null || p.ReNum <= 0) && p.SubcontractcompleteNum > 0)
- ? "无足够的合格在线管, 存在离线委托已经完成的管未返线, 请联系出料人员对该炉批进行返线操作!"
- : "无足够的合格在线管, 存在离线数据未返线, 请联系出料人员对该炉批进行返线操作!");
- return;
- }
- }
- if(list.Any(p=>p.OutnumCut!=1))
- {
- MessageBox.Show("存在管号未分切, 请先录入分切!");
- return;
- }
-
- if (MessageUtil.ShowYesNoAndQuestion("是否增加实绩?") == DialogResult.No)
- return;
- List<string> MatNos =
- list.Select(p => p.MatNo).ToList();
- var ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMeasureResult";
- ccp.MethodName = "DoAdd";
- ccp.ServerParams = new object[]
- {
- JSONFormat.Format(Value),
- Gx,
- mchControlBase1.ScrappedList.Select(JSONFormat.Format).ToList(),
- mchControlBase1.SuspiciousList.Select(JSONFormat.Format).ToList(),
- MatNos,
- (mchControlBase1 as MeasureControl).MeasureData.Select(JSONFormat.Format).ToList()
- };
- ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode != -1)
- {
- MessageUtil.ShowTips(ccp.ReturnInfo);
- if (ccp.ReturnInfo.Equals("新增成功!"))
- {
- Query();
- }
- }
- }
- }
- protected override void DoAddNew()
- {
- if (ActiveRow != null)
- {
- int num = 0;
- int.TryParse((Value as MchMeasureResultEntity).ProNum.ToString3(), out num);
- if (num == null || num < 0)
- {
- MessageBox.Show("请输入正确的作业支数");
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否增加实绩?") == DialogResult.No)
- return;
-
- var ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMeasureResult";
- ccp.MethodName = "DoAddNew";
- ccp.ServerParams = new object[]
- {
- JSONFormat.Format(Value), Gx,
- mchControlBase1.ScrappedList.Select(JSONFormat.Format).ToList(),
- mchControlBase1.SuspiciousList.Select(JSONFormat.Format).ToList(),
- };
- ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode != -1)
- {
- MessageUtil.ShowTips(ccp.ReturnInfo);
- if (ccp.ReturnInfo.Equals("新增成功!"))
- {
- Query();
- }
- }
- }
- }
- protected override void DoDelete()
- {
- {
- if (ActiveRow != null && ActitveResultRow != null)
- {
- if (MessageUtil.ShowYesNoAndQuestion("是否删除实绩?") == DialogResult.No)
- return;
- MchMeasureResultEntity MchMeasureResultEntity =
- ActitveResultRow.ListObject as MchMeasureResultEntity;
- bool NeedMesure = portMchBatchControl1.Data.All(p => p.TrFlag != "1"); // 没接测量点数据的产线
- List<string> MatNos =
- portMchBatchControl1.Data.Where(
- p =>
- (p.InstoreFlag=="0"|| p.InstoreFlag =="未入库") &&(p.TrFlag == "1" || NeedMesure) && (((p.MatStatus == "00") || (p.MatStatus == "合格")) ||
- mchControlBase1.CheckGx(p.OpProcessCode, Gx)))
- .Reverse()
- .Take((int) MchMeasureResultEntity.ProNum)
- .Select(p => p.MatNo)
- .ToList();
- if (MchMeasureResultEntity.ProNum.ToString() != MatNos.Count.ToString())
- {
- MessageBox.Show("管号队明细状态不对,请确认");
- return;
- }
- var ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMeasureResult";
- ccp.MethodName = "DoDelete";
- ccp.ServerParams = new object[]
- {
- JSONFormat.Format(ActitveResultRow.ListObject), Gx,
- MatNos
- };
- ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode != -1)
- {
- MessageUtil.ShowTips(ccp.ReturnInfo);
- if (ccp.ReturnInfo.Equals("删除成功!"))
- Query();
- }
- }
- }
- }
- protected override void DoForceDelete()
- {
-
- if (ActiveRow != null && ActitveResultRow != null)
- {
- if (MessageUtil.ShowYesNoAndQuestion("是否强制清空数据?") == DialogResult.No)
- return;
-
- var ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMeasureResult";
- ccp.MethodName = "DoForceDelete";
- ccp.ServerParams = new object[]
- {
- ActiveRow.HeatPlanNo,ActiveRow.JudgeStoveNo, ActiveRow.BatchNo , Gx
- };
- ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode != -1)
- {
- MessageUtil.ShowTips(ccp.ReturnInfo);
- if (ccp.ReturnInfo.Equals("清空成功!"))
- Query();
- }
- }
- }
-
- protected override void GetResultData()
- {
- (mchControlBase1 as MeasureControl).ResetM(ActiveRow.MeasureCount == null || ActiveRow.MeasureCount <= 0 || ActiveRow.ProducType == "C" || ActiveRow.ProducType=="E" || ActiveRow.ProducType == "B" || ActiveRow.ProducType == "A");
- base.GetResultData();
- mchMeasureResultEntityBindingSource.DataSource = EntityHelper.GetData<MchMeasureResultEntity>(
- "com.steering.mes.mcp.Mch.FrmMeasureResult.getQueryExpandResult",
- new object[] { ActiveRow.HeatPlanNo, ActiveRow.BatchNo },
- ob);
- commHelper.RefreshAndAutoSize(CrackDetectGrid);
- rtdMeasurePosdataEntityBindingSource.DataSource = EntityHelper.GetData<RtdMeasurePosdataEntity>(
- "com.steering.mes.mcp.Mch.FrmMeasureResult.geRtdMeasurePosdata",
- new object[] { ActiveRow.JudgeStoveNo, ActiveRow.BatchNo, ActiveRow.HeatPlanNo },
- ob);
- commHelper.RefreshAndAutoSize(ugData);
- List<PortMchBatchSampleResultEntity> listSource = EntityHelper.GetData<PortMchBatchSampleResultEntity>(
- "com.steering.mes.mcp.Vrp.FrmMchInStore.doQueryVrpRack", new object[] { ActiveRow.HeatPlanNo, ActiveRow.JudgeStoveNo, ActiveRow.BatchNo,"" }, this.ob);
- PortMchBatchSampleResultEntitybindingSource.DataSource = listSource;
- commHelper.RefreshAndAutoSize(ultraGrid2);
- DataTable dt = ServerHelper.GetData("com.steering.mes.mcp.Mch.FrmMeasureResult.getQueryPhyResult", new object[] { ActiveRow.OrdLnDlyPk }, this.ob);
- GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);
- if (ActiveRow == null) return;
-
- var MeasureControl = mchControlBase1 as MeasureControl;
- if (MeasureControl == null) return;
- var result = new MchMeasureResultEntity
- {
- HeatPlanNo = ActiveRow.HeatPlanNo,
- JudgeStoveNo = ActiveRow.JudgeStoveNo,
- BatchNo = ActiveRow.BatchNo,
- PlineCode = ActiveRow.PlineCode,
- PlineName = ActiveRow.PlineName,
- ProNum = MeasureControl.OkPort2.Count(p => p.TrFlag != "1"),
- FailNum = 0,
- FailWt = 0,
- ProShift = UserInfo.GetUserOrder(),
- ProGroup = UserInfo.GetUserGroup(),
- ProUser = UserInfo.GetUserName(),
- ProTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
- ProEndTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
- };
- MeasureControl.Value = result;
- }
- private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
- {
- if (ActiveRow != null && ActitveResultRow != null)
- {
- if (MessageUtil.ShowYesNoAndQuestion("是否同步测量点二级数据?") == DialogResult.No)
- return;
- MchMeasureResultEntity MchMeasureResultEntity =
- ActitveResultRow.ListObject as MchMeasureResultEntity;
-
- List<string> MatNos =
- portMchBatchControl1.Data.Where(
- p => p.TrFlag != "0" && string.IsNullOrWhiteSpace(p.MeasuringSeq.ToString2()))
- .Take((int)MchMeasureResultEntity.ProNum)
- .Select(p => p.MatNo)
- .ToList();
- var ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.mes.mcp.Mch.FrmMeasureResult";
- ccp.MethodName = "DoSynchronous";
- ccp.ServerParams = new object[]
- {
- JSONFormat.Format(MchMeasureResultEntity),
- MatNos
- };
- ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode != -1)
- {
- MessageUtil.ShowTips(ccp.ReturnInfo);
- if (ccp.ReturnInfo.Equals("同步成功!"))
- ultraGrid1_AfterRowActivate(null,null);
- }
- }
-
- }
- private void CrackDetectGrid_InitializeRow(object sender, InitializeRowEventArgs e)
- {
- if (e.Row.Cells["Flag"].Value.ToString2() == "1")
- {
- e.Row.Cells["ResultNo"].IgnoreRowColActivation = true;
- e.Row.Cells["ResultNo"].EditorComponent = uceSys;
-
- }
- }
-
- }
-
-
-
- }
|