新增盘点单据

This commit is contained in:
猫猫guowen
2025-09-16 15:33:24 +08:00
parent 05335db3fe
commit edf879a5ad
5 changed files with 157 additions and 398 deletions

View File

@@ -88,7 +88,7 @@ public class CheckStockinDetail extends BaseEntity
private String customerId;
/** 单位 */
@Excel(name = "单位")
@Excel(name = "机型")
private String unit;
/** 规格 */
@@ -107,39 +107,46 @@ public class CheckStockinDetail extends BaseEntity
@Excel(name = "扫码数量(件)")
private String scanNumJ;
/** 备用字段1 */
@Excel(name = "备用字段1")
/** 型号 */
@Excel(name = "型号")
private String spare1;
/** 备用字段2 */
@Excel(name = "备用字段2")
/** 净重 */
@Excel(name = "净重")
private String spare2;
/** 备用字段3 */
@Excel(name = "备用字段3")
/** 颜色 */
@Excel(name = "颜色")
private String spare3;
/** 备用字段4 */
@Excel(name = "备用字段4")
/** 序列号 */
@Excel(name = "序列号")
private String spare4;
/** 备用字段5 */
@Excel(name = "备用字段5")
/** 电压 */
@Excel(name = "电压")
private String spare5;
/** 备用字段6 */
@Excel(name = "备用字段6")
/** 功率 */
@Excel(name = "功率")
private String spare6;
@Excel(name = "备用字段7")
/** 货位ID */
private String cargoSpaceId;
/** 相位 */
@Excel(name = "相位")
private String spare7;
@Excel(name = "备用字段8")
/** 毛重 */
@Excel(name = "毛重")
private String spare8;
@Excel(name = "备用字段9")
/** 分销 */
@Excel(name = "分销")
private String spare9;
private String productName;
private String status;
@@ -468,6 +475,16 @@ public class CheckStockinDetail extends BaseEntity
return spare6;
}
public String getCargoSpaceId()
{
return cargoSpaceId;
}
public void setCargoSpaceId(String cargoSpaceId)
{
this.cargoSpaceId = cargoSpaceId;
}
public String getSpare7() {
return spare7;
}

View File

