예제 #1
0
        /// <summary>
        /// 指派维修员
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <bool> AssignRepairMan(MaintenanceAssignRpRequest 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.Received)
            {
                var desc = maintenanceInfo.MaintenancStatus.Value.GetEnumDescription <EMaintenancStatus>();
                throw new SinoException(string.Format(ErrorCode.E30017, desc), nameof(ErrorCode.E30017).GetCode());
            }

            //进行指派操作
            MaintenanceInfo maintenance = new MaintenanceInfo();

            maintenance.MaintenancStatus = (int)EMaintenancStatus.AssignRP;
            maintenance.RepairmanId      = request.RepairManId;
            maintenance.Id = request.Id.Value;
            maintenance.LastModificationTime = DateTime.Now;
            List <string> updateCols = new List <string>();

            updateCols.Add(nameof(MaintenanceInfo.MaintenancStatus));
            updateCols.Add(nameof(MaintenanceInfo.RepairmanId));
            updateCols.Add(nameof(MaintenanceInfo.LastModificationTime));
            var result = await _MaintenanceInfoRep.UpdateAssignFieldsById(maintenance, updateCols);

            return(result > 0);
        }
예제 #2
0
 public async Task AssignRepairMan(MaintenanceAssignRpRequest request)
 {
     _logger.Info(new LogInfo()
     {
         Method = nameof(AssignRepairMan), Argument = new { request }, Description = "服务商指派维修员"
     });
     await _MaintenanceInfoService.AssignRepairMan(request);
 }