夏文涛 2 rokov pred
rodič
commit
9dd26c5c78

+ 12 - 5
src/main/java/com/template/api/SmartSectionControllerAPI.java

@@ -1,20 +1,27 @@
 package com.template.api;
 package com.template.api;
 
 
 
 
-import com.template.model.request.insertSmartUserRequest;
+import com.template.model.request.insertSectionRequest;
+import com.template.model.request.updateSectionRequest;
 import com.template.model.result.CommonResult;
 import com.template.model.result.CommonResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
 
 
 @RequestMapping("/api/smartSection")
 @RequestMapping("/api/smartSection")
 @Api(tags = {"SmartSectionControllerAPI"}, value = "分段接口")
 @Api(tags = {"SmartSectionControllerAPI"}, value = "分段接口")
 public interface SmartSectionControllerAPI {
 public interface SmartSectionControllerAPI {
     @PostMapping(value = "/insertSection")
     @PostMapping(value = "/insertSection")
     @ApiOperation(value = "添加分段数据", notes = "添加分段数据", httpMethod = "POST")
     @ApiOperation(value = "添加分段数据", notes = "添加分段数据", httpMethod = "POST")
-    CommonResult insertSection(@Validated @RequestBody insertSmartUserRequest isur, BindingResult bindingResult);
+    CommonResult insertSection(@Validated @RequestBody insertSectionRequest isr, BindingResult bindingResult);
+
+    @PostMapping(value = "/updateSection")
+    @ApiOperation(value = "编辑分段数据", notes = "编辑分段数据", httpMethod = "POST")
+    CommonResult updateSection(@Validated @RequestBody updateSectionRequest isr, BindingResult bindingResult);
+
+    @GetMapping(value = "/queryPageSmartUser")
+    @ApiOperation(value = "用户分页数据", notes = "用户分页数据", httpMethod = "GET")
+    CommonResult queryPageSmartSection(@RequestParam int currentPage, @RequestParam int pageCount);
 }
 }

+ 19 - 17
src/main/java/com/template/common/utils/TimeExchange.java

@@ -788,23 +788,25 @@ public class TimeExchange {
     }
     }
 
 
     public static void main(String[] args) {
     public static void main(String[] args) {
-        List<Integer> teacherDatas = new ArrayList<>();
-        teacherDatas.add(1);
-        teacherDatas.add(2);
-        teacherDatas.add(3);
-        teacherDatas.add(4);
-        teacherDatas.add(5);
-        int num = (int) Math.ceil((double) teacherDatas.size() / 3);
-        for (int count = 1; count <= num; count++) {
-            int startIndex = (count - 1) * 3;
-            int endIndex = count * 3;
-            if (count == num) {
-                endIndex = startIndex + (teacherDatas.size() % 3);
-            }
-
-            List<Integer> currentStudentDatas = teacherDatas.subList(startIndex, endIndex);//结尾不包含下标100
-            String sds = "";
-        }
+        // 创建list
+
+        List<Integer> list = new ArrayList<Integer>();
+
+        // 插入元素
+
+        list.add(2);
+
+        list.add(0);
+
+        list.add(3);
+
+        list.add(4);
+
+        list.add(1);
+
+
+
+        System.out.println(list.get(0));
     }
     }
 
 
 
 

+ 161 - 4
src/main/java/com/template/controller/SmartSectionController.java

@@ -1,14 +1,37 @@
 package com.template.controller;
 package com.template.controller;
 
 
 
 
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.api.SmartSectionControllerAPI;
 import com.template.api.SmartSectionControllerAPI;
-import com.template.model.request.insertSmartUserRequest;
+import com.template.common.utils.paramUtils;
+import com.template.model.pojo.SmartExamtype;
+import com.template.model.pojo.SmartSection;
+import com.template.model.pojo.SmartSectionDetail;
+import com.template.model.pojo.SmartUser;
+import com.template.model.request.insertSectionRequest;
+import com.template.model.request.sectionDetailRequest;
+import com.template.model.request.updateSectionRequest;
 import com.template.model.result.CommonResult;
 import com.template.model.result.CommonResult;