@@ -4,6 +4,10 @@ import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excels;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.domain.ExtraField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.ai.tool.annotation.ToolParam;
@@ -16,6 +20,10 @@ import java.util.List;
* @author ruoyi
* @date 2025-05-24
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class BasStock extends BaseEntity
{
private static final long serialVersionUID = 1L;
@@ -90,6 +98,15 @@ public class BasStock extends BaseEntity
// @Excel(name = "${stock.BasStock.volume}")
private String spare8;
private String voltage;
private String power;
private String phase;
private String netWeight;
private String grossWeight;
private String distribution;
private String model;
private String orderId;
/** 库存数量 */
@Excel(name = "${stock.BasStock.quantity}")
private String quantity;
@@ -166,362 +183,5 @@ public class BasStock extends BaseEntity
private List<String> typeData;
public String getSpare7() {
return spare7;
}
public void setSpare7(String spare7) {
this.spare7 = spare7;
}
public String getSpare8() {
return spare8;
}
public void setSpare8(String spare8) {
this.spare8 = spare8;
}
public List<String> getTypeData() {
return typeData;
}
public void setTypeData(List<String> typeData) {
this.typeData = typeData;
}
public String getProductId() {
return productId;
}
public void setProductId(String productId) {
this.productId = productId;
}
public void setMaterialDesc(String materialDesc) {
this.materialDesc = materialDesc;
}
public String getMaterialDesc() {
return materialDesc;
}
public String getCargoSpaceStockStatus() {
return cargoSpaceStockStatus;
}
public void setCargoSpaceStockStatus(String cargoSpaceStockStatus) {
this.cargoSpaceStockStatus = cargoSpaceStockStatus;
}
public String getCargoSpaceName() {
return cargoSpaceName;
}
public void setCargoSpaceName(String cargoSpaceName) {
this.cargoSpaceName = cargoSpaceName;
}
public String getCargoSpaceStatus() {
return cargoSpaceStatus;
}
public void setCargoSpaceStatus(String cargoSpaceStatus) {
this.cargoSpaceStatus = cargoSpaceStatus;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getWarehouseName() {
return warehouseName;
}
public void setWarehouseName(String warehouseName) {
this.warehouseName = warehouseName;
}
public ExtraField getExtraField() {
return extraField;
}
public void setExtraField(ExtraField extraField) {
this.extraField = extraField;
}
public void setStockId(String stockId)
{
this.stockId = stockId;
}
public String getStockId()
{
return stockId;
}
public void setCargoSpaceId(String cargoSpaceId)
{
this.cargoSpaceId = cargoSpaceId;
}
public String getCargoSpaceId()
{
return cargoSpaceId;
}
public void setStockStatus(String stockStatus)
{
this.stockStatus = stockStatus;
}
public String getStockStatus()
{
return stockStatus;
}
public void setProductStatus(String productStatus)
{
this.productStatus = productStatus;
}
public String getProductStatus()
{
return productStatus;
}
public void setLotNo(String lotNo)
{
this.lotNo = lotNo;
}
public String getLotNo()
{
return lotNo;
}
public void setInDate(String inDate)
{
this.inDate = inDate;
}
public String getInDate()
{
return inDate;
}
public void setBackDate(String backDate)
{
this.backDate = backDate;
}
public String getBackDate()
{
return backDate;
}
public void setProductGuid(String productGuid)
{
this.productGuid = productGuid;
}
public String getProductGuid()
{
return productGuid;
}
public void setQuantity(String quantity)
{
this.quantity = quantity;
}
public String getQuantity()
{
return quantity;
}
public void setJobId(String jobId)
{
this.jobId = jobId;
}
public String getJobId()
{
return jobId;
}
public void setTrayCode(String trayCode)
{
this.trayCode = trayCode;
}
public String getTrayCode()
{
return trayCode;
}
public void setOutQuantity(String outQuantity)
{
this.outQuantity = outQuantity;
}
public String getOutQuantity()
{
return outQuantity;
}
public void setStockinDetailId(String stockinDetailId)
{
this.stockinDetailId = stockinDetailId;
}
public String getStockinDetailId()
{
return stockinDetailId;
}
public void setStockinId(String stockinId)
{
this.stockinId = stockinId;
}
public String getStockinId()
{
return stockinId;
}
public void setInType(String inType)
{
this.inType = inType;
}
public String getInType()
{
return inType;
}
public void setInClassId(String inClassId)
{
this.inClassId = inClassId;
}
public String getInClassId()
{
return inClassId;
}
public void setWarehouseId(String warehouseId)
{
this.warehouseId = warehouseId;
}
public String getWarehouseId()
{
return warehouseId;
}
public void setStackingId(String stackingId)
{
this.stackingId = stackingId;
}
public String getStackingId()
{
return stackingId;
}
public void setSpare1(String spare1)
{
this.spare1 = spare1;
}
public String getSpare1()
{
return spare1;
}
public void setSpare2(String spare2)
{
this.spare2 = spare2;
}
public String getSpare2()
{
return spare2;
}
public void setSpare3(String spare3)
{
this.spare3 = spare3;
}
public String getSpare3()
{
return spare3;
}
public void setSpare4(String spare4)
{
this.spare4 = spare4;
}
public String getSpare4()
{
return spare4;
}
public void setSpare5(String spare5)
{
this.spare5 = spare5;
}
public String getSpare5()
{
return spare5;
}
public void setSpare6(String spare6)
{
this.spare6 = spare6;
}
public String getSpare6()
{
return spare6;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("stockId", getStockId())
.append("cargoSpaceId", getCargoSpaceId())
.append("stockStatus", getStockStatus())
.append("productStatus", getProductStatus())
.append("lotNo", getLotNo())
.append("inDate", getInDate())
.append("backDate", getBackDate())
.append("productGuid", getProductGuid())
.append("quantity", getQuantity())
.append("jobId", getJobId())
.append("trayCode", getTrayCode())
.append("outQuantity", getOutQuantity())
.append("stockinDetailId", getStockinDetailId())
.append("stockinId", getStockinId())
.append("inType", getInType())
.append("inClassId", getInClassId())
.append("warehouseId", getWarehouseId())
.append("stackingId", getStackingId())
.append("spare1", getSpare1())
.append("spare2", getSpare2())
.append("spare3", getSpare3())
.append("spare4", getSpare4())
.append("spare5", getSpare5())
.append("spare6", getSpare6())
.toString();
}
}

View File

@@ -130,6 +130,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="spare4 != null">spare4,</if>
<if test="spare5 != null">spare5,</if>
<if test="spare6 != null">spare6,</if>
<if test="cargoSpaceId != null">cargo_space_id,</if>
<if test="spare7 != null">spare7,</if>
<if test="spare8 != null">spare8,</if>
<if test="spare9 != null">spare9,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="stockCheckDetailId != null">#{stockCheckDetailId},</if>
@@ -162,6 +166,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="spare4 != null">#{spare4},</if>
<if test="spare5 != null">#{spare5},</if>
<if test="spare6 != null">#{spare6},</if>
<if test="cargoSpaceId != null">#{cargoSpaceId},</if>
<if test="spare7 != null">#{spare7},</if>
<if test="spare8 != null">#{spare8},</if>
<if test="spare9 != null">#{spare9},</if>
</trim>
</insert>
<insert id="insertCheckStockinDetailHistory">

View File

@@ -29,11 +29,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="spare4" column="spare4" />
<result property="spare5" column="spare5" />
<result property="spare6" column="spare6" />
<result property="voltage" column="voltage" />
<result property="power" column="power" />
<result property="phase" column="phase" />
<result property="netWeight" column="net_weight" />
<result property="grossWeight" column="gross_weight" />
<result property="distribution" column="distribution" />
<result property="model" column="model" />
<result property="orderId" column="order_id" />
<result property="cargoSpaceStatus" column="locked" />
<result property="cargoSpaceStockStatus" column="cargoSpaceStockStatus" />
<result property="warehouseName" column="warehouse_name" />
<result property="cargoSpaceName" column="cargo_space_name" />
<result property="productId" column="product_id" />
<result property="productName" column="product_name" />
<association property="extraField" javaType="ExtraField">
<result property="productId" column="product_id" />
<result property="materialDesc" column="product_name" />
@@ -50,7 +59,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select bs.stock_id, bs.cargo_space_id, bs.stock_status, bs.product_status, bs.lot_no, bs.in_date,
bs.back_date, bs.product_guid, bs.quantity, bs.job_id, bs.tray_code, bs.out_quantity,
bs.stockin_detail_id, bs.stockin_id, bs.in_type, bs.in_class_id, bs.warehouse_id, bs.stacking_id,
bs.spare1, bs.spare2, bs.spare3, bs.spare4, bs.spare5, bs.spare6 ,bp.product_name,bp.spare1 as englishDesc,
bs.spare1, bs.spare2, bs.spare3, bs.spare4, bs.spare5, bs.spare6 ,
bs.voltage,bs.power,bs.phase,bs.net_weight,bs.gross_weight,bs.distribution,bs.model,bs.order_id,
bs.product_name,bp.spare1 as englishDesc,
bp.spare2 as netWeight,bp.spare5 as length,bp.spare6 as width,bp.spare7 as height,bp.spare8 as volume,bw.warehouse_name,bs.product_id,
bcs.locked,bcs.cargo_space_name,bcs.status as cargoSpaceStockStatus
from bas_stock bs
@@ -70,7 +81,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="inDate != null and inDate != ''"> and bs.in_date like concat('%', #{inDate}, '%')</if>
<if test="backDate != null and backDate != ''"> and bs.back_date = #{backDate}</if>
<if test="productGuid != null and productGuid != ''"> and bs.product_guid = #{productGuid}</if>
<if test="productName != null and productName != ''"> and bp.product_name = #{productName}</if>
<if test="productName != null and productName != ''"> and bs.product_name = #{productName}</if>
<if test="quantity != null and quantity != ''"> and bs.quantity = #{quantity}</if>
<if test="jobId != null and jobId != ''"> and bs.job_id = #{jobId}</if>
<if test="trayCode != null and trayCode != ''"> and bs.tray_code = #{trayCode}</if>
@@ -87,6 +98,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="spare4 != null and spare4 != ''"> and bs.spare4 = #{spare4}</if>
<if test="spare5 != null and spare5 != ''"> and bs.spare5 = #{spare5}</if>
<if test="spare6 != null and spare6 != ''"> and bs.spare6 = #{spare6}</if>
<if test="voltage != null and voltage != ''"> and bs.voltage = #{voltage}</if>
<if test="power != null and power != ''"> and bs.power = #{power}</if>
<if test="phase != null and phase != ''"> and bs.phase = #{phase}</if>
<if test="netWeight != null and netWeight != ''"> and bs.net_weight = #{netWeight}</if>
<if test="grossWeight != null and grossWeight != ''"> and bs.gross_weight = #{grossWeight}</if>
<if test="distribution != null and distribution != ''"> and bs.distribution = #{distribution}</if>
<if test="model != null and model != ''"> and bs.model = #{model}</if>
<if test="orderId != null and orderId != ''"> and bs.order_id = #{orderId}</if>
<if test="productId != null and productId != ''"> and bs.product_id = #{productId}</if>
<if test="cargoSpaceStockStatus != null and cargoSpaceStockStatus != ''"> and bcs.status = #{cargoSpaceStockStatus}</if>
<if test="typeData != null and typeData.size()>0">

View File

@@ -2,16 +2,16 @@
<div class="app-container">
<!-- 主表信息录入 -->
<el-form :model="formData" ref="formRef" size="small" :inline="true" label-width="68px" :rules="rules">
<el-form-item label="仓库" prop="warehouseId" required>
<el-select v-model="formData.warehouseId" placeholder="请选择仓库" clearable>
<el-option
v-for="dict in warehouseOptions"
:key="dict.warehouseId"
:label="dict.warehouseName"
:value="dict.warehouseId"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="仓库" prop="warehouseId" required>-->
<!-- <el-select v-model="formData.warehouseId" placeholder="请选择仓库" clearable>-->
<!-- <el-option-->
<!-- v-for="dict in warehouseOptions"-->
<!-- :key="dict.warehouseId"-->
<!-- :label="dict.warehouseName"-->
<!-- :value="dict.warehouseId"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="单据类型" prop="checkType" required>
<el-select v-model="formData.checkType" placeholder="请选择单据类型" clearable @change="handleCheckTypeChange">
<el-option
@@ -88,6 +88,19 @@
<el-table-column label="数量" align="right" prop="quantity" />
<el-table-column label="批号" align="left" prop="lotNo" />
<el-table-column label="仓库" align="left" prop="warehouseName" />
<el-table-column label="规格" align="left" prop="spare1" />
<el-table-column label="单位" align="left" prop="spare3" />
<el-table-column label="型号" align="left" prop="spare4" />
<el-table-column label="颜色" align="left" prop="spare5" />
<el-table-column label="序列号" align="left" prop="spare6" />
<el-table-column label="电压" align="left" prop="voltage" />
<el-table-column label="功率" align="left" prop="power" />
<el-table-column label="相位" align="left" prop="phase" />
<el-table-column label="净重" align="left" prop="netWeight" />
<el-table-column label="毛重" align="left" prop="grossWeight" />
<el-table-column label="分销" align="left" prop="distribution" />
<el-table-column label="机型" align="left" prop="model" />
<el-table-column label="订单号" align="left" prop="orderId" />
</el-table>
<pagination
@@ -163,8 +176,23 @@
>
<el-table :data="trayDetailList">
<el-table-column label="物资编号" align="left" prop="extraField.productId" />
<el-table-column label="物资名称" align="left" prop="extraField.materialDesc" />
<el-table-column label="物资名称" align="left" prop="productName" />
<el-table-column label="数量" align="right" prop="quantity" />
<el-table-column label="批号" align="left" prop="lotNo" />
<el-table-column label="仓库" align="left" prop="warehouseName" />
<el-table-column label="规格" align="left" prop="spare1" />
<el-table-column label="单位" align="left" prop="spare3" />
<el-table-column label="型号" align="left" prop="spare4" />
<el-table-column label="颜色" align="left" prop="spare5" />
<el-table-column label="序列号" align="left" prop="spare6" />
<el-table-column label="电压" align="left" prop="voltage" />
<el-table-column label="功率" align="left" prop="power" />
<el-table-column label="相位" align="left" prop="phase" />
<el-table-column label="净重" align="left" prop="netWeight" />
<el-table-column label="毛重" align="left" prop="grossWeight" />
<el-table-column label="分销" align="left" prop="distribution" />
<el-table-column label="机型" align="left" prop="model" />
<el-table-column label="订单号" align="left" prop="orderId" />
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click="trayDetailVisible = false">关闭</el-button>
@@ -212,7 +240,7 @@
},
// 主表数据
formData: {
warehouseId: null,
warehouseId: "01",
customerNo: null,
checkType: null
},
@@ -275,10 +303,10 @@
},
/** 打开选择物资弹窗 */
handleSelectMaterials() {
if (!this.formData.warehouseId) {
this.$modal.msgError('请选择仓库');
return;
}
// if (!this.formData.warehouseId) {
// this.$modal.msgError('请选择仓库');
// return;
// }
if (!this.formData.checkType){
this.$modal.msgError('请选择单据类型');
return;
@@ -286,12 +314,12 @@
if (this.formData.checkType==='1'){
this.materialDialogByProduct = true;
// 设置查询参数中的仓库ID为主表选择的仓库
this.queryParams.warehouseId = this.formData.warehouseId;
this.queryParams.warehouseId = "01";
this.getMaterialList();
}else if (this.formData.checkType==='2'){
this.materialDialogByTrayCode = true;
// 设置查询参数中的仓库ID为主表选择的仓库
this.queryParams.warehouseId = this.formData.warehouseId;
this.queryParams.warehouseId = "01";
this.getMaterialByTrayCodeList();
}
},
@@ -310,7 +338,7 @@
getMaterialByTrayCodeList(){
this.trayLoading = true;
if (this.formData.checkType==='2'){
this.trayQueryParams.warehouseId = this.formData.warehouseId;
this.trayQueryParams.warehouseId = "01";
this.trayQueryParams.status = 2;
listCargoSpace(this.trayQueryParams).then(response => {
this.trayOptions = response.rows;
@@ -377,7 +405,20 @@
warehouseId: item.warehouseId,
warehouseName: item.warehouseName,
cargoSpaceId: item.cargoSpaceId,
cargoSpaceName: item.cargoSpaceName
cargoSpaceName: item.cargoSpaceName,
spec: item.spare1,
// spare3: item.spare3,
spare1: item.spare4,
spare3: item.spare5,
spare4: item.spare6,
spare5: item.voltage,
spare6: item.power,
spare7: item.phase,
spare2: item.netWeight,
spare8: item.grossWeight,
spare9: item.distribution,
unit: item.model,
// orderId: item.orderId
}))
);
this.materialDialogByProduct = false;
@@ -404,8 +445,21 @@
trayCode: item.trayCode,
warehouseId: item.warehouseId,
warehouseName: item.warehouseName,
spare1: item.cargoSpaceId,
cargoSpaceName: item.cargoSpaceName
cargoSpaceId: item.cargoSpaceId,
cargoSpaceName: item.cargoSpaceName,
spec: item.spare1,
// spare3: item.spare3,
spare1: item.spare4,
spare3: item.spare5,
spare4: item.spare6,
spare5: item.voltage,
spare6: item.power,
spare7: item.phase,
spare2: item.netWeight,
spare8: item.grossWeight,
spare9: item.distribution,
unit: item.model,
// orderId: item.orderId
}))
);
this.materialDialogByTrayCode = false;
@@ -465,9 +519,10 @@
checkStockin: this.formData,
detailList: this.materialList
};
console.log(data)
// 这里需要调用保存接口
saveCheckStock(data).then(response => {
console.log(response)
this.$modal.msgSuccess('保存成功:' + response.msg);
this.$tab.refreshPage(this.$route);
// this.reset();