From f20611265f7d34fd4fbcdfdaff6cb9cccd0b25fc Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Fri, 21 Jun 2024 11:53:21 +0800
Subject: [PATCH] 湖北水库:施工:项目查询过滤无效修复、根据角色查询用户

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectPersonConfigService.java          |    3 +++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java         |    2 +-
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.xml             |    6 +++++-
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectRolePersonV0.java              |    1 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectPersonConfigController.java    |    9 +++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java |   13 ++++++++++++-
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml                     |    4 ++--
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.java            |    3 +++
 skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgGxStepDO.java                         |    3 +++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml                  |    3 +++
 10 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgGxStepDO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgGxStepDO.java
index 89bb81e..475ce22 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgGxStepDO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgGxStepDO.java
@@ -53,4 +53,7 @@
 
 	@TableField(exist = false)
 	private Integer approvalStatus;
+
+	@TableField(exist = false)
+	private Long deviceId;
 }
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectRolePersonV0.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectRolePersonV0.java
index 78d47a6..2c45d2a 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectRolePersonV0.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectRolePersonV0.java
@@ -4,6 +4,7 @@
 
 @Data
 public class SgProjectRolePersonV0 {
+	private Long id;
 	private Long projectId;
 	private String projectName;
 	private Long roleId;
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectPersonConfigController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectPersonConfigController.java
index 1fc0c6b..fbf5fbd 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectPersonConfigController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectPersonConfigController.java
@@ -11,6 +11,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -64,4 +65,12 @@
 		return R.data(list);
 	}
 
+	/**
+	 * 根据角色查用户
+	 */
+	@GetMapping(value = "/get_user_by_role")
+	public R getUserByRole( @RequestParam String roleId) {
+		List<Map<String,Object>> list =	projectPersonConfigService.getUserByRole(roleId);
+		return R.data(list);
+	}
 }
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 9735f62..29a0423 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
@@ -109,6 +109,9 @@
         <if test="dto.deviceName != null and dto.deviceName != ''">
             and de.device_name like CONCAT(CONCAT('%', #{dto.deviceName}), '%')
         </if>
+        <if test="dto.reportPerson != null">
+            and report.reportPerson = #{dto.reportPerson}
+        </if>
     </select>
     <select id="getUserByIds" resultType="java.util.Map">
         select id ,real_name from ywxt.blade_user  where 1 = 1
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 6f14f47..7bab072 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
@@ -5,10 +5,10 @@
     <select id="queryPageList" resultType="cn.gistack.sm.sg.DO.SgProjectInfoDO">
         select * from YWXT.SG_PROJECT_INFO info where 1=1
         <if test="dto.projectName != null and dto.projectName != ''">
-            and info.project_name = #{dto.projectName}
+            and info.project_name like concat( concat ('%',#{dto.projectName}),'%')
         </if>
         <if test="dto.skName != null and dto.skName != ''">
-            and info.sk_name = #{dto.skName}
+            and info.sk_name like concat(concat('%',#{dto.skName}),'%')
         </if>
     </select>
     <select id="queryStepByProject" resultType="cn.gistack.sm.sg.VO.SgProjectInfoVO">
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.java
index 8e7064f..d6e8bca 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.java
@@ -7,6 +7,7 @@
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -23,4 +24,6 @@
     List<String> getRoleList(@Param("dto") ProjectSearchDTO searchDTO);
 
 	List<SgProjectRolePersonV0> getList(@Param("dto") ProjectSearchDTO searchDTO);
+
+	List<Map<String, Object>> getUserByRole(@Param("roleId") String roleId);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.xml
index e82942b..1a0fe5c 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.xml
@@ -31,14 +31,18 @@
             --   d.id as device_id,
             --   d.device_name
             , sppc.user_id
+            , sppc.id
             , bu.real_name as userName
         FROM
             ywxt.sg_project_info pro
                 LEFT JOIN ywxt.sg_device d ON pro.id = d.program_id
                 Left JOIN ywxt.sg_gx_config sgc ON d.device_type = sgc.gx_device_type
                 left join ywxt.blade_role ro on	ro.id = sgc.role_id
-                left join ywxt.sg_project_person_config sppc on sppc.rold_id = sgc.role_id
+                left join ywxt.sg_project_person_config sppc  on sgc.role_id = sppc.rold_id and sppc.program_id = pro.id
                 left join ywxt.blade_user bu on sppc.user_id = bu.id
         where 1=1 and pro.id = #{dto.projectId}
     </select>
+    <select id="getUserByRole" resultType="java.util.Map">
+        select id,real_name as realName from ywxt.blade_user where role_id = #{roleId}
+    </select>
 </mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectPersonConfigService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectPersonConfigService.java
index 2eccef9..3c7a454 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectPersonConfigService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectPersonConfigService.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -23,4 +24,6 @@
 
 
 	List<SgProjectRolePersonV0> getList(ProjectSearchDTO searchDTO);
+
+	List<Map<String, Object>> getUserByRole(String roleId);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
index 6ab13a8..163d8e1 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -77,7 +77,7 @@
 					sgDeviceDO.setId(dId);
 					sgDeviceDO.setDeviceName(deList.get(0).getDeviceName());
 					sgDeviceDO.setStatus(	deList.get(0).getDeviceStatus());
-					sgDeviceDO.setStepDOList(deList.stream().map(s->SgGxStepDO.builder().id(s.getReportId()).gxStepNum(s.getGxStepNum()).gxStepName(s.getGxStepName()).approvalStatus(s.getReportStatus()).build()).collect(Collectors.toList()));
+					sgDeviceDO.setStepDOList(deList.stream().map(s->SgGxStepDO.builder().id(s.getReportId()).gxStepNum(s.getGxStepNum()).gxStepName(s.getGxStepName()).deviceId(s.getDId()).approvalStatus(s.getReportStatus()).build()).collect(Collectors.toList()));
 					deviceDOS.add(sgDeviceDO);
 				}
 				typeVO.setDeviceDOS(deviceDOS);
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java
index ade140a..4dc93c6 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java
@@ -10,6 +10,8 @@
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 
 /**
  * <p>
@@ -32,7 +34,11 @@
 	@Override
 	public void add(List<SgProjectPersonConfigDO> list) {
 		for (SgProjectPersonConfigDO sgProjectPersonConfigDO : list) {
-			projectPersonConfigMapper.insert(sgProjectPersonConfigDO);
+			if (Objects.isNull(sgProjectPersonConfigDO.getId())){
+				projectPersonConfigMapper.insert(sgProjectPersonConfigDO);
+			}else {
+				projectPersonConfigMapper.updateById(sgProjectPersonConfigDO);
+			}
 		}
 	}
 
@@ -41,4 +47,9 @@
 		List<SgProjectRolePersonV0> list =	projectPersonConfigMapper.getList(searchDTO);
 		return list;
 	}
+
+	@Override
+	public List<Map<String, Object>> getUserByRole(String roleId) {
+		return projectPersonConfigMapper.getUserByRole(roleId);
+	}
 }

--
Gitblit v1.9.3