From c2c9e3b1039c0a5223801759475112c6da9a3a3d Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 25 二月 2025 14:59:49 +0800
Subject: [PATCH] 项目相关联系人调整

---
 business/src/main/java/com/ycl/domain/form/ProjectInfoForm.java          |   20 +++++-----
 business/src/main/resources/mapper/ProjectInfoMapper.xml                 |    5 ++
 business/src/main/java/com/ycl/domain/entity/ProjectInfo.java            |   16 ++++----
 business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java  |    8 ++--
 system/src/main/java/com/ycl/system/mapper/SysDeptMapper.java            |    2 +
 business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java              |   34 +++++-----------
 start/src/main/java/com/ycl/web/controller/system/SysDeptController.java |    2 
 system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java |    5 ++
 system/src/main/java/com/ycl/system/service/ISysDeptService.java         |    8 ++++
 system/src/main/resources/mapper/system/SysDeptMapper.xml                |   12 ++++++
 10 files changed, 65 insertions(+), 47 deletions(-)

diff --git a/business/src/main/java/com/ycl/domain/entity/ProjectInfo.java b/business/src/main/java/com/ycl/domain/entity/ProjectInfo.java
index 1777f59..6b70800 100644
--- a/business/src/main/java/com/ycl/domain/entity/ProjectInfo.java
+++ b/business/src/main/java/com/ycl/domain/entity/ProjectInfo.java
@@ -74,13 +74,13 @@
     /** 涓荤閮ㄩ棬(瀵瑰簲瀹℃壒閮ㄩ棬id) */
     private String competentDepartment;
 
-//    @TableField("competent_department_person")
-//    /** 涓荤閮ㄩ棬鑱旂郴浜� */
-//    private Long competentDepartmentPerson;
-//
-//    @TableField("competent_department_phone")
-//    /** 涓荤閮ㄩ棬鑱旂郴鏂瑰紡 */
-//    private String competentDepartmentPhone;
+    @TableField("competent_department_person")
+    /** 涓荤閮ㄩ棬鑱旂郴浜� */
+    private String competentDepartmentPerson;
+
+    @TableField("competent_department_phone")
+    /** 涓荤閮ㄩ棬鑱旂郴鏂瑰紡 */
+    private String competentDepartmentPhone;
 
     @TableField("area")
     /** 琛屾斂鍖哄煙 */
@@ -179,7 +179,7 @@
 
     @TableField("industry_competent_department_person")
     /** 琛屼笟涓荤閮ㄩ棬鑱旂郴浜� */
-    private Long industryCompetentDepartmentPerson;
+    private String industryCompetentDepartmentPerson;
 
     @TableField("department_person_phone")
     /** 琛屼笟涓荤閮ㄩ棬鑱旂郴鏂瑰紡 */
diff --git a/business/src/main/java/com/ycl/domain/form/ProjectInfoForm.java b/business/src/main/java/com/ycl/domain/form/ProjectInfoForm.java
index bfa4cee..1edaf2d 100644
--- a/business/src/main/java/com/ycl/domain/form/ProjectInfoForm.java
+++ b/business/src/main/java/com/ycl/domain/form/ProjectInfoForm.java
@@ -15,7 +15,6 @@
 import org.springframework.util.CollectionUtils;
 
 import javax.validation.constraints.NotBlank;
-import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -67,7 +66,15 @@
     private String tag;
 
     @ApiModelProperty("涓荤閮ㄩ棬(瀵瑰簲瀹℃壒閮ㄩ棬id)")
-    private List<Long> competentDepartmentList;
+    private String competentDepartment;
+
+    @ApiModelProperty("涓荤閮ㄩ棬鑱旂郴浜�")
+    /** 涓荤閮ㄩ棬鑱旂郴浜� */
+    private String competentDepartmentPerson;
+
+    @ApiModelProperty("涓荤閮ㄩ棬鑱旂郴鏂瑰紡")
+    /** 涓荤閮ㄩ棬鑱旂郴鏂瑰紡 */
+    private String competentDepartmentPhone;
 
     @ApiModelProperty("琛屾斂鍖哄煙")
     private String area;
