|
@ -18,6 +18,7 @@ import com.qs.serve.modules.bms.mapper.BmsRegionMapper; |
|
|
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; |
|
|
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; |
|
|
import com.qs.serve.modules.goods.entity.*; |
|
|
import com.qs.serve.modules.goods.entity.*; |
|
|
import com.qs.serve.modules.goods.entity.bo.GoodsAccreditBo; |
|
|
import com.qs.serve.modules.goods.entity.bo.GoodsAccreditBo; |
|
|
|
|
|
import com.qs.serve.modules.goods.entity.bo.GoodsAccreditImportBo; |
|
|
import com.qs.serve.modules.goods.entity.dto.GoodsAccrIdsDto; |
|
|
import com.qs.serve.modules.goods.entity.dto.GoodsAccrIdsDto; |
|
|
import com.qs.serve.modules.goods.entity.dto.GoodsAccreditExt; |
|
|
import com.qs.serve.modules.goods.entity.dto.GoodsAccreditExt; |
|
|
import com.qs.serve.modules.goods.entity.dto.GoodsAccreditQuery; |
|
|
import com.qs.serve.modules.goods.entity.dto.GoodsAccreditQuery; |
|
@ -57,13 +58,151 @@ public class GoodsAccreditServiceImpl extends ServiceImpl<GoodsAccreditMapper,Go |
|
|
|
|
|
|
|
|
private final GoodsAccreditItemService goodsAccreditItemService; |
|
|
private final GoodsAccreditItemService goodsAccreditItemService; |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public GoodsAccreditBo tranGoodsAccreditBo(GoodsAccreditImportBo importBo) { |
|
|
|
|
|
importBo.setSuccessFlag(true); |
|
|
|
|
|
GoodsAccreditBo accreditBo = new GoodsAccreditBo(); |
|
|
|
|
|
|
|
|
|
|
|
List<String> onlySaleRegionCodes = importBo.getOnlySaleRegionCodes(); |
|
|
|
|
|
if(CollUtil.isNotEmpty(onlySaleRegionCodes)){ |
|
|
|
|
|
List<BmsRegion> saleRegionList = regionMapper.selectList( |
|
|
|
|
|
new LambdaQueryWrapper<BmsRegion>() |
|
|
|
|
|
.in(BmsRegion::getCode,onlySaleRegionCodes) |
|
|
|
|
|
); |
|
|
|
|
|
List<String> errCodes = new ArrayList<>(); |
|
|
|
|
|
for (String regionCode : onlySaleRegionCodes) { |
|
|
|
|
|
boolean r = saleRegionList.stream().anyMatch(a->a.getCode().equals(regionCode)); |
|
|
|
|
|
if(!r){ |
|
|
|
|
|
errCodes.add(regionCode); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if(CollUtil.isNotEmpty(errCodes)){ |
|
|
|
|
|
importBo.setSuccessFlag(false); |
|
|
|
|
|
importBo.setErrOnlySaleRegionCodes(errCodes); |
|
|
|
|
|
}else { |
|
|
|
|
|
accreditBo.setOnlySaleRegionIds(saleRegionList.stream() |
|
|
|
|
|
.map(BmsRegion::getId).collect(Collectors.toList())); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
List<String> notInSaleRegionCodes = importBo.getNotInSaleRegionCodes(); |
|
|
|
|
|
if(CollUtil.isNotEmpty(notInSaleRegionCodes)){ |
|
|
|
|
|
List<BmsRegion> saleRegionList = regionMapper.selectList( |
|
|
|
|
|
new LambdaQueryWrapper<BmsRegion>() |
|
|
|
|
|
.in(BmsRegion::getCode,notInSaleRegionCodes) |
|
|
|
|
|
); |
|
|
|
|
|
List<String> errCodes = new ArrayList<>(); |
|
|
|
|
|
for (String regionCode : notInSaleRegionCodes) { |
|
|
|
|
|
boolean r = saleRegionList.stream().anyMatch(a->a.getCode().equals(regionCode)); |
|
|
|
|
|
if(!r){ |
|
|
|
|
|
errCodes.add(regionCode); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if(CollUtil.isNotEmpty(errCodes)){ |
|
|
|
|
|
importBo.setSuccessFlag(false); |
|
|
|
|
|
importBo.setErrNotInSaleRegionCodes(errCodes); |
|
|
|
|
|
}else { |
|
|
|
|
|
accreditBo.setNotInSaleRegionIds(saleRegionList.stream() |
|
|
|
|
|
.map(BmsRegion::getId).collect(Collectors.toList())); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
List<String> onlyBizRegionCodes = importBo.getOnlyBizRegionCodes(); |
|
|
|
|
|
if(CollUtil.isNotEmpty(onlyBizRegionCodes)){ |
|
|
|
|
|
List<BmsRegion2> bizRegionList = region2Mapper.selectList( |
|
|
|
|
|
new LambdaQueryWrapper<BmsRegion2>() |
|
|
|
|
|
.in(BmsRegion2::getCode,onlyBizRegionCodes) |
|
|
|
|
|
); |
|
|
|
|
|
List<String> errCodes = new ArrayList<>(); |
|
|
|
|
|
for (String regionCode : onlyBizRegionCodes) { |
|
|
|
|
|
boolean r = bizRegionList.stream().anyMatch(a->a.getCode().equals(regionCode)); |
|
|
|
|
|
if(!r){ |
|
|
|
|
|
errCodes.add(regionCode); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if(CollUtil.isNotEmpty(errCodes)){ |
|
|
|
|
|
importBo.setSuccessFlag(false); |
|
|
|
|
|
importBo.setErrOnlyBizRegionCodes(errCodes); |
|
|
|
|
|
}else { |
|
|
|
|
|
accreditBo.setOnlyBizRegionIds(bizRegionList.stream() |
|
|
|
|
|
.map(BmsRegion2::getId).collect(Collectors.toList())); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
List<String> notInBizRegionCodes = importBo.getNotInBizRegionCodes(); |
|
|
|
|
|
if(CollUtil.isNotEmpty(notInBizRegionCodes)){ |
|
|
|
|
|
List<BmsRegion2> bizRegionList = region2Mapper.selectList( |
|
|
|
|
|
new LambdaQueryWrapper<BmsRegion2>() |
|
|
|
|
|
.in(BmsRegion2::getCode,notInBizRegionCodes) |
|
|
|
|
|
); |
|
|
|
|
|
List<String> errCodes = new ArrayList<>(); |
|
|
|
|
|
for (String regionCode : notInBizRegionCodes) { |
|
|
|
|
|
boolean r = bizRegionList.stream().anyMatch(a->a.getCode().equals(regionCode)); |
|
|
|
|
|
if(!r){ |
|
|
|
|
|
errCodes.add(regionCode); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if(CollUtil.isNotEmpty(errCodes)){ |
|
|
|
|
|
importBo.setSuccessFlag(false); |
|
|
|
|
|
importBo.setErrNotInBizRegionCodes(errCodes); |
|
|
|
|
|
}else { |
|
|
|
|
|
accreditBo.setNotInBizRegionIds(bizRegionList.stream() |
|
|
|
|
|
.map(BmsRegion2::getId).collect(Collectors.toList())); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
List<String> notInSupplierCodes = importBo.getNotInSupplierCodes(); |
|
|
|
|
|
if(CollUtil.isNotEmpty(notInSupplierCodes)){ |
|
|
|
|
|
List<BmsSupplier> supplierList = supplierMapper.selectList( |
|
|
|
|
|
new LambdaQueryWrapper<BmsSupplier>() |
|
|
|
|
|
.in(BmsSupplier::getCode,notInSupplierCodes) |
|
|
|
|
|
); |
|
|
|
|
|
List<String> errCodes = new ArrayList<>(); |
|
|
|
|
|
for (String code : notInSupplierCodes) { |
|
|
|
|
|
boolean r = supplierList.stream().anyMatch(a->a.getCode().equals(code)); |
|
|
|
|
|
if(!r){ |
|
|
|
|
|
errCodes.add(code); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if(CollUtil.isNotEmpty(errCodes)){ |
|
|
|
|
|
importBo.setSuccessFlag(false); |
|
|
|
|
|
importBo.setErrNotInSupplierCodes(errCodes); |
|
|
|
|
|
}else { |
|
|
|
|
|
accreditBo.setNotInSupplierIds(supplierList.stream() |
|
|
|
|
|
.map(BmsSupplier::getId).collect(Collectors.toList())); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
List<String> onlySupplierCodes = importBo.getOnlySupplierCodes(); |
|
|
|
|
|
if(CollUtil.isNotEmpty(onlySupplierCodes)){ |
|
|
|
|
|
List<BmsSupplier> supplierList = supplierMapper.selectList( |
|
|
|
|
|
new LambdaQueryWrapper<BmsSupplier>() |
|
|
|
|
|
.in(BmsSupplier::getCode,onlySupplierCodes) |
|
|
|
|
|
); |
|
|
|
|
|
List<String> errCodes = new ArrayList<>(); |
|
|
|
|
|
for (String code : onlySupplierCodes) { |
|
|
|
|
|
boolean r = supplierList.stream().anyMatch(a->a.getCode().equals(code)); |
|
|
|
|
|
if(!r){ |
|
|
|
|
|
errCodes.add(code); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if(CollUtil.isNotEmpty(errCodes)){ |
|
|
|
|
|
importBo.setSuccessFlag(false); |
|
|
|
|
|
importBo.setErrOnlySupplierCodes(errCodes); |
|
|
|
|
|
}else { |
|
|
|
|
|
accreditBo.setOnlySupplierIds(supplierList.stream() |
|
|
|
|
|
.map(BmsSupplier::getId).collect(Collectors.toList())); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return accreditBo; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public PageVo<GoodsAccreditResult> queryPage(GoodsAccreditQuery query) { |
|
|
public PageVo<GoodsAccreditResult> queryPage(GoodsAccreditQuery query) { |
|
|
initAccreditQuery(query); |
|
|
initAccreditQuery(query); |
|
|
PageUtil.startPage(); |
|
|
PageUtil.startPage(); |
|
|
List<GoodsAccreditExt> list = super.baseMapper.queryUnionPage(query); |
|
|
List<GoodsAccreditExt> list = super.baseMapper.queryUnionPage(query); |
|
|
List<GoodsAccreditResult> results = getGoodsAccreditResults(list); |
|
|
List<GoodsAccreditResult> results = getGoodsAccreditResults(list); |
|
|
|
|
|
|
|
|
return R.byPageHelperList(list,results).getData(); |
|
|
return R.byPageHelperList(list,results).getData(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|