liding
3 天以前 74f9e1f4f009907d4f8ebda80f522a25a25f87f2
src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
@@ -63,14 +63,15 @@
        stockInRecordDto.setStockInNum(stockUninventoryDto.getQualitity());
        stockInRecordDto.setProductModelId(stockUninventoryDto.getProductModelId());
        stockInRecordDto.setRemark(stockUninventoryDto.getRemark());
        stockInRecordDto.setApproveStatus(0);
        stockInRecordDto.setType("1");
        int add = stockInRecordService.add(stockInRecordDto);
        Long id = stockInRecordService.add(stockInRecordDto);
        LoginUser loginUser = SecurityUtils.getLoginUser();
        if (add > 0){
        if (id != null) {
            try {
                addApproveByPurchase(loginUser,stockInRecordDto);
            }catch (Exception e){
                addApproveByPurchase(loginUser, stockInRecordDto,id);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
@@ -78,7 +79,7 @@
        return 1;
    }
    public void addApproveByPurchase(LoginUser loginUser, StockInRecordDto stockInRecordDto) throws Exception {
    public void addApproveByPurchase(LoginUser loginUser, StockInRecordDto stockInRecordDto,Long id) throws Exception {
        ApproveProcessVO approveProcessVO = new ApproveProcessVO();
        approveProcessVO.setApproveType(9);
        approveProcessVO.setApproveDeptId(loginUser.getCurrentDeptId());
@@ -88,12 +89,13 @@
        approveProcessVO.setApproveTime(LocalDate.now().toString());
        approveProcessVO.setInventoryReview(false);
        approveProcessVO.setStorageType("不合格入库");
        approveProcessVO.setRecordId(stockInRecordDto.getId());
        approveProcessVO.setRecordId(id);
        approveProcessService.addApprove(approveProcessVO);
    }
    /**
     * 更新或创建非良品库存信息
     *
     * @param stockInRecord 非良品库存DTO对象
     */
    public void updateOrCreateStockUninventory(StockInRecord stockInRecord) {
@@ -142,7 +144,7 @@
        StockUninventory oldStockInventory = stockUninventoryMapper.selectOne(new QueryWrapper<StockUninventory>().lambda().eq(StockUninventory::getProductModelId, stockUninventoryDto.getProductModelId()));
        if (ObjectUtils.isEmpty(oldStockInventory)) {
            throw new RuntimeException("产品库存不存在");
        }else {
        } else {
            stockUninventoryMapper.updateSubtractStockUnInventory(stockUninventoryDto);
        }
        return 1;
@@ -152,18 +154,18 @@
    public void exportStockUninventory(HttpServletResponse response, StockUninventoryDto stockUninventoryDto) {
        List<StockUnInventoryExportData> list = stockUninventoryMapper.listStockInventoryExportData(stockUninventoryDto);
        ExcelUtil<StockUnInventoryExportData> util = new ExcelUtil<>(StockUnInventoryExportData.class);
        util.exportExcel(response,list, "不合格库存信息");
        util.exportExcel(response, list, "不合格库存信息");
    }
    @Override
    public Boolean frozenStock(StockInventoryDto stockInventoryDto) {
        StockUninventory stockUninventory = stockUninventoryMapper.selectById(stockInventoryDto.getId());
        if (stockUninventory.getQualitity().compareTo(stockInventoryDto.getLockedQuantity())<0) {
        if (stockUninventory.getQualitity().compareTo(stockInventoryDto.getLockedQuantity()) < 0) {
            throw new RuntimeException("冻结数量不能超过库存数量");
        }
        if (ObjectUtils.isEmpty(stockUninventory.getLockedQuantity())) {
            stockUninventory.setLockedQuantity(stockInventoryDto.getLockedQuantity());
        }else {
        } else {
            stockUninventory.setLockedQuantity(stockUninventory.getLockedQuantity().add(stockInventoryDto.getLockedQuantity()));
        }
        return this.updateById(stockUninventory);
@@ -172,7 +174,7 @@
    @Override
    public Boolean thawStock(StockInventoryDto stockInventoryDto) {
        StockUninventory stockUninventory = stockUninventoryMapper.selectById(stockInventoryDto.getId());
        if (stockUninventory.getLockedQuantity().compareTo(stockInventoryDto.getLockedQuantity())<0) {
        if (stockUninventory.getLockedQuantity().compareTo(stockInventoryDto.getLockedQuantity()) < 0) {
            throw new RuntimeException("解冻数量不能超过冻结数量");
        }
        stockUninventory.setLockedQuantity(stockUninventory.getLockedQuantity().subtract(stockInventoryDto.getLockedQuantity()));