Compare commits

...

6 Commits

Author SHA1 Message Date
21f522cd1a Merge remote-tracking branch 'origin/dev-2025' into dev-2025
# Conflicts:
#	src/main/java/com/sa/zentao/service/impl/ZtTaskServiceImpl.java
#	src/main/resources/mapper/ZtStoryMapper.xml
2025-12-30 17:17:40 +08:00
679aa5f0c1 产品角色等 2025-12-30 09:43:05 +08:00
99c17f1ef1 需求增加筛选 2025-12-30 09:38:09 +08:00
563699a527 需求增加筛选 2025-12-30 09:38:04 +08:00
0f1c7b02fe 产品角色等 2025-12-25 14:02:41 +08:00
8f0c7a020c 产品角色等 2025-12-25 13:46:26 +08:00
2 changed files with 99 additions and 58 deletions

View File

@@ -111,6 +111,14 @@ public class ZtProjectQo extends BaseQo {
private String spec;
private String bugType;
/**
* 测试人员
*/
private String testUser;
/**
* 产品人员
*/
private String productUser;
private String account;
//1 延期 2不延期

View File

@@ -219,6 +219,13 @@
and s.title like concat('%', #{qo.title}, '%')
</if>
<if test="qo.testUser != null and qo.testUser != '' ">
and s.test_user like concat('%', #{qo.testUser}, '%')
</if>
<if test="qo.productUser != null and qo.productUser != '' ">
and s.product_user like concat('%', #{qo.productUser}, '%')
</if>
<if test="qo.id != null ">
and s.id = #{qo.id}
</if>
@@ -276,6 +283,8 @@
</if>
group by s.id
<choose>
<when test="qo.orderName != '' and qo.orderName != null ">
<choose>
@@ -372,14 +381,32 @@
pt.name productName
from zt_story s
left join zt_storyreview v on s.id = v.story and s.version = v.version
left join zt_projectstory pstory on s.id = pstory.story and pstory.`type` = 'project'
left join zt_project pj on pstory.project = pj.id
left join zt_product pt on s.product = pt.id
left join zt_storyreview v on s.id = v.story and s.version = v.version
left join zt_projectstory pstory on s.id = pstory.story and pstory.`type` = 'project'
left join zt_project pj on pstory.project = pj.id
left join zt_product pt on s.product = pt.id
left join zt_projectstory ps on s.id = ps.story
WHERE 1=1
WHERE 1=1
<!-- <if test="qo.startDate !=null">-->
<!-- and s.openedDate <![CDATA[>=]]> #{qo.startDate}-->
<!-- </if>-->
<!-- <if test="qo.endDate !=null">-->
<!-- and s.openedDate <![CDATA[<=]]> #{qo.endDate}-->
<!-- </if>-->
<!-- <if test="qo.startDate !=null">-->
<!-- and s.openedDate <![CDATA[>=]]> #{qo.startDate}-->
<!-- </if>-->
<!-- <if test="qo.endDate !=null">-->
<!-- and s.openedDate <![CDATA[<=]]> #{qo.endDate}-->
<!-- </if>-->
<if test="qo.testUser != null and qo.testUser != '' ">
and s.test_user like concat('%', #{qo.testUser}, '%')
</if>
<if test="qo.productUser != null and qo.productUser != '' ">
and s.product_user like concat('%', #{qo.productUser}, '%')
</if>
<!-- <if test="qo.startDate !=null">-->
<!-- and s.openedDate <![CDATA[>=]]> #{qo.startDate}-->
<!-- </if>-->
@@ -397,7 +424,7 @@
</if>
<if test="qo.searchVal != null and qo.searchVal == 'WYS' ">
and s.ys_user = #{qo.userName}
and s.ys_user = #{qo.userName}
</if>
<if test="qo.stage != null and qo.stage != '' ">
@@ -429,40 +456,40 @@
and s.assignedTo like concat('%', #{qo.testUser}, '%')
</if>
<if test="qo.productName != null and qo.productName != '' ">
and pt.name like concat('%', #{qo.productName}, '%')
and pt.name like concat('%', #{qo.productName}, '%')
</if>
<if test="qo.project != null ">
and ps.project =#{qo.project}
and ps.type= 'project'
</if>
<if test="qo.execution != null ">
and ps.project =#{qo.execution}
and ps.type= 'execution'
</if>
<if test="qo.moduleId != null ">
and s.module =#{qo.moduleId}
</if>
<if test="qo.searchVal != null and qo.searchVal == 'ALL' ">
<if test="qo.project != null ">
and ps.project =#{qo.project}
and ps.type= 'project'
</if>
<if test="qo.execution != null ">
and ps.project =#{qo.execution}
and ps.type= 'execution'
</if>
<if test="qo.moduleId != null ">
and s.module =#{qo.moduleId}
</if>
<if test="qo.searchVal != null and qo.searchVal == 'ALL' ">
</if>
<if test="qo.searchVal != null and qo.searchVal == 'WGB' ">
and s.status !='closed'
</if>
<if test="qo.searchVal != null and qo.searchVal == 'ZGW' ">
and s.assignedTo = #{qo.userName}
</if>
<if test="qo.kfz == 1 ">
<if test="qo.userName != null and qo.userName != '' ">
and
(s.assignedTo = #{qo.userName}
or s.openedBy = #{qo.userName}
)
</if>
<if test="qo.searchVal != null and qo.searchVal == 'WGB' ">
and s.status !='closed'
</if>
<if test="qo.searchVal != null and qo.searchVal == 'ZGW' ">
and s.assignedTo = #{qo.userName}
</if>
</if>
<if test="qo.kfz == 1 ">
<if test="qo.userName != null and qo.userName != '' ">
and
(s.assignedTo = #{qo.userName}
or s.openedBy = #{qo.userName}
)
</if>
</if>
<if test="qo.searchVal != null and qo.searchVal == 'WCJ' ">
and s.openedBy = #{qo.userName}
@@ -494,7 +521,7 @@
</if>
<if test="qo.searchVal == 'WZP' ">
and s.status = '11'
and s.status = '11'
</if>
<if test="qo.searchVal == 'WPS' ">
@@ -508,7 +535,7 @@
<if test="qo.searchVal == 'DYS' ">
and ( s.stage = 'released'
and ( s.stage = 'released'
and s.ys_flag =0)
or (s.stage = 'verified' and s.ys_flag =2)
</if>
@@ -520,53 +547,53 @@
<if test="qo.searchCode != null and qo.searchCode != '' ">
-- //项目名称
-- //项目名称
<if test="qo.searchCode=='xmmc' and qo.searchValue != null and qo.searchValue != '' ">
and pj.name like concat('%', #{qo.searchValue}, '%')
and pj.name like concat('%', #{qo.searchValue}, '%')
</if>
-- 项目id
-- 项目id
<if test="qo.searchCode=='xmid' and qo.searchValue != null and qo.searchValue != '' ">
and pj.id =#{qo.searchValue}
and pj.id =#{qo.searchValue}
</if>
-- //需求名称
-- //需求名称
<if test="qo.searchCode=='xqmc' and qo.searchValue != null and qo.searchValue != '' ">
and s.title like concat('%', #{qo.searchValue}, '%')
and s.title like concat('%', #{qo.searchValue}, '%')
</if>
-- 需求id
-- 需求id
<if test="qo.searchCode=='xqid' and qo.searchValue != null and qo.searchValue != '' ">
and s.id =#{qo.searchValue}
and s.id =#{qo.searchValue}
</if>
-- 状态
-- 状态
<if test="qo.searchCode=='zt' and qo.searchValue != null and qo.searchValue != '' ">
and s.stage =#{qo.searchValue}
and s.stage =#{qo.searchValue}
</if>
-- 项目描述
-- 项目描述
<if test="qo.searchCode=='xmms' and qo.searchValue != null and qo.searchValue != '' ">
and sp.`spec` =#{qo.searchValue}
and sp.`spec` =#{qo.searchValue}
</if>
-- 负责人
-- 负责人
<if test="qo.searchCode=='fzr' and qo.searchValue != null and qo.searchValue != '' ">
and s.assignedTo =#{qo.searchValue}
and s.assignedTo =#{qo.searchValue}
</if>
<if test="qo.searchCode=='jhwc' and qo.searchValue != null and qo.searchValue != '' ">
and s.plan_end_date ${qo.searchValue}
and s.plan_end_date ${qo.searchValue}
</if>
<if test="qo.searchCode=='sjks' and qo.searchValue != null and qo.searchValue != '' ">
and s.start_date ${qo.searchValue}
and s.start_date ${qo.searchValue}
</if>
<if test="qo.searchCode=='sjwc' and qo.searchValue != null and qo.searchValue != '' ">
and s.end_date ${qo.searchValue}
and s.end_date ${qo.searchValue}
</if>
<if test="qo.searchCode=='yscj' and qo.searchValue != null and qo.searchValue != '' ">
and s.openedBy = #{qo.searchValue}
and s.openedBy = #{qo.searchValue}
</if>
<if test="qo.searchCode=='ysgb' and qo.searchValue != null and qo.searchValue != '' ">
and s.closedBy = #{qo.searchValue}
and s.closedBy = #{qo.searchValue}
</if>
</if>
@@ -588,13 +615,14 @@
</if>
group by s.id
<choose>
<when test="qo.orderName != '' and qo.orderName != null ">
<choose>
<when test="qo.orderSort != '' and qo.orderSort != null ">
order by s.${qo.orderName} ${qo.orderSort}
order by s.${qo.orderName} ${qo.orderSort}
</when>
<otherwise>
order by s.id desc
@@ -901,7 +929,12 @@
WHERE 1=1
<if test="qo.testUser != null and qo.testUser != '' ">
and s.test_user like concat('%', #{qo.testUser}, '%')
</if>
<if test="qo.productUser != null and qo.productUser != '' ">
and s.product_user like concat('%', #{qo.productUser}, '%')
</if>
<if test="qo.pri != null and qo.pri != '' ">
and s.pri = #{qo.pri}