库存商品上传
This commit is contained in:
1 parent
2419c32cbf
commit
593701cd83
3 files changed
+35
-24
No files matched your search
+12
-12
@@ -21,18 +21,18 @@ public class ErpSpuValidator {
|
||||
if (StringUtils.isEmpty(entity.getUnit())) {
|
||||
errors.add("第" + (rowIndex + 1) + "行: 单位不能为空");
|
||||
}
|
||||
if (StringUtils.isEmpty(entity.getSpec())) {
|
||||
errors.add("第" + (rowIndex + 1) + "行: 规格不能为空");
|
||||
}
|
||||
if (StringUtils.isEmpty(entity.getClassification())) {
|
||||
errors.add("第" + (rowIndex + 1) + "行: 分类不能为空");
|
||||
}
|
||||
if (StringUtils.isEmpty(entity.getCommodityNature())) {
|
||||
errors.add("第" + (rowIndex + 1) + "行: 商品性质不能为空");
|
||||
}
|
||||
if (StringUtils.isEmpty(entity.getSupplier())) {
|
||||
errors.add("第" + (rowIndex + 1) + "行: 货商不能为空");
|
||||
}
|
||||
// if (StringUtils.isEmpty(entity.getSpec())) {
|
||||
// errors.add("第" + (rowIndex + 1) + "行: 规格不能为空");
|
||||
// }
|
||||
// if (StringUtils.isEmpty(entity.getClassification())) {
|
||||
// errors.add("第" + (rowIndex + 1) + "行: 分类不能为空");
|
||||
// }
|
||||
// if (StringUtils.isEmpty(entity.getCommodityNature())) {
|
||||
// errors.add("第" + (rowIndex + 1) + "行: 商品性质不能为空");
|
||||
// }
|
||||
// if (StringUtils.isEmpty(entity.getSupplier())) {
|
||||
// errors.add("第" + (rowIndex + 1) + "行: 货商不能为空");
|
||||
// }
|
||||
if (null==entity.getPurchasePrice()) {
|
||||
errors.add("第" + (rowIndex + 1) + "行: 进价不能为空");
|
||||
}
|
||||
|
||||
+4
-4
@@ -231,14 +231,14 @@ public class SmErpSpuController {
|
||||
@PostMapping("/import")
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_supermarketSpu_export')" )
|
||||
public R importErpSpu(@RequestExcel List<SmErpSpuImportDto> dtos, BindingResult bindingResult) {
|
||||
List<SmErpSpuImportDto> collect = dtos.stream().filter(smErpSpuImportDto -> smErpSpuImportDto.getProductCode() == null).collect(Collectors.toList());
|
||||
List<SmErpSpuImportDto> collect = dtos.stream().filter(smErpSpuImportDto -> smErpSpuImportDto.getProductCode() != null).collect(Collectors.toList());
|
||||
// String taskId = taskStoreService.createTask(dtos.size());
|
||||
// smErpSpuService.asyncExecuteImport(taskId, collect);
|
||||
// return R.ok(Collections.singletonMap("taskId", taskId));
|
||||
System.out.println(collect);
|
||||
List<SmErpSpuImportDto> collect1 = dtos.stream().filter(smErpSpuImportDto -> StringUtils.isBlank(smErpSpuImportDto.getClassification())).collect(Collectors.toList());
|
||||
System.out.println(collect1);
|
||||
return smErpSpuService.importErpSpu(dtos, bindingResult);
|
||||
// List<SmErpSpuImportDto> collect1 = dtos.stream().filter(smErpSpuImportDto -> StringUtils.isBlank(smErpSpuImportDto.getClassification())).collect(Collectors.toList());
|
||||
// System.out.println(collect);
|
||||
return smErpSpuService.importErpSpu(collect, bindingResult);
|
||||
}
|
||||
|
||||
|
||||
|
||||
+19
-8
@@ -234,22 +234,25 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
Page pageData = baseMapper.selectPageByScope(page, wrapper, DataScope.of());
|
||||
//计算库存回显
|
||||
List<SmErpSpuEntity> records = pageData.getRecords();
|
||||
Set<Long> erpSpuIds = records.stream().map(smErpSpuEntity -> smErpSpuEntity.getId()).collect(Collectors.toSet());
|
||||
if (CollectionUtils.isNotEmpty(records)){
|
||||
Set<Long> erpSpuIds = records.stream().map(smErpSpuEntity -> smErpSpuEntity.getId()).collect(Collectors.toSet());
|
||||
|
||||
// 批量查询库存信息
|
||||
List<SmErpStockEntity> stocks = smErpStockMapper.selectList(
|
||||
List<SmErpStockEntity> stocks = smErpStockMapper.selectList(
|
||||
new LambdaQueryWrapper<SmErpStockEntity>()
|
||||
.in(SmErpStockEntity::getErpSpuId, erpSpuIds));
|
||||
|
||||
// 建立SPU ID与库存的映射关系
|
||||
Map<Long, SmErpStockEntity> stockMap = stocks.stream()
|
||||
Map<Long, SmErpStockEntity> stockMap = stocks.stream()
|
||||
.collect(Collectors.toMap(SmErpStockEntity::getErpSpuId,smErpStockEntity -> smErpStockEntity));
|
||||
|
||||
records.forEach(spu ->
|
||||
{
|
||||
SmErpStockEntity smErpStockEntity = stockMap.get(spu.getId());
|
||||
spu.setStock(smErpStockEntity != null ? smErpStockEntity.getCurrentStock() : 0);
|
||||
});
|
||||
records.forEach(spu ->
|
||||
{
|
||||
SmErpStockEntity smErpStockEntity = stockMap.get(spu.getId());
|
||||
spu.setStock(smErpStockEntity != null ? smErpStockEntity.getCurrentStock() : 0);
|
||||
});
|
||||
}
|
||||
|
||||
return pageData;
|
||||
}
|
||||
|
||||
@@ -853,6 +856,8 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
// 库存
|
||||
SmErpStockEntity stock = BeanUtils.toBean(dto, SmErpStockEntity.class);
|
||||
stock.setErpSpuId(spu.getId());
|
||||
stock.setCurrentStock(dto.getStock());
|
||||
stock.setBaseStock(dto.getStock());
|
||||
stockBatch.add(stock);
|
||||
|
||||
// 辅助条码
|
||||
@@ -863,6 +868,12 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
codeBatch.add(code);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void asyncExecuteImport(String taskId, List<SmErpSpuImportDto> dtos) {
|
||||
executor.execute(() -> {
|
||||
List<Map<String, Object>> errors = new ArrayList<>();
|
||||
|
||||
Reference in new issue
Block a user