From 74c7d32b4339d241af18b33b3691dc912256306c Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 29 五月 2024 18:36:50 +0800 Subject: [PATCH] 代码初始化 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java | 164 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 140 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 b1a219e..ad7ed25 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 @@ -13,6 +13,8 @@ import com.doumee.dao.business.join.ApproveJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.ApproveDataVO; +import com.doumee.dao.system.join.NoticesJoinMapper; +import com.doumee.dao.system.model.Notices; import com.doumee.dao.system.model.SystemUser; import com.doumee.dao.web.response.InternalHomeVO; import com.doumee.service.business.ApproveService; @@ -23,6 +25,7 @@ import com.doumee.service.system.NoticesService; import com.github.xiaoymin.knife4j.core.util.CollectionUtils; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import io.swagger.models.auth.In; import org.apache.commons.lang3.StringUtils; import org.apache.xpath.operations.Bool; import org.springframework.beans.factory.annotation.Autowired; @@ -69,6 +72,9 @@ @Autowired private VisitsMapper visitsMapper; + + @Autowired + private NoticesJoinMapper noticesJoinMapper; @Override public Integer create(Approve approve) { @@ -321,6 +327,31 @@ } } + public void createNoticesData(List<Approve> approveList){ + for (Approve approve:approveList) { + Notices notices = new Notices(); + notices.setCreateDate(new Date()); + notices.setIsdeleted(Constants.ZERO); + notices.setObjId(approve.getObjId()); + notices.setObjId(approve.getApproveType()); + if(Constants.equalsInteger(approve.getType(),Constants.approveObjectType.unConstructionVisit) + || Constants.equalsInteger(approve.getType(),Constants.approveObjectType.constructionVisit)){ + notices.setType(Constants.ZERO); + }else if(Constants.equalsInteger(approve.getType(),Constants.approveObjectType.visitReporting)){ + notices.setType(Constants.ONE); + } + + + + } + + + + + + + } + public void organizeApproveCopyData(ApproveTempl approveTempl,List<ApproveParam> approveCopyList,Integer businessId,List<Approve> approveList){ for (ApproveParam approveParam:approveCopyList) { @@ -441,13 +472,20 @@ return auditCompany; } - public ApproveDataVO arrangeApprovedDataNew(Integer businessId, Integer businessType, Integer memberId){ + @Override + public ApproveDataVO arrangeApprovedData(Integer businessId, Integer businessType, Integer memberId){ ApproveDataVO approveDateVO = new ApproveDataVO(); approveDateVO.setApproveList(new ArrayList<>()); approveDateVO.setCanBeApproved(Constants.ZERO); List<Approve> approveGroupList = approveJoinMapper.selectJoinList(Approve.class, new MPJLambdaWrapper<Approve>(). selectAll(Approve.class) + .selectAs(Member::getName,Approve::getMemberName) + .selectAs(Member::getPhone,Approve::getMemberPhone) + .selectAs(Member::getFaceImg,Approve::getFaceImg) + .selectAs(Company::getCompanyNamePath,Approve::getCompanyName) + .leftJoin(Member.class,Member::getId,Approve::getChekorId) + .leftJoin(Company.class,Company::getId,Member::getCompanyId) .eq(Approve::getIsdeleted,Constants.ZERO) .eq(Approve::getObjId,businessId) .eq(Approve::getObjType,businessType) @@ -455,7 +493,8 @@ ); //鏌ユ壘鍏ㄩ儴levelList - List<Approve> levelList = getLevelListFromResult(approveGroupList); + List<Approve> levelList = getLevelListFromResult(approveGroupList,approveDateVO,memberId); + List<Approve> copyList = getAllCopyList(approveGroupList); //閬嶅巻level鏌ヨ姣忎竴绾у埆涓氬姟鏁版嵁 for(Approve level:levelList){ List<Approve> tlist = getLevelInfoFromList(level,approveGroupList); @@ -466,7 +505,27 @@ break; } } + + //澶勭悊鎶勯�佽褰� + if (CollectionUtils.isNotEmpty(copyList)) { + Approve waitModel = new Approve(); + waitModel.setApproveType(Constants.ONE); + waitModel.setStatusInfo("鎶勯��"); + waitModel.setStatus(Constants.ONE); + waitModel.setType(Constants.ONE); + waitModel.setApproveList(copyList); + approveDateVO.getApproveList().add(waitModel); + } + return approveDateVO; + } + + private List<Approve> getAllCopyList(List<Approve> approveGroupList) { + List<Approve> copyList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(approveGroupList)) { + copyList.addAll(approveGroupList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).collect(Collectors.toList())); + } + return copyList; } private List<Approve> getLevelInfoFromList(Approve level,List<Approve> approveGroupList) { @@ -481,8 +540,9 @@ Approve refuseModel = new Approve();//宸叉嫆缁濈殑璁板綍 List<Approve> waitList = new ArrayList<>(); //鏌ヨ鍏ㄩ儴鏈鐞嗙殑闆嗗悎 List<Approve> otherPassList = new ArrayList<>();//浠栦汉宸插鐞嗙殑璁板綍闆� - dealGroupListBiz(level,passList,refuseModel,waitList,otherPassList); - if(refuseModel !=null){ + List<Approve> levelApprove = approveGroupList.stream().filter(i->Constants.equalsInteger(i.getLevel(),level.getLevel())).collect(Collectors.toList()); + dealGroupListBiz(level,levelApprove,approveGroupList,passList,refuseModel,waitList,otherPassList); + if(Objects.nonNull(refuseModel) && Objects.nonNull(refuseModel.getId())){ //瀛樺湪鎷掔粷鐨勶紝鍙渶瑕佽繑鍥炰竴鏉″鐞嗘暟鎹紝鍚庣画涓嶉渶瑕佸洖鏄� list.add(refuseModel); return list; @@ -494,20 +554,34 @@ Approve waitModel = new Approve(); waitModel.setApproveType(Constants.ONE); waitModel.setStatusInfo(StringUtils.defaultString(level.getTitle(),"瀹℃壒浜�")+"澶勭悊涓�"); - waitModel.setStatus(Constants.ONE); + waitModel.setStatus(Constants.equalsInteger(waitList.get(Constants.ZERO).getStatus(),Constants.ONE)?Constants.ONE:Constants.ZERO); waitModel.setApproveList(waitList); list.add(waitModel); } }else { - //濡傛灉鏄垨绛� - if(otherPassList.size()>0){ + if((waitList.size()> 0 || otherPassList.size()>0)){ Approve waitModel = new Approve(); waitModel.setApproveType(Constants.ONE); - waitModel.setStatusInfo(StringUtils.defaultString(level.getTitle(),"瀹℃壒浜�")+"锛堟妱閫佹垨绛惧鎵逛汉锛�"); - waitModel.setStatus(Constants.ONE); - waitModel.setApproveList(otherPassList); + waitModel.setStatusInfo(passList.size()<=0?StringUtils.defaultString(level.getTitle(),"瀹℃壒浜�"):"鎶勯�佹垨绛惧鎵逛汉"); + waitModel.setStatus(passList.size()>0?Constants.ONE:Constants.ZERO); + List<Approve> approveList = new ArrayList<>(); + approveList.addAll(waitList); + //濡傛灉鏄垨绛� + if(passList.size()>0){ + approveList.addAll(otherPassList); + } + waitModel.setApproveList(approveList); list.add(waitModel); } + //濡傛灉鏄垨绛� +// if(otherPassList.size()>0){ +// Approve waitModel = new Approve(); +// waitModel.setApproveType(Constants.ONE); +// waitModel.setStatusInfo(StringUtils.defaultString(level.getTitle(),"瀹℃壒浜�")+"锛堟妱閫佹垨绛惧鎵逛汉锛�"); +// waitModel.setStatus(Constants.ONE); +// waitModel.setApproveList(otherPassList); +// list.add(waitModel); +// } } @@ -515,22 +589,65 @@ } - private void dealGroupListBiz(Approve level, List<Approve> passList, Approve refuseModel, List<Approve> waitList, List<Approve> otherPassList) { - - //TODO----------rk + private void dealGroupListBiz(Approve level, List<Approve> levelApprove,List<Approve> approveGroupList, List<Approve> passList, Approve refuseModel, List<Approve> waitList, List<Approve> otherPassList) { + //鏌ヨ鏄惁瀛樺湪鎷掔粷鏁版嵁 + for (Approve approve:levelApprove) { + if(Constants.equalsInteger(Constants.approveStatus.pass,approve.getStatus())){ + passList.add(approve); + }else if(Constants.equalsInteger(Constants.approveStatus.otherDeal,approve.getStatus())){ + otherPassList.add(approve); + }else if(Constants.equalsInteger(Constants.approveStatus.auditIng,approve.getStatus())||Constants.equalsInteger(Constants.approveStatus.wait,approve.getStatus())){ + waitList.add(approve); + }else if(Constants.equalsInteger(Constants.approveStatus.unPass,approve.getStatus())){ + refuseModel = approve; + } + } } private List<Approve> sortByCreateTime(List<Approve> passList) { - //TODO----------rk - + Collections.sort(passList, (a, b) -> a.getCheckDate().compareTo(b.getCheckDate())); return passList; } - private List<Approve> getLevelListFromResult(List<Approve> approveGroupList) { - //TODO----------rk - return null; + private List<Approve> getLevelListFromResult(List<Approve> approveGroupList,ApproveDataVO approveDataVO,Integer memberId) { + approveDataVO.setCanBeApproved(Constants.ZERO); + approveDataVO.setDriverParam(Constants.ZERO); + List<Approve> approveList = new ArrayList<>(); + String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); + for (Approve approve:approveGroupList) { + if(StringUtils.isNotBlank(approve.getFaceImg())){ + approve.setFaceImg(path + approve.getFaceImg()); + } + if(Constants.equalsInteger(approve.getType(),Constants.ONE)){ + continue; + } + if(Constants.equalsInteger(approve.getChekorId(),memberId)){ + approveDataVO.setCanBeApproved(Constants.ONE); + approveDataVO.setDriverParam(approve.getDriverParam()); + } + if(notExsits(approveList,approve.getLevel())){ + approveList.add(approve); + } + } + + if(CollectionUtils.isEmpty(approveList)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀹℃壒淇℃伅锛氱骇鍒暟鎹紓甯�"); + } + + return approveList; } + + private boolean notExsits(List<Approve> approveList, Integer level) { + for (Approve approve:approveList) { + if(Constants.equalsInteger(approve.getLevel(),level)){ + return false; + } + } + return true; + } + /** * 鏁寸悊 瀹℃壒鏁版嵁 @@ -538,18 +655,18 @@ * @param businessType * @return */ - @Override - public ApproveDataVO arrangeApprovedData(Integer businessId, Integer businessType, Integer memberId){ +// @Override + public ApproveDataVO arrangeApprovedDataOld(Integer businessId, Integer businessType, Integer memberId){ ApproveDataVO approveDateVO = new ApproveDataVO(); approveDateVO.setCanBeApproved(Constants.ZERO); List<Approve> approveGroupList = approveJoinMapper.selectJoinList(Approve.class, new MPJLambdaWrapper<Approve>(). - select(Approve::getLevel,Approve::getType) + select(Approve::getLevel,Approve::getType,Approve::getTitle,Approve::getApproveType) .eq(Approve::getIsdeleted,Constants.ZERO) .eq(Approve::getObjId,businessId) .isNotNull(Approve::getLevel) .eq(Approve::getObjType,businessType) - .groupBy(Approve::getLevel,Approve::getType) + .groupBy(Approve::getLevel,Approve::getType,Approve::getTitle,Approve::getApproveType) ); if(CollectionUtils.isEmpty(approveGroupList)){ return approveDateVO; @@ -673,6 +790,7 @@ approve.setCheckInfo(approveDTO.getCheckInfo()); approve.setCheorId(approveDTO.getLoginUserInfo().getMemberId().toString()); approve.setCheckorName(approve.getLoginUserInfo().getRealname()); + approve.setCheckDate(new Date()); approve.setStatusInfo(approveDTO.getStatus()==Constants.TWO?"瀹℃壒閫氳繃":approveDTO.getCheckInfo()); Visits visits = new Visits(); CarUseBook carUseBook = new CarUseBook(); @@ -762,8 +880,6 @@ //TODO 瀹℃壒鏈�氳繃閫氱煡 } - - }else if(approveDTO.getObjType().equals(Constants.approveObjectType.logisticsCarUse)){ //TODO 鐗╂祦杞﹂绾� -- Gitblit v1.9.3