wanshenmean
2025-04-15 97ae26c59fe8c0f967903538e147240f8c1600a5
´úÂë¹ÜÀí/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs
@@ -32,10 +32,12 @@
    public class TaskCZService : ServiceBase<DtCZTask, ITaskCZRepository>, ITaskCZService
    {
        private readonly ITaskRepository _taskRepository;
        private readonly ITaskCZDetailsRepository _detailsRepository;
        public TaskCZService(ITaskCZRepository BaseDal, ITaskRepository taskRepository) : base(BaseDal)
        public TaskCZService(ITaskCZRepository BaseDal, ITaskRepository taskRepository, ITaskCZDetailsRepository detailsRepository) : base(BaseDal)
        {
            _taskRepository = taskRepository;
            _detailsRepository = detailsRepository;
        }
        public Task<WebResponseContent> AddTaskCZAsync(CZTaskDto dto)
@@ -112,26 +114,37 @@
                    czTask.TaskStatus = TaskInStatusEnum.Line_InExecuting.ToString();
                }
                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
                var details = new DtCZTaskDetails()
                {
                    1 => nameof(CZTaskBarCodeDto.BarCode1),
                    2 => nameof(CZTaskBarCodeDto.BarCode2),
                    3 => nameof(CZTaskBarCodeDto.BarCode3),
                    4 => nameof(CZTaskBarCodeDto.BarCode4),
                    _ => throw new ArgumentOutOfRangeException("参数错误!请检查【FinishNum】!")
                    MaterialBarCode = dto.MaterialBarcode,
                    MaterialType = dto.ProductCode,
                    TaskDescription = "创智提交任务完成",
                    TaskEndAddress = czTask.TaskEndAddress,
                    TaskName = czTask.TaskName,
                    TaskType = czTask.TaskType,
                    TaskStatus = czTask.TaskStatus,
                };
                _detailsRepository.AddData(details);
                typeof(CZTaskBarCodeDto).GetProperty(property)?.SetValue(detail, dto.MaterialBarcode);
                //if (dto.FinishNum is < 1 or > 4)
                //    throw new ArgumentException("参数错误!FinishNum å¿…须为 1-4");
                czTask.DtCZTaskDetails = JsonSerializer.Serialize(detail);
                //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)