fanxp 2 년 전
부모
커밋
e3a4d4eff8

+ 33 - 3
src/main/java/com/xjrsoft/module/student/controller/BaseStudentAssessmentProjectController.java

@@ -14,7 +14,9 @@ import com.baomidou.mybatisplus.core.toolkit.StringPool;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.utils.TreeUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
+import com.xjrsoft.module.organization.vo.PostTreeVo;
 import com.xjrsoft.module.student.dto.AddBaseStudentAssessmentProjectDto;
 import com.xjrsoft.module.student.dto.BaseStudentAssessmentProjectPageDto;
 import com.xjrsoft.module.student.dto.UpdateBaseStudentAssessmentProjectDto;
@@ -25,11 +27,10 @@ import com.xjrsoft.module.student.entity.BaseStudentAssessmentCategory;
 import com.xjrsoft.module.student.entity.BaseStudentAssessmentProject;
 import com.xjrsoft.module.student.entity.BaseStudentCadre;
 import com.xjrsoft.module.student.entity.BaseStudentUser;
+import com.xjrsoft.module.student.service.IBaseStudentAssessmentCategoryService;
 import com.xjrsoft.module.student.service.IBaseStudentAssessmentProjectService;
-import com.xjrsoft.module.student.vo.BaseStudentAssessmentProjectListVo;
+import com.xjrsoft.module.student.vo.*;
 
