货位管理

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 @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@TableName("bas_cargo_space") @TableName("bas_cargo_space")
public class BasCargoSpace { public class BasCargoSpace extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 货位id 主键 */ /** 货位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.domain.BasCargoSpace;
import com.ruoyi.bas.cargoSpace.mapper.BasCargoSpaceMapper; import com.ruoyi.bas.cargoSpace.mapper.BasCargoSpaceMapper;
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService; import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
import com.ruoyi.common.annotation.DataScope;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -44,6 +45,7 @@ public class BasCargoSpaceServiceImpl extends ServiceImpl<BasCargoSpaceMapper,Ba
* @return 库存信息 * @return 库存信息
*/ */
@Override @Override
@DataScope(warehouseAlias = "bw")
public List<BasCargoSpace> selectBasCargoSpaceList(BasCargoSpace basCargoSpace) public List<BasCargoSpace> selectBasCargoSpaceList(BasCargoSpace basCargoSpace)
{ {
return basCargoSpaceMapper.selectBasCargoSpaceList(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="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="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="thisCargoArea != null and thisCargoArea != ''"> and bcs.this_cargo_area = #{thisCargoArea}</if>
<if test="params.warehouseDataScope != null and params.warehouseDataScope !=''">
${params.warehouseDataScope}
</if>
</where> </where>
order by the_platoon,the_floor,the_column order by the_platoon,the_floor,the_column
</select> </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: { traycodeFormat: {
id: 'ID',
title: '条码生成规则', title: '条码生成规则',
search: '搜索', search: '搜索',
reset: '重置', reset: '重置',
@@ -3623,7 +3624,7 @@ export default {
}, },
// ***************预警库存查询************* // ***************预警库存查询*************
searchViewStockWarning: { searchViewStockWarning: {
warehouse:'仓库', warehouse: '仓库',
stockId: '库存ID', stockId: '库存ID',
inputStockId: '请输入库存ID', inputStockId: '请输入库存ID',
cargoSpaceId: '货位ID', cargoSpaceId: '货位ID',
@@ -3899,192 +3900,190 @@ export default {
shelfCalledSuccess: '料架 {containerCode} 已从 {sourcePortName} 呼叫到 {currentPortName}', shelfCalledSuccess: '料架 {containerCode} 已从 {sourcePortName} 呼叫到 {currentPortName}',
callCancelled: '已取消呼叫' callCancelled: '已取消呼叫'
}, },
dict:{ dict: {
is_available:{ is_available: {
n:'否', n: '否',
y:'是' y: '是'
}, },
sys_user_sex:{ sys_user_sex: {
a1:'男', a1: '男',
a2:'女', a2: '女',
a3:'未知' a3: '未知'
}, },
sys_show_hide:{ sys_show_hide: {
a1:'显示', a1: '显示',
a2:'隐藏' a2: '隐藏'
}, },
sys_normal_disable:{ sys_normal_disable: {
a1:'正常', a1: '正常',
a2:'停用' a2: '停用'
}, },
sys_job_status:{ sys_job_status: {
a1:"正常", a1: "正常",
a2:"暂停" a2: "暂停"
}, },
sys_job_group:{ sys_job_group: {
a1:'默认', a1: '默认',
a2:'系统' a2: '系统'
}, },
sys_yes_no:{ sys_yes_no: {
a1:'是', a1: '是',
a2:'否' a2: '否'
}, },
sys_notice_type:{ sys_notice_type: {
a1:'通知', a1: '通知',
a2:'公告' a2: '公告'
}, },
sys_notice_status:{ sys_notice_status: {
a1:'正常', a1: '正常',
a2:'关闭' a2: '关闭'
}, },
sys_oper_type:{ sys_oper_type: {
a1:'新增', a1: '新增',
a2:'修改', a2: '修改',
a3:'删除', a3: '删除',
a4:'授权', a4: '授权',
a5:'导出', a5: '导出',
a6:'导入', a6: '导入',
a7:'强退', a7: '强退',
a8:'生成代码', a8: '生成代码',
a9:'清空数据', a9: '清空数据',
a10:'其他' a10: '其他'
}, },
sys_common_status:{ sys_common_status: {
a1:'成功', a1: '成功',
a2:'失败' a2: '失败'
}, },
in_bill_type:{ in_bill_type: {
a1:'自建单据' a1: '自建单据'
}, },
in_bill_status:{ in_bill_status: {
a1:'未执行', a1: '未执行',
a2:'审核中', a2: '审核中',
a3:'正执行', a3: '正执行',
a4:'已完成', a4: '已完成',
a5:'已作废' a5: '已作废'
}, },
out_bill_type:{ out_bill_type: {
a1:'拣选出库', a1: '拣选出库',
a2:'退货单据' a2: '退货单据'
}, },
out_bill_status:{ out_bill_status: {
a1:'待执行', a1: '待执行',
a2:'已审核', a2: '已审核',
a3:'正执行', a3: '正执行',
a4:'已完成', a4: '已完成',
a5:'已作废' a5: '已作废'
}, },
bill_resource:{ bill_resource: {},
in_job_type: {
a1: '空料箱入库',
a2: 'CTU物资入库',
a3: '高架库物资入库',
a4: '托盘垛入库'
}, },
in_job_type:{ mydo_job_status: {
a1:'空料箱入库', a1: '未执行',
a2:'CTU物资入库', a2: '待执行',
a3:'高架库物资入库', a3: '正执行',
a4:'托盘垛入库' a4: '已完成',
a5: '已作废'
}, },
mydo_job_status:{ execution_phase_type: {
a1:'未执行', a1: '输送线',
a2:'待执行', a2: '入库口',
a3:'正执行', a3: 'CTU',
a4:'已完成', a4: '出库口'
a5:'已作废'
}, },
execution_phase_type:{ on_line_type: {
a1:'输送线', a1: '类型1',
a2:'入库口', a2: '类型2'
a3:'CTU',
a4:'出库口'
}, },
on_line_type:{ out_job_type: {
a1:'类型1', a1: '空料箱出库',
a2:'类型2' a2: '空托盘出库',
a3: '料箱出库',
a4: '托盘出库'
}, },
out_job_type:{ stock_status: {
a1:'空料箱出库', a1: '正常',
a2:'空托盘出库', a2: '冻结'
a3:'料箱出库',
a4:'托盘出库'
}, },
stock_status:{ product_status: {
a1:'正常', a1: '正常',
a2:'冻结' a2: '盘点待审批',
a3: '异常'
}, },
product_status:{ stock_maintain_method: {
a1:'正常', a1: '新增',
a2:'盘点待审批', a2: '修改',
a3:'异常' a3: '删除'
}, },
stock_maintain_method:{ receive_bill_status: {
a1:'新增', a1: '未质检',
a2:'修改', a2: '质检完成'
a3:'删除'
}, },
receive_bill_status:{ check_stock_type: {
a1:'未质检', a1: '物料盘点',
a2:'质检完成' a2: '货位盘点'
}, },
check_stock_type:{ check_bill_status: {
a1:'物料盘点', a1: '未执行',
a2:'货位盘点' a2: '审核中',
a3: '正执行',
a4: '已完成',
a5: '已作废'
}, },
check_bill_status:{ product_port_rel_status: {
a1:'未执行', a1: '是',
a2:'审核中', a2: '否'
a3:'正执行',
a4:'已完成',
a5:'已作废'
}, },
product_port_rel_status:{ check_in_job_type: {
a1:'是', a1: '盘点料箱入库',
a2:'否' a2: '盘点托盘入库'
}, },
check_in_job_type:{ check_out_job_type: {
a1:'盘点料箱入库', a1: '盘点料箱出库',
a2:'盘点托盘入库' a2: '盘点托盘出库'
}, },
check_out_job_type:{ cargo_space_status: {
a1:'盘点料箱出库', a1: '空',
a2:'盘点托盘出库' a2: '满',
a3: '入库分配',
a4: '出库分配',
a5: '入库盘点分配',
a6: '出库盘点分配'
}, },
cargo_space_status:{ warehouse_port_type: {
a1:'空', a1: '入口',
a2:'满', a2: '出口'
a3:'入库分配',
a4:'出库分配',
a5:'入库盘点分配',
a6:'出库盘点分配'
}, },
warehouse_port_type:{ port_type: {
a1:'入口', a1: '缓存点位',
a2:'出口' a2: '拣选工位',
a3: '拣选放货点位',
a4: '集货缓存点位',
a5: '线边点位',
a6: '台位点位'
}, },
port_type:{ cargo_space_lock_status: {
a1:'缓存点位', a1: '锁定',
a2:'拣选工位', a2: '解锁'
a3:'拣选放货点位',
a4:'集货缓存点位',
a5:'线边点位',
a6:'台位点位'
}, },
cargo_space_lock_status:{ warehouse_type: {
a1:'锁定', a1: '高架',
a2:'解锁' a2: 'CTU库',
a3: '平库'
}, },
warehouse_type:{ record_type: {
a1:'高架', a1: '修改',
a2:'CTU库', a2: '新增',
a3:'平库' a3: '删除'
}, },
record_type:{ audit_diff_status: {
a1:'修改', a1: '未审核',
a2:'新增', a2: '审查通过',
a3:'删除' a3: '审核不通过'
},
audit_diff_status:{
a1:'未审核',
a2:'审查通过',
a3:'审核不通过'
} }
} }

View File

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

View File

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

View File

@@ -266,7 +266,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('systemManagement_RoleManagement.warehouseDataScope')"> <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 <el-option
v-for="item in warehouseOptions" v-for="item in warehouseOptions"
:key="item.warehouseId" :key="item.warehouseId"