liulb@mesnac.com 1 year ago
parent 72bc19724e
commit c3a577c10c

@ -21,5 +21,11 @@ namespace Admin.Core.IRepository
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
Task<List<ProductInfoView>> GetStationData(string code); Task<List<ProductInfoView>> GetStationData(string code);
/// <summary>
/// 根据产线查询公司、产线、工序、工位
/// </summary>
/// <param name="productLineCode"></param>
/// <returns></returns>
Task<List<ProductLineInfoView>> GetProductLineInfo(string productLineCode);
} }
} }

@ -30,5 +30,11 @@ namespace Admin.Core.IService
/// <param name="nowDate"></param> /// <param name="nowDate"></param>
/// <returns></returns> /// <returns></returns>
Task<List<CurrentTeamTimeView>> GetTeamData(); Task<List<CurrentTeamTimeView>> GetTeamData();
/// <summary>
/// 根据产线查询公司、工位、工序
/// </summary>
/// <param name="productLineCode"></param>
/// <returns></returns>
Task<ProductLineInfoView> GetProductLineInfo(string productLineCode);
} }
} }

@ -5,6 +5,7 @@ using Admin.Core.Model;
using Admin.Core.Model.ViewModels; using Admin.Core.Model.ViewModels;
using Admin.Core.Service; using Admin.Core.Service;
using log4net; using log4net;
using NPOI.SS.Formula.Functions;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -49,5 +50,17 @@ namespace Admin.Core.IService
var obj = list.SingleOrDefault(d => d.ProductLineCode == "productLineCode"); var obj = list.SingleOrDefault(d => d.ProductLineCode == "productLineCode");
return obj; return obj;
} }
/// <summary>
/// 根据产线查询 公司、产线、工序、工位
/// </summary>
/// <param name="productLineCode"></param>
/// <returns></returns>
public async Task<ProductLineInfoView> GetProductLineInfo(string productLineCode)
{
var list = await _sysUserInfoRepository.GetProductLineInfo(productLineCode);
if (list == null) return null;
var obj = list.SingleOrDefault(d => d.ProductlineCode == productLineCode);
return obj;
}
} }
} }

