Commit fba6e488 authored by 姬鋆屾's avatar 姬鋆屾
parents 9023b5f4 7b738ddf
......@@ -154,10 +154,11 @@ export default {
],
approverId: [
{ required: true, message: "请选择审批人", trigger: "change" },
],
]
/* ,
attachmentPath: [
{ required: true, message: "请上传附件文件", trigger: "change" },
],
],*/
},
attachmentPath: "",
};
......
......@@ -458,6 +458,7 @@ export default {
label: "考勤结束时间",
fuzzy: false,
},
],
columns: [
{ type: "selection", width: 60 },
......@@ -476,6 +477,10 @@ export default {
{ label: "部门", prop: "deptName", formatter: this.formatters },
{ label: "职位", prop: "positionName", formatter: this.formatters },
{ label: "班次", prop: "shiftsName", formatter: this.formatters },
{ label: "签到结果", prop: "signInResult", formatter: this.formatters },
{ label: "签退结果", prop: "signOutResult", formatter: this.formatters },
{ label: "打卡结果", prop: "punchResult", formatter: this.formatters },
// {label: "考勤打卡记录详细信息",
// width: 120,
// prop: "subColumns",
......
......@@ -27,7 +27,13 @@
</el-col>
<el-col :span="6">
<Field label="周期类型" :span="24" prop="periodType" v-model="form.periodType" type="select"
:enumData="dict.periodType" placeholder="请选择周期类型" />
:enumData="dict.periodType" @change="periodTypeChange" placeholder="请选择周期类型" />
</el-col>
<el-col :span="6">
<Field v-if="form.periodType == 2" label="半年类型" :span="24" prop="halfYear" v-model="form.halfYear" type="select"
:enumData="dict.halfYear" placeholder="请选择半年类型" />
<Field v-if="form.periodType == 3" label="季度类型" :span="24" prop="quarter" v-model="form.quarter" type="select"
:enumData="dict.quarter" placeholder="请选择季度类型" />
</el-col>
</el-row>
<!-- <el-row>
......@@ -158,6 +164,10 @@ export default {
this.staffList()
},
methods: {
periodTypeChange(){
this.form.quarter = ""
this.form.halfYear = ""
},
beforeSubmit(form) {
// 个人/部门
const perposeStaffList = []//选中人员
......@@ -247,25 +257,25 @@ export default {
// 新增
this.reset()
this.form.assessmentScope = this.$parent.query.assessmentScope + ''
}else{
} else {
// 编辑
this.form.year = this.form.year+''
this.form.year = this.form.year + ''
const leaderMobiles = this.form.leaderMobiles.split(',')
// 回显负责人
const ownerList = []
this.form.leaders.split(',').forEach((v,i)=>{
this.form.leaders.split(',').forEach((v, i) => {
ownerList.push({ ownerId: "", ownerName: v, leaderMobiles: leaderMobiles[i] || '' })
})
this.ownerList = ownerList
// 回显选中人员
const staffId = []
this.form.perposeStaffList && this.form.perposeStaffList.forEach(v=>{
this.form.perposeStaffList && this.form.perposeStaffList.forEach(v => {
staffId.push(v.staffId)
})
this.staffId = staffId
// 回显选中部门
const deptId = []
this.form.perposeDeptList && this.form.perposeDeptList.forEach(v=>{
this.form.perposeDeptList && this.form.perposeDeptList.forEach(v => {
deptId.push(v.deptId)
})
this.deptId = deptId
......@@ -290,8 +300,8 @@ export default {
periodType: '1',
year: "",
// month: null,
// halfYear: 1,
// quarter: 1,
halfYear: "",
quarter: "",
leaders: "",
leaderMobiles: "",
remark: "",
......
......@@ -335,7 +335,10 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
Boolean bool = entity.newEntity();
if (bool) {
performInfo.setAppealStatus(AppealStatusEnum.未申诉.getValue());
}else {
} else {
if(ObjectUtils.isEmpty(entity.getAppealResult())){
performInfo.setAppealStatus(AppealStatusEnum.申诉中.getValue());
}else{
if (AppealResultEnum.通过.getValue() == entity.getAppealResult()) {
performInfo.setAppealStatus(AppealStatusEnum.申诉通过.getValue());
} else if (AppealResultEnum.不通过.getValue() == entity.getAppealResult()) {
......@@ -344,28 +347,12 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
performInfo.setAppealStatus(AppealStatusEnum.申诉中.getValue());
}
}
} else {
performInfo.setAppealStatus(AppealStatusEnum.未申诉.getValue());
}
}
private void updateAppealStatus(PerformInfo performInfo, Boolean bool, Integer processStatus, Integer appealResult) {
if (!bool) {
performInfo.setAppealStatus(AppealStatusEnum.未申诉.getValue());
} else {
if (ProcessStatusEnum.未处理.getValue() == processStatus) {
performInfo.setAppealStatus(AppealStatusEnum.申诉中.getValue());
} else {
if (AppealResultEnum.通过.getValue() == appealResult) {
performInfo.setAppealStatus(AppealStatusEnum.申诉通过.getValue());
} else if (AppealResultEnum.不通过.getValue() == appealResult) {
performInfo.setAppealStatus(AppealStatusEnum.申诉拒绝.getValue());
}
}
performInfo.setAppealStatus(AppealStatusEnum.未申诉.getValue());
}
}
/**
* 详细
*/
......@@ -404,16 +391,18 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
throw new AppException("不支持当前绩效类型");
}
PerformAttendAppealEntity entity = appealService.selectOne(new PerformAttendAppealQuery().checkRecordId(performDetailInfo.getId()));
// updateAppealResult(performInfo, entity);
PerformAttendAppealEntity entity = appealService.selectOne(new PerformAttendAppealQuery().checkRecordId(performDetailInfo.getId()).performType(performReq.getPerformType()));
log.info("entity:{}", JSONObject.toJSONString(entity));
if (!ObjectUtils.isEmpty(entity)) {
Boolean bool = entity.newEntity();
if (bool) {
performDetailInfo.setAppealStatus(AppealStatusEnum.未申诉.getValue());
}else {
} else {
if (ObjectUtils.isEmpty(entity.getAppealResult())) {
performDetailInfo.setAppealStatus(AppealStatusEnum.申诉中.getValue());
} else {
if (AppealResultEnum.通过.getValue() == entity.getAppealResult()) {
performDetailInfo.setAppealStatus(AppealStatusEnum.申诉通过.getValue());
} else if (AppealResultEnum.不通过.getValue() == entity.getAppealResult()) {
......@@ -422,6 +411,7 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
performDetailInfo.setAppealStatus(AppealStatusEnum.申诉中.getValue());
}
}
}
} else {
performDetailInfo.setAppealStatus(AppealStatusEnum.未申诉.getValue());
}
......
......@@ -116,27 +116,27 @@ public class AttendanceLeaveRecordEntity extends AttendanceLeaveRecordVo {
public void initAttrValue(){
this.leavePersonId = -1L;
this.leavePersonId = null;
this.leavePerson = "";
this.deptId = -1L;
this.deptId = null;
this.deptName = "";
this.phoneNumber = "";
this.leaveType = -1;
this.leaveType = null;
this.startTime = null;
this.endTime = null;
this.duration = -1;
this.duration = 0;
this.reason = "";
this.approverId = -1L;
this.approverId = null;
this.approver = "";
......
package com.mortals.xhx.module.attendance.model;
import java.util.List;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
......@@ -7,14 +6,14 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.vo.AttendanceRecordVo;
import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
import lombok.Data;
/**
* 考勤打卡记录信息实体对象
*
* @author zxfei
* @date 2023-04-07
*/
* 考勤打卡记录信息实体对象
*
* @author zxfei
* @date 2023-07-18
*/
@Data
public class AttendanceRecordEntity extends AttendanceRecordVo {
private static final long serialVersionUID = 1L;
......@@ -70,207 +69,22 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
* 备注
*/
private String remark;
/**
* 考勤打卡记录详细信息信息
*/
private List<AttendanceRecordDetailEntity> attendanceRecordDetailList=new ArrayList<>();;
public AttendanceRecordEntity(){}
/**
* 获取 员工ID
* @return Long
*/
public Long getStaffId(){
return staffId;
}
/**
* 设置 员工ID
* @param staffId
*/
public void setStaffId(Long staffId){
this.staffId = staffId;
}
/**
* 获取 员工姓名
* @return String
*/
public String getStaffName(){
return staffName;
}
/**
* 设置 员工姓名
* @param staffName
*/
public void setStaffName(String staffName){
this.staffName = staffName;
}
/**
* 获取 工号
* @return String
*/
public String getWorkNum(){
return workNum;
}
/**
* 设置 工号
* @param workNum
* 签到结果(0.否,1.是)
*/
public void setWorkNum(String workNum){
this.workNum = workNum;
}
/**
* 获取 所属部门
* @return Long
*/
public Long getDeptId(){
return deptId;
}
/**
* 设置 所属部门
* @param deptId
*/
public void setDeptId(Long deptId){
this.deptId = deptId;
}
/**
* 获取 所属部门名称
* @return String
*/
public String getDeptName(){
return deptName;
}
private Integer signInResult;
/**
* 设置 所属部门名称
* @param deptName
* 签退结果(0.否,1.是)
*/
public void setDeptName(String deptName){
this.deptName = deptName;
}
private Integer signOutResult;
/**
* 获取 职位ID
* @return Long
* 考勤类型
*/
public Long getPositionId(){
return positionId;
}
private String attendType;
/**
* 设置 职位ID
* @param positionId
* 打卡结果(0.否,1.是)
*/
public void setPositionId(Long positionId){
this.positionId = positionId;
}
/**
* 获取 职位名称
* @return String
*/
public String getPositionName(){
return positionName;
}
/**
* 设置 职位名称
* @param positionName
*/
public void setPositionName(String positionName){
this.positionName = positionName;
}
/**
* 获取 所属考勤组ID
* @return Long
*/
public Long getAttendanceGroupId(){
return attendanceGroupId;
}
/**
* 设置 所属考勤组ID
* @param attendanceGroupId
*/
public void setAttendanceGroupId(Long attendanceGroupId){
this.attendanceGroupId = attendanceGroupId;
}
/**
* 获取 所属考勤组名称
* @return String
*/
public String getAttendanceGroupName(){
return attendanceGroupName;
}
/**
* 设置 所属考勤组名称
* @param attendanceGroupName
*/
public void setAttendanceGroupName(String attendanceGroupName){
this.attendanceGroupName = attendanceGroupName;
}
/**
* 获取 班次ID
* @return Long
*/
public Long getShiftsId(){
return shiftsId;
}
/**
* 设置 班次ID
* @param shiftsId
*/
public void setShiftsId(Long shiftsId){
this.shiftsId = shiftsId;
}
/**
* 获取 班次名称
* @return String
*/
public String getShiftsName(){
return shiftsName;
}
/**
* 设置 班次名称
* @param shiftsName
*/
public void setShiftsName(String shiftsName){
this.shiftsName = shiftsName;
}
/**
* 获取 打卡日期
* @return Date
*/
public Date getAttendanceDate(){
return attendanceDate;
}
/**
* 设置 打卡日期
* @param attendanceDate
*/
public void setAttendanceDate(Date attendanceDate){
this.attendanceDate = attendanceDate;
}
/**
* 获取 备注
* @return String
*/
public String getRemark(){
return remark;
}
/**
* 设置 备注
* @param remark
*/
public void setRemark(String remark){
this.remark = remark;
}
public List<AttendanceRecordDetailEntity> getAttendanceRecordDetailList(){
return attendanceRecordDetailList;
}
public void setAttendanceRecordDetailList(List<AttendanceRecordDetailEntity> attendanceRecordDetailList){
this.attendanceRecordDetailList = attendanceRecordDetailList;
}
private Integer punchResult;
@Override
public int hashCode() {
return this.getId().hashCode();
......@@ -287,50 +101,40 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",staffId:").append(getStaffId());
sb.append(",staffName:").append(getStaffName());
sb.append(",workNum:").append(getWorkNum());
sb.append(",deptId:").append(getDeptId());
sb.append(",deptName:").append(getDeptName());
sb.append(",positionId:").append(getPositionId());
sb.append(",positionName:").append(getPositionName());
sb.append(",attendanceGroupId:").append(getAttendanceGroupId());
sb.append(",attendanceGroupName:").append(getAttendanceGroupName());
sb.append(",shiftsId:").append(getShiftsId());
sb.append(",shiftsName:").append(getShiftsName());
sb.append(",attendanceDate:").append(getAttendanceDate());
sb.append(",remark:").append(getRemark());
return sb.toString();
}
public void initAttrValue(){
this.staffId = null;
this.staffId = -1L;
this.staffName = "";
this.workNum = "";
this.deptId = null;
this.deptId = -1L;
this.deptName = "";
this.positionId = null;
this.positionId = -1L;
this.positionName = "";
this.attendanceGroupId = null;
this.attendanceGroupId = -1L;
this.attendanceGroupName = "";
this.shiftsId = null;
this.shiftsId = -1L;
this.shiftsName = "";
this.attendanceDate = null;
this.remark = "";
this.signInResult = 0;
this.signOutResult = 0;
this.attendType = "0";
this.punchResult = 0;
}
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.model;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
......@@ -7,13 +6,14 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.vo.AttendanceRecordHikVo;
import lombok.Data;
/**
* 海康考勤打卡记录汇总信息实体对象
*
* @author zxfei
* @date 2023-04-08
*/
* 基础考勤打卡记录汇总信息实体对象
*
* @author zxfei
* @date 2023-07-18
*/
@Data
public class AttendanceRecordHikEntity extends AttendanceRecordHikVo {
private static final long serialVersionUID = 1L;
......@@ -24,7 +24,7 @@ public class AttendanceRecordHikEntity extends AttendanceRecordHikVo {
/**
* 员工姓名
*/
@Excel(name = "姓名")
@Excel(name = "员工姓名")
private String staffName;
/**
* 工号
......@@ -70,7 +70,7 @@ public class AttendanceRecordHikEntity extends AttendanceRecordHikVo {
/**
* 考勤日期
*/
@Excel(name = "考勤时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "考勤日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date attendanceDate;
/**
* 考勤点名称
......@@ -86,224 +86,22 @@ public class AttendanceRecordHikEntity extends AttendanceRecordHikVo {
* 备注
*/
private String remark;
public AttendanceRecordHikEntity(){}
/**
* 获取 员工ID
* @return Long
*/
public Long getStaffId(){
return staffId;
}
/**
* 设置 员工ID
* @param staffId
*/
public void setStaffId(Long staffId){
this.staffId = staffId;
}
/**
* 获取 员工姓名
* @return String
*/
public String getStaffName(){
return staffName;
}
/**
* 设置 员工姓名
* @param staffName
*/
public void setStaffName(String staffName){
this.staffName = staffName;
}
/**
* 获取 工号
* @return String
*/
public String getWorkNum(){
return workNum;
}
/**
* 设置 工号
* @param workNum
*/
public void setWorkNum(String workNum){
this.workNum = workNum;
}
/**
* 获取 所属部门
* @return Long
*/
public Long getDeptId(){
return deptId;
}
/**
* 设置 所属部门
* @param deptId
*/
public void setDeptId(Long deptId){
this.deptId = deptId;
}
/**
* 获取 所属部门名称
* @return String
*/
public String getDeptName(){
return deptName;
}
/**
* 设置 所属部门名称
* @param deptName
*/
public void setDeptName(String deptName){
this.deptName = deptName;
}
/**
* 获取 职位ID
* @return Long
*/
public Long getPositionId(){
return positionId;
}
/**
* 设置 职位ID
* @param positionId
*/
public void setPositionId(Long positionId){
this.positionId = positionId;
}
/**
* 获取 职位名称
* @return String
*/
public String getPositionName(){
return positionName;
}
/**
* 设置 职位名称
* @param positionName
*/
public void setPositionName(String positionName){
this.positionName = positionName;
}
/**
* 获取 所属考勤组ID
* @return Long
*/
public Long getAttendanceGroupId(){
return attendanceGroupId;
}
/**
* 设置 所属考勤组ID
* @param attendanceGroupId
* 签到结果(0.否,1.是)
*/
public void setAttendanceGroupId(Long attendanceGroupId){
this.attendanceGroupId = attendanceGroupId;
}
private Integer signInResult;
/**
* 获取 所属考勤组名称
* @return String
* 签退结果(0.否,1.是)
*/
public String getAttendanceGroupName(){
return attendanceGroupName;
}
private Integer signOutResult;
/**
* 设置 所属考勤组名称
* @param attendanceGroupName
* 考勤类型
*/
public void setAttendanceGroupName(String attendanceGroupName){
this.attendanceGroupName = attendanceGroupName;
}
private String attendType;
/**
* 获取 班次ID
* @return Long
* 打卡结果(0.否,1.是)
*/
public Long getShiftsId(){
return shiftsId;
}
/**
* 设置 班次ID
* @param shiftsId
*/
public void setShiftsId(Long shiftsId){
this.shiftsId = shiftsId;
}
/**
* 获取 班次名称
* @return String
*/
public String getShiftsName(){
return shiftsName;
}
/**
* 设置 班次名称
* @param shiftsName
*/
public void setShiftsName(String shiftsName){
this.shiftsName = shiftsName;
}
/**
* 获取 考勤日期
* @return Date
*/
public Date getAttendanceDate(){
return attendanceDate;
}
/**
* 设置 考勤日期
* @param attendanceDate
*/
public void setAttendanceDate(Date attendanceDate){
this.attendanceDate = attendanceDate;
}
/**
* 获取 考勤点名称
* @return String
*/
public String getAttendanceAddress(){
return attendanceAddress;
}
/**
* 设置 考勤点名称
* @param attendanceAddress
*/
public void setAttendanceAddress(String attendanceAddress){
this.attendanceAddress = attendanceAddress;
}
/**
* 获取 事件源
* @return String
*/
public String getEventSource(){
return eventSource;
}
/**
* 设置 事件源
* @param eventSource
*/
public void setEventSource(String eventSource){
this.eventSource = eventSource;
}
/**
* 获取 备注
* @return String
*/
public String getRemark(){
return remark;
}
/**
* 设置 备注
* @param remark
*/
public void setRemark(String remark){
this.remark = remark;
}
private Integer punchResult;
@Override
public int hashCode() {
return this.getId().hashCode();
......@@ -320,47 +118,27 @@ public class AttendanceRecordHikEntity extends AttendanceRecordHikVo {
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",staffId:").append(getStaffId());
sb.append(",staffName:").append(getStaffName());
sb.append(",workNum:").append(getWorkNum());
sb.append(",deptId:").append(getDeptId());
sb.append(",deptName:").append(getDeptName());
sb.append(",positionId:").append(getPositionId());
sb.append(",positionName:").append(getPositionName());
sb.append(",attendanceGroupId:").append(getAttendanceGroupId());
sb.append(",attendanceGroupName:").append(getAttendanceGroupName());
sb.append(",shiftsId:").append(getShiftsId());
sb.append(",shiftsName:").append(getShiftsName());
sb.append(",attendanceDate:").append(getAttendanceDate());
sb.append(",attendanceAddress:").append(getAttendanceAddress());
sb.append(",eventSource:").append(getEventSource());
sb.append(",remark:").append(getRemark());
return sb.toString();
}
public void initAttrValue(){
this.staffId = null;
this.staffId = -1L;
this.staffName = "";
this.workNum = "";
this.deptId = null;
this.deptId = -1L;
this.deptName = "";
this.positionId = null;
this.positionId = -1L;
this.positionName = "";
this.attendanceGroupId = null;
this.attendanceGroupId = -1L;
this.attendanceGroupName = "";
this.shiftsId = null;
this.shiftsId = -1L;
this.shiftsName = "";
......@@ -371,5 +149,13 @@ public class AttendanceRecordHikEntity extends AttendanceRecordHikVo {
this.eventSource = "";
this.remark = "";
this.signInResult = 0;
this.signOutResult = 0;
this.attendType = "";
this.punchResult = 0;
}
}
\ No newline at end of file
......@@ -4,11 +4,11 @@ import java.util.Date;
import java.util.List;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity;
/**
* 海康考勤打卡记录汇总信息查询对象
*
* @author zxfei
* @date 2023-04-08
*/
* 基础考勤打卡记录汇总信息查询对象
*
* @author zxfei
* @date 2023-07-18
*/
public class AttendanceRecordHikQuery extends AttendanceRecordHikEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
......@@ -193,6 +193,56 @@ public class AttendanceRecordHikQuery extends AttendanceRecordHikEntity {
/** 结束 更新时间 */
private String updateTimeEnd;
/** 开始 签到结果(0.否,1.是) */
private Integer signInResultStart;
/** 结束 签到结果(0.否,1.是) */
private Integer signInResultEnd;
/** 增加 签到结果(0.否,1.是) */
private Integer signInResultIncrement;
/** 签到结果(0.否,1.是)列表 */
private List <Integer> signInResultList;
/** 签到结果(0.否,1.是)排除列表 */
private List <Integer> signInResultNotList;
/** 开始 签退结果(0.否,1.是) */
private Integer signOutResultStart;
/** 结束 签退结果(0.否,1.是) */
private Integer signOutResultEnd;
/** 增加 签退结果(0.否,1.是) */
private Integer signOutResultIncrement;
/** 签退结果(0.否,1.是)列表 */
private List <Integer> signOutResultList;
/** 签退结果(0.否,1.是)排除列表 */
private List <Integer> signOutResultNotList;
/** 考勤类型 */
private List<String> attendTypeList;
/** 考勤类型排除列表 */
private List <String> attendTypeNotList;
/** 开始 打卡结果(0.否,1.是) */
private Integer punchResultStart;
/** 结束 打卡结果(0.否,1.是) */
private Integer punchResultEnd;
/** 增加 打卡结果(0.否,1.是) */
private Integer punchResultIncrement;
/** 打卡结果(0.否,1.是)列表 */
private List <Integer> punchResultList;
/** 打卡结果(0.否,1.是)排除列表 */
private List <Integer> punchResultNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<AttendanceRecordHikQuery> orConditionList;
......@@ -1233,6 +1283,281 @@ public class AttendanceRecordHikQuery extends AttendanceRecordHikEntity {
this.updateTimeEnd = updateTimeEnd;
}
/**
* 获取 开始 签到结果(0.否,1.是)
* @return signInResultStart
*/
public Integer getSignInResultStart(){
return this.signInResultStart;
}
/**
* 设置 开始 签到结果(0.否,1.是)
* @param signInResultStart
*/
public void setSignInResultStart(Integer signInResultStart){
this.signInResultStart = signInResultStart;
}
/**
* 获取 结束 签到结果(0.否,1.是)
* @return $signInResultEnd
*/
public Integer getSignInResultEnd(){
return this.signInResultEnd;
}
/**
* 设置 结束 签到结果(0.否,1.是)
* @param signInResultEnd
*/
public void setSignInResultEnd(Integer signInResultEnd){
this.signInResultEnd = signInResultEnd;
}
/**
* 获取 增加 签到结果(0.否,1.是)
* @return signInResultIncrement
*/
public Integer getSignInResultIncrement(){
return this.signInResultIncrement;
}
/**
* 设置 增加 签到结果(0.否,1.是)
* @param signInResultIncrement
*/
public void setSignInResultIncrement(Integer signInResultIncrement){
this.signInResultIncrement = signInResultIncrement;
}
/**
* 获取 签到结果(0.否,1.是)
* @return signInResultList
*/
public List<Integer> getSignInResultList(){
return this.signInResultList;
}
/**
* 设置 签到结果(0.否,1.是)
* @param signInResultList
*/
public void setSignInResultList(List<Integer> signInResultList){
this.signInResultList = signInResultList;
}
/**
* 获取 签到结果(0.否,1.是)
* @return signInResultNotList
*/
public List<Integer> getSignInResultNotList(){
return this.signInResultNotList;
}
/**
* 设置 签到结果(0.否,1.是)
* @param signInResultNotList
*/
public void setSignInResultNotList(List<Integer> signInResultNotList){
this.signInResultNotList = signInResultNotList;
}
/**
* 获取 开始 签退结果(0.否,1.是)
* @return signOutResultStart
*/
public Integer getSignOutResultStart(){
return this.signOutResultStart;
}
/**
* 设置 开始 签退结果(0.否,1.是)
* @param signOutResultStart
*/
public void setSignOutResultStart(Integer signOutResultStart){
this.signOutResultStart = signOutResultStart;
}
/**
* 获取 结束 签退结果(0.否,1.是)
* @return $signOutResultEnd
*/
public Integer getSignOutResultEnd(){
return this.signOutResultEnd;
}
/**
* 设置 结束 签退结果(0.否,1.是)
* @param signOutResultEnd
*/
public void setSignOutResultEnd(Integer signOutResultEnd){
this.signOutResultEnd = signOutResultEnd;
}
/**
* 获取 增加 签退结果(0.否,1.是)
* @return signOutResultIncrement
*/
public Integer getSignOutResultIncrement(){
return this.signOutResultIncrement;
}
/**
* 设置 增加 签退结果(0.否,1.是)
* @param signOutResultIncrement
*/
public void setSignOutResultIncrement(Integer signOutResultIncrement){
this.signOutResultIncrement = signOutResultIncrement;
}
/**
* 获取 签退结果(0.否,1.是)
* @return signOutResultList
*/
public List<Integer> getSignOutResultList(){
return this.signOutResultList;
}
/**
* 设置 签退结果(0.否,1.是)
* @param signOutResultList
*/
public void setSignOutResultList(List<Integer> signOutResultList){
this.signOutResultList = signOutResultList;
}
/**
* 获取 签退结果(0.否,1.是)
* @return signOutResultNotList
*/
public List<Integer> getSignOutResultNotList(){
return this.signOutResultNotList;
}
/**
* 设置 签退结果(0.否,1.是)
* @param signOutResultNotList
*/
public void setSignOutResultNotList(List<Integer> signOutResultNotList){
this.signOutResultNotList = signOutResultNotList;
}
/**
* 获取 考勤类型
* @return attendTypeList
*/
public List<String> getAttendTypeList(){
return this.attendTypeList;
}
/**
* 设置 考勤类型
* @param attendTypeList
*/
public void setAttendTypeList(List<String> attendTypeList){
this.attendTypeList = attendTypeList;
}
/**
* 获取 考勤类型
* @return attendTypeNotList
*/
public List<String> getAttendTypeNotList(){
return this.attendTypeNotList;
}
/**
* 设置 考勤类型
* @param attendTypeNotList
*/
public void setAttendTypeNotList(List<String> attendTypeNotList){
this.attendTypeNotList = attendTypeNotList;
}
/**
* 获取 开始 打卡结果(0.否,1.是)
* @return punchResultStart
*/
public Integer getPunchResultStart(){
return this.punchResultStart;
}
/**
* 设置 开始 打卡结果(0.否,1.是)
* @param punchResultStart
*/
public void setPunchResultStart(Integer punchResultStart){
this.punchResultStart = punchResultStart;
}
/**
* 获取 结束 打卡结果(0.否,1.是)
* @return $punchResultEnd
*/
public Integer getPunchResultEnd(){
return this.punchResultEnd;
}
/**
* 设置 结束 打卡结果(0.否,1.是)
* @param punchResultEnd
*/
public void setPunchResultEnd(Integer punchResultEnd){
this.punchResultEnd = punchResultEnd;
}
/**
* 获取 增加 打卡结果(0.否,1.是)
* @return punchResultIncrement
*/
public Integer getPunchResultIncrement(){
return this.punchResultIncrement;
}
/**
* 设置 增加 打卡结果(0.否,1.是)
* @param punchResultIncrement
*/
public void setPunchResultIncrement(Integer punchResultIncrement){
this.punchResultIncrement = punchResultIncrement;
}
/**
* 获取 打卡结果(0.否,1.是)
* @return punchResultList
*/
public List<Integer> getPunchResultList(){
return this.punchResultList;
}
/**
* 设置 打卡结果(0.否,1.是)
* @param punchResultList
*/
public void setPunchResultList(List<Integer> punchResultList){
this.punchResultList = punchResultList;
}
/**
* 获取 打卡结果(0.否,1.是)
* @return punchResultNotList
*/
public List<Integer> getPunchResultNotList(){
return this.punchResultNotList;
}
/**
* 设置 打卡结果(0.否,1.是)
* @param punchResultNotList
*/
public void setPunchResultNotList(List<Integer> punchResultNotList){
this.punchResultNotList = punchResultNotList;
}
/**
* 设置 序号,主键,自增长
* @param id
......@@ -1839,6 +2164,187 @@ public class AttendanceRecordHikQuery extends AttendanceRecordHikEntity {
}
/**
* 设置 签到结果(0.否,1.是)
* @param signInResult
*/
public AttendanceRecordHikQuery signInResult(Integer signInResult){
setSignInResult(signInResult);
return this;
}
/**
* 设置 开始 签到结果(0.否,1.是)
* @param signInResultStart
*/
public AttendanceRecordHikQuery signInResultStart(Integer signInResultStart){
this.signInResultStart = signInResultStart;
return this;
}
/**
* 设置 结束 签到结果(0.否,1.是)
* @param signInResultEnd
*/
public AttendanceRecordHikQuery signInResultEnd(Integer signInResultEnd){
this.signInResultEnd = signInResultEnd;
return this;
}
/**
* 设置 增加 签到结果(0.否,1.是)
* @param signInResultIncrement
*/
public AttendanceRecordHikQuery signInResultIncrement(Integer signInResultIncrement){
this.signInResultIncrement = signInResultIncrement;
return this;
}
/**
* 设置 签到结果(0.否,1.是)
* @param signInResultList
*/
public AttendanceRecordHikQuery signInResultList(List<Integer> signInResultList){
this.signInResultList = signInResultList;
return this;
}
/**
* 设置 签到结果(0.否,1.是)
* @param signInResultNotList
*/
public AttendanceRecordHikQuery signInResultNotList(List<Integer> signInResultNotList){
this.signInResultNotList = signInResultNotList;
return this;
}
/**
* 设置 签退结果(0.否,1.是)
* @param signOutResult
*/
public AttendanceRecordHikQuery signOutResult(Integer signOutResult){
setSignOutResult(signOutResult);
return this;
}
/**
* 设置 开始 签退结果(0.否,1.是)
* @param signOutResultStart
*/
public AttendanceRecordHikQuery signOutResultStart(Integer signOutResultStart){
this.signOutResultStart = signOutResultStart;
return this;
}
/**
* 设置 结束 签退结果(0.否,1.是)
* @param signOutResultEnd
*/
public AttendanceRecordHikQuery signOutResultEnd(Integer signOutResultEnd){
this.signOutResultEnd = signOutResultEnd;
return this;
}
/**
* 设置 增加 签退结果(0.否,1.是)
* @param signOutResultIncrement
*/
public AttendanceRecordHikQuery signOutResultIncrement(Integer signOutResultIncrement){
this.signOutResultIncrement = signOutResultIncrement;
return this;
}
/**
* 设置 签退结果(0.否,1.是)
* @param signOutResultList
*/
public AttendanceRecordHikQuery signOutResultList(List<Integer> signOutResultList){
this.signOutResultList = signOutResultList;
return this;
}
/**
* 设置 签退结果(0.否,1.是)
* @param signOutResultNotList
*/
public AttendanceRecordHikQuery signOutResultNotList(List<Integer> signOutResultNotList){
this.signOutResultNotList = signOutResultNotList;
return this;
}
/**
* 设置 考勤类型
* @param attendType
*/
public AttendanceRecordHikQuery attendType(String attendType){
setAttendType(attendType);
return this;
}
/**
* 设置 考勤类型
* @param attendTypeList
*/
public AttendanceRecordHikQuery attendTypeList(List<String> attendTypeList){
this.attendTypeList = attendTypeList;
return this;
}
/**
* 设置 打卡结果(0.否,1.是)
* @param punchResult
*/
public AttendanceRecordHikQuery punchResult(Integer punchResult){
setPunchResult(punchResult);
return this;
}
/**
* 设置 开始 打卡结果(0.否,1.是)
* @param punchResultStart
*/
public AttendanceRecordHikQuery punchResultStart(Integer punchResultStart){
this.punchResultStart = punchResultStart;
return this;
}
/**
* 设置 结束 打卡结果(0.否,1.是)
* @param punchResultEnd
*/
public AttendanceRecordHikQuery punchResultEnd(Integer punchResultEnd){
this.punchResultEnd = punchResultEnd;
return this;
}
/**
* 设置 增加 打卡结果(0.否,1.是)
* @param punchResultIncrement
*/
public AttendanceRecordHikQuery punchResultIncrement(Integer punchResultIncrement){
this.punchResultIncrement = punchResultIncrement;
return this;
}
/**
* 设置 打卡结果(0.否,1.是)
* @param punchResultList
*/
public AttendanceRecordHikQuery punchResultList(List<Integer> punchResultList){
this.punchResultList = punchResultList;
return this;
}
/**
* 设置 打卡结果(0.否,1.是)
* @param punchResultNotList
*/
public AttendanceRecordHikQuery punchResultNotList(List<Integer> punchResultNotList){
this.punchResultNotList = punchResultNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
......
package com.mortals.xhx.module.attendance.model;
import java.util.List;
import java.util.Date;
import java.util.List;
import com.mortals.xhx.module.attendance.model.AttendanceRecordEntity;
/**
* 考勤打卡记录信息查询对象
*
* @author zxfei
* @date 2023-04-07
*/
* 考勤打卡记录信息查询对象
*
* @author zxfei
* @date 2023-07-18
*/
public class AttendanceRecordQuery extends AttendanceRecordEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
......@@ -184,6 +183,56 @@ public class AttendanceRecordQuery extends AttendanceRecordEntity {
/** 结束 更新时间 */
private String updateTimeEnd;
/** 开始 签到结果(0.否,1.是) */
private Integer signInResultStart;
/** 结束 签到结果(0.否,1.是) */
private Integer signInResultEnd;
/** 增加 签到结果(0.否,1.是) */
private Integer signInResultIncrement;
/** 签到结果(0.否,1.是)列表 */
private List <Integer> signInResultList;
/** 签到结果(0.否,1.是)排除列表 */
private List <Integer> signInResultNotList;
/** 开始 签退结果(0.否,1.是) */
private Integer signOutResultStart;
/** 结束 签退结果(0.否,1.是) */
private Integer signOutResultEnd;
/** 增加 签退结果(0.否,1.是) */
private Integer signOutResultIncrement;
/** 签退结果(0.否,1.是)列表 */
private List <Integer> signOutResultList;
/** 签退结果(0.否,1.是)排除列表 */
private List <Integer> signOutResultNotList;
/** 考勤类型 */
private List<String> attendTypeList;
/** 考勤类型排除列表 */
private List <String> attendTypeNotList;
/** 开始 打卡结果(0.否,1.是) */
private Integer punchResultStart;
/** 结束 打卡结果(0.否,1.是) */
private Integer punchResultEnd;
/** 增加 打卡结果(0.否,1.是) */
private Integer punchResultIncrement;
/** 打卡结果(0.否,1.是)列表 */
private List <Integer> punchResultList;
/** 打卡结果(0.否,1.是)排除列表 */
private List <Integer> punchResultNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<AttendanceRecordQuery> orConditionList;
......@@ -1160,6 +1209,281 @@ public class AttendanceRecordQuery extends AttendanceRecordEntity {
this.updateTimeEnd = updateTimeEnd;
}
/**
* 获取 开始 签到结果(0.否,1.是)
* @return signInResultStart
*/
public Integer getSignInResultStart(){
return this.signInResultStart;
}
/**
* 设置 开始 签到结果(0.否,1.是)
* @param signInResultStart
*/
public void setSignInResultStart(Integer signInResultStart){
this.signInResultStart = signInResultStart;
}
/**
* 获取 结束 签到结果(0.否,1.是)
* @return $signInResultEnd
*/
public Integer getSignInResultEnd(){
return this.signInResultEnd;
}
/**
* 设置 结束 签到结果(0.否,1.是)
* @param signInResultEnd
*/
public void setSignInResultEnd(Integer signInResultEnd){
this.signInResultEnd = signInResultEnd;
}
/**
* 获取 增加 签到结果(0.否,1.是)
* @return signInResultIncrement
*/
public Integer getSignInResultIncrement(){
return this.signInResultIncrement;
}
/**
* 设置 增加 签到结果(0.否,1.是)
* @param signInResultIncrement
*/
public void setSignInResultIncrement(Integer signInResultIncrement){
this.signInResultIncrement = signInResultIncrement;
}
/**
* 获取 签到结果(0.否,1.是)
* @return signInResultList
*/
public List<Integer> getSignInResultList(){
return this.signInResultList;
}
/**
* 设置 签到结果(0.否,1.是)
* @param signInResultList
*/
public void setSignInResultList(List<Integer> signInResultList){
this.signInResultList = signInResultList;
}
/**
* 获取 签到结果(0.否,1.是)
* @return signInResultNotList
*/
public List<Integer> getSignInResultNotList(){
return this.signInResultNotList;
}
/**
* 设置 签到结果(0.否,1.是)
* @param signInResultNotList
*/
public void setSignInResultNotList(List<Integer> signInResultNotList){
this.signInResultNotList = signInResultNotList;
}
/**
* 获取 开始 签退结果(0.否,1.是)
* @return signOutResultStart
*/
public Integer getSignOutResultStart(){
return this.signOutResultStart;
}
/**
* 设置 开始 签退结果(0.否,1.是)
* @param signOutResultStart
*/
public void setSignOutResultStart(Integer signOutResultStart){
this.signOutResultStart = signOutResultStart;
}
/**
* 获取 结束 签退结果(0.否,1.是)
* @return $signOutResultEnd
*/
public Integer getSignOutResultEnd(){
return this.signOutResultEnd;
}
/**
* 设置 结束 签退结果(0.否,1.是)
* @param signOutResultEnd
*/
public void setSignOutResultEnd(Integer signOutResultEnd){
this.signOutResultEnd = signOutResultEnd;
}
/**
* 获取 增加 签退结果(0.否,1.是)
* @return signOutResultIncrement
*/
public Integer getSignOutResultIncrement(){
return this.signOutResultIncrement;
}
/**
* 设置 增加 签退结果(0.否,1.是)
* @param signOutResultIncrement
*/
public void setSignOutResultIncrement(Integer signOutResultIncrement){
this.signOutResultIncrement = signOutResultIncrement;
}
/**
* 获取 签退结果(0.否,1.是)
* @return signOutResultList
*/
public List<Integer> getSignOutResultList(){
return this.signOutResultList;
}
/**
* 设置 签退结果(0.否,1.是)
* @param signOutResultList
*/
public void setSignOutResultList(List<Integer> signOutResultList){
this.signOutResultList = signOutResultList;
}
/**
* 获取 签退结果(0.否,1.是)
* @return signOutResultNotList
*/
public List<Integer> getSignOutResultNotList(){
return this.signOutResultNotList;
}
/**
* 设置 签退结果(0.否,1.是)
* @param signOutResultNotList
*/
public void setSignOutResultNotList(List<Integer> signOutResultNotList){
this.signOutResultNotList = signOutResultNotList;
}
/**
* 获取 考勤类型
* @return attendTypeList
*/
public List<String> getAttendTypeList(){
return this.attendTypeList;
}
/**
* 设置 考勤类型
* @param attendTypeList
*/
public void setAttendTypeList(List<String> attendTypeList){
this.attendTypeList = attendTypeList;
}
/**
* 获取 考勤类型
* @return attendTypeNotList
*/
public List<String> getAttendTypeNotList(){
return this.attendTypeNotList;
}
/**
* 设置 考勤类型
* @param attendTypeNotList
*/
public void setAttendTypeNotList(List<String> attendTypeNotList){
this.attendTypeNotList = attendTypeNotList;
}
/**
* 获取 开始 打卡结果(0.否,1.是)
* @return punchResultStart
*/
public Integer getPunchResultStart(){
return this.punchResultStart;
}
/**
* 设置 开始 打卡结果(0.否,1.是)
* @param punchResultStart
*/
public void setPunchResultStart(Integer punchResultStart){
this.punchResultStart = punchResultStart;
}
/**
* 获取 结束 打卡结果(0.否,1.是)
* @return $punchResultEnd
*/
public Integer getPunchResultEnd(){
return this.punchResultEnd;
}
/**
* 设置 结束 打卡结果(0.否,1.是)
* @param punchResultEnd
*/
public void setPunchResultEnd(Integer punchResultEnd){
this.punchResultEnd = punchResultEnd;
}
/**
* 获取 增加 打卡结果(0.否,1.是)
* @return punchResultIncrement
*/
public Integer getPunchResultIncrement(){
return this.punchResultIncrement;
}
/**
* 设置 增加 打卡结果(0.否,1.是)
* @param punchResultIncrement
*/
public void setPunchResultIncrement(Integer punchResultIncrement){
this.punchResultIncrement = punchResultIncrement;
}
/**
* 获取 打卡结果(0.否,1.是)
* @return punchResultList
*/
public List<Integer> getPunchResultList(){
return this.punchResultList;
}
/**
* 设置 打卡结果(0.否,1.是)
* @param punchResultList
*/
public void setPunchResultList(List<Integer> punchResultList){
this.punchResultList = punchResultList;
}
/**
* 获取 打卡结果(0.否,1.是)
* @return punchResultNotList
*/
public List<Integer> getPunchResultNotList(){
return this.punchResultNotList;
}
/**
* 设置 打卡结果(0.否,1.是)
* @param punchResultNotList
*/
public void setPunchResultNotList(List<Integer> punchResultNotList){
this.punchResultNotList = punchResultNotList;
}
/**
* 设置 序号,主键,自增长
* @param id
......@@ -1728,6 +2052,187 @@ public class AttendanceRecordQuery extends AttendanceRecordEntity {
}
/**
* 设置 签到结果(0.否,1.是)
* @param signInResult
*/
public AttendanceRecordQuery signInResult(Integer signInResult){
setSignInResult(signInResult);
return this;
}
/**
* 设置 开始 签到结果(0.否,1.是)
* @param signInResultStart
*/
public AttendanceRecordQuery signInResultStart(Integer signInResultStart){
this.signInResultStart = signInResultStart;
return this;
}
/**
* 设置 结束 签到结果(0.否,1.是)
* @param signInResultEnd
*/
public AttendanceRecordQuery signInResultEnd(Integer signInResultEnd){
this.signInResultEnd = signInResultEnd;
return this;
}
/**
* 设置 增加 签到结果(0.否,1.是)
* @param signInResultIncrement
*/
public AttendanceRecordQuery signInResultIncrement(Integer signInResultIncrement){
this.signInResultIncrement = signInResultIncrement;
return this;
}
/**
* 设置 签到结果(0.否,1.是)
* @param signInResultList
*/
public AttendanceRecordQuery signInResultList(List<Integer> signInResultList){
this.signInResultList = signInResultList;
return this;
}
/**
* 设置 签到结果(0.否,1.是)
* @param signInResultNotList
*/
public AttendanceRecordQuery signInResultNotList(List<Integer> signInResultNotList){
this.signInResultNotList = signInResultNotList;
return this;
}
/**
* 设置 签退结果(0.否,1.是)
* @param signOutResult
*/
public AttendanceRecordQuery signOutResult(Integer signOutResult){
setSignOutResult(signOutResult);
return this;
}
/**
* 设置 开始 签退结果(0.否,1.是)
* @param signOutResultStart
*/
public AttendanceRecordQuery signOutResultStart(Integer signOutResultStart){
this.signOutResultStart = signOutResultStart;
return this;
}
/**
* 设置 结束 签退结果(0.否,1.是)
* @param signOutResultEnd
*/
public AttendanceRecordQuery signOutResultEnd(Integer signOutResultEnd){
this.signOutResultEnd = signOutResultEnd;
return this;
}
/**
* 设置 增加 签退结果(0.否,1.是)
* @param signOutResultIncrement
*/
public AttendanceRecordQuery signOutResultIncrement(Integer signOutResultIncrement){
this.signOutResultIncrement = signOutResultIncrement;
return this;
}
/**
* 设置 签退结果(0.否,1.是)
* @param signOutResultList
*/
public AttendanceRecordQuery signOutResultList(List<Integer> signOutResultList){
this.signOutResultList = signOutResultList;
return this;
}
/**
* 设置 签退结果(0.否,1.是)
* @param signOutResultNotList
*/
public AttendanceRecordQuery signOutResultNotList(List<Integer> signOutResultNotList){
this.signOutResultNotList = signOutResultNotList;
return this;
}
/**
* 设置 考勤类型
* @param attendType
*/
public AttendanceRecordQuery attendType(String attendType){
setAttendType(attendType);
return this;
}
/**
* 设置 考勤类型
* @param attendTypeList
*/
public AttendanceRecordQuery attendTypeList(List<String> attendTypeList){
this.attendTypeList = attendTypeList;
return this;
}
/**
* 设置 打卡结果(0.否,1.是)
* @param punchResult
*/
public AttendanceRecordQuery punchResult(Integer punchResult){
setPunchResult(punchResult);
return this;
}
/**
* 设置 开始 打卡结果(0.否,1.是)
* @param punchResultStart
*/
public AttendanceRecordQuery punchResultStart(Integer punchResultStart){
this.punchResultStart = punchResultStart;
return this;
}
/**
* 设置 结束 打卡结果(0.否,1.是)
* @param punchResultEnd
*/
public AttendanceRecordQuery punchResultEnd(Integer punchResultEnd){
this.punchResultEnd = punchResultEnd;
return this;
}
/**
* 设置 增加 打卡结果(0.否,1.是)
* @param punchResultIncrement
*/
public AttendanceRecordQuery punchResultIncrement(Integer punchResultIncrement){
this.punchResultIncrement = punchResultIncrement;
return this;
}
/**
* 设置 打卡结果(0.否,1.是)
* @param punchResultList
*/
public AttendanceRecordQuery punchResultList(List<Integer> punchResultList){
this.punchResultList = punchResultList;
return this;
}
/**
* 设置 打卡结果(0.否,1.是)
* @param punchResultNotList
*/
public AttendanceRecordQuery punchResultNotList(List<Integer> punchResultNotList){
this.punchResultNotList = punchResultNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
......
......@@ -332,10 +332,10 @@ public class AttendanceStatEntity extends AttendanceStatVo {
this.phoneNumer = "";
this.goTimes = -1;
this.goTimes = 0;
this.morningTimes = -1;
this.morningTimes = 0;
this.afternoonTimes = -1;
this.afternoonTimes = 0;
}
}
\ No newline at end of file
......@@ -19,6 +19,12 @@ public class AttendanceRecordVo extends BaseEntityLong {
private AttendanceRecordDetailEntity attendanceRecordDetailEntity;
/**
* 考勤打卡记录详细信息信息
*/
private List<AttendanceRecordDetailEntity> attendanceRecordDetailList=new ArrayList<>();;
/** 开始 打卡日期 */
private String attendanceDateStart;
......
......@@ -6,6 +6,7 @@ import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.GoWorkResultEnum;
import com.mortals.xhx.common.code.OffWorkResultEnum;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.module.attendance.model.*;
import com.mortals.xhx.module.attendance.service.AttendanceClassService;
import com.mortals.xhx.module.attendance.service.AttendanceGroupService;
......@@ -56,6 +57,9 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
this.addDict(model, "classId", attendanceClassService.find(new AttendanceClassQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getClassName())));
this.addDict(model, "goWorkResult", GoWorkResultEnum.getEnumMap());
this.addDict(model, "offWorkResult", OffWorkResultEnum.getEnumMap());
this.addDict(model, "signInResult", YesNoEnum.getEnumMap());
this.addDict(model, "signOutResult", YesNoEnum.getEnumMap());
this.addDict(model, "punchResult", YesNoEnum.getEnumMap());
//设置
......@@ -122,6 +126,7 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
Iterator<AttendanceRecordEntity> iterator = list.iterator();
while (iterator.hasNext()) {
AttendanceRecordEntity recordEntity = iterator.next();
Set<Integer> existSet = recordEntity.getAttendanceRecordDetailList().stream().map(i -> i.getOrderNum()).collect(Collectors.toSet());
//判断详细列表中是否存在顺序 没有自动填充空对象数据
List<AttendanceRecordDetailEntity> addDetailList = dsyncSet.stream().map(i -> {
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.attendance.dao.ibatis.AttendanceRecordHikDaoImpl">
<!-- 字段和属性映射 -->
......@@ -25,6 +25,10 @@
<result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
<result property="signInResult" column="signInResult" />
<result property="signOutResult" column="signOutResult" />
<result property="attendType" column="attendType" />
<result property="punchResult" column="punchResult" />
</resultMap>
......@@ -92,23 +96,35 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('signInResult') or colPickMode == 1 and data.containsKey('signInResult')))">
a.signInResult,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('signOutResult') or colPickMode == 1 and data.containsKey('signOutResult')))">
a.signOutResult,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('attendType') or colPickMode == 1 and data.containsKey('attendType')))">
a.attendType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('punchResult') or colPickMode == 1 and data.containsKey('punchResult')))">
a.punchResult,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="AttendanceRecordHikEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_attendance_record_hik
(staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,shiftsId,shiftsName,attendanceDate,attendanceAddress,eventSource,remark,createUserId,createTime,updateUserId,updateTime)
(staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,shiftsId,shiftsName,attendanceDate,attendanceAddress,eventSource,remark,createUserId,createTime,updateUserId,updateTime,signInResult,signOutResult,attendType,punchResult)
VALUES
(#{staffId},#{staffName},#{workNum},#{deptId},#{deptName},#{positionId},#{positionName},#{attendanceGroupId},#{attendanceGroupName},#{shiftsId},#{shiftsName},#{attendanceDate},#{attendanceAddress},#{eventSource},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
(#{staffId},#{staffName},#{workNum},#{deptId},#{deptName},#{positionId},#{positionName},#{attendanceGroupId},#{attendanceGroupName},#{shiftsId},#{shiftsName},#{attendanceDate},#{attendanceAddress},#{eventSource},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{signInResult},#{signOutResult},#{attendType},#{punchResult})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_attendance_record_hik
(staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,shiftsId,shiftsName,attendanceDate,attendanceAddress,eventSource,remark,createUserId,createTime,updateUserId,updateTime)
(staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,shiftsId,shiftsName,attendanceDate,attendanceAddress,eventSource,remark,createUserId,createTime,updateUserId,updateTime,signInResult,signOutResult,attendType,punchResult)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.staffId},#{item.staffName},#{item.workNum},#{item.deptId},#{item.deptName},#{item.positionId},#{item.positionName},#{item.attendanceGroupId},#{item.attendanceGroupName},#{item.shiftsId},#{item.shiftsName},#{item.attendanceDate},#{item.attendanceAddress},#{item.eventSource},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime})
(#{item.staffId},#{item.staffName},#{item.workNum},#{item.deptId},#{item.deptName},#{item.positionId},#{item.positionName},#{item.attendanceGroupId},#{item.attendanceGroupName},#{item.shiftsId},#{item.shiftsName},#{item.attendanceDate},#{item.attendanceAddress},#{item.eventSource},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.signInResult},#{item.signOutResult},#{item.attendType},#{item.punchResult})
</foreach>
</insert>
......@@ -196,6 +212,27 @@
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('signInResult')) or (colPickMode==1 and !data.containsKey('signInResult'))">
a.signInResult=#{data.signInResult},
</if>
<if test="(colPickMode==0 and data.containsKey('signInResultIncrement')) or (colPickMode==1 and !data.containsKey('signInResultIncrement'))">
a.signInResult=ifnull(a.signInResult,0) + #{data.signInResultIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('signOutResult')) or (colPickMode==1 and !data.containsKey('signOutResult'))">
a.signOutResult=#{data.signOutResult},
</if>
<if test="(colPickMode==0 and data.containsKey('signOutResultIncrement')) or (colPickMode==1 and !data.containsKey('signOutResultIncrement'))">
a.signOutResult=ifnull(a.signOutResult,0) + #{data.signOutResultIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('attendType')) or (colPickMode==1 and !data.containsKey('attendType'))">
a.attendType=#{data.attendType},
</if>
<if test="(colPickMode==0 and data.containsKey('punchResult')) or (colPickMode==1 and !data.containsKey('punchResult'))">
a.punchResult=#{data.punchResult},
</if>
<if test="(colPickMode==0 and data.containsKey('punchResultIncrement')) or (colPickMode==1 and !data.containsKey('punchResultIncrement'))">
a.punchResult=ifnull(a.punchResult,0) + #{data.punchResultIncrement},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
......@@ -376,6 +413,49 @@
</if>
</foreach>
</trim>
<trim prefix="signInResult=(case" suffix="ELSE signInResult end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('signInResult')) or (colPickMode==1 and !item.containsKey('signInResult'))">
when a.id=#{item.id} then #{item.signInResult}
</when>
<when test="(colPickMode==0 and item.containsKey('signInResultIncrement')) or (colPickMode==1 and !item.containsKey('signInResultIncrement'))">
when a.id=#{item.id} then ifnull(a.signInResult,0) + #{item.signInResultIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="signOutResult=(case" suffix="ELSE signOutResult end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('signOutResult')) or (colPickMode==1 and !item.containsKey('signOutResult'))">
when a.id=#{item.id} then #{item.signOutResult}
</when>
<when test="(colPickMode==0 and item.containsKey('signOutResultIncrement')) or (colPickMode==1 and !item.containsKey('signOutResultIncrement'))">
when a.id=#{item.id} then ifnull(a.signOutResult,0) + #{item.signOutResultIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="attendType=(case" suffix="ELSE attendType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('attendType')) or (colPickMode==1 and !item.containsKey('attendType'))">
when a.id=#{item.id} then #{item.attendType}
</if>
</foreach>
</trim>
<trim prefix="punchResult=(case" suffix="ELSE punchResult end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('punchResult')) or (colPickMode==1 and !item.containsKey('punchResult'))">
when a.id=#{item.id} then #{item.punchResult}
</when>
<when test="(colPickMode==0 and item.containsKey('punchResultIncrement')) or (colPickMode==1 and !item.containsKey('punchResultIncrement'))">
when a.id=#{item.id} then ifnull(a.punchResult,0) + #{item.punchResultIncrement}
</when>
</choose>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
......@@ -500,13 +580,13 @@
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idNotList')">
<if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
${_conditionType_} a.id not in
<foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -527,13 +607,13 @@
${_conditionType_} a.staffId is null
</if>
</if>
<if test="conditionParamRef.containsKey('staffIdList')">
<if test="conditionParamRef.containsKey('staffIdList') and conditionParamRef.staffIdList.size() > 0">
${_conditionType_} a.staffId in
<foreach collection="conditionParamRef.staffIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffIdNotList')">
<if test="conditionParamRef.containsKey('staffIdNotList') and conditionParamRef.staffIdNotList.size() > 0">
${_conditionType_} a.staffId not in
<foreach collection="conditionParamRef.staffIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -555,13 +635,13 @@
${_conditionType_} a.staffName is null
</if>
</if>
<if test="conditionParamRef.containsKey('staffNameList')">
<if test="conditionParamRef.containsKey('staffNameList') and conditionParamRef.staffNameList.size() > 0">
${_conditionType_} a.staffName in
<foreach collection="conditionParamRef.staffNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffNameNotList')">
<if test="conditionParamRef.containsKey('staffNameNotList') and conditionParamRef.staffNameNotList.size() > 0">
${_conditionType_} a.staffName not in
<foreach collection="conditionParamRef.staffNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -576,13 +656,13 @@
${_conditionType_} a.workNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('workNumList')">
<if test="conditionParamRef.containsKey('workNumList') and conditionParamRef.workNumList.size() > 0">
${_conditionType_} a.workNum in
<foreach collection="conditionParamRef.workNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workNumNotList')">
<if test="conditionParamRef.containsKey('workNumNotList') and conditionParamRef.workNumNotList.size() > 0">
${_conditionType_} a.workNum not in
<foreach collection="conditionParamRef.workNumNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -596,13 +676,13 @@
${_conditionType_} a.deptId is null
</if>
</if>
<if test="conditionParamRef.containsKey('deptIdList')">
<if test="conditionParamRef.containsKey('deptIdList') and conditionParamRef.deptIdList.size() > 0">
${_conditionType_} a.deptId in
<foreach collection="conditionParamRef.deptIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptIdNotList')">
<if test="conditionParamRef.containsKey('deptIdNotList') and conditionParamRef.deptIdNotList.size() > 0">
${_conditionType_} a.deptId not in
<foreach collection="conditionParamRef.deptIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -624,13 +704,13 @@
${_conditionType_} a.deptName is null
</if>
</if>
<if test="conditionParamRef.containsKey('deptNameList')">
<if test="conditionParamRef.containsKey('deptNameList') and conditionParamRef.deptNameList.size() > 0">
${_conditionType_} a.deptName in
<foreach collection="conditionParamRef.deptNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptNameNotList')">
<if test="conditionParamRef.containsKey('deptNameNotList') and conditionParamRef.deptNameNotList.size() > 0">
${_conditionType_} a.deptName not in
<foreach collection="conditionParamRef.deptNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -644,13 +724,13 @@
${_conditionType_} a.positionId is null
</if>
</if>
<if test="conditionParamRef.containsKey('positionIdList')">
<if test="conditionParamRef.containsKey('positionIdList') and conditionParamRef.positionIdList.size() > 0">
${_conditionType_} a.positionId in
<foreach collection="conditionParamRef.positionIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('positionIdNotList')">
<if test="conditionParamRef.containsKey('positionIdNotList') and conditionParamRef.positionIdNotList.size() > 0">
${_conditionType_} a.positionId not in
<foreach collection="conditionParamRef.positionIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -672,13 +752,13 @@
${_conditionType_} a.positionName is null
</if>
</if>
<if test="conditionParamRef.containsKey('positionNameList')">
<if test="conditionParamRef.containsKey('positionNameList') and conditionParamRef.positionNameList.size() > 0">
${_conditionType_} a.positionName in
<foreach collection="conditionParamRef.positionNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('positionNameNotList')">
<if test="conditionParamRef.containsKey('positionNameNotList') and conditionParamRef.positionNameNotList.size() > 0">
${_conditionType_} a.positionName not in
<foreach collection="conditionParamRef.positionNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -692,13 +772,13 @@
${_conditionType_} a.attendanceGroupId is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupIdList')">
<if test="conditionParamRef.containsKey('attendanceGroupIdList') and conditionParamRef.attendanceGroupIdList.size() > 0">
${_conditionType_} a.attendanceGroupId in
<foreach collection="conditionParamRef.attendanceGroupIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupIdNotList')">
<if test="conditionParamRef.containsKey('attendanceGroupIdNotList') and conditionParamRef.attendanceGroupIdNotList.size() > 0">
${_conditionType_} a.attendanceGroupId not in
<foreach collection="conditionParamRef.attendanceGroupIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -720,13 +800,13 @@
${_conditionType_} a.attendanceGroupName is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupNameList')">
<if test="conditionParamRef.containsKey('attendanceGroupNameList') and conditionParamRef.attendanceGroupNameList.size() > 0">
${_conditionType_} a.attendanceGroupName in
<foreach collection="conditionParamRef.attendanceGroupNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupNameNotList')">
<if test="conditionParamRef.containsKey('attendanceGroupNameNotList') and conditionParamRef.attendanceGroupNameNotList.size() > 0">
${_conditionType_} a.attendanceGroupName not in
<foreach collection="conditionParamRef.attendanceGroupNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -740,13 +820,13 @@
${_conditionType_} a.shiftsId is null
</if>
</if>
<if test="conditionParamRef.containsKey('shiftsIdList')">
<if test="conditionParamRef.containsKey('shiftsIdList') and conditionParamRef.shiftsIdList.size() > 0">
${_conditionType_} a.shiftsId in
<foreach collection="conditionParamRef.shiftsIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('shiftsIdNotList')">
<if test="conditionParamRef.containsKey('shiftsIdNotList') and conditionParamRef.shiftsIdNotList.size() > 0">
${_conditionType_} a.shiftsId not in
<foreach collection="conditionParamRef.shiftsIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -768,13 +848,13 @@
${_conditionType_} a.shiftsName is null
</if>
</if>
<if test="conditionParamRef.containsKey('shiftsNameList')">
<if test="conditionParamRef.containsKey('shiftsNameList') and conditionParamRef.shiftsNameList.size() > 0">
${_conditionType_} a.shiftsName in
<foreach collection="conditionParamRef.shiftsNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('shiftsNameNotList')">
<if test="conditionParamRef.containsKey('shiftsNameNotList') and conditionParamRef.shiftsNameNotList.size() > 0">
${_conditionType_} a.shiftsName not in
<foreach collection="conditionParamRef.shiftsNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -804,13 +884,13 @@
${_conditionType_} a.attendanceAddress is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendanceAddressList')">
<if test="conditionParamRef.containsKey('attendanceAddressList') and conditionParamRef.attendanceAddressList.size() > 0">
${_conditionType_} a.attendanceAddress in
<foreach collection="conditionParamRef.attendanceAddressList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceAddressNotList')">
<if test="conditionParamRef.containsKey('attendanceAddressNotList') and conditionParamRef.attendanceAddressNotList.size() > 0">
${_conditionType_} a.attendanceAddress not in
<foreach collection="conditionParamRef.attendanceAddressNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -825,13 +905,13 @@
${_conditionType_} a.eventSource is null
</if>
</if>
<if test="conditionParamRef.containsKey('eventSourceList')">
<if test="conditionParamRef.containsKey('eventSourceList') and conditionParamRef.eventSourceList.size() > 0">
${_conditionType_} a.eventSource in
<foreach collection="conditionParamRef.eventSourceList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('eventSourceNotList')">
<if test="conditionParamRef.containsKey('eventSourceNotList') and conditionParamRef.eventSourceNotList.size() > 0">
${_conditionType_} a.eventSource not in
<foreach collection="conditionParamRef.eventSourceNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -846,13 +926,13 @@
${_conditionType_} a.remark is null
</if>
</if>
<if test="conditionParamRef.containsKey('remarkList')">
<if test="conditionParamRef.containsKey('remarkList') and conditionParamRef.remarkList.size() > 0">
${_conditionType_} a.remark in
<foreach collection="conditionParamRef.remarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('remarkNotList')">
<if test="conditionParamRef.containsKey('remarkNotList') and conditionParamRef.remarkNotList.size() > 0">
${_conditionType_} a.remark not in
<foreach collection="conditionParamRef.remarkNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -866,13 +946,13 @@
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList')">
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdNotList')">
<if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
${_conditionType_} a.createUserId not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -908,13 +988,13 @@
${_conditionType_} a.updateUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserIdList')">
<if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
${_conditionType_} a.updateUserId in
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdNotList')">
<if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
${_conditionType_} a.updateUserId not in
<foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -942,6 +1022,108 @@
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('signInResult')">
<if test="conditionParamRef.signInResult != null ">
${_conditionType_} a.signInResult = #{${_conditionParam_}.signInResult}
</if>
<if test="conditionParamRef.signInResult == null">
${_conditionType_} a.signInResult is null
</if>
</if>
<if test="conditionParamRef.containsKey('signInResultList') and conditionParamRef.signInResultList.size() > 0">
${_conditionType_} a.signInResult in
<foreach collection="conditionParamRef.signInResultList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('signInResultNotList') and conditionParamRef.signInResultNotList.size() > 0">
${_conditionType_} a.signInResult not in
<foreach collection="conditionParamRef.signInResultNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('signInResultStart') and conditionParamRef.signInResultStart != null">
${_conditionType_} a.signInResult <![CDATA[ >= ]]> #{${_conditionParam_}.signInResultStart}
</if>
<if test="conditionParamRef.containsKey('signInResultEnd') and conditionParamRef.signInResultEnd != null">
${_conditionType_} a.signInResult <![CDATA[ <= ]]> #{${_conditionParam_}.signInResultEnd}
</if>
<if test="conditionParamRef.containsKey('signOutResult')">
<if test="conditionParamRef.signOutResult != null ">
${_conditionType_} a.signOutResult = #{${_conditionParam_}.signOutResult}
</if>
<if test="conditionParamRef.signOutResult == null">
${_conditionType_} a.signOutResult is null
</if>
</if>
<if test="conditionParamRef.containsKey('signOutResultList') and conditionParamRef.signOutResultList.size() > 0">
${_conditionType_} a.signOutResult in
<foreach collection="conditionParamRef.signOutResultList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('signOutResultNotList') and conditionParamRef.signOutResultNotList.size() > 0">
${_conditionType_} a.signOutResult not in
<foreach collection="conditionParamRef.signOutResultNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('signOutResultStart') and conditionParamRef.signOutResultStart != null">
${_conditionType_} a.signOutResult <![CDATA[ >= ]]> #{${_conditionParam_}.signOutResultStart}
</if>
<if test="conditionParamRef.containsKey('signOutResultEnd') and conditionParamRef.signOutResultEnd != null">
${_conditionType_} a.signOutResult <![CDATA[ <= ]]> #{${_conditionParam_}.signOutResultEnd}
</if>
<if test="conditionParamRef.containsKey('attendType')">
<if test="conditionParamRef.attendType != null and conditionParamRef.attendType != ''">
${_conditionType_} a.attendType like #{${_conditionParam_}.attendType}
</if>
<if test="conditionParamRef.attendType == null">
${_conditionType_} a.attendType is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendTypeList') and conditionParamRef.attendTypeList.size() > 0">
${_conditionType_} a.attendType in
<foreach collection="conditionParamRef.attendTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendTypeNotList') and conditionParamRef.attendTypeNotList.size() > 0">
${_conditionType_} a.attendType not in
<foreach collection="conditionParamRef.attendTypeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('punchResult')">
<if test="conditionParamRef.punchResult != null ">
${_conditionType_} a.punchResult = #{${_conditionParam_}.punchResult}
</if>
<if test="conditionParamRef.punchResult == null">
${_conditionType_} a.punchResult is null
</if>
</if>
<if test="conditionParamRef.containsKey('punchResultList') and conditionParamRef.punchResultList.size() > 0">
${_conditionType_} a.punchResult in
<foreach collection="conditionParamRef.punchResultList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('punchResultNotList') and conditionParamRef.punchResultNotList.size() > 0">
${_conditionType_} a.punchResult not in
<foreach collection="conditionParamRef.punchResultNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('punchResultStart') and conditionParamRef.punchResultStart != null">
${_conditionType_} a.punchResult <![CDATA[ >= ]]> #{${_conditionParam_}.punchResultStart}
</if>
<if test="conditionParamRef.containsKey('punchResultEnd') and conditionParamRef.punchResultEnd != null">
${_conditionType_} a.punchResult <![CDATA[ <= ]]> #{${_conditionParam_}.punchResultEnd}
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
......@@ -1055,6 +1237,26 @@
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('signInResult')">
a.signInResult
<if test='orderCol.signInResult != null and "DESC".equalsIgnoreCase(orderCol.signInResult)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('signOutResult')">
a.signOutResult
<if test='orderCol.signOutResult != null and "DESC".equalsIgnoreCase(orderCol.signOutResult)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('attendType')">
a.attendType
<if test='orderCol.attendType != null and "DESC".equalsIgnoreCase(orderCol.attendType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('punchResult')">
a.punchResult
<if test='orderCol.punchResult != null and "DESC".equalsIgnoreCase(orderCol.punchResult)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
......
......@@ -23,23 +23,11 @@
<result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
<collection property="attendanceRecordDetailList" column="id" ofType="AttendanceRecordDetailEntity" javaType="ArrayList" select="getAttendanceRecordDetailByRecordId"></collection>
</resultMap>
<resultMap type="AttendanceRecordDetailEntity" id="AttendanceRecordDetailEntity-Map">
<result property="id" column="id" />
<result property="recordId" column="recordId" />
<result property="shiftsId" column="shiftsId" />
<result property="shiftsName" column="shiftsName" />
<result property="goWorkDate" column="goWorkDate" />
<result property="goWorkResult" column="goWorkResult" />
<result property="offWorkDate" column="offWorkDate" />
<result property="offWorkResult" column="offWorkResult" />
<result property="remark" column="remark" />
<result property="createUserId" column="createUserId" />
<result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
<result property="orderNum" column="orderNum" />
<result property="signInResult" column="signInResult" />
<result property="signOutResult" column="signOutResult" />
<result property="attendType" column="attendType" />
<result property="punchResult" column="punchResult" />
</resultMap>
......@@ -100,29 +88,35 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
</if>
</trim>
</sql>
<!-- 子表所有列 -->
<sql id="_columns_sub">
<trim suffixOverrides="," suffix="">
b.id,b.recordId,b.shiftsId,b.shiftsName,b.goWorkDate,b.goWorkResult,b.offWorkDate,b.offWorkResult,b.remark,b.createUserId,b.createTime,b.updateUserId,b.updateTime,b.orderNum,
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('signInResult') or colPickMode == 1 and data.containsKey('signInResult')))">
a.signInResult,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('signOutResult') or colPickMode == 1 and data.containsKey('signOutResult')))">
a.signOutResult,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('attendType') or colPickMode == 1 and data.containsKey('attendType')))">
a.attendType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('punchResult') or colPickMode == 1 and data.containsKey('punchResult')))">
a.punchResult,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="AttendanceRecordEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_attendance_record
(staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,shiftsId,shiftsName,attendanceDate,remark,createUserId,createTime,updateUserId,updateTime)
(staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,shiftsId,shiftsName,attendanceDate,remark,createUserId,createTime,updateUserId,updateTime,signInResult,signOutResult,attendType,punchResult)
VALUES
(#{staffId},#{staffName},#{workNum},#{deptId},#{deptName},#{positionId},#{positionName},#{attendanceGroupId},#{attendanceGroupName},#{shiftsId},#{shiftsName},#{attendanceDate},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
(#{staffId},#{staffName},#{workNum},#{deptId},#{deptName},#{positionId},#{positionName},#{attendanceGroupId},#{attendanceGroupName},#{shiftsId},#{shiftsName},#{attendanceDate},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{signInResult},#{signOutResult},#{attendType},#{punchResult})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_attendance_record
(staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,shiftsId,shiftsName,attendanceDate,remark,createUserId,createTime,updateUserId,updateTime)
(staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,shiftsId,shiftsName,attendanceDate,remark,createUserId,createTime,updateUserId,updateTime,signInResult,signOutResult,attendType,punchResult)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.staffId},#{item.staffName},#{item.workNum},#{item.deptId},#{item.deptName},#{item.positionId},#{item.positionName},#{item.attendanceGroupId},#{item.attendanceGroupName},#{item.shiftsId},#{item.shiftsName},#{item.attendanceDate},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime})
(#{item.staffId},#{item.staffName},#{item.workNum},#{item.deptId},#{item.deptName},#{item.positionId},#{item.positionName},#{item.attendanceGroupId},#{item.attendanceGroupName},#{item.shiftsId},#{item.shiftsName},#{item.attendanceDate},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.signInResult},#{item.signOutResult},#{item.attendType},#{item.punchResult})
</foreach>
</insert>
......@@ -204,6 +198,27 @@
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('signInResult')) or (colPickMode==1 and !data.containsKey('signInResult'))">
a.signInResult=#{data.signInResult},
</if>
<if test="(colPickMode==0 and data.containsKey('signInResultIncrement')) or (colPickMode==1 and !data.containsKey('signInResultIncrement'))">
a.signInResult=ifnull(a.signInResult,0) + #{data.signInResultIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('signOutResult')) or (colPickMode==1 and !data.containsKey('signOutResult'))">
a.signOutResult=#{data.signOutResult},
</if>
<if test="(colPickMode==0 and data.containsKey('signOutResultIncrement')) or (colPickMode==1 and !data.containsKey('signOutResultIncrement'))">
a.signOutResult=ifnull(a.signOutResult,0) + #{data.signOutResultIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('attendType')) or (colPickMode==1 and !data.containsKey('attendType'))">
a.attendType=#{data.attendType},
</if>
<if test="(colPickMode==0 and data.containsKey('punchResult')) or (colPickMode==1 and !data.containsKey('punchResult'))">
a.punchResult=#{data.punchResult},
</if>
<if test="(colPickMode==0 and data.containsKey('punchResultIncrement')) or (colPickMode==1 and !data.containsKey('punchResultIncrement'))">
a.punchResult=ifnull(a.punchResult,0) + #{data.punchResultIncrement},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
......@@ -370,6 +385,49 @@
</if>
</foreach>
</trim>
<trim prefix="signInResult=(case" suffix="ELSE signInResult end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('signInResult')) or (colPickMode==1 and !item.containsKey('signInResult'))">
when a.id=#{item.id} then #{item.signInResult}
</when>
<when test="(colPickMode==0 and item.containsKey('signInResultIncrement')) or (colPickMode==1 and !item.containsKey('signInResultIncrement'))">
when a.id=#{item.id} then ifnull(a.signInResult,0) + #{item.signInResultIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="signOutResult=(case" suffix="ELSE signOutResult end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('signOutResult')) or (colPickMode==1 and !item.containsKey('signOutResult'))">
when a.id=#{item.id} then #{item.signOutResult}
</when>
<when test="(colPickMode==0 and item.containsKey('signOutResultIncrement')) or (colPickMode==1 and !item.containsKey('signOutResultIncrement'))">
when a.id=#{item.id} then ifnull(a.signOutResult,0) + #{item.signOutResultIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="attendType=(case" suffix="ELSE attendType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('attendType')) or (colPickMode==1 and !item.containsKey('attendType'))">
when a.id=#{item.id} then #{item.attendType}
</if>
</foreach>
</trim>
<trim prefix="punchResult=(case" suffix="ELSE punchResult end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('punchResult')) or (colPickMode==1 and !item.containsKey('punchResult'))">
when a.id=#{item.id} then #{item.punchResult}
</when>
<when test="(colPickMode==0 and item.containsKey('punchResultIncrement')) or (colPickMode==1 and !item.containsKey('punchResultIncrement'))">
when a.id=#{item.id} then ifnull(a.punchResult,0) + #{item.punchResultIncrement}
</when>
</choose>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
......@@ -430,14 +488,6 @@
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取子列表 -->
<select id="getAttendanceRecordDetailByRecordId" parameterType="java.lang.Long" resultMap="AttendanceRecordDetailEntity-Map">
select <include refid="_columns_sub"/>
from mortals_xhx_attendance_record_detail as b
<trim suffixOverrides="where" suffix="">
where b.recordId = #{id}
</trim>
</select>
......@@ -502,13 +552,13 @@
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idNotList')">
<if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
${_conditionType_} a.id not in
<foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -529,13 +579,13 @@
${_conditionType_} a.staffId is null
</if>
</if>
<if test="conditionParamRef.containsKey('staffIdList')">
<if test="conditionParamRef.containsKey('staffIdList') and conditionParamRef.staffIdList.size() > 0">
${_conditionType_} a.staffId in
<foreach collection="conditionParamRef.staffIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffIdNotList')">
<if test="conditionParamRef.containsKey('staffIdNotList') and conditionParamRef.staffIdNotList.size() > 0">
${_conditionType_} a.staffId not in
<foreach collection="conditionParamRef.staffIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -557,13 +607,13 @@
${_conditionType_} a.staffName is null
</if>
</if>
<if test="conditionParamRef.containsKey('staffNameList')">
<if test="conditionParamRef.containsKey('staffNameList') and conditionParamRef.staffNameList.size() > 0">
${_conditionType_} a.staffName in
<foreach collection="conditionParamRef.staffNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffNameNotList')">
<if test="conditionParamRef.containsKey('staffNameNotList') and conditionParamRef.staffNameNotList.size() > 0">
${_conditionType_} a.staffName not in
<foreach collection="conditionParamRef.staffNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -578,13 +628,13 @@
${_conditionType_} a.workNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('workNumList')">
<if test="conditionParamRef.containsKey('workNumList') and conditionParamRef.workNumList.size() > 0">
${_conditionType_} a.workNum in
<foreach collection="conditionParamRef.workNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workNumNotList')">
<if test="conditionParamRef.containsKey('workNumNotList') and conditionParamRef.workNumNotList.size() > 0">
${_conditionType_} a.workNum not in
<foreach collection="conditionParamRef.workNumNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -598,13 +648,13 @@
${_conditionType_} a.deptId is null
</if>
</if>
<if test="conditionParamRef.containsKey('deptIdList')">
<if test="conditionParamRef.containsKey('deptIdList') and conditionParamRef.deptIdList.size() > 0">
${_conditionType_} a.deptId in
<foreach collection="conditionParamRef.deptIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptIdNotList')">
<if test="conditionParamRef.containsKey('deptIdNotList') and conditionParamRef.deptIdNotList.size() > 0">
${_conditionType_} a.deptId not in
<foreach collection="conditionParamRef.deptIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -626,13 +676,13 @@
${_conditionType_} a.deptName is null
</if>
</if>
<if test="conditionParamRef.containsKey('deptNameList')">
<if test="conditionParamRef.containsKey('deptNameList') and conditionParamRef.deptNameList.size() > 0">
${_conditionType_} a.deptName in
<foreach collection="conditionParamRef.deptNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptNameNotList')">
<if test="conditionParamRef.containsKey('deptNameNotList') and conditionParamRef.deptNameNotList.size() > 0">
${_conditionType_} a.deptName not in
<foreach collection="conditionParamRef.deptNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -646,13 +696,13 @@
${_conditionType_} a.positionId is null
</if>
</if>
<if test="conditionParamRef.containsKey('positionIdList')">
<if test="conditionParamRef.containsKey('positionIdList') and conditionParamRef.positionIdList.size() > 0">
${_conditionType_} a.positionId in
<foreach collection="conditionParamRef.positionIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('positionIdNotList')">
<if test="conditionParamRef.containsKey('positionIdNotList') and conditionParamRef.positionIdNotList.size() > 0">
${_conditionType_} a.positionId not in
<foreach collection="conditionParamRef.positionIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -674,13 +724,13 @@
${_conditionType_} a.positionName is null
</if>
</if>
<if test="conditionParamRef.containsKey('positionNameList')">
<if test="conditionParamRef.containsKey('positionNameList') and conditionParamRef.positionNameList.size() > 0">
${_conditionType_} a.positionName in
<foreach collection="conditionParamRef.positionNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('positionNameNotList')">
<if test="conditionParamRef.containsKey('positionNameNotList') and conditionParamRef.positionNameNotList.size() > 0">
${_conditionType_} a.positionName not in
<foreach collection="conditionParamRef.positionNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -694,13 +744,13 @@
${_conditionType_} a.attendanceGroupId is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupIdList')">
<if test="conditionParamRef.containsKey('attendanceGroupIdList') and conditionParamRef.attendanceGroupIdList.size() > 0">
${_conditionType_} a.attendanceGroupId in
<foreach collection="conditionParamRef.attendanceGroupIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupIdNotList')">
<if test="conditionParamRef.containsKey('attendanceGroupIdNotList') and conditionParamRef.attendanceGroupIdNotList.size() > 0">
${_conditionType_} a.attendanceGroupId not in
<foreach collection="conditionParamRef.attendanceGroupIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -722,13 +772,13 @@
${_conditionType_} a.attendanceGroupName is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupNameList')">
<if test="conditionParamRef.containsKey('attendanceGroupNameList') and conditionParamRef.attendanceGroupNameList.size() > 0">
${_conditionType_} a.attendanceGroupName in
<foreach collection="conditionParamRef.attendanceGroupNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupNameNotList')">
<if test="conditionParamRef.containsKey('attendanceGroupNameNotList') and conditionParamRef.attendanceGroupNameNotList.size() > 0">
${_conditionType_} a.attendanceGroupName not in
<foreach collection="conditionParamRef.attendanceGroupNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -742,13 +792,13 @@
${_conditionType_} a.shiftsId is null
</if>
</if>
<if test="conditionParamRef.containsKey('shiftsIdList')">
<if test="conditionParamRef.containsKey('shiftsIdList') and conditionParamRef.shiftsIdList.size() > 0">
${_conditionType_} a.shiftsId in
<foreach collection="conditionParamRef.shiftsIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('shiftsIdNotList')">
<if test="conditionParamRef.containsKey('shiftsIdNotList') and conditionParamRef.shiftsIdNotList.size() > 0">
${_conditionType_} a.shiftsId not in
<foreach collection="conditionParamRef.shiftsIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -770,13 +820,13 @@
${_conditionType_} a.shiftsName is null
</if>
</if>
<if test="conditionParamRef.containsKey('shiftsNameList')">
<if test="conditionParamRef.containsKey('shiftsNameList') and conditionParamRef.shiftsNameList.size() > 0">
${_conditionType_} a.shiftsName in
<foreach collection="conditionParamRef.shiftsNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('shiftsNameNotList')">
<if test="conditionParamRef.containsKey('shiftsNameNotList') and conditionParamRef.shiftsNameNotList.size() > 0">
${_conditionType_} a.shiftsName not in
<foreach collection="conditionParamRef.shiftsNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -806,13 +856,13 @@
${_conditionType_} a.remark is null
</if>
</if>
<if test="conditionParamRef.containsKey('remarkList')">
<if test="conditionParamRef.containsKey('remarkList') and conditionParamRef.remarkList.size() > 0">
${_conditionType_} a.remark in
<foreach collection="conditionParamRef.remarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('remarkNotList')">
<if test="conditionParamRef.containsKey('remarkNotList') and conditionParamRef.remarkNotList.size() > 0">
${_conditionType_} a.remark not in
<foreach collection="conditionParamRef.remarkNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -826,13 +876,13 @@
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList')">
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdNotList')">
<if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
${_conditionType_} a.createUserId not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -868,13 +918,13 @@
${_conditionType_} a.updateUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserIdList')">
<if test="conditionParamRef.containsKey('updateUserIdList') and conditionParamRef.updateUserIdList.size() > 0">
${_conditionType_} a.updateUserId in
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdNotList')">
<if test="conditionParamRef.containsKey('updateUserIdNotList') and conditionParamRef.updateUserIdNotList.size() > 0">
${_conditionType_} a.updateUserId not in
<foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
......@@ -902,6 +952,108 @@
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('signInResult')">
<if test="conditionParamRef.signInResult != null ">
${_conditionType_} a.signInResult = #{${_conditionParam_}.signInResult}
</if>
<if test="conditionParamRef.signInResult == null">
${_conditionType_} a.signInResult is null
</if>
</if>
<if test="conditionParamRef.containsKey('signInResultList') and conditionParamRef.signInResultList.size() > 0">
${_conditionType_} a.signInResult in
<foreach collection="conditionParamRef.signInResultList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('signInResultNotList') and conditionParamRef.signInResultNotList.size() > 0">
${_conditionType_} a.signInResult not in
<foreach collection="conditionParamRef.signInResultNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('signInResultStart') and conditionParamRef.signInResultStart != null">
${_conditionType_} a.signInResult <![CDATA[ >= ]]> #{${_conditionParam_}.signInResultStart}
</if>
<if test="conditionParamRef.containsKey('signInResultEnd') and conditionParamRef.signInResultEnd != null">
${_conditionType_} a.signInResult <![CDATA[ <= ]]> #{${_conditionParam_}.signInResultEnd}
</if>
<if test="conditionParamRef.containsKey('signOutResult')">
<if test="conditionParamRef.signOutResult != null ">
${_conditionType_} a.signOutResult = #{${_conditionParam_}.signOutResult}
</if>
<if test="conditionParamRef.signOutResult == null">
${_conditionType_} a.signOutResult is null
</if>
</if>
<if test="conditionParamRef.containsKey('signOutResultList') and conditionParamRef.signOutResultList.size() > 0">
${_conditionType_} a.signOutResult in
<foreach collection="conditionParamRef.signOutResultList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('signOutResultNotList') and conditionParamRef.signOutResultNotList.size() > 0">
${_conditionType_} a.signOutResult not in
<foreach collection="conditionParamRef.signOutResultNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('signOutResultStart') and conditionParamRef.signOutResultStart != null">
${_conditionType_} a.signOutResult <![CDATA[ >= ]]> #{${_conditionParam_}.signOutResultStart}
</if>
<if test="conditionParamRef.containsKey('signOutResultEnd') and conditionParamRef.signOutResultEnd != null">
${_conditionType_} a.signOutResult <![CDATA[ <= ]]> #{${_conditionParam_}.signOutResultEnd}
</if>
<if test="conditionParamRef.containsKey('attendType')">
<if test="conditionParamRef.attendType != null and conditionParamRef.attendType != ''">
${_conditionType_} a.attendType like #{${_conditionParam_}.attendType}
</if>
<if test="conditionParamRef.attendType == null">
${_conditionType_} a.attendType is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendTypeList') and conditionParamRef.attendTypeList.size() > 0">
${_conditionType_} a.attendType in
<foreach collection="conditionParamRef.attendTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendTypeNotList') and conditionParamRef.attendTypeNotList.size() > 0">
${_conditionType_} a.attendType not in
<foreach collection="conditionParamRef.attendTypeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('punchResult')">
<if test="conditionParamRef.punchResult != null ">
${_conditionType_} a.punchResult = #{${_conditionParam_}.punchResult}
</if>
<if test="conditionParamRef.punchResult == null">
${_conditionType_} a.punchResult is null
</if>
</if>
<if test="conditionParamRef.containsKey('punchResultList') and conditionParamRef.punchResultList.size() > 0">
${_conditionType_} a.punchResult in
<foreach collection="conditionParamRef.punchResultList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('punchResultNotList') and conditionParamRef.punchResultNotList.size() > 0">
${_conditionType_} a.punchResult not in
<foreach collection="conditionParamRef.punchResultNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('punchResultStart') and conditionParamRef.punchResultStart != null">
${_conditionType_} a.punchResult <![CDATA[ >= ]]> #{${_conditionParam_}.punchResultStart}
</if>
<if test="conditionParamRef.containsKey('punchResultEnd') and conditionParamRef.punchResultEnd != null">
${_conditionType_} a.punchResult <![CDATA[ <= ]]> #{${_conditionParam_}.punchResultEnd}
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
......@@ -1005,6 +1157,26 @@
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('signInResult')">
a.signInResult
<if test='orderCol.signInResult != null and "DESC".equalsIgnoreCase(orderCol.signInResult)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('signOutResult')">
a.signOutResult
<if test='orderCol.signOutResult != null and "DESC".equalsIgnoreCase(orderCol.signOutResult)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('attendType')">
a.attendType
<if test='orderCol.attendType != null and "DESC".equalsIgnoreCase(orderCol.attendType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('punchResult')">
a.punchResult
<if test='orderCol.punchResult != null and "DESC".equalsIgnoreCase(orderCol.punchResult)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
......@@ -1018,7 +1190,4 @@
</trim>
</if>
</sql>
<select id="getRecordId" resultType="com.mortals.xhx.module.attendance.model.AttendanceRecordEntity">
select id from mortals_xhx_attendance_record where staffId =#{id}
</select>
</mapper>
\ No newline at end of file
......@@ -795,4 +795,16 @@ PRIMARY KEY (`id`)
ALTER TABLE mortals_xhx_attendance_record ADD COLUMN `signInResult` tinyint(2) DEFAULT '0' COMMENT '签到结果(0.否,1.是)' ;
ALTER TABLE mortals_xhx_attendance_record ADD COLUMN `signOutResult` tinyint(2) DEFAULT '0' COMMENT '签退结果(0.否,1.是)';
ALTER TABLE mortals_xhx_attendance_record ADD COLUMN `attendType` varchar(128) DEFAULT '0' COMMENT '考勤类型' ;
ALTER TABLE mortals_xhx_attendance_record ADD COLUMN `punchResult` tinyint(2) DEFAULT '0' COMMENT '打卡结果(0.否,1.是)';
ALTER TABLE mortals_xhx_attendance_record_hik ADD COLUMN `signInResult` tinyint(2) DEFAULT '0' COMMENT '签到结果(0.否,1.是)' ;
ALTER TABLE mortals_xhx_attendance_record_hik ADD COLUMN `signOutResult` tinyint(2) DEFAULT '0' COMMENT '签退结果(0.否,1.是)';
ALTER TABLE mortals_xhx_attendance_record_hik ADD COLUMN `attendType` varchar(128) DEFAULT '0' COMMENT '考勤类型';
ALTER TABLE mortals_xhx_attendance_record_hik ADD COLUMN `punchResult` tinyint(2) DEFAULT '0' COMMENT '打卡结果(0.否,1.是)';
ALTER TABLE mortals_xhx_attendance_stat ADD COLUMN `goTimes` int(9) DEFAULT '0' COMMENT '出勤天数';
ALTER TABLE mortals_xhx_attendance_stat ADD COLUMN`morningTimes` int(9) DEFAULT '0' COMMENT '上午缺卡次数';
ALTER TABLE mortals_xhx_attendance_stat ADD COLUMN `afternoonTimes` int(9) DEFAULT '0' 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