wangys vor 6 Jahren
Ursprung
Commit
39a4e58df9

+ 1 - 1
efunbox-base/efunbox-base-api/src/main/java/cn/efunbox/manage/base/entity/CostType.java

@@ -23,7 +23,7 @@ import java.util.Date;
 public class CostType implements Serializable {
 
     @Id
-    private String id;
+    private Long id;
 
     @Column(name = "code")
     private String code;

+ 2 - 0
efunbox-base/efunbox-base-api/src/main/java/cn/efunbox/manage/base/entity/Department.java

@@ -48,4 +48,6 @@ public class Department implements Serializable {
 
     @Column(name = "gmt_modified")
     private Date gmtModified;
+
+    private Department father;
 }

+ 1 - 1
efunbox-base/efunbox-base-api/src/main/java/cn/efunbox/manage/base/repository/DepartmentRepository.java

@@ -9,7 +9,7 @@ import java.util.List;
 
 public interface DepartmentRepository extends BasicRepository<Department> {
 
-    List<Department> findByPath(Long path);
+    List<Department> findByPathOrderBySortDesc(Long path);
 
     List<Department> findByStatusOrderBySortDesc(BaseStatusEnum status);
 

+ 2 - 0
efunbox-base/efunbox-base-api/src/main/java/cn/efunbox/manage/base/service/CostTypeService.java

@@ -11,5 +11,7 @@ public interface CostTypeService {
 
     ApiResult update(CostType costType);
 
+    ApiResult getById(Long costTypeId);
+
     ApiResult select(CostType costType);
 }

+ 12 - 0
efunbox-base/efunbox-base-api/src/main/java/cn/efunbox/manage/base/service/impl/CostTypeServiceImpl.java

@@ -57,6 +57,18 @@ public class CostTypeServiceImpl implements CostTypeService {
     }
 
     @Override
+    public ApiResult getById(Long costTypeId) {
+        if(Objects.isNull(costTypeId)){
+            return ApiResult.error(ApiCode.PARAMETER_ERROR);
+        }
+        CostType costType = costTypeRepository.find(costTypeId);
+        if(costType ==null){
+            return ApiResult.error(ApiCode.NOT_FOUND);
+        }
+        return ApiResult.ok(costType);
+    }
+
+    @Override
     public ApiResult select(CostType costType) {
         return ApiResult.ok(costTypeRepository.findByStatusOrderBySortDesc(BaseStatusEnum.NORMAL));
     }

+ 18 - 7
efunbox-base/efunbox-base-api/src/main/java/cn/efunbox/manage/base/service/impl/DepartmentServiceImpl.java

@@ -11,9 +11,7 @@ import cn.efunbox.manage.common.utils.SnowflakeIdUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * DepartmentServiceImpl
@@ -44,7 +42,6 @@ public class DepartmentServiceImpl implements DepartmentService {
         if(department ==null){
             return ApiResult.error(ApiCode.PARAMETER_ERROR);
         }
-        department.setId(SnowflakeIdUtil.getSnowflakeIdUtil().nextId());
         department = departmentRepository.save(department);
         if(Objects.nonNull(department)){
             return ApiResult.ok(department);
@@ -69,7 +66,21 @@ public class DepartmentServiceImpl implements DepartmentService {
     public ApiResult getDeptChild(Long deptId) {
         List<Department> departments = new ArrayList<>();
         departments = deptChild(deptId,departments);
-        departments.add(departmentRepository.find(deptId));
+        List<Long> deptIds = new ArrayList<>();
+        departments.stream().forEach(department -> {
+            deptIds.add(department.getId());
+        });
+        Map<Long, Department> departmentMap = new HashMap<>();
+        List<Department> departmentList = departmentRepository.findByIds(deptIds);
+        departmentList.stream().forEach(department -> {
+            departmentMap.put(department.getId(), department);
+        });
+
+        departments.stream().forEach(department -> {
+            department.setFather(departmentMap.get(department.getPath()));
+        });
+
+//        departments.add(departmentRepository.find(deptId));
         return ApiResult.ok(departments);
     }
 
@@ -90,7 +101,7 @@ public class DepartmentServiceImpl implements DepartmentService {
         DeptTreeVO node = new DeptTreeVO();
         node.setLabel(department.getName());
         node.setId(department.getId());
-        List<Department> childTreeNodes = departmentRepository.findByPath(cid);
+        List<Department> childTreeNodes = departmentRepository.findByPathOrderBySortDesc(cid);
         for(Department child : childTreeNodes){
             DeptTreeVO n = recursiveTree(child.getId()); //递归
             node.getChildren().add(n);
@@ -99,7 +110,7 @@ public class DepartmentServiceImpl implements DepartmentService {
     }
 
     private List<Department> deptChild(Long cid, List<Department> departments) {
-        List<Department> childTreeNodes = departmentRepository.findByPath(cid);
+        List<Department> childTreeNodes = departmentRepository.findByPathOrderBySortDesc(cid);
         departments.addAll(childTreeNodes);
         for(Department child : childTreeNodes){
             deptChild(child.getId(), departments); //递归

+ 6 - 0
efunbox-base/efunbox-base-api/src/main/java/cn/efunbox/manage/base/service/impl/ProjectServiceImpl.java

@@ -51,6 +51,9 @@ public class ProjectServiceImpl implements ProjectService {
 
     @Override
     public ApiResult save(Project project) {
+        if(project ==null){
+            return ApiResult.error(ApiCode.PARAMETER_ERROR);
+        }
         project = projectRepository.save(project);
         if(Objects.nonNull(project)){
             return ApiResult.ok(project);
@@ -60,6 +63,9 @@ public class ProjectServiceImpl implements ProjectService {
 
     @Override
     public ApiResult update(Project project) {
+        if(project ==null){
+            return ApiResult.error(ApiCode.PARAMETER_ERROR);
+        }
         project = projectRepository.update(project);
         if(Objects.nonNull(project)){
             return ApiResult.ok(project);

+ 5 - 0
efunbox-base/efunbox-base-web/src/main/java/cn/efunbox/manage/base/controller/CostTypeController.java

@@ -32,6 +32,11 @@ public class CostTypeController {
         return costTypeService.list(costType);
     }
 
+    @GetMapping("/{id}")
+    public ApiResult getById(@PathVariable(name = "id") Long costTypeId){
+        return costTypeService.getById(costTypeId);
+    }
+
     @GetMapping("/select")
     public ApiResult select(CostType costType){
         return costTypeService.select(costType);