仓库信息模块优化

This commit is contained in:
2025-10-30 11:01:07 +08:00
parent db8e6c514c
commit 845f2fd59a
10 changed files with 360 additions and 153 deletions

View File

@@ -7,9 +7,9 @@ spring:
# 主库数据源
master:
# url: jdbc:mysql://101.132.133.142:3306/wisdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# url: jdbc:mysql://192.168.1.20:3306/wisdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url: jdbc:mysql://192.168.1.20:3306/wisdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# url: jdbc:mysql://192.168.1.192:3306/wisdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url: jdbc:mysql://192.168.1.251:3306/wisdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# url: jdbc:mysql://192.168.1.251:3306/wisdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# url: jdbc:mysql://localhost:3306/wisdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: shzg

View File

@@ -69,8 +69,8 @@ spring:
redis:
# 地址
# host: 101.132.133.142
# host: 192.168.1.20
host: 192.168.1.251
host: 192.168.1.20
# host: 192.168.1.251
# host: localhost
# 端口默认为6379
port: 6379

View File

@@ -131,6 +131,32 @@
where id = #{id}
</update>
<insert id="batchInsertIgnore">
INSERT IGNORE INTO pcde_detail
(pcode, scene, scene_name, warehouse, warehouse_name,
encoded_id, tag, remark, is_delete,
created_by, created_at, updated_by, updated_at)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.pcode},
#{item.scene},
#{item.sceneName},
#{item.warehouse},
#{item.warehouseName},
#{item.encodedId},
#{item.tag},
#{item.remark},
#{item.isDelete},
#{item.createdBy},
#{item.createdAt},
#{item.updatedBy},
#{item.updatedAt}
)
</foreach>
</insert>
<delete id="deletePcdeDetailById" parameterType="Long">
delete from pcde_detail where id = #{id}
</delete>

View File

