zhoulisky 9 months ago
parent
commit
f2413362f3

+ 44 - 0
kd-service-api/kd-scientific-api/src/main/java/org/sky/scientific/pojo/entity/DepartmentEntity.java

@@ -0,0 +1,44 @@
+package org.sky.scientific.pojo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 所属二级单位/部门数据表
+ */
+@Data
+@TableName("kd_department")
+@Schema
+public class DepartmentEntity implements Serializable {
+
+	@Serial
+	private static final long serialVersionUID = 1L;
+
+	@Schema(description = "主键")
+	@TableId(value = "id", type = IdType.ASSIGN_ID)
+	private Long id;
+
+	@Schema(description = "租户id")
+	private String tenantId;
+
+	@Schema(description = "所属年份,如:2025")
+	private String yearAndMonth;
+
+	@Schema(description = "父级单位id")
+	private Long parentId;
+
+	@Schema(description = "父级单位名称")
+	@TableField(exist = false)
+	private String parentName;
+
+	@Schema(description = "名称")
+	private String name;
+
+}

+ 21 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/DepartmentMapper.java

@@ -0,0 +1,21 @@
+package org.sky.scientific.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.sky.scientific.pojo.entity.DepartmentEntity;
+import org.sky.scientific.pojo.vo.SubjectVO;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * DepartmentMapper 接口
+ *
+ */
+public interface DepartmentMapper extends BaseMapper<DepartmentEntity> {
+
+    List<SubjectVO> lazyList(Long parentId, Map<String, Object> menu);
+
+	boolean deleteSubject(Long subjectId);
+
+}

+ 46 - 0
kd-service/kd-scientific/src/main/java/org/sky/scientific/mapper/DepartmentMapper.xml

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.sky.scientific.mapper.SubjectMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="ResultMap" type="org.sky.scientific.pojo.entity.DepartmentEntity">
+        <id column="id" property="id"/>
+        <result column="parent_id" property="parentId"/>
+        <result column="tenantId" property="tenantId"/>
+        <result column="name" property="name"/>
+        <result column="acc_subject" property="accSubject"/>
+        <result column="rd_subject" property="rdSubject"/>
+        <result column="ad_subject" property="adSubject"/>
+    </resultMap>
+
+    <resultMap id="treeNodeResultMap" type="org.sky.core.tool.node.TreeNode">
+        <id column="id" property="id"/>
+        <result column="parent_id" property="parentId"/>
+        <result column="title" property="title"/>
+        <result column="value" property="value"/>
+        <result column="key" property="key"/>
+    </resultMap>
+
+    <resultMap id="ResultVoMap" type="org.sky.scientific.pojo.vo.SubjectVO" extends="ResultMap">
+        <result column="has_children" property="hasChildren"/>
+    </resultMap>
+
+    <delete id="deleteDepartment">
+        delete from kd_department where id = #{subjectId}
+    </delete>
+
+    <select id="lazyList" resultMap="ResultVoMap">
+        SELECT
+            d.*,
+            (
+                SELECT
+                    CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END
+                FROM
+                    kd_department
+                WHERE
+                    parent_id = d.id
+            ) AS "has_children"
+        FROM
+            kd_department d
+    </select>
+</mapper>