平库盘点页面,盘点差异页面展示

This commit is contained in:
liuhanqing
2025-06-30 16:42:43 +08:00
parent ace9f89b3f
commit 1804b7c34b
8 changed files with 113 additions and 25 deletions

View File

@@ -1,5 +1,6 @@
package com.ruoyi.check.difference.domain; package com.ruoyi.check.difference.domain;
import com.ruoyi.common.domain.ExtraField;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
@@ -33,6 +34,8 @@ public class CheckDifferenceRecord extends BaseEntity
/** 货位id */ /** 货位id */
@Excel(name = "货位id") @Excel(name = "货位id")
private String cargoSpaceId; private String cargoSpaceId;
@Excel(name = "货位")
private String cargoSpaceName;
/** 物料id */ /** 物料id */
@Excel(name = "物料id") @Excel(name = "物料id")
@@ -77,6 +80,21 @@ public class CheckDifferenceRecord extends BaseEntity
@Excel(name = "仓库名称") @Excel(name = "仓库名称")
private String warehouseName; private String warehouseName;
private ExtraField extraField;
public String getCargoSpaceName() {
return cargoSpaceName;
}
public void setCargoSpaceName(String cargoSpaceName) {
this.cargoSpaceName = cargoSpaceName;
}
public ExtraField getExtraField() {
return extraField;
}
public void setExtraField(ExtraField extraField) {
this.extraField = extraField;
}
public String getWarehouseId() { public String getWarehouseId() {
return warehouseId; return warehouseId;

View File

@@ -74,7 +74,11 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS
} }
basStock.setProductStatus("2"); basStock.setProductStatus("2");
basStockService.updateBasStock(basStock); basStockService.updateBasStock(basStock);
checkDifferenceRecord.setCargoSpaceId(basStock.getCargoSpaceId());
checkDifferenceRecord.setOldQuantity(basStock.getQuantity()); checkDifferenceRecord.setOldQuantity(basStock.getQuantity());
checkDifferenceRecord.setTrayCode(basStock.getTrayCode());
checkDifferenceRecord.setProductId(basStock.getProductId());
checkDifferenceRecord.setWarehouseId(basStock.getWarehouseId());
}else if (checkDifferenceRecord.getRecordType()==2){ }else if (checkDifferenceRecord.getRecordType()==2){
//判断该物料是否已经存在 //判断该物料是否已经存在
BasStock queryStock = new BasStock(); BasStock queryStock = new BasStock();
@@ -100,6 +104,11 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS
basStock.setProductStatus("2"); basStock.setProductStatus("2");
basStockService.updateBasStock(basStock); basStockService.updateBasStock(basStock);
checkDifferenceRecord.setNewQuantity("0"); checkDifferenceRecord.setNewQuantity("0");
checkDifferenceRecord.setCargoSpaceId(basStock.getCargoSpaceId());
checkDifferenceRecord.setTrayCode(basStock.getTrayCode());
checkDifferenceRecord.setProductId(basStock.getProductId());
checkDifferenceRecord.setWarehouseId(basStock.getWarehouseId());
checkDifferenceRecord.setOldQuantity(basStock.getQuantity());
} }
checkDifferenceRecord.setCreateTime(new Date()); checkDifferenceRecord.setCreateTime(new Date());
checkDifferenceRecord.setCheckGuid(IdUtil.fastSimpleUUID()); checkDifferenceRecord.setCheckGuid(IdUtil.fastSimpleUUID());
@@ -129,6 +138,15 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS
@Override @Override
public int deleteCheckDifferenceRecordByCheckGuids(String[] checkGuids) public int deleteCheckDifferenceRecordByCheckGuids(String[] checkGuids)
{ {
for (String checkGuid : checkGuids) {
CheckDifferenceRecord checkDifferenceRecord = checkDifferenceRecordMapper.selectCheckDifferenceRecordByCheckGuid(checkGuid);
if (checkDifferenceRecord.getRecordType() == 3 || checkDifferenceRecord.getRecordType() == 1){
//如果是删除和修改的数据,则需要更新库存状态
BasStock basStock = basStockService.selectBasStockByStockId(checkDifferenceRecord.getStockId());
basStock.setProductStatus("1");
basStockService.updateBasStock(basStock);
}
}
return checkDifferenceRecordMapper.deleteCheckDifferenceRecordByCheckGuids(checkGuids); return checkDifferenceRecordMapper.deleteCheckDifferenceRecordByCheckGuids(checkGuids);
} }

