批量导入库存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); 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(" + @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 " + "CASE " +
" WHEN pro.isDistribute = 1 THEN pro.stockNumber " + " WHEN pro.isDistribute = 1 THEN pro.stockNumber " +
" ELSE SUM(sku.stockNumber) " + " ELSE SUM(sku.stockNumber) " +
" END " + " END " +
", pro.isDistribute, pro.isPauseSale) " + ", pro.isDistribute, pro.isPauseSale, true) " +
"from " + "from " +
"TbProduct pro " + "TbProduct pro " +
"LEFT JOIN TbProductSku sku on pro.id = sku.productId " + "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); 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(" + @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 " + "CASE " +
" WHEN pro.isDistribute = 1 THEN pro.stockNumber " + " WHEN pro.isDistribute = 1 THEN pro.stockNumber " +
" ELSE SUM(sku.stockNumber) " + " ELSE SUM(sku.stockNumber) " +
" END " + " END " +
", pro.isDistribute, pro.isPauseSale) " + ", pro.isDistribute, pro.isPauseSale, true ) " +
"from " + "from " +
"TbProduct pro " + "TbProduct pro " +
"LEFT JOIN TbProductSku sku on pro.id = sku.productId " + "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(" + @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 " + "from " +
"TbProductSku sku " + "TbProductSku sku " +

View File

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