From 99d9d4ed78eeb7b59c5c2ce314a82765f08a600a Mon Sep 17 00:00:00 2001 From: wankeda <Administrator@DESKTOP-HAU3ST3> Date: 星期二, 15 四月 2025 17:05:54 +0800 Subject: [PATCH] 1 --- 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs | 129 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 119 insertions(+), 10 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs" index 175f289..fe2d2e1 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs" @@ -1,4 +1,5 @@ 锘�#region << 鐗� 鏈� 娉� 閲� >> + /*---------------------------------------------------------------- * 鍛藉悕绌洪棿锛歐IDESEAWCS_TaskInfoService * 鍒涘缓鑰咃細鑳$搴� @@ -11,13 +12,13 @@ * 淇敼鏃堕棿锛� * 鐗堟湰锛歏1.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; @@ -25,15 +26,16 @@ 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; + + public TaskCZService(ITaskCZRepository BaseDal, ITaskRepository taskRepository) : base(BaseDal) { + _taskRepository = taskRepository; } public Task<WebResponseContent> AddTaskCZAsync(CZTaskDto dto) @@ -49,13 +51,13 @@ 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, @@ -75,5 +77,112 @@ } 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 && x.TaskStatus == TaskInStatusEnum.InNew.ToString()); + if (czTask == null) + { + response.Error("浠诲姟涓嶅瓨鍦紒"); + return Task.FromResult(response); + } + if (dto.Tags.Contains("姝f瀬")) + { + 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(); + } + + + if (dto.FinishNum is < 1 or > 4) + throw new ArgumentException("鍙傛暟閿欒锛丗inishNum 蹇呴』涓� 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("鍙傛暟閿欒锛佽妫�鏌ャ�怓inishNum銆戯紒") + }; + + 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(); + string Exception = saveModel.MainData["Exception"].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.ExceptionMessage = Exception; + 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); + } } -} +} \ No newline at end of file -- Gitblit v1.9.3