-import com.xjrsoft.module.student.vo.BaseStudentAssessmentProjectPageVo;
-import com.xjrsoft.module.student.vo.BaseStudentAssessmentProjectVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -37,6 +38,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -52,8 +54,36 @@ import java.util.List;
 public class BaseStudentAssessmentProjectController {
 
 
+    private final IBaseStudentAssessmentCategoryService baseStudentAssessmentCategoryService;
+
     private final IBaseStudentAssessmentProjectService baseStudentAssessmentProjectService;
 
+
+    @GetMapping(value = "/tree")
+    @ApiOperation(value = "学生考核项目列表(树)")
+    @SaCheckPermission("basestudentassessmentproject:detail")
+    public RT<List<BaseStudentAssessmentProjectTreeVo>> page() {
+
+        List<BaseStudentAssessmentProjectTreeVo> voList = new ArrayList<>();
+        baseStudentAssessmentCategoryService.list().forEach((node) -> {
+            voList.add(new BaseStudentAssessmentProjectTreeVo(){{
+                setId(node.getId());
+                setName(node.getName());
+            }});
+        });
+
+        baseStudentAssessmentProjectService.list().forEach((node)->{
+            voList.add(new BaseStudentAssessmentProjectTreeVo(){{
+                setId(node.getId());
+                setName(node.getName());
+                setParentId(node.getBaseStudentAssessmentCategoryId());
+            }});
+        });
+        List<BaseStudentAssessmentProjectTreeVo> treeVoList = TreeUtil.build(voList);
+
+        return RT.ok(treeVoList);
+    }
+
     @GetMapping(value = "/page")
     @ApiOperation(value = "学生考核项目列表(分页)")
     @SaCheckPermission("basestudentassessmentproject:detail")

+ 49 - 18
src/main/java/com/xjrsoft/module/student/controller/BaseStudentBehaviorProjectController.java

@@ -11,16 +11,20 @@ import com.baomidou.mybatisplus.core.toolkit.StringPool;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.utils.TreeUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
+import com.xjrsoft.module.organization.vo.PostTreeVo;
 import com.xjrsoft.module.student.dto.AddBaseStudentBehaviorProjectDto;
 import com.xjrsoft.module.student.dto.UpdateBaseStudentBehaviorProjectDto;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 
 import com.xjrsoft.module.student.dto.BaseStudentBehaviorProjectPageDto;
 import com.xjrsoft.module.student.entity.BaseStudentBehaviorProject;
+import com.xjrsoft.module.student.service.IBaseStudentBehaviorCategoryService;
 import com.xjrsoft.module.student.service.IBaseStudentBehaviorProjectService;
 import com.xjrsoft.module.student.vo.BaseStudentBehaviorProjectPageVo;
 
+import com.xjrsoft.module.student.vo.BaseStudentBehaviorProjectTreeVo;
 import com.xjrsoft.module.student.vo.BaseStudentBehaviorProjectVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -29,45 +33,72 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
-* @title: 学生操行分考核项目
-* @Author fanxp
-* @Date: 2023-11-15
-* @Version 1.0
-*/
+ * @title: 学生操行分考核项目
+ * @Author fanxp
+ * @Date: 2023-11-15
+ * @Version 1.0
+ */
 @RestController
 @RequestMapping("/student" + "/basestudentbehaviorproject")
-@Api(value = "/student"  + "/basestudentbehaviorproject",tags = "学生操行分考核项目代码")
+@Api(value = "/student" + "/basestudentbehaviorproject", tags = "学生操行分考核项目代码")
 @AllArgsConstructor
 public class BaseStudentBehaviorProjectController {
 
+    private final IBaseStudentBehaviorCategoryService baseStudentBehaviorCategoryService;
 
     private final IBaseStudentBehaviorProjectService baseStudentBehaviorProjectService;
 
+    @GetMapping(value = "/tree")
+    @ApiOperation(value = "学生操行分考核项目列表(树)")
+    @SaCheckPermission("basestudentbehaviorproject:detail")
+    public RT<List<BaseStudentBehaviorProjectTreeVo>> tree() {
+
+        List<BaseStudentBehaviorProjectTreeVo> voList = new ArrayList<>();
+        baseStudentBehaviorCategoryService.list().forEach((node) -> {
+            voList.add(new BaseStudentBehaviorProjectTreeVo(){{
+                setId(node.getId());
+                setName(node.getName());
+            }});
+        });
+
+        baseStudentBehaviorProjectService.list().forEach((node)->{
+            voList.add(new BaseStudentBehaviorProjectTreeVo(){{
+                setId(node.getId());
+                setName(node.getName());
+                setParentId(node.getBaseStudentBehaviorCategoryId());
+            }});
+        });
+        List<BaseStudentBehaviorProjectTreeVo> treeVoList = TreeUtil.build(voList);
+
+        return RT.ok(treeVoList);
+    }
+
     @GetMapping(value = "/page")
-    @ApiOperation(value="学生操行分考核项目列表(分页)")
+    @ApiOperation(value = "学生操行分考核项目列表(分页)")
     @SaCheckPermission("basestudentbehaviorproject:detail")
-    public RT<PageOutput<BaseStudentBehaviorProjectPageVo>> page(@Valid BaseStudentBehaviorProjectPageDto dto){
+    public RT<PageOutput<BaseStudentBehaviorProjectPageVo>> page(@Valid BaseStudentBehaviorProjectPageDto dto) {
 
         LambdaQueryWrapper<BaseStudentBehaviorProject> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper
-                    .orderByDesc(BaseStudentBehaviorProject::getId)
-                .eq(ObjectUtil.isNotNull(dto.getBaseStudentBehaviorCategoryId()),BaseStudentBehaviorProject::getBaseStudentAssessmentProjectId,dto.getBaseStudentBehaviorCategoryId())
-                .select(BaseStudentBehaviorProject.class,x -> VoToColumnUtil.fieldsToColumns(BaseStudentBehaviorProjectPageVo.class).contains(x.getProperty()));
+                .orderByDesc(BaseStudentBehaviorProject::getId)
+                .eq(ObjectUtil.isNotNull(dto.getBaseStudentBehaviorCategoryId()), BaseStudentBehaviorProject::getBaseStudentAssessmentProjectId, dto.getBaseStudentBehaviorCategoryId())
+                .select(BaseStudentBehaviorProject.class, x -> VoToColumnUtil.fieldsToColumns(BaseStudentBehaviorProjectPageVo.class).contains(x.getProperty()));
         IPage<BaseStudentBehaviorProject> page = baseStudentBehaviorProjectService.page(ConventPage.getPage(dto), queryWrapper);
         PageOutput<BaseStudentBehaviorProjectPageVo> pageOutput = ConventPage.getPageOutput(page, BaseStudentBehaviorProjectPageVo.class);
         return RT.ok(pageOutput);
     }
 
     @GetMapping(value = "/info")
-    @ApiOperation(value="根据id查询学生操行分考核项目信息")
+    @ApiOperation(value = "根据id查询学生操行分考核项目信息")
     @SaCheckPermission("basestudentbehaviorproject:detail")
-    public RT<BaseStudentBehaviorProjectVo> info(@RequestParam Long id){
+    public RT<BaseStudentBehaviorProjectVo> info(@RequestParam Long id) {
         BaseStudentBehaviorProject baseStudentBehaviorProject = baseStudentBehaviorProjectService.getById(id);
         if (baseStudentBehaviorProject == null) {
-           return RT.error("找不到此数据!");
+            return RT.error("找不到此数据!");
         }
         return RT.ok(BeanUtil.toBean(baseStudentBehaviorProject, BaseStudentBehaviorProjectVo.class));
     }
@@ -76,16 +107,16 @@ public class BaseStudentBehaviorProjectController {
     @PostMapping
     @ApiOperation(value = "新增学生操行分考核项目")
     @SaCheckPermission("basestudentbehaviorproject:add")
-    public RT<Boolean> add(@Valid @RequestBody AddBaseStudentBehaviorProjectDto dto){
+    public RT<Boolean> add(@Valid @RequestBody AddBaseStudentBehaviorProjectDto dto) {
         BaseStudentBehaviorProject baseStudentBehaviorProject = BeanUtil.toBean(dto, BaseStudentBehaviorProject.class);
         boolean isSuccess = baseStudentBehaviorProjectService.save(baseStudentBehaviorProject);
-    return RT.ok(isSuccess);
+        return RT.ok(isSuccess);
     }
 
     @PutMapping
     @ApiOperation(value = "修改学生操行分考核项目")
     @SaCheckPermission("basestudentbehaviorproject:edit")
-    public RT<Boolean> update(@Valid @RequestBody UpdateBaseStudentBehaviorProjectDto dto){
+    public RT<Boolean> update(@Valid @RequestBody UpdateBaseStudentBehaviorProjectDto dto) {
 
         BaseStudentBehaviorProject baseStudentBehaviorProject = BeanUtil.toBean(dto, BaseStudentBehaviorProject.class);
         return RT.ok(baseStudentBehaviorProjectService.updateById(baseStudentBehaviorProject));
@@ -95,7 +126,7 @@ public class BaseStudentBehaviorProjectController {
     @DeleteMapping
     @ApiOperation(value = "删除学生操行分考核项目")
     @SaCheckPermission("basestudentbehaviorproject:delete")
-    public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
+    public RT<Boolean> delete(@Valid @RequestBody List<Long> ids) {
         return RT.ok(baseStudentBehaviorProjectService.removeBatchByIds(ids));
 
     }

+ 0 - 5
src/main/java/com/xjrsoft/module/student/dto/AddBaseStudentBehaviorProjectDto.java

@@ -90,11 +90,6 @@ public class AddBaseStudentBehaviorProjectDto implements Serializable {
     @ApiModelProperty("班级考核项目编号(base_student_assessment_project)")
     private Long baseStudentAssessmentProjectId;
     /**
-    * 是否允许修改(1:是 0:否)
-    */
-    @ApiModelProperty("是否允许修改(1:是 0:否)")
-    private Integer isEdit;
-    /**
     * 自动换算考核类型(xjr_dictionary_item[score_type])
     */
     @ApiModelProperty("自动换算考核类型(xjr_dictionary_item[score_type])")

+ 0 - 5
src/main/java/com/xjrsoft/module/student/entity/BaseStudentBehaviorProject.java

@@ -139,11 +139,6 @@ public class BaseStudentBehaviorProject implements Serializable {
     @ApiModelProperty("班级考核项目编号(base_student_assessment_project)")
     private Long baseStudentAssessmentProjectId;
     /**
-    * 是否允许修改(1:是 0:否)
-    */
-    @ApiModelProperty("是否允许修改(1:是 0:否)")
-    private Integer isEdit;
-    /**
     * 自动换算考核类型(xjr_dictionary_item[score_type])
     */
     @ApiModelProperty("自动换算考核类型(xjr_dictionary_item[score_type])")

+ 24 - 0
src/main/java/com/xjrsoft/module/student/vo/BaseStudentAssessmentProjectTreeVo.java

@@ -0,0 +1,24 @@
+package com.xjrsoft.module.student.vo;
+
+import com.xjrsoft.common.model.tree.ITreeNode;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class BaseStudentAssessmentProjectTreeVo implements ITreeNode<BaseStudentAssessmentProjectTreeVo,Long>, Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    @ApiModelProperty("名字")
+    private String name;
+
+    @ApiModelProperty("父级id")
+    private Long parentId;
+
+    private List<BaseStudentAssessmentProjectTreeVo> children;
+}

+ 0 - 5
src/main/java/com/xjrsoft/module/student/vo/BaseStudentBehaviorProjectPageVo.java

@@ -121,11 +121,6 @@ public class BaseStudentBehaviorProjectPageVo {
     @ApiModelProperty("班级考核项目编号(base_student_assessment_project)")
     private Long baseStudentAssessmentProjectId;
     /**
-    * 是否允许修改(1:是 0:否)
-    */
-    @ApiModelProperty("是否允许修改(1:是 0:否)")
-    private Integer isEdit;
-    /**
     * 自动换算考核类型(xjr_dictionary_item[score_type])
     */
     @ApiModelProperty("自动换算考核类型(xjr_dictionary_item[score_type])")

+ 25 - 0
src/main/java/com/xjrsoft/module/student/vo/BaseStudentBehaviorProjectTreeVo.java

@@ -0,0 +1,25 @@
+package com.xjrsoft.module.student.vo;
+
+import com.xjrsoft.common.model.tree.ITreeNode;
+import com.xjrsoft.module.organization.vo.PostTreeVo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class BaseStudentBehaviorProjectTreeVo implements ITreeNode<BaseStudentBehaviorProjectTreeVo,Long>, Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    @ApiModelProperty("名字")
+    private String name;
+
+    @ApiModelProperty("父级id")
+    private Long parentId;
+
+    private List<BaseStudentBehaviorProjectTreeVo> children;
+}

+ 0 - 5
src/main/java/com/xjrsoft/module/student/vo/BaseStudentBehaviorProjectVo.java

@@ -89,11 +89,6 @@ public class BaseStudentBehaviorProjectVo {
     @ApiModelProperty("班级考核项目编号(base_student_assessment_project)")
     private Long baseStudentAssessmentProjectId;
     /**
-    * 是否允许修改(1:是 0:否)
-    */
-    @ApiModelProperty("是否允许修改(1:是 0:否)")
-    private Integer isEdit;
-    /**
     * 自动换算考核类型(xjr_dictionary_item[score_type])
     */
     @ApiModelProperty("自动换算考核类型(xjr_dictionary_item[score_type])")

+ 0 - 1
src/main/resources/sqlScript/20231113_sql.sql

@@ -380,7 +380,6 @@ CREATE TABLE base_student_behavior_project
     `conversion_method` INT NULL DEFAULT 1 COMMENT '换算方式(1:手动换算 2:自动换算)',
     `status` INT NULL DEFAULT 1 COMMENT '是否启用(1:是 0:否)',
     `base_student_assessment_project_id` BIGINT NULL DEFAULT NULL COMMENT '班级考核项目编号(base_student_assessment_project)',
-    `is_edit` INT NULL DEFAULT 0 COMMENT '是否允许修改(1:是 0:否)',
     `automatic_score_type` varchar(20) NULL DEFAULT NULL COMMENT '自动换算考核类型(xjr_dictionary_item[score_type])',
     `remark` VARCHAR(1000) COMMENT '备注',
     PRIMARY KEY (`id`)