/// <summary> /// 转派操作 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <bool> TransformAssign(TransformAssignRequest request) { //判断该工单状态是否可以转派工单 var maintenanceInfo = await this.GetById(request.Id.Value); if (maintenanceInfo == null) { throw new SinoException(ErrorCode.E30016, nameof(ErrorCode.E30016).GetCode()); } //在已受理(已被服务商指派维修员)的状态下才可以领取工单 if (maintenanceInfo.MaintenancStatus.Value != (int)EMaintenancStatus.AssignRP) { var desc = maintenanceInfo.MaintenancStatus.Value.GetEnumDescription <EMaintenancStatus>(); throw new SinoException(string.Format(ErrorCode.E30020, desc), nameof(ErrorCode.E30020).GetCode()); } //进行转派操作 MaintenanceInfo maintenance = new MaintenanceInfo(); maintenance.Id = request.Id.Value; maintenance.RepairmanId = request.NewRepairManId; maintenance.LastModificationTime = DateTime.Now; List <string> updateCols = new List <string>(); updateCols.Add(nameof(MaintenanceInfo.RepairmanId)); updateCols.Add(nameof(MaintenanceInfo.LastModificationTime)); var result = await _MaintenanceInfoRep.UpdateAssignFieldsById(maintenance, updateCols); return(result > 0); }
public async Task TransformAssign(TransformAssignRequest request) { _logger.Info(new LogInfo() { Method = nameof(TransformAssign), Argument = new { request }, Description = "维修员转派操作" }); await _MaintenanceInfoService.TransformAssign(request); }