From 1cd80b0193db031638fcda535573e2d8bc40e499 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 02 Mar 2022 17:46:24 +0800
Subject: [PATCH] 考勤打卡查询修改,导出修改
---
src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.xml | 72 +++++++++++++++++------
src/main/java/org/springblade/modules/attendance/service/impl/AttendanceServiceImpl.java | 18 +++---
src/main/java/org/springblade/modules/attendance/excel/AttendanceExcel.java | 28 +-------
src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java | 1
src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java | 35 +++--------
src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.java | 9 +-
src/main/java/org/springblade/modules/attendance/service/IAttendanceService.java | 8 +-
7 files changed, 86 insertions(+), 85 deletions(-)
diff --git a/src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java b/src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java
index 24ccdf4..20e0cad 100644
--- a/src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java
+++ b/src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java
@@ -79,9 +79,9 @@
@GetMapping("/page")
@ApiOperationSupport(order = 3)
@ApiOperation(value = "分页", notes = "传入attendance")
- public R<IPage<AttendanceVO>> page(AttendanceVO attendance, Query query, Long department) {
- IPage<Attendance> pages = attendanceService.selectAttendancePage(Condition.getPage(query), department, attendance);
- return R.data(AttendanceWrapper.build().pageVO(pages));
+ public R<IPage<AttendanceVO>> page(AttendanceVO attendance, Query query) {
+ IPage<AttendanceVO> pages = attendanceService.selectAttendancePage(Condition.getPage(query), attendance);
+ return R.data(pages);
}
// /**
@@ -303,31 +303,14 @@
}
/**
- * 导出用户
+ * 导出考勤数据
+ * @param response
+ * @param attendance
*/
@GetMapping("/export-Attendance")
- public void exportAttendane(String name, String beginTime, String endTime, String attendancetype, HttpServletResponse response) {
- String beginTimes = null;
- String endTimes = null;
- String attendancetypes = null;
- if (beginTime.equals("undefined ") && endTime.equals("undefined")) {
- beginTimes=null;
- endTimes=null;
- attendancetypes=attendancetype;
- }
- else if (attendancetype.equals("undefined")){
- attendancetypes=null;
- }
- else {
- beginTimes=beginTime;
- endTimes=endTime;
- attendancetypes=attendancetype;
- }
-
- List<AttendanceExcel> list = attendanceService.exportAttendane(name, beginTimes, endTimes, attendancetypes);
+ public void exportAttendane(AttendanceVO attendance, HttpServletResponse response) {
+ List<AttendanceExcel> list = attendanceService.exportAttendane(attendance);
ExcelUtil.export(response, "考勤数据" + DateUtil.time(), "考勤数据表", list, AttendanceExcel.class);
-
-
-}
+ }
}
diff --git a/src/main/java/org/springblade/modules/attendance/excel/AttendanceExcel.java b/src/main/java/org/springblade/modules/attendance/excel/AttendanceExcel.java
index e972f71..d186da9 100644
--- a/src/main/java/org/springblade/modules/attendance/excel/AttendanceExcel.java
+++ b/src/main/java/org/springblade/modules/attendance/excel/AttendanceExcel.java
@@ -37,23 +37,13 @@
public class AttendanceExcel implements Serializable {
private static final long serialVersionUID = 1L;
- @ColumnWidth(10)
- @ExcelProperty("姓名")
- private String name;
-
- @ColumnWidth(20)
- @ExcelProperty("编号")
- private String number;
+ @ColumnWidth(25)
+ @ExcelProperty("企业名称")
+ private String deptName;
@ColumnWidth(15)
- @ExcelProperty("部门")
- private String department;
-
- /**
- * 天气,忽略不显示
- */
- @ExcelIgnore
- private String weather;
+ @ExcelProperty("姓名")
+ private String realName;
@ColumnWidth(20)
@ExcelProperty("打卡时间")
@@ -66,13 +56,5 @@
@ColumnWidth(15)
@ExcelProperty("考勤类型")
private String attendanceType;
-
- @ColumnWidth(15)
- @ExcelProperty("星期")
- private String week;
-
- @ColumnWidth(40)
- @ExcelProperty("地址")
- private String address;
}
diff --git a/src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.java b/src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.java
index f87de23..e069b4e 100644
--- a/src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.java
+++ b/src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
import org.springblade.modules.attendance.entity.Attendance;
import org.springblade.modules.attendance.excel.AttendanceExcel;
import org.springblade.modules.attendance.vo.AttendanceVO;
@@ -39,16 +40,16 @@
* @param attendance
* @return
*/
- List<Attendance> selectAttendancePage(IPage page, Long department, AttendanceVO attendance);
+ List<AttendanceVO> selectAttendancePage(IPage page, @Param("attendance") AttendanceVO attendance);
/**
- * 获取导出用户数据
+ * 导出考勤数据
*
- * @param
+ * @param attendance
* @return
*/
- List<AttendanceExcel> exportAttendane(String name,String beginTimes,String endTimes,String attendancetypes);
+ List<AttendanceExcel> exportAttendane(@Param("attendance") AttendanceVO attendance);
/**
* 查询当前考勤人员当天的考勤信息
diff --git a/src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.xml b/src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.xml
index f3cf109..7b08a66 100644
--- a/src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.xml
+++ b/src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.xml
@@ -19,40 +19,72 @@
<result column="address" property="address"/>
</resultMap>
-
- <select id="selectAttendancePage" resultMap="attendanceResultMap">
- select * from sys_attendance where is_deleted = 0
- <if test="attendance.name!=null and attendance.name != ''">
- and name = #{attendance.name}
+ <!--自定义查询考试分页数据-->
+ <select id="selectAttendancePage" resultType="org.springblade.modules.attendance.vo.AttendanceVO">
+ select sa.*,bu.real_name realName from sys_attendance sa
+ left join blade_user bu on bu.id = sa.user_id
+ where 1=1
+ <if test="attendance.realName!=null and attendance.realName!=''">
+ and bu.real_name like concat('%',#{attendance.realName},'%')
</if>
- <if test="attendance.department!=null and attendance.department != ''">
- and department = #{department}
+ <if test="attendance.deptId!=null">
+ and sa.dept_id = #{attendance.deptId}
</if>
- <if test="attendance.attendancetype!=null and attendance.attendancetype != ''">
- and attendancetype = #{attendance.attendancetype}
+ <if test="attendance.userId!=null">
+ and sa.user_id = #{attendance.userId}
+ </if>
+ <if test="attendance.attendanceType!=null">
+ and sa.attendance_type = #{attendance.attendanceType}
+ </if>
+ <if test="attendance.clockType!=null">
+ and sa.clock_type = #{attendance.clockType}
</if>
<if test="attendance.beginTime!=null and attendance.beginTime!=''">
- and clockTime>=#{attendance.beginTime}
+ and date_format(sa.clock_time,'%Y-%m-%d')>=#{attendance.beginTime}
</if>
<if test="attendance.endTime!=null and attendance.endTime!=''">
- and clockTime<=#{attendance.endTime}
+ and date_format(sa.clock_time,'%Y-%m-%d')<=#{attendance.endTime}
</if>
+ order by sa.id desc
</select>
<select id="exportAttendane" resultType="org.springblade.modules.attendance.excel.AttendanceExcel">
- SELECT id, name, number, department, weather, clockTime, clockType, attendanceType,week,address FROM sys_attendance where is_deleted = 0
- <if test="name!=null and name != ''">
- and name = #{name}
+ select
+ sa.clock_time clockTime,
+ bu.real_name realName,
+ bd.dept_name deptName,
+ if(sa.clock_type=1,'上班','下班') clockType,
+ case when sa.attendance_type=1 then '正常'
+ when sa.attendance_type=2 then '迟到'
+ when sa.attendance_type=3 then '早退'
+ when sa.attendance_type=4 then '外勤'
+ else '无效打卡' end as attendanceType
+ from sys_attendance sa
+ left join blade_user bu on bu.id = sa.user_id
+ left join blade_dept bd on bd.id = sa.dept_id
+ where 1=1
+ <if test="attendance.realName!=null and attendance.realName!=''">
+ and bu.real_name like concat('%',#{attendance.realName},'%')
</if>
- <if test="beginTimes!=null and beginTimes!=''">
- and clockTime>=#{beginTimes}
+ <if test="attendance.deptId!=null">
+ and sa.dept_id = #{attendance.deptId}
</if>
- <if test="endTimes!=null and endTimes!=''">
- and clockTime<=#{endTimes}
+ <if test="attendance.userId!=null">
+ and sa.user_id = #{attendance.userId}
</if>
- <if test="attendancetypes!=null and attendancetypes!=''">
- and attendancetype=#{attendancetypes}
+ <if test="attendance.clockType!=null">
+ and sa.clock_type = #{attendance.clockType}
</if>
+ <if test="attendance.attendanceType!=null">
+ and sa.attendance_type = #{attendance.attendanceType}
+ </if>
+ <if test="attendance.beginTime!=null and attendance.beginTime!=''">
+ and sa.clock_time>=#{attendance.beginTime}
+ </if>
+ <if test="attendance.endTime!=null and attendance.endTime!=''">
+ and sa.clock_time<=#{attendance.endTime}
+ </if>
+ order by sa.id desc
</select>
<!--查询当前考勤人员当天的考勤信息-->
diff --git a/src/main/java/org/springblade/modules/attendance/service/IAttendanceService.java b/src/main/java/org/springblade/modules/attendance/service/IAttendanceService.java
index d03fbc3..816f2b7 100644
--- a/src/main/java/org/springblade/modules/attendance/service/IAttendanceService.java
+++ b/src/main/java/org/springblade/modules/attendance/service/IAttendanceService.java
@@ -39,13 +39,15 @@
* @param attendance
* @return
*/
- IPage<Attendance> selectAttendancePage(IPage<Attendance> page, Long department, AttendanceVO attendance);
+ IPage<AttendanceVO> selectAttendancePage(IPage<AttendanceVO> page, AttendanceVO attendance);
+
+
/**
- * 导出用户数据
+ * 导出考勤数据
*
* @return
*/
- List<AttendanceExcel> exportAttendane(String name,String beginTimes,String endTimes,String attendancetypes);
+ List<AttendanceExcel> exportAttendane(AttendanceVO attendance);
/**
* 查询当前考勤人员当天的考勤信息
diff --git a/src/main/java/org/springblade/modules/attendance/service/impl/AttendanceServiceImpl.java b/src/main/java/org/springblade/modules/attendance/service/impl/AttendanceServiceImpl.java
index 00f45ef..12203ae 100644
--- a/src/main/java/org/springblade/modules/attendance/service/impl/AttendanceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/attendance/service/impl/AttendanceServiceImpl.java
@@ -42,18 +42,18 @@
public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attendance> implements IAttendanceService {
@Override
- public IPage<Attendance> selectAttendancePage(IPage<Attendance> page, Long department, AttendanceVO attendance) {
- return page.setRecords(baseMapper.selectAttendancePage(page,department, attendance));
+ public IPage<AttendanceVO> selectAttendancePage(IPage<AttendanceVO> page, AttendanceVO attendance) {
+ return page.setRecords(baseMapper.selectAttendancePage(page, attendance));
}
+ /**
+ * 导出考勤数据
+ * @param attendance
+ * @return
+ */
@Override
- public List<AttendanceExcel> exportAttendane(String name,String beginTimes,String endTimes,String attendancetypes) {
- List<AttendanceExcel> userList = baseMapper.exportAttendane(name, beginTimes, endTimes,attendancetypes);
- userList.forEach(user -> {
- user.setAttendanceType(DictBizCache.getValue(DictBizEnum.TEST,user.getAttendanceType()));
-// user.setClockType(DictBizCache.getValue(DictBizEnum.CLOCKTYPE,user.getClockType()));
- user.setDepartment(StringUtil.join(SysCache.getDeptNames(user.getDepartment())));
- });
+ public List<AttendanceExcel> exportAttendane(AttendanceVO attendance) {
+ List<AttendanceExcel> userList = baseMapper.exportAttendane(attendance);
return userList;
}
diff --git a/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java b/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
index 0ff42c7..5d4848b 100644
--- a/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
+++ b/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
@@ -264,6 +264,7 @@
for (ExamResultVO examResultVO : examResultVOS) {
SimulateExamAnswerRecord answerRecord = new SimulateExamAnswerRecord();
answerRecord.setSimulateExamId(simulateExamScore.getSimulateExamId());
+ answerRecord.setSubjectChoicesId(examResultVO.getSubjectChoicesId());
answerRecord.setAnswerOption(examResultVO.getValue());
answerRecord.setAnswerScore(examResultVO.getGrade());
if (examResultVO.getGrade() > 0) {
--
Gitblit v1.9.3