北科工研-孙浩 1 day ago
parent f668757722
commit 800fbfaf1c

@ -193,7 +193,7 @@ namespace ibk.IPD.Controller.IPD_PS
//手动匹配钢板 //手动匹配钢板
private static IList<TB_PLATE_MANUAL> gTB_PLATE_MANUAL = new List<TB_PLATE_MANUAL>(); private static IList<TB_PLATE_MANUAL> gTB_PLATE_MANUAL = new List<TB_PLATE_MANUAL>();
//取样判断信息记录 物理性能 取样 ////取样判断信息记录 物理性能 取样
private static ConcurrentBag<TB_PLATE_MANUAL> gTPM = new ConcurrentBag<TB_PLATE_MANUAL>(); private static ConcurrentBag<TB_PLATE_MANUAL> gTPM = new ConcurrentBag<TB_PLATE_MANUAL>();
//手动匹配钢板 //手动匹配钢板
@ -1525,20 +1525,30 @@ namespace ibk.IPD.Controller.IPD_PS
DateTime DATE_2 = DateTime.Now; DateTime DATE_2 = DateTime.Now;
TimeSpan timeDifference_1 = DATE_2 - DATE_1; TimeSpan timeDifference_1 = DATE_2 - DATE_1;
logger.InfoFormat("多线程获取数据用时:{0}", timeDifference_1); logger.InfoFormat("多线程获取数据用时:{0}", timeDifference_1);
//gTPM = new ConcurrentBag<TB_PLATE_MANUAL>();//初始化匹配过程信息 物理,化学,取样,标准
logger.InfoFormat("******* 开始统计匹配数据 *******"); logger.InfoFormat("******* 开始统计匹配数据 *******");
DateTime DATE_3 = DateTime.Now; DateTime DATE_3 = DateTime.Now;
gTPM = new ConcurrentBag<TB_PLATE_MANUAL>();//初始化匹配过程信息 物理,化学,取样,标准
foreach (BP_ORDER_ITEM order in orderEntities) foreach (BP_ORDER_ITEM order in orderEntities)
{ {
//测试 //测试
//logger.InfoFormat("订单:{0}-{1}", order.ORD_NO, order.ORD_ITEM); //logger.InfoFormat("订单:{0}-{1}", order.ORD_NO, order.ORD_ITEM);
#region 线程 #region 线程
tasks[intTask] = Task.Factory.StartNew(() => tasks[intTask] = Task.Factory.StartNew(() =>
{ {
//gTPM = new ConcurrentBag<TB_PLATE_MANUAL>();//初始化匹配过程信息 物理,化学,取样,标准
// 方法1TryTake 清空(推荐)
//while (gTPM.TryTake(out _)) { }
//Console.WriteLine($"{order.ORD_NO}-{order.ORD_ITEM} 清空后: {gTPM.Count}"); // 0
// 方法2Interlocked.Exchange 替换
var newBag = new ConcurrentBag<TB_PLATE_MANUAL>();
var oldBag = Interlocked.Exchange(ref gTPM, newBag);
//logger.Info($"{order.ORD_NO}-{order.ORD_ITEM} 替换后: {gTPM.Count}"); // 0
decimal decLen = ConverDataToDecimal(order.ORD_LEN); decimal decLen = ConverDataToDecimal(order.ORD_LEN);
if (order.SIZE_KND == "02" && ConverDataToDecimal(order.ORD_LEN_MIN) != 0) if (order.SIZE_KND == "02" && ConverDataToDecimal(order.ORD_LEN_MIN) != 0)
{ {
@ -2508,7 +2518,7 @@ namespace ibk.IPD.Controller.IPD_PS
else else
{ {
IsWG = true; IsWG = true;
logger.InfoFormat("钢板:{0},订单号:{1}-{2},仓库:{3},货位:{4},替代方式:{5}", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM, itemGP_PLATE.CUR_INV, itemGP_PLATE.LOC, itemGP_PLATE.SUB_FULL); //logger.InfoFormat("钢板:{0},订单号:{1}-{2},仓库:{3},货位:{4},替代方式:{5}", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM, itemGP_PLATE.CUR_INV, itemGP_PLATE.LOC, itemGP_PLATE.SUB_FULL);
} }
} }
else else
@ -4027,7 +4037,7 @@ namespace ibk.IPD.Controller.IPD_PS
else else
{ {
IsWG = true; IsWG = true;
logger.InfoFormat("钢板:{0},订单号:{1}-{2},仓库:{3},货位:{4},替代方式:{5}", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM, itemGP_PLATE.CUR_INV, itemGP_PLATE.LOC, itemGP_PLATE.SUB_FULL); //logger.InfoFormat("钢板:{0},订单号:{1}-{2},仓库:{3},货位:{4},替代方式:{5}", itemGP_PLATE.PLATE_NO, order.ORD_NO, order.ORD_ITEM, itemGP_PLATE.CUR_INV, itemGP_PLATE.LOC, itemGP_PLATE.SUB_FULL);
} }
} }
else else
@ -15780,6 +15790,17 @@ namespace ibk.IPD.Controller.IPD_PS
{ {
#region 记录临时数据 #region 记录临时数据
string strinfo = "匹配数据成功-->钢板号:"
+ prP_PLATE.PLATE_NO + ";订单号:"
+ prorder.ORD_NO + "-" + prorder.ORD_ITEM
+ ";过程数据:" + gTPM.Count() + ";判断数据:"
+ gTPM.Where(p =>
p.PLATE_NO == prP_PLATE.PLATE_NO
&& p.ORD_NO==prorder.ORD_NO
&& p.ORD_ITEM == prorder.ORD_ITEM).Count();
//logger.Info("匹配数据成功-->钢板号:"+ prP_PLATE.PLATE_NO + ";订单号:" + prorder.ORD_NO + "-" + prorder.ORD_ITEM);
logger.Info(strinfo);
TEMP_DATA td = new TEMP_DATA(); TEMP_DATA td = new TEMP_DATA();
//标记是否切割替代 true标记 //标记是否切割替代 true标记
@ -17032,7 +17053,7 @@ namespace ibk.IPD.Controller.IPD_PS
} }
catch (Exception ex) catch (Exception ex)
{ {
throw; logger.Info("添加数据报错:" + ex.ToString());
} }

Loading…
Cancel
Save