| | |
| | | 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(); |
| | | } |
| | | } |
| | |
| | | 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()); |
| | |
| | | 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) { |
| | |
| | | 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; |
| | |
| | | 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); |
| | |
| | | @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())); |