Selaa lähdekoodia

修改公出,协单删除逻辑修改

anderx 1 vuosi sitten
vanhempi
commit
7168042840

+ 25 - 0
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -462,9 +462,31 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 			}
 			if (in.getAssist()==1){
 				in.setAssistProcess(1);
+				//在有协单的情况下,新增是审核完成才新增,修改是审核完成才修改。
+				//如果是删除,则需要判定
+				String[] assistAid = in.getAssistAid().split(",");
+				List<PublicRelease> publicReleases = publicReleaseMapper.selectByMainId(in.getId(), null, null);
+				for (PublicRelease e : publicReleases) {
+					boolean flag = false;
+					for (String aid : assistAid) {
+						if (e.getAid().equals(aid)){
+							flag = true;
+							break;
+						}
+					}
+					if (!flag&&e.getClockIn()==1){
+						throw new BusinessException("该公出已签到,无法取消");
+					}
+				}
 			}else if (in.getAssist()==0){
 				publicReleaseMapper.updateAssist(in);
 				in.setAssistProcess(0);
+				List<OutPublicReleaseDetails> outPublicReleaseDetails = publicReleaseDetailsMapper.selectByPrid(in.getId());
+				for (OutPublicReleaseDetails e : outPublicReleaseDetails) {
+					if (e.getClockIn()==1){
+						throw new BusinessException("该公出已签到,无法取消");
+					}
+				}
 			}
 			if (in.getUids()!=null){
 				List<String> split = Arrays.asList(in.getUids().split(","));
@@ -1262,6 +1284,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 					break;
 				}
 			}
+			//不存在则取消公出
 			if (!flag){
 				PublicRelease in = new PublicRelease();
 				in.setId(out.getId());
@@ -1272,6 +1295,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 				publicReleaseLogMapper.insertSelective(log);
 				sendNoticeAndSoucket(out.getAid(),in.getStatus(),str.toString());
 			}else {
+				//存在则修改公出
 				PublicRelease np = new PublicRelease();
 				BeanUtils.copyProperties(use,np);
 				np.setId(out.getId());
@@ -1301,6 +1325,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 				sendNoticeAndSoucket(out.getAid(),np.getStatus(),str.toString());
 			}
 		}
+		//有新增则新增公出
 		for (String s : ss) {
 			boolean flag2 = false;
 			for (PublicRelease o : list) {