dev
liuwf 1 year ago
parent c387512c5a
commit 57507f4dfc

@ -326,20 +326,23 @@ namespace Aucma.Core.BoxFoam.ViewModels
public async void RealTimeFoamingTask(object? sender, ElapsedEventArgs e)
{
semaphore.WaitOne();
try
{
string productLineCode = Appsettings.app("StationInfo", "ProductLineCode");
DateTime now = DateTime.Now;
List<CurrentTeamTime> timeList = await _currentTeamTimeServices.QueryAsync(d => d.StartTime <= now && d.EndTime >= now);
CurrentTeamTime currentTeamTime = await _currentTeamTimeServices.FirstAsync(d => d.StartTime <= now && d.EndTime >= now);
if (timeList.Count>0)
if (currentTeamTime!=null)
{
//比较计划更新数据
ExecHourDataAsync(productLineCode);
}
else
else
{
ShiftChangeAsync(productLineCode);
// 白夜班切换
ShiftChangeAsync(productLineCode, currentTeamTime);
}
}
@ -370,8 +373,7 @@ namespace Aucma.Core.BoxFoam.ViewModels
int complateAmount = 0;
BoxFoamDataRealTime bfd = bfds.SingleOrDefault(d => d.FixtureBoxtype == bLis[j].FixtureBoxType && d.SerialNumber == bLis[j].ObjId);
if (bfd != null)
{
{
//更新计划数量
complateAmount = bLis[j].Yield - bfd.FixtureProductioncapacity;
UpdateClampData(bLis[j], bfd);
@ -420,30 +422,30 @@ namespace Aucma.Core.BoxFoam.ViewModels
}
}
private async void ShiftChangeAsync(string productLineCode)
private async void ShiftChangeAsync(string productLineCode, CurrentTeamTime currentTeamTime)
{
try
{
//切换班组计划
var currentTeamTimeList = await _sysUserInfoServices.GetTeamData();
if (currentTeamTimeList.Count == 0) return;
// 夹具
var list = await _boxFoamDataRealTimeServices.QueryAsync(d => d.ProductlineCode == productLineCode);
//更新计划表操作
CurrentTeamTime currentTeamTime = await _currentTeamTimeServices.FirstAsync();
//CurrentTeamTime currentTeamTime = await _currentTeamTimeServices.FirstAsync();
// 更新当班时间
currentTeamTime.TeamName = currentTeamTimeList.FirstOrDefault().TeamName;
currentTeamTime.StartTime = currentTeamTimeList.Min(d => d.StartTime);
currentTeamTime.EndTime = currentTeamTimeList.Max(d => d.EndTime);
bool result = await _currentTeamTimeServices.UpdateAsync(currentTeamTime);
if (result)
{
var obj2 = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("foamLine1Plc"));
if (obj2 == null) { return; }
//清空 当班计划
var realTimeList = await _boxFoamDataRealTimeHistoryServices.QueryAsync(d => d.ProductlineCode == productLineCode);
await _boxFoamDataRealTimeHistoryServices.DeletesAsync(realTimeList);
// var realTimeList = await _boxFoamDataRealTimeHistoryServices.QueryAsync(d => d.ProductlineCode == productLineCode);
var plan = await _boxFoamPlanServices.QueryAsync(d => d.ProductLineCode == productLineCode);
await _boxFoamPlanServices.DeletesAsync(plan);
}
@ -458,7 +460,6 @@ namespace Aucma.Core.BoxFoam.ViewModels
/// </summary>
public async void UpdateClampData(FixtureStatus fixtureStatus, BoxFoamDataRealTime bfd)
{
try
{
bfd.FixtureBoxtype = fixtureStatus.FixtureBoxType;

Loading…
Cancel
Save