新增文件预览列表修复了任务显示ossId但是无法现在的情况
新增项目编号索引
This commit is contained in:
@@ -46,9 +46,11 @@
|
||||
op.project_grade,
|
||||
op.project_status,
|
||||
op.trade_type,
|
||||
op.project_code,
|
||||
op.pre_pay,
|
||||
opss.plan_end,
|
||||
TIMESTAMPDIFF(DAY, NOW(), opss.plan_end) AS remainTime,
|
||||
opss.header,
|
||||
DATEDIFF(DATE(opss.plan_end), CURDATE()) AS remainTime,
|
||||
ROUND(
|
||||
(
|
||||
(ops.current_step - CASE WHEN opss.status = 0 THEN 1 ELSE 0 END)
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
<result property="status" column="status"/>
|
||||
<result property="expectedDays" column="expected_days"/>
|
||||
<result property="useFlag" column="use_flag"/>
|
||||
<result property="header" column="header"/>
|
||||
|
||||
<!-- ========== 附件列表:多对一 折叠 ========= -->
|
||||
<collection property="fileList"
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
s.reporter,
|
||||
s.project_id AS projectId,
|
||||
s.remark,
|
||||
s.type,
|
||||
p.project_name AS projectName
|
||||
FROM oa_report_summary s
|
||||
LEFT JOIN sys_oa_project p ON s.project_id = p.project_id
|
||||
@@ -42,6 +43,9 @@
|
||||
</if>
|
||||
<if test="bo.projectId != null">
|
||||
AND s.project_id = #{bo.projectId}
|
||||
</if>
|
||||
<if test="bo.type != null">
|
||||
AND s.type = #{bo.type}
|
||||
</if>
|
||||
AND s.del_flag = 0
|
||||
</where>
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
<?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.PrefixCounterMapper">
|
||||
|
||||
|
||||
<insert id="upsertAndIncr">
|
||||
INSERT INTO sys_prefix_counter (prefix, seq)
|
||||
VALUES (#{prefix}, LAST_INSERT_ID(1))
|
||||
ON DUPLICATE KEY UPDATE
|
||||
seq = LAST_INSERT_ID(seq + 1)
|
||||
|
||||
</insert>
|
||||
</mapper>
|
||||
@@ -266,43 +266,21 @@
|
||||
SELECT m.month,
|
||||
|
||||
ROUND(
|
||||
COUNT(
|
||||
DISTINCT CASE
|
||||
WHEN a.project_id NOT IN (0, 1)
|
||||
THEN CONCAT(a.user_id, '_', DATE(a.create_time))
|
||||
END
|
||||
)
|
||||
/
|
||||
NULLIF(
|
||||
COUNT(
|
||||
DISTINCT CASE
|
||||
WHEN a.project_id != 0
|
||||
THEN a.user_id
|
||||
END
|
||||
)
|
||||
*
|
||||
COUNT(
|
||||
DISTINCT CASE
|
||||
WHEN a.project_id != 0
|
||||
THEN DATE(a.create_time)
|
||||
END
|
||||
),
|
||||
0
|
||||
),
|
||||
4
|
||||
COUNT(DISTINCT CASE
|
||||
WHEN a.project_id NOT IN (0, 1)
|
||||
THEN CONCAT(a.user_id, '_', DATE(a.create_time)) END) /
|
||||
NULLIF(COUNT(DISTINCT CASE WHEN a.project_id != 0 THEN a.user_id END) *
|
||||
COUNT(DISTINCT CASE WHEN a.project_id != 0 THEN DATE(a.create_time) END), 0), 4
|
||||
) AS attendanceRate,
|
||||
|
||||
SUM(CASE WHEN a.project_id = 0 THEN 1 ELSE 0 END) AS tripCount,
|
||||
|
||||
COUNT(CASE WHEN a.project_id = 1 THEN 1 END) AS leavePeople,
|
||||
|
||||
SUM(CASE
|
||||
WHEN a.project_id NOT IN (0, 1)
|
||||
AND IFNULL(a.hour, 0) > 8
|
||||
THEN IFNULL(a.hour, 0) - 8
|
||||
ELSE 0
|
||||
END) AS overtimeHours
|
||||
|
||||
FROM (SELECT DATE_FORMAT(#{refDate}, '%Y-%m') AS month,
|
||||
LAST_DAY(#{refDate}) AS last_day,
|
||||
CASE
|
||||
|
||||
@@ -4,9 +4,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.oa.mapper.SysOaContractMapper">
|
||||
|
||||
<resultMap type="com.ruoyi.oa.domain.SysOaContract" id="SysOaContractResult">
|
||||
<resultMap type="com.ruoyi.oa.domain.vo.SysOaContractVo" id="SysOaContractResult">
|
||||
<result property="contractId" column="contract_id"/>
|
||||
<result property="processId" column="process_id"/>
|
||||
<result property="contractNum" column="contract_num"/>
|
||||
<result property="contractName" column="contract_name"/>
|
||||
<result property="firstName" column="first_name"/>
|
||||
@@ -23,9 +22,86 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<collection property="fileList" ofType="com.ruoyi.system.domain.SysOss" javaType="list">
|
||||
<result property="ossId" column="oss_id"/>
|
||||
<result property="fileName" column="file_name"/>
|
||||
<result property="fileSuffix" column="file_suffix"/>
|
||||
<result property="originalName" column="original_name"/>
|
||||
<result property="url" column="url"/>
|
||||
<result property="service" column="service"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
|
||||
<select id="selectVoOnePlus" resultMap="SysOaContractResult">
|
||||
select soc.contract_id,
|
||||
soc.project_id,
|
||||
soc.contract_num,
|
||||
soc.contract_name,
|
||||
soc.first_name,
|
||||
soc.first_person,
|
||||
soc.first_phone,
|
||||
soc.second_name,
|
||||
soc.second_person,
|
||||
soc.second_phone,
|
||||
soc.contract_price,
|
||||
soc.sign_time,
|
||||
soc.validity,
|
||||
soc.contract_type,
|
||||
soc.contract_status,
|
||||
soc.accessory,
|
||||
soc.remark,
|
||||
soc.create_by,
|
||||
soc.create_time,
|
||||
soc.update_by,
|
||||
soc.update_time,
|
||||
so.oss_id,
|
||||
file_name,
|
||||
original_name,
|
||||
file_suffix,
|
||||
url,
|
||||
service,
|
||||
is_public,
|
||||
owner_id
|
||||
from sys_oa_contract soc
|
||||
left join sys_oss so on FIND_IN_SET(so.oss_id, soc.accessory)
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectVoListPlus" resultMap="SysOaContractResult">
|
||||
select soc.contract_id,
|
||||
soc.project_id,
|
||||
soc.contract_num,
|
||||
soc.contract_name,
|
||||
soc.first_name,
|
||||
soc.first_person,
|
||||
soc.first_phone,
|
||||
soc.second_name,
|
||||
soc.second_person,
|
||||
soc.second_phone,
|
||||
soc.contract_price,
|
||||
soc.sign_time,
|
||||
soc.validity,
|
||||
soc.contract_type,
|
||||
soc.contract_status,
|
||||
soc.accessory,
|
||||
soc.remark,
|
||||
soc.create_by,
|
||||
soc.create_time,
|
||||
soc.update_by,
|
||||
soc.update_time,
|
||||
so.oss_id,
|
||||
file_name,
|
||||
original_name,
|
||||
file_suffix,
|
||||
url,
|
||||
service,
|
||||
is_public,
|
||||
owner_id
|
||||
from sys_oa_contract soc
|
||||
left join sys_oss so on FIND_IN_SET(so.oss_id, soc.accessory)
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -60,7 +60,15 @@
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="count" column="count"/>
|
||||
<result property="laborCost" column="labor_cost"/>
|
||||
|
||||
<result property="projectCode" column="project_code"/>
|
||||
<collection property="fileList" ofType="com.ruoyi.system.domain.SysOss" javaType="list">
|
||||
<result property="ossId" column="oss_id"/>
|
||||
<result property="fileName" column="file_name"/>
|
||||
<result property="fileSuffix" column="file_suffix"/>
|
||||
<result property="originalName" column="original_name"/>
|
||||
<result property="url" column="url"/>
|
||||
<result property="service" column="service"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
|
||||
@@ -84,6 +92,7 @@
|
||||
<select id="selectPageOutList" resultMap="SysOaOutWarehouseListVoResult">
|
||||
select sop.project_id,
|
||||
project_name,
|
||||
sop.project_code,
|
||||
soow.warehouse_id,
|
||||
soow.id as soow_id,
|
||||
soow.amount,
|
||||
@@ -99,6 +108,7 @@
|
||||
SELECT
|
||||
p.project_id,
|
||||
p.project_name,
|
||||
p.project_code,
|
||||
p.color,
|
||||
-- 子查询里已经聚合完 labor_cost
|
||||
a.labor_cost,
|
||||
@@ -136,6 +146,7 @@
|
||||
<select id="getProjectDataByMonthAndDate" resultType="com.ruoyi.oa.domain.vo.SysOaProjectVo">
|
||||
select sum(soa.day_length + soa.hour / 8) as labor_cost,
|
||||
color,
|
||||
sop.project_code,
|
||||
sop.project_name,
|
||||
date_format(soa.create_time, '%Y-%m-%d') as create_time
|
||||
from sys_oa_project sop
|
||||
@@ -147,6 +158,7 @@
|
||||
<select id="selectListToCost" resultType="com.ruoyi.oa.domain.vo.SysOaCostAllVo">
|
||||
SELECT
|
||||
sop.project_name,sop.project_num,sop.project_id,sop.funds,
|
||||
sop.project_code,
|
||||
|
||||
(
|
||||
SELECT COALESCE(SUM(soc.cost),0)
|
||||
@@ -264,6 +276,7 @@
|
||||
p.trade_type,
|
||||
p.project_id,
|
||||
p.project_name,
|
||||
p.project_code,
|
||||
p.project_num,
|
||||
p.project_type,
|
||||
p.address,
|
||||
@@ -339,6 +352,7 @@
|
||||
sop.project_id AS p_id,
|
||||
sop.project_name AS project_name,
|
||||
sop.update_time,
|
||||
sop.project_code,
|
||||
t.task_id AS task_id,
|
||||
t.task_type AS task_type,
|
||||
t.status AS task_status,
|
||||
@@ -389,6 +403,7 @@
|
||||
<result property="projectName" column="project_name"/>
|
||||
<result property="projectNum" column="project_num"/>
|
||||
<result property="projectType" column="project_type"/>
|
||||
<result property="projectCode" column="project_code,"/>
|
||||
<result property="remainTime" column="remainTime"/>
|
||||
<!-- 根据项目 ID 查询顶级进度(parent_id 为 0 或 NULL) -->
|
||||
<collection property="progressList"
|
||||
@@ -428,6 +443,7 @@
|
||||
p.progress_name,
|
||||
p.parent_id,
|
||||
p.sort,
|
||||
|
||||
p.remark,
|
||||
p.status,
|
||||
-- 孩子节点总数:如果没有匹配则返回 0
|
||||
@@ -474,6 +490,7 @@
|
||||
p.project_name,
|
||||
p.project_num,
|
||||
p.project_type,
|
||||
p.project_code,
|
||||
p.funds,
|
||||
TIMESTAMPDIFF(DAY, NOW(), p.postpone_time) AS remainTime
|
||||
FROM sys_oa_project p
|
||||
@@ -488,6 +505,7 @@
|
||||
sop.project_num,
|
||||
sop.begin_time,
|
||||
sop.finish_time,
|
||||
sop.project_code,
|
||||
sop.functionary,
|
||||
IFNULL(
|
||||
SUM(CASE WHEN d.detail_status = 1 THEN 1 ELSE 0 END) * 100
|
||||
@@ -502,6 +520,86 @@
|
||||
AND d.del_flag = 0
|
||||
${ ew.getCustomSqlSegment}
|
||||
</select>
|
||||
<select id="listWareProject" resultType="com.ruoyi.oa.domain.vo.SysOaProjectVo">
|
||||
SELECT distinct sop.project_id,
|
||||
project_name,
|
||||
project_num,
|
||||
project_type,
|
||||
address,
|
||||
funds,
|
||||
functionary,
|
||||
begin_time,
|
||||
finish_time,
|
||||
delivery,
|
||||
guarantee,
|
||||
introduction,
|
||||
project_grade,
|
||||
project_status,
|
||||
contract_id,
|
||||
invoice_name,
|
||||
invoice_number,
|
||||
invoice_address,
|
||||
invoice_bank,
|
||||
accessory,
|
||||
bail,
|
||||
is_postpone,
|
||||
postpone_reason,
|
||||
postpone_time,
|
||||
color,
|
||||
trade_type,
|
||||
sop.project_code,
|
||||
pre_pay
|
||||
FROM sys_oa_project sop
|
||||
INNER JOIN sys_oa_warehouse_master sown
|
||||
ON sown.project_id = sop.project_id
|
||||
${ ew.getCustomSqlSegment}
|
||||
</select>
|
||||
<select id="selectVoByIdPlus" resultMap="SysOaProjectVoResult">
|
||||
select sop.project_id,
|
||||
project_name,
|
||||
project_num,
|
||||
project_type,
|
||||
address,
|
||||
funds,
|
||||
functionary,
|
||||
begin_time,
|
||||
finish_time,
|
||||
delivery,
|
||||
guarantee,
|
||||
introduction,
|
||||
project_grade,
|
||||
project_status,
|
||||
contract_id,
|
||||
invoice_name,
|
||||
invoice_number,
|
||||
invoice_address,
|
||||
invoice_bank,
|
||||
bail,
|
||||
remark,
|
||||
accessory,
|
||||
sop.create_by,
|
||||
sop.create_time,
|
||||
sop.update_by,
|
||||
sop.update_time,
|
||||
sop.project_code,
|
||||
is_postpone,
|
||||
postpone_reason,
|
||||
postpone_time,
|
||||
color,
|
||||
trade_type,
|
||||
pre_pay,
|
||||
so.oss_id,
|
||||
file_name,
|
||||
original_name,
|
||||
file_suffix,
|
||||
url,
|
||||
service,
|
||||
is_public,
|
||||
owner_id
|
||||
from sys_oa_project sop
|
||||
left join sys_oss so on FIND_IN_SET(so.oss_id, sop.accessory)
|
||||
where sop.project_id = #{projectId}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -14,7 +14,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="beginTime" column="begin_time"/>
|
||||
<result property="finishTime" column="finish_time"/>
|
||||
<result property="content" column="content"/>
|
||||
<result property="accessory" column="accessory"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="state" column="state"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
@@ -26,13 +25,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<collection property="taskItemVoList" ofType="com.ruoyi.oa.domain.vo.SysOaTaskItemVo" javaType="list">
|
||||
<result property="itemId" column="item_id"/>
|
||||
<result property="content" column="itemContent"/>
|
||||
<result property="files" column="files"/>
|
||||
<result property="signTime" column="sign_time"/>
|
||||
<result property="status" column="itemStatus"/>
|
||||
<result property="beginTime" column="itemBeginTime"/>
|
||||
<result property="endTime" column="itemEndTime"/>
|
||||
<result property="remark" column="itemRemark"/>
|
||||
<result property="completedTime" column="itemCompletedTime"/>
|
||||
<!-- ========== 附件列表:多对一 折叠 ========= -->
|
||||
<collection property="itemFileList"
|
||||
ofType="com.ruoyi.system.domain.SysOss"
|
||||
javaType="java.util.ArrayList">
|
||||
<result property="ossId" column="item_oss_id"/>
|
||||
<result property="url" column="item_attach_url"/>
|
||||
<result property="fileName" column="item_attach_file_name"/>
|
||||
<result property="createBy" column="item_create_by"/>
|
||||
<result property="isPublic" column="item_is_public"/>
|
||||
<result property="ownerId" column="item_owner_id"/>
|
||||
</collection>
|
||||
</collection>
|
||||
<!-- ========== 附件列表:多对一 折叠 ========= -->
|
||||
<collection property="fileList"
|
||||
ofType="com.ruoyi.system.domain.SysOss"
|
||||
javaType="java.util.ArrayList">
|
||||
<result property="ossId" column="oss_id"/>
|
||||
<result property="url" column="attach_url"/>
|
||||
<result property="fileName" column="attach_file_name"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="isPublic" column="is_public"/>
|
||||
<result property="ownerId" column="owner_id"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
@@ -60,13 +80,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
sot.origin_finish_time,
|
||||
sot.postponements,
|
||||
sot.completed_time,
|
||||
sot.content,
|
||||
(
|
||||
SELECT GROUP_CONCAT(so.url SEPARATOR ',')
|
||||
FROM sys_oss so
|
||||
WHERE FIND_IN_SET(so.oss_id, sot.accessory) > 0
|
||||
) AS accessory,
|
||||
|
||||
CASE
|
||||
WHEN sot.completed_time IS NULL
|
||||
THEN DATEDIFF(
|
||||
NOW(),
|
||||
COALESCE(
|
||||
sot.finish_time,
|
||||
(SELECT a.end_time
|
||||
FROM sys_oa_task_item a
|
||||
WHERE a.task_id = sot.task_id
|
||||
AND a.completed_time IS NULL
|
||||
LIMIT 1)
|
||||
)
|
||||
)
|
||||
ELSE 0
|
||||
END AS overDays,
|
||||
sot.rank_number,
|
||||
sot.remark,
|
||||
sot.task_rank,
|
||||
@@ -83,19 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
soti.item_id,
|
||||
sop.project_num,
|
||||
su1.nick_name AS createUserNickName,
|
||||
su2.nick_name AS workerNickName,
|
||||
CASE
|
||||
WHEN sot.completed_time IS NULL
|
||||
THEN DATEDIFF(NOW(), COALESCE(sot.finish_time, soti.end_time))
|
||||
ELSE 0
|
||||
END AS overDays,
|
||||
(
|
||||
|
||||
SELECT GROUP_CONCAT(so.url SEPARATOR ',')
|
||||
FROM sys_oss so
|
||||
WHERE FIND_IN_SET(so.oss_id, soti.files) > 0
|
||||
) AS files
|
||||
|
||||
su2.nick_name AS workerNickName
|
||||
FROM sys_oa_task sot
|
||||
LEFT JOIN sys_user su1 ON su1.user_id = sot.create_user_id
|
||||
LEFT JOIN sys_user su2 ON su2.user_id = sot.worker_id
|
||||
@@ -110,105 +126,101 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
|
||||
<select id="selectDetailVoById" resultMap="SysOaTaskResult">
|
||||
SELECT
|
||||
sot.task_id,
|
||||
sot.project_id,
|
||||
sot.create_user_id,
|
||||
sot.worker_id,
|
||||
sot.task_title,
|
||||
sot.task_type,
|
||||
sot.task_grade,
|
||||
SELECT sot.task_id,
|
||||
sot.project_id,
|
||||
sot.create_user_id,
|
||||
sot.worker_id,
|
||||
sot.task_title,
|
||||
sot.task_type,
|
||||
sot.task_grade,
|
||||
|
||||
COALESCE(
|
||||
sot.finish_time,
|
||||
(
|
||||
SELECT a.end_time
|
||||
COALESCE(
|
||||
sot.finish_time,
|
||||
(SELECT a.end_time
|
||||
FROM sys_oa_task_item a
|
||||
WHERE a.task_id = sot.task_id
|
||||
AND a.completed_time IS NULL
|
||||
LIMIT 1
|
||||
)
|
||||
) AS finish_time,
|
||||
COALESCE(
|
||||
sot.temp_time,
|
||||
(
|
||||
SELECT a.temp_time
|
||||
LIMIT 1)
|
||||
) AS finish_time,
|
||||
COALESCE(
|
||||
sot.temp_time,
|
||||
(SELECT a.temp_time
|
||||
FROM sys_oa_task_item a
|
||||
WHERE a.task_id = sot.task_id
|
||||
AND a.completed_time IS NULL
|
||||
LIMIT 1
|
||||
)
|
||||
) AS temp_time,
|
||||
LIMIT 1)
|
||||
) AS temp_time,
|
||||
|
||||
sot.begin_time,
|
||||
sot.origin_finish_time,
|
||||
sot.postponements,
|
||||
sot.completed_time,
|
||||
sot.content,
|
||||
su1.nick_name AS createUserNickName,
|
||||
su2.nick_name AS workerNickName,
|
||||
sot.begin_time,
|
||||
sot.origin_finish_time,
|
||||
sot.postponements,
|
||||
sot.completed_time,
|
||||
sot.content,
|
||||
su1.nick_name AS createUserNickName,
|
||||
su2.nick_name AS workerNickName,
|
||||
|
||||
(
|
||||
SELECT GROUP_CONCAT(so.url SEPARATOR ',')
|
||||
(SELECT GROUP_CONCAT(so.url SEPARATOR ',')
|
||||
FROM sys_oss so
|
||||
WHERE FIND_IN_SET(so.oss_id, sot.accessory) > 0
|
||||
) AS accessory,
|
||||
WHERE FIND_IN_SET(so.oss_id, sot.accessory) > 0) AS accessory,
|
||||
|
||||
sot.rank_number,
|
||||
sot.remark,
|
||||
sot.task_rank,
|
||||
sot.state,
|
||||
sot.time_gap,
|
||||
sot.status,
|
||||
sot.create_by,
|
||||
sot.create_time,
|
||||
sot.update_by,
|
||||
sot.update_time,
|
||||
sot.del_flag,
|
||||
sot.own_rank,
|
||||
sop.project_name,
|
||||
sop.project_num,
|
||||
sot.rank_number,
|
||||
sot.remark,
|
||||
sot.task_rank,
|
||||
sot.state,
|
||||
sot.time_gap,
|
||||
sot.status,
|
||||
sot.create_by,
|
||||
sot.create_time,
|
||||
sot.update_by,
|
||||
sot.update_time,
|
||||
sot.del_flag,
|
||||
sot.own_rank,
|
||||
sop.project_name,
|
||||
sop.project_num,
|
||||
|
||||
soti.item_id,
|
||||
soti.content AS itemContent,
|
||||
soti.sign_time,
|
||||
soti.status AS itemStatus,
|
||||
soti.begin_time AS itemBeginTime,
|
||||
soti.completed_time AS itemCompletedTime,
|
||||
soti.end_time AS itemEndTime,
|
||||
soti.remark AS itemRemark,
|
||||
(
|
||||
SELECT GROUP_CONCAT(so.url SEPARATOR ',')
|
||||
FROM sys_oss so
|
||||
WHERE FIND_IN_SET(so.oss_id, soti.files) > 0
|
||||
) AS files,
|
||||
CASE
|
||||
WHEN sot.completed_time IS NULL
|
||||
THEN DATEDIFF(
|
||||
NOW(),
|
||||
COALESCE(
|
||||
sot.finish_time,
|
||||
(
|
||||
SELECT a.end_time
|
||||
soti.item_id,
|
||||
soti.content AS itemContent,
|
||||
soti.sign_time,
|
||||
soti.status AS itemStatus,
|
||||
soti.begin_time AS itemBeginTime,
|
||||
soti.completed_time AS itemCompletedTime,
|
||||
soti.end_time AS itemEndTime,
|
||||
soti.remark AS itemRemark,
|
||||
CASE
|
||||
WHEN sot.completed_time IS NULL
|
||||
THEN DATEDIFF(
|
||||
NOW(),
|
||||
COALESCE(
|
||||
sot.finish_time,
|
||||
(SELECT a.end_time
|
||||
FROM sys_oa_task_item a
|
||||
WHERE a.task_id = sot.task_id
|
||||
AND a.completed_time IS NULL
|
||||
LIMIT 1
|
||||
)
|
||||
)
|
||||
)
|
||||
ELSE 0
|
||||
END AS overDays
|
||||
|
||||
FROM sys_oa_task sot
|
||||
LEFT JOIN sys_user su1 ON su1.user_id = sot.create_user_id
|
||||
LEFT JOIN sys_user su2 ON su2.user_id = sot.worker_id
|
||||
LEFT JOIN sys_oa_project sop ON sop.project_id = sot.project_id
|
||||
|
||||
|
||||
LEFT JOIN sys_oa_task_item soti
|
||||
ON soti.task_id = sot.task_id
|
||||
|
||||
LIMIT 1)
|
||||
)
|
||||
)
|
||||
ELSE 0
|
||||
END AS overDays,
|
||||
so.oss_id AS oss_id,
|
||||
so.url AS attach_url,
|
||||
so.original_name AS attach_file_name, -- 如有需要
|
||||
so.create_by,
|
||||
so.is_public,
|
||||
so.owner_id,
|
||||
so2.oss_id AS item_oss_is,
|
||||
so2.url AS item_attach_url,
|
||||
so2.original_name AS item_attach_file_name, -- 如有需要
|
||||
so2.create_by as item_create_by,
|
||||
so2.is_public as item_is_public,
|
||||
so2.owner_id as item_owner_id
|
||||
FROM sys_oa_task sot
|
||||
LEFT JOIN sys_user su1
|
||||
ON su1.user_id = sot.create_user_id
|
||||
LEFT JOIN sys_user su2 ON su2.user_id = sot.worker_id
|
||||
LEFT JOIN sys_oa_project sop ON sop.project_id = sot.project_id
|
||||
LEFT JOIN sys_oss so ON FIND_IN_SET(so.oss_id, sot.accessory)
|
||||
LEFT JOIN sys_oa_task_item soti ON soti.task_id = sot.task_id
|
||||
LEFT JOIN sys_oss so2 ON FIND_IN_SET(so2.oss_id, soti.files)
|
||||
WHERE
|
||||
sot.task_id = #{taskId}
|
||||
AND sot.del_flag = '0'
|
||||
|
||||
@@ -55,9 +55,6 @@
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
<!-- ===================================================== -->
|
||||
<!-- 子查询:明细列表 by masterId -->
|
||||
<!-- ===================================================== -->
|
||||
<select id="selectDetailByMasterId"
|
||||
parameterType="long"
|
||||
resultType="com.ruoyi.oa.domain.vo.SysOaWarehouseDetailVo">
|
||||
@@ -67,6 +64,7 @@
|
||||
sowd.sign_price,
|
||||
sowd.amount,
|
||||
sowd.project_id,
|
||||
sow.brand,
|
||||
sow.name AS warehouseName,
|
||||
COALESCE(sow.model, sowt.model) AS model,
|
||||
COALESCE(sow.brand, sowt.brand) AS brand,
|
||||
|
||||
Reference in New Issue
Block a user