Browse Source

添加协单助手开发

anderx 3 years ago
parent
commit
ecf31de009

+ 106 - 58
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -206,6 +206,14 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 			List<PublicRelease> list = publicReleaseMapper.selectByMainId(in.getId(),3,null);
 			for (PublicRelease out : list) {
 				addpublicLog(out.getId(), PublicReleaseLog.states.sc.getCode(), "修改撤销协单");
+				out.setStatus(3);
+				publicReleaseMapper.updateByPrimaryKeySelective(out);
+			}
+			List<PublicRelease> list2 = publicReleaseMapper.selectByMainId(in.getId(),4,null);
+			for (PublicRelease out : list) {
+				addpublicLog(out.getId(), PublicReleaseLog.states.sc.getCode(), "修改撤销协单助手");
+				out.setStatus(3);
+				publicReleaseMapper.updateByPrimaryKeySelective(out);
 			}
 
 		}
@@ -248,8 +256,18 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		StringBuffer str=new StringBuffer();
 		Admin ad=adminMapper.selectByPrimaryKey(aid);
 		str=str.append("(").append(ad.getName()).append(")");
+		Integer type=0;
+		String content="";
+		User u=userMapper.selectByPrimaryKey(use.getUid());
 		if (status==0){
 			str=str.append("驳回,");
+			type=NoticeStatus.PUBLIC_RELEASE_NO.getCode();
+
+			if (use.getAssist()==2){
+				content="["+u.getNickname()+"]公司的外出申请,技术协单被["+ad.getName()+"]拒绝!";
+			}else {
+				content="["+u.getNickname()+"]公司的外出申请,未通过公出审核!";
+			}
 		}else if(status==2){
 			str=str.append("同意,");
 			//如果是协单公出主公出,在审核通过
@@ -258,6 +276,9 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 			}else if (use.getAssist()==0){
 				publicReleaseMapper.updateStatusByMainId(3,use.getId(),null,null);
 			}
+
+			type=NoticeStatus.PUBLIC_RELEASE_YES.getCode();
+			content="["+u.getNickname()+"]公司的外出申请,已通过审核!";
 		}
 		str=str.append(remarks);
 		p.setAuditInfo(str.toString());
@@ -266,21 +287,6 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		addpublicLog(id, status, remarks);
 		AdminListBo my = adminMapper.getDeptNameByAid(TokenManager.getAdminId());
 		Admin a=adminMapper.selectByPrimaryKey(use.getAid());
