MrShi
2025-01-06 e1ec365640eefdcb06abb1d73da0d80367f79be3
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
@@ -56,6 +56,8 @@
    @Autowired
    private YwPatrolTaskMapper ywPatrolTaskMapper;
    @Autowired
    private YwPatrolSchemeMapper ywPatrolSchemeMapper;
    @Override
@@ -175,7 +177,8 @@
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void patrolData(YwPatrolTaskRecord ywPatrolTaskRecord) {
        if(Objects.isNull(ywPatrolTaskRecord)
        || Objects.isNull(ywPatrolTaskRecord.getId())
            || Objects.isNull(ywPatrolTaskRecord.getId())
            || Objects.isNull(ywPatrolTaskRecord.getDealStatus())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
@@ -187,13 +190,17 @@
        if(!Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态已流转");
        }
        YwPatrolPoint ywPatrolPoint = ywPatrolPointMapper.selectById(model.getPointId());
        if(Objects.isNull(ywPatrolPoint)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        YwDevice ywDevice = ywDeviceMapper.selectById(ywPatrolPoint.getDeviceId());
        if(Objects.isNull(ywDevice)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        YwPatrolScheme ywPatrolScheme = ywPatrolSchemeMapper.selectById(model.getSchemeId());
        if(Objects.isNull(ywPatrolScheme)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到巡检计划信息");
        }
        if(!ywPatrolScheme.getUserIds().equals(loginUserInfo.getId().toString())){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"非您的巡检任务无法进行处理");
        }
        YwPatrolTask ywPatrolTask = ywPatrolTaskMapper.selectById(model.getTaskId());
        if(Objects.isNull(ywPatrolTask)){
@@ -202,8 +209,9 @@
        if(ywPatrolTask.getStartDate().getTime()>System.currentTimeMillis()){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"未到巡检时间无法进行该操作");
        }
        ywPatrolTaskRecordMapper.update(null,new UpdateWrapper<YwPatrolTaskRecord>().lambda()
                .set(YwPatrolTaskRecord::getDealStatus,ywDevice.getStatus())
                .set(YwPatrolTaskRecord::getDealStatus,ywPatrolTaskRecord.getDealStatus())
                .set(YwPatrolTaskRecord::getEditor,loginUserInfo.getId())
                .set(YwPatrolTaskRecord::getEditDate, DateUtil.getCurrDateTime())
                .set(YwPatrolTaskRecord::getDealDate, DateUtil.getCurrDateTime())
@@ -215,7 +223,8 @@
        if(ywPatrolTaskRecordMapper.selectCount(new QueryWrapper<YwPatrolTaskRecord>().lambda()
                .eq(YwPatrolTaskRecord::getTaskId,ywPatrolTask.getId())
                .eq(YwPatrolTaskRecord::getStatus,Constants.ZERO)
                .ne(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId()))==Constants.ZERO){
                .ne(YwPatrolTaskRecord::getId,ywPatrolTaskRecord.getId())
        )==Constants.ZERO){
            ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda()
                    .eq(YwPatrolTask::getId,ywPatrolTask.getId())
                    .set(YwPatrolTask::getStatus,Constants.THREE)
@@ -224,13 +233,36 @@
                    .set(YwPatrolTask::getDealUserId,loginUserInfo.getId())
                    .set(YwPatrolTask::getEditor,loginUserInfo.getId())
            );
            if(ywPatrolTaskMapper.selectCount(new QueryWrapper<YwPatrolTask>().lambda()
                    .eq(YwPatrolTask::getSchemeId,ywPatrolTask.getSchemeId())
                    .in(YwPatrolTask::getStatus,Constants.ZERO,Constants.ONE)
                    .ne(YwPatrolTask::getId,ywPatrolTask.getId())
            )==Constants.ZERO){
                ywPatrolSchemeMapper.update(null,new UpdateWrapper<YwPatrolScheme>().lambda()
                        .eq(YwPatrolScheme::getId,ywPatrolScheme.getId())
                        .set(YwPatrolScheme::getStatus,Constants.TWO)
                        .set(YwPatrolScheme::getEditDate,DateUtil.getCurrDateTime())
                        .set(YwPatrolScheme::getEditor,loginUserInfo.getId())
                );
            }
        }else{
            ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda()
                    .eq(YwPatrolTask::getId,ywPatrolTask.getId())
                    .set(YwPatrolTask::getStatus,Constants.ONE)
                    .set(YwPatrolTask::getEditDate,DateUtil.getCurrDateTime())
                    .set(YwPatrolTask::getEditor,loginUserInfo.getId())
            );
            if(Constants.equalsInteger(ywPatrolTask.getStatus(),Constants.ZERO)){
                ywPatrolTaskMapper.update(null,new UpdateWrapper<YwPatrolTask>().lambda()
                        .eq(YwPatrolTask::getId,ywPatrolTask.getId())
                        .set(YwPatrolTask::getStatus,Constants.ONE)
                        .set(YwPatrolTask::getEditDate,DateUtil.getCurrDateTime())
                        .set(YwPatrolTask::getEditor,loginUserInfo.getId())
                );
            }
            if(Constants.equalsInteger(ywPatrolScheme.getStatus(),Constants.ZERO)){
                ywPatrolSchemeMapper.update(null,new UpdateWrapper<YwPatrolScheme>().lambda()
                        .eq(YwPatrolScheme::getId,ywPatrolScheme.getId())
                        .set(YwPatrolScheme::getStatus,Constants.ONE)
                        .set(YwPatrolScheme::getEditDate,DateUtil.getCurrDateTime())
                        .set(YwPatrolScheme::getEditor,loginUserInfo.getId())
                );
            }
        }
        //附件数据
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywPatrolTaskRecord.getMultifileList())){
@@ -265,6 +297,7 @@
                .selectAll(YwPatrolTaskRecord.class)
                .selectAs(YwPatrolPoint::getName,YwPatrolTaskRecord::getPointName)
                .selectAs(YwPatrolPoint::getContent,YwPatrolTaskRecord::getContent)
                .selectAs(YwPatrolPoint::getDeviceId,YwPatrolTaskRecord::getDeviceId)
                .selectAs(SystemUser::getRealname,YwPatrolTaskRecord::getRealname)
                .selectAs(Company::getName,YwPatrolTaskRecord::getCompanyName)
                .leftJoin(YwPatrolPoint.class,YwPatrolPoint::getId,YwPatrolTaskRecord::getPointId)