@ -20,6 +20,7 @@ using System.Timers;
using Aucma.Core.BoxFoam.Models; using Aucma.Core.BoxFoam.Models;
using Admin.Core.Model; using Admin.Core.Model;
using System.Threading; using System.Threading;
using Aucma.Core.HwPLc;
namespace Aucma.Core.BoxFoam.ViewModels namespace Aucma.Core.BoxFoam.ViewModels
{ {
@ -32,9 +33,8 @@ namespace Aucma.Core.BoxFoam.ViewModels
private readonly ISysUserInfoServices _sysUserInfoServices; private readonly ISysUserInfoServices _sysUserInfoServices;
private readonly IBoxFoamDataRecordServices _boxFoamDataRecordServices; private readonly IBoxFoamDataRecordServices _boxFoamDataRecordServices;
private readonly IBoxFoamDataRealTimeServices? _boxFoamDataRealTimeServices; private readonly IBoxFoamDataRealTimeServices? _boxFoamDataRealTimeServices;
private readonly IBoxFoamDataRealTimeHistoryServices _boxFoamDataRealTimeHistoryServices; private readonly IBoxFoamDataRealTimeHistoryServices _boxFoamDataRealTimeHistoryServices;
System.Timers.Timer timer2 = new System.Timers.Timer(2000); System.Timers.Timer timer2 = new System.Timers.Timer(5000);
int totalAmount = 0; int totalAmount = 0;
@ -45,7 +45,7 @@ namespace Aucma.Core.BoxFoam.ViewModels
_boxFoamDataRecordServices = App.ServiceProvider.GetService<IBoxFoamDataRecordServices>(); _boxFoamDataRecordServices = App.ServiceProvider.GetService<IBoxFoamDataRecordServices>();
_currentTeamTimeServices = App.ServiceProvider.GetService<ICurrentTeamTimeServices>(); _currentTeamTimeServices = App.ServiceProvider.GetService<ICurrentTeamTimeServices>();
_boxFoamDataRealTimeHistoryServices = App.ServiceProvider.GetService<IBoxFoamDataRealTimeHistoryServices>(); _boxFoamDataRealTimeHistoryServices = App.ServiceProvider.GetService<IBoxFoamDataRealTimeHistoryServices>();
// _boxFoamDataServices = App.ServiceProvider.GetService<IBoxFoamDataServices>(); _sysUserInfoServices = App.ServiceProvider.GetService<ISysUserInfoServices>();
CollectionFoamLine.RefreshBoxFoamDataDelegateEvent += InitData; CollectionFoamLine.RefreshBoxFoamDataDelegateEvent += InitData;
timer2.Elapsed += new System.Timers.ElapsedEventHandler(RealTimeFoamingTask); //到达时间的时候执行事件; timer2.Elapsed += new System.Timers.ElapsedEventHandler(RealTimeFoamingTask); //到达时间的时候执行事件;
@ -287,7 +287,7 @@ namespace Aucma.Core.BoxFoam.ViewModels
{ {
try try
{ {
int total = 0; int totalAmount = 0;
if (list == null) return; if (list == null) return;
FixtureName.Clear(); FixtureName.Clear();
@ -295,6 +295,7 @@ namespace Aucma.Core.BoxFoam.ViewModels
Beat.Clear(); Beat.Clear();
InternalTemperature.Clear(); InternalTemperature.Clear();
OutsideTemperature.Clear(); OutsideTemperature.Clear();
foreach (var item in list) foreach (var item in list)
{ {
if (item.Status == 1) StatusColor.Add("Green"); if (item.Status == 1) StatusColor.Add("Green");
@ -328,17 +329,18 @@ namespace Aucma.Core.BoxFoam.ViewModels
try try
{ {
string productLineCode = Appsettings.app("StationInfo", "ProductLineCode"); string productLineCode = Appsettings.app("StationInfo", "ProductLineCode");
//DateTime now = DateTime.Now; DateTime now = DateTime.Now;
//CurrentTeamTime time = await _currentTeamTimeServices.FirstAsync(d => d.StartTime <= now && d.EndTime >= now); List<CurrentTeamTime> timeList = await _currentTeamTimeServices.QueryAsync(d => d.StartTime <= now && d.EndTime >= now);
//if (time != null)
//{ if (timeList.Count>0)
ExecHourDataAsync(productLineCode); {
//} ExecHourDataAsync(productLineCode);
//else }
//{ else
// //ShiftChangeAsync(productLineCode); {
//} ShiftChangeAsync(productLineCode);
}
} }
catch (Exception ex) catch (Exception ex)
@ -369,6 +371,7 @@ namespace Aucma.Core.BoxFoam.ViewModels
BoxFoamDataRealTime bfd = bfds.SingleOrDefault(d => d.FixtureBoxtype == bLis[j].FixtureBoxType && d.SerialNumber == bLis[j].ObjId); BoxFoamDataRealTime bfd = bfds.SingleOrDefault(d => d.FixtureBoxtype == bLis[j].FixtureBoxType && d.SerialNumber == bLis[j].ObjId);
if (bfd != null) if (bfd != null)
{ {
//更新计划数量 //更新计划数量
complateAmount = bLis[j].Yield - bfd.FixtureProductioncapacity; complateAmount = bLis[j].Yield - bfd.FixtureProductioncapacity;
UpdateClampData(bLis[j], bfd); UpdateClampData(bLis[j], bfd);
@ -419,56 +422,33 @@ namespace Aucma.Core.BoxFoam.ViewModels
private async void ShiftChangeAsync(string productLineCode) private async void ShiftChangeAsync(string productLineCode)
{ {
//切换班组计划 try
var currentTeamTimeList = await _sysUserInfoServices.GetTeamData(); {
if (currentTeamTimeList.Count == 0) return; //切换班组计划
var list = await _boxFoamDataRealTimeServices.QueryAsync(d => d.ProductlineCode == productLineCode); var currentTeamTimeList = await _sysUserInfoServices.GetTeamData();
//更新计划表操作 if (currentTeamTimeList.Count == 0) return;
CurrentTeamTime currentTeamTime = await _currentTeamTimeServices.FirstAsync(); var list = await _boxFoamDataRealTimeServices.QueryAsync(d => d.ProductlineCode == productLineCode);
currentTeamTime.TeamName = currentTeamTimeList.FirstOrDefault().TeamName; //更新计划表操作
currentTeamTime.StartTime = currentTeamTimeList.Min(d => d.StartTime); CurrentTeamTime currentTeamTime = await _currentTeamTimeServices.FirstAsync();
currentTeamTime.EndTime = currentTeamTimeList.Max(d => d.EndTime); currentTeamTime.TeamName = currentTeamTimeList.FirstOrDefault().TeamName;
currentTeamTime.StartTime = currentTeamTimeList.Min(d => d.StartTime);
currentTeamTime.EndTime = currentTeamTimeList.Max(d => d.EndTime);
//可以使用Mapping 映射
//list.ForEach(d => bool result = await _currentTeamTimeServices.UpdateAsync(currentTeamTime);
//{ if (result)
// BoxFoamDataRecord record = new BoxFoamDataRecord(); {
// record.OrderCode = d.OrderCode; var obj2 = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("foamLine1Plc"));
// record.ProductLineCode = d.ProductLineCode; if (obj2 == null) { return; }
// record.Fixturestatus = d.Production;
// record.CuringTimeSettingValue = d.CuringTimeSettingValue; //清空 当班计划
// record.ActualValue = d.ActualValue; var realTimeList = await _boxFoamDataRealTimeHistoryServices.QueryAsync(d => d.ProductlineCode == productLineCode);
// record.AnHour = d.AnHour; await _boxFoamDataRealTimeHistoryServices.DeletesAsync(realTimeList);
// record.TwoHour = d.TwoHour;
// record.ThreeHour = d.ThreeHour; var plan = await _boxFoamPlanServices.QueryAsync(d => d.ProductLineCode == productLineCode);
// record.FourHour = d.FourHour; await _boxFoamPlanServices.DeletesAsync(plan);
// record.FiveHour = d.FiveHour; }
// record.SixHour = d.SixHour; }
// record.SevenHour = d.SevenHour; catch { }
// record.EightHour = d.EightHour;
// record.NineHour = d.NineHour;
// record.TenHour = d.TenHour;
// record.ElevenHour = d.ElevenHour;
// record.TwelveHour = d.TwelveHour;
// record.BoxFixturesideplate = d.BoxFixturesideplate;
// record.BoxClosebetatemperature = d.BoxClosebetatemperature;
// record.BoxBeat = d.BoxBeat;
// record.CreateTime = DateTime.Now;
//});
//int result = await _boxFoamDataRecordServices.AddAsync(recordList);
//if (result > 0)
//{
// var obj2 = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc1"));
// if (obj2 == null) { return; }
// //obj2.plc.WriteInt16("M216", "1");//换班 数据清空
// //清空 当班计划
// await _oldBoxFoamDataServices.DeletesAsync(list);
// await _currentTeamTimeServices.UpdateAsync(currentTeamTime);
//}
} }
@ -478,16 +458,22 @@ namespace Aucma.Core.BoxFoam.ViewModels
/// </summary> /// </summary>
public async void UpdateClampData(FixtureStatus fixtureStatus, BoxFoamDataRealTime bfd) public async void UpdateClampData(FixtureStatus fixtureStatus, BoxFoamDataRealTime bfd)
{ {
bfd.FixtureBoxtype = fixtureStatus.FixtureBoxType;
bfd.FixtureStatus = fixtureStatus.Status.ToString(); try
bfd.FixtureProductioncapacity = fixtureStatus.Yield; {
bfd.FixtureCuringtimesettingvalue = fixtureStatus.PlanCuringTime.ToString(); bfd.FixtureBoxtype = fixtureStatus.FixtureBoxType;
bfd.FixtureActualtime = fixtureStatus.RealCuringTime.ToString(); bfd.FixtureStatus = fixtureStatus.Status.ToString();
bfd.ModeInternaltemperature = fixtureStatus.InternalTemperature; bfd.FixtureProductioncapacity = fixtureStatus.Yield;
bfd.ModeOutsidetemperature = fixtureStatus.InternalTemperature; bfd.FixtureCuringtimesettingvalue = fixtureStatus.PlanCuringTime.ToString();
bfd.UpdatedTime = DateTime.Now; bfd.FixtureActualtime = fixtureStatus.RealCuringTime.ToString();
bfd.ModeInternaltemperature = fixtureStatus.InternalTemperature;
await _boxFoamDataRealTimeServices.UpdateAsync(bfd); bfd.ModeOutsidetemperature = fixtureStatus.InternalTemperature;
bfd.Beat = fixtureStatus.Yield.ToString();
bfd.UpdatedTime = DateTime.Now;
await _boxFoamDataRealTimeServices.UpdateAsync(bfd);
}
catch { }
} }
#endregion #endregion
@ -497,21 +483,29 @@ namespace Aucma.Core.BoxFoam.ViewModels
/// </summary> /// </summary>
public async void SaveClampData(string productLineCode,FixtureStatus fixtureStatus) public async void SaveClampData(string productLineCode,FixtureStatus fixtureStatus)
{ {
BoxFoamDataRealTime bfd=new BoxFoamDataRealTime(); var obj=await _sysUserInfoServices.GetProductLineInfo(productLineCode);
if (obj!=null)
bfd.ProductlineCode = productLineCode; {
bfd.SerialNumber = fixtureStatus.ObjId; BoxFoamDataRealTime bfd = new BoxFoamDataRealTime();
bfd.FixtureBoxtype = fixtureStatus.FixtureBoxType;
bfd.FixtureStatus = fixtureStatus.Status.ToString(); bfd.PlantCode = obj.PlantCode;
bfd.FixtureProductioncapacity = fixtureStatus.Yield; bfd.ProductlineCode = productLineCode;
bfd.FixtureCuringtimesettingvalue = fixtureStatus.PlanCuringTime.ToString(); bfd.ProcessCode = obj.ProcessCode;
bfd.FixtureActualtime = fixtureStatus.RealCuringTime.ToString(); bfd.StationCode = obj.StationCode;
bfd.ModeInternaltemperature = fixtureStatus.InternalTemperature; bfd.SerialNumber = fixtureStatus.ObjId;
bfd.ModeOutsidetemperature = fixtureStatus.InternalTemperature; bfd.FixtureBoxtype = fixtureStatus.FixtureBoxType;
bfd.CreatedTime = DateTime.Now; bfd.FixtureStatus = fixtureStatus.Status.ToString();
bfd.UpdatedTime = DateTime.Now; bfd.FixtureProductioncapacity = fixtureStatus.Yield;
bfd.FixtureCuringtimesettingvalue = fixtureStatus.PlanCuringTime.ToString();
await _boxFoamDataRealTimeServices.AddAsync(bfd); bfd.FixtureActualtime = fixtureStatus.RealCuringTime.ToString();
bfd.ModeInternaltemperature = fixtureStatus.InternalTemperature;
bfd.ModeOutsidetemperature = fixtureStatus.InternalTemperature;
bfd.CreatedTime = DateTime.Now;
bfd.UpdatedTime = DateTime.Now;
await _boxFoamDataRealTimeServices.AddAsync(bfd);
}
} }
#endregion #endregion

@ -115,7 +115,7 @@
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5"> <Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
@ -311,7 +311,7 @@
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5"> <Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>

Loading…
Cancel
Save