jiangping
2025-04-28 ab890bca34582e2ec8e2d4b19798f067ea075b7a
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -223,6 +223,7 @@
    @Override
    public List<PlatformJob> findList(PlatformJob platformJob) {
        platformJob.setIsdeleted(Constants.ZERO);
        QueryWrapper<PlatformJob> wrapper = new QueryWrapper<>(platformJob);
        return platformJobMapper.selectList(wrapper);
    }
@@ -247,6 +248,7 @@
                .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
                .leftJoin(SystemUser.class,SystemUser::getId,PlatformJob::getOutUserId)
                .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
                .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                .eq(pageWrap.getModel().getId() != null, PlatformJob::getId, pageWrap.getModel().getId())
                .eq(pageWrap.getModel().getCreator() != null, PlatformJob::getCreator, pageWrap.getModel().getCreator())
                .ge(pageWrap.getModel().getCreateDate() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
@@ -262,6 +264,7 @@
                .eq(pageWrap.getModel().getCode() != null, PlatformJob::getCode, pageWrap.getModel().getCode())
                .eq(pageWrap.getModel().getBillCode() != null, PlatformJob::getBillCode, pageWrap.getModel().getBillCode())
                .eq(pageWrap.getModel().getDriverId() != null, PlatformJob::getDriverId, pageWrap.getModel().getDriverId())
                .eq(pageWrap.getModel().getReasonId() != null, PlatformBooks::getReasonId, pageWrap.getModel().getReasonId())
                .eq(pageWrap.getModel().getDriverName() != null, PlatformJob::getDriverName, pageWrap.getModel().getDriverName())
                .eq(pageWrap.getModel().getPlateNum() != null, PlatformJob::getPlateNum, pageWrap.getModel().getPlateNum())
                .eq(pageWrap.getModel().getDrivierPhone() != null, PlatformJob::getDrivierPhone, pageWrap.getModel().getDrivierPhone())
@@ -336,14 +339,14 @@
                .isNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
                .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");
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
        queryWrapper.orderByDesc(PlatformJob::getCreateDate);
        /*for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        }*/
       IPage<PlatformJob> platformJobIPage = platformJobJoinMapper.selectJoinPage(page,PlatformJob.class,queryWrapper);
        platformJobIPage.getRecords().forEach(i->{
            i.dealTime();
@@ -685,7 +688,92 @@
        //存储操作日志
        savePlatformLog(Constants.PlatformJobLogType.SIGN.getKey(),oldPlatformJob,platformJob,
                Constants.PlatformJobLogType.SIGN.getInfo());
        //签到微信通知 2025年3月26日14:25:00
        logger.info("签到微信通知=========================>开始====签到类型=>"+signInDTO.getSignType()+"===>人员主键=>"+platformGroup.getSignInNoticeUsers());
        if(!Constants.equalsInteger(signInDTO.getSignType(),Constants.TWO)&&
                StringUtils.isNotBlank(platformGroup.getSignInNoticeUsers())){
            logger.info("签到微信通知=========================>进入");
            List<SystemUser> systemUserList = systemUserMapper.selectList(new QueryWrapper<SystemUser>().lambda()
                    .eq(SystemUser::getDeleted,Constants.ZERO).eq(SystemUser::getStatus,Constants.ZERO).isNotNull(SystemUser::getOpenid)
                    .in(SystemUser::getMemberId,Arrays.asList(platformGroup.getSignInNoticeUsers().split(",")))
            );
            if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemUserList)) {
                WxPlatNotice wxPlatNotice = new WxPlatNotice();
                wxPlatNotice.sendPlatformJobSignNotice(systemDictDataBiz,wxNoticeConfigMapper, platformJob,
                        WxPlatConstants.platformJobContent.platformGroupSignIn,
                        systemUserList.stream().map(i->i.getOpenid()).collect(Collectors.toList())
                );
            }
        }
        logger.info("签到微信通知=========================>结束");
    }
    @Override
    public void sendUnFinishNotice(){
        //状态 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 已过号  12取消(WMS)
        List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,
                new MPJLambdaWrapper<PlatformJob>()
                        .selectAll(PlatformJob.class)
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                        .isNotNull(PlatformJob::getPlatformGroupId)
                        .apply(" CREATE_DATE < now() ")
                        .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey()
                                ,Constants.PlatformJobStatus.WART_SIGN_IN.getKey()
                                ,Constants.PlatformJobStatus.WAIT_CALL.getKey()
                                ,Constants.PlatformJobStatus.IN_WAIT.getKey()
                                ,Constants.PlatformJobStatus.CALLED.getKey()
                                ,Constants.PlatformJobStatus.WORKING.getKey()
                                ,Constants.PlatformJobStatus.TRANSFERING.getKey()
                                ,Constants.PlatformJobStatus.EXCEPTION.getKey()
                                ,Constants.PlatformJobStatus.OVER_NUMBER.getKey()
                        )
        );
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){
            List<Integer> platformGroupId = platformJobList.stream().map(i->i.getPlatformGroupId()).collect(Collectors.toList());
            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformGroupId)){
                Set<Integer> setList = new HashSet<>(platformGroupId);
                for (Integer groupId:setList) {
                    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)
                                .in(SystemUser::getMemberId,Arrays.asList(platformGroup.getUnFinishNoticeUsers().split(",")))
                        );
                        if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(systemUserList)) {
                            WxPlatNotice wxPlatNotice = new WxPlatNotice();
                            wxPlatNotice.sendUnFinishNotice(systemDictDataBiz,
                                    wxNoticeConfigMapper,
                                    platformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformGroupId(),groupId)).collect(Collectors.toList()).size(),
                                    WxPlatConstants.platformJobContent.unFinishNotice,
                                    systemUserList.stream().map(i->i.getOpenid()).collect(Collectors.toList())
                            );
                        }
                    }
                }
            }
        }
    }
    public static void main(String[] args) {
        Integer key1 =20;
        Integer key2 =20;
        Integer key3 =30;
        Integer key4 =40;
        List<Integer> list = new ArrayList<>();
        list.add(key1);
        list.add(key2);
        list.add(key3);
        list.add(key4);
        Set<Integer> setList = new HashSet<>(list);
        for (Integer groupId:setList) {
            System.out.println(groupId);
        }
    }
    public void distanceSignIn(SignInDTO signInDTO , PlatformJob platformJob){
        if(Objects.isNull(signInDTO.getLat())
@@ -950,11 +1038,11 @@
            wxPlatNotice.sendPlatformJobTemplateNotice(systemDictDataBiz,
                    wxNoticeConfigMapper, p,
                    objCode,
                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                    Arrays.asList(driver.getOpenid().split(","))
            );
        }
    }
@@ -1578,7 +1666,9 @@
        //广播 led通知
        platformJob.setPlatformName(platform.getName());
        this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.DONE.getInfo(),
        this.broadcastAndLEed(platformJob,
                //Constants.PlatformLedContent.DONE.getInfo(),
                StringUtils.isBlank(platform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getInfo():platform.getLedContent(),
                Constants.PlatformBroadcastContent.DONE.getInfo());
        return platformJob;
    }
@@ -2352,5 +2442,34 @@
    }
    /**
     * 手动完成作业
     * @param jobIdList
     */
    @Override
    public void dealJobFinish(List<Integer> jobIdList){
        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(jobIdList)){
            List<PlatformJob> platformJobList = platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda()
                    .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                    .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey()
                            ,Constants.PlatformJobStatus.WART_SIGN_IN.getKey()
                            ,Constants.PlatformJobStatus.WAIT_CALL.getKey())
                    .in(PlatformJob::getId,jobIdList)
            );
            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformJobList)){
                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())
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                        .in(PlatformJob::getId,platformJobList.stream().map(i->i.getId()).collect(Collectors.toList())));
            }
        }
    }
}