using Quartz;
|
using SqlSugar.Extensions;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Reflection.Metadata;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.LocationEnum;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core.BaseRepository;
|
using WIDESEAWCS_DTO.WMS;
|
using WIDESEAWCS_IBasicInfoService;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class ScheduledTaskJob : JobBase, IJob
|
{
|
private readonly ITaskService _taskService;
|
private readonly IHKLocationInfoService _HKLocationInfoService;
|
private readonly IStationInfoService _StationInfoService;
|
private readonly IStationMangerService _stationMangerService;
|
private readonly IUnitOfWorkManage _unitOfWorkManage;
|
public ScheduledTaskJob(ITaskService taskService, IApiInfoService apiInfoService, IHKLocationInfoService hKLocationInfoService, IStationInfoService stationInfoService, IStationMangerService stationMangerService, IUnitOfWorkManage unitOfWorkManage)
|
{
|
_taskService = taskService;
|
_HKLocationInfoService = hKLocationInfoService;
|
_StationInfoService = stationInfoService;
|
_stationMangerService = stationMangerService;
|
_unitOfWorkManage = unitOfWorkManage;
|
}
|
|
public Task Execute(IJobExecutionContext context)
|
{
|
//try
|
//{
|
// #region 三楼自动任务
|
// List<string> StationCodes = new() { "0348840CC0315690", "0349350CC0315686" };
|
// var stations = _StationInfoService.Repository.QueryData(x => StationCodes.Contains(x.StationCode));
|
// #region 入提升机任务
|
// var station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.InStock && x.IsOccupied == 0);
|
// if (station != null)
|
// {
|
// var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
|
// Dt_Task dt_Task = new Dt_Task()
|
// {
|
|
// TaskNum = tasknum,
|
// WMSTaskNum = "GP" + tasknum,
|
// Grade = 60,
|
// PalletCode = station.PalletCode,
|
// Roadway = "",
|
// TaskState = (int)TaskStatusEnum.New,
|
// TaskType = TaskTypeEnum.RK3F.ObjToInt(),
|
// SourceAddress = station.StationCode,
|
// CurrentAddress = station.StationCode,
|
// NextAddress = "TSJR3F",
|
// TargetAddress = "TSJR3F",
|
// Creater = "WCS",
|
// };
|
// var content = _taskService.SendHIKROBOTTask(dt_Task);
|
// if (content.Status)
|
// {
|
// dt_Task.TaskState = (int)TaskStatusEnum.Execut;
|
// dt_Task.Dispatchertime = DateTime.Now;
|
// station.StationStatus = (int)LocationStatusEnum.OutLock;
|
// _taskService.AddData(dt_Task);
|
// _StationInfoService.UpdateData(station);
|
// }
|
// }
|
// #endregion
|
|
// #region 出提升机任务
|
// var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
|
// if (device != null && device.IsConnected)
|
// {
|
// if (device.GetValue<HoistEnum, short>(HoistEnum.SOutboundmaterialbox, "TSJC3F") == 1)
|
// {
|
// Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC3F" /*&& x.TaskState < TaskStatusEnum.TakeFinish.ObjToInt()*/);
|
// if (dt_Task == null)
|
// {
|
// station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free && x.IsOccupied == 0);
|
// if (station != null)
|
// {
|
// var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
|
// dt_Task = new Dt_Task()
|
// {
|
// TaskNum = tasknum,
|
// WMSTaskNum = "GP" + tasknum,
|
// Grade = 60,
|
// PalletCode = "LXM" + tasknum,
|
// Roadway = "",
|
// TaskState = (int)TaskStatusEnum.New,
|
// TaskType = TaskTypeEnum.CK3F.ObjToInt(),
|
// SourceAddress = "TSJC3F",
|
// CurrentAddress = "TSJC3F",
|
// NextAddress = station.StationCode,
|
// TargetAddress = station.StationCode,
|
// Creater = "WCS",
|
// };
|
// var content = _taskService.SendHIKROBOTTask(dt_Task);
|
// if (content.Status)
|
// {
|
// dt_Task.TaskState = (int)TaskStatusEnum.Execut;
|
// dt_Task.Dispatchertime = DateTime.Now;
|
// station.StationStatus = (int)LocationStatusEnum.InLock;
|
// _taskService.AddData(dt_Task);
|
// _StationInfoService.UpdateData(station);
|
// }
|
// }
|
// }
|
// }
|
// }
|
// #endregion
|
|
// #endregion
|
|
// #region 4F
|
// List<string> stationCodes = new() { "0319882DD0313240", "0319882DD0313750"};
|
// var Stations = _StationInfoService.Repository.QueryData(x => stationCodes.Contains(x.StationCode));
|
// #region 入提升机任务
|
// var Station = Stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.InStock && x.IsOccupied == 0);
|
// if (Station != null)
|
// {
|
// var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
|
// Dt_Task dt_Task = new Dt_Task()
|
// {
|
// TaskNum = tasknum,
|
// WMSTaskNum = "GP" + tasknum,
|
// Grade = 60,
|
// PalletCode = Station.PalletCode,
|
// Roadway = "",
|
// TaskState = (int)TaskStatusEnum.New,
|
//TaskType = TaskTypeEnum.F04.ObjToInt(),
|
// SourceAddress = Station.StationCode,
|
// CurrentAddress = Station.StationCode,
|
// NextAddress = "TSJR4F",
|
// TargetAddress = "TSJR4F",
|
// Creater = "WCS",
|
// };
|
// var content = _taskService.SendHIKROBOTTask(dt_Task);
|
// if (content.Status)
|
// {
|
// dt_Task.TaskState = (int)TaskStatusEnum.Execut;
|
// dt_Task.Dispatchertime = DateTime.Now;
|
// Station.StationStatus = (int)LocationStatusEnum.OutLock;
|
// _taskService.AddData(dt_Task);
|
// _StationInfoService.UpdateData(Station);
|
// }
|
// }
|
// #endregion
|
|
// #region 出提升机任务
|
// device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
|
// if (device != null && device.IsConnected)
|
// {
|
// var reslur = device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC4F");
|
// if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC4F") == 1)
|
// {
|
// Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC4F" /*&& x.TaskState < TaskStatusEnum.TakeFinish.ObjToInt()*/);
|
// if (dt_Task == null)
|
// {
|
// Station = Stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free && x.IsOccupied == 0);
|
// if (Station != null)
|
// {
|
// var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
|
// dt_Task = new Dt_Task()
|
// {
|
// TaskNum = tasknum,
|
// WMSTaskNum = "GP" + tasknum,
|
// Grade = 60,
|
// PalletCode = "LXM" + tasknum,
|
// Roadway = "",
|
// TaskState = (int)TaskStatusEnum.New,
|
// TaskType = TaskTypeEnum.F03.ObjToInt(),
|
// SourceAddress = "TSJC4F",
|
// CurrentAddress = "TSJC4F",
|
// NextAddress = Station.StationCode,
|
// TargetAddress = Station.StationCode,
|
// Creater = "WCS",
|
// };
|
// var content = _taskService.SendHIKROBOTTask(dt_Task);
|
// if (content.Status)
|
// {
|
// dt_Task.TaskState = (int)TaskStatusEnum.Execut;
|
// dt_Task.Dispatchertime = DateTime.Now;
|
// Station.StationStatus = (int)LocationStatusEnum.InLock;
|
// _taskService.AddData(dt_Task);
|
// _StationInfoService.UpdateData(Station);
|
// }
|
// }
|
// }
|
// }
|
// }
|
// #endregion
|
|
// #endregion
|
|
// #region 四楼自动任务
|
// //List<string> LocationCodes = new() { "RGD0303A04041", "RG0302A05041", "RG0304A05041", "RG0205A05031" };
|
// List<string> LocationCodes = new() { "RGD0302A05041", "RGD0304A05041", "R3CG0106A04031", "RGD0307A05012" };
|
// var hKLocationInfos = _HKLocationInfoService.Repository.QueryData(x => LocationCodes.Contains(x.LocationCode));
|
// #region 入提升机任务
|
// var hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.InStock);
|
// if (hKLocation != null)
|
// {
|
// var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
|
// Dt_Task dt_Task = new Dt_Task()
|
// {
|
// TaskNum = tasknum,
|
// WMSTaskNum = "GP" + tasknum,
|
// Grade = 60,
|
// PalletCode = hKLocation.PalletCode,
|
// Roadway = "",
|
// TaskState = (int)TaskStatusEnum.New,
|
//TaskType = TaskTypeEnum.CHUKU1.ObjToInt(),
|
// SourceAddress = hKLocation.LocationCode,
|
// CurrentAddress = hKLocation.LocationCode,
|
// NextAddress = "TSJR4F",
|
// TargetAddress = "TSJR4F",
|
// Creater = "WCS",
|
// };
|
// var content = _taskService.SendHIKROBOTTask(dt_Task);
|
// if (content.Status)
|
// {
|
// dt_Task.TaskState = (int)TaskStatusEnum.Execut;
|
// dt_Task.Dispatchertime = DateTime.Now;
|
// hKLocation.LocationStatus = (int)LocationStatusEnum.OutLock;
|
// _taskService.AddData(dt_Task);
|
// _HKLocationInfoService.UpdateData(hKLocation);
|
// }
|
// }
|
// #endregion
|
|
// #region 出提升机任务
|
// //if (device != null && device.IsConnected)
|
// //{
|
// // if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC4F") == 1)
|
// // {
|
// // Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC4F");
|
// // if (dt_Task == null)
|
// // {
|
// // hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.Free);
|
// // if (hKLocation != null)
|
// // {
|
// // var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
|
// // dt_Task = new Dt_Task()
|
// // {
|
// // TaskNum = tasknum,
|
// // WMSTaskNum = "GP" + tasknum,
|
// // Grade = 60,
|
// // PalletCode = "LXM" + tasknum,
|
// // Roadway = "",
|
// // TaskState = (int)TaskStatusEnum.New,
|
// // TaskType = TaskTypeEnum.Q1TSJ4.ObjToInt(),
|
// // SourceAddress = "TSJC4F",
|
// // CurrentAddress = "TSJC4F",
|
// // NextAddress = hKLocation.LocationCode,
|
// // TargetAddress = hKLocation.LocationCode,
|
// // Creater = "WCS",
|
// // };
|
// // var content = _taskService.SendHIKROBOTTask(dt_Task);
|
// // if (content.Status)
|
// // {
|
// // dt_Task.TaskState = (int)TaskStatusEnum.Execut;
|
// // dt_Task.Dispatchertime = DateTime.Now;
|
// // hKLocation.LocationStatus = (int)LocationStatusEnum.InLock;
|
// // _taskService.AddData(dt_Task);
|
// // _HKLocationInfoService.UpdateData(hKLocation);
|
// // }
|
// // }
|
// // }
|
|
// // }
|
// //}
|
// #endregion
|
|
// #endregion
|
//}
|
//catch (Exception ex)
|
//{
|
// Console.Out.WriteLine(nameof(TaskJob) + ":" + ex.Message);
|
//}
|
return Task.CompletedTask;
|
}
|
}
|
}
|