zouxuan 5 年之前
父节点
当前提交
5df0332045

+ 6 - 0
mec-web/src/main/java/com/ym/mec/web/controller/SubjectController.java

@@ -63,6 +63,12 @@ public class SubjectController extends BaseController {
         return succeed(subjectService.queryPage(queryInfo));
     }
 
+    @ApiOperation(value = "分页查询科目树状列表")
+    @PostMapping("/queryPageTree")
+    public Object queryPageTree(@RequestBody SubjectQueryInfo queryInfo){
+        return succeed(subjectService.queryPageTree(queryInfo));
+    }
+
     @ApiOperation(value = "通过乐团编号查询科目列表")
     @PostMapping("/querySubByMusicGroupId")
     @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "Integer")})

+ 7 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/SubjectDao.java

@@ -2,6 +2,7 @@ package com.ym.mec.web.dal.dao;
 
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.web.dal.entity.Subject;
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -29,4 +30,10 @@ public interface SubjectDao extends BaseDAO<Integer, Subject> {
      */
     Subject findByCode(@Param("code") String code);
 
+    /**
+     * 根据父级id查询子级列表
+     * @param parentId
+     * @return
+     */
+    List<Subject> findByParentId(@Param("parentId") String parentId, @Param("delFlag") YesOrNoEnum delFlag);
 }

+ 15 - 1
mec-web/src/main/java/com/ym/mec/web/dal/entity/Subject.java

@@ -4,6 +4,8 @@ import com.ym.mec.web.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import java.util.List;
+
 /**
  * 对应数据库表(subject):
  */
@@ -33,7 +35,19 @@ public class Subject {
 	/**  */
 	@ApiModelProperty(value = "是否删除1是,0否",required = false)
 	private YesOrNoEnum delFlag;
-	
+
+	/**  */
+	@ApiModelProperty(value = "子节点列表",required = false)
+	private List<Subject> subjects;
+
+	public List<Subject> getSubjects() {
+		return subjects;
+	}
+
+	public void setSubjects(List<Subject> subjects) {
+		this.subjects = subjects;
+	}
+
 	public void setId(Integer id){
 		this.id = id;
 	}

+ 4 - 3
mec-web/src/main/java/com/ym/mec/web/dal/page/OrganizationQueryInfo.java

@@ -1,6 +1,7 @@
 package com.ym.mec.web.dal.page;
 
 import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 public class OrganizationQueryInfo extends QueryInfo {
@@ -9,13 +10,13 @@ public class OrganizationQueryInfo extends QueryInfo {
     private Integer parentId = 0;
 
     @ApiModelProperty(value = "节点状态,默认0未删除,1删除",required = false)
-    private String delFlag = "0";
+    private YesOrNoEnum delFlag = YesOrNoEnum.NO;
 
-    public String getDelFlag() {
+    public YesOrNoEnum getDelFlag() {
         return delFlag;
     }
 
-    public void setDelFlag(String delFlag) {
+    public void setDelFlag(YesOrNoEnum delFlag) {
         this.delFlag = delFlag;
     }
 

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/dal/page/SubjectQueryInfo.java

@@ -1,6 +1,29 @@
 package com.ym.mec.web.dal.page;
 
 import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
 
 public class SubjectQueryInfo extends QueryInfo {
+    @ApiModelProperty(value = "父节点编号,默认0",required = false)
+    private Integer parentId = 0;
+
+    @ApiModelProperty(value = "节点状态,默认0未删除,1删除",required = false)
+    private YesOrNoEnum delFlag = YesOrNoEnum.NO;
+
+    public YesOrNoEnum getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(YesOrNoEnum delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Integer getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Integer parentId) {
+        this.parentId = parentId;
+    }
 }

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/SubjectService.java

@@ -1,7 +1,9 @@
 package com.ym.mec.web.service;
 
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.web.dal.entity.Subject;
+import com.ym.mec.web.dal.page.SubjectQueryInfo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -29,4 +31,10 @@ public interface SubjectService extends BaseService<Integer, Subject> {
      */
     Subject findByCode(@Param("code") String code);
 
+    /**
+     * 分页查询科目树状列表
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<Subject> queryPageTree(SubjectQueryInfo queryInfo);
 }

+ 29 - 4
mec-web/src/main/java/com/ym/mec/web/service/impl/SubjectServiceImpl.java

@@ -1,14 +1,15 @@
 package com.ym.mec.web.service.impl;
 
-import org.apache.ibatis.annotations.Param;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.web.dal.dao.SubjectDao;
 import com.ym.mec.web.dal.entity.Subject;
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
+import com.ym.mec.web.dal.page.SubjectQueryInfo;
 import com.ym.mec.web.service.SubjectService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 import java.util.List;
 
@@ -38,4 +39,28 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
 		return subjectDao.findByCode(code);
 	}
 
+	@Override
+	public PageInfo<Subject> queryPageTree(SubjectQueryInfo queryInfo) {
+		PageInfo<Subject> pageInfo = queryPage(queryInfo);
+		for (Subject subject:pageInfo.getRows()) {
+			subject = getTree(subject,queryInfo.getDelFlag());
+		}
+		return pageInfo;
+	}
+
+	private Subject getTree(Subject sub,YesOrNoEnum yesOrNoEnum){
+		//得到根节点对象
+		//获取子节点list
+		List<Subject> subjects = subjectDao.findByParentId(sub.getCode(),yesOrNoEnum);
+		//如果存在子节点
+		if(subjects != null && subjects.size() > 0) {
+			//将子节点list放入父节点对象
+			sub.setSubjects(subjects);
+			//遍历子节点....
+			for (Subject subject : subjects) {
+				getTree(subject,yesOrNoEnum);
+			}
+		}
+		return sub;
+	}
 }

+ 2 - 2
mec-web/src/main/resources/config/mybatis/OrganizationMapper.xml

@@ -77,8 +77,8 @@
             <if test="parentId != null">
                 parent_organ_id_ = #{parentId}
             </if>
-            <if test="delFlag != null and delFlag != ''">
-                AND del_flag_ = #{delFlag}
+            <if test="delFlag != null">
+                AND del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
             </if>
         </where>
     </sql>

+ 18 - 3
mec-web/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -68,13 +68,15 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="Subject" parameterType="map">
-        SELECT * FROM subject ORDER BY id_
+        SELECT * FROM subject
+        <include refid="querySubPageSql"/>
+        ORDER BY id_
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM subject
+		SELECT COUNT(*) FROM subject <include refid="querySubPageSql"/>
 	</select>
 
     <select id="findSubByMusicGroupId" resultMap="Subject">
@@ -87,6 +89,19 @@
 
     <!-- 根据科目code查科目 -->
     <select id="findByCode" resultMap="Subject">
-        SELECT * FROM subject WHERE code = #{code}
+        SELECT * FROM subject WHERE code_ = #{code}
     </select>
+    <select id="findByParentId" resultMap="Subject">
+        SELECT * FROM subject <include refid="querySubPageSql"/>
+    </select>
+    <sql id="querySubPageSql">
+        <where>
+            <if test="parentId != null">
+                parent_subject_id_ = #{parentId}
+            </if>
+            <if test="delFlag != null">
+                AND del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
+        </where>
+    </sql>
 </mapper>