批量导入库存bug fix

This commit is contained in:
GYJ
2024-06-24 18:01:45 +08:00
parent 063d5731f3
commit 6f9488928c
3 changed files with 21 additions and 15 deletions

View File

@@ -54,12 +54,12 @@ public interface TbProductSkuRepository extends JpaRepository<TbProductSku, Inte
Page<StockVo> searchProStock(@Param("shopId") String shopId, @Param("proName") String proName, @Param("isStock")Integer isStock,@Param("num")Double num, Pageable pageable);
@Query("SELECT new cn.ysk.cashier.vo.StockV2Vo(" +
"0,pro.id,pro.coverImg,pro.name,unit.name,pro.typeEnum,sku.specSnap,pro.isStock, " +
"sku.id,pro.id,pro.coverImg,pro.name,unit.name,pro.typeEnum,sku.specSnap,pro.isStock, " +
"CASE " +
" WHEN pro.isDistribute = 1 THEN pro.stockNumber " +
" ELSE SUM(sku.stockNumber) " +
" END " +
", pro.isDistribute, pro.isPauseSale) " +
", pro.isDistribute, pro.isPauseSale, true) " +
"from " +
"TbProduct pro " +
"LEFT JOIN TbProductSku sku on pro.id = sku.productId " +
@@ -75,12 +75,12 @@ public interface TbProductSkuRepository extends JpaRepository<TbProductSku, Inte
Page<StockV2Vo> searchProStockV2(@Param("shopId") String shopId, @Param("proName") String proName, @Param("isStock")Integer isStock, Pageable pageable);
@Query("SELECT new cn.ysk.cashier.vo.StockV2Vo(" +
"sku.id,0,pro.coverImg,pro.name,unit.name,pro.typeEnum,sku.specSnap,pro.isStock, " +
"sku.id,pro.id,pro.coverImg,pro.name,unit.name,pro.typeEnum,sku.specSnap,pro.isStock, " +
"CASE " +
" WHEN pro.isDistribute = 1 THEN pro.stockNumber " +
" ELSE SUM(sku.stockNumber) " +
" END " +
", pro.isDistribute, pro.isPauseSale) " +
", pro.isDistribute, pro.isPauseSale, true ) " +
"from " +
"TbProduct pro " +
"LEFT JOIN TbProductSku sku on pro.id = sku.productId " +
@@ -97,7 +97,7 @@ public interface TbProductSkuRepository extends JpaRepository<TbProductSku, Inte
@Query("SELECT new cn.ysk.cashier.vo.StockV2Vo(" +
"sku.id,pro.id,pro.coverImg,pro.name,unit.name,pro.typeEnum,sku.specSnap,pro.isStock,sku.stockNumber, 1, sku.isPauseSale" +
"sku.id,pro.id,pro.coverImg,pro.name,unit.name,pro.typeEnum,sku.specSnap,pro.isStock,sku.stockNumber, 1, sku.isPauseSale, false " +
") " +
"from " +
"TbProductSku sku " +

View File

@@ -96,7 +96,7 @@ public class StockServiceImpl implements StockService {
Map<String, Object> map = new LinkedHashMap<>();
map.put("id(如需导入,该值不可变)", all.getProId());
map.put("商品名称", all.getName());
map.put("商品skuId(如需导入,该值不可变)", all.getId());
map.put("商品skuId(如需导入,该值不可变)", all.getSkuId());
map.put("商品类型", all.getType());
map.put("商品规格", all.getSpecSnap());
map.put("商品单位", all.getUnitName());
@@ -113,9 +113,9 @@ public class StockServiceImpl implements StockService {
List<StockV2Vo> skuList = queryProductSku(all.getProId().toString());
for (StockV2Vo sku : skuList) {
Map<String, Object> skuMap = new LinkedHashMap<>();
skuMap.put("id(如需导入,该值不可变)", all.getProId());
skuMap.put("id(如需导入,该值不可变)", "");
skuMap.put("商品名称", all.getName());
skuMap.put("商品skuId(如需导入,该值不可变)", sku.getId());
skuMap.put("商品skuId(如需导入,该值不可变)", sku.getSkuId());
skuMap.put("商品类型", sku.getType());
skuMap.put("商品规格", sku.getSpecSnap());
skuMap.put("商品单位", sku.getUnitName());
@@ -141,7 +141,7 @@ public class StockServiceImpl implements StockService {
row = sheet.getRow(i);
if (row != null) {
if (row.getCell(0) != null) {
Optional<TbProductSku> byId = skuRepository.findById(Integer.valueOf(row.getCell(0).getRawValue()));
Optional<TbProductSku> byId = skuRepository.findById(Integer.valueOf(row.getCell(0).toString()));
if (byId.isPresent()) {
TbProductSku sku = byId.get();
list.add(new StockVo(
@@ -182,14 +182,15 @@ public class StockServiceImpl implements StockService {
row = sheet.getRow(i);
if (row != null) {
XSSFCell cell0 = row.getCell(0);
if (cell0 == null || "".equals(cell0)) {
Optional<TbProductSku> byId = skuRepository.findById(Integer.valueOf(row.getCell(0).getRawValue()));
String productIdStr = cell0.toString();
if (StringUtils.isBlank(productIdStr)) {
Optional<TbProductSku> byId = skuRepository.findById(Double.valueOf(row.getCell(2).toString()).intValue());
if (byId.isPresent()) {
TbProductSku sku = byId.get();
list.add(new StockV2Vo(
0,
sku.getId(),
row.getCell(1).getRawValue(),
row.getCell(1).toString(),
row.getCell(5).toString(),
row.getCell(4).toString(),
row.getCell(6).toString(),
@@ -198,7 +199,7 @@ public class StockServiceImpl implements StockService {
));
}
} else {
TbProductDto product = productService.findById(Integer.valueOf(cell0.getRawValue()));
TbProductDto product = productService.findById(Double.valueOf(productIdStr).intValue());
if (product != null) {
Object number = "0";
if (product.getIsDistribute().equals(1)) {
@@ -282,7 +283,6 @@ public class StockServiceImpl implements StockService {
append(updateValueVO.getTargetId()).
append(";");
System.out.println(sqlQuery);
Query nativeQuery = em.createNativeQuery(String.valueOf(sqlQuery));
nativeQuery.executeUpdate();
return;
@@ -308,6 +308,7 @@ public class StockServiceImpl implements StockService {
sqlQuery.append(" id = ").append(updateValueVO.getTargetId());
sqlQuery.append(" ;");
System.out.println(sqlQuery);
Query nativeQuery = em.createNativeQuery(String.valueOf(sqlQuery));
nativeQuery.executeUpdate();

View File

@@ -35,8 +35,13 @@ public class StockV2Vo {
}
public StockV2Vo(Integer id, Integer proId,String img,String name,String unitName, String type, String specSnap,
Object isStock, Object number, Integer isDistribute, Integer isPauseSale) {
Object isStock, Object number, Integer isDistribute, Integer isPauseSale, boolean isPro) {
this.id = id.toString() + "-" + proId.toString();
if (isPro) {
this.id += proId;
} else {
this.id += id;
}
this.skuId = id;
this.proId = proId;
this.img = img;