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 | 68 ++++++++++++++++++++++++++++++++- 1 files changed, 65 insertions(+), 3 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 d209795..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" @@ -17,6 +17,8 @@ #endregion << 鐗� 鏈� 娉� 閲� >> +using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical; +using System.Text.Json; using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; @@ -29,8 +31,11 @@ { 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) @@ -56,7 +61,7 @@ TaskNumber = dto.Number, TaskExecutor = "CZ", TaskOrderNo = dto.OrderNo, - TaskOwner = "KH", + TaskOwner = "KH", TaskProductCode = dto.ProductCode, Creater = "KH" }; @@ -83,7 +88,7 @@ WebResponseContent response = new WebResponseContent(); try { - var czTask = BaseDal.QueryFirst(x => x.TaskTaskID == dto.TaskId); + var czTask = BaseDal.QueryFirst(x => x.TaskTaskID == dto.TaskId && x.TaskStatus == TaskInStatusEnum.InNew.ToString()); if (czTask == null) { response.Error("浠诲姟涓嶅瓨鍦紒"); @@ -106,6 +111,28 @@ { 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) { @@ -122,5 +149,40 @@ } 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