From b3afd18d58cc94bb94b8a91030d1b2fa89f637e6 Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期五, 25 四月 2025 10:48:41 +0800
Subject: [PATCH] 代码提交

---
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs |  139 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 131 insertions(+), 8 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 9a62871..ea6bac0 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,18 @@
 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)
@@ -75,5 +79,124 @@
             }
             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("姝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();
+                //}
+
+                var details = new DtCZTaskDetails()
+                {
+                    MaterialBarCode = dto.MaterialBarcode,
+                    MaterialType = dto.ProductCode,
+                    TaskDescription = "鍒涙櫤鎻愪氦浠诲姟瀹屾垚",
+                    TaskEndAddress = czTask.TaskEndAddress,
+                    TaskName = czTask.TaskName,
+                    TaskType = czTask.TaskType,
+                    TaskStatus = czTask.TaskStatus,
+                    TaskTaskID = czTask.TaskTaskID,
+                };
+                _detailsRepository.AddData(details);
+
+                //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