货位管理

This commit is contained in:
liuhanqing
2025-08-11 16:06:11 +08:00
parent 545d02da63
commit 1435b1b40f
8 changed files with 361 additions and 160 deletions

View File

@@ -17,7 +17,7 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@TableName("bas_cargo_space")
public class BasCargoSpace {
public class BasCargoSpace extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 货位id 主键 */

View File

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
import com.ruoyi.bas.cargoSpace.mapper.BasCargoSpaceMapper;
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
import com.ruoyi.common.annotation.DataScope;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -44,6 +45,7 @@ public class BasCargoSpaceServiceImpl extends ServiceImpl<BasCargoSpaceMapper,Ba
* @return 库存信息
*/
@Override
@DataScope(warehouseAlias = "bw")
public List<BasCargoSpace> selectBasCargoSpaceList(BasCargoSpace basCargoSpace)
{
return basCargoSpaceMapper.selectBasCargoSpaceList(basCargoSpace);

View File

@@ -75,6 +75,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="groupCoding != null and groupCoding != ''"> and bcs.group_coding = #{groupCoding}</if>
<if test="cargoSpaceLogo != null and cargoSpaceLogo != ''"> and bcs.cargo_space_logo = #{cargoSpaceLogo}</if>
<if test="thisCargoArea != null and thisCargoArea != ''"> and bcs.this_cargo_area = #{thisCargoArea}</if>
<if test="params.warehouseDataScope != null and params.warehouseDataScope !=''">
${params.warehouseDataScope}
</if>
</where>
order by the_platoon,the_floor,the_column
</select>

View File

@@ -0,0 +1,202 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.check.DifferenceRecordFinish.mapper.CheckDifferenceRecordFinishMapper">
<resultMap type="CheckDifferenceRecord" id="CheckDifferenceRecordResult">
<result property="checkGuid" column="check_guid"/>
<result property="checkStockDetailId" column="check_stock_detail_id"/>
<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"/>
<result property="customer" column="customer"/>
<result property="oldQuantity" column="old_quantity"/>
<result property="newQuantity" column="new_quantity"/>
<result property="recordType" column="record_type"/>
<result property="createTime" column="create_time"/>
<result property="productGuid" column="product_guid"/>
<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,
r.record_type,
r.create_time,
r.product_guid,
r.status,
r.warehouse_id,
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_finish 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="selectCheckDifferenceRecordFinishList" parameterType="CheckDifferenceRecord"
resultMap="CheckDifferenceRecordResult">
<include refid="selectCheckDifferenceRecordVo"/>
<where>
<if test="checkStockDetailId != null and checkStockDetailId != ''">
and r.check_stock_detail_id = #{checkStockDetailId}
</if>
<if test="stockId != null and stockId != ''">
and r.stock_id = #{stockId}
</if>
<if test="trayCode != null and trayCode != ''">
and r.tray_code = #{trayCode}
</if>
<if test="cargoSpaceId != null and cargoSpaceId != ''">
and r.cargo_space_id = #{cargoSpaceId}
</if>
<if test="productId != null and productId != ''">
and r.product_id = #{productId}
</if>
<if test="lotNo != null and lotNo != ''">
and r.lot_no = #{lotNo}
</if>
<if test="supplier != null and supplier != ''">
and r.supplier = #{supplier}
</if>
<if test="customer != null and customer != ''">
and r.customer = #{customer}
</if>
<if test="oldQuantity != null and oldQuantity != ''">
and r.old_quantity = #{oldQuantity}
</if>
<if test="newQuantity != null and newQuantity != ''">
and r.new_quantity = #{newQuantity}
</if>
<if test="recordType != null ">
and r.record_type = #{recordType}
</if>
<if test="productGuid != null and productGuid != ''">
and r.product_guid = #{productGuid}
</if>
<if test="status != null and status != ''">
and r.status = #{status}
</if>
<if test="warehouseId != null and warehouseId != ''">
and r.warehouse_id = #{warehouseId}
</if>
<if test="params.warehouseDataScope != null and params.warehouseDataScope !=''">
${params.warehouseDataScope}
</if>
</where>
order by r.create_time desc
</select>
<select id="selectCheckDifferenceRecordFinishByCheckGuid" parameterType="String" resultMap="CheckDifferenceRecordResult">
<include refid="selectCheckDifferenceRecordVo"/>
where check_guid = #{checkGuid}
</select>
<insert id="insertCheckDifferenceRecordFinish" parameterType="CheckDifferenceRecord">
insert into check_difference_record_finish
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="checkGuid != null">check_guid,</if>
<if test="checkStockDetailId != null">check_stock_detail_id,</if>
<if test="stockId != null">stock_id,</if>
<if test="trayCode != null">tray_code,</if>
<if test="cargoSpaceId != null">cargo_space_id,</if>
<if test="productId != null">product_id,</if>
<if test="lotNo != null">lot_no,</if>
<if test="supplier != null">supplier,</if>
<if test="customer != null">customer,</if>
<if test="oldQuantity != null">old_quantity,</if>
<if test="newQuantity != null">new_quantity,</if>
<if test="recordType != null">record_type,</if>
<if test="createTime != null">create_time,</if>
<if test="productGuid != null">product_guid,</if>
<if test="status != null">status,</if>
<if test="warehouseId != null">warehouse_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="checkGuid != null">#{checkGuid},</if>
<if test="checkStockDetailId != null">#{checkStockDetailId},</if>
<if test="stockId != null">#{stockId},</if>
<if test="trayCode != null">#{trayCode},</if>
<if test="cargoSpaceId != null">#{cargoSpaceId},</if>
<if test="productId != null">#{productId},</if>
<if test="lotNo != null">#{lotNo},</if>
<if test="supplier != null">#{supplier},</if>
<if test="customer != null">#{customer},</if>
<if test="oldQuantity != null">#{oldQuantity},</if>
<if test="newQuantity != null">#{newQuantity},</if>
<if test="recordType != null">#{recordType},</if>
<if test="createTime != null">#{createTime},</if>
<if test="productGuid != null">#{productGuid},</if>
<if test="status != null">#{status},</if>
<if test="warehouseId != null">#{warehouseId},</if>
</trim>
</insert>
<update id="updateCheckDifferenceRecordFinish" parameterType="CheckDifferenceRecord">
update check_difference_record_finish
<trim prefix="SET" suffixOverrides=",">
<if test="checkStockDetailId != null">check_stock_detail_id = #{checkStockDetailId},</if>
<if test="stockId != null">stock_id = #{stockId},</if>
<if test="trayCode != null">tray_code = #{trayCode},</if>
<if test="cargoSpaceId != null">cargo_space_id = #{cargoSpaceId},</if>
<if test="productId != null">product_id = #{productId},</if>
<if test="lotNo != null">lot_no = #{lotNo},</if>
<if test="supplier != null">supplier = #{supplier},</if>
<if test="customer != null">customer = #{customer},</if>
<if test="oldQuantity != null">old_quantity = #{oldQuantity},</if>
<if test="newQuantity != null">new_quantity = #{newQuantity},</if>
<if test="recordType != null">record_type = #{recordType},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="productGuid != null">product_guid = #{productGuid},</if>
<if test="status != null">status = #{status},</if>
<if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
</trim>
where check_guid = #{checkGuid}
</update>
<delete id="deleteCheckDifferenceRecordFinishByCheckGuid" parameterType="String">
delete
from check_difference_record_finish
where check_guid = #{checkGuid}
</delete>
<delete id="deleteCheckDifferenceRecordFinishByCheckGuids" parameterType="String">
delete from check_difference_record_finish where check_guid in
<foreach item="checkGuid" collection="array" open="(" separator="," close=")">
#{checkGuid}
</foreach>
</delete>
</mapper>

View File

@@ -37,6 +37,7 @@ export default {
}
},
traycodeFormat: {
id: 'ID',
title: '条码生成规则',
search: '搜索',
reset: '重置',
@@ -3623,7 +3624,7 @@ export default {
},
// ***************预警库存查询*************
searchViewStockWarning: {
warehouse:'仓库',
warehouse: '仓库',
stockId: '库存ID',
inputStockId: '请输入库存ID',
cargoSpaceId: '货位ID',
@@ -3899,192 +3900,190 @@ export default {
shelfCalledSuccess: '料架 {containerCode} 已从 {sourcePortName} 呼叫到 {currentPortName}',
callCancelled: '已取消呼叫'
},
dict:{
is_available:{
n:'否',
y:'是'
dict: {
is_available: {
n: '否',
y: '是'
},
sys_user_sex:{
a1:'男',
a2:'女',
a3:'未知'
sys_user_sex: {
a1: '男',
a2: '女',
a3: '未知'
},
sys_show_hide:{
a1:'显示',
a2:'隐藏'
sys_show_hide: {
a1: '显示',
a2: '隐藏'
},
sys_normal_disable:{
a1:'正常',
a2:'停用'
sys_normal_disable: {
a1: '正常',
a2: '停用'
},
sys_job_status:{
a1:"正常",
a2:"暂停"
sys_job_status: {
a1: "正常",
a2: "暂停"
},
sys_job_group:{
a1:'默认',
a2:'系统'
sys_job_group: {
a1: '默认',
a2: '系统'
},
sys_yes_no:{
a1:'是',
a2:'否'
sys_yes_no: {
a1: '是',
a2: '否'
},
sys_notice_type:{
a1:'通知',
a2:'公告'
sys_notice_type: {
a1: '通知',
a2: '公告'
},
sys_notice_status:{
a1:'正常',
a2:'关闭'
sys_notice_status: {
a1: '正常',
a2: '关闭'
},
sys_oper_type:{
a1:'新增',
a2:'修改',
a3:'删除',
a4:'授权',
a5:'导出',
a6:'导入',
a7:'强退',
a8:'生成代码',
a9:'清空数据',
a10:'其他'
sys_oper_type: {
a1: '新增',
a2: '修改',
a3: '删除',
a4: '授权',
a5: '导出',
a6: '导入',
a7: '强退',
a8: '生成代码',
a9: '清空数据',
a10: '其他'
},
sys_common_status:{
a1:'成功',
a2:'失败'
sys_common_status: {
a1: '成功',
a2: '失败'
},
in_bill_type:{
a1:'自建单据'
in_bill_type: {
a1: '自建单据'
},
in_bill_status:{
a1:'未执行',
a2:'审核中',
a3:'正执行',
a4:'已完成',
a5:'已作废'
in_bill_status: {
a1: '未执行',
a2: '审核中',
a3: '正执行',
a4: '已完成',
a5: '已作废'
},
out_bill_type:{
a1:'拣选出库',
a2:'退货单据'
out_bill_type: {
a1: '拣选出库',
a2: '退货单据'
},
out_bill_status:{
a1:'待执行',
a2:'已审核',
a3:'正执行',
a4:'已完成',
a5:'已作废'
out_bill_status: {
a1: '待执行',
a2: '已审核',
a3: '正执行',
a4: '已完成',
a5: '已作废'
},
bill_resource:{
bill_resource: {},
in_job_type: {
a1: '空料箱入库',
a2: 'CTU物资入库',
a3: '高架库物资入库',
a4: '托盘垛入库'
},
in_job_type:{
a1:'空料箱入库',
a2:'CTU物资入库',
a3:'高架库物资入库',
a4:'托盘垛入库'
mydo_job_status: {
a1: '未执行',
a2: '待执行',
a3: '正执行',
a4: '已完成',
a5: '已作废'
},
mydo_job_status:{
a1:'未执行',
a2:'待执行',
a3:'正执行',
a4:'已完成',
a5:'已作废'
execution_phase_type: {
a1: '输送线',
a2: '入库口',
a3: 'CTU',
a4: '出库口'
},
execution_phase_type:{
a1:'输送线',
a2:'入库口',
a3:'CTU',
a4:'出库口'
on_line_type: {
a1: '类型1',
a2: '类型2'
},
on_line_type:{
a1:'类型1',
a2:'类型2'
out_job_type: {
a1: '空料箱出库',
a2: '空托盘出库',
a3: '料箱出库',
a4: '托盘出库'
},
out_job_type:{
a1:'空料箱出库',
a2:'空托盘出库',
a3:'料箱出库',
a4:'托盘出库'
stock_status: {
a1: '正常',
a2: '冻结'
},
stock_status:{
a1:'正常',
a2:'冻结'
product_status: {
a1: '正常',
a2: '盘点待审批',
a3: '异常'
},
product_status:{
a1:'正常',
a2:'盘点待审批',
a3:'异常'
stock_maintain_method: {
a1: '新增',
a2: '修改',
a3: '删除'
},
stock_maintain_method:{
a1:'新增',
a2:'修改',
a3:'删除'
receive_bill_status: {
a1: '未质检',
a2: '质检完成'
},
receive_bill_status:{
a1:'未质检',
a2:'质检完成'
check_stock_type: {
a1: '物料盘点',
a2: '货位盘点'
},
check_stock_type:{
a1:'物料盘点',
a2:'货位盘点'
check_bill_status: {
a1: '未执行',
a2: '审核中',
a3: '正执行',
a4: '已完成',
a5: '已作废'
},
check_bill_status:{
a1:'未执行',
a2:'审核中',
a3:'正执行',
a4:'已完成',
a5:'已作废'
product_port_rel_status: {
a1: '是',
a2: '否'
},
product_port_rel_status:{
a1:'是',
a2:'否'
check_in_job_type: {
a1: '盘点料箱入库',
a2: '盘点托盘入库'
},
check_in_job_type:{
a1:'盘点料箱入库',
a2:'盘点托盘入库'
check_out_job_type: {
a1: '盘点料箱出库',
a2: '盘点托盘出库'
},
check_out_job_type:{
a1:'盘点料箱出库',
a2:'盘点托盘出库'
cargo_space_status: {
a1: '空',
a2: '满',
a3: '入库分配',
a4: '出库分配',
a5: '入库盘点分配',
a6: '出库盘点分配'
},
cargo_space_status:{
a1:'空',
a2:'满',
a3:'入库分配',
a4:'出库分配',
a5:'入库盘点分配',
a6:'出库盘点分配'
warehouse_port_type: {
a1: '入口',
a2: '出口'
},
warehouse_port_type:{
a1:'入口',
a2:'出口'
port_type: {
a1: '缓存点位',
a2: '拣选工位',
a3: '拣选放货点位',
a4: '集货缓存点位',
a5: '线边点位',
a6: '台位点位'
},
port_type:{
a1:'缓存点位',
a2:'拣选工位',
a3:'拣选放货点位',
a4:'集货缓存点位',
a5:'线边点位',
a6:'台位点位'
cargo_space_lock_status: {
a1: '锁定',
a2: '解锁'
},
cargo_space_lock_status:{
a1:'锁定',
a2:'解锁'
warehouse_type: {
a1: '高架',
a2: 'CTU库',
a3: '平库'
},
warehouse_type:{
a1:'高架',
a2:'CTU库',
a3:'平库'
record_type: {
a1: '修改',
a2: '新增',
a3: '删除'
},
record_type:{
a1:'修改',
a2:'新增',
a3:'删除'
},
audit_diff_status:{
a1:'未审核',
a2:'审查通过',
a3:'审核不通过'
audit_diff_status: {
a1: '未审核',
a2: '审查通过',
a3: '审核不通过'
}
}

View File

@@ -261,7 +261,7 @@ export default {
/** 查询盘点差异列表 */
getList() {
this.loading = true
if (this.queryParams.status === '1') {
if (this.queryParams.status === '1' || this.queryParams.status === '2') {
// 已审核,查询历史表
listDifferenceRecordFinish(this.queryParams).then(response => {
this.differenceList = response.rows

View File

@@ -222,7 +222,6 @@
<script>
import { listData, getData, delData, addData, updateData } from "@/api/system/dict/data"
import { optionselect as getDictOptionselect, getType } from "@/api/system/dict/type"
import i18n from "@/lang";
export default {
name: "Data",
@@ -335,10 +334,6 @@ export default {
getList() {
this.loading = true
listData(this.queryParams).then(response => {
response.rows = response.rows.map(item => ({
...item,
dictLabel: i18n.t(item.dictLabel) || item.dictLabel
}))
this.dataList = response.rows
this.total = response.total
this.loading = false

View File

@@ -266,7 +266,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('systemManagement_RoleManagement.warehouseDataScope')">
<el-select v-model="form.warehouseDataScope" @change="dataScopeSelectChange" multiple collapse-tags :placeholder="$t('systemManagement_RoleManagement.selectWarehouse')">
<el-select v-model="form.warehouseDataScope" @change="dataScopeSelectChange" multiple collapse-tags :placeholder="$t('systemManagement_RoleManagement.placeholderWarehouse')">
<el-option
v-for="item in warehouseOptions"
:key="item.warehouseId"