LIVE_YE 7 сар өмнө
parent
commit
93d7b01e51
19 өөрчлөгдсөн 151 нэмэгдсэн , 56 устгасан
  1. 9 0
      ruoyi-modules/ruoyi-system/pom.xml
  2. 13 1
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/formal/FormalTeacherClassController.java
  3. 3 3
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/leave/AskLeaveController.java
  4. 5 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/AskLeave.java
  5. 5 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/AskLeaveCourse.java
  6. 1 6
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/AskLeaveFj.java
  7. 6 9
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/AskLeaveBo.java
  8. 5 8
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/AskLeaveCourseBo.java
  9. 6 11
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/AskLeaveFjBo.java
  10. 5 2
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/AskLeaveCourseVo.java
  11. 1 7
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/AskLeaveFjVo.java
  12. 5 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/AskLeaveVo.java
  13. 3 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/IFormalTeacherClassService.java
  14. 1 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/AskLeaveCourseServiceImpl.java
  15. 0 1
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/AskLeaveFjServiceImpl.java
  16. 15 4
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/AskLeaveServiceImpl.java
  17. 24 4
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/FormalTeacherClassServiceImpl.java
  18. 44 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/utils/hanziUtils.java
  19. BIN
      ruoyi-modules/ruoyi-system/src/main/resources/lib/pinyin4j-2.5.0.jar

+ 9 - 0
ruoyi-modules/ruoyi-system/pom.xml

@@ -120,6 +120,15 @@
             <artifactId>JustAuth</artifactId>
             <artifactId>JustAuth</artifactId>
         </dependency>
         </dependency>
 
 
+        <dependency>
+            <groupId>com.pinyin4j</groupId>
+            <artifactId>pinyin4j</artifactId>
+            <version>2.5.0</version>
+            <scope>system</scope>
+            <systemPath>${project.basedir}/src/main/resources/lib/pinyin4j-2.5.0.jar</systemPath>
+        </dependency>
+
+
     </dependencies>
     </dependencies>
     <properties>
     <properties>
         <maven.compiler.source>17</maven.compiler.source>
         <maven.compiler.source>17</maven.compiler.source>

+ 13 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/formal/FormalTeacherClassController.java

@@ -1,6 +1,7 @@
 package org.dromara.system.controller.formal;
 package org.dromara.system.controller.formal;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.servlet.http.HttpServletResponse;
@@ -130,7 +131,18 @@ public class FormalTeacherClassController extends BaseController {
     @SaCheckPermission("formal:class:all:query")
     @SaCheckPermission("formal:class:all:query")
     @GetMapping("/all")
     @GetMapping("/all")
     public R<List<FormalTeacherClassVo>> getTeacherClassAll(@NotNull(message = "班级id不能为空")
     public R<List<FormalTeacherClassVo>> getTeacherClassAll(@NotNull(message = "班级id不能为空")
-                                           @PathVariable Long classId) {
+                                           Long classId) {
         return R.ok(formalTeacherClassService.getTeacherClassAll(classId));
         return R.ok(formalTeacherClassService.getTeacherClassAll(classId));
     }
     }
+
+    /**
+     * 获取班级下的所有老师
+     *
+     */
+    @SaCheckPermission("formal:class:all:query")
+    @GetMapping("/all/map")
+    public R<Map<String,List<FormalTeacherClassVo>>> getTeacherClassAllLetter(@NotNull(message = "班级id不能为空")
+                                                                Long classId) {
+        return R.ok(formalTeacherClassService.getTeacherClassAllLetter(classId));
+    }
 }
 }

+ 3 - 3
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/leave/AskLeaveController.java

