k94314517
2025-05-15 e0eb2c2c0cf40b6e30a7345027ddd3817c4cc9e9
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -131,6 +131,8 @@
    @Autowired
    private PlatformWarnEventServiceImpl platformWarnEventService;
    @Autowired
    private PlatformWarnEventMapper platformWarnEventMapper;
    @Autowired
    private MemberMapper memberMapper;
    @Autowired
    private WxNoticeConfigMapper wxNoticeConfigMapper;
@@ -324,7 +326,6 @@
                .eq(pageWrap.getModel().getInType() != null, PlatformJob::getInType, pageWrap.getModel().getInType())
                .eq(pageWrap.getModel().getTotalNum() != null, PlatformJob::getTotalNum, pageWrap.getModel().getTotalNum())
                .eq(pageWrap.getModel().getPlatformGroupId() != null, PlatformJob::getPlatformGroupId, pageWrap.getModel().getPlatformGroupId())
                .apply(pageWrap.getModel().getQueryStatus() != null, " find_in_set(t.`STATUS`,'"+pageWrap.getModel().getQueryStatus()+"')")
                .apply(pageWrap.getModel().getQueryStatusForPower() != null, " find_in_set(t.`STATUS`,'"+pageWrap.getModel().getQueryStatusForPower()+"')")
                .apply(pageWrap.getModel().getQueryType() != null, " find_in_set(t.TYPE,'"+pageWrap.getModel().getQueryType()+"')")
@@ -334,9 +335,13 @@
                .le(pageWrap.getModel().getBeginWorkDateEnd() != null, PlatformJob::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getBeginWorkDateEnd()))
                .ge(pageWrap.getModel().getBeginDoneDateStart() != null, PlatformJob::getDoneDate, Utils.Date.getStart(pageWrap.getModel().getBeginDoneDateStart()))
                .le(pageWrap.getModel().getBeginDoneDateEnd() != null, PlatformJob::getDoneDate, Utils.Date.getEnd(pageWrap.getModel().getBeginDoneDateEnd()))
                .isNotNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
                .isNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
//                .isNotNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()),
//                        PlatformJob::getContractNum)
//                .isNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
                .exists(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()),
                        "select 1  from platform_wms_detail tt where tt.isdeleted=0  and  tt.job_id=t.id")
                .notExists(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()),
                        "select 1  from platform_wms_detail tt where tt.isdeleted=0  and  tt.job_id=t.id")
                .exists(StringUtils.isNotBlank(pageWrap.getModel().getWmsContractNum()),
                        "select tt.id from platform_wms_detail tt where tt.isdeleted=0 and tt.contract_num='"+pageWrap.getModel().getWmsContractNum()+"' and  tt.job_id=t.id");
        queryWrapper.orderByDesc(PlatformJob::getCreateDate);
@@ -355,8 +360,6 @@
        });
        return PageData.from(platformJobIPage);
    }
    @Override
    public PageData<PlatformJob> platformCallList(PageWrap<PlatformJob> pageWrap) {
@@ -699,9 +702,8 @@
            );
            if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemUserList)) {
                WxPlatNotice wxPlatNotice = new WxPlatNotice();
                wxPlatNotice.sendPlatformJobSignNotice(wxNoticeConfigMapper, platformJob,
                wxPlatNotice.sendPlatformJobSignNotice(systemDictDataBiz,wxNoticeConfigMapper, platformJob,
                        WxPlatConstants.platformJobContent.platformGroupSignIn,
                        systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                        systemUserList.stream().map(i->i.getOpenid()).collect(Collectors.toList())
                );
            }
@@ -738,16 +740,16 @@
                    PlatformGroup platformGroup = platformGroupMapper.selectById(groupId);
                    if(Objects.nonNull(platformGroup)&&StringUtils.isNotBlank(platformGroup.getUnFinishNoticeUsers())){
                        List<SystemUser> systemUserList = systemUserMapper.selectList(new QueryWrapper<SystemUser>().lambda()
                                .eq(SystemUser::getDeleted,Constants.ZERO).eq(SystemUser::getStatus,Constants.ZERO).isNotNull(SystemUser::getOpenid)
                                .eq(SystemUser::getDeleted,Constants.ZERO).eq(SystemUser::getStatus,Constants.ZERO)
                                .isNotNull(SystemUser::getOpenid)
                                .in(SystemUser::getMemberId,Arrays.asList(platformGroup.getUnFinishNoticeUsers().split(",")))
                        );
                        if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemUserList)) {
                            WxPlatNotice wxPlatNotice = new WxPlatNotice();
                            wxPlatNotice.sendUnFinishNotice(
                            wxPlatNotice.sendUnFinishNotice(systemDictDataBiz,
                                    wxNoticeConfigMapper,
                                    platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformGroupId(),groupId)).collect(Collectors.toList()).size(),
                                    WxPlatConstants.platformJobContent.unFinishNotice,
                                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                                    systemUserList.stream().map(i->i.getOpenid()).collect(Collectors.toList())
                            );
                        }
