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