/// <summary> /// 维修员受理操作 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <bool> RPReceiveMaintenance(RPReceiveMaintenanceRequest 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.E30021, desc), nameof(ErrorCode.E30021).GetCode()); } //进行转派操作 MaintenanceInfo maintenance = new MaintenanceInfo(); maintenance.Id = request.Id.Value; maintenance.MaintenancStatus = (int)EMaintenancStatus.Accepting; maintenance.LastModificationTime = DateTime.Now; List <string> updateCols = new List <string>(); updateCols.Add(nameof(MaintenanceInfo.MaintenancStatus)); updateCols.Add(nameof(MaintenanceInfo.LastModificationTime)); var result = await _MaintenanceInfoRep.UpdateAssignFieldsById(maintenance, updateCols); return(result > 0); }
public async Task RPReceiveMaintenance(RPReceiveMaintenanceRequest request) { _logger.Info(new LogInfo() { Method = nameof(RPReceiveMaintenance), Argument = new { request }, Description = "维修员受理操作" }); await _MaintenanceInfoService.RPReceiveMaintenance(request); }