修改批量导入库存
This commit is contained in:
parent
260d364b72
commit
1167bec54a
|
|
@ -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<Object> importExcelV2(@RequestParam String shopId,@RequestParam("file") MultipartFile file) {
|
||||
String fileName = file.getOriginalFilename();
|
||||
if (file.isEmpty()) {
|
||||
|
|
|
|||
|
|
@ -103,37 +103,35 @@ public class StockServiceImpl implements StockService {
|
|||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
List<StockV2Vo> stockVos = tbProductSkuRepository.searchProStockV2(summaryDto.getShopId(), summaryDto.getName(), summaryDto.getIsStock());
|
||||
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)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
List<StockV2Vo> skuList = queryProductSku(all.getProId().toString());
|
||||
for (StockV2Vo sku : skuList) {
|
||||
Map<String, Object> 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<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);
|
||||
} else {
|
||||
List<StockV2Vo> skuList = queryProductSku(all.getProId().toString());
|
||||
for (StockV2Vo sku : skuList) {
|
||||
Map<String, Object> 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<TbProductSku> 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()
|
||||
));
|
||||
|
|
|
|||
|
|
@ -107,7 +107,8 @@ public class StockV2Vo {
|
|||
"\"name\":\"" + name + "\","+
|
||||
"\"unitName\":\"" + unitName +"\","+
|
||||
"\"specSnap\":\"" + specSnap + "\"," +
|
||||
"\"stockNumber\":\"" + stockNumber + "\"," +
|
||||
"\"number\":\"" + number + "\"," +
|
||||
"\"stockNumber\":\"" + stockNumber + "\"" +
|
||||
"}";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue