首次提交:添加src文件夹代码
This commit is contained in:
123
Cowain.Bake.Main/ViewModels/ManualTaskViewModel.cs
Normal file
123
Cowain.Bake.Main/ViewModels/ManualTaskViewModel.cs
Normal file
@@ -0,0 +1,123 @@
|
||||
using Cowain.Bake.BLL;
|
||||
using Cowain.Bake.Common;
|
||||
using Cowain.Bake.Common.Core;
|
||||
using Cowain.Bake.Common.Enums;
|
||||
using Cowain.Bake.Main.Station;
|
||||
using Cowain.Bake.Model;
|
||||
using Cowain.Bake.Model.Entity;
|
||||
using Cowain.Bake.Model.Models;
|
||||
using Newtonsoft.Json;
|
||||
using Prism.Commands;
|
||||
using Prism.Mvvm;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using Unity;
|
||||
|
||||
namespace Cowain.Bake.Main.ViewModels
|
||||
{
|
||||
public class ManualTaskViewModel: BindableBase
|
||||
{
|
||||
private IUnityContainer _unityContainer;
|
||||
private string selectFromValue;
|
||||
|
||||
public string SelectFromValue
|
||||
{
|
||||
get => selectFromValue;
|
||||
set => SetProperty(ref selectFromValue, value);
|
||||
}
|
||||
private string selectToValue;
|
||||
public string SelectToValue
|
||||
{
|
||||
get => selectToValue;
|
||||
set => SetProperty(ref selectToValue, value);
|
||||
}
|
||||
//不写set;get还设置不了这里的值
|
||||
public List<string> StationDtl { set; get; } = new List<string>();
|
||||
public void GetStationDtl()
|
||||
{
|
||||
List<string> table = _unityContainer.Resolve<CavityInfoService>().GetCanUseStationName();
|
||||
foreach (var item in table)
|
||||
{
|
||||
StationDtl.Add(item);
|
||||
}
|
||||
}
|
||||
|
||||
public ManualTaskViewModel(IUnityContainer unityContainer)
|
||||
{
|
||||
_unityContainer = unityContainer;
|
||||
}
|
||||
|
||||
public DelegateCommand GenerateTaskCommand => new DelegateCommand(() =>
|
||||
{
|
||||
GenerateTask();
|
||||
});
|
||||
|
||||
private void GenerateTask()
|
||||
{
|
||||
if (SettingProvider.Instance.DispMode == EDispatchMode.Auto)
|
||||
{
|
||||
HandyControl.Controls.Growl.Warning("自动调度,不能手动生成任务!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(selectFromValue)
|
||||
|| string.IsNullOrEmpty(SelectToValue))
|
||||
{
|
||||
HandyControl.Controls.Growl.Error("取放为空,不能手动生成任务!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (_unityContainer.Resolve<TaskRecordService>().UnexecuteTask() != null)
|
||||
{
|
||||
HandyControl.Controls.Growl.Warning("还有调度任务没有执行完成,不能手动生成任务!");
|
||||
return;
|
||||
}
|
||||
|
||||
TCavityInfo fromTable = _unityContainer.Resolve<CavityInfoService>().GetStationID(selectFromValue);
|
||||
TCavityInfo toTable = _unityContainer.Resolve<CavityInfoService>().GetStationID(SelectToValue);
|
||||
|
||||
Cowain.Bake.Model.TTaskRecord taskRecord = new Model.TTaskRecord();
|
||||
if (0 == fromTable.PalletId)
|
||||
{
|
||||
LogHelper.Instance.Error("添加失败,取位置无托盘记忆!", true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!fromTable.IsLoad)
|
||||
{
|
||||
LogHelper.Instance.Error("添加失败,取位置感应不到夹具到位!", true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (0 != toTable.PalletId || toTable.IsLoad)
|
||||
{
|
||||
LogHelper.Instance.Error("添加失败,放位置有托盘信息!", true);
|
||||
return;
|
||||
}
|
||||
|
||||
TPalletInfo palletInfo = _unityContainer.Resolve<PalletInfoService>().GetPalletInfo(fromTable.PalletId);
|
||||
if (palletInfo.PalletStatus == (int)EPalletStatus.Bake)
|
||||
{
|
||||
LogHelper.Instance.Error("添加失败,无法将在烘烤中的托盘添加到任务!", true);
|
||||
return;
|
||||
}
|
||||
taskRecord.PalletId = fromTable.PalletId;
|
||||
taskRecord.TaskTypeId = 0;
|
||||
taskRecord.Source = fromTable.Id;
|
||||
taskRecord.Target = toTable.Id;
|
||||
taskRecord.Status = (int)ETaskStatus.UnExecute;
|
||||
taskRecord.BuildTime = DateTime.Now;
|
||||
taskRecord.StepId = (int)ETaskStep.Unexecuted;
|
||||
if (0 == _unityContainer.Resolve<TaskRecordService>().Insert(taskRecord))
|
||||
{
|
||||
LogHelper.Instance.Error("插入任务到数据库失败!", true);
|
||||
return;
|
||||
}
|
||||
|
||||
_unityContainer.Resolve<TaskStation>()._newTaskEvent.Set();
|
||||
LogHelper.Instance.Info($"插入任务成功!{JsonConvert.SerializeObject(taskRecord)}");
|
||||
HandyControl.Controls.MessageBox.Success("已添加成功!");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user