xiangpei
2024-09-04 bf885e8a827d2f1665db56d484e43946948f1ac6
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -211,7 +211,7 @@
                notAddList.add(workOrder);
                continue;
            }
            workOrder.setWorkOrderNo(IdUtils.randomNO());
            workOrder.setWorkOrderNo(IdUtils.randomNO(now));
            if (Objects.nonNull(point.getUnitId())) {
                workOrder.setUnitId(Math.toIntExact(point.getUnitId()));
            }
@@ -268,12 +268,12 @@
    @Override
    public Result add(WorkOrderForm form) {
        WorkOrder entity = WorkOrderForm.getEntityByForm(form, null);
        entity.setWorkOrderNo(IdUtils.randomNO());
        entity.setCreateTime(DateUtils.getNowDate());
        entity.setStatus(WorkOrderStatusEnum.WAIT_DISTRIBUTE);
        Date now = new Date();
        entity.setCreateTime(now);
        entity.setUpdateTime(now);
        entity.setWorkOrderNo(IdUtils.randomNO(now));
        entity.setErrorType(String.join(",", form.getErrorType()));
        List<WorkOrderErrorType> workOrderErrorTypes = form.getErrorType().stream().map(errorType -> new WorkOrderErrorType(entity.getWorkOrderNo(), errorType)).toList();
        workOrderErrorTypeService.getBaseMapper().insertWorkOrderErrorTypeList(workOrderErrorTypes);
@@ -464,6 +464,7 @@
    @Override
    public Result page(WorkOrderQuery query) {
        IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class);
        query.setUnitId(SecurityUtils.getUnitId());
        baseMapper.page(page, query);
        if (! CollectionUtils.isEmpty(page.getRecords())) {
            page.getRecords().stream().forEach(item -> {
@@ -743,6 +744,12 @@
    @Override
    public Result processImg(String workOrderNo) {
        WorkOrder workOrder = new LambdaQueryChainWrapper<>(baseMapper)
                .eq(WorkOrder::getWorkOrderNo, workOrderNo)
                .one();
        if (Objects.isNull(workOrder)) {
            throw new RuntimeException("此工单不存在");
        }
        // 运维记录
        List<WorkOrderYwConditionRecordVO> workOrderYwConditionRecordVOS = this.selectYwConditionByYwId(workOrderNo);
        // 审核记录
@@ -750,6 +757,25 @@
        WorkOrderProcessVO process = new WorkOrderProcessVO();
        process.setYwList(workOrderYwConditionRecordVOS);
        process.setAuditingList(workOrderAuditingRecords);
        // 查询点位事前事后最新的一条数据是否审核通过
        ReportAuditingRecordVO beforeRecord = ywPointService.getReportResult(workOrder.getSerialNumber(), "事前报备");
        ReportAuditingRecordVO afterRecord = ywPointService.getReportResult(workOrder.getSerialNumber(), "事后报备");
        Date now = new Date();
        if (Objects.nonNull(beforeRecord)) {
            if (beforeRecord.getStartCreateTime().after(now)) {
                process.setBeforeReportMsg("事前报备已失效");
            } else if (beforeRecord.getEndCreateTime().before(now)){
                process.setBeforeReportMsg("事前报备未生效");
            }
        }
        if (Objects.nonNull(afterRecord)) {
            if (afterRecord.getStartCreateTime().after(now)) {
                process.setAfterReportMsg("事后报备已失效");
            } else if (afterRecord.getEndCreateTime().before(now)){
                process.setAfterReportMsg("事后报备未生效");
            }
        }
        return Result.ok().data(process);
    }
}