仓库管理,查询统计-库存明细查询 库存汇总查询 字典 关联查询

This commit is contained in:
liuhanqing
2025-06-27 11:15:03 +08:00
parent b01cff21d9
commit 2736aa6fb4
12 changed files with 365 additions and 180 deletions

View File

@@ -7,7 +7,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
/**
* 库存汇总对象 stock_summary
*
*
* @author ruoyi
* @date 2025-05-26
*/
@@ -40,11 +40,11 @@ public class StockSummary extends BaseEntity
private String lotNo;
/** 仓库 */
@Excel(name = "仓库")
private String warehouseId;
@Excel(name = "仓库")
private String warehouseName;
/** 巷道 */
@Excel(name = "巷道")
private String roadwayId;
/** 库存数量 */
@@ -83,6 +83,9 @@ public class StockSummary extends BaseEntity
/** 备注 */
@Excel(name = "备注")
private String remark;
private String cargoSpaceId;
@Excel(name = "货位名称")
private String cargoSpaceName;
/** 分组字段控制 */
@@ -100,6 +103,39 @@ public class StockSummary extends BaseEntity
private Boolean groupBySpare6;
private Boolean groupBySpare7;
private Boolean groupBySpare8;
private Boolean groupByCargoSpaceId;
public String getCargoSpaceName() {
return cargoSpaceName;
}
public void setCargoSpaceName(String cargoSpaceName) {
this.cargoSpaceName = cargoSpaceName;
}
public String getCargoSpaceId() {
return cargoSpaceId;
}
public void setCargoSpaceId(String cargoSpaceId) {
this.cargoSpaceId = cargoSpaceId;
}
public Boolean getGroupByCargoSpaceId() {
return groupByCargoSpaceId;
}
public void setGroupByCargoSpaceId(Boolean groupByCargoSpaceId) {
this.groupByCargoSpaceId = groupByCargoSpaceId;
}
public String getWarehouseName() {
return warehouseName;
}
public void setWarehouseName(String warehouseName) {
this.warehouseName = warehouseName;
}
public String getPrice() {
return price;
@@ -279,92 +315,92 @@ public class StockSummary extends BaseEntity
this.groupByRoadwayId = groupByRoadwayId;
}
public void setOnlyIdentity(Long onlyIdentity)
public void setOnlyIdentity(Long onlyIdentity)
{
this.onlyIdentity = onlyIdentity;
}
public Long getOnlyIdentity()
public Long getOnlyIdentity()
{
return onlyIdentity;
}
public void setProductId(String productId)
public void setProductId(String productId)
{
this.productId = productId;
}
public String getProductId()
public String getProductId()
{
return productId;
}
public void setProductName(String productName)
public void setProductName(String productName)
{
this.productName = productName;
}
public String getProductName()
public String getProductName()
{
return productName;
}
public void setSpec(String spec)
public void setSpec(String spec)
{
this.spec = spec;
}
public String getSpec()
public String getSpec()
{
return spec;
}
public void setUnit(String unit)
public void setUnit(String unit)
{
this.unit = unit;
}
public String getUnit()
public String getUnit()
{
return unit;
}
public void setLotNo(String lotNo)
public void setLotNo(String lotNo)
{
this.lotNo = lotNo;
}
public String getLotNo()
public String getLotNo()
{
return lotNo;
}
public void setWarehouseId(String warehouseId)
public void setWarehouseId(String warehouseId)
{
this.warehouseId = warehouseId;
}
public String getWarehouseId()
public String getWarehouseId()
{
return warehouseId;
}
public void setRoadwayId(String roadwayId)
public void setRoadwayId(String roadwayId)
{
this.roadwayId = roadwayId;
}
public String getRoadwayId()
public String getRoadwayId()
{
return roadwayId;
}
public void setQuantity(Double quantity)
public void setQuantity(Double quantity)
{
this.quantity = quantity;
}
public Double getQuantity()
public Double getQuantity()
{
return quantity;
}
@@ -405,4 +441,4 @@ public class StockSummary extends BaseEntity
", groupBySpare8=" + groupBySpare8 +
'}';
}
}
}

View File

@@ -7,7 +7,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
/**
* 库存明细查询对象 view_stock_detail
*
*
* @author gw
* @date 2025-05-26
*/
@@ -54,6 +54,7 @@ public class ViewStockDetail extends BaseEntity
/** 仓库 */
@Excel(name = "仓库")
private String warehouseId;
private String warehouseName;
/** 剁型ID */
@Excel(name = "剁型ID")
@@ -122,6 +123,34 @@ public class ViewStockDetail extends BaseEntity
/** 备注 */
@Excel(name = "备注")
private String remark;
@Excel(name = "库存状态")
private String stockStatus;
@Excel(name = "物料状态")
private String productStatus;
public String getStockStatus() {
return stockStatus;
}
public void setStockStatus(String stockStatus) {
this.stockStatus = stockStatus;
}
public String getProductStatus() {
return productStatus;
}
public void setProductStatus(String productStatus) {
this.productStatus = productStatus;
}
public String getWarehouseName() {
return warehouseName;
}
public void setWarehouseName(String warehouseName) {
this.warehouseName = warehouseName;
}
@Override
public String getRemark() {
@@ -186,197 +215,197 @@ public class ViewStockDetail extends BaseEntity
this.onlyIdentity = onlyIdentity;
}
public Long getOnlyIdentity()
public Long getOnlyIdentity()
{
return onlyIdentity;
}
public void setStockId(String stockId)
public void setStockId(String stockId)
{
this.stockId = stockId;
}
public String getStockId()
public String getStockId()
{
return stockId;
}
public void setCargoSpaceId(String cargoSpaceId)
public void setCargoSpaceId(String cargoSpaceId)
{
this.cargoSpaceId = cargoSpaceId;
}
public String getCargoSpaceId()
public String getCargoSpaceId()
{
return cargoSpaceId;
}
public void setTrayCode(String trayCode)
public void setTrayCode(String trayCode)
{
this.trayCode = trayCode;
}
public String getTrayCode()
public String getTrayCode()
{
return trayCode;
}
public void setQuantity(String quantity)
public void setQuantity(String quantity)
{
this.quantity = quantity;
}
public String getQuantity()
public String getQuantity()
{
return quantity;
}
public void setJobId(String jobId)
public void setJobId(String jobId)
{
this.jobId = jobId;
}
public String getJobId()
public String getJobId()
{
return jobId;
}
public void setLotNo(String lotNo)
public void setLotNo(String lotNo)
{
this.lotNo = lotNo;
}
public String getLotNo()
public String getLotNo()
{
return lotNo;
}
public void setStockinDetailId(String stockinDetailId)
public void setStockinDetailId(String stockinDetailId)
{
this.stockinDetailId = stockinDetailId;
}
public String getStockinDetailId()
public String getStockinDetailId()
{
return stockinDetailId;
}
public void setInDate(String inDate)
public void setInDate(String inDate)
{
this.inDate = inDate;
}
public String getInDate()
public String getInDate()
{
return inDate;
}
public void setWarehouseId(String warehouseId)
public void setWarehouseId(String warehouseId)
{
this.warehouseId = warehouseId;
}
public String getWarehouseId()
public String getWarehouseId()
{
return warehouseId;
}
public void setStackingId(String stackingId)
public void setStackingId(String stackingId)
{
this.stackingId = stackingId;
}
public String getStackingId()
public String getStackingId()
{
return stackingId;
}
public void setCargoSpaceName(String cargoSpaceName)
public void setCargoSpaceName(String cargoSpaceName)
{
this.cargoSpaceName = cargoSpaceName;
}
public String getCargoSpaceName()
public String getCargoSpaceName()
{
return cargoSpaceName;
}
public void setRoadwayId(String roadwayId)
public void setRoadwayId(String roadwayId)
{
this.roadwayId = roadwayId;
}
public String getRoadwayId()
public String getRoadwayId()
{
return roadwayId;
}
public void setCargoSpaceStatus(String cargoSpaceStatus)
public void setCargoSpaceStatus(String cargoSpaceStatus)
{
this.cargoSpaceStatus = cargoSpaceStatus;
}
public String getCargoSpaceStatus()
public String getCargoSpaceStatus()
{
return cargoSpaceStatus;
}
public void setLocked(String locked)
public void setLocked(String locked)
{
this.locked = locked;
}
public String getLocked()
public String getLocked()
{
return locked;
}
public void setProductId(String productId)
public void setProductId(String productId)
{
this.productId = productId;
}
public String getProductId()
public String getProductId()
{
return productId;
}
public void setProductName(String productName)
public void setProductName(String productName)
{
this.productName = productName;
}
public String getProductName()
public String getProductName()
{
return productName;
}
public void setSpec(String spec)
public void setSpec(String spec)
{
this.spec = spec;
}
public String getSpec()
public String getSpec()
{
return spec;
}
public void setUnit(String unit)
public void setUnit(String unit)
{
this.unit = unit;
}
public String getUnit()
public String getUnit()
{
return unit;
}
public void setPrice(String price)
public void setPrice(String price)
{
this.price = price;
}
public String getPrice()
public String getPrice()
{
return price;
}

View File

@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.search.StockSummary.mapper.StockSummaryMapper">
<resultMap type="StockSummary" id="StockSummaryResult">
<result property="onlyIdentity" column="only_identity" />
<result property="productId" column="product_id" />
@@ -12,7 +12,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="unit" column="unit" />
<result property="lotNo" column="lot_no" />
<result property="warehouseId" column="warehouse_id" />
<result property="roadwayId" column="roadway_id" />
<result property="warehouseName" column="warehouse_name" />
<result property="quantity" column="quantity" />
<result property="price" column="price" />
<result property="spare1" column="spare1" />
@@ -22,10 +22,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="spare7" column="spare7" />
<result property="spare8" column="spare8" />
<result property="remark" column="remark" />
<result property="cargoSpaceId" column="cargo_space_id" />
<result property="cargoSpaceName" column="cargo_space_name" />
</resultMap>
<sql id="selectStockSummaryVo">
SELECT
SELECT
<choose>
<when test="groupByProductId != null and groupByProductId or groupByProductName != null and groupByProductName or groupBySpec != null and groupBySpec or groupByUnit != null and groupByUnit or groupByLotNo != null and groupByLotNo or groupByWarehouseId != null and groupByWarehouseId or groupByRoadwayId != null and groupByRoadwayId or groupByPrice != null and groupByPrice or groupBySpare1 != null and groupBySpare1 or groupBySpare2 != null and groupBySpare2 or groupBySpare5 != null and groupBySpare5 or groupBySpare6 != null and groupBySpare6 or groupBySpare7 != null and groupBySpare7 or groupBySpare8 != null and groupBySpare8">
<if test="groupByProductId != null and groupByProductId">p.product_id,</if>
@@ -41,10 +43,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="groupByUnit != null and groupByUnit">p.unit,</if>
<if test="groupByLotNo != null and groupByLotNo">s.lot_no,</if>
<if test="groupByWarehouseId != null and groupByWarehouseId">s.warehouse_id,</if>
<if test="groupByRoadwayId != null and groupByRoadwayId">s.cargo_space_id as roadway_id,</if>
<if test="groupByWarehouseId != null and groupByWarehouseId">bw.warehouse_name,</if>
<if test="groupByCargoSpaceId != null and groupByCargoSpaceId">s.cargo_space_id,</if>
<if test="groupByCargoSpaceId != null and groupByCargoSpaceId">bcs.cargo_space_name,</if>
SUM(CAST(s.quantity AS DECIMAL(18,2))) as quantity
FROM bas_stock s
LEFT JOIN bas_product p ON s.product_id = p.product_id
LEFT JOIN bas_warehouse bw ON bw.warehouse_id = s.warehouse_id
LEFT JOIN bas_cargo_space bcs ON bcs.cargo_space_id = s.cargo_space_id
<where>
<if test="productId != null and productId != ''"> AND p.product_id like concat('%', #{productId}, '%')</if>
<if test="productName != null and productName != ''"> AND p.product_name like concat('%', #{productName}, '%')</if>
@@ -60,7 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="remark != null and remark != ''"> AND p.spare7 like concat('%', #{remark}, '%')}</if>
<if test="lotNo != null and lotNo != ''"> AND s.lot_no like concat('%', #{lotNo}, '%')</if>
<if test="warehouseId != null and warehouseId != ''"> AND s.warehouse_id like concat('%', #{warehouseId}, '%')</if>
<if test="roadwayId != null and roadwayId != ''"> AND s.cargo_space_id like concat('%', #{roadwayId}, '%')</if>
<if test="cargoSpaceId != null and cargoSpaceId != ''"> AND s.cargo_space_id like concat('%', #{roadwayId}, '%')</if>
<if test="params.warehouseDataScope != null and params.warehouseDataScope !=''">
${params.warehouseDataScope}
</if>
@@ -80,7 +86,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="groupBySpare7 != null and groupBySpare7">,p.spare7</if>
<if test="groupByLotNo != null and groupByLotNo">,s.lot_no</if>
<if test="groupByWarehouseId != null and groupByWarehouseId">,s.warehouse_id</if>
<if test="groupByRoadwayId != null and groupByRoadwayId">,s.cargo_space_id</if>
<if test="groupByWarehouseId != null and groupByWarehouseId">,bw.warehouse_name</if>
<if test="groupByCargoSpaceId != null and groupByCargoSpaceId">,s.cargo_space_id</if>
<if test="groupByCargoSpaceId != null and groupByCargoSpaceId">,bcs.cargo_space_name</if>
</trim>
</when>
<otherwise>
@@ -115,12 +123,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectStockSummaryList" parameterType="StockSummary" resultMap="StockSummaryResult">
<include refid="selectStockSummaryVo"/>
</select>
<select id="selectStockSummaryByOnlyIdentity" parameterType="Long" resultMap="StockSummaryResult">
<include refid="selectStockSummaryVo"/>
where only_identity = #{onlyIdentity}
</select>
<insert id="insertStockSummary" parameterType="StockSummary">
insert into stock_summary
<trim prefix="(" suffix=")" suffixOverrides=",">
@@ -191,9 +199,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<delete id="deleteStockSummaryByOnlyIdentitys" parameterType="String">
delete from stock_summary where only_identity in
delete from stock_summary where only_identity in
<foreach item="onlyIdentity" collection="array" open="(" separator="," close=")">
#{onlyIdentity}
</foreach>
</delete>
</mapper>
</mapper>

View File

@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.search.ViewStockDetail.mapper.ViewStockDetailMapper">
<resultMap type="ViewStockDetail" id="ViewStockDetailResult">
<result property="onlyIdentity" column="only_identity" />
<result property="stockId" column="stock_id" />
@@ -32,15 +32,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="spare7" column="spare7" />
<result property="spare8" column="spare8" />
<result property="remark" column="remark" />
<result property="warehouseName" column="warehouse_name" />
<result property="stockStatus" column="stock_status" />
<result property="productStatus" column="product_status" />
</resultMap>
<sql id="selectViewStockDetailVo">
select only_identity, stock_id, cargo_space_id, tray_code, quantity, job_id, lot_no, stockin_detail_id, in_date, warehouse_id, stacking_id, cargo_space_name, roadway_id, cargo_space_status, locked, product_id, product_name, spec, unit, price, remark,spare1,spare2,spare5,spare6,spare7,spare8 from view_stock_detail
select only_identity,stock_status,product_status, stock_id, cargo_space_id, tray_code, quantity, job_id, lot_no, stockin_detail_id, in_date, warehouse_id, stacking_id, cargo_space_name, roadway_id, cargo_space_status, locked, product_id, product_name, spec, unit, price, remark,spare1,spare2,spare5,spare6,spare7,spare8,warehouse_name from view_stock_detail
</sql>
<select id="selectViewStockDetailList" parameterType="ViewStockDetail" resultMap="ViewStockDetailResult">
<include refid="selectViewStockDetailVo"/>
<where>
<where>
<if test="onlyIdentity != null "> and only_identity = #{onlyIdentity}</if>
<if test="stockId != null and stockId != ''"> and stock_id like concat('%', #{stockId}, '%')</if>
<if test="cargoSpaceId != null and cargoSpaceId != ''"> and cargo_space_id like concat('%', #{cargoSpaceId}, '%')</if>
@@ -67,12 +70,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="spare6 != null and spare6 != ''"> and spare6 like concat('%', #{spare6}, '%')</if>
<if test="spare7 != null and spare7 != ''"> and spare7 like concat('%', #{spare7}, '%')</if>
<if test="spare8 != null and spare8 != ''"> and spare8 like concat('%', #{spare8}, '%')</if>
<if test="warehouseName != null and warehouseName != ''"> and warehouse_name like concat('%', #{warehouseName}, '%')</if>
<if test="stockStatus != null and stockStatus != ''"> and stock_status like concat('%', #{stockStatus}, '%')</if>
<if test="productStatus != null and productStatus != ''"> and product_status like concat('%', #{productStatus}, '%')</if>
<if test="params.warehouseDataScope != null and params.warehouseDataScope !=''">
${params.warehouseDataScope}
</if>
</where>
</select>
<select id="selectViewStockDetailByOnlyIdentity" parameterType="Long" resultMap="ViewStockDetailResult">
<include refid="selectViewStockDetailVo"/>
where only_identity = #{onlyIdentity}
@@ -178,9 +184,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<delete id="deleteViewStockDetailByOnlyIdentitys" parameterType="String">
delete from view_stock_detail where only_identity in
delete from view_stock_detail where only_identity in
<foreach item="onlyIdentity" collection="array" open="(" separator="," close=")">
#{onlyIdentity}
</foreach>
</delete>
</mapper>
</mapper>

View File

@@ -53,8 +53,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="barCodeOldQuantity != null and barCodeOldQuantity != ''"> and bar_code_old_quantity = #{barCodeOldQuantity}</if>
<if test="barCodeQuantity != null and barCodeQuantity != ''"> and bar_code_quantity = #{barCodeQuantity}</if>
<if test="productGuid != null and productGuid != ''"> and product_guid = #{productGuid}</if>
order by create_time desc
</where>
order by create_time desc
</select>
<select id="selectBasStockMaintainRecordByWhGuid" parameterType="String" resultMap="BasStockMaintainRecordResult">