+import com.template.model.result.PageUtils;
+import com.template.model.vo.AffiliateUserVo;
+import com.template.model.vo.ExamTypesVo;
+import com.template.model.vo.SmartSectionPageVo;
+import com.template.model.vo.UserVo;
+import com.template.services.SmartExamtypeService;
+import com.template.services.SmartSectionDetailService;
+import com.template.services.SmartSectionService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.RequestMapping;
 
 
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
 /**
 /**
  * <p>
  * <p>
  * 应用管理 前端控制器
  * 应用管理 前端控制器
@@ -20,9 +43,143 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RestController
 public class SmartSectionController implements SmartSectionControllerAPI {
 public class SmartSectionController implements SmartSectionControllerAPI {
 
 
+    @Autowired
+    private SmartSectionService smartSectionService;
+
+    @Autowired
+    private SmartExamtypeService smartExamtypeService;
+
+    @Autowired
+    private SmartSectionDetailService smartSectionDetailService;
+
+    @Override
+    public CommonResult insertSection(insertSectionRequest isr, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        SmartSection ss = new SmartSection();
+        ss.setGradeId(isr.getGradeId());
+        ss.setTermId(isr.getTermId());
+        ss.setExamType(StringUtils.join(isr.getExamTypes(), ","));
+        ss.setPassLine(isr.getPassLine());
+        ss.setGoodLine(isr.getGoodLine());
+        ss.setExcellentLine(isr.getExcellentLine());
+
+        int result = smartSectionService.insertSmartSection(ss);
+        if (result <= 0) {
+            return CommonResult.fail("分段添加失败!");
+        }
+
+        if (isr.getDetails() != null && isr.getDetails().size() > 0) {
+            List<SmartSectionDetail> ssds = new ArrayList<>();
+            for (sectionDetailRequest sdr : isr.getDetails()) {
+                SmartSectionDetail ssd = new SmartSectionDetail();
+                ssd.setSectionId(result);
+                ssd.setSubjectId(sdr.getSubjectId());
+                ssd.setSubjectName(sdr.getSubjectName());
+                ssd.setScore(sdr.getScore());
+                ssds.add(ssd);
+            }
+
+            if (ssds != null && ssds.size() > 0) {
+                boolean detailBatch = smartSectionDetailService.saveBatch(ssds);
+                if (!detailBatch) {
+                    return CommonResult.fail("分段添加失败!");
+                }
+            }
+        }
+
+        return CommonResult.ok("分段添加成功");
+    }
+
+    @Override
+    public CommonResult updateSection(updateSectionRequest usr, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        SmartSection oldSection = smartSectionService.getSmartById(usr.getId());
+        if (oldSection == null) {
+            return CommonResult.fail("分段数据已失效,编辑失败");
+        }
+
+        oldSection.setGradeId(usr.getGradeId());
+        oldSection.setTermId(usr.getTermId());
+        oldSection.setExamType(StringUtils.join(usr.getExamTypes(), ","));
+        oldSection.setPassLine(usr.getPassLine());
+        oldSection.setGoodLine(usr.getGoodLine());
+        oldSection.setExcellentLine(usr.getExcellentLine());
+        int updateSection = smartSectionService.updateSmartSection(oldSection);
+        if (updateSection <= 0) {
+            return CommonResult.fail("分段编辑失败");
+        }
+
+        if (usr.getDetails() != null && usr.getDetails().size() > 0) {
+            smartSectionDetailService.deletedDetailBySenctionId(usr.getId());
+
+            List<SmartSectionDetail> ssds = new ArrayList<>();
+            for (sectionDetailRequest sdr : usr.getDetails()) {
+                SmartSectionDetail ssd = new SmartSectionDetail();
+                ssd.setSectionId(oldSection.getId());
+                ssd.setSubjectId(sdr.getSubjectId());
+                ssd.setSubjectName(sdr.getSubjectName());
+                ssd.setScore(sdr.getScore());
+                ssds.add(ssd);
+            }
+
+            if (ssds != null && ssds.size() > 0) {
+                boolean detailBatch = smartSectionDetailService.saveBatch(ssds);
+                if (!detailBatch) {
+                    return CommonResult.fail("分段编辑失败!");
+                }
+            }
+        }
+
+        return CommonResult.ok("分段编辑成功");
+    }
+
     @Override
     @Override
-    public CommonResult insertSection(insertSmartUserRequest isur, BindingResult bindingResult) {
-        return null;
+    public CommonResult queryPageSmartSection(int currentPage, int pageCount) {
+        PageUtils<SmartSectionPageVo> result = smartSectionService.querySmartSectionPages(currentPage, pageCount);
+
+        if (result != null && result.getList() != null && result.getList().size() > 0) {
+            List<String> examTypeIds = Arrays.asList(StringUtils.join(result.getList().stream().map(SmartSectionPageVo::getExamType).collect(Collectors.toList()), ",").split(","));
+            List<SmartExamtype> examtypes = examTypeIds != null && examTypeIds.size() > 0 ? smartExamtypeService.getSmartByIds(examTypeIds) : new ArrayList<>();
+
+            List<Integer> sectionIds = result.getList().stream().map(SmartSectionPageVo::getId).collect(Collectors.toList());
+
+            List<SmartSectionDetail> details = smartSectionDetailService.getSmartByIds(sectionIds);
+
+            for (SmartSectionPageVo data:result.getList()){
+                List<ExamTypesVo> datas = new ArrayList<>();
+                if (data.getExamType() != null) {
+                    List<String> examtypeIds = Arrays.asList(data.getExamType().split(","));
+                    for (String exam : examtypeIds) {
+                        if (!ObjectUtils.isEmpty(exam)) {
+                            Optional<SmartExamtype> examtype = examtypes.stream().filter(e -> e.getId().equals(Integer.valueOf(exam))).findFirst();
+                            if (examtype != null && examtype.isPresent()) {
+                                ExamTypesVo ev = new ExamTypesVo();
+                                ev.setId(examtype.get().getId());
+                                ev.setName(examtype.get().getName());
+                                datas.add(ev);
+                            }
+                        }
+                    }
+                }
+                data.setExamTypes(datas);
+                List<SmartSectionDetail> ownerDetails = details.stream().filter(e -> e.getSectionId().equals(data.getId())).collect(Collectors.toList());
+                if(ownerDetails != null && ownerDetails.size() > 0){
+                    data.setDetails(ownerDetails);
+                }
+            }
+        }
+
+        return CommonResult.ok(result);
     }
     }
+
+
 }
 }
 
 

+ 16 - 39
src/main/java/com/template/controller/SmartUserController.java

@@ -3106,7 +3106,7 @@ public class SmartUserController implements SmartUserControllerAPI {
                 for (isrRequest sv : usur.getUsr()) {
                 for (isrRequest sv : usur.getUsr()) {
                     if (sv.getIds() != null && sv.getIds().size() > 0) {
                     if (sv.getIds() != null && sv.getIds().size() > 0) {
                         SmartTeaching st = new SmartTeaching();
                         SmartTeaching st = new SmartTeaching();
-                        st.setUserId(result);
+                        st.setUserId(su.getId());
                         st.setSubjectId(sv.getIds().size() > 0 ? sv.getIds().get(0) : 0);
                         st.setSubjectId(sv.getIds().size() > 0 ? sv.getIds().get(0) : 0);
                         st.setGradeId(sv.getIds().size() > 1 ? sv.getIds().get(1) : 0);
                         st.setGradeId(sv.getIds().size() > 1 ? sv.getIds().get(1) : 0);
                         st.setClassId(sv.getIds().size() > 2 ? sv.getIds().get(2) : 0);
                         st.setClassId(sv.getIds().size() > 2 ? sv.getIds().get(2) : 0);
@@ -4289,45 +4289,22 @@ public class SmartUserController implements SmartUserControllerAPI {
                 //region 任课数据
                 //region 任课数据
                 List<UserSubjectVo> ownerTeachings = teachings.stream().filter(e -> e.getUserId().equals(data.getId())).collect(Collectors.toList());
                 List<UserSubjectVo> ownerTeachings = teachings.stream().filter(e -> e.getUserId().equals(data.getId())).collect(Collectors.toList());
                 if (ownerTeachings != null && ownerTeachings.size() > 0) {
                 if (ownerTeachings != null && ownerTeachings.size() > 0) {
-                    List<SubjectVo> subjectVos = new ArrayList<>();
-                    List<Integer> subjectIds = ownerTeachings.stream().map(UserSubjectVo::getSubjectId).distinct().collect(Collectors.toList());
-                    for (Integer subjectId : subjectIds) {
-                        List<UserSubjectVo> ownerSubjects = ownerTeachings.stream().filter(e -> e.getSubjectId().equals(subjectId)).collect(Collectors.toList());
-                        if (ownerSubjects != null && ownerSubjects.size() > 0) {
-                            SubjectVo sv = new SubjectVo();
-                            sv.setId(subjectId);
-                            sv.setName(ownerSubjects.get(0).getSubjectName());
-                            List<SubjectGradeVo> grades = new ArrayList<>();
-                            List<Integer> gradeIds = ownerSubjects.stream().map(UserSubjectVo::getGradeId).distinct().collect(Collectors.toList());
-
-                            if (gradeIds != null && gradeIds.size() > 0) {
-                                for (Integer gradeId : gradeIds) {
-                                    String gradeStr = "";
-                                    Optional<UserSubjectVo> oGrade = ownerSubjects.stream().filter(e -> e.getGradeId().equals(gradeId)).findFirst();
-                                    if (oGrade != null && oGrade.isPresent()) {
-                                        gradeStr = oGrade.get().getGradeName();
-                                    }
-                                    SubjectGradeVo grade = new SubjectGradeVo();
-                                    grade.setId(gradeId);
-                                    grade.setName(gradeStr);
-                                    List<SubjectClassVo> classes = new ArrayList<>();
-                                    List<UserSubjectVo> classeSubjects = ownerSubjects.stream().filter(e -> e.getGradeId().equals(gradeId)).collect(Collectors.toList());
-                                    if (classeSubjects != null && classeSubjects.size() > 0) {
-                                        for (UserSubjectVo classSubject : classeSubjects) {
-                                            SubjectClassVo classData = new SubjectClassVo();
-                                            classData.setId(classSubject.getClassId());
-                                            classData.setName(classSubject.getClassName());
-                                            classes.add(classData);
-                                        }
-                                    }
-                                    grade.setChildren(classes);
-                                    grades.add(grade);
-                                }
-                            }
-                            sv.setChildren(grades);
-                            subjectVos.add(sv);
-                        }
+                    List<isrRequest> subjectVos = new ArrayList<>();
+                    for (UserSubjectVo ownerTeaching : ownerTeachings) {
+                        isrRequest ir = new isrRequest();
+                        Integer[] ids = new Integer[3];
+                        //用这种方式能避免重复引用
+                        //简单说,重复引用就是一个集合/对象中的多个元素/属性同时引用同一对象,循环引用就是集合/对象中的多个元素/属性存在相互引用导致循环。
+                        Integer subjectId = new Integer(ownerTeaching.getSubjectId());
+                        ids[0] = subjectId;
+                        Integer gradeId = new Integer(ownerTeaching.getGradeId());
+                        ids[1] = gradeId;
+                        Integer classId = new Integer(ownerTeaching.getClassId());
+                        ids[2] = classId;
+                        ir.setIds(Arrays.asList(ids) );
+                        subjectVos.add(ir);
                     }
                     }
+
                     data.setSubjectVos(subjectVos);
                     data.setSubjectVos(subjectVos);
                 }
                 }
                 //endregion
                 //endregion

+ 2 - 0
src/main/java/com/template/mapper/SmartSectionDetailMapper.java

@@ -2,6 +2,7 @@ package com.template.mapper;
 
 
 import com.template.model.pojo.SmartSectionDetail;
 import com.template.model.pojo.SmartSectionDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -11,6 +12,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author ceshi
  * @author ceshi
  * @since 2024-05-28
  * @since 2024-05-28
  */
  */
