|
|
|
@ -348,76 +348,88 @@ namespace Aucma.Core.ProductOffLine.Business
|
|
|
|
|
OffLineInfo offLineInfo = _offLineInfoServices.FirstAsync(x => x.ProductSNCode == TempOffLineInfo.ProductSNCode).Result;
|
|
|
|
|
if (offLineInfo == null)
|
|
|
|
|
{
|
|
|
|
|
info11.ProductOrderNo = "0000" + info11.ProductOrderNo;
|
|
|
|
|
int flag = _offLineInfoServices.AddAsync(info11).Result;
|
|
|
|
|
if (flag < 0)
|
|
|
|
|
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
log.Info(TempOffLineInfo.ProductSNCode + "插入下线记录失败");
|
|
|
|
|
TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + "插入下线记录失败";
|
|
|
|
|
TempOffLineInfo.MsgAlarmFlag = true;
|
|
|
|
|
//界面刷新
|
|
|
|
|
RefreshScanMateriaCodeEvent(TempOffLineInfo);
|
|
|
|
|
AddExceptionRecord(TempOffLineInfo.ProductSNCode, TempOffLineInfo.MsgInfo,0);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (bindingRecord1 != null && bindingRecord1.BoxCode != "")
|
|
|
|
|
{
|
|
|
|
|
PrintBarCode print = _printBarCodeServices.FirstAsync(x => x.MaterialBarcode == bindingRecord1.BoxCode).Result;
|
|
|
|
|
if (print != null)
|
|
|
|
|
{
|
|
|
|
|
#region 更新过点数据
|
|
|
|
|
MaterialCompletion completion = new MaterialCompletion();
|
|
|
|
|
completion.OrderCode = print.OrderCode;
|
|
|
|
|
completion.MaterialBarcode = bindingRecord1.BoxCode;
|
|
|
|
|
completion.MaterialCode = print.MaterialCode;
|
|
|
|
|
completion.MaterialName = print.MaterialName;
|
|
|
|
|
completion.StationName = "1009";
|
|
|
|
|
completion.CompleteDate = DateTime.Now;
|
|
|
|
|
completion.ProductLineCode = appConfig.ProductlineCode;
|
|
|
|
|
completion.isDownLine = 1;
|
|
|
|
|
completion.ProductionCode = TempOffLineInfo.ProductSNCode;
|
|
|
|
|
_ = _iMaterialCompletionServices.AddAsync(completion).Result;
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
////采用箱体码的订单号更新订单
|
|
|
|
|
BaseOrderInfo order = _baseOrderInfoServices.FirstAsync(x => x.OrderCode == print.OrderCode).Result;
|
|
|
|
|
if (order == null)
|
|
|
|
|
{
|
|
|
|
|
log.Info("条码:" + TempOffLineInfo.ProductBarNo + " 订单号:" + TempOffLineInfo.ProductOrderNo + " 查询mes订单失败");
|
|
|
|
|
TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + "查询mes订单失败";
|
|
|
|
|
TempOffLineInfo.MsgAlarmFlag = true;
|
|
|
|
|
AddExceptionRecord(TempOffLineInfo.ProductSNCode, TempOffLineInfo.ProductSNCode + TempOffLineInfo.MsgInfo, 0);
|
|
|
|
|
//界面刷新
|
|
|
|
|
RefreshScanMateriaCodeEvent(TempOffLineInfo);
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
// 不重复上传的条码才更新mes订单完成数
|
|
|
|
|
// 修改订单表
|
|
|
|
|
////6.更新mes 数据库完成数量和时间(BASE_ORDERINFO) 注意:查询的字段可能需要修改,确保数据一致
|
|
|
|
|
}
|
|
|
|
|
order.CompleteAmount++;
|
|
|
|
|
if (order.CompleteAmount == order.OrderAmount)
|
|
|
|
|
{
|
|
|
|
|
order.CompleteDate = DateTime.Now;
|
|
|
|
|
}
|
|
|
|
|
order.UpdatedTime = DateTime.Now;
|
|
|
|
|
bool uploadOrder = _baseOrderInfoServices.UpdateAsync(order).Result;
|
|
|
|
|
if (!uploadOrder)
|
|
|
|
|
{
|
|
|
|
|
log.Info("条码:" + TempOffLineInfo.ProductBarNo + " 订单号:" + TempOffLineInfo.ProductOrderNo + " 更新mes订单完成数失败");
|
|
|
|
|
TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + "更新mes订单完成数失败";
|
|
|
|
|
TempOffLineInfo.MsgAlarmFlag = true;
|
|
|
|
|
AddExceptionRecord(TempOffLineInfo.ProductSNCode, TempOffLineInfo.ProductSNCode + "更新mes订单完成数失败", 0);
|
|
|
|
|
//界面刷新
|
|
|
|
|
RefreshScanMateriaCodeEvent(TempOffLineInfo);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
////6.1截取订单号去查询更新BASE_ORDERINFO,全放到service处理
|
|
|
|
|
BaseOrderInfo order = _baseOrderInfoServices.FirstAsync(x => x.OrderCode == TempOffLineInfo.ProductOrderNo).Result;
|
|
|
|
|
if (order == null)
|
|
|
|
|
{
|
|
|
|
|
log.Info("条码:" + TempOffLineInfo.ProductBarNo + " 订单号:" + TempOffLineInfo.ProductOrderNo + " 查询mes订单失败");
|
|
|
|
|
TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + "查询mes订单失败";
|
|
|
|
|
TempOffLineInfo.MsgAlarmFlag = true;
|
|
|
|
|
AddExceptionRecord(TempOffLineInfo.ProductSNCode, TempOffLineInfo.ProductSNCode+TempOffLineInfo.MsgInfo,0);
|
|
|
|
|
//界面刷新
|
|
|
|
|
RefreshScanMateriaCodeEvent(TempOffLineInfo);
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
order.CompleteAmount++;
|
|
|
|
|
if (order.CompleteAmount == order.OrderAmount)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
order.CompleteDate = DateTime.Now;
|
|
|
|
|
log.Info("添加过点数据异常:"+ex.Message.ToString());
|
|
|
|
|
}
|
|
|
|
|
order.UpdatedTime = DateTime.Now;
|
|
|
|
|
bool uploadOrder = _baseOrderInfoServices.UpdateAsync(order).Result;
|
|
|
|
|
if (!uploadOrder)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
info11.ProductOrderNo = "0000" + info11.ProductOrderNo;
|
|
|
|
|
int flag = _offLineInfoServices.AddAsync(info11).Result;
|
|
|
|
|
if (flag < 0)
|
|
|
|
|
{
|
|
|
|
|
log.Info("条码:" + TempOffLineInfo.ProductBarNo + " 订单号:" + TempOffLineInfo.ProductOrderNo + " 更新mes订单完成数失败");
|
|
|
|
|
TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + "更新mes订单完成数失败";
|
|
|
|
|
log.Info(TempOffLineInfo.ProductSNCode + "插入下线记录失败");
|
|
|
|
|
TempOffLineInfo.MsgInfo = TempOffLineInfo.MsgInfo + "插入下线记录失败";
|
|
|
|
|
TempOffLineInfo.MsgAlarmFlag = true;
|
|
|
|
|
AddExceptionRecord(TempOffLineInfo.ProductSNCode, TempOffLineInfo.ProductSNCode+ "更新mes订单完成数失败", 0);
|
|
|
|
|
//界面刷新
|
|
|
|
|
RefreshScanMateriaCodeEvent(TempOffLineInfo);
|
|
|
|
|
AddExceptionRecord(TempOffLineInfo.ProductSNCode, TempOffLineInfo.MsgInfo,0);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region 更新过点数据
|
|
|
|
|
if (bindingRecord1 != null && bindingRecord1.BoxCode != "")
|
|
|
|
|
{
|
|
|
|
|
PrintBarCode print = _printBarCodeServices.FirstAsync(x => x.MaterialBarcode == bindingRecord1.BoxCode).Result;
|
|
|
|
|
if (print != null)
|
|
|
|
|
{
|
|
|
|
|
MaterialCompletion completion = new MaterialCompletion();
|
|
|
|
|
completion.OrderCode = print.OrderCode;
|
|
|
|
|
completion.MaterialBarcode = bindingRecord1.BoxCode;
|
|
|
|
|
completion.MaterialCode = print.MaterialCode;
|
|
|
|
|
completion.MaterialName = print.MaterialName;
|
|
|
|
|
completion.StationName = "1009";
|
|
|
|
|
completion.CompleteDate = DateTime.Now;
|
|
|
|
|
completion.ProductLineCode = appConfig.ProductlineCode;
|
|
|
|
|
completion.isDownLine = 1;
|
|
|
|
|
completion.ProductionCode = TempOffLineInfo.ProductSNCode;
|
|
|
|
|
_ = _iMaterialCompletionServices.AddAsync(completion).Result;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|