Parcourir la source

组织架构增加机构编号

zzf il y a 1 an
Parent
commit
9f30c85eba

+ 3 - 1
src/main/java/com/rf/psychological/structure/dao/model/StructureEntity.java

@@ -21,13 +21,15 @@ import javax.persistence.Table;
 @NoArgsConstructor
 @AllArgsConstructor
 @Table(name = "t_structure_info", indexes = {
-        @Index(columnList = "structure_no,structure_name,parent_structure_no")
+        @Index(columnList = "structure_no,structure_name,parent_structure_no,institution_no")
 })
 @EqualsAndHashCode(callSuper=true)
 @org.hibernate.annotations.Table(appliesTo = "t_structure_info", comment = "组织架构信息表")
 public class StructureEntity extends BaseEntity {
     @Column(name = "structure_no",columnDefinition = "varchar(50) unique not null comment '组织架构编号'")
     private String structureNo;
+    @Column(name = "institution_no",columnDefinition = "varchar(50) not null comment '所属机构编号'")
+    private String institutionNo;
     @Column(name = "structure_name",columnDefinition = "varchar(50) not null comment '组织架构名称'")
     private String structureName;
     @Column(name = "parent_structure_no",columnDefinition = "varchar(50) not null comment '上级组织架构编号,上级组织架构编号为0表示最上层组织机构'")

+ 4 - 2
src/main/java/com/rf/psychological/structure/dao/repository/StructureRepository.java

@@ -8,9 +8,11 @@ import org.springframework.data.repository.query.Param;
 import java.util.List;
 
 public interface StructureRepository extends BaseRepository<StructureEntity,String> {
-    @Query(value = "SELECT t3.id, t3.parent_structure_no, t3.structure_name, t3.structure_no FROM ( SELECT t1.*, IF ( FIND_IN_SET(parent_structure_no, @pids) > 0, @pids \\:= concat(@pids, ',', structure_no), '' ) AS ischild FROM ( SELECT * FROM t_structure_info ) t1,( SELECT @pids \\:= :structureNo ) t2 ) t3 WHERE t3.ischild LIKE :structureNo2 ",nativeQuery = true)
+    @Query(value = "SELECT t3.id, t3.parent_structure_no, t3.structure_name, t3.structure_no,t3.institution_no FROM ( SELECT t1.*, IF ( FIND_IN_SET(parent_structure_no, @pids) > 0, @pids \\:= concat(@pids, ',', structure_no), '' ) AS ischild FROM ( SELECT * FROM t_structure_info ) t1,( SELECT @pids \\:= :structureNo ) t2 ) t3 WHERE t3.ischild LIKE :structureNo2 ",nativeQuery = true)
     List<StructureEntity> findByIdRecursion(@Param("structureNo") String structureNo,@Param("structureNo2")String structureNo2);
 
     @Query(value = "SELECT t3.structure_no FROM ( SELECT t1.*, IF ( FIND_IN_SET(parent_structure_no, @pids) > 0, @pids \\:= concat(@pids, ',', structure_no), '' ) AS ischild FROM ( SELECT * FROM t_structure_info ) t1,( SELECT @pids \\:= :structureNo ) t2 ) t3 WHERE t3.ischild LIKE :structureNo2 ",nativeQuery = true)
-    List<String> findStructureNoByIdRecursion(String structureNo, String s);
+    List<String> findStructureNoByIdRecursion(String structureNo, @Param("structureNo2")String structureNo2);
+
+    List<StructureEntity> findByInstitutionNo(String institutionNo);
 }

+ 8 - 0
src/main/java/com/rf/psychological/structure/rest/StructureController.java

@@ -82,6 +82,14 @@ public class StructureController extends BaseController {
         StructureEntity entity = this.service.findById(id);
         return success(entity);
     }
+    @ApiOperation(value = "全量查询",notes = "institutionNo:机构编号")
+    @GetMapping("get/recursion/{institutionNo}")
+    @SafetyProcess
+    public Result findAllByInstitutionNo(@PathVariable String institutionNo){
+        List<StructureEntity> structureEntities = this.service.findByInstitutionNo(institutionNo);
+        return success(structureEntities);
+    }
+
     @ApiOperation(value = "递归查询",notes = "id:组织架构id;includeSelf:是否包含本身;0否 1是")
     @GetMapping("get/recursion/{id}/{includeSelf}")
     @SafetyProcess

+ 2 - 0
src/main/java/com/rf/psychological/structure/service/StructureService.java

@@ -14,4 +14,6 @@ public interface StructureService {
     List<StructureEntity> findByIdRecursion(String structureNo);
 
     List<String> findStructureNoByIdRecursion(String structureNo);
+
+    List<StructureEntity> findByInstitutionNo(String institutionNo);
 }

+ 5 - 0
src/main/java/com/rf/psychological/structure/service/impl/StructureServiceImpl.java

@@ -42,4 +42,9 @@ public class StructureServiceImpl implements StructureService {
     public List<String> findStructureNoByIdRecursion(String structureNo) {
         return  this.repository.findStructureNoByIdRecursion( structureNo,"%"+structureNo+"%");
     }
+
+    @Override
+    public List<StructureEntity> findByInstitutionNo(String institutionNo) {
+        return this.repository.findByInstitutionNo(institutionNo);
+    }
 }