| | |
| | | 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) |
| | |
| | | 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("ä»»å¡ä¸åå¨ï¼"); |
| | |
| | | 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) |
| | |
| | | { |
| | | 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) |
| | | { |
| | |
| | | return Task.FromResult(webResponseContent); |
| | | } |
| | | task.TargetAddress = Taddress; |
| | | task.ExceptionMessage = Exception; |
| | | task.TaskState = (int)TaskInStatusEnum.InNew; |
| | | var isTrue = _taskRepository.UpdateData(task); |
| | | if (isTrue) |