-		Integer type=0;
-		String content="";
-		User u=userMapper.selectByPrimaryKey(use.getUid());
-		if (status==0) {
-			type=NoticeStatus.PUBLIC_RELEASE_NO.getCode();
-
-			if (use.getAssist()==2){
-				content="["+u.getNickname()+"]公司的外出申请,技术协单被["+ad.getName()+"]拒绝!";
-			}else {
-				content="["+u.getNickname()+"]公司的外出申请,未通过公出审核!";
-			}
-		}else if(status==2) {
-			type=NoticeStatus.PUBLIC_RELEASE_YES.getCode();
-			content="["+u.getNickname()+"]公司的外出申请,已通过审核!";
-		}
 		sendNoticeAndSoucket(a.getId(),type,content);
 		if (my.getOpenId()!=null) {
 			if (remarks.length()>19) {
@@ -357,57 +363,99 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 	private void pushPublicReleaseAssist(PublicRelease use,Integer status,Date date) {
 		Integer useId=use.getId();
 		if (use.getAssistAid()!=null){
-			List<PublicRelease> list = publicReleaseMapper.selectByMainId(use.getId(),3,null);
-			String []ss=use.getAssistAid().split(",");
-			//数据库与传入比对,如果不存在就标记撤销 ,如果存在就修改成
-			for (PublicRelease out : list) {
-				boolean flag=false;
-				for (String s : ss) {
-					if (out.getAid().equals(s)){
-						flag=true;
-						break;
-					}
+			updatePushassist(use, status, date, useId);
+			updatepushAssistant(use);
+
+		}
+	}
+
+	/**
+	 * 处理技术协单
+	 * @param use
+	 * @param status
+	 * @param date
+	 * @param useId
+	 */
+	private void updatePushassist(PublicRelease use, Integer status, Date date, Integer useId) {
+		//协单
+		List<PublicRelease> list = publicReleaseMapper.selectByMainId(use.getId(),3,null);
+		String []ss= use.getAssistAid().split(",");
+		//数据库与传入比对,如果不存在就标记撤销 ,如果存在就修改成
+		for (PublicRelease out : list) {
+			boolean flag=false;
+			for (String s : ss) {
+				if (out.getAid().equals(s)){
+					flag=true;
+					break;
 				}
-				if (!flag){
-					PublicRelease in = new PublicRelease();
-					in.setId(out.getId());
-					in.setStatus(3);
-					publicReleaseMapper.updateByPrimaryKeySelective(in);
-					PublicReleaseLog log = new PublicReleaseLog(in.getId(), TokenManager.getAdminId(), PublicReleaseLog.states.ty.getCode(), "同意修改,撤销此协单", date);
-					publicReleaseLogMapper.insertSelective(log);
-				}else {
-					use.setId(out.getId());
-					use.setAid(out.getAid());
-					use.setMainId(null);
-					use.setClockIn(null);
-					use.setClockInTime(null);
-					use.setType(null);
-					use.setAssist(2);
-					use.setStatus(status);
-					publicReleaseMapper.updateByPrimaryKeySelective(use);
-					PublicReleaseLog log = new PublicReleaseLog(out.getId(), TokenManager.getAdminId(), PublicReleaseLog.states.ty.getCode(), "同意协单信息", date);
-					publicReleaseLogMapper.insertSelective(log);
+			}
+			if (!flag){
+				PublicRelease in = new PublicRelease();
+				in.setId(out.getId());
+				in.setStatus(3);
+				publicReleaseMapper.updateByPrimaryKeySelective(in);
+				PublicReleaseLog log = new PublicReleaseLog(in.getId(), TokenManager.getAdminId(), PublicReleaseLog.states.ty.getCode(), "同意修改,撤销此协单", date);
+				publicReleaseLogMapper.insertSelective(log);
+			}else {
+				use.setId(out.getId());
+				use.setAid(out.getAid());
+				use.setMainId(null);
+				use.setClockIn(null);
+				use.setClockInTime(null);
+				use.setType(null);
+				use.setAssist(2);
+				use.setStatus(status);
+				publicReleaseMapper.updateByPrimaryKeySelective(use);
+				PublicReleaseLog log = new PublicReleaseLog(out.getId(), TokenManager.getAdminId(), PublicReleaseLog.states.ty.getCode(), "同意协单信息", date);
+				publicReleaseLogMapper.insertSelective(log);
+			}
+		}
+		for (String s : ss) {
+			boolean flag2 = false;
+			for (PublicRelease o : list) {
+				if (s.equals(o.getAid())) {
+					flag2 = true;
 				}
 			}
-			for (String s : ss) {
-				boolean flag2 = false;
-				for (PublicRelease o : list) {
-					if (s.equals(o.getAid())) {
-						flag2 = true;
+			if (!flag2) {
+				use.setAssist(2);
+				use.setAid(s);
+				use.setStatus(2);
+				use.setType(3);
+				use.setMainId(useId);
+				use.setId(null);
+				publicReleaseMapper.insertSelective(use);
+				PublicReleaseLog log = new PublicReleaseLog(use.getId(), TokenManager.getAdminId(), PublicReleaseLog.states.ty.getCode(), "同意协单信息", date);
+				publicReleaseLogMapper.insertSelective(log);
+			}
+		}
+	}
+
+	/**
+	 * 处理技术助手
+	 * @param use
+	 */
+	private void updatepushAssistant(PublicRelease use) {
+		List<String> list=new ArrayList();
+		list =new ArrayList<>(Arrays.asList(use.getAssistantAid().split(",")));
+		List<PublicRelease> deletelist = publicReleaseMapper.selectByMainId(use.getId(),4,null);
+		for (PublicRelease p : deletelist) {
+			if (p.getStatus()==3){
+				boolean flag=false;
+				for (String s : list) {
+					if (p.getAid().equals(list)){
+						flag=true;
+						break;
 					}
 				}
-				if (!flag2) {
-					use.setAssist(2);
-					use.setAid(s);
-					use.setStatus(2);
-					use.setType(3);
-					use.setMainId(useId);
-					use.setId(null);
-					publicReleaseMapper.insertSelective(use);
-					PublicReleaseLog log = new PublicReleaseLog(use.getId(), TokenManager.getAdminId(), PublicReleaseLog.states.ty.getCode(), "同意协单信息", date);
+				if (flag){
+					p.setStatus(2);
+					publicReleaseMapper.updateByPrimaryKeySelective(p);
+					PublicReleaseLog log = new PublicReleaseLog(p.getId(), TokenManager.getAdminId(), PublicReleaseLog.states.ty.getCode(), "同意协单信息", new Date());
 					publicReleaseLogMapper.insertSelective(log);
 				}
 			}
+
 		}
 	}