Merge branch 'refs/heads/share-stock' into dev
This commit is contained in:
@@ -1,31 +1,21 @@
|
||||
package cn.ysk.cashier.controller.product;
|
||||
|
||||
import cn.ysk.cashier.annotation.Log;
|
||||
import cn.ysk.cashier.dto.product.OutAndOnDto;
|
||||
import cn.ysk.cashier.dto.product.StockQueryDto;
|
||||
import cn.ysk.cashier.exception.BadRequestException;
|
||||
import cn.ysk.cashier.pojo.product.TbProductSku;
|
||||
import cn.ysk.cashier.repository.product.TbProductSkuRepository;
|
||||
import cn.ysk.cashier.service.TbProductStockOperateService;
|
||||
import cn.ysk.cashier.service.product.StockService;
|
||||
import cn.ysk.cashier.vo.StockVo;
|
||||
import cn.ysk.cashier.vo.StockUpdateValueVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.xssf.usermodel.XSSFRow;
|
||||
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@@ -35,8 +25,6 @@ import java.util.Optional;
|
||||
public class StockController {
|
||||
|
||||
private final StockService stockService;
|
||||
private final TbProductStockOperateService stockOperateService;
|
||||
private final TbProductSkuRepository skuRepository;
|
||||
|
||||
@ApiOperation("库存导出")
|
||||
@PostMapping(value = "download")
|
||||
@@ -44,6 +32,12 @@ public class StockController {
|
||||
stockService.download(criteria,response);
|
||||
}
|
||||
|
||||
@ApiOperation("库存导出")
|
||||
@PostMapping(value = "download/v2")
|
||||
public void exportTbOrderInfoV2(HttpServletResponse response, @RequestBody StockQueryDto criteria) throws IOException {
|
||||
stockService.downloadV2(criteria,response);
|
||||
}
|
||||
|
||||
@Log("库存导入")
|
||||
@PostMapping("/doImport")
|
||||
@ApiOperation("文件导入库存")
|
||||
@@ -56,42 +50,26 @@ public class StockController {
|
||||
throw new BadRequestException("文件格式不正确");
|
||||
}
|
||||
try {
|
||||
//根据路径获取这个操作excel的实例
|
||||
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(file.getInputStream());
|
||||
//根据页面index 获取sheet页
|
||||
XSSFSheet sheet = xssfWorkbook.getSheetAt(0);
|
||||
XSSFRow row = null;
|
||||
List<StockVo> list=new ArrayList<>();
|
||||
for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) {
|
||||
row = sheet.getRow(i);
|
||||
if(row!=null){
|
||||
if(row.getCell(0)!=null){
|
||||
Optional<TbProductSku> byId = skuRepository.findById(Integer.valueOf(row.getCell(0).getRawValue()));
|
||||
if(byId.isPresent()){
|
||||
TbProductSku sku = byId.get();
|
||||
list.add(new StockVo(
|
||||
sku.getId(),
|
||||
row.getCell(1).toString(),
|
||||
row.getCell(4).toString(),
|
||||
row.getCell(3).toString(),
|
||||
row.getCell(5).toString(),
|
||||
sku.getStockNumber()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
log.info("库存导入.importExcel.data:"+list);
|
||||
OutAndOnDto outAndOnDto=new OutAndOnDto();
|
||||
outAndOnDto.setShopId(shopId);
|
||||
outAndOnDto.setList(new ArrayList<>(list));
|
||||
outAndOnDto.setType("purchase");
|
||||
outAndOnDto.setRemark("一次性导入 库存数会覆盖");
|
||||
outAndOnDto.setIsImport("true");
|
||||
outAndOnDto.setTime(System.currentTimeMillis());
|
||||
outAndOnDto.setTotalAmount(BigDecimal.ZERO);
|
||||
outAndOnDto.setPaidAmount(BigDecimal.ZERO);
|
||||
stockOperateService.createOutAndONOperate(outAndOnDto);
|
||||
stockService.inHouse(shopId,list);
|
||||
stockService.importExcel(shopId,file);
|
||||
} catch (Exception e) {
|
||||
log.error("文件导入库存异常:",e);
|
||||
}
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("库存导入")
|
||||
@PostMapping("/doImport/v2")
|
||||
@ApiOperation("文件导入库存")
|
||||
public ResponseEntity<Object> importExcelV2(@RequestParam String shopId,@RequestParam("file") MultipartFile file) {
|
||||
String fileName = file.getOriginalFilename();
|
||||
if (file.isEmpty()) {
|
||||
throw new BadRequestException("文件不能为空");
|
||||
}
|
||||
if (!fileName.contains("xls") && !fileName.contains("xlsx")) {
|
||||
throw new BadRequestException("文件格式不正确");
|
||||
}
|
||||
try {
|
||||
stockService.importExcelV2(shopId,file);
|
||||
} catch (Exception e) {
|
||||
log.error("文件导入库存异常:",e);
|
||||
}
|
||||
@@ -106,6 +84,20 @@ public class StockController {
|
||||
return new ResponseEntity<>(stockService.queryAll(criteria,page,size), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/v2")
|
||||
@ApiOperation("查询库存")
|
||||
public ResponseEntity<Object> queryTbProductV2(StockQueryDto criteria,
|
||||
@RequestParam(required = false, defaultValue = "0") Integer page,
|
||||
@RequestParam(required = false, defaultValue = "10") Integer size){
|
||||
return new ResponseEntity<>(stockService.queryAllV2(criteria,page,size), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/sku")
|
||||
@ApiOperation("查询库存")
|
||||
public ResponseEntity<Object> queryProductSku(String productId){
|
||||
return new ResponseEntity<>(stockService.queryProductSku(productId), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/isStock")
|
||||
public ResponseEntity<Object> updateIsHot(
|
||||
@RequestParam String shopId,
|
||||
@@ -115,4 +107,10 @@ public class StockController {
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PutMapping("productStatus")
|
||||
public ResponseEntity<Object> updateProductStatus(@RequestBody StockUpdateValueVO updateValueVO) {
|
||||
stockService.updateProductStatus(updateValueVO);
|
||||
return new ResponseEntity<>("修改成功", HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user