ソースを参照

1、上课时间
2、新生报到功能调整

dzx 1 年間 前
コミット
fda4162252

+ 83 - 3
src/main/java/com/xjrsoft/module/courseTable/controller/ClassTimeController.java

@@ -1,7 +1,35 @@
 package com.xjrsoft.module.courseTable.controller;
 
-import org.springframework.stereotype.Controller;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.common.utils.VoToColumnUtil;
+import com.xjrsoft.module.courseTable.dto.AddClassTimeDto;
+import com.xjrsoft.module.courseTable.dto.ClassTimePageDto;
+import com.xjrsoft.module.courseTable.dto.UpdateClassTimeDto;
+import com.xjrsoft.module.courseTable.entity.ClassTime;
+import com.xjrsoft.module.courseTable.service.IClassTimeService;
+import com.xjrsoft.module.courseTable.vo.ClassTimePageVo;
+import com.xjrsoft.module.courseTable.vo.ClassTimeVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * <p>
@@ -11,8 +39,60 @@ import org.springframework.web.bind.annotation.RequestMapping;
  * @author baomidou
  * @since 2023-09-02 02:19:56
  */
-@Controller
-@RequestMapping("/courseTable/classTime")
+@RequestMapping("/classtime")
+@Api(value = "/classtime", tags = "上课时间")
+@AllArgsConstructor
+@RestController
 public class ClassTimeController {
+    private final IClassTimeService classTimeService;
+    @GetMapping(value = "/page")
+    @ApiOperation(value="上课时间列表(分页)")
+    @SaCheckPermission("basenewstudent:detail")
+    public RT<PageOutput<ClassTimePageVo>> page(@Valid ClassTimePageDto dto){
+        LambdaQueryWrapper<ClassTime> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper
+                .orderByDesc(ClassTime::getId)
+                .select(ClassTime.class,x -> VoToColumnUtil.fieldsToColumns(ClassTime.class).contains(x.getProperty()));
+        IPage<ClassTime> page = classTimeService.page(ConventPage.getPage(dto), queryWrapper);
+        PageOutput<ClassTimePageVo> pageOutput = ConventPage.getPageOutput(page, ClassTimePageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+    @GetMapping(value = "/info")
+    @ApiOperation(value="根据id查询上课时间")
+    @SaCheckPermission("basemajorcategor:detail")
+    public RT<ClassTimeVo> info(@RequestParam Long id){
+        ClassTime ClassTime = classTimeService.getById(id);
+        if (ClassTime == null) {
+            return RT.error("找不到此数据!");
+        }
+        return RT.ok(BeanUtil.toBean(ClassTime, ClassTimeVo.class));
+    }
+
+    @PostMapping
+    @ApiOperation(value = "新增上课时间")
+    @SaCheckPermission("basemajorcategor:add")
+    public RT<Boolean> add(@Valid @RequestBody AddClassTimeDto dto){
+        ClassTime classtime = BeanUtil.toBean(dto, ClassTime.class);
+        classtime.setCreateDate(LocalDateTime.now());
+        boolean isSuccess = classTimeService.save(classtime);
+        return RT.ok(isSuccess);
+    }
+
+    @PutMapping
+    @ApiOperation(value = "修改上课时间")
+    @SaCheckPermission("basemajorcategor:edit")
+    public RT<Boolean> update(@Valid @RequestBody UpdateClassTimeDto dto){
+
+        ClassTime classtime = BeanUtil.toBean(dto, ClassTime.class);
+        classtime.setModifyDate(LocalDateTime.now());
+        return RT.ok(classTimeService.updateById(classtime));
+    }
 
+    @DeleteMapping
+    @ApiOperation(value = "删除上课时间")
+    @SaCheckPermission("basemajorcategor:delete")
+    public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
+        return RT.ok(classTimeService.removeBatchByIds(ids));
+    }
 }

+ 47 - 0
src/main/java/com/xjrsoft/module/courseTable/dto/AddClassTimeDto.java

@@ -0,0 +1,47 @@
+package com.xjrsoft.module.courseTable.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+* @title: 第二课堂
+* @Author dzx
+* @Date: 2024-07-29
+* @Version 1.0
+*/
+@Data
+public class AddClassTimeDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("时段(1=上午 2=下午 3=晚上)")
+    private Integer timePeriod;
+
+    @ApiModelProperty("节次")
+    private Integer number;
+
+    @ApiModelProperty("全称")
+    private String fullName;
+
+    @ApiModelProperty("简称")
+    private String shortName;
+
+    @ApiModelProperty("夏天开始时间")
+    private String summerStartTime;
+
+    @ApiModelProperty("夏天结束时间")
+    private String summerEndTime;
+
+    @ApiModelProperty("冬天开始时间")
+    private String winterStartTime;
+
+    @ApiModelProperty("冬天结束时间")
+    private String winterEndTime;
+
+    @ApiModelProperty("备注")
+    private String remark;
+}

+ 31 - 0
src/main/java/com/xjrsoft/module/courseTable/dto/ClassTimePageDto.java

@@ -0,0 +1,31 @@
+package com.xjrsoft.module.courseTable.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+* @title: 第二课堂分页查询入参
+* @Author dzx
+* @Date: 2024-07-29
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ClassTimePageDto extends PageInput {
+
+        @ApiModelProperty("学期id")
+        private Long semesterId;
+
+        @ApiModelProperty("课程名称")
+        private String name;
+
+        @ApiModelProperty("状态")
+        private Integer status;
+
+        @ApiModelProperty("用户id")
+        private Long userId;
+
+}

