diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsRuleController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsRuleController.java index 69037119..9755a660 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsRuleController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsRuleController.java @@ -74,7 +74,7 @@ public class GoodsRuleController { public R importData(@RequestBody @Valid GoodsRuleImportBo param){ // 转换成GoodsRuleBo GoodsRuleBo ruleBo = goodsRuleService.tranGoodsRuleBo(param); - if(param.getCheckOkFlag()!=null&¶m.getCheckOkFlag()){ + if(param.getCheckOkFlag()!=null&&!param.getCheckOkFlag()){ return R.errorImport(param); } goodsRuleService.modify(ruleBo); diff --git a/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsRuleBo.java b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsRuleBo.java index acb41e82..17090a5f 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsRuleBo.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsRuleBo.java @@ -3,6 +3,7 @@ package com.qs.serve.modules.goods.entity.bo; import com.qs.serve.modules.goods.entity.dto.GoodsRuleBaseDTO; import lombok.Data; +import java.util.ArrayList; import java.util.List; /** @@ -30,4 +31,9 @@ public class GoodsRuleBo extends GoodsRuleBaseDTO { /** 不能选的SPU */ private List notInSpuIds; + /** + * 用于区分导入时,excel未传入数据,导致删除 + */ + private List selectTargetTypes = new ArrayList<>(); + } diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsAccreditServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsAccreditServiceImpl.java index 37073b4e..1e6eef84 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsAccreditServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsAccreditServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.util.Assert; +import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.StringUtils; import com.qs.serve.modules.bms.entity.BmsRegion; @@ -61,7 +62,7 @@ public class GoodsAccreditServiceImpl extends ServiceImpl onlySaleRegionCodes = importBo.getOnlySaleRegionCodes(); if(CollUtil.isNotEmpty(onlySaleRegionCodes)){ diff --git a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsRuleServiceImpl.java b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsRuleServiceImpl.java index 388ea09e..efd72549 100644 --- a/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsRuleServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/goods/service/impl/GoodsRuleServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qs.serve.common.model.dto.SimpleKeyValue; import com.qs.serve.common.util.Assert; +import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.StringUtils; import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.BmsRegion2; @@ -60,86 +61,94 @@ public class GoodsRuleServiceImpl extends ServiceImpl @Override public GoodsRuleBo tranGoodsRuleBo(GoodsRuleImportBo ruleImportBo) { - GoodsRuleBo goodsRuleBo = new GoodsRuleBo(); + GoodsRuleBo goodsRuleBo = CopierUtil.copy(ruleImportBo,new GoodsRuleBo()); boolean checkOkFlag = true; if(CollUtil.isNotEmpty(ruleImportBo.getOnlyCategoryCodes())){ List categoryList = categoryMapper .selectList(new LambdaQueryWrapper() .in(GoodsCategory::getCode,ruleImportBo.getOnlyCategoryCodes())); + List errCodes = new ArrayList<>(); for (String code : ruleImportBo.getOnlyCategoryCodes()) { boolean mch = categoryList.stream().anyMatch(a->a.getCode().equals(code)); if(!mch){ - checkOkFlag = false; - List errCodes = new ArrayList<>(); errCodes.add(code); - if(ruleImportBo.getErrOnlyCategoryCodes()!=null){ - errCodes.addAll(ruleImportBo.getErrNotInCategoryCodes()); - } - ruleImportBo.setErrOnlyCategoryCodes(errCodes); } } - List ids = categoryList.stream().map(a->a.getId().toString()).collect(Collectors.toList()); - goodsRuleBo.setOnlyCategoryIds(ids); + if(errCodes.size()>0){ + checkOkFlag = false; + ruleImportBo.setErrOnlyCategoryCodes(errCodes); + }else { + List ids = categoryList.stream().map(a->a.getId().toString()).collect(Collectors.toList()); + goodsRuleBo.setOnlyCategoryIds(ids); + //1只能选的分类 + goodsRuleBo.getSelectTargetTypes().add(1); + } } if(CollUtil.isNotEmpty(ruleImportBo.getNotInCategoryCodes())){ List categoryList = categoryMapper .selectList(new LambdaQueryWrapper() .in(GoodsCategory::getCode,ruleImportBo.getNotInCategoryCodes())); + List errCodes = new ArrayList<>(); for (String code : ruleImportBo.getNotInCategoryCodes()) { boolean mch = categoryList.stream().anyMatch(a->a.getCode().equals(code)); if(!mch){ - checkOkFlag = false; - List errCodes = new ArrayList<>(); errCodes.add(code); - if(ruleImportBo.getErrNotInCategoryCodes()!=null){ - errCodes.addAll(ruleImportBo.getErrNotInCategoryCodes()); - } - ruleImportBo.setErrNotInCategoryCodes(errCodes); } } - List ids = categoryList.stream().map(a->a.getId().toString()).collect(Collectors.toList()); - goodsRuleBo.setNotInCategoryIds(ids); + if(errCodes.size()>0){ + checkOkFlag = false; + ruleImportBo.setErrNotInCategoryCodes(errCodes); + }else { + List ids = categoryList.stream().map(a->a.getId().toString()).collect(Collectors.toList()); + goodsRuleBo.setNotInCategoryIds(ids); + //2不能选的分类 + goodsRuleBo.getSelectTargetTypes().add(2); + } } if(CollUtil.isNotEmpty(ruleImportBo.getOnlySpuCodes())){ List spuList = spuMapper .selectList(new LambdaQueryWrapper() .in(GoodsSpu::getSpuCode,ruleImportBo.getOnlySpuCodes())); + List errCodes = new ArrayList<>(); for (String code : ruleImportBo.getOnlySpuCodes()) { boolean mch = spuList.stream().anyMatch(a->a.getSpuCode().equals(code)); if(!mch){ checkOkFlag = false; - List errCodes = new ArrayList<>(); errCodes.add(code); - if(ruleImportBo.getErrOnlySpuCodes()!=null){ - errCodes.addAll(ruleImportBo.getErrOnlySpuCodes()); - } - ruleImportBo.setErrOnlySpuCodes(errCodes); } } - List ids = spuList.stream().map(a->a.getId().toString()).collect(Collectors.toList()); - goodsRuleBo.setOnlySpuIds(ids); + if(errCodes.size()>0){ + ruleImportBo.setErrOnlySpuCodes(errCodes); + }else { + List ids = spuList.stream().map(a->a.getId().toString()).collect(Collectors.toList()); + goodsRuleBo.setOnlySpuIds(ids); + //3只能选的SPU + goodsRuleBo.getSelectTargetTypes().add(3); + } } if(CollUtil.isNotEmpty(ruleImportBo.getNotInSpuCodes())){ List spuList = spuMapper .selectList(new LambdaQueryWrapper() .in(GoodsSpu::getSpuCode,ruleImportBo.getNotInSpuCodes())); + List errCodes = new ArrayList<>(); for (String code : ruleImportBo.getNotInSpuCodes()) { boolean mch = spuList.stream().anyMatch(a->a.getSpuCode().equals(code)); if(!mch){ - checkOkFlag = false; - List errCodes = new ArrayList<>(); errCodes.add(code); - if(ruleImportBo.getErrOnlySpuCodes()!=null){ - errCodes.addAll(ruleImportBo.getErrNotInSpuCodes()); - } - ruleImportBo.setErrNotInSpuCodes(errCodes); } } - List ids = spuList.stream().map(a->a.getId().toString()).collect(Collectors.toList()); - goodsRuleBo.setNotInSpuIds(ids); + if(CollUtil.isNotEmpty(errCodes)){ + checkOkFlag = false; + ruleImportBo.setErrNotInSpuCodes(errCodes); + }else { + List ids = spuList.stream().map(a->a.getId().toString()).collect(Collectors.toList()); + goodsRuleBo.setNotInSpuIds(ids); + //4不能选的SPU + goodsRuleBo.getSelectTargetTypes().add(4); + } } ruleImportBo.setCheckOkFlag(checkOkFlag); return goodsRuleBo; @@ -167,6 +176,10 @@ public class GoodsRuleServiceImpl extends ServiceImpl //清空操作 LambdaQueryWrapper rmItem = new LambdaQueryWrapper<>(); rmItem.eq(GoodsRuleItem::getRuleId,goodsRule.getId()); + //用于区分导入时,excel未传入数据,导致删除 + if(CollUtil.isNotEmpty(param.getSelectTargetTypes())){ + rmItem.eq(GoodsRuleItem::getTargetType,param.getSelectTargetTypes()); + } goodsRuleItemService.remove(rmItem); if(!b1 && !b2 && !b3 && !b4){ diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java index badb5f2a..b07d4af7 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java @@ -673,9 +673,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl flowIdResult = null; - //启用新方法开关 - boolean newWay = true; - if(newWay && tbsCostApply.getContractFlag().equals(1)){ + if(tbsCostApply.getContractFlag().equals(1)){ List uploadFileList = new ArrayList<>(); if(CollectionUtil.isNotEmpty(oaAttachmentsIdList)){ List attachList = sysAttachService.listByIds(oaAttachmentsIdList);