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

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;
import com.ruoyi.common.domain.ExtraField;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
@@ -33,6 +34,8 @@ public class CheckDifferenceRecord extends BaseEntity
/** 货位id */
@Excel(name = "货位id")
private String cargoSpaceId;
@Excel(name = "货位")
private String cargoSpaceName;
/** 物料id */
@Excel(name = "物料id")
@@ -77,6 +80,21 @@ public class CheckDifferenceRecord extends BaseEntity
@Excel(name = "仓库名称")
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() {
return warehouseId;

View File

@@ -74,7 +74,11 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS
}
basStock.setProductStatus("2");
basStockService.updateBasStock(basStock);
checkDifferenceRecord.setCargoSpaceId(basStock.getCargoSpaceId());
checkDifferenceRecord.setOldQuantity(basStock.getQuantity());
checkDifferenceRecord.setTrayCode(basStock.getTrayCode());
checkDifferenceRecord.setProductId(basStock.getProductId());
checkDifferenceRecord.setWarehouseId(basStock.getWarehouseId());
}else if (checkDifferenceRecord.getRecordType()==2){
//判断该物料是否已经存在
BasStock queryStock = new BasStock();
@@ -100,6 +104,11 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS
basStock.setProductStatus("2");
basStockService.updateBasStock(basStock);
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.setCheckGuid(IdUtil.fastSimpleUUID());
@@ -129,6 +138,15 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS
@Override
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);
}

View File

@@ -10,6 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="stockId" column="stock_id" />
<result property="trayCode" column="tray_code" />
<result property="cargoSpaceId" column="cargo_space_id" />
<result property="cargoSpaceName" column="cargo_space_name" />
<result property="productId" column="product_id" />
<result property="lotNo" column="lot_no" />
<result property="supplier" column="supplier" />
@@ -22,15 +23,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="status" column="status" />
<result property="warehouseId" column="warehouse_id" />
<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>
<sql id="selectCheckDifferenceRecordVo">
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,
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.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
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>
<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="warehouseName" column="warehouse_name" />
<result property="cargoSpaceName" column="cargo_space_name" />
<result property="productId" column="product_id" />
<association property="extraField" javaType="ExtraField">
<result property="productId" column="product_id" />
<result property="materialDesc" column="product_name" />

View File

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

View File

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

View File

@@ -41,14 +41,14 @@
@keyup.enter.native="handleQuery"
/>
</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
v-model="queryParams.lotNo"
:placeholder="$t('checkDifference.inputLotNo')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-form-item>-->
<!-- <el-form-item label="供应商" prop="supplier">
<el-input
v-model="queryParams.supplier"
@@ -98,8 +98,22 @@
</el-form-item>
<el-form-item :label="$t('checkDifference.status')" prop="status"> <!-- 审核状态 -->
<el-select v-model="queryParams.status" :placeholder="$t('checkDifference.inputStatus')" clearable>
<el-option :label="$t('checkDifference.unaudited')" value="0" /> <!-- 未审核 -->
<el-option :label="$t('checkDifference.audited')" value="1" /> <!-- 已审核 -->
<el-option
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-form-item>
<!-- <el-form-item :label="$t('checkDifference.productGuid')" prop="productGuid"> 物料guid
@@ -128,28 +142,43 @@
v-hasPermi="['check:difference:audit']"
>{{$t('checkDifference.audit')}}</el-button>
</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>
</el-row>
<el-table v-loading="loading" :data="differenceList" @selection-change="handleSelectionChange">
<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.warehouseId')" align="center" prop="warehouseName" /> <!-- 仓库 -->
<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.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.lotNo')" align="center" prop="lotNo" /> <!-- 批次号 -->
<el-table-column :label="$t('checkDifference.supplier')" align="center" prop="supplier" /> <!-- 供应商 -->
<el-table-column :label="$t('checkDifference.customer')" align="center" prop="customer" /> <!-- 客户 -->
<el-table-column :label="$t('checkStockCheck.materialDesc')" align="center" prop="extraField.materialDesc"/> <!-- 物料描述 -->
<el-table-column :label="$t('checkStockCheck.englishDesc')" align="center" prop="extraField.englishDesc"/> <!-- 英文描述 -->
<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.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"> <!-- 审核状态 -->
<el-table-column :label="$t('checkDifference.recordType')" align="center" prop="recordType" >
<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>
</el-table-column>
@@ -236,6 +265,7 @@ import {listWarehouse} from "@/api/bas/warehouse";
export default {
name: "Difference",
dicts:['record_type','audit_diff_status'],
components: {
DictTag
},

View File

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