批量导入增加详细库存记录
This commit is contained in:
parent
d59390831e
commit
cc048025a1
|
|
@ -5,10 +5,14 @@ import cn.ysk.cashier.dto.product.StockQueryDto;
|
|||
import cn.ysk.cashier.dto.product.TbProductDto;
|
||||
import cn.ysk.cashier.exception.BadRequestException;
|
||||
import cn.ysk.cashier.mapper.shop.TbShopInfoMapper;
|
||||
import cn.ysk.cashier.mapper.shop.TbShopUnitMapper;
|
||||
import cn.ysk.cashier.pojo.product.TbProductSku;
|
||||
import cn.ysk.cashier.pojo.product.TbProductStockDetail;
|
||||
import cn.ysk.cashier.pojo.shop.TbShopInfo;
|
||||
import cn.ysk.cashier.pojo.shop.TbShopUnit;
|
||||
import cn.ysk.cashier.repository.product.TbProductSkuRepository;
|
||||
import cn.ysk.cashier.repository.shop.TbShopInfoRepository;
|
||||
import cn.ysk.cashier.repository.shop.TbShopUnitRepository;
|
||||
import cn.ysk.cashier.service.TbProductStockOperateService;
|
||||
import cn.ysk.cashier.service.product.StockService;
|
||||
import cn.ysk.cashier.service.product.TbProductService;
|
||||
|
|
@ -60,6 +64,7 @@ public class StockServiceImpl implements StockService {
|
|||
private final TbProductStockOperateService stockOperateService;
|
||||
private final TbProductSkuRepository skuRepository;
|
||||
private final TbShopInfoRepository tbShopInfoRepository;
|
||||
private final TbShopUnitRepository shopUnitRepository;
|
||||
|
||||
@PersistenceContext
|
||||
private EntityManager em;
|
||||
|
|
@ -187,20 +192,43 @@ public class StockServiceImpl implements StockService {
|
|||
XSSFSheet sheet = xssfWorkbook.getSheetAt(0);
|
||||
XSSFRow row = null;
|
||||
List<StockV2Vo> list = new ArrayList<>();
|
||||
|
||||
for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) {
|
||||
row = sheet.getRow(i);
|
||||
if (row != null) {
|
||||
XSSFCell cell0 = row.getCell(0);
|
||||
String productIdStr = cell0.toString();
|
||||
|
||||
TbProductStockDetail stockDetail = new TbProductStockDetail();
|
||||
stockDetail.setCreatedAt(System.currentTimeMillis());
|
||||
stockDetail.setUpdatedAt(System.currentTimeMillis());
|
||||
stockDetail.setSourcePath("NORMAL");
|
||||
stockDetail.setType("一次性入库");
|
||||
stockDetail.setSubType(1);
|
||||
stockDetail.setRemark("一次性入库");
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
TbProductDto product = productService.findById(sku.getId());
|
||||
TbShopUnit shopUnit = shopUnitRepository.searchUnit(product.getUnitId());
|
||||
|
||||
stockDetail.setShopId(sku.getShopId());
|
||||
stockDetail.setSkuId(sku.getId().toString());
|
||||
stockDetail.setProductName(product.getName());
|
||||
stockDetail.setUnitName(shopUnit.getName());
|
||||
stockDetail.setLeftNumber(sku.getStockNumber().intValue());
|
||||
stockDetail.setStockNumber(aDouble);
|
||||
em.persist(stockDetail);
|
||||
|
||||
list.add(new StockV2Vo(
|
||||
0,
|
||||
sku.getId(),
|
||||
|
|
@ -216,10 +244,22 @@ public class StockServiceImpl implements StockService {
|
|||
TbProductDto product = productService.findById(Double.valueOf(productIdStr).intValue());
|
||||
if (product != null) {
|
||||
String numStr = row.getCell(6).toString();
|
||||
Integer aIntValue = Double.valueOf(numStr).intValue();
|
||||
Double aDouble = Double.valueOf(numStr);
|
||||
Integer aIntValue = aDouble.intValue();
|
||||
if (aIntValue.equals(product.getStockNumber())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
TbShopUnit shopUnit = shopUnitRepository.searchUnit(product.getUnitId());
|
||||
|
||||
stockDetail.setShopId(product.getShopId());
|
||||
stockDetail.setSkuId(product.getId().toString());
|
||||
stockDetail.setProductName(product.getName());
|
||||
stockDetail.setUnitName(shopUnit.getName());
|
||||
stockDetail.setLeftNumber(product.getStockNumber());
|
||||
stockDetail.setStockNumber(aDouble);
|
||||
em.persist(stockDetail);
|
||||
|
||||
list.add(new StockV2Vo(
|
||||
product.getId(),
|
||||
0,
|
||||
|
|
@ -234,6 +274,7 @@ public class StockServiceImpl implements StockService {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
log.info("库存导入.importExcel.data:" + list);
|
||||
OutAndOnDto outAndOnDto = new OutAndOnDto();
|
||||
outAndOnDto.setShopId(shopId);
|
||||
|
|
|
|||
Loading…
Reference in New Issue