+@Repository
 public interface SmartSectionDetailMapper extends BaseMapper<SmartSectionDetail> {
 public interface SmartSectionDetailMapper extends BaseMapper<SmartSectionDetail> {
 
 
 }
 }

+ 7 - 0
src/main/java/com/template/mapper/SmartSectionMapper.java

@@ -1,7 +1,12 @@
 package com.template.mapper;
 package com.template.mapper;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.template.model.pojo.SmartSection;
 import com.template.model.pojo.SmartSection;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.template.model.vo.SmartSectionPageVo;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -11,6 +16,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author ceshi
  * @author ceshi
  * @since 2024-05-28
  * @since 2024-05-28
  */
  */
+@Repository
 public interface SmartSectionMapper extends BaseMapper<SmartSection> {
 public interface SmartSectionMapper extends BaseMapper<SmartSection> {
 
 
+    IPage<SmartSectionPageVo> querySmartSectionPages(IPage<SmartSectionPageVo> page);
 }
 }

+ 3 - 2
src/main/java/com/template/model/request/insertSectionRequest.java

@@ -35,7 +35,7 @@ public class insertSectionRequest {
      * 考试类型
      * 考试类型
      */
      */
     @NotEmpty(message = "考试类型不能为空")
     @NotEmpty(message = "考试类型不能为空")
-    private List<Integer> examType;
+    private List<Integer> examTypes;
 
 
     /**
     /**
      * 及格线
      * 及格线
@@ -58,6 +58,7 @@ public class insertSectionRequest {
     /**
     /**
      * 科目明细集合
      * 科目明细集合
      */
      */
-    List<String> sdsd;
+    @NotEmpty(message = "科目明细不能为空")
+    List<sectionDetailRequest> details;
 
 
 }
 }