@@ -146,7 +153,7 @@
     @ApiModelProperty("琛屼笟涓荤閮ㄩ棬")
     private Long industryCompetentDepartment;
     @ApiModelProperty("琛屼笟涓荤閮ㄩ棬鑱旂郴浜�")
-    private Long industryCompetentDepartmentPerson;
+    private String industryCompetentDepartmentPerson;
     @ApiModelProperty("琛屼笟涓荤閮ㄩ棬鑱旂郴鏂瑰紡")
     private String departmentPersonPhone;
 
@@ -156,13 +163,6 @@
           entity = new ProjectInfo();
         }
         BeanUtils.copyProperties(form, entity);
-        //瀹℃牳閮ㄩ棬杞崲
-        List<Long> competentDepartmentList = form.getCompetentDepartmentList();
-        if(!CollectionUtils.isEmpty(competentDepartmentList)){
-            entity.setCompetentDepartment(StringUtils.join(competentDepartmentList, ","));
-        } else {
-            entity.setCompetentDepartment("");
-        }
         //璧勯噾绫诲瀷杞崲
         List<String> fundTypeList = form.getFundTypeList();
         if(!CollectionUtils.isEmpty(fundTypeList)){
diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java b/business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java
index e057f2f..5dbf816 100644
--- a/business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java
+++ b/business/src/main/java/com/ycl/domain/vo/ProjectInfoVO.java
@@ -76,12 +76,16 @@
 
     /** 涓荤閮ㄩ棬(瀵瑰簲瀹℃壒閮ㄩ棬id) */
     @ApiModelProperty("涓荤閮ㄩ棬(瀵瑰簲瀹℃壒閮ㄩ棬id)")
-    private List<Long> competentDepartmentList;
-
-
-
-
     private String competentDepartment;
+
+    @ApiModelProperty("涓荤閮ㄩ棬鑱旂郴浜�")
+    /** 涓荤閮ㄩ棬鑱旂郴浜� */
+    private String competentDepartmentPerson;
+
+    @ApiModelProperty("涓荤閮ㄩ棬鑱旂郴鏂瑰紡")
+    /** 涓荤閮ㄩ棬鑱旂郴鏂瑰紡 */
+    private String competentDepartmentPhone;
+
     /** 琛屾斂鍖哄煙 */
     @ApiModelProperty("琛屾斂鍖哄煙")
     private String area;
@@ -184,7 +188,7 @@
     @ApiModelProperty("琛屼笟涓荤閮ㄩ棬")
     private Long industryCompetentDepartment;
     @ApiModelProperty("琛屼笟涓荤閮ㄩ棬鑱旂郴浜�")
-    private Long industryCompetentDepartmentPerson;
+    private String industryCompetentDepartmentPerson;
     @ApiModelProperty("琛屼笟涓荤閮ㄩ棬鑱旂郴鏂瑰紡")
     private String departmentPersonPhone;
 
@@ -203,14 +207,7 @@
         }
 
         BeanUtils.copyProperties(entity, vo);
