diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/StockController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/StockController.java index a0c67487..f7380ad3 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/StockController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/StockController.java @@ -2,6 +2,7 @@ package cn.ysk.cashier.controller.product; import cn.hutool.core.util.StrUtil; import cn.ysk.cashier.annotation.Log; +import cn.ysk.cashier.annotation.rest.AnonymousPostMapping; import cn.ysk.cashier.dto.product.StockQueryDto; import cn.ysk.cashier.exception.BadRequestException; import cn.ysk.cashier.service.product.StockService; @@ -71,6 +72,7 @@ public class StockController { @Log("库存导入") @PostMapping("/doImport/v2") @ApiOperation("文件导入库存") + @AnonymousPostMapping public ResponseEntity importExcelV2(@RequestParam String shopId,@RequestParam("file") MultipartFile file) { String fileName = file.getOriginalFilename(); if (file.isEmpty()) { diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/StockServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/StockServiceImpl.java index 2fe07d80..2fcaa409 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/StockServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/StockServiceImpl.java @@ -103,37 +103,35 @@ public class StockServiceImpl implements StockService { List> list = new ArrayList<>(); List stockVos = tbProductSkuRepository.searchProStockV2(summaryDto.getShopId(), summaryDto.getName(), summaryDto.getIsStock()); for (StockV2Vo all : stockVos) { - Map map = new LinkedHashMap<>(); - map.put("id(如需导入,该值不可变)", all.getProId()); - map.put("商品名称", all.getName()); - map.put("商品skuId(如需导入,该值不可变)", all.getSkuId()); - map.put("商品类型", all.getType()); - map.put("商品规格", all.getSpecSnap()); - map.put("商品单位", all.getUnitName()); - map.put("库存数量", all.getStockNumber()); - map.put("库存开关", all.getIsStock().equals(0) ? "否" : "是"); - map.put("是否共享库存", all.getIsDistribute().equals(0) ? "否" : "是"); - map.put("是否售罄", all.getIsPauseSale().equals(0) ? "否" : "是"); - list.add(map); - if (all.getIsDistribute().equals(1)) { - continue; - } - - List skuList = queryProductSku(all.getProId().toString()); - for (StockV2Vo sku : skuList) { - Map skuMap = new LinkedHashMap<>(); - skuMap.put("id(如需导入,该值不可变)", ""); - skuMap.put("商品名称", all.getName()); - skuMap.put("商品skuId(如需导入,该值不可变)", sku.getSkuId()); - skuMap.put("商品类型", sku.getType()); - skuMap.put("商品规格", sku.getSpecSnap()); - skuMap.put("商品单位", sku.getUnitName()); - skuMap.put("库存数量", sku.getStockNumber()); - skuMap.put("库存开关", sku.getIsStock().equals(0) ? "否" : "是"); - skuMap.put("是否共享库存", sku.getIsDistribute().equals(0) ? "否" : "是"); - skuMap.put("是否售罄", sku.getIsPauseSale().equals(0) ? "否" : "是"); - list.add(skuMap); + Map map = new LinkedHashMap<>(); + map.put("id(如需导入,该值不可变)", all.getProId()); + map.put("商品名称", all.getName()); + map.put("商品skuId(如需导入,该值不可变)", all.getSkuId()); + map.put("商品类型", all.getType()); + map.put("商品规格", all.getSpecSnap()); + map.put("商品单位", all.getUnitName()); + map.put("库存数量", all.getStockNumber()); + map.put("库存开关", all.getIsStock().equals(0) ? "否" : "是"); + map.put("是否共享库存", all.getIsDistribute().equals(0) ? "否" : "是"); + map.put("是否售罄", all.getIsPauseSale().equals(0) ? "否" : "是"); + list.add(map); + } else { + List skuList = queryProductSku(all.getProId().toString()); + for (StockV2Vo sku : skuList) { + Map skuMap = new LinkedHashMap<>(); + skuMap.put("id(如需导入,该值不可变)", "sku"); + skuMap.put("商品名称", all.getName()); + skuMap.put("商品skuId(如需导入,该值不可变)", sku.getSkuId()); + skuMap.put("商品类型", sku.getType()); + skuMap.put("商品规格", sku.getSpecSnap()); + skuMap.put("商品单位", sku.getUnitName()); + skuMap.put("库存数量", sku.getStockNumber()); + skuMap.put("库存开关", sku.getIsStock().equals(0) ? "否" : "是"); + skuMap.put("是否共享库存", sku.getIsDistribute().equals(0) ? "否" : "是"); + skuMap.put("是否售罄", sku.getIsPauseSale().equals(0) ? "否" : "是"); + list.add(skuMap); + } } } FileUtil.downloadExcel(list, response); @@ -193,17 +191,22 @@ public class StockServiceImpl implements StockService { if (row != null) { XSSFCell cell0 = row.getCell(0); String productIdStr = cell0.toString(); - if (StringUtils.isBlank(productIdStr)) { + if ("sku".equals(productIdStr)) { Optional byId = skuRepository.findById(Double.valueOf(row.getCell(2).toString()).intValue()); if (byId.isPresent()) { TbProductSku sku = byId.get(); + String numStr = row.getCell(6).toString(); + Double aDouble = Double.valueOf(numStr); + if (aDouble.equals(sku.getStockNumber())) { + continue; + } list.add(new StockV2Vo( 0, sku.getId(), row.getCell(1).toString(), row.getCell(5).toString(), row.getCell(4).toString(), - row.getCell(6).toString(), + numStr, sku.getStockNumber(), 0 )); @@ -211,9 +214,10 @@ public class StockServiceImpl implements StockService { } else { TbProductDto product = productService.findById(Double.valueOf(productIdStr).intValue()); if (product != null) { - Object number = "0"; - if (product.getIsDistribute().equals(1)) { - number = row.getCell(6).toString(); + String numStr = row.getCell(6).toString(); + Integer aIntValue = Double.valueOf(numStr).intValue(); + if (aIntValue.equals(product.getStockNumber())) { + continue; } list.add(new StockV2Vo( product.getId(), @@ -221,7 +225,7 @@ public class StockServiceImpl implements StockService { product.getName(), row.getCell(5).toString(), row.getCell(4).toString(), - number, + aIntValue, product.getStockNumber(), product.getIsDistribute() )); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/vo/StockV2Vo.java b/eladmin-system/src/main/java/cn/ysk/cashier/vo/StockV2Vo.java index 18736c12..e13e8b07 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/vo/StockV2Vo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/vo/StockV2Vo.java @@ -107,7 +107,8 @@ public class StockV2Vo { "\"name\":\"" + name + "\","+ "\"unitName\":\"" + unitName +"\","+ "\"specSnap\":\"" + specSnap + "\"," + - "\"stockNumber\":\"" + stockNumber + "\"," + + "\"number\":\"" + number + "\"," + + "\"stockNumber\":\"" + stockNumber + "\"" + "}"; } }