| | |
| | | #region << ç æ¬ 注 é >> |
| | | |
| | | /*---------------------------------------------------------------- |
| | | * å½å空é´ï¼WIDESEAWCS_TaskInfoService |
| | | * å建è
ï¼è¡ç«¥åº |
| | |
| | | * ä¿®æ¹æ¶é´ï¼ |
| | | * çæ¬ï¼V1.0.1 |
| | | * ä¿®æ¹è¯´æï¼ |
| | | * |
| | | * |
| | | *----------------------------------------------------------------*/ |
| | | |
| | | #endregion << ç æ¬ 注 é >> |
| | | |
| | | using AutoMapper; |
| | | using SqlSugar; |
| | | using System.Diagnostics.CodeAnalysis; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical; |
| | | using System.Text.Json; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseServices; |
| | |
| | | using WIDESEAWCS_ITaskInfoRepository; |
| | | using WIDESEAWCS_ITaskInfoService; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob.Models; |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | |
| | | namespace WIDESEAWCS_TaskInfoService |
| | | { |
| | | public class TaskCZService : ServiceBase<DtCZTask, ITaskCZRepository>, ITaskCZService |
| | | { |
| | | public TaskCZService(ITaskCZRepository BaseDal) : base(BaseDal) |
| | | private readonly ITaskRepository _taskRepository; |
| | | private readonly ITaskCZDetailsRepository _detailsRepository; |
| | | |
| | | public TaskCZService(ITaskCZRepository BaseDal, ITaskRepository taskRepository, ITaskCZDetailsRepository detailsRepository) : base(BaseDal) |
| | | { |
| | | _taskRepository = taskRepository; |
| | | _detailsRepository = detailsRepository; |
| | | } |
| | | |
| | | public Task<WebResponseContent> AddTaskCZAsync(CZTaskDto dto) |
| | |
| | | var taskModel = new DtCZTask() |
| | | { |
| | | TaskTaskID = dto.DTaskId, |
| | | //TaskType = dto.TaskType, |
| | | TaskType = dto.TaskType, |
| | | TaskEndAddress = dto.InputValue, |
| | | TaskStatus = TaskInStatusEnum.InNew.ToString(), |
| | | CreateDate = DateTime.Now, |
| | | TaskStartDate = DateTime.Now, |
| | | TaskEndDate = DateTime.Now.AddDays(1), |
| | | //TaskName = dto.TaskType.ToString(), |
| | | TaskName = dto.TaskType.ToString(), |
| | | TaskNumber = dto.Number, |
| | | TaskExecutor = "CZ", |
| | | TaskOrderNo = dto.OrderNo, |
| | |
| | | } |
| | | return Task.FromResult(response); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å®æä»»å¡ |
| | | /// </summary> |
| | | /// <param name="dto"></param> |
| | | /// <returns></returns> |
| | | public Task<WebResponseContent> FinishTask(CZTaskFinshDto dto) |
| | | { |
| | | WebResponseContent response = new WebResponseContent(); |
| | | try |
| | | { |
| | | var czTask = BaseDal.QueryFirst(x => x.TaskTaskID == dto.TaskId); |
| | | if (czTask == null) |
| | | { |
| | | response.Error("ä»»å¡ä¸åå¨ï¼"); |
| | | return Task.FromResult(response); |
| | | } |
| | | if (dto.Tags.Contains("æ£æ")) |
| | | { |
| | | czTask.TaskZJFinishNumber += 1; |
| | | } |
| | | else |
| | | { |
| | | czTask.TaskFJFinishNumber += 1; |
| | | } |
| | | if (czTask.TaskZJFinishNumber == czTask.TaskNumber || czTask.TaskFJFinishNumber == czTask.TaskNumber) |
| | | { |
| | | czTask.TaskStatus = TaskInStatusEnum.InFinish.ToString(); |
| | | czTask.TaskEndDate = DateTime.Now; |
| | | } |
| | | else |
| | | { |
| | | czTask.TaskStatus = TaskInStatusEnum.Line_InExecuting.ToString(); |
| | | } |
| | | |
| | | var details = new DtCZTaskDetails() |
| | | { |
| | | MaterialBarCode = dto.MaterialBarcode, |
| | | MaterialType = dto.ProductCode, |
| | | TaskDescription = "åæºæäº¤ä»»å¡å®æ", |
| | | TaskEndAddress = czTask.TaskEndAddress, |
| | | TaskName = czTask.TaskName, |
| | | TaskType = czTask.TaskType, |
| | | TaskStatus = czTask.TaskStatus, |
| | | }; |
| | | _detailsRepository.AddData(details); |
| | | |
| | | //if (dto.FinishNum is < 1 or > 4) |
| | | // throw new ArgumentException("åæ°é误ï¼FinishNum å¿
须为 1-4"); |
| | | |
| | | //var detail = dto.FinishNum == 1 |
| | | // ? new CZTaskBarCodeDto() |
| | | // : JsonSerializer.Deserialize<CZTaskBarCodeDto>(czTask.DtCZTaskDetails) ?? new CZTaskBarCodeDto(); |
| | | |
| | | //var property = dto.FinishNum switch |
| | | //{ |
| | | // 1 => nameof(CZTaskBarCodeDto.BarCode1), |
| | | // 2 => nameof(CZTaskBarCodeDto.BarCode2), |
| | | // 3 => nameof(CZTaskBarCodeDto.BarCode3), |
| | | // 4 => nameof(CZTaskBarCodeDto.BarCode4), |
| | | // _ => throw new ArgumentOutOfRangeException("åæ°é误ï¼è¯·æ£æ¥ãFinishNumãï¼") |
| | | //}; |
| | | |
| | | //typeof(CZTaskBarCodeDto).GetProperty(property)?.SetValue(detail, dto.MaterialBarcode); |
| | | |
| | | //czTask.DtCZTaskDetails = JsonSerializer.Serialize(detail); |
| | | |
| | | var isTrue = BaseDal.UpdateData(czTask); |
| | | if (isTrue) |
| | | { |
| | | response.OK("ä»»å¡å®ææåï¼"); |
| | | } |
| | | else |
| | | { |
| | | response.Error("ä»»å¡å®æå¤±è´¥ï¼"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | response.Error(ex.Message); |
| | | } |
| | | return Task.FromResult(response); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è¾éçº¿åæµ |
| | | /// </summary> |
| | | /// <param name="saveModel"></param> |
| | | /// <returns></returns> |
| | | public Task<WebResponseContent> EmptyTask(SaveModel saveModel) |
| | | { |
| | | WebResponseContent webResponseContent = new WebResponseContent(); |
| | | try |
| | | { |
| | | string Saddress = saveModel.MainData["sourceAddress"].ToString(); |
| | | string Taddress = saveModel.MainData["targetAddress"].ToString(); |
| | | |
| | | Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == Saddress && x.TaskState == (int)TaskInStatusEnum.InPending && x.TargetAddress == "WaitBind"); |
| | | if (task == null) |
| | | { |
| | | webResponseContent.Error("ä»»å¡ä¸åå¨ï¼"); |
| | | return Task.FromResult(webResponseContent); |
| | | } |
| | | task.TargetAddress = Taddress; |
| | | task.TaskState = (int)TaskInStatusEnum.InNew; |
| | | var isTrue = _taskRepository.UpdateData(task); |
| | | if (isTrue) |
| | | { |
| | | webResponseContent.OK("ä»»å¡ä¸åæåï¼"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | webResponseContent.Error(ex.Message); |
| | | } |
| | | return Task.FromResult(webResponseContent); |
| | | } |
| | | } |
| | | } |
| | | } |