+ 10 - 32
src/main/java/com/template/model/request/sectionDetailRequest.java

@@ -2,6 +2,7 @@ package com.template.model.request;
 
 
 import lombok.Data;
 import lombok.Data;
 
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.NotNull;
 import java.util.List;
 import java.util.List;
@@ -19,44 +20,21 @@ import java.util.List;
 public class sectionDetailRequest {
 public class sectionDetailRequest {
 
 
     /**
     /**
-     * 年级ID
+     * 科目ID
      */
      */
-    @NotNull(message = "年级不能为空")
-    private Integer gradeId;
+    @NotNull(message = "科目不能为空")
+    private Integer subjectId;
 
 
     /**
     /**
-     * 学期ID
+     * 科目名称
      */
      */
-    @NotNull(message = "学期不能为空")
-    private Integer termId;
+    @NotBlank(message = "科目名称不能为空")
+    private String subjectName;
 
 
     /**
     /**
-     * 考试类型
+     * 分制
      */
      */
-    @NotEmpty(message = "考试类型不能为空")
-    private List<Integer> examType;
-
-    /**
-     * 及格线
-     */
-    @NotNull(message = "及格线不能为空")
-    private Double passLine;
-
-    /**
-     * 良好线
-     */
-    @NotNull(message = "良好线不能为空")
-    private Double goodLine;
-
-    /**
-     * 优秀线
-     */
-    @NotNull(message = "优秀线不能为空")
-    private Double excellentLine;
-
-    /**
-     * 科目明细集合
-     */
-    List<String> sdsd;
+    @NotNull(message = "分制不能为空")
+    private Integer score;
 
 
 }
 }

