|
@@ -1,5 +1,6 @@
|
|
|
package com.gree.mall.manager.logic.workorder;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import com.gree.mall.manager.enums.MaterialExamineStatusEnum;
|
|
|
import com.gree.mall.manager.enums.workorder.OrderFlagEnum;
|
|
|
import com.gree.mall.manager.exception.RemoteServiceException;
|
|
@@ -11,12 +12,10 @@ import com.gree.mall.manager.plus.service.PgOrderBaseService;
|
|
|
import com.gree.mall.manager.plus.service.PgOrderFlagService;
|
|
|
import com.gree.mall.manager.plus.service.RpMaterialOrderService;
|
|
|
import com.gree.mall.manager.utils.StringUtil;
|
|
|
-import net.bytebuddy.asm.Advice;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
-import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collections;
|
|
@@ -69,34 +68,52 @@ public class OrderFlagLogic {
|
|
|
|
|
|
@Transactional
|
|
|
public void saveOrderFlag(List<String> orderBaseIds, OrderFlagEnum orderFlagEnum, String remark){
|
|
|
- if(CollectionUtils.isEmpty(orderBaseIds) || orderFlagEnum == null){
|
|
|
+ if (CollectionUtil.isEmpty(orderBaseIds) || orderFlagEnum == null) {
|
|
|
return;
|
|
|
}
|
|
|
orderBaseIds = orderBaseIds.stream()
|
|
|
.distinct()
|
|
|
.collect(Collectors.toList());
|
|
|
pgOrderFlagService.lambdaUpdate()
|
|
|
- .in(PgOrderFlag::getOrderBaseId,orderBaseIds)
|
|
|
- .eq(PgOrderFlag::getTag,orderFlagEnum.getKey())
|
|
|
+ .in(PgOrderFlag::getOrderBaseId, orderBaseIds)
|
|
|
+ .eq(PgOrderFlag::getTag, orderFlagEnum.getKey())
|
|
|
.remove();
|
|
|
+ // 排除4.0与自建标签同时存在问题
|
|
|
+ List<String> order4Flags = new ArrayList<>();
|
|
|
+ if (orderFlagEnum.getKey().equals(OrderFlagEnum.ORDER.getKey())) {
|
|
|
+ List<PgOrderFlag> flagList = pgOrderFlagService.lambdaQuery()
|
|
|
+ .select(PgOrderFlag::getOrderBaseId)
|
|
|
+ .in(PgOrderFlag::getOrderBaseId, orderBaseIds)
|
|
|
+ .eq(PgOrderFlag::getTag, OrderFlagEnum.ORDER4.getKey())
|
|
|
+ .list();
|
|
|
+ order4Flags = flagList.stream().map(PgOrderFlag::getOrderBaseId).collect(Collectors.toList());
|
|
|
+ }
|
|
|
List<PgOrderFlag> orderFlags = new ArrayList<>();
|
|
|
- for(String orderBaseId : orderBaseIds) {
|
|
|
+ for (String orderBaseId : orderBaseIds) {
|
|
|
+ if (CollectionUtil.isNotEmpty(order4Flags)
|
|
|
+ && order4Flags.contains(orderBaseId)
|
|
|
+ && orderFlagEnum.getKey().equals(OrderFlagEnum.ORDER.getKey())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
PgOrderFlag pgOrderFlag = new PgOrderFlag();
|
|
|
pgOrderFlag.setOrderBaseId(orderBaseId);
|
|
|
pgOrderFlag.setTag(orderFlagEnum.getKey());
|
|
|
pgOrderFlag.setTagName(orderFlagEnum.getRemark());
|
|
|
pgOrderFlag.setSortNum(orderFlagEnum.getSortNum());
|
|
|
pgOrderFlag.setRemark(remark);
|
|
|
- if(orderFlagEnum.getSortNum() != null && orderFlagEnum.getSortNum().intValue() == -1){
|
|
|
+ if (orderFlagEnum.getSortNum() != null && orderFlagEnum.getSortNum() == -1) {
|
|
|
pgOrderFlag.setType(0);
|
|
|
}
|
|
|
orderFlags.add(pgOrderFlag);
|
|
|
}
|
|
|
- pgOrderFlagService.saveBatch(orderFlags);
|
|
|
+ if (CollectionUtil.isNotEmpty(orderFlags))
|
|
|
+ pgOrderFlagService.saveBatch(orderFlags);
|
|
|
+
|
|
|
//如果是异常反馈,标识主表字段
|
|
|
- if(orderFlagEnum.getKey().equals(OrderFlagEnum.YI_CHANGE.getKey())){
|
|
|
- pgOrderBaseService.lambdaUpdate().set(PgOrderBase::getIsException,true).in(PgOrderBase::getId,orderBaseIds).update();
|
|
|
+ if (orderFlagEnum.getKey().equals(OrderFlagEnum.YI_CHANGE.getKey())) {
|
|
|
+ pgOrderBaseService.lambdaUpdate().set(PgOrderBase::getIsException, true).in(PgOrderBase::getId, orderBaseIds).update();
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
@@ -124,7 +141,7 @@ public class OrderFlagLogic {
|
|
|
}
|
|
|
|
|
|
public Map<String, List<PgOrderFlag>> list(List<String> orderBaseIds){
|
|
|
- if(CollectionUtils.isEmpty(orderBaseIds)){
|
|
|
+ if(CollectionUtil.isEmpty(orderBaseIds)){
|
|
|
return Collections.emptyMap();
|
|
|
}
|
|
|
return this.list(orderBaseIds,1);
|
|
@@ -148,7 +165,7 @@ public class OrderFlagLogic {
|
|
|
* 查询服务单标识-列表
|
|
|
*/
|
|
|
public Map<String, List<PgOrderFlag>> list(List<String> orderBaseIds,Integer type){
|
|
|
- if(CollectionUtils.isEmpty(orderBaseIds)){
|
|
|
+ if(CollectionUtil.isEmpty(orderBaseIds)){
|
|
|
return Collections.emptyMap();
|
|
|
}
|
|
|
return pgOrderFlagService.lambdaQuery()
|