浏览代码

Merge branch 'pre'

dzx 1 年之前
父节点
当前提交
332df82d22

+ 1 - 1
src/main/java/com/xjrsoft/module/courseTable/service/impl/CourseTableServiceImpl.java

@@ -266,7 +266,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                             .like(!StrUtil.isEmpty(dto.getTeacherName()), XjrUser::getCode, dto.getTeacherName())
             );
             userList.addAll(userList2);
-            if (userList != null && !userList.isEmpty()) {
+            if (!userList.isEmpty()) {
                 XjrUser xjrUser = userList.get(0);
                 dto.setTeacherId(xjrUser.getId());
                 tableVo.setTeacherName(xjrUser.getName());

+ 7 - 7
src/main/java/com/xjrsoft/module/hikvision/util/OutInRecordUtil.java

@@ -123,13 +123,13 @@ public class OutInRecordUtil {
             LocalDateTime recordTimeDate = LocalDateTime.parse(recordTime, formatter);
             String attendanceStatus = discernTeacherStatus(recordTimeDate, status, userId);
 
-            String updSql = "UPDATE attendance_user_relation SET " +
-                    "attendance_status = '" + attendanceStatus + "', " +
-                    "attendance_time = '" + recordTime + "', " +
-                    "attendance_mode = '车辆', " +
-                    "car_number = '" + planNo + "' " +
-                    "WHERE user_id = '" + userId + "' AND delete_mark = 0";
-            SqlRunnerAdapter.db().update(updSql);
+//            String updSql = "UPDATE attendance_user_relation SET " +
+//                    "attendance_status = '" + attendanceStatus + "', " +
+//                    "attendance_time = '" + recordTime + "', " +
+//                    "attendance_mode = '车辆', " +
+//                    "car_number = '" + planNo + "' " +
+//                    "WHERE user_id = (SELECT source_id FROM hikvision_data WHERE hikvision_id = '" + userId + "' LIMIT 1) AND delete_mark = 0";
+//            SqlRunnerAdapter.db().update(updSql);
         }
     }
 

+ 1 - 0
src/main/java/com/xjrsoft/module/job/JianyuekbScheduleTask.java

@@ -237,6 +237,7 @@ public class JianyuekbScheduleTask {
                 handleCourseAdjust(classList, startDateStr, endDateStr);
             }catch (Exception e){
                 Log.error(e.getMessage(), e);
+            }finally {
                 ongoing.remove(eduYearSerialNo);
                 redisUtil.set(taskKey, ongoing);
             }

+ 1 - 1
src/main/java/com/xjrsoft/module/oa/service/impl/NewsServiceImpl.java

@@ -270,7 +270,7 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
                 .selectAs(Department::getName, ProclamationPageVo::getSendDeptIdCN)
                 .select(News.class, x -> VoToColumnUtil.fieldsToColumns(ProclamationPageVo.class).contains(x.getProperty()))
                 .leftJoin(Department.class, Department::getId, News::getSendDeptId)
-                .eq(News::getCreateUserId, StpUtil.getLoginIdAsLong())
+                .eq(!StpUtil.getRoleList().contains("GongGao"), News::getCreateUserId, StpUtil.getLoginIdAsLong())
                 .eq(News::getTypeId, 2)
                 .like(dto.getFullHead() != null, News::getFullHead, dto.getFullHead())
                 .like(dto.getKeyword() != null, News::getNewsContent, dto.getKeyword())

+ 16 - 0
src/main/java/com/xjrsoft/module/schedule/controller/ScheduleController.java

@@ -21,6 +21,7 @@ import com.xjrsoft.module.courseTable.entity.CourseTable;
 import com.xjrsoft.module.courseTable.service.IClassTimeService;
 import com.xjrsoft.module.courseTable.service.ICourseTableService;
 import com.xjrsoft.module.schedule.dto.ClassOptionDto;
+import com.xjrsoft.module.schedule.dto.CourseInfoDto;
 import com.xjrsoft.module.schedule.dto.CourseTableAdjustDto;
 import com.xjrsoft.module.schedule.dto.CourseTableDto;
 import com.xjrsoft.module.schedule.dto.CourseTablePreCheckDto;
@@ -166,6 +167,9 @@ public class ScheduleController {
         List<BaseSemester> semesterList = semesterService.list(new QueryWrapper<BaseSemester>().lambda().orderByDesc(BaseSemester::getStartDate));
         BaseSemester baseSemester = semesterList.get(0);
         LocalDateTime now = LocalDateTime.now();
+        if(dto.getScheduleDate() != null){
+            now = dto.getScheduleDate();
+        }
         //计算本周是第几周
         LocalDateTime startDateTime = LocalDateTime.ofInstant(baseSemester.getStartDate().toInstant(), ZoneId.systemDefault());
         LocalDateTime endDateTime = LocalDateTime.ofInstant(baseSemester.getEndDate().toInstant(), ZoneId.systemDefault());
@@ -412,4 +416,16 @@ public class ScheduleController {
 
         return RT.ok(courseAdjustService.cancel(dto));
     }
+
+
+    @GetMapping(value = "/is-contains-all")
+    @ApiOperation(value="判断登录者是否有查看所有课表的权限")
+    @SaCheckPermission("schedule:detail")
+    public RT<Boolean> classList(){
+        if(StpUtil.getRoleList().contains("KeBiao")){
+            return RT.ok(true);
+        }
+        return RT.ok(false);
+    }
+
 }

+ 5 - 0
src/main/java/com/xjrsoft/module/schedule/dto/CourseTableDto.java

@@ -2,6 +2,7 @@ package com.xjrsoft.module.schedule.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
@@ -55,4 +56,8 @@ public class CourseTableDto implements Serializable {
     @ApiModelProperty("当前日期")
     private LocalDateTime toDay;
 
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("当前日期")
+    private LocalDateTime scheduleDate;
+
 }

+ 8 - 2
src/test/java/com/xjrsoft/module/job/AttendanceRecordTaskTest.java

@@ -75,8 +75,8 @@ class AttendanceRecordTaskTest {
     @Test
     public void execute() {
 
-        LocalDateTime now = LocalDateTime.of(2024, 10, 1, 0, 0, 0);
-        for (int i = 0; i < 21; i ++){
+        LocalDateTime now = LocalDateTime.of(2024, 11, 1, 0, 0, 0);
+        for (int i = 0; i < 17; i ++){
             LocalDateTime startDateTime = now.plusDays(i).withHour(0).withMinute(0).withSecond(0).withNano(0);
             LocalDateTime endDateTime = startDateTime.plusDays(i).withHour(23).withMinute(59).withSecond(59);
 
@@ -93,11 +93,17 @@ class AttendanceRecordTaskTest {
      * @param endDateTime 结束时间
      */
     public void teacherAttendanceRecord(LocalDateTime startDateTime, LocalDateTime endDateTime, Integer timePeriod){
+        List<String> nameList = new ArrayList<>();
+        nameList.add("李顺");
+        nameList.add("袁凯");
+        nameList.add("童勇");
+        nameList.add("张伟(大)");
         List<User> teacherList = userService.list(
                 new MPJLambdaWrapper<User>()
                         .select(User::getId)
                         .select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
                         .innerJoin(BaseTeacher.class, BaseTeacher::getUserId, User::getId)
+                        .in(User::getName, nameList)
         );
         List<Long> userIds = teacherList.stream().map(User::getId).collect(Collectors.toList());
         Map<Long, AttendanceRuleDetailsUserVo> teacherTodyRuleByUserId = ruleCategoryService.getTeacherTodyRuleByUserId(userIds);

+ 1 - 1
src/test/java/com/xjrsoft/module/job/JianyuekbScheduleTaskTest2.java

@@ -137,7 +137,7 @@ class JianyuekbScheduleTaskTest2 {
         doExecute();
     }
     public void doExecute() {
-        String sql = "SELECT * FROM course_receive_msg WHERE delete_mark = 0 AND is_callback = null";
+        String sql = "SELECT * FROM course_receive_msg WHERE delete_mark = 0 AND is_callback is null";
         List<Map<String, Object>> receiveMsgs = SqlRunnerAdapter.db().selectList(sql);
         if(receiveMsgs.isEmpty()){
             return;