View File

@@ -10,6 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="stockId" column="stock_id" /> <result property="stockId" column="stock_id" />
<result property="trayCode" column="tray_code" /> <result property="trayCode" column="tray_code" />
<result property="cargoSpaceId" column="cargo_space_id" /> <result property="cargoSpaceId" column="cargo_space_id" />
<result property="cargoSpaceName" column="cargo_space_name" />
<result property="productId" column="product_id" /> <result property="productId" column="product_id" />
<result property="lotNo" column="lot_no" /> <result property="lotNo" column="lot_no" />
<result property="supplier" column="supplier" /> <result property="supplier" column="supplier" />
@@ -22,15 +23,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="status" column="status" /> <result property="status" column="status" />
<result property="warehouseId" column="warehouse_id" /> <result property="warehouseId" column="warehouse_id" />
<result property="warehouseName" column="warehouse_name" /> <result property="warehouseName" column="warehouse_name" />
<association property="extraField" javaType="ExtraField">
<result property="productId" column="product_id" />
<result property="materialDesc" column="product_name" />
<result property="englishDesc" column="englishDesc" />
<result property="length" column="length" />
<result property="width" column="width" />
<result property="height" column="height" />
<result property="volume" column="volume" />
<result property="netWeight" column="netWeight" />
</association>
</resultMap> </resultMap>
<sql id="selectCheckDifferenceRecordVo"> <sql id="selectCheckDifferenceRecordVo">
select r.check_guid, r.check_stock_detail_id, r.stock_id, r.tray_code, r.cargo_space_id, select r.check_guid, r.check_stock_detail_id, r.stock_id, r.tray_code, r.cargo_space_id,
r.product_id, r.lot_no, r.supplier, r.customer, r.old_quantity, r.new_quantity, r.product_id, r.lot_no, r.supplier, r.customer, r.old_quantity, r.new_quantity,
r.record_type, r.create_time, r.product_guid, r.status, r.warehouse_id, r.record_type, r.create_time, r.product_guid, r.status, r.warehouse_id,
w.warehouse_name w.warehouse_name,bp.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,
bcs.cargo_space_name
from check_difference_record r from check_difference_record r
left join bas_warehouse w on r.warehouse_id = w.warehouse_id left join bas_warehouse w on r.warehouse_id = w.warehouse_id
left join bas_product bp on r.product_id = bp.product_id
left join bas_cargo_space bcs on r.cargo_space_id = bcs.cargo_space_id
</sql> </sql>
<select id="selectCheckDifferenceRecordList" parameterType="CheckDifferenceRecord" resultMap="CheckDifferenceRecordResult"> <select id="selectCheckDifferenceRecordList" parameterType="CheckDifferenceRecord" resultMap="CheckDifferenceRecordResult">

View File

@@ -33,6 +33,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="cargoSpaceStockStatus" column="cargoSpaceStockStatus" /> <result property="cargoSpaceStockStatus" column="cargoSpaceStockStatus" />
<result property="warehouseName" column="warehouse_name" /> <result property="warehouseName" column="warehouse_name" />
<result property="cargoSpaceName" column="cargo_space_name" /> <result property="cargoSpaceName" column="cargo_space_name" />
<result property="productId" column="product_id" />
<association property="extraField" javaType="ExtraField"> <association property="extraField" javaType="ExtraField">
<result property="productId" column="product_id" /> <result property="productId" column="product_id" />
<result property="materialDesc" column="product_name" /> <result property="materialDesc" column="product_name" />