@@ -755,12 +757,7 @@
                }
            }
        }
    }
    public void distanceSignIn(SignInDTO signInDTO , PlatformJob platformJob){
@@ -1026,7 +1023,6 @@
            wxPlatNotice.sendPlatformJobTemplateNotice(systemDictDataBiz,
                    wxNoticeConfigMapper, p,
                    objCode,
                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                    Arrays.asList(driver.getOpenid().split(","))
            );
        }
@@ -1142,6 +1138,11 @@
                        if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.DONE.getKey())){
                            //如果已下发成功,标记已授权离园状态
                            platformJob.setStatus(Constants.PlatformJobStatus.AUTHED_LEAVE.getKey());
                            //删除报警信息
                            platformWarnEventMapper.update(new UpdateWrapper<PlatformWarnEvent>().lambda()
                                    .set(PlatformWarnEvent::getIsdeleted,Constants.ONE)
                                    .eq(PlatformWarnEvent::getPlatformId,platformJob.getId())
                            );
                        }
                    }else{
                        platformJob.setInHkstatus(Constants.THREE);
@@ -1606,6 +1607,12 @@
        //存储操作日志
        savePlatformLog(Constants.PlatformJobLogType.DONE.getKey(),oldPlatformJob,platformJob ,
                Constants.PlatformJobLogType.DONE.getInfo());
        //删除报警信息
        platformWarnEventMapper.update(new UpdateWrapper<PlatformWarnEvent>().lambda()
                .set(PlatformWarnEvent::getIsdeleted,Constants.ONE)
                .eq(PlatformWarnEvent::getPlatformId,platformJob.getId())
        );
        if(Constants.equalsInteger(platformJob.getType(),Constants.THREE)){
            // 外协车装货 查询TMS 电子锁情况
@@ -2450,7 +2457,7 @@
                platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda()
                        .set(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey())
                        .set(PlatformJob::getDoneDate,new Date())
                        .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())
                        .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey(),Constants.PlatformJobStatus.WAIT_CALL.getKey())
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                        .in(PlatformJob::getId,platformJobList.stream().map(i->i.getId()).collect(Collectors.toList())));
            }
@@ -2460,5 +2467,37 @@
    }
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public PlatformJob restoreWork(JobOperateDTO jobOperateDTO){
        if(Objects.isNull(jobOperateDTO)
                || Objects.isNull(jobOperateDTO.getJobId())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId());
        if(Objects.isNull(platformJob)||Constants.equalsInteger(platformJob.getIsdeleted(),Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.EXCEPTION.getKey())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,业务状态已流转!");
        }
        Platform platform = platformJoinMapper.selectById(platformJob.getPlatformId());
        if(Objects.isNull(platform)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到月台信息");
        }
        PlatformJob oldPlatformJob = new PlatformJob();
        BeanUtils.copyProperties(platformJob,oldPlatformJob);
        if(Objects.isNull(platformJob.getStartDate())){
            platformJob.setStartDate(new Date());
        }
        platformJob.setStatus(Constants.PlatformJobStatus.WORKING.getKey());
        platformJob.setEditDate(new Date());
        platformJobMapper.updateById(platformJob);
        //存储操作日志
        savePlatformLog(Constants.PlatformJobLogType.WORKING.getKey(),oldPlatformJob,platformJob,
                Constants.PlatformJobLogType.WORKING.getInfo().replace("{data}",platform.getName()));
        return platformJob;
    }
}