库存导入bug修复,外貌重构初步

This commit is contained in:
2025-05-13 20:21:02 +08:00
parent 9825e0ba1d
commit d5e527b44e
23 changed files with 392 additions and 70 deletions

View File

@@ -4,24 +4,118 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.oa.mapper.OaProgressMapper">
<resultMap type="com.ruoyi.oa.domain.OaProgress" id="OaProgressResult">
<result property="progressId" column="progress_id"/>
<result property="projectId" column="project_id"/>
<result property="type" column="type"/>
<!-- 1. 定义 OaProgressVo 的映射:同时嵌套子阶段和子任务 -->
<resultMap id="OaProgressResult" type="com.ruoyi.oa.domain.vo.OaProgressVo">
<id property="progressId" column="progress_id"/>
<result property="projectId" column="project_id"/>
<result property="type" column="type"/>
<result property="progressName" column="progress_name"/>
<result property="parentId" column="parent_id"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
<result property="sort" column="sort"/>
<result property="remark" column="remark"/>
<result property="status" column="status"/>
<result property="timeRemark" column="time_remark"/>
<result property="parentId" column="parent_id"/>
<result property="sort" column="sort"/>
<result property="remark" column="remark"/>
<result property="status" column="status"/>
<result property="timeRemark" column="time_remark"/>
<result property="contactPhone" column="contact_phone"/>
<!-- 嵌套查询一级或二级子阶段 -->
<collection property="children"
ofType="com.ruoyi.oa.domain.vo.OaProgressVo"
javaType="list"
select="queryByParentId"
column="progress_id"/>
<!-- 嵌套查询本阶段下的所有任务明细 -->
<collection property="tasks"
ofType="com.ruoyi.oa.domain.vo.OaProgressDetailVo"
javaType="list"
select="queryDetailsByProgressId"
column="progress_id"/>
</resultMap>
<!-- 2. 定义 OaProgressDetailVo 的映射 -->
<resultMap id="OaProgressDetailResult" type="com.ruoyi.oa.domain.vo.OaProgressDetailVo">
<id property="detailId" column="detail_id"/>
<result property="progressId" column="progress_id"/>
<result property="detailName" column="detail_name"/>
<result property="planStartDate" column="plan_start_date"/>
<result property="planEndDate" column="plan_end_date"/>
<result property="actualStartDate" column="actual_start_date"/>
<result property="actualEndDate" column="actual_end_date"/>
<result property="completePercent" column="complete_percent"/>
<result property="planPayDate" column="plan_pay_date"/>
<result property="payAmount" column="pay_amount"/>
<result property="paidAmount" column="paid_amount"/>
<result property="remark" column="remark"/>
<result property="detailStatus" column="detail_status"/>
</resultMap>
<!-- 3. 查询所有父进度parent_id = 0-->
<select id="queryByProjectId"
parameterType="java.lang.Long"
resultMap="OaProgressResult">
SELECT
progress_id,
project_id,
type,
progress_name,
parent_id,
sort,
remark,
status,
time_remark,
contact_phone
FROM oa_progress
WHERE project_id = #{projectId}
AND parent_id = 0
AND del_flag = 0
ORDER BY sort
</select>
<!-- 4. 根据 parentId 查询子进度 -->
<select id="queryByParentId"
parameterType="java.lang.Long"
resultMap="OaProgressResult">
SELECT
progress_id,
project_id,
type,
progress_name,
parent_id,
sort,
remark,
status,
time_remark,
contact_phone
FROM oa_progress
WHERE parent_id = #{parentId}
AND del_flag = 0
ORDER BY sort
</select>
<!-- 5. 根据 progressId 查询对应的所有任务明细 -->
<select id="queryDetailsByProgressId"
parameterType="java.lang.Long"
resultMap="OaProgressDetailResult">
SELECT
detail_id,
progress_id,
detail_name,
plan_start_date,
plan_end_date,
actual_start_date,
actual_end_date,
complete_percent,
plan_pay_date,
pay_amount,
paid_amount,
remark,
detail_status
FROM oa_progress_detail
WHERE progress_id = #{progressId}
AND del_flag = 0
ORDER BY plan_start_date
</select>
<select id="getKeyList" resultType="com.ruoyi.oa.domain.OaProgressDetail">
select distinct detail_name, department
@@ -101,4 +195,6 @@
</select>
</mapper>

View File

@@ -480,5 +480,28 @@
${ew.getCustomSqlSegment}
</select>
<select id="selectVoListPage" resultType="com.ruoyi.oa.domain.vo.SysOaProjectVo">
SELECT
sop.project_id,
sop.project_name,
sop.project_num,
sop.begin_time,
sop.finish_time,
sop.functionary,
IFNULL(
SUM(CASE WHEN d.detail_status = 1 THEN 1 ELSE 0 END) * 100
/ NULLIF(COUNT(d.detail_id), 0)
, 0) AS progress
FROM sys_oa_project sop
LEFT JOIN oa_progress pr
ON pr.project_id = sop.project_id
AND pr.del_flag = 0
LEFT JOIN oa_progress_detail d
ON d.progress_id = pr.progress_id
AND d.del_flag = 0
${ ew.getCustomSqlSegment}
</select>
</mapper>

View File

@@ -69,6 +69,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join sys_oa_warehouse_master sowm on sowm.master_id = sowt.master_id
where sowt.warehouse_id = sow.id
and sowm.type = 2
and sowt.del_flag = '0'
and sowm.del_flag = '0'
and sowm.status = 0
) as task_inventory
from sys_oa_warehouse sow