| 
					
				 | 
			
			
				@@ -27,6 +27,11 @@ import cn.hutool.core.lang.Assert; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import jakarta.validation.Valid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import lombok.RequiredArgsConstructor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.time.Duration; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.time.LocalDateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.time.ZoneId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * <p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 协议(客商)车牌关系 服务实现类 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -63,7 +68,7 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 new Page<>(pageNum, pageSize), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 new LambdaQueryWrapper<ContractPlaceNumberRel>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         .eq(sysUser != null, ContractPlaceNumberRel::getContractId, sysUser.getContractId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						.orderByDesc(ContractPlaceNumberRel::getStartTime) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .orderByDesc(ContractPlaceNumberRel::getStartTime) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //.like(StrUtil.isNotBlank(keywords), ContractPlaceNumberRel::getCategoryName, keywords) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -130,19 +135,36 @@ public class ContractPlaceNumberRelServiceImpl extends ServiceImpl<ContractPlace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int pageNum = queryParams.getPageNum(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int pageSize = queryParams.getPageSize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 查询数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		LambdaQueryWrapper<ContractPlaceNumberRel> queryWrapper = new LambdaQueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		queryWrapper.ge(StrUtil.isNotBlank(queryParams.getStartTimeBegin()), ContractPlaceNumberRel::getStartTime, queryParams.getStartTimeBegin()).le(StrUtil.isNotBlank(queryParams.getStartTimeEnd()), ContractPlaceNumberRel::getStartTime, queryParams.getStartTimeEnd()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		queryWrapper.ge(StrUtil.isNotBlank(queryParams.getEndTimeBegin()), ContractPlaceNumberRel::getEndTime, queryParams.getEndTimeBegin()).le(StrUtil.isNotBlank(queryParams.getEndTimeEnd()), ContractPlaceNumberRel::getEndTime, queryParams.getEndTimeEnd()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		queryWrapper.eq(StrUtil.isNotBlank(queryParams.getPhone()),ContractPlaceNumberRel::getPhone, queryParams.getPhone()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		queryWrapper.orderByDesc(ContractPlaceNumberRel::getStartTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        LambdaQueryWrapper<ContractPlaceNumberRel> queryWrapper = new LambdaQueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        queryWrapper.ge(StrUtil.isNotBlank(queryParams.getStartTimeBegin()), ContractPlaceNumberRel::getStartTime, queryParams.getStartTimeBegin()).le(StrUtil.isNotBlank(queryParams.getStartTimeEnd()), ContractPlaceNumberRel::getStartTime, queryParams.getStartTimeEnd()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        queryWrapper.ge(StrUtil.isNotBlank(queryParams.getEndTimeBegin()), ContractPlaceNumberRel::getEndTime, queryParams.getEndTimeBegin()).le(StrUtil.isNotBlank(queryParams.getEndTimeEnd()), ContractPlaceNumberRel::getEndTime, queryParams.getEndTimeEnd()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        queryWrapper.eq(StrUtil.isNotBlank(queryParams.getPhone()), ContractPlaceNumberRel::getPhone, queryParams.getPhone()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        queryWrapper.orderByDesc(ContractPlaceNumberRel::getStartTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Page<ContractPlaceNumberRel> dictItemPage = this.page( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 new Page<>(pageNum, pageSize), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				queryWrapper 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                queryWrapper 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 实体转换 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Page<ContractPlaceNumberRelVO> pageResult = converter.entity2Page(dictItemPage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (ContractPlaceNumberRelVO record : pageResult.getRecords()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Date startTime = record.getStartTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Date endTime = record.getEndTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 将 Date 转换为 LocalDateTime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            LocalDateTime startLocalDateTime = startTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            LocalDateTime endLocalDateTime = endTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 计算时间差 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Duration duration = Duration.between(startLocalDateTime, endLocalDateTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 获取天、小时、分钟和秒 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            long days = duration.toDays(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            long hours = duration.toHours() % 24; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            long minutes = duration.toMinutes() % 60; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            long seconds = duration.getSeconds() % 60; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            record.setCoverTime(days + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return pageResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |