Переглянути джерело

考勤统计,访客列表

dzx 1 рік тому
батько
коміт
7de41eedc8

+ 12 - 0
src/main/java/com/xjrsoft/module/attendance/controller/StatisticsController.java

@@ -9,12 +9,14 @@ import com.xjrsoft.module.attendance.dto.AttendanceStatisticDto;
 import com.xjrsoft.module.attendance.service.IAttendanceRuleCategoryService;
 import com.xjrsoft.module.attendance.vo.AttendanceRuleDetailsUserVo;
 import com.xjrsoft.module.attendance.vo.TeacherStatisticsVo;
+import com.xjrsoft.module.attendance.vo.VisitorInfoVo;
 import com.xjrsoft.module.concat.service.IXjrUserService;
 import com.xjrsoft.module.organization.entity.UserDeptRelation;
 import com.xjrsoft.module.outint.entity.StudentOutInRecord;
 import com.xjrsoft.module.outint.entity.TeacherOutInRecord;
 import com.xjrsoft.module.outint.service.IStudentOutInRecordService;
 import com.xjrsoft.module.outint.service.ITeacherOutInRecordService;
+import com.xjrsoft.module.personnel.service.IReservationSchoolService;
 import com.xjrsoft.module.student.entity.BaseStudent;
 import com.xjrsoft.module.student.entity.StudentLeave;
 import com.xjrsoft.module.student.service.IStudentLeaveService;
@@ -56,6 +58,7 @@ public class StatisticsController {
     private final IAttendanceRuleCategoryService ruleCategoryService;
     private final IWfTeacherleaveService wfTeacherleaveService;
     private final IStudentLeaveService studentLeaveService;
+    private final IReservationSchoolService reservationSchoolService;
 
     @GetMapping(value = "/teacher-statistics")
     @ApiOperation(value="教职工考勤统计")
@@ -192,4 +195,13 @@ public class StatisticsController {
         return RT.ok(statisticsVo);
     }
 
+
+    @GetMapping(value = "/visitor-list")
+    @ApiOperation(value="访客列表")
+    @SaCheckPermission("statistics:detail")
+    public RT<List<VisitorInfoVo>> visitorList(@Valid AttendanceStatisticDto dto){
+        List<VisitorInfoVo> visionList = reservationSchoolService.getVisionList(dto.getDate());
+        return RT.ok(visionList);
+    }
+
 }

+ 44 - 0
src/main/java/com/xjrsoft/module/attendance/vo/VisitorInfoVo.java

@@ -0,0 +1,44 @@
+package com.xjrsoft.module.attendance.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+* @title: 访客信息
+* @Author dzx
+* @Date: 2024年5月27日
+* @Version 1.0
+*/
+@Data
+public class VisitorInfoVo {
+
+    @ApiModelProperty("访客姓名")
+    private String name;
+
+    @ApiModelProperty("访客身份证")
+    private String identityCard;
+
+    @ApiModelProperty("电话")
+    private String phone;
+
+    @ApiModelProperty("被访人")
+    private String respondentUserName;
+
+    @ApiModelProperty("被访部门")
+    private String deptName;
+
+    @ApiModelProperty("到访结束时间")
+    private LocalDateTime endTime;
+
+    @ApiModelProperty("到访开始时间")
+    private LocalDateTime startTime;
+
+    @ApiModelProperty("申请时间")
+    private LocalDateTime createDate;
+
+    @ApiModelProperty("进校事由")
+    private String reason;
+
+}

+ 5 - 0
src/main/java/com/xjrsoft/module/personnel/mapper/ReservationSchoolMapper.java

@@ -2,8 +2,12 @@ package com.xjrsoft.module.personnel.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.attendance.vo.VisitorInfoVo;
 import com.xjrsoft.module.personnel.entity.ReservationSchool;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
 * @title: 预约进校
@@ -14,4 +18,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ReservationSchoolMapper extends MPJBaseMapper<ReservationSchool> {
 
+    List<VisitorInfoVo> getVisionList(@Param("date") String date);
 }

+ 5 - 0
src/main/java/com/xjrsoft/module/personnel/service/IReservationSchoolService.java

@@ -2,8 +2,11 @@ package com.xjrsoft.module.personnel.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.attendance.vo.VisitorInfoVo;
 import com.xjrsoft.module.personnel.entity.ReservationSchool;
 import lombok.Data;
+import org.apache.ibatis.annotations.Param;
+
 import java.util.List;
 
 /**
@@ -44,4 +47,6 @@ public interface IReservationSchoolService extends MPJBaseService<ReservationSch
      * @return
      */
     Boolean registration(ReservationSchool dataObj);
+
+    List<VisitorInfoVo> getVisionList(String date);
 }

+ 6 - 0
src/main/java/com/xjrsoft/module/personnel/service/impl/ReservationSchoolServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.google.gson.JsonObject;
 import com.xjrsoft.common.enums.GenderIntEnum;
+import com.xjrsoft.module.attendance.vo.VisitorInfoVo;
 import com.xjrsoft.module.hikvision.entity.HikvisionData;
 import com.xjrsoft.module.hikvision.mapper.HikvisionDataMapper;
 import com.xjrsoft.module.hikvision.util.ApiUtil;
@@ -142,4 +143,9 @@ public class ReservationSchoolServiceImpl extends MPJBaseServiceImpl<Reservation
 
         return true;
     }
+
+    @Override
+    public List<VisitorInfoVo> getVisionList(String date) {
+        return reservationSchoolMapper.getVisionList(date);
+    }
 }

+ 15 - 0
src/main/resources/mapper/personnel/ReservationSchoolMapper.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xjrsoft.module.personnel.mapper.ReservationSchoolMapper">
+    <select id="getVisionList" resultType="com.xjrsoft.module.attendance.vo.VisitorInfoVo">
+        SELECT t1.name,t1.identity_card,t1.phone,t3.name AS respondent_user_name,t2.reason,t4.name AS dept_name,t2.start_time,t2.end_time,t2.create_date FROM reservation_school_people t1
+        INNER JOIN reservation_school t2 ON t1.reservation_schoo_id = t2.id
+        LEFT JOIN xjr_user t3 ON t2.respondent_user_id = t3.id
+        LEFT JOIN xjr_department t4 ON t2.dept_id = t4.id
+        WHERE t1.delete_mark = 0 AND t2.delete_mark = 0 AND t2.status = 1
+        AND #{date} between start_time and end_time
+    </select>
+
+</mapper>