Browse Source

修改发起公出等限制的位置

anderx 1 year ago
parent
commit
6e7d209b51

+ 56 - 50
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -2887,6 +2887,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 			update.setPeopleCount(peopleList.size());
 			tOrderPublicReleaseCountMapper.updateByOrderNo(update);
 		}
+		List<OrderYearMaxDuration> orderYearMaxDurations = orderYearMaxDurationMapper.selectByOrderNo(in.getOrderNo());
 		data.setTimesCount(frequency);
 		data.setPeopleCount(peopleList.size());
 		data.setUserName(t.getUserName());
@@ -2899,59 +2900,64 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		List<TTaskMember> tTaskMembers = tTaskMemberMapper.selectByOrderNo(tOrderNew.getOrderNo());
 		String amountName=null;
 		String amountType=null;
-		if (tTaskMembers.size()<1){
-			if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(1))<0){
-				amountName="本合同低于1万";
-				amountType="原则上技术人员不可下户";
-			}else if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(3))<0){
-				amountName="本合同在1~3万";
-				amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
-			}else if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(5))<0){
-				amountName="本合同在3~5万";
-				amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
-			}else if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(10))<0){
-				amountName="本合同在5~10万";
-				amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
-			}
-		}else {
-			int yearSum=1;
-			for (TTaskMember tTaskMember : tTaskMembers) {
-				if (tTaskMember.getYearSum()!=null&&tTaskMember.getYearSum()>yearSum){
-					yearSum=tTaskMember.getYearSum();
-				}
-			}
-			BigDecimal divide =BigDecimal.ZERO;
-			if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(0))>0&&yearSum>0){
-				divide=tOrderNew.getTotalAmount().divide(BigDecimal.valueOf(yearSum),  BigDecimal.ROUND_HALF_UP);
-			}else {
-				divide=tOrderNew.getTotalAmount();
-			}
-			if (divide.compareTo(BigDecimal.valueOf(1))<0){
-				amountName="此会员订单,本年度金额低于1万";
-				amountType="原则上技术人员不可下户";
-			}else if (divide.compareTo(BigDecimal.valueOf(3))<0){
-				amountName="此会员订单,本年度金额1~3万";
-				amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
-			}else if (divide.compareTo(BigDecimal.valueOf(5))<0){
-				amountName="此会员订单,本年度金额3~5万";
-				amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
-			}else if (divide.compareTo(BigDecimal.valueOf(10))<0){
-				amountName="此会员订单,本年度金额5~10万";
-				amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
-			}
-		}
-		data.setAmountName(amountName);
-		data.setAmountType(amountType);
-		map.put("releaseCount",releaseCount);
-		//如果小于或者等于并且是未发起或者审核完成状态
-		if (actualDuration.compareTo(data.getDurationMax())<1&&
-				(releaseCount.getMaxProcess()==0||releaseCount.getMaxProcess()==4)
-		){
+		if (releaseCount.getMaxType()==2){
 			map.put("code",true);
 			map.put("data",null);
 		}else {
-			map.put("code",false);
-			map.put("data",data);
+			if (tTaskMembers.size()<1){
+				if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(1))<0){
+					amountName="本合同低于1万";
+					amountType="原则上技术人员不可下户";
+				}else if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(3))<0){
+					amountName="本合同在1~3万";
+					amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
+				}else if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(5))<0){
+					amountName="本合同在3~5万";
+					amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
+				}else if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(10))<0){
+					amountName="本合同在5~10万";
+					amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
+				}
+			}else {
+				int yearSum=1;
+				for (TTaskMember tTaskMember : tTaskMembers) {
+					if (tTaskMember.getYearSum()!=null&&tTaskMember.getYearSum()>yearSum){
+						yearSum=tTaskMember.getYearSum();
+					}
+				}
+				BigDecimal divide =BigDecimal.ZERO;
+				if (tOrderNew.getTotalAmount().compareTo(BigDecimal.valueOf(0))>0&&yearSum>0){
+					divide=tOrderNew.getTotalAmount().divide(BigDecimal.valueOf(yearSum),  BigDecimal.ROUND_HALF_UP);
+				}else {
+					divide=tOrderNew.getTotalAmount();
+				}
+				if (divide.compareTo(BigDecimal.valueOf(1))<0){
+					amountName="此会员订单,本年度金额低于1万";
+					amountType="原则上技术人员不可下户";
+				}else if (divide.compareTo(BigDecimal.valueOf(3))<0){
+					amountName="此会员订单,本年度金额1~3万";
+					amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
+				}else if (divide.compareTo(BigDecimal.valueOf(5))<0){
+					amountName="此会员订单,本年度金额3~5万";
+					amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
+				}else if (divide.compareTo(BigDecimal.valueOf(10))<0){
+					amountName="此会员订单,本年度金额5~10万";
+					amountType="已超出合同可公出标准"+data.getDurationMax()+"小时";
+				}
+			}
+			data.setAmountName(amountName);
+			data.setAmountType(amountType);
+			map.put("releaseCount",releaseCount);
+			//如果小于或者等于并且是未发起或者审核完成状态
+			if (actualDuration.compareTo(data.getDurationMax())<1&&
+					(releaseCount.getMaxProcess()==0||releaseCount.getMaxProcess()==4)
+			){
+				map.put("code",true);
+				map.put("data",null);
+			}else {
+				map.put("code",false);
+				map.put("data",data);
+			}
 		}
 		return map;
 	}