+ 68 - 0
src/main/java/com/template/model/request/updateSectionRequest.java

@@ -0,0 +1,68 @@
+package com.template.model.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-12-04
+ */
+@Data
+public class updateSectionRequest {
+    /**
+     * 数据ID
+     */
+    @NotNull(message = "数据ID不能为空")
+    private Integer id;
+
+    /**
+     * 年级ID
+     */
+    @NotNull(message = "年级不能为空")
+    private Integer gradeId;
+
+    /**
+     * 学期ID
+     */
+    @NotNull(message = "学期不能为空")
+    private Integer termId;
+
+    /**
+     * 考试类型
+     */
+    @NotEmpty(message = "考试类型不能为空")
+    private List<Integer> examTypes;
+
+    /**
+     * 及格线
+     */
+    @NotNull(message = "及格线不能为空")
+    private Double passLine;
+
+    /**
+     * 良好线
+     */
+    @NotNull(message = "良好线不能为空")
+    private Double goodLine;
+
+    /**
+     * 优秀线
+     */
+    @NotNull(message = "优秀线不能为空")
+    private Double excellentLine;
+
+    /**
+     * 科目明细集合
+     */
+    @NotEmpty(message = "科目明细不能为空")
+    List<sectionDetailRequest> details;
+
+}

+ 23 - 0
src/main/java/com/template/model/vo/ExamTypesVo.java

@@ -0,0 +1,23 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/12/4 星期一 15:57
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class ExamTypesVo {
+    /**
+     * 考试类型ID
+     */
+    private Integer id;
+
+    /**
+     * 考试类型名称
+     */
+    private String name;
+
+}

+ 72 - 0
src/main/java/com/template/model/vo/SmartSectionPageVo.java

