Bläddra i källkod

20221008
报销类型管理

sunruiqi 2 år sedan
förälder
incheckning
57883e3123

+ 16 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursement/reimbursementType/controller/ReimbursementTypeController.java

@@ -2,8 +2,8 @@ package com.jeeplus.test.reimbursement.reimbursementType.controller;
 
 import com.jeeplus.test.reimbursement.reimbursementType.domain.ReimbursementTypeInfo;
 import com.jeeplus.test.reimbursement.reimbursementType.mapper.ReimbursementTypeMapper;
+import com.jeeplus.test.reimbursement.reimbursementType.service.ReimbursementTypeForTreeDataService;
 import com.jeeplus.test.reimbursement.reimbursementType.service.ReimbursementTypeService;
-import com.jeeplus.test.reimbursement.reimbursementType.service.dto.ReimbursementTypeDto;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.http.ResponseEntity;
@@ -21,6 +21,9 @@ public class ReimbursementTypeController {
     private ReimbursementTypeService service;
 
     @Resource
+    private ReimbursementTypeForTreeDataService treeService;
+
+    @Resource
     private ReimbursementTypeMapper mapper;
 
     /**
@@ -71,4 +74,16 @@ public class ReimbursementTypeController {
         return ResponseEntity.ok("操作完成");
     }
 
+    /**
+     * 查询树形
+     * @param extId 排除的ID
+     * @return
+     */
+    @ApiOperation(value = "查询树形")
+    @GetMapping("/treeData")
+    public ResponseEntity<List<ReimbursementTypeInfo>> treeData(@RequestParam(required = false) String extId) {
+        List<ReimbursementTypeInfo> infos = treeService.treeData(extId);
+        return ResponseEntity.ok(infos);
+    }
+
 }

+ 48 - 3
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursement/reimbursementType/domain/ReimbursementTypeInfo.java

@@ -1,13 +1,56 @@
 package com.jeeplus.test.reimbursement.reimbursementType.domain;
 
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.core.domain.TreeEntity;
 import com.jeeplus.core.query.Query;
 import lombok.Data;
 
+import java.util.Date;
+
 @Data
 @TableName(value = "reimbursement_type_info")
-public class ReimbursementTypeInfo extends BaseEntity {
+public class ReimbursementTypeInfo extends TreeEntity<ReimbursementTypeInfo> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 实体主键
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 创建日期
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+
+    /**
+     * 创建人
+     */
+    @Query
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+
+    /**
+     * 更新日期
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date updateDate;
+
+    /**
+     * 更新人
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    /**
+     * 逻辑删除标记
+     */
+    @TableLogic
+    @TableField(fill = FieldFill.INSERT)
+    private Integer delFlag;
 
     /**
      * 层级
@@ -24,10 +67,12 @@ public class ReimbursementTypeInfo extends BaseEntity {
      * 序号
      */
     @Query
-    private String no;
+    private Integer sort;
 
     /**
      * 父节点id
      */
     private String parentId;
+
+    private String parentIds;
 }

+ 2 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursement/reimbursementType/mapper/ReimbursementTypeMapper.java

@@ -1,10 +1,11 @@
 package com.jeeplus.test.reimbursement.reimbursementType.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.core.domain.TreeMapper;
 import com.jeeplus.test.reimbursement.reimbursementType.domain.ReimbursementTypeInfo;
 import org.apache.ibatis.annotations.Param;
 
-public interface ReimbursementTypeMapper extends BaseMapper<ReimbursementTypeInfo> {
+public interface ReimbursementTypeMapper extends BaseMapper<ReimbursementTypeInfo>, TreeMapper<ReimbursementTypeInfo> {
 
     /**
      * 根据name和parentId查询名称是否重复

+ 1 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursement/reimbursementType/mapper/xml/ReimbursementTypeMapper.xml

@@ -15,7 +15,7 @@
 
 	<select id="getNo" resultType="java.lang.Integer">
 		SELECT
-			(MAX(`no`) + 1) AS `no`
+			(MAX(`sort`) + 1) AS `sort`
 		FROM
 			reimbursement_type_info
 		WHERE

+ 10 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursement/reimbursementType/service/ReimbursementTypeForTreeDataService.java

@@ -0,0 +1,10 @@
+package com.jeeplus.test.reimbursement.reimbursementType.service;
+
+import com.jeeplus.core.service.TreeService;
+import com.jeeplus.test.reimbursement.reimbursementType.domain.ReimbursementTypeInfo;
+import com.jeeplus.test.reimbursement.reimbursementType.mapper.ReimbursementTypeMapper;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ReimbursementTypeForTreeDataService extends TreeService<ReimbursementTypeMapper, ReimbursementTypeInfo> {
+}

+ 7 - 6
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursement/reimbursementType/service/ReimbursementTypeService.java

@@ -25,11 +25,11 @@ public class ReimbursementTypeService {
         if (StringUtils.isNotEmpty(info.getName())) {
             wrapper.like(ReimbursementTypeInfo::getName, info.getName());
         }
-        if (StringUtils.isNotEmpty(info.getNo())) {
-            wrapper.like(ReimbursementTypeInfo::getNo, info.getNo());
+        if (info.getSort() != null) {
+            wrapper.like(ReimbursementTypeInfo::getSort, info.getSort());
         }
         wrapper.eq(BaseEntity::getDelFlag, 0);
-        wrapper.orderByAsc(ReimbursementTypeInfo::getNo);
+        wrapper.orderByAsc(ReimbursementTypeInfo::getSort);
         return mapper.selectList(wrapper);
     }
 
@@ -104,13 +104,14 @@ public class ReimbursementTypeService {
         Integer no = mapper.getNo(info.getParentId());
         // 该层级下有数据,正常返回序号值
         if (no != null) {
-            info.setNo(no.toString());
+            info.setSort(no);
         } else {
             // 父节点存在,根据父节点序号生成;不存在,则表示无上级层级,从1开始
             if (parentInfo != null) {
-                info.setNo(parentInfo.getNo() + "01");
+                String s = parentInfo.getSort() + "01";
+                info.setSort(Integer.parseInt(s));
             } else {
-                info.setNo("1");
+                info.setSort(1);
             }
         }
         // 生成层级

+ 1 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/reimbursement/reimbursementType/service/dto/ReimbursementTypeDto.java

@@ -10,7 +10,7 @@ public class ReimbursementTypeDto extends BaseEntity {
 
     private String name;
 
-    private String no;
+    private Integer sort;
 
     private String parentId;