mirror of
https://github.com/zccbbg/wms-ruoyi.git
synced 2024-09-20 11:05:54 +08:00
refactor: 库存查询优化
This commit is contained in:
parent
0a7abfb88a
commit
7a294feef9
|
@ -38,21 +38,30 @@ public class InventoryController extends BaseController {
|
||||||
private final InventoryService inventoryService;
|
private final InventoryService inventoryService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询库存列表
|
* 查询库存列表库区维度
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("wms:inventory:list")
|
@SaCheckPermission("wms:inventory:list")
|
||||||
@GetMapping("/list")
|
@GetMapping(value = {"/list", "/boardList/area"})
|
||||||
public TableDataInfo<InventoryVo> list(InventoryBo bo, PageQuery pageQuery) {
|
public TableDataInfo<InventoryVo> queryAreaBoardList(InventoryBo bo, PageQuery pageQuery) {
|
||||||
return inventoryService.queryPageList(bo, pageQuery);
|
return inventoryService.queryAreaBoardList(bo, pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询库存列表
|
* 查询库存列表商品维度
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("wms:inventory:list")
|
@SaCheckPermission("wms:inventory:list")
|
||||||
@GetMapping("/boardList")
|
@GetMapping(value = {"/boardList/item"})
|
||||||
public TableDataInfo<InventoryVo> queryBoradList(InventoryBo bo, PageQuery pageQuery) {
|
public TableDataInfo<InventoryVo> queryItemBoardList(InventoryBo bo, PageQuery pageQuery) {
|
||||||
return inventoryService.queryBoardList(bo, pageQuery);
|
return inventoryService.queryItemBoardList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询库存列表仓库维度
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("wms:inventory:list")
|
||||||
|
@GetMapping("/boardList/warehouse")
|
||||||
|
public TableDataInfo<InventoryVo> queryWarehouseBoardList(InventoryBo bo, PageQuery pageQuery) {
|
||||||
|
return inventoryService.queryWarehouseBoardList(bo, pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -6,7 +6,6 @@ import com.ruoyi.common.mybatis.core.domain.BaseEntity;
|
||||||
import com.ruoyi.common.mybatis.core.domain.PlaceAndItem;
|
import com.ruoyi.common.mybatis.core.domain.PlaceAndItem;
|
||||||
import com.ruoyi.wms.domain.entity.Inventory;
|
import com.ruoyi.wms.domain.entity.Inventory;
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
@ -70,11 +69,4 @@ public class InventoryBo extends BaseEntity implements PlaceAndItem {
|
||||||
private String skuName;
|
private String skuName;
|
||||||
private String skuCode;
|
private String skuCode;
|
||||||
private Long itemCategory;
|
private Long itemCategory;
|
||||||
|
|
||||||
/**
|
|
||||||
* 看板查看类型
|
|
||||||
* 1. 2. 仓库库区规格
|
|
||||||
* 3. 规格仓库库区
|
|
||||||
* */
|
|
||||||
private Integer type;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,11 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
|
import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
import com.ruoyi.wms.domain.bo.InventoryBo;
|
import com.ruoyi.wms.domain.bo.InventoryBo;
|
||||||
import com.ruoyi.wms.domain.entity.Inventory;
|
import com.ruoyi.wms.domain.entity.Inventory;
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
import com.ruoyi.wms.domain.vo.InventoryVo;
|
import com.ruoyi.wms.domain.vo.InventoryVo;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 库存Mapper接口
|
* 库存Mapper接口
|
||||||
|
@ -18,7 +15,8 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public interface InventoryMapper extends BaseMapperPlus<Inventory, InventoryVo> {
|
public interface InventoryMapper extends BaseMapperPlus<Inventory, InventoryVo> {
|
||||||
|
|
||||||
Page<InventoryVo> selectVoPageByBo(Page<Object> page, @Param("bo") InventoryBo bo);
|
Page<InventoryVo> queryItemBoardList(Page<Object> page, @Param("bo") InventoryBo bo);
|
||||||
|
Page<InventoryVo> queryAreaBoardList(Page<Object> page, @Param("bo") InventoryBo bo);
|
||||||
|
|
||||||
Page<InventoryVo> selectBoardPageByWarehouse(Page<Object> page, @Param("bo") InventoryBo bo);
|
Page<InventoryVo> selectBoardPageByWarehouse(Page<Object> page, @Param("bo") InventoryBo bo);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.ruoyi.common.core.constant.ServiceConstants;
|
|
||||||
import com.ruoyi.common.core.exception.base.BaseException;
|
import com.ruoyi.common.core.exception.base.BaseException;
|
||||||
import com.ruoyi.common.core.utils.MapstructUtils;
|
import com.ruoyi.common.core.utils.MapstructUtils;
|
||||||
import com.ruoyi.common.core.utils.ValidatorUtils;
|
import com.ruoyi.common.core.utils.ValidatorUtils;
|
||||||
|
@ -13,7 +12,9 @@ import com.ruoyi.common.core.validate.AddGroup;
|
||||||
import com.ruoyi.common.mybatis.core.domain.PlaceAndItem;
|
import com.ruoyi.common.mybatis.core.domain.PlaceAndItem;
|
||||||
import com.ruoyi.common.mybatis.core.page.PageQuery;
|
import com.ruoyi.common.mybatis.core.page.PageQuery;
|
||||||
import com.ruoyi.common.mybatis.core.page.TableDataInfo;
|
import com.ruoyi.common.mybatis.core.page.TableDataInfo;
|
||||||
import com.ruoyi.wms.domain.bo.*;
|
import com.ruoyi.wms.domain.bo.InventoryBo;
|
||||||
|
import com.ruoyi.wms.domain.bo.InventoryDetailBo;
|
||||||
|
import com.ruoyi.wms.domain.bo.ShipmentDataBo;
|
||||||
import com.ruoyi.wms.domain.entity.Inventory;
|
import com.ruoyi.wms.domain.entity.Inventory;
|
||||||
import com.ruoyi.wms.domain.vo.InventoryVo;
|
import com.ruoyi.wms.domain.vo.InventoryVo;
|
||||||
import com.ruoyi.wms.domain.vo.ItemSkuVo;
|
import com.ruoyi.wms.domain.vo.ItemSkuVo;
|
||||||
|
@ -50,14 +51,6 @@ public class InventoryService extends ServiceImpl<InventoryMapper, Inventory> {
|
||||||
return inventoryMapper.selectVoById(id);
|
return inventoryMapper.selectVoById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询库存列表
|
|
||||||
*/
|
|
||||||
public TableDataInfo<InventoryVo> queryPageList(InventoryBo bo, PageQuery pageQuery) {
|
|
||||||
Page<InventoryVo> result = inventoryMapper.selectVoPageByBo(pageQuery.build(), bo);
|
|
||||||
return TableDataInfo.build(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询库存列表
|
* 查询库存列表
|
||||||
*/
|
*/
|
||||||
|
@ -190,8 +183,7 @@ public class InventoryService extends ServiceImpl<InventoryMapper, Inventory> {
|
||||||
return shipmentData;
|
return shipmentData;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TableDataInfo<InventoryVo> queryBoardList(InventoryBo bo, PageQuery pageQuery) {
|
public TableDataInfo<InventoryVo> queryWarehouseBoardList(InventoryBo bo, PageQuery pageQuery) {
|
||||||
if (ServiceConstants.InventoryBoardType.WAREHOUSE.equals(bo.getType())) {
|
|
||||||
TableDataInfo<InventoryVo> tableDataInfo = TableDataInfo.build(inventoryMapper.selectBoardPageByWarehouse(pageQuery.build(), bo));
|
TableDataInfo<InventoryVo> tableDataInfo = TableDataInfo.build(inventoryMapper.selectBoardPageByWarehouse(pageQuery.build(), bo));
|
||||||
if (CollUtil.isEmpty(tableDataInfo.getRows())) {
|
if (CollUtil.isEmpty(tableDataInfo.getRows())) {
|
||||||
return tableDataInfo;
|
return tableDataInfo;
|
||||||
|
@ -204,7 +196,18 @@ public class InventoryService extends ServiceImpl<InventoryMapper, Inventory> {
|
||||||
it.setItem(itemSku.getItem());
|
it.setItem(itemSku.getItem());
|
||||||
});
|
});
|
||||||
return tableDataInfo;
|
return tableDataInfo;
|
||||||
}
|
}
|
||||||
return queryPageList(bo, pageQuery);
|
|
||||||
|
/**
|
||||||
|
* 查询库存列表
|
||||||
|
*/
|
||||||
|
public TableDataInfo<InventoryVo> queryAreaBoardList(InventoryBo bo, PageQuery pageQuery) {
|
||||||
|
Page<InventoryVo> result = inventoryMapper.queryAreaBoardList(pageQuery.build(), bo);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TableDataInfo<InventoryVo> queryItemBoardList(InventoryBo bo, PageQuery pageQuery) {
|
||||||
|
Page<InventoryVo> result = inventoryMapper.queryItemBoardList(pageQuery.build(), bo);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<association property="item" javaType="com.ruoyi.wms.domain.vo.ItemVo" />
|
<association property="item" javaType="com.ruoyi.wms.domain.vo.ItemVo" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="selectVoPageByBo" resultMap="inventoryVoMap">
|
<sql id="selectVoListByBo">
|
||||||
select
|
select
|
||||||
inventory.*,
|
inventory.*,
|
||||||
sku.*,
|
sku.*,
|
||||||
|
@ -43,12 +43,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
and inventory.quantity>=#{bo.minQuantity}
|
and inventory.quantity>=#{bo.minQuantity}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
<if test="bo.type == null or bo.type == 2">
|
</sql>
|
||||||
order by inventory.warehouse_id,inventory.area_id,sku.item_id,sku.id
|
|
||||||
</if>
|
<select id="queryAreaBoardList" resultMap="inventoryVoMap">
|
||||||
<if test="bo.type == 3">
|
<include refid="selectVoListByBo"/>
|
||||||
order by sku.item_id,sku.id,inventory.warehouse_id,inventory.area_id
|
order by inventory.warehouse_id,inventory.area_id,sku.item_id,sku.id
|
||||||
</if>
|
</select>
|
||||||
|
|
||||||
|
<select id="queryItemBoardList" resultMap="inventoryVoMap">
|
||||||
|
<include refid="selectVoListByBo"/>
|
||||||
|
order by sku.item_id,sku.id,inventory.warehouse_id,inventory.area_id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectBoardPageByWarehouse" resultType="com.ruoyi.wms.domain.vo.InventoryVo">
|
<select id="selectBoardPageByWarehouse" resultType="com.ruoyi.wms.domain.vo.InventoryVo">
|
||||||
|
|
|
@ -28,10 +28,4 @@ public class ServiceConstants {
|
||||||
public static final Integer PENDING = 0;
|
public static final Integer PENDING = 0;
|
||||||
public static final Integer FINISH = 1;
|
public static final Integer FINISH = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class InventoryBoardType {
|
|
||||||
public static final Integer WAREHOUSE = 1;
|
|
||||||
public static final Integer AREA = 2;
|
|
||||||
public static final Integer ITEM = 3;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue