Browse Source

新增撤销取消面谈项目,修改发起逻辑修改

anderx 8 months ago
parent
commit
f0a852d89f

+ 29 - 32
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -608,12 +608,34 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 	}
 
 	private void pushUpdatePublicInterviewAndProject(PublicRelease use) {
-		List<PublicRelease> publicReleases = publicReleaseMapper.selectByMainId(use.getId(), null, null);
-		publicReleases.forEach(e->{
-			userInterviewProjectMapper.updateByPrdId(use.getId(), 0);
-		});
-
+		List<OutPublicReleaseDetails> outPublicReleaseDetails = publicReleaseDetailsMapper.selectByPrid(use.getId());
+		for (OutPublicReleaseDetails e : outPublicReleaseDetails) {
+			//撤销后取消面谈项目,如果项目已存在则不恢复,不存在则恢复
+			List<UserInterviewProjectBo> prdList = userInterviewProjectMapper.selectByPrdId(e.getId());
+			List<UserInterviewProjectBo> userList = userInterviewProjectMapper.selectByAid(use.getAid(), e.getUid());
+			if (!userList.isEmpty() && !prdList.isEmpty()) {
+				prdList.forEach(e1 -> {
+					boolean flag = false;
+					userList.forEach(e2 -> {
+						//如果不是同一个面谈项目
+						if (e1.getPid().equals(e2.getPid())) {
+							PublicReleaseDetails prdUpdate = new PublicReleaseDetails();
+							prdUpdate.setId(e.getId());
+							//是一个公出则恢复,不是则不恢复并且去掉有效
+							if (e1.getPrdid()!=null&&(e1.getPrdid().equals(e2.getPrdid()))) {
+								UserInterviewProject update = new UserInterviewProject();
+								update.setId(e1.getId());
+								update.setStatus(0);
+								userInterviewProjectMapper.update(update);
+								prdUpdate.setInterviewStatus(1);
+								publicReleaseDetailsMapper.update(prdUpdate);
+							}
 
+						}
+					});
+				});
+			}
+		}
 	}
 
 	private void pushUpdatePublic(InputPublicRelease in, List<User> uses, PublicRelease use, PublicReleaseLog log, String userNames, Date date, Map checkOrderNo) {
@@ -1165,33 +1187,8 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 	private void pushPublicInterview(PublicRelease use) {
 		List<OutPublicReleaseDetails> outPublicReleaseDetails = publicReleaseDetailsMapper.selectByPrid(use.getId());
 		for (OutPublicReleaseDetails e : outPublicReleaseDetails) {
-			//撤销后取消面谈项目,如果项目已存在则不恢复,不存在则恢复
-			List<UserInterviewProjectBo> prdList = userInterviewProjectMapper.selectByPrdId(e.getId());
-			List<UserInterviewProjectBo> userList = userInterviewProjectMapper.selectByAid(use.getAid(), e.getUid());
-			if (!userList.isEmpty()&& !prdList.isEmpty()){
-				prdList.forEach(e1 -> {
-					boolean flag=false;
-					userList.forEach(e2 -> {
-						//如果不是同一个面谈项目
-						if (e1.getPid().equals(e2.getPid())){
-							//是一个公出则恢复,不是则不恢复并且去掉有效
-							if (e1.getPrdid().equals(e2.getPrdid())){
-								UserInterviewProject update =new UserInterviewProject();
-								update.setId(e1.getId());
-								update.setStatus(0);
-								userInterviewProjectMapper.update(update);
-								//如果不是一个,则不恢复取消的面谈,取消有效面谈
-							}else {
-								PublicReleaseDetails update =new PublicReleaseDetails();
-								update.setId(e.getId());
-
-								publicReleaseDetailsMapper.update()
-							}
-
-						}
-					});
-				});
-			}
+			//撤销后取消面谈项目
+			userInterviewProjectMapper.updateByPrdId(e.getId(),1);
 			//将有效面谈去掉
 			PublicReleaseDetails p=new PublicReleaseDetails();
 			p.setInterviewStatus(0);