@@ -95,13 +95,13 @@ public class AskLeaveController extends BaseController {
      *
      *
      * @param ids 主键串
      * @param ids 主键串
      */
      */
-    @SaCheckPermission("ask:leave:remove")
+    /*@SaCheckPermission("ask:leave:remove")
     @Log(title = "请假", businessType = BusinessType.DELETE)
     @Log(title = "请假", businessType = BusinessType.DELETE)
     @GetMapping("/delete/{ids}")
     @GetMapping("/delete/{ids}")
     public R<Void> remove(@NotEmpty(message = "主键不能为空")
     public R<Void> remove(@NotEmpty(message = "主键不能为空")
                           @PathVariable Long[] ids) {
                           @PathVariable Long[] ids) {
         return toAjax(askLeaveService.deleteWithValidByIds(List.of(ids), true));
         return toAjax(askLeaveService.deleteWithValidByIds(List.of(ids), true));
-    }
+    }*/
 
 
     /**
     /**
      * 删除请假
      * 删除请假
@@ -110,7 +110,7 @@ public class AskLeaveController extends BaseController {
     @SaCheckPermission("ask:leave:remove")
     @SaCheckPermission("ask:leave:remove")
     @Log(title = "请假", businessType = BusinessType.DELETE)
     @Log(title = "请假", businessType = BusinessType.DELETE)
     @GetMapping("/delete/{id}")
     @GetMapping("/delete/{id}")
-    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+    public R<Void> remove(@NotNull(message = "主键不能为空")
                           @PathVariable Long id) {
                           @PathVariable Long id) {
         return toAjax(askLeaveService.deleteWithValidById(id, true));
         return toAjax(askLeaveService.deleteWithValidById(id, true));
     }
     }

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/AskLeave.java

@@ -95,6 +95,11 @@ public class AskLeave extends TenantEntity {
      */
      */
     private String examineResult;
     private String examineResult;
 
 
+    /**
+     * 审核意见
+     */
+    private String opinion;
+
     /**
     /**
      * 请假课程信息
      * 请假课程信息
      */
      */

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/AskLeaveCourse.java

@@ -27,6 +27,11 @@ public class AskLeaveCourse extends TenantEntity {
     @TableId(value = "id")
     @TableId(value = "id")
     private Long id;
     private Long id;
 
 
+    /**
+     * 课程表id
+     */
+    private Long courseId;
+
     /**
     /**
      * 请假主表id
      * 请假主表id
      */
      */

+ 1 - 6
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/AskLeaveFj.java

@@ -22,7 +22,7 @@ public class AskLeaveFj extends TenantEntity {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
     /**
     /**
-     * 
+     *
      */
      */
     @TableId(value = "id")
     @TableId(value = "id")
     private Long id;
     private Long id;
@@ -42,11 +42,6 @@ public class AskLeaveFj extends TenantEntity {
      */
      */
     private String url;
     private String url;
 
 
-    /**
-     * 上传日期
-     */
-    private String createDate;
-
     /**
     /**
      * 备注
      * 备注
      */
      */

+ 6 - 9
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/AskLeaveBo.java

@@ -26,13 +26,11 @@ public class AskLeaveBo extends BaseEntity {
     /**
     /**
      * ID
      * ID
      */
      */
-    @NotNull(message = "ID不能为空", groups = { EditGroup.class })
     private Long id;
     private Long id;
 
 
     /**
     /**
      * 学校id
      * 学校id
      */
      */
-    @NotBlank(message = "学校id不能为空", groups = { AddGroup.class, EditGroup.class })
     private String schoolId;
     private String schoolId;
 
 
     /**
     /**
@@ -43,7 +41,6 @@ public class AskLeaveBo extends BaseEntity {
     /**
     /**
      * 班级id
      * 班级id
      */
      */
-    @NotBlank(message = "班级id不能为空", groups = { AddGroup.class, EditGroup.class })
     private String classId;
     private String classId;
 
 
     /**
     /**
@@ -54,13 +51,11 @@ public class AskLeaveBo extends BaseEntity {
     /**
     /**
      * 请假人
      * 请假人
      */
      */
-    @NotBlank(message = "请假人不能为空", groups = { AddGroup.class, EditGroup.class })
     private String leaveName;
     private String leaveName;
 
 
     /**
     /**
      * 请假类型
      * 请假类型
      */
      */
-    @NotNull(message = "请假类型不能为空", groups = { AddGroup.class, EditGroup.class })
     private Long leaveType;
     private Long leaveType;
 
 
     /**
     /**
@@ -71,25 +66,21 @@ public class AskLeaveBo extends BaseEntity {
     /**
     /**
      * 请假时长
      * 请假时长
      */
      */
-    @NotBlank(message = "请假时长不能为空", groups = { AddGroup.class, EditGroup.class })
     private String leaveDuration;
     private String leaveDuration;
 
 
     /**
     /**
      * 请假时段
      * 请假时段
      */
      */
-    @NotBlank(message = "请假时段不能为空", groups = { AddGroup.class, EditGroup.class })
     private String leaveFrame;
     private String leaveFrame;
 
 
     /**
     /**
      * 审核人id
      * 审核人id
      */
      */
-    @NotBlank(message = "审核人id不能为空", groups = { AddGroup.class, EditGroup.class })
     private String examineId;
     private String examineId;
 
 
     /**
     /**
      * 审核人姓名
      * 审核人姓名
      */
      */
-    @NotBlank(message = "审核人姓名不能为空", groups = { AddGroup.class, EditGroup.class })
     private String examineName;
     private String examineName;
 
 
 
 
@@ -98,6 +89,12 @@ public class AskLeaveBo extends BaseEntity {
      */
      */
     private String examineResult;
     private String examineResult;
 
 
+
+    /**
+     * 审核意见
+     */
+    private String opinion;
+
     /**
     /**
      * 备注
      * 备注
      */
      */

+ 5 - 8
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/AskLeaveCourseBo.java

@@ -23,49 +23,46 @@ public class AskLeaveCourseBo extends BaseEntity {
     /**
     /**
      * ID
      * ID
      */
      */
-    @NotNull(message = "ID不能为空", groups = { EditGroup.class })
     private Long id;
     private Long id;
 
 
+    /**
+     * 课程表id
+     */
+    private Long courseId;
+
     /**
     /**
      * 请假主表id
      * 请假主表id
      */
      */
-    @NotNull(message = "请假主表id不能为空", groups = { AddGroup.class, EditGroup.class })
     private Long leaveId;
     private Long leaveId;
 
 
     /**
     /**
      * 请假日期
      * 请假日期
      */
      */
-    @NotBlank(message = "请假日期不能为空", groups = { AddGroup.class, EditGroup.class })
     private String courseDate;
     private String courseDate;
 
 
     /**
     /**
      * 周几:1:周一,2:周二,3:周三,4:周四,5:周五
      * 周几:1:周一,2:周二,3:周三,4:周四,5:周五
      */
      */
-    @NotBlank(message = "周几:1:周一,2:周二,3:周三,4:周四,5:周五不能为空", groups = { AddGroup.class, EditGroup.class })
     private String week;
     private String week;
 
 
     /**
     /**
      * 第几节课
      * 第几节课
      */
      */
-    @NotNull(message = "第几节课不能为空", groups = { AddGroup.class, EditGroup.class })
     private Long classNumber;
     private Long classNumber;
 
 
     /**
     /**
      * 时段:AM:上午,PM:下午,NIGHT:晚上
      * 时段:AM:上午,PM:下午,NIGHT:晚上
      */
      */
-    @NotBlank(message = "时段:AM:上午,PM:下午,NIGHT:晚上不能为空", groups = { AddGroup.class, EditGroup.class })
     private String timeFrame;
     private String timeFrame;
 
 
     /**
     /**
      * 课程名称
      * 课程名称
      */
      */
-    @NotBlank(message = "课程名称不能为空", groups = { AddGroup.class, EditGroup.class })
     private String courseName;
     private String courseName;
 
 
     /**
     /**
      * 备注
      * 备注
      */
      */
-    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
     private String remark;
     private String remark;
 
 
 
 

+ 6 - 11
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/AskLeaveFjBo.java

@@ -21,39 +21,34 @@ import jakarta.validation.constraints.*;
 public class AskLeaveFjBo extends BaseEntity {
 public class AskLeaveFjBo extends BaseEntity {
 
 
     /**
     /**
-     * 
+     *
      */
      */
-    @NotNull(message = "不能为空", groups = { EditGroup.class })
+    //@NotNull(message = "不能为空", groups = { EditGroup.class })
     private Long id;
     private Long id;
 
 
     /**
     /**
      * 请假主表id
      * 请假主表id
      */
      */
-    @NotNull(message = "请假主表id不能为空", groups = { AddGroup.class, EditGroup.class })
+    //@NotNull(message = "请假主表id不能为空", groups = { AddGroup.class, EditGroup.class })
     private Long leaveId;
     private Long leaveId;
 
 
     /**
     /**
      * 附件名称
      * 附件名称
      */
      */
-    @NotBlank(message = "附件名称不能为空", groups = { AddGroup.class, EditGroup.class })
+    //@NotBlank(message = "附件名称不能为空", groups = { AddGroup.class, EditGroup.class })
     private String name;
     private String name;
 
 
     /**
     /**
      * 附件地址
      * 附件地址
      */
      */
-    @NotBlank(message = "附件地址不能为空", groups = { AddGroup.class, EditGroup.class })
+    //@NotBlank(message = "附件地址不能为空", groups = { AddGroup.class, EditGroup.class })
     private String url;
     private String url;
 
 
-    /**
-     * 上传日期
-     */
-    @NotBlank(message = "上传日期不能为空", groups = { AddGroup.class, EditGroup.class })
-    private String createDate;
 
 
     /**
     /**
      * 备注
      * 备注
      */
      */
-    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
+    //@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
     private String remark;
     private String remark;
 
 
 
 

+ 5 - 2
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/AskLeaveCourseVo.java

@@ -31,13 +31,16 @@ public class AskLeaveCourseVo implements Serializable {
     /**
     /**
      * ID
      * ID
      */
      */
-    @ExcelProperty(value = "ID")
     private Long id;
     private Long id;
 
 
+    /**
+     * 课程表id
+     */
+    private Long courseId;
+
     /**
     /**
      * 请假主表id
      * 请假主表id
      */
      */
-    @ExcelProperty(value = "请假主表id")
     private Long leaveId;
     private Long leaveId;
 
 
     /**
     /**

+ 1 - 7
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/AskLeaveFjVo.java

@@ -29,7 +29,7 @@ public class AskLeaveFjVo implements Serializable {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
     /**
     /**
-     * 
+     *
      */
      */
     @ExcelProperty(value = "")
     @ExcelProperty(value = "")
     private Long id;
     private Long id;
@@ -52,12 +52,6 @@ public class AskLeaveFjVo implements Serializable {
     @ExcelProperty(value = "附件地址")
     @ExcelProperty(value = "附件地址")
     private String url;
     private String url;
 
 
-    /**
-     * 上传日期
-     */
-    @ExcelProperty(value = "上传日期")
-    private String createDate;
-
     /**
     /**
      * 备注
      * 备注
      */
      */

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/AskLeaveVo.java

@@ -108,6 +108,11 @@ public class AskLeaveVo implements Serializable {
      */
      */
     private String examineResult;
     private String examineResult;
 
 
+    /**
+     * 审核意见
+     */
+    private String opinion;
+
     /**
     /**
      * 备注
      * 备注
      */
      */

+ 3 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/IFormalTeacherClassService.java

@@ -10,6 +10,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
 
 
 import java.util.Collection;
 import java.util.Collection;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * 老师-班级(学科)(审核通过之后数据)Service接口
  * 老师-班级(学科)(审核通过之后数据)Service接口
@@ -56,4 +57,6 @@ public interface IFormalTeacherClassService {
     List<FormalTeacherClassVo> getTeacherClass(String teacherId);
     List<FormalTeacherClassVo> getTeacherClass(String teacherId);
 
 
     List<FormalTeacherClassVo> getTeacherClassAll(Long classId);
     List<FormalTeacherClassVo> getTeacherClassAll(Long classId);
+
+    Map<String,List<FormalTeacherClassVo>> getTeacherClassAllLetter(Long classId);
 }
 }

+ 1 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/AskLeaveCourseServiceImpl.java

@@ -61,6 +61,7 @@ public class AskLeaveCourseServiceImpl implements IAskLeaveCourseService {
     private LambdaQueryWrapper<AskLeaveCourse> buildQueryWrapper(AskLeaveCourseBo bo) {
     private LambdaQueryWrapper<AskLeaveCourse> buildQueryWrapper(AskLeaveCourseBo bo) {
         Map<String, Object> params = bo.getParams();
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<AskLeaveCourse> lqw = Wrappers.lambdaQuery();
         LambdaQueryWrapper<AskLeaveCourse> lqw = Wrappers.lambdaQuery();
+        lqw.eq(bo.getCourseId() != null, AskLeaveCourse::getCourseId, bo.getCourseId());
         lqw.eq(bo.getLeaveId() != null, AskLeaveCourse::getLeaveId, bo.getLeaveId());
         lqw.eq(bo.getLeaveId() != null, AskLeaveCourse::getLeaveId, bo.getLeaveId());
         lqw.eq(StringUtils.isNotBlank(bo.getCourseDate()), AskLeaveCourse::getCourseDate, bo.getCourseDate());
         lqw.eq(StringUtils.isNotBlank(bo.getCourseDate()), AskLeaveCourse::getCourseDate, bo.getCourseDate());
         lqw.eq(StringUtils.isNotBlank(bo.getWeek()), AskLeaveCourse::getWeek, bo.getWeek());
         lqw.eq(StringUtils.isNotBlank(bo.getWeek()), AskLeaveCourse::getWeek, bo.getWeek());

+ 0 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/AskLeaveFjServiceImpl.java

@@ -64,7 +64,6 @@ public class AskLeaveFjServiceImpl implements IAskLeaveFjService {
         lqw.eq(bo.getLeaveId() != null, AskLeaveFj::getLeaveId, bo.getLeaveId());
         lqw.eq(bo.getLeaveId() != null, AskLeaveFj::getLeaveId, bo.getLeaveId());
         lqw.like(StringUtils.isNotBlank(bo.getName()), AskLeaveFj::getName, bo.getName());
         lqw.like(StringUtils.isNotBlank(bo.getName()), AskLeaveFj::getName, bo.getName());
         lqw.eq(StringUtils.isNotBlank(bo.getUrl()), AskLeaveFj::getUrl, bo.getUrl());
         lqw.eq(StringUtils.isNotBlank(bo.getUrl()), AskLeaveFj::getUrl, bo.getUrl());
-        lqw.eq(StringUtils.isNotBlank(bo.getCreateDate()), AskLeaveFj::getCreateDate, bo.getCreateDate());
         return lqw;
         return lqw;
     }
     }
 
 

+ 15 - 4
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/AskLeaveServiceImpl.java

@@ -28,10 +28,8 @@ import org.dromara.system.mapper.AskLeaveMapper;
 import org.dromara.system.service.IAskLeaveService;
 import org.dromara.system.service.IAskLeaveService;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Collection;
+import java.util.*;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * 请假Service业务层处理
  * 请假Service业务层处理
@@ -81,6 +79,12 @@ public class AskLeaveServiceImpl implements IAskLeaveService {
                 .eq(AskLeaveFj::getLeaveId,askLeaveVo.getId()));
                 .eq(AskLeaveFj::getLeaveId,askLeaveVo.getId()));
 
 
             askLeaveVo.setAskLeaveFjBoList(askLeaveFjVoList);
             askLeaveVo.setAskLeaveFjBoList(askLeaveFjVoList);
+
+            //查询请假课程信息
+            List<AskLeaveCourseVo> askLeaveCourseList = askLeaveCourseMapper.selectVoList(new LambdaQueryWrapper<AskLeaveCourse>()
+                .eq(AskLeaveCourse::getLeaveId,askLeaveVo.getId()));
+
+            askLeaveVo.setAskLeaveCourseBoList(askLeaveCourseList);
         }
         }
 
 
         return TableDataInfo.build(result);
         return TableDataInfo.build(result);
@@ -109,7 +113,9 @@ public class AskLeaveServiceImpl implements IAskLeaveService {
         lqw.eq(StringUtils.isNotBlank(bo.getLeaveFrame()), AskLeave::getLeaveFrame, bo.getLeaveFrame());
         lqw.eq(StringUtils.isNotBlank(bo.getLeaveFrame()), AskLeave::getLeaveFrame, bo.getLeaveFrame());
         lqw.eq(StringUtils.isNotBlank(bo.getExamineId()), AskLeave::getExamineId, bo.getExamineId());
         lqw.eq(StringUtils.isNotBlank(bo.getExamineId()), AskLeave::getExamineId, bo.getExamineId());
         lqw.eq(StringUtils.isNotBlank(bo.getExamineResult()), AskLeave::getExamineResult, bo.getExamineResult());
         lqw.eq(StringUtils.isNotBlank(bo.getExamineResult()), AskLeave::getExamineResult, bo.getExamineResult());
+        lqw.eq(StringUtils.isNotBlank(bo.getOpinion()), AskLeave::getOpinion, bo.getOpinion());
         lqw.like(StringUtils.isNotBlank(bo.getExamineName()), AskLeave::getExamineName, bo.getExamineName());
         lqw.like(StringUtils.isNotBlank(bo.getExamineName()), AskLeave::getExamineName, bo.getExamineName());
+        lqw.orderByDesc(AskLeave::getUpdateTime);
         return lqw;
         return lqw;
     }
     }
 
 
@@ -161,6 +167,7 @@ public class AskLeaveServiceImpl implements IAskLeaveService {
 
 
 
 
         int index = 0;
         int index = 0;
+        bo.setUpdateTime(DateUtils.getNowDate());
         AskLeave update = MapstructUtils.convert(bo, AskLeave.class);
         AskLeave update = MapstructUtils.convert(bo, AskLeave.class);
         validEntityBeforeSave(update);
         validEntityBeforeSave(update);
         index = baseMapper.updateById(update);
         index = baseMapper.updateById(update);
@@ -235,4 +242,8 @@ public class AskLeaveServiceImpl implements IAskLeaveService {
         validEntityBeforeSave(update);
         validEntityBeforeSave(update);
         return baseMapper.updateById(update);
         return baseMapper.updateById(update);
     }
     }
+
+
+
+
 }
 }

+ 24 - 4
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/FormalTeacherClassServiceImpl.java

@@ -15,6 +15,7 @@ import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.system.domain.FormalParentsStudent;
 import org.dromara.system.domain.FormalParentsStudent;
 import org.dromara.system.domain.vo.FormalParentsStudentVo;
 import org.dromara.system.domain.vo.FormalParentsStudentVo;
 import org.dromara.system.domain.vo.FormalTeacherClassListVo;
 import org.dromara.system.domain.vo.FormalTeacherClassListVo;
+import org.dromara.system.utils.hanziUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.dromara.system.domain.bo.FormalTeacherClassBo;
 import org.dromara.system.domain.bo.FormalTeacherClassBo;
 import org.dromara.system.domain.vo.FormalTeacherClassVo;
 import org.dromara.system.domain.vo.FormalTeacherClassVo;
@@ -22,10 +23,7 @@ import org.dromara.system.domain.FormalTeacherClass;
 import org.dromara.system.mapper.FormalTeacherClassMapper;
 import org.dromara.system.mapper.FormalTeacherClassMapper;
 import org.dromara.system.service.IFormalTeacherClassService;
 import org.dromara.system.service.IFormalTeacherClassService;
 
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Collection;
+import java.util.*;
 
 
 /**
 /**
  * 老师-班级(学科)(审核通过之后数据)Service业务层处理
  * 老师-班级(学科)(审核通过之后数据)Service业务层处理
@@ -163,4 +161,26 @@ public class FormalTeacherClassServiceImpl implements IFormalTeacherClassService
     public List<FormalTeacherClassVo> getTeacherClassAll(Long classId) {
     public List<FormalTeacherClassVo> getTeacherClassAll(Long classId) {
         return baseMapper.getTeacherClassAll(classId);
         return baseMapper.getTeacherClassAll(classId);
     }
     }
+
+    @Override
+    public Map<String,List<FormalTeacherClassVo>> getTeacherClassAllLetter(Long classId) {
+        List<FormalTeacherClassVo> formalTeacherClassVo = baseMapper.getTeacherClassAll(classId);
+        // 输出26个字母
+        Map<String, List<FormalTeacherClassVo>> map = new TreeMap<>();
+        for (int i = 1; i < 27; i++) {
+            String word = String.valueOf((char)(96 + i)).toUpperCase();
+            // 循环找出 首字母一样的数据
+            List<FormalTeacherClassVo> letter = new ArrayList<>();
+            for (FormalTeacherClassVo teacherClassVo : formalTeacherClassVo) {
+                String szm = hanziUtils.getFirstLetter(teacherClassVo.getTeacherName());
+                if (word.equals(szm)) {
+                    letter.add(teacherClassVo);
+                }
+            }
+            if(letter!=null && letter.size()>0){
+                map.put(word, letter);
+            }
+        }
+        return map;
+    }
 }
 }

+ 44 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/utils/hanziUtils.java

@@ -0,0 +1,44 @@
+package org.dromara.system.utils;
+
+import lombok.extern.slf4j.XSlf4j;
+import net.sourceforge.pinyin4j.PinyinHelper;
+import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
+import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
+import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
+import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
+
+import java.text.Collator;
+import java.util.*;
+import java.util.stream.*;
+
+
+public class hanziUtils {
+
+
+    /***
+     * 传入字符串的首个字符获取首字母
+     * @param chinese
+     * @return
+     */
+    public static String getFirstLetter(String chinese) {
+        StringBuilder initials = new StringBuilder();
+        char initial = chinese.charAt(0);
+        // 获取汉字的拼音
+        String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(initial);
+        if (pinyinArray != null) {  // 汉字
+            initials.append(pinyinArray[0].charAt(0)); // 获取拼音的首字母
+        } else {  // 非汉字
+            initials.append(initial); // 直接附加该字符
+        }
+
+        return initials.toString().toUpperCase(); // 返回大写首字母
+    }
+
+    public static void main(String[] args) {
+        String name = "张三";
+        String initial = getFirstLetter(name);
+        System.out.println("名字:" + name + " 的首字母是:" + initial);
+    }
+
+
+}

BIN
ruoyi-modules/ruoyi-system/src/main/resources/lib/pinyin4j-2.5.0.jar