+ 23 - 0
src/main/java/com/xjrsoft/module/courseTable/dto/UpdateClassTimeDto.java

@@ -0,0 +1,23 @@
+package com.xjrsoft.module.courseTable.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+* @title: 第二课堂
+* @Author dzx
+* @Date: 2024-07-29
+* @Version 1.0
+*/
+@Data
+public class UpdateClassTimeDto extends AddClassTimeDto {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Long id;
+}

+ 8 - 0
src/main/java/com/xjrsoft/module/courseTable/entity/ClassTime.java

@@ -60,4 +60,12 @@ public class ClassTime implements Serializable {
 
     @TableField(fill = FieldFill.UPDATE)
     private LocalDateTime modifyDate;
+
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
 }

+ 49 - 0
src/main/java/com/xjrsoft/module/courseTable/vo/ClassTimePageVo.java

@@ -0,0 +1,49 @@
+package com.xjrsoft.module.courseTable.vo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+* @title: 第二课堂分页列表出参
+* @Author dzx
+* @Date: 2024-07-29
+* @Version 1.0
+*/
+@Data
+public class ClassTimePageVo {
+
+    @ApiModelProperty("主键编号")
+    private Long id;
+
+    @ApiModelProperty("时段(1=上午 2=下午 3=晚上)")
+    private Integer timePeriod;
+
+    @ApiModelProperty("节次")
+    private Integer number;
+
+    @ApiModelProperty("全称")
+    private String fullName;
+
+    @ApiModelProperty("简称")
+    private String shortName;
+
+    @ApiModelProperty("夏天开始时间")
+    private String summerStartTime;
+
+    @ApiModelProperty("夏天结束时间")
+    private String summerEndTime;
+
+    @ApiModelProperty("冬天开始时间")
+    private String winterStartTime;
+
+    @ApiModelProperty("冬天结束时间")
+    private String winterEndTime;
+
+    @ApiModelProperty("备注")
+    private String remark;
+
+}

+ 55 - 0
src/main/java/com/xjrsoft/module/courseTable/vo/ClassTimeVo.java

@@ -0,0 +1,55 @@
+package com.xjrsoft.module.courseTable.vo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+* @title: 第二课堂分页列表出参
+* @Author dzx
+* @Date: 2024-07-29
+* @Version 1.0
+*/
+@Data
+public class ClassTimeVo {
+
+    @ApiModelProperty("主键编号")
+    private Long id;
+
+    @ApiModelProperty("时段(1=上午 2=下午 3=晚上)")
+    private Integer timePeriod;
+
+    @ApiModelProperty("节次")
+    private Integer number;
+
+    @ApiModelProperty("全称")
+    private String fullName;
+
+    @ApiModelProperty("简称")
+    private String shortName;
+
+    @ApiModelProperty("夏天开始时间")
+    private String summerStartTime;
+
+    @ApiModelProperty("夏天结束时间")
+    private String summerEndTime;
+
+    @ApiModelProperty("冬天开始时间")
+    private String winterStartTime;
+
+    @ApiModelProperty("冬天结束时间")
+    private String winterEndTime;
+
+    @ApiModelProperty("备注")
+    private String remark;
+
+    @ApiModelProperty("创建时间")
+    private LocalDateTime createDate;
+
+    @ApiModelProperty("修改时间")
+    private LocalDateTime modifyDate;
+
+}

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

@@ -40,6 +40,7 @@ public class WhitelistTask {
             Map<Long, Long> newMap = list.stream().collect(Collectors.toMap(WhitelistManagement::getUserId, WhitelistManagement::getUserId));
             redisUtil.set(GlobalConstant.WHITE_MANAGEMENT_CACHE_KEY, newMap);
         }
+
     }
 
 }

+ 4 - 0
src/main/java/com/xjrsoft/module/student/controller/BaseNewStudentController.java

@@ -366,6 +366,10 @@ public class BaseNewStudentController {
                 dto.setBaseSemesterId(semesterList.get(0).getId());
             }
         }
+        List<String> roleList = StpUtil.getRoleList();
+        if(roleList.contains("CLASSTE") && roleList.contains("TEACHER") && dto.getTeacherId() == null){
+            dto.setTeacherId(StpUtil.getLoginIdAsLong());
+        }
         List<BaseNewStudentPageVo> reportList = baseNewStudentService.getReportList(dto);
         List<BaseNewStudentExportVo> exportVos = new ArrayList<>();
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");

+ 3 - 0
src/main/java/com/xjrsoft/module/student/dto/StudentReportRecordStatisticsDto.java

@@ -26,4 +26,7 @@ public class StudentReportRecordStatisticsDto extends PageInput {
 
     @ApiModelProperty("招生类型(xjr_dictionary_detail[enroll_type])")
     private String enrollType;
+
+    @ApiModelProperty("班级id")
+    private Long classId;
 }

+ 3 - 0
src/main/resources/mapper/student/StudentReportRecordMapper.xml

@@ -49,6 +49,9 @@
         <if test="dto.keyword != null and dto.keyword != ''">
             and t1.name like concat('%', #{dto.keyword},'%')
         </if>
+        <if test="dto.classId != null">
+            and t3.id = #{dto.classId}
+        </if>
         ORDER BY t1.create_date DESC, t2.create_date DESC,t3.create_date DESC,t1.id
     </select>
     <select id="getStatisticsDataList" parameterType="com.xjrsoft.module.student.dto.StudentReportRecordStatisticsDto"