@@ -1,61 +1,103 @@
<?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">
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zg.project.information.mapper.SceneMappingMapper">
<resultMap type="SceneMapping" id="SceneMappingResult">
<result property="id" column="id" />
<result property="sceneCode" column="scene_code" />
<result property="sceneName" column="scene_name" />
<!-- ====== 实体映射 ====== -->
<resultMap id="SceneMappingResult" type="SceneMapping">
<result property="id" column="id"/>
<result property="sceneCode" column="scene_code"/>
<result property="sceneName" column="scene_name"/>
<result property="warehouseCode" column="warehouse_code"/>
<result property="warehouseName" column="warehouse_name"/>
</resultMap>
<!-- ====== 通用查询列(含连表字段) ====== -->
<sql id="selectSceneMappingVo">
select id, scene_code, scene_name from scene_mapping
SELECT
sm.id,
sm.scene_code,
sm.scene_name,
sm.warehouse_code,
wi.warehouse_name AS warehouse_name
FROM scene_mapping sm
LEFT JOIN warehouse_info wi
ON wi.warehouse_code = sm.warehouse_code
</sql>
<!-- ====== 列表查询 ====== -->
<select id="selectSceneMappingList" parameterType="SceneMapping" resultMap="SceneMappingResult">
<include refid="selectSceneMappingVo"/>
<where>
<if test="sceneCode != null and sceneCode != ''"> and scene_code = #{sceneCode}</if>
<if test="sceneName != null and sceneName != ''"> and scene_name like concat('%', #{sceneName}, '%')</if>
<where>
<if test="sceneCode != null and sceneCode != ''">
AND sm.scene_code = #{sceneCode}
</if>
<if test="sceneName != null and sceneName != ''">
AND sm.scene_name LIKE CONCAT('%', #{sceneName}, '%')
</if>
<if test="warehouseCode != null and warehouseCode != ''">
AND sm.warehouse_code = #{warehouseCode}
</if>
<if test="warehouseName != null and warehouseName != ''">
AND wi.warehouse_name LIKE CONCAT('%', #{warehouseName}, '%')
</if>
</where>
</select>
<!-- ====== 主键查询 ====== -->
<select id="selectSceneMappingById" parameterType="Long" resultMap="SceneMappingResult">
<include refid="selectSceneMappingVo"/>
where id = #{id}
WHERE sm.id = #{id}
</select>
<!-- ====== 新增 ====== -->
<insert id="insertSceneMapping" parameterType="SceneMapping" useGeneratedKeys="true" keyProperty="id">
insert into scene_mapping
INSERT INTO scene_mapping
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="sceneCode != null and sceneCode != ''">scene_code,</if>
<if test="sceneName != null and sceneName != ''">scene_name,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="warehouseCode != null and warehouseCode != ''">warehouse_code,</if>
<if test="warehouseName != null and warehouseName != ''">warehouse_name,</if>
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="sceneCode != null and sceneCode != ''">#{sceneCode},</if>
<if test="sceneName != null and sceneName != ''">#{sceneName},</if>
</trim>
<if test="warehouseCode != null and warehouseCode != ''">#{warehouseCode},</if>
<if test="warehouseName != null and warehouseName != ''">#{warehouseName},</if>
</trim>
</insert>
<!-- ====== 更新(可修改所属仓库编码 + 名称) ====== -->
<update id="updateSceneMapping" parameterType="SceneMapping">
update scene_mapping
UPDATE scene_mapping
<trim prefix="SET" suffixOverrides=",">
<if test="sceneCode != null and sceneCode != ''">scene_code = #{sceneCode},</if>
<if test="sceneName != null and sceneName != ''">scene_name = #{sceneName},</if>
<if test="sceneCode != null and sceneCode != ''">
scene_code = #{sceneCode},
</if>
<if test="sceneName != null and sceneName != ''">
scene_name = #{sceneName},
</if>
<if test="warehouseCode != null and warehouseCode != ''">
warehouse_code = #{warehouseCode},
</if>
<if test="warehouseName != null and warehouseName != ''">
warehouse_name = #{warehouseName},
</if>
</trim>
where id = #{id}
WHERE id = #{id}
</update>
<!-- ====== 删除 ====== -->
<delete id="deleteSceneMappingById" parameterType="Long">
delete from scene_mapping where id = #{id}
DELETE FROM scene_mapping WHERE id = #{id}
</delete>
<delete id="deleteSceneMappingByIds" parameterType="String">
delete from scene_mapping where id in
DELETE FROM scene_mapping WHERE id IN
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
</mapper>

View File

@@ -1,90 +1,152 @@
<?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">
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zg.project.information.mapper.WarehouseInfoMapper">
<resultMap type="WarehouseInfo" id="WarehouseInfoResult">
<result property="id" column="id" />
<result property="warehouseCode" column="warehouse_code" />
<result property="warehouseName" column="warehouse_name" />
<result property="address" column="address" />
<result property="status" column="status" />
<result property="sort" column="sort" />
<result property="remark" column="remark" />
<result property="createdAt" column="created_at" />
<result property="updatedAt" column="updated_at" />
<!-- ========= 映射 ========= -->
<resultMap id="WarehouseInfoResult" type="WarehouseInfo">
<result property="id" column="id"/>
<result property="warehouseCode" column="warehouse_code"/>
<result property="warehouseName" column="warehouse_name"/>
<result property="address" column="address"/>
<!-- 新增:所属大仓 -->
<result property="parentWarehouseCode" column="parent_warehouse_code"/>
<result property="parentWarehouseName" column="parent_warehouse_name"/>
<result property="status" column="status"/>
<result property="sort" column="sort"/>
<result property="remark" column="remark"/>
<result property="createdAt" column="created_at"/>
<result property="updatedAt" column="updated_at"/>
</resultMap>
<!-- ========= 通用列 ========= -->
<sql id="selectWarehouseInfoVo">
select id, warehouse_code, warehouse_name, address, status, sort, remark, created_at, updated_at from warehouse_info
SELECT
id,
warehouse_code,
warehouse_name,
address,
parent_warehouse_code,
parent_warehouse_name,
status,
sort,
remark,
created_at,
updated_at
FROM warehouse_info
</sql>
<!-- ========= 列表查询 ========= -->
<select id="selectWarehouseInfoList" parameterType="WarehouseInfo" resultMap="WarehouseInfoResult">
<include refid="selectWarehouseInfoVo"/>
<where>
<if test="warehouseCode != null and warehouseCode != ''"> and warehouse_code = #{warehouseCode}</if>
<if test="warehouseName != null and warehouseName != ''"> and warehouse_name like concat('%', #{warehouseName}, '%')</if>
<if test="address != null and address != ''"> and address = #{address}</if>
<if test="status != null "> and status = #{status}</if>
<if test="sort != null "> and sort = #{sort}</if>
<if test="createdAt != null "> and created_at = #{createdAt}</if>
<if test="updatedAt != null "> and updated_at = #{updatedAt}</if>
<where>
<if test="warehouseCode != null and warehouseCode != ''">
AND warehouse_code = #{warehouseCode}
</if>
<if test="warehouseName != null and warehouseName != ''">
AND warehouse_name LIKE concat('%', #{warehouseName}, '%')
</if>
<if test="address != null and address != ''">
AND address = #{address}
</if>
<!-- 新增:按所属大仓筛选 -->
<if test="parentWarehouseCode != null and parentWarehouseCode != ''">
AND parent_warehouse_code = #{parentWarehouseCode}
</if>
<if test="parentWarehouseName != null and parentWarehouseName != ''">
AND parent_warehouse_name LIKE concat('%', #{parentWarehouseName}, '%')
</if>
<if test="status != null">
AND status = #{status}
</if>
<if test="sort != null">
AND sort = #{sort}
</if>
<if test="createdAt != null">
AND created_at = #{createdAt}
</if>
<if test="updatedAt != null">
AND updated_at = #{updatedAt}
</if>
</where>
</select>
<!-- ========= 主键查询 ========= -->
<select id="selectWarehouseInfoById" parameterType="Long" resultMap="WarehouseInfoResult">
<include refid="selectWarehouseInfoVo"/>
where id = #{id}
WHERE id = #{id}
</select>
<!-- ========= 新增 ========= -->
<insert id="insertWarehouseInfo" parameterType="WarehouseInfo" useGeneratedKeys="true" keyProperty="id">
insert into warehouse_info
INSERT INTO warehouse_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="warehouseCode != null and warehouseCode != ''">warehouse_code,</if>
<if test="warehouseName != null and warehouseName != ''">warehouse_name,</if>
<if test="address != null">address,</if>
<!-- 新增:所属大仓 -->
<if test="parentWarehouseCode != null and parentWarehouseCode != ''">parent_warehouse_code,</if>
<if test="parentWarehouseName != null and parentWarehouseName != ''">parent_warehouse_name,</if>
<if test="status != null">status,</if>
<if test="sort != null">sort,</if>
<if test="remark != null">remark,</if>
<if test="createdAt != null">created_at,</if>
<if test="updatedAt != null">updated_at,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="warehouseCode != null and warehouseCode != ''">#{warehouseCode},</if>
<if test="warehouseName != null and warehouseName != ''">#{warehouseName},</if>
<if test="address != null">#{address},</if>
<!-- 新增:所属大仓 -->
<if test="parentWarehouseCode != null and parentWarehouseCode != ''">#{parentWarehouseCode},</if>
<if test="parentWarehouseName != null and parentWarehouseName != ''">#{parentWarehouseName},</if>
<if test="status != null">#{status},</if>
<if test="sort != null">#{sort},</if>
<if test="remark != null">#{remark},</if>
<if test="createdAt != null">#{createdAt},</if>
<if test="updatedAt != null">#{updatedAt},</if>
</trim>
</trim>
</insert>
<!-- ========= 更新 ========= -->
<update id="updateWarehouseInfo" parameterType="WarehouseInfo">
update warehouse_info
UPDATE warehouse_info
<trim prefix="SET" suffixOverrides=",">
<if test="warehouseCode != null and warehouseCode != ''">warehouse_code = #{warehouseCode},</if>
<if test="warehouseName != null and warehouseName != ''">warehouse_name = #{warehouseName},</if>
<if test="address != null">address = #{address},</if>
<!-- 新增:所属大仓 -->
<if test="parentWarehouseCode != null and parentWarehouseCode != ''">parent_warehouse_code = #{parentWarehouseCode},</if>
<if test="parentWarehouseName != null and parentWarehouseName != ''">parent_warehouse_name = #{parentWarehouseName},</if>
<if test="status != null">status = #{status},</if>
<if test="sort != null">sort = #{sort},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createdAt != null">created_at = #{createdAt},</if>
<if test="updatedAt != null">updated_at = #{updatedAt},</if>
</trim>
where id = #{id}
WHERE id = #{id}
</update>
<!-- ========= 删除 ========= -->
<delete id="deleteWarehouseInfoById" parameterType="Long">
delete from warehouse_info where id = #{id}
DELETE FROM warehouse_info WHERE id = #{id}
</delete>
<delete id="deleteWarehouseInfoByIds" parameterType="String">
delete from warehouse_info where id in
DELETE FROM warehouse_info WHERE id IN
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
</mapper>