ソースを参照

修改政策模块中新增和提交审核逻辑

huangxuechao 4 年 前
コミット
17c3e78e6f

+ 42 - 7
jeecg-boot-finance/src/main/java/org/jeecg/ctop/finance/policy/controller/CwjsPolicyInfoController.java

@@ -110,12 +110,31 @@ public class CwjsPolicyInfoController {
 		 Integer companySubjectId= cwjsPolicyInfoEntity.getCompanySubjectId();
 		 CwjsCompanyApprovalUser cwjsCompanyApprovalUser = companyApprovalUserMapper.queryByCompanySubjectIdAndUserId(companySubjectId, userId);
 		 if(type == 1){	//审核提交	等于新增的时候
-//			 cwjsPolicyInfoEntity.setApprovedStatus(1);
-			if(!Check.isNull(cwjsCompanyApprovalUser)){//当前登录的用户所提交的政策是审核链里的人的提交的  直接状态到2给终审的人员
-				cwjsPolicyInfoEntity.setApprovedStatus(2);
-			}else{	//除了销售总监提交的申请都是-待审核
-				cwjsPolicyInfoEntity.setApprovedStatus(1);
-			}
+			 List<CwjsCompanyApprovalUser> cwjsCompanyApprovalUsers = companyApprovalUserMapper.queryByCompanySubjectId(companySubjectId);
+			 if(Check.isNull(cwjsCompanyApprovalUsers)){
+				 return Result.errorMsg("此业务线暂时无审核人员,提交审核无效,请联系开发人员添加此区域主体的审核人员");
+			 }
+			 //普通销售,审核都是1,审核进度的人都是等级为0的审核人id
+			 cwjsCompanyApprovalUsers.forEach(cwjsCompanyApprovalUser2 -> {
+				 if(cwjsCompanyApprovalUser2.getLevel() == 0){
+					 cwjsPolicyInfoEntity.setApprovedStatus(1);
+					 cwjsPolicyInfoEntity.setApprovedProgress(cwjsCompanyApprovalUser2.getApprovalUserId());
+				 }
+			 });
+			 //如果满足有审核人员等于当前创建的人,并且
+			 cwjsCompanyApprovalUsers.forEach(cwjsCompanyApprovalUser2 -> {
+				 if(cwjsCompanyApprovalUser2.getApprovalUserId().equalsIgnoreCase(cwjsPolicyInfoEntity.getCreateUserId())){
+					 CwjsCompanyApprovalUser approvalUserNext = companyApprovalUserMapper.queryByCompanySubjectIdAndLevel(companySubjectId, cwjsCompanyApprovalUser2.getLevel()+1);
+					 if(Check.isNull(approvalUserNext)){
+						 cwjsPolicyInfoEntity.setApprovedStatus(3);
+						 cwjsPolicyInfoEntity.setApprovedProgress(null);
+					 }else{
+						 cwjsPolicyInfoEntity.setApprovedStatus(2);
+						 cwjsPolicyInfoEntity.setApprovedProgress(approvalUserNext.getApprovalUserId());
+					 }
+				 }
+			 });
+
 			 JSONObject wChatIdByUserId = mailLogMapper.getWChatIdByUserId(cwjsPolicyInfoEntity.getApprovedProgress());
 			 StringBuilder text = new StringBuilder();
 			 text.append("您有一条销售政策需要审核,该客户为:");
@@ -298,7 +317,7 @@ public class CwjsPolicyInfoController {
 	public Result<CwjsPolicyInfo> add(@RequestBody CwjsPolicyInfo cwjsPolicyInfo) {
 		Result<CwjsPolicyInfo> result = new Result<>();
 		try {
-			cwjsPolicyInfo.setApprovedStatus(1);	//新增出来的政策全部都是待审核状态
+
 			String companySubjectName = cwjsPolicyInfo.getCompanySubjectName();
 			String areaInfo = cwjsPolicyInfo.getAreaInfo();
 			Integer companySubjectId = companySubjectMapper.queryIdBySubjectNameAndArea(companySubjectName, areaInfo);
@@ -310,11 +329,27 @@ public class CwjsPolicyInfoController {
 			if(Check.isNull(cwjsCompanyApprovalUsers)){
 				return Result.errorMsg("此业务线暂时无审核人员,提交审核无效,请联系开发人员添加此区域主体的审核人员");
 			}
+			//普通销售,新增都是1,审核进度的人都是等级为0的审核人id
 			cwjsCompanyApprovalUsers.forEach(cwjsCompanyApprovalUser -> {
 				if(cwjsCompanyApprovalUser.getLevel() == 0){
+					cwjsPolicyInfo.setApprovedStatus(1);
 					cwjsPolicyInfo.setApprovedProgress(cwjsCompanyApprovalUser.getApprovalUserId());
 				}
 			});
+			//如果满足有审核人员等于当前创建的人,并且
+			cwjsCompanyApprovalUsers.forEach(cwjsCompanyApprovalUser -> {
+				if(cwjsCompanyApprovalUser.getApprovalUserId().equalsIgnoreCase(cwjsPolicyInfo.getCreateUserId())){
+					CwjsCompanyApprovalUser approvalUserNext = companyApprovalUserMapper.queryByCompanySubjectIdAndLevel(companySubjectId, cwjsCompanyApprovalUser.getLevel()+1);
+					if(Check.isNull(approvalUserNext)){
+						cwjsPolicyInfo.setApprovedStatus(3);
+						cwjsPolicyInfo.setApprovedProgress(null);
+					}else{
+						cwjsPolicyInfo.setApprovedStatus(2);
+						cwjsPolicyInfo.setApprovedProgress(approvalUserNext.getApprovalUserId());
+					}
+				}
+			});
+
 			cwjsPolicyInfoService.save(cwjsPolicyInfo);
 			JSONArray products = cwjsPolicyInfo.getPolicyProductName();
 			List<CwjsPolicyProduct> policyProductList = new ArrayList<>();