| 
					
				 | 
			
			
				@@ -29,11 +29,9 @@ import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.math.BigInteger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.time.LocalDate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.time.LocalDateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.time.ZoneId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.time.format.DateTimeFormatter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.function.Function; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -79,7 +77,7 @@ public class AmountSynDayServiceImpl implements AmountSynByDayService, Initializ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // modify by pengdi ,判断定时任务是否存在,不存在才进行新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         boolean exists = jobAndTriggerService.isExists(entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(!exists){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(!exists) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String cron = "0 */1 * * * ?"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             log.info("水量每天同步:" + cron); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             entity.setCronExpression(cron); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -121,10 +119,7 @@ public class AmountSynDayServiceImpl implements AmountSynByDayService, Initializ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Integer month=baseClosingAccountInfoDto.getMonth(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //插入水量基础信息(同步计划) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Integer amountNumber = amountWaterUsedAmountMapper.createdAmountByDay(siteId,customerId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(amountNumber == 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            log.info("每天同步水量失败:生成同步计划失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //获取客户编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<Customer> customers = customerMapper.getListById(customerId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(customers .size() != 1){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -153,16 +148,16 @@ public class AmountSynDayServiceImpl implements AmountSynByDayService, Initializ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //抄表数据结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<AmountSynRespDto> lists =new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for(int i=0;i<metercodes.size();i+=500){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(int i=0;i<metercodes.size();i+=30){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             AmountDaySynParamDto amountDaySynParamDto= new AmountDaySynParamDto(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             amountDaySynParamDto.setReadTime(DateTimeFormatter.ofPattern("yyyyMMdd").format(LocalDate.now().plusDays(-1))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             amountDaySynParamDto.setCustomerNo(customerNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //一次查询五百条 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //一次查询30条 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<String> selectList ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(i+500 >= metercodes.size()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(i+30 >= metercodes.size()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 selectList=metercodes.subList(i,metercodes.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                selectList=metercodes.subList(i,i+500); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                selectList=metercodes.subList(i,i+30); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             amountDaySynParamDto.setFileNo(selectList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -197,7 +192,7 @@ public class AmountSynDayServiceImpl implements AmountSynByDayService, Initializ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 AmountSynRespDto amountSynRespDto = map.get(amountWaterUsedAmountByDay.getMetercode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 BigDecimal readingOld = amountWaterUsedAmountByDay.getLastreading();//上期止度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (amountSynRespDto.getReading() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (StringUtils.isNotBlank(amountSynRespDto.getReading())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     BigDecimal readingNew = new BigDecimal(amountSynRespDto.getReading()).setScale(0, BigDecimal.ROUND_DOWN);//本期止度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     BigDecimal payAmount ;//结算水量 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -206,7 +201,7 @@ public class AmountSynDayServiceImpl implements AmountSynByDayService, Initializ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     BigDecimal replaceAmount = BigDecimal.ZERO;//旧表用水量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    String readDate = amountSynRespDto.getCurrentPeriodDate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String readDate = amountSynRespDto.getReadTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     Integer calculateway = amountWaterUsedAmountByDay.getCalculateway(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -230,7 +225,11 @@ public class AmountSynDayServiceImpl implements AmountSynByDayService, Initializ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     amountWaterUsedAmountByDay.setReading(readingNew); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    amountWaterUsedAmountByDay.setRecorddate(DateTimeUtil.parseDate(readDate, DateTimeUtil.DATE_TIME_FORMAT_SECOND)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(StringUtils.isNotBlank(readDate)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                         amountWaterUsedAmountByDay.setRecorddate( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                 Date.from(LocalDateTime.parse(readDate,DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ")).atZone(ZoneId.systemDefault()).toInstant())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     amountWaterUsedAmountByDay.setAmount(Amount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     amountWaterUsedAmountByDay.setPayamount(payAmount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     updates.add(amountWaterUsedAmountByDay); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -245,4 +244,5 @@ public class AmountSynDayServiceImpl implements AmountSynByDayService, Initializ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         log.info("每天水量同步结束:" + LocalDateTime.now()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |