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

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 * 库存汇总对象 stock_summary
* *
* @author ruoyi * @author ruoyi
* @date 2025-05-26 * @date 2025-05-26
*/ */
@@ -40,11 +40,11 @@ public class StockSummary extends BaseEntity
private String lotNo; private String lotNo;
/** 仓库 */ /** 仓库 */
@Excel(name = "仓库")
private String warehouseId; private String warehouseId;
@Excel(name = "仓库")
private String warehouseName;
/** 巷道 */ /** 巷道 */
@Excel(name = "巷道")
private String roadwayId; private String roadwayId;
/** 库存数量 */ /** 库存数量 */
@@ -83,6 +83,9 @@ public class StockSummary extends BaseEntity
/** 备注 */ /** 备注 */
@Excel(name = "备注") @Excel(name = "备注")
private String remark; 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 groupBySpare6;
private Boolean groupBySpare7; private Boolean groupBySpare7;
private Boolean groupBySpare8; 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() { public String getPrice() {
return price; return price;
@@ -279,92 +315,92 @@ public class StockSummary extends BaseEntity
this.groupByRoadwayId = groupByRoadwayId; this.groupByRoadwayId = groupByRoadwayId;
} }
public void setOnlyIdentity(Long onlyIdentity) public void setOnlyIdentity(Long onlyIdentity)
{ {
this.onlyIdentity = onlyIdentity; this.onlyIdentity = onlyIdentity;
} }
public Long getOnlyIdentity() public Long getOnlyIdentity()
{ {
return onlyIdentity; return onlyIdentity;
} }
public void setProductId(String productId) public void setProductId(String productId)
{ {
this.productId = productId; this.productId = productId;
} }
public String getProductId() public String getProductId()
{ {
return productId; return productId;
} }
public void setProductName(String productName) public void setProductName(String productName)
{ {
this.productName = productName; this.productName = productName;
} }
public String getProductName() public String getProductName()
{ {
return productName; return productName;
} }
public void setSpec(String spec) public void setSpec(String spec)
{ {
this.spec = spec; this.spec = spec;
} }
public String getSpec() public String getSpec()
{ {
return spec; return spec;
} }
public void setUnit(String unit) public void setUnit(String unit)
{ {
this.unit = unit; this.unit = unit;
} }
public String getUnit() public String getUnit()
{ {
return unit; return unit;
} }
public void setLotNo(String lotNo) public void setLotNo(String lotNo)
{ {
this.lotNo = lotNo; this.lotNo = lotNo;
} }
public String getLotNo() public String getLotNo()
{ {
return lotNo; return lotNo;
} }
public void setWarehouseId(String warehouseId) public void setWarehouseId(String warehouseId)
{ {
this.warehouseId = warehouseId; this.warehouseId = warehouseId;
} }
public String getWarehouseId() public String getWarehouseId()
{ {
return warehouseId; return warehouseId;
} }
public void setRoadwayId(String roadwayId) public void setRoadwayId(String roadwayId)
{ {
this.roadwayId = roadwayId; this.roadwayId = roadwayId;
} }
public String getRoadwayId() public String getRoadwayId()
{ {
return roadwayId; return roadwayId;
} }
public void setQuantity(Double quantity) public void setQuantity(Double quantity)
{ {
this.quantity = quantity; this.quantity = quantity;
} }
public Double getQuantity() public Double getQuantity()
{ {
return quantity; return quantity;
} }
@@ -405,4 +441,4 @@ public class StockSummary extends BaseEntity
", groupBySpare8=" + groupBySpare8 + ", groupBySpare8=" + groupBySpare8 +
'}'; '}';
} }
} }

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.search.ViewStockDetail.mapper.ViewStockDetailMapper"> <mapper namespace="com.ruoyi.search.ViewStockDetail.mapper.ViewStockDetailMapper">
<resultMap type="ViewStockDetail" id="ViewStockDetailResult"> <resultMap type="ViewStockDetail" id="ViewStockDetailResult">
<result property="onlyIdentity" column="only_identity" /> <result property="onlyIdentity" column="only_identity" />
<result property="stockId" column="stock_id" /> <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="spare7" column="spare7" />
<result property="spare8" column="spare8" /> <result property="spare8" column="spare8" />
<result property="remark" column="remark" /> <result property="remark" column="remark" />
<result property="warehouseName" column="warehouse_name" />
<result property="stockStatus" column="stock_status" />
<result property="productStatus" column="product_status" />
</resultMap> </resultMap>
<sql id="selectViewStockDetailVo"> <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> </sql>
<select id="selectViewStockDetailList" parameterType="ViewStockDetail" resultMap="ViewStockDetailResult"> <select id="selectViewStockDetailList" parameterType="ViewStockDetail" resultMap="ViewStockDetailResult">
<include refid="selectViewStockDetailVo"/> <include refid="selectViewStockDetailVo"/>
<where> <where>
<if test="onlyIdentity != null "> and only_identity = #{onlyIdentity}</if> <if test="onlyIdentity != null "> and only_identity = #{onlyIdentity}</if>
<if test="stockId != null and stockId != ''"> and stock_id like concat('%', #{stockId}, '%')</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> <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="spare6 != null and spare6 != ''"> and spare6 like concat('%', #{spare6}, '%')</if>
<if test="spare7 != null and spare7 != ''"> and spare7 like concat('%', #{spare7}, '%')</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="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 !=''"> <if test="params.warehouseDataScope != null and params.warehouseDataScope !=''">
${params.warehouseDataScope} ${params.warehouseDataScope}
</if> </if>
</where> </where>
</select> </select>
<select id="selectViewStockDetailByOnlyIdentity" parameterType="Long" resultMap="ViewStockDetailResult"> <select id="selectViewStockDetailByOnlyIdentity" parameterType="Long" resultMap="ViewStockDetailResult">
<include refid="selectViewStockDetailVo"/> <include refid="selectViewStockDetailVo"/>
where only_identity = #{onlyIdentity} where only_identity = #{onlyIdentity}
@@ -178,9 +184,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete> </delete>
<delete id="deleteViewStockDetailByOnlyIdentitys" parameterType="String"> <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=")"> <foreach item="onlyIdentity" collection="array" open="(" separator="," close=")">
#{onlyIdentity} #{onlyIdentity}
</foreach> </foreach>
</delete> </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="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="barCodeQuantity != null and barCodeQuantity != ''"> and bar_code_quantity = #{barCodeQuantity}</if>
<if test="productGuid != null and productGuid != ''"> and product_guid = #{productGuid}</if> <if test="productGuid != null and productGuid != ''"> and product_guid = #{productGuid}</if>
order by create_time desc
</where> </where>
order by create_time desc
</select> </select>
<select id="selectBasStockMaintainRecordByWhGuid" parameterType="String" resultMap="BasStockMaintainRecordResult"> <select id="selectBasStockMaintainRecordByWhGuid" parameterType="String" resultMap="BasStockMaintainRecordResult">

View File

@@ -3033,25 +3033,28 @@ export default {
confirm: '确 定', confirm: '确 定',
cancel: '取 消' cancel: '取 消'
}, },
// ***************收货单据管理************* // ***************Stock Summary Management*************
searchStockSummary: { searchStockSummary: {
export: '导出', groupOptions: 'Group Options',
productId: '物料编码111111111', export: 'Export',
inputProductId: '请输入物料编码', productId: 'Product Code',
productName: '物料名称', inputProductId: 'Please enter product code',
inputProductName: '请输入物料名称', productName: 'Product Name',
spec: '规格', inputProductName: 'Please enter product name',
inputSpec: '请输入规格', spec: 'Specification',
lotNo: '批号', inputSpec: 'Please enter specification',
inputLotNo: '请输入批号', lotNo: 'Lot Number',
warehouseId: '仓库', inputLotNo: 'Please enter lot number',
inputWarehouseId: '请输入仓库', warehouseId: 'Warehouse',
roadwayId: '巷道', inputWarehouseId: 'Please enter warehouse',
inputRoadwayId: '请输入巷道', roadwayId: 'Roadway',
search: '搜索', inputRoadwayId: 'Please enter roadway',
reset: '重置', cargoSpace: 'cargoSpace',
unit: '单位', inputCargoSpace: 'inputCargoSpace',
quantity: '数量', search: 'Search',
reset: 'Reset',
unit: 'Unit',
quantity: 'Quantity',
}, },
// ***************预警库存查询************* // ***************预警库存查询*************
searchViewStockWarning: { searchViewStockWarning: {
@@ -3129,6 +3132,17 @@ export default {
confirm: '确 定', confirm: '确 定',
cancel: '取 消' cancel: '取 消'
}, },
// ***************Product Basic Fields**************
basproduct1:{
englishName:"English Name",
netWeightPerUnit:"Net Weight Per Unit",
long:"Length MM",
wide:"Width MM",
tall:"Height MM",
volume:"Volume m³",
price:"Price",
notes:"Description"
},
// ***************客户管理************** // ***************客户管理**************
basCustomer: { basCustomer: {
customerNo: 'customerNo', customerNo: 'customerNo',

View File

@@ -562,6 +562,11 @@ export default {
}, },
// ****************盘点差异管理***************** // ****************盘点差异管理*****************
checkDifference: { checkDifference: {
unaudited:'未审核',
audited:'已审核',
inputStatus:'请选择审核状态',
status:'审核状态',
audit:'审核',
createTime: '创建时间', createTime: '创建时间',
checkGuid: '盘点id', checkGuid: '盘点id',
checkStockDetailId: '盘点单据id', checkStockDetailId: '盘点单据id',
@@ -659,7 +664,8 @@ export default {
height:'高', height:'高',
volume:'体积', volume:'体积',
productId:'物料编码', productId:'物料编码',
cargoSpaceStatus: '货位状态' cargoSpaceStatus: '锁定状态',
cargoSpaceStockStatus: '货位状态'
}, },
@@ -2813,7 +2819,9 @@ export default {
deleteConfirm: '是否确认删除库存明细查询编号为"{id}"的数据项?', deleteConfirm: '是否确认删除库存明细查询编号为"{id}"的数据项?',
deleteSuccess: '删除成功', deleteSuccess: '删除成功',
addSuccess: '新增成功', addSuccess: '新增成功',
editSuccess: '修改成功' editSuccess: '修改成功',
stockStatus: '库存状态',
productStatus: '物料状态',
}, },
// ***************平库出库流水************* // ***************平库出库流水*************
searchViewFlatWarehouseOutFlow: { searchViewFlatWarehouseOutFlow: {
@@ -3024,6 +3032,7 @@ export default {
}, },
// ***************收货单据管理************* // ***************收货单据管理*************
searchStockSummary: { searchStockSummary: {
groupOptions: '分组选项',
export: '导出', export: '导出',
productId: '物料编码', productId: '物料编码',
inputProductId: '请输入物料编码', inputProductId: '请输入物料编码',
@@ -3035,8 +3044,8 @@ export default {
inputLotNo: '请输入批号', inputLotNo: '请输入批号',
warehouseId: '仓库', warehouseId: '仓库',
inputWarehouseId: '请输入仓库', inputWarehouseId: '请输入仓库',
roadwayId: '巷道', cargoSpace: '货位',
inputRoadwayId: '请输入巷道', inputCargoSpace: '请输入货位',
search: '搜索', search: '搜索',
reset: '重置', reset: '重置',
unit: '单位', unit: '单位',

View File

@@ -1194,6 +1194,7 @@ export default {
title: '货位管理', title: '货位管理',
cargoSpaceId: '货位编码', cargoSpaceId: '货位编码',
warehouseId: '仓库编码', warehouseId: '仓库编码',
warehouseName: '仓库',
roadwayId: '巷道号', roadwayId: '巷道号',
cargoAreaId: '货区编码', cargoAreaId: '货区编码',
cargoSpaceType: '货位类型', cargoSpaceType: '货位类型',
@@ -2819,7 +2820,9 @@ export default {
deleteConfirm: '是否确认删除库存明细查询编号为"{id}"的数据项?', deleteConfirm: '是否确认删除库存明细查询编号为"{id}"的数据项?',
deleteSuccess: '删除成功', deleteSuccess: '删除成功',
addSuccess: '新增成功', addSuccess: '新增成功',
editSuccess: '修改成功' editSuccess: '修改成功',
stockStatus: '库存状态',
productStatus: '物料状态',
}, },
// ***************平库出库流水************* // ***************平库出库流水*************
searchViewFlatWarehouseOutFlow: { searchViewFlatWarehouseOutFlow: {
@@ -3030,6 +3033,7 @@ export default {
}, },
// ***************收货单据管理************* // ***************收货单据管理*************
searchStockSummary: { searchStockSummary: {
groupOptions: '分组选项',
export: '导出', export: '导出',
productId: '物料编码', productId: '物料编码',
inputProductId: '请输入物料编码', inputProductId: '请输入物料编码',
@@ -3041,8 +3045,8 @@ export default {
inputLotNo: '请输入批号', inputLotNo: '请输入批号',
warehouseId: '仓库', warehouseId: '仓库',
inputWarehouseId: '请输入仓库', inputWarehouseId: '请输入仓库',
roadwayId: '巷道', cargoSpace: '货位',
inputRoadwayId: '请输入巷道', inputCargoSpace: '请输入货位',
search: '搜索', search: '搜索',
reset: '重置', reset: '重置',
unit: '单位', unit: '单位',

View File

@@ -2,49 +2,51 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="labelWidthForSearch"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="labelWidthForSearch">
<!-- 仓库ID --> <!-- 仓库ID -->
<el-form-item :label="$t('cargoSpace.warehouseId')" prop="warehouseId"> <el-form-item :label="$t('cargoSpace.warehouseName')" prop="warehouseId"><!-- 仓库id -->
<el-input <el-select v-model="queryParams.warehouseId" :placeholder="$t('cargoSpace.warehouseName')">
v-model="queryParams.warehouseId" <el-option
:placeholder="$t('cargoSpace.warehouseId')" v-for="item in warehouseOptions"
clearable :key="item.warehouseId"
@keyup.enter.native="handleQuery" :label="item.warehouseName"
/> :value="item.warehouseId"
/>
</el-select>
</el-form-item> </el-form-item>
<!-- 巷道号 --> <!-- 巷道号 -->
<el-form-item :label="$t('cargoSpace.roadwayId')" prop="roadwayId"> <!-- <el-form-item :label="$t('cargoSpace.roadwayId')" prop="roadwayId">
<el-input <el-input
v-model="queryParams.roadwayId" v-model="queryParams.roadwayId"
:placeholder="$t('cargoSpace.roadwayId')" :placeholder="$t('cargoSpace.roadwayId')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>-->
<!-- 货区编号 --> <!-- 货区编号 -->
<el-form-item :label="$t('cargoSpace.cargoAreaId')" prop="cargoAreaId"> <!-- <el-form-item :label="$t('cargoSpace.cargoAreaId')" prop="cargoAreaId">
<el-input <el-input
v-model="queryParams.cargoAreaId" v-model="queryParams.cargoAreaId"
:placeholder="$t('cargoSpace.cargoAreaId')" :placeholder="$t('cargoSpace.cargoAreaId')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>-->
<!-- 货位类型 --> <!-- 货位类型 -->
<el-form-item :label="$t('cargoSpace.cargoSpaceType')" prop="theTypeName"> <!-- <el-form-item :label="$t('cargoSpace.cargoSpaceType')" prop="theTypeName">
<el-input <el-input
v-model="queryParams.theTypeName" v-model="queryParams.theTypeName"
:placeholder="$t('cargoSpace.cargoSpaceType')" :placeholder="$t('cargoSpace.cargoSpaceType')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>-->
<!-- <el-form-item label="货位名称" prop="cargoSpaceName"> <el-form-item label="货位名称" prop="cargoSpaceName">
<el-input <el-input
v-model="queryParams.cargoSpaceName" v-model="queryParams.cargoSpaceName"
placeholder="请输入货位名称" placeholder="请输入货位名称"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> --> </el-form-item>
<!-- 排 --> <!-- 排 -->
<el-form-item :label="$t('cargoSpace.platoon')" prop="thePlatoon"> <el-form-item :label="$t('cargoSpace.platoon')" prop="thePlatoon">
<el-input <el-input
@@ -74,21 +76,25 @@
</el-form-item> </el-form-item>
<!-- 货位状态 --> <!-- 货位状态 -->
<el-form-item :label="$t('cargoSpace.status')" prop="status"> <el-form-item :label="$t('cargoSpace.status')" prop="status">
<el-input <el-select v-model="queryParams.status" :placeholder="$t('cargoSpace.status')" clearable>
v-model="queryParams.status" <el-option
:placeholder="$t('cargoSpace.status')" v-for="dict in dict.type.cargo_space_status"
clearable :key="dict.value"
@keyup.enter.native="handleQuery" :label="dict.label"
/> :value="dict.value"
/>
</el-select>
</el-form-item> </el-form-item>
<!-- 是否锁定 --> <!-- 是否锁定 -->
<el-form-item :label="$t('cargoSpace.locked')" prop="locked"> <el-form-item :label="$t('cargoSpace.locked')" prop="locked">
<el-input <el-select v-model="queryParams.locked" :placeholder="$t('cargoSpace.locked')" clearable>
v-model="queryParams.locked" <el-option
:placeholder="$t('cargoSpace.locked')" v-for="dict in dict.type.cargo_space_lock_status"
clearable :key="dict.value"
@keyup.enter.native="handleQuery" :label="dict.label"
/> :value="dict.value"
/>
</el-select>
</el-form-item> </el-form-item>
<!-- 托盘编码 --> <!-- 托盘编码 -->
<el-form-item :label="$t('cargoSpace.trayCode')" prop="trayCode"> <el-form-item :label="$t('cargoSpace.trayCode')" prop="trayCode">
@@ -99,7 +105,6 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<!-- <el-form-item label="是否双伸 Y N " prop="issDouble"> <!-- <el-form-item label="是否双伸 Y N " prop="issDouble">
<el-input <el-input
v-model="queryParams.issDouble" v-model="queryParams.issDouble"
@@ -205,35 +210,43 @@
<!-- 仓库ID --> <!-- 仓库ID -->
<el-table-column :label="$t('cargoSpace.warehouseId')" align="center" prop="warehouseId" /> <el-table-column :label="$t('cargoSpace.warehouseId')" align="center" prop="warehouseId" />
<!-- 巷道号 --> <!-- 巷道号 -->
<el-table-column :label="$t('cargoSpace.roadwayId')" align="center" prop="roadwayId" /> <!-- <el-table-column :label="$t('cargoSpace.roadwayId')" align="center" prop="roadwayId" />-->
<!-- 货区编号 --> <!-- 货区编号 -->
<el-table-column :label="$t('cargoSpace.cargoAreaId')" align="center" prop="cargoAreaId" /> <!-- <el-table-column :label="$t('cargoSpace.cargoAreaId')" align="center" prop="cargoAreaId" />-->
<!-- 货位类型 --> <!-- 货位类型 -->
<!-- <el-table-column :label="$t('cargoSpace.cargoSpaceType')" align="center" prop="theType" /> --> <!-- <el-table-column :label="$t('cargoSpace.cargoSpaceType')" align="center" prop="theType" /> -->
<!-- 货位类型名称 --> <!-- 货位类型名称 -->
<el-table-column :label="$t('cargoSpace.cargoSpaceTypeName')" align="center" prop="theTypeName" /> <!-- <el-table-column :label="$t('cargoSpace.cargoSpaceTypeName')" align="center" prop="theTypeName" />-->
<!-- 货位名称 --> <!-- 货位名称 -->
<el-table-column :label="$t('cargoSpace.cargoSpaceName')" align="center" prop="cargoSpaceName" /> <el-table-column :label="$t('cargoSpace.cargoSpaceName')" align="center" prop="cargoSpaceName" />
<!-- 排 --> <!-- 排 -->
<!-- <el-table-column :label="$t('cargoSpace.platoon')" align="center" prop="thePlatoon" /> --> <el-table-column :label="$t('cargoSpace.platoon')" align="center" prop="thePlatoon" />
<!-- 列 --> <!-- 列 -->
<!-- <el-table-column :label="$t('cargoSpace.column')" align="center" prop="theColumn" /> --> <el-table-column :label="$t('cargoSpace.column')" align="center" prop="theColumn" />
<!-- 层 --> <!-- 层 -->
<!-- <el-table-column :label="$t('cargoSpace.floor')" align="center" prop="theFloor" /> --> <el-table-column :label="$t('cargoSpace.floor')" align="center" prop="theFloor" />
<!-- 货位编码 --> <!-- 货位编码 -->
<el-table-column :label="$t('cargoSpace.status')" align="center" prop="status" /> <el-table-column :label="$t('cargoSpace.status')" align="center" prop="status" >
<template slot-scope="scope">
<dict-tag :options="dict.type.cargo_space_status" :value="scope.row.status"/>
</template>
</el-table-column>
<!-- 是否锁定 --> <!-- 是否锁定 -->
<el-table-column :label="$t('cargoSpace.locked')" align="center" prop="locked" /> <el-table-column :label="$t('cargoSpace.locked')" align="center" prop="locked" >
<template slot-scope="scope">
<dict-tag :options="dict.type.cargo_space_lock_status" :value="scope.row.locked"/>
</template>
</el-table-column>
<!-- 托盘编码 --> <!-- 托盘编码 -->
<el-table-column :label="$t('cargoSpace.trayCode')" align="center" prop="trayCode" /> <el-table-column :label="$t('cargoSpace.trayCode')" align="center" prop="trayCode" />
<!-- 货物高度 --> <!-- 货物高度 -->
<el-table-column :label="$t('cargoSpace.cargoHeight')" align="center" prop="cargoHight" /> <el-table-column :label="$t('cargoSpace.cargoHeight')" align="center" prop="cargoHight" />
<!-- 是否双伸 --> <!-- 是否双伸 -->
<el-table-column :label="$t('cargoSpace.isDouble')" align="center" prop="issDouble" /> <!-- <el-table-column :label="$t('cargoSpace.isDouble')" align="center" prop="issDouble" />-->
<!-- 双货位分组编码 --> <!-- 双货位分组编码 -->
<!-- <el-table-column :label="$t('cargoSpace.groupCodingNo')" align="center" prop="groupCodingNo" /> --> <!-- <el-table-column :label="$t('cargoSpace.groupCodingNo')" align="center" prop="groupCodingNo" /> -->
<!-- 双货位分组编码名称1、2… --> <!-- 双货位分组编码名称1、2… -->
<el-table-column :label="$t('cargoSpace.groupCodingName')" align="center" prop="groupCoding" /> <!-- <el-table-column :label="$t('cargoSpace.groupCodingName')" align="center" prop="groupCoding" />-->
<!-- 双货位标识 0 外1内 --> <!-- 双货位标识 0 外1内 -->
<!-- <el-table-column :label="$t('cargoSpace.cargoSpaceLogo')" align="center" prop="cargoSpaceLogo" /> --> <!-- <el-table-column :label="$t('cargoSpace.cargoSpaceLogo')" align="center" prop="cargoSpaceLogo" /> -->
<!-- 本仓库区域 1--8 A 9--15 B --> <!-- 本仓库区域 1--8 A 9--15 B -->
@@ -260,7 +273,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
:total="total" :total="total"
@@ -345,9 +358,11 @@
<script> <script>
import { listCargoSpace, getCargoSpace, delCargoSpace, addCargoSpace, updateCargoSpace } from "@/api/bas/cargoSpace" import { listCargoSpace, getCargoSpace, delCargoSpace, addCargoSpace, updateCargoSpace } from "@/api/bas/cargoSpace"
import {listWarehouse} from "@/api/bas/warehouse"
export default { export default {
name: "CargoSpace", name: "CargoSpace",
dicts:['cargo_space_status','cargo_space_lock_status'],
data() { data() {
return { return {
// 遮罩层 // 遮罩层
@@ -364,6 +379,7 @@ export default {
total: 0, total: 0,
// 库存信息表格数据 // 库存信息表格数据
cargoSpaceList: [], cargoSpaceList: [],
warehouseOptions:[],
// 弹出层标题 // 弹出层标题
title: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
@@ -427,9 +443,16 @@ export default {
} }
}, },
created() { created() {
this.getWarehouseList();
this.getList() this.getList()
}, },
methods: { methods: {
/** 获取仓库列表 */
getWarehouseList() {
listWarehouse().then(response => {
this.warehouseOptions = response.rows;
});
},
/** 查询库存信息列表 */ /** 查询库存信息列表 */
getList() { getList() {
this.loading = true this.loading = true
@@ -540,11 +563,11 @@ export default {
}, },
comped: { comped: {
labelWidthForSearch() { labelWidthForSearch() {
const lang = this.$i18n.locale; const lang = this.$i18n.locale;
return lang.startsWith('en') ? '84px' : '68px'; return lang.startsWith('en') ? '84px' : '68px';
}, },
labelWidthForFunction() { labelWidthForFunction() {
const lang = this.$i18n.locale; const lang = this.$i18n.locale;
return lang.startsWith('en') ? '150px' : '120px'; return lang.startsWith('en') ? '150px' : '120px';
} }
}, },

View File

@@ -2,15 +2,15 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="labelWidthForSearch"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="labelWidthForSearch">
<el-form-item :label="$t('warehouse.Id')" prop="warehouseId"> <!-- <el-form-item :label="$t('warehouse.Id')" prop="warehouseId">
<!-- 仓库ID(序号) --> &lt;!&ndash; 仓库ID(序号) &ndash;&gt;
<el-input <el-input
v-model="queryParams.warehouseId" v-model="queryParams.warehouseId"
:placeholder="$t('warehouse.placeholderId')" :placeholder="$t('warehouse.placeholderId')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>-->
<!-- 仓库编号 --> <!-- 仓库编号 -->
<el-form-item :label="$t('warehouse.warehouseId')" prop="warehouseNo"> <el-form-item :label="$t('warehouse.warehouseId')" prop="warehouseNo">
<el-input <el-input
@@ -76,6 +76,17 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('warehouse.warehouseType')" prop="warehouseType">
<el-select v-model="queryParams.warehouseType" :placeholder="$t('warehouse.placeholderWarehouseType')" clearable>
<el-option
v-for="dict in dict.type.warehouse_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item
<el-form-item> <el-form-item>
<!-- 【查询】按钮 --> <!-- 【查询】按钮 -->
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('warehouse.search') }}</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('warehouse.search') }}</el-button>
@@ -152,7 +163,11 @@
<!-- 仓库级别 --> <!-- 仓库级别 -->
<el-table-column :label="$t('warehouse.warehouseKind')" align="center" prop="warehouseKind" /> <el-table-column :label="$t('warehouse.warehouseKind')" align="center" prop="warehouseKind" />
<!-- 仓库类型 --> <!-- 仓库类型 -->
<el-table-column :label="$t('warehouse.warehouseType')" align="center" prop="warehouseType" /> <el-table-column :label="$t('warehouse.warehouseType')" align="center" prop="warehouseType" >
<template slot-scope="scope">
<dict-tag :options="dict.type.warehouse_type" :value="scope.row.warehouseType"/>
</template>
</el-table-column>
<!-- 仓库是否可用 --> <!-- 仓库是否可用 -->
<el-table-column :label="$t('warehouse.isCurrent')" align="center" prop="isCurrent"> <el-table-column :label="$t('warehouse.isCurrent')" align="center" prop="isCurrent">
<template slot-scope="scope"> <template slot-scope="scope">
@@ -248,7 +263,7 @@ import { listWarehouse, getWarehouse, delWarehouse, addWarehouse, updateWarehous
export default { export default {
name: "Warehouse", name: "Warehouse",
dicts: ['sys_yes_no'], dicts: ['sys_yes_no','warehouse_type'],
data() { data() {
return { return {
// 遮罩层 // 遮罩层

View File

@@ -1,22 +1,23 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="分组选项"> <el-form-item :label="$t('searchStockSummary.groupOptions')">
<el-checkbox-group v-model="queryParams.groupFields" @change="handleQuery"> <el-checkbox-group v-model="queryParams.groupFields" @change="handleQuery">
<el-checkbox label="productId">物料编码</el-checkbox> <el-checkbox label="productId">{{$t('searchStockSummary.productId')}}</el-checkbox>
<el-checkbox label="productName">物料名称</el-checkbox> <el-checkbox label="productName">{{$t('searchStockSummary.productName')}}</el-checkbox>
<el-checkbox label="spec">规格</el-checkbox> <!-- <el-checkbox label="spec">{{$t('searchStockSummary.spec')}}</el-checkbox>-->
<el-checkbox label="unit">单位</el-checkbox> <el-checkbox label="unit">{{$t('searchStockSummary.unit')}}</el-checkbox>
<el-checkbox label="lotNo">批号</el-checkbox> <!-- <el-checkbox label="lotNo">{{$t('searchStockSummary.lotNo')}}</el-checkbox>-->
<el-checkbox label="warehouseId">仓库</el-checkbox> <el-checkbox label="warehouseId">{{$t('searchStockSummary.warehouseId')}}</el-checkbox>
<el-checkbox label="roadwayId">巷道</el-checkbox> <!-- <el-checkbox label="roadwayId">{{$t('searchStockSummary.roadwayId')}}</el-checkbox>-->
<el-checkbox label="price">价格</el-checkbox> <el-checkbox label="cargoSpaceId">{{$t('searchStockSummary.cargoSpace')}}</el-checkbox>
<el-checkbox label="spare1">英文名称</el-checkbox> <el-checkbox label="price">{{$t('basproduct1.price')}}</el-checkbox>
<el-checkbox label="spare2">单件净重</el-checkbox> <el-checkbox label="spare1">{{$t('basproduct1.englishName')}}</el-checkbox>
<el-checkbox label="spare5">长度</el-checkbox> <el-checkbox label="spare2">{{$t('basproduct1.netWeightPerUnit')}}</el-checkbox>
<el-checkbox label="spare6">宽度</el-checkbox> <el-checkbox label="spare5">{{$t('basproduct1.long')}}</el-checkbox>
<el-checkbox label="spare7">高度</el-checkbox> <el-checkbox label="spare6">{{$t('basproduct1.wide')}}</el-checkbox>
<el-checkbox label="spare8">体积</el-checkbox> <el-checkbox label="spare7">{{$t('basproduct1.tall')}}</el-checkbox>
<el-checkbox label="spare8">{{$t('basproduct1.volume')}}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<br> <br>
@@ -62,10 +63,10 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item :label="$t('searchStockSummary.roadwayId')" prop="roadwayId"> <!-- 巷道 --> <el-form-item :label="$t('searchStockSummary.cargoSpace')" prop="cargoSpaceId"> <!-- 巷道 -->
<el-input <el-input
v-model="queryParams.roadwayId" v-model="queryParams.cargoSpaceId"
:placeholder="$t('searchStockSummary.inputRoadwayId')" :placeholder="$t('searchStockSummary.inputCargoSpace')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
@@ -98,11 +99,11 @@
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column :label="$t('searchStockSummary.productId')" align="center" prop="productId" v-if="queryParams.groupFields.includes('productId')" /> <!-- 物料编码 --> <el-table-column :label="$t('searchStockSummary.productId')" align="center" prop="productId" v-if="queryParams.groupFields.includes('productId')" /> <!-- 物料编码 -->
<el-table-column :label="$t('searchStockSummary.productName')" align="center" prop="productName" v-if="queryParams.groupFields.includes('productName')" /> <!-- 物料名称 --> <el-table-column :label="$t('searchStockSummary.productName')" align="center" prop="productName" v-if="queryParams.groupFields.includes('productName')" /> <!-- 物料名称 -->
<el-table-column :label="$t('searchStockSummary.spec')" align="center" prop="spec" v-if="queryParams.groupFields.includes('spec')" /> <!-- 规格 --> <!-- <el-table-column :label="$t('searchStockSummary.spec')" align="center" prop="spec" v-if="queryParams.groupFields.includes('spec')" /> &lt;!&ndash; 规格 &ndash;&gt;-->
<el-table-column :label="$t('searchStockSummary.unit')" align="center" prop="unit" v-if="queryParams.groupFields.includes('unit')" /> <!-- 单位 --> <el-table-column :label="$t('searchStockSummary.unit')" align="center" prop="unit" v-if="queryParams.groupFields.includes('unit')" /> <!-- 单位 -->
<el-table-column :label="$t('searchStockSummary.lotNo')" align="center" prop="lotNo" v-if="queryParams.groupFields.includes('lotNo')" /> <!-- 批号 --> <!-- <el-table-column :label="$t('searchStockSummary.lotNo')" align="center" prop="lotNo" v-if="queryParams.groupFields.includes('lotNo')" /> &lt;!&ndash; 批号 &ndash;&gt;-->
<el-table-column :label="$t('searchStockSummary.warehouseId')" align="center" prop="warehouseId" v-if="queryParams.groupFields.includes('warehouseId')" /> <!-- 仓库 --> <el-table-column :label="$t('searchStockSummary.warehouseId')" align="center" prop="warehouseName" v-if="queryParams.groupFields.includes('warehouseId')" /> <!-- 仓库 -->
<el-table-column :label="$t('searchStockSummary.roadwayId')" align="center" prop="roadwayId" v-if="queryParams.groupFields.includes('roadwayId')" /> <!-- 巷道 --> <el-table-column :label="$t('searchStockSummary.cargoSpace')" align="center" prop="cargoSpaceName" v-if="queryParams.groupFields.includes('cargoSpaceId')" /> <!-- 货位 -->
<el-table-column :label="$t('searchStockSummary.quantity')" align="center" prop="quantity" /> <!-- 库存数量 --> <el-table-column :label="$t('searchStockSummary.quantity')" align="center" prop="quantity" /> <!-- 库存数量 -->
<el-table-column :label="$t('basproduct1.englishName')" align="center" prop="spare1" v-if="queryParams.groupFields.includes('spare1')" /><!-- 英文名称 --> <el-table-column :label="$t('basproduct1.englishName')" align="center" prop="spare1" v-if="queryParams.groupFields.includes('spare1')" /><!-- 英文名称 -->
<el-table-column :label="$t('basproduct1.netWeightPerUnit')" align="center" prop="spare2" v-if="queryParams.groupFields.includes('spare2')" /><!-- 单件净重 --> <el-table-column :label="$t('basproduct1.netWeightPerUnit')" align="center" prop="spare2" v-if="queryParams.groupFields.includes('spare2')" /><!-- 单件净重 -->
@@ -168,7 +169,7 @@ export default {
created() { created() {
// 初始化时全选分组选项 // 初始化时全选分组选项
this.queryParams.groupFields = [ this.queryParams.groupFields = [
'productId', 'productName', 'spec', 'unit', 'lotNo', 'warehouseId', 'roadwayId', 'productId', 'productName', 'spec', 'unit', 'lotNo', 'warehouseId', 'cargoSpaceId',
'price', 'spare1', 'spare2', 'spare5', 'spare6', 'spare7', 'spare8' 'price', 'spare1', 'spare2', 'spare5', 'spare6', 'spare7', 'spare8'
]; ];
this.getList(); this.getList();
@@ -217,7 +218,7 @@ export default {
this.resetForm("queryForm"); this.resetForm("queryForm");
// 重置时恢复全选状态 // 重置时恢复全选状态
this.queryParams.groupFields = [ this.queryParams.groupFields = [
'productId', 'productName', 'spec', 'unit', 'lotNo', 'warehouseId', 'roadwayId', 'productId', 'productName', 'spec', 'unit', 'lotNo', 'warehouseId', 'cargoSpaceId',
'price', 'spare1', 'spare2', 'spare5', 'spare6', 'spare7', 'spare8' 'price', 'spare1', 'spare2', 'spare5', 'spare6', 'spare7', 'spare8'
]; ];
this.handleQuery(); this.handleQuery();

View File

@@ -163,6 +163,27 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item :label="$t('stockManagement.productStatus')" prop="productStatus"><!-- 物料状态 -->
<el-select v-model="queryParams.productStatus" :placeholder="$t('stockManagement.selectProductStatus')" clearable>
<el-option
v-for="dict in dict.type.product_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('stockManagement.stockStatus')" prop="stockStatus"><!-- 库存状态 -->
<el-select v-model="queryParams.stockStatus" :placeholder="$t('stockManagement.stockStatus')" clearable>
<el-option
v-for="dict in dict.type.stock_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{$t('searchViewStockDetail.search')}} <!-- 搜索 --></el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{$t('searchViewStockDetail.search')}} <!-- 搜索 --></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{$t('searchViewStockDetail.reset')}} <!-- 重置 --></el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{$t('searchViewStockDetail.reset')}} <!-- 重置 --></el-button>
@@ -223,18 +244,36 @@
<el-table-column :label="$t('searchViewStockDetail.trayCode')" align="center" prop="trayCode" /> <el-table-column :label="$t('searchViewStockDetail.trayCode')" align="center" prop="trayCode" />
<el-table-column :label="$t('searchViewStockDetail.quantity')" align="center" prop="quantity" /> <el-table-column :label="$t('searchViewStockDetail.quantity')" align="center" prop="quantity" />
<el-table-column :label="$t('searchViewStockDetail.jobId')" align="center" prop="jobId" /> <el-table-column :label="$t('searchViewStockDetail.jobId')" align="center" prop="jobId" />
<el-table-column :label="$t('searchViewStockDetail.lotNo')" align="center" prop="lotNo" /> <!-- <el-table-column :label="$t('searchViewStockDetail.lotNo')" align="center" prop="lotNo" />-->
<el-table-column :label="$t('searchViewStockDetail.stockinDetailId')" align="center" prop="stockinDetailId" /> <el-table-column :label="$t('searchViewStockDetail.stockinDetailId')" align="center" prop="stockinDetailId" />
<el-table-column :label="$t('searchViewStockDetail.inDate')" align="center" prop="inDate" /> <el-table-column :label="$t('searchViewStockDetail.inDate')" align="center" prop="inDate" />
<el-table-column :label="$t('searchViewStockDetail.warehouseId')" align="center" prop="warehouseId" /> <el-table-column :label="$t('searchViewStockDetail.warehouseId')" align="center" prop="warehouseName" />
<el-table-column :label="$t('searchViewStockDetail.stackingId')" align="center" prop="stackingId" /> <!-- <el-table-column :label="$t('searchViewStockDetail.stackingId')" align="center" prop="stackingId" />-->
<el-table-column :label="$t('searchViewStockDetail.cargoSpaceName')" align="center" prop="cargoSpaceName" /> <el-table-column :label="$t('searchViewStockDetail.cargoSpaceName')" align="center" prop="cargoSpaceName" />
<el-table-column :label="$t('searchViewStockDetail.roadwayId')" align="center" prop="roadwayId" /> <el-table-column :label="$t('searchViewStockDetail.roadwayId')" align="center" prop="roadwayId" />
<el-table-column :label="$t('searchViewStockDetail.cargoSpaceStatus')" align="center" prop="cargoSpaceStatus" /> <el-table-column :label="$t('searchViewStockDetail.cargoSpaceStatus')" align="center" prop="cargoSpaceStatus" >
<el-table-column :label="$t('searchViewStockDetail.locked')" align="center" prop="locked" /> <template slot-scope="scope">
<dict-tag :options="dict.type.cargo_space_status" :value="scope.row.cargoSpaceStatus"/>
</template>
</el-table-column>
<el-table-column :label="$t('searchViewStockDetail.stockStatus')" align="center" prop="stockStatus" >
<template slot-scope="scope">
<dict-tag :options="dict.type.stock_status" :value="scope.row.stockStatus"/>
</template>
</el-table-column>
<el-table-column :label="$t('searchViewStockDetail.productStatus')" align="center" prop="productStatus" >
<template slot-scope="scope">
<dict-tag :options="dict.type.product_status" :value="scope.row.productStatus"/>
</template>
</el-table-column>
<el-table-column :label="$t('searchViewStockDetail.locked')" align="center" prop="locked" >
<template slot-scope="scope">
<dict-tag :options="dict.type.cargo_space_lock_status" :value="scope.row.locked"/>
</template>
</el-table-column>
<el-table-column :label="$t('searchViewStockDetail.productId')" align="center" prop="productId" /> <el-table-column :label="$t('searchViewStockDetail.productId')" align="center" prop="productId" />
<el-table-column :label="$t('searchViewStockDetail.productName')" align="center" prop="productName" /> <el-table-column :label="$t('searchViewStockDetail.productName')" align="center" prop="productName" />
<el-table-column :label="$t('searchViewStockDetail.spec')" align="center" prop="spec" /> <!-- <el-table-column :label="$t('searchViewStockDetail.spec')" align="center" prop="spec" />-->
<el-table-column :label="$t('searchViewStockDetail.unit')" align="center" prop="unit" /> <el-table-column :label="$t('searchViewStockDetail.unit')" align="center" prop="unit" />
<el-table-column :label="$t('basproduct1.englishName')" align="center" prop="spare1" /><!-- 英文名称 --> <el-table-column :label="$t('basproduct1.englishName')" align="center" prop="spare1" /><!-- 英文名称 -->
<el-table-column :label="$t('basproduct1.netWeightPerUnit')" align="center" prop="spare2" /><!-- 单件净重 --> <el-table-column :label="$t('basproduct1.netWeightPerUnit')" align="center" prop="spare2" /><!-- 单件净重 -->
@@ -347,6 +386,7 @@ import { listWarehouse } from "@/api/bas/warehouse"
export default { export default {
name: "ViewStockDetail", name: "ViewStockDetail",
dicts: ['product_status', 'stock_status','cargo_space_status','cargo_space_lock_status'],
data() { data() {
return { return {
// 遮罩层 // 遮罩层