From fb53b3101bd5953465a2b35aa543daefb8395247 Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Sat, 02 Nov 2024 11:33:11 +0800
Subject: [PATCH] 湖北水库:审批bug解决
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java | 37 ++++++++++++------
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java | 2
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java | 9 +++-
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml | 47 +++++++++++++++++++++--
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml | 12 ++++-
5 files changed, 84 insertions(+), 23 deletions(-)
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java
index dd97467..c7cf636 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java
@@ -54,12 +54,13 @@
/**
* 用户所在单位
*/
- private List<Long> userUnit;
+ private List<String> userUnit;
/**
* 县单位位
*/
- private List<Long> countryUnit;
+ private List<String> countryUnit;
+ private List<String> selfUnit;
/**
* 用户角色
@@ -160,5 +161,9 @@
* 是否单位过滤 1不过滤
*/
private Integer isUnit;
+ /**
+ * 施工单位
+ */
+// private String selfUnit;
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
index ca50878..818828e 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
@@ -105,10 +105,16 @@
LEFT JOIN ywxt.sg_report_user userR ON report.id = userR.report_id
WHERE
1 = 1 and report."STATUS" != 4
+ <if test="dto.selfUnit != null and dto.selfUnit.size>0">
+ and
+ <foreach collection="dto.selfUnit" item="item" index="index" open="(" separator="or" close=")">
+ si.SELF_UNIT Like CONCAT(CONCAT('%', #{item}), '%')
+ </foreach>
+ </if>
<if test="dto.userUnit != null and dto.userUnit.size>0">
- and si.CONTROL_UNIT in
- <foreach collection="dto.userUnit" item="item" index="index" open="(" separator="," close=")">
- #{item}
+ and
+ <foreach collection="dto.userUnit" item="item" index="index" open="(" separator="or" close=")">
+ si.CONTROL_UNIT Like CONCAT(CONCAT('%', #{item}), '%')
</foreach>
</if>
<if test="dto.countryUnit != null and dto.countryUnit.size>0">
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
index ae67c04..a0ba307 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
@@ -57,7 +57,7 @@
List<SgProjectTreeVO> projectTree(@Param("dto") ProjectSearchDTO dto);
- List<String> getUserS(String controlUnit);
+ List<String> getUserS(@Param("list") List<String> controlUnit);
List<ResVO> resList(IPage<ResVO> page, @Param("dto") ProjectSearchDTO dto);
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
index 96a0d32..3484c4a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
@@ -16,6 +16,24 @@
LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = info.sk_id
WHERE
1 =1
+ <if test="dto.selfUnit != null and dto.selfUnit.size>0">
+ and
+ <foreach collection="dto.selfUnit" item="item" index="index" open="(" separator="or" close=")">
+ info.SELF_UNIT Like CONCAT(CONCAT('%', #{item}), '%')
+ </foreach>
+ </if>
+ <if test="dto.userUnit != null and dto.userUnit.size>0">
+ and
+ <foreach collection="dto.userUnit" item="item" index="index" open="(" separator="or" close=")">
+ info.CONTROL_UNIT Like CONCAT(CONCAT('%', #{item}), '%')
+ </foreach>
+ </if>
+ <if test="dto.countryUnit != null and dto.countryUnit.size>0">
+ and dria."county_cd" in
+ <foreach collection="dto.countryUnit" item="item" index="index" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
<if test="dto.projectName != null and dto.projectName != ''">
and info.project_name like concat( concat ('%',#{dto.projectName}),'%')
</if>
@@ -488,6 +506,24 @@
</select>
<sql id="queryBySgCodeS">
+ <if test="dto.selfUnit != null and dto.selfUnit.size>0">
+ and
+ <foreach collection="dto.selfUnit" item="item" index="index" open="(" separator="or" close=")">
+ pro.SELF_UNIT Like CONCAT(CONCAT('%', #{item}), '%')
+ </foreach>
+ </if>
+ <if test="dto.userUnit != null and dto.userUnit.size>0">
+ and
+ <foreach collection="dto.userUnit" item="item" index="index" open="(" separator="or" close=")">
+ pro.CONTROL_UNIT Like CONCAT(CONCAT('%', #{item}), '%')
+ </foreach>
+ </if>
+ <if test="dto.countryUnit != null and dto.countryUnit.size>0">
+ and dria."county_cd" in
+ <foreach collection="dto.countryUnit" item="item" index="index" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
<if test="dto.sgCodeS != null and dto.sgCodeS.size > 0">
and (dria."province_cd" in
<foreach collection="dto.sgCodeS" item="id" separator="," open="(" close=")">
@@ -586,10 +622,13 @@
user_id
FROM
"YWXT"."BLADE_USER_DEPT"
- WHERE
- dept_id = #{controlUnit}
-
-
+ WHERE 1=1
+ <if test="list != null and list.size>0">
+ and dept_id in
+ <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
</select>
<select id="resList" resultType="cn.gistack.sm.sg.VO.ResVO">
select dria.* from "SJZT_DW"."dim_res_info_a" dria where 1=1
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
index 373228c..38f2157 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -78,7 +78,8 @@
List<String> resultUsers=new ArrayList<>();
if(s.getControlUnit()!=null){
String controlUnit = s.getControlUnit();
- List<String> users=sgProjectInfoMapper.getUserS(controlUnit);
+ List<String> controlUnitS = Arrays.asList(controlUnit.split(","));
+ List<String> users=sgProjectInfoMapper.getUserS(controlUnitS);
resultUsers.addAll(users);
}
// if(s.getSelfUnit()!=null){
@@ -95,7 +96,8 @@
if("测量定位".equals(gxStepName)){
if(countyCd!=null){
- List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd);
+ List<String> controlUnitS = Arrays.asList(countyCd.split(","));
+ List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS);
s.setXbUnitIDs(xbUnitIDs);
}
@@ -119,7 +121,8 @@
List<String> resultUsers=new ArrayList<>();
if(s.getControlUnit()!=null){
String controlUnit = s.getControlUnit();
- List<String> users=sgProjectInfoMapper.getUserS(controlUnit);
+ List<String> controlUnitS = Arrays.asList(controlUnit.split(","));
+ List<String> users=sgProjectInfoMapper.getUserS(controlUnitS);
resultUsers.addAll(users);
}
// if(s.getSelfUnit()!=null){
@@ -136,7 +139,8 @@
if("测量定位".equals(gxStepName)){
if(countyCd!=null){
- List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd);
+ List<String> controlUnitS = Arrays.asList(countyCd.split(","));
+ List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS);
s.setXbUnitIDs(xbUnitIDs);
}
@@ -338,7 +342,8 @@
if(sgProgressReportVO.getControlUnit()!=null){
String controlUnit = sgProgressReportVO.getControlUnit();
- List<String> users1=sgProjectInfoMapper.getUserS(controlUnit);
+ List<String> controlUnitS = Arrays.asList(controlUnit.split(","));
+ List<String> users1=sgProjectInfoMapper.getUserS(controlUnitS);
sgProgressReportVO.setUserIDs(users1);
}
String gxStepName = sgProgressReportVO.getGxStepName();
@@ -347,7 +352,8 @@
if("测量定位".equals(gxStepName)){
if(countyCd!=null){
- List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd);
+ List<String> controlUnitS = Arrays.asList(countyCd.split(","));
+ List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS);
sgProgressReportVO.setXbUnitIDs(xbUnitIDs);
}
@@ -532,7 +538,8 @@
List<String> resultUsers=new ArrayList<>();
if(s.getControlUnit()!=null){
String controlUnit = s.getControlUnit();
- List<String> users=sgProjectInfoMapper.getUserS(controlUnit);
+ List<String> controlUnitS = Arrays.asList(controlUnit.split(","));
+ List<String> users=sgProjectInfoMapper.getUserS(controlUnitS);
resultUsers.addAll(users);
}
// if(s.getSelfUnit()!=null){
@@ -549,7 +556,8 @@
if("测量定位".equals(gxStepName)){
if(countyCd!=null){
- List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd);
+ List<String> controlUnitS = Arrays.asList(countyCd.split(","));
+ List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS);
s.setXbUnitIDs(xbUnitIDs);
}
@@ -677,7 +685,8 @@
List<String> resultUsers=new ArrayList<>();
if(s.getControlUnit()!=null){
String controlUnit = s.getControlUnit();
- List<String> users=sgProjectInfoMapper.getUserS(controlUnit);
+ List<String> controlUnitS = Arrays.asList(controlUnit.split(","));
+ List<String> users=sgProjectInfoMapper.getUserS(controlUnitS);
resultUsers.addAll(users);
}
// if(s.getSelfUnit()!=null){
@@ -694,7 +703,8 @@
if("测量定位".equals(gxStepName)){
if(countyCd!=null){
- List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd);
+ List<String> controlUnitS = Arrays.asList(countyCd.split(","));
+ List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS);
s.setXbUnitIDs(xbUnitIDs);
}
@@ -711,15 +721,16 @@
* 设置部门单位查询条件
*/
private void setUnit(ProjectSearchDTO searchDTO, BladeUser user, Long roleId) {
- List<Long> longList = Arrays.stream(user.getDeptId().split(","))
- .map(Long::parseLong)
+ List<String> longList = Arrays.stream(user.getDeptId().split(","))
.collect(Collectors.toList());
//判断是不是省厅建办 否的话就不设置部门
if (!roleId.equals(1800820667082948610L)){
//判断是不是县级建办 否的话就是监理单位下人员进行
if(!roleId.equals(1811657352658042882L)){
searchDTO.setUserUnit(longList);
- }else{
+ }else if (roleId.equals(1800818489547112450L)){
+ searchDTO.setSelfUnit(longList);
+ }else {
searchDTO.setCountryUnit(longList);
}
}
--
Gitblit v1.9.3