zouxuan 5 gadi atpakaļ
vecāks
revīzija
0e8ba18bd2

+ 8 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendancesDto.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.dal.dto;
 
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
+import com.ym.mec.biz.dal.enums.SignInStatusEnum;
+import com.ym.mec.biz.dal.enums.SignOutStatusEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.Date;
@@ -39,11 +41,11 @@ public class TeacherAttendancesDto {
     private CourseSchedule.CourseScheduleType courseScheduleType;
 
     @ApiModelProperty(value = "签到状态(1正常签到,0异常签到) ",required = false)
-    private Integer signInStatus;
+    private SignInStatusEnum signInStatus;
 
     /** 状态(正常签到,异常签到) */
     @ApiModelProperty(value = "签退状态(1正常签到,0异常签到) ",required = false)
-    private Integer signOutStatus;
+    private SignOutStatusEnum signOutStatus;
 
     /** 备注 */
     @ApiModelProperty(value = "备注",required = false)
@@ -135,19 +137,19 @@ public class TeacherAttendancesDto {
         this.courseScheduleType = courseScheduleType;
     }
 
-    public Integer getSignInStatus() {
+    public SignInStatusEnum getSignInStatus() {
         return signInStatus;
     }
 
-    public void setSignInStatus(Integer signInStatus) {
+    public void setSignInStatus(SignInStatusEnum signInStatus) {
         this.signInStatus = signInStatus;
     }
 
-    public Integer getSignOutStatus() {
+    public SignOutStatusEnum getSignOutStatus() {
         return signOutStatus;
     }
 
-    public void setSignOutStatus(Integer signOutStatus) {
+    public void setSignOutStatus(SignOutStatusEnum signOutStatus) {
         this.signOutStatus = signOutStatus;
     }
 

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -176,8 +176,8 @@
         <result column="teacher_name_" property="teacherName"/>
         <result column="organ_name_" property="organName"/>
         <result column="teacher_id_" property="teacherId"/>
-        <result column="sign_in_status_" property="signInStatus"/>
-        <result column="sign_out_status_" property="signOutStatus"/>
+        <result column="sign_in_status_" property="signInStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="sign_out_status_" property="signOutStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="sign_in_time_" property="signInTime"/>
         <result column="sign_out_time_" property="signOutTime"/>
         <result column="remark_" property="remark"/>

+ 51 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -81,8 +81,59 @@ public class ExportController extends BaseController {
     @Autowired
     private TeacherSalaryComplaintsService teacherSalaryComplaintsService;
     @Autowired
+    private TeacherAttendanceService teacherAttendanceService;
+    @Autowired
     private TeacherCourseRewardService teacherCourseRewardService;
 
+    @ApiOperation(value = "导出教师考勤列表")
+    @PostMapping("export/queryTeacherAttendances")
+    @PreAuthorize("@pcs.hasPermissions('export/queryTeacherAttendances')")
+    public void exportTeacherAttendances(HttpServletResponse response, TeacherCloseQueryInfo queryInfo) throws IOException {
+        queryInfo.setRows(49999);
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        if(!sysUser.getIsSuperAdmin()){
+            Employee employee = employeeDao.get(sysUser.getId());
+            if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+                queryInfo.setOrganId(employee.getOrganIdList());
+            }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+                throw new BizException("用户所在分部异常");
+            }else {
+                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+                if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
+                    throw new BizException("非法请求");
+                }
+            }
+        }
+        List rows = teacherAttendanceService.queryTeacherAttendances(queryInfo).getRows();
+        OutputStream outputStream = response.getOutputStream();
+        try {
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "老师编号", "老师姓名", "课程编号", "课程名称", "上课日期",
+                    "课程开始时间","课程结束时间","课程类型","签到时间","签到状态","签退时间","签退状态","备注"}, new String[]{
+                    "organName", "teacherId", "teacherName", "courseScheduleId", "courseScheduleName", "classDate",
+                    "startClassTime", "endClassTime", "courseScheduleType", "signInTime", "signInStatus", "signOutTime", "signOutStatus",
+                    "remark"}, rows);
+            response.setContentType("application/octet-stream");
+            response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
+            response.flushBuffer();
+            outputStream = response.getOutputStream();
+            workbook.write(outputStream);
+            outputStream.flush();
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            if (outputStream != null) {
+                try {
+                    outputStream.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
     @ApiOperation(value = "导出申述处理列表")
     @PostMapping("export/teacherSalaryComplaints")
     @PreAuthorize("@pcs.hasPermissions('export/teacherSalaryComplaints')")