Pārlūkot izejas kodu

发起订单BUG修复
发起公出BUG修复
公出&报销列表BUG修复

anderx 1 gadu atpakaļ
vecāks
revīzija
10e688e79f

+ 21 - 17
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -1806,43 +1806,46 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		List<PublicRelease> list = publicReleaseMapper.selectByOrderNo(in.getOrderNo());
 		TOrderNewBo t = tOrderNewMapper.getOrderNewDetail(in.getOrderNo());
 		OutPublicRelease outPublicRelease=null;
-		BigDecimal count = BigDecimal.ZERO;
-		int timesCount=0;
+		//实际公出
+		BigDecimal actualDuration = BigDecimal.ZERO;
+		//公出次数
+		int frequency=0;
 		List<String> peopleList = new ArrayList<>();
+		//判定是不是新增获取原数据,是新增数量加1
 		if (in.getId()!=null){
 			outPublicRelease= publicReleaseMapper.selectDtails(in.getId());
 		}else {
 			peopleList.add(TokenManager.getAdminId());
-			count=count.add(BigDecimal.valueOf(in.getDuration()));
-			timesCount++;
+			actualDuration=actualDuration.add(BigDecimal.valueOf(in.getDuration()));
+			frequency++;
 		}
 		for (PublicRelease e : list) {
 			//新增直接计算
 			if (in.getId()==null){
 				if (e.getDuration()!=null){
-					count=count.add(BigDecimal.valueOf(e.getDuration()));
+					actualDuration=actualDuration.add(BigDecimal.valueOf(e.getDuration()));
 					if (!peopleList.contains(e.getAid())){
 						peopleList.add(e.getAid());
 					}
-					timesCount++;
+					frequency++;
 				}
 			}else {
 				//修改当前数据要从修改后获取
 				if (!e.getId().equals(in.getId())){
 					if (e.getDuration()!=null){
-						count=count.add(BigDecimal.valueOf(e.getDuration()));
+						actualDuration=actualDuration.add(BigDecimal.valueOf(e.getDuration()));
 						if (!peopleList.contains(e.getAid())){
 							peopleList.add(e.getAid());
 						}
-						timesCount++;
+						frequency++;
 					}
 				}else {
 					if (outPublicRelease != null && outPublicRelease.getDuration() != null) {
-						count = count.add(BigDecimal.valueOf(outPublicRelease.getDuration()));
+						actualDuration = actualDuration.add(BigDecimal.valueOf(outPublicRelease.getDuration()));
 						if (!peopleList.contains(outPublicRelease.getAid())) {
 							peopleList.add(outPublicRelease.getAid());
 						}
-						timesCount++;
+						frequency++;
 					}
 				}
 			}
@@ -1858,17 +1861,17 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		if (type==1||type==2){
 			TOrderPublicReleaseCount update=new TOrderPublicReleaseCount();
 			update.setOrderNo(in.getOrderNo());
-			update.setFrequency(timesCount);
-			update.setActualDuration(count.doubleValue());
+			update.setFrequency(frequency);
+			update.setActualDuration(actualDuration.doubleValue());
 			update.setPeopleCount(peopleList.size());
 			tOrderPublicReleaseCountMapper.updateByOrderNo(update);
 		}
-		data.setTimesCount(timesCount);
+		data.setTimesCount(frequency);
 		data.setPeopleCount(peopleList.size());
 		data.setUserName(t.getUserName());
 		data.setContractNo(t.getContractNo());
 		data.setAdminName(t.getSalesmanName());
-		data.setDurationCount(count);
+		data.setDurationCount(actualDuration);
 		// 0=0-1 1=1-3 2=3-5 3=5-10 4=10以上
 		if (t.getTotalAmount().compareTo(BigDecimal.valueOf(1)) < 0) {
 			data.setAmountType(0);
@@ -1878,7 +1881,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		} else if (t.getTotalAmount().compareTo(BigDecimal.valueOf(3))<0) {
 			data.setAmountType(1);
 			data.setDurationMax(BigDecimal.valueOf(15));
-			if (count.compareTo(data.getDurationMax())<1){
+			if (actualDuration.compareTo(data.getDurationMax())<1){
 				map.put("code",true);
 				map.put("data",null);
 			}else {
@@ -1888,7 +1891,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		} else if (t.getTotalAmount().compareTo(BigDecimal.valueOf(5))<0) {
 			data.setAmountType(2);
 			data.setDurationMax(BigDecimal.valueOf(45));
-			if (count.compareTo(data.getDurationMax())<1){
+			if (actualDuration.compareTo(data.getDurationMax())<1){
 				map.put("code",true);
 				map.put("data",null);
 			}else {
@@ -1898,7 +1901,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		} else if (t.getTotalAmount().compareTo(BigDecimal.valueOf(10))<0) {
 			data.setAmountType(3);
 			data.setDurationMax(BigDecimal.valueOf(120));
-			if (count.compareTo(data.getDurationMax())<1){
+			if (actualDuration.compareTo(data.getDurationMax())<1){
 				map.put("code",true);
 				map.put("data",null);
 			}else {
@@ -1989,6 +1992,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 	@Override
 	@Cacheable(value = "releaseAndExpenseCount#300", key = "'getCounts:key='+#in.buyerName+#in.contractNo+#in.aid+#in.depId+#in.allStatus+#in.startTime+#in.endTime")
 	public List<releaseAndExpenseCountOut> releaseAndExpenseCount(InputreleaseAndExpenseCount in) {
+		if (in.getEndTime()!=null)in.setEndTime(in.getEndTime()+" 23:59:59");
 		List<releaseAndExpenseCountOut> expenseCountsOrders = publicReleaseMapper.releaseAndExpenseCount(in);
 		expenseCountsOrders.forEach(e->{
 			if (e.getExceedDuration()!=null){