Browse Source

新增二级审核,逻辑未完成先搁置

anderx 4 months ago
parent
commit
0eff5498fb

+ 1 - 1
src/main/java/com/goafanti/common/mapper/PublicReleaseMapper.xml

@@ -744,7 +744,7 @@
             and a.tech_start_process in (0,2)
             and a.assist_process in (0,1,2,3,4)
             and apr.reviewer_id = #{aid}
-            and ((apr.type=0 and a.process_status in (0,1)) or(apr.type=0 and a.process_status in (2)))
+            and ((apr.type=0 and a.process_status in (0,1)) or(apr.type=4 and a.process_status in (2)))
             <if test="status == 1">
                 and a.status = #{status} and  a.assist_process in (0,1)
             </if>

+ 111 - 133
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -1105,54 +1105,109 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		//上级审核
 		if(examineType==0){
 			p.setStatus(status);
-			if (status==0){
-				addpublicLog(id, status, remarks);
-				str=str.append("驳回,");
-				if (use.getAssist()==2){
-					content=content.append("技术协单被[").append(ad.getName()).append("]拒绝!");
-				}else {
-					content=content.append("未通过公出审核!");
-				}
-				if(use.getPublicType()>1){
-					p.setPublicType(1);
-					PublicExamine inpe=new PublicExamine();
-					inpe.setStatus(0);
-					inpe.setPrid(use.getId());
-					publicExamineMapper.updateStatusByPrid(inpe);
-				}
-			}else if(status==2){
-				str=str.append("同意,");
-				addpublicLog(id, status, remarks);
-				content=content.append("已通过审核!");
-				//新增二级审核
-				List<AdminPublicReviewerBo> adminPublicReviewerBos = adminPublicReviewerMapper.selectByAid(use.getAid());
-				adminPublicReviewerBos=adminPublicReviewerBos.stream().filter(e -> e.getType() == 4).collect(Collectors.toList());
-				if (adminPublicReviewerBos.isEmpty()){
-					p.setStatus(2);
-					p.setProcessStatus(3);
-					//如果是协单公出主公出,在审核通过
-					if (use.getAssist()==1){
-						pushPublicReleaseAssist(use, p, date, a);
-					}else if (use.getAssist()==0){
-						publicReleaseMapper.updateStatusByMainId(3,use.getId(),null,null);
+			if(use.getProcessStatus()==0||use.getProcessStatus()==1){
+				if (status==0){
+					addpublicLog(id, status, remarks);
+					str=str.append("驳回,");
+					if (use.getAssist()==2){
+						content=content.append("技术协单被[").append(ad.getName()).append("]拒绝!");
+					}else {
+						content=content.append("未通过公出审核!");
 					}
-					addpublicLog(id, status, "无需二级审核直接通过");
-				}else {
-						p.setStatus(1);
-						p.setProcessStatus(2);
-                }
-			}
-			str=str.append(remarks);
-			p.setAuditInfo(str.toString());
-			p.setAuditTime(date);
-			p.setRejectName(ad.getName());
-			sendNoticeAndSoucket(a.getId(),status,content.toString());
-			List<OutPublicReleaseDetails> outPublicReleaseDetails = publicReleaseDetailsMapper.selectByPrid(id);
-			//添加上级评价
-			if (evaluateType==1){
-				addUserSuperEvaluate(remarks, outPublicReleaseDetails, date);
+					if(use.getPublicType()>1){
+						p.setPublicType(1);
+						PublicExamine inpe=new PublicExamine();
+						inpe.setStatus(0);
+						inpe.setPrid(use.getId());
+						publicExamineMapper.updateStatusByPrid(inpe);
+					}
+				}else if(status==2){//同意区分是1级审核还是二级审核
+					str=str.append("同意,");
+					addpublicLog(id, status, remarks);
+					content=content.append("已通过审核!");
+					//新增二级审核
+					List<AdminPublicReviewerBo> adminPublicReviewerBos = adminPublicReviewerMapper.selectByAid(use.getAid());
+					adminPublicReviewerBos=adminPublicReviewerBos.stream().filter(e -> e.getType() == 4).collect(Collectors.toList());
+					if (adminPublicReviewerBos.isEmpty()){
+						p.setStatus(2);
+						p.setProcessStatus(3);
+						//如果是协单公出主公出,在审核通过
+						if (use.getAssist()==1){
+							pushPublicReleaseAssist(use, p, date, a);
+						}else if (use.getAssist()==0){
+							publicReleaseMapper.updateStatusByMainId(3,use.getId(),null,null);
+						}
+						addpublicLog(id, status, "无需二级审核直接通过");
+					}else {
+						if(use.getProcessStatus()==0||use.getProcessStatus()==1){
+							p.setStatus(1);
+							p.setProcessStatus(2);
+						}else if (use.getProcessStatus()==2){
+							//需要审核的情况下,看是否有审核通过
+							List<outPublicReleaseLog> outPublicReleaseLogs = publicReleaseLogMapper.listPublicReleaseLog(use.getId(), null);
+							//先看有没有驳回
+							int reject = 0;
+							//标记审核
+							AtomicInteger flag = new AtomicInteger();
+							List<outPublicReleaseLog> collect = outPublicReleaseLogs.stream()
+									.filter(e -> e.getStatus() == 0 || e.getStatus() == 4)
+									.collect(Collectors.toList());
+							//没有的的情况下看有没有审核 通过
+							long time;
+							if (collect.isEmpty()) {
+								time = 0;
+
+							} else {
+								time = collect.stream()
+										.mapToLong(e -> e.getCreateTime().getTime())
+										.max().orElse(0L);
+							}
+							//获取驳回或者撤销后的列表
+							Stream<outPublicReleaseLog> outPublicReleaseLogStream = outPublicReleaseLogs.stream().filter(e -> e.getCreateTime().getTime() > time);
+							outPublicReleaseLogStream.forEach(e -> {
+								outPublicReleaseLogs.stream().forEach(e1 -> {
+									if (e1.getAid().equals(e.getAid())) {
+										flag.set(1);
+									}
+								});
+							});
+							//有审核的情况下可以直接跳过
+							if (flag.get() == 1) {
+								p.setStatus(2);
+								p.setProcessStatus(3);
+								//如果是协单公出主公出,在审核通过
+								if (use.getAssist()==1){
+									pushPublicReleaseAssist(use, p, date, a);
+								}else if (use.getAssist()==0){
+									publicReleaseMapper.updateStatusByMainId(3,use.getId(),null,null);
+								}
+								addpublicLog(use.getId(), status, "审核人已审核,跳过二级审核");
+							}else {
+								adminPublicReviewerBos.forEach(e -> {
+									if(e.getAid()==aid){
+										p.setStatus(2);
+										p.setProcessStatus(3);
+									}
+								});
+							}
+						}
+
+					}
+				}
+				str=str.append(remarks);
+				p.setAuditInfo(str.toString());
+				p.setAuditTime(date);
+				p.setRejectName(ad.getName());
+				sendNoticeAndSoucket(a.getId(),status,content.toString());
+				List<OutPublicReleaseDetails> outPublicReleaseDetails = publicReleaseDetailsMapper.selectByPrid(id);
+				//添加上级评价
+				if (use.getProcessStatus()==1&&evaluateType==1){
+					addUserSuperEvaluate(remarks, outPublicReleaseDetails, date);
+				}
 			}
 
+
+
 			//营销员审核
 		}else if (examineType==1){
 			//通知公出人切换成公出人审核人
@@ -1242,93 +1297,6 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 				addpublicLog(id, 0, str.toString());
 				sendNoticeAndSoucket(a.getId(),status,content.toString());
 			}
-		}else if (examineType==3){
-			p.setStatus(status);
-			if (status==0){
-				addpublicLog(id, status, remarks);
-				str=str.append("驳回,");
-				if (use.getAssist()==2){
-					content=content.append("技术协单被[").append(ad.getName()).append("]拒绝!");
-				}else {
-					content=content.append("未通过公出审核!");
-				}
-				if(use.getPublicType()>1){
-					p.setPublicType(1);
-					PublicExamine inpe=new PublicExamine();
-					inpe.setStatus(0);
-					inpe.setPrid(use.getId());
-					publicExamineMapper.updateStatusByPrid(inpe);
-				}
-			}else if(status==2){
-				str=str.append("同意,");
-				addpublicLog(id, status, remarks);
-				content=content.append("已通过审核!");
-				//新增二级审核
-				List<AdminPublicReviewerBo> adminPublicReviewerBos = adminPublicReviewerMapper.selectByAid(use.getAid());
-				adminPublicReviewerBos=adminPublicReviewerBos.stream().filter(e -> e.getType() == 4).collect(Collectors.toList());
-				if (adminPublicReviewerBos.isEmpty()){
-					p.setStatus(2);
-					//如果是协单公出主公出,在审核通过
-					if (use.getAssist()==1){
-						pushPublicReleaseAssist(use, p, date, a);
-					}else if (use.getAssist()==0){
-						publicReleaseMapper.updateStatusByMainId(3,use.getId(),null,null);
-					}
-				}else {
-					//需要审核的情况下,看是否有审核通过
-					List<outPublicReleaseLog> outPublicReleaseLogs = publicReleaseLogMapper.listPublicReleaseLog(use.getId(), null);
-					//先看有没有驳回
-					int reject = 0;
-					//标记审核
-					AtomicInteger flag = new AtomicInteger();
-					List<outPublicReleaseLog> collect = outPublicReleaseLogs.stream().filter(e -> e.getStatus() == 0 || e.getStatus() == 4).collect(Collectors.toList());
-					//没有的的情况下看有没有审核 通过
-					long time;
-					if (collect.isEmpty()) {
-						time = 0;
-
-					} else {
-						time = collect.stream()
-								.mapToLong(e -> e.getCreateTime().getTime())
-								.max().orElse(0L);
-					}
-					//获取驳回或者撤销后的列表
-					Stream<outPublicReleaseLog> outPublicReleaseLogStream = outPublicReleaseLogs.stream().filter(e -> e.getCreateTime().getTime() > time);
-
-					outPublicReleaseLogStream.forEach(e -> {
-						outPublicReleaseLogs.stream().forEach(e1 -> {
-							if (e1.getAid().equals(e.getAid())) {
-								flag.set(1);
-							}
-						});
-					});
-					//有审核的情况下可以直接跳过
-					if (flag.get() == 1) {
-						p.setStatus(2);
-						p.setProcessStatus(3);
-						//如果是协单公出主公出,在审核通过
-						if (use.getAssist()==1){
-							pushPublicReleaseAssist(use, p, date, a);
-						}else if (use.getAssist()==0){
-							publicReleaseMapper.updateStatusByMainId(3,use.getId(),null,null);
-						}
-						addpublicLog(use.getId(), status, "审核人已审核,跳过二级审核");
-					}else {
-						adminPublicReviewerBos.forEach(e -> {
-							if(e.getAid()==aid){
-								p.setStatus(2);
-								p.setProcessStatus(3);
-							}
-						});
-					}
-				}
-			}
-			str=str.append(remarks);
-			p.setAuditInfo(str.toString());
-			p.setAuditTime(date);
-			p.setRejectName(ad.getName());
-			sendNoticeAndSoucket(a.getId(),status,content.toString());
-
 		}
 		AdminListBo my = adminMapper.getDeptNameByAid(TokenManager.getAdminId());
 		if (p.getStatus()!=null||p.getPublicType()!=null||p.getTechStartProcess()!=null){
@@ -2076,8 +2044,10 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 					){
 						StringBuffer str =new StringBuffer();
 						adminPublicReviewerBos= adminPublicReviewerMapper.selectByAid(e.getAid());
+
 						for (AdminPublicReviewerBo ap : adminPublicReviewerBos) {
-							if(ap.getType()==0)str=str.append(ap.getReviewerName()+",");
+							if((e.getProcessStatus()==0||e.getProcessStatus()==1)&&ap.getType()==0)str=str.append(ap.getReviewerName()+",");
+							if((e.getProcessStatus()==2)&&ap.getType()==4)str=str.append(ap.getReviewerName()+",");
 						}
 						if(str.length()>1){
 							outPublicReleaseLog.setAname(str.substring(0,str.length()-1));
@@ -2284,6 +2254,14 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 						break;
 					}
 				}
+				//新增所有审核人就是查看权限
+				for (AdminPublicReviewerBo e : adminPublicReviewerBos) {
+					if ((e.getType()==0||e.getType()==4)
+							&&aid.equals(e.getReviewerId())){
+						flag=true;
+						flag2=true;
+					}
+				}
 				//判定是否是上级审核状态
 				if((out.getPublicType()==0|| out.getPublicType()==2)&&
 						(out.getTechStartProcess()==0|| out.getTechStartProcess()==2)&&