| | |
| | | import com.ycl.platform.domain.query.DistributeWorkOrderQuery; |
| | | import com.ycl.platform.domain.vo.DistributeWorkOrderVO; |
| | | import com.ycl.platform.mapper.*; |
| | | import com.ycl.platform.service.NotifyService; |
| | | import com.ycl.platform.service.WorkOrderService; |
| | | import com.ycl.system.Result; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.ycl.system.page.PageUtil; |
| | | import com.ycl.utils.DateUtils; |
| | | import com.ycl.utils.SecurityUtils; |
| | | import enumeration.general.FastDistributeTypeEnum; |
| | | import enumeration.general.NotifyTypeEnum; |
| | | import enumeration.general.WorkOrderStatusEnum; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.beans.BeanUtils; |
| | |
| | | private final YwPeopleMapper ywPeopleMapper; |
| | | private final WorkOrderAuditingRecordMapper workOrderAuditingRecordMapper; |
| | | private final WorkOrderYwConditionRecordMapper workOrderYwConditionRecordMapper; |
| | | private final NotifyService notifyService; |
| | | |
| | | |
| | | /** |
| | |
| | | @Override |
| | | public Result add(WorkOrderForm form) { |
| | | WorkOrder entity = WorkOrderForm.getEntityByForm(form, null); |
| | | entity.setWorkOrderNo(DateUtils.dateTimeNow()); |
| | | entity.setCreateTime(DateUtils.getNowDate()); |
| | | entity.setStatus(WorkOrderStatusEnum.WAIT_DISTRIBUTE); |
| | | entity.setDeleted("0"); |
| | | if(baseMapper.insert(entity) > 0) { |
| | | return Result.ok("添加成功"); |
| | | } |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Result auditing(WorkOrderAuditingForm form) { |
| | | WorkOrder workOrder = baseMapper.selectById(form.getId()); |
| | | if (Objects.isNull(workOrder)) { |
| | | throw new ServiceException("工单不存在"); |
| | | } |
| | | // 工单状态 |
| | | workOrder.setStatus(form.getAuditingResult()); |
| | | baseMapper.updateById(workOrder); |
| | | // 添加一条审核记录 |
| | | WorkOrderAuditingRecord workOrderAuditingRecord = new WorkOrderAuditingRecord(); |
| | | workOrderAuditingRecord.setWorkOrderId(workOrder.getId()); |
| | | workOrderAuditingRecord.setAuditingUser(1); |
| | | workOrderAuditingRecord.setAuditingUser(SecurityUtils.getLoginUser().getUserId().intValue()); |
| | | workOrderAuditingRecord.setResult(form.getAuditingResult().getDesc()); |
| | | workOrderAuditingRecord.setRemark(form.getAuditingRemark()); |
| | | workOrderAuditingRecordMapper.insert(workOrderAuditingRecord); |
| | | // 添加新通知 |
| | | Notify notify = new Notify(NotifyTypeEnum.WORK_ORDER, form.getAuditingResult().getDesc(), workOrder.getYwPeopleId(), "0", "0", workOrder.getId()); |
| | | notifyService.save(notify); |
| | | return Result.ok("操作成功"); |
| | | } |
| | | |
| | |
| | | throw new ServiceException("工单不存在"); |
| | | } |
| | | // 工单状态 |
| | | // workOrder.setStatus("commit-condition"); |
| | | workOrder.setStatus(WorkOrderStatusEnum.YW_HANDLE); |
| | | baseMapper.updateById(workOrder); |
| | | // 添加一条运维情况记录 |
| | | WorkOrderYwConditionRecord workOrderYwConditionRecord = new WorkOrderYwConditionRecord(); |
| | | workOrderYwConditionRecord.setWorkOrderId(workOrder.getId()); |
| | | workOrderYwConditionRecord.setCommitUser(1); |
| | | workOrderYwConditionRecord.setCommitUser(SecurityUtils.getLoginUser().getUserId().intValue()); |
| | | workOrderYwConditionRecord.setYwCondition(form.getYwCondition()); |
| | | workOrderYwConditionRecord.setYwProofMaterials(form.getYwProofMaterials()); |
| | | workOrderYwConditionRecordMapper.insert(workOrderYwConditionRecord); |
| | | return Result.ok("操作成功"); |
| | | } |
| | | |
| | | @Override |
| | | public Result selectYwConditionByYwId(String id) { |
| | | return Result.ok().data( |
| | | new LambdaQueryChainWrapper<>(workOrderYwConditionRecordMapper) |
| | | .eq(WorkOrderYwConditionRecord::getWorkOrderId, id) |
| | | .orderByDesc(WorkOrderYwConditionRecord::getCreateTime) |
| | | .last("limit 1") |
| | | .one()); |
| | | } |
| | | |
| | | @Override |
| | |
| | | public Result page(WorkOrderQuery query) { |
| | | IPage<WorkOrder> page = new LambdaQueryChainWrapper<>(baseMapper) |
| | | .eq(StringUtils.hasText(query.getWorkOrderNo()), WorkOrder::getWorkOrderNo, query.getWorkOrderNo()) |
| | | .ne(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE) |
| | | .in(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED, WorkOrderStatusEnum.YW_HANDLE) |
| | | .eq(StringUtils.hasText(query.getErrorType()), WorkOrder::getErrorType, query.getErrorType()) |
| | | .between(Objects.nonNull(query.getStart()) && Objects.nonNull(query.getEnd()), |
| | | WorkOrder::getYwHandleTime, |
| | | DateUtils.getDayStart(query.getStart()), |