推送项目重构代码
This commit is contained in:
@@ -22,6 +22,13 @@
|
||||
</resultMap>
|
||||
|
||||
|
||||
<select id="selectVoPagePlus_COUNT" resultType="java.lang.Long">
|
||||
SELECT COUNT(*)
|
||||
FROM oa_project_schedule AS ops
|
||||
LEFT JOIN sys_oa_project AS op ON ops.project_id = op.project_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectVoPagePlus" resultType="com.ruoyi.oa.domain.vo.OaProjectScheduleVo">
|
||||
SELECT ops.schedule_id,
|
||||
ops.project_id,
|
||||
@@ -32,7 +39,6 @@
|
||||
ops.status,
|
||||
ops.steward,
|
||||
ops.remark,
|
||||
/* ======================== 项目信息 ==================== */
|
||||
op.project_id AS opProjectId,
|
||||
op.project_name,
|
||||
op.project_num,
|
||||
@@ -48,22 +54,33 @@
|
||||
op.trade_type,
|
||||
op.project_code,
|
||||
op.pre_pay,
|
||||
op.is_top AS isTop,
|
||||
(SELECT COUNT(*) FROM oa_project_schedule_step opss
|
||||
WHERE opss.schedule_id = ops.schedule_id AND opss.del_flag = '0') AS totalCount,
|
||||
(SELECT COUNT(*) FROM oa_project_schedule_step opss
|
||||
WHERE opss.schedule_id = ops.schedule_id AND opss.del_flag = '0' AND opss.status IN (0,1)) AS unFinishCount,
|
||||
(SELECT COUNT(*) FROM oa_project_schedule_step opss
|
||||
WHERE opss.schedule_id = ops.schedule_id AND opss.del_flag = '0'
|
||||
AND (
|
||||
opss.use_flag = 0
|
||||
OR (opss.original_end_time IS NOT NULL AND opss.plan_end IS NOT NULL AND opss.plan_end > opss.original_end_time)
|
||||
OR (opss.status = 0 AND opss.original_end_time IS NOT NULL AND CURDATE() > DATE(opss.original_end_time))
|
||||
)
|
||||
) AS delayCount
|
||||
op.is_top AS isTop,
|
||||
op.functionary AS header,
|
||||
cs.step_name AS currentStepName,
|
||||
IFNULL(agg.total_count, 0) AS totalCount,
|
||||
IFNULL(agg.unfinish_count, 0) AS unFinishCount,
|
||||
IFNULL(agg.delay_count, 0) AS delayCount,
|
||||
IFNULL(agg.percent, 0) AS schedulePercentage
|
||||
FROM oa_project_schedule AS ops
|
||||
LEFT JOIN sys_oa_project AS op
|
||||
ON ops.project_id = op.project_id
|
||||
LEFT JOIN oa_project_schedule_step cs
|
||||
ON cs.track_id = ops.current_step
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
opss.schedule_id,
|
||||
COUNT(*) AS total_count,
|
||||
SUM(CASE WHEN opss.status IN (0,1) THEN 1 ELSE 0 END) AS unfinish_count,
|
||||
SUM(CASE
|
||||
WHEN opss.use_flag = 0
|
||||
OR (opss.original_end_time IS NOT NULL AND opss.plan_end IS NOT NULL AND opss.plan_end > opss.original_end_time)
|
||||
OR (opss.status = 0 AND opss.original_end_time IS NOT NULL AND CURDATE() > DATE(opss.original_end_time))
|
||||
THEN 1 ELSE 0 END) AS delay_count,
|
||||
ROUND(SUM(CASE WHEN opss.status = 2 THEN 1 ELSE 0 END) / COUNT(*) * 100, 1) AS percent
|
||||
FROM oa_project_schedule_step opss
|
||||
WHERE opss.del_flag = '0'
|
||||
GROUP BY opss.schedule_id
|
||||
) AS agg ON agg.schedule_id = ops.schedule_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
SELECT GROUP_CONCAT(CONCAT_WS('|', o.oss_id, COALESCE(o.original_name, o.file_name), o.url)
|
||||
ORDER BY FIND_IN_SET(o.oss_id, r.accessory) SEPARATOR ',,')
|
||||
FROM sys_oss o
|
||||
WHERE r.accessory IS NOT NULL AND r.accessory <> ''
|
||||
WHERE r.accessory IS NOT NULL AND r.accessory != ''
|
||||
AND FIND_IN_SET(o.oss_id, r.accessory)
|
||||
) AS accessory_files
|
||||
FROM oa_requirements r
|
||||
@@ -52,7 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
SELECT GROUP_CONCAT(CONCAT_WS('|', o.oss_id, COALESCE(o.original_name, o.file_name), o.url)
|
||||
ORDER BY FIND_IN_SET(o.oss_id, r.accessory) SEPARATOR ',,')
|
||||
FROM sys_oss o
|
||||
WHERE r.accessory IS NOT NULL AND r.accessory <> ''
|
||||
WHERE r.accessory IS NOT NULL AND r.accessory != ''
|
||||
AND FIND_IN_SET(o.oss_id, r.accessory)
|
||||
) AS accessory_files
|
||||
FROM oa_requirements r
|
||||
|
||||
@@ -29,6 +29,8 @@
|
||||
<result property="itemCount" column="item_count"/>
|
||||
<result property="totalQty" column="total_qty"/>
|
||||
<result property="itemsSummary" column="items_summary"/>
|
||||
<result property="receiptDoc" column="receipt_doc"/>
|
||||
<result property="receiptFiles" column="receipt_files"/>
|
||||
|
||||
<collection property="warehouseList"
|
||||
column="master_id"
|
||||
@@ -56,6 +58,7 @@
|
||||
sowm.sign_time,
|
||||
sowm.sign_user,
|
||||
sowm.remark,
|
||||
sowm.receipt_doc,
|
||||
sowm.status,
|
||||
sowm.is_like,
|
||||
sowm.requirement_id,
|
||||
@@ -64,7 +67,14 @@
|
||||
req.title AS requirementName,
|
||||
agg.item_count,
|
||||
agg.total_qty,
|
||||
agg.items_summary
|
||||
agg.items_summary,
|
||||
(
|
||||
SELECT GROUP_CONCAT(CONCAT_WS('|', o.oss_id, COALESCE(o.original_name, o.file_name), o.url)
|
||||
ORDER BY FIND_IN_SET(o.oss_id, sowm.receipt_doc) SEPARATOR ',,')
|
||||
FROM sys_oss o
|
||||
WHERE sowm.receipt_doc IS NOT NULL AND sowm.receipt_doc != ''
|
||||
AND FIND_IN_SET(o.oss_id, sowm.receipt_doc)
|
||||
) AS receipt_files
|
||||
FROM sys_oa_warehouse_master sowm
|
||||
LEFT JOIN sys_oa_project sop ON sop.project_id = sowm.project_id
|
||||
LEFT JOIN oa_requirements req ON req.requirement_id = sowm.requirement_id
|
||||
|
||||
Reference in New Issue
Block a user