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