| | |
| | | return R.ok(stockUninventoryDtoIPage); |
| | | } |
| | | |
| | | @GetMapping("/getWasteBatchNoQty") |
| | | @Operation(summary = "查询废品库存对应批号和数量") |
| | | public R getWasteBatchNoQty(Page page, StockInventoryDto stockInventoryDto) { |
| | | IPage<StockUninventoryDto> stockUninventoryDtoIPage = stockUninventoryService.getWasteBatchNoQty(page, stockInventoryDto); |
| | | return R.ok(stockUninventoryDtoIPage); |
| | | } |
| | | |
| | | @PostMapping("/addstockUninventory") |
| | | @Operation(summary = "新增库存") |
| | | public R addstockUninventory(@RequestBody StockUninventoryDto stockUninventoryDto) { |
| | |
| | | private String productName; |
| | | private String model; |
| | | private String unit; |
| | | private Long productId; |
| | | private Long topParentProductId; |
| | | private String manufacturerName; |
| | | private BigDecimal pendingOutQuantity; |
| | | private String sourceText; |
| | | |
| | | |
| | | //入库类型 |
| | |
| | | @Excel(name = "规格") |
| | | private String model; |
| | | |
| | | @Excel(name = "厂家") |
| | | private String manufacturerName; |
| | | |
| | | @Excel(name = "来源") |
| | | private String sourceText; |
| | | |
| | | @Excel(name = "单位") |
| | | private String unit; |
| | | |
| | |
| | | @Excel(name = "最新更新时间", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | private String source; |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.stock.dto.StockInventoryDto; |
| | | import com.ruoyi.stock.dto.StockUninventoryDto; |
| | | import com.ruoyi.stock.execl.StockUnInventoryExportData; |
| | | import com.ruoyi.stock.pojo.StockUninventory; |
| | |
| | | |
| | | IPage<StockUninventoryDto> pageWasteQuery(Page page, @Param("ew") StockUninventoryDto stockUninventoryDto); |
| | | |
| | | IPage<StockUninventoryDto> getWasteBatchNoQty(Page page, @Param("ew") StockInventoryDto stockInventoryDto); |
| | | |
| | | int updateSubtractStockUnInventory(@Param("ew") StockUninventoryDto stockUninventoryDto); |
| | | |
| | | BigDecimal selectPendingOutQuantity(@Param("productModelId") Long productModelId, @Param("batchNo") String batchNo, @Param("type") String type); |
| | |
| | | |
| | | IPage<StockUninventoryDto> pageWasteQuery(Page page, StockUninventoryDto stockUninventoryDto); |
| | | |
| | | IPage<StockUninventoryDto> getWasteBatchNoQty(Page page, StockInventoryDto stockInventoryDto); |
| | | |
| | | Integer addStockUninventory(StockUninventoryDto stockUninventoryDto); |
| | | |
| | | Integer subtractStockUninventory(StockUninventoryDto stockUninventoryDto); |
| | |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.stock.enums.StockInventorySourceEnum; |
| | | import com.ruoyi.stock.dto.StockInRecordDto; |
| | | import com.ruoyi.stock.dto.StockInventoryDto; |
| | | import com.ruoyi.stock.dto.StockOutRecordDto; |
| | |
| | | |
| | | @Override |
| | | public IPage<StockUninventoryDto> pageWasteQuery(Page page, StockUninventoryDto stockUninventoryDto) { |
| | | return stockUninventoryMapper.pageWasteQuery(page, stockUninventoryDto); |
| | | IPage<StockUninventoryDto> resultPage = stockUninventoryMapper.pageWasteQuery(page, stockUninventoryDto); |
| | | resultPage.getRecords().forEach(dto -> { |
| | | if (StringUtils.isNotEmpty(dto.getSource())) { |
| | | StockInventorySourceEnum sourceEnum = StockInventorySourceEnum.fromCode(dto.getSource()); |
| | | if (sourceEnum != null) { |
| | | dto.setSourceText(sourceEnum.getValue()); |
| | | } |
| | | } |
| | | }); |
| | | return resultPage; |
| | | } |
| | | |
| | | @Override |
| | | public IPage<StockUninventoryDto> getWasteBatchNoQty(Page page, StockInventoryDto stockInventoryDto) { |
| | | IPage<StockUninventoryDto> resultPage = stockUninventoryMapper.getWasteBatchNoQty(page, stockInventoryDto); |
| | | resultPage.getRecords().forEach(dto -> { |
| | | if (StringUtils.isNotEmpty(dto.getSource())) { |
| | | StockInventorySourceEnum unQualifiedSourceEnum = StockInventorySourceEnum.fromCode(dto.getSource()); |
| | | if (unQualifiedSourceEnum != null) { |
| | | dto.setSourceText(unQualifiedSourceEnum.getValue()); |
| | | } |
| | | } |
| | | }); |
| | | return resultPage; |
| | | } |
| | | |
| | | @Override |
| | |
| | | @Override |
| | | public void exportStockUninventory(HttpServletResponse response, StockUninventoryDto stockUninventoryDto) { |
| | | List<StockUnInventoryExportData> list = stockUninventoryMapper.listStockInventoryExportData(stockUninventoryDto); |
| | | list.forEach(item -> { |
| | | if (StringUtils.isNotEmpty(item.getSource())) { |
| | | StockInventorySourceEnum sourceEnum = StockInventorySourceEnum.fromCode(item.getSource()); |
| | | if (sourceEnum != null) { |
| | | item.setSourceText(sourceEnum.getValue()); |
| | | } |
| | | } |
| | | }); |
| | | ExcelUtil<StockUnInventoryExportData> util = new ExcelUtil<>(StockUnInventoryExportData.class); |
| | | util.exportExcel(response,list, "不合格库存信息"); |
| | | } |
| | |
| | | @Override |
| | | public void exportWasteQuery(HttpServletResponse response, StockUninventoryDto stockUninventoryDto) { |
| | | List<StockUnInventoryExportData> list = stockUninventoryMapper.listWasteQueryExportData(stockUninventoryDto); |
| | | list.forEach(item -> { |
| | | if (StringUtils.isNotEmpty(item.getSource())) { |
| | | StockInventorySourceEnum sourceEnum = StockInventorySourceEnum.fromCode(item.getSource()); |
| | | if (sourceEnum != null) { |
| | | item.setSourceText(sourceEnum.getValue()); |
| | | } |
| | | } |
| | | }); |
| | | ExcelUtil<StockUnInventoryExportData> util = new ExcelUtil<>(StockUnInventoryExportData.class); |
| | | util.exportExcel(response, list, "废品查询信息"); |
| | | } |
| | |
| | | from stock_uninventory su |
| | | left join product_model pm on su.product_model_id = pm.id |
| | | left join product p on pm.product_id = p.id |
| | | left join manufacturer m on su.manufacturer_id = m.id |
| | | </sql> |
| | | |
| | | <sql id="WastePageColumns"> |
| | |
| | | (su.qualitity - COALESCE(su.locked_quantity, 0)) as un_locked_quantity, |
| | | pm.model, |
| | | pm.unit, |
| | | p.product_name |
| | | p.product_name, |
| | | m.name as manufacturer_name, |
| | | su.source |
| | | </sql> |
| | | |
| | | <update id="updateSubtractStockUnInventory"> |
| | |
| | | su.*, |
| | | pm.model, |
| | | pm.unit, |
| | | p.product_name |
| | | p.product_name, |
| | | m.name as manufacturer_name |
| | | <include refid="BaseWasteFromClause" /> |
| | | <where> |
| | | <if test="ew.type != null and ew.type != ''"> |
| | |
| | | pm.model, |
| | | pm.unit, |
| | | p.product_name, |
| | | m.name as manufacturer_name, |
| | | (su.qualitity - COALESCE(su.locked_quantity, 0)) as un_locked_quantity |
| | | <include refid="BaseWasteFromClause" /> |
| | | <where> |
| | |
| | | order by su.update_time desc, su.id desc |
| | | </select> |
| | | |
| | | <select id="getWasteBatchNoQty" resultType="com.ruoyi.stock.dto.StockUninventoryDto"> |
| | | select |
| | | su.id, |
| | | p.product_name, |
| | | pm.model, |
| | | m.name as manufacturer_name, |
| | | su.source, |
| | | pm.unit, |
| | | su.batch_no, |
| | | su.qualitity, |
| | | COALESCE(su.locked_quantity, 0) as locked_quantity, |
| | | (su.qualitity - COALESCE(su.locked_quantity, 0)) as un_locked_quantity, |
| | | su.remark, |
| | | su.update_time, |
| | | su.product_model_id |
| | | from stock_uninventory su |
| | | left join product_model pm on su.product_model_id = pm.id |
| | | left join product p on pm.product_id = p.id |
| | | left join manufacturer m on su.manufacturer_id = m.id |
| | | <where> |
| | | and su.type = 'waste' |
| | | <if test="ew.productModelId != null and ew.productModelId > 0"> |
| | | and su.product_model_id = #{ew.productModelId} |
| | | </if> |
| | | <if test="ew.productId != null and ew.productId > 0"> |
| | | and p.id = #{ew.productId} |
| | | </if> |
| | | </where> |
| | | order by su.batch_no |
| | | </select> |
| | | |
| | | <select id="selectPendingOutQuantity" resultType="java.math.BigDecimal"> |
| | | SELECT IFNULL(SUM(sor.stock_out_num), 0) |
| | | FROM stock_out_record sor |