diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/SurMatSubController.cs b/余材替代程序/SinglePlateHandle/SinglePlateHandle/SurMatSubController.cs index 9cd314f..9b3de60 100644 --- a/余材替代程序/SinglePlateHandle/SinglePlateHandle/SurMatSubController.cs +++ b/余材替代程序/SinglePlateHandle/SinglePlateHandle/SurMatSubController.cs @@ -14,6 +14,7 @@ using SinglePlateHandle.Enity; using SOA.Objects; using SOA.Persistent; using System; +using System.CodeDom; using System.Collections.Concurrent; using System.Collections.Generic; using System.ComponentModel; @@ -1531,7 +1532,13 @@ namespace ibk.IPD.Controller.IPD_PS foreach (BP_ORDER_ITEM order in orderEntities) { - + //验证订单状态 + if (order.REC_STS != "2") + { + logger.InfoFormat("订单状态:{0}-{1}-{2}", order.ORD_NO, order.ORD_ITEM, order.REC_STS); + continue; + } + //测试 //logger.InfoFormat("订单:{0}-{1}", order.ORD_NO, order.ORD_ITEM); #region 线程 @@ -5069,6 +5076,47 @@ namespace ibk.IPD.Controller.IPD_PS logger.InfoFormat("二次优化前,钢板号:{0},订单号:{1}-{2} 成材率:{3}", TD.PLATE_NO, TD.ORD_NO, TD.ORD_ITEM,TD.EFF_RATE); + #region 二次验证取样长度 + try + { + //gP_PLATEs + // orderEntities + GP_PLATE prP_PLATE = gP_PLATEs.Where(p => p.PLATE_NO == TD.PLATE_NO).FirstOrDefault(); + BP_ORDER_ITEM prorde = orderEntities.Where(p => p.ORD_NO == TD.ORD_NO && p.ORD_ITEM == TD.ORD_ITEM).FirstOrDefault(); + + //标准 + ChkStandGroup(prP_PLATE, prorde); + + //物理属性 + ChkPhyCom(prP_PLATE, prorde); + + //取样后长度判断 + if (!ChkSMPLen(prP_PLATE, prorde, false)) + { + + List ltMain = gQP_QLTY_MATR_MAIN.Where(p => p.ORD_NO == prorde.ORD_NO && p.ORD_ITEM == prorde.ORD_ITEM).ToList(); + + decimal lenSMP = 101; + + if (ltMain.Count() > 0) + { + lenSMP = ConverDataToDecimal(ltMain[0].SMP_LEN); + } + + logger.InfoFormat("取样长度二次验证,钢板号:{0},订单号:{1}-{2} 取样长度不足:{3}", TD.PLATE_NO, TD.ORD_NO, TD.ORD_ITEM, lenSMP); + + continue; + } + + } + catch (Exception ex) + { + logger.Info("******取样二次验证报错:" + ex.ToString()); + } + + #endregion + + //分板数据,长度小于最小值,不替换 //TEMP_DATA Fir_TA = gTEMP_DATA.Where(p => p.PLATE_NO == TD.PLATE_NO && p.ORD_NO == TD.ORD_NO && p.ORD_ITEM == TD.ORD_ITEM && p.SPLITTING != null).FirstOrDefault(); //if (Fir_TA != null) @@ -10802,7 +10850,7 @@ namespace ibk.IPD.Controller.IPD_PS if (gTPM.Where(TPM => TPM.PLATE_NO == prP_PLATE.PLATE_NO && TPM.ORD_NO == prorder.ORD_NO - && TPM.ORD_ITEM == prorder.ORD_ITEM).Count() > 0) + && TPM.ORD_ITEM == prorder.ORD_ITEM).Count() == 0) { return true; } @@ -10811,7 +10859,8 @@ namespace ibk.IPD.Controller.IPD_PS && TPM.ORD_NO == prorder.ORD_NO && TPM.ORD_ITEM == prorder.ORD_ITEM && (TPM.RETURN_RESULTS.Contains("取样") - || TPM.RETURN_RESULTS.Contains("物理"))).Count() == 0) + || TPM.RETURN_RESULTS.Contains("物理") + || TPM.RETURN_RESULTS.Contains("标准"))).Count() == 0) { return true; } diff --git a/余材替代程序/SinglePlateHandle/SinglePlateHandle/SurMatSubServiceTest.cs b/余材替代程序/SinglePlateHandle/SinglePlateHandle/SurMatSubServiceTest.cs index 8e6af5d..36d81e5 100644 --- a/余材替代程序/SinglePlateHandle/SinglePlateHandle/SurMatSubServiceTest.cs +++ b/余材替代程序/SinglePlateHandle/SinglePlateHandle/SurMatSubServiceTest.cs @@ -20,11 +20,11 @@ namespace ibk.IPD.Service.IPD_PS { private static readonly ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private static string glstrPlateNo = "24134075050406";//24101846070122 + private static string glstrPlateNo = "25204215070101";//24101846070122 - private static string glstrOrdNo = "OM725020125"; + private static string glstrOrdNo = "OMB22110001"; - private static string glstrOrdItem = "003"; + private static string glstrOrdItem = "038"; #region 获取存储数据