k94314517
2024-06-28 43db8d016dc5079da163c02a6e7d63185c78b3af
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -291,7 +291,8 @@
                        .ge(noticesDTO.getStartDate() != null, Notices::getCreateDate, Utils.Date.getStart(noticesDTO.getStartDate() ))
                        .le(noticesDTO.getEndDate() != null,  Notices::getCreateDate, Utils.Date.getEnd(noticesDTO.getEndDate() ))
                        .eq(noticesDTO.getType() != null,  Notices::getType, noticesDTO.getType())
                        .eq(Notices::getUserId,noticesDTO.getMemberId()).orderByDesc(Notices::getCreateDate)
                        .eq(Notices::getUserId,noticesDTO.getMemberId())
                        .orderByDesc(Notices::getCreateDate)
                );
        internalHomeVO.setTaskNum(noticesList.size());
        if(CollectionUtils.isNotEmpty(noticesList)){
@@ -748,6 +749,9 @@
                        ||Constants.equalsInteger(level.getStatus(),Constants.approveStatus.pass)){
                    waitModel.setMemberName(waitList.size() +"人会签");
                }
                if(CollectionUtils.isNotEmpty(waitList)){
                    waitModel.setCreateDate(waitList.get(Constants.ZERO).getCreateDate());
                }
                waitModel.setApproveList(waitList);
                list.add(waitModel);
            }else if(waitList.size()>0){
@@ -774,6 +778,9 @@
                //如果是或签
                if(passList.size()>0){
                    approveList.addAll(otherPassList);
                }
                if(CollectionUtils.isNotEmpty(approveList)){
                    waitModel.setCreateDate(approveList.get(Constants.ZERO).getCreateDate());
                }
                waitModel.setMemberName("已抄送"+ approveList.size() +"人");
                waitModel.setApproveList(approveList);
@@ -1055,8 +1062,10 @@
                //修改自己的通知记录
                noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
                        .set(Notices::getEditDate,new Date())
                        .set(Notices::getParam4,approveDTO.getLoginUserInfo().getMemberId())
                        .set(Notices::getReaded,Constants.ONE)
                        .set(Notices::getParam2,approve.getStatus())
                        .set(Notices::getParam2,Constants.TWO)
                        .set(Notices::getStatus,Constants.ONE)
                        .eq(Notices::getId,notices.getId())
                );
                //修改 未处理的 通知数据 为抄送
@@ -1064,7 +1073,8 @@
                    noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
                            .set(Notices::getEditDate,new Date())
                            .set(Notices::getSendacopy,Constants.ONE)
                            .set(Notices::getParam2,approve.getStatus())
                            .set(Notices::getStatus,Constants.ONE)
                            .set(Notices::getParam2,Constants.TWO)
                            .eq(Notices::getObjId,notices.getObjId())
                            .eq(Notices::getObjType,notices.getObjType())
                            .eq(Notices::getReaded,Constants.ZERO)
@@ -1078,19 +1088,23 @@
            if((Constants.equalsInteger(approve.getApproveType(),Constants.ZERO)
                    || Constants.equalsInteger( approve.getApproveType(),Constants.TWO)) && Constants.equalsInteger(approve.getIsEndCheck(),Constants.ONE)){
                //或签 / 单人审 且 终审
                approveJoinMapper.update(null,new UpdateWrapper<Approve>()
                        .lambda()
                        .set(Approve::getStatus,Constants.approveStatus.otherDeal)
                        .in(Approve::getId,approveList.stream().map(m->m.getId()).collect(Collectors.toList())));
                if(CollectionUtils.isNotEmpty(approveList)){
                    approveJoinMapper.update(null,new UpdateWrapper<Approve>()
                            .lambda()
                            .set(Approve::getStatus,Constants.approveStatus.otherDeal)
                            .in(Approve::getId,approveList.stream().map(m->m.getId()).collect(Collectors.toList())));
                }
                dealBusinessBean = true;
            }else if((approve.getApproveType().equals(Constants.ZERO)
                    || approve.getApproveType().equals(Constants.TWO)) &&approve.getIsEndCheck()!=Constants.ONE){
                //或签 / 单人审 非终审 则开启下一步业务流程
                /**处理本级数据**/
                approveJoinMapper.update(null,new UpdateWrapper<Approve>()
                        .lambda()
                        .set(Approve::getStatus,Constants.approveStatus.otherDeal)
                        .in(Approve::getId,approveList.stream().map(m->m.getId()).collect(Collectors.toList())));
                if(CollectionUtils.isNotEmpty(approveList)){
                    approveJoinMapper.update(null,new UpdateWrapper<Approve>()
                            .lambda()
                            .set(Approve::getStatus,Constants.approveStatus.otherDeal)
                            .in(Approve::getId,approveList.stream().map(m->m.getId()).collect(Collectors.toList())));
                }
                /**开启下一级别的数据为待审核**/
                approveJoinMapper.update(null,new UpdateWrapper<Approve>()
                        .lambda()
@@ -1107,7 +1121,7 @@
                    dealBusinessBean = true;
                }
            }
            this.passNextNotices(dealBusinessBean,notices,approve,approveList,approveCopyList);
            this.passNextNotices(dealBusinessBean,notices,approve,approveList,approveCopyList,approveDTO);
        }
        //处理业务数据
        if(dealBusinessBean){
@@ -1121,12 +1135,14 @@
     * @param approve  审批记录
     * @param approveList  同级待审批数据
     */
    public void passNextNotices(Boolean dealBusinessBean,Notices notices,Approve approve,List<Approve> approveList,List<Approve> copyList){
    public void passNextNotices(Boolean dealBusinessBean,Notices notices,Approve approve,List<Approve> approveList,List<Approve> copyList,ApproveDTO approveDTO){
        //1、修改自己的数据记录
        noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
                .set(Notices::getEditDate,new Date())
                .set(Notices::getReaded,Constants.ONE)
                .set(dealBusinessBean,Notices::getParam2,approve.getStatus())
                .set(Notices::getStatus,Constants.ONE)
                .set(dealBusinessBean,Notices::getParam2,Constants.ONE)
                .set(Notices::getParam4,approveDTO.getLoginUserInfo().getMemberId())
                .eq(Notices::getId,notices.getId())
        );
        if(Constants.equalsInteger(approve.getApproveType(),Constants.ZERO)){
@@ -1136,7 +1152,9 @@
                    .set(Notices::getEditDate,new Date())
                    .set(Notices::getReaded,Constants.ONE)
                    .set(Notices::getSendacopy,Constants.ONE)
                    .set(dealBusinessBean,Notices::getParam2,approve.getStatus())
                    .set(Notices::getStatus,Constants.ONE)
                    .set(Notices::getParam4,approveDTO.getLoginUserInfo().getMemberId())
                    .set(dealBusinessBean,Notices::getParam2,Constants.ONE)
                    .eq(Notices::getObjId,notices.getObjId())
                    .eq(Notices::getObjType,notices.getObjType())
                    .ne(Notices::getId,notices.getId())