Files
fad_oa/ruoyi-oa/src/main/resources/mapper/oa/SysOaWarehouseMasterMapper.xml
Joshi e2500e06df refactor(oa): 仓库主表相关重构
- 移除了 ISysOaWarehouseMasterService 中的 updateReturnType 和 updateWithdrawLock 方法
- 更新了 SysOaWarehouseMaster、SysOaWarehouseMasterBo 和 SysOaWarehouseMasterVo 中的 withdrawlock 字段,改为 withdrawLock
- 删除了 SysOaWarehouseMasterController 中的 updateReturnType 和 updateWithdrawLock 接口
- 更新了 SysOaWarehouseMasterMapper.xml 中的相关 SQL 语句- 移除了 SysOaWarehouseMasterServiceImpl 中的 updateReturnType 和 updateWithdrawLock 方法
2025-08-19 16:50:44 +08:00

144 lines
5.6 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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.oa.mapper.SysOaWarehouseMasterMapper">
<!-- ===================================================== -->
<!-- 主表 + 子表 统一 ResultMap -->
<!-- ===================================================== -->
<resultMap id="SysOaWarehouseMasterResult"
type="com.ruoyi.oa.domain.vo.SysOaWarehouseMasterVo">
<id property="masterId" column="master_id"/>
<result property="masterNum" column="master_num"/>
<result property="type" column="type"/>
<result property="projectId" column="project_id"/>
<result property="signTime" column="sign_time"/>
<result property="signUser" column="sign_user"/>
<result property="remark" column="remark"/>
<result property="projectName" column="project_name"/>
<result property="status" column="status"/>
<result property="nearestEndTime" column="nearest_end_time"/>
<result property="logCount" column="logCount"/>
<result property="returnType" column="return_type"/>
<result property="withdrawLock" column="withdraw_lock"/>
<collection property="warehouseList"
column="master_id"
javaType="list"
ofType="com.ruoyi.oa.domain.vo.SysOaWarehouseDetailVo"
select="selectDetailByMasterId"/>
<collection property="warehouseTaskList"
column="master_id"
javaType="list"
ofType="com.ruoyi.oa.domain.SysOaWarehouseTask"
select="selectTaskByMasterId"/>
</resultMap>
<!-- ===================================================== -->
<!-- 分页查询(只查主表字段,真正参与 LIMIT / OFFSET -->
<!-- ===================================================== -->
<select id="selectVoPagePlus"
resultMap="SysOaWarehouseMasterResult">
SELECT
sowm.master_id,
sowm.master_num,
sowm.type,
sowm.project_id,
sowm.sign_time,
sowm.sign_user,
sowm.remark,
sowm.status,
sowm.is_like,
${ew.sqlSelect},
sop.project_name
FROM sys_oa_warehouse_master sowm
LEFT JOIN sys_oa_project sop
ON sop.project_id = sowm.project_id
${ew.getCustomSqlSegment}
</select>
<!-- ===================================================== -->
<!-- 分页查询(包含日志操作次数) -->
<!-- ===================================================== -->
<select id="selectVoPagePlusWithLogCount"
resultMap="SysOaWarehouseMasterResult">
SELECT
sowm.master_id,
sowm.master_num,
sowm.type,
sowm.project_id,
sowm.sign_time,
sowm.sign_user,
sowm.remark,
sowm.status,
sown.return_type,
sown.withdraw_lock,
${ew.sqlSelect},
sop.project_name,
IFNULL(log_count.log_count, 0) AS logCount
FROM sys_oa_warehouse_master sowm
LEFT JOIN sys_oa_project sop
ON sop.project_id = sowm.project_id
LEFT JOIN (
SELECT
master_id,
COUNT(1) AS log_count
FROM sys_oa_warehouse_log
WHERE del_flag = 0
GROUP BY master_id
) log_count ON log_count.master_id = sowm.master_id
${ew.getCustomSqlSegment}
</select>
<select id="selectDetailByMasterId"
parameterType="long"
resultType="com.ruoyi.oa.domain.vo.SysOaWarehouseDetailVo">
SELECT
sowd.id AS id,
sowd.master_id,
sowd.sign_price,
sowd.amount,
sowd.project_id,
sowd.remark,
sow.brand,
sow.name AS warehouseName,
sow.unit,
COALESCE(sow.model, sowt.model) AS model,
COALESCE(sow.brand, sowt.brand) AS brand,
COALESCE(sow.specifications, sowt.specifications) AS specifications,
sowt.task_inventory,
sop.project_name
FROM sys_oa_warehouse_detail sowd
LEFT JOIN sys_oa_warehouse sow ON sow.id = sowd.warehouse_id
LEFT JOIN sys_oa_warehouse_task sowt ON sowt.master_id = sowd.master_id
LEFT JOIN sys_oa_project sop ON sop.project_id = sowd.project_id
WHERE sowd.del_flag = '0'
AND sowd.master_id = #{masterId}
ORDER BY sowd.id
</select>
<!-- ===================================================== -->
<!-- 子查询:任务列表 by masterId -->
<!-- ===================================================== -->
<select id="selectTaskByMasterId"
parameterType="long"
resultType="com.ruoyi.oa.domain.SysOaWarehouseTask">
SELECT
task_id,
master_id,
name,
model,
task_inventory,
brand,
specifications
FROM sys_oa_warehouse_task
WHERE master_id = #{masterId}
ORDER BY task_id
</select>
</mapper>