Commit ac11ff46 authored by 赵啸非's avatar 赵啸非

修改固定班次考勤

parent bbe9860d
...@@ -84,6 +84,39 @@ ...@@ -84,6 +84,39 @@
<skipUi>false</skipUi> <skipUi>false</skipUi>
</properties> </properties>
</profile> </profile>
<profile>
<id>product</id>
<properties>
<profiles.active>product</profiles.active>
<profiles.server.port>17500</profiles.server.port>
<profiles.server.path>/attendance</profiles.server.path>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<profiles.log.level>INFO</profiles.log.level>
<profiles.sms.smsSendUrl>http://127.0.0.1:8089/api/index/index</profiles.sms.smsSendUrl>
<profiles.sms.apiId>k6BVS1PEbyzcJAE4</profiles.sms.apiId>
<profiles.hik.host>8.136.255.30:8001</profiles.hik.host>
<profiles.hik.protocol>http://</profiles.hik.protocol>
<profiles.hik.appKey>25128371</profiles.hik.appKey>
<profiles.hik.appSecret>2m9RcPJOKq5j2QPQM4v5</profiles.hik.appSecret>
<profiles.dingtalk.domain>https://oapi.dingtalk.com</profiles.dingtalk.domain>
<profiles.dingtalk.oaUrl>api.dingtalk.com</profiles.dingtalk.oaUrl>
<profiles.dingtalk.agentId>2652674890</profiles.dingtalk.agentId>
<profiles.dingtalk.appKey>dingpqzradgfr4efdi2j</profiles.dingtalk.appKey>
<profiles.dingtalk.appSecret>bF2WALmo5_Wuj3hg5gXeWqezrYnZChUJ88HjzNWpkA9ivdOxfBDGOGYcfVRfB3vd</profiles.dingtalk.appSecret>
<profiles.dingtalk.aesKey>1QcPYuSpAc98OS3qQwwx5HPH85CZDidxF95yBGad2fJ</profiles.dingtalk.aesKey>
<profiles.dingtalk.token>m3WeuVx5kcTY76kh22uWZOTSu0XjvcwNhd</profiles.dingtalk.token>
<profiles.dingtalk.opUserId>manager8325</profiles.dingtalk.opUserId>
<profiles.webUrl>http://8.136.255.30:21039/attendance</profiles.webUrl>
<package.environment>build</package.environment>
<skipUi>false</skipUi>
</properties>
</profile>
<profile> <profile>
<id>yibin</id> <id>yibin</id>
<properties> <properties>
......
package com.mortals.xhx.base.system.user.model; package com.mortals.xhx.base.system.user.model;
import com.mortals.framework.annotation.desensitization.MobileDesensitize;
import com.mortals.framework.ap.SysConstains; import com.mortals.framework.ap.SysConstains;
import com.mortals.framework.service.IUser; import com.mortals.framework.service.IUser;
import com.mortals.xhx.base.system.user.model.vo.UserVo; import com.mortals.xhx.base.system.user.model.vo.UserVo;
...@@ -34,6 +35,7 @@ public class UserEntity extends UserVo implements IUser { ...@@ -34,6 +35,7 @@ public class UserEntity extends UserVo implements IUser {
/** /**
* 用户手机号 * 用户手机号
*/ */
@MobileDesensitize
private String mobile; private String mobile;
/** /**
* 用户联系电话 * 用户联系电话
......
...@@ -14,7 +14,7 @@ import lombok.Data; ...@@ -14,7 +14,7 @@ import lombok.Data;
* 考勤打卡记录信息实体对象 * 考勤打卡记录信息实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-07-27 * @date 2023-08-03
*/ */
@Data @Data
public class AttendanceRecordEntity extends AttendanceRecordVo { public class AttendanceRecordEntity extends AttendanceRecordVo {
...@@ -61,15 +61,6 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { ...@@ -61,15 +61,6 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
*/ */
@Excel(name = "所属考勤组名称") @Excel(name = "所属考勤组名称")
private String attendanceGroupName; private String attendanceGroupName;
/**
* 班次ID
*/
private Long shiftsId;
/**
* 班次名称
*/
@Excel(name = "班次名称")
private String shiftsName;
/** /**
* 打卡日期 * 打卡日期
*/ */
...@@ -82,12 +73,12 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { ...@@ -82,12 +73,12 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
/** /**
* 签到结果(0.否,1.是) * 签到结果(0.否,1.是)
*/ */
@Excel(name = "签到结果", readConverterExp = "0=异常,1=正常") @Excel(name = "签到结果", readConverterExp = "0=否,1=是")
private Integer signInResult; private Integer signInResult;
/** /**
* 签退结果(0.否,1.是) * 签退结果(0.否,1.是)
*/ */
@Excel(name = "签退结果", readConverterExp = "0=异常,1=正常") @Excel(name = "签退结果", readConverterExp = "0=否,1=是")
private Integer signOutResult; private Integer signOutResult;
/** /**
* 考勤类型 * 考勤类型
...@@ -96,8 +87,16 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { ...@@ -96,8 +87,16 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
/** /**
* 打卡结果(0.否,1.是) * 打卡结果(0.否,1.是)
*/ */
@Excel(name = "打卡结果", readConverterExp = "0=异常,1=正常") @Excel(name = "打卡结果", readConverterExp = "0=否,1=是")
private Integer punchResult; private Integer punchResult;
/**
* 班次ID
*/
private Long classId;
/**
* 班次名称
*/
private String className;
@Override @Override
public int hashCode() { public int hashCode() {
return this.getId().hashCode(); return this.getId().hashCode();
...@@ -124,13 +123,13 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { ...@@ -124,13 +123,13 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
this.positionName = ""; this.positionName = "";
this.attendanceGroupId = 0L; this.attendanceGroupId = 0L;
this.attendanceGroupName = ""; this.attendanceGroupName = "";
this.shiftsId = 0L;
this.shiftsName = "";
this.attendanceDate = new Date(); this.attendanceDate = new Date();
this.remark = ""; this.remark = "";
this.signInResult = 0; this.signInResult = 0;
this.signOutResult = 0; this.signOutResult = 0;
this.attendType = ""; this.attendType = "";
this.punchResult = 0; this.punchResult = 0;
this.classId = 0L;
this.className = "";
} }
} }
\ No newline at end of file
...@@ -127,6 +127,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -127,6 +127,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
commonData.setContext(context); commonData.setContext(context);
commonData.setAttendanceGroupEntity(attendanceGroupEntity); commonData.setAttendanceGroupEntity(attendanceGroupEntity);
commonData.setAttendanceRecordEntity(attendanceRecordEntity); commonData.setAttendanceRecordEntity(attendanceRecordEntity);
commonData.setAttendanceDate(attendanceRecordEntity.getAttendanceDate());
commonData.setDetailEntityList(detailEntityList); commonData.setDetailEntityList(detailEntityList);
commonData.setStaffId(attendanceRecordEntity.getStaffId()); commonData.setStaffId(attendanceRecordEntity.getStaffId());
commonData.setDateStr(dateStr); commonData.setDateStr(dateStr);
...@@ -149,6 +150,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -149,6 +150,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
commonData.setAttendanceGroupEntity(attendanceGroupEntity); commonData.setAttendanceGroupEntity(attendanceGroupEntity);
commonData.setAttendanceRecordEntity(attendanceRecordEntity); commonData.setAttendanceRecordEntity(attendanceRecordEntity);
commonData.setDetailEntityList(detailEntityList); commonData.setDetailEntityList(detailEntityList);
commonData.setAttendanceDate(attendanceRecordEntity.getAttendanceDate());
commonData.setStaffId(attendanceRecordEntity.getStaffId()); commonData.setStaffId(attendanceRecordEntity.getStaffId());
commonData.setDateStr(dateStr); commonData.setDateStr(dateStr);
workAbstract.doHandleWork(commonData); workAbstract.doHandleWork(commonData);
...@@ -194,7 +196,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -194,7 +196,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
//判断是否存在记录 如果存在 则更新 维度 staffId attendanceDate shiftsId attendanceGroupId //判断是否存在记录 如果存在 则更新 维度 staffId attendanceDate shiftsId attendanceGroupId
AttendanceRecordQuery query = new AttendanceRecordQuery(); AttendanceRecordQuery query = new AttendanceRecordQuery();
query.setStaffId(attendanceRecordEntity.getStaffId()); query.setStaffId(attendanceRecordEntity.getStaffId());
query.setShiftsId(attendanceRecordEntity.getShiftsId()); query.setClassId(attendanceRecordEntity.getClassId());
query.setAttendanceGroupId(attendanceRecordEntity.getAttendanceGroupId()); query.setAttendanceGroupId(attendanceRecordEntity.getAttendanceGroupId());
query.setAttendanceDate(attendanceRecordEntity.getAttendanceDate()); query.setAttendanceDate(attendanceRecordEntity.getAttendanceDate());
...@@ -297,8 +299,8 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -297,8 +299,8 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
} }
if (!ObjectUtils.isEmpty(detailEntityList)) { if (!ObjectUtils.isEmpty(detailEntityList)) {
AttendanceClassDetailEntity attendanceClassDetailEntity = attendanceClassDetailService.get(detailEntityList.get(0).getShiftsId(), context); AttendanceClassDetailEntity attendanceClassDetailEntity = attendanceClassDetailService.get(detailEntityList.get(0).getShiftsId(), context);
attendanceRecordEntity.setShiftsId(attendanceClassDetailEntity == null ? 0L : attendanceClassDetailEntity.getClassId()); attendanceRecordEntity.setClassId(attendanceClassDetailEntity == null ? 0L : attendanceClassDetailEntity.getClassId());
attendanceRecordEntity.setShiftsName(attendanceClassDetailEntity == null ? "" : attendanceClassDetailEntity.getClassName()); attendanceRecordEntity.setClassName(attendanceClassDetailEntity == null ? "" : attendanceClassDetailEntity.getClassName());
} }
//生成异常记录 //生成异常记录
genErrorAttendRecord(context, dateStr, attendanceRecordEntity, detailEntityList); genErrorAttendRecord(context, dateStr, attendanceRecordEntity, detailEntityList);
...@@ -339,7 +341,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte ...@@ -339,7 +341,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
//判断是否存在记录 如果存在 则更新 维度 staffId attendanceDate shiftsId attendanceGroupId //判断是否存在记录 如果存在 则更新 维度 staffId attendanceDate shiftsId attendanceGroupId
AttendanceRecordQuery query = new AttendanceRecordQuery(); AttendanceRecordQuery query = new AttendanceRecordQuery();
query.setStaffId(attendanceRecordEntity.getStaffId()); query.setStaffId(attendanceRecordEntity.getStaffId());
query.setShiftsId(attendanceRecordEntity.getShiftsId()); query.setClassId(attendanceRecordEntity.getClassId());
query.setAttendanceGroupId(attendanceRecordEntity.getAttendanceGroupId()); query.setAttendanceGroupId(attendanceRecordEntity.getAttendanceGroupId());
query.setAttendanceDate(attendanceRecordEntity.getAttendanceDate()); query.setAttendanceDate(attendanceRecordEntity.getAttendanceDate());
......
...@@ -228,8 +228,8 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -228,8 +228,8 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
} }
if (!ObjectUtils.isEmpty(commonData.getDetailEntityList())) { if (!ObjectUtils.isEmpty(commonData.getDetailEntityList())) {
AttendanceClassDetailEntity attendanceClassDetailEntity = attendanceClassDetailService.get(commonData.getDetailEntityList().get(0).getShiftsId()); AttendanceClassDetailEntity attendanceClassDetailEntity = attendanceClassDetailService.get(commonData.getDetailEntityList().get(0).getShiftsId());
commonData.getAttendanceRecordEntity().setShiftsId(attendanceClassDetailEntity == null ? 0L : attendanceClassDetailEntity.getClassId()); commonData.getAttendanceRecordEntity().setClassId(attendanceClassDetailEntity == null ? 0L : attendanceClassDetailEntity.getClassId());
commonData.getAttendanceRecordEntity().setShiftsName(attendanceClassDetailEntity == null ? "" : attendanceClassDetailEntity.getClassName()); commonData.getAttendanceRecordEntity().setClassName(attendanceClassDetailEntity == null ? "" : attendanceClassDetailEntity.getClassName());
} }
//生成异常记录 //生成异常记录
genErrorAttendRecord(commonData.getContext(), commonData.getDateStr(), commonData.getAttendanceRecordEntity(), commonData.getDetailEntityList()); genErrorAttendRecord(commonData.getContext(), commonData.getDateStr(), commonData.getAttendanceRecordEntity(), commonData.getDetailEntityList());
...@@ -249,7 +249,9 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -249,7 +249,9 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
AttendanceRecordErrorEntity errorEntity = new AttendanceRecordErrorEntity(); AttendanceRecordErrorEntity errorEntity = new AttendanceRecordErrorEntity();
errorEntity.initAttrValue(); errorEntity.initAttrValue();
BeanUtils.copyProperties(attendanceRecordEntity, errorEntity, new String[]{"id"}); BeanUtils.copyProperties(attendanceRecordEntity, errorEntity, new String[]{"id"});
errorEntity.setGoOffDateTime(errorEntity.getErrorDateTime());
errorEntity.setShiftsId(recordDetailEntity.getShiftsId());
errorEntity.setShiftsName(recordDetailEntity.getShiftsName());
errorEntity.setProcessStatus(YesNoEnum.NO.getValue()); errorEntity.setProcessStatus(YesNoEnum.NO.getValue());
errorEntity.setCreateTime(new Date()); errorEntity.setCreateTime(new Date());
errorEntity.setCreateUserId(context.getUser().getId()); errorEntity.setCreateUserId(context.getUser().getId());
...@@ -257,7 +259,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -257,7 +259,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
//判断上班 //判断上班
if (GoWorkResultEnum.正常.getValue() != goWorkResult) { if (GoWorkResultEnum.正常.getValue() != goWorkResult) {
Date goWorkDate = attendanceClassDetailEntity.getGoWorkDate(); Date goWorkDate = attendanceClassDetailEntity.getGoWorkDate();
errorEntity.setGoOffDateTime(goWorkDate); errorEntity.setGoOffDateTime(DateUtil.parseDateTime(dateStr + " " + DateUtil.formatTime(goWorkDate)).toJdkDate());
if (!ObjectUtils.isEmpty(recordDetailEntity.getGoWorkDate())) { if (!ObjectUtils.isEmpty(recordDetailEntity.getGoWorkDate())) {
errorEntity.setErrorDateTime(recordDetailEntity.getGoWorkDate()); errorEntity.setErrorDateTime(recordDetailEntity.getGoWorkDate());
errorEntity.setActualAttendanceDateTime(recordDetailEntity.getGoWorkDate()); errorEntity.setActualAttendanceDateTime(recordDetailEntity.getGoWorkDate());
...@@ -280,7 +282,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -280,7 +282,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
//判断下班 //判断下班
if (OffWorkResultEnum.正常.getValue() != offWorkResult) { if (OffWorkResultEnum.正常.getValue() != offWorkResult) {
Date offWorkDate = attendanceClassDetailEntity.getOffWorkDate(); Date offWorkDate = attendanceClassDetailEntity.getOffWorkDate();
errorEntity.setGoOffDateTime(offWorkDate); errorEntity.setGoOffDateTime(DateUtil.parseDateTime(dateStr + " " + DateUtil.formatTime(offWorkDate)).toJdkDate());
if (!ObjectUtils.isEmpty(recordDetailEntity.getGoWorkDate())) { if (!ObjectUtils.isEmpty(recordDetailEntity.getGoWorkDate())) {
errorEntity.setErrorDateTime(recordDetailEntity.getGoWorkDate()); errorEntity.setErrorDateTime(recordDetailEntity.getGoWorkDate());
errorEntity.setActualAttendanceDateTime(recordDetailEntity.getGoWorkDate()); errorEntity.setActualAttendanceDateTime(recordDetailEntity.getGoWorkDate());
...@@ -296,13 +298,26 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -296,13 +298,26 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
if (OffWorkResultEnum.迟到.getValue() == recordDetailEntity.getOffWorkResult()) { if (OffWorkResultEnum.迟到.getValue() == recordDetailEntity.getOffWorkResult()) {
errorEntity.setErrorStatus(ErrorStatusEnum.迟到.getValue()); errorEntity.setErrorStatus(ErrorStatusEnum.迟到.getValue());
} }
errorEntity.setActualAttendanceDateTime(attendanceRecordEntity.getAttendanceDate());
errorEntityList.add(errorEntity); errorEntityList.add(errorEntity);
} }
} }
if (!ObjectUtils.isEmpty(errorEntityList)) { if (!ObjectUtils.isEmpty(errorEntityList)) {
errorService.save(errorEntityList, context); for (AttendanceRecordErrorEntity errorEntity : errorEntityList) {
//查看是否存在相同的异常记录,如果存在 则不添加
AttendanceRecordErrorQuery errorQuery = new AttendanceRecordErrorQuery();
errorQuery.setShiftsId(errorEntity.getShiftsId());
errorQuery.setGoOffDateTime(errorEntity.getErrorDateTime());
errorQuery.setStaffId(errorEntity.getStaffId());
int count = errorService.count(errorQuery, context);
if (count == 0) {
errorService.save(errorEntity, context);
} else {
log.info("已经存在相同的异常记录,不做保存!");
}
}
} }
} }
} }
...@@ -146,8 +146,8 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle ...@@ -146,8 +146,8 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
attendanceExportRecordEntity.setDeptName(deptEntity==null?"":deptEntity.getDeptName()); attendanceExportRecordEntity.setDeptName(deptEntity==null?"":deptEntity.getDeptName());
} }
if(!ObjectUtils.isEmpty(query.getShiftsId())){ if(!ObjectUtils.isEmpty(query.getClassId())){
AttendanceClassEntity attendanceClassEntity = classService.get(query.getShiftsId(), context); AttendanceClassEntity attendanceClassEntity = classService.get(query.getClassId(), context);
attendanceExportRecordEntity.setClassName(attendanceClassEntity==null?"":attendanceClassEntity.getClassName()); attendanceExportRecordEntity.setClassName(attendanceClassEntity==null?"":attendanceClassEntity.getClassName());
} }
attendanceExportRecordEntity.setCreateUserId(context.getUser().getId()); attendanceExportRecordEntity.setCreateUserId(context.getUser().getId());
...@@ -161,7 +161,7 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle ...@@ -161,7 +161,7 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
@Override @Override
protected void doListBefore(AttendanceRecordEntity query, Map<String, Object> model, Context context) throws AppException { protected void doListBefore(AttendanceRecordEntity query, Map<String, Object> model, Context context) throws AppException {
if (query.getClassId() != null) { if (query.getClassId() != null) {
query.setShiftsId(query.getClassId()); query.setClassId(query.getClassId());
} }
if (query.getGroupId() != null) { if (query.getGroupId() != null) {
query.setAttendanceGroupId(query.getGroupId()); query.setAttendanceGroupId(query.getGroupId());
......
...@@ -5,6 +5,8 @@ import java.util.List; ...@@ -5,6 +5,8 @@ import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel; import com.mortals.framework.annotation.Excel;
import com.mortals.framework.annotation.desensitization.IdCardDesensitize;
import com.mortals.framework.annotation.desensitization.MobileDesensitize;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.staff.model.vo.StaffVo; import com.mortals.xhx.module.staff.model.vo.StaffVo;
import lombok.Data; import lombok.Data;
...@@ -40,11 +42,13 @@ public class StaffEntity extends StaffVo { ...@@ -40,11 +42,13 @@ public class StaffEntity extends StaffVo {
* 联系电话 * 联系电话
*/ */
@Excel(name = "联系电话") @Excel(name = "联系电话")
@MobileDesensitize
private String phoneNumber; private String phoneNumber;
/** /**
* 身份证号码 * 身份证号码
*/ */
@Excel(name = "身份证号码") @Excel(name = "身份证号码")
@IdCardDesensitize
private String idCard; private String idCard;
/** /**
* 工号 * 工号
......
package com.mortals.xhx.module.staff.model.vo; package com.mortals.xhx.module.staff.model.vo;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.annotation.desensitization.IdCardDesensitize;
import com.mortals.framework.annotation.desensitization.MobileDesensitize;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import lombok.Data; import lombok.Data;
...@@ -12,6 +15,17 @@ import java.util.List; ...@@ -12,6 +15,17 @@ import java.util.List;
@Data @Data
public class StaffVo extends BaseEntityLong { public class StaffVo extends BaseEntityLong {
/**
* 联系电话
*/
@MobileDesensitize
private String phoneNumber;
/**
* 身份证号码
*/
@IdCardDesensitize
private String idCard;
private List <Long> idList; private List <Long> idList;
private List<HolidayListVo> holidayLists; private List<HolidayListVo> holidayLists;
......
...@@ -821,3 +821,34 @@ ALTER TABLE mortals_xhx_check_other_record ADD COLUMN `auditStatus` tinyint(1) ...@@ -821,3 +821,34 @@ ALTER TABLE mortals_xhx_check_other_record ADD COLUMN `auditStatus` tinyint(1)
ALTER TABLE mortals_xhx_perform_attend_appeal ADD COLUMN `windowNum` varchar(255) DEFAULT '' COMMENT '窗口编号'; ALTER TABLE mortals_xhx_perform_attend_appeal ADD COLUMN `windowNum` varchar(255) DEFAULT '' COMMENT '窗口编号';
-- ----------------------------
-- 考勤打卡记录信息表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_attendance_record`;
CREATE TABLE mortals_xhx_attendance_record(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`staffId` bigint(20) COMMENT '员工ID',
`staffName` varchar(64) NOT NULL COMMENT '员工姓名',
`workNum` varchar(128) COMMENT '工号',
`deptId` bigint(20) COMMENT '所属部门',
`deptName` varchar(128) COMMENT '所属部门名称',
`positionId` bigint(20) COMMENT '职位ID',
`positionName` varchar(128) COMMENT '职位名称',
`attendanceGroupId` bigint(20) COMMENT '所属考勤组ID',
`attendanceGroupName` varchar(128) COMMENT '所属考勤组名称',
`attendanceDate` datetime COMMENT '打卡日期',
`remark` varchar(255) COMMENT '备注',
`createUserId` bigint(20) NOT NULL COMMENT '创建用户',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
`signInResult` tinyint(2) DEFAULT '0' COMMENT '签到结果(0.否,1.是)',
`signOutResult` tinyint(2) DEFAULT '0' COMMENT '签退结果(0.否,1.是)',
`attendType` varchar(128) DEFAULT '' COMMENT '考勤类型',
`punchResult` tinyint(2) DEFAULT '0' COMMENT '打卡结果(0.否,1.是)',
`classId` bigint(20) COMMENT '班次ID',
`className` varchar(128) COMMENT '班次名称',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考勤打卡记录信息';
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment