智慧保安后台管理-外网项目备份
Administrator
2022-03-02 1cd80b0193db031638fcda535573e2d8bc40e499
考勤打卡查询修改,导出修改
7 files modified
171 ■■■■ changed files
src/main/java/org/springblade/modules/attendance/controller/AttendanceController.java 35 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/attendance/excel/AttendanceExcel.java 28 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/attendance/mapper/AttendanceMapper.xml 72 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/attendance/service/IAttendanceService.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/attendance/service/impl/AttendanceServiceImpl.java 18 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java 1 ●●●● patch | view | raw | blame | history
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);
}
    }
}
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;
}
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);
    /**
     * 查询当前考勤人员当天的考勤信息
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&gt;=#{attendance.beginTime}
            and date_format(sa.clock_time,'%Y-%m-%d')&gt;=#{attendance.beginTime}
        </if>
        <if test="attendance.endTime!=null and attendance.endTime!=''">
            and clockTime&lt;=#{attendance.endTime}
            and date_format(sa.clock_time,'%Y-%m-%d')&lt;=#{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&gt;=#{beginTimes}
        <if test="attendance.deptId!=null">
            and sa.dept_id = #{attendance.deptId}
        </if>
        <if test="endTimes!=null and endTimes!=''">
            and clockTime&lt;=#{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&gt;=#{attendance.beginTime}
        </if>
        <if test="attendance.endTime!=null and attendance.endTime!=''">
            and sa.clock_time&lt;=#{attendance.endTime}
        </if>
        order by sa.id desc
    </select>
    <!--查询当前考勤人员当天的考勤信息-->
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);
    /**
     * 查询当前考勤人员当天的考勤信息
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;
    }
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) {