|
|
@ -7,6 +7,7 @@ using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Text;
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
using System.Threading;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using System.Timers;
|
|
|
|
using System.Timers;
|
|
|
|
|
|
|
|
|
|
|
@ -148,43 +149,10 @@ namespace Aucma.Core.OldBoxFoam.Business
|
|
|
|
try
|
|
|
|
try
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//下发PLC清空产量信号
|
|
|
|
//下发PLC清空产量信号
|
|
|
|
#region 清空PLC产量
|
|
|
|
#region 清空PLC产量,写1保持500毫秒后写0
|
|
|
|
var obj1 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc1"));
|
|
|
|
ClearPlcOutPut("1");
|
|
|
|
if (obj1 != null)
|
|
|
|
Thread.Sleep(500);
|
|
|
|
{
|
|
|
|
ClearPlcOutPut("0");
|
|
|
|
if (obj1.plc.IsConnected)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var flag = obj1.plc.WriteInt16("M216", "1");//换班 数据清空
|
|
|
|
|
|
|
|
log.Warn($"班组切换清空A区产量数据:{(flag == true ? "成功" : "失败")}");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
var obj2 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc2"));
|
|
|
|
|
|
|
|
if (obj2 != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (obj2.plc.IsConnected)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
bool flag = obj2.plc.WriteInt16("M216", "1");//换班 数据清空
|
|
|
|
|
|
|
|
log.Warn($"班组切换清空B区产量数据:{(flag == true ? "成功" : "失败")}");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
var obj3 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc3"));
|
|
|
|
|
|
|
|
if (obj3 != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (obj3.plc.IsConnected)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var flag = obj3.plc.WriteInt16("M216", "1");//换班 数据清空
|
|
|
|
|
|
|
|
log.Warn($"班组切换清空C区产量数据:{(flag == true ? "成功" : "失败")}");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
var obj4 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc4"));
|
|
|
|
|
|
|
|
if (obj4 != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (obj4.plc.IsConnected)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var flag = obj4.plc.WriteInt16("M216", "1");//换班 数据清空
|
|
|
|
|
|
|
|
log.Warn($"班组切换清空D区产量数据:{(flag == true ? "成功" : "失败")}");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
//小时统计报表数据存至记录表,清空小时统计报表
|
|
|
|
//小时统计报表数据存至记录表,清空小时统计报表
|
|
|
@ -246,35 +214,34 @@ namespace Aucma.Core.OldBoxFoam.Business
|
|
|
|
{
|
|
|
|
{
|
|
|
|
foreach (var plan in planInfoList)
|
|
|
|
foreach (var plan in planInfoList)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (plan.PlanAmount > plan.CompleteAmount)
|
|
|
|
|
|
|
|
|
|
|
|
plan.ShiftType = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool updateFlag = _boxFoamPlanServices.UpdateAsync(plan).Result;
|
|
|
|
|
|
|
|
if (updateFlag)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
plan.PlanAmount = plan.PlanAmount - plan.CompleteAmount;
|
|
|
|
log.Warn($"计划:{plan.OrderCode},班组切换标识更新成功");
|
|
|
|
plan.CompleteAmount = 0;
|
|
|
|
|
|
|
|
plan.ShiftType = 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int saveFlag = _boxFoamPlanServices.AddAsync(plan).Result;
|
|
|
|
if (plan.PlanAmount > plan.CompleteAmount)
|
|
|
|
if (saveFlag > 0)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
log.Warn($"计划:{plan.OrderCode},剩余计划:{plan.PlanAmount},未完成进行顺延,执行成功");
|
|
|
|
plan.PlanAmount = plan.PlanAmount - plan.CompleteAmount;
|
|
|
|
}
|
|
|
|
plan.CompleteAmount = 0;
|
|
|
|
else
|
|
|
|
plan.ShiftType = 1;
|
|
|
|
{
|
|
|
|
|
|
|
|
log.Warn($"计划:{plan.OrderCode},剩余计划:{plan.PlanAmount},未完成进行顺延,执行失败");
|
|
|
|
int saveFlag = _boxFoamPlanServices.AddAsync(plan).Result;
|
|
|
|
|
|
|
|
if (saveFlag > 0)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
log.Warn($"计划:{plan.OrderCode},剩余计划:{plan.PlanAmount},未完成进行顺延,执行成功");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
log.Warn($"计划:{plan.OrderCode},剩余计划:{plan.PlanAmount},未完成进行顺延,执行失败");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
plan.ShiftType = 0;
|
|
|
|
log.Warn($"计划:{plan.OrderCode},班组切换标识更新失败");
|
|
|
|
|
|
|
|
|
|
|
|
bool updateFlag = _boxFoamPlanServices.UpdateAsync(plan).Result;
|
|
|
|
|
|
|
|
if (updateFlag)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
log.Warn($"计划:{plan.OrderCode},班组切换标识更新成功");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
log.Warn($"计划:{plan.OrderCode},班组切换标识更新失败");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -284,5 +251,49 @@ namespace Aucma.Core.OldBoxFoam.Business
|
|
|
|
log.Warn($"{(shiftType == 1 ? "白班" : "夜班")}班组切换,切换逻辑处理异常:{ex.Message}");
|
|
|
|
log.Warn($"{(shiftType == 1 ? "白班" : "夜班")}班组切换,切换逻辑处理异常:{ex.Message}");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// 清空PLC产量数据
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
/// <param name="value"></param>
|
|
|
|
|
|
|
|
private void ClearPlcOutPut(string value)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var obj1 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc1"));
|
|
|
|
|
|
|
|
if (obj1 != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (obj1.plc.IsConnected)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var flag = obj1.plc.WriteInt16("M216", value);//换班 数据清空
|
|
|
|
|
|
|
|
log.Warn($"班组切换清空A区产量数据写{value}:{(flag == true ? "成功" : "失败")}");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
var obj2 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc2"));
|
|
|
|
|
|
|
|
if (obj2 != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (obj2.plc.IsConnected)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
bool flag = obj2.plc.WriteInt16("M216", value);//换班 数据清空
|
|
|
|
|
|
|
|
log.Warn($"班组切换清空B区产量数据写{value}:{(flag == true ? "成功" : "失败")}");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
var obj3 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc3"));
|
|
|
|
|
|
|
|
if (obj3 != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (obj3.plc.IsConnected)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var flag = obj3.plc.WriteInt16("M216", value);//换班 数据清空
|
|
|
|
|
|
|
|
log.Warn($"班组切换清空C区产量数据写{value}:{(flag == true ? "成功" : "失败")}");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
var obj4 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc4"));
|
|
|
|
|
|
|
|
if (obj4 != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (obj4.plc.IsConnected)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var flag = obj4.plc.WriteInt16("M216", value);//换班 数据清空
|
|
|
|
|
|
|
|
log.Warn($"班组切换清空D区产量数据写{value}:{(flag == true ? "成功" : "失败")}");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|