批量导入库存bug fix
This commit is contained in:
@@ -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 " +
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user