-        //涓荤閮ㄩ棬杞垚list
-        String competentDepartment = entity.getCompetentDepartment();
-        if(!StringUtils.isBlank(competentDepartment)){
-            List<Long> list = Arrays.stream(competentDepartment.split(","))
-                    .map(Long::parseLong)
-                    .collect(Collectors.toList());
-            vo.setCompetentDepartmentList(list);
-        }
+
         //绠$悊褰掑彛杞崲
         String managementCentralization = entity.getManagementCentralization();
         if(!StringUtils.isBlank(managementCentralization)){
@@ -233,14 +230,6 @@
     }
     //杞崲瀛楃涓查泦鍚堝瓧娈�
     public static void transform(@NonNull ProjectInfoVO vo) {
-        //涓荤閮ㄩ棬杞垚list
-        String competentDepartment = vo.getCompetentDepartment();
-        if(!StringUtils.isBlank(competentDepartment)){
-            List<Long> list = Arrays.stream(competentDepartment.split(","))
-                    .map(Long::parseLong)
-                    .collect(Collectors.toList());
-            vo.setCompetentDepartmentList(list);
-        }
         //绠$悊褰掑彛杞崲
         String managementCentralization = vo.getManagementCentralization();
         if(!StringUtils.isBlank(managementCentralization)){
@@ -248,7 +237,6 @@
         }
 
         //鍒嗙被绫诲瀷杞崲
-
         String importanceType = vo.getImportanceType();
         if (!StringUtils.isBlank(importanceType)) {
             vo.setImportanceTypeList(Arrays.asList(importanceType.split(",")));
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
index 4f24ca5..65c029b 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
@@ -355,8 +355,8 @@
             ProjectInfoVO.transform(vo);
             ProjectVO projectVO = new ProjectVO();
             copyToProjectVO(vo, projectVO);
-            List<Long> departmentList = vo.getCompetentDepartmentList();
-            projectVO.setAuditRole(SecurityUtils.isAdmin(SecurityUtils.getUserId()) || (!CollectionUtils.isEmpty(departmentList) && departmentList.contains(SecurityUtils.getDeptId())));
+            String competentDepartment = vo.getCompetentDepartment();
+            projectVO.setAuditRole(SecurityUtils.isAdmin(SecurityUtils.getUserId()) || (StringUtils.isNotEmpty(competentDepartment) && competentDepartment.equals(SecurityUtils.getDeptId())));
             // 缈昏瘧椤圭洰闃舵
             String phase = ProjectCategoryEnum.getPhaseByProjectStatus(projectVO.getProjectPhase());
             projectVO.setProjectPhase(phase);
@@ -396,8 +396,8 @@
         ProjectInfo entity = baseMapper.getById(id);
         Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
         ProjectInfoVO vo = ProjectInfoVO.getVoByEntity(entity, null);
-        List<Long> departmentList = vo.getCompetentDepartmentList();
-        vo.setAuditRole(SecurityUtils.isAdmin(SecurityUtils.getUserId()) || (!CollectionUtils.isEmpty(departmentList) && departmentList.contains(SecurityUtils.getDeptId())));
+        String competentDepartment = vo.getCompetentDepartment();
+        vo.setAuditRole(SecurityUtils.isAdmin(SecurityUtils.getUserId()) || (StringUtils.isNotEmpty(competentDepartment) && competentDepartment.equals(SecurityUtils.getDeptId())));
         QueryWrapper<File> fileQueryWrapper = new QueryWrapper<>();
         fileQueryWrapper.eq("type", FileTypeEnum.PROJECT_INFO.getType());
         fileQueryWrapper.eq("bus_id", vo.getId());
diff --git a/business/src/main/resources/mapper/ProjectInfoMapper.xml b/business/src/main/resources/mapper/ProjectInfoMapper.xml
index 7704f4a..2b37ad7 100644
--- a/business/src/main/resources/mapper/ProjectInfoMapper.xml
+++ b/business/src/main/resources/mapper/ProjectInfoMapper.xml
@@ -26,6 +26,8 @@
             TPI.project_phase,
             TPI.tag,
             TPI.competent_department,
+            TPI.competent_department_phone,
+            TPI.competent_department_person,
             TPI.area,
             TPI.management_centralization,
             TPI.project_approval_type,
@@ -194,7 +196,8 @@
     <select id="selectProjectDetailByIds" resultType="com.ycl.domain.vo.ProjectVO">
         select
         TPI.id as id,TPI.project_name,TPI.project_code,TPI.attract_investment,TPI.content,TPI.construction_nature,TPI.project_type,TPI.project_sub_type,TPI.project_status,TPI.fund_type,TPI.invest_type,TPI.project_phase,
-        TPI.tag,TPI.competent_department,TPI.area,TPI.management_centralization,TPI.project_approval_type,TPI.importance_type,TPI.year,TPI.year_invest_amount,TPI.create_project_time,TPI.plan_start_time,
+        TPI.tag,TPI.competent_department, TPI.competent_department_person, TPI.competent_department_phone,
+        TPI.area,TPI.management_centralization,TPI.project_approval_type,TPI.importance_type,TPI.year,TPI.year_invest_amount,TPI.create_project_time,TPI.plan_start_time,
         TPI.plan_complete_time,TPI.win_unit,TPI.win_amount,TPI.win_time,TPI.project_address,TPI.longitude,TPI.latitude,
         TPI.project_owner_unit,TPI.project_contact_person,TPI.contact,TPI.gmt_create,TPI.gmt_update,TPI.update_by,TPI.create_by,
         TPIF.id,TPIF.project_id,TPIF.total_investment,TPIF.principal,TPIF.government_investment_total,TPIF.central_investment_total,TPIF.central_budget_investment,TPIF.central_fiscal_investment,TPIF.central_special_bond_investment,
diff --git a/start/src/main/java/com/ycl/web/controller/system/SysDeptController.java b/start/src/main/java/com/ycl/web/controller/system/SysDeptController.java
index 6ba80ff..3b16f3a 100644
--- a/start/src/main/java/com/ycl/web/controller/system/SysDeptController.java
+++ b/start/src/main/java/com/ycl/web/controller/system/SysDeptController.java
@@ -151,6 +151,6 @@
     public Result approvalList() {
         SysDept dept = new SysDept();
         dept.setParentId(approvalPortId);
-        return deptService.all(dept);
+        return Result.ok().data(deptService.selectDeptListNoAuth(dept));
     }
 }
diff --git a/system/src/main/java/com/ycl/system/mapper/SysDeptMapper.java b/system/src/main/java/com/ycl/system/mapper/SysDeptMapper.java
index 6d587cf..87948b6 100644
--- a/system/src/main/java/com/ycl/system/mapper/SysDeptMapper.java
+++ b/system/src/main/java/com/ycl/system/mapper/SysDeptMapper.java
@@ -19,6 +19,8 @@
      */
     public List<SysDept> selectDeptList(SysDept dept);
 
+    public List<SysDept> selectDeptListNoAuth(SysDept dept);
+
     /**
      * 鏍规嵁瑙掕壊ID鏌ヨ閮ㄩ棬鏍戜俊鎭�
      *
diff --git a/system/src/main/java/com/ycl/system/service/ISysDeptService.java b/system/src/main/java/com/ycl/system/service/ISysDeptService.java
index 6d0bf90..0db2984 100644
--- a/system/src/main/java/com/ycl/system/service/ISysDeptService.java
+++ b/system/src/main/java/com/ycl/system/service/ISysDeptService.java
@@ -23,6 +23,14 @@
     public List<SysDept> selectDeptList(SysDept dept);
 
     /**
+     * 鏌ヨ閮ㄩ棬绠$悊鏁版嵁-鏃犳暟鎹潈闄�
+     *
+     * @param dept
+     * @return
+     */
+    public List<SysDept> selectDeptListNoAuth(SysDept dept);
+
+    /**
      * 鏌ヨ閮ㄩ棬鏍戠粨鏋勪俊鎭�
      *
      * @param dept 閮ㄩ棬淇℃伅
diff --git a/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java b/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java
index 358a7eb..af26005 100644
--- a/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java
+++ b/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java
@@ -50,6 +50,11 @@
         return deptMapper.selectDeptList(dept);
     }
 
+    @Override
+    public List<SysDept> selectDeptListNoAuth(SysDept dept) {
+        return deptMapper.selectDeptListNoAuth(dept);
+    }
+
     /**
      * 鏌ヨ閮ㄩ棬鏍戠粨鏋勪俊鎭�
      *
diff --git a/system/src/main/resources/mapper/system/SysDeptMapper.xml b/system/src/main/resources/mapper/system/SysDeptMapper.xml
index c5dd0d0..f4faa92 100644
--- a/system/src/main/resources/mapper/system/SysDeptMapper.xml
+++ b/system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -47,6 +47,18 @@
 		order by d.parent_id, d.order_num
     </select>
 
+	<select id="selectDeptListNoAuth" parameterType="SysDept" resultMap="SysDeptResult">
+		<include refid="selectDeptVo"/>
+		where d.del_flag = '0'
+		<if test="parentId != null">
+			AND FIND_IN_SET(#{parentId}, ancestors) > 0
+		</if>
+		<if test="deptName != null and deptName != ''">
+			AND dept_name like concat('%', #{deptName}, '%')
+		</if>
+		order by d.parent_id, d.order_num
+	</select>
+
     <select id="selectDeptListByRoleId" resultType="Long">
 		select d.dept_id
 		from sys_dept d

--
Gitblit v1.8.0