@@ -0,0 +1,72 @@
+package com.template.model.vo;
+
+import com.template.model.pojo.SmartSectionDetail;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/12/4 星期一 15:57
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class SmartSectionPageVo {
+    /**
+     * 数据ID
+     */
+    private Integer id;
+
+    /**
+     * 年级ID
+     */
+    private Integer gradeId;
+
+    /**
+     * 年级名称
+     */
+    private String gradeName;
+
+    /**
+     * 学期ID
+     */
+    private Integer termId;
+
+    /**
+     * 学期名称
+     */
+    private String termName;
+
+    /**
+     * 考试类型
+     * 多个数据用逗号隔开
+     */
+    private String examType;
+
+    /**
+     * 考试类型
+     */
+    private List<ExamTypesVo> examTypes;
+
+    /**
+     * 及格线
+     */
+    private Double passLine;
+
+    /**
+     * 良好线
+     */
+    private Double goodLine;
+
+    /**
+     * 优秀线
+     */
+    private Double excellentLine;
+
+    /**
+     * 分制明细数据
+     */
+    private List<SmartSectionDetail> details;
+
+}

+ 2 - 1
src/main/java/com/template/model/vo/UserVo.java

@@ -1,5 +1,6 @@
 package com.template.model.vo;
 package com.template.model.vo;
 
 
+import com.template.model.request.isrRequest;
 import lombok.Data;
 import lombok.Data;
 
 
 import java.util.List;
 import java.util.List;
@@ -161,6 +162,6 @@ public class UserVo {
     /**
     /**
      * 任课数据
      * 任课数据
      */
      */
-    private List<SubjectVo> subjectVos;
+    private List<isrRequest> subjectVos;
 
 
 }
 }

+ 3 - 0
src/main/java/com/template/services/SmartExamtypeService.java

@@ -26,4 +26,7 @@ public interface SmartExamtypeService extends IService<SmartExamtype> {
     SmartExamtype getSmartById(int id);
     SmartExamtype getSmartById(int id);
 
 
     List<SmartExamtype> getSmartByGradeId(int gradeId);
     List<SmartExamtype> getSmartByGradeId(int gradeId);
+
+    List<SmartExamtype> getSmartByIds(List<String> ids);
+
 }
 }

+ 5 - 0
src/main/java/com/template/services/SmartSectionDetailService.java

@@ -1,8 +1,11 @@
 package com.template.services;
 package com.template.services;
 
 
+import com.template.model.pojo.SmartSection;
 import com.template.model.pojo.SmartSectionDetail;
 import com.template.model.pojo.SmartSectionDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  * 应用管理 服务类
  * 应用管理 服务类
@@ -12,5 +15,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2024-05-28
  * @since 2024-05-28
  */
  */
 public interface SmartSectionDetailService extends IService<SmartSectionDetail> {
 public interface SmartSectionDetailService extends IService<SmartSectionDetail> {
+    int deletedDetailBySenctionId(Integer sectionId);
 
 
+    List<SmartSectionDetail> getSmartByIds(List<Integer> ids);
 }
 }

+ 12 - 0
src/main/java/com/template/services/SmartSectionService.java

@@ -1,7 +1,12 @@
 package com.template.services;
 package com.template.services;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.template.model.pojo.SmartSection;
 import com.template.model.pojo.SmartSection;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.template.model.pojo.SmartUser;
+import com.template.model.result.PageUtils;
+import com.template.model.vo.SmartSectionPageVo;
+import com.template.model.vo.UserDeleteVo;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -13,4 +18,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
  */
 public interface SmartSectionService extends IService<SmartSection> {
 public interface SmartSectionService extends IService<SmartSection> {
 
 
+    int insertSmartSection(SmartSection ss);
+
+    int updateSmartSection(SmartSection ss);
+
+    SmartSection getSmartById(Integer id);
+
+    PageUtils<SmartSectionPageVo> querySmartSectionPages(int currentPage, int pageCount);
 }
 }

+ 8 - 0
src/main/java/com/template/services/impl/SmartExamtypeServiceImpl.java

@@ -68,4 +68,12 @@ public class SmartExamtypeServiceImpl extends ServiceImpl<SmartExamtypeMapper, S
         List<SmartExamtype> result = smartExamtypeMapper.selectList(query);
         List<SmartExamtype> result = smartExamtypeMapper.selectList(query);
         return result;
         return result;
     }
     }
