feat: 东区缴费分支初始化
This commit is contained in:
@@ -1,19 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>attendance</artifactId>
|
||||
<groupId>com.yida.data.attendance</groupId>
|
||||
<version>2.2-RELEASE</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>attendance-api</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
</project>
|
||||
-105
@@ -1,105 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yida.data.common.core.enums.MsgChannel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Data
|
||||
@TableName("attendance_record")
|
||||
public class AddAttendanceRecordDTO {
|
||||
|
||||
@ApiModelProperty(value = "考勤规则ID")
|
||||
private Long ruleId;
|
||||
|
||||
@ApiModelProperty(value = "考勤时段ID")
|
||||
private Long ruleTimeId;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "0教师,1学生")
|
||||
private Integer userType;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 学校id
|
||||
*/
|
||||
@ApiModelProperty(value = "学校id")
|
||||
private Long schoolId;
|
||||
|
||||
/**
|
||||
* 考勤设备id
|
||||
*/
|
||||
@ApiModelProperty(value = "考勤设备id")
|
||||
private Long deviceId;
|
||||
|
||||
/**
|
||||
* 考勤设备编号
|
||||
*/
|
||||
@ApiModelProperty(value = "考勤设备编号")
|
||||
private String deviceSn;
|
||||
|
||||
/**
|
||||
* 考勤wifiid
|
||||
*/
|
||||
@ApiModelProperty(value = "考勤wifiid")
|
||||
private Long wifiId;
|
||||
|
||||
|
||||
/**
|
||||
* 考勤范围ID
|
||||
*/
|
||||
@ApiModelProperty(value = "考勤范围ID")
|
||||
private Long addressId;
|
||||
|
||||
|
||||
/**
|
||||
* 闸机识别图片地址
|
||||
*/
|
||||
@ApiModelProperty(value = "闸机识别图片地址或者人脸识别比对图片地址")
|
||||
private String picUrl;
|
||||
|
||||
@ApiModelProperty(value = "wifi名称")
|
||||
private String wifiName;
|
||||
|
||||
@ApiModelProperty(value = "wifi BSSID")
|
||||
private String wifiBssid;
|
||||
|
||||
@ApiModelProperty(value = "打卡时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private MsgChannel msgChannel;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* es记录id
|
||||
*/
|
||||
private String esRecordId;
|
||||
|
||||
/**
|
||||
* 设备侧元数据ID
|
||||
*/
|
||||
private String originalRecordId;
|
||||
}
|
||||
-161
@@ -1,161 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Data
|
||||
public class AddAttendanceReportStrategyDTO {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long createId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private String createName;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateDate;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long updateId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Integer delFlag;
|
||||
|
||||
/**
|
||||
* 学校id
|
||||
*/
|
||||
@ApiModelProperty(value = "学校id")
|
||||
private Long schoolId;
|
||||
|
||||
/**
|
||||
* 0-教职工考勤推送,1学生考勤推送,2家长提醒
|
||||
*/
|
||||
@ApiModelProperty(value = "0-教职工考勤推送,1学生考勤推送,2家长提醒")
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 是否推送周报0-否,1是
|
||||
*/
|
||||
@ApiModelProperty(value = "是否推送周报0-否,1是,默认0")
|
||||
private Integer weekReport = 0;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "周报推送推送日期:小于周三,推送上月周。大于周三推送本周")
|
||||
private Integer weekReportDate;
|
||||
|
||||
/**
|
||||
* 周报推送时间:每周一XX点
|
||||
*/
|
||||
@ApiModelProperty(value = "周报推送时间:每周一XX点")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
|
||||
private LocalTime weekReportTime;
|
||||
|
||||
|
||||
/**
|
||||
* 是否推送月报0-否,1是
|
||||
*/
|
||||
@ApiModelProperty(value = "是否推送月报0-否,1是,默认0")
|
||||
private Integer monthReport = 0;
|
||||
|
||||
@ApiModelProperty(value = "月报推送推送日期:小于5号,推送上月。大于5号推送本月")
|
||||
@TableField("month_report_date")
|
||||
private Integer monthReportDate = 0;
|
||||
|
||||
/**
|
||||
* 月报推送时间:每月1号XX点
|
||||
*/
|
||||
@ApiModelProperty(value = "月报推送时间:每月1号XX点")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
|
||||
private LocalTime monthReportTime;
|
||||
|
||||
/**
|
||||
* 是否推送迟到报告 0-否,1是
|
||||
*/
|
||||
@ApiModelProperty(value = "是否推送迟到报告 0-否,1是,默认0")
|
||||
private Integer lateReport = 0;
|
||||
|
||||
/**
|
||||
* 迟到报告推送时间:超过考勤开始时间XXX分钟
|
||||
*/
|
||||
@ApiModelProperty(value = "迟到报告推送时间:超过考勤开始时间XXX分钟")
|
||||
private Integer lateReportTime;
|
||||
|
||||
|
||||
/**
|
||||
* 是否推送缺勤报告 0-否,1是
|
||||
*/
|
||||
@ApiModelProperty(value = "是否推送缺勤报告 0-否,1是,默认0")
|
||||
private Integer missReport = 0;
|
||||
|
||||
/**
|
||||
* 缺勤报告推送时间:超过考勤结束时间XXX分钟
|
||||
*/
|
||||
@ApiModelProperty(value = "缺勤报告推送时间:超过考勤结束时间XXX分钟")
|
||||
private Integer missReportTime;
|
||||
|
||||
|
||||
/**
|
||||
* 考勤管理员是否推送报告,1是,0否
|
||||
*/
|
||||
@ApiModelProperty(value = "考勤管理员是否推送报告,1是,0否,默认0")
|
||||
private Integer objManager = 0;
|
||||
|
||||
|
||||
/**
|
||||
* 指定人员:职工ID集合,逗号分隔
|
||||
*/
|
||||
@ApiModelProperty(value = "指定人员:职工ID集合,逗号分隔")
|
||||
private String objStaffIds;
|
||||
|
||||
/**
|
||||
* 家长入校/离校提醒:0否,1是
|
||||
*/
|
||||
@ApiModelProperty(value = "家长入校/离校提醒:0否,1是,默认0")
|
||||
private Integer parentEnrollReport = 0;
|
||||
}
|
||||
-55
@@ -1,55 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 考勤规则关联地点 Entity
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AddAttendanceRuleAddressDTO {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long id;
|
||||
/**
|
||||
* 规则ID
|
||||
*/
|
||||
@ApiModelProperty(value = "规则ID")
|
||||
private Long ruleId;
|
||||
|
||||
/**
|
||||
* 地点名称
|
||||
*/
|
||||
@ApiModelProperty(value = "地点名称")
|
||||
private Long addressName;
|
||||
|
||||
/**
|
||||
* 地点纬度
|
||||
*/
|
||||
@ApiModelProperty(value = "地点纬度")
|
||||
private String addressLat;
|
||||
|
||||
/**
|
||||
* 地点经度
|
||||
*/
|
||||
@ApiModelProperty(value = "地点经度")
|
||||
private String addressLon;
|
||||
|
||||
/**
|
||||
* 范围,米
|
||||
*/
|
||||
@ApiModelProperty(value = "范围,米")
|
||||
private Integer range;
|
||||
|
||||
}
|
||||
-56
@@ -1,56 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 考勤-规则管理员 Entity
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AddAttendanceRuleAdminDTO {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long schoolId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long ruleId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long userType;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long staffId;
|
||||
|
||||
}
|
||||
-174
@@ -1,174 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleRemind;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AddAttendanceRuleDTO {
|
||||
|
||||
@ApiModelProperty(value = "主键id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 学校id
|
||||
*/
|
||||
@ApiModelProperty(value = "学校id")
|
||||
private Long schoolId;
|
||||
|
||||
/**
|
||||
* 考勤规则名称
|
||||
*/
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "考勤规则名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 0-教职工打卡,1学生上学考勤,2学生宿舍考勤
|
||||
*/
|
||||
@ApiModelProperty(value = "0-教职工打卡,1学生上学考勤,2学生宿舍考勤")
|
||||
@NotNull
|
||||
private Integer userType;
|
||||
|
||||
/**
|
||||
* 0-固定上下班时间模式,1自由打卡模式
|
||||
*/
|
||||
@ApiModelProperty(value = "0-固定上下班时间模式,1自由打卡模式")
|
||||
@NotNull
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 打卡日期,1-周一,2-周二....多个用','连接
|
||||
*/
|
||||
@ApiModelProperty(value = "打卡日期,1-周一,2-周二....多个用','连接")
|
||||
@NotBlank
|
||||
private String week;
|
||||
|
||||
/**
|
||||
* 法定节假日是否打卡,0-是,1-否
|
||||
*/
|
||||
@ApiModelProperty(value = "法定节假日是否打卡,0-是,1-否")
|
||||
@NotNull
|
||||
private Integer holidayAttendance;
|
||||
|
||||
/**
|
||||
* 管理员打卡规则内容权限,0-无,1-有
|
||||
*/
|
||||
@ApiModelProperty(value = "管理员打卡规则内容权限,0-无,1-有")
|
||||
private Integer roleRule;
|
||||
|
||||
/**
|
||||
* 管理员打卡人员与白名单权限,0-无,1-有
|
||||
*/
|
||||
@ApiModelProperty(value = "管理员打卡人员与白名单权限,0-无,1-有")
|
||||
private Integer roleUser;
|
||||
|
||||
/**
|
||||
* 管理员节假日与特殊日期权限,0-无,1-有
|
||||
*/
|
||||
@ApiModelProperty(value = "管理员节假日与特殊日期权限,0-无,1-有")
|
||||
private Integer roleDate;
|
||||
|
||||
/**
|
||||
* 管理员打卡提醒权限,0-无,1-有
|
||||
*/
|
||||
@ApiModelProperty(value = "管理员打卡提醒权限,0-无,1-有")
|
||||
private Integer roleRemind;
|
||||
|
||||
/**
|
||||
* 打卡是必须拍照 0-无,1-必须
|
||||
*/
|
||||
@ApiModelProperty(value = "打卡是必须拍照 0-无,1-必须")
|
||||
private Integer photoTake;
|
||||
|
||||
/**
|
||||
* 打卡时必须人脸识别0-无,1-必须
|
||||
*/
|
||||
@ApiModelProperty(value = "打卡时必须人脸识别0-无,1-必须")
|
||||
private Integer faceTake;
|
||||
|
||||
/**
|
||||
* 填写备注时必须拍照0-无,1-必须
|
||||
*/
|
||||
@ApiModelProperty(value = "填写备注时必须拍照0-无,1-必须")
|
||||
private Integer photoRemark;
|
||||
|
||||
/**
|
||||
* 异常打卡可以提交申请,审批后可修正打卡状态
|
||||
*/
|
||||
@ApiModelProperty(value = "异常打卡可以提交申请,审批后可修正打卡状态")
|
||||
private Integer applyAmendment;
|
||||
|
||||
/**
|
||||
* 每月补卡次数
|
||||
*/
|
||||
@ApiModelProperty(value = "每月补卡次数")
|
||||
private Integer reissueNum;
|
||||
|
||||
/**
|
||||
* 每月补卡截止日期
|
||||
*/
|
||||
@ApiModelProperty(value = "每月补卡截止日期")
|
||||
private Integer reissueEndDate;
|
||||
|
||||
/**
|
||||
* 启用状态:0-未启用,1-已启用
|
||||
*/
|
||||
@ApiModelProperty(value = "启用状态:0-未启用,1-已启用,默认0")
|
||||
private Integer status = 0;
|
||||
|
||||
/**
|
||||
* 有效开始时间
|
||||
*/
|
||||
@ApiModelProperty(value = "有效开始时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@NotNull
|
||||
private LocalDate startDate;
|
||||
|
||||
|
||||
/**
|
||||
* 有效结束时间
|
||||
*/
|
||||
@ApiModelProperty(value = "有效结束时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@NotNull
|
||||
private LocalDate endDate;
|
||||
|
||||
@ApiModelProperty(value = "打卡提醒")
|
||||
private List<AddAttendanceRuleRemindDTO> remindDTOList;
|
||||
|
||||
@ApiModelProperty(value = "打卡对象")
|
||||
@NotEmpty
|
||||
private List<AddAttendanceRuleObjDTO> attendanceRuleObjList;
|
||||
@ApiModelProperty(value = "特殊日期")
|
||||
private List<AddAttendanceRuleSpecialDateDTO> specialDateDTOList;
|
||||
@ApiModelProperty(value = "白名单")
|
||||
private List<AddAttendanceRuleWhiteListDTO> whiteListDTOList;
|
||||
@ApiModelProperty(value = "打卡设备")
|
||||
private List<AddAttendanceRuleDeviceDTO> deviceDTOList;
|
||||
@ApiModelProperty(value = "打卡wifi")
|
||||
private List<AddAttendanceRuleWifiDTO> wifiDTOList;
|
||||
@ApiModelProperty(value = "打卡地点")
|
||||
private List<AddAttendanceRuleAddressDTO> addressDTOList;
|
||||
@ApiModelProperty(value = "打卡时间段")
|
||||
@NotEmpty
|
||||
private List<AddAttendanceRuleTimeDTO> timeDTOList;
|
||||
@ApiModelProperty(value = "管理员")
|
||||
@NotEmpty
|
||||
private List<AddAttendanceRuleAdminDTO> adminDTOList;
|
||||
}
|
||||
-43
@@ -1,43 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 考勤规则关联设备表 Entity
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AddAttendanceRuleDeviceDTO {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long id;
|
||||
/**
|
||||
* 设备类型
|
||||
*/
|
||||
@ApiModelProperty(value = "设备类型")
|
||||
private Integer deviceType;
|
||||
|
||||
/**
|
||||
* 设备ID
|
||||
*/
|
||||
@ApiModelProperty(value = "设备ID")
|
||||
private Long deviceId;
|
||||
|
||||
/**
|
||||
* 设备编号
|
||||
*/
|
||||
@ApiModelProperty(value = "设备编号")
|
||||
private String deviceSn;
|
||||
|
||||
}
|
||||
-40
@@ -1,40 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AddAttendanceRuleObjDTO {
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private String deptName;
|
||||
|
||||
/**
|
||||
* 父级部门id,逗号连接
|
||||
*/
|
||||
@ApiModelProperty(value = "父级部门id,逗号连接")
|
||||
private String parentDeptId;
|
||||
|
||||
}
|
||||
-49
@@ -1,49 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 考勤-打卡提醒 Entity
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Data
|
||||
public class AddAttendanceRuleRemindDTO {
|
||||
|
||||
|
||||
/**
|
||||
* 类型=规则usertype
|
||||
*/
|
||||
@ApiModelProperty(value = "类型=规则usertype")
|
||||
private Integer userType;
|
||||
|
||||
/**
|
||||
* 0-上班提醒,1-下班提醒
|
||||
*/
|
||||
@ApiModelProperty(value = "0-上班提醒,1-下班提醒")
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 提醒的提前分钟数
|
||||
*/
|
||||
@ApiModelProperty(value = "提醒的提前分钟数")
|
||||
private Integer minute;
|
||||
|
||||
/**
|
||||
* 提醒文本
|
||||
*/
|
||||
@ApiModelProperty(value = "提醒文本")
|
||||
private String message;
|
||||
|
||||
/**
|
||||
* 1-添加接收人姓名,0-不添加接收人姓名
|
||||
*/
|
||||
@ApiModelProperty(value = "1-添加接收人姓名,0-不添加接收人姓名")
|
||||
private Integer includeReceiver;
|
||||
|
||||
}
|
||||
-63
@@ -1,63 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 考勤-特殊日期 Entity
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AddAttendanceRuleSpecialDateDTO {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 规则id
|
||||
*/
|
||||
@ApiModelProperty(value = "规则id")
|
||||
private Long ruleId;
|
||||
|
||||
/**
|
||||
* 0-不用打卡,1-必须打卡
|
||||
*/
|
||||
@ApiModelProperty(value = "0-不用打卡,1-必须打卡")
|
||||
private Long type;
|
||||
|
||||
/**
|
||||
* 开始日期
|
||||
*/
|
||||
@ApiModelProperty(value = "开始日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate startDate;
|
||||
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
@ApiModelProperty(value = "结束日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate endDate;
|
||||
|
||||
/**
|
||||
* 事由
|
||||
*/
|
||||
@ApiModelProperty(value = "事由")
|
||||
private String reason;
|
||||
|
||||
}
|
||||
-102
@@ -1,102 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 考勤-打卡时段 Entity
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AddAttendanceRuleTimeDTO {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long id;
|
||||
/**
|
||||
* 考勤规则id
|
||||
*/
|
||||
@ApiModelProperty(value = "考勤规则id")
|
||||
private Long ruleId;
|
||||
|
||||
/**
|
||||
* 上班时间
|
||||
*/
|
||||
@ApiModelProperty(value = "上班时间")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
|
||||
private LocalTime startTime;
|
||||
|
||||
/**
|
||||
* 下班时间
|
||||
*/
|
||||
@ApiModelProperty(value = "下班时间")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
|
||||
private LocalTime endTime;
|
||||
|
||||
/**
|
||||
* 最晚时间-针对宿舍考勤晚归情况
|
||||
*/
|
||||
@ApiModelProperty(value = "最晚时间-针对宿舍考勤晚归情况")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
|
||||
private LocalTime lastTime;
|
||||
|
||||
/**
|
||||
* 上班打卡时段开始时间
|
||||
*/
|
||||
@ApiModelProperty(value = "上班打卡时段开始时间")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
|
||||
private LocalTime startEffectiveStartTime;
|
||||
|
||||
/**
|
||||
* 上班打卡时段结束时间
|
||||
*/
|
||||
@ApiModelProperty(value = "上班打卡时段结束时间")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
|
||||
private LocalTime startEffectiveEndTime;
|
||||
|
||||
/**
|
||||
* 下班打卡时段开始时间
|
||||
*/
|
||||
@ApiModelProperty(value = "下班打卡时段开始时间")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
|
||||
private LocalTime endEffectiveStartTime;
|
||||
|
||||
/**
|
||||
* 下班打卡时段结束时间
|
||||
*/
|
||||
@ApiModelProperty(value = "下班打卡时段结束时间")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
|
||||
private LocalTime endEffectiveEndTime;
|
||||
|
||||
|
||||
/**
|
||||
* 结束时间是否为次日,1=是,0=否
|
||||
*/
|
||||
@ApiModelProperty(value = "结束时间是否为次日,1=是,0=否")
|
||||
private Integer endNextDay;
|
||||
}
|
||||
-31
@@ -1,31 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AddAttendanceRuleWhiteListDTO {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Integer userType;
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@ApiModelProperty(value = "人员id")
|
||||
private Long userId;
|
||||
}
|
||||
-47
@@ -1,47 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 考勤规则关联wifi Entity
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AddAttendanceRuleWifiDTO {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long id;
|
||||
/**
|
||||
* 规则ID
|
||||
*/
|
||||
@ApiModelProperty(value = "规则ID")
|
||||
private Long ruleId;
|
||||
|
||||
/**
|
||||
* wifi名称
|
||||
*/
|
||||
@ApiModelProperty(value = "wifi名称")
|
||||
private String wifiName;
|
||||
|
||||
/**
|
||||
* BSSID
|
||||
*/
|
||||
@ApiModelProperty(value = "BSSID")
|
||||
private String wifiBssid;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "ip")
|
||||
private String ip;
|
||||
|
||||
}
|
||||
-51
@@ -1,51 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 添加请假类型短策略请求类
|
||||
*
|
||||
* @author ZYJ
|
||||
* @date 2023/2/2
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class AddLeaveRequestStrategyDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -1438414521101194453L;
|
||||
|
||||
@ApiModelProperty("请假ID")
|
||||
private Long requestId;
|
||||
|
||||
@ApiModelProperty("请假人ID")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("策略id")
|
||||
private Long strategyId;
|
||||
|
||||
@ApiModelProperty("0教师请假,1学生请假")
|
||||
private Integer requestType;
|
||||
|
||||
@ApiModelProperty("学校id")
|
||||
private Long schoolId;
|
||||
|
||||
@ApiModelProperty("开始时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@ApiModelProperty("结束时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endTime;
|
||||
}
|
||||
-51
@@ -1,51 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yida.data.common.core.common.BaseDTO;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.models.auth.In;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Data
|
||||
public class AttendanceCountPageDTO extends BaseDTO<AttendanceResult> {
|
||||
|
||||
@ApiModelProperty("开始日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate startDate;
|
||||
|
||||
@ApiModelProperty("结束日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate endDate;
|
||||
|
||||
@ApiModelProperty("状态")
|
||||
private Integer status;
|
||||
@ApiModelProperty("学校")
|
||||
private Long schoolId;
|
||||
@ApiModelProperty("考勤规则")
|
||||
private Long ruleId;
|
||||
@ApiModelProperty("所属部门,职能部门")
|
||||
private Long deptId;
|
||||
@ApiModelProperty("所属部门,学区")
|
||||
private Long campusId;
|
||||
@ApiModelProperty("所属部门,学段")
|
||||
private Long sectionId;
|
||||
@ApiModelProperty("所属部门,年级")
|
||||
private Long gradeId;
|
||||
@ApiModelProperty("所属部门,班级")
|
||||
private Long classId;
|
||||
@ApiModelProperty("学生姓名或者学号/职工姓名或者手机号:支持模糊匹配")
|
||||
private String nameOrNumber;
|
||||
@ApiModelProperty("统计类型:0=教职工考勤,1=学生考勤")
|
||||
@NotNull
|
||||
private Integer type;
|
||||
@ApiModelProperty("用户ID集合")
|
||||
private List<Long> userIdList;
|
||||
|
||||
}
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yida.data.common.core.common.BaseDTO;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Data
|
||||
public class AttendanceDayReportDTO extends BaseDTO<AttendanceResult> {
|
||||
|
||||
@ApiModelProperty("开始日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate attendanceDate;
|
||||
|
||||
@ApiModelProperty("开始日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate startAttendanceDate;
|
||||
|
||||
@ApiModelProperty("结束日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate endAttendanceDate;
|
||||
|
||||
@ApiModelProperty("用户类型:0教师,1学生")
|
||||
private Integer userType;
|
||||
@ApiModelProperty("学校")
|
||||
private Long schoolId;
|
||||
|
||||
private List<Long> userIdList;
|
||||
}
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.io.Serializable;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 考勤人脸对比请求类
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(value = "RosterFaceMatchDTO", description = "考勤人脸对比请求类")
|
||||
public class AttendanceFaceMatchDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1474013091202762132L;
|
||||
|
||||
@ApiModelProperty("学校ID")
|
||||
private Long schoolId;
|
||||
|
||||
@ApiModelProperty("用户ID")
|
||||
@NotNull
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("人员类型 0教职工,1学生")
|
||||
@NotNull
|
||||
private Integer userType;
|
||||
|
||||
@ApiModelProperty("base64图片信息")
|
||||
@NotBlank
|
||||
private String base64;
|
||||
}
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("获取某日用户考勤记录请求类")
|
||||
public class AttendanceResultByDayDTO {
|
||||
|
||||
@ApiModelProperty("用户ID")
|
||||
@NotNull
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("用户类型:0教职工,1学生")
|
||||
@NotNull
|
||||
private Integer userType;
|
||||
|
||||
@ApiModelProperty("考勤日期")
|
||||
@NotNull
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate attendanceDate;
|
||||
}
|
||||
-40
@@ -1,40 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("获取某时间段内用户考勤记录请求类")
|
||||
public class AttendanceResultByStartAndEndTimeDTO {
|
||||
|
||||
@ApiModelProperty("用户ID")
|
||||
@NotNull
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("用户类型:0教职工,1学生")
|
||||
@NotNull
|
||||
private Integer userType;
|
||||
|
||||
@ApiModelProperty("考勤开始日期")
|
||||
@NotNull
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate attendanceStartDate;
|
||||
|
||||
@ApiModelProperty("考勤结束日期")
|
||||
@NotNull
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate attendanceEndDate;
|
||||
}
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.yida.data.common.core.common.BaseDTO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AttendanceRuleAdminUserAddDTO extends BaseDTO {
|
||||
|
||||
private Long Id;
|
||||
private Long ruleId;
|
||||
private Long deptId;
|
||||
private Long staffId;
|
||||
}
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.yida.data.common.core.common.BaseDTO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AttendanceRuleAdminUserPageDTO extends BaseDTO {
|
||||
|
||||
/**
|
||||
* 考勤规则名称
|
||||
*/
|
||||
@ApiModelProperty(value = "管理员名称")
|
||||
private String staffName;
|
||||
/**
|
||||
* 考勤人员名称
|
||||
*/
|
||||
@ApiModelProperty(value = "管理员Id")
|
||||
private String staffId;
|
||||
|
||||
@ApiModelProperty(value = "规则Id")
|
||||
@NotNull
|
||||
private Long ruleId;
|
||||
|
||||
private Long campusId;
|
||||
private Long sectionId;
|
||||
private Long gradeId;
|
||||
private Long classId;
|
||||
private Long deptId;
|
||||
|
||||
private List<Long> deptIdList;
|
||||
private List<Long> staffIdList;
|
||||
}
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.yida.data.common.core.common.BaseDTO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AttendanceRuleUserAddDTO extends BaseDTO {
|
||||
|
||||
/**
|
||||
* 0-教职工打卡,1学生上学考勤,2学生宿舍考勤
|
||||
*/
|
||||
@ApiModelProperty(value = "0-教职工,1学生")
|
||||
private Integer userType;
|
||||
private Long ruleId;
|
||||
private Long deptId;
|
||||
private Long userId;
|
||||
|
||||
}
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.yida.data.common.core.common.BaseDTO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AttendanceRuleUserPageDTO extends BaseDTO {
|
||||
|
||||
/**
|
||||
* 0-教职工打卡,1学生上学考勤,2学生宿舍考勤
|
||||
*/
|
||||
@ApiModelProperty(value = "0-教职工打卡,1学生上学考勤")
|
||||
private Integer userType;
|
||||
/**
|
||||
* 考勤规则名称
|
||||
*/
|
||||
@ApiModelProperty(value = "考勤人员名称")
|
||||
private String userName;
|
||||
private Long ruleId;
|
||||
private Long schoolId;
|
||||
private Long campusId;
|
||||
private Long sectionId;
|
||||
private Long gradeId;
|
||||
private Long classId;
|
||||
private Long deptId;
|
||||
private List<Long> userIdList;
|
||||
}
|
||||
-41
@@ -1,41 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import net.sf.cglib.core.Local;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("查询当前月份考勤状态请求类")
|
||||
public class AttendanceStatusByMonthDTO {
|
||||
|
||||
@ApiModelProperty("用户ID")
|
||||
@NotNull
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("用户类型:0教职工,1学生")
|
||||
@NotNull
|
||||
private Integer userType;
|
||||
|
||||
@ApiModelProperty("考勤开始日期")
|
||||
@NotNull
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate attendanceStartDate;
|
||||
|
||||
@ApiModelProperty("考勤结束日期")
|
||||
@NotNull
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate attendanceEndDate;
|
||||
}
|
||||
-47
@@ -1,47 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDateTime;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ApiModel(value = "AttendanceUserCheckInDTO", description = "wifi打卡请求类")
|
||||
public class AttendanceUserCheckInDTO {
|
||||
|
||||
@ApiModelProperty(value = "学校ID")
|
||||
private Long schoolId;
|
||||
|
||||
@ApiModelProperty(value = "打卡用户ID")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "打卡用户类型:0教职工,1学生")
|
||||
private Integer userType;
|
||||
|
||||
@ApiModelProperty(value = "打卡规则ID")
|
||||
private Long ruleId;
|
||||
|
||||
@ApiModelProperty(value = "打卡时段ID")
|
||||
private Long ruleTimeId;
|
||||
|
||||
@ApiModelProperty(value = "wifi的BSSID")
|
||||
private String wifiBssid;
|
||||
|
||||
@ApiModelProperty(value = "当前打卡时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@NotNull
|
||||
private LocalDateTime currentDateTime;
|
||||
|
||||
@ApiModelProperty(value = "人脸认证图片地址")
|
||||
private String avatar;
|
||||
}
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BssidImportDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 3552156436496408092L;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ExcelProperty(index = 0)
|
||||
private String wifiName;
|
||||
|
||||
/**
|
||||
* bssid
|
||||
*/
|
||||
@ExcelProperty(index = 1)
|
||||
private String wifiBssid;
|
||||
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DayReportDataDTO {
|
||||
|
||||
private String deptName;
|
||||
private Integer totalNum;
|
||||
private Integer normalNum;
|
||||
private Integer abNum;
|
||||
private Integer requestNum;
|
||||
}
|
||||
-36
@@ -1,36 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DealRecordDTO {
|
||||
/**
|
||||
* 设备sn号
|
||||
*/
|
||||
private String sn;
|
||||
|
||||
/**
|
||||
* 考勤时间
|
||||
*/
|
||||
private String date;
|
||||
|
||||
/**
|
||||
* 考勤用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 用户类型,0-学生,1-教职工
|
||||
*/
|
||||
private Integer userType;
|
||||
|
||||
/**
|
||||
* 设备方用户唯一标识
|
||||
*/
|
||||
private String userFlag;
|
||||
|
||||
/**
|
||||
* 考勤图片
|
||||
*/
|
||||
private String picUrl;
|
||||
}
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DevicePage<T> extends Page<T> {
|
||||
|
||||
public DevicePage(Integer pageNum, Integer pageSize) {
|
||||
super(pageNum, pageSize);
|
||||
}
|
||||
|
||||
private Integer onlineNumber;
|
||||
|
||||
private Integer offlineNumber;
|
||||
}
|
||||
-58
@@ -1,58 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class H5AttendanceRuleWifiDTO {
|
||||
|
||||
|
||||
@ApiModelProperty(value = "学校ID")
|
||||
@NotNull
|
||||
private Long schoolId;
|
||||
|
||||
@ApiModelProperty(value = "用户主键id")
|
||||
@NotNull
|
||||
private Long userId;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "0-教职工,1学生")
|
||||
@NotNull
|
||||
private Integer userType;
|
||||
|
||||
/**
|
||||
* BSSID
|
||||
*/
|
||||
@ApiModelProperty(value = "BSSID")
|
||||
@NotNull
|
||||
private String wifiBssid;
|
||||
|
||||
|
||||
/**
|
||||
* ip
|
||||
*/
|
||||
@ApiModelProperty(value = "ip")
|
||||
private String ip;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "当前打卡时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@NotNull
|
||||
private LocalDateTime currentDateTime;
|
||||
|
||||
}
|
||||
-40
@@ -1,40 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.yida.data.common.core.entity.user.EduFaceGroupStrategy;
|
||||
import com.yida.data.common.core.entity.user.EduUserFace;
|
||||
import com.yida.data.common.core.enums.IssuedTypeEnum;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class IssuedFaceDTO {
|
||||
|
||||
/**
|
||||
* 人脸列表
|
||||
*/
|
||||
private List<EduUserFace> userFaceList;
|
||||
|
||||
/**
|
||||
* 设备id列表
|
||||
*/
|
||||
private List<Long> deviceList;
|
||||
|
||||
@ApiModelProperty("下发类型,0-添加,1-修改")
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 人脸组id
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 策略信息
|
||||
*/
|
||||
private EduFaceGroupStrategy groupStrategy;
|
||||
|
||||
/**
|
||||
* 下发类型
|
||||
*/
|
||||
private IssuedTypeEnum issuedTypeEnum;
|
||||
}
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yida.data.common.core.common.BaseDTO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分页查询通行记录错误记录请求类
|
||||
*
|
||||
* @author ZYJ
|
||||
* @date 2023/11/1 17:29
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ListErrorRecordDTO extends BaseDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -4152682288872419619L;
|
||||
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "开始时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startDateTime;
|
||||
|
||||
@ApiModelProperty(value = "结束时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endDateTime;
|
||||
}
|
||||
-50
@@ -1,50 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yida.data.common.core.common.BaseDTO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Data
|
||||
@ApiModel("教师端管理员查询学生/教师考勤统计请求类")
|
||||
public class ManageListUserDTO extends BaseDTO {
|
||||
|
||||
|
||||
@ApiModelProperty(value = "当前用户ID--职工ID")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "查询用户类型:0教师,1学生")
|
||||
private Integer searchUserType;
|
||||
|
||||
@ApiModelProperty("考勤开始日期")
|
||||
@NotNull
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate attendanceStartDate;
|
||||
|
||||
@ApiModelProperty("考勤结束日期")
|
||||
@NotNull
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate attendanceEndDate;
|
||||
|
||||
@ApiModelProperty("考勤状态:-1全部,0正常,1,迟到,2早退,3缺卡,7晚归,8异常晚归")
|
||||
private Integer attendanceStatus;
|
||||
|
||||
@ApiModelProperty("考勤规则ID")
|
||||
private Long ruleId;
|
||||
|
||||
@ApiModelProperty("家校部门ID")
|
||||
private Long deptId;
|
||||
|
||||
@ApiModelProperty("部门类型")
|
||||
private Integer deptType;
|
||||
|
||||
private List<Long> userIdList;
|
||||
|
||||
}
|
||||
-52
@@ -1,52 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yida.data.common.core.common.BaseDTO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class PageAttendanceRecordDTO extends BaseDTO {
|
||||
|
||||
@ApiModelProperty(value = "打卡类型,0-面板机,1wifi")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty(value = "用户ID")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String studentName;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "人员类型,0-教职工,1学生")
|
||||
private Integer userType;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "开始时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startDateTime;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "结束时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endDateTime;
|
||||
|
||||
private Long schoolId;
|
||||
private Long campusId;
|
||||
private Long sectionId;
|
||||
private Long gradeId;
|
||||
private Long classId;
|
||||
private List<Long> classIdList;
|
||||
|
||||
List<Long> userIdList;
|
||||
}
|
||||
-46
@@ -1,46 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yida.data.common.core.common.BaseDTO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class PageAttendanceRuleDTO extends BaseDTO {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "规则名称")
|
||||
private String ruleName;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "规则类型,0-固定上下班时间模式,1自由打卡模式")
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "规则类型,0-教职工打卡,1学生上学考勤,2学生宿舍考勤")
|
||||
private Integer userType;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "启用状态:0-未启用,1-已启用")
|
||||
private Integer status;
|
||||
|
||||
|
||||
private Long schoolId;
|
||||
}
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RemoveFaceDTO {
|
||||
private List<String> deviceFactoryUserId;
|
||||
|
||||
private List<Long> deviceList;
|
||||
}
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
package com.yida.data.attendance.dto;
|
||||
|
||||
import com.yida.data.common.core.common.BaseDTO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class UpdateAttendanceRuleStatusDTO {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "规则Id")
|
||||
@NotNull
|
||||
private Long id;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "启用状态:0-未启用,1-已启用")
|
||||
@NotNull
|
||||
private Integer status;
|
||||
|
||||
}
|
||||
-107
@@ -1,107 +0,0 @@
|
||||
package com.yida.data.attendance.fallback;
|
||||
|
||||
import com.yida.data.attendance.dto.IssuedFaceDTO;
|
||||
import com.yida.data.attendance.dto.RemoveFaceDTO;
|
||||
import com.yida.data.attendance.feign.RemoteAttendanceDeviceService;
|
||||
import com.yida.data.common.core.annotation.Fallback;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.attendance.EduAttendanceDevice;
|
||||
import com.yida.data.common.core.entity.attendance.EduAttendanceDeviceGroup;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import java.util.List;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* RemoteAttendanceDeviceService fallback处理类
|
||||
*
|
||||
* @author ZYJ
|
||||
* @date 2022/8/26
|
||||
*/
|
||||
@Slf4j
|
||||
@Fallback
|
||||
public class RemoteAttendanceDeviceServiceFallback implements FallbackFactory<RemoteAttendanceDeviceService> {
|
||||
|
||||
@Override
|
||||
public RemoteAttendanceDeviceService create(Throwable throwable) {
|
||||
log.error("RemoteAttendanceDeviceService fallback reason:{}", throwable.getMessage());
|
||||
|
||||
return new RemoteAttendanceDeviceService() {
|
||||
@Override
|
||||
public ResultBean<List<EduAttendanceDevice>> listDeviceBySchool(Long schoolId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<List<EduAttendanceDevice>> listDeviceByType(String type) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 下发人脸到设备
|
||||
*
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public ResultBean issuedFace(IssuedFaceDTO dto) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除设备中的人脸
|
||||
*
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public ResultBean removeFace(RemoveFaceDTO dto) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询设备组中的设备
|
||||
*
|
||||
* @param groupIds
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<List<EduAttendanceDevice>> listDeviceByGroup(Long[] groupIds) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询设备
|
||||
*
|
||||
* @param ids
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<List<EduAttendanceDevice>> listDeviceById(Long[] ids) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询设备组
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<List<EduAttendanceDeviceGroup>> listDeviceGroupById(Long[] ids) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新设备在线状态
|
||||
*/
|
||||
@Override
|
||||
public ResultBean updateDeviceStatus() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校时所有设备
|
||||
*/
|
||||
@Override
|
||||
public ResultBean timingAllDevice() {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
-33
@@ -1,33 +0,0 @@
|
||||
package com.yida.data.attendance.fallback;
|
||||
|
||||
import com.yida.data.attendance.feign.RemoteAttendanceResultService;
|
||||
import com.yida.data.common.core.annotation.Fallback;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* RemoteAttendanceResultService fallback处理类
|
||||
*/
|
||||
@Slf4j
|
||||
@Fallback
|
||||
public class RemoteAttendanceResultServiceFallback implements FallbackFactory<RemoteAttendanceResultService> {
|
||||
|
||||
@Override
|
||||
public RemoteAttendanceResultService create(Throwable throwable) {
|
||||
log.error("RemoteAttendanceResultService fallback reason:{}", throwable.getMessage());
|
||||
|
||||
return new RemoteAttendanceResultService() {
|
||||
|
||||
@Override
|
||||
public ResultBean initAttendanceResult() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean attendanceNotice() {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
-106
@@ -1,106 +0,0 @@
|
||||
package com.yida.data.attendance.fallback;
|
||||
|
||||
import com.yida.data.attendance.dto.AddLeaveRequestStrategyDTO;
|
||||
import com.yida.data.attendance.feign.RemoteAttendanceStrategyService;
|
||||
import com.yida.data.common.core.annotation.Fallback;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.user.EduFaceGroupStrategy;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* RemoteAttendanceStrategyService fallback处理类
|
||||
*
|
||||
* @author ZYJ
|
||||
* @date 2022/8/26
|
||||
*/
|
||||
@Slf4j
|
||||
@Fallback
|
||||
public class RemoteAttendanceStrategyServiceFallback implements FallbackFactory<RemoteAttendanceStrategyService> {
|
||||
|
||||
@Override
|
||||
public RemoteAttendanceStrategyService create(Throwable throwable) {
|
||||
log.error("RemoteAttendanceStrategyService fallback reason:{}", throwable.getMessage());
|
||||
|
||||
return new RemoteAttendanceStrategyService() {
|
||||
|
||||
/**
|
||||
* 保存策略并绑定人员信息
|
||||
*
|
||||
* @param eduFaceGroupStrategy 人脸组-策略信息
|
||||
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
|
||||
* @author ZYJ
|
||||
* @date 2022/12/13 10:51
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<String> saveStrategyAndUser(EduFaceGroupStrategy eduFaceGroupStrategy) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除策略
|
||||
*
|
||||
* @param eduFaceGroupStrategy 人脸策略信息
|
||||
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
|
||||
* @author ZYJ
|
||||
* @date 2022/12/21 15:44
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<String> deleteStrategy(EduFaceGroupStrategy eduFaceGroupStrategy) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定对应的人员-策略信息
|
||||
*
|
||||
* @param eduFaceGroupStrategy 人脸策略信息
|
||||
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
|
||||
* @author ZYJ
|
||||
* @date 2022/12/22 16:25
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<String> bindUserStrategy(EduFaceGroupStrategy eduFaceGroupStrategy) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解绑对应的人员-策略信息
|
||||
*
|
||||
* @param eduFaceGroupStrategy 人脸策略信息
|
||||
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
|
||||
* @author ZYJ
|
||||
* @date 2022/12/26 10:16
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<String> unBindUserStrategy(EduFaceGroupStrategy eduFaceGroupStrategy) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除并保存策略
|
||||
*
|
||||
* @param eduFaceGroupStrategy 人脸策略信息
|
||||
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
|
||||
* @author ZYJ
|
||||
* @date 2023/1/9 15:12
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<String> deleteAndSaveStrategy(EduFaceGroupStrategy eduFaceGroupStrategy) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加请假类型短策略
|
||||
*
|
||||
* @param dto 添加请假类型短策略请求类
|
||||
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
|
||||
* @author ZYJ
|
||||
* @date 2023/2/2 16:00
|
||||
*/
|
||||
@Override
|
||||
public ResultBean<String> addLeaveRequestStrategy(AddLeaveRequestStrategyDTO dto) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
package com.yida.data.attendance.fallback;
|
||||
|
||||
import com.yida.data.attendance.feign.RemoteUserStrategyService;
|
||||
import com.yida.data.common.core.annotation.Fallback;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* RemoteUserStrategyService fallback处理类
|
||||
*/
|
||||
@Slf4j
|
||||
@Fallback
|
||||
public class RemoteUserStrategyServiceFallback implements FallbackFactory<RemoteUserStrategyService> {
|
||||
|
||||
@Override
|
||||
public RemoteUserStrategyService create(Throwable throwable) {
|
||||
log.error("RemoteUserStrategyService fallback reason:{}", throwable.getMessage());
|
||||
|
||||
return new RemoteUserStrategyService() {
|
||||
|
||||
@Override
|
||||
public ResultBean<String> checkOverTimeUserStrategy() {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
-71
@@ -1,71 +0,0 @@
|
||||
package com.yida.data.attendance.feign;
|
||||
|
||||
import com.yida.data.attendance.dto.IssuedFaceDTO;
|
||||
import com.yida.data.attendance.dto.RemoveFaceDTO;
|
||||
import com.yida.data.attendance.fallback.RemoteAttendanceDeviceServiceFallback;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.attendance.EduAttendanceDevice;
|
||||
import com.yida.data.common.core.entity.attendance.EduAttendanceDeviceGroup;
|
||||
import com.yida.data.common.core.entity.constant.FebsServerConstant;
|
||||
import java.util.List;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
@FeignClient(value = FebsServerConstant.EDU_ATTENDANCE, contextId = "attendanceDeviceServiceClient",
|
||||
fallbackFactory = RemoteAttendanceDeviceServiceFallback.class)
|
||||
public interface RemoteAttendanceDeviceService {
|
||||
|
||||
@GetMapping("/device/listDeviceBySchool")
|
||||
ResultBean<List<EduAttendanceDevice>> listDeviceBySchool(@RequestParam("schoolId") Long schoolId);
|
||||
|
||||
@GetMapping("/in/device/listDeviceByType")
|
||||
ResultBean<List<EduAttendanceDevice>> listDeviceByType(@RequestParam("type") String type);
|
||||
|
||||
/**
|
||||
* 下发人脸到设备
|
||||
*/
|
||||
@PostMapping("/device/issuedFace")
|
||||
ResultBean issuedFace(@RequestBody IssuedFaceDTO dto);
|
||||
|
||||
/**
|
||||
* 删除设备中的人脸
|
||||
*/
|
||||
@PostMapping("/device/removeFace")
|
||||
ResultBean removeFace(@RequestBody RemoveFaceDTO dto);
|
||||
|
||||
/**
|
||||
* 查询设备组中的设备
|
||||
*/
|
||||
@GetMapping("/deviceGroup/listDeviceByGroup")
|
||||
ResultBean<List<EduAttendanceDevice>> listDeviceByGroup(@RequestParam("groupIds") Long[] groupIds);
|
||||
|
||||
/**
|
||||
* 根据id查询设备
|
||||
*/
|
||||
@GetMapping("/device/listDeviceById")
|
||||
ResultBean<List<EduAttendanceDevice>> listDeviceById(@RequestParam("ids") Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据id查询设备组
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/deviceGroup/listDeviceGroupById")
|
||||
ResultBean<List<EduAttendanceDeviceGroup>> listDeviceGroupById(@RequestParam("ids") Long[] ids);
|
||||
|
||||
/**
|
||||
* 更新设备在线状态
|
||||
*/
|
||||
@GetMapping("/in/device/updateDeviceStatus")
|
||||
ResultBean updateDeviceStatus();
|
||||
|
||||
/**aaaaaa
|
||||
* 校时所有设备
|
||||
*/
|
||||
@GetMapping("/in/device/timingAllDevice")
|
||||
ResultBean timingAllDevice();
|
||||
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package com.yida.data.attendance.feign;
|
||||
|
||||
import com.yida.data.attendance.fallback.RemoteAttendanceResultServiceFallback;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.constant.FebsServerConstant;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
||||
@FeignClient(value = FebsServerConstant.EDU_ATTENDANCE, contextId = "attendanceResultClient",
|
||||
fallbackFactory = RemoteAttendanceResultServiceFallback.class)
|
||||
public interface RemoteAttendanceResultService {
|
||||
|
||||
|
||||
@GetMapping("/in/attendanceResult/initAttendanceResult")
|
||||
ResultBean initAttendanceResult();
|
||||
|
||||
@GetMapping("/in/attendanceResult/attendanceNotice")
|
||||
ResultBean attendanceNotice();
|
||||
}
|
||||
-81
@@ -1,81 +0,0 @@
|
||||
package com.yida.data.attendance.feign;
|
||||
|
||||
import com.yida.data.attendance.dto.AddLeaveRequestStrategyDTO;
|
||||
import com.yida.data.attendance.fallback.RemoteAttendanceDeviceServiceFallback;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.constant.FebsServerConstant;
|
||||
import com.yida.data.common.core.entity.user.EduFaceGroupStrategy;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
@FeignClient(value = FebsServerConstant.EDU_ATTENDANCE, contextId = "attendanceStrategyServiceClient",
|
||||
fallbackFactory = RemoteAttendanceDeviceServiceFallback.class)
|
||||
public interface RemoteAttendanceStrategyService {
|
||||
|
||||
/**
|
||||
* 保存策略并绑定人员信息
|
||||
*
|
||||
* @param eduFaceGroupStrategy 人脸组-策略信息
|
||||
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
|
||||
* @author ZYJ
|
||||
* @date 2022/12/13 10:51
|
||||
*/
|
||||
@PostMapping("/in/deviceStrategy/saveStrategyAndUser")
|
||||
ResultBean<String> saveStrategyAndUser(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy);
|
||||
|
||||
/**
|
||||
* 删除策略
|
||||
*
|
||||
* @param eduFaceGroupStrategy 人脸策略信息
|
||||
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
|
||||
* @author ZYJ
|
||||
* @date 2022/12/21 15:44
|
||||
*/
|
||||
@PostMapping("/in/deviceStrategy/deleteStrategy")
|
||||
ResultBean<String> deleteStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy);
|
||||
|
||||
/**
|
||||
* 绑定对应的人员-策略信息
|
||||
*
|
||||
* @param eduFaceGroupStrategy 人脸策略信息
|
||||
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
|
||||
* @author ZYJ
|
||||
* @date 2022/12/22 16:25
|
||||
*/
|
||||
@PostMapping("/in/deviceStrategy/bindUserStrategy")
|
||||
ResultBean<String> bindUserStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy);
|
||||
|
||||
/**
|
||||
* 解绑对应的人员-策略信息
|
||||
*
|
||||
* @param eduFaceGroupStrategy 人脸策略信息
|
||||
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
|
||||
* @author ZYJ
|
||||
* @date 2022/12/26 10:16
|
||||
*/
|
||||
@PostMapping("/in/deviceStrategy/unBindUserStrategy")
|
||||
ResultBean<String> unBindUserStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy);
|
||||
|
||||
/**
|
||||
* 删除并保存策略(包含人员信息)
|
||||
*
|
||||
* @param eduFaceGroupStrategy 人脸策略信息
|
||||
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
|
||||
* @author ZYJ
|
||||
* @date 2023/1/9 15:12
|
||||
*/
|
||||
@PostMapping("/in/deviceStrategy/deleteAndSaveStrategy")
|
||||
ResultBean<String> deleteAndSaveStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy);
|
||||
|
||||
/**
|
||||
* 添加请假类型短策略
|
||||
*
|
||||
* @param dto 添加请假类型短策略请求类
|
||||
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
|
||||
* @author ZYJ
|
||||
* @date 2023/2/2 16:00
|
||||
*/
|
||||
@PostMapping("/in/deviceStrategy/addLeaveRequestStrategy")
|
||||
ResultBean<String> addLeaveRequestStrategy(@RequestBody AddLeaveRequestStrategyDTO dto);
|
||||
}
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
package com.yida.data.attendance.feign;
|
||||
|
||||
import com.yida.data.attendance.fallback.RemoteUserStrategyServiceFallback;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.constant.FebsServerConstant;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
||||
@FeignClient(value = FebsServerConstant.EDU_ATTENDANCE, contextId = "remoteUserStrategyServiceClient",
|
||||
fallbackFactory = RemoteUserStrategyServiceFallback.class)
|
||||
public interface RemoteUserStrategyService {
|
||||
|
||||
@GetMapping("/in/eduUserStrategy/checkOverTimeUserStrategy")
|
||||
ResultBean<String> checkOverTimeUserStrategy();
|
||||
}
|
||||
-59
@@ -1,59 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Data
|
||||
public class AttdanceResultDetailVO {
|
||||
|
||||
@ApiModelProperty("主键ID")
|
||||
private Long id;
|
||||
@ApiModelProperty("用户主键ID")
|
||||
private Long userId;
|
||||
@ApiModelProperty("姓名")
|
||||
private String name;
|
||||
@ApiModelProperty("学号/手机号")
|
||||
private String number;
|
||||
@ApiModelProperty("部门名称")
|
||||
private String deptName;
|
||||
@ApiModelProperty("打卡规则")
|
||||
private String ruleName;
|
||||
@ApiModelProperty("打卡规则ID")
|
||||
private Long ruleId;
|
||||
@ApiModelProperty("打卡规则时段ID")
|
||||
private Long ruleTimeId;
|
||||
@ApiModelProperty("打卡规则时段名称")
|
||||
private String ruleTimeName;
|
||||
// @ApiModelProperty("打卡明细")
|
||||
// List<DetailVO> detailVOList;
|
||||
@ApiModelProperty("日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate attendanceDate;
|
||||
|
||||
@ApiModelProperty("星期")
|
||||
private Integer week;
|
||||
|
||||
@ApiModelProperty("上班打卡状态;0正常,1异常")
|
||||
private Integer startStatus;
|
||||
|
||||
@ApiModelProperty("上班打卡时间")
|
||||
private LocalTime startRealTime;
|
||||
|
||||
@ApiModelProperty("下班打卡状态:0正常,1异常")
|
||||
private Integer endStatus;
|
||||
|
||||
@ApiModelProperty("下班打卡时间")
|
||||
private LocalTime endRealTime;
|
||||
|
||||
@ApiModelProperty("是否需要打卡考勤,0是,1否")
|
||||
private Integer needAttendance;
|
||||
|
||||
@ApiModelProperty("打卡类型:0=需要上下班打卡,1=只需要打卡一次(取上班打卡时间与状态)")
|
||||
private Integer modelType;
|
||||
}
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AttdanceResultTotalVO {
|
||||
|
||||
@ApiModelProperty("请假人数")
|
||||
private Integer leaveNumber;
|
||||
|
||||
@ApiModelProperty("正常人数")
|
||||
private Integer normalNumber;
|
||||
|
||||
@ApiModelProperty("晚归人数")
|
||||
private Integer lateNumber;
|
||||
|
||||
@ApiModelProperty("异常晚归人数")
|
||||
private Integer abLateNumber;
|
||||
|
||||
@ApiModelProperty("缺卡人数")
|
||||
private Integer missNumber;
|
||||
}
|
||||
-58
@@ -1,58 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AttdanceResultVO {
|
||||
|
||||
@ApiModelProperty("主键ID")
|
||||
private Long id;
|
||||
@ApiModelProperty("用户主键ID")
|
||||
private Long userId;
|
||||
@ApiModelProperty("开始日期")
|
||||
private LocalDate startDate;
|
||||
@ApiModelProperty("结束日期")
|
||||
private LocalDate endDate;
|
||||
@ApiModelProperty("开始星期")
|
||||
private String startWeek;
|
||||
@ApiModelProperty("结束星期")
|
||||
private String endWeek;
|
||||
@ApiModelProperty("姓名")
|
||||
private String name;
|
||||
@ApiModelProperty("学号/手机号")
|
||||
private String number;
|
||||
@ApiModelProperty("部门名称")
|
||||
private String deptName;
|
||||
@ApiModelProperty("打卡规则")
|
||||
private String ruleName;
|
||||
@ApiModelProperty("打卡规则ID")
|
||||
private Long ruleId;
|
||||
@ApiModelProperty("打卡规则时段")
|
||||
private String ruleTimeName;
|
||||
@ApiModelProperty("打卡规则时段ID")
|
||||
private Long ruleTimeId;
|
||||
@ApiModelProperty("应打卡天数")
|
||||
private Integer needDays;
|
||||
@ApiModelProperty("实际打卡天数")
|
||||
private Integer realDays;
|
||||
@ApiModelProperty("正常天数")
|
||||
private Integer normalDays;
|
||||
@ApiModelProperty("异常天数")
|
||||
private Integer abnormalDays;
|
||||
@ApiModelProperty("异常次数")
|
||||
private Integer abnormalNumber;
|
||||
@ApiModelProperty("迟到次数")
|
||||
private Integer lateNumber;
|
||||
@ApiModelProperty("迟到时长:单位分")
|
||||
private Integer lateTime;
|
||||
@ApiModelProperty("早退次数")
|
||||
private Integer leaveNumber;
|
||||
@ApiModelProperty("早退时长:单位分")
|
||||
private Integer leaveTime;
|
||||
@ApiModelProperty("旷工次数")
|
||||
private Integer outNumber;
|
||||
@ApiModelProperty("缺卡次数")
|
||||
private Integer missNumber;
|
||||
}
|
||||
-31
@@ -1,31 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 考勤人脸对比返回类
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(value = "RosterFaceMatchVO", description = "考勤人脸对比返回类")
|
||||
public class AttendanceFaceMatchVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1474013091202762132L;
|
||||
|
||||
@ApiModelProperty("0-对比成功,1-对比不成功")
|
||||
private Integer valid;
|
||||
|
||||
@ApiModelProperty("对比分数")
|
||||
private String score;
|
||||
|
||||
@ApiModelProperty("对比成功的图片")
|
||||
private String url;
|
||||
}
|
||||
-50
@@ -1,50 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@ApiModel("通行记录导出实体对象")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class AttendanceRecordExcelVO {
|
||||
|
||||
@ApiModelProperty("姓名")
|
||||
@ExcelProperty(order = 0, value = "姓名")
|
||||
private String studentName;
|
||||
|
||||
@ApiModelProperty("学号/手机号")
|
||||
@ExcelProperty(order = 1, value = "学号/手机号")
|
||||
private String studentNumber;
|
||||
|
||||
@ApiModelProperty("校区")
|
||||
@ExcelProperty(order = 2, value = "校区")
|
||||
private String campusName;
|
||||
|
||||
@ApiModelProperty("学段")
|
||||
@ExcelProperty(order = 3, value = "学段")
|
||||
private String sectionName;
|
||||
|
||||
@ApiModelProperty("年级")
|
||||
@ExcelProperty(order = 4, value = "年级")
|
||||
private String gradeName;
|
||||
|
||||
@ApiModelProperty("班级")
|
||||
@ExcelProperty(order = 5, value = "班级")
|
||||
private String className;
|
||||
|
||||
@ApiModelProperty("通行时间")
|
||||
@ExcelProperty(order = 6, value = "通行时间")
|
||||
private String attendanceTime;
|
||||
|
||||
@ApiModelProperty("通行位置")
|
||||
@ExcelProperty(order = 7, value = "通行位置")
|
||||
private String attendanceDevice;
|
||||
|
||||
}
|
||||
-49
@@ -1,49 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AttendanceRuleAdminUserVO {
|
||||
|
||||
@ApiModelProperty(value = "主键id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 0-教职工,1学生
|
||||
*/
|
||||
@ApiModelProperty(value = "0-教职工,1学生")
|
||||
private Integer userType;
|
||||
|
||||
/**
|
||||
* 管理部门ID
|
||||
*/
|
||||
@ApiModelProperty(value = "管理部门ID")
|
||||
private Long deptId;
|
||||
|
||||
|
||||
/**
|
||||
* 学校id
|
||||
*/
|
||||
@ApiModelProperty(value = "学校id")
|
||||
private String deptName;
|
||||
|
||||
/**
|
||||
* 考勤规则名称
|
||||
*/
|
||||
@ApiModelProperty(value = "考勤人员Id")
|
||||
private Long staffId;
|
||||
|
||||
/**
|
||||
* 考勤规则名称
|
||||
*/
|
||||
@ApiModelProperty(value = "考勤人员名称")
|
||||
private String staffName;
|
||||
|
||||
}
|
||||
-56
@@ -1,56 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleAddressDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleAdminDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleDeviceDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleObjDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleRemindDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleSpecialDateDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleWhiteListDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleWifiDTO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AttendanceRuleUserVO {
|
||||
|
||||
@ApiModelProperty(value = "主键id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 0-教职工打卡,1学生上学考勤,2学生宿舍考勤
|
||||
*/
|
||||
@ApiModelProperty(value = "0-教职工打卡,1学生上学考勤")
|
||||
private Integer userType;
|
||||
|
||||
/**
|
||||
* 学校id
|
||||
*/
|
||||
@ApiModelProperty(value = "学校id")
|
||||
private String deptName;
|
||||
|
||||
/**
|
||||
* 考勤规则名称
|
||||
*/
|
||||
@ApiModelProperty(value = "考勤人员Id")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 考勤规则名称
|
||||
*/
|
||||
@ApiModelProperty(value = "考勤人员名称")
|
||||
private String userName;
|
||||
|
||||
}
|
||||
-203
@@ -1,203 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleAddressDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleAdminDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleDeviceDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleObjDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleRemindDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleSpecialDateDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleWhiteListDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleWifiDTO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AttendanceRuleVO {
|
||||
|
||||
@ApiModelProperty(value = "主键id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long createId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private String createName;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateDate;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Long updateId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty(value = "")
|
||||
private Integer delFlag;
|
||||
|
||||
|
||||
/**
|
||||
* 学校id
|
||||
*/
|
||||
@ApiModelProperty(value = "学校id")
|
||||
private Long schoolId;
|
||||
|
||||
/**
|
||||
* 考勤规则名称
|
||||
*/
|
||||
@ApiModelProperty(value = "考勤规则名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 0-教职工打卡,1学生上学考勤,2学生宿舍考勤
|
||||
*/
|
||||
@ApiModelProperty(value = "0-教职工打卡,1学生上学考勤,2学生宿舍考勤")
|
||||
private Integer userType;
|
||||
|
||||
/**
|
||||
* 0-固定上下班时间模式,1自由打卡模式
|
||||
*/
|
||||
@ApiModelProperty(value = "0-固定上下班时间模式,1自由打卡模式")
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 打卡日期,1-周一,2-周二....多个用','连接
|
||||
*/
|
||||
@ApiModelProperty(value = "打卡日期,1-周一,2-周二....多个用','连接")
|
||||
private String week;
|
||||
|
||||
/**
|
||||
* 法定节假日是否打卡,0-是,1-否
|
||||
*/
|
||||
@ApiModelProperty(value = "法定节假日是否打卡,0-是,1-否")
|
||||
private Integer holidayAttendance;
|
||||
|
||||
/**
|
||||
* 管理员打卡规则内容权限,0-无,1-有
|
||||
*/
|
||||
@ApiModelProperty(value = "管理员打卡规则内容权限,0-无,1-有")
|
||||
private Integer roleRule;
|
||||
|
||||
/**
|
||||
* 管理员打卡人员与白名单权限,0-无,1-有
|
||||
*/
|
||||
@ApiModelProperty(value = "管理员打卡人员与白名单权限,0-无,1-有")
|
||||
private Integer roleUser;
|
||||
|
||||
/**
|
||||
* 管理员节假日与特殊日期权限,0-无,1-有
|
||||
*/
|
||||
@ApiModelProperty(value = "管理员节假日与特殊日期权限,0-无,1-有")
|
||||
private Integer roleDate;
|
||||
|
||||
/**
|
||||
* 管理员打卡提醒权限,0-无,1-有
|
||||
*/
|
||||
@ApiModelProperty(value = "管理员打卡提醒权限,0-无,1-有")
|
||||
private Integer roleRemind;
|
||||
|
||||
/**
|
||||
* 打卡是必须拍照 0-无,1-必须
|
||||
*/
|
||||
@ApiModelProperty(value = "打卡是必须拍照 0-无,1-必须")
|
||||
private Integer photoTake;
|
||||
|
||||
/**
|
||||
* 打卡时必须人脸识别0-无,1-必须
|
||||
*/
|
||||
@ApiModelProperty(value = "打卡时必须人脸识别0-无,1-必须")
|
||||
private Integer faceTake;
|
||||
|
||||
/**
|
||||
* 填写备注时必须拍照0-无,1-必须
|
||||
*/
|
||||
@ApiModelProperty(value = "填写备注时必须拍照0-无,1-必须")
|
||||
private Integer photoRemark;
|
||||
|
||||
/**
|
||||
* 异常打卡可以提交申请,审批后可修正打卡状态
|
||||
*/
|
||||
@ApiModelProperty(value = "异常打卡可以提交申请,审批后可修正打卡状态")
|
||||
private Integer applyAmendment;
|
||||
|
||||
/**
|
||||
* 每月补卡次数
|
||||
*/
|
||||
@ApiModelProperty(value = "每月补卡次数")
|
||||
private Integer reissueNum;
|
||||
|
||||
/**
|
||||
* 启用状态:0-未启用,1-已启用
|
||||
*/
|
||||
@ApiModelProperty(value = "启用状态:0-未启用,1-已启用")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 每月补卡截止日期
|
||||
*/
|
||||
@ApiModelProperty(value = "每月补卡截止日期")
|
||||
private Integer reissueEndDate;
|
||||
|
||||
@ApiModelProperty(value = "有效开始时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate startDate;
|
||||
|
||||
@ApiModelProperty(value = "有效结束时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate endDate;
|
||||
|
||||
@ApiModelProperty(value = "打卡提醒")
|
||||
private List<AddAttendanceRuleRemindDTO> remindDTOList;
|
||||
@ApiModelProperty(value = "打卡对象")
|
||||
private List<AddAttendanceRuleObjDTO> attendanceRuleObjList;
|
||||
@ApiModelProperty(value = "特殊日期")
|
||||
private List<AddAttendanceRuleSpecialDateDTO> specialDateDTOList;
|
||||
@ApiModelProperty(value = "白名单")
|
||||
private List<AddAttendanceRuleWhiteListDTO> whiteListDTOList;
|
||||
@ApiModelProperty(value = "打卡设备")
|
||||
private List<AddAttendanceRuleDeviceDTO> deviceDTOList;
|
||||
@ApiModelProperty(value = "打卡wifi")
|
||||
private List<AddAttendanceRuleWifiDTO> wifiDTOList;
|
||||
@ApiModelProperty(value = "打卡地点")
|
||||
private List<AddAttendanceRuleAddressDTO> addressDTOList;
|
||||
@ApiModelProperty(value = "打卡时间段")
|
||||
private List<AddAttendanceRuleTimeDTO> timeDTOList;
|
||||
@ApiModelProperty(value = "管理员")
|
||||
private List<AddAttendanceRuleAdminDTO> adminDTOList;
|
||||
}
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel("查询当前月份考勤状态返回结果类")
|
||||
public class AttendanceStatusByMonthVO {
|
||||
|
||||
@ApiModelProperty("打卡规则ID")
|
||||
private Long ruleId;
|
||||
|
||||
@ApiModelProperty("打卡时间段ID")
|
||||
private Long ruleTimeId;
|
||||
|
||||
@ApiModelProperty("日期")
|
||||
private LocalDate date;
|
||||
|
||||
@ApiModelProperty("上班考勤状态:0正常,1异常")
|
||||
private Integer startStatus;
|
||||
|
||||
@ApiModelProperty("下班考勤状态:0正常,1异常")
|
||||
private Integer endStatus;
|
||||
|
||||
@ApiModelProperty("总考勤状态:0正常,1异常,2请假,3休假,4无")
|
||||
private Integer Status;
|
||||
|
||||
@ApiModelProperty("考勤类型:0-固定上下班时间模式,1自由打卡模式")
|
||||
private Integer attType;
|
||||
}
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ApiModel(value = "AttendanceUserCheckInVO", description = "wifi打卡返回类")
|
||||
public class AttendanceUserCheckInVO {
|
||||
|
||||
@ApiModelProperty(value = "打卡状态:0正常,2迟到,3早退,7晚归,8异常晚归")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "当前打卡时间")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime checkInDateTime;
|
||||
|
||||
@ApiModelProperty(value = "人脸认证图片地址")
|
||||
private String avatar;
|
||||
}
|
||||
-132
@@ -1,132 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleAddressDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleAdminDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleDeviceDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleObjDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleRemindDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleSpecialDateDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleWhiteListDTO;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleWifiDTO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AttendanceWifiVO {
|
||||
|
||||
@ApiModelProperty(value = "打卡规则ID")
|
||||
private Long ruleId;
|
||||
|
||||
@ApiModelProperty(value = "打卡规则类型,0-固定上下班时间模式,1自由打卡模式")
|
||||
private Integer ruleType;
|
||||
|
||||
@ApiModelProperty(value = "打卡时段ID")
|
||||
private Long ruleTimeId;
|
||||
|
||||
@ApiModelProperty(value = "打卡规则名称")
|
||||
private String ruleName;
|
||||
|
||||
@ApiModelProperty(value = "打卡是必须拍照人脸识别 0-无,1-必须")
|
||||
private Integer ruleFaceTake;
|
||||
|
||||
/**
|
||||
* 是否WiFi打卡范围 0否,1是
|
||||
*/
|
||||
@ApiModelProperty(value = "是否WiFi打卡范围 0否,1是")
|
||||
private Integer wifiRange;
|
||||
|
||||
/**
|
||||
* wifi名称
|
||||
*/
|
||||
@ApiModelProperty(value = "wifi名称")
|
||||
private String wifiName;
|
||||
|
||||
/**
|
||||
* BSSID
|
||||
*/
|
||||
@ApiModelProperty(value = "BSSID")
|
||||
private String wifiBssid;
|
||||
|
||||
/**
|
||||
* 上班时间
|
||||
*/
|
||||
@ApiModelProperty(value = "上班时间")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
|
||||
private LocalTime startTime;
|
||||
|
||||
|
||||
/**
|
||||
* 实际上班时间
|
||||
*/
|
||||
@ApiModelProperty(value = "实际上班时间")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
|
||||
private LocalTime startRealTime;
|
||||
|
||||
|
||||
/**
|
||||
* 上班考勤状态:0-正常,1-异常
|
||||
*/
|
||||
@ApiModelProperty(value = "上班考勤状态:0-正常,1-异常")
|
||||
private Integer startStatus;
|
||||
|
||||
|
||||
/**
|
||||
* 上班打卡照片
|
||||
*/
|
||||
@ApiModelProperty(value = "上班打卡照片")
|
||||
private String startImg;
|
||||
|
||||
|
||||
/**
|
||||
* 下班时间
|
||||
*/
|
||||
@ApiModelProperty(value = "下班时间")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
|
||||
private LocalTime endTime;
|
||||
|
||||
|
||||
/**
|
||||
* 实际下班时间
|
||||
*/
|
||||
@ApiModelProperty(value = "实际下班时间")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss")
|
||||
private LocalTime endRealTime;
|
||||
|
||||
|
||||
/**
|
||||
* 下班考勤状态:0-正常,1-异常
|
||||
*/
|
||||
@ApiModelProperty(value = "下班考勤状态:0-正常,1-异常")
|
||||
private Integer endStatus;
|
||||
|
||||
/**
|
||||
* 下班打卡照片
|
||||
*/
|
||||
@ApiModelProperty(value = "下班打卡照片")
|
||||
private String endImg;
|
||||
|
||||
|
||||
/**
|
||||
* 本次打卡所属:1签到,2签退
|
||||
*/
|
||||
@ApiModelProperty(value = "本次打卡所属:1签到,2签退,3休息不用打卡,4,不在打卡时间段内,5无打卡规则,6不在范围内,7无权限,非智慧校园用户")
|
||||
private Integer status;
|
||||
|
||||
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel("冲突规则")
|
||||
public class ConflictRuleVO {
|
||||
@ApiModelProperty("规则Id")
|
||||
private Long ruleId;
|
||||
@ApiModelProperty("规则名称")
|
||||
private String ruleName;
|
||||
@ApiModelProperty("部门id")
|
||||
private Long deptId;
|
||||
@ApiModelProperty("部门名称")
|
||||
private String deptName;
|
||||
}
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel("查询管理员管理用户统计状态-用于日历展示")
|
||||
public class DateStatusVO {
|
||||
|
||||
@ApiModelProperty("日期")
|
||||
private LocalDate date;
|
||||
|
||||
@ApiModelProperty("总考勤状态:0正常,1异常,2请假,3休假,4无")
|
||||
private Integer Status;
|
||||
|
||||
}
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import java.time.LocalDate;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DayReportDataVO {
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate date;
|
||||
private String deptName;
|
||||
private Integer totalNum;
|
||||
private Integer abNum;
|
||||
private String score;
|
||||
private Integer requestNum;
|
||||
}
|
||||
-35
@@ -1,35 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DetailVO {
|
||||
|
||||
@ApiModelProperty("日期")
|
||||
private LocalDate date;
|
||||
|
||||
@ApiModelProperty("星期")
|
||||
private Integer week;
|
||||
|
||||
@ApiModelProperty("上班打卡状态;0正常,1异常")
|
||||
private Integer startStatus;
|
||||
|
||||
@ApiModelProperty("上班打卡时间")
|
||||
private LocalTime startRealTime;
|
||||
|
||||
@ApiModelProperty("下班打卡状态:0正常,1异常")
|
||||
private Integer endStatus;
|
||||
|
||||
@ApiModelProperty("下班打卡时间")
|
||||
private LocalTime endRealTime;
|
||||
|
||||
@ApiModelProperty("是否需要打卡考勤,0是,1否")
|
||||
private Integer needAttendance;
|
||||
|
||||
@ApiModelProperty("打卡类型:0=需要上下班打卡,1=只需要打卡一次(取上班打卡时间与状态)")
|
||||
private Integer modelType;
|
||||
|
||||
}
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 设备数量统计返回类
|
||||
*
|
||||
* @author ZYJ
|
||||
* @date 2021/10/8
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ApiModel(value = "DeviceNumberVO", description = "设备数量统计返回类")
|
||||
public class DeviceNumberVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -7261215589760191372L;
|
||||
|
||||
@ApiModelProperty(value = "设备总数量")
|
||||
private Long totalNumber;
|
||||
|
||||
@ApiModelProperty(value = "在线设备数量")
|
||||
private Long onlineNumber;
|
||||
|
||||
@ApiModelProperty(value = "离线设备数量")
|
||||
private Long offlineNumber;
|
||||
}
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DeviceOrDeviceGroupVO {
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("0-设备,1-设备组")
|
||||
private Integer type;
|
||||
|
||||
private String name;
|
||||
}
|
||||
-52
@@ -1,52 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@ApiModel("设备信息")
|
||||
@Data
|
||||
public class DeviceVO {
|
||||
|
||||
private Long id;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createDate;
|
||||
|
||||
@ApiModelProperty("设备名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("设备编号")
|
||||
private String sn;
|
||||
|
||||
@ApiModelProperty("设备mac地址")
|
||||
private String macAddress;
|
||||
|
||||
@ApiModelProperty("设备厂商")
|
||||
private String deviceType;
|
||||
|
||||
@ApiModelProperty("ip")
|
||||
private String ip;
|
||||
|
||||
@ApiModelProperty("学校id")
|
||||
private Long schoolId;
|
||||
|
||||
@ApiModelProperty("学校名称")
|
||||
private String schoolName;
|
||||
|
||||
@ApiModelProperty("区域类型,0-进门,1-出门")
|
||||
private Integer zoneScope;
|
||||
|
||||
@ApiModelProperty("0-校门,1-宿舍")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty("设备在线状态,0-在线,1-未在线")
|
||||
private Integer state;
|
||||
|
||||
@ApiModelProperty("分组名称")
|
||||
private String groupName;
|
||||
}
|
||||
-35
@@ -1,35 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DownLoadAttendanceResultVO {
|
||||
|
||||
@ApiModelProperty("操作标识")
|
||||
private String key;
|
||||
|
||||
@ApiModelProperty("文件名称")
|
||||
private String fileName;
|
||||
|
||||
@ApiModelProperty("进度 0-100")
|
||||
private Integer percent;
|
||||
|
||||
@ApiModelProperty("是否下载完成,0-否,1-是")
|
||||
private Integer finish;
|
||||
|
||||
@ApiModelProperty("下载总数")
|
||||
private Integer totalNum;
|
||||
|
||||
@ApiModelProperty("当前下载到第几个")
|
||||
private Integer currentNum;
|
||||
|
||||
@ApiModelProperty("文件路径")
|
||||
private String filePath;
|
||||
}
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ImportBssidDataVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 6853343450276063448L;
|
||||
|
||||
|
||||
@ApiModelProperty("本次操作标识")
|
||||
private String wifiName;
|
||||
|
||||
@ApiModelProperty("进度 0-100")
|
||||
private Integer percent;
|
||||
|
||||
@ApiModelProperty("是否下载完成,0-否,1-是")
|
||||
private Integer finish;
|
||||
|
||||
@ApiModelProperty("错误文件路径")
|
||||
private String filePath;
|
||||
}
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.models.auth.In;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel("打卡明细-统计-返回类")
|
||||
public class ManageListUserAttendanceDetailTotalVO {
|
||||
|
||||
@ApiModelProperty("总数")
|
||||
private Integer totalNum;
|
||||
|
||||
@ApiModelProperty("异常人数")
|
||||
private Integer abNormalNum;
|
||||
|
||||
}
|
||||
-69
@@ -1,69 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel("打卡明细-返回类")
|
||||
public class ManageListUserAttendanceDetailVO {
|
||||
|
||||
@ApiModelProperty("用户Id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("用户姓名")
|
||||
private String userName;
|
||||
|
||||
@ApiModelProperty("用户姓名")
|
||||
private String deptName;
|
||||
|
||||
@ApiModelProperty("宿舍")
|
||||
private String dormName;
|
||||
|
||||
@ApiModelProperty("用户头像")
|
||||
private String avatar;
|
||||
|
||||
@ApiModelProperty("学生类型,0-走读,1-住宿")
|
||||
private Integer studentType;
|
||||
|
||||
@ApiModelProperty("用户类型:0职工,1学生")
|
||||
private Integer userType;
|
||||
|
||||
@ApiModelProperty("打卡规则Id")
|
||||
private Long ruleId;
|
||||
|
||||
@ApiModelProperty("打卡规则")
|
||||
private String ruleName;
|
||||
|
||||
@ApiModelProperty("迟到次数")
|
||||
private Integer lateNum;
|
||||
|
||||
@ApiModelProperty("晚归次数")
|
||||
private Integer lateDormNum;
|
||||
|
||||
@ApiModelProperty("晚归分钟数")
|
||||
private Integer lateDormMinute;
|
||||
|
||||
@ApiModelProperty("异常晚归次数")
|
||||
private Integer aBLateDormNum;
|
||||
|
||||
@ApiModelProperty("异常晚归分钟数")
|
||||
private Integer aBLateDormMinute;
|
||||
|
||||
@ApiModelProperty("早退次数")
|
||||
private Integer leaveNum;
|
||||
|
||||
@ApiModelProperty("缺卡次数")
|
||||
private Integer missNum;
|
||||
|
||||
@ApiModelProperty("请假次数")
|
||||
private Integer requestNum;
|
||||
|
||||
@ApiModelProperty("迟到分钟数")
|
||||
private Integer lateMinute;
|
||||
|
||||
@ApiModelProperty("早退分钟数")
|
||||
private Integer leaveMinute;
|
||||
|
||||
|
||||
}
|
||||
-41
@@ -1,41 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel("管理员管理用户考勤统计-返回类")
|
||||
public class ManageListUserVO {
|
||||
|
||||
@ApiModelProperty("管理部门名称")
|
||||
private Long deptId;
|
||||
|
||||
@ApiModelProperty("管理部门名称")
|
||||
private Integer deptType;
|
||||
|
||||
@ApiModelProperty("管理部门名称")
|
||||
private String deptName;
|
||||
|
||||
@ApiModelProperty("正常打卡人数")
|
||||
private Integer normalNum;
|
||||
|
||||
@ApiModelProperty("异常打卡人数")
|
||||
private Integer abNormalNum;
|
||||
|
||||
@ApiModelProperty("总打卡人数")
|
||||
private Integer totalNum;
|
||||
|
||||
@ApiModelProperty("迟到人数")
|
||||
private Integer lateUserNum;
|
||||
|
||||
@ApiModelProperty("早退次数")
|
||||
private Integer leaveUserNum;
|
||||
|
||||
@ApiModelProperty("缺卡人数")
|
||||
private Integer missUserNum;
|
||||
|
||||
@ApiModelProperty("请假人数")
|
||||
private Integer requestUserNum;
|
||||
}
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class OnlineCountVO {
|
||||
|
||||
private Integer onlineNum;
|
||||
|
||||
private Integer offlineNum;
|
||||
}
|
||||
-23
@@ -1,23 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
|
||||
@ApiModel("各类型考勤状态数量")
|
||||
@Data
|
||||
public class StaRecordCountVO {
|
||||
|
||||
private Integer studentNormal;
|
||||
|
||||
private Integer studentLate;
|
||||
|
||||
private Integer studentNotArrive;
|
||||
|
||||
private Integer studentRequest;
|
||||
|
||||
private Integer staffNormal;
|
||||
|
||||
private Integer staffLate;
|
||||
|
||||
private Integer staffNotArrive;
|
||||
}
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class StaffIdentityVO {
|
||||
|
||||
@ApiModelProperty("学生管理员")
|
||||
private boolean manageStudent;
|
||||
@ApiModelProperty("职工管理员")
|
||||
private boolean manageStaff;
|
||||
}
|
||||
-98
@@ -1,98 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@ApiModel("学生宿舍考勤日报/周报/月报导出实体对象")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class StudentDormAttendanceDayReportExcelVO {
|
||||
|
||||
@ApiModelProperty("考勤日期")
|
||||
@ExcelProperty(order = 1, value = "考勤日期")
|
||||
private String attendanceTime;
|
||||
|
||||
@ApiModelProperty("校区")
|
||||
@ExcelProperty(order = 2, value = "校区")
|
||||
private String campusName;
|
||||
|
||||
@ApiModelProperty("学段")
|
||||
@ExcelProperty(order = 3, value = "学段")
|
||||
private String sectionName;
|
||||
|
||||
@ApiModelProperty("年级")
|
||||
@ExcelProperty(order = 4, value = "年级")
|
||||
private String gradeName;
|
||||
|
||||
@ApiModelProperty("班级")
|
||||
@ExcelProperty(order = 5, value = "班级")
|
||||
private String className;
|
||||
|
||||
@ApiModelProperty("应打卡人数")
|
||||
@ExcelProperty(order = 6, value = "应打卡人数")
|
||||
private String needNum;
|
||||
|
||||
@ApiModelProperty("实际打卡人数")
|
||||
@ExcelProperty(order = 7, value = "实际打卡人数")
|
||||
private String realNum;
|
||||
|
||||
@ApiModelProperty("请假人数")
|
||||
@ExcelProperty(order = 8, value = "请假人数")
|
||||
private String requestNum;
|
||||
|
||||
@ApiModelProperty("正常打卡人数")
|
||||
@ExcelProperty(order = 9, value = "正常打卡人数")
|
||||
private String normalNum;
|
||||
|
||||
@ApiModelProperty("旷宿人数")
|
||||
@ExcelProperty(order = 10, value = "旷宿人数")
|
||||
private String missNum;
|
||||
|
||||
@ApiModelProperty("晚归打卡人数")
|
||||
@ExcelProperty(order = 11, value = "晚归打卡人数")
|
||||
private String lateNum;
|
||||
|
||||
@ApiModelProperty("异常晚归打卡人数")
|
||||
@ExcelProperty(order = 12, value = "异常晚归打卡人数")
|
||||
private String abLateNum;
|
||||
|
||||
|
||||
@ApiModelProperty("出勤率")
|
||||
@ExcelProperty(order = 13, value = "出勤率")
|
||||
private String attendanceRate;
|
||||
|
||||
// @ApiModelProperty("应打卡次数")
|
||||
// @ExcelProperty(order = 13, value = "应打卡次数")
|
||||
// private String needDay;
|
||||
//
|
||||
// @ApiModelProperty("实际打卡次数")
|
||||
// @ExcelProperty(order = 14, value = "实际打卡次数")
|
||||
// private String realDay;
|
||||
//
|
||||
// @ApiModelProperty("正常打卡次数")
|
||||
// @ExcelProperty(order = 15, value = "正常打卡次数")
|
||||
// private String normalDay;
|
||||
//
|
||||
// @ApiModelProperty("旷宿次数")
|
||||
// @ExcelProperty(order = 16, value = "旷宿次数")
|
||||
// private String missDay;
|
||||
//
|
||||
// @ApiModelProperty("晚归打卡次数")
|
||||
// @ExcelProperty(order = 17, value = "晚归打卡次数")
|
||||
// private String lateDay;
|
||||
//
|
||||
// @ApiModelProperty("异常晚归打卡次数")
|
||||
// @ExcelProperty(order = 18, value = "异常晚归打卡次数")
|
||||
// private String abLateDay;
|
||||
//
|
||||
// @ApiModelProperty("打卡率")
|
||||
// @ExcelProperty(order = 19, value = "打卡率")
|
||||
// private String checkRate;
|
||||
}
|
||||
-68
@@ -1,68 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.yida.data.common.core.converter.LocalDateConverter;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@ApiModel("学生宿舍考勤结果导出实体对象")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class StudentDormAttendanceResultExcelVO {
|
||||
|
||||
@ApiModelProperty("姓名")
|
||||
@ExcelProperty(order = 0, value = "姓名")
|
||||
private String studentName;
|
||||
|
||||
@ApiModelProperty("学号")
|
||||
@ExcelProperty(order = 1, value = "学号")
|
||||
private String studentNumber;
|
||||
|
||||
@ApiModelProperty("校区")
|
||||
@ExcelProperty(order = 2, value = "校区")
|
||||
private String campusName;
|
||||
|
||||
@ApiModelProperty("学段")
|
||||
@ExcelProperty(order = 3, value = "学段")
|
||||
private String sectionName;
|
||||
|
||||
@ApiModelProperty("年级")
|
||||
@ExcelProperty(order = 4, value = "年级")
|
||||
private String gradeName;
|
||||
|
||||
@ApiModelProperty("班级")
|
||||
@ExcelProperty(order = 5, value = "班级")
|
||||
private String className;
|
||||
|
||||
@ApiModelProperty("考勤规则")
|
||||
@ExcelProperty(order = 6, value = "考勤规则")
|
||||
private String ruleName;
|
||||
|
||||
@ApiModelProperty("考勤日期")
|
||||
@ExcelProperty(order = 7, value = "考勤日期")
|
||||
private String attendanceDate;
|
||||
|
||||
@ApiModelProperty("星期")
|
||||
@ExcelProperty(order = 8, value = "星期")
|
||||
private String attendanceWeek;
|
||||
|
||||
@ApiModelProperty("考勤时段")
|
||||
@ExcelProperty(order = 9, value = "考勤时段")
|
||||
private String attendanceTime;
|
||||
|
||||
@ApiModelProperty("考勤结果")
|
||||
@ExcelProperty(order = 10, value = "考勤结果")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("打卡时间")
|
||||
@ExcelProperty(order = 11, value = "打卡时间")
|
||||
private String attendanceRealTime;
|
||||
|
||||
}
|
||||
-66
@@ -1,66 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@ApiModel("学生宿舍考勤结果导出实体对象")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
public class StudentDormAttendanceResultTotalExcelVO {
|
||||
|
||||
@ApiModelProperty("姓名")
|
||||
@ExcelProperty(order = 0, value = "姓名")
|
||||
private String studentName;
|
||||
|
||||
@ApiModelProperty("学号")
|
||||
@ExcelProperty(order = 1, value = "学号")
|
||||
private String studentNumber;
|
||||
|
||||
@ApiModelProperty("校区")
|
||||
@ExcelProperty(order = 2, value = "校区")
|
||||
private String campusName;
|
||||
|
||||
@ApiModelProperty("学段")
|
||||
@ExcelProperty(order = 3, value = "学段")
|
||||
private String sectionName;
|
||||
|
||||
@ApiModelProperty("年级")
|
||||
@ExcelProperty(order = 4, value = "年级")
|
||||
private String gradeName;
|
||||
|
||||
@ApiModelProperty("班级")
|
||||
@ExcelProperty(order = 5, value = "班级")
|
||||
private String className;
|
||||
|
||||
@ApiModelProperty("应打卡次数")
|
||||
@ExcelProperty(order = 6, value = "应打卡次数")
|
||||
private String needDay;
|
||||
|
||||
@ApiModelProperty("实际打卡次数")
|
||||
@ExcelProperty(order = 7, value = "实际打卡次数")
|
||||
private String realDay;
|
||||
|
||||
@ApiModelProperty("正常打卡次数")
|
||||
@ExcelProperty(order = 8, value = "正常打卡次数")
|
||||
private String normalDay;
|
||||
|
||||
@ApiModelProperty("旷宿次数")
|
||||
@ExcelProperty(order = 9, value = "旷宿次数")
|
||||
private String missDay;
|
||||
|
||||
@ApiModelProperty("晚归打卡次数")
|
||||
@ExcelProperty(order = 10, value = "晚归打卡次数")
|
||||
private String lateDay;
|
||||
|
||||
@ApiModelProperty("异常晚归打卡次数")
|
||||
@ExcelProperty(order = 11, value = "异常晚归打卡次数")
|
||||
private String abLateDay;
|
||||
|
||||
}
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.carrotsearch.hppc.LongDeque;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel("获取某日用户考勤记录返回类")
|
||||
public class UserAttendanceResultByDayVO {
|
||||
|
||||
@ApiModelProperty("打卡规则")
|
||||
private AttendanceRuleVO rule;
|
||||
|
||||
@ApiModelProperty("累计打卡时长,单位分钟")
|
||||
private Long attendanceTime;
|
||||
|
||||
@ApiModelProperty("打卡结果")
|
||||
private List<AttendanceResult> result;
|
||||
|
||||
}
|
||||
-55
@@ -1,55 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@ApiModel("获取某时间段内用户考勤结果返回类")
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserAttendanceResultByTimeSlotVO {
|
||||
|
||||
@ApiModelProperty("正常打卡天数")
|
||||
private Integer normalDays;
|
||||
|
||||
@ApiModelProperty("异常打卡天数")
|
||||
private Integer abNormalDays;
|
||||
|
||||
@ApiModelProperty("总打卡天数")
|
||||
private Integer totalDays;
|
||||
|
||||
@ApiModelProperty("迟到次数")
|
||||
private Integer lateTimes;
|
||||
|
||||
@ApiModelProperty("早退次数")
|
||||
private Integer leaveTimes;
|
||||
|
||||
@ApiModelProperty("缺卡次数")
|
||||
private Integer missTimes;
|
||||
|
||||
// @ApiModelProperty("旷课次数")
|
||||
// private Integer outTimes;
|
||||
|
||||
@ApiModelProperty("请假次数")
|
||||
private Integer requestTimes;
|
||||
|
||||
@ApiModelProperty("打卡结果-迟到")
|
||||
private List<UserAttendanceResultDayAndNumVO> lateList;
|
||||
|
||||
@ApiModelProperty("打卡结果-早退")
|
||||
private List<UserAttendanceResultDayAndNumVO> leaveList;
|
||||
|
||||
@ApiModelProperty("打卡结果-缺卡")
|
||||
private List<UserAttendanceResultDayAndNumVO> missList;
|
||||
|
||||
// @ApiModelProperty("打卡结果-旷课")
|
||||
// private List<UserAttendanceResultDayAndNumVO> outList;
|
||||
|
||||
}
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
package com.yida.data.attendance.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.time.LocalDate;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@Data
|
||||
@ApiModel("获取某时间段内用户考勤结果-日期对应次数返回类")
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class UserAttendanceResultDayAndNumVO {
|
||||
|
||||
@ApiModelProperty("日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate attendanceDate;
|
||||
|
||||
@ApiModelProperty("次数")
|
||||
private Integer num;
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
# Auto Configure
|
||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
||||
com.yida.data.attendance.fallback.RemoteAttendanceDeviceServiceFallback,\
|
||||
com.yida.data.attendance.fallback.RemoteAttendanceStrategyServiceFallback,\
|
||||
com.yida.data.attendance.fallback.RemoteAttendanceResultServiceFallback,\
|
||||
com.yida.data.attendance.fallback.RemoteUserStrategyServiceFallback
|
||||
@@ -1,86 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>attendance</artifactId>
|
||||
<groupId>com.yida.data.attendance</groupId>
|
||||
<version>2.2-RELEASE</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>attendance-biz</artifactId>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!--mqtt-->
|
||||
<dependency>
|
||||
<groupId>org.eclipse.paho</groupId>
|
||||
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
|
||||
<version>${paho.mqttv3.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yida.data.system</groupId>
|
||||
<artifactId>febs-server-system-api</artifactId>
|
||||
<version>${febs-cloud.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yida.data.user</groupId>
|
||||
<artifactId>edu-user-api</artifactId>
|
||||
<version>${febs-cloud.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yida.data.school</groupId>
|
||||
<artifactId>edu-school-api</artifactId>
|
||||
<version>${febs-cloud.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<!--通用工具-->
|
||||
<dependency>
|
||||
<groupId>com.yida.data.common</groupId>
|
||||
<artifactId>edu-common</artifactId>
|
||||
<version>${febs-cloud.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yida.data.job</groupId>
|
||||
<artifactId>febs-server-job-api</artifactId>
|
||||
<version>${febs-cloud.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yida.data.attendance</groupId>
|
||||
<artifactId>attendance-api</artifactId>
|
||||
<version>${febs-cloud.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<!--activemq-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-activemq</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yida.data.server</groupId>
|
||||
<artifactId>edu-card-server-api</artifactId>
|
||||
<version>2.2-RELEASE</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<outputDirectory>../../../febs-jar</outputDirectory>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
-29
@@ -1,29 +0,0 @@
|
||||
package com.yida.data.attendance;
|
||||
|
||||
|
||||
import cc.mrbird.febs.common.security.starter.annotation.EnableFebsCloudResourceServer;
|
||||
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.WebApplicationType;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.jms.annotation.EnableJms;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
@EnableAsync
|
||||
@EnableScheduling
|
||||
@EnableFebsCloudResourceServer
|
||||
@EnableFeignClients(basePackages = "com.yida.data")
|
||||
@MapperScan("com.yida.data.attendance.mapper")
|
||||
@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)
|
||||
@EnableJms
|
||||
public class AttendanceApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
new SpringApplicationBuilder(AttendanceApplication.class)
|
||||
.web(WebApplicationType.SERVLET)
|
||||
.run(args);
|
||||
}
|
||||
}
|
||||
-147
@@ -1,147 +0,0 @@
|
||||
package com.yida.data.attendance.configure;
|
||||
|
||||
import cc.mrbird.febs.common.redis.service.RedisService;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.lang.Snowflake;
|
||||
import cn.hutool.json.JSONArray;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRecordDTO;
|
||||
import com.yida.data.attendance.service.AttendanceRecordService;
|
||||
import com.yida.data.attendance.service.EduAttendanceDeviceService;
|
||||
import com.yida.data.attendance.service.ErrorRecordMsgService;
|
||||
import com.yida.data.common.core.entity.ErrorRecordMsg;
|
||||
import com.yida.data.common.core.entity.ReceiveMsg;
|
||||
import com.yida.data.common.core.entity.attendance.EduAttendanceDevice;
|
||||
import com.yida.data.common.core.entity.constant.CachePrefixConstant;
|
||||
import com.yida.data.common.core.entity.user.EduStaff;
|
||||
import com.yida.data.common.core.entity.user.EduStudent;
|
||||
import com.yida.data.common.core.enums.MsgChannel;
|
||||
import com.yida.data.common.core.enums.RecordTypeEnum;
|
||||
import com.yida.data.user.feign.RemoteStaffService;
|
||||
import com.yida.data.user.feign.RemoteStudentService;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
@Configuration
|
||||
public class ActiveMqConfigure {
|
||||
|
||||
private final AttendanceRecordService attendanceRecordService;
|
||||
private final RemoteStaffService remoteStaffService;
|
||||
private final RemoteStudentService remoteStudentService;
|
||||
private final RedisService redisService;
|
||||
private final ErrorRecordMsgService errorRecordMsgService;
|
||||
private final EduAttendanceDeviceService eduAttendanceDeviceService;
|
||||
|
||||
public static final String TOPIC = "mq.bfms.client.msg.topic";
|
||||
|
||||
private static final Snowflake SNOWFLAKE;
|
||||
|
||||
static {
|
||||
SNOWFLAKE = new Snowflake(1L, 1L);
|
||||
}
|
||||
|
||||
@JmsListener(destination = "mq.bfms.client.msg.topic")
|
||||
public void consumeAttendance(String text) {
|
||||
AddAttendanceRecordDTO dto = new AddAttendanceRecordDTO();
|
||||
Long schoolId = null;
|
||||
try {
|
||||
// 保存接收消息到es
|
||||
ReceiveMsg receiveMsg = new ReceiveMsg();
|
||||
receiveMsg.setTopic(TOPIC);
|
||||
receiveMsg.setMsg(text);
|
||||
receiveMsg.setId(SNOWFLAKE.nextId());
|
||||
receiveMsg.setChannel(MsgChannel.ACTIVE.getValue());
|
||||
receiveMsg.setCreateDate(LocalDateTime.now());
|
||||
redisService.lSet(CachePrefixConstant.RECEIVE_MSG, receiveMsg);
|
||||
|
||||
// 处理业务
|
||||
JSONObject json = JSONUtil.parseObj(text);
|
||||
String method = json.getStr("method");
|
||||
if ("bfms.notifyFaceInfo".equals(method)) {
|
||||
JSONObject data = json.getJSONObject("info");
|
||||
|
||||
// 设备号
|
||||
String sn = data.getStr("channelId");
|
||||
// 查询设备信息
|
||||
EduAttendanceDevice attendanceDevice = eduAttendanceDeviceService.getOne(Wrappers.lambdaQuery(new EduAttendanceDevice())
|
||||
.eq(EduAttendanceDevice::getSn, sn));
|
||||
if (Objects.isNull(attendanceDevice)) {
|
||||
log.error("设备信息不存在: {}", sn);
|
||||
return;
|
||||
}
|
||||
schoolId = attendanceDevice.getSchoolId();
|
||||
dto.setSchoolId(attendanceDevice.getSchoolId());
|
||||
JSONArray jsonArray = data.getJSONArray("similarFaces");
|
||||
if (Objects.isNull(jsonArray)) {
|
||||
return;
|
||||
}
|
||||
JSONObject personData = (JSONObject) jsonArray.get(0);
|
||||
String personId = personData.getStr("personId");
|
||||
Integer personType = personData.getInt("personTypeId");
|
||||
// DealRecordDTO dto = new DealRecordDTO();
|
||||
|
||||
String pictureUrl = data.getStr("pictureUrl");
|
||||
String[] pictureUrls = pictureUrl.split("\\|");
|
||||
if (pictureUrls.length < 2) {
|
||||
// 图片未上传 不处理该数据
|
||||
return;
|
||||
}
|
||||
dto.setPicUrl(pictureUrls[1]);
|
||||
dto.setCreateTime(LocalDateTimeUtil.of(data.getLong("beginTime") * 1000));
|
||||
dto.setDeviceSn(sn);
|
||||
Object userId = redisService.hget(CachePrefixConstant.USER_DAHUA_USER, personId);
|
||||
// 查询用户
|
||||
if (personType == 2) {
|
||||
if (userId == null) {
|
||||
EduStaff staff = remoteStaffService.getStaffByDahuaNoPermission(personId).getData();
|
||||
if (staff != null) {
|
||||
dto.setUserId(staff.getId());
|
||||
redisService.hset(CachePrefixConstant.USER_DAHUA_USER, personId, dto.getUserId());
|
||||
}
|
||||
} else {
|
||||
dto.setUserId(Long.valueOf(userId.toString()));
|
||||
}
|
||||
dto.setUserType(0);
|
||||
} else if (personType == 1) {
|
||||
if (userId == null) {
|
||||
EduStudent student = remoteStudentService.getStudentByDahuaNoPermission(personId).getData();
|
||||
if (student != null) {
|
||||
dto.setUserId(student.getId());
|
||||
redisService.hset(CachePrefixConstant.USER_DAHUA_USER, personId, dto.getUserId());
|
||||
}
|
||||
} else {
|
||||
dto.setUserId(Long.valueOf(userId.toString()));
|
||||
}
|
||||
dto.setUserType(1);
|
||||
}
|
||||
dto.setMsgChannel(MsgChannel.ACTIVE);
|
||||
if (dto.getUserId() != null) {
|
||||
log.info("大华人脸识别信息:[{}]", dto);
|
||||
attendanceRecordService.addRecord(dto);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("处理大华人脸推送错误,接收消息:[{}]", text, e);
|
||||
errorRecordMsgService.saveMsg(ErrorRecordMsg.builder()
|
||||
// .id(SNOWFLAKE.nextId())
|
||||
.createDate(LocalDateTime.now())
|
||||
.schoolId(schoolId)
|
||||
.msg(JSONUtil.toJsonStr(dto))
|
||||
.topic(TOPIC)
|
||||
.channel(MsgChannel.ACTIVE.getValue())
|
||||
.recordType(RecordTypeEnum.PANEL_MACHINE.getType())
|
||||
.build()
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
package com.yida.data.attendance.configure;
|
||||
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||
|
||||
@Configuration
|
||||
public class ThreadPollConfigure {
|
||||
|
||||
public static final String POLL_NAME = "attendance_thread_pool";
|
||||
|
||||
@Bean(POLL_NAME)
|
||||
public ThreadPoolTaskExecutor asyncThreadPoolTaskExecutor() {
|
||||
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
|
||||
executor.setCorePoolSize(5);
|
||||
executor.setMaxPoolSize(20);
|
||||
executor.setKeepAliveSeconds(30);
|
||||
executor.setThreadNamePrefix("attendance-thread");
|
||||
executor.setWaitForTasksToCompleteOnShutdown(true);
|
||||
executor.setAwaitTerminationSeconds(60);
|
||||
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
|
||||
executor.initialize();
|
||||
return executor;
|
||||
}
|
||||
}
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
package com.yida.data.attendance.constant;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Component
|
||||
@ConfigurationProperties(prefix = "febs.mqtt")
|
||||
public class MqttConstant {
|
||||
|
||||
private String url;
|
||||
private String username;
|
||||
private String password;
|
||||
}
|
||||
-175
@@ -1,175 +0,0 @@
|
||||
package com.yida.data.attendance.controller;
|
||||
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.yida.data.attendance.dto.DevicePage;
|
||||
import com.yida.data.attendance.dto.IssuedFaceDTO;
|
||||
import com.yida.data.attendance.dto.RemoveFaceDTO;
|
||||
import com.yida.data.attendance.service.EduAttendanceDeviceService;
|
||||
import com.yida.data.attendance.vo.DeviceNumberVO;
|
||||
import com.yida.data.attendance.vo.DeviceVO;
|
||||
import com.yida.data.attendance.vo.OnlineCountVO;
|
||||
import com.yida.data.common.core.annotation.ControllerLog;
|
||||
import com.yida.data.common.core.common.ModuleName;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.attendance.EduAttendanceDevice;
|
||||
import com.yida.data.common.core.entity.system.Dept;
|
||||
import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum;
|
||||
import com.yida.data.common.core.utils.FebsUtil;
|
||||
import com.yida.data.log.annotation.OperationLog;
|
||||
import com.yida.data.system.feign.RemoteDeptService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
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;
|
||||
|
||||
@Api(tags = "考勤-设备", value = "考勤")
|
||||
@RestController
|
||||
@RequestMapping("/device")
|
||||
@RequiredArgsConstructor
|
||||
public class AttendanceDeviceController {
|
||||
|
||||
private final EduAttendanceDeviceService eduAttendanceDeviceService;
|
||||
private final RemoteDeptService remoteDeptService;
|
||||
|
||||
|
||||
@ApiOperation("考勤设备列表分页查询")
|
||||
@GetMapping("/listDevicePage")
|
||||
@PreAuthorize("hasAuthority('attendance:device:view')")
|
||||
public ResultBean<DevicePage<DeviceVO>> listDevicePage(@ApiParam("学校名称") String schoolName,
|
||||
@ApiParam("设备编号或名称") String number,
|
||||
@ApiParam("进出类型,0-进门,1-出门") Integer scope,
|
||||
@ApiParam("区域类型,0-校门,1-宿舍") Integer type,
|
||||
@ApiParam("设备状态,0-在线,1-离线") Integer state,
|
||||
@ApiParam("当前页码") @RequestParam(defaultValue = "1") Integer pageNum,
|
||||
@ApiParam("页面大小") @RequestParam(defaultValue = "10") Integer pageSize
|
||||
) {
|
||||
return ResultBean.buildSuccess(eduAttendanceDeviceService.listDevicePage(new DevicePage(pageNum,
|
||||
pageSize), schoolName, number, scope, type, state, FebsUtil.getCurrentUser()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 考勤设备数量统计
|
||||
*
|
||||
* @return com.yida.data.common.core.common.ResultBean<com.yida.data.attendance.vo.DeviceNumberVO>
|
||||
* @author ZYJ
|
||||
* @date 2021/10/8 16:57
|
||||
*/
|
||||
@ApiOperation("考勤设备数量统计")
|
||||
@GetMapping("/findDeviceNumber")
|
||||
public ResultBean<DeviceNumberVO> findDeviceNumber() throws NoSuchMethodException {
|
||||
return eduAttendanceDeviceService.findDeviceNumber();
|
||||
}
|
||||
|
||||
@ApiOperation("新增、修改设备")
|
||||
@PostMapping("/saveDevice")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "新增、修改考勤设备", type = OperationLogTypeEnum.SAVE)
|
||||
@PreAuthorize("hasAuthority('attendance:device:edit')")
|
||||
public ResultBean saveDevice(@RequestBody EduAttendanceDevice device) {
|
||||
return ResultBean.buildSuccess(eduAttendanceDeviceService.saveDevice(device));
|
||||
}
|
||||
|
||||
@ApiOperation("删除考勤设备")
|
||||
@PostMapping("/delDevice")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "删除考勤设备", type = OperationLogTypeEnum.DELETE)
|
||||
@PreAuthorize("hasAuthority('attendance:device:delete')")
|
||||
public ResultBean delDevice(@RequestBody List<Long> ids) {
|
||||
eduAttendanceDeviceService.delDevice(ids);
|
||||
// 更新缓存
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("根据学校和区域查询设备列表")
|
||||
@GetMapping("/listDeviceBySchool")
|
||||
public ResultBean<List<EduAttendanceDevice>> listDeviceBySchool(
|
||||
@ApiParam("学校id") Long schoolId,
|
||||
@ApiParam("区域类型,0-进门,1-出门") @RequestParam(required = false) Integer scope,
|
||||
@ApiParam("类型,0-校门,1-宿舍") @RequestParam(required = false) Integer type) {
|
||||
LambdaQueryWrapper<EduAttendanceDevice> condition = Wrappers.lambdaQuery(new EduAttendanceDevice())
|
||||
.eq(EduAttendanceDevice::getSchoolId, schoolId);
|
||||
if (scope != null) {
|
||||
condition.eq(EduAttendanceDevice::getZoneScope, scope);
|
||||
}
|
||||
if (type != null) {
|
||||
condition.eq(EduAttendanceDevice::getType, type);
|
||||
}
|
||||
return ResultBean.buildSuccess(eduAttendanceDeviceService.list(condition));
|
||||
}
|
||||
|
||||
@ApiOperation("根据id查询设备列表")
|
||||
@GetMapping("/listDeviceById")
|
||||
ResultBean<List<EduAttendanceDevice>> listDeviceById(@RequestParam("ids") Long[] ids) {
|
||||
return ResultBean.buildSuccess(
|
||||
ArrayUtil.isNotEmpty(ids) ? eduAttendanceDeviceService.listByIds(Arrays.asList(ids))
|
||||
: Collections.EMPTY_LIST);
|
||||
}
|
||||
|
||||
@ApiOperation("根据id开门")
|
||||
@GetMapping("/openDoor")
|
||||
public ResultBean openDoor(@ApiParam("设备id") @RequestParam String eduAttendanceDevice) {
|
||||
eduAttendanceDeviceService.openDoor(eduAttendanceDevice);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("根据id设置时间")
|
||||
@GetMapping("/setSysTime")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "根据id设置设备时间", type = OperationLogTypeEnum.UPDATE)
|
||||
public ResultBean setSysTime(@ApiParam("设备id") @RequestParam String id) {
|
||||
eduAttendanceDeviceService.setSysTime(id);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("批量设置时间")
|
||||
@PostMapping("/setAllTime")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "批量设置设备时间", type = OperationLogTypeEnum.UPDATE)
|
||||
public ResultBean setAllTime(@RequestBody List<String> list) {
|
||||
|
||||
eduAttendanceDeviceService.setAllTime(list);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("批量开门")
|
||||
@PostMapping("/openAllDoor")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "批量开门设备", type = OperationLogTypeEnum.UPDATE)
|
||||
public ResultBean openAllDoor(@RequestBody List<String> list) {
|
||||
|
||||
eduAttendanceDeviceService.openAllDoor(list);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("下发人脸(下发设备需为同一厂商设备)")
|
||||
@PostMapping("/issuedFace")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "下发人脸", type = OperationLogTypeEnum.SELECT)
|
||||
public ResultBean issuedFace(@RequestBody IssuedFaceDTO dto) {
|
||||
eduAttendanceDeviceService.issuedFace(dto);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("删除设备中的人脸")
|
||||
@PostMapping("/removeFace")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "删除设备中的人脸", type = OperationLogTypeEnum.DELETE)
|
||||
public ResultBean removeFace(@RequestBody RemoveFaceDTO dto) {
|
||||
eduAttendanceDeviceService.removeFace(dto);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("获取面板机状态分布")
|
||||
@GetMapping("/getOnlineDistrib")
|
||||
public ResultBean<OnlineCountVO> getOnlineDistrib() {
|
||||
List<Long> schoolIds = remoteDeptService.getSchoolByArea(null, null).getData().stream().map(Dept::getDeptId)
|
||||
.collect(Collectors.toList());
|
||||
return ResultBean.buildSuccess(eduAttendanceDeviceService.getOnlineDistrib(schoolIds));
|
||||
}
|
||||
}
|
||||
-122
@@ -1,122 +0,0 @@
|
||||
package com.yida.data.attendance.controller;
|
||||
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yida.data.attendance.service.EduAttendanceDeviceGroupService;
|
||||
import com.yida.data.attendance.service.EduDeviceGroupService;
|
||||
import com.yida.data.attendance.vo.DeviceOrDeviceGroupVO;
|
||||
import com.yida.data.common.core.common.ModuleName;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.CurrentUser;
|
||||
import com.yida.data.common.core.entity.attendance.EduAttendanceDevice;
|
||||
import com.yida.data.common.core.entity.attendance.EduAttendanceDeviceGroup;
|
||||
import com.yida.data.common.core.entity.attendance.EduDeviceGroup;
|
||||
import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum;
|
||||
import com.yida.data.common.core.utils.FebsUtil;
|
||||
import com.yida.data.log.annotation.OperationLog;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
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;
|
||||
|
||||
/**
|
||||
* 设备分组表 Controller
|
||||
*
|
||||
* @author zhanghaijun
|
||||
* @date 2021-06-16 15:27:11
|
||||
*/
|
||||
|
||||
@Api(tags = "考勤-设备分组")
|
||||
@Slf4j
|
||||
@Validated
|
||||
@RestController
|
||||
@RequestMapping("/deviceGroup")
|
||||
@RequiredArgsConstructor
|
||||
public class AttendanceDeviceGroupController {
|
||||
|
||||
private final EduAttendanceDeviceGroupService eduAttendanceDeviceGroupService;
|
||||
private final EduDeviceGroupService eduDeviceGroupService;
|
||||
|
||||
|
||||
@ApiOperation("根据name分页查询分组")
|
||||
@GetMapping("/listDevicePage")
|
||||
public ResultBean<IPage<EduAttendanceDeviceGroup>> listDeviceGroupPage(@ApiParam("分组名称") @RequestParam String name,
|
||||
@ApiParam("当前页码") @RequestParam(defaultValue = "1") Long current,
|
||||
@ApiParam("页面大小") @RequestParam(defaultValue = "10") Long size,
|
||||
@ApiParam("学校id") @RequestParam(required = false) Long schoolId) throws NoSuchMethodException {
|
||||
|
||||
return ResultBean.buildSuccess(eduAttendanceDeviceGroupService.selectGroup(name, current, size, schoolId));
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("全部查询")
|
||||
@GetMapping("/listDevice")
|
||||
public ResultBean<List<EduAttendanceDeviceGroup>> listDeviceGroup() {
|
||||
|
||||
return ResultBean.buildSuccess(eduAttendanceDeviceGroupService.selectGroupAll());
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("新增或修改分组")
|
||||
@PostMapping("/insertGroup")
|
||||
@OperationLog(module = ModuleName.DEVICE, methods = "新增分组", type = OperationLogTypeEnum.SAVE)
|
||||
public ResultBean insertGroup(@ApiParam("分组详细") @RequestBody EduAttendanceDeviceGroup eduAttendanceDeviceGroup) {
|
||||
|
||||
eduAttendanceDeviceGroupService.saveOrUpdate(eduAttendanceDeviceGroup);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("删除分组")
|
||||
@GetMapping("/delGroup")
|
||||
@OperationLog(module = ModuleName.DEVICE, methods = "删除分组", type = OperationLogTypeEnum.DELETE)
|
||||
public ResultBean delGroup(@RequestParam Long id) {
|
||||
eduAttendanceDeviceGroupService.delGroup(id);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("查询设备与设备组列表")
|
||||
@GetMapping("/listDeviceAndDeviceGroup")
|
||||
public ResultBean<List<DeviceOrDeviceGroupVO>> listDeviceAndDevice(String keyword) {
|
||||
CurrentUser currentUser = FebsUtil.getCurrentUser();
|
||||
Long schoolId = null;
|
||||
if (currentUser.getDeptType() == 0) {
|
||||
schoolId = currentUser.getDeptId();
|
||||
}
|
||||
return ResultBean.buildSuccess(eduAttendanceDeviceGroupService.listDeviceAndDevice(keyword, schoolId));
|
||||
}
|
||||
|
||||
@ApiOperation("根据设备组查询设备")
|
||||
@GetMapping("/listDeviceByGroup")
|
||||
public ResultBean<List<EduAttendanceDevice>> listDeviceByGroup(Long[] groupIds) {
|
||||
return ResultBean.buildSuccess(eduAttendanceDeviceGroupService.listDeviceByGroup(Arrays.asList(groupIds)));
|
||||
}
|
||||
|
||||
@ApiOperation("查询设备组列表")
|
||||
@GetMapping("/listDeviceGroupById")
|
||||
public ResultBean<List<EduAttendanceDeviceGroup>> listDeviceGroupById(Long[] ids) {
|
||||
return ResultBean.buildSuccess(ArrayUtil.isNotEmpty(ids) ? eduAttendanceDeviceGroupService.listByIds(Arrays.asList(ids)) :
|
||||
Collections.EMPTY_LIST);
|
||||
}
|
||||
|
||||
@ApiOperation("批量分组")
|
||||
@PostMapping("/batchGroup")
|
||||
@OperationLog(module = ModuleName.DEVICE, methods = "批量分组", type = OperationLogTypeEnum.UPDATE)
|
||||
public ResultBean batchGroup(@ApiParam("批量分组") @RequestBody List<EduDeviceGroup> list) {
|
||||
eduDeviceGroupService.insertGroup(list);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
}
|
||||
-96
@@ -1,96 +0,0 @@
|
||||
package com.yida.data.attendance.controller;
|
||||
|
||||
import cc.mrbird.febs.common.redis.service.RedisService;
|
||||
import cn.hutool.core.lang.UUID;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRecordDTO;
|
||||
import com.yida.data.attendance.dto.AttendanceCountPageDTO;
|
||||
import com.yida.data.attendance.dto.ListErrorRecordDTO;
|
||||
import com.yida.data.attendance.dto.PageAttendanceRecordDTO;
|
||||
import com.yida.data.attendance.service.AttendanceRecordService;
|
||||
import com.yida.data.attendance.service.ErrorRecordMsgService;
|
||||
import com.yida.data.attendance.vo.DownLoadAttendanceResultVO;
|
||||
import com.yida.data.common.core.common.ModuleName;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.ErrorRecordMsg;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceRecord;
|
||||
import com.yida.data.common.core.entity.constant.CachePrefixConstant;
|
||||
import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum;
|
||||
import com.yida.data.log.annotation.OperationLog;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 进出记录 Controller
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Slf4j
|
||||
@Validated
|
||||
@RestController
|
||||
@RequestMapping("/attendanceRecord")
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = "考勤-记录", value = "考勤记录")
|
||||
public class AttendanceRecordController {
|
||||
|
||||
private final ErrorRecordMsgService errorRecordMsgService;
|
||||
private final AttendanceRecordService attendanceRecordService;
|
||||
private final RedisService redisService;
|
||||
|
||||
@ApiOperation("增加考勤记录")
|
||||
@PostMapping("/saveRecord")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "增加考勤记录", type = OperationLogTypeEnum.INSERT)
|
||||
public ResultBean addRecord(@RequestBody AddAttendanceRecordDTO dto) {
|
||||
attendanceRecordService.addRecord(dto);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("分页查询通讯记录")
|
||||
@PostMapping("/pageListRecord")
|
||||
public ResultBean<IPage<AttendanceRecord>> pageListRecord(@RequestBody PageAttendanceRecordDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceRecordService.listRecordPage(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("分页查询通行记录错误记录")
|
||||
@PostMapping("/listErrorRecord")
|
||||
public ResultBean<Page<ErrorRecordMsg>> listErrorRecord(@RequestBody ListErrorRecordDTO dto) {
|
||||
return ResultBean.buildSuccess(errorRecordMsgService.listErrorRecord(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("批量删除通行记录错误记录")
|
||||
@PostMapping("/batchDeleteErrorRecord")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "批量删除通行记录错误记录", type = OperationLogTypeEnum.DELETE)
|
||||
public ResultBean<String> batchDeleteErrorRecord(@RequestBody String[] recordIds) {
|
||||
errorRecordMsgService.batchDeleteErrorRecord(recordIds);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("通行记录导出")
|
||||
@PostMapping("/downloadAttendanceRecord")
|
||||
public ResultBean<DownLoadAttendanceResultVO> downloadAttendanceRecord(@RequestBody PageAttendanceRecordDTO dto) {
|
||||
String uuid = UUID.fastUUID().toString();
|
||||
attendanceRecordService.downloadAttendanceRecord(dto, uuid);
|
||||
return ResultBean.buildSuccess(DownLoadAttendanceResultVO.builder()
|
||||
.key(uuid)
|
||||
.finish(0)
|
||||
.totalNum(100)
|
||||
.currentNum(1).build());
|
||||
}
|
||||
|
||||
@ApiOperation("获取通行记录导出进度")
|
||||
@GetMapping("/getDownloadAttendanceRecordProcess")
|
||||
public ResultBean<DownLoadAttendanceResultVO> getDownloadAttendanceRecordProcess(String key) {
|
||||
return ResultBean.buildSuccess(
|
||||
(DownLoadAttendanceResultVO) redisService.hget(CachePrefixConstant.ATTENDANCE_RECORD_DOWNLOAD, key));
|
||||
}
|
||||
}
|
||||
-51
@@ -1,51 +0,0 @@
|
||||
package com.yida.data.attendance.controller;
|
||||
|
||||
import com.yida.data.attendance.dto.AddAttendanceReportStrategyDTO;
|
||||
import com.yida.data.attendance.service.AttendanceReportStrategyService;
|
||||
import com.yida.data.common.core.common.ModuleName;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportStrategy;
|
||||
import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum;
|
||||
import com.yida.data.log.annotation.OperationLog;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 进出记录 Controller
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Slf4j
|
||||
@Validated
|
||||
@RestController
|
||||
@RequestMapping("/attendanceReportStrategy")
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = "考勤-推送策略", value = "推送策略")
|
||||
public class AttendanceReportStrategyController {
|
||||
|
||||
private final AttendanceReportStrategyService attendanceReportStrategyService;
|
||||
|
||||
|
||||
@ApiOperation("获取推送策略详情")
|
||||
@GetMapping("/get")
|
||||
public ResultBean<List<AttendanceReportStrategy>> getStrategy() {
|
||||
return ResultBean.buildSuccess(attendanceReportStrategyService.getList());
|
||||
}
|
||||
|
||||
@ApiOperation("新增/编辑推送策略")
|
||||
@PostMapping("/save")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "新增/编辑推送策略", type = OperationLogTypeEnum.SAVE)
|
||||
public ResultBean saveStrategy(@RequestBody List<AddAttendanceReportStrategyDTO> strategyList) {
|
||||
attendanceReportStrategyService.saveStrategy(strategyList);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
}
|
||||
-119
@@ -1,119 +0,0 @@
|
||||
package com.yida.data.attendance.controller;
|
||||
|
||||
import cc.mrbird.febs.common.redis.service.RedisService;
|
||||
import cn.hutool.core.lang.UUID;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yida.data.attendance.dto.AttendanceCountPageDTO;
|
||||
import com.yida.data.attendance.dto.AttendanceDayReportDTO;
|
||||
import com.yida.data.attendance.service.AttendanceResultService;
|
||||
import com.yida.data.attendance.vo.AttdanceResultDetailVO;
|
||||
import com.yida.data.attendance.vo.AttdanceResultTotalVO;
|
||||
import com.yida.data.attendance.vo.AttdanceResultVO;
|
||||
import com.yida.data.attendance.vo.DownLoadAttendanceResultVO;
|
||||
import com.yida.data.attendance.vo.StaRecordCountVO;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.constant.CachePrefixConstant;
|
||||
import com.yida.data.common.core.entity.system.Dept;
|
||||
import com.yida.data.system.feign.RemoteDeptService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 考勤-考勤结果 Controller
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/attendanceResult")
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = "考勤-结果", value = "考勤结果")
|
||||
public class AttendanceResultController {
|
||||
|
||||
private final AttendanceResultService attendanceResultService;
|
||||
|
||||
private final RemoteDeptService remoteDeptService;
|
||||
|
||||
private final RedisService redisService;
|
||||
|
||||
@ApiOperation("考勤-概况统计")
|
||||
@PostMapping("/overview/sta")
|
||||
public ResultBean<IPage<AttdanceResultVO>> listResultPage(@RequestBody @Validated AttendanceCountPageDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceResultService.listResultPage(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("考勤-概况统计")
|
||||
@PostMapping("/overview/total")
|
||||
public ResultBean<AttdanceResultTotalVO> total(@RequestBody @Validated AttendanceCountPageDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceResultService.total(dto));
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("考勤-明细")
|
||||
@PostMapping("/detail")
|
||||
public ResultBean<IPage<AttdanceResultDetailVO>> listResultDetail(@RequestBody AttendanceCountPageDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceResultService.listResultDetailPage(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("dashboard-考勤概况")
|
||||
@GetMapping("/staRecordCount")
|
||||
public ResultBean<StaRecordCountVO> staRecordCount(@ApiParam("yyyy-MM-dd") String startDate,
|
||||
@ApiParam("yyyy-MM-dd") String endDate) {
|
||||
List<Long> schoolIds = remoteDeptService.getSchoolByArea(null, null).getData().stream().map(Dept::getDeptId)
|
||||
.collect(Collectors.toList());
|
||||
return ResultBean.buildSuccess(
|
||||
attendanceResultService.staRecordCount(LocalDate.parse(startDate), LocalDate.parse(endDate), schoolIds));
|
||||
}
|
||||
|
||||
@ApiOperation("考勤结果导出")
|
||||
@PostMapping("/downloadAttendanceResult")
|
||||
public ResultBean<DownLoadAttendanceResultVO> downLocalAttendanceResult(@RequestBody AttendanceCountPageDTO dto) {
|
||||
String uuid = UUID.fastUUID().toString();
|
||||
attendanceResultService.downLocalAttendanceResult(dto, uuid);
|
||||
return ResultBean.buildSuccess(DownLoadAttendanceResultVO.builder()
|
||||
.key(uuid)
|
||||
.finish(0)
|
||||
.totalNum(100)
|
||||
.currentNum(0).build());
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("获取考勤结果导出进度")
|
||||
@GetMapping("/getDownloadAttendanceResultProcess")
|
||||
public ResultBean<DownLoadAttendanceResultVO> getDownLocalAttendanceResultProcess(String key) {
|
||||
return ResultBean.buildSuccess(
|
||||
(DownLoadAttendanceResultVO) redisService.hget(CachePrefixConstant.STUDENT_DORM_ATTENDANCE_RESULT_DOWNLOAD, key));
|
||||
}
|
||||
|
||||
@ApiOperation("考勤日报导出")
|
||||
@PostMapping("/downloadAttendanceDayReport")
|
||||
public ResultBean<DownLoadAttendanceResultVO> downloadAttendanceDayReport(@RequestBody AttendanceDayReportDTO dto) {
|
||||
String uuid = UUID.fastUUID().toString();
|
||||
attendanceResultService.downLocalAttendanceDayReport(dto, uuid);
|
||||
return ResultBean.buildSuccess(DownLoadAttendanceResultVO.builder()
|
||||
.key(uuid)
|
||||
.finish(0)
|
||||
.totalNum(100)
|
||||
.currentNum(0).build());
|
||||
}
|
||||
|
||||
@ApiOperation("获取考勤日报导出进度")
|
||||
@GetMapping("/getDownloadAttendanceDayReportProcess")
|
||||
public ResultBean<DownLoadAttendanceResultVO> getDownloadAttendanceDayReportProcess(String key) {
|
||||
return ResultBean.buildSuccess(
|
||||
(DownLoadAttendanceResultVO) redisService.hget(CachePrefixConstant.ATTENDANCE_DAY_REPORT_DOWNLOAD, key));
|
||||
}
|
||||
|
||||
}
|
||||
-163
@@ -1,163 +0,0 @@
|
||||
package com.yida.data.attendance.controller;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yida.data.attendance.dto.AddAttendanceRuleDTO;
|
||||
import com.yida.data.attendance.dto.AttendanceRuleAdminUserAddDTO;
|
||||
import com.yida.data.attendance.dto.AttendanceRuleAdminUserPageDTO;
|
||||
import com.yida.data.attendance.dto.AttendanceRuleUserAddDTO;
|
||||
import com.yida.data.attendance.dto.AttendanceRuleUserPageDTO;
|
||||
import com.yida.data.attendance.dto.PageAttendanceRuleDTO;
|
||||
import com.yida.data.attendance.dto.UpdateAttendanceRuleStatusDTO;
|
||||
import com.yida.data.attendance.service.AttendanceRuleService;
|
||||
import com.yida.data.attendance.service.AttendanceRuleWifiService;
|
||||
import com.yida.data.attendance.vo.AttendanceRuleAdminUserVO;
|
||||
import com.yida.data.attendance.vo.AttendanceRuleUserVO;
|
||||
import com.yida.data.attendance.vo.AttendanceRuleVO;
|
||||
import com.yida.data.common.core.common.ModuleName;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.common.ResultMsgType;
|
||||
import com.yida.data.common.core.entity.CurrentUser;
|
||||
import com.yida.data.common.core.entity.constant.FebsConstant;
|
||||
import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum;
|
||||
import com.yida.data.common.core.utils.FebsUtil;
|
||||
import com.yida.data.common.core.utils.FileUtil;
|
||||
import com.yida.data.log.annotation.OperationLog;
|
||||
import com.yida.data.school.vo.smart.ImportRosterDataVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
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 org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* 教职工考勤规则 Controller
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("attendanceRule")
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = "考勤-规则", value = "考勤规则")
|
||||
public class AttendanceRuleController {
|
||||
|
||||
private final AttendanceRuleService attendanceRuleService;
|
||||
|
||||
private final AttendanceRuleWifiService attendanceRuleWifiService;
|
||||
|
||||
@ApiOperation("查询规则列表")
|
||||
@PostMapping("/listRule")
|
||||
public ResultBean<IPage<AttendanceRuleVO>> listRule(@RequestBody PageAttendanceRuleDTO dto) {
|
||||
dto.setSchoolId(FebsUtil.getTopDeptId());
|
||||
return ResultBean
|
||||
.buildSuccess(attendanceRuleService.listRulePage(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("新增、修改规则")
|
||||
@PostMapping("/saveRule")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "新增、修改考勤规则", type = OperationLogTypeEnum.SAVE)
|
||||
public ResultBean saveRule(@RequestBody @Validated AddAttendanceRuleDTO dto) {
|
||||
attendanceRuleService.addAttendanceRule(dto);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("获取规则")
|
||||
@GetMapping("/getRule")
|
||||
public ResultBean<AttendanceRuleVO> getRule(Long ruleId) {
|
||||
return ResultBean
|
||||
.buildSuccess(attendanceRuleService.getRule(ruleId));
|
||||
}
|
||||
|
||||
@ApiOperation("删除规则")
|
||||
@PostMapping("/delRule")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "删除考勤规则", type = OperationLogTypeEnum.DELETE)
|
||||
public ResultBean delRule(@RequestBody List<Long> ruleIds) {
|
||||
attendanceRuleService.deleteRule(ruleIds);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("更改规则状态")
|
||||
@PostMapping("/updateRuleStatus")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "更改规则状态", type = OperationLogTypeEnum.UPDATE)
|
||||
public ResultBean updateRuleStatus(@RequestBody UpdateAttendanceRuleStatusDTO dto) {
|
||||
attendanceRuleService.updateRuleStatus(dto);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("导入BSSID")
|
||||
@PostMapping(value = "/importBssid", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||
public ResultBean<ImportRosterDataVO> importBssid(
|
||||
@ApiParam(value = "导入的excel文件", required = true) @RequestParam("file") MultipartFile file,
|
||||
@ApiParam(value = "规则ID", required = true) @RequestParam("ruleId") Long ruleId) {
|
||||
// 验证文件类型
|
||||
if (!FileUtil.checkMultipartFile(file, FebsConstant.EXCEL_FILE_TYPE)) {
|
||||
return ResultBean.buildError(ResultMsgType.FILE_TYPE_ERROR.getValue());
|
||||
}
|
||||
String uuid = StrUtil.uuid();
|
||||
// 当前登录用户信息
|
||||
CurrentUser currentUser = FebsUtil.getCurrentUser();
|
||||
String fileUrl = FileUtil.uploadMultipartFile(file);
|
||||
// 导入花名册数据
|
||||
attendanceRuleWifiService.ImportBssid(fileUrl, ruleId);
|
||||
return ResultBean
|
||||
.buildSuccess(ImportRosterDataVO.builder().percent(0).finish(0).key(uuid).build());
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("查询打卡人员列表")
|
||||
@PostMapping("/listRuleAttendanceUser")
|
||||
public ResultBean<IPage<AttendanceRuleUserVO>> listRuleAttendanceUser(@RequestBody AttendanceRuleUserPageDTO dto) {
|
||||
dto.setSchoolId(FebsUtil.getTopDeptId());
|
||||
return ResultBean
|
||||
.buildSuccess(attendanceRuleService.listRuleAttendanceUser(dto));
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("批量删除打卡人员")
|
||||
@PostMapping("/deleteRuleAttendanceUser")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "批量删除打卡人员", type = OperationLogTypeEnum.DELETE)
|
||||
public ResultBean deleteRuleAttendanceUser(@RequestBody List<Long> ids) {
|
||||
attendanceRuleService.deleteRuleAttendanceUser(ids);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("增加打卡人员")
|
||||
@PostMapping("/addRuleAttendanceUser")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "增加打卡人员", type = OperationLogTypeEnum.INSERT)
|
||||
public ResultBean addRuleAttendanceUser(@RequestBody AttendanceRuleUserAddDTO dto) {
|
||||
attendanceRuleService.addRuleAttendanceUser(dto);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("查询规则管理员列表")
|
||||
@PostMapping("/listRuleAttendanceAdminUser")
|
||||
public ResultBean<IPage<AttendanceRuleAdminUserVO>> listRuleAttendanceUser(@RequestBody AttendanceRuleAdminUserPageDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceRuleService.listRuleAttendanceAdminUser(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("批量删除管理员人员")
|
||||
@PostMapping("/deleteRuleAttendanceAdminUser")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "批量删除管理员人员", type = OperationLogTypeEnum.DELETE)
|
||||
public ResultBean deleteRuleAttendanceAdminUser(@RequestBody List<Long> ids) {
|
||||
attendanceRuleService.deleteRuleAttendanceAdminUser(ids);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("增加管理员人员")
|
||||
@PostMapping("/addRuleAttendanceAdminUser")
|
||||
public ResultBean addRuleAttendanceAdminUser(@RequestBody AttendanceRuleAdminUserAddDTO dto) {
|
||||
attendanceRuleService.addAttendanceAdminUser(dto);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
}
|
||||
-71
@@ -1,71 +0,0 @@
|
||||
package com.yida.data.attendance.controller;
|
||||
|
||||
import com.yida.data.attendance.dto.AddLeaveRequestStrategyDTO;
|
||||
import com.yida.data.attendance.service.EduAttendanceStrategyService;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.user.EduFaceGroupStrategy;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 设备策略Controller
|
||||
* 未鉴权
|
||||
*
|
||||
* @author ZYJ
|
||||
* @date 2022-12-13 11:04:39
|
||||
*/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/in/deviceStrategy")
|
||||
@Api(tags = "考勤-设备-策略", value = "考勤")
|
||||
public class EduAttendanceStrategyController {
|
||||
|
||||
private final EduAttendanceStrategyService eduAttendanceStrategyService;
|
||||
|
||||
@PostMapping("saveStrategyAndUser")
|
||||
@ApiOperation("保存策略并绑定人员信息")
|
||||
public ResultBean<String> saveStrategyAndUser(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy) {
|
||||
eduAttendanceStrategyService.saveStrategyAndUser(eduFaceGroupStrategy);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@PostMapping("deleteStrategy")
|
||||
@ApiOperation("删除策略")
|
||||
public ResultBean<String> deleteStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy) {
|
||||
eduAttendanceStrategyService.deleteStrategy(eduFaceGroupStrategy);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@PostMapping("bindUserStrategy")
|
||||
@ApiOperation("绑定对应的人员-策略信息")
|
||||
public ResultBean<String> bindUserStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy) {
|
||||
eduAttendanceStrategyService.bindUserStrategy(eduFaceGroupStrategy);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@PostMapping("unBindUserStrategy")
|
||||
@ApiOperation("解绑对应的人员-策略信息")
|
||||
public ResultBean<String> unBindUserStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy) {
|
||||
eduAttendanceStrategyService.unBindUserStrategy(eduFaceGroupStrategy);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@PostMapping("deleteAndSaveStrategy")
|
||||
@ApiOperation("删除并保存策略(包含人员信息)")
|
||||
public ResultBean<String> deleteAndSaveStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy) {
|
||||
eduAttendanceStrategyService.deleteAndSaveStrategy(eduFaceGroupStrategy);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@PostMapping("addLeaveRequestStrategy")
|
||||
@ApiOperation("添加请假类型短策略")
|
||||
public ResultBean<String> addLeaveRequestStrategy(@RequestBody AddLeaveRequestStrategyDTO dto) {
|
||||
eduAttendanceStrategyService.addLeaveRequestStrategy(dto);
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
}
|
||||
-38
@@ -1,38 +0,0 @@
|
||||
package com.yida.data.attendance.controller.H5;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yida.data.attendance.dto.PageAttendanceRecordDTO;
|
||||
import com.yida.data.attendance.service.AttendanceRecordService;
|
||||
import com.yida.data.common.core.annotation.ControllerLog;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceRecord;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 教职工考勤规则 Controller
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("H5/attendanceRecord")
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = "移动端-打卡记录", value = "移动端-打卡记录")
|
||||
public class H5AttendanceRecordController {
|
||||
|
||||
private final AttendanceRecordService attendanceRecordService;
|
||||
|
||||
@ApiOperation("分页查看打卡记录")
|
||||
@PostMapping("/listRecord")
|
||||
public ResultBean<IPage<AttendanceRecord>> listRule(@RequestBody PageAttendanceRecordDTO dto) {
|
||||
return ResultBean
|
||||
.buildSuccess(attendanceRecordService.listRecordPage(dto));
|
||||
}
|
||||
}
|
||||
-154
@@ -1,154 +0,0 @@
|
||||
package com.yida.data.attendance.controller.H5;
|
||||
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yida.data.attendance.dto.AttendanceFaceMatchDTO;
|
||||
import com.yida.data.attendance.dto.AttendanceResultByDayDTO;
|
||||
import com.yida.data.attendance.dto.AttendanceResultByStartAndEndTimeDTO;
|
||||
import com.yida.data.attendance.dto.AttendanceStatusByMonthDTO;
|
||||
import com.yida.data.attendance.dto.AttendanceUserCheckInDTO;
|
||||
import com.yida.data.attendance.dto.H5AttendanceRuleWifiDTO;
|
||||
import com.yida.data.attendance.dto.ManageListUserDTO;
|
||||
import com.yida.data.attendance.service.AttendanceCheckInService;
|
||||
import com.yida.data.attendance.service.AttendanceResultService;
|
||||
import com.yida.data.attendance.service.AttendanceRuleService;
|
||||
import com.yida.data.attendance.vo.AttendanceFaceMatchVO;
|
||||
import com.yida.data.attendance.vo.AttendanceRuleVO;
|
||||
import com.yida.data.attendance.vo.AttendanceStatusByMonthVO;
|
||||
import com.yida.data.attendance.vo.AttendanceUserCheckInVO;
|
||||
import com.yida.data.attendance.vo.AttendanceWifiVO;
|
||||
import com.yida.data.attendance.vo.DateStatusVO;
|
||||
import com.yida.data.attendance.vo.DayReportDataVO;
|
||||
import com.yida.data.attendance.vo.ManageListUserAttendanceDetailVO;
|
||||
import com.yida.data.attendance.vo.ManageListUserVO;
|
||||
import com.yida.data.attendance.vo.StaffIdentityVO;
|
||||
import com.yida.data.attendance.vo.UserAttendanceResultByDayVO;
|
||||
import com.yida.data.attendance.vo.UserAttendanceResultByTimeSlotVO;
|
||||
import com.yida.data.common.core.annotation.ControllerLog;
|
||||
import com.yida.data.common.core.common.ModuleName;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.constant.CachePrefixConstant;
|
||||
import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum;
|
||||
import com.yida.data.log.annotation.OperationLog;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
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;
|
||||
|
||||
/**
|
||||
* 教职工考勤规则 Controller
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("H5/attendanceRule")
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = "移动端-考勤-打卡", value = "移动端-考勤-打卡")
|
||||
public class H5AttendanceRuleController {
|
||||
|
||||
private final AttendanceRuleService attendanceRuleService;
|
||||
private final AttendanceResultService attendanceResultService;
|
||||
private final AttendanceCheckInService attendanceCheckInService;
|
||||
|
||||
@ApiOperation("查询用户当前时间的打卡规则")
|
||||
@PostMapping("/findRuleByUserAndDate")
|
||||
public ResultBean<AttendanceWifiVO> findRuleByUserAndDate(@RequestBody H5AttendanceRuleWifiDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceCheckInService.findByUserIdAndDateTime(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("签到打卡")
|
||||
@PostMapping("/userCheckIn")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "签到打卡", type = OperationLogTypeEnum.INSERT)
|
||||
public ResultBean<AttendanceUserCheckInVO> userCheckIn(@RequestBody AttendanceUserCheckInDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceCheckInService.userCheckIn(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("签到人脸比对")
|
||||
@PostMapping("/rosterFaceMatch")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "签到人脸比对", type = OperationLogTypeEnum.SELECT)
|
||||
public ResultBean<AttendanceFaceMatchVO> rosterFaceMatch(@RequestBody AttendanceFaceMatchDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceRuleService.AttendanceFaceMatch(dto));
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("家长端/教师我的考勤-获取当前月份用户考勤状态汇总")
|
||||
@PostMapping("/getUserAttendanceStatusByMonth")
|
||||
public ResultBean<List<DateStatusVO>> getUserAttendanceStatusByMonth(
|
||||
@Validated @RequestBody AttendanceStatusByMonthDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceResultService.getUserAttendanceStatusByMonth(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("家长端/教师我的考勤-获取某日用户考勤结果")
|
||||
@PostMapping("/getUserAttendanceResultByDay")
|
||||
public ResultBean<List<UserAttendanceResultByDayVO>> getUserAttendanceRecordByDay(
|
||||
@Validated @RequestBody AttendanceResultByDayDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceResultService.getUserAttendanceResultByDay(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("家长端/教师我的考勤(周和月)-获取某时间段内用户考勤结果统计")
|
||||
@PostMapping("/getUserAttendanceResultByTimeSlot")
|
||||
public ResultBean<UserAttendanceResultByTimeSlotVO> getUserAttendanceResultByTimeSlot(
|
||||
@Validated @RequestBody AttendanceResultByStartAndEndTimeDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceResultService.getUserAttendanceResultByTimeSlot(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("教师端-管理人员考勤状态-日历显示")
|
||||
@PostMapping("/findTotalUserStatus")
|
||||
public ResultBean<List<DateStatusVO>> findTotalUserStatus(
|
||||
@Validated @RequestBody ManageListUserDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceResultService.findTotalUserStatus(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("教师端-管理人员考勤统计")
|
||||
@PostMapping("/findManageListUserVO")
|
||||
public ResultBean<List<ManageListUserVO>> findManageListUserVO(
|
||||
@Validated @RequestBody ManageListUserDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceResultService.findManageListUserVO(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("教师端-查看明细")
|
||||
@PostMapping("/findManageListUserDetailVO")
|
||||
public ResultBean<JSONObject> findManageListUserDetailVO(
|
||||
@Validated @RequestBody ManageListUserDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceResultService.findManageListUserDetailVO(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("教师端-用户管理的家校部门树")
|
||||
@GetMapping("/findManageUserDeptTree")
|
||||
@Cacheable(value = CachePrefixConstant.ATTENDANCE_USER_MANAGE_TREE, key = "#userId+''+#searchUserType")
|
||||
public ResultBean<List> findManageUserDeptTree(@RequestParam Long userId, @RequestParam Integer searchUserType) {
|
||||
return ResultBean.buildSuccess(attendanceResultService.findManageUserDeptTree(userId, searchUserType));
|
||||
}
|
||||
|
||||
@ApiOperation("教师端-职工身份")
|
||||
@GetMapping("/findStaffIdentity")
|
||||
@Cacheable(value = CachePrefixConstant.ATTENDANCE_STAFF_IDENTITY, key = "#userId")
|
||||
public ResultBean<StaffIdentityVO> findStaffIdentity(@RequestParam Long userId) {
|
||||
return ResultBean.buildSuccess(attendanceResultService.findStaffIdentity(userId));
|
||||
}
|
||||
|
||||
@ApiOperation("教师端-查询用户管理规则")
|
||||
@GetMapping("/findUserManageRuleList")
|
||||
@Cacheable(value = CachePrefixConstant.ATTENDANCE_STAFF_MANAGE_RULE, key = "#userId + '' + #userType")
|
||||
public ResultBean<List<AttendanceRuleVO>> findUserManageRuleList(@RequestParam Long userId, @RequestParam Integer userType) {
|
||||
return ResultBean.buildSuccess(attendanceRuleService.findUserManageRuleList(userId, userType));
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("教师端-获取日报详情")
|
||||
@GetMapping("/getDayReport")
|
||||
public ResultBean<List<DayReportDataVO>> getDayReport(@RequestParam Long staffId, @RequestParam Integer searchUserType,
|
||||
@RequestParam Long ruleId, @RequestParam String attendanceDateStr) {
|
||||
return ResultBean.buildSuccess(attendanceRuleService.getDayReport(staffId, searchUserType, ruleId, attendanceDateStr));
|
||||
}
|
||||
}
|
||||
-89
@@ -1,89 +0,0 @@
|
||||
package com.yida.data.attendance.controller.in;
|
||||
|
||||
import com.yida.data.attendance.dto.DayReportDataDTO;
|
||||
import com.yida.data.attendance.service.AttendanceRecordService;
|
||||
import com.yida.data.attendance.service.AttendanceReportStrategyService;
|
||||
import com.yida.data.attendance.service.AttendanceResultService;
|
||||
import com.yida.data.attendance.service.AttendanceRuleService;
|
||||
import com.yida.data.attendance.service.NoticeService;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.w3c.dom.stylesheets.LinkStyle;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("in/attendanceResult")
|
||||
@RequiredArgsConstructor
|
||||
public class InAttendanceResultController {
|
||||
|
||||
private final AttendanceResultService attendanceResultService;
|
||||
private final AttendanceRecordService attendanceRecordService;
|
||||
private final AttendanceReportStrategyService attendanceReportStrategyService;
|
||||
private final NoticeService noticeService;
|
||||
private final AttendanceRuleService attendanceRuleService;
|
||||
|
||||
/**
|
||||
* 每日凌晨先初始化考勤结果
|
||||
*/
|
||||
@GetMapping("/initAttendanceResult")
|
||||
public void initAttendanceResult() {
|
||||
attendanceResultService.initUserAttendance();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 策略推送消息
|
||||
*/
|
||||
@GetMapping("/attendanceNotice")
|
||||
public void notice() {
|
||||
attendanceReportStrategyService.sendNotice();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 同步老数据
|
||||
*
|
||||
* @param schoolId
|
||||
* @param startDateTime
|
||||
*/
|
||||
@GetMapping("/resetOldData")
|
||||
public void resetOldData(Long schoolId, String startDateTime, Integer userType) {
|
||||
attendanceRecordService
|
||||
.resetOldData(schoolId,
|
||||
LocalDateTime.parse(startDateTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")), userType);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 同步老数据
|
||||
*/
|
||||
@GetMapping("/testPushDayReport")
|
||||
public void testPushDayReport(Long staffId, Long ruleId) {
|
||||
List<DayReportDataDTO> dtoList = new ArrayList<>();
|
||||
dtoList.add(DayReportDataDTO.builder().deptName("经济管理系").totalNum(1234).abNum(456).requestNum(15).build());
|
||||
dtoList.add(DayReportDataDTO.builder().deptName("基础部").totalNum(2563).abNum(652).requestNum(95).build());
|
||||
dtoList.add(DayReportDataDTO.builder().deptName("机电工程系").totalNum(859).abNum(15).requestNum(3).build());
|
||||
dtoList.add(DayReportDataDTO.builder().deptName("建筑工程系").totalNum(1596).abNum(325).requestNum(35).build());
|
||||
dtoList.add(DayReportDataDTO.builder().deptName("计算机信息工程系").totalNum(1846).abNum(15).requestNum(105).build());
|
||||
noticeService.sendAttendanceDayReportToStaff(staffId, dtoList, attendanceRuleService.getById(ruleId), 1, true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 每日/每周/每月考勤数据
|
||||
*/
|
||||
@GetMapping("/initAttendanceReport")
|
||||
public void initAttendanceReport() {
|
||||
attendanceReportStrategyService.sendNotice();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
package com.yida.data.attendance.controller.in;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.yida.data.attendance.service.EduAttendanceDeviceService;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.attendance.EduAttendanceDevice;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import java.util.List;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@Api(tags = "考勤-设备(不鉴权)")
|
||||
@RestController
|
||||
@RequestMapping("/in/device")
|
||||
public class InEduAttendanceDeviceController {
|
||||
|
||||
@Resource
|
||||
private EduAttendanceDeviceService eduAttendanceDeviceService;
|
||||
|
||||
@GetMapping("/listDeviceByType")
|
||||
public ResultBean<List<EduAttendanceDevice>> listDeviceByType(String type) {
|
||||
return ResultBean.buildSuccess(eduAttendanceDeviceService.list(
|
||||
Wrappers.lambdaQuery(new EduAttendanceDevice()).eq(EduAttendanceDevice::getDeviceType, type)));
|
||||
}
|
||||
|
||||
@ApiOperation("更新设备在线状态")
|
||||
@GetMapping("/updateDeviceStatus")
|
||||
public ResultBean updateDeviceStatus() {
|
||||
eduAttendanceDeviceService.updateDeviceStatus();
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
|
||||
@ApiOperation("校时所有设备")
|
||||
@GetMapping("/timingAllDevice")
|
||||
public ResultBean timingAllDevice() {
|
||||
eduAttendanceDeviceService.timingAllDevice();
|
||||
return ResultBean.buildSuccess();
|
||||
}
|
||||
}
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
package com.yida.data.attendance.controller.in;
|
||||
|
||||
import com.yida.data.attendance.service.AttendanceResultService;
|
||||
import com.yida.data.attendance.service.EduUserStrategyService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 人员策略信息 controller (不鉴权)
|
||||
*
|
||||
* @author ZYJ
|
||||
* @date 2023/11/7 19:38
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("in/eduUserStrategy")
|
||||
public class InEduUserStrategyController {
|
||||
|
||||
private final EduUserStrategyService eduUserStrategyService;
|
||||
|
||||
/**
|
||||
* 处理超时用户策略
|
||||
*/
|
||||
@GetMapping("/checkOverTimeUserStrategy")
|
||||
public void checkOverTimeUserStrategy() {
|
||||
eduUserStrategyService.checkOverTimeUserStrategy();
|
||||
}
|
||||
}
|
||||
-61
@@ -1,61 +0,0 @@
|
||||
package com.yida.data.attendance.controller.in;
|
||||
|
||||
import com.yida.data.attendance.dto.AttendanceFaceMatchDTO;
|
||||
import com.yida.data.attendance.dto.AttendanceUserCheckInDTO;
|
||||
import com.yida.data.attendance.dto.H5AttendanceRuleWifiDTO;
|
||||
import com.yida.data.attendance.service.AttendanceCheckInService;
|
||||
import com.yida.data.attendance.service.AttendanceRuleService;
|
||||
import com.yida.data.attendance.vo.AttendanceFaceMatchVO;
|
||||
import com.yida.data.attendance.vo.AttendanceUserCheckInVO;
|
||||
import com.yida.data.attendance.vo.AttendanceWifiVO;
|
||||
import com.yida.data.common.core.annotation.ControllerLog;
|
||||
import com.yida.data.common.core.common.ModuleName;
|
||||
import com.yida.data.common.core.common.ResultBean;
|
||||
import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum;
|
||||
import com.yida.data.log.annotation.OperationLog;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 教职工考勤规则 Controller
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("in/H5/attendanceRule")
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = "移动端-考勤-打卡-非鉴权", value = "移动端-考勤-打卡-非鉴权")
|
||||
public class InH5AttendanceRuleController {
|
||||
|
||||
private final AttendanceRuleService attendanceRuleService;
|
||||
private final AttendanceCheckInService attendanceCheckInService;
|
||||
|
||||
@ApiOperation("查询用户当前时间的打卡规则")
|
||||
@PostMapping("/findRuleByUserAndDate")
|
||||
public ResultBean<AttendanceWifiVO> findRuleByUserAndDate(@Validated @RequestBody H5AttendanceRuleWifiDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceCheckInService.findByUserIdAndDateTime(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("签到打卡")
|
||||
@PostMapping("/userCheckIn")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "签到打卡", type = OperationLogTypeEnum.INSERT)
|
||||
public ResultBean<AttendanceUserCheckInVO> userCheckIn(@RequestBody AttendanceUserCheckInDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceCheckInService.userCheckIn(dto));
|
||||
}
|
||||
|
||||
@ApiOperation("签到人脸比对")
|
||||
@PostMapping("/rosterFaceMatch")
|
||||
@OperationLog(module = ModuleName.ATTENDANCE, methods = "签到人脸比对", type = OperationLogTypeEnum.SELECT)
|
||||
public ResultBean<AttendanceFaceMatchVO> rosterFaceMatch(@RequestBody AttendanceFaceMatchDTO dto) {
|
||||
return ResultBean.buildSuccess(attendanceRuleService.AttendanceFaceMatch(dto));
|
||||
}
|
||||
|
||||
}
|
||||
-93
@@ -1,93 +0,0 @@
|
||||
package com.yida.data.attendance.excel;
|
||||
|
||||
import com.alibaba.excel.context.AnalysisContext;
|
||||
import com.alibaba.excel.event.AnalysisEventListener;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.yida.data.attendance.dto.BssidImportDTO;
|
||||
import com.yida.data.attendance.service.AttendanceRuleWifiService;
|
||||
import com.yida.data.common.core.entity.CurrentUser;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule;
|
||||
import com.yida.data.school.dto.smart.GuideRosterErrorExportDTO;
|
||||
import com.yida.data.school.dto.smart.GuideRosterImportDTO;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.ehcache.impl.internal.concurrent.ConcurrentHashMap;
|
||||
|
||||
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
public class BssidExcelListener extends AnalysisEventListener<BssidImportDTO> {
|
||||
|
||||
private final AttendanceRuleWifiService attendanceRuleWifiService;
|
||||
|
||||
/**
|
||||
* 当前导入数据唯一标识
|
||||
*/
|
||||
private final Long ruleId;
|
||||
|
||||
/**
|
||||
* 每次存储条数 每隔5条存储数据库, 实际使用中可以3000条, 然后清理list, 方便内存回收
|
||||
*/
|
||||
private static final int BATCH_COUNT = 3000;
|
||||
|
||||
/**
|
||||
* 需要保存的数据集合
|
||||
*/
|
||||
ConcurrentHashMap<Integer, BssidImportDTO> concurrentHashMap = new ConcurrentHashMap<>();
|
||||
|
||||
/**
|
||||
* excel总数量
|
||||
*/
|
||||
private static Integer totalCount = 0;
|
||||
|
||||
/**
|
||||
* 处理次数
|
||||
*/
|
||||
private static Integer handleNumber = 0;
|
||||
|
||||
/**
|
||||
* 解析成功一条数据调用一次
|
||||
*/
|
||||
@Override
|
||||
public void invoke(BssidImportDTO dto, AnalysisContext analysisContext) {
|
||||
totalCount = analysisContext.readSheetHolder().getApproximateTotalRowNumber() - 1;
|
||||
// 获取读取的第几条数据
|
||||
Integer i = analysisContext.readRowHolder().getRowIndex();
|
||||
log.info("解析到第: {}条数据: {}", i, JSON.toJSONString(dto));
|
||||
concurrentHashMap.put(i, dto);
|
||||
// 达到BATCH_COUNT了, 需要去存储一次数据库, 防止数据几万条数据在内存, 容易OOM
|
||||
if (concurrentHashMap.size() >= BATCH_COUNT) {
|
||||
handleNumber += 1;
|
||||
saveData();
|
||||
// 存储完成清理集合
|
||||
concurrentHashMap.clear();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 所有数据解析完成调用
|
||||
*
|
||||
* @param analysisContext analysisContext类
|
||||
* @author ZYJ
|
||||
* @date 2021/8/23 16:18
|
||||
*/
|
||||
@Override
|
||||
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
|
||||
// 这里也要保存数据, 确保最后遗留的数据也存储到数据库
|
||||
saveData();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存导入数据
|
||||
*
|
||||
* @author ZYJ
|
||||
* @date 2021/8/23 16:20
|
||||
*/
|
||||
private void saveData() {
|
||||
log.info("{}条数据,开始存储数据库!", concurrentHashMap.size());
|
||||
attendanceRuleWifiService.addBssidList(concurrentHashMap, ruleId);
|
||||
log.info("存储数据库成功!");
|
||||
}
|
||||
}
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
package com.yida.data.attendance.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.yida.data.attendance.dto.PageAttendanceRecordDTO;
|
||||
import com.yida.data.attendance.vo.AttendanceRuleVO;
|
||||
import com.yida.data.common.core.entity.attendance.EduAttendanceRecord;
|
||||
import com.yida.data.common.core.entity.attendance.EduAttendanceStaffRecord;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceRecord;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 进出记录 Mapper
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
public interface AttendanceRecordMapper extends BaseMapper<AttendanceRecord> {
|
||||
|
||||
IPage<EduAttendanceRecord> listOldDataPage(@Param("page") Page page, @Param("schoolId") Long schoolId, @Param("startDateTime")
|
||||
LocalDateTime startDateTime);
|
||||
|
||||
IPage<EduAttendanceStaffRecord> listStaffOldDataPage(@Param("page") Page page, @Param("schoolId") Long schoolId,
|
||||
@Param("startDateTime") LocalDateTime startDateTime);
|
||||
|
||||
|
||||
IPage<AttendanceRecord> listRecordPage(Page page, @Param("dto") PageAttendanceRecordDTO dto);
|
||||
|
||||
}
|
||||
-10
@@ -1,10 +0,0 @@
|
||||
package com.yida.data.attendance.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportPushRecord;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportStrategy;
|
||||
|
||||
public interface AttendanceReportPushRecordMapper extends BaseMapper<AttendanceReportPushRecord> {
|
||||
|
||||
}
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
package com.yida.data.attendance.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportStrategy;
|
||||
import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleWifi;
|
||||
|
||||
/**
|
||||
* 考勤推送策略关联wifi Mapper
|
||||
*
|
||||
* @date 2023-08-09 11:37:25
|
||||
*/
|
||||
public interface AttendanceReportStrategyMapper extends BaseMapper<AttendanceReportStrategy> {
|
||||
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user