From 759fad4aa7b5bdf0aa8b1f6e22882b251c935876 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 29 五月 2024 15:43:35 +0800
Subject: [PATCH] 最新版本
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java | 129 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 128 insertions(+), 1 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 da0ec66..b1a219e 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
@@ -20,6 +20,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.system.NoticesService;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
@@ -294,8 +295,13 @@
for (int i = 0; i < approveParamList.size(); i++) {
ApproveParam approveParam = approveParamList.get(i);
List<Integer> ids = this.getApproveUserIds(approveParam,createMember);
+ //鐢熸垚寰呭姙 notices 琛ㄦ暟鎹�
+ if(i==0){
+
+ }
for (Integer memberId:ids) {
Approve approve = new Approve();
+ approve.setRemark(approveParam.getRemark());
approve.setCreateDate(new Date());
approve.setIsdeleted(Constants.ZERO);
approve.setTemplatId(approveTempl.getId());
@@ -435,6 +441,96 @@
return auditCompany;
}
+ public ApproveDataVO arrangeApprovedDataNew(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)
+ .eq(Approve::getIsdeleted,Constants.ZERO)
+ .eq(Approve::getObjId,businessId)
+ .eq(Approve::getObjType,businessType)
+ .orderByAsc(Approve::getLevel)
+ );
+
+ //鏌ユ壘鍏ㄩ儴levelList
+ List<Approve> levelList = getLevelListFromResult(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;
+ }
+ }
+ return approveDateVO;
+ }
+
+ private List<Approve> getLevelInfoFromList(Approve level,List<Approve> approveGroupList) {
+ List<Approve> list = new ArrayList<>();
+ if(Constants.equalsInteger(level.getApproveType(),Constants.TWO)){
+ //濡傛灉鏄崟浜哄鎵�
+ list.add(level);
+ return list;
+ }
+ //鏌ユ壘鍏ㄩ儴宸插鐞嗙殑闆嗗悎
+ List<Approve> passList = new ArrayList<>();//宸插悓鎰忕殑璁板綍闆�
+ Approve refuseModel = new Approve();//宸叉嫆缁濈殑璁板綍
+ List<Approve> waitList = new ArrayList<>(); //鏌ヨ鍏ㄩ儴鏈鐞嗙殑闆嗗悎
+ List<Approve> otherPassList = new ArrayList<>();//浠栦汉宸插鐞嗙殑璁板綍闆�
+ dealGroupListBiz(level,passList,refuseModel,waitList,otherPassList);
+ if(refuseModel !=null){
+ //瀛樺湪鎷掔粷鐨勶紝鍙渶瑕佽繑鍥炰竴鏉″鐞嗘暟鎹紝鍚庣画涓嶉渶瑕佸洖鏄�
+ list.add(refuseModel);
+ return list;
+ }
+ list.addAll(sortByCreateTime(passList));
+ if(Constants.equalsInteger(level.getApproveType(),Constants.ONE)){
+ //濡傛灉鏄細绛�
+ if(waitList.size()>0){
+ Approve waitModel = new Approve();
+ waitModel.setApproveType(Constants.ONE);
+ waitModel.setStatusInfo(StringUtils.defaultString(level.getTitle(),"瀹℃壒浜�")+"澶勭悊涓�");
+ waitModel.setStatus(Constants.ONE);
+ waitModel.setApproveList(waitList);
+ list.add(waitModel);
+ }
+ }else {
+ //濡傛灉鏄垨绛�
+ 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);
+ }
+ }
+
+
+ return list;
+
+ }
+
+ private void dealGroupListBiz(Approve level, List<Approve> passList, Approve refuseModel, List<Approve> waitList, List<Approve> otherPassList) {
+
+ //TODO----------rk
+ }
+
+ private List<Approve> sortByCreateTime(List<Approve> passList) {
+ //TODO----------rk
+
+ return passList;
+ }
+
+
+ private List<Approve> getLevelListFromResult(List<Approve> approveGroupList) {
+ //TODO----------rk
+ return null;
+ }
/**
* 鏁寸悊 瀹℃壒鏁版嵁
@@ -464,6 +560,7 @@
.selectAll(Approve.class)
.selectAs(Member::getName,Approve::getMemberName)
.selectAs(Member::getPhone,Approve::getMemberPhone)
+ .selectAs(Member::getFaceImg,Approve::getFaceImg)
.selectAs(Company::getName,Approve::getCompanyName)
.leftJoin(Member.class,Member::getId,Approve::getChekorId)
.leftJoin(Company.class,Company::getId,Member::getCompanyId)
@@ -475,14 +572,26 @@
.orderByAsc(Approve::getLevel)
.orderByAsc(Approve::getId)
);
+
+
+ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+ for (Approve approve:approveAllList ) {
+ if(StringUtils.isNotBlank(approve.getFaceImg())){
+ approve.setFaceImg(path + approve.getFaceImg());
+ }
+ }
+
if(CollectionUtils.isEmpty(approveAllList)){
return approveDateVO;
}
- List<Approve> approveList = approveAllList.stream().filter(i->i.getType().equals(Constants.ZERO)).collect(Collectors.toList());
+ List<Approve> approveList = approveAllList.stream().filter(i->Constants.equalsInteger(i.getType(),(Constants.ZERO)))
+ .collect(Collectors.toList());
if(CollectionUtils.isEmpty(approveList)){
return approveDateVO;
}
approveDateVO.setCanBeApproved(this.canBeApproved(approveList,memberId));
+ approveDateVO.setDriverParam(this.canDriverParam(approveList,memberId));
//鏍规嵁瀹℃壒绾у埆 澶勭悊鏁版嵁
for (Approve approve:approveGroupList) {
approve.setApproveList(
@@ -511,6 +620,24 @@
return Constants.ZERO;
}
+ public Integer canDriverParam(List<Approve> approveList,Integer memberId){
+ //鑾峰彇鎵�鏈夊緟瀹℃壒鐨勬暟鎹�
+ List<Approve> waitApprovedList = approveList.stream().filter(i->i.getType().equals(Constants.ZERO)&&i.getStatus().equals(Constants.ZERO)).collect(Collectors.toList());
+ if(CollectionUtils.isNotEmpty(waitApprovedList)){
+ //涓嬩釜瀹℃壒娴佺▼绛夌骇
+ Integer nextApprovedLevel = waitApprovedList.get(Constants.ZERO).getLevel();
+ //涓嬩釜瀹℃壒娴佺▼鐨� 鎵�鏈夋暟鎹�
+ List<Approve> nextApprovedList = waitApprovedList.stream().filter(i->i.getStatus().equals(Constants.ZERO)&&i.getLevel().equals(nextApprovedLevel)).collect(Collectors.toList());
+ //涓嬩釜瀹℃壒娴佺▼鍐� 濡傛灉瀛樺湪褰撳墠 鐢ㄦ埛鐨勬姄绱� 鍒欏彲浠ヨ繘琛屽鎵�
+ List<Approve> auditApproveList = nextApprovedList.stream().filter(i->i.getChekorId().equals(memberId)).collect(Collectors.toList());
+ if(auditApproveList.size() >0){
+ Approve auditApprove = auditApproveList.get(Constants.ZERO);
+ return auditApprove.getDriverParam();
+ }
+ }
+ return Constants.ZERO;
+ }
+
--
Gitblit v1.9.3