diff --git a/.vs/HighWayIot/v16/.suo b/.vs/HighWayIot/v16/.suo index 09289e5..4e4a889 100644 Binary files a/.vs/HighWayIot/v16/.suo and b/.vs/HighWayIot/v16/.suo differ diff --git a/Aucma.Scada.Business/AssemblyPlanBusiness.cs b/Aucma.Scada.Business/AssemblyPlanBusiness.cs index ec6ac4e..b43e15d 100644 --- a/Aucma.Scada.Business/AssemblyPlanBusiness.cs +++ b/Aucma.Scada.Business/AssemblyPlanBusiness.cs @@ -122,7 +122,7 @@ namespace Aucma.Scada.Business executePlanInfo.executeOrder = _executePlanInfoService.GetExecuteOrderByProductLineCode(appConfig.stationCode); executePlanInfo.executeStatus = 1; executePlanInfo.planAmount = transmitAmount; - executePlanInfo.beginTime = DateTime.Now; + executePlanInfo.createdTime = DateTime.Now; result = _executePlanInfoService.InsertExecutePlanInfo(executePlanInfo); if (result) @@ -213,15 +213,53 @@ namespace Aucma.Scada.Business /// 下传计划 /// /// - public void ExecutePlanInfo_NextPass(string planCode) + public ExecutePlanInfo ExecutePlanInfo_NextPass(string planCode,string nowPlanCode) { - //获取执行计划 - ExecutePlanInfo planInfo = _executePlanInfoService.GetExecutePlanInfoByPlanCode(planCode); - if (planInfo != null) + ExecutePlanInfo planInfo = null; + try { - //传给出库 - NextPassExecutePlanInfoEvent?.Invoke(planInfo); + List planInfos = new List(); + if (!string.IsNullOrEmpty(nowPlanCode)) + { + ExecutePlanInfo nowPlanInfo = _executePlanInfoService.GetExecutePlanInfoByPlanCode(nowPlanCode); + if(nowPlanInfo != null) + { + nowPlanInfo.executeStatus = 1; + planInfos.Add(nowPlanInfo); + } + } + + //获取执行计划 + planInfo = _executePlanInfoService.GetExecutePlanInfoByPlanCode(planCode); + if (planInfo != null) + { + //传给出库 + NextPassExecutePlanInfoEvent?.Invoke(planInfo); + + planInfo.executeStatus = 2; + planInfo.beginTime = DateTime.Now; + planInfos.Add(planInfo); + } + else + { + logHelper.Info($"执行计划下传失败,执行计划编号:{planCode}未获取到执行计划"); + return planInfo; + } + + if (planInfos.Count > 0) + { + var result = _executePlanInfoService.UpdateRangeExecutePlanInfo(planInfos); + if (result) + { + GetEexecutePlanInfosByProductLineCode(); + } + } + + }catch(Exception ex) + { + logHelper.Error("计划下传异常", ex); } + return planInfo; } } } diff --git a/Aucma.Scada.Business/Aucma.Scada.Business.csproj b/Aucma.Scada.Business/Aucma.Scada.Business.csproj index 77b3285..7dfc7ea 100644 --- a/Aucma.Scada.Business/Aucma.Scada.Business.csproj +++ b/Aucma.Scada.Business/Aucma.Scada.Business.csproj @@ -46,6 +46,7 @@ + diff --git a/Aucma.Scada.Business/TaskInfoBusiness.cs b/Aucma.Scada.Business/TaskInfoBusiness.cs new file mode 100644 index 0000000..a8ee33a --- /dev/null +++ b/Aucma.Scada.Business/TaskInfoBusiness.cs @@ -0,0 +1,46 @@ +using HighWayIot.Config; +using HighWayIot.Log4net; +using HighWayIot.Repository.domain; +using HighWayIot.Repository.service; +using HighWayIot.Repository.service.Impl; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Aucma.Scada.Business +{ + public sealed class TaskInfoBusiness + { + private static readonly Lazy lazy = new Lazy(() => new TaskInfoBusiness()); + public static TaskInfoBusiness Instance + { + get + { + return lazy.Value; + } + } + + private LogHelper logHelper = LogHelper.Instance; + + private AppConfig appConfig = AppConfig.Instance; + + private IRealTaskInfoService taskInfoService = new RealTaskInfoServiceImpl(); + + public TaskInfoBusiness() + { + + } + + /// + /// 获取计划列表 + /// + /// + /// + public List GetTaskInfos(int taskType) + { + return taskInfoService.GetTaskInfosByStoreCode(new string[] { appConfig.shellStoreCode, appConfig.linerStoreCode }, taskType); + } + } +} diff --git a/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.dll b/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.dll index b25b20d..33d04e8 100644 Binary files a/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.dll and b/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.dll differ diff --git a/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.pdb b/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.pdb index f83b67b..17eb86f 100644 Binary files a/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.pdb and b/Aucma.Scada.Business/bin/Debug/Aucma.Scada.Business.pdb differ diff --git a/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.dll b/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.dll index ccfce66..d547e9f 100644 Binary files a/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.dll and b/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.dll differ diff --git a/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.pdb b/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.pdb index 075184e..27bf170 100644 Binary files a/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.pdb and b/Aucma.Scada.Business/bin/Debug/HighWayIot.Config.pdb differ diff --git a/Aucma.Scada.Business/bin/Debug/HighWayIot.Repository.dll b/Aucma.Scada.Business/bin/Debug/HighWayIot.Repository.dll index bcbcc6d..24b115e 100644 Binary files a/Aucma.Scada.Business/bin/Debug/HighWayIot.Repository.dll and b/Aucma.Scada.Business/bin/Debug/HighWayIot.Repository.dll differ diff --git a/Aucma.Scada.Business/bin/Debug/HighWayIot.Repository.pdb b/Aucma.Scada.Business/bin/Debug/HighWayIot.Repository.pdb index daae103..148c28c 100644 Binary files a/Aucma.Scada.Business/bin/Debug/HighWayIot.Repository.pdb and b/Aucma.Scada.Business/bin/Debug/HighWayIot.Repository.pdb differ diff --git a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.csproj.AssemblyReference.cache b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.csproj.AssemblyReference.cache index 953b3d5..7862b49 100644 Binary files a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.csproj.AssemblyReference.cache and b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.csproj.AssemblyReference.cache differ diff --git a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.csproj.CoreCompileInputs.cache b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.csproj.CoreCompileInputs.cache index a99dc61..d12d0cf 100644 --- a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.csproj.CoreCompileInputs.cache +++ b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -5688e2e412368ec46789c0d63f0ae7f9b6a08427 +e8387b0c5844bceebdf1708a1ad31b3a6f43c6e9 diff --git a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.dll b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.dll index b25b20d..33d04e8 100644 Binary files a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.dll and b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.dll differ diff --git a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.pdb b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.pdb index f83b67b..17eb86f 100644 Binary files a/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.pdb and b/Aucma.Scada.Business/obj/Debug/Aucma.Scada.Business.pdb differ diff --git a/Aucma.Scada.UI/Aucma.Scada.UI.csproj b/Aucma.Scada.UI/Aucma.Scada.UI.csproj index 56eef5f..7fa163d 100644 --- a/Aucma.Scada.UI/Aucma.Scada.UI.csproj +++ b/Aucma.Scada.UI/Aucma.Scada.UI.csproj @@ -91,8 +91,10 @@ MSBuild:Compile Designer + + AssemblyPlanControl.xaml diff --git a/Aucma.Scada.UI/Converter/AssemblyPlan/PlanStatusConverter.cs b/Aucma.Scada.UI/Converter/AssemblyPlan/PlanStatusConverter.cs new file mode 100644 index 0000000..b2c3393 --- /dev/null +++ b/Aucma.Scada.UI/Converter/AssemblyPlan/PlanStatusConverter.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Data; + +namespace Aucma.Scada.UI.Converter.AssemblyPlan +{ + public class PlanStatusConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value == null) + { + return false; + } + else + { + int info = (int)value; + string result = ""; + switch (info) + { + case 1: + result = "待执行"; + break; + case 2: + result = "执行中"; + break; + case 3: + result = "完成"; + break; + default: + break; + } + return result; + } + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/Aucma.Scada.UI/Converter/TaskInfo/TaskStatusConverter.cs b/Aucma.Scada.UI/Converter/TaskInfo/TaskStatusConverter.cs new file mode 100644 index 0000000..d42134f --- /dev/null +++ b/Aucma.Scada.UI/Converter/TaskInfo/TaskStatusConverter.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Data; + +namespace Aucma.Scada.UI.Converter.TaskInfo +{ + public class TaskStatusConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value == null) + { + return false; + } + else + { + int info = (int)value; + string result = ""; + switch (info) + { + case 1: + result = "待执行"; + break; + case 2: + result = "执行中"; + break; + case 3: + result = "完成"; + break; + default: + break; + } + return result; + } + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/Aucma.Scada.UI/Page/AssemblyPlan/AssemblyPlanControl.xaml b/Aucma.Scada.UI/Page/AssemblyPlan/AssemblyPlanControl.xaml index 416abac..196f13c 100644 --- a/Aucma.Scada.UI/Page/AssemblyPlan/AssemblyPlanControl.xaml +++ b/Aucma.Scada.UI/Page/AssemblyPlan/AssemblyPlanControl.xaml @@ -5,8 +5,12 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:Aucma.Scada.UI.Page.AssemblyPlan" xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" + xmlns:local1="clr-namespace:Aucma.Scada.UI.Converter.AssemblyPlan" mc:Ignorable="d" d:DesignHeight="750" d:DesignWidth="1920" Background="Transparent"> + + + @@ -208,21 +212,23 @@ Foreground="Gray" > - - + + + + -