+
+    @Override
+    public List<SmartExamtype> getSmartByIds(List<String> ids) {
+        QueryWrapper<SmartExamtype> query = new QueryWrapper<>();
+        query.in(ids != null && ids.size() > 0, "id", ids);
+        List<SmartExamtype> result = smartExamtypeMapper.selectList(query);
+        return result;
+    }
 }
 }

+ 23 - 0
src/main/java/com/template/services/impl/SmartSectionDetailServiceImpl.java

@@ -1,11 +1,16 @@
 package com.template.services.impl;
 package com.template.services.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.template.model.pojo.SmartSectionDetail;
 import com.template.model.pojo.SmartSectionDetail;
 import com.template.mapper.SmartSectionDetailMapper;
 import com.template.mapper.SmartSectionDetailMapper;
+import com.template.model.pojo.SmartUser;
 import com.template.services.SmartSectionDetailService;
 import com.template.services.SmartSectionDetailService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  * 应用管理 服务实现类
  * 应用管理 服务实现类
@@ -17,4 +22,22 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class SmartSectionDetailServiceImpl extends ServiceImpl<SmartSectionDetailMapper, SmartSectionDetail> implements SmartSectionDetailService {
 public class SmartSectionDetailServiceImpl extends ServiceImpl<SmartSectionDetailMapper, SmartSectionDetail> implements SmartSectionDetailService {
 
 
+    @Autowired
+    private SmartSectionDetailMapper smartSectionDetailMapper;
+
+    @Override
+    public int deletedDetailBySenctionId(Integer sectionId) {
+        QueryWrapper<SmartSectionDetail> queryWrapper = new QueryWrapper();
+        queryWrapper.eq("section_id", sectionId);
+        int deleteDetail = smartSectionDetailMapper.delete(queryWrapper);
+        return deleteDetail;
+    }
+
+    @Override
+    public List<SmartSectionDetail> getSmartByIds(List<Integer> ids) {
+        QueryWrapper<SmartSectionDetail> queryWrapper = new QueryWrapper();
+        queryWrapper.in("section_id", ids);
+        List<SmartSectionDetail> sectionDetails = smartSectionDetailMapper.selectList(queryWrapper);
+        return sectionDetails;
+    }
 }
 }

+ 36 - 0
src/main/java/com/template/services/impl/SmartSectionServiceImpl.java

@@ -1,9 +1,16 @@
 package com.template.services.impl;
 package com.template.services.impl;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.template.model.pojo.SmartBuildMeter;
 import com.template.model.pojo.SmartSection;
 import com.template.model.pojo.SmartSection;
 import com.template.mapper.SmartSectionMapper;
 import com.template.mapper.SmartSectionMapper;
+import com.template.model.result.PageUtils;
+import com.template.model.vo.GradeVo;
+import com.template.model.vo.SmartSectionPageVo;
 import com.template.services.SmartSectionService;
 import com.template.services.SmartSectionService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 /**
 /**
@@ -17,4 +24,33 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class SmartSectionServiceImpl extends ServiceImpl<SmartSectionMapper, SmartSection> implements SmartSectionService {
 public class SmartSectionServiceImpl extends ServiceImpl<SmartSectionMapper, SmartSection> implements SmartSectionService {
 
 
+    @Autowired
+    private SmartSectionMapper smartSectionMapper;
+
+    @Override
+    public int insertSmartSection(SmartSection ss) {
+        int result = smartSectionMapper.insert(ss);
+        return ss.getId();
+    }
+
+    @Override
+    public int updateSmartSection(SmartSection ss) {
+        int result = smartSectionMapper.updateById(ss);
+        return result;
+    }
+
+    @Override
+    public SmartSection getSmartById(Integer id) {
+        SmartSection result = smartSectionMapper.selectById(id);
+        return result;
+    }
+
+    @Override
+    public PageUtils<SmartSectionPageVo> querySmartSectionPages(int currentPage, int pageCount) {
+        Page<SmartSectionPageVo> page = new Page<>();
+        page.setCurrent(currentPage);
+        page.setSize(pageCount);
+        IPage<SmartSectionPageVo> result = smartSectionMapper.querySmartSectionPages(page);
+        return new PageUtils(result);
+    }
 }
 }