From ecbdab9da9488cc58a1ac7064f9cffde4792fba4 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 28 六月 2024 09:51:01 +0800 Subject: [PATCH] 代码初始化 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java | 186 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 162 insertions(+), 24 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java index 77940c7..ecb91fd 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java @@ -18,6 +18,7 @@ import com.doumee.dao.business.join.VisitsJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.ApproveDataVO; +import com.doumee.dao.system.dto.NoticesDTO; import com.doumee.dao.system.join.NoticesJoinMapper; import com.doumee.dao.system.model.Notices; import com.doumee.dao.system.model.SystemUser; @@ -236,16 +237,92 @@ /** * 鍐呴儴浜哄憳H5椤甸潰棣栭〉 * @param memberId + * @param isDetail 鏄惁鏌ヨ璇︾粏 1鏄紱0鍚� * @return */ @Override - public InternalHomeVO getHomeData(Integer memberId){ + public InternalHomeVO getHomeDataH5(Integer memberId,Integer isDetail){ InternalHomeVO internalHomeVO = new InternalHomeVO(); internalHomeVO.setHomeImg(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.HOME_IMAGE).getCode()); - internalHomeVO.setTaskNum(approveMapper.selectCount(new QueryWrapper<Approve>().lambda().eq(Approve::getChekorId,memberId).eq(Approve::getStatus,Constants.ZERO))); + //浠诲姟鏁版嵁 + List<Notices> noticesList = noticesJoinMapper. + selectList(new QueryWrapper<Notices>().lambda() + .eq(Notices::getUserId,memberId).orderByDesc(Notices::getCreateDate)); + internalHomeVO.setTaskNum(noticesList.size()); + if(Constants.equalsInteger(Constants.ONE,isDetail)){ + if(CollectionUtils.isNotEmpty(noticesList)){ + //寰呮垜澶勭悊鐨勬暟鎹� + internalHomeVO.setNoticeWaitNum( + noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),memberId) + &&Constants.equalsInteger(i.getStatus(),Constants.ZERO) + &&Constants.equalsInteger(i.getSendacopy(),Constants.ZERO) + ).count() + ); + internalHomeVO.setNoticeDealNum( + noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),memberId) + &&Constants.equalsInteger(i.getStatus(),Constants.ONE) + &&Constants.equalsInteger(i.getSendacopy(),Constants.ZERO) + ).count() + ); + + internalHomeVO.setNoticeCreateNum( + noticesJoinMapper.selectCount(new QueryWrapper<Notices>().lambda().eq(Notices::getParam3,memberId)) + ); + + internalHomeVO.setNoticeCopyNum( + noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),memberId) + &&Constants.equalsInteger(i.getSendacopy(),Constants.ONE) + ).count() + ); + } + } + return internalHomeVO; } + + @Override + public InternalHomeVO getHomeDataPC(NoticesDTO noticesDTO){ + InternalHomeVO internalHomeVO = new InternalHomeVO(); + internalHomeVO.setHomeImg(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.HOME_IMAGE).getCode()); + //浠诲姟鏁版嵁 + List<Notices> noticesList = noticesJoinMapper. + selectList(new QueryWrapper<Notices>().lambda() + .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) + ); + internalHomeVO.setTaskNum(noticesList.size()); + if(CollectionUtils.isNotEmpty(noticesList)){ + //寰呮垜澶勭悊鐨勬暟鎹� + internalHomeVO.setNoticeWaitNum( + noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),noticesDTO.getMemberId()) + &&Constants.equalsInteger(i.getStatus(),Constants.ZERO) + &&Constants.equalsInteger(i.getSendacopy(),Constants.ZERO) + ).count() + ); + internalHomeVO.setNoticeDealNum( + noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),noticesDTO.getMemberId()) + &&Constants.equalsInteger(i.getStatus(),Constants.ONE) + &&Constants.equalsInteger(i.getSendacopy(),Constants.ZERO) + ).count() + ); + + internalHomeVO.setNoticeCreateNum( + noticesJoinMapper.selectCount(new QueryWrapper<Notices>().lambda().eq(Notices::getParam3,noticesDTO.getMemberId())) + ); + + internalHomeVO.setNoticeCopyNum( + noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),noticesDTO.getMemberId()) + &&Constants.equalsInteger(i.getSendacopy(),Constants.ONE) + ).count() + ); + } + + return internalHomeVO; + } /** * 鍒涘缓瀹℃壒娴佺▼ @@ -312,6 +389,27 @@ * @param approveList */ public void organizeApproveData(ApproveTempl approveTempl,List<ApproveParam> approveParamList,Member createMember,Integer businessId,List<Approve> approveList){ + + //鍒涘缓榛樿浜轰俊鎭� + Approve createUserApprove = new Approve(); + createUserApprove.setRemark("鍙戣捣鐢宠"); + createUserApprove.setCreateDate(new Date()); + createUserApprove.setIsdeleted(Constants.ZERO); + createUserApprove.setTemplatId(approveTempl.getId()); + createUserApprove.setChekorId(createMember.getId()); + createUserApprove.setStatus(Constants.approveStatus.pass); + createUserApprove.setTitle("鍙戣捣鐢宠"); + createUserApprove.setStatusInfo(""); + createUserApprove.setIsEndCheck(Constants.ZERO); + createUserApprove.setObjId(businessId); + createUserApprove.setLevel(-1); + createUserApprove.setObjType(approveTempl.getType()); + createUserApprove.setApproveType(Constants.TWO); + createUserApprove.setDriverParam(Constants.ZERO); + createUserApprove.setAddrParam(Constants.ZERO); + createUserApprove.setType(Constants.ZERO); + approveList.add(createUserApprove); + //瀹℃壒涓氬姟鏁版嵁 for (int i = 0; i < approveParamList.size(); i++) { ApproveParam approveParam = approveParamList.get(i); @@ -325,6 +423,24 @@ if(i==0){ if(jsonMap.isEmpty()){ title = this.createNoticesData(noticeType,businessId,title,jsonMap); + } + if(j==0){ + //榛樿鐢熸垚涓�鏉� 鐢宠浜虹殑鏁版嵁 鏍囪鍒犻櫎鐘舵�佺敤浜庡鐞嗗埌 浠诲姟涓績锛堟垜鍙戣捣锛変娇鐢� + Notices notices = new Notices(); + notices.setCreateDate(new Date()); + notices.setIsdeleted(Constants.ONE); + notices.setObjId(businessId); + notices.setObjType(noticeType); + notices.setType(noticeType); + notices.setTitle(title); + notices.setParam1(JSONObject.toJSONString(jsonMap)); + notices.setStatus(Constants.ZERO); + notices.setReaded(Constants.ZERO); + notices.setSendacopy(Constants.ZERO); + notices.setParam2("0"); + notices.setParam3(createMember.getId().toString()); + notices.setInfo("澶勭悊涓�"); + noticesJoinMapper.insert(notices); } Notices notices = new Notices(); notices.setCreateDate(new Date()); @@ -340,6 +456,7 @@ notices.setReaded(Constants.ZERO); notices.setSendacopy(Constants.ZERO); notices.setParam2("0"); + notices.setParam3(""); notices.setInfo("寰呭鐞�"); noticesJoinMapper.insert(notices); } @@ -564,13 +681,15 @@ List<Approve> levelList = getLevelListFromResult(approveGroupList,approveDateVO,memberId); List<Approve> copyList = getAllCopyList(approveGroupList); //閬嶅巻level鏌ヨ姣忎竴绾у埆涓氬姟鏁版嵁 - for(Approve level:levelList){ - List<Approve> tlist = getLevelInfoFromList(level,approveGroupList); - approveDateVO.getApproveList().addAll(tlist); - if(tlist.size() ==0 - ||Constants.equalsInteger(Constants.approveStatus.unPass, tlist.get(0).getStatus()) - ||Constants.equalsInteger(Constants.approveStatus.cancel, tlist.get(0).getStatus())){ - break; + if(levelList!=null){ + for(Approve level:levelList){ + List<Approve> tlist = getLevelInfoFromList(level,approveGroupList); + approveDateVO.getApproveList().addAll(tlist); + if(tlist.size() ==0 + ||Constants.equalsInteger(Constants.approveStatus.unPass, tlist.get(0).getStatus()) + ||Constants.equalsInteger(Constants.approveStatus.cancel, tlist.get(0).getStatus())){ + break; + } } } @@ -630,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){ @@ -656,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); @@ -726,7 +851,7 @@ } } if(CollectionUtils.isEmpty(approveList)){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀹℃壒淇℃伅锛氱骇鍒暟鎹紓甯�"); + // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀹℃壒淇℃伅锛氱骇鍒暟鎹紓甯�"); } return approveList; } @@ -937,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()) ); //淇敼 鏈鐞嗙殑 閫氱煡鏁版嵁 涓烘妱閫� @@ -946,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) @@ -960,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() @@ -989,7 +1121,7 @@ dealBusinessBean = true; } } - this.passNextNotices(dealBusinessBean,notices,approve,approveList,approveCopyList); + this.passNextNotices(dealBusinessBean,notices,approve,approveList,approveCopyList,approveDTO); } //澶勭悊涓氬姟鏁版嵁 if(dealBusinessBean){ @@ -1003,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)){ @@ -1018,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()) @@ -1053,6 +1189,7 @@ notices.setCreateDate(new Date()); notices.setEditDate(new Date()); notices.setParam2("2"); + notices.setParam3(""); notices.setUserId(copyApprove.getChekorId()); notices.setStatus(Constants.ZERO); notices.setSendacopy(Constants.ONE); @@ -1089,6 +1226,7 @@ notices.setId(null); notices.setCreateDate(new Date()); notices.setParam2("0"); + notices.setParam3(""); notices.setEditDate(new Date()); notices.setUserId(nextDealApprove.getChekorId()); notices.setStatus(Constants.ZERO); -- Gitblit v1.9.3