View File

@@ -622,7 +622,8 @@ export default {
inputCustomer: 'Please enter customer', inputCustomer: 'Please enter customer',
inputOldQuantity: 'Please enter original value', inputOldQuantity: 'Please enter original value',
inputNewQuantity: 'Please enter new value', inputNewQuantity: 'Please enter new value',
inputProductGuid: 'Please enter product GUID' inputProductGuid: 'Please enter product GUID',
inputRecordType:'Please select RecordType'
}, },
// ********************库存信息************* // ********************库存信息*************
stockManagement: { stockManagement: {
@@ -688,7 +689,8 @@ export default {
volume:'volume', volume:'volume',
cargoSpaceStatus: 'cargoSpaceStatus', cargoSpaceStatus: 'cargoSpaceStatus',
cargoSpaceStockStatus: 'cargoSpaceStockStatus', cargoSpaceStockStatus: 'cargoSpaceStockStatus',
inputMaterialDesc: 'inputMaterialDesc' inputMaterialDesc: 'inputMaterialDesc',
deleteConfirm:"deleteStock"
}, },

View File

@@ -584,7 +584,7 @@ export default {
productGuid: '物料guid', productGuid: '物料guid',
operation: '操作', operation: '操作',
edit: '修改', edit: '修改',
delete: '删除', delete: '审核未通过',
search: '搜索', search: '搜索',
reset: '重置', reset: '重置',
confirm: '确定', confirm: '确定',
@@ -599,7 +599,8 @@ export default {
inputCustomer: '请输入客户', inputCustomer: '请输入客户',
inputOldQuantity: '请输入原值', inputOldQuantity: '请输入原值',
inputNewQuantity: '请输入新值', inputNewQuantity: '请输入新值',
inputProductGuid: '请输入物料guid' inputProductGuid: '请输入物料guid',
inputRecordType:'请选择操作方式'
}, },
// ********************库存信息************* // ********************库存信息*************
stockManagement: { stockManagement: {
@@ -667,8 +668,8 @@ export default {
volume:'体积', volume:'体积',
productId:'物料编码', productId:'物料编码',
cargoSpaceStatus: '锁定状态', cargoSpaceStatus: '锁定状态',
cargoSpaceStockStatus: '货位状态' cargoSpaceStockStatus: '货位状态',
deleteConfirm:"删除库存"
}, },

View File

@@ -41,14 +41,14 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item :label="$t('checkDifference.lotNo')" prop="lotNo"> <!-- 批次号 --> <!-- <el-form-item :label="$t('checkDifference.lotNo')" prop="lotNo"> &lt;!&ndash; 批次号 &ndash;&gt;
<el-input <el-input
v-model="queryParams.lotNo" v-model="queryParams.lotNo"
:placeholder="$t('checkDifference.inputLotNo')" :placeholder="$t('checkDifference.inputLotNo')"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>-->
<!-- <el-form-item label="供应商" prop="supplier"> <!-- <el-form-item label="供应商" prop="supplier">
<el-input <el-input
v-model="queryParams.supplier" v-model="queryParams.supplier"
@@ -98,8 +98,22 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('checkDifference.status')" prop="status"> <!-- 审核状态 --> <el-form-item :label="$t('checkDifference.status')" prop="status"> <!-- 审核状态 -->
<el-select v-model="queryParams.status" :placeholder="$t('checkDifference.inputStatus')" clearable> <el-select v-model="queryParams.status" :placeholder="$t('checkDifference.inputStatus')" clearable>
<el-option :label="$t('checkDifference.unaudited')" value="0" /> <!-- 未审核 --> <el-option
<el-option :label="$t('checkDifference.audited')" value="1" /> <!-- 已审核 --> v-for="dict in dict.type.audit_diff_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('checkDifference.recordType')" prop="recordType"> <!-- 审核状态 -->
<el-select v-model="queryParams.recordType" :placeholder="$t('checkDifference.inputRecordType')" clearable>
<el-option
v-for="dict in dict.type.record_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item :label="$t('checkDifference.productGuid')" prop="productGuid"> 物料guid <!-- <el-form-item :label="$t('checkDifference.productGuid')" prop="productGuid"> 物料guid
@@ -128,28 +142,43 @@
v-hasPermi="['check:difference:audit']" v-hasPermi="['check:difference:audit']"
>{{$t('checkDifference.audit')}}</el-button> >{{$t('checkDifference.audit')}}</el-button>
</el-col> </el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple || queryParams.status === '1'"
@click="handleDelete"
v-hasPermi="['check:difference:delete']"
>{{$t('checkDifference.delete')}}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="differenceList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="differenceList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column :label="$t('checkDifference.checkGuid')" align="center" prop="checkGuid" /> &lt;!&ndash; 盘点id &ndash;&gt;--> <!-- <el-table-column :label="$t('checkDifference.checkGuid')" align="center" prop="checkGuid" /> &lt;!&ndash; 盘点id &ndash;&gt;-->
<el-table-column :label="$t('checkDifference.warehouseId')" align="center" prop="warehouseName" /> <!-- 仓库 -->
<el-table-column :label="$t('checkDifference.checkStockDetailId')" align="center" prop="checkStockDetailId" /> <!-- 盘点单据id --> <el-table-column :label="$t('checkDifference.checkStockDetailId')" align="center" prop="checkStockDetailId" /> <!-- 盘点单据id -->
<el-table-column :label="$t('checkDifference.stockId')" align="center" prop="stockId" /> <!-- 库存id --> <el-table-column :label="$t('checkDifference.stockId')" align="center" prop="stockId" /> <!-- 库存id -->
<el-table-column :label="$t('checkDifference.trayCode')" align="center" prop="trayCode" /> <!-- 托盘 --> <el-table-column :label="$t('checkDifference.trayCode')" align="center" prop="trayCode" /> <!-- 托盘 -->
<el-table-column :label="$t('checkDifference.cargoSpaceId')" align="center" prop="cargoSpaceId" /> <!-- 货位id --> <el-table-column :label="$t('checkDifference.cargoSpaceId')" align="center" prop="cargoSpaceName" /> <!-- 货位id -->
<el-table-column :label="$t('checkDifference.productId')" align="center" prop="productId" /> <!-- 物料id --> <el-table-column :label="$t('checkDifference.productId')" align="center" prop="productId" /> <!-- 物料id -->
<el-table-column :label="$t('checkDifference.lotNo')" align="center" prop="lotNo" /> <!-- 批次号 --> <el-table-column :label="$t('checkStockCheck.materialDesc')" align="center" prop="extraField.materialDesc"/> <!-- 物料描述 -->
<el-table-column :label="$t('checkDifference.supplier')" align="center" prop="supplier" /> <!-- 供应商 --> <el-table-column :label="$t('checkStockCheck.englishDesc')" align="center" prop="extraField.englishDesc"/> <!-- 英文描述 -->
<el-table-column :label="$t('checkDifference.customer')" align="center" prop="customer" /> <!-- 客户 -->
<el-table-column :label="$t('checkDifference.oldQuantity')" align="center" prop="oldQuantity" /> <!-- 原值 --> <el-table-column :label="$t('checkDifference.oldQuantity')" align="center" prop="oldQuantity" /> <!-- 原值 -->
<el-table-column :label="$t('checkDifference.newQuantity')" align="center" prop="newQuantity" /> <!-- 新值 --> <el-table-column :label="$t('checkDifference.newQuantity')" align="center" prop="newQuantity" /> <!-- 新值 -->
<el-table-column :label="$t('checkDifference.recordType')" align="center" prop="recordType" /> <!-- 操作方式 --> <el-table-column :label="$t('checkDifference.recordType')" align="center" prop="recordType" >
<el-table-column :label="$t('checkDifference.createTime')" align="center" prop="createTime" /> <!-- 创建时间 -->
<el-table-column :label="$t('checkDifference.warehouseId')" align="center" prop="warehouseName" /> <!-- 创建时间 -->
<el-table-column :label="$t('checkDifference.status')" align="center" prop="status"> <!-- 审核状态 -->
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="[{ label: $t('checkDifference.unaudited'), value: '0', raw: { listClass: 'info' } }, { label: $t('checkDifference.audited'), value: '1', raw: { listClass: 'success' } }]" :value="scope.row.status"/> <dict-tag :options="dict.type.record_type" :value="scope.row.recordType"/>
</template>
</el-table-column><!-- 操作方式 -->
<el-table-column :label="$t('checkDifference.createTime')" align="center" prop="createTime" /> <!-- 创建时间 -->
<el-table-column :label="$t('checkDifference.status')" align="center" prop="status"> <!-- 审核状态 -->
<template slot-scope="scope">
<dict-tag :options="dict.type.audit_diff_status" :value="scope.row.status"/>
</template> </template>
</el-table-column> </el-table-column>
@@ -236,6 +265,7 @@ import {listWarehouse} from "@/api/bas/warehouse";
export default { export default {
name: "Difference", name: "Difference",
dicts:['record_type','audit_diff_status'],
components: { components: {
DictTag DictTag
}, },

View File

@@ -37,7 +37,7 @@
/> />
</el-select> </el-select>
</el-form-item>--> </el-form-item>-->
<el-form-item :label="$t('stockManagement.productStatus')" prop="productStatus"><!-- 物料状态 --> <!-- <el-form-item :label="$t('stockManagement.productStatus')" prop="productStatus">&lt;!&ndash; 物料状态 &ndash;&gt;
<el-select v-model="queryParams.productStatus" :placeholder="$t('stockManagement.selectProductStatus')" clearable> <el-select v-model="queryParams.productStatus" :placeholder="$t('stockManagement.selectProductStatus')" clearable>
<el-option <el-option
v-for="dict in dict.type.product_status" v-for="dict in dict.type.product_status"
@@ -46,7 +46,7 @@
:value="dict.value" :value="dict.value"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>-->
<el-form-item :label="$t('stockManagement.inDate')" prop="inDate"><!-- 入库时间 --> <el-form-item :label="$t('stockManagement.inDate')" prop="inDate"><!-- 入库时间 -->
<el-input <el-input
v-model="queryParams.inDate" v-model="queryParams.inDate"
@@ -602,6 +602,7 @@ export default {
handleUpdate(row) { handleUpdate(row) {
this.resetEdit() this.resetEdit()
const stockId = row.stockId || this.ids const stockId = row.stockId || this.ids
console.log(stockId)
getManagement(stockId).then(response => { getManagement(stockId).then(response => {
this.editForm = response.data this.editForm = response.data
this.editOpen = true this.editOpen = true
@@ -651,15 +652,17 @@ export default {
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const stockId = row.stockId || this.ids[0]
this.$modal.confirm(this.$t('stockManagement.deleteConfirm')).then(function() { this.$modal.confirm(this.$t('stockManagement.deleteConfirm')).then(function() {
//删除 //删除
const pdData = { const pdData = {
stockId: row.stockId, stockId: stockId,
oldQuantity: row.quantity, oldQuantity: row.quantity,
warehouseId: row.warehouseId, warehouseId: row.warehouseId,
productId: row.productId, productId: row.productId,
recordType: 3 recordType: 3
} }
console.log(pdData)
return addDifference(pdData); return addDifference(pdData);
}).then(() => { }).then(() => {
this.$modal.msgSuccess(this.$t('stockManagement.deleteSuccess')) this.$modal.msgSuccess(this.$t('stockManagement.deleteSuccess'))