进度+文件上传重构+文件权限控制

This commit is contained in:
2025-05-10 22:17:04 +08:00
parent ca3724ff32
commit 9825e0ba1d
49 changed files with 758 additions and 664 deletions

View File

@@ -4,69 +4,101 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.oa.mapper.SysOaWarehouseMasterMapper">
<resultMap type="com.ruoyi.oa.domain.vo.SysOaWarehouseMasterVo" id="SysOaWarehouseMasterResult">
<result 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"/>
<!-- ===================================================== -->
<!-- 主表 + 子表 统一 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"/>
<collection property="warehouseList" ofType="com.ruoyi.oa.domain.vo.SysOaWarehouseDetailVo" javaType="list">
<result property="signPrice" column="sign_price"/>
<result property="id" column="outId"/>
<result property="projectName" column="project_name"/>
<result property="model" column="model"/>
<result property="specifications" column="specifications"/>
<result property="projectId" column="project_id"/>
<result property="amount" column="amount"/>
<result property="warehouseName" column="warehouseName"/>
</collection>
<collection property="warehouseTaskList" resultMap="SysOaWarehouseTaskResult" javaType="list"/>
<result property="status" column="status"/>
<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>
<resultMap type="com.ruoyi.oa.domain.SysOaWarehouseTask" id="SysOaWarehouseTaskResult">
<result property="taskId" column="task_id"/>
<result property="masterId" column="master_id"/>
<result property="name" column="name"/>
<result property="model" column="model"/>
<result property="taskInventory" column="task_inventory"/>
<result property="brand" column="brand"/>
<result property="specifications" column="specifications"/>
</resultMap>
<select id="selectVoPagePlus" resultMap="SysOaWarehouseMasterResult">
select sowm.master_id,
sowm.sign_time,
sowm.sign_user,
sowd.sign_price,
sowm.master_num,
sowm.type,
sowd.amount,
sow.name as warehouseName,
sowm.remark,
sop.project_id,
sop.project_name,
sowm.status,
sowd.id as outId,
task_id,
sowt.name,
COALESCE(sow.model,sowt.model) as model,
task_inventory,
COALESCE(sow.brand,sowt.brand) as brand,
COALESCE(sow.specifications,sowt.specifications) as specifications
from sys_oa_warehouse_master sowm
left join sys_oa_warehouse_detail sowd on sowd.master_id = sowm.master_id and sowd.del_flag='0'
left join sys_oa_warehouse sow on sow.id = sowd.warehouse_id
left join sys_oa_warehouse_task sowt on sowm.master_id = sowt.master_id
left join sys_oa_project sop on sowm.project_id = sop.project_id
<!-- ===================================================== -->
<!-- 分页查询(只查主表字段,真正参与 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,
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>
<!-- ===================================================== -->
<!-- 子查询:明细列表 by masterId -->
<!-- ===================================================== -->
<select id="selectDetailByMasterId"
parameterType="long"
resultType="com.ruoyi.oa.domain.vo.SysOaWarehouseDetailVo">
SELECT
sowd.id AS outId,
sowd.master_id,
sowd.sign_price,
sowd.amount,
sowd.project_id,
sow.name AS warehouseName,
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>