Commit 6867b551 authored by 赵啸非's avatar 赵啸非

添加考勤汇总前后端等数据

parent 8303489a
......@@ -49,6 +49,14 @@ const router = new Router({
...restBuilder('staff/regular', 'staff/regular'),// 员工转正信息
...restBuilder('staff/leave', 'staff/leave'),// 员工离职信息
...restBuilder('staff/contract', 'staff/contract'),// 员工合同信息
...restBuilder('attendance/record/hik', 'attendance/record/hik'),// 海康考勤
...restBuilder('attendance/record/error', 'attendance/record/error'),// 考勤打卡记录异常信息
...restBuilder('attendance/stat', 'attendance/stat'),// 考勤汇总信息
...restBuilder('attendance/staff/stat', 'attendance/staff/stat'),// 考勤人员汇总信息
...restBuilder('attendance/record', 'attendance/record'),// 考勤打卡记录信息
...restBuilder('attendance/record/detail', 'attendance/record/detail'),// 考勤打卡记录详细信息
...restBuilder('attendance/group', 'attendance/group'),// 考勤组信息
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="员工ID" prop="staffId" v-model="form.staffId" placeholder="请输入员工ID"/>
<Field label="员工姓名" prop="staffName" v-model="form.staffName" placeholder="请输入员工姓名"/>
<Field label="工号" prop="workNum" v-model="form.workNum" placeholder="请输入工号"/>
<Field label="所属部门" prop="deptId" v-model="form.deptId" placeholder="请输入所属部门"/>
<Field label="所属部门名称" prop="deptName" v-model="form.deptName" placeholder="请输入所属部门名称"/>
<Field label="职位ID" prop="positionId" v-model="form.positionId" placeholder="请输入职位ID"/>
<Field label="职位名称" prop="positionName" v-model="form.positionName" placeholder="请输入职位名称"/>
<Field label="所属考勤组ID" prop="attendanceGroupId" v-model="form.attendanceGroupId" placeholder="请输入所属考勤组ID"/>
<Field label="所属考勤组名称" prop="attendanceGroupName" v-model="form.attendanceGroupName" placeholder="请输入所属考勤组名称"/>
<Field label="班次ID" prop="shiftsId" v-model="form.shiftsId" placeholder="请输入班次ID"/>
<Field label="班次名称" prop="shiftsName" v-model="form.shiftsName" placeholder="请输入班次名称"/>
<Field label="上下班时间" prop="goOffDateTime" v-model="form.goOffDateTime" type="date" />
<Field label="异常时间" prop="errorDateTime" v-model="form.errorDateTime" type="date" />
<Field label="实际打卡时间" prop="actualAttendanceDateTime" v-model="form.actualAttendanceDateTime" type="date" />
<Field label="处理时间" prop="operDateTime" v-model="form.operDateTime" type="date" />
<Field label="处理人" prop="opertor" v-model="form.opertor" placeholder="请输入处理人"/>
<Field label="异常状态" prop="errorStatus" v-model="form.errorStatus" type="select" :enumData="dict.errorStatus" placeholder="请选择异常状态"/>
<Field label="处理状态" prop="processStatus" v-model="form.processStatus" type="select" :enumData="dict.processStatus" placeholder="请选择处理状态"/>
<Field label="处理结果" prop="processResult" v-model="form.processResult" placeholder="请输入处理结果"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "考勤打卡记录异常信息",
// 是否显示弹出层
open: false,
toString:[
"errorStatus",
"processStatus",
],
// 表单校验
rules: {
staffName: [
{required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="attendance/record/error/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改考勤打卡记录异常信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "attendance/record/error/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增考勤打卡记录异常信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="attendance/record/error/view";
this.getData();
this.pageInfo.type="view"
this.title = "考勤打卡记录异常信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
workNum : "",
deptId : null,
deptName : "",
positionId : null,
positionName : "",
attendanceGroupId : null,
attendanceGroupName : "",
shiftsId : null,
shiftsName : "",
goOffDateTime : null,
errorDateTime : null,
actualAttendanceDateTime : null,
operDateTime : null,
opertor : "",
errorStatus : 0,
processStatus : 0,
processResult : "",
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "AttendanceRecordErrorList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
{
name: "staffName",
type: "text",
label: "员工姓名",
fuzzy: true
},
{
name: "deptId",
type: "text",
label: "所属部门",
fuzzy: true
},
{
name: "errorStatus",
type: "select",
label: "异常状态",
fuzzy: true
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "员工姓名", prop: "staffName"},
{label: "上下班时间", prop: "goOffDateTime", formatter: this.formatterDate},
{label: "异常时间", prop: "errorDateTime", formatter: this.formatterDate},
{label: "实际打卡时间", prop: "actualAttendanceDateTime", formatter: this.formatterDate},
{label: "处理时间", prop: "operDateTime", formatter: this.formatterDate},
{label: "异常状态", prop: "errorStatus",formatter: this.formatter},
{label: "处理状态", prop: "processStatus",formatter: this.formatter},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="员工ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item label="员工姓名" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item label="工号" label-class-name="labelClass" content-class-name="contentClass">
{{form.workNum}}
</el-descriptions-item>
<el-descriptions-item label="所属部门" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item label="所属部门名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item label="职位ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.positionId}}
</el-descriptions-item>
<el-descriptions-item label="职位名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.positionName}}
</el-descriptions-item>
<el-descriptions-item label="所属考勤组ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendanceGroupId}}
</el-descriptions-item>
<el-descriptions-item label="所属考勤组名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendanceGroupName}}
</el-descriptions-item>
<el-descriptions-item label="班次ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.shiftsId}}
</el-descriptions-item>
<el-descriptions-item label="班次名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.shiftsName}}
</el-descriptions-item>
<el-descriptions-item label="上下班时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.goOffDateTime)}}
</el-descriptions-item>
<el-descriptions-item label="异常时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.errorDateTime)}}
</el-descriptions-item>
<el-descriptions-item label="实际打卡时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.actualAttendanceDateTime)}}
</el-descriptions-item>
<el-descriptions-item label="处理时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.operDateTime)}}
</el-descriptions-item>
<el-descriptions-item label="处理人" label-class-name="labelClass" content-class-name="contentClass">
{{form.opertor}}
</el-descriptions-item>
<el-descriptions-item label="异常状态" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("errorStatus", form.errorStatus) }}
</el-descriptions-item>
<el-descriptions-item label="处理状态" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("processStatus", form.processStatus) }}
</el-descriptions-item>
<el-descriptions-item label="处理结果" label-class-name="labelClass" content-class-name="contentClass">
{{form.processResult}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
"errorStatus",
"processStatus",
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="员工ID" prop="staffId" v-model="form.staffId" placeholder="请输入员工ID"/>
<Field label="员工姓名" prop="staffName" v-model="form.staffName" placeholder="请输入员工姓名"/>
<Field label="工号" prop="workNum" v-model="form.workNum" placeholder="请输入工号"/>
<Field label="所属部门" prop="deptId" v-model="form.deptId" placeholder="请输入所属部门"/>
<Field label="所属部门名称" prop="deptName" v-model="form.deptName" placeholder="请输入所属部门名称"/>
<Field label="职位ID" prop="positionId" v-model="form.positionId" placeholder="请输入职位ID"/>
<Field label="职位名称" prop="positionName" v-model="form.positionName" placeholder="请输入职位名称"/>
<Field label="所属考勤组ID" prop="attendanceGroupId" v-model="form.attendanceGroupId" placeholder="请输入所属考勤组ID"/>
<Field label="所属考勤组名称" prop="attendanceGroupName" v-model="form.attendanceGroupName" placeholder="请输入所属考勤组名称"/>
<Field label="班次ID" prop="shiftsId" v-model="form.shiftsId" placeholder="请输入班次ID"/>
<Field label="班次名称" prop="shiftsName" v-model="form.shiftsName" placeholder="请输入班次名称"/>
<Field label="考勤日期" prop="attendanceDate" v-model="form.attendanceDate" type="date" />
<Field label="考勤点名称" prop="attendanceAddress" v-model="form.attendanceAddress" placeholder="请输入考勤点名称"/>
<Field label="事件源" prop="eventSource" v-model="form.eventSource" placeholder="请输入事件源"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "海康考勤打卡记录汇总信息",
// 是否显示弹出层
open: false,
toString:[
],
// 表单校验
rules: {
staffName: [
{required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="attendance/record/hik/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改海康考勤打卡记录汇总信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "attendance/record/hik/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增海康考勤打卡记录汇总信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="attendance/record/hik/view";
this.getData();
this.pageInfo.type="view"
this.title = "海康考勤打卡记录汇总信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
workNum : "",
deptId : null,
deptName : "",
positionId : null,
positionName : "",
attendanceGroupId : null,
attendanceGroupName : "",
shiftsId : null,
shiftsName : "",
attendanceDate : null,
attendanceAddress : "",
eventSource : "",
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "AttendanceRecordHikList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
{
name: "staffName",
type: "text",
label: "员工姓名",
fuzzy: true
},
{
name: "deptId",
type: "text",
label: "所属部门",
fuzzy: true
},
{
name: "attendanceGroupId",
type: "text",
label: "所属考勤组ID",
fuzzy: true
},
{
name: "shiftsId",
type: "text",
label: "班次ID",
fuzzy: true
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "员工姓名", prop: "staffName"},
{label: "考勤日期", prop: "attendanceDate", formatter: this.formatterDate},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="员工ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item label="员工姓名" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item label="工号" label-class-name="labelClass" content-class-name="contentClass">
{{form.workNum}}
</el-descriptions-item>
<el-descriptions-item label="所属部门" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item label="所属部门名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item label="职位ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.positionId}}
</el-descriptions-item>
<el-descriptions-item label="职位名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.positionName}}
</el-descriptions-item>
<el-descriptions-item label="所属考勤组ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendanceGroupId}}
</el-descriptions-item>
<el-descriptions-item label="所属考勤组名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendanceGroupName}}
</el-descriptions-item>
<el-descriptions-item label="班次ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.shiftsId}}
</el-descriptions-item>
<el-descriptions-item label="班次名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.shiftsName}}
</el-descriptions-item>
<el-descriptions-item label="考勤日期" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.attendanceDate)}}
</el-descriptions-item>
<el-descriptions-item label="考勤点名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendanceAddress}}
</el-descriptions-item>
<el-descriptions-item label="事件源" label-class-name="labelClass" content-class-name="contentClass">
{{form.eventSource}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="员工ID" prop="staffId" v-model="form.staffId" placeholder="请输入员工ID"/>
<Field label="员工姓名" prop="staffName" v-model="form.staffName" placeholder="请输入员工姓名"/>
<Field label="考勤汇总信息,如迟到*1,旷工*2等" prop="attendanceSummary" v-model="form.attendanceSummary" type="textarea" placeholder="请输入考勤汇总信息,如迟到*1,旷工*2等"/>
<Field label="年" prop="year" v-model="form.year" placeholder="请输入年"/>
<Field label="月" prop="month" v-model="form.month" placeholder="请输入月"/>
<Field label="日" prop="day" v-model="form.day" placeholder="请输入日"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "考勤人员汇总信息",
// 是否显示弹出层
open: false,
toString:[
],
// 表单校验
rules: {
staffName: [
{required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
attendanceSummary: [
{required: true,message: "请输入考勤汇总信息,如迟到*1,旷工*2等", trigger: "blur" },
{max: 512,message: "最多只能录入512个字符",trigger: "blur",},
],
year: [
{required: true,message: "请输入年", trigger: "blur" },
],
month: [
{required: true,message: "请输入月", trigger: "blur" },
],
day: [
{required: true,message: "请输入日", trigger: "blur" },
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="attendance/staff/stat/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改考勤人员汇总信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "attendance/staff/stat/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增考勤人员汇总信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="attendance/staff/stat/view";
this.getData();
this.pageInfo.type="view"
this.title = "考勤人员汇总信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
attendanceSummary : "",
year : null,
month : null,
day : null,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "AttendanceStaffStatList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
{
name: "staffName",
type: "text",
label: "员工姓名",
fuzzy: true
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "员工姓名", prop: "staffName"},
{label: "考勤汇总信息,如迟到*1,旷工*2等", prop: "attendanceSummary"},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="员工ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item label="员工姓名" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item label="考勤汇总信息,如迟到*1,旷工*2等" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendanceSummary}}
</el-descriptions-item>
<el-descriptions-item label="年" label-class-name="labelClass" content-class-name="contentClass">
{{form.year}}
</el-descriptions-item>
<el-descriptions-item label="月" label-class-name="labelClass" content-class-name="contentClass">
{{form.month}}
</el-descriptions-item>
<el-descriptions-item label="日" label-class-name="labelClass" content-class-name="contentClass">
{{form.day}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="窗口类别" prop="windowCategory" v-model="form.windowCategory" placeholder="请输入窗口类别"/>
<Field label="员工ID" prop="staffId" v-model="form.staffId" placeholder="请输入员工ID"/>
<Field label="员工姓名" prop="staffName" v-model="form.staffName" placeholder="请输入员工姓名"/>
<Field label="所属部门" prop="deptId" v-model="form.deptId" placeholder="请输入所属部门"/>
<Field label="所属部门名称" prop="deptName" v-model="form.deptName" placeholder="请输入所属部门名称"/>
<Field label="回单位" prop="backToUnit" v-model="form.backToUnit" placeholder="请输入回单位"/>
<Field label="因公请假" prop="onDutyLeave" v-model="form.onDutyLeave" placeholder="请输入因公请假"/>
<Field label="外出勘验" prop="outOfOffice" v-model="form.outOfOffice" placeholder="请输入外出勘验"/>
<Field label="值班补班" prop="shiftCompensation" v-model="form.shiftCompensation" placeholder="请输入值班补班"/>
<Field label="体检" prop="physicalExamination" v-model="form.physicalExamination" placeholder="请输入体检"/>
<Field label="隔离" prop="quarantine" v-model="form.quarantine" placeholder="请输入隔离"/>
<Field label="因公外出" prop="businessTrip" v-model="form.businessTrip" placeholder="请输入因公外出"/>
<Field label="公休" prop="publicHoliday" v-model="form.publicHoliday" placeholder="请输入公休"/>
<Field label="病假" prop="sickLeave" v-model="form.sickLeave" placeholder="请输入病假"/>
<Field label="丧假" prop="funeralLeave" v-model="form.funeralLeave" placeholder="请输入丧假"/>
<Field label="婚假" prop="marriageLeave" v-model="form.marriageLeave" placeholder="请输入婚假"/>
<Field label="育儿假" prop="childRearingLeave" v-model="form.childRearingLeave" placeholder="请输入育儿假"/>
<Field label="产假" prop="maternityLeave" v-model="form.maternityLeave" placeholder="请输入产假"/>
<Field label="调回单位" prop="transferBack" v-model="form.transferBack" placeholder="请输入调回单位"/>
<Field label="探亲假" prop="homeLeave" v-model="form.homeLeave" placeholder="请输入探亲假"/>
<Field label="事假" prop="personalLeave" v-model="form.personalLeave" placeholder="请输入事假"/>
<Field label="考勤汇总-旷工" prop="absenteeismDays" v-model="form.absenteeismDays" placeholder="请输入考勤汇总-旷工"/>
<Field label="考勤汇总-其他" prop="otherDays" v-model="form.otherDays" placeholder="请输入考勤汇总-其他"/>
<Field label="考勤汇总-出勤率" prop="attendanceRate" v-model="form.attendanceRate" placeholder="请输入考勤汇总-出勤率"/>
<Field label="考勤汇总-未按规定打卡" prop="nonCompliancePunch" v-model="form.nonCompliancePunch" placeholder="请输入考勤汇总-未按规定打卡"/>
<Field label="考勤汇总-迟到" prop="lateTimes" v-model="form.lateTimes" placeholder="请输入考勤汇总-迟到"/>
<Field label="考勤汇总-上网耍手机" prop="surfingMobileTimes" v-model="form.surfingMobileTimes" placeholder="请输入考勤汇总-上网耍手机"/>
<Field label="考勤汇总-溜班" prop="overtimeTimes" v-model="form.overtimeTimes" placeholder="请输入考勤汇总-溜班"/>
<Field label="考勤汇总-空岗" prop="vacancy" v-model="form.vacancy" placeholder="请输入考勤汇总-空岗"/>
<Field label="考勤汇总-未规范着装" prop="nonStandardDressTimes" v-model="form.nonStandardDressTimes" placeholder="请输入考勤汇总-未规范着装"/>
<Field label="考勤汇总-无故缺席会议" prop="unexcusedMeetingAbsence" v-model="form.unexcusedMeetingAbsence" placeholder="请输入考勤汇总-无故缺席会议"/>
<Field label="考勤汇总-会议早退" prop="earlyLeaveMeeting" v-model="form.earlyLeaveMeeting" placeholder="请输入考勤汇总-会议早退"/>
<Field label="年" prop="year" v-model="form.year" placeholder="请输入年"/>
<Field label="月" prop="month" v-model="form.month" placeholder="请输入月"/>
<Field label="日" prop="day" v-model="form.day" placeholder="请输入日"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "考勤汇总信息",
// 是否显示弹出层
open: false,
toString:[
],
// 表单校验
rules: {
windowCategory: [
{required: true,message: "请输入窗口类别", trigger: "blur" },
{max: 50,message: "最多只能录入50个字符",trigger: "blur",},
],
staffName: [
{required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
backToUnit: [
{required: true,message: "请输入回单位",trigger: "blur" },
],
onDutyLeave: [
{required: true,message: "请输入因公请假",trigger: "blur" },
],
outOfOffice: [
{required: true,message: "请输入外出勘验",trigger: "blur" },
],
shiftCompensation: [
{required: true,message: "请输入值班补班",trigger: "blur" },
],
physicalExamination: [
{required: true,message: "请输入体检",trigger: "blur" },
],
quarantine: [
{required: true,message: "请输入隔离",trigger: "blur" },
],
businessTrip: [
{required: true,message: "请输入因公外出",trigger: "blur" },
],
publicHoliday: [
{required: true,message: "请输入公休",trigger: "blur" },
],
sickLeave: [
{required: true,message: "请输入病假",trigger: "blur" },
],
funeralLeave: [
{required: true,message: "请输入丧假",trigger: "blur" },
],
marriageLeave: [
{required: true,message: "请输入婚假",trigger: "blur" },
],
childRearingLeave: [
{required: true,message: "请输入育儿假",trigger: "blur" },
],
maternityLeave: [
{required: true,message: "请输入产假",trigger: "blur" },
],
transferBack: [
{required: true,message: "请输入调回单位",trigger: "blur" },
],
homeLeave: [
{required: true,message: "请输入探亲假",trigger: "blur" },
],
personalLeave: [
{required: true,message: "请输入事假",trigger: "blur" },
],
absenteeismDays: [
{required: true,message: "请输入考勤汇总-旷工",trigger: "blur" },
],
otherDays: [
{required: true,message: "请输入考勤汇总-其他",trigger: "blur" },
],
attendanceRate: [
{required: true,message: "请输入考勤汇总-出勤率",trigger: "blur" },
],
nonCompliancePunch: [
{required: true,message: "请输入考勤汇总-未按规定打卡",trigger: "blur" },
],
lateTimes: [
{required: true,message: "请输入考勤汇总-迟到", trigger: "blur" },
],
surfingMobileTimes: [
{required: true,message: "请输入考勤汇总-上网耍手机", trigger: "blur" },
],
overtimeTimes: [
{required: true,message: "请输入考勤汇总-溜班", trigger: "blur" },
],
vacancy: [
{required: true,message: "请输入考勤汇总-空岗",trigger: "blur" },
],
nonStandardDressTimes: [
{required: true,message: "请输入考勤汇总-未规范着装", trigger: "blur" },
],
unexcusedMeetingAbsence: [
{required: true,message: "请输入考勤汇总-无故缺席会议",trigger: "blur" },
],
earlyLeaveMeeting: [
{required: true,message: "请输入考勤汇总-会议早退",trigger: "blur" },
],
year: [
{required: true,message: "请输入年", trigger: "blur" },
],
month: [
{required: true,message: "请输入月", trigger: "blur" },
],
day: [
{required: true,message: "请输入日", trigger: "blur" },
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="attendance/stat/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改考勤汇总信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "attendance/stat/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增考勤汇总信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="attendance/stat/view";
this.getData();
this.pageInfo.type="view"
this.title = "考勤汇总信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
windowCategory : "",
staffId : null,
staffName : "",
deptId : null,
deptName : "",
backToUnit : BigDecimal.valueOf(0.0),
onDutyLeave : BigDecimal.valueOf(0.0),
outOfOffice : BigDecimal.valueOf(0.0),
shiftCompensation : BigDecimal.valueOf(0.0),
physicalExamination : BigDecimal.valueOf(0.0),
quarantine : BigDecimal.valueOf(0.0),
businessTrip : BigDecimal.valueOf(0.0),
publicHoliday : BigDecimal.valueOf(0.0),
sickLeave : BigDecimal.valueOf(0.0),
funeralLeave : BigDecimal.valueOf(0.0),
marriageLeave : BigDecimal.valueOf(0.0),
childRearingLeave : BigDecimal.valueOf(0.0),
maternityLeave : BigDecimal.valueOf(0.0),
transferBack : BigDecimal.valueOf(0.0),
homeLeave : BigDecimal.valueOf(0.0),
personalLeave : BigDecimal.valueOf(0.0),
absenteeismDays : BigDecimal.valueOf(0.0),
otherDays : BigDecimal.valueOf(0.0),
attendanceRate : BigDecimal.valueOf(0.00),
nonCompliancePunch : BigDecimal.valueOf(0),
lateTimes : 0,
surfingMobileTimes : 0,
overtimeTimes : 0,
vacancy : BigDecimal.valueOf(0),
nonStandardDressTimes : 0,
unexcusedMeetingAbsence : BigDecimal.valueOf(0),
earlyLeaveMeeting : BigDecimal.valueOf(0),
year : null,
month : null,
day : null,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "AttendanceStatList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
{
name: "windowCategory",
type: "text",
label: "窗口类别",
fuzzy: true
},
{
name: "staffName",
type: "text",
label: "员工姓名",
fuzzy: true
},
{
name: "deptId",
type: "text",
label: "所属部门",
fuzzy: true
},
{
name: "backToUnit",
type: "text",
label: "回单位",
fuzzy: true
},
{
name: "onDutyLeave",
type: "text",
label: "因公请假",
fuzzy: true
},
{
name: "outOfOffice",
type: "text",
label: "外出勘验",
fuzzy: true
},
{
name: "shiftCompensation",
type: "text",
label: "值班补班",
fuzzy: true
},
{
name: "physicalExamination",
type: "text",
label: "体检",
fuzzy: true
},
{
name: "quarantine",
type: "text",
label: "隔离",
fuzzy: true
},
{
name: "businessTrip",
type: "text",
label: "因公外出",
fuzzy: true
},
{
name: "publicHoliday",
type: "text",
label: "公休",
fuzzy: true
},
{
name: "sickLeave",
type: "text",
label: "病假",
fuzzy: true
},
{
name: "funeralLeave",
type: "text",
label: "丧假",
fuzzy: true
},
{
name: "marriageLeave",
type: "text",
label: "婚假",
fuzzy: true
},
{
name: "childRearingLeave",
type: "text",
label: "育儿假",
fuzzy: true
},
{
name: "maternityLeave",
type: "text",
label: "产假",
fuzzy: true
},
{
name: "transferBack",
type: "text",
label: "调回单位",
fuzzy: true
},
{
name: "homeLeave",
type: "text",
label: "探亲假",
fuzzy: true
},
{
name: "personalLeave",
type: "text",
label: "事假",
fuzzy: true
},
{
name: "absenteeismDays",
type: "text",
label: "考勤汇总-旷工",
fuzzy: true
},
{
name: "otherDays",
type: "text",
label: "考勤汇总-其他",
fuzzy: true
},
{
name: "attendanceRate",
type: "text",
label: "考勤汇总-出勤率",
fuzzy: true
},
{
name: "nonCompliancePunch",
type: "text",
label: "考勤汇总-未按规定打卡",
fuzzy: true
},
{
name: "lateTimes",
type: "text",
label: "考勤汇总-迟到",
fuzzy: true
},
{
name: "surfingMobileTimes",
type: "text",
label: "考勤汇总-上网耍手机",
fuzzy: true
},
{
name: "overtimeTimes",
type: "text",
label: "考勤汇总-溜班",
fuzzy: true
},
{
name: "vacancy",
type: "text",
label: "考勤汇总-空岗",
fuzzy: true
},
{
name: "nonStandardDressTimes",
type: "text",
label: "考勤汇总-未规范着装",
fuzzy: true
},
{
name: "unexcusedMeetingAbsence",
type: "text",
label: "考勤汇总-无故缺席会议",
fuzzy: true
},
{
name: "earlyLeaveMeeting",
type: "text",
label: "考勤汇总-会议早退",
fuzzy: true
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "窗口类别", prop: "windowCategory"},
{label: "员工姓名", prop: "staffName"},
{label: "回单位", prop: "backToUnit", formatter: this.formatterMoney},
{label: "因公请假", prop: "onDutyLeave", formatter: this.formatterMoney},
{label: "外出勘验", prop: "outOfOffice", formatter: this.formatterMoney},
{label: "值班补班", prop: "shiftCompensation", formatter: this.formatterMoney},
{label: "体检", prop: "physicalExamination", formatter: this.formatterMoney},
{label: "隔离", prop: "quarantine", formatter: this.formatterMoney},
{label: "因公外出", prop: "businessTrip", formatter: this.formatterMoney},
{label: "公休", prop: "publicHoliday", formatter: this.formatterMoney},
{label: "病假", prop: "sickLeave", formatter: this.formatterMoney},
{label: "丧假", prop: "funeralLeave", formatter: this.formatterMoney},
{label: "婚假", prop: "marriageLeave", formatter: this.formatterMoney},
{label: "育儿假", prop: "childRearingLeave", formatter: this.formatterMoney},
{label: "产假", prop: "maternityLeave", formatter: this.formatterMoney},
{label: "调回单位", prop: "transferBack", formatter: this.formatterMoney},
{label: "探亲假", prop: "homeLeave", formatter: this.formatterMoney},
{label: "事假", prop: "personalLeave", formatter: this.formatterMoney},
{label: "考勤汇总-旷工", prop: "absenteeismDays", formatter: this.formatterMoney},
{label: "考勤汇总-其他", prop: "otherDays", formatter: this.formatterMoney},
{label: "考勤汇总-出勤率", prop: "attendanceRate", formatter: this.formatterMoney},
{label: "考勤汇总-未按规定打卡", prop: "nonCompliancePunch", formatter: this.formatterMoney},
{label: "考勤汇总-迟到", prop: "lateTimes",formatter: this.formatter},
{label: "考勤汇总-上网耍手机", prop: "surfingMobileTimes",formatter: this.formatter},
{label: "考勤汇总-溜班", prop: "overtimeTimes",formatter: this.formatter},
{label: "考勤汇总-空岗", prop: "vacancy", formatter: this.formatterMoney},
{label: "考勤汇总-未规范着装", prop: "nonStandardDressTimes",formatter: this.formatter},
{label: "考勤汇总-无故缺席会议", prop: "unexcusedMeetingAbsence", formatter: this.formatterMoney},
{label: "考勤汇总-会议早退", prop: "earlyLeaveMeeting", formatter: this.formatterMoney},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="窗口类别" label-class-name="labelClass" content-class-name="contentClass">
{{form.windowCategory}}
</el-descriptions-item>
<el-descriptions-item label="员工ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item label="员工姓名" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item label="所属部门" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item label="所属部门名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item label="回单位" label-class-name="labelClass" content-class-name="contentClass">
{{form.backToUnit}}
</el-descriptions-item>
<el-descriptions-item label="因公请假" label-class-name="labelClass" content-class-name="contentClass">
{{form.onDutyLeave}}
</el-descriptions-item>
<el-descriptions-item label="外出勘验" label-class-name="labelClass" content-class-name="contentClass">
{{form.outOfOffice}}
</el-descriptions-item>
<el-descriptions-item label="值班补班" label-class-name="labelClass" content-class-name="contentClass">
{{form.shiftCompensation}}
</el-descriptions-item>
<el-descriptions-item label="体检" label-class-name="labelClass" content-class-name="contentClass">
{{form.physicalExamination}}
</el-descriptions-item>
<el-descriptions-item label="隔离" label-class-name="labelClass" content-class-name="contentClass">
{{form.quarantine}}
</el-descriptions-item>
<el-descriptions-item label="因公外出" label-class-name="labelClass" content-class-name="contentClass">
{{form.businessTrip}}
</el-descriptions-item>
<el-descriptions-item label="公休" label-class-name="labelClass" content-class-name="contentClass">
{{form.publicHoliday}}
</el-descriptions-item>
<el-descriptions-item label="病假" label-class-name="labelClass" content-class-name="contentClass">
{{form.sickLeave}}
</el-descriptions-item>
<el-descriptions-item label="丧假" label-class-name="labelClass" content-class-name="contentClass">
{{form.funeralLeave}}
</el-descriptions-item>
<el-descriptions-item label="婚假" label-class-name="labelClass" content-class-name="contentClass">
{{form.marriageLeave}}
</el-descriptions-item>
<el-descriptions-item label="育儿假" label-class-name="labelClass" content-class-name="contentClass">
{{form.childRearingLeave}}
</el-descriptions-item>
<el-descriptions-item label="产假" label-class-name="labelClass" content-class-name="contentClass">
{{form.maternityLeave}}
</el-descriptions-item>
<el-descriptions-item label="调回单位" label-class-name="labelClass" content-class-name="contentClass">
{{form.transferBack}}
</el-descriptions-item>
<el-descriptions-item label="探亲假" label-class-name="labelClass" content-class-name="contentClass">
{{form.homeLeave}}
</el-descriptions-item>
<el-descriptions-item label="事假" label-class-name="labelClass" content-class-name="contentClass">
{{form.personalLeave}}
</el-descriptions-item>
<el-descriptions-item label="考勤汇总-旷工" label-class-name="labelClass" content-class-name="contentClass">
{{form.absenteeismDays}}
</el-descriptions-item>
<el-descriptions-item label="考勤汇总-其他" label-class-name="labelClass" content-class-name="contentClass">
{{form.otherDays}}
</el-descriptions-item>
<el-descriptions-item label="考勤汇总-出勤率" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendanceRate}}
</el-descriptions-item>
<el-descriptions-item label="考勤汇总-未按规定打卡" label-class-name="labelClass" content-class-name="contentClass">
{{form.nonCompliancePunch}}
</el-descriptions-item>
<el-descriptions-item label="考勤汇总-迟到" label-class-name="labelClass" content-class-name="contentClass">
{{form.lateTimes}}
</el-descriptions-item>
<el-descriptions-item label="考勤汇总-上网耍手机" label-class-name="labelClass" content-class-name="contentClass">
{{form.surfingMobileTimes}}
</el-descriptions-item>
<el-descriptions-item label="考勤汇总-溜班" label-class-name="labelClass" content-class-name="contentClass">
{{form.overtimeTimes}}
</el-descriptions-item>
<el-descriptions-item label="考勤汇总-空岗" label-class-name="labelClass" content-class-name="contentClass">
{{form.vacancy}}
</el-descriptions-item>
<el-descriptions-item label="考勤汇总-未规范着装" label-class-name="labelClass" content-class-name="contentClass">
{{form.nonStandardDressTimes}}
</el-descriptions-item>
<el-descriptions-item label="考勤汇总-无故缺席会议" label-class-name="labelClass" content-class-name="contentClass">
{{form.unexcusedMeetingAbsence}}
</el-descriptions-item>
<el-descriptions-item label="考勤汇总-会议早退" label-class-name="labelClass" content-class-name="contentClass">
{{form.earlyLeaveMeeting}}
</el-descriptions-item>
<el-descriptions-item label="年" label-class-name="labelClass" content-class-name="contentClass">
{{form.year}}
</el-descriptions-item>
<el-descriptions-item label="月" label-class-name="labelClass" content-class-name="contentClass">
{{form.month}}
</el-descriptions-item>
<el-descriptions-item label="日" label-class-name="labelClass" content-class-name="contentClass">
{{form.day}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 异常状态(0.缺卡,1.早退,2.缺卡)枚举类
*
* @author zxfei
*/
public enum ErrorStatusEnum {
缺卡(0, "缺卡"),
早退(1, "早退"),
缺卡(2, "缺卡");
private Integer value;
private String desc;
ErrorStatusEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static ErrorStatusEnum getByValue(Integer value) {
for (ErrorStatusEnum errorStatusEnum : ErrorStatusEnum.values()) {
if (errorStatusEnum.getValue() == value) {
return errorStatusEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (ErrorStatusEnum item : ErrorStatusEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)枚举类
*
* @author zxfei
*/
public enum PoliticalstatusEnum {
中共党员(1, "中共党员"),
中共预备党员(2, "中共预备党员"),
共青团员(3, "共青团员"),
群众(4, "群众"),
其它(5, "其它");
private Integer value;
private String desc;
PoliticalstatusEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static PoliticalstatusEnum getByValue(Integer value) {
for (PoliticalstatusEnum politicalstatusEnum : PoliticalstatusEnum.values()) {
if (politicalstatusEnum.getValue() == value) {
return politicalstatusEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (PoliticalstatusEnum item : PoliticalstatusEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 处理状态(0.未处理,1.已处理)枚举类
*
* @author zxfei
*/
public enum ProcessStatusEnum {
未处理(0, "未处理"),
已处理(1, "已处理");
private Integer value;
private String desc;
ProcessStatusEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static ProcessStatusEnum getByValue(Integer value) {
for (ProcessStatusEnum processStatusEnum : ProcessStatusEnum.values()) {
if (processStatusEnum.getValue() == value) {
return processStatusEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (ProcessStatusEnum item : ProcessStatusEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 员工来源(1.外部,2.内部)枚举类
*
* @author zxfei
*/
public enum SourceEnum {
外部(1, "外部"),
内部(2, "内部");
private Integer value;
private String desc;
SourceEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static SourceEnum getByValue(Integer value) {
for (SourceEnum sourceEnum : SourceEnum.values()) {
if (sourceEnum.getValue() == value) {
return sourceEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (SourceEnum item : SourceEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.attendance.model.AttendanceRecordErrorEntity;
import java.util.List;
/**
* 考勤打卡记录异常信息Dao
* 考勤打卡记录异常信息 DAO接口
*
* @author zxfei
* @date 2023-04-08
*/
public interface AttendanceRecordErrorDao extends ICRUDDao<AttendanceRecordErrorEntity,Long>{
}
package com.mortals.xhx.module.attendance.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity;
import java.util.List;
/**
* 海康考勤打卡记录汇总信息Dao
* 海康考勤打卡记录汇总信息 DAO接口
*
* @author zxfei
* @date 2023-04-08
*/
public interface AttendanceRecordHikDao extends ICRUDDao<AttendanceRecordHikEntity,Long>{
}
package com.mortals.xhx.module.attendance.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity;
import java.util.List;
/**
* 考勤人员汇总信息Dao
* 考勤人员汇总信息 DAO接口
*
* @author zxfei
* @date 2023-04-08
*/
public interface AttendanceStaffStatDao extends ICRUDDao<AttendanceStaffStatEntity,Long>{
}
package com.mortals.xhx.module.attendance.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.attendance.model.AttendanceStatEntity;
import java.util.List;
/**
* 考勤汇总信息Dao
* 考勤汇总信息 DAO接口
*
* @author zxfei
* @date 2023-04-08
*/
public interface AttendanceStatDao extends ICRUDDao<AttendanceStatEntity,Long>{
}
package com.mortals.xhx.module.attendance.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.attendance.dao.AttendanceRecordErrorDao;
import com.mortals.xhx.module.attendance.model.AttendanceRecordErrorEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 考勤打卡记录异常信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-04-08
*/
@Repository("attendanceRecordErrorDao")
public class AttendanceRecordErrorDaoImpl extends BaseCRUDDaoMybatis<AttendanceRecordErrorEntity,Long> implements AttendanceRecordErrorDao {
}
package com.mortals.xhx.module.attendance.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.attendance.dao.AttendanceRecordHikDao;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 海康考勤打卡记录汇总信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-04-08
*/
@Repository("attendanceRecordHikDao")
public class AttendanceRecordHikDaoImpl extends BaseCRUDDaoMybatis<AttendanceRecordHikEntity,Long> implements AttendanceRecordHikDao {
}
package com.mortals.xhx.module.attendance.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.attendance.dao.AttendanceStaffStatDao;
import com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 考勤人员汇总信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-04-08
*/
@Repository("attendanceStaffStatDao")
public class AttendanceStaffStatDaoImpl extends BaseCRUDDaoMybatis<AttendanceStaffStatEntity,Long> implements AttendanceStaffStatDao {
}
package com.mortals.xhx.module.attendance.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.attendance.dao.AttendanceStatDao;
import com.mortals.xhx.module.attendance.model.AttendanceStatEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 考勤汇总信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-04-08
*/
@Repository("attendanceStatDao")
public class AttendanceStatDaoImpl extends BaseCRUDDaoMybatis<AttendanceStatEntity,Long> implements AttendanceStatDao {
}
package com.mortals.xhx.module.attendance.model;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
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.AttendanceRecordErrorVo;
/**
* 考勤打卡记录异常信息实体对象
*
* @author zxfei
* @date 2023-04-08
*/
public class AttendanceRecordErrorEntity extends AttendanceRecordErrorVo {
private static final long serialVersionUID = 1L;
/**
* 员工ID
*/
private Long staffId;
/**
* 员工姓名
*/
private String staffName;
/**
* 工号
*/
private String workNum;
/**
* 所属部门
*/
private Long deptId;
/**
* 所属部门名称
*/
private String deptName;
/**
* 职位ID
*/
private Long positionId;
/**
* 职位名称
*/
private String positionName;
/**
* 所属考勤组ID
*/
private Long attendanceGroupId;
/**
* 所属考勤组名称
*/
private String attendanceGroupName;
/**
* 班次ID
*/
private Long shiftsId;
/**
* 班次名称
*/
private String shiftsName;
/**
* 上下班时间
*/
private Date goOffDateTime;
/**
* 异常时间
*/
private Date errorDateTime;
/**
* 实际打卡时间
*/
private Date actualAttendanceDateTime;
/**
* 处理时间
*/
private Date operDateTime;
/**
* 处理人
*/
private String opertor;
/**
* 异常状态(0.缺卡,1.早退,2.缺卡)
*/
private Integer errorStatus;
/**
* 处理状态(0.未处理,1.已处理)
*/
private Integer processStatus;
/**
* 处理结果
*/
private String processResult;
/**
* 备注
*/
private String remark;
public AttendanceRecordErrorEntity(){}
/**
* 获取 员工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
*/
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 getGoOffDateTime(){
return goOffDateTime;
}
/**
* 设置 上下班时间
* @param goOffDateTime
*/
public void setGoOffDateTime(Date goOffDateTime){
this.goOffDateTime = goOffDateTime;
}
/**
* 获取 异常时间
* @return Date
*/
public Date getErrorDateTime(){
return errorDateTime;
}
/**
* 设置 异常时间
* @param errorDateTime
*/
public void setErrorDateTime(Date errorDateTime){
this.errorDateTime = errorDateTime;
}
/**
* 获取 实际打卡时间
* @return Date
*/
public Date getActualAttendanceDateTime(){
return actualAttendanceDateTime;
}
/**
* 设置 实际打卡时间
* @param actualAttendanceDateTime
*/
public void setActualAttendanceDateTime(Date actualAttendanceDateTime){
this.actualAttendanceDateTime = actualAttendanceDateTime;
}
/**
* 获取 处理时间
* @return Date
*/
public Date getOperDateTime(){
return operDateTime;
}
/**
* 设置 处理时间
* @param operDateTime
*/
public void setOperDateTime(Date operDateTime){
this.operDateTime = operDateTime;
}
/**
* 获取 处理人
* @return String
*/
public String getOpertor(){
return opertor;
}
/**
* 设置 处理人
* @param opertor
*/
public void setOpertor(String opertor){
this.opertor = opertor;
}
/**
* 获取 异常状态(0.缺卡,1.早退,2.缺卡)
* @return Integer
*/
public Integer getErrorStatus(){
return errorStatus;
}
/**
* 设置 异常状态(0.缺卡,1.早退,2.缺卡)
* @param errorStatus
*/
public void setErrorStatus(Integer errorStatus){
this.errorStatus = errorStatus;
}
/**
* 获取 处理状态(0.未处理,1.已处理)
* @return Integer
*/
public Integer getProcessStatus(){
return processStatus;
}
/**
* 设置 处理状态(0.未处理,1.已处理)
* @param processStatus
*/
public void setProcessStatus(Integer processStatus){
this.processStatus = processStatus;
}
/**
* 获取 处理结果
* @return String
*/
public String getProcessResult(){
return processResult;
}
/**
* 设置 处理结果
* @param processResult
*/
public void setProcessResult(String processResult){
this.processResult = processResult;
}
/**
* 获取 备注
* @return String
*/
public String getRemark(){
return remark;
}
/**
* 设置 备注
* @param remark
*/
public void setRemark(String remark){
this.remark = remark;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof AttendanceRecordErrorEntity) {
AttendanceRecordErrorEntity tmp = (AttendanceRecordErrorEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
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(",goOffDateTime:").append(getGoOffDateTime());
sb.append(",errorDateTime:").append(getErrorDateTime());
sb.append(",actualAttendanceDateTime:").append(getActualAttendanceDateTime());
sb.append(",operDateTime:").append(getOperDateTime());
sb.append(",opertor:").append(getOpertor());
sb.append(",errorStatus:").append(getErrorStatus());
sb.append(",processStatus:").append(getProcessStatus());
sb.append(",processResult:").append(getProcessResult());
sb.append(",remark:").append(getRemark());
return sb.toString();
}
public void initAttrValue(){
this.staffId = null;
this.staffName = "";
this.workNum = "";
this.deptId = null;
this.deptName = "";
this.positionId = null;
this.positionName = "";
this.attendanceGroupId = null;
this.attendanceGroupName = "";
this.shiftsId = null;
this.shiftsName = "";
this.goOffDateTime = null;
this.errorDateTime = null;
this.actualAttendanceDateTime = null;
this.operDateTime = null;
this.opertor = "";
this.errorStatus = 0;
this.processStatus = 0;
this.processResult = "";
this.remark = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.model;
import java.util.Date;
import java.util.List;
import com.mortals.xhx.module.attendance.model.AttendanceRecordErrorEntity;
/**
* 考勤打卡记录异常信息查询对象
*
* @author zxfei
* @date 2023-04-08
*/
public class AttendanceRecordErrorQuery extends AttendanceRecordErrorEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
/** 结束 序号,主键,自增长 */
private Long idEnd;
/** 增加 序号,主键,自增长 */
private Long idIncrement;
/** 序号,主键,自增长列表 */
private List <Long> idList;
/** 序号,主键,自增长排除列表 */
private List <Long> idNotList;
/** 开始 员工ID */
private Long staffIdStart;
/** 结束 员工ID */
private Long staffIdEnd;
/** 增加 员工ID */
private Long staffIdIncrement;
/** 员工ID列表 */
private List <Long> staffIdList;
/** 员工ID排除列表 */
private List <Long> staffIdNotList;
/** 员工姓名 */
private List<String> staffNameList;
/** 员工姓名排除列表 */
private List <String> staffNameNotList;
/** 工号 */
private List<String> workNumList;
/** 工号排除列表 */
private List <String> workNumNotList;
/** 开始 所属部门 */
private Long deptIdStart;
/** 结束 所属部门 */
private Long deptIdEnd;
/** 增加 所属部门 */
private Long deptIdIncrement;
/** 所属部门列表 */
private List <Long> deptIdList;
/** 所属部门排除列表 */
private List <Long> deptIdNotList;
/** 所属部门名称 */
private List<String> deptNameList;
/** 所属部门名称排除列表 */
private List <String> deptNameNotList;
/** 开始 职位ID */
private Long positionIdStart;
/** 结束 职位ID */
private Long positionIdEnd;
/** 增加 职位ID */
private Long positionIdIncrement;
/** 职位ID列表 */
private List <Long> positionIdList;
/** 职位ID排除列表 */
private List <Long> positionIdNotList;
/** 职位名称 */
private List<String> positionNameList;
/** 职位名称排除列表 */
private List <String> positionNameNotList;
/** 开始 所属考勤组ID */
private Long attendanceGroupIdStart;
/** 结束 所属考勤组ID */
private Long attendanceGroupIdEnd;
/** 增加 所属考勤组ID */
private Long attendanceGroupIdIncrement;
/** 所属考勤组ID列表 */
private List <Long> attendanceGroupIdList;
/** 所属考勤组ID排除列表 */
private List <Long> attendanceGroupIdNotList;
/** 所属考勤组名称 */
private List<String> attendanceGroupNameList;
/** 所属考勤组名称排除列表 */
private List <String> attendanceGroupNameNotList;
/** 开始 班次ID */
private Long shiftsIdStart;
/** 结束 班次ID */
private Long shiftsIdEnd;
/** 增加 班次ID */
private Long shiftsIdIncrement;
/** 班次ID列表 */
private List <Long> shiftsIdList;
/** 班次ID排除列表 */
private List <Long> shiftsIdNotList;
/** 班次名称 */
private List<String> shiftsNameList;
/** 班次名称排除列表 */
private List <String> shiftsNameNotList;
/** 开始 上下班时间 */
private String goOffDateTimeStart;
/** 结束 上下班时间 */
private String goOffDateTimeEnd;
/** 开始 异常时间 */
private String errorDateTimeStart;
/** 结束 异常时间 */
private String errorDateTimeEnd;
/** 开始 实际打卡时间 */
private String actualAttendanceDateTimeStart;
/** 结束 实际打卡时间 */
private String actualAttendanceDateTimeEnd;
/** 开始 处理时间 */
private String operDateTimeStart;
/** 结束 处理时间 */
private String operDateTimeEnd;
/** 处理人 */
private List<String> opertorList;
/** 处理人排除列表 */
private List <String> opertorNotList;
/** 开始 异常状态(0.缺卡,1.早退,2.缺卡) */
private Integer errorStatusStart;
/** 结束 异常状态(0.缺卡,1.早退,2.缺卡) */
private Integer errorStatusEnd;
/** 增加 异常状态(0.缺卡,1.早退,2.缺卡) */
private Integer errorStatusIncrement;
/** 异常状态(0.缺卡,1.早退,2.缺卡)列表 */
private List <Integer> errorStatusList;
/** 异常状态(0.缺卡,1.早退,2.缺卡)排除列表 */
private List <Integer> errorStatusNotList;
/** 开始 处理状态(0.未处理,1.已处理) */
private Integer processStatusStart;
/** 结束 处理状态(0.未处理,1.已处理) */
private Integer processStatusEnd;
/** 增加 处理状态(0.未处理,1.已处理) */
private Integer processStatusIncrement;
/** 处理状态(0.未处理,1.已处理)列表 */
private List <Integer> processStatusList;
/** 处理状态(0.未处理,1.已处理)排除列表 */
private List <Integer> processStatusNotList;
/** 处理结果 */
private List<String> processResultList;
/** 处理结果排除列表 */
private List <String> processResultNotList;
/** 备注 */
private List<String> remarkList;
/** 备注排除列表 */
private List <String> remarkNotList;
/** 开始 创建用户 */
private Long createUserIdStart;
/** 结束 创建用户 */
private Long createUserIdEnd;
/** 增加 创建用户 */
private Long createUserIdIncrement;
/** 创建用户列表 */
private List <Long> createUserIdList;
/** 创建用户排除列表 */
private List <Long> createUserIdNotList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 更新用户 */
private Long updateUserIdStart;
/** 结束 更新用户 */
private Long updateUserIdEnd;
/** 增加 更新用户 */
private Long updateUserIdIncrement;
/** 更新用户列表 */
private List <Long> updateUserIdList;
/** 更新用户排除列表 */
private List <Long> updateUserIdNotList;
/** 开始 更新时间 */
private String updateTimeStart;
/** 结束 更新时间 */
private String updateTimeEnd;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<AttendanceRecordErrorQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<AttendanceRecordErrorQuery> andConditionList;
public AttendanceRecordErrorQuery(){}
/**
* 获取 开始 序号,主键,自增长
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 序号,主键,自增长
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 序号,主键,自增长
* @return $idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 序号,主键,自增长
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 序号,主键,自增长
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 序号,主键,自增长
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 序号,主键,自增长
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 序号,主键,自增长
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 序号,主键,自增长
* @return idNotList
*/
public List<Long> getIdNotList(){
return this.idNotList;
}
/**
* 设置 序号,主键,自增长
* @param idNotList
*/
public void setIdNotList(List<Long> idNotList){
this.idNotList = idNotList;
}
/**
* 获取 开始 员工ID
* @return staffIdStart
*/
public Long getStaffIdStart(){
return this.staffIdStart;
}
/**
* 设置 开始 员工ID
* @param staffIdStart
*/
public void setStaffIdStart(Long staffIdStart){
this.staffIdStart = staffIdStart;
}
/**
* 获取 结束 员工ID
* @return $staffIdEnd
*/
public Long getStaffIdEnd(){
return this.staffIdEnd;
}
/**
* 设置 结束 员工ID
* @param staffIdEnd
*/
public void setStaffIdEnd(Long staffIdEnd){
this.staffIdEnd = staffIdEnd;
}
/**
* 获取 增加 员工ID
* @return staffIdIncrement
*/
public Long getStaffIdIncrement(){
return this.staffIdIncrement;
}
/**
* 设置 增加 员工ID
* @param staffIdIncrement
*/
public void setStaffIdIncrement(Long staffIdIncrement){
this.staffIdIncrement = staffIdIncrement;
}
/**
* 获取 员工ID
* @return staffIdList
*/
public List<Long> getStaffIdList(){
return this.staffIdList;
}
/**
* 设置 员工ID
* @param staffIdList
*/
public void setStaffIdList(List<Long> staffIdList){
this.staffIdList = staffIdList;
}
/**
* 获取 员工ID
* @return staffIdNotList
*/
public List<Long> getStaffIdNotList(){
return this.staffIdNotList;
}
/**
* 设置 员工ID
* @param staffIdNotList
*/
public void setStaffIdNotList(List<Long> staffIdNotList){
this.staffIdNotList = staffIdNotList;
}
/**
* 获取 员工姓名
* @return staffNameList
*/
public List<String> getStaffNameList(){
return this.staffNameList;
}
/**
* 设置 员工姓名
* @param staffNameList
*/
public void setStaffNameList(List<String> staffNameList){
this.staffNameList = staffNameList;
}
/**
* 获取 员工姓名
* @return staffNameNotList
*/
public List<String> getStaffNameNotList(){
return this.staffNameNotList;
}
/**
* 设置 员工姓名
* @param staffNameNotList
*/
public void setStaffNameNotList(List<String> staffNameNotList){
this.staffNameNotList = staffNameNotList;
}
/**
* 获取 工号
* @return workNumList
*/
public List<String> getWorkNumList(){
return this.workNumList;
}
/**
* 设置 工号
* @param workNumList
*/
public void setWorkNumList(List<String> workNumList){
this.workNumList = workNumList;
}
/**
* 获取 工号
* @return workNumNotList
*/
public List<String> getWorkNumNotList(){
return this.workNumNotList;
}
/**
* 设置 工号
* @param workNumNotList
*/
public void setWorkNumNotList(List<String> workNumNotList){
this.workNumNotList = workNumNotList;
}
/**
* 获取 开始 所属部门
* @return deptIdStart
*/
public Long getDeptIdStart(){
return this.deptIdStart;
}
/**
* 设置 开始 所属部门
* @param deptIdStart
*/
public void setDeptIdStart(Long deptIdStart){
this.deptIdStart = deptIdStart;
}
/**
* 获取 结束 所属部门
* @return $deptIdEnd
*/
public Long getDeptIdEnd(){
return this.deptIdEnd;
}
/**
* 设置 结束 所属部门
* @param deptIdEnd
*/
public void setDeptIdEnd(Long deptIdEnd){
this.deptIdEnd = deptIdEnd;
}
/**
* 获取 增加 所属部门
* @return deptIdIncrement
*/
public Long getDeptIdIncrement(){
return this.deptIdIncrement;
}
/**
* 设置 增加 所属部门
* @param deptIdIncrement
*/
public void setDeptIdIncrement(Long deptIdIncrement){
this.deptIdIncrement = deptIdIncrement;
}
/**
* 获取 所属部门
* @return deptIdList
*/
public List<Long> getDeptIdList(){
return this.deptIdList;
}
/**
* 设置 所属部门
* @param deptIdList
*/
public void setDeptIdList(List<Long> deptIdList){
this.deptIdList = deptIdList;
}
/**
* 获取 所属部门
* @return deptIdNotList
*/
public List<Long> getDeptIdNotList(){
return this.deptIdNotList;
}
/**
* 设置 所属部门
* @param deptIdNotList
*/
public void setDeptIdNotList(List<Long> deptIdNotList){
this.deptIdNotList = deptIdNotList;
}
/**
* 获取 所属部门名称
* @return deptNameList
*/
public List<String> getDeptNameList(){
return this.deptNameList;
}
/**
* 设置 所属部门名称
* @param deptNameList
*/
public void setDeptNameList(List<String> deptNameList){
this.deptNameList = deptNameList;
}
/**
* 获取 所属部门名称
* @return deptNameNotList
*/
public List<String> getDeptNameNotList(){
return this.deptNameNotList;
}
/**
* 设置 所属部门名称
* @param deptNameNotList
*/
public void setDeptNameNotList(List<String> deptNameNotList){
this.deptNameNotList = deptNameNotList;
}
/**
* 获取 开始 职位ID
* @return positionIdStart
*/
public Long getPositionIdStart(){
return this.positionIdStart;
}
/**
* 设置 开始 职位ID
* @param positionIdStart
*/
public void setPositionIdStart(Long positionIdStart){
this.positionIdStart = positionIdStart;
}
/**
* 获取 结束 职位ID
* @return $positionIdEnd
*/
public Long getPositionIdEnd(){
return this.positionIdEnd;
}
/**
* 设置 结束 职位ID
* @param positionIdEnd
*/
public void setPositionIdEnd(Long positionIdEnd){
this.positionIdEnd = positionIdEnd;
}
/**
* 获取 增加 职位ID
* @return positionIdIncrement
*/
public Long getPositionIdIncrement(){
return this.positionIdIncrement;
}
/**
* 设置 增加 职位ID
* @param positionIdIncrement
*/
public void setPositionIdIncrement(Long positionIdIncrement){
this.positionIdIncrement = positionIdIncrement;
}
/**
* 获取 职位ID
* @return positionIdList
*/
public List<Long> getPositionIdList(){
return this.positionIdList;
}
/**
* 设置 职位ID
* @param positionIdList
*/
public void setPositionIdList(List<Long> positionIdList){
this.positionIdList = positionIdList;
}
/**
* 获取 职位ID
* @return positionIdNotList
*/
public List<Long> getPositionIdNotList(){
return this.positionIdNotList;
}
/**
* 设置 职位ID
* @param positionIdNotList
*/
public void setPositionIdNotList(List<Long> positionIdNotList){
this.positionIdNotList = positionIdNotList;
}
/**
* 获取 职位名称
* @return positionNameList
*/
public List<String> getPositionNameList(){
return this.positionNameList;
}
/**
* 设置 职位名称
* @param positionNameList
*/
public void setPositionNameList(List<String> positionNameList){
this.positionNameList = positionNameList;
}
/**
* 获取 职位名称
* @return positionNameNotList
*/
public List<String> getPositionNameNotList(){
return this.positionNameNotList;
}
/**
* 设置 职位名称
* @param positionNameNotList
*/
public void setPositionNameNotList(List<String> positionNameNotList){
this.positionNameNotList = positionNameNotList;
}
/**
* 获取 开始 所属考勤组ID
* @return attendanceGroupIdStart
*/
public Long getAttendanceGroupIdStart(){
return this.attendanceGroupIdStart;
}
/**
* 设置 开始 所属考勤组ID
* @param attendanceGroupIdStart
*/
public void setAttendanceGroupIdStart(Long attendanceGroupIdStart){
this.attendanceGroupIdStart = attendanceGroupIdStart;
}
/**
* 获取 结束 所属考勤组ID
* @return $attendanceGroupIdEnd
*/
public Long getAttendanceGroupIdEnd(){
return this.attendanceGroupIdEnd;
}
/**
* 设置 结束 所属考勤组ID
* @param attendanceGroupIdEnd
*/
public void setAttendanceGroupIdEnd(Long attendanceGroupIdEnd){
this.attendanceGroupIdEnd = attendanceGroupIdEnd;
}
/**
* 获取 增加 所属考勤组ID
* @return attendanceGroupIdIncrement
*/
public Long getAttendanceGroupIdIncrement(){
return this.attendanceGroupIdIncrement;
}
/**
* 设置 增加 所属考勤组ID
* @param attendanceGroupIdIncrement
*/
public void setAttendanceGroupIdIncrement(Long attendanceGroupIdIncrement){
this.attendanceGroupIdIncrement = attendanceGroupIdIncrement;
}
/**
* 获取 所属考勤组ID
* @return attendanceGroupIdList
*/
public List<Long> getAttendanceGroupIdList(){
return this.attendanceGroupIdList;
}
/**
* 设置 所属考勤组ID
* @param attendanceGroupIdList
*/
public void setAttendanceGroupIdList(List<Long> attendanceGroupIdList){
this.attendanceGroupIdList = attendanceGroupIdList;
}
/**
* 获取 所属考勤组ID
* @return attendanceGroupIdNotList
*/
public List<Long> getAttendanceGroupIdNotList(){
return this.attendanceGroupIdNotList;
}
/**
* 设置 所属考勤组ID
* @param attendanceGroupIdNotList
*/
public void setAttendanceGroupIdNotList(List<Long> attendanceGroupIdNotList){
this.attendanceGroupIdNotList = attendanceGroupIdNotList;
}
/**
* 获取 所属考勤组名称
* @return attendanceGroupNameList
*/
public List<String> getAttendanceGroupNameList(){
return this.attendanceGroupNameList;
}
/**
* 设置 所属考勤组名称
* @param attendanceGroupNameList
*/
public void setAttendanceGroupNameList(List<String> attendanceGroupNameList){
this.attendanceGroupNameList = attendanceGroupNameList;
}
/**
* 获取 所属考勤组名称
* @return attendanceGroupNameNotList
*/
public List<String> getAttendanceGroupNameNotList(){
return this.attendanceGroupNameNotList;
}
/**
* 设置 所属考勤组名称
* @param attendanceGroupNameNotList
*/
public void setAttendanceGroupNameNotList(List<String> attendanceGroupNameNotList){
this.attendanceGroupNameNotList = attendanceGroupNameNotList;
}
/**
* 获取 开始 班次ID
* @return shiftsIdStart
*/
public Long getShiftsIdStart(){
return this.shiftsIdStart;
}
/**
* 设置 开始 班次ID
* @param shiftsIdStart
*/
public void setShiftsIdStart(Long shiftsIdStart){
this.shiftsIdStart = shiftsIdStart;
}
/**
* 获取 结束 班次ID
* @return $shiftsIdEnd
*/
public Long getShiftsIdEnd(){
return this.shiftsIdEnd;
}
/**
* 设置 结束 班次ID
* @param shiftsIdEnd
*/
public void setShiftsIdEnd(Long shiftsIdEnd){
this.shiftsIdEnd = shiftsIdEnd;
}
/**
* 获取 增加 班次ID
* @return shiftsIdIncrement
*/
public Long getShiftsIdIncrement(){
return this.shiftsIdIncrement;
}
/**
* 设置 增加 班次ID
* @param shiftsIdIncrement
*/
public void setShiftsIdIncrement(Long shiftsIdIncrement){
this.shiftsIdIncrement = shiftsIdIncrement;
}
/**
* 获取 班次ID
* @return shiftsIdList
*/
public List<Long> getShiftsIdList(){
return this.shiftsIdList;
}
/**
* 设置 班次ID
* @param shiftsIdList
*/
public void setShiftsIdList(List<Long> shiftsIdList){
this.shiftsIdList = shiftsIdList;
}
/**
* 获取 班次ID
* @return shiftsIdNotList
*/
public List<Long> getShiftsIdNotList(){
return this.shiftsIdNotList;
}
/**
* 设置 班次ID
* @param shiftsIdNotList
*/
public void setShiftsIdNotList(List<Long> shiftsIdNotList){
this.shiftsIdNotList = shiftsIdNotList;
}
/**
* 获取 班次名称
* @return shiftsNameList
*/
public List<String> getShiftsNameList(){
return this.shiftsNameList;
}
/**
* 设置 班次名称
* @param shiftsNameList
*/
public void setShiftsNameList(List<String> shiftsNameList){
this.shiftsNameList = shiftsNameList;
}
/**
* 获取 班次名称
* @return shiftsNameNotList
*/
public List<String> getShiftsNameNotList(){
return this.shiftsNameNotList;
}
/**
* 设置 班次名称
* @param shiftsNameNotList
*/
public void setShiftsNameNotList(List<String> shiftsNameNotList){
this.shiftsNameNotList = shiftsNameNotList;
}
/**
* 获取 开始 上下班时间
* @return goOffDateTimeStart
*/
public String getGoOffDateTimeStart(){
return this.goOffDateTimeStart;
}
/**
* 设置 开始 上下班时间
* @param goOffDateTimeStart
*/
public void setGoOffDateTimeStart(String goOffDateTimeStart){
this.goOffDateTimeStart = goOffDateTimeStart;
}
/**
* 获取 结束 上下班时间
* @return goOffDateTimeEnd
*/
public String getGoOffDateTimeEnd(){
return this.goOffDateTimeEnd;
}
/**
* 设置 结束 上下班时间
* @param goOffDateTimeEnd
*/
public void setGoOffDateTimeEnd(String goOffDateTimeEnd){
this.goOffDateTimeEnd = goOffDateTimeEnd;
}
/**
* 获取 开始 异常时间
* @return errorDateTimeStart
*/
public String getErrorDateTimeStart(){
return this.errorDateTimeStart;
}
/**
* 设置 开始 异常时间
* @param errorDateTimeStart
*/
public void setErrorDateTimeStart(String errorDateTimeStart){
this.errorDateTimeStart = errorDateTimeStart;
}
/**
* 获取 结束 异常时间
* @return errorDateTimeEnd
*/
public String getErrorDateTimeEnd(){
return this.errorDateTimeEnd;
}
/**
* 设置 结束 异常时间
* @param errorDateTimeEnd
*/
public void setErrorDateTimeEnd(String errorDateTimeEnd){
this.errorDateTimeEnd = errorDateTimeEnd;
}
/**
* 获取 开始 实际打卡时间
* @return actualAttendanceDateTimeStart
*/
public String getActualAttendanceDateTimeStart(){
return this.actualAttendanceDateTimeStart;
}
/**
* 设置 开始 实际打卡时间
* @param actualAttendanceDateTimeStart
*/
public void setActualAttendanceDateTimeStart(String actualAttendanceDateTimeStart){
this.actualAttendanceDateTimeStart = actualAttendanceDateTimeStart;
}
/**
* 获取 结束 实际打卡时间
* @return actualAttendanceDateTimeEnd
*/
public String getActualAttendanceDateTimeEnd(){
return this.actualAttendanceDateTimeEnd;
}
/**
* 设置 结束 实际打卡时间
* @param actualAttendanceDateTimeEnd
*/
public void setActualAttendanceDateTimeEnd(String actualAttendanceDateTimeEnd){
this.actualAttendanceDateTimeEnd = actualAttendanceDateTimeEnd;
}
/**
* 获取 开始 处理时间
* @return operDateTimeStart
*/
public String getOperDateTimeStart(){
return this.operDateTimeStart;
}
/**
* 设置 开始 处理时间
* @param operDateTimeStart
*/
public void setOperDateTimeStart(String operDateTimeStart){
this.operDateTimeStart = operDateTimeStart;
}
/**
* 获取 结束 处理时间
* @return operDateTimeEnd
*/
public String getOperDateTimeEnd(){
return this.operDateTimeEnd;
}
/**
* 设置 结束 处理时间
* @param operDateTimeEnd
*/
public void setOperDateTimeEnd(String operDateTimeEnd){
this.operDateTimeEnd = operDateTimeEnd;
}
/**
* 获取 处理人
* @return opertorList
*/
public List<String> getOpertorList(){
return this.opertorList;
}
/**
* 设置 处理人
* @param opertorList
*/
public void setOpertorList(List<String> opertorList){
this.opertorList = opertorList;
}
/**
* 获取 处理人
* @return opertorNotList
*/
public List<String> getOpertorNotList(){
return this.opertorNotList;
}
/**
* 设置 处理人
* @param opertorNotList
*/
public void setOpertorNotList(List<String> opertorNotList){
this.opertorNotList = opertorNotList;
}
/**
* 获取 开始 异常状态(0.缺卡,1.早退,2.缺卡)
* @return errorStatusStart
*/
public Integer getErrorStatusStart(){
return this.errorStatusStart;
}
/**
* 设置 开始 异常状态(0.缺卡,1.早退,2.缺卡)
* @param errorStatusStart
*/
public void setErrorStatusStart(Integer errorStatusStart){
this.errorStatusStart = errorStatusStart;
}
/**
* 获取 结束 异常状态(0.缺卡,1.早退,2.缺卡)
* @return $errorStatusEnd
*/
public Integer getErrorStatusEnd(){
return this.errorStatusEnd;
}
/**
* 设置 结束 异常状态(0.缺卡,1.早退,2.缺卡)
* @param errorStatusEnd
*/
public void setErrorStatusEnd(Integer errorStatusEnd){
this.errorStatusEnd = errorStatusEnd;
}
/**
* 获取 增加 异常状态(0.缺卡,1.早退,2.缺卡)
* @return errorStatusIncrement
*/
public Integer getErrorStatusIncrement(){
return this.errorStatusIncrement;
}
/**
* 设置 增加 异常状态(0.缺卡,1.早退,2.缺卡)
* @param errorStatusIncrement
*/
public void setErrorStatusIncrement(Integer errorStatusIncrement){
this.errorStatusIncrement = errorStatusIncrement;
}
/**
* 获取 异常状态(0.缺卡,1.早退,2.缺卡)
* @return errorStatusList
*/
public List<Integer> getErrorStatusList(){
return this.errorStatusList;
}
/**
* 设置 异常状态(0.缺卡,1.早退,2.缺卡)
* @param errorStatusList
*/
public void setErrorStatusList(List<Integer> errorStatusList){
this.errorStatusList = errorStatusList;
}
/**
* 获取 异常状态(0.缺卡,1.早退,2.缺卡)
* @return errorStatusNotList
*/
public List<Integer> getErrorStatusNotList(){
return this.errorStatusNotList;
}
/**
* 设置 异常状态(0.缺卡,1.早退,2.缺卡)
* @param errorStatusNotList
*/
public void setErrorStatusNotList(List<Integer> errorStatusNotList){
this.errorStatusNotList = errorStatusNotList;
}
/**
* 获取 开始 处理状态(0.未处理,1.已处理)
* @return processStatusStart
*/
public Integer getProcessStatusStart(){
return this.processStatusStart;
}
/**
* 设置 开始 处理状态(0.未处理,1.已处理)
* @param processStatusStart
*/
public void setProcessStatusStart(Integer processStatusStart){
this.processStatusStart = processStatusStart;
}
/**
* 获取 结束 处理状态(0.未处理,1.已处理)
* @return $processStatusEnd
*/
public Integer getProcessStatusEnd(){
return this.processStatusEnd;
}
/**
* 设置 结束 处理状态(0.未处理,1.已处理)
* @param processStatusEnd
*/
public void setProcessStatusEnd(Integer processStatusEnd){
this.processStatusEnd = processStatusEnd;
}
/**
* 获取 增加 处理状态(0.未处理,1.已处理)
* @return processStatusIncrement
*/
public Integer getProcessStatusIncrement(){
return this.processStatusIncrement;
}
/**
* 设置 增加 处理状态(0.未处理,1.已处理)
* @param processStatusIncrement
*/
public void setProcessStatusIncrement(Integer processStatusIncrement){
this.processStatusIncrement = processStatusIncrement;
}
/**
* 获取 处理状态(0.未处理,1.已处理)
* @return processStatusList
*/
public List<Integer> getProcessStatusList(){
return this.processStatusList;
}
/**
* 设置 处理状态(0.未处理,1.已处理)
* @param processStatusList
*/
public void setProcessStatusList(List<Integer> processStatusList){
this.processStatusList = processStatusList;
}
/**
* 获取 处理状态(0.未处理,1.已处理)
* @return processStatusNotList
*/
public List<Integer> getProcessStatusNotList(){
return this.processStatusNotList;
}
/**
* 设置 处理状态(0.未处理,1.已处理)
* @param processStatusNotList
*/
public void setProcessStatusNotList(List<Integer> processStatusNotList){
this.processStatusNotList = processStatusNotList;
}
/**
* 获取 处理结果
* @return processResultList
*/
public List<String> getProcessResultList(){
return this.processResultList;
}
/**
* 设置 处理结果
* @param processResultList
*/
public void setProcessResultList(List<String> processResultList){
this.processResultList = processResultList;
}
/**
* 获取 处理结果
* @return processResultNotList
*/
public List<String> getProcessResultNotList(){
return this.processResultNotList;
}
/**
* 设置 处理结果
* @param processResultNotList
*/
public void setProcessResultNotList(List<String> processResultNotList){
this.processResultNotList = processResultNotList;
}
/**
* 获取 备注
* @return remarkList
*/
public List<String> getRemarkList(){
return this.remarkList;
}
/**
* 设置 备注
* @param remarkList
*/
public void setRemarkList(List<String> remarkList){
this.remarkList = remarkList;
}
/**
* 获取 备注
* @return remarkNotList
*/
public List<String> getRemarkNotList(){
return this.remarkNotList;
}
/**
* 设置 备注
* @param remarkNotList
*/
public void setRemarkNotList(List<String> remarkNotList){
this.remarkNotList = remarkNotList;
}
/**
* 获取 开始 创建用户
* @return createUserIdStart
*/
public Long getCreateUserIdStart(){
return this.createUserIdStart;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public void setCreateUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
}
/**
* 获取 结束 创建用户
* @return $createUserIdEnd
*/
public Long getCreateUserIdEnd(){
return this.createUserIdEnd;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public void setCreateUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
}
/**
* 获取 增加 创建用户
* @return createUserIdIncrement
*/
public Long getCreateUserIdIncrement(){
return this.createUserIdIncrement;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public void setCreateUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
}
/**
* 获取 创建用户
* @return createUserIdList
*/
public List<Long> getCreateUserIdList(){
return this.createUserIdList;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public void setCreateUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
}
/**
* 获取 创建用户
* @return createUserIdNotList
*/
public List<Long> getCreateUserIdNotList(){
return this.createUserIdNotList;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public void setCreateUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
*/
public String getCreateTimeStart(){
return this.createTimeStart;
}
/**
* 设置 开始 创建时间
* @param createTimeStart
*/
public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart;
}
/**
* 获取 结束 创建时间
* @return createTimeEnd
*/
public String getCreateTimeEnd(){
return this.createTimeEnd;
}
/**
* 设置 结束 创建时间
* @param createTimeEnd
*/
public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd;
}
/**
* 获取 开始 更新用户
* @return updateUserIdStart
*/
public Long getUpdateUserIdStart(){
return this.updateUserIdStart;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public void setUpdateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
}
/**
* 获取 结束 更新用户
* @return $updateUserIdEnd
*/
public Long getUpdateUserIdEnd(){
return this.updateUserIdEnd;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public void setUpdateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
}
/**
* 获取 增加 更新用户
* @return updateUserIdIncrement
*/
public Long getUpdateUserIdIncrement(){
return this.updateUserIdIncrement;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
}
/**
* 获取 更新用户
* @return updateUserIdList
*/
public List<Long> getUpdateUserIdList(){
return this.updateUserIdList;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public void setUpdateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
}
/**
* 获取 更新用户
* @return updateUserIdNotList
*/
public List<Long> getUpdateUserIdNotList(){
return this.updateUserIdNotList;
}
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public void setUpdateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
}
/**
* 获取 开始 更新时间
* @return updateTimeStart
*/
public String getUpdateTimeStart(){
return this.updateTimeStart;
}
/**
* 设置 开始 更新时间
* @param updateTimeStart
*/
public void setUpdateTimeStart(String updateTimeStart){
this.updateTimeStart = updateTimeStart;
}
/**
* 获取 结束 更新时间
* @return updateTimeEnd
*/
public String getUpdateTimeEnd(){
return this.updateTimeEnd;
}
/**
* 设置 结束 更新时间
* @param updateTimeEnd
*/
public void setUpdateTimeEnd(String updateTimeEnd){
this.updateTimeEnd = updateTimeEnd;
}
/**
* 设置 序号,主键,自增长
* @param id
*/
public AttendanceRecordErrorQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 序号,主键,自增长
* @param idStart
*/
public AttendanceRecordErrorQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 序号,主键,自增长
* @param idEnd
*/
public AttendanceRecordErrorQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 序号,主键,自增长
* @param idIncrement
*/
public AttendanceRecordErrorQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 序号,主键,自增长
* @param idList
*/
public AttendanceRecordErrorQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 序号,主键,自增长
* @param idNotList
*/
public AttendanceRecordErrorQuery idNotList(List<Long> idNotList){
this.idNotList = idNotList;
return this;
}
/**
* 设置 员工ID
* @param staffId
*/
public AttendanceRecordErrorQuery staffId(Long staffId){
setStaffId(staffId);
return this;
}
/**
* 设置 开始 员工ID
* @param staffIdStart
*/
public AttendanceRecordErrorQuery staffIdStart(Long staffIdStart){
this.staffIdStart = staffIdStart;
return this;
}
/**
* 设置 结束 员工ID
* @param staffIdEnd
*/
public AttendanceRecordErrorQuery staffIdEnd(Long staffIdEnd){
this.staffIdEnd = staffIdEnd;
return this;
}
/**
* 设置 增加 员工ID
* @param staffIdIncrement
*/
public AttendanceRecordErrorQuery staffIdIncrement(Long staffIdIncrement){
this.staffIdIncrement = staffIdIncrement;
return this;
}
/**
* 设置 员工ID
* @param staffIdList
*/
public AttendanceRecordErrorQuery staffIdList(List<Long> staffIdList){
this.staffIdList = staffIdList;
return this;
}
/**
* 设置 员工ID
* @param staffIdNotList
*/
public AttendanceRecordErrorQuery staffIdNotList(List<Long> staffIdNotList){
this.staffIdNotList = staffIdNotList;
return this;
}
/**
* 设置 员工姓名
* @param staffName
*/
public AttendanceRecordErrorQuery staffName(String staffName){
setStaffName(staffName);
return this;
}
/**
* 设置 员工姓名
* @param staffNameList
*/
public AttendanceRecordErrorQuery staffNameList(List<String> staffNameList){
this.staffNameList = staffNameList;
return this;
}
/**
* 设置 工号
* @param workNum
*/
public AttendanceRecordErrorQuery workNum(String workNum){
setWorkNum(workNum);
return this;
}
/**
* 设置 工号
* @param workNumList
*/
public AttendanceRecordErrorQuery workNumList(List<String> workNumList){
this.workNumList = workNumList;
return this;
}
/**
* 设置 所属部门
* @param deptId
*/
public AttendanceRecordErrorQuery deptId(Long deptId){
setDeptId(deptId);
return this;
}
/**
* 设置 开始 所属部门
* @param deptIdStart
*/
public AttendanceRecordErrorQuery deptIdStart(Long deptIdStart){
this.deptIdStart = deptIdStart;
return this;
}
/**
* 设置 结束 所属部门
* @param deptIdEnd
*/
public AttendanceRecordErrorQuery deptIdEnd(Long deptIdEnd){
this.deptIdEnd = deptIdEnd;
return this;
}
/**
* 设置 增加 所属部门
* @param deptIdIncrement
*/
public AttendanceRecordErrorQuery deptIdIncrement(Long deptIdIncrement){
this.deptIdIncrement = deptIdIncrement;
return this;
}
/**
* 设置 所属部门
* @param deptIdList
*/
public AttendanceRecordErrorQuery deptIdList(List<Long> deptIdList){
this.deptIdList = deptIdList;
return this;
}
/**
* 设置 所属部门
* @param deptIdNotList
*/
public AttendanceRecordErrorQuery deptIdNotList(List<Long> deptIdNotList){
this.deptIdNotList = deptIdNotList;
return this;
}
/**
* 设置 所属部门名称
* @param deptName
*/
public AttendanceRecordErrorQuery deptName(String deptName){
setDeptName(deptName);
return this;
}
/**
* 设置 所属部门名称
* @param deptNameList
*/
public AttendanceRecordErrorQuery deptNameList(List<String> deptNameList){
this.deptNameList = deptNameList;
return this;
}
/**
* 设置 职位ID
* @param positionId
*/
public AttendanceRecordErrorQuery positionId(Long positionId){
setPositionId(positionId);
return this;
}
/**
* 设置 开始 职位ID
* @param positionIdStart
*/
public AttendanceRecordErrorQuery positionIdStart(Long positionIdStart){
this.positionIdStart = positionIdStart;
return this;
}
/**
* 设置 结束 职位ID
* @param positionIdEnd
*/
public AttendanceRecordErrorQuery positionIdEnd(Long positionIdEnd){
this.positionIdEnd = positionIdEnd;
return this;
}
/**
* 设置 增加 职位ID
* @param positionIdIncrement
*/
public AttendanceRecordErrorQuery positionIdIncrement(Long positionIdIncrement){
this.positionIdIncrement = positionIdIncrement;
return this;
}
/**
* 设置 职位ID
* @param positionIdList
*/
public AttendanceRecordErrorQuery positionIdList(List<Long> positionIdList){
this.positionIdList = positionIdList;
return this;
}
/**
* 设置 职位ID
* @param positionIdNotList
*/
public AttendanceRecordErrorQuery positionIdNotList(List<Long> positionIdNotList){
this.positionIdNotList = positionIdNotList;
return this;
}
/**
* 设置 职位名称
* @param positionName
*/
public AttendanceRecordErrorQuery positionName(String positionName){
setPositionName(positionName);
return this;
}
/**
* 设置 职位名称
* @param positionNameList
*/
public AttendanceRecordErrorQuery positionNameList(List<String> positionNameList){
this.positionNameList = positionNameList;
return this;
}
/**
* 设置 所属考勤组ID
* @param attendanceGroupId
*/
public AttendanceRecordErrorQuery attendanceGroupId(Long attendanceGroupId){
setAttendanceGroupId(attendanceGroupId);
return this;
}
/**
* 设置 开始 所属考勤组ID
* @param attendanceGroupIdStart
*/
public AttendanceRecordErrorQuery attendanceGroupIdStart(Long attendanceGroupIdStart){
this.attendanceGroupIdStart = attendanceGroupIdStart;
return this;
}
/**
* 设置 结束 所属考勤组ID
* @param attendanceGroupIdEnd
*/
public AttendanceRecordErrorQuery attendanceGroupIdEnd(Long attendanceGroupIdEnd){
this.attendanceGroupIdEnd = attendanceGroupIdEnd;
return this;
}
/**
* 设置 增加 所属考勤组ID
* @param attendanceGroupIdIncrement
*/
public AttendanceRecordErrorQuery attendanceGroupIdIncrement(Long attendanceGroupIdIncrement){
this.attendanceGroupIdIncrement = attendanceGroupIdIncrement;
return this;
}
/**
* 设置 所属考勤组ID
* @param attendanceGroupIdList
*/
public AttendanceRecordErrorQuery attendanceGroupIdList(List<Long> attendanceGroupIdList){
this.attendanceGroupIdList = attendanceGroupIdList;
return this;
}
/**
* 设置 所属考勤组ID
* @param attendanceGroupIdNotList
*/
public AttendanceRecordErrorQuery attendanceGroupIdNotList(List<Long> attendanceGroupIdNotList){
this.attendanceGroupIdNotList = attendanceGroupIdNotList;
return this;
}
/**
* 设置 所属考勤组名称
* @param attendanceGroupName
*/
public AttendanceRecordErrorQuery attendanceGroupName(String attendanceGroupName){
setAttendanceGroupName(attendanceGroupName);
return this;
}
/**
* 设置 所属考勤组名称
* @param attendanceGroupNameList
*/
public AttendanceRecordErrorQuery attendanceGroupNameList(List<String> attendanceGroupNameList){
this.attendanceGroupNameList = attendanceGroupNameList;
return this;
}
/**
* 设置 班次ID
* @param shiftsId
*/
public AttendanceRecordErrorQuery shiftsId(Long shiftsId){
setShiftsId(shiftsId);
return this;
}
/**
* 设置 开始 班次ID
* @param shiftsIdStart
*/
public AttendanceRecordErrorQuery shiftsIdStart(Long shiftsIdStart){
this.shiftsIdStart = shiftsIdStart;
return this;
}
/**
* 设置 结束 班次ID
* @param shiftsIdEnd
*/
public AttendanceRecordErrorQuery shiftsIdEnd(Long shiftsIdEnd){
this.shiftsIdEnd = shiftsIdEnd;
return this;
}
/**
* 设置 增加 班次ID
* @param shiftsIdIncrement
*/
public AttendanceRecordErrorQuery shiftsIdIncrement(Long shiftsIdIncrement){
this.shiftsIdIncrement = shiftsIdIncrement;
return this;
}
/**
* 设置 班次ID
* @param shiftsIdList
*/
public AttendanceRecordErrorQuery shiftsIdList(List<Long> shiftsIdList){
this.shiftsIdList = shiftsIdList;
return this;
}
/**
* 设置 班次ID
* @param shiftsIdNotList
*/
public AttendanceRecordErrorQuery shiftsIdNotList(List<Long> shiftsIdNotList){
this.shiftsIdNotList = shiftsIdNotList;
return this;
}
/**
* 设置 班次名称
* @param shiftsName
*/
public AttendanceRecordErrorQuery shiftsName(String shiftsName){
setShiftsName(shiftsName);
return this;
}
/**
* 设置 班次名称
* @param shiftsNameList
*/
public AttendanceRecordErrorQuery shiftsNameList(List<String> shiftsNameList){
this.shiftsNameList = shiftsNameList;
return this;
}
/**
* 设置 处理人
* @param opertor
*/
public AttendanceRecordErrorQuery opertor(String opertor){
setOpertor(opertor);
return this;
}
/**
* 设置 处理人
* @param opertorList
*/
public AttendanceRecordErrorQuery opertorList(List<String> opertorList){
this.opertorList = opertorList;
return this;
}
/**
* 设置 异常状态(0.缺卡,1.早退,2.缺卡)
* @param errorStatus
*/
public AttendanceRecordErrorQuery errorStatus(Integer errorStatus){
setErrorStatus(errorStatus);
return this;
}
/**
* 设置 开始 异常状态(0.缺卡,1.早退,2.缺卡)
* @param errorStatusStart
*/
public AttendanceRecordErrorQuery errorStatusStart(Integer errorStatusStart){
this.errorStatusStart = errorStatusStart;
return this;
}
/**
* 设置 结束 异常状态(0.缺卡,1.早退,2.缺卡)
* @param errorStatusEnd
*/
public AttendanceRecordErrorQuery errorStatusEnd(Integer errorStatusEnd){
this.errorStatusEnd = errorStatusEnd;
return this;
}
/**
* 设置 增加 异常状态(0.缺卡,1.早退,2.缺卡)
* @param errorStatusIncrement
*/
public AttendanceRecordErrorQuery errorStatusIncrement(Integer errorStatusIncrement){
this.errorStatusIncrement = errorStatusIncrement;
return this;
}
/**
* 设置 异常状态(0.缺卡,1.早退,2.缺卡)
* @param errorStatusList
*/
public AttendanceRecordErrorQuery errorStatusList(List<Integer> errorStatusList){
this.errorStatusList = errorStatusList;
return this;
}
/**
* 设置 异常状态(0.缺卡,1.早退,2.缺卡)
* @param errorStatusNotList
*/
public AttendanceRecordErrorQuery errorStatusNotList(List<Integer> errorStatusNotList){
this.errorStatusNotList = errorStatusNotList;
return this;
}
/**
* 设置 处理状态(0.未处理,1.已处理)
* @param processStatus
*/
public AttendanceRecordErrorQuery processStatus(Integer processStatus){
setProcessStatus(processStatus);
return this;
}
/**
* 设置 开始 处理状态(0.未处理,1.已处理)
* @param processStatusStart
*/
public AttendanceRecordErrorQuery processStatusStart(Integer processStatusStart){
this.processStatusStart = processStatusStart;
return this;
}
/**
* 设置 结束 处理状态(0.未处理,1.已处理)
* @param processStatusEnd
*/
public AttendanceRecordErrorQuery processStatusEnd(Integer processStatusEnd){
this.processStatusEnd = processStatusEnd;
return this;
}
/**
* 设置 增加 处理状态(0.未处理,1.已处理)
* @param processStatusIncrement
*/
public AttendanceRecordErrorQuery processStatusIncrement(Integer processStatusIncrement){
this.processStatusIncrement = processStatusIncrement;
return this;
}
/**
* 设置 处理状态(0.未处理,1.已处理)
* @param processStatusList
*/
public AttendanceRecordErrorQuery processStatusList(List<Integer> processStatusList){
this.processStatusList = processStatusList;
return this;
}
/**
* 设置 处理状态(0.未处理,1.已处理)
* @param processStatusNotList
*/
public AttendanceRecordErrorQuery processStatusNotList(List<Integer> processStatusNotList){
this.processStatusNotList = processStatusNotList;
return this;
}
/**
* 设置 处理结果
* @param processResult
*/
public AttendanceRecordErrorQuery processResult(String processResult){
setProcessResult(processResult);
return this;
}
/**
* 设置 处理结果
* @param processResultList
*/
public AttendanceRecordErrorQuery processResultList(List<String> processResultList){
this.processResultList = processResultList;
return this;
}
/**
* 设置 备注
* @param remark
*/
public AttendanceRecordErrorQuery remark(String remark){
setRemark(remark);
return this;
}
/**
* 设置 备注
* @param remarkList
*/
public AttendanceRecordErrorQuery remarkList(List<String> remarkList){
this.remarkList = remarkList;
return this;
}
/**
* 设置 创建用户
* @param createUserId
*/
public AttendanceRecordErrorQuery createUserId(Long createUserId){
setCreateUserId(createUserId);
return this;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public AttendanceRecordErrorQuery createUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
return this;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public AttendanceRecordErrorQuery createUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
return this;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public AttendanceRecordErrorQuery createUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
return this;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public AttendanceRecordErrorQuery createUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
return this;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public AttendanceRecordErrorQuery createUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
return this;
}
/**
* 设置 更新用户
* @param updateUserId
*/
public AttendanceRecordErrorQuery updateUserId(Long updateUserId){
setUpdateUserId(updateUserId);
return this;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public AttendanceRecordErrorQuery updateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
return this;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public AttendanceRecordErrorQuery updateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
return this;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public AttendanceRecordErrorQuery updateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public AttendanceRecordErrorQuery updateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public AttendanceRecordErrorQuery updateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<AttendanceRecordErrorQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<AttendanceRecordErrorQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<AttendanceRecordErrorQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<AttendanceRecordErrorQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ 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;
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;
/**
* 海康考勤打卡记录汇总信息实体对象
*
* @author zxfei
* @date 2023-04-08
*/
public class AttendanceRecordHikEntity extends AttendanceRecordHikVo {
private static final long serialVersionUID = 1L;
/**
* 员工ID
*/
private Long staffId;
/**
* 员工姓名
*/
@Excel(name = "员工姓名")
private String staffName;
/**
* 工号
*/
@Excel(name = "工号")
private String workNum;
/**
* 所属部门
*/
private Long deptId;
/**
* 所属部门名称
*/
@Excel(name = "所属部门名称")
private String deptName;
/**
* 职位ID
*/
private Long positionId;
/**
* 职位名称
*/
@Excel(name = "职位名称")
private String positionName;
/**
* 所属考勤组ID
*/
private Long attendanceGroupId;
/**
* 所属考勤组名称
*/
@Excel(name = "所属考勤组名称")
private String attendanceGroupName;
/**
* 班次ID
*/
private Long shiftsId;
/**
* 班次名称
*/
@Excel(name = "班次名称")
private String shiftsName;
/**
* 考勤日期
*/
@Excel(name = "考勤日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date attendanceDate;
/**
* 考勤点名称
*/
@Excel(name = "考勤点名称")
private String attendanceAddress;
/**
* 事件源
*/
@Excel(name = "事件源")
private String eventSource;
/**
* 备注
*/
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
*/
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 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;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof AttendanceRecordHikEntity) {
AttendanceRecordHikEntity tmp = (AttendanceRecordHikEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
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.staffName = "";
this.workNum = "";
this.deptId = null;
this.deptName = "";
this.positionId = null;
this.positionName = "";
this.attendanceGroupId = null;
this.attendanceGroupName = "";
this.shiftsId = null;
this.shiftsName = "";
this.attendanceDate = null;
this.attendanceAddress = "";
this.eventSource = "";
this.remark = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.model;
import java.util.Date;
import java.util.List;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity;
/**
* 海康考勤打卡记录汇总信息查询对象
*
* @author zxfei
* @date 2023-04-08
*/
public class AttendanceRecordHikQuery extends AttendanceRecordHikEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
/** 结束 序号,主键,自增长 */
private Long idEnd;
/** 增加 序号,主键,自增长 */
private Long idIncrement;
/** 序号,主键,自增长列表 */
private List <Long> idList;
/** 序号,主键,自增长排除列表 */
private List <Long> idNotList;
/** 开始 员工ID */
private Long staffIdStart;
/** 结束 员工ID */
private Long staffIdEnd;
/** 增加 员工ID */
private Long staffIdIncrement;
/** 员工ID列表 */
private List <Long> staffIdList;
/** 员工ID排除列表 */
private List <Long> staffIdNotList;
/** 员工姓名 */
private List<String> staffNameList;
/** 员工姓名排除列表 */
private List <String> staffNameNotList;
/** 工号 */
private List<String> workNumList;
/** 工号排除列表 */
private List <String> workNumNotList;
/** 开始 所属部门 */
private Long deptIdStart;
/** 结束 所属部门 */
private Long deptIdEnd;
/** 增加 所属部门 */
private Long deptIdIncrement;
/** 所属部门列表 */
private List <Long> deptIdList;
/** 所属部门排除列表 */
private List <Long> deptIdNotList;
/** 所属部门名称 */
private List<String> deptNameList;
/** 所属部门名称排除列表 */
private List <String> deptNameNotList;
/** 开始 职位ID */
private Long positionIdStart;
/** 结束 职位ID */
private Long positionIdEnd;
/** 增加 职位ID */
private Long positionIdIncrement;
/** 职位ID列表 */
private List <Long> positionIdList;
/** 职位ID排除列表 */
private List <Long> positionIdNotList;
/** 职位名称 */
private List<String> positionNameList;
/** 职位名称排除列表 */
private List <String> positionNameNotList;
/** 开始 所属考勤组ID */
private Long attendanceGroupIdStart;
/** 结束 所属考勤组ID */
private Long attendanceGroupIdEnd;
/** 增加 所属考勤组ID */
private Long attendanceGroupIdIncrement;
/** 所属考勤组ID列表 */
private List <Long> attendanceGroupIdList;
/** 所属考勤组ID排除列表 */
private List <Long> attendanceGroupIdNotList;
/** 所属考勤组名称 */
private List<String> attendanceGroupNameList;
/** 所属考勤组名称排除列表 */
private List <String> attendanceGroupNameNotList;
/** 开始 班次ID */
private Long shiftsIdStart;
/** 结束 班次ID */
private Long shiftsIdEnd;
/** 增加 班次ID */
private Long shiftsIdIncrement;
/** 班次ID列表 */
private List <Long> shiftsIdList;
/** 班次ID排除列表 */
private List <Long> shiftsIdNotList;
/** 班次名称 */
private List<String> shiftsNameList;
/** 班次名称排除列表 */
private List <String> shiftsNameNotList;
/** 开始 考勤日期 */
private String attendanceDateStart;
/** 结束 考勤日期 */
private String attendanceDateEnd;
/** 考勤点名称 */
private List<String> attendanceAddressList;
/** 考勤点名称排除列表 */
private List <String> attendanceAddressNotList;
/** 事件源 */
private List<String> eventSourceList;
/** 事件源排除列表 */
private List <String> eventSourceNotList;
/** 备注 */
private List<String> remarkList;
/** 备注排除列表 */
private List <String> remarkNotList;
/** 开始 创建用户 */
private Long createUserIdStart;
/** 结束 创建用户 */
private Long createUserIdEnd;
/** 增加 创建用户 */
private Long createUserIdIncrement;
/** 创建用户列表 */
private List <Long> createUserIdList;
/** 创建用户排除列表 */
private List <Long> createUserIdNotList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 更新用户 */
private Long updateUserIdStart;
/** 结束 更新用户 */
private Long updateUserIdEnd;
/** 增加 更新用户 */
private Long updateUserIdIncrement;
/** 更新用户列表 */
private List <Long> updateUserIdList;
/** 更新用户排除列表 */
private List <Long> updateUserIdNotList;
/** 开始 更新时间 */
private String updateTimeStart;
/** 结束 更新时间 */
private String updateTimeEnd;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<AttendanceRecordHikQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<AttendanceRecordHikQuery> andConditionList;
public AttendanceRecordHikQuery(){}
/**
* 获取 开始 序号,主键,自增长
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 序号,主键,自增长
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 序号,主键,自增长
* @return $idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 序号,主键,自增长
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 序号,主键,自增长
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 序号,主键,自增长
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 序号,主键,自增长
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 序号,主键,自增长
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 序号,主键,自增长
* @return idNotList
*/
public List<Long> getIdNotList(){
return this.idNotList;
}
/**
* 设置 序号,主键,自增长
* @param idNotList
*/
public void setIdNotList(List<Long> idNotList){
this.idNotList = idNotList;
}
/**
* 获取 开始 员工ID
* @return staffIdStart
*/
public Long getStaffIdStart(){
return this.staffIdStart;
}
/**
* 设置 开始 员工ID
* @param staffIdStart
*/
public void setStaffIdStart(Long staffIdStart){
this.staffIdStart = staffIdStart;
}
/**
* 获取 结束 员工ID
* @return $staffIdEnd
*/
public Long getStaffIdEnd(){
return this.staffIdEnd;
}
/**
* 设置 结束 员工ID
* @param staffIdEnd
*/
public void setStaffIdEnd(Long staffIdEnd){
this.staffIdEnd = staffIdEnd;
}
/**
* 获取 增加 员工ID
* @return staffIdIncrement
*/
public Long getStaffIdIncrement(){
return this.staffIdIncrement;
}
/**
* 设置 增加 员工ID
* @param staffIdIncrement
*/
public void setStaffIdIncrement(Long staffIdIncrement){
this.staffIdIncrement = staffIdIncrement;
}
/**
* 获取 员工ID
* @return staffIdList
*/
public List<Long> getStaffIdList(){
return this.staffIdList;
}
/**
* 设置 员工ID
* @param staffIdList
*/
public void setStaffIdList(List<Long> staffIdList){
this.staffIdList = staffIdList;
}
/**
* 获取 员工ID
* @return staffIdNotList
*/
public List<Long> getStaffIdNotList(){
return this.staffIdNotList;
}
/**
* 设置 员工ID
* @param staffIdNotList
*/
public void setStaffIdNotList(List<Long> staffIdNotList){
this.staffIdNotList = staffIdNotList;
}
/**
* 获取 员工姓名
* @return staffNameList
*/
public List<String> getStaffNameList(){
return this.staffNameList;
}
/**
* 设置 员工姓名
* @param staffNameList
*/
public void setStaffNameList(List<String> staffNameList){
this.staffNameList = staffNameList;
}
/**
* 获取 员工姓名
* @return staffNameNotList
*/
public List<String> getStaffNameNotList(){
return this.staffNameNotList;
}
/**
* 设置 员工姓名
* @param staffNameNotList
*/
public void setStaffNameNotList(List<String> staffNameNotList){
this.staffNameNotList = staffNameNotList;
}
/**
* 获取 工号
* @return workNumList
*/
public List<String> getWorkNumList(){
return this.workNumList;
}
/**
* 设置 工号
* @param workNumList
*/
public void setWorkNumList(List<String> workNumList){
this.workNumList = workNumList;
}
/**
* 获取 工号
* @return workNumNotList
*/
public List<String> getWorkNumNotList(){
return this.workNumNotList;
}
/**
* 设置 工号
* @param workNumNotList
*/
public void setWorkNumNotList(List<String> workNumNotList){
this.workNumNotList = workNumNotList;
}
/**
* 获取 开始 所属部门
* @return deptIdStart
*/
public Long getDeptIdStart(){
return this.deptIdStart;
}
/**
* 设置 开始 所属部门
* @param deptIdStart
*/
public void setDeptIdStart(Long deptIdStart){
this.deptIdStart = deptIdStart;
}
/**
* 获取 结束 所属部门
* @return $deptIdEnd
*/
public Long getDeptIdEnd(){
return this.deptIdEnd;
}
/**
* 设置 结束 所属部门
* @param deptIdEnd
*/
public void setDeptIdEnd(Long deptIdEnd){
this.deptIdEnd = deptIdEnd;
}
/**
* 获取 增加 所属部门
* @return deptIdIncrement
*/
public Long getDeptIdIncrement(){
return this.deptIdIncrement;
}
/**
* 设置 增加 所属部门
* @param deptIdIncrement
*/
public void setDeptIdIncrement(Long deptIdIncrement){
this.deptIdIncrement = deptIdIncrement;
}
/**
* 获取 所属部门
* @return deptIdList
*/
public List<Long> getDeptIdList(){
return this.deptIdList;
}
/**
* 设置 所属部门
* @param deptIdList
*/
public void setDeptIdList(List<Long> deptIdList){
this.deptIdList = deptIdList;
}
/**
* 获取 所属部门
* @return deptIdNotList
*/
public List<Long> getDeptIdNotList(){
return this.deptIdNotList;
}
/**
* 设置 所属部门
* @param deptIdNotList
*/
public void setDeptIdNotList(List<Long> deptIdNotList){
this.deptIdNotList = deptIdNotList;
}
/**
* 获取 所属部门名称
* @return deptNameList
*/
public List<String> getDeptNameList(){
return this.deptNameList;
}
/**
* 设置 所属部门名称
* @param deptNameList
*/
public void setDeptNameList(List<String> deptNameList){
this.deptNameList = deptNameList;
}
/**
* 获取 所属部门名称
* @return deptNameNotList
*/
public List<String> getDeptNameNotList(){
return this.deptNameNotList;
}
/**
* 设置 所属部门名称
* @param deptNameNotList
*/
public void setDeptNameNotList(List<String> deptNameNotList){
this.deptNameNotList = deptNameNotList;
}
/**
* 获取 开始 职位ID
* @return positionIdStart
*/
public Long getPositionIdStart(){
return this.positionIdStart;
}
/**
* 设置 开始 职位ID
* @param positionIdStart
*/
public void setPositionIdStart(Long positionIdStart){
this.positionIdStart = positionIdStart;
}
/**
* 获取 结束 职位ID
* @return $positionIdEnd
*/
public Long getPositionIdEnd(){
return this.positionIdEnd;
}
/**
* 设置 结束 职位ID
* @param positionIdEnd
*/
public void setPositionIdEnd(Long positionIdEnd){
this.positionIdEnd = positionIdEnd;
}
/**
* 获取 增加 职位ID
* @return positionIdIncrement
*/
public Long getPositionIdIncrement(){
return this.positionIdIncrement;
}
/**
* 设置 增加 职位ID
* @param positionIdIncrement
*/
public void setPositionIdIncrement(Long positionIdIncrement){
this.positionIdIncrement = positionIdIncrement;
}
/**
* 获取 职位ID
* @return positionIdList
*/
public List<Long> getPositionIdList(){
return this.positionIdList;
}
/**
* 设置 职位ID
* @param positionIdList
*/
public void setPositionIdList(List<Long> positionIdList){
this.positionIdList = positionIdList;
}
/**
* 获取 职位ID
* @return positionIdNotList
*/
public List<Long> getPositionIdNotList(){
return this.positionIdNotList;
}
/**
* 设置 职位ID
* @param positionIdNotList
*/
public void setPositionIdNotList(List<Long> positionIdNotList){
this.positionIdNotList = positionIdNotList;
}
/**
* 获取 职位名称
* @return positionNameList
*/
public List<String> getPositionNameList(){
return this.positionNameList;
}
/**
* 设置 职位名称
* @param positionNameList
*/
public void setPositionNameList(List<String> positionNameList){
this.positionNameList = positionNameList;
}
/**
* 获取 职位名称
* @return positionNameNotList
*/
public List<String> getPositionNameNotList(){
return this.positionNameNotList;
}
/**
* 设置 职位名称
* @param positionNameNotList
*/
public void setPositionNameNotList(List<String> positionNameNotList){
this.positionNameNotList = positionNameNotList;
}
/**
* 获取 开始 所属考勤组ID
* @return attendanceGroupIdStart
*/
public Long getAttendanceGroupIdStart(){
return this.attendanceGroupIdStart;
}
/**
* 设置 开始 所属考勤组ID
* @param attendanceGroupIdStart
*/
public void setAttendanceGroupIdStart(Long attendanceGroupIdStart){
this.attendanceGroupIdStart = attendanceGroupIdStart;
}
/**
* 获取 结束 所属考勤组ID
* @return $attendanceGroupIdEnd
*/
public Long getAttendanceGroupIdEnd(){
return this.attendanceGroupIdEnd;
}
/**
* 设置 结束 所属考勤组ID
* @param attendanceGroupIdEnd
*/
public void setAttendanceGroupIdEnd(Long attendanceGroupIdEnd){
this.attendanceGroupIdEnd = attendanceGroupIdEnd;
}
/**
* 获取 增加 所属考勤组ID
* @return attendanceGroupIdIncrement
*/
public Long getAttendanceGroupIdIncrement(){
return this.attendanceGroupIdIncrement;
}
/**
* 设置 增加 所属考勤组ID
* @param attendanceGroupIdIncrement
*/
public void setAttendanceGroupIdIncrement(Long attendanceGroupIdIncrement){
this.attendanceGroupIdIncrement = attendanceGroupIdIncrement;
}
/**
* 获取 所属考勤组ID
* @return attendanceGroupIdList
*/
public List<Long> getAttendanceGroupIdList(){
return this.attendanceGroupIdList;
}
/**
* 设置 所属考勤组ID
* @param attendanceGroupIdList
*/
public void setAttendanceGroupIdList(List<Long> attendanceGroupIdList){
this.attendanceGroupIdList = attendanceGroupIdList;
}
/**
* 获取 所属考勤组ID
* @return attendanceGroupIdNotList
*/
public List<Long> getAttendanceGroupIdNotList(){
return this.attendanceGroupIdNotList;
}
/**
* 设置 所属考勤组ID
* @param attendanceGroupIdNotList
*/
public void setAttendanceGroupIdNotList(List<Long> attendanceGroupIdNotList){
this.attendanceGroupIdNotList = attendanceGroupIdNotList;
}
/**
* 获取 所属考勤组名称
* @return attendanceGroupNameList
*/
public List<String> getAttendanceGroupNameList(){
return this.attendanceGroupNameList;
}
/**
* 设置 所属考勤组名称
* @param attendanceGroupNameList
*/
public void setAttendanceGroupNameList(List<String> attendanceGroupNameList){
this.attendanceGroupNameList = attendanceGroupNameList;
}
/**
* 获取 所属考勤组名称
* @return attendanceGroupNameNotList
*/
public List<String> getAttendanceGroupNameNotList(){
return this.attendanceGroupNameNotList;
}
/**
* 设置 所属考勤组名称
* @param attendanceGroupNameNotList
*/
public void setAttendanceGroupNameNotList(List<String> attendanceGroupNameNotList){
this.attendanceGroupNameNotList = attendanceGroupNameNotList;
}
/**
* 获取 开始 班次ID
* @return shiftsIdStart
*/
public Long getShiftsIdStart(){
return this.shiftsIdStart;
}
/**
* 设置 开始 班次ID
* @param shiftsIdStart
*/
public void setShiftsIdStart(Long shiftsIdStart){
this.shiftsIdStart = shiftsIdStart;
}
/**
* 获取 结束 班次ID
* @return $shiftsIdEnd
*/
public Long getShiftsIdEnd(){
return this.shiftsIdEnd;
}
/**
* 设置 结束 班次ID
* @param shiftsIdEnd
*/
public void setShiftsIdEnd(Long shiftsIdEnd){
this.shiftsIdEnd = shiftsIdEnd;
}
/**
* 获取 增加 班次ID
* @return shiftsIdIncrement
*/
public Long getShiftsIdIncrement(){
return this.shiftsIdIncrement;
}
/**
* 设置 增加 班次ID
* @param shiftsIdIncrement
*/
public void setShiftsIdIncrement(Long shiftsIdIncrement){
this.shiftsIdIncrement = shiftsIdIncrement;
}
/**
* 获取 班次ID
* @return shiftsIdList
*/
public List<Long> getShiftsIdList(){
return this.shiftsIdList;
}
/**
* 设置 班次ID
* @param shiftsIdList
*/
public void setShiftsIdList(List<Long> shiftsIdList){
this.shiftsIdList = shiftsIdList;
}
/**
* 获取 班次ID
* @return shiftsIdNotList
*/
public List<Long> getShiftsIdNotList(){
return this.shiftsIdNotList;
}
/**
* 设置 班次ID
* @param shiftsIdNotList
*/
public void setShiftsIdNotList(List<Long> shiftsIdNotList){
this.shiftsIdNotList = shiftsIdNotList;
}
/**
* 获取 班次名称
* @return shiftsNameList
*/
public List<String> getShiftsNameList(){
return this.shiftsNameList;
}
/**
* 设置 班次名称
* @param shiftsNameList
*/
public void setShiftsNameList(List<String> shiftsNameList){
this.shiftsNameList = shiftsNameList;
}
/**
* 获取 班次名称
* @return shiftsNameNotList
*/
public List<String> getShiftsNameNotList(){
return this.shiftsNameNotList;
}
/**
* 设置 班次名称
* @param shiftsNameNotList
*/
public void setShiftsNameNotList(List<String> shiftsNameNotList){
this.shiftsNameNotList = shiftsNameNotList;
}
/**
* 获取 开始 考勤日期
* @return attendanceDateStart
*/
public String getAttendanceDateStart(){
return this.attendanceDateStart;
}
/**
* 设置 开始 考勤日期
* @param attendanceDateStart
*/
public void setAttendanceDateStart(String attendanceDateStart){
this.attendanceDateStart = attendanceDateStart;
}
/**
* 获取 结束 考勤日期
* @return attendanceDateEnd
*/
public String getAttendanceDateEnd(){
return this.attendanceDateEnd;
}
/**
* 设置 结束 考勤日期
* @param attendanceDateEnd
*/
public void setAttendanceDateEnd(String attendanceDateEnd){
this.attendanceDateEnd = attendanceDateEnd;
}
/**
* 获取 考勤点名称
* @return attendanceAddressList
*/
public List<String> getAttendanceAddressList(){
return this.attendanceAddressList;
}
/**
* 设置 考勤点名称
* @param attendanceAddressList
*/
public void setAttendanceAddressList(List<String> attendanceAddressList){
this.attendanceAddressList = attendanceAddressList;
}
/**
* 获取 考勤点名称
* @return attendanceAddressNotList
*/
public List<String> getAttendanceAddressNotList(){
return this.attendanceAddressNotList;
}
/**
* 设置 考勤点名称
* @param attendanceAddressNotList
*/
public void setAttendanceAddressNotList(List<String> attendanceAddressNotList){
this.attendanceAddressNotList = attendanceAddressNotList;
}
/**
* 获取 事件源
* @return eventSourceList
*/
public List<String> getEventSourceList(){
return this.eventSourceList;
}
/**
* 设置 事件源
* @param eventSourceList
*/
public void setEventSourceList(List<String> eventSourceList){
this.eventSourceList = eventSourceList;
}
/**
* 获取 事件源
* @return eventSourceNotList
*/
public List<String> getEventSourceNotList(){
return this.eventSourceNotList;
}
/**
* 设置 事件源
* @param eventSourceNotList
*/
public void setEventSourceNotList(List<String> eventSourceNotList){
this.eventSourceNotList = eventSourceNotList;
}
/**
* 获取 备注
* @return remarkList
*/
public List<String> getRemarkList(){
return this.remarkList;
}
/**
* 设置 备注
* @param remarkList
*/
public void setRemarkList(List<String> remarkList){
this.remarkList = remarkList;
}
/**
* 获取 备注
* @return remarkNotList
*/
public List<String> getRemarkNotList(){
return this.remarkNotList;
}
/**
* 设置 备注
* @param remarkNotList
*/
public void setRemarkNotList(List<String> remarkNotList){
this.remarkNotList = remarkNotList;
}
/**
* 获取 开始 创建用户
* @return createUserIdStart
*/
public Long getCreateUserIdStart(){
return this.createUserIdStart;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public void setCreateUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
}
/**
* 获取 结束 创建用户
* @return $createUserIdEnd
*/
public Long getCreateUserIdEnd(){
return this.createUserIdEnd;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public void setCreateUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
}
/**
* 获取 增加 创建用户
* @return createUserIdIncrement
*/
public Long getCreateUserIdIncrement(){
return this.createUserIdIncrement;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public void setCreateUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
}
/**
* 获取 创建用户
* @return createUserIdList
*/
public List<Long> getCreateUserIdList(){
return this.createUserIdList;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public void setCreateUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
}
/**
* 获取 创建用户
* @return createUserIdNotList
*/
public List<Long> getCreateUserIdNotList(){
return this.createUserIdNotList;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public void setCreateUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
*/
public String getCreateTimeStart(){
return this.createTimeStart;
}
/**
* 设置 开始 创建时间
* @param createTimeStart
*/
public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart;
}
/**
* 获取 结束 创建时间
* @return createTimeEnd
*/
public String getCreateTimeEnd(){
return this.createTimeEnd;
}
/**
* 设置 结束 创建时间
* @param createTimeEnd
*/
public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd;
}
/**
* 获取 开始 更新用户
* @return updateUserIdStart
*/
public Long getUpdateUserIdStart(){
return this.updateUserIdStart;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public void setUpdateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
}
/**
* 获取 结束 更新用户
* @return $updateUserIdEnd
*/
public Long getUpdateUserIdEnd(){
return this.updateUserIdEnd;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public void setUpdateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
}
/**
* 获取 增加 更新用户
* @return updateUserIdIncrement
*/
public Long getUpdateUserIdIncrement(){
return this.updateUserIdIncrement;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
}
/**
* 获取 更新用户
* @return updateUserIdList
*/
public List<Long> getUpdateUserIdList(){
return this.updateUserIdList;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public void setUpdateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
}
/**
* 获取 更新用户
* @return updateUserIdNotList
*/
public List<Long> getUpdateUserIdNotList(){
return this.updateUserIdNotList;
}
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public void setUpdateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
}
/**
* 获取 开始 更新时间
* @return updateTimeStart
*/
public String getUpdateTimeStart(){
return this.updateTimeStart;
}
/**
* 设置 开始 更新时间
* @param updateTimeStart
*/
public void setUpdateTimeStart(String updateTimeStart){
this.updateTimeStart = updateTimeStart;
}
/**
* 获取 结束 更新时间
* @return updateTimeEnd
*/
public String getUpdateTimeEnd(){
return this.updateTimeEnd;
}
/**
* 设置 结束 更新时间
* @param updateTimeEnd
*/
public void setUpdateTimeEnd(String updateTimeEnd){
this.updateTimeEnd = updateTimeEnd;
}
/**
* 设置 序号,主键,自增长
* @param id
*/
public AttendanceRecordHikQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 序号,主键,自增长
* @param idStart
*/
public AttendanceRecordHikQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 序号,主键,自增长
* @param idEnd
*/
public AttendanceRecordHikQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 序号,主键,自增长
* @param idIncrement
*/
public AttendanceRecordHikQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 序号,主键,自增长
* @param idList
*/
public AttendanceRecordHikQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 序号,主键,自增长
* @param idNotList
*/
public AttendanceRecordHikQuery idNotList(List<Long> idNotList){
this.idNotList = idNotList;
return this;
}
/**
* 设置 员工ID
* @param staffId
*/
public AttendanceRecordHikQuery staffId(Long staffId){
setStaffId(staffId);
return this;
}
/**
* 设置 开始 员工ID
* @param staffIdStart
*/
public AttendanceRecordHikQuery staffIdStart(Long staffIdStart){
this.staffIdStart = staffIdStart;
return this;
}
/**
* 设置 结束 员工ID
* @param staffIdEnd
*/
public AttendanceRecordHikQuery staffIdEnd(Long staffIdEnd){
this.staffIdEnd = staffIdEnd;
return this;
}
/**
* 设置 增加 员工ID
* @param staffIdIncrement
*/
public AttendanceRecordHikQuery staffIdIncrement(Long staffIdIncrement){
this.staffIdIncrement = staffIdIncrement;
return this;
}
/**
* 设置 员工ID
* @param staffIdList
*/
public AttendanceRecordHikQuery staffIdList(List<Long> staffIdList){
this.staffIdList = staffIdList;
return this;
}
/**
* 设置 员工ID
* @param staffIdNotList
*/
public AttendanceRecordHikQuery staffIdNotList(List<Long> staffIdNotList){
this.staffIdNotList = staffIdNotList;
return this;
}
/**
* 设置 员工姓名
* @param staffName
*/
public AttendanceRecordHikQuery staffName(String staffName){
setStaffName(staffName);
return this;
}
/**
* 设置 员工姓名
* @param staffNameList
*/
public AttendanceRecordHikQuery staffNameList(List<String> staffNameList){
this.staffNameList = staffNameList;
return this;
}
/**
* 设置 工号
* @param workNum
*/
public AttendanceRecordHikQuery workNum(String workNum){
setWorkNum(workNum);
return this;
}
/**
* 设置 工号
* @param workNumList
*/
public AttendanceRecordHikQuery workNumList(List<String> workNumList){
this.workNumList = workNumList;
return this;
}
/**
* 设置 所属部门
* @param deptId
*/
public AttendanceRecordHikQuery deptId(Long deptId){
setDeptId(deptId);
return this;
}
/**
* 设置 开始 所属部门
* @param deptIdStart
*/
public AttendanceRecordHikQuery deptIdStart(Long deptIdStart){
this.deptIdStart = deptIdStart;
return this;
}
/**
* 设置 结束 所属部门
* @param deptIdEnd
*/
public AttendanceRecordHikQuery deptIdEnd(Long deptIdEnd){
this.deptIdEnd = deptIdEnd;
return this;
}
/**
* 设置 增加 所属部门
* @param deptIdIncrement
*/
public AttendanceRecordHikQuery deptIdIncrement(Long deptIdIncrement){
this.deptIdIncrement = deptIdIncrement;
return this;
}
/**
* 设置 所属部门
* @param deptIdList
*/
public AttendanceRecordHikQuery deptIdList(List<Long> deptIdList){
this.deptIdList = deptIdList;
return this;
}
/**
* 设置 所属部门
* @param deptIdNotList
*/
public AttendanceRecordHikQuery deptIdNotList(List<Long> deptIdNotList){
this.deptIdNotList = deptIdNotList;
return this;
}
/**
* 设置 所属部门名称
* @param deptName
*/
public AttendanceRecordHikQuery deptName(String deptName){
setDeptName(deptName);
return this;
}
/**
* 设置 所属部门名称
* @param deptNameList
*/
public AttendanceRecordHikQuery deptNameList(List<String> deptNameList){
this.deptNameList = deptNameList;
return this;
}
/**
* 设置 职位ID
* @param positionId
*/
public AttendanceRecordHikQuery positionId(Long positionId){
setPositionId(positionId);
return this;
}
/**
* 设置 开始 职位ID
* @param positionIdStart
*/
public AttendanceRecordHikQuery positionIdStart(Long positionIdStart){
this.positionIdStart = positionIdStart;
return this;
}
/**
* 设置 结束 职位ID
* @param positionIdEnd
*/
public AttendanceRecordHikQuery positionIdEnd(Long positionIdEnd){
this.positionIdEnd = positionIdEnd;
return this;
}
/**
* 设置 增加 职位ID
* @param positionIdIncrement
*/
public AttendanceRecordHikQuery positionIdIncrement(Long positionIdIncrement){
this.positionIdIncrement = positionIdIncrement;
return this;
}
/**
* 设置 职位ID
* @param positionIdList
*/
public AttendanceRecordHikQuery positionIdList(List<Long> positionIdList){
this.positionIdList = positionIdList;
return this;
}
/**
* 设置 职位ID
* @param positionIdNotList
*/
public AttendanceRecordHikQuery positionIdNotList(List<Long> positionIdNotList){
this.positionIdNotList = positionIdNotList;
return this;
}
/**
* 设置 职位名称
* @param positionName
*/
public AttendanceRecordHikQuery positionName(String positionName){
setPositionName(positionName);
return this;
}
/**
* 设置 职位名称
* @param positionNameList
*/
public AttendanceRecordHikQuery positionNameList(List<String> positionNameList){
this.positionNameList = positionNameList;
return this;
}
/**
* 设置 所属考勤组ID
* @param attendanceGroupId
*/
public AttendanceRecordHikQuery attendanceGroupId(Long attendanceGroupId){
setAttendanceGroupId(attendanceGroupId);
return this;
}
/**
* 设置 开始 所属考勤组ID
* @param attendanceGroupIdStart
*/
public AttendanceRecordHikQuery attendanceGroupIdStart(Long attendanceGroupIdStart){
this.attendanceGroupIdStart = attendanceGroupIdStart;
return this;
}
/**
* 设置 结束 所属考勤组ID
* @param attendanceGroupIdEnd
*/
public AttendanceRecordHikQuery attendanceGroupIdEnd(Long attendanceGroupIdEnd){
this.attendanceGroupIdEnd = attendanceGroupIdEnd;
return this;
}
/**
* 设置 增加 所属考勤组ID
* @param attendanceGroupIdIncrement
*/
public AttendanceRecordHikQuery attendanceGroupIdIncrement(Long attendanceGroupIdIncrement){
this.attendanceGroupIdIncrement = attendanceGroupIdIncrement;
return this;
}
/**
* 设置 所属考勤组ID
* @param attendanceGroupIdList
*/
public AttendanceRecordHikQuery attendanceGroupIdList(List<Long> attendanceGroupIdList){
this.attendanceGroupIdList = attendanceGroupIdList;
return this;
}
/**
* 设置 所属考勤组ID
* @param attendanceGroupIdNotList
*/
public AttendanceRecordHikQuery attendanceGroupIdNotList(List<Long> attendanceGroupIdNotList){
this.attendanceGroupIdNotList = attendanceGroupIdNotList;
return this;
}
/**
* 设置 所属考勤组名称
* @param attendanceGroupName
*/
public AttendanceRecordHikQuery attendanceGroupName(String attendanceGroupName){
setAttendanceGroupName(attendanceGroupName);
return this;
}
/**
* 设置 所属考勤组名称
* @param attendanceGroupNameList
*/
public AttendanceRecordHikQuery attendanceGroupNameList(List<String> attendanceGroupNameList){
this.attendanceGroupNameList = attendanceGroupNameList;
return this;
}
/**
* 设置 班次ID
* @param shiftsId
*/
public AttendanceRecordHikQuery shiftsId(Long shiftsId){
setShiftsId(shiftsId);
return this;
}
/**
* 设置 开始 班次ID
* @param shiftsIdStart
*/
public AttendanceRecordHikQuery shiftsIdStart(Long shiftsIdStart){
this.shiftsIdStart = shiftsIdStart;
return this;
}
/**
* 设置 结束 班次ID
* @param shiftsIdEnd
*/
public AttendanceRecordHikQuery shiftsIdEnd(Long shiftsIdEnd){
this.shiftsIdEnd = shiftsIdEnd;
return this;
}
/**
* 设置 增加 班次ID
* @param shiftsIdIncrement
*/
public AttendanceRecordHikQuery shiftsIdIncrement(Long shiftsIdIncrement){
this.shiftsIdIncrement = shiftsIdIncrement;
return this;
}
/**
* 设置 班次ID
* @param shiftsIdList
*/
public AttendanceRecordHikQuery shiftsIdList(List<Long> shiftsIdList){
this.shiftsIdList = shiftsIdList;
return this;
}
/**
* 设置 班次ID
* @param shiftsIdNotList
*/
public AttendanceRecordHikQuery shiftsIdNotList(List<Long> shiftsIdNotList){
this.shiftsIdNotList = shiftsIdNotList;
return this;
}
/**
* 设置 班次名称
* @param shiftsName
*/
public AttendanceRecordHikQuery shiftsName(String shiftsName){
setShiftsName(shiftsName);
return this;
}
/**
* 设置 班次名称
* @param shiftsNameList
*/
public AttendanceRecordHikQuery shiftsNameList(List<String> shiftsNameList){
this.shiftsNameList = shiftsNameList;
return this;
}
/**
* 设置 考勤点名称
* @param attendanceAddress
*/
public AttendanceRecordHikQuery attendanceAddress(String attendanceAddress){
setAttendanceAddress(attendanceAddress);
return this;
}
/**
* 设置 考勤点名称
* @param attendanceAddressList
*/
public AttendanceRecordHikQuery attendanceAddressList(List<String> attendanceAddressList){
this.attendanceAddressList = attendanceAddressList;
return this;
}
/**
* 设置 事件源
* @param eventSource
*/
public AttendanceRecordHikQuery eventSource(String eventSource){
setEventSource(eventSource);
return this;
}
/**
* 设置 事件源
* @param eventSourceList
*/
public AttendanceRecordHikQuery eventSourceList(List<String> eventSourceList){
this.eventSourceList = eventSourceList;
return this;
}
/**
* 设置 备注
* @param remark
*/
public AttendanceRecordHikQuery remark(String remark){
setRemark(remark);
return this;
}
/**
* 设置 备注
* @param remarkList
*/
public AttendanceRecordHikQuery remarkList(List<String> remarkList){
this.remarkList = remarkList;
return this;
}
/**
* 设置 创建用户
* @param createUserId
*/
public AttendanceRecordHikQuery createUserId(Long createUserId){
setCreateUserId(createUserId);
return this;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public AttendanceRecordHikQuery createUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
return this;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public AttendanceRecordHikQuery createUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
return this;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public AttendanceRecordHikQuery createUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
return this;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public AttendanceRecordHikQuery createUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
return this;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public AttendanceRecordHikQuery createUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
return this;
}
/**
* 设置 更新用户
* @param updateUserId
*/
public AttendanceRecordHikQuery updateUserId(Long updateUserId){
setUpdateUserId(updateUserId);
return this;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public AttendanceRecordHikQuery updateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
return this;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public AttendanceRecordHikQuery updateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
return this;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public AttendanceRecordHikQuery updateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public AttendanceRecordHikQuery updateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public AttendanceRecordHikQuery updateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<AttendanceRecordHikQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<AttendanceRecordHikQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<AttendanceRecordHikQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<AttendanceRecordHikQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.model;
import java.util.List;
import java.util.ArrayList;
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.AttendanceStaffStatVo;
/**
* 考勤人员汇总信息实体对象
*
* @author zxfei
* @date 2023-04-08
*/
public class AttendanceStaffStatEntity extends AttendanceStaffStatVo {
private static final long serialVersionUID = 1L;
/**
* 员工ID
*/
private Long staffId;
/**
* 员工姓名
*/
private String staffName;
/**
* 考勤汇总信息,如迟到*1,旷工*2等
*/
private String attendanceSummary;
/**
* 年
*/
private Integer year;
/**
* 月
*/
private Integer month;
/**
* 日
*/
private Integer day;
/**
* 备注
*/
private String remark;
public AttendanceStaffStatEntity(){}
/**
* 获取 员工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;
}
/**
* 获取 考勤汇总信息,如迟到*1,旷工*2等
* @return String
*/
public String getAttendanceSummary(){
return attendanceSummary;
}
/**
* 设置 考勤汇总信息,如迟到*1,旷工*2等
* @param attendanceSummary
*/
public void setAttendanceSummary(String attendanceSummary){
this.attendanceSummary = attendanceSummary;
}
/**
* 获取 年
* @return Integer
*/
public Integer getYear(){
return year;
}
/**
* 设置 年
* @param year
*/
public void setYear(Integer year){
this.year = year;
}
/**
* 获取 月
* @return Integer
*/
public Integer getMonth(){
return month;
}
/**
* 设置 月
* @param month
*/
public void setMonth(Integer month){
this.month = month;
}
/**
* 获取 日
* @return Integer
*/
public Integer getDay(){
return day;
}
/**
* 设置 日
* @param day
*/
public void setDay(Integer day){
this.day = day;
}
/**
* 获取 备注
* @return String
*/
public String getRemark(){
return remark;
}
/**
* 设置 备注
* @param remark
*/
public void setRemark(String remark){
this.remark = remark;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof AttendanceStaffStatEntity) {
AttendanceStaffStatEntity tmp = (AttendanceStaffStatEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",staffId:").append(getStaffId());
sb.append(",staffName:").append(getStaffName());
sb.append(",attendanceSummary:").append(getAttendanceSummary());
sb.append(",year:").append(getYear());
sb.append(",month:").append(getMonth());
sb.append(",day:").append(getDay());
sb.append(",remark:").append(getRemark());
return sb.toString();
}
public void initAttrValue(){
this.staffId = null;
this.staffName = "";
this.attendanceSummary = "";
this.year = null;
this.month = null;
this.day = null;
this.remark = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.model;
import java.util.List;
import com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity;
/**
* 考勤人员汇总信息查询对象
*
* @author zxfei
* @date 2023-04-08
*/
public class AttendanceStaffStatQuery extends AttendanceStaffStatEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
/** 结束 序号,主键,自增长 */
private Long idEnd;
/** 增加 序号,主键,自增长 */
private Long idIncrement;
/** 序号,主键,自增长列表 */
private List <Long> idList;
/** 序号,主键,自增长排除列表 */
private List <Long> idNotList;
/** 开始 员工ID */
private Long staffIdStart;
/** 结束 员工ID */
private Long staffIdEnd;
/** 增加 员工ID */
private Long staffIdIncrement;
/** 员工ID列表 */
private List <Long> staffIdList;
/** 员工ID排除列表 */
private List <Long> staffIdNotList;
/** 员工姓名 */
private List<String> staffNameList;
/** 员工姓名排除列表 */
private List <String> staffNameNotList;
/** 考勤汇总信息,如迟到*1,旷工*2等 */
private List<String> attendanceSummaryList;
/** 考勤汇总信息,如迟到*1,旷工*2等排除列表 */
private List <String> attendanceSummaryNotList;
/** 开始 年 */
private Integer yearStart;
/** 结束 年 */
private Integer yearEnd;
/** 增加 年 */
private Integer yearIncrement;
/** 年列表 */
private List <Integer> yearList;
/** 年排除列表 */
private List <Integer> yearNotList;
/** 开始 月 */
private Integer monthStart;
/** 结束 月 */
private Integer monthEnd;
/** 增加 月 */
private Integer monthIncrement;
/** 月列表 */
private List <Integer> monthList;
/** 月排除列表 */
private List <Integer> monthNotList;
/** 开始 日 */
private Integer dayStart;
/** 结束 日 */
private Integer dayEnd;
/** 增加 日 */
private Integer dayIncrement;
/** 日列表 */
private List <Integer> dayList;
/** 日排除列表 */
private List <Integer> dayNotList;
/** 备注 */
private List<String> remarkList;
/** 备注排除列表 */
private List <String> remarkNotList;
/** 开始 创建用户 */
private Long createUserIdStart;
/** 结束 创建用户 */
private Long createUserIdEnd;
/** 增加 创建用户 */
private Long createUserIdIncrement;
/** 创建用户列表 */
private List <Long> createUserIdList;
/** 创建用户排除列表 */
private List <Long> createUserIdNotList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 更新用户 */
private Long updateUserIdStart;
/** 结束 更新用户 */
private Long updateUserIdEnd;
/** 增加 更新用户 */
private Long updateUserIdIncrement;
/** 更新用户列表 */
private List <Long> updateUserIdList;
/** 更新用户排除列表 */
private List <Long> updateUserIdNotList;
/** 开始 更新时间 */
private String updateTimeStart;
/** 结束 更新时间 */
private String updateTimeEnd;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<AttendanceStaffStatQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<AttendanceStaffStatQuery> andConditionList;
public AttendanceStaffStatQuery(){}
/**
* 获取 开始 序号,主键,自增长
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 序号,主键,自增长
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 序号,主键,自增长
* @return $idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 序号,主键,自增长
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 序号,主键,自增长
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 序号,主键,自增长
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 序号,主键,自增长
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 序号,主键,自增长
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 序号,主键,自增长
* @return idNotList
*/
public List<Long> getIdNotList(){
return this.idNotList;
}
/**
* 设置 序号,主键,自增长
* @param idNotList
*/
public void setIdNotList(List<Long> idNotList){
this.idNotList = idNotList;
}
/**
* 获取 开始 员工ID
* @return staffIdStart
*/
public Long getStaffIdStart(){
return this.staffIdStart;
}
/**
* 设置 开始 员工ID
* @param staffIdStart
*/
public void setStaffIdStart(Long staffIdStart){
this.staffIdStart = staffIdStart;
}
/**
* 获取 结束 员工ID
* @return $staffIdEnd
*/
public Long getStaffIdEnd(){
return this.staffIdEnd;
}
/**
* 设置 结束 员工ID
* @param staffIdEnd
*/
public void setStaffIdEnd(Long staffIdEnd){
this.staffIdEnd = staffIdEnd;
}
/**
* 获取 增加 员工ID
* @return staffIdIncrement
*/
public Long getStaffIdIncrement(){
return this.staffIdIncrement;
}
/**
* 设置 增加 员工ID
* @param staffIdIncrement
*/
public void setStaffIdIncrement(Long staffIdIncrement){
this.staffIdIncrement = staffIdIncrement;
}
/**
* 获取 员工ID
* @return staffIdList
*/
public List<Long> getStaffIdList(){
return this.staffIdList;
}
/**
* 设置 员工ID
* @param staffIdList
*/
public void setStaffIdList(List<Long> staffIdList){
this.staffIdList = staffIdList;
}
/**
* 获取 员工ID
* @return staffIdNotList
*/
public List<Long> getStaffIdNotList(){
return this.staffIdNotList;
}
/**
* 设置 员工ID
* @param staffIdNotList
*/
public void setStaffIdNotList(List<Long> staffIdNotList){
this.staffIdNotList = staffIdNotList;
}
/**
* 获取 员工姓名
* @return staffNameList
*/
public List<String> getStaffNameList(){
return this.staffNameList;
}
/**
* 设置 员工姓名
* @param staffNameList
*/
public void setStaffNameList(List<String> staffNameList){
this.staffNameList = staffNameList;
}
/**
* 获取 员工姓名
* @return staffNameNotList
*/
public List<String> getStaffNameNotList(){
return this.staffNameNotList;
}
/**
* 设置 员工姓名
* @param staffNameNotList
*/
public void setStaffNameNotList(List<String> staffNameNotList){
this.staffNameNotList = staffNameNotList;
}
/**
* 获取 考勤汇总信息,如迟到*1,旷工*2等
* @return attendanceSummaryList
*/
public List<String> getAttendanceSummaryList(){
return this.attendanceSummaryList;
}
/**
* 设置 考勤汇总信息,如迟到*1,旷工*2等
* @param attendanceSummaryList
*/
public void setAttendanceSummaryList(List<String> attendanceSummaryList){
this.attendanceSummaryList = attendanceSummaryList;
}
/**
* 获取 考勤汇总信息,如迟到*1,旷工*2等
* @return attendanceSummaryNotList
*/
public List<String> getAttendanceSummaryNotList(){
return this.attendanceSummaryNotList;
}
/**
* 设置 考勤汇总信息,如迟到*1,旷工*2等
* @param attendanceSummaryNotList
*/
public void setAttendanceSummaryNotList(List<String> attendanceSummaryNotList){
this.attendanceSummaryNotList = attendanceSummaryNotList;
}
/**
* 获取 开始 年
* @return yearStart
*/
public Integer getYearStart(){
return this.yearStart;
}
/**
* 设置 开始 年
* @param yearStart
*/
public void setYearStart(Integer yearStart){
this.yearStart = yearStart;
}
/**
* 获取 结束 年
* @return $yearEnd
*/
public Integer getYearEnd(){
return this.yearEnd;
}
/**
* 设置 结束 年
* @param yearEnd
*/
public void setYearEnd(Integer yearEnd){
this.yearEnd = yearEnd;
}
/**
* 获取 增加 年
* @return yearIncrement
*/
public Integer getYearIncrement(){
return this.yearIncrement;
}
/**
* 设置 增加 年
* @param yearIncrement
*/
public void setYearIncrement(Integer yearIncrement){
this.yearIncrement = yearIncrement;
}
/**
* 获取 年
* @return yearList
*/
public List<Integer> getYearList(){
return this.yearList;
}
/**
* 设置 年
* @param yearList
*/
public void setYearList(List<Integer> yearList){
this.yearList = yearList;
}
/**
* 获取 年
* @return yearNotList
*/
public List<Integer> getYearNotList(){
return this.yearNotList;
}
/**
* 设置 年
* @param yearNotList
*/
public void setYearNotList(List<Integer> yearNotList){
this.yearNotList = yearNotList;
}
/**
* 获取 开始 月
* @return monthStart
*/
public Integer getMonthStart(){
return this.monthStart;
}
/**
* 设置 开始 月
* @param monthStart
*/
public void setMonthStart(Integer monthStart){
this.monthStart = monthStart;
}
/**
* 获取 结束 月
* @return $monthEnd
*/
public Integer getMonthEnd(){
return this.monthEnd;
}
/**
* 设置 结束 月
* @param monthEnd
*/
public void setMonthEnd(Integer monthEnd){
this.monthEnd = monthEnd;
}
/**
* 获取 增加 月
* @return monthIncrement
*/
public Integer getMonthIncrement(){
return this.monthIncrement;
}
/**
* 设置 增加 月
* @param monthIncrement
*/
public void setMonthIncrement(Integer monthIncrement){
this.monthIncrement = monthIncrement;
}
/**
* 获取 月
* @return monthList
*/
public List<Integer> getMonthList(){
return this.monthList;
}
/**
* 设置 月
* @param monthList
*/
public void setMonthList(List<Integer> monthList){
this.monthList = monthList;
}
/**
* 获取 月
* @return monthNotList
*/
public List<Integer> getMonthNotList(){
return this.monthNotList;
}
/**
* 设置 月
* @param monthNotList
*/
public void setMonthNotList(List<Integer> monthNotList){
this.monthNotList = monthNotList;
}
/**
* 获取 开始 日
* @return dayStart
*/
public Integer getDayStart(){
return this.dayStart;
}
/**
* 设置 开始 日
* @param dayStart
*/
public void setDayStart(Integer dayStart){
this.dayStart = dayStart;
}
/**
* 获取 结束 日
* @return $dayEnd
*/
public Integer getDayEnd(){
return this.dayEnd;
}
/**
* 设置 结束 日
* @param dayEnd
*/
public void setDayEnd(Integer dayEnd){
this.dayEnd = dayEnd;
}
/**
* 获取 增加 日
* @return dayIncrement
*/
public Integer getDayIncrement(){
return this.dayIncrement;
}
/**
* 设置 增加 日
* @param dayIncrement
*/
public void setDayIncrement(Integer dayIncrement){
this.dayIncrement = dayIncrement;
}
/**
* 获取 日
* @return dayList
*/
public List<Integer> getDayList(){
return this.dayList;
}
/**
* 设置 日
* @param dayList
*/
public void setDayList(List<Integer> dayList){
this.dayList = dayList;
}
/**
* 获取 日
* @return dayNotList
*/
public List<Integer> getDayNotList(){
return this.dayNotList;
}
/**
* 设置 日
* @param dayNotList
*/
public void setDayNotList(List<Integer> dayNotList){
this.dayNotList = dayNotList;
}
/**
* 获取 备注
* @return remarkList
*/
public List<String> getRemarkList(){
return this.remarkList;
}
/**
* 设置 备注
* @param remarkList
*/
public void setRemarkList(List<String> remarkList){
this.remarkList = remarkList;
}
/**
* 获取 备注
* @return remarkNotList
*/
public List<String> getRemarkNotList(){
return this.remarkNotList;
}
/**
* 设置 备注
* @param remarkNotList
*/
public void setRemarkNotList(List<String> remarkNotList){
this.remarkNotList = remarkNotList;
}
/**
* 获取 开始 创建用户
* @return createUserIdStart
*/
public Long getCreateUserIdStart(){
return this.createUserIdStart;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public void setCreateUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
}
/**
* 获取 结束 创建用户
* @return $createUserIdEnd
*/
public Long getCreateUserIdEnd(){
return this.createUserIdEnd;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public void setCreateUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
}
/**
* 获取 增加 创建用户
* @return createUserIdIncrement
*/
public Long getCreateUserIdIncrement(){
return this.createUserIdIncrement;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public void setCreateUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
}
/**
* 获取 创建用户
* @return createUserIdList
*/
public List<Long> getCreateUserIdList(){
return this.createUserIdList;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public void setCreateUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
}
/**
* 获取 创建用户
* @return createUserIdNotList
*/
public List<Long> getCreateUserIdNotList(){
return this.createUserIdNotList;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public void setCreateUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
*/
public String getCreateTimeStart(){
return this.createTimeStart;
}
/**
* 设置 开始 创建时间
* @param createTimeStart
*/
public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart;
}
/**
* 获取 结束 创建时间
* @return createTimeEnd
*/
public String getCreateTimeEnd(){
return this.createTimeEnd;
}
/**
* 设置 结束 创建时间
* @param createTimeEnd
*/
public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd;
}
/**
* 获取 开始 更新用户
* @return updateUserIdStart
*/
public Long getUpdateUserIdStart(){
return this.updateUserIdStart;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public void setUpdateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
}
/**
* 获取 结束 更新用户
* @return $updateUserIdEnd
*/
public Long getUpdateUserIdEnd(){
return this.updateUserIdEnd;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public void setUpdateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
}
/**
* 获取 增加 更新用户
* @return updateUserIdIncrement
*/
public Long getUpdateUserIdIncrement(){
return this.updateUserIdIncrement;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
}
/**
* 获取 更新用户
* @return updateUserIdList
*/
public List<Long> getUpdateUserIdList(){
return this.updateUserIdList;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public void setUpdateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
}
/**
* 获取 更新用户
* @return updateUserIdNotList
*/
public List<Long> getUpdateUserIdNotList(){
return this.updateUserIdNotList;
}
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public void setUpdateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
}
/**
* 获取 开始 更新时间
* @return updateTimeStart
*/
public String getUpdateTimeStart(){
return this.updateTimeStart;
}
/**
* 设置 开始 更新时间
* @param updateTimeStart
*/
public void setUpdateTimeStart(String updateTimeStart){
this.updateTimeStart = updateTimeStart;
}
/**
* 获取 结束 更新时间
* @return updateTimeEnd
*/
public String getUpdateTimeEnd(){
return this.updateTimeEnd;
}
/**
* 设置 结束 更新时间
* @param updateTimeEnd
*/
public void setUpdateTimeEnd(String updateTimeEnd){
this.updateTimeEnd = updateTimeEnd;
}
/**
* 设置 序号,主键,自增长
* @param id
*/
public AttendanceStaffStatQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 序号,主键,自增长
* @param idStart
*/
public AttendanceStaffStatQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 序号,主键,自增长
* @param idEnd
*/
public AttendanceStaffStatQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 序号,主键,自增长
* @param idIncrement
*/
public AttendanceStaffStatQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 序号,主键,自增长
* @param idList
*/
public AttendanceStaffStatQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 序号,主键,自增长
* @param idNotList
*/
public AttendanceStaffStatQuery idNotList(List<Long> idNotList){
this.idNotList = idNotList;
return this;
}
/**
* 设置 员工ID
* @param staffId
*/
public AttendanceStaffStatQuery staffId(Long staffId){
setStaffId(staffId);
return this;
}
/**
* 设置 开始 员工ID
* @param staffIdStart
*/
public AttendanceStaffStatQuery staffIdStart(Long staffIdStart){
this.staffIdStart = staffIdStart;
return this;
}
/**
* 设置 结束 员工ID
* @param staffIdEnd
*/
public AttendanceStaffStatQuery staffIdEnd(Long staffIdEnd){
this.staffIdEnd = staffIdEnd;
return this;
}
/**
* 设置 增加 员工ID
* @param staffIdIncrement
*/
public AttendanceStaffStatQuery staffIdIncrement(Long staffIdIncrement){
this.staffIdIncrement = staffIdIncrement;
return this;
}
/**
* 设置 员工ID
* @param staffIdList
*/
public AttendanceStaffStatQuery staffIdList(List<Long> staffIdList){
this.staffIdList = staffIdList;
return this;
}
/**
* 设置 员工ID
* @param staffIdNotList
*/
public AttendanceStaffStatQuery staffIdNotList(List<Long> staffIdNotList){
this.staffIdNotList = staffIdNotList;
return this;
}
/**
* 设置 员工姓名
* @param staffName
*/
public AttendanceStaffStatQuery staffName(String staffName){
setStaffName(staffName);
return this;
}
/**
* 设置 员工姓名
* @param staffNameList
*/
public AttendanceStaffStatQuery staffNameList(List<String> staffNameList){
this.staffNameList = staffNameList;
return this;
}
/**
* 设置 考勤汇总信息,如迟到*1,旷工*2等
* @param attendanceSummary
*/
public AttendanceStaffStatQuery attendanceSummary(String attendanceSummary){
setAttendanceSummary(attendanceSummary);
return this;
}
/**
* 设置 考勤汇总信息,如迟到*1,旷工*2等
* @param attendanceSummaryList
*/
public AttendanceStaffStatQuery attendanceSummaryList(List<String> attendanceSummaryList){
this.attendanceSummaryList = attendanceSummaryList;
return this;
}
/**
* 设置 年
* @param year
*/
public AttendanceStaffStatQuery year(Integer year){
setYear(year);
return this;
}
/**
* 设置 开始 年
* @param yearStart
*/
public AttendanceStaffStatQuery yearStart(Integer yearStart){
this.yearStart = yearStart;
return this;
}
/**
* 设置 结束 年
* @param yearEnd
*/
public AttendanceStaffStatQuery yearEnd(Integer yearEnd){
this.yearEnd = yearEnd;
return this;
}
/**
* 设置 增加 年
* @param yearIncrement
*/
public AttendanceStaffStatQuery yearIncrement(Integer yearIncrement){
this.yearIncrement = yearIncrement;
return this;
}
/**
* 设置 年
* @param yearList
*/
public AttendanceStaffStatQuery yearList(List<Integer> yearList){
this.yearList = yearList;
return this;
}
/**
* 设置 年
* @param yearNotList
*/
public AttendanceStaffStatQuery yearNotList(List<Integer> yearNotList){
this.yearNotList = yearNotList;
return this;
}
/**
* 设置 月
* @param month
*/
public AttendanceStaffStatQuery month(Integer month){
setMonth(month);
return this;
}
/**
* 设置 开始 月
* @param monthStart
*/
public AttendanceStaffStatQuery monthStart(Integer monthStart){
this.monthStart = monthStart;
return this;
}
/**
* 设置 结束 月
* @param monthEnd
*/
public AttendanceStaffStatQuery monthEnd(Integer monthEnd){
this.monthEnd = monthEnd;
return this;
}
/**
* 设置 增加 月
* @param monthIncrement
*/
public AttendanceStaffStatQuery monthIncrement(Integer monthIncrement){
this.monthIncrement = monthIncrement;
return this;
}
/**
* 设置 月
* @param monthList
*/
public AttendanceStaffStatQuery monthList(List<Integer> monthList){
this.monthList = monthList;
return this;
}
/**
* 设置 月
* @param monthNotList
*/
public AttendanceStaffStatQuery monthNotList(List<Integer> monthNotList){
this.monthNotList = monthNotList;
return this;
}
/**
* 设置 日
* @param day
*/
public AttendanceStaffStatQuery day(Integer day){
setDay(day);
return this;
}
/**
* 设置 开始 日
* @param dayStart
*/
public AttendanceStaffStatQuery dayStart(Integer dayStart){
this.dayStart = dayStart;
return this;
}
/**
* 设置 结束 日
* @param dayEnd
*/
public AttendanceStaffStatQuery dayEnd(Integer dayEnd){
this.dayEnd = dayEnd;
return this;
}
/**
* 设置 增加 日
* @param dayIncrement
*/
public AttendanceStaffStatQuery dayIncrement(Integer dayIncrement){
this.dayIncrement = dayIncrement;
return this;
}
/**
* 设置 日
* @param dayList
*/
public AttendanceStaffStatQuery dayList(List<Integer> dayList){
this.dayList = dayList;
return this;
}
/**
* 设置 日
* @param dayNotList
*/
public AttendanceStaffStatQuery dayNotList(List<Integer> dayNotList){
this.dayNotList = dayNotList;
return this;
}
/**
* 设置 备注
* @param remark
*/
public AttendanceStaffStatQuery remark(String remark){
setRemark(remark);
return this;
}
/**
* 设置 备注
* @param remarkList
*/
public AttendanceStaffStatQuery remarkList(List<String> remarkList){
this.remarkList = remarkList;
return this;
}
/**
* 设置 创建用户
* @param createUserId
*/
public AttendanceStaffStatQuery createUserId(Long createUserId){
setCreateUserId(createUserId);
return this;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public AttendanceStaffStatQuery createUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
return this;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public AttendanceStaffStatQuery createUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
return this;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public AttendanceStaffStatQuery createUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
return this;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public AttendanceStaffStatQuery createUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
return this;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public AttendanceStaffStatQuery createUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
return this;
}
/**
* 设置 更新用户
* @param updateUserId
*/
public AttendanceStaffStatQuery updateUserId(Long updateUserId){
setUpdateUserId(updateUserId);
return this;
}
/**
* 设置 开始 更新用户
* @param updateUserIdStart
*/
public AttendanceStaffStatQuery updateUserIdStart(Long updateUserIdStart){
this.updateUserIdStart = updateUserIdStart;
return this;
}
/**
* 设置 结束 更新用户
* @param updateUserIdEnd
*/
public AttendanceStaffStatQuery updateUserIdEnd(Long updateUserIdEnd){
this.updateUserIdEnd = updateUserIdEnd;
return this;
}
/**
* 设置 增加 更新用户
* @param updateUserIdIncrement
*/
public AttendanceStaffStatQuery updateUserIdIncrement(Long updateUserIdIncrement){
this.updateUserIdIncrement = updateUserIdIncrement;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdList
*/
public AttendanceStaffStatQuery updateUserIdList(List<Long> updateUserIdList){
this.updateUserIdList = updateUserIdList;
return this;
}
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public AttendanceStaffStatQuery updateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<AttendanceStaffStatQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<AttendanceStaffStatQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<AttendanceStaffStatQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<AttendanceStaffStatQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.model;
import java.math.BigDecimal;
import java.util.List;
import java.util.ArrayList;
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.AttendanceStatVo;
/**
* 考勤汇总信息实体对象
*
* @author zxfei
* @date 2023-04-08
*/
public class AttendanceStatEntity extends AttendanceStatVo {
private static final long serialVersionUID = 1L;
/**
* 窗口类别
*/
@Excel(name = "窗口类别")
private String windowCategory;
/**
* 员工ID
*/
private Long staffId;
/**
* 员工姓名
*/
private String staffName;
/**
* 所属部门
*/
private Long deptId;
/**
* 所属部门名称
*/
private String deptName;
/**
* 回单位(天)
*/
@Excel(name = "回单位")
private BigDecimal backToUnit;
/**
* 因公请假(天)
*/
@Excel(name = "因公请假")
private BigDecimal onDutyLeave;
/**
* 外出勘验(天)
*/
@Excel(name = "外出勘验")
private BigDecimal outOfOffice;
/**
* 值班补班(天)
*/
@Excel(name = "值班补班")
private BigDecimal shiftCompensation;
/**
* 体检(天)
*/
@Excel(name = "体检")
private BigDecimal physicalExamination;
/**
* 隔离(天)
*/
@Excel(name = "隔离")
private BigDecimal quarantine;
/**
* 因公外出(与窗口工作无关/天)
*/
@Excel(name = "因公外出")
private BigDecimal businessTrip;
/**
* 公休(天)
*/
@Excel(name = "公休")
private BigDecimal publicHoliday;
/**
* 病假(天)
*/
@Excel(name = "病假")
private BigDecimal sickLeave;
/**
* 丧假(天)
*/
@Excel(name = "丧假")
private BigDecimal funeralLeave;
/**
* 婚假(天)
*/
@Excel(name = "婚假")
private BigDecimal marriageLeave;
/**
* 育儿假(天)
*/
@Excel(name = "育儿假")
private BigDecimal childRearingLeave;
/**
* 产假(陪护假/天)
*/
@Excel(name = "产假")
private BigDecimal maternityLeave;
/**
* 调回单位(或离职/天)
*/
@Excel(name = "调回单位")
private BigDecimal transferBack;
/**
* 探亲假(天)
*/
@Excel(name = "探亲假")
private BigDecimal homeLeave;
/**
* 事假(天)
*/
@Excel(name = "事假")
private BigDecimal personalLeave;
/**
* 考勤汇总-旷工(天)
*/
@Excel(name = "考勤汇总-旷工")
private BigDecimal absenteeismDays;
/**
* 考勤汇总-其他(天)
*/
@Excel(name = "考勤汇总-其他")
private BigDecimal otherDays;
/**
* 考勤汇总-出勤率(%)
*/
@Excel(name = "考勤汇总-出勤率")
private BigDecimal attendanceRate;
/**
* 考勤汇总-未按规定打卡(含忘记打卡)
*/
@Excel(name = "考勤汇总-未按规定打卡")
private BigDecimal nonCompliancePunch;
/**
* 考勤汇总-迟到(次)
*/
@Excel(name = "考勤汇总-迟到")
private Integer lateTimes;
/**
* 考勤汇总-上网耍手机(次)
*/
@Excel(name = "考勤汇总-上网耍手机")
private Integer surfingMobileTimes;
/**
* 考勤汇总-溜班(次)
*/
@Excel(name = "考勤汇总-溜班")
private Integer overtimeTimes;
/**
* 考勤汇总-空岗
*/
@Excel(name = "考勤汇总-空岗")
private BigDecimal vacancy;
/**
* 考勤汇总-未规范着装(次)
*/
@Excel(name = "考勤汇总-未规范着装")
private Integer nonStandardDressTimes;
/**
* 考勤汇总-无故缺席会议
*/
@Excel(name = "考勤汇总-无故缺席会议")
private BigDecimal unexcusedMeetingAbsence;
/**
* 考勤汇总-会议早退
*/
@Excel(name = "考勤汇总-会议早退")
private BigDecimal earlyLeaveMeeting;
/**
* 年
*/
private Integer year;
/**
* 月
*/
private Integer month;
/**
* 日
*/
private Integer day;
/**
* 备注
*/
private String remark;
public AttendanceStatEntity(){}
/**
* 获取 窗口类别
* @return String
*/
public String getWindowCategory(){
return windowCategory;
}
/**
* 设置 窗口类别
* @param windowCategory
*/
public void setWindowCategory(String windowCategory){
this.windowCategory = windowCategory;
}
/**
* 获取 员工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 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;
}
/**
* 获取 回单位(天)
* @return BigDecimal
*/
public BigDecimal getBackToUnit(){
return backToUnit;
}
/**
* 设置 回单位(天)
* @param backToUnit
*/
public void setBackToUnit(BigDecimal backToUnit){
this.backToUnit = backToUnit;
}
/**
* 获取 因公请假(天)
* @return BigDecimal
*/
public BigDecimal getOnDutyLeave(){
return onDutyLeave;
}
/**
* 设置 因公请假(天)
* @param onDutyLeave
*/
public void setOnDutyLeave(BigDecimal onDutyLeave){
this.onDutyLeave = onDutyLeave;
}
/**
* 获取 外出勘验(天)
* @return BigDecimal
*/
public BigDecimal getOutOfOffice(){
return outOfOffice;
}
/**
* 设置 外出勘验(天)
* @param outOfOffice
*/
public void setOutOfOffice(BigDecimal outOfOffice){
this.outOfOffice = outOfOffice;
}
/**
* 获取 值班补班(天)
* @return BigDecimal
*/
public BigDecimal getShiftCompensation(){
return shiftCompensation;
}
/**
* 设置 值班补班(天)
* @param shiftCompensation
*/
public void setShiftCompensation(BigDecimal shiftCompensation){
this.shiftCompensation = shiftCompensation;
}
/**
* 获取 体检(天)
* @return BigDecimal
*/
public BigDecimal getPhysicalExamination(){
return physicalExamination;
}
/**
* 设置 体检(天)
* @param physicalExamination
*/
public void setPhysicalExamination(BigDecimal physicalExamination){
this.physicalExamination = physicalExamination;
}
/**
* 获取 隔离(天)
* @return BigDecimal
*/
public BigDecimal getQuarantine(){
return quarantine;
}
/**
* 设置 隔离(天)
* @param quarantine
*/
public void setQuarantine(BigDecimal quarantine){
this.quarantine = quarantine;
}
/**
* 获取 因公外出(与窗口工作无关/天)
* @return BigDecimal
*/
public BigDecimal getBusinessTrip(){
return businessTrip;
}
/**
* 设置 因公外出(与窗口工作无关/天)
* @param businessTrip
*/
public void setBusinessTrip(BigDecimal businessTrip){
this.businessTrip = businessTrip;
}
/**
* 获取 公休(天)
* @return BigDecimal
*/
public BigDecimal getPublicHoliday(){
return publicHoliday;
}
/**
* 设置 公休(天)
* @param publicHoliday
*/
public void setPublicHoliday(BigDecimal publicHoliday){
this.publicHoliday = publicHoliday;
}
/**
* 获取 病假(天)
* @return BigDecimal
*/
public BigDecimal getSickLeave(){
return sickLeave;
}
/**
* 设置 病假(天)
* @param sickLeave
*/
public void setSickLeave(BigDecimal sickLeave){
this.sickLeave = sickLeave;
}
/**
* 获取 丧假(天)
* @return BigDecimal
*/
public BigDecimal getFuneralLeave(){
return funeralLeave;
}
/**
* 设置 丧假(天)
* @param funeralLeave
*/
public void setFuneralLeave(BigDecimal funeralLeave){
this.funeralLeave = funeralLeave;
}
/**
* 获取 婚假(天)
* @return BigDecimal
*/
public BigDecimal getMarriageLeave(){
return marriageLeave;
}
/**
* 设置 婚假(天)
* @param marriageLeave
*/
public void setMarriageLeave(BigDecimal marriageLeave){
this.marriageLeave = marriageLeave;
}
/**
* 获取 育儿假(天)
* @return BigDecimal
*/
public BigDecimal getChildRearingLeave(){
return childRearingLeave;
}
/**
* 设置 育儿假(天)
* @param childRearingLeave
*/
public void setChildRearingLeave(BigDecimal childRearingLeave){
this.childRearingLeave = childRearingLeave;
}
/**
* 获取 产假(陪护假/天)
* @return BigDecimal
*/
public BigDecimal getMaternityLeave(){
return maternityLeave;
}
/**
* 设置 产假(陪护假/天)
* @param maternityLeave
*/
public void setMaternityLeave(BigDecimal maternityLeave){
this.maternityLeave = maternityLeave;
}
/**
* 获取 调回单位(或离职/天)
* @return BigDecimal
*/
public BigDecimal getTransferBack(){
return transferBack;
}
/**
* 设置 调回单位(或离职/天)
* @param transferBack
*/
public void setTransferBack(BigDecimal transferBack){
this.transferBack = transferBack;
}
/**
* 获取 探亲假(天)
* @return BigDecimal
*/
public BigDecimal getHomeLeave(){
return homeLeave;
}
/**
* 设置 探亲假(天)
* @param homeLeave
*/
public void setHomeLeave(BigDecimal homeLeave){
this.homeLeave = homeLeave;
}
/**
* 获取 事假(天)
* @return BigDecimal
*/
public BigDecimal getPersonalLeave(){
return personalLeave;
}
/**
* 设置 事假(天)
* @param personalLeave
*/
public void setPersonalLeave(BigDecimal personalLeave){
this.personalLeave = personalLeave;
}
/**
* 获取 考勤汇总-旷工(天)
* @return BigDecimal
*/
public BigDecimal getAbsenteeismDays(){
return absenteeismDays;
}
/**
* 设置 考勤汇总-旷工(天)
* @param absenteeismDays
*/
public void setAbsenteeismDays(BigDecimal absenteeismDays){
this.absenteeismDays = absenteeismDays;
}
/**
* 获取 考勤汇总-其他(天)
* @return BigDecimal
*/
public BigDecimal getOtherDays(){
return otherDays;
}
/**
* 设置 考勤汇总-其他(天)
* @param otherDays
*/
public void setOtherDays(BigDecimal otherDays){
this.otherDays = otherDays;
}
/**
* 获取 考勤汇总-出勤率(%)
* @return BigDecimal
*/
public BigDecimal getAttendanceRate(){
return attendanceRate;
}
/**
* 设置 考勤汇总-出勤率(%)
* @param attendanceRate
*/
public void setAttendanceRate(BigDecimal attendanceRate){
this.attendanceRate = attendanceRate;
}
/**
* 获取 考勤汇总-未按规定打卡(含忘记打卡)
* @return BigDecimal
*/
public BigDecimal getNonCompliancePunch(){
return nonCompliancePunch;
}
/**
* 设置 考勤汇总-未按规定打卡(含忘记打卡)
* @param nonCompliancePunch
*/
public void setNonCompliancePunch(BigDecimal nonCompliancePunch){
this.nonCompliancePunch = nonCompliancePunch;
}
/**
* 获取 考勤汇总-迟到(次)
* @return Integer
*/
public Integer getLateTimes(){
return lateTimes;
}
/**
* 设置 考勤汇总-迟到(次)
* @param lateTimes
*/
public void setLateTimes(Integer lateTimes){
this.lateTimes = lateTimes;
}
/**
* 获取 考勤汇总-上网耍手机(次)
* @return Integer
*/
public Integer getSurfingMobileTimes(){
return surfingMobileTimes;
}
/**
* 设置 考勤汇总-上网耍手机(次)
* @param surfingMobileTimes
*/
public void setSurfingMobileTimes(Integer surfingMobileTimes){
this.surfingMobileTimes = surfingMobileTimes;
}
/**
* 获取 考勤汇总-溜班(次)
* @return Integer
*/
public Integer getOvertimeTimes(){
return overtimeTimes;
}
/**
* 设置 考勤汇总-溜班(次)
* @param overtimeTimes
*/
public void setOvertimeTimes(Integer overtimeTimes){
this.overtimeTimes = overtimeTimes;
}
/**
* 获取 考勤汇总-空岗
* @return BigDecimal
*/
public BigDecimal getVacancy(){
return vacancy;
}
/**
* 设置 考勤汇总-空岗
* @param vacancy
*/
public void setVacancy(BigDecimal vacancy){
this.vacancy = vacancy;
}
/**
* 获取 考勤汇总-未规范着装(次)
* @return Integer
*/
public Integer getNonStandardDressTimes(){
return nonStandardDressTimes;
}
/**
* 设置 考勤汇总-未规范着装(次)
* @param nonStandardDressTimes
*/
public void setNonStandardDressTimes(Integer nonStandardDressTimes){
this.nonStandardDressTimes = nonStandardDressTimes;
}
/**
* 获取 考勤汇总-无故缺席会议
* @return BigDecimal
*/
public BigDecimal getUnexcusedMeetingAbsence(){
return unexcusedMeetingAbsence;
}
/**
* 设置 考勤汇总-无故缺席会议
* @param unexcusedMeetingAbsence
*/
public void setUnexcusedMeetingAbsence(BigDecimal unexcusedMeetingAbsence){
this.unexcusedMeetingAbsence = unexcusedMeetingAbsence;
}
/**
* 获取 考勤汇总-会议早退
* @return BigDecimal
*/
public BigDecimal getEarlyLeaveMeeting(){
return earlyLeaveMeeting;
}
/**
* 设置 考勤汇总-会议早退
* @param earlyLeaveMeeting
*/
public void setEarlyLeaveMeeting(BigDecimal earlyLeaveMeeting){
this.earlyLeaveMeeting = earlyLeaveMeeting;
}
/**
* 获取 年
* @return Integer
*/
public Integer getYear(){
return year;
}
/**
* 设置 年
* @param year
*/
public void setYear(Integer year){
this.year = year;
}
/**
* 获取 月
* @return Integer
*/
public Integer getMonth(){
return month;
}
/**
* 设置 月
* @param month
*/
public void setMonth(Integer month){
this.month = month;
}
/**
* 获取 日
* @return Integer
*/
public Integer getDay(){
return day;
}
/**
* 设置 日
* @param day
*/
public void setDay(Integer day){
this.day = day;
}
/**
* 获取 备注
* @return String
*/
public String getRemark(){
return remark;
}
/**
* 设置 备注
* @param remark
*/
public void setRemark(String remark){
this.remark = remark;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof AttendanceStatEntity) {
AttendanceStatEntity tmp = (AttendanceStatEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",windowCategory:").append(getWindowCategory());
sb.append(",staffId:").append(getStaffId());
sb.append(",staffName:").append(getStaffName());
sb.append(",deptId:").append(getDeptId());
sb.append(",deptName:").append(getDeptName());
sb.append(",backToUnit:").append(getBackToUnit());
sb.append(",onDutyLeave:").append(getOnDutyLeave());
sb.append(",outOfOffice:").append(getOutOfOffice());
sb.append(",shiftCompensation:").append(getShiftCompensation());
sb.append(",physicalExamination:").append(getPhysicalExamination());
sb.append(",quarantine:").append(getQuarantine());
sb.append(",businessTrip:").append(getBusinessTrip());
sb.append(",publicHoliday:").append(getPublicHoliday());
sb.append(",sickLeave:").append(getSickLeave());
sb.append(",funeralLeave:").append(getFuneralLeave());
sb.append(",marriageLeave:").append(getMarriageLeave());
sb.append(",childRearingLeave:").append(getChildRearingLeave());
sb.append(",maternityLeave:").append(getMaternityLeave());
sb.append(",transferBack:").append(getTransferBack());
sb.append(",homeLeave:").append(getHomeLeave());
sb.append(",personalLeave:").append(getPersonalLeave());
sb.append(",absenteeismDays:").append(getAbsenteeismDays());
sb.append(",otherDays:").append(getOtherDays());
sb.append(",attendanceRate:").append(getAttendanceRate());
sb.append(",nonCompliancePunch:").append(getNonCompliancePunch());
sb.append(",lateTimes:").append(getLateTimes());
sb.append(",surfingMobileTimes:").append(getSurfingMobileTimes());
sb.append(",overtimeTimes:").append(getOvertimeTimes());
sb.append(",vacancy:").append(getVacancy());
sb.append(",nonStandardDressTimes:").append(getNonStandardDressTimes());
sb.append(",unexcusedMeetingAbsence:").append(getUnexcusedMeetingAbsence());
sb.append(",earlyLeaveMeeting:").append(getEarlyLeaveMeeting());
sb.append(",year:").append(getYear());
sb.append(",month:").append(getMonth());
sb.append(",day:").append(getDay());
sb.append(",remark:").append(getRemark());
return sb.toString();
}
public void initAttrValue(){
this.windowCategory = "";
this.staffId = null;
this.staffName = "";
this.deptId = null;
this.deptName = "";
this.backToUnit = BigDecimal.valueOf(0.0);
this.onDutyLeave = BigDecimal.valueOf(0.0);
this.outOfOffice = BigDecimal.valueOf(0.0);
this.shiftCompensation = BigDecimal.valueOf(0.0);
this.physicalExamination = BigDecimal.valueOf(0.0);
this.quarantine = BigDecimal.valueOf(0.0);
this.businessTrip = BigDecimal.valueOf(0.0);
this.publicHoliday = BigDecimal.valueOf(0.0);
this.sickLeave = BigDecimal.valueOf(0.0);
this.funeralLeave = BigDecimal.valueOf(0.0);
this.marriageLeave = BigDecimal.valueOf(0.0);
this.childRearingLeave = BigDecimal.valueOf(0.0);
this.maternityLeave = BigDecimal.valueOf(0.0);
this.transferBack = BigDecimal.valueOf(0.0);
this.homeLeave = BigDecimal.valueOf(0.0);
this.personalLeave = BigDecimal.valueOf(0.0);
this.absenteeismDays = BigDecimal.valueOf(0.0);
this.otherDays = BigDecimal.valueOf(0.0);
this.attendanceRate = BigDecimal.valueOf(0.00);
this.nonCompliancePunch = BigDecimal.valueOf(0);
this.lateTimes = 0;
this.surfingMobileTimes = 0;
this.overtimeTimes = 0;
this.vacancy = BigDecimal.valueOf(0);
this.nonStandardDressTimes = 0;
this.unexcusedMeetingAbsence = BigDecimal.valueOf(0);
this.earlyLeaveMeeting = BigDecimal.valueOf(0);
this.year = null;
this.month = null;
this.day = null;
this.remark = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.AttendanceRecordErrorEntity;
import java.util.ArrayList;
import java.util.List;
/**
* 考勤打卡记录异常信息视图对象
*
* @author zxfei
* @date 2023-04-08
*/
public class AttendanceRecordErrorVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity;
import java.util.ArrayList;
import java.util.List;
/**
* 海康考勤打卡记录汇总信息视图对象
*
* @author zxfei
* @date 2023-04-08
*/
public class AttendanceRecordHikVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity;
import java.util.ArrayList;
import java.util.List;
/**
* 考勤人员汇总信息视图对象
*
* @author zxfei
* @date 2023-04-08
*/
public class AttendanceStaffStatVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.AttendanceStatEntity;
import java.util.ArrayList;
import java.util.List;
/**
* 考勤汇总信息视图对象
*
* @author zxfei
* @date 2023-04-08
*/
public class AttendanceStatVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.attendance.model.AttendanceRecordErrorEntity;
/**
* AttendanceRecordErrorService
*
* 考勤打卡记录异常信息 service接口
*
* @author zxfei
* @date 2023-04-08
*/
public interface AttendanceRecordErrorService extends ICRUDService<AttendanceRecordErrorEntity,Long>{
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity;
/**
* AttendanceRecordHikService
*
* 海康考勤打卡记录汇总信息 service接口
*
* @author zxfei
* @date 2023-04-08
*/
public interface AttendanceRecordHikService extends ICRUDService<AttendanceRecordHikEntity,Long>{
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity;
/**
* AttendanceStaffStatService
*
* 考勤人员汇总信息 service接口
*
* @author zxfei
* @date 2023-04-08
*/
public interface AttendanceStaffStatService extends ICRUDService<AttendanceStaffStatEntity,Long>{
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.attendance.model.AttendanceStatEntity;
/**
* AttendanceStatService
*
* 考勤汇总信息 service接口
*
* @author zxfei
* @date 2023-04-08
*/
public interface AttendanceStatService extends ICRUDService<AttendanceStatEntity,Long>{
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.attendance.dao.AttendanceRecordErrorDao;
import com.mortals.xhx.module.attendance.model.AttendanceRecordErrorEntity;
import com.mortals.xhx.module.attendance.service.AttendanceRecordErrorService;
/**
* AttendanceRecordErrorService
* 考勤打卡记录异常信息 service实现
*
* @author zxfei
* @date 2023-04-08
*/
@Service("attendanceRecordErrorService")
public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<AttendanceRecordErrorDao, AttendanceRecordErrorEntity, Long> implements AttendanceRecordErrorService {
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.attendance.dao.AttendanceRecordHikDao;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity;
import com.mortals.xhx.module.attendance.service.AttendanceRecordHikService;
/**
* AttendanceRecordHikService
* 海康考勤打卡记录汇总信息 service实现
*
* @author zxfei
* @date 2023-04-08
*/
@Service("attendanceRecordHikService")
public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<AttendanceRecordHikDao, AttendanceRecordHikEntity, Long> implements AttendanceRecordHikService {
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.attendance.dao.AttendanceStaffStatDao;
import com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity;
import com.mortals.xhx.module.attendance.service.AttendanceStaffStatService;
/**
* AttendanceStaffStatService
* 考勤人员汇总信息 service实现
*
* @author zxfei
* @date 2023-04-08
*/
@Service("attendanceStaffStatService")
public class AttendanceStaffStatServiceImpl extends AbstractCRUDServiceImpl<AttendanceStaffStatDao, AttendanceStaffStatEntity, Long> implements AttendanceStaffStatService {
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.attendance.dao.AttendanceStatDao;
import com.mortals.xhx.module.attendance.model.AttendanceStatEntity;
import com.mortals.xhx.module.attendance.service.AttendanceStatService;
/**
* AttendanceStatService
* 考勤汇总信息 service实现
*
* @author zxfei
* @date 2023-04-08
*/
@Service("attendanceStatService")
public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<AttendanceStatDao, AttendanceStatEntity, Long> implements AttendanceStatService {
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.attendance.model.AttendanceRecordErrorEntity;
import com.mortals.xhx.module.attendance.service.AttendanceRecordErrorService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 考勤打卡记录异常信息
*
* @author zxfei
* @date 2023-04-08
*/
@RestController
@RequestMapping("attendance/record/error")
public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingController<AttendanceRecordErrorService,AttendanceRecordErrorEntity,Long> {
@Autowired
private ParamService paramService;
public AttendanceRecordErrorController(){
super.setModuleDesc( "考勤打卡记录异常信息");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "errorStatus", paramService.getParamBySecondOrganize("AttendanceRecordError","errorStatus"));
this.addDict(model, "processStatus", paramService.getParamBySecondOrganize("AttendanceRecordError","processStatus"));
super.init(model, context);
}
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity;
import com.mortals.xhx.module.attendance.service.AttendanceRecordHikService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 海康考勤打卡记录汇总信息
*
* @author zxfei
* @date 2023-04-08
*/
@RestController
@RequestMapping("attendance/record/hik")
public class AttendanceRecordHikController extends BaseCRUDJsonBodyMappingController<AttendanceRecordHikService,AttendanceRecordHikEntity,Long> {
@Autowired
private ParamService paramService;
public AttendanceRecordHikController(){
super.setModuleDesc( "海康考勤打卡记录汇总信息");
}
@Override
protected void init(Map<String, Object> model, Context context) {
super.init(model, context);
}
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity;
import com.mortals.xhx.module.attendance.service.AttendanceStaffStatService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 考勤人员汇总信息
*
* @author zxfei
* @date 2023-04-08
*/
@RestController
@RequestMapping("attendance/staff/stat")
public class AttendanceStaffStatController extends BaseCRUDJsonBodyMappingController<AttendanceStaffStatService,AttendanceStaffStatEntity,Long> {
@Autowired
private ParamService paramService;
public AttendanceStaffStatController(){
super.setModuleDesc( "考勤人员汇总信息");
}
@Override
protected void init(Map<String, Object> model, Context context) {
super.init(model, context);
}
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.attendance.model.AttendanceStatEntity;
import com.mortals.xhx.module.attendance.service.AttendanceStatService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 考勤汇总信息
*
* @author zxfei
* @date 2023-04-08
*/
@RestController
@RequestMapping("attendance/stat")
public class AttendanceStatController extends BaseCRUDJsonBodyMappingController<AttendanceStatService,AttendanceStatEntity,Long> {
@Autowired
private ParamService paramService;
public AttendanceStatController(){
super.setModuleDesc( "考勤汇总信息");
}
@Override
protected void init(Map<String, Object> model, Context context) {
super.init(model, context);
}
}
\ No newline at end of file
......@@ -8,11 +8,11 @@ import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.staff.model.vo.StaffVo;
/**
* 员工基本信息实体对象
*
* @author zxfei
* @date 2023-04-07
*/
* 员工基本信息实体对象
*
* @author zxfei
* @date 2023-04-08
*/
public class StaffEntity extends StaffVo {
private static final long serialVersionUID = 1L;
......@@ -46,7 +46,7 @@ public class StaffEntity extends StaffVo {
*/
private String workNum;
/**
* 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
*/
private Integer politicalstatus;
/**
......@@ -93,6 +93,10 @@ public class StaffEntity extends StaffVo {
* 备注
*/
private String remark;
/**
* 员工来源(1.外部,2.内部)
*/
private Integer source;
......@@ -196,14 +200,14 @@ public class StaffEntity extends StaffVo {
this.workNum = workNum;
}
/**
* 获取 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 获取 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @return Integer
*/
public Integer getPoliticalstatus(){
return politicalstatus;
}
/**
* 设置 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 设置 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @param politicalstatus
*/
public void setPoliticalstatus(Integer politicalstatus){
......@@ -363,6 +367,20 @@ public class StaffEntity extends StaffVo {
public void setRemark(String remark){
this.remark = remark;
}
/**
* 获取 员工来源(1.外部,2.内部)
* @return Integer
*/
public Integer getSource(){
return source;
}
/**
* 设置 员工来源(1.外部,2.内部)
* @param source
*/
public void setSource(Integer source){
this.source = source;
}
......@@ -404,6 +422,7 @@ public class StaffEntity extends StaffVo {
sb.append(",regularDate:").append(getRegularDate());
sb.append(",leaveDate:").append(getLeaveDate());
sb.append(",remark:").append(getRemark());
sb.append(",source:").append(getSource());
return sb.toString();
}
......@@ -446,5 +465,7 @@ public class StaffEntity extends StaffVo {
this.leaveDate = null;
this.remark = "";
this.source = 1;
}
}
\ No newline at end of file
......@@ -4,11 +4,11 @@ import java.util.Date;
import java.util.List;
import com.mortals.xhx.module.staff.model.StaffEntity;
/**
* 员工基本信息查询对象
*
* @author zxfei
* @date 2023-04-07
*/
* 员工基本信息查询对象
*
* @author zxfei
* @date 2023-04-08
*/
public class StaffQuery extends StaffEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
......@@ -71,19 +71,19 @@ public class StaffQuery extends StaffEntity {
/** 工号排除列表 */
private List <String> workNumNotList;
/** 开始 政治面貌 1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它) */
/** 开始 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它) */
private Integer politicalstatusStart;
/** 结束 政治面貌 1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它) */
/** 结束 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它) */
private Integer politicalstatusEnd;
/** 增加 政治面貌 1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它) */
/** 增加 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它) */
private Integer politicalstatusIncrement;
/** 政治面貌 1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)列表 */
/** 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)列表 */
private List <Integer> politicalstatusList;
/** 政治面貌 1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)排除列表 */
/** 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)排除列表 */
private List <Integer> politicalstatusNotList;
/** 开始 所属部门 */
......@@ -226,6 +226,21 @@ public class StaffQuery extends StaffEntity {
/** 结束 更新时间 */
private String updateTimeEnd;
/** 开始 员工来源(1.外部,2.内部) */
private Integer sourceStart;
/** 结束 员工来源(1.外部,2.内部) */
private Integer sourceEnd;
/** 增加 员工来源(1.外部,2.内部) */
private Integer sourceIncrement;
/** 员工来源(1.外部,2.内部)列表 */
private List <Integer> sourceList;
/** 员工来源(1.外部,2.内部)排除列表 */
private List <Integer> sourceNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<StaffQuery> orConditionList;
......@@ -589,7 +604,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 获取 开始 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 获取 开始 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @return politicalstatusStart
*/
public Integer getPoliticalstatusStart(){
......@@ -597,7 +612,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 设置 开始 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 设置 开始 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @param politicalstatusStart
*/
public void setPoliticalstatusStart(Integer politicalstatusStart){
......@@ -605,7 +620,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 获取 结束 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 获取 结束 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @return $politicalstatusEnd
*/
public Integer getPoliticalstatusEnd(){
......@@ -613,7 +628,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 设置 结束 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 设置 结束 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @param politicalstatusEnd
*/
public void setPoliticalstatusEnd(Integer politicalstatusEnd){
......@@ -621,7 +636,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 获取 增加 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 获取 增加 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @return politicalstatusIncrement
*/
public Integer getPoliticalstatusIncrement(){
......@@ -629,7 +644,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 设置 增加 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 设置 增加 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @param politicalstatusIncrement
*/
public void setPoliticalstatusIncrement(Integer politicalstatusIncrement){
......@@ -637,7 +652,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 获取 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 获取 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @return politicalstatusList
*/
public List<Integer> getPoliticalstatusList(){
......@@ -645,7 +660,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 设置 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 设置 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @param politicalstatusList
*/
public void setPoliticalstatusList(List<Integer> politicalstatusList){
......@@ -653,7 +668,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 获取 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 获取 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @return politicalstatusNotList
*/
public List<Integer> getPoliticalstatusNotList(){
......@@ -661,7 +676,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 设置 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 设置 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @param politicalstatusNotList
*/
public void setPoliticalstatusNotList(List<Integer> politicalstatusNotList){
......@@ -1443,6 +1458,87 @@ public class StaffQuery extends StaffEntity {
this.updateTimeEnd = updateTimeEnd;
}
/**
* 获取 开始 员工来源(1.外部,2.内部)
* @return sourceStart
*/
public Integer getSourceStart(){
return this.sourceStart;
}
/**
* 设置 开始 员工来源(1.外部,2.内部)
* @param sourceStart
*/
public void setSourceStart(Integer sourceStart){
this.sourceStart = sourceStart;
}
/**
* 获取 结束 员工来源(1.外部,2.内部)
* @return $sourceEnd
*/
public Integer getSourceEnd(){
return this.sourceEnd;
}
/**
* 设置 结束 员工来源(1.外部,2.内部)
* @param sourceEnd
*/
public void setSourceEnd(Integer sourceEnd){
this.sourceEnd = sourceEnd;
}
/**
* 获取 增加 员工来源(1.外部,2.内部)
* @return sourceIncrement
*/
public Integer getSourceIncrement(){
return this.sourceIncrement;
}
/**
* 设置 增加 员工来源(1.外部,2.内部)
* @param sourceIncrement
*/
public void setSourceIncrement(Integer sourceIncrement){
this.sourceIncrement = sourceIncrement;
}
/**
* 获取 员工来源(1.外部,2.内部)
* @return sourceList
*/
public List<Integer> getSourceList(){
return this.sourceList;
}
/**
* 设置 员工来源(1.外部,2.内部)
* @param sourceList
*/
public void setSourceList(List<Integer> sourceList){
this.sourceList = sourceList;
}
/**
* 获取 员工来源(1.外部,2.内部)
* @return sourceNotList
*/
public List<Integer> getSourceNotList(){
return this.sourceNotList;
}
/**
* 设置 员工来源(1.外部,2.内部)
* @param sourceNotList
*/
public void setSourceNotList(List<Integer> sourceNotList){
this.sourceNotList = sourceNotList;
}
/**
* 设置 序号,主键,自增长
* @param id
......@@ -1648,7 +1744,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 设置 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 设置 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @param politicalstatus
*/
public StaffQuery politicalstatus(Integer politicalstatus){
......@@ -1657,7 +1753,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 设置 开始 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 设置 开始 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @param politicalstatusStart
*/
public StaffQuery politicalstatusStart(Integer politicalstatusStart){
......@@ -1666,7 +1762,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 设置 结束 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 设置 结束 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @param politicalstatusEnd
*/
public StaffQuery politicalstatusEnd(Integer politicalstatusEnd){
......@@ -1675,7 +1771,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 设置 增加 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 设置 增加 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @param politicalstatusIncrement
*/
public StaffQuery politicalstatusIncrement(Integer politicalstatusIncrement){
......@@ -1684,7 +1780,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 设置 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 设置 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @param politicalstatusList
*/
public StaffQuery politicalstatusList(List<Integer> politicalstatusList){
......@@ -1693,7 +1789,7 @@ public class StaffQuery extends StaffEntity {
}
/**
* 设置 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* 设置 政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)
* @param politicalstatusNotList
*/
public StaffQuery politicalstatusNotList(List<Integer> politicalstatusNotList){
......@@ -2106,6 +2202,60 @@ public class StaffQuery extends StaffEntity {
}
/**
* 设置 员工来源(1.外部,2.内部)
* @param source
*/
public StaffQuery source(Integer source){
setSource(source);
return this;
}
/**
* 设置 开始 员工来源(1.外部,2.内部)
* @param sourceStart
*/
public StaffQuery sourceStart(Integer sourceStart){
this.sourceStart = sourceStart;
return this;
}
/**
* 设置 结束 员工来源(1.外部,2.内部)
* @param sourceEnd
*/
public StaffQuery sourceEnd(Integer sourceEnd){
this.sourceEnd = sourceEnd;
return this;
}
/**
* 设置 增加 员工来源(1.外部,2.内部)
* @param sourceIncrement
*/
public StaffQuery sourceIncrement(Integer sourceIncrement){
this.sourceIncrement = sourceIncrement;
return this;
}
/**
* 设置 员工来源(1.外部,2.内部)
* @param sourceList
*/
public StaffQuery sourceList(List<Integer> sourceList){
this.sourceList = sourceList;
return this;
}
/**
* 设置 员工来源(1.外部,2.内部)
* @param sourceNotList
*/
public StaffQuery sourceNotList(List<Integer> sourceNotList){
this.sourceNotList = sourceNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.attendance.dao.ibatis.AttendanceRecordErrorDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="AttendanceRecordErrorEntity" id="AttendanceRecordErrorEntity-Map">
<id property="id" column="id" />
<result property="staffId" column="staffId" />
<result property="staffName" column="staffName" />
<result property="workNum" column="workNum" />
<result property="deptId" column="deptId" />
<result property="deptName" column="deptName" />
<result property="positionId" column="positionId" />
<result property="positionName" column="positionName" />
<result property="attendanceGroupId" column="attendanceGroupId" />
<result property="attendanceGroupName" column="attendanceGroupName" />
<result property="shiftsId" column="shiftsId" />
<result property="shiftsName" column="shiftsName" />
<result property="goOffDateTime" column="goOffDateTime" />
<result property="errorDateTime" column="errorDateTime" />
<result property="actualAttendanceDateTime" column="actualAttendanceDateTime" />
<result property="operDateTime" column="operDateTime" />
<result property="opertor" column="opertor" />
<result property="errorStatus" column="errorStatus" />
<result property="processStatus" column="processStatus" />
<result property="processResult" column="processResult" />
<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" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('staffId') or colPickMode == 1 and data.containsKey('staffId')))">
a.staffId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('staffName') or colPickMode == 1 and data.containsKey('staffName')))">
a.staffName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workNum') or colPickMode == 1 and data.containsKey('workNum')))">
a.workNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptId') or colPickMode == 1 and data.containsKey('deptId')))">
a.deptId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptName') or colPickMode == 1 and data.containsKey('deptName')))">
a.deptName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('positionId') or colPickMode == 1 and data.containsKey('positionId')))">
a.positionId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('positionName') or colPickMode == 1 and data.containsKey('positionName')))">
a.positionName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('attendanceGroupId') or colPickMode == 1 and data.containsKey('attendanceGroupId')))">
a.attendanceGroupId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('attendanceGroupName') or colPickMode == 1 and data.containsKey('attendanceGroupName')))">
a.attendanceGroupName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('shiftsId') or colPickMode == 1 and data.containsKey('shiftsId')))">
a.shiftsId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('shiftsName') or colPickMode == 1 and data.containsKey('shiftsName')))">
a.shiftsName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('goOffDateTime') or colPickMode == 1 and data.containsKey('goOffDateTime')))">
a.goOffDateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('errorDateTime') or colPickMode == 1 and data.containsKey('errorDateTime')))">
a.errorDateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('actualAttendanceDateTime') or colPickMode == 1 and data.containsKey('actualAttendanceDateTime')))">
a.actualAttendanceDateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('operDateTime') or colPickMode == 1 and data.containsKey('operDateTime')))">
a.operDateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('opertor') or colPickMode == 1 and data.containsKey('opertor')))">
a.opertor,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('errorStatus') or colPickMode == 1 and data.containsKey('errorStatus')))">
a.errorStatus,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('processStatus') or colPickMode == 1 and data.containsKey('processStatus')))">
a.processStatus,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('processResult') or colPickMode == 1 and data.containsKey('processResult')))">
a.processResult,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
a.remark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
a.updateUserId,
</if>
<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>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="AttendanceRecordErrorEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_attendance_record_error
(staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,shiftsId,shiftsName,goOffDateTime,errorDateTime,actualAttendanceDateTime,operDateTime,opertor,errorStatus,processStatus,processResult,remark,createUserId,createTime,updateUserId,updateTime)
VALUES
(#{staffId},#{staffName},#{workNum},#{deptId},#{deptName},#{positionId},#{positionName},#{attendanceGroupId},#{attendanceGroupName},#{shiftsId},#{shiftsName},#{goOffDateTime},#{errorDateTime},#{actualAttendanceDateTime},#{operDateTime},#{opertor},#{errorStatus},#{processStatus},#{processResult},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_attendance_record_error
(staffId,staffName,workNum,deptId,deptName,positionId,positionName,attendanceGroupId,attendanceGroupName,shiftsId,shiftsName,goOffDateTime,errorDateTime,actualAttendanceDateTime,operDateTime,opertor,errorStatus,processStatus,processResult,remark,createUserId,createTime,updateUserId,updateTime)
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.goOffDateTime},#{item.errorDateTime},#{item.actualAttendanceDateTime},#{item.operDateTime},#{item.opertor},#{item.errorStatus},#{item.processStatus},#{item.processResult},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_attendance_record_error as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('staffId')) or (colPickMode==1 and !data.containsKey('staffId'))">
a.staffId=#{data.staffId},
</if>
<if test="(colPickMode==0 and data.containsKey('staffIdIncrement')) or (colPickMode==1 and !data.containsKey('staffIdIncrement'))">
a.staffId=ifnull(a.staffId,0) + #{data.staffIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('staffName')) or (colPickMode==1 and !data.containsKey('staffName'))">
a.staffName=#{data.staffName},
</if>
<if test="(colPickMode==0 and data.containsKey('workNum')) or (colPickMode==1 and !data.containsKey('workNum'))">
a.workNum=#{data.workNum},
</if>
<if test="(colPickMode==0 and data.containsKey('deptId')) or (colPickMode==1 and !data.containsKey('deptId'))">
a.deptId=#{data.deptId},
</if>
<if test="(colPickMode==0 and data.containsKey('deptIdIncrement')) or (colPickMode==1 and !data.containsKey('deptIdIncrement'))">
a.deptId=ifnull(a.deptId,0) + #{data.deptIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deptName')) or (colPickMode==1 and !data.containsKey('deptName'))">
a.deptName=#{data.deptName},
</if>
<if test="(colPickMode==0 and data.containsKey('positionId')) or (colPickMode==1 and !data.containsKey('positionId'))">
a.positionId=#{data.positionId},
</if>
<if test="(colPickMode==0 and data.containsKey('positionIdIncrement')) or (colPickMode==1 and !data.containsKey('positionIdIncrement'))">
a.positionId=ifnull(a.positionId,0) + #{data.positionIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('positionName')) or (colPickMode==1 and !data.containsKey('positionName'))">
a.positionName=#{data.positionName},
</if>
<if test="(colPickMode==0 and data.containsKey('attendanceGroupId')) or (colPickMode==1 and !data.containsKey('attendanceGroupId'))">
a.attendanceGroupId=#{data.attendanceGroupId},
</if>
<if test="(colPickMode==0 and data.containsKey('attendanceGroupIdIncrement')) or (colPickMode==1 and !data.containsKey('attendanceGroupIdIncrement'))">
a.attendanceGroupId=ifnull(a.attendanceGroupId,0) + #{data.attendanceGroupIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('attendanceGroupName')) or (colPickMode==1 and !data.containsKey('attendanceGroupName'))">
a.attendanceGroupName=#{data.attendanceGroupName},
</if>
<if test="(colPickMode==0 and data.containsKey('shiftsId')) or (colPickMode==1 and !data.containsKey('shiftsId'))">
a.shiftsId=#{data.shiftsId},
</if>
<if test="(colPickMode==0 and data.containsKey('shiftsIdIncrement')) or (colPickMode==1 and !data.containsKey('shiftsIdIncrement'))">
a.shiftsId=ifnull(a.shiftsId,0) + #{data.shiftsIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('shiftsName')) or (colPickMode==1 and !data.containsKey('shiftsName'))">
a.shiftsName=#{data.shiftsName},
</if>
<if test="(colPickMode==0 and data.containsKey('goOffDateTime')) or (colPickMode==1 and !data.containsKey('goOffDateTime'))">
a.goOffDateTime=#{data.goOffDateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('errorDateTime')) or (colPickMode==1 and !data.containsKey('errorDateTime'))">
a.errorDateTime=#{data.errorDateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('actualAttendanceDateTime')) or (colPickMode==1 and !data.containsKey('actualAttendanceDateTime'))">
a.actualAttendanceDateTime=#{data.actualAttendanceDateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('operDateTime')) or (colPickMode==1 and !data.containsKey('operDateTime'))">
a.operDateTime=#{data.operDateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('opertor')) or (colPickMode==1 and !data.containsKey('opertor'))">
a.opertor=#{data.opertor},
</if>
<if test="(colPickMode==0 and data.containsKey('errorStatus')) or (colPickMode==1 and !data.containsKey('errorStatus'))">
a.errorStatus=#{data.errorStatus},
</if>
<if test="(colPickMode==0 and data.containsKey('errorStatusIncrement')) or (colPickMode==1 and !data.containsKey('errorStatusIncrement'))">
a.errorStatus=ifnull(a.errorStatus,0) + #{data.errorStatusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('processStatus')) or (colPickMode==1 and !data.containsKey('processStatus'))">
a.processStatus=#{data.processStatus},
</if>
<if test="(colPickMode==0 and data.containsKey('processStatusIncrement')) or (colPickMode==1 and !data.containsKey('processStatusIncrement'))">
a.processStatus=ifnull(a.processStatus,0) + #{data.processStatusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('processResult')) or (colPickMode==1 and !data.containsKey('processResult'))">
a.processResult=#{data.processResult},
</if>
<if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
a.remark=#{data.remark},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserId')) or (colPickMode==1 and !data.containsKey('updateUserId'))">
a.updateUserId=#{data.updateUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !data.containsKey('updateUserIdIncrement'))">
a.updateUserId=ifnull(a.updateUserId,0) + #{data.updateUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_attendance_record_error as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="staffId=(case" suffix="ELSE staffId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('staffId')) or (colPickMode==1 and !item.containsKey('staffId'))">
when a.id=#{item.id} then #{item.staffId}
</when>
<when test="(colPickMode==0 and item.containsKey('staffIdIncrement')) or (colPickMode==1 and !item.containsKey('staffIdIncrement'))">
when a.id=#{item.id} then ifnull(a.staffId,0) + #{item.staffIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="staffName=(case" suffix="ELSE staffName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('staffName')) or (colPickMode==1 and !item.containsKey('staffName'))">
when a.id=#{item.id} then #{item.staffName}
</if>
</foreach>
</trim>
<trim prefix="workNum=(case" suffix="ELSE workNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('workNum')) or (colPickMode==1 and !item.containsKey('workNum'))">
when a.id=#{item.id} then #{item.workNum}
</if>
</foreach>
</trim>
<trim prefix="deptId=(case" suffix="ELSE deptId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deptId')) or (colPickMode==1 and !item.containsKey('deptId'))">
when a.id=#{item.id} then #{item.deptId}
</when>
<when test="(colPickMode==0 and item.containsKey('deptIdIncrement')) or (colPickMode==1 and !item.containsKey('deptIdIncrement'))">
when a.id=#{item.id} then ifnull(a.deptId,0) + #{item.deptIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deptName=(case" suffix="ELSE deptName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deptName')) or (colPickMode==1 and !item.containsKey('deptName'))">
when a.id=#{item.id} then #{item.deptName}
</if>
</foreach>
</trim>
<trim prefix="positionId=(case" suffix="ELSE positionId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('positionId')) or (colPickMode==1 and !item.containsKey('positionId'))">
when a.id=#{item.id} then #{item.positionId}
</when>
<when test="(colPickMode==0 and item.containsKey('positionIdIncrement')) or (colPickMode==1 and !item.containsKey('positionIdIncrement'))">
when a.id=#{item.id} then ifnull(a.positionId,0) + #{item.positionIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="positionName=(case" suffix="ELSE positionName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('positionName')) or (colPickMode==1 and !item.containsKey('positionName'))">
when a.id=#{item.id} then #{item.positionName}
</if>
</foreach>
</trim>
<trim prefix="attendanceGroupId=(case" suffix="ELSE attendanceGroupId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('attendanceGroupId')) or (colPickMode==1 and !item.containsKey('attendanceGroupId'))">
when a.id=#{item.id} then #{item.attendanceGroupId}
</when>
<when test="(colPickMode==0 and item.containsKey('attendanceGroupIdIncrement')) or (colPickMode==1 and !item.containsKey('attendanceGroupIdIncrement'))">
when a.id=#{item.id} then ifnull(a.attendanceGroupId,0) + #{item.attendanceGroupIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="attendanceGroupName=(case" suffix="ELSE attendanceGroupName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('attendanceGroupName')) or (colPickMode==1 and !item.containsKey('attendanceGroupName'))">
when a.id=#{item.id} then #{item.attendanceGroupName}
</if>
</foreach>
</trim>
<trim prefix="shiftsId=(case" suffix="ELSE shiftsId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('shiftsId')) or (colPickMode==1 and !item.containsKey('shiftsId'))">
when a.id=#{item.id} then #{item.shiftsId}
</when>
<when test="(colPickMode==0 and item.containsKey('shiftsIdIncrement')) or (colPickMode==1 and !item.containsKey('shiftsIdIncrement'))">
when a.id=#{item.id} then ifnull(a.shiftsId,0) + #{item.shiftsIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="shiftsName=(case" suffix="ELSE shiftsName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('shiftsName')) or (colPickMode==1 and !item.containsKey('shiftsName'))">
when a.id=#{item.id} then #{item.shiftsName}
</if>
</foreach>
</trim>
<trim prefix="goOffDateTime=(case" suffix="ELSE goOffDateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('goOffDateTime')) or (colPickMode==1 and !item.containsKey('goOffDateTime'))">
when a.id=#{item.id} then #{item.goOffDateTime}
</if>
</foreach>
</trim>
<trim prefix="errorDateTime=(case" suffix="ELSE errorDateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('errorDateTime')) or (colPickMode==1 and !item.containsKey('errorDateTime'))">
when a.id=#{item.id} then #{item.errorDateTime}
</if>
</foreach>
</trim>
<trim prefix="actualAttendanceDateTime=(case" suffix="ELSE actualAttendanceDateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('actualAttendanceDateTime')) or (colPickMode==1 and !item.containsKey('actualAttendanceDateTime'))">
when a.id=#{item.id} then #{item.actualAttendanceDateTime}
</if>
</foreach>
</trim>
<trim prefix="operDateTime=(case" suffix="ELSE operDateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('operDateTime')) or (colPickMode==1 and !item.containsKey('operDateTime'))">
when a.id=#{item.id} then #{item.operDateTime}
</if>
</foreach>
</trim>
<trim prefix="opertor=(case" suffix="ELSE opertor end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('opertor')) or (colPickMode==1 and !item.containsKey('opertor'))">
when a.id=#{item.id} then #{item.opertor}
</if>
</foreach>
</trim>
<trim prefix="errorStatus=(case" suffix="ELSE errorStatus end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('errorStatus')) or (colPickMode==1 and !item.containsKey('errorStatus'))">
when a.id=#{item.id} then #{item.errorStatus}
</when>
<when test="(colPickMode==0 and item.containsKey('errorStatusIncrement')) or (colPickMode==1 and !item.containsKey('errorStatusIncrement'))">
when a.id=#{item.id} then ifnull(a.errorStatus,0) + #{item.errorStatusIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="processStatus=(case" suffix="ELSE processStatus end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('processStatus')) or (colPickMode==1 and !item.containsKey('processStatus'))">
when a.id=#{item.id} then #{item.processStatus}
</when>
<when test="(colPickMode==0 and item.containsKey('processStatusIncrement')) or (colPickMode==1 and !item.containsKey('processStatusIncrement'))">
when a.id=#{item.id} then ifnull(a.processStatus,0) + #{item.processStatusIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="processResult=(case" suffix="ELSE processResult end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('processResult')) or (colPickMode==1 and !item.containsKey('processResult'))">
when a.id=#{item.id} then #{item.processResult}
</if>
</foreach>
</trim>
<trim prefix="remark=(case" suffix="ELSE remark end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))">
when a.id=#{item.id} then #{item.remark}
</if>
</foreach>
</trim>
<trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.id=#{item.id} then #{item.createUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
when a.id=#{item.id} then #{item.updateUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="AttendanceRecordErrorEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_attendance_record_error as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_attendance_record_error as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_attendance_record_error where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from mortals_xhx_attendance_record_error where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList">
delete from mortals_xhx_attendance_record_error where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_attendance_record_error as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="AttendanceRecordErrorEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_attendance_record_error as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_attendance_record_error as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idNotList')">
${_conditionType_} a.id not in
<foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('staffId')">
<if test="conditionParamRef.staffId != null ">
${_conditionType_} a.staffId = #{${_conditionParam_}.staffId}
</if>
<if test="conditionParamRef.staffId == null">
${_conditionType_} a.staffId is null
</if>
</if>
<if test="conditionParamRef.containsKey('staffIdList')">
${_conditionType_} a.staffId in
<foreach collection="conditionParamRef.staffIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffIdNotList')">
${_conditionType_} a.staffId not in
<foreach collection="conditionParamRef.staffIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffIdStart') and conditionParamRef.staffIdStart != null">
${_conditionType_} a.staffId <![CDATA[ >= ]]> #{${_conditionParam_}.staffIdStart}
</if>
<if test="conditionParamRef.containsKey('staffIdEnd') and conditionParamRef.staffIdEnd != null">
${_conditionType_} a.staffId <![CDATA[ <= ]]> #{${_conditionParam_}.staffIdEnd}
</if>
<if test="conditionParamRef.containsKey('staffName')">
<if test="conditionParamRef.staffName != null and conditionParamRef.staffName != ''">
${_conditionType_} a.staffName like #{${_conditionParam_}.staffName}
</if>
<if test="conditionParamRef.staffName == null">
${_conditionType_} a.staffName is null
</if>
</if>
<if test="conditionParamRef.containsKey('staffNameList')">
${_conditionType_} a.staffName in
<foreach collection="conditionParamRef.staffNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffNameNotList')">
${_conditionType_} a.staffName not in
<foreach collection="conditionParamRef.staffNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workNum')">
<if test="conditionParamRef.workNum != null and conditionParamRef.workNum != ''">
${_conditionType_} a.workNum like #{${_conditionParam_}.workNum}
</if>
<if test="conditionParamRef.workNum == null">
${_conditionType_} a.workNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('workNumList')">
${_conditionType_} a.workNum in
<foreach collection="conditionParamRef.workNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workNumNotList')">
${_conditionType_} a.workNum not in
<foreach collection="conditionParamRef.workNumNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptId')">
<if test="conditionParamRef.deptId != null ">
${_conditionType_} a.deptId = #{${_conditionParam_}.deptId}
</if>
<if test="conditionParamRef.deptId == null">
${_conditionType_} a.deptId is null
</if>
</if>
<if test="conditionParamRef.containsKey('deptIdList')">
${_conditionType_} a.deptId in
<foreach collection="conditionParamRef.deptIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptIdNotList')">
${_conditionType_} a.deptId not in
<foreach collection="conditionParamRef.deptIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptIdStart') and conditionParamRef.deptIdStart != null">
${_conditionType_} a.deptId <![CDATA[ >= ]]> #{${_conditionParam_}.deptIdStart}
</if>
<if test="conditionParamRef.containsKey('deptIdEnd') and conditionParamRef.deptIdEnd != null">
${_conditionType_} a.deptId <![CDATA[ <= ]]> #{${_conditionParam_}.deptIdEnd}
</if>
<if test="conditionParamRef.containsKey('deptName')">
<if test="conditionParamRef.deptName != null and conditionParamRef.deptName != ''">
${_conditionType_} a.deptName like #{${_conditionParam_}.deptName}
</if>
<if test="conditionParamRef.deptName == null">
${_conditionType_} a.deptName is null
</if>
</if>
<if test="conditionParamRef.containsKey('deptNameList')">
${_conditionType_} a.deptName in
<foreach collection="conditionParamRef.deptNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptNameNotList')">
${_conditionType_} a.deptName not in
<foreach collection="conditionParamRef.deptNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('positionId')">
<if test="conditionParamRef.positionId != null ">
${_conditionType_} a.positionId = #{${_conditionParam_}.positionId}
</if>
<if test="conditionParamRef.positionId == null">
${_conditionType_} a.positionId is null
</if>
</if>
<if test="conditionParamRef.containsKey('positionIdList')">
${_conditionType_} a.positionId in
<foreach collection="conditionParamRef.positionIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('positionIdNotList')">
${_conditionType_} a.positionId not in
<foreach collection="conditionParamRef.positionIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('positionIdStart') and conditionParamRef.positionIdStart != null">
${_conditionType_} a.positionId <![CDATA[ >= ]]> #{${_conditionParam_}.positionIdStart}
</if>
<if test="conditionParamRef.containsKey('positionIdEnd') and conditionParamRef.positionIdEnd != null">
${_conditionType_} a.positionId <![CDATA[ <= ]]> #{${_conditionParam_}.positionIdEnd}
</if>
<if test="conditionParamRef.containsKey('positionName')">
<if test="conditionParamRef.positionName != null and conditionParamRef.positionName != ''">
${_conditionType_} a.positionName like #{${_conditionParam_}.positionName}
</if>
<if test="conditionParamRef.positionName == null">
${_conditionType_} a.positionName is null
</if>
</if>
<if test="conditionParamRef.containsKey('positionNameList')">
${_conditionType_} a.positionName in
<foreach collection="conditionParamRef.positionNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('positionNameNotList')">
${_conditionType_} a.positionName not in
<foreach collection="conditionParamRef.positionNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupId')">
<if test="conditionParamRef.attendanceGroupId != null ">
${_conditionType_} a.attendanceGroupId = #{${_conditionParam_}.attendanceGroupId}
</if>
<if test="conditionParamRef.attendanceGroupId == null">
${_conditionType_} a.attendanceGroupId is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupIdList')">
${_conditionType_} a.attendanceGroupId in
<foreach collection="conditionParamRef.attendanceGroupIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupIdNotList')">
${_conditionType_} a.attendanceGroupId not in
<foreach collection="conditionParamRef.attendanceGroupIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupIdStart') and conditionParamRef.attendanceGroupIdStart != null">
${_conditionType_} a.attendanceGroupId <![CDATA[ >= ]]> #{${_conditionParam_}.attendanceGroupIdStart}
</if>
<if test="conditionParamRef.containsKey('attendanceGroupIdEnd') and conditionParamRef.attendanceGroupIdEnd != null">
${_conditionType_} a.attendanceGroupId <![CDATA[ <= ]]> #{${_conditionParam_}.attendanceGroupIdEnd}
</if>
<if test="conditionParamRef.containsKey('attendanceGroupName')">
<if test="conditionParamRef.attendanceGroupName != null and conditionParamRef.attendanceGroupName != ''">
${_conditionType_} a.attendanceGroupName like #{${_conditionParam_}.attendanceGroupName}
</if>
<if test="conditionParamRef.attendanceGroupName == null">
${_conditionType_} a.attendanceGroupName is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupNameList')">
${_conditionType_} a.attendanceGroupName in
<foreach collection="conditionParamRef.attendanceGroupNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupNameNotList')">
${_conditionType_} a.attendanceGroupName not in
<foreach collection="conditionParamRef.attendanceGroupNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('shiftsId')">
<if test="conditionParamRef.shiftsId != null ">
${_conditionType_} a.shiftsId = #{${_conditionParam_}.shiftsId}
</if>
<if test="conditionParamRef.shiftsId == null">
${_conditionType_} a.shiftsId is null
</if>
</if>
<if test="conditionParamRef.containsKey('shiftsIdList')">
${_conditionType_} a.shiftsId in
<foreach collection="conditionParamRef.shiftsIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('shiftsIdNotList')">
${_conditionType_} a.shiftsId not in
<foreach collection="conditionParamRef.shiftsIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('shiftsIdStart') and conditionParamRef.shiftsIdStart != null">
${_conditionType_} a.shiftsId <![CDATA[ >= ]]> #{${_conditionParam_}.shiftsIdStart}
</if>
<if test="conditionParamRef.containsKey('shiftsIdEnd') and conditionParamRef.shiftsIdEnd != null">
${_conditionType_} a.shiftsId <![CDATA[ <= ]]> #{${_conditionParam_}.shiftsIdEnd}
</if>
<if test="conditionParamRef.containsKey('shiftsName')">
<if test="conditionParamRef.shiftsName != null and conditionParamRef.shiftsName != ''">
${_conditionType_} a.shiftsName like #{${_conditionParam_}.shiftsName}
</if>
<if test="conditionParamRef.shiftsName == null">
${_conditionType_} a.shiftsName is null
</if>
</if>
<if test="conditionParamRef.containsKey('shiftsNameList')">
${_conditionType_} a.shiftsName in
<foreach collection="conditionParamRef.shiftsNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('shiftsNameNotList')">
${_conditionType_} a.shiftsName not in
<foreach collection="conditionParamRef.shiftsNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('goOffDateTime')">
<if test="conditionParamRef.goOffDateTime != null ">
${_conditionType_} a.goOffDateTime = #{${_conditionParam_}.goOffDateTime}
</if>
<if test="conditionParamRef.goOffDateTime == null">
${_conditionType_} a.goOffDateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('goOffDateTimeStart') and conditionParamRef.goOffDateTimeStart != null and conditionParamRef.goOffDateTimeStart!=''">
${_conditionType_} a.goOffDateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.goOffDateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('goOffDateTimeEnd') and conditionParamRef.goOffDateTimeEnd != null and conditionParamRef.goOffDateTimeEnd!=''">
${_conditionType_} a.goOffDateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.goOffDateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('errorDateTime')">
<if test="conditionParamRef.errorDateTime != null ">
${_conditionType_} a.errorDateTime = #{${_conditionParam_}.errorDateTime}
</if>
<if test="conditionParamRef.errorDateTime == null">
${_conditionType_} a.errorDateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('errorDateTimeStart') and conditionParamRef.errorDateTimeStart != null and conditionParamRef.errorDateTimeStart!=''">
${_conditionType_} a.errorDateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.errorDateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('errorDateTimeEnd') and conditionParamRef.errorDateTimeEnd != null and conditionParamRef.errorDateTimeEnd!=''">
${_conditionType_} a.errorDateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.errorDateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('actualAttendanceDateTime')">
<if test="conditionParamRef.actualAttendanceDateTime != null ">
${_conditionType_} a.actualAttendanceDateTime = #{${_conditionParam_}.actualAttendanceDateTime}
</if>
<if test="conditionParamRef.actualAttendanceDateTime == null">
${_conditionType_} a.actualAttendanceDateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('actualAttendanceDateTimeStart') and conditionParamRef.actualAttendanceDateTimeStart != null and conditionParamRef.actualAttendanceDateTimeStart!=''">
${_conditionType_} a.actualAttendanceDateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.actualAttendanceDateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('actualAttendanceDateTimeEnd') and conditionParamRef.actualAttendanceDateTimeEnd != null and conditionParamRef.actualAttendanceDateTimeEnd!=''">
${_conditionType_} a.actualAttendanceDateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.actualAttendanceDateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('operDateTime')">
<if test="conditionParamRef.operDateTime != null ">
${_conditionType_} a.operDateTime = #{${_conditionParam_}.operDateTime}
</if>
<if test="conditionParamRef.operDateTime == null">
${_conditionType_} a.operDateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('operDateTimeStart') and conditionParamRef.operDateTimeStart != null and conditionParamRef.operDateTimeStart!=''">
${_conditionType_} a.operDateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.operDateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('operDateTimeEnd') and conditionParamRef.operDateTimeEnd != null and conditionParamRef.operDateTimeEnd!=''">
${_conditionType_} a.operDateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.operDateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('opertor')">
<if test="conditionParamRef.opertor != null and conditionParamRef.opertor != ''">
${_conditionType_} a.opertor like #{${_conditionParam_}.opertor}
</if>
<if test="conditionParamRef.opertor == null">
${_conditionType_} a.opertor is null
</if>
</if>
<if test="conditionParamRef.containsKey('opertorList')">
${_conditionType_} a.opertor in
<foreach collection="conditionParamRef.opertorList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('opertorNotList')">
${_conditionType_} a.opertor not in
<foreach collection="conditionParamRef.opertorNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('errorStatus')">
<if test="conditionParamRef.errorStatus != null ">
${_conditionType_} a.errorStatus = #{${_conditionParam_}.errorStatus}
</if>
<if test="conditionParamRef.errorStatus == null">
${_conditionType_} a.errorStatus is null
</if>
</if>
<if test="conditionParamRef.containsKey('errorStatusList')">
${_conditionType_} a.errorStatus in
<foreach collection="conditionParamRef.errorStatusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('errorStatusNotList')">
${_conditionType_} a.errorStatus not in
<foreach collection="conditionParamRef.errorStatusNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('errorStatusStart') and conditionParamRef.errorStatusStart != null">
${_conditionType_} a.errorStatus <![CDATA[ >= ]]> #{${_conditionParam_}.errorStatusStart}
</if>
<if test="conditionParamRef.containsKey('errorStatusEnd') and conditionParamRef.errorStatusEnd != null">
${_conditionType_} a.errorStatus <![CDATA[ <= ]]> #{${_conditionParam_}.errorStatusEnd}
</if>
<if test="conditionParamRef.containsKey('processStatus')">
<if test="conditionParamRef.processStatus != null ">
${_conditionType_} a.processStatus = #{${_conditionParam_}.processStatus}
</if>
<if test="conditionParamRef.processStatus == null">
${_conditionType_} a.processStatus is null
</if>
</if>
<if test="conditionParamRef.containsKey('processStatusList')">
${_conditionType_} a.processStatus in
<foreach collection="conditionParamRef.processStatusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('processStatusNotList')">
${_conditionType_} a.processStatus not in
<foreach collection="conditionParamRef.processStatusNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('processStatusStart') and conditionParamRef.processStatusStart != null">
${_conditionType_} a.processStatus <![CDATA[ >= ]]> #{${_conditionParam_}.processStatusStart}
</if>
<if test="conditionParamRef.containsKey('processStatusEnd') and conditionParamRef.processStatusEnd != null">
${_conditionType_} a.processStatus <![CDATA[ <= ]]> #{${_conditionParam_}.processStatusEnd}
</if>
<if test="conditionParamRef.containsKey('processResult')">
<if test="conditionParamRef.processResult != null and conditionParamRef.processResult != ''">
${_conditionType_} a.processResult like #{${_conditionParam_}.processResult}
</if>
<if test="conditionParamRef.processResult == null">
${_conditionType_} a.processResult is null
</if>
</if>
<if test="conditionParamRef.containsKey('processResultList')">
${_conditionType_} a.processResult in
<foreach collection="conditionParamRef.processResultList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('processResultNotList')">
${_conditionType_} a.processResult not in
<foreach collection="conditionParamRef.processResultNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('remark')">
<if test="conditionParamRef.remark != null and conditionParamRef.remark != ''">
${_conditionType_} a.remark like #{${_conditionParam_}.remark}
</if>
<if test="conditionParamRef.remark == null">
${_conditionType_} a.remark is null
</if>
</if>
<if test="conditionParamRef.containsKey('remarkList')">
${_conditionType_} a.remark in
<foreach collection="conditionParamRef.remarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('remarkNotList')">
${_conditionType_} a.remark not in
<foreach collection="conditionParamRef.remarkNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
</if>
<if test="conditionParamRef.createUserId == null">
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList')">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdNotList')">
${_conditionType_} a.createUserId not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
</if>
<if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateUserId')">
<if test="conditionParamRef.updateUserId != null ">
${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
</if>
<if test="conditionParamRef.updateUserId == null">
${_conditionType_} a.updateUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserIdList')">
${_conditionType_} a.updateUserId in
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdNotList')">
${_conditionType_} a.updateUserId not in
<foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
</if>
<if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<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>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('staffId')">
a.staffId
<if test='orderCol.staffId != null and "DESC".equalsIgnoreCase(orderCol.staffId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('staffName')">
a.staffName
<if test='orderCol.staffName != null and "DESC".equalsIgnoreCase(orderCol.staffName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('workNum')">
a.workNum
<if test='orderCol.workNum != null and "DESC".equalsIgnoreCase(orderCol.workNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deptId')">
a.deptId
<if test='orderCol.deptId != null and "DESC".equalsIgnoreCase(orderCol.deptId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deptName')">
a.deptName
<if test='orderCol.deptName != null and "DESC".equalsIgnoreCase(orderCol.deptName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('positionId')">
a.positionId
<if test='orderCol.positionId != null and "DESC".equalsIgnoreCase(orderCol.positionId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('positionName')">
a.positionName
<if test='orderCol.positionName != null and "DESC".equalsIgnoreCase(orderCol.positionName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('attendanceGroupId')">
a.attendanceGroupId
<if test='orderCol.attendanceGroupId != null and "DESC".equalsIgnoreCase(orderCol.attendanceGroupId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('attendanceGroupName')">
a.attendanceGroupName
<if test='orderCol.attendanceGroupName != null and "DESC".equalsIgnoreCase(orderCol.attendanceGroupName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('shiftsId')">
a.shiftsId
<if test='orderCol.shiftsId != null and "DESC".equalsIgnoreCase(orderCol.shiftsId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('shiftsName')">
a.shiftsName
<if test='orderCol.shiftsName != null and "DESC".equalsIgnoreCase(orderCol.shiftsName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('goOffDateTime')">
a.goOffDateTime
<if test='orderCol.goOffDateTime != null and "DESC".equalsIgnoreCase(orderCol.goOffDateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('errorDateTime')">
a.errorDateTime
<if test='orderCol.errorDateTime != null and "DESC".equalsIgnoreCase(orderCol.errorDateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('actualAttendanceDateTime')">
a.actualAttendanceDateTime
<if test='orderCol.actualAttendanceDateTime != null and "DESC".equalsIgnoreCase(orderCol.actualAttendanceDateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('operDateTime')">
a.operDateTime
<if test='orderCol.operDateTime != null and "DESC".equalsIgnoreCase(orderCol.operDateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('opertor')">
a.opertor
<if test='orderCol.opertor != null and "DESC".equalsIgnoreCase(orderCol.opertor)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('errorStatus')">
a.errorStatus
<if test='orderCol.errorStatus != null and "DESC".equalsIgnoreCase(orderCol.errorStatus)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('processStatus')">
a.processStatus
<if test='orderCol.processStatus != null and "DESC".equalsIgnoreCase(orderCol.processStatus)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('processResult')">
a.processResult
<if test='orderCol.processResult != null and "DESC".equalsIgnoreCase(orderCol.processResult)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('remark')">
a.remark
<if test='orderCol.remark != null and "DESC".equalsIgnoreCase(orderCol.remark)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateUserId')">
a.updateUserId
<if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.attendance.dao.ibatis.AttendanceRecordHikDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="AttendanceRecordHikEntity" id="AttendanceRecordHikEntity-Map">
<id property="id" column="id" />
<result property="staffId" column="staffId" />
<result property="staffName" column="staffName" />
<result property="workNum" column="workNum" />
<result property="deptId" column="deptId" />
<result property="deptName" column="deptName" />
<result property="positionId" column="positionId" />
<result property="positionName" column="positionName" />
<result property="attendanceGroupId" column="attendanceGroupId" />
<result property="attendanceGroupName" column="attendanceGroupName" />
<result property="shiftsId" column="shiftsId" />
<result property="shiftsName" column="shiftsName" />
<result property="attendanceDate" column="attendanceDate" />
<result property="attendanceAddress" column="attendanceAddress" />
<result property="eventSource" column="eventSource" />
<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" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('staffId') or colPickMode == 1 and data.containsKey('staffId')))">
a.staffId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('staffName') or colPickMode == 1 and data.containsKey('staffName')))">
a.staffName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workNum') or colPickMode == 1 and data.containsKey('workNum')))">
a.workNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptId') or colPickMode == 1 and data.containsKey('deptId')))">
a.deptId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptName') or colPickMode == 1 and data.containsKey('deptName')))">
a.deptName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('positionId') or colPickMode == 1 and data.containsKey('positionId')))">
a.positionId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('positionName') or colPickMode == 1 and data.containsKey('positionName')))">
a.positionName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('attendanceGroupId') or colPickMode == 1 and data.containsKey('attendanceGroupId')))">
a.attendanceGroupId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('attendanceGroupName') or colPickMode == 1 and data.containsKey('attendanceGroupName')))">
a.attendanceGroupName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('shiftsId') or colPickMode == 1 and data.containsKey('shiftsId')))">
a.shiftsId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('shiftsName') or colPickMode == 1 and data.containsKey('shiftsName')))">
a.shiftsName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('attendanceDate') or colPickMode == 1 and data.containsKey('attendanceDate')))">
a.attendanceDate,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('attendanceAddress') or colPickMode == 1 and data.containsKey('attendanceAddress')))">
a.attendanceAddress,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('eventSource') or colPickMode == 1 and data.containsKey('eventSource')))">
a.eventSource,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
a.remark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
a.updateUserId,
</if>
<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>
<!-- 新增 区分主键自增加还是业务插入 -->
<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)
VALUES
(#{staffId},#{staffName},#{workNum},#{deptId},#{deptName},#{positionId},#{positionName},#{attendanceGroupId},#{attendanceGroupName},#{shiftsId},#{shiftsName},#{attendanceDate},#{attendanceAddress},#{eventSource},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
</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)
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})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_attendance_record_hik as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('staffId')) or (colPickMode==1 and !data.containsKey('staffId'))">
a.staffId=#{data.staffId},
</if>
<if test="(colPickMode==0 and data.containsKey('staffIdIncrement')) or (colPickMode==1 and !data.containsKey('staffIdIncrement'))">
a.staffId=ifnull(a.staffId,0) + #{data.staffIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('staffName')) or (colPickMode==1 and !data.containsKey('staffName'))">
a.staffName=#{data.staffName},
</if>
<if test="(colPickMode==0 and data.containsKey('workNum')) or (colPickMode==1 and !data.containsKey('workNum'))">
a.workNum=#{data.workNum},
</if>
<if test="(colPickMode==0 and data.containsKey('deptId')) or (colPickMode==1 and !data.containsKey('deptId'))">
a.deptId=#{data.deptId},
</if>
<if test="(colPickMode==0 and data.containsKey('deptIdIncrement')) or (colPickMode==1 and !data.containsKey('deptIdIncrement'))">
a.deptId=ifnull(a.deptId,0) + #{data.deptIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deptName')) or (colPickMode==1 and !data.containsKey('deptName'))">
a.deptName=#{data.deptName},
</if>
<if test="(colPickMode==0 and data.containsKey('positionId')) or (colPickMode==1 and !data.containsKey('positionId'))">
a.positionId=#{data.positionId},
</if>
<if test="(colPickMode==0 and data.containsKey('positionIdIncrement')) or (colPickMode==1 and !data.containsKey('positionIdIncrement'))">
a.positionId=ifnull(a.positionId,0) + #{data.positionIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('positionName')) or (colPickMode==1 and !data.containsKey('positionName'))">
a.positionName=#{data.positionName},
</if>
<if test="(colPickMode==0 and data.containsKey('attendanceGroupId')) or (colPickMode==1 and !data.containsKey('attendanceGroupId'))">
a.attendanceGroupId=#{data.attendanceGroupId},
</if>
<if test="(colPickMode==0 and data.containsKey('attendanceGroupIdIncrement')) or (colPickMode==1 and !data.containsKey('attendanceGroupIdIncrement'))">
a.attendanceGroupId=ifnull(a.attendanceGroupId,0) + #{data.attendanceGroupIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('attendanceGroupName')) or (colPickMode==1 and !data.containsKey('attendanceGroupName'))">
a.attendanceGroupName=#{data.attendanceGroupName},
</if>
<if test="(colPickMode==0 and data.containsKey('shiftsId')) or (colPickMode==1 and !data.containsKey('shiftsId'))">
a.shiftsId=#{data.shiftsId},
</if>
<if test="(colPickMode==0 and data.containsKey('shiftsIdIncrement')) or (colPickMode==1 and !data.containsKey('shiftsIdIncrement'))">
a.shiftsId=ifnull(a.shiftsId,0) + #{data.shiftsIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('shiftsName')) or (colPickMode==1 and !data.containsKey('shiftsName'))">
a.shiftsName=#{data.shiftsName},
</if>
<if test="(colPickMode==0 and data.containsKey('attendanceDate')) or (colPickMode==1 and !data.containsKey('attendanceDate'))">
a.attendanceDate=#{data.attendanceDate},
</if>
<if test="(colPickMode==0 and data.containsKey('attendanceAddress')) or (colPickMode==1 and !data.containsKey('attendanceAddress'))">
a.attendanceAddress=#{data.attendanceAddress},
</if>
<if test="(colPickMode==0 and data.containsKey('eventSource')) or (colPickMode==1 and !data.containsKey('eventSource'))">
a.eventSource=#{data.eventSource},
</if>
<if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
a.remark=#{data.remark},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserId')) or (colPickMode==1 and !data.containsKey('updateUserId'))">
a.updateUserId=#{data.updateUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !data.containsKey('updateUserIdIncrement'))">
a.updateUserId=ifnull(a.updateUserId,0) + #{data.updateUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_attendance_record_hik as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="staffId=(case" suffix="ELSE staffId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('staffId')) or (colPickMode==1 and !item.containsKey('staffId'))">
when a.id=#{item.id} then #{item.staffId}
</when>
<when test="(colPickMode==0 and item.containsKey('staffIdIncrement')) or (colPickMode==1 and !item.containsKey('staffIdIncrement'))">
when a.id=#{item.id} then ifnull(a.staffId,0) + #{item.staffIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="staffName=(case" suffix="ELSE staffName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('staffName')) or (colPickMode==1 and !item.containsKey('staffName'))">
when a.id=#{item.id} then #{item.staffName}
</if>
</foreach>
</trim>
<trim prefix="workNum=(case" suffix="ELSE workNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('workNum')) or (colPickMode==1 and !item.containsKey('workNum'))">
when a.id=#{item.id} then #{item.workNum}
</if>
</foreach>
</trim>
<trim prefix="deptId=(case" suffix="ELSE deptId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deptId')) or (colPickMode==1 and !item.containsKey('deptId'))">
when a.id=#{item.id} then #{item.deptId}
</when>
<when test="(colPickMode==0 and item.containsKey('deptIdIncrement')) or (colPickMode==1 and !item.containsKey('deptIdIncrement'))">
when a.id=#{item.id} then ifnull(a.deptId,0) + #{item.deptIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deptName=(case" suffix="ELSE deptName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deptName')) or (colPickMode==1 and !item.containsKey('deptName'))">
when a.id=#{item.id} then #{item.deptName}
</if>
</foreach>
</trim>
<trim prefix="positionId=(case" suffix="ELSE positionId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('positionId')) or (colPickMode==1 and !item.containsKey('positionId'))">
when a.id=#{item.id} then #{item.positionId}
</when>
<when test="(colPickMode==0 and item.containsKey('positionIdIncrement')) or (colPickMode==1 and !item.containsKey('positionIdIncrement'))">
when a.id=#{item.id} then ifnull(a.positionId,0) + #{item.positionIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="positionName=(case" suffix="ELSE positionName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('positionName')) or (colPickMode==1 and !item.containsKey('positionName'))">
when a.id=#{item.id} then #{item.positionName}
</if>
</foreach>
</trim>
<trim prefix="attendanceGroupId=(case" suffix="ELSE attendanceGroupId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('attendanceGroupId')) or (colPickMode==1 and !item.containsKey('attendanceGroupId'))">
when a.id=#{item.id} then #{item.attendanceGroupId}
</when>
<when test="(colPickMode==0 and item.containsKey('attendanceGroupIdIncrement')) or (colPickMode==1 and !item.containsKey('attendanceGroupIdIncrement'))">
when a.id=#{item.id} then ifnull(a.attendanceGroupId,0) + #{item.attendanceGroupIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="attendanceGroupName=(case" suffix="ELSE attendanceGroupName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('attendanceGroupName')) or (colPickMode==1 and !item.containsKey('attendanceGroupName'))">
when a.id=#{item.id} then #{item.attendanceGroupName}
</if>
</foreach>
</trim>
<trim prefix="shiftsId=(case" suffix="ELSE shiftsId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('shiftsId')) or (colPickMode==1 and !item.containsKey('shiftsId'))">
when a.id=#{item.id} then #{item.shiftsId}
</when>
<when test="(colPickMode==0 and item.containsKey('shiftsIdIncrement')) or (colPickMode==1 and !item.containsKey('shiftsIdIncrement'))">
when a.id=#{item.id} then ifnull(a.shiftsId,0) + #{item.shiftsIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="shiftsName=(case" suffix="ELSE shiftsName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('shiftsName')) or (colPickMode==1 and !item.containsKey('shiftsName'))">
when a.id=#{item.id} then #{item.shiftsName}
</if>
</foreach>
</trim>
<trim prefix="attendanceDate=(case" suffix="ELSE attendanceDate end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('attendanceDate')) or (colPickMode==1 and !item.containsKey('attendanceDate'))">
when a.id=#{item.id} then #{item.attendanceDate}
</if>
</foreach>
</trim>
<trim prefix="attendanceAddress=(case" suffix="ELSE attendanceAddress end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('attendanceAddress')) or (colPickMode==1 and !item.containsKey('attendanceAddress'))">
when a.id=#{item.id} then #{item.attendanceAddress}
</if>
</foreach>
</trim>
<trim prefix="eventSource=(case" suffix="ELSE eventSource end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('eventSource')) or (colPickMode==1 and !item.containsKey('eventSource'))">
when a.id=#{item.id} then #{item.eventSource}
</if>
</foreach>
</trim>
<trim prefix="remark=(case" suffix="ELSE remark end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))">
when a.id=#{item.id} then #{item.remark}
</if>
</foreach>
</trim>
<trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.id=#{item.id} then #{item.createUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
when a.id=#{item.id} then #{item.updateUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="AttendanceRecordHikEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_attendance_record_hik as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_attendance_record_hik as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_attendance_record_hik where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from mortals_xhx_attendance_record_hik where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList">
delete from mortals_xhx_attendance_record_hik where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_attendance_record_hik as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="AttendanceRecordHikEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_attendance_record_hik as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_attendance_record_hik as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idNotList')">
${_conditionType_} a.id not in
<foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('staffId')">
<if test="conditionParamRef.staffId != null ">
${_conditionType_} a.staffId = #{${_conditionParam_}.staffId}
</if>
<if test="conditionParamRef.staffId == null">
${_conditionType_} a.staffId is null
</if>
</if>
<if test="conditionParamRef.containsKey('staffIdList')">
${_conditionType_} a.staffId in
<foreach collection="conditionParamRef.staffIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffIdNotList')">
${_conditionType_} a.staffId not in
<foreach collection="conditionParamRef.staffIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffIdStart') and conditionParamRef.staffIdStart != null">
${_conditionType_} a.staffId <![CDATA[ >= ]]> #{${_conditionParam_}.staffIdStart}
</if>
<if test="conditionParamRef.containsKey('staffIdEnd') and conditionParamRef.staffIdEnd != null">
${_conditionType_} a.staffId <![CDATA[ <= ]]> #{${_conditionParam_}.staffIdEnd}
</if>
<if test="conditionParamRef.containsKey('staffName')">
<if test="conditionParamRef.staffName != null and conditionParamRef.staffName != ''">
${_conditionType_} a.staffName like #{${_conditionParam_}.staffName}
</if>
<if test="conditionParamRef.staffName == null">
${_conditionType_} a.staffName is null
</if>
</if>
<if test="conditionParamRef.containsKey('staffNameList')">
${_conditionType_} a.staffName in
<foreach collection="conditionParamRef.staffNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffNameNotList')">
${_conditionType_} a.staffName not in
<foreach collection="conditionParamRef.staffNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workNum')">
<if test="conditionParamRef.workNum != null and conditionParamRef.workNum != ''">
${_conditionType_} a.workNum like #{${_conditionParam_}.workNum}
</if>
<if test="conditionParamRef.workNum == null">
${_conditionType_} a.workNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('workNumList')">
${_conditionType_} a.workNum in
<foreach collection="conditionParamRef.workNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workNumNotList')">
${_conditionType_} a.workNum not in
<foreach collection="conditionParamRef.workNumNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptId')">
<if test="conditionParamRef.deptId != null ">
${_conditionType_} a.deptId = #{${_conditionParam_}.deptId}
</if>
<if test="conditionParamRef.deptId == null">
${_conditionType_} a.deptId is null
</if>
</if>
<if test="conditionParamRef.containsKey('deptIdList')">
${_conditionType_} a.deptId in
<foreach collection="conditionParamRef.deptIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptIdNotList')">
${_conditionType_} a.deptId not in
<foreach collection="conditionParamRef.deptIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptIdStart') and conditionParamRef.deptIdStart != null">
${_conditionType_} a.deptId <![CDATA[ >= ]]> #{${_conditionParam_}.deptIdStart}
</if>
<if test="conditionParamRef.containsKey('deptIdEnd') and conditionParamRef.deptIdEnd != null">
${_conditionType_} a.deptId <![CDATA[ <= ]]> #{${_conditionParam_}.deptIdEnd}
</if>
<if test="conditionParamRef.containsKey('deptName')">
<if test="conditionParamRef.deptName != null and conditionParamRef.deptName != ''">
${_conditionType_} a.deptName like #{${_conditionParam_}.deptName}
</if>
<if test="conditionParamRef.deptName == null">
${_conditionType_} a.deptName is null
</if>
</if>
<if test="conditionParamRef.containsKey('deptNameList')">
${_conditionType_} a.deptName in
<foreach collection="conditionParamRef.deptNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deptNameNotList')">
${_conditionType_} a.deptName not in
<foreach collection="conditionParamRef.deptNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('positionId')">
<if test="conditionParamRef.positionId != null ">
${_conditionType_} a.positionId = #{${_conditionParam_}.positionId}
</if>
<if test="conditionParamRef.positionId == null">
${_conditionType_} a.positionId is null
</if>
</if>
<if test="conditionParamRef.containsKey('positionIdList')">
${_conditionType_} a.positionId in
<foreach collection="conditionParamRef.positionIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('positionIdNotList')">
${_conditionType_} a.positionId not in
<foreach collection="conditionParamRef.positionIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('positionIdStart') and conditionParamRef.positionIdStart != null">
${_conditionType_} a.positionId <![CDATA[ >= ]]> #{${_conditionParam_}.positionIdStart}
</if>
<if test="conditionParamRef.containsKey('positionIdEnd') and conditionParamRef.positionIdEnd != null">
${_conditionType_} a.positionId <![CDATA[ <= ]]> #{${_conditionParam_}.positionIdEnd}
</if>
<if test="conditionParamRef.containsKey('positionName')">
<if test="conditionParamRef.positionName != null and conditionParamRef.positionName != ''">
${_conditionType_} a.positionName like #{${_conditionParam_}.positionName}
</if>
<if test="conditionParamRef.positionName == null">
${_conditionType_} a.positionName is null
</if>
</if>
<if test="conditionParamRef.containsKey('positionNameList')">
${_conditionType_} a.positionName in
<foreach collection="conditionParamRef.positionNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('positionNameNotList')">
${_conditionType_} a.positionName not in
<foreach collection="conditionParamRef.positionNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupId')">
<if test="conditionParamRef.attendanceGroupId != null ">
${_conditionType_} a.attendanceGroupId = #{${_conditionParam_}.attendanceGroupId}
</if>
<if test="conditionParamRef.attendanceGroupId == null">
${_conditionType_} a.attendanceGroupId is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupIdList')">
${_conditionType_} a.attendanceGroupId in
<foreach collection="conditionParamRef.attendanceGroupIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupIdNotList')">
${_conditionType_} a.attendanceGroupId not in
<foreach collection="conditionParamRef.attendanceGroupIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupIdStart') and conditionParamRef.attendanceGroupIdStart != null">
${_conditionType_} a.attendanceGroupId <![CDATA[ >= ]]> #{${_conditionParam_}.attendanceGroupIdStart}
</if>
<if test="conditionParamRef.containsKey('attendanceGroupIdEnd') and conditionParamRef.attendanceGroupIdEnd != null">
${_conditionType_} a.attendanceGroupId <![CDATA[ <= ]]> #{${_conditionParam_}.attendanceGroupIdEnd}
</if>
<if test="conditionParamRef.containsKey('attendanceGroupName')">
<if test="conditionParamRef.attendanceGroupName != null and conditionParamRef.attendanceGroupName != ''">
${_conditionType_} a.attendanceGroupName like #{${_conditionParam_}.attendanceGroupName}
</if>
<if test="conditionParamRef.attendanceGroupName == null">
${_conditionType_} a.attendanceGroupName is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupNameList')">
${_conditionType_} a.attendanceGroupName in
<foreach collection="conditionParamRef.attendanceGroupNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceGroupNameNotList')">
${_conditionType_} a.attendanceGroupName not in
<foreach collection="conditionParamRef.attendanceGroupNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('shiftsId')">
<if test="conditionParamRef.shiftsId != null ">
${_conditionType_} a.shiftsId = #{${_conditionParam_}.shiftsId}
</if>
<if test="conditionParamRef.shiftsId == null">
${_conditionType_} a.shiftsId is null
</if>
</if>
<if test="conditionParamRef.containsKey('shiftsIdList')">
${_conditionType_} a.shiftsId in
<foreach collection="conditionParamRef.shiftsIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('shiftsIdNotList')">
${_conditionType_} a.shiftsId not in
<foreach collection="conditionParamRef.shiftsIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('shiftsIdStart') and conditionParamRef.shiftsIdStart != null">
${_conditionType_} a.shiftsId <![CDATA[ >= ]]> #{${_conditionParam_}.shiftsIdStart}
</if>
<if test="conditionParamRef.containsKey('shiftsIdEnd') and conditionParamRef.shiftsIdEnd != null">
${_conditionType_} a.shiftsId <![CDATA[ <= ]]> #{${_conditionParam_}.shiftsIdEnd}
</if>
<if test="conditionParamRef.containsKey('shiftsName')">
<if test="conditionParamRef.shiftsName != null and conditionParamRef.shiftsName != ''">
${_conditionType_} a.shiftsName like #{${_conditionParam_}.shiftsName}
</if>
<if test="conditionParamRef.shiftsName == null">
${_conditionType_} a.shiftsName is null
</if>
</if>
<if test="conditionParamRef.containsKey('shiftsNameList')">
${_conditionType_} a.shiftsName in
<foreach collection="conditionParamRef.shiftsNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('shiftsNameNotList')">
${_conditionType_} a.shiftsName not in
<foreach collection="conditionParamRef.shiftsNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceDate')">
<if test="conditionParamRef.attendanceDate != null ">
${_conditionType_} a.attendanceDate = #{${_conditionParam_}.attendanceDate}
</if>
<if test="conditionParamRef.attendanceDate == null">
${_conditionType_} a.attendanceDate is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendanceDateStart') and conditionParamRef.attendanceDateStart != null and conditionParamRef.attendanceDateStart!=''">
${_conditionType_} a.attendanceDate <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.attendanceDateStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('attendanceDateEnd') and conditionParamRef.attendanceDateEnd != null and conditionParamRef.attendanceDateEnd!=''">
${_conditionType_} a.attendanceDate <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.attendanceDateEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('attendanceAddress')">
<if test="conditionParamRef.attendanceAddress != null and conditionParamRef.attendanceAddress != ''">
${_conditionType_} a.attendanceAddress like #{${_conditionParam_}.attendanceAddress}
</if>
<if test="conditionParamRef.attendanceAddress == null">
${_conditionType_} a.attendanceAddress is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendanceAddressList')">
${_conditionType_} a.attendanceAddress in
<foreach collection="conditionParamRef.attendanceAddressList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceAddressNotList')">
${_conditionType_} a.attendanceAddress not in
<foreach collection="conditionParamRef.attendanceAddressNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('eventSource')">
<if test="conditionParamRef.eventSource != null and conditionParamRef.eventSource != ''">
${_conditionType_} a.eventSource like #{${_conditionParam_}.eventSource}
</if>
<if test="conditionParamRef.eventSource == null">
${_conditionType_} a.eventSource is null
</if>
</if>
<if test="conditionParamRef.containsKey('eventSourceList')">
${_conditionType_} a.eventSource in
<foreach collection="conditionParamRef.eventSourceList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('eventSourceNotList')">
${_conditionType_} a.eventSource not in
<foreach collection="conditionParamRef.eventSourceNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('remark')">
<if test="conditionParamRef.remark != null and conditionParamRef.remark != ''">
${_conditionType_} a.remark like #{${_conditionParam_}.remark}
</if>
<if test="conditionParamRef.remark == null">
${_conditionType_} a.remark is null
</if>
</if>
<if test="conditionParamRef.containsKey('remarkList')">
${_conditionType_} a.remark in
<foreach collection="conditionParamRef.remarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('remarkNotList')">
${_conditionType_} a.remark not in
<foreach collection="conditionParamRef.remarkNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
</if>
<if test="conditionParamRef.createUserId == null">
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList')">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdNotList')">
${_conditionType_} a.createUserId not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
</if>
<if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateUserId')">
<if test="conditionParamRef.updateUserId != null ">
${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
</if>
<if test="conditionParamRef.updateUserId == null">
${_conditionType_} a.updateUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserIdList')">
${_conditionType_} a.updateUserId in
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdNotList')">
${_conditionType_} a.updateUserId not in
<foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
</if>
<if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<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>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('staffId')">
a.staffId
<if test='orderCol.staffId != null and "DESC".equalsIgnoreCase(orderCol.staffId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('staffName')">
a.staffName
<if test='orderCol.staffName != null and "DESC".equalsIgnoreCase(orderCol.staffName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('workNum')">
a.workNum
<if test='orderCol.workNum != null and "DESC".equalsIgnoreCase(orderCol.workNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deptId')">
a.deptId
<if test='orderCol.deptId != null and "DESC".equalsIgnoreCase(orderCol.deptId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deptName')">
a.deptName
<if test='orderCol.deptName != null and "DESC".equalsIgnoreCase(orderCol.deptName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('positionId')">
a.positionId
<if test='orderCol.positionId != null and "DESC".equalsIgnoreCase(orderCol.positionId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('positionName')">
a.positionName
<if test='orderCol.positionName != null and "DESC".equalsIgnoreCase(orderCol.positionName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('attendanceGroupId')">
a.attendanceGroupId
<if test='orderCol.attendanceGroupId != null and "DESC".equalsIgnoreCase(orderCol.attendanceGroupId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('attendanceGroupName')">
a.attendanceGroupName
<if test='orderCol.attendanceGroupName != null and "DESC".equalsIgnoreCase(orderCol.attendanceGroupName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('shiftsId')">
a.shiftsId
<if test='orderCol.shiftsId != null and "DESC".equalsIgnoreCase(orderCol.shiftsId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('shiftsName')">
a.shiftsName
<if test='orderCol.shiftsName != null and "DESC".equalsIgnoreCase(orderCol.shiftsName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('attendanceDate')">
a.attendanceDate
<if test='orderCol.attendanceDate != null and "DESC".equalsIgnoreCase(orderCol.attendanceDate)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('attendanceAddress')">
a.attendanceAddress
<if test='orderCol.attendanceAddress != null and "DESC".equalsIgnoreCase(orderCol.attendanceAddress)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('eventSource')">
a.eventSource
<if test='orderCol.eventSource != null and "DESC".equalsIgnoreCase(orderCol.eventSource)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('remark')">
a.remark
<if test='orderCol.remark != null and "DESC".equalsIgnoreCase(orderCol.remark)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateUserId')">
a.updateUserId
<if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.attendance.dao.ibatis.AttendanceStaffStatDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="AttendanceStaffStatEntity" id="AttendanceStaffStatEntity-Map">
<id property="id" column="id" />
<result property="staffId" column="staffId" />
<result property="staffName" column="staffName" />
<result property="attendanceSummary" column="attendanceSummary" />
<result property="year" column="year" />
<result property="month" column="month" />
<result property="day" column="day" />
<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" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('staffId') or colPickMode == 1 and data.containsKey('staffId')))">
a.staffId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('staffName') or colPickMode == 1 and data.containsKey('staffName')))">
a.staffName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('attendanceSummary') or colPickMode == 1 and data.containsKey('attendanceSummary')))">
a.attendanceSummary,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('year') or colPickMode == 1 and data.containsKey('year')))">
a.year,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('month') or colPickMode == 1 and data.containsKey('month')))">
a.month,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('day') or colPickMode == 1 and data.containsKey('day')))">
a.day,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
a.remark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUserId') or colPickMode == 1 and data.containsKey('updateUserId')))">
a.updateUserId,
</if>
<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>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="AttendanceStaffStatEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_attendance_staff_stat
(staffId,staffName,attendanceSummary,year,month,day,remark,createUserId,createTime,updateUserId,updateTime)
VALUES
(#{staffId},#{staffName},#{attendanceSummary},#{year},#{month},#{day},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_attendance_staff_stat
(staffId,staffName,attendanceSummary,year,month,day,remark,createUserId,createTime,updateUserId,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.staffId},#{item.staffName},#{item.attendanceSummary},#{item.year},#{item.month},#{item.day},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_attendance_staff_stat as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('staffId')) or (colPickMode==1 and !data.containsKey('staffId'))">
a.staffId=#{data.staffId},
</if>
<if test="(colPickMode==0 and data.containsKey('staffIdIncrement')) or (colPickMode==1 and !data.containsKey('staffIdIncrement'))">
a.staffId=ifnull(a.staffId,0) + #{data.staffIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('staffName')) or (colPickMode==1 and !data.containsKey('staffName'))">
a.staffName=#{data.staffName},
</if>
<if test="(colPickMode==0 and data.containsKey('attendanceSummary')) or (colPickMode==1 and !data.containsKey('attendanceSummary'))">
a.attendanceSummary=#{data.attendanceSummary},
</if>
<if test="(colPickMode==0 and data.containsKey('year')) or (colPickMode==1 and !data.containsKey('year'))">
a.year=#{data.year},
</if>
<if test="(colPickMode==0 and data.containsKey('yearIncrement')) or (colPickMode==1 and !data.containsKey('yearIncrement'))">
a.year=ifnull(a.year,0) + #{data.yearIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('month')) or (colPickMode==1 and !data.containsKey('month'))">
a.month=#{data.month},
</if>
<if test="(colPickMode==0 and data.containsKey('monthIncrement')) or (colPickMode==1 and !data.containsKey('monthIncrement'))">
a.month=ifnull(a.month,0) + #{data.monthIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('day')) or (colPickMode==1 and !data.containsKey('day'))">
a.day=#{data.day},
</if>
<if test="(colPickMode==0 and data.containsKey('dayIncrement')) or (colPickMode==1 and !data.containsKey('dayIncrement'))">
a.day=ifnull(a.day,0) + #{data.dayIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
a.remark=#{data.remark},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserId')) or (colPickMode==1 and !data.containsKey('updateUserId'))">
a.updateUserId=#{data.updateUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !data.containsKey('updateUserIdIncrement'))">
a.updateUserId=ifnull(a.updateUserId,0) + #{data.updateUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_attendance_staff_stat as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="staffId=(case" suffix="ELSE staffId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('staffId')) or (colPickMode==1 and !item.containsKey('staffId'))">
when a.id=#{item.id} then #{item.staffId}
</when>
<when test="(colPickMode==0 and item.containsKey('staffIdIncrement')) or (colPickMode==1 and !item.containsKey('staffIdIncrement'))">
when a.id=#{item.id} then ifnull(a.staffId,0) + #{item.staffIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="staffName=(case" suffix="ELSE staffName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('staffName')) or (colPickMode==1 and !item.containsKey('staffName'))">
when a.id=#{item.id} then #{item.staffName}
</if>
</foreach>
</trim>
<trim prefix="attendanceSummary=(case" suffix="ELSE attendanceSummary end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('attendanceSummary')) or (colPickMode==1 and !item.containsKey('attendanceSummary'))">
when a.id=#{item.id} then #{item.attendanceSummary}
</if>
</foreach>
</trim>
<trim prefix="year=(case" suffix="ELSE year end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('year')) or (colPickMode==1 and !item.containsKey('year'))">
when a.id=#{item.id} then #{item.year}
</when>
<when test="(colPickMode==0 and item.containsKey('yearIncrement')) or (colPickMode==1 and !item.containsKey('yearIncrement'))">
when a.id=#{item.id} then ifnull(a.year,0) + #{item.yearIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="month=(case" suffix="ELSE month end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('month')) or (colPickMode==1 and !item.containsKey('month'))">
when a.id=#{item.id} then #{item.month}
</when>
<when test="(colPickMode==0 and item.containsKey('monthIncrement')) or (colPickMode==1 and !item.containsKey('monthIncrement'))">
when a.id=#{item.id} then ifnull(a.month,0) + #{item.monthIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="day=(case" suffix="ELSE day end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('day')) or (colPickMode==1 and !item.containsKey('day'))">
when a.id=#{item.id} then #{item.day}
</when>
<when test="(colPickMode==0 and item.containsKey('dayIncrement')) or (colPickMode==1 and !item.containsKey('dayIncrement'))">
when a.id=#{item.id} then ifnull(a.day,0) + #{item.dayIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="remark=(case" suffix="ELSE remark end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('remark')) or (colPickMode==1 and !item.containsKey('remark'))">
when a.id=#{item.id} then #{item.remark}
</if>
</foreach>
</trim>
<trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.id=#{item.id} then #{item.createUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateUserId=(case" suffix="ELSE updateUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('updateUserId')) or (colPickMode==1 and !item.containsKey('updateUserId'))">
when a.id=#{item.id} then #{item.updateUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('updateUserIdIncrement')) or (colPickMode==1 and !item.containsKey('updateUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.updateUserId,0) + #{item.updateUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="AttendanceStaffStatEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_attendance_staff_stat as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_attendance_staff_stat as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_attendance_staff_stat where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from mortals_xhx_attendance_staff_stat where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList">
delete from mortals_xhx_attendance_staff_stat where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_attendance_staff_stat as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="AttendanceStaffStatEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_attendance_staff_stat as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_attendance_staff_stat as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idNotList')">
${_conditionType_} a.id not in
<foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('staffId')">
<if test="conditionParamRef.staffId != null ">
${_conditionType_} a.staffId = #{${_conditionParam_}.staffId}
</if>
<if test="conditionParamRef.staffId == null">
${_conditionType_} a.staffId is null
</if>
</if>
<if test="conditionParamRef.containsKey('staffIdList')">
${_conditionType_} a.staffId in
<foreach collection="conditionParamRef.staffIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffIdNotList')">
${_conditionType_} a.staffId not in
<foreach collection="conditionParamRef.staffIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffIdStart') and conditionParamRef.staffIdStart != null">
${_conditionType_} a.staffId <![CDATA[ >= ]]> #{${_conditionParam_}.staffIdStart}
</if>
<if test="conditionParamRef.containsKey('staffIdEnd') and conditionParamRef.staffIdEnd != null">
${_conditionType_} a.staffId <![CDATA[ <= ]]> #{${_conditionParam_}.staffIdEnd}
</if>
<if test="conditionParamRef.containsKey('staffName')">
<if test="conditionParamRef.staffName != null and conditionParamRef.staffName != ''">
${_conditionType_} a.staffName like #{${_conditionParam_}.staffName}
</if>
<if test="conditionParamRef.staffName == null">
${_conditionType_} a.staffName is null
</if>
</if>
<if test="conditionParamRef.containsKey('staffNameList')">
${_conditionType_} a.staffName in
<foreach collection="conditionParamRef.staffNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('staffNameNotList')">
${_conditionType_} a.staffName not in
<foreach collection="conditionParamRef.staffNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceSummary')">
<if test="conditionParamRef.attendanceSummary != null and conditionParamRef.attendanceSummary != ''">
${_conditionType_} a.attendanceSummary like #{${_conditionParam_}.attendanceSummary}
</if>
<if test="conditionParamRef.attendanceSummary == null">
${_conditionType_} a.attendanceSummary is null
</if>
</if>
<if test="conditionParamRef.containsKey('attendanceSummaryList')">
${_conditionType_} a.attendanceSummary in
<foreach collection="conditionParamRef.attendanceSummaryList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('attendanceSummaryNotList')">
${_conditionType_} a.attendanceSummary not in
<foreach collection="conditionParamRef.attendanceSummaryNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('year')">
<if test="conditionParamRef.year != null ">
${_conditionType_} a.year = #{${_conditionParam_}.year}
</if>
<if test="conditionParamRef.year == null">
${_conditionType_} a.year is null
</if>
</if>
<if test="conditionParamRef.containsKey('yearList')">
${_conditionType_} a.year in
<foreach collection="conditionParamRef.yearList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('yearNotList')">
${_conditionType_} a.year not in
<foreach collection="conditionParamRef.yearNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('yearStart') and conditionParamRef.yearStart != null">
${_conditionType_} a.year <![CDATA[ >= ]]> #{${_conditionParam_}.yearStart}
</if>
<if test="conditionParamRef.containsKey('yearEnd') and conditionParamRef.yearEnd != null">
${_conditionType_} a.year <![CDATA[ <= ]]> #{${_conditionParam_}.yearEnd}
</if>
<if test="conditionParamRef.containsKey('month')">
<if test="conditionParamRef.month != null ">
${_conditionType_} a.month = #{${_conditionParam_}.month}
</if>
<if test="conditionParamRef.month == null">
${_conditionType_} a.month is null
</if>
</if>
<if test="conditionParamRef.containsKey('monthList')">
${_conditionType_} a.month in
<foreach collection="conditionParamRef.monthList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('monthNotList')">
${_conditionType_} a.month not in
<foreach collection="conditionParamRef.monthNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('monthStart') and conditionParamRef.monthStart != null">
${_conditionType_} a.month <![CDATA[ >= ]]> #{${_conditionParam_}.monthStart}
</if>
<if test="conditionParamRef.containsKey('monthEnd') and conditionParamRef.monthEnd != null">
${_conditionType_} a.month <![CDATA[ <= ]]> #{${_conditionParam_}.monthEnd}
</if>
<if test="conditionParamRef.containsKey('day')">
<if test="conditionParamRef.day != null ">
${_conditionType_} a.day = #{${_conditionParam_}.day}
</if>
<if test="conditionParamRef.day == null">
${_conditionType_} a.day is null
</if>
</if>
<if test="conditionParamRef.containsKey('dayList')">
${_conditionType_} a.day in
<foreach collection="conditionParamRef.dayList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('dayNotList')">
${_conditionType_} a.day not in
<foreach collection="conditionParamRef.dayNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('dayStart') and conditionParamRef.dayStart != null">
${_conditionType_} a.day <![CDATA[ >= ]]> #{${_conditionParam_}.dayStart}
</if>
<if test="conditionParamRef.containsKey('dayEnd') and conditionParamRef.dayEnd != null">
${_conditionType_} a.day <![CDATA[ <= ]]> #{${_conditionParam_}.dayEnd}
</if>
<if test="conditionParamRef.containsKey('remark')">
<if test="conditionParamRef.remark != null and conditionParamRef.remark != ''">
${_conditionType_} a.remark like #{${_conditionParam_}.remark}
</if>
<if test="conditionParamRef.remark == null">
${_conditionType_} a.remark is null
</if>
</if>
<if test="conditionParamRef.containsKey('remarkList')">
${_conditionType_} a.remark in
<foreach collection="conditionParamRef.remarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('remarkNotList')">
${_conditionType_} a.remark not in
<foreach collection="conditionParamRef.remarkNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
</if>
<if test="conditionParamRef.createUserId == null">
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList')">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdNotList')">
${_conditionType_} a.createUserId not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
</if>
<if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateUserId')">
<if test="conditionParamRef.updateUserId != null ">
${_conditionType_} a.updateUserId = #{${_conditionParam_}.updateUserId}
</if>
<if test="conditionParamRef.updateUserId == null">
${_conditionType_} a.updateUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserIdList')">
${_conditionType_} a.updateUserId in
<foreach collection="conditionParamRef.updateUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdNotList')">
${_conditionType_} a.updateUserId not in
<foreach collection="conditionParamRef.updateUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateUserIdStart') and conditionParamRef.updateUserIdStart != null">
${_conditionType_} a.updateUserId <![CDATA[ >= ]]> #{${_conditionParam_}.updateUserIdStart}
</if>
<if test="conditionParamRef.containsKey('updateUserIdEnd') and conditionParamRef.updateUserIdEnd != null">
${_conditionType_} a.updateUserId <![CDATA[ <= ]]> #{${_conditionParam_}.updateUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<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>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('staffId')">
a.staffId
<if test='orderCol.staffId != null and "DESC".equalsIgnoreCase(orderCol.staffId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('staffName')">
a.staffName
<if test='orderCol.staffName != null and "DESC".equalsIgnoreCase(orderCol.staffName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('attendanceSummary')">
a.attendanceSummary
<if test='orderCol.attendanceSummary != null and "DESC".equalsIgnoreCase(orderCol.attendanceSummary)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('year')">
a.year
<if test='orderCol.year != null and "DESC".equalsIgnoreCase(orderCol.year)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('month')">
a.month
<if test='orderCol.month != null and "DESC".equalsIgnoreCase(orderCol.month)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('day')">
a.day
<if test='orderCol.day != null and "DESC".equalsIgnoreCase(orderCol.day)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('remark')">
a.remark
<if test='orderCol.remark != null and "DESC".equalsIgnoreCase(orderCol.remark)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateUserId')">
a.updateUserId
<if test='orderCol.updateUserId != null and "DESC".equalsIgnoreCase(orderCol.updateUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
<?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.staff.dao.ibatis.StaffDaoImpl">
<!-- 字段和属性映射 -->
......@@ -29,6 +29,7 @@
<result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" />
<result property="source" column="source" />
</resultMap>
......@@ -108,23 +109,26 @@
<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('source') or colPickMode == 1 and data.containsKey('source')))">
a.source,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="StaffEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_staff
(name,gender,birthday,photoPath,phoneNumber,idCard,workNum,politicalstatus,deptId,deptName,positionId,positionName,staffType,status,registerPath,entryDate,regularDate,leaveDate,remark,createUserId,createTime,updateUserId,updateTime)
(name,gender,birthday,photoPath,phoneNumber,idCard,workNum,politicalstatus,deptId,deptName,positionId,positionName,staffType,status,registerPath,entryDate,regularDate,leaveDate,remark,createUserId,createTime,updateUserId,updateTime,source)
VALUES
(#{name},#{gender},#{birthday},#{photoPath},#{phoneNumber},#{idCard},#{workNum},#{politicalstatus},#{deptId},#{deptName},#{positionId},#{positionName},#{staffType},#{status},#{registerPath},#{entryDate},#{regularDate},#{leaveDate},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime})
(#{name},#{gender},#{birthday},#{photoPath},#{phoneNumber},#{idCard},#{workNum},#{politicalstatus},#{deptId},#{deptName},#{positionId},#{positionName},#{staffType},#{status},#{registerPath},#{entryDate},#{regularDate},#{leaveDate},#{remark},#{createUserId},#{createTime},#{updateUserId},#{updateTime},#{source})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_staff
(name,gender,birthday,photoPath,phoneNumber,idCard,workNum,politicalstatus,deptId,deptName,positionId,positionName,staffType,status,registerPath,entryDate,regularDate,leaveDate,remark,createUserId,createTime,updateUserId,updateTime)
(name,gender,birthday,photoPath,phoneNumber,idCard,workNum,politicalstatus,deptId,deptName,positionId,positionName,staffType,status,registerPath,entryDate,regularDate,leaveDate,remark,createUserId,createTime,updateUserId,updateTime,source)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.name},#{item.gender},#{item.birthday},#{item.photoPath},#{item.phoneNumber},#{item.idCard},#{item.workNum},#{item.politicalstatus},#{item.deptId},#{item.deptName},#{item.positionId},#{item.positionName},#{item.staffType},#{item.status},#{item.registerPath},#{item.entryDate},#{item.regularDate},#{item.leaveDate},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime})
(#{item.name},#{item.gender},#{item.birthday},#{item.photoPath},#{item.phoneNumber},#{item.idCard},#{item.workNum},#{item.politicalstatus},#{item.deptId},#{item.deptName},#{item.positionId},#{item.positionName},#{item.staffType},#{item.status},#{item.registerPath},#{item.entryDate},#{item.regularDate},#{item.leaveDate},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateUserId},#{item.updateTime},#{item.source})
</foreach>
</insert>
......@@ -227,6 +231,12 @@
<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('source')) or (colPickMode==1 and !data.containsKey('source'))">
a.source=#{data.source},
</if>
<if test="(colPickMode==0 and data.containsKey('sourceIncrement')) or (colPickMode==1 and !data.containsKey('sourceIncrement'))">
a.source=ifnull(a.source,0) + #{data.sourceIncrement},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
......@@ -440,6 +450,18 @@
</if>
</foreach>
</trim>
<trim prefix="source=(case" suffix="ELSE source end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('source')) or (colPickMode==1 and !item.containsKey('source'))">
when a.id=#{item.id} then #{item.source}
</when>
<when test="(colPickMode==0 and item.containsKey('sourceIncrement')) or (colPickMode==1 and !item.containsKey('sourceIncrement'))">
when a.id=#{item.id} then ifnull(a.source,0) + #{item.sourceIncrement}
</when>
</choose>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
......@@ -1078,6 +1100,33 @@
<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('source')">
<if test="conditionParamRef.source != null ">
${_conditionType_} a.source = #{${_conditionParam_}.source}
</if>
<if test="conditionParamRef.source == null">
${_conditionType_} a.source is null
</if>
</if>
<if test="conditionParamRef.containsKey('sourceList')">
${_conditionType_} a.source in
<foreach collection="conditionParamRef.sourceList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('sourceNotList')">
${_conditionType_} a.source not in
<foreach collection="conditionParamRef.sourceNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('sourceStart') and conditionParamRef.sourceStart != null">
${_conditionType_} a.source <![CDATA[ >= ]]> #{${_conditionParam_}.sourceStart}
</if>
<if test="conditionParamRef.containsKey('sourceEnd') and conditionParamRef.sourceEnd != null">
${_conditionType_} a.source <![CDATA[ <= ]]> #{${_conditionParam_}.sourceEnd}
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
......@@ -1211,6 +1260,11 @@
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('source')">
a.source
<if test='orderCol.source != null and "DESC".equalsIgnoreCase(orderCol.source)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
......
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###考勤打卡记录异常信息列表
POST {{baseUrl}}/attendance/record/error/list
Authorization: {{authToken}}
Content-Type: application/json
{
"staffName":"cqozbd",
"deptId":147,
"errorStatus":0,
"processStatus":0,
"page":1,
"size":10
}
###考勤打卡记录异常信息更新与保存
POST {{baseUrl}}/attendance/record/error/save
Authorization: {{authToken}}
Content-Type: application/json
{
"staffId":733,
"staffName":"10ez6f",
"workNum":"077khq",
"deptId":277,
"deptName":"ee56yw",
"positionId":609,
"positionName":"4fbp2a",
"attendanceGroupId":612,
"attendanceGroupName":"7x6mwm",
"shiftsId":906,
"shiftsName":"nxeinr",
"goOffDateTime":"1680883200000",
"errorDateTime":"1680883200000",
"actualAttendanceDateTime":"1680883200000",
"operDateTime":"1680883200000",
"opertor":"35f8iq",
"errorStatus":0,
"processStatus":0,
"processResult":"s1gyfc",
"remark":"4t1f2x",
}
> {%
client.global.set("AttendanceRecordError_id", JSON.parse(response.body).data.id);
%}
###考勤打卡记录异常信息查看
GET {{baseUrl}}/attendance/record/error/info?id={{AttendanceRecordError_id}}
Authorization: {{authToken}}
Accept: application/json
###考勤打卡记录异常信息编辑
GET {{baseUrl}}/attendance/record/error/edit?id={{AttendanceRecordError_id}}
Authorization: {{authToken}}
Accept: application/json
###考勤打卡记录异常信息删除
GET {{baseUrl}}/attendance/record/error/delete?id={{AttendanceRecordError_id}}
Authorization: {{authToken}}
Accept: application/json
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###海康考勤打卡记录汇总信息列表
POST {{baseUrl}}/attendance/record/hik/list
Authorization: {{authToken}}
Content-Type: application/json
{
"staffName":"oljxjq",
"deptId":540,
"attendanceGroupId":619,
"shiftsId":932,
"page":1,
"size":10
}
###海康考勤打卡记录汇总信息更新与保存
POST {{baseUrl}}/attendance/record/hik/save
Authorization: {{authToken}}
Content-Type: application/json
{
"staffId":166,
"staffName":"i8gav1",
"workNum":"wsbcwi",
"deptId":510,
"deptName":"hupjwn",
"positionId":816,
"positionName":"u4flio",
"attendanceGroupId":445,
"attendanceGroupName":"agjf27",
"shiftsId":317,
"shiftsName":"dt2c1n",
"attendanceDate":"1680883200000",
"attendanceAddress":"zta8r5",
"eventSource":"42l4jh",
"remark":"ftcbb3",
}
> {%
client.global.set("AttendanceRecordHik_id", JSON.parse(response.body).data.id);
%}
###海康考勤打卡记录汇总信息查看
GET {{baseUrl}}/attendance/record/hik/info?id={{AttendanceRecordHik_id}}
Authorization: {{authToken}}
Accept: application/json
###海康考勤打卡记录汇总信息编辑
GET {{baseUrl}}/attendance/record/hik/edit?id={{AttendanceRecordHik_id}}
Authorization: {{authToken}}
Accept: application/json
###海康考勤打卡记录汇总信息删除
GET {{baseUrl}}/attendance/record/hik/delete?id={{AttendanceRecordHik_id}}
Authorization: {{authToken}}
Accept: application/json
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###考勤人员汇总信息列表
POST {{baseUrl}}/attendance/staff/stat/list
Authorization: {{authToken}}
Content-Type: application/json
{
"staffName":"0zxoci",
"attendanceSummary":"ggnx7a",
"page":1,
"size":10
}
###考勤人员汇总信息更新与保存
POST {{baseUrl}}/attendance/staff/stat/save
Authorization: {{authToken}}
Content-Type: application/json
{
"staffId":190,
"staffName":"7z7fag",
"attendanceSummary":"kos40c",
"year":269,
"month":903,
"day":431,
"remark":"4e0w24",
}
> {%
client.global.set("AttendanceStaffStat_id", JSON.parse(response.body).data.id);
%}
###考勤人员汇总信息查看
GET {{baseUrl}}/attendance/staff/stat/info?id={{AttendanceStaffStat_id}}
Authorization: {{authToken}}
Accept: application/json
###考勤人员汇总信息编辑
GET {{baseUrl}}/attendance/staff/stat/edit?id={{AttendanceStaffStat_id}}
Authorization: {{authToken}}
Accept: application/json
###考勤人员汇总信息删除
GET {{baseUrl}}/attendance/staff/stat/delete?id={{AttendanceStaffStat_id}}
Authorization: {{authToken}}
Accept: application/json
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###考勤汇总信息列表
POST {{baseUrl}}/attendance/stat/list
Authorization: {{authToken}}
Content-Type: application/json
{
"windowCategory":"xu4iks",
"staffName":"e2tfk1",
"deptId":272,
"backToUnit":0.0,
"onDutyLeave":0.0,
"outOfOffice":0.0,
"shiftCompensation":0.0,
"physicalExamination":0.0,
"quarantine":0.0,
"businessTrip":0.0,
"publicHoliday":0.0,
"sickLeave":0.0,
"funeralLeave":0.0,
"marriageLeave":0.0,
"childRearingLeave":0.0,
"maternityLeave":0.0,
"transferBack":0.0,
"homeLeave":0.0,
"personalLeave":0.0,
"absenteeismDays":0.0,
"otherDays":0.0,
"attendanceRate":0.00,
"nonCompliancePunch":0,
"lateTimes":0,
"surfingMobileTimes":0,
"overtimeTimes":0,
"vacancy":0,
"nonStandardDressTimes":0,
"unexcusedMeetingAbsence":0,
"earlyLeaveMeeting":0,
"page":1,
"size":10
}
###考勤汇总信息更新与保存
POST {{baseUrl}}/attendance/stat/save
Authorization: {{authToken}}
Content-Type: application/json
{
"windowCategory":"5o0tbf",
"staffId":897,
"staffName":"apw7bm",
"deptId":159,
"deptName":"jibwgn",
"backToUnit":0.0,
"onDutyLeave":0.0,
"outOfOffice":0.0,
"shiftCompensation":0.0,
"physicalExamination":0.0,
"quarantine":0.0,
"businessTrip":0.0,
"publicHoliday":0.0,
"sickLeave":0.0,
"funeralLeave":0.0,
"marriageLeave":0.0,
"childRearingLeave":0.0,
"maternityLeave":0.0,
"transferBack":0.0,
"homeLeave":0.0,
"personalLeave":0.0,
"absenteeismDays":0.0,
"otherDays":0.0,
"attendanceRate":0.00,
"nonCompliancePunch":0,
"lateTimes":0,
"surfingMobileTimes":0,
"overtimeTimes":0,
"vacancy":0,
"nonStandardDressTimes":0,
"unexcusedMeetingAbsence":0,
"earlyLeaveMeeting":0,
"year":593,
"month":333,
"day":983,
"remark":"no1wds",
}
> {%
client.global.set("AttendanceStat_id", JSON.parse(response.body).data.id);
%}
###考勤汇总信息查看
GET {{baseUrl}}/attendance/stat/info?id={{AttendanceStat_id}}
Authorization: {{authToken}}
Accept: application/json
###考勤汇总信息编辑
GET {{baseUrl}}/attendance/stat/edit?id={{AttendanceStat_id}}
Authorization: {{authToken}}
Accept: application/json
###考勤汇总信息删除
GET {{baseUrl}}/attendance/stat/delete?id={{AttendanceStat_id}}
Authorization: {{authToken}}
Accept: application/json
......@@ -290,3 +290,73 @@ INSERT INTO `mortals_xhx_resource` VALUES (null, '员工假期余额信息-菜
-- ----------------------------
-- 员工假期余额信息参数 SQL
-- ----------------------------
-- ----------------------------
-- 考勤人员汇总信息菜单 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_menu` VALUES (null, '考勤人员汇总信息', '/attendance/staff/stat/list', 0, 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
-- ----------------------------
-- 考勤人员汇总信息资源路径 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_resource` VALUES (null, '考勤人员汇总信息-菜单管理-查看', '/attendance/staff/stat/list,/attendance/staff/stat/view,/attendance/staff/stat/info,/attendance/staff/stat/export,/attendance/staff/stat/exportExcel,/attendance/staff/stat/downloadTemplate,/attendance/staff/stat/download', 3, 0, NULL, NULL, NULL, 0);
INSERT INTO `mortals_xhx_resource` VALUES (null, '考勤人员汇总信息-菜单管理-维护', '/attendance/staff/stat/add,/attendance/staff/stat/edit,/attendance/staff/stat/delete,/attendance/staff/stat/logicDelete,/attendance/staff/stat/save,/attendance/staff/stat/importData', 3, 0, NULL, NULL, NULL, 0);
-- ----------------------------
-- 考勤人员汇总信息参数 SQL
-- ----------------------------
-- ----------------------------
-- 考勤汇总信息菜单 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_menu` VALUES (null, '考勤汇总信息', '/attendance/stat/list', 0, 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
-- ----------------------------
-- 考勤汇总信息资源路径 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_resource` VALUES (null, '考勤汇总信息-菜单管理-查看', '/attendance/stat/list,/attendance/stat/view,/attendance/stat/info,/attendance/stat/export,/attendance/stat/exportExcel,/attendance/stat/downloadTemplate,/attendance/stat/download', 3, 0, NULL, NULL, NULL, 0);
INSERT INTO `mortals_xhx_resource` VALUES (null, '考勤汇总信息-菜单管理-维护', '/attendance/stat/add,/attendance/stat/edit,/attendance/stat/delete,/attendance/stat/logicDelete,/attendance/stat/save,/attendance/stat/importData', 3, 0, NULL, NULL, NULL, 0);
-- ----------------------------
-- 考勤汇总信息参数 SQL
-- ----------------------------
-- ----------------------------
-- 考勤打卡记录异常信息菜单 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_menu` VALUES (null, '考勤打卡记录异常信息', '/attendance/record/error/list', 0, 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
-- ----------------------------
-- 考勤打卡记录异常信息资源路径 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_resource` VALUES (null, '考勤打卡记录异常信息-菜单管理-查看', '/attendance/record/error/list,/attendance/record/error/view,/attendance/record/error/info,/attendance/record/error/export,/attendance/record/error/exportExcel,/attendance/record/error/downloadTemplate,/attendance/record/error/download', 3, 0, NULL, NULL, NULL, 0);
INSERT INTO `mortals_xhx_resource` VALUES (null, '考勤打卡记录异常信息-菜单管理-维护', '/attendance/record/error/add,/attendance/record/error/edit,/attendance/record/error/delete,/attendance/record/error/logicDelete,/attendance/record/error/save,/attendance/record/error/importData', 3, 0, NULL, NULL, NULL, 0);
-- ----------------------------
-- 考勤打卡记录异常信息参数 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_param` VALUES (null, '异常状态', 'AttendanceRecordError', 'errorStatus', '0', '缺卡', 1, 4, 0, 'errorStatus', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '异常状态', 'AttendanceRecordError', 'errorStatus', '1', '早退', 1, 4, 0, 'errorStatus', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '异常状态', 'AttendanceRecordError', 'errorStatus', '2', '缺卡', 1, 4, 0, 'errorStatus', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '处理状态', 'AttendanceRecordError', 'processStatus', '0', '未处理', 1, 4, 0, 'processStatus', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '处理状态', 'AttendanceRecordError', 'processStatus', '1', '已处理', 1, 4, 0, 'processStatus', NULL, NULL, NULL);
-- ----------------------------
-- 海康考勤打卡记录汇总信息菜单 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_menu` VALUES (null, '海康考勤打卡记录汇总信息', '/attendance/record/hik/list', 0, 1, 1, 0, 0,'',NULL, NULL, NULL, 0, 0, 1, NULL, NULL, NULL);
-- ----------------------------
-- 海康考勤打卡记录汇总信息资源路径 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_resource` VALUES (null, '海康考勤打卡记录汇总信息-菜单管理-查看', '/attendance/record/hik/list,/attendance/record/hik/view,/attendance/record/hik/info,/attendance/record/hik/export,/attendance/record/hik/exportExcel,/attendance/record/hik/downloadTemplate,/attendance/record/hik/download', 3, 0, NULL, NULL, NULL, 0);
INSERT INTO `mortals_xhx_resource` VALUES (null, '海康考勤打卡记录汇总信息-菜单管理-维护', '/attendance/record/hik/add,/attendance/record/hik/edit,/attendance/record/hik/delete,/attendance/record/hik/logicDelete,/attendance/record/hik/save,/attendance/record/hik/importData', 3, 0, NULL, NULL, NULL, 0);
-- ----------------------------
-- 海康考勤打卡记录汇总信息参数 SQL
-- ----------------------------
INSERT INTO `mortals_xhx_param` VALUES (null, '政治面貌 ', 'Staff', 'politicalstatus', '1', '中共党员', 1, 4, 0, 'politicalstatus', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '政治面貌 ', 'Staff', 'politicalstatus', '2', '中共预备党员', 1, 4, 0, 'politicalstatus', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '政治面貌 ', 'Staff', 'politicalstatus', '3', '共青团员', 1, 4, 0, 'politicalstatus', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '政治面貌 ', 'Staff', 'politicalstatus', '4', '群众', 1, 4, 0, 'politicalstatus', NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` VALUES (null, '政治面貌 ', 'Staff', 'politicalstatus', '5', '其它', 1, 4, 0, 'politicalstatus', NULL, NULL, NULL);
\ No newline at end of file
......@@ -34,7 +34,7 @@ CREATE TABLE mortals_xhx_staff(
`phoneNumber` varchar(128) COMMENT '联系电话',
`idCard` varchar(128) COMMENT '身份证号码',
`workNum` varchar(128) COMMENT '工号',
`politicalstatus` tinyint(2) DEFAULT '1' COMMENT '政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)',
`politicalstatus` tinyint(2) DEFAULT '1' COMMENT '政治面貌 (1.中共党员,2.中共预备党员,3.共青团员,4.群众,5.其它)',
`deptId` bigint(20) COMMENT '所属部门',
`deptName` varchar(128) COMMENT '所属部门名称',
`positionId` bigint(20) COMMENT '职位ID',
......@@ -50,9 +50,12 @@ CREATE TABLE mortals_xhx_staff(
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
`source` tinyint(2) DEFAULT '1' COMMENT '员工来源(1.外部,2.内部)',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='员工基本信息';
-- ----------------------------
-- 员工关怀信息表
-- ----------------------------
......@@ -422,3 +425,137 @@ CREATE TABLE mortals_xhx_attendance_vacation_balance(
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='员工假期余额信息';
-- ----------------------------
-- 考勤人员汇总信息表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_attendance_staff_stat`;
CREATE TABLE mortals_xhx_attendance_staff_stat(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`staffId` bigint(20) COMMENT '员工ID',
`staffName` varchar(64) NOT NULL COMMENT '员工姓名',
`attendanceSummary` varchar(512) NOT NULL COMMENT '考勤汇总信息,如迟到*1,旷工*2等',
`year` int(9) NOT NULL COMMENT '年',
`month` int(9) NOT NULL COMMENT '月',
`day` int(9) NOT NULL COMMENT '日',
`remark` varchar(255) COMMENT '备注',
`createUserId` bigint(20) NOT NULL COMMENT '创建用户',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考勤人员汇总信息';
-- ----------------------------
-- 考勤汇总信息表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_attendance_stat`;
CREATE TABLE mortals_xhx_attendance_stat(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`windowCategory` varchar(50) NOT NULL COMMENT '窗口类别',
`staffId` bigint(20) COMMENT '员工ID',
`staffName` varchar(64) NOT NULL COMMENT '员工姓名',
`deptId` bigint(20) COMMENT '所属部门',
`deptName` varchar(128) COMMENT '所属部门名称',
`backToUnit` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '回单位(天)',
`onDutyLeave` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '因公请假(天)',
`outOfOffice` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '外出勘验(天)',
`shiftCompensation` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '值班补班(天)',
`physicalExamination` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '体检(天)',
`quarantine` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '隔离(天)',
`businessTrip` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '因公外出(与窗口工作无关/天)',
`publicHoliday` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '公休(天)',
`sickLeave` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '病假(天)',
`funeralLeave` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '丧假(天)',
`marriageLeave` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '婚假(天)',
`childRearingLeave` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '育儿假(天)',
`maternityLeave` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '产假(陪护假/天)',
`transferBack` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '调回单位(或离职/天)',
`homeLeave` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '探亲假(天)',
`personalLeave` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '事假(天)',
`absenteeismDays` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '考勤汇总-旷工(天)',
`otherDays` double(4,1) NOT NULL DEFAULT '0.0' COMMENT '考勤汇总-其他(天)',
`attendanceRate` double(4,2) NOT NULL DEFAULT '0.00' COMMENT '考勤汇总-出勤率(%)',
`nonCompliancePunch` double(4,1) NOT NULL DEFAULT '0' COMMENT '考勤汇总-未按规定打卡(含忘记打卡)',
`lateTimes` int(9) NOT NULL DEFAULT '0' COMMENT '考勤汇总-迟到(次)',
`surfingMobileTimes` int(9) NOT NULL DEFAULT '0' COMMENT '考勤汇总-上网耍手机(次)',
`overtimeTimes` int(9) NOT NULL DEFAULT '0' COMMENT '考勤汇总-溜班(次)',
`vacancy` double(4,1) NOT NULL DEFAULT '0' COMMENT '考勤汇总-空岗',
`nonStandardDressTimes` int(9) NOT NULL DEFAULT '0' COMMENT '考勤汇总-未规范着装(次)',
`unexcusedMeetingAbsence` double(4,1) NOT NULL DEFAULT '0' COMMENT '考勤汇总-无故缺席会议',
`earlyLeaveMeeting` double(4,1) NOT NULL DEFAULT '0' COMMENT '考勤汇总-会议早退',
`year` int(9) NOT NULL COMMENT '年',
`month` int(9) NOT NULL COMMENT '月',
`day` int(9) NOT NULL COMMENT '日',
`remark` varchar(255) COMMENT '备注',
`createUserId` bigint(20) NOT NULL COMMENT '创建用户',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考勤汇总信息';
-- ----------------------------
-- 考勤打卡记录异常信息表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_attendance_record_error`;
CREATE TABLE mortals_xhx_attendance_record_error(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`staffId` bigint(20) COMMENT '员工ID',
`staffName` varchar(64) NOT NULL COMMENT '员工姓名',
`workNum` varchar(128) COMMENT '工号',
`deptId` bigint(20) COMMENT '所属部门',
`deptName` varchar(128) COMMENT '所属部门名称',
`positionId` bigint(20) COMMENT '职位ID',
`positionName` varchar(128) COMMENT '职位名称',
`attendanceGroupId` bigint(20) COMMENT '所属考勤组ID',
`attendanceGroupName` varchar(128) COMMENT '所属考勤组名称',
`shiftsId` bigint(20) COMMENT '班次ID',
`shiftsName` varchar(128) COMMENT '班次名称',
`goOffDateTime` datetime COMMENT '上下班时间',
`errorDateTime` datetime COMMENT '异常时间',
`actualAttendanceDateTime` datetime COMMENT '实际打卡时间',
`operDateTime` datetime COMMENT '处理时间',
`opertor` varchar(128) COMMENT '处理人',
`errorStatus` tinyint(2) DEFAULT '0' COMMENT '异常状态(0.缺卡,1.早退,2.缺卡)',
`processStatus` tinyint(2) DEFAULT '0' COMMENT '处理状态(0.未处理,1.已处理)',
`processResult` varchar(128) COMMENT '处理结果',
`remark` varchar(255) COMMENT '备注',
`createUserId` bigint(20) NOT NULL COMMENT '创建用户',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='考勤打卡记录异常信息';
-- ----------------------------
-- 海康考勤打卡记录汇总信息表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_attendance_record_hik`;
CREATE TABLE mortals_xhx_attendance_record_hik(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`staffId` bigint(20) COMMENT '员工ID',
`staffName` varchar(64) NOT NULL COMMENT '员工姓名',
`workNum` varchar(128) COMMENT '工号',
`deptId` bigint(20) COMMENT '所属部门',
`deptName` varchar(128) COMMENT '所属部门名称',
`positionId` bigint(20) COMMENT '职位ID',
`positionName` varchar(128) COMMENT '职位名称',
`attendanceGroupId` bigint(20) COMMENT '所属考勤组ID',
`attendanceGroupName` varchar(128) COMMENT '所属考勤组名称',
`shiftsId` bigint(20) COMMENT '班次ID',
`shiftsName` varchar(128) COMMENT '班次名称',
`attendanceDate` datetime COMMENT '考勤日期',
`attendanceAddress` varchar(128) COMMENT '考勤点名称',
`eventSource` varchar(128) COMMENT '事件源',
`remark` varchar(255) COMMENT '备注',
`createUserId` bigint(20) NOT NULL COMMENT '创建用户',
`createTime` datetime NOT NULL COMMENT '创建时间',
`updateUserId` bigint(20) COMMENT '更新用户',
`updateTime` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='海康考勤打卡记录汇总信息';
......@@ -4831,6 +4831,1301 @@ msg|String|消息|-
}
```
## 考勤人员汇总信息
### 查询考勤人员汇总信息列表
**请求URL:** attendance/staff/stat/list
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 查询考勤人员汇总信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
staffName|String|否|员工姓名,字段前后添加%%模糊查询
attendanceSummary|String|否|考勤汇总信息,如迟到*1,旷工*2等,字段前后添加%%模糊查询
**请求样例:**
```
{
"staffName":"2gbddv",
"attendanceSummary":"y5la4c",
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;per_page|Integer|每页条数
&emsp;total|Integer|总条数
&emsp;last_page|Integer|总页数
&emsp;current_page|Integer|当前页
&emsp;data|array|结果集列表|数组
&emsp;&emsp;id|Long|序号,主键,自增长
&emsp;&emsp;staffId|Long|员工ID
&emsp;&emsp;staffName|String|员工姓名
&emsp;&emsp;attendanceSummary|String|考勤汇总信息,如迟到*1,旷工*2等
&emsp;&emsp;year|Integer|年
&emsp;&emsp;month|Integer|月
&emsp;&emsp;day|Integer|日
&emsp;&emsp;remark|String|备注
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateUserId|Long|更新用户
&emsp;&emsp;updateTime|Date|更新时间
dict|object|字典对象
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
### 查看考勤人员汇总信息
**请求URL:** attendance/staff/stat/info
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 查看考勤人员汇总信息,返回实例详细信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID
**请求样例:**
```
http://localhost/attendance/staff/stat/info?id=549
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;id|Long|序号,主键,自增长
&emsp;staffId|Long|员工ID
&emsp;staffName|String|员工姓名
&emsp;attendanceSummary|String|考勤汇总信息,如迟到*1,旷工*2等
&emsp;year|Integer|年
&emsp;month|Integer|月
&emsp;day|Integer|日
&emsp;remark|String|备注
&emsp;createUserId|Long|创建用户
&emsp;createTime|Date|创建时间
&emsp;updateUserId|Long|更新用户
&emsp;updateTime|Date|更新时间
dict|object|字典对象
**响应消息样例:**
```
{
"code": 1,
"data": {
"id":9876,
"staffId":3734,
"staffName":"45bf1b",
"attendanceSummary":"s2jg4r",
"year":1500,
"month":5891,
"day":3467,
"remark":"1c3nfn",
"createUserId":3590,
"createTime":"2023-04-08",
"updateUserId":7190,
"updateTime":"2023-04-08"
}
}
```
### 保存更新考勤人员汇总信息
**请求URL:** attendance/staff/stat/save
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 保存或更新考勤人员汇总信息:id为空时为新增保存,否则为更新提交
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:-------
staffId|Long|否|员工ID
staffName|String|是|员工姓名
attendanceSummary|String|是|考勤汇总信息,如迟到*1,旷工*2等
year|Integer|是|年
month|Integer|是|月
day|Integer|是|日
remark|String|否|备注
**请求样例:**
```
{
"staffId":5436,
"staffName":"2yhueu",
"attendanceSummary":"i6csfw",
"year":6092,
"month":8956,
"day":4364,
"remark":"2f3gdv",
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;id|Long|保存后主键id
&emsp;entity|object|保存更新实体
&emsp;&emsp;id|Long|序号,主键,自增长
&emsp;&emsp;staffId|Long|员工ID
&emsp;&emsp;staffName|String|员工姓名
&emsp;&emsp;attendanceSummary|String|考勤汇总信息,如迟到*1,旷工*2等
&emsp;&emsp;year|Integer|年
&emsp;&emsp;month|Integer|月
&emsp;&emsp;day|Integer|日
&emsp;&emsp;remark|String|备注
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateUserId|Long|更新用户
&emsp;&emsp;updateTime|Date|更新时间
**响应消息样例:**
```
{
"msg":"新增模块成功",
"code":1,
"data":{}
}
}
```
### 删除考勤人员汇总信息
**请求URL:** attendance/staff/stat/delete
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 删除考勤人员汇总信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|String|是|数组
**请求样例:**
```
http://localhost:8080/attendance/staff/stat/delete?id=1&id=2'
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
**响应消息样例:**
```
{
"code":1,
"msg":"成功"
}
```
## 考勤汇总信息
### 查询考勤汇总信息列表
**请求URL:** attendance/stat/list
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 查询考勤汇总信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
windowCategory|String|否|窗口类别,字段前后添加%%模糊查询
staffName|String|否|员工姓名,字段前后添加%%模糊查询
deptId|Long|否|所属部门
backToUnit|BigDecimal|否|回单位(天)
onDutyLeave|BigDecimal|否|因公请假(天)
outOfOffice|BigDecimal|否|外出勘验(天)
shiftCompensation|BigDecimal|否|值班补班(天)
physicalExamination|BigDecimal|否|体检(天)
quarantine|BigDecimal|否|隔离(天)
businessTrip|BigDecimal|否|因公外出(与窗口工作无关/天)
publicHoliday|BigDecimal|否|公休(天)
sickLeave|BigDecimal|否|病假(天)
funeralLeave|BigDecimal|否|丧假(天)
marriageLeave|BigDecimal|否|婚假(天)
childRearingLeave|BigDecimal|否|育儿假(天)
maternityLeave|BigDecimal|否|产假(陪护假/天)
transferBack|BigDecimal|否|调回单位(或离职/天)
homeLeave|BigDecimal|否|探亲假(天)
personalLeave|BigDecimal|否|事假(天)
absenteeismDays|BigDecimal|否|考勤汇总-旷工(天)
otherDays|BigDecimal|否|考勤汇总-其他(天)
attendanceRate|BigDecimal|否|考勤汇总-出勤率(%)
nonCompliancePunch|BigDecimal|否|考勤汇总-未按规定打卡(含忘记打卡)
lateTimes|Integer|否|考勤汇总-迟到(次)
surfingMobileTimes|Integer|否|考勤汇总-上网耍手机(次)
overtimeTimes|Integer|否|考勤汇总-溜班(次)
vacancy|BigDecimal|否|考勤汇总-空岗
nonStandardDressTimes|Integer|否|考勤汇总-未规范着装(次)
unexcusedMeetingAbsence|BigDecimal|否|考勤汇总-无故缺席会议
earlyLeaveMeeting|BigDecimal|否|考勤汇总-会议早退
**请求样例:**
```
{
"windowCategory":"rjw9iz",
"staffName":"og4cvc",
"deptId":7965,
"backToUnit":0.32,
"onDutyLeave":0.99,
"outOfOffice":0.76,
"shiftCompensation":0.29,
"physicalExamination":0.85,
"quarantine":0.83,
"businessTrip":0.72,
"publicHoliday":0.2,
"sickLeave":0.79,
"funeralLeave":0.32,
"marriageLeave":0.67,
"childRearingLeave":0.44,
"maternityLeave":0.13,
"transferBack":0.7,
"homeLeave":0.98,
"personalLeave":0.03,
"absenteeismDays":0.85,
"otherDays":0.01,
"attendanceRate":0.84,
"nonCompliancePunch":0.68,
"lateTimes":5275,
"surfingMobileTimes":9335,
"overtimeTimes":9927,
"vacancy":0.74,
"nonStandardDressTimes":9260,
"unexcusedMeetingAbsence":0.33,
"earlyLeaveMeeting":0.09,
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;per_page|Integer|每页条数
&emsp;total|Integer|总条数
&emsp;last_page|Integer|总页数
&emsp;current_page|Integer|当前页
&emsp;data|array|结果集列表|数组
&emsp;&emsp;id|Long|序号,主键,自增长
&emsp;&emsp;windowCategory|String|窗口类别
&emsp;&emsp;staffId|Long|员工ID
&emsp;&emsp;staffName|String|员工姓名
&emsp;&emsp;deptId|Long|所属部门
&emsp;&emsp;deptName|String|所属部门名称
&emsp;&emsp;backToUnit|BigDecimal|回单位(天)
&emsp;&emsp;onDutyLeave|BigDecimal|因公请假(天)
&emsp;&emsp;outOfOffice|BigDecimal|外出勘验(天)
&emsp;&emsp;shiftCompensation|BigDecimal|值班补班(天)
&emsp;&emsp;physicalExamination|BigDecimal|体检(天)
&emsp;&emsp;quarantine|BigDecimal|隔离(天)
&emsp;&emsp;businessTrip|BigDecimal|因公外出(与窗口工作无关/天)
&emsp;&emsp;publicHoliday|BigDecimal|公休(天)
&emsp;&emsp;sickLeave|BigDecimal|病假(天)
&emsp;&emsp;funeralLeave|BigDecimal|丧假(天)
&emsp;&emsp;marriageLeave|BigDecimal|婚假(天)
&emsp;&emsp;childRearingLeave|BigDecimal|育儿假(天)
&emsp;&emsp;maternityLeave|BigDecimal|产假(陪护假/天)
&emsp;&emsp;transferBack|BigDecimal|调回单位(或离职/天)
&emsp;&emsp;homeLeave|BigDecimal|探亲假(天)
&emsp;&emsp;personalLeave|BigDecimal|事假(天)
&emsp;&emsp;absenteeismDays|BigDecimal|考勤汇总-旷工(天)
&emsp;&emsp;otherDays|BigDecimal|考勤汇总-其他(天)
&emsp;&emsp;attendanceRate|BigDecimal|考勤汇总-出勤率(%)
&emsp;&emsp;nonCompliancePunch|BigDecimal|考勤汇总-未按规定打卡(含忘记打卡)
&emsp;&emsp;lateTimes|Integer|考勤汇总-迟到(次)
&emsp;&emsp;surfingMobileTimes|Integer|考勤汇总-上网耍手机(次)
&emsp;&emsp;overtimeTimes|Integer|考勤汇总-溜班(次)
&emsp;&emsp;vacancy|BigDecimal|考勤汇总-空岗
&emsp;&emsp;nonStandardDressTimes|Integer|考勤汇总-未规范着装(次)
&emsp;&emsp;unexcusedMeetingAbsence|BigDecimal|考勤汇总-无故缺席会议
&emsp;&emsp;earlyLeaveMeeting|BigDecimal|考勤汇总-会议早退
&emsp;&emsp;year|Integer|年
&emsp;&emsp;month|Integer|月
&emsp;&emsp;day|Integer|日
&emsp;&emsp;remark|String|备注
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateUserId|Long|更新用户
&emsp;&emsp;updateTime|Date|更新时间
dict|object|字典对象
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
### 查看考勤汇总信息
**请求URL:** attendance/stat/info
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 查看考勤汇总信息,返回实例详细信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID
**请求样例:**
```
http://localhost/attendance/stat/info?id=549
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;id|Long|序号,主键,自增长
&emsp;windowCategory|String|窗口类别
&emsp;staffId|Long|员工ID
&emsp;staffName|String|员工姓名
&emsp;deptId|Long|所属部门
&emsp;deptName|String|所属部门名称
&emsp;backToUnit|BigDecimal|回单位(天)
&emsp;onDutyLeave|BigDecimal|因公请假(天)
&emsp;outOfOffice|BigDecimal|外出勘验(天)
&emsp;shiftCompensation|BigDecimal|值班补班(天)
&emsp;physicalExamination|BigDecimal|体检(天)
&emsp;quarantine|BigDecimal|隔离(天)
&emsp;businessTrip|BigDecimal|因公外出(与窗口工作无关/天)
&emsp;publicHoliday|BigDecimal|公休(天)
&emsp;sickLeave|BigDecimal|病假(天)
&emsp;funeralLeave|BigDecimal|丧假(天)
&emsp;marriageLeave|BigDecimal|婚假(天)
&emsp;childRearingLeave|BigDecimal|育儿假(天)
&emsp;maternityLeave|BigDecimal|产假(陪护假/天)
&emsp;transferBack|BigDecimal|调回单位(或离职/天)
&emsp;homeLeave|BigDecimal|探亲假(天)
&emsp;personalLeave|BigDecimal|事假(天)
&emsp;absenteeismDays|BigDecimal|考勤汇总-旷工(天)
&emsp;otherDays|BigDecimal|考勤汇总-其他(天)
&emsp;attendanceRate|BigDecimal|考勤汇总-出勤率(%)
&emsp;nonCompliancePunch|BigDecimal|考勤汇总-未按规定打卡(含忘记打卡)
&emsp;lateTimes|Integer|考勤汇总-迟到(次)
&emsp;surfingMobileTimes|Integer|考勤汇总-上网耍手机(次)
&emsp;overtimeTimes|Integer|考勤汇总-溜班(次)
&emsp;vacancy|BigDecimal|考勤汇总-空岗
&emsp;nonStandardDressTimes|Integer|考勤汇总-未规范着装(次)
&emsp;unexcusedMeetingAbsence|BigDecimal|考勤汇总-无故缺席会议
&emsp;earlyLeaveMeeting|BigDecimal|考勤汇总-会议早退
&emsp;year|Integer|年
&emsp;month|Integer|月
&emsp;day|Integer|日
&emsp;remark|String|备注
&emsp;createUserId|Long|创建用户
&emsp;createTime|Date|创建时间
&emsp;updateUserId|Long|更新用户
&emsp;updateTime|Date|更新时间
dict|object|字典对象
**响应消息样例:**
```
{
"code": 1,
"data": {
"id":160,
"windowCategory":"4e12cl",
"staffId":6937,
"staffName":"ckr0rm",
"deptId":3842,
"deptName":"f95mov",
"backToUnit":0.78,
"onDutyLeave":0.09,
"outOfOffice":0.6,
"shiftCompensation":0.64,
"physicalExamination":0.97,
"quarantine":0.75,
"businessTrip":0.58,
"publicHoliday":0.35,
"sickLeave":0.63,
"funeralLeave":0.92,
"marriageLeave":0.8,
"childRearingLeave":0.77,
"maternityLeave":0.97,
"transferBack":0.73,
"homeLeave":0.12,
"personalLeave":0.77,
"absenteeismDays":0.28,
"otherDays":0.59,
"attendanceRate":0.25,
"nonCompliancePunch":0.9,
"lateTimes":5220,
"surfingMobileTimes":8504,
"overtimeTimes":3213,
"vacancy":0.02,
"nonStandardDressTimes":8756,
"unexcusedMeetingAbsence":0.88,
"earlyLeaveMeeting":0.5,
"year":7886,
"month":3756,
"day":3700,
"remark":"8kv13b",
"createUserId":5717,
"createTime":"2023-04-08",
"updateUserId":3214,
"updateTime":"2023-04-08"
}
}
```
### 保存更新考勤汇总信息
**请求URL:** attendance/stat/save
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 保存或更新考勤汇总信息:id为空时为新增保存,否则为更新提交
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:-------
windowCategory|String|是|窗口类别
staffId|Long|否|员工ID
staffName|String|是|员工姓名
deptId|Long|否|所属部门
deptName|String|否|所属部门名称
backToUnit|BigDecimal|是|回单位(天)
onDutyLeave|BigDecimal|是|因公请假(天)
outOfOffice|BigDecimal|是|外出勘验(天)
shiftCompensation|BigDecimal|是|值班补班(天)
physicalExamination|BigDecimal|是|体检(天)
quarantine|BigDecimal|是|隔离(天)
businessTrip|BigDecimal|是|因公外出(与窗口工作无关/天)
publicHoliday|BigDecimal|是|公休(天)
sickLeave|BigDecimal|是|病假(天)
funeralLeave|BigDecimal|是|丧假(天)
marriageLeave|BigDecimal|是|婚假(天)
childRearingLeave|BigDecimal|是|育儿假(天)
maternityLeave|BigDecimal|是|产假(陪护假/天)
transferBack|BigDecimal|是|调回单位(或离职/天)
homeLeave|BigDecimal|是|探亲假(天)
personalLeave|BigDecimal|是|事假(天)
absenteeismDays|BigDecimal|是|考勤汇总-旷工(天)
otherDays|BigDecimal|是|考勤汇总-其他(天)
attendanceRate|BigDecimal|是|考勤汇总-出勤率(%)
nonCompliancePunch|BigDecimal|是|考勤汇总-未按规定打卡(含忘记打卡)
lateTimes|Integer|是|考勤汇总-迟到(次)
surfingMobileTimes|Integer|是|考勤汇总-上网耍手机(次)
overtimeTimes|Integer|是|考勤汇总-溜班(次)
vacancy|BigDecimal|是|考勤汇总-空岗
nonStandardDressTimes|Integer|是|考勤汇总-未规范着装(次)
unexcusedMeetingAbsence|BigDecimal|是|考勤汇总-无故缺席会议
earlyLeaveMeeting|BigDecimal|是|考勤汇总-会议早退
year|Integer|是|年
month|Integer|是|月
day|Integer|是|日
remark|String|否|备注
**请求样例:**
```
{
"windowCategory":"od782i",
"staffId":3375,
"staffName":"nv22rq",
"deptId":5395,
"deptName":"fwuts1",
"backToUnit":0.53,
"onDutyLeave":0.68,
"outOfOffice":0.46,
"shiftCompensation":0.36,
"physicalExamination":0.23,
"quarantine":0.6,
"businessTrip":0.26,
"publicHoliday":0.11,
"sickLeave":0.09,
"funeralLeave":0.27,
"marriageLeave":0.36,
"childRearingLeave":0.94,
"maternityLeave":0.61,
"transferBack":0.26,
"homeLeave":0.95,
"personalLeave":0.9,
"absenteeismDays":0.5,
"otherDays":0.64,
"attendanceRate":0.56,
"nonCompliancePunch":0.73,
"lateTimes":355,
"surfingMobileTimes":75,
"overtimeTimes":6048,
"vacancy":0.8,
"nonStandardDressTimes":3208,
"unexcusedMeetingAbsence":0.8,
"earlyLeaveMeeting":0.91,
"year":7045,
"month":9457,
"day":458,
"remark":"mq79tb",
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;id|Long|保存后主键id
&emsp;entity|object|保存更新实体
&emsp;&emsp;id|Long|序号,主键,自增长
&emsp;&emsp;windowCategory|String|窗口类别
&emsp;&emsp;staffId|Long|员工ID
&emsp;&emsp;staffName|String|员工姓名
&emsp;&emsp;deptId|Long|所属部门
&emsp;&emsp;deptName|String|所属部门名称
&emsp;&emsp;backToUnit|BigDecimal|回单位(天)
&emsp;&emsp;onDutyLeave|BigDecimal|因公请假(天)
&emsp;&emsp;outOfOffice|BigDecimal|外出勘验(天)
&emsp;&emsp;shiftCompensation|BigDecimal|值班补班(天)
&emsp;&emsp;physicalExamination|BigDecimal|体检(天)
&emsp;&emsp;quarantine|BigDecimal|隔离(天)
&emsp;&emsp;businessTrip|BigDecimal|因公外出(与窗口工作无关/天)
&emsp;&emsp;publicHoliday|BigDecimal|公休(天)
&emsp;&emsp;sickLeave|BigDecimal|病假(天)
&emsp;&emsp;funeralLeave|BigDecimal|丧假(天)
&emsp;&emsp;marriageLeave|BigDecimal|婚假(天)
&emsp;&emsp;childRearingLeave|BigDecimal|育儿假(天)
&emsp;&emsp;maternityLeave|BigDecimal|产假(陪护假/天)
&emsp;&emsp;transferBack|BigDecimal|调回单位(或离职/天)
&emsp;&emsp;homeLeave|BigDecimal|探亲假(天)
&emsp;&emsp;personalLeave|BigDecimal|事假(天)
&emsp;&emsp;absenteeismDays|BigDecimal|考勤汇总-旷工(天)
&emsp;&emsp;otherDays|BigDecimal|考勤汇总-其他(天)
&emsp;&emsp;attendanceRate|BigDecimal|考勤汇总-出勤率(%)
&emsp;&emsp;nonCompliancePunch|BigDecimal|考勤汇总-未按规定打卡(含忘记打卡)
&emsp;&emsp;lateTimes|Integer|考勤汇总-迟到(次)
&emsp;&emsp;surfingMobileTimes|Integer|考勤汇总-上网耍手机(次)
&emsp;&emsp;overtimeTimes|Integer|考勤汇总-溜班(次)
&emsp;&emsp;vacancy|BigDecimal|考勤汇总-空岗
&emsp;&emsp;nonStandardDressTimes|Integer|考勤汇总-未规范着装(次)
&emsp;&emsp;unexcusedMeetingAbsence|BigDecimal|考勤汇总-无故缺席会议
&emsp;&emsp;earlyLeaveMeeting|BigDecimal|考勤汇总-会议早退
&emsp;&emsp;year|Integer|年
&emsp;&emsp;month|Integer|月
&emsp;&emsp;day|Integer|日
&emsp;&emsp;remark|String|备注
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateUserId|Long|更新用户
&emsp;&emsp;updateTime|Date|更新时间
**响应消息样例:**
```
{
"msg":"新增模块成功",
"code":1,
"data":{}
}
}
```
### 删除考勤汇总信息
**请求URL:** attendance/stat/delete
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 删除考勤汇总信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|String|是|数组
**请求样例:**
```
http://localhost:8080/attendance/stat/delete?id=1&id=2'
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
**响应消息样例:**
```
{
"code":1,
"msg":"成功"
}
```
## 考勤打卡记录异常信息
### 查询考勤打卡记录异常信息列表
**请求URL:** attendance/record/error/list
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 查询考勤打卡记录异常信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
staffName|String|否|员工姓名,字段前后添加%%模糊查询
deptId|Long|否|所属部门
errorStatus|Integer|否|异常状态(0.缺卡,1.早退,2.缺卡)
processStatus|Integer|否|处理状态(0.未处理,1.已处理)
**请求样例:**
```
{
"staffName":"t1cr0z",
"deptId":4950,
"errorStatus":7929,
"processStatus":6637,
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;per_page|Integer|每页条数
&emsp;total|Integer|总条数
&emsp;last_page|Integer|总页数
&emsp;current_page|Integer|当前页
&emsp;data|array|结果集列表|数组
&emsp;&emsp;id|Long|序号,主键,自增长
&emsp;&emsp;staffId|Long|员工ID
&emsp;&emsp;staffName|String|员工姓名
&emsp;&emsp;workNum|String|工号
&emsp;&emsp;deptId|Long|所属部门
&emsp;&emsp;deptName|String|所属部门名称
&emsp;&emsp;positionId|Long|职位ID
&emsp;&emsp;positionName|String|职位名称
&emsp;&emsp;attendanceGroupId|Long|所属考勤组ID
&emsp;&emsp;attendanceGroupName|String|所属考勤组名称
&emsp;&emsp;shiftsId|Long|班次ID
&emsp;&emsp;shiftsName|String|班次名称
&emsp;&emsp;goOffDateTime|Date|上下班时间
&emsp;&emsp;errorDateTime|Date|异常时间
&emsp;&emsp;actualAttendanceDateTime|Date|实际打卡时间
&emsp;&emsp;operDateTime|Date|处理时间
&emsp;&emsp;opertor|String|处理人
&emsp;&emsp;errorStatus|Integer|异常状态(0.缺卡,1.早退,2.缺卡)
&emsp;&emsp;processStatus|Integer|处理状态(0.未处理,1.已处理)
&emsp;&emsp;processResult|String|处理结果
&emsp;&emsp;remark|String|备注
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateUserId|Long|更新用户
&emsp;&emsp;updateTime|Date|更新时间
dict|object|字典对象
&emsp;errorStatus|object|字典属性对象,详见附录
&emsp;processStatus|object|字典属性对象,详见附录
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
### 查看考勤打卡记录异常信息
**请求URL:** attendance/record/error/info
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 查看考勤打卡记录异常信息,返回实例详细信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID
**请求样例:**
```
http://localhost/attendance/record/error/info?id=549
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;id|Long|序号,主键,自增长
&emsp;staffId|Long|员工ID
&emsp;staffName|String|员工姓名
&emsp;workNum|String|工号
&emsp;deptId|Long|所属部门
&emsp;deptName|String|所属部门名称
&emsp;positionId|Long|职位ID
&emsp;positionName|String|职位名称
&emsp;attendanceGroupId|Long|所属考勤组ID
&emsp;attendanceGroupName|String|所属考勤组名称
&emsp;shiftsId|Long|班次ID
&emsp;shiftsName|String|班次名称
&emsp;goOffDateTime|Date|上下班时间
&emsp;errorDateTime|Date|异常时间
&emsp;actualAttendanceDateTime|Date|实际打卡时间
&emsp;operDateTime|Date|处理时间
&emsp;opertor|String|处理人
&emsp;errorStatus|Integer|异常状态(0.缺卡,1.早退,2.缺卡)
&emsp;processStatus|Integer|处理状态(0.未处理,1.已处理)
&emsp;processResult|String|处理结果
&emsp;remark|String|备注
&emsp;createUserId|Long|创建用户
&emsp;createTime|Date|创建时间
&emsp;updateUserId|Long|更新用户
&emsp;updateTime|Date|更新时间
dict|object|字典对象
&emsp;errorStatus|object|字典属性对象,详见附录
&emsp;processStatus|object|字典属性对象,详见附录
**响应消息样例:**
```
{
"code": 1,
"data": {
"id":3500,
"staffId":4361,
"staffName":"vd4fbr",
"workNum":"o577jh",
"deptId":7275,
"deptName":"scav9h",
"positionId":5256,
"positionName":"9619oa",
"attendanceGroupId":9148,
"attendanceGroupName":"jtphzm",
"shiftsId":4528,
"shiftsName":"o3j1xn",
"goOffDateTime":"2023-04-08",
"errorDateTime":"2023-04-08",
"actualAttendanceDateTime":"2023-04-08",
"operDateTime":"2023-04-08",
"opertor":"6tn9vd",
"errorStatus":490,
"processStatus":7206,
"processResult":"zp3n5e",
"remark":"qy9s4j",
"createUserId":3246,
"createTime":"2023-04-08",
"updateUserId":214,
"updateTime":"2023-04-08"
}
}
```
### 保存更新考勤打卡记录异常信息
**请求URL:** attendance/record/error/save
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 保存或更新考勤打卡记录异常信息:id为空时为新增保存,否则为更新提交
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:-------
staffId|Long|否|员工ID
staffName|String|是|员工姓名
workNum|String|否|工号
deptId|Long|否|所属部门
deptName|String|否|所属部门名称
positionId|Long|否|职位ID
positionName|String|否|职位名称
attendanceGroupId|Long|否|所属考勤组ID
attendanceGroupName|String|否|所属考勤组名称
shiftsId|Long|否|班次ID
shiftsName|String|否|班次名称
goOffDateTime|Date|否|上下班时间
errorDateTime|Date|否|异常时间
actualAttendanceDateTime|Date|否|实际打卡时间
operDateTime|Date|否|处理时间
opertor|String|否|处理人
errorStatus|Integer|否|异常状态(0.缺卡,1.早退,2.缺卡)
processStatus|Integer|否|处理状态(0.未处理,1.已处理)
processResult|String|否|处理结果
remark|String|否|备注
**请求样例:**
```
{
"staffId":998,
"staffName":"4jouo9",
"workNum":"vhbg0u",
"deptId":4897,
"deptName":"3i79xu",
"positionId":8983,
"positionName":"gal92c",
"attendanceGroupId":6541,
"attendanceGroupName":"sw45ff",
"shiftsId":1271,
"shiftsName":"t8bwqr",
"goOffDateTime":"2023-04-08",
"errorDateTime":"2023-04-08",
"actualAttendanceDateTime":"2023-04-08",
"operDateTime":"2023-04-08",
"opertor":"0xzh36",
"errorStatus":5966,
"processStatus":6283,
"processResult":"99r5hw",
"remark":"wczqd8",
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;id|Long|保存后主键id
&emsp;entity|object|保存更新实体
&emsp;&emsp;id|Long|序号,主键,自增长
&emsp;&emsp;staffId|Long|员工ID
&emsp;&emsp;staffName|String|员工姓名
&emsp;&emsp;workNum|String|工号
&emsp;&emsp;deptId|Long|所属部门
&emsp;&emsp;deptName|String|所属部门名称
&emsp;&emsp;positionId|Long|职位ID
&emsp;&emsp;positionName|String|职位名称
&emsp;&emsp;attendanceGroupId|Long|所属考勤组ID
&emsp;&emsp;attendanceGroupName|String|所属考勤组名称
&emsp;&emsp;shiftsId|Long|班次ID
&emsp;&emsp;shiftsName|String|班次名称
&emsp;&emsp;goOffDateTime|Date|上下班时间
&emsp;&emsp;errorDateTime|Date|异常时间
&emsp;&emsp;actualAttendanceDateTime|Date|实际打卡时间
&emsp;&emsp;operDateTime|Date|处理时间
&emsp;&emsp;opertor|String|处理人
&emsp;&emsp;errorStatus|Integer|异常状态(0.缺卡,1.早退,2.缺卡)
&emsp;&emsp;processStatus|Integer|处理状态(0.未处理,1.已处理)
&emsp;&emsp;processResult|String|处理结果
&emsp;&emsp;remark|String|备注
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateUserId|Long|更新用户
&emsp;&emsp;updateTime|Date|更新时间
**响应消息样例:**
```
{
"msg":"新增模块成功",
"code":1,
"data":{}
}
}
```
### 删除考勤打卡记录异常信息
**请求URL:** attendance/record/error/delete
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 删除考勤打卡记录异常信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|String|是|数组
**请求样例:**
```
http://localhost:8080/attendance/record/error/delete?id=1&id=2'
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
**响应消息样例:**
```
{
"code":1,
"msg":"成功"
}
```
## 海康考勤打卡记录汇总信息
### 查询海康考勤打卡记录汇总信息列表
**请求URL:** attendance/record/hik/list
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 查询海康考勤打卡记录汇总信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
staffName|String|否|员工姓名,字段前后添加%%模糊查询
deptId|Long|否|所属部门
attendanceGroupId|Long|否|所属考勤组ID
shiftsId|Long|否|班次ID
**请求样例:**
```
{
"staffName":"zig9ae",
"deptId":412,
"attendanceGroupId":6339,
"shiftsId":1790,
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;per_page|Integer|每页条数
&emsp;total|Integer|总条数
&emsp;last_page|Integer|总页数
&emsp;current_page|Integer|当前页
&emsp;data|array|结果集列表|数组
&emsp;&emsp;id|Long|序号,主键,自增长
&emsp;&emsp;staffId|Long|员工ID
&emsp;&emsp;staffName|String|员工姓名
&emsp;&emsp;workNum|String|工号
&emsp;&emsp;deptId|Long|所属部门
&emsp;&emsp;deptName|String|所属部门名称
&emsp;&emsp;positionId|Long|职位ID
&emsp;&emsp;positionName|String|职位名称
&emsp;&emsp;attendanceGroupId|Long|所属考勤组ID
&emsp;&emsp;attendanceGroupName|String|所属考勤组名称
&emsp;&emsp;shiftsId|Long|班次ID
&emsp;&emsp;shiftsName|String|班次名称
&emsp;&emsp;attendanceDate|Date|考勤日期
&emsp;&emsp;attendanceAddress|String|考勤点名称
&emsp;&emsp;eventSource|String|事件源
&emsp;&emsp;remark|String|备注
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateUserId|Long|更新用户
&emsp;&emsp;updateTime|Date|更新时间
dict|object|字典对象
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
### 查看海康考勤打卡记录汇总信息
**请求URL:** attendance/record/hik/info
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 查看海康考勤打卡记录汇总信息,返回实例详细信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID
**请求样例:**
```
http://localhost/attendance/record/hik/info?id=549
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;id|Long|序号,主键,自增长
&emsp;staffId|Long|员工ID
&emsp;staffName|String|员工姓名
&emsp;workNum|String|工号
&emsp;deptId|Long|所属部门
&emsp;deptName|String|所属部门名称
&emsp;positionId|Long|职位ID
&emsp;positionName|String|职位名称
&emsp;attendanceGroupId|Long|所属考勤组ID
&emsp;attendanceGroupName|String|所属考勤组名称
&emsp;shiftsId|Long|班次ID
&emsp;shiftsName|String|班次名称
&emsp;attendanceDate|Date|考勤日期
&emsp;attendanceAddress|String|考勤点名称
&emsp;eventSource|String|事件源
&emsp;remark|String|备注
&emsp;createUserId|Long|创建用户
&emsp;createTime|Date|创建时间
&emsp;updateUserId|Long|更新用户
&emsp;updateTime|Date|更新时间
dict|object|字典对象
**响应消息样例:**
```
{
"code": 1,
"data": {
"id":597,
"staffId":3169,
"staffName":"cfkwyu",
"workNum":"tdty1t",
"deptId":2394,
"deptName":"iwzhrc",
"positionId":7880,
"positionName":"ifcccb",
"attendanceGroupId":8737,
"attendanceGroupName":"ct6sv9",
"shiftsId":3044,
"shiftsName":"y9lgj5",
"attendanceDate":"2023-04-08",
"attendanceAddress":"pooii8",
"eventSource":"ilbgz6",
"remark":"ed9xql",
"createUserId":800,
"createTime":"2023-04-08",
"updateUserId":7890,
"updateTime":"2023-04-08"
}
}
```
### 保存更新海康考勤打卡记录汇总信息
**请求URL:** attendance/record/hik/save
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 保存或更新海康考勤打卡记录汇总信息:id为空时为新增保存,否则为更新提交
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:-------
staffId|Long|否|员工ID
staffName|String|是|员工姓名
workNum|String|否|工号
deptId|Long|否|所属部门
deptName|String|否|所属部门名称
positionId|Long|否|职位ID
positionName|String|否|职位名称
attendanceGroupId|Long|否|所属考勤组ID
attendanceGroupName|String|否|所属考勤组名称
shiftsId|Long|否|班次ID
shiftsName|String|否|班次名称
attendanceDate|Date|否|考勤日期
attendanceAddress|String|否|考勤点名称
eventSource|String|否|事件源
remark|String|否|备注
**请求样例:**
```
{
"staffId":1187,
"staffName":"q9t0lp",
"workNum":"undy31",
"deptId":9605,
"deptName":"dot30l",
"positionId":4459,
"positionName":"4ootpt",
"attendanceGroupId":7339,
"attendanceGroupName":"610ybo",
"shiftsId":8548,
"shiftsName":"ckbb26",
"attendanceDate":"2023-04-08",
"attendanceAddress":"xbvea3",
"eventSource":"tvsvg8",
"remark":"w804d5",
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
&emsp;id|Long|保存后主键id
&emsp;entity|object|保存更新实体
&emsp;&emsp;id|Long|序号,主键,自增长
&emsp;&emsp;staffId|Long|员工ID
&emsp;&emsp;staffName|String|员工姓名
&emsp;&emsp;workNum|String|工号
&emsp;&emsp;deptId|Long|所属部门
&emsp;&emsp;deptName|String|所属部门名称
&emsp;&emsp;positionId|Long|职位ID
&emsp;&emsp;positionName|String|职位名称
&emsp;&emsp;attendanceGroupId|Long|所属考勤组ID
&emsp;&emsp;attendanceGroupName|String|所属考勤组名称
&emsp;&emsp;shiftsId|Long|班次ID
&emsp;&emsp;shiftsName|String|班次名称
&emsp;&emsp;attendanceDate|Date|考勤日期
&emsp;&emsp;attendanceAddress|String|考勤点名称
&emsp;&emsp;eventSource|String|事件源
&emsp;&emsp;remark|String|备注
&emsp;&emsp;createUserId|Long|创建用户
&emsp;&emsp;createTime|Date|创建时间
&emsp;&emsp;updateUserId|Long|更新用户
&emsp;&emsp;updateTime|Date|更新时间
**响应消息样例:**
```
{
"msg":"新增模块成功",
"code":1,
"data":{}
}
}
```
### 删除海康考勤打卡记录汇总信息
**请求URL:** attendance/record/hik/delete
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 删除海康考勤打卡记录汇总信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|String|是|数组
**请求样例:**
```
http://localhost:8080/attendance/record/hik/delete?id=1&id=2'
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
**响应消息样例:**
```
{
"code":1,
"msg":"成功"
}
```
## 考勤打卡记录信息
### 查询考勤打卡记录信息列表
......
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