| 
					
				 | 
			
			
				@@ -3,6 +3,7 @@ package com.gree.mall.miniapp.logic.workorder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hutool.core.bean.BeanUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hutool.core.collection.CollectionUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import cn.hutool.core.date.DateUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import cn.hutool.db.sql.Order; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.metadata.IPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -211,19 +212,34 @@ public class OrderBaseLogic { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<String> orderStatusList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String orderStatus = orderBaseStatusEnum != null ? orderBaseStatusEnum.getKey() : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Boolean isMeet = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(StringUtils.equals(orderStatus, OrderBaseStatusEnum.YWG.getKey())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             orderStatusList.add(orderStatus); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             orderStatusList.add(OrderBaseStatusEnum.YJS.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             orderStatusList.add(OrderBaseStatusEnum.GCSZX.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             orderStatusList.add(OrderBaseStatusEnum.WDWG.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             orderStatusList.add(OrderBaseStatusEnum.YWGO.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            isMeet = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else if(StringUtils.equals(orderStatus,OrderBaseStatusEnum.YCD.getKey())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //异常单,不能通过工单状态字段去查,所以这里留空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             orderStatusList.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else if (StringUtils.equals(orderStatus, OrderBaseStatusEnum.DCL.getKey())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            orderStatusList.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            isMeet = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if (StringUtils.equals(orderStatus, OrderBaseStatusEnum.DCL.getKey())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderStatusList.add(OrderBaseStatusEnum.YWG.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderStatusList.add(OrderBaseStatusEnum.YJS.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderStatusList.add(OrderBaseStatusEnum.GCSZX.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderStatusList.add(OrderBaseStatusEnum.YWGO.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderStatusList.add(OrderBaseStatusEnum.WDWG.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderStatusList.add(OrderBaseStatusEnum.DQD.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderStatusList.add(OrderBaseStatusEnum.DCL.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            isMeet = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if (StringUtils.equals(orderStatus, OrderBaseStatusEnum.DJD.getKey())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            orderStatusList.add(OrderBaseStatusEnum.DJD.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            isMeet = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else if(orderStatus != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             orderStatusList.add(orderStatus); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            isMeet = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(StringUtils.equals(orderStatus, OrderBaseStatusEnum.FWZ.getKey())){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -238,14 +254,28 @@ public class OrderBaseLogic { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             orderStatusList.add(OrderBaseStatusEnum.TJXSBH.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             orderStatusList.add(OrderBaseStatusEnum.ZBBH.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             orderStatusList.add(OrderBaseStatusEnum.FZXBH.getKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            isMeet = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Boolean finalIsMeet = isMeet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Page page = pgOrderBaseService.lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .eq(PgOrderBase::getCompanyWechatId,currentCompanyWechat.getCompanyWechatId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .notIn(orderStatus != null && orderStatus.equals(OrderBaseStatusEnum.DCL.getKey()),PgOrderBase::getOrderStatus, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        OrderBaseStatusEnum.YWG.getKey(),OrderBaseStatusEnum.YWGO.getKey(),OrderBaseStatusEnum.GCSZX.getKey(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        OrderBaseStatusEnum.WDWG.getKey() ,OrderBaseStatusEnum.DQD.getKey(),OrderBaseStatusEnum.YJS.getKey() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .notIn(PgOrderBase::getOrderStatus,OrderBaseStatusEnum.YQX.getKey(),OrderBaseStatusEnum.FWQX.getKey() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ,OrderBaseStatusEnum.FL.getKey(), OrderBaseStatusEnum.FWZT.getKey(),OrderBaseStatusEnum.YCGB 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .and(CollectionUtils.isNotEmpty(orderStatusList) && !orderStatusList.contains("DCL") && !orderStatusList.contains("DJD"),item -> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        item.in(PgOrderBase::getOrderStatus,orderStatusList).eq(PgOrderBase::getIsMeet, finalIsMeet)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .and(CollectionUtils.isNotEmpty(orderStatusList) && orderStatusList.contains("DCL"),item -> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        item.notIn(PgOrderBase::getOrderStatus,orderStatusList)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .and(CollectionUtils.isNotEmpty(orderStatusList) && orderStatusList.contains("DJD"),item -> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        item.in(PgOrderBase::getOrderStatus,orderStatusList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .or().eq(PgOrderBase::getIsMeet, finalIsMeet) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .ne(isYb != null && isYb,PgOrderBase::getPgIncreOrderId,"") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .ne(isWb != null && isWb,PgOrderBase::getRpProjectRepairId,"") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .eq(StringUtils.isNotBlank(pgIncreOrderId),PgOrderBase::getPgIncreOrderId,pgIncreOrderId) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -257,15 +287,6 @@ public class OrderBaseLogic { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 .like(PgOrderBase::getOrderSmallTypeText,keyword).or() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 .like(PgOrderBase::getUserMobile,keyword).or() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 .like(PgOrderBase::getAddress,keyword)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .and(CollectionUtils.isNotEmpty(orderStatusList),item -> item.in(CollectionUtils.isNotEmpty(orderStatusList), PgOrderBase::getOrderStatus, orderStatusList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        .eq(CollectionUtils.isNotEmpty(orderStatusList) && orderStatusList.contains("DJD"),PgOrderBase::getIsImportExcel,false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .or(CollectionUtils.isNotEmpty(orderStatusList) && orderStatusList.contains("DJD"),item1 -> item1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        .eq(CollectionUtils.isNotEmpty(orderStatusList) && orderStatusList.contains("DJD"),PgOrderBase::getIsMeet,false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        .eq(PgOrderBase::getIsImportExcel,true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .eq(CollectionUtils.isNotEmpty(orderStatusList) && (!orderStatusList.contains("DJD") || !orderStatusList.contains("DCL")),PgOrderBase::getIsMeet,true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .eq(StringUtils.equals(orderStatus, OrderBaseStatusEnum.YCD.getKey()),PgOrderBase::getIsException,true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .between(!StringUtils.equals(orderStatus, OrderBaseStatusEnum.YWG.getKey()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         && StringUtils.isNoneBlank(startTime, endTime) && (byDay == null || byDay != 3), PgOrderBase::getDispatchTime, startTime, endTime) 
			 |