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

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	db/menu.sql
parents 8ed1e363 fb096215
...@@ -91,6 +91,9 @@ sub { ...@@ -91,6 +91,9 @@ sub {
.mt10{ .mt10{
margin-top: 10px; margin-top: 10px;
} }
.ml10{
margin-left: 10px;
}
.ml20{ .ml20{
margin-left: 20px; margin-left: 20px;
} }
......
...@@ -210,3 +210,11 @@ export const findParentIds = (dataSource, nodeId) => { ...@@ -210,3 +210,11 @@ export const findParentIds = (dataSource, nodeId) => {
return parentIds; // 返回所有父节点ID的数组 return parentIds; // 返回所有父节点ID的数组
} }
// 格式化
export const booleanToNum = (val) => {
if(val){
return 1
}else{
return 0
}
}
\ No newline at end of file
...@@ -17,3 +17,26 @@ export const timestampToTime = (timestamp) => { ...@@ -17,3 +17,26 @@ export const timestampToTime = (timestamp) => {
var s = date.getSeconds(); var s = date.getSeconds();
return Y + M + D; return Y + M + D;
} }
// 小时:分钟 ==》 转分钟
export const transFormMinut = (String) => {
if(typeof(String) === 'number'){
return
}
if(!String){
return 0
}
let arr = String.split(':')
let hour = arr[0].indexOf('0') === 0? arr[0].substring(1,arr[0].length):arr[0]
let minu = arr[1].indexOf('0') === 0? arr[1].substring(1,arr[1].length):arr[1]
return hour*60 + minu*1
}
// // 分钟 ==》 小时
export const transFormTime = (num) => {
if (typeof(num) != 'string' && num !== 0) {
return (Math.floor(num / 60)).toString() + ":" + (num % 60).toString()
}
else {
return "0:00";
}
}
\ No newline at end of file
...@@ -53,15 +53,15 @@ ...@@ -53,15 +53,15 @@
return { return {
/** 子表列元素 */ /** 子表列元素 */
columnSet:[ columnSet:[
{prop:"goWorkDate",label:"上班打卡时间",width:100}, {prop:"goWorkDate",label:"上班打卡时间",width:150},
{prop:"goWorkDateBefore",label:"上班打卡前时间段,单位分钟",width:100}, {prop:"goWorkDateBefore",label:"上班前打卡(分钟)",width:150},
{prop:"goWorkDateAfter",label:"上班打卡前时间段,单位分钟",width:100}, {prop:"goWorkDateAfter",label:"上班后打卡(分钟)",width:150},
{prop:"offWorkDate",label:"下班打卡时间",width:100}, {prop:"offWorkDate",label:"下班打卡时间",width:150},
{prop:"offWorkDateBefore",label:"下班打卡前时间段,单位分钟",width:100}, {prop:"offWorkDateBefore",label:"下班前打卡(分钟)",width:150},
{prop:"offWorkDateAfter",label:"下班打卡前时间段,单位分钟",width:100}, {prop:"offWorkDateAfter",label:"下班后打卡(分钟)",width:150},
{prop:"remark",label:"备注",width:100}, // {prop:"remark",label:"备注",width:150},
{prop:"classId",label:"班次ID",width:100}, // {prop:"classId",label:"班次ID",width:150},
{prop:"className",label:"班次名称",width:100} ], ],
config: { config: {
search: [ search: [
{ {
...@@ -75,11 +75,10 @@ ...@@ -75,11 +75,10 @@
columns: [ columns: [
{type: "selection", width: 60}, {type: "selection", width: 60},
{type: "index",label: "序号",width: 50}, {type: "index",label: "序号",width: 50},
{label: "班次名称", prop: "className"}, {label: "班次名称", prop: "className"},
// {label: "考勤时间", prop: "className"}, // {label: "考勤时间", prop: "className"},
{label: "考勤班次详细信息", {label: "考勤班次详细信息",
width: 120, width: 200,
prop: "subColumns", prop: "subColumns",
formatter: (row) => { formatter: (row) => {
let widthsize = this.columnSet.reduce((pre, cur) => { let widthsize = this.columnSet.reduce((pre, cur) => {
......
<template>
<div class="mt20" v-if="isshow">
<el-table :data="classArr" border highlight-current-row ref="table"
@row-click="(row, column, event) => $rowClick(row,column, event, 'table')"
>
<el-table-column label="班次名称" prop="className" width="300px"></el-table-column>
<el-table-column label="考勤时间" prop="" fixed="right">
<template slot-scope="scope">
<div>
<el-tag class="ml10" v-for="(item,index) in scope.row.attendanceClassDetailList" :key="index">
{{item.goWorkDate}} ~ {{item.offWorkDate}}
</el-tag>
</div>
</template>
</el-table-column>
</el-table>
<div class="mt20">
<el-button type="primary" size="mini" @click="saveRowBanci">确定</el-button>
<el-button type="" size="mini" @click="cancelBanci">取消</el-button>
</div>
</div>
</template>
<script>
export default {
props:{
classArr:{
type:Array,
default:[]
},
currentArr:{
type:Object,
default:{}
},
isshow:{
type:Boolean,
default:false
}
},
watch:{
isshow:{
handler(newval){
if(newval){
this.selected = this.currentArr
this.$nextTick(() => {
let index = this.classArr.findIndex(item => item.id == this.selected.id)
this.$refs['table'].setCurrentRow(this.classArr[index],true)
})
}
}
}
},
data(){
return{
selected:{}
}
},
methods:{
saveRowBanci(){
this.$emit('saveRowBanci',this.selected)
},
cancelBanci(){
this.$emit('cancelBanci',null)
},
// 表格切换高亮点击
$rowClick (row, column, ev, ref) {
this.selected = row
const $table = this.$refs[ref]
// 因为不知道表格中包裹了多少层元素,所以需要通过查询点击元素的所有父级元素找到符合条件的类名进行判断
const haveHeightLight = [...ev.path].some(el => {
if (el.classList) return [...el.classList].indexOf('el-table__row') !== -1 && [...el.classList].indexOf('current-row') !== -1
})
try {
$table[0].setCurrentRow(haveHeightLight ? '' : row)
} catch (e) {
$table.setCurrentRow(haveHeightLight ? '' : row)
}
},
}
}
</script>
<style>
</style>
\ No newline at end of file
<template>
<table class="table mt10">
<th class="heads flex flex-align-center flex-pack-justify">
<td class="selectTions">
<el-checkbox v-model="selectAll" @change="allhandler"></el-checkbox>
</td>
<td class="t1">工作日</td>
<td class="t2">班次时间段</td>
<td class="t1">操作</td>
</th>
<tr class="flex flex-align-center flex-pack-justify">
<td class="selectTions">
<el-checkbox :true-label="1" :false-label="0" v-model="setParams.monday" @change="judgeAll"></el-checkbox>
</td>
<td class="t1">周一</td>
<td class="t2">
<span>{{setParams.mondayClassId?setParams.mondayClassName:'未设置'}}</span>
<el-tag v-for="(item,index) in setParams.mondayClassTime.attendanceClassDetailList" :key="index" class="ml10">
{{item.goWorkDate}}~{{item.offWorkDate}}</el-tag>
</td>
<td class="t1">
<el-button type="text" @click="changebanci('monday')">更改班次</el-button>
</td>
</tr>
<tr class="flex flex-align-center flex-pack-justify">
<td class="selectTions">
<el-checkbox :true-label="1" :false-label="0" v-model="setParams.tuesday" @change="judgeAll"></el-checkbox>
</td>
<td class="t1">周二</td>
<td class="t2">
{{setParams.tuesdayClassId?setParams.tuesdayClassName:'未设置'}}
<el-tag class="ml10" v-for="(item,index) in setParams.tuesdayClassTime.attendanceClassDetailList" :key="index">{{item.goWorkDate}}~{{item.offWorkDate}}</el-tag>
</td>
<td class="t1">
<el-button type="text" @click="changebanci('tuesday')">更改班次</el-button>
</td>
</tr>
<tr class="flex flex-align-center flex-pack-justify">
<td class="selectTions">
<el-checkbox :true-label="1" :false-label="0" v-model="setParams.wednesday" @change="judgeAll"></el-checkbox>
</td>
<td class="t1">周三</td>
<td class="t2">
{{setParams.wednesdayClassId?setParams.wednesdayClassName:'未设置'}}
<el-tag class="ml10" v-for="(item,index) in setParams.wednesdayClassTime.attendanceClassDetailList" :key="index">{{item.goWorkDate}}~{{item.offWorkDate}}</el-tag>
</td>
<td class="t1">
<el-button type="text" @click="changebanci('wednesday')">更改班次</el-button>
</td>
</tr>
<tr class="flex flex-align-center flex-pack-justify">
<td class="selectTions">
<el-checkbox :true-label="1" :false-label="0" v-model="setParams.thursday" @change="judgeAll"></el-checkbox>
</td>
<td class="t1">周四</td>
<td class="t2">
{{setParams.thursdayClassId?setParams.thursdayClassName:'未设置'}}
<el-tag class="ml10" v-for="(item,index) in setParams.thursdayClassTime.attendanceClassDetailList" :key="index">{{item.goWorkDate}}~{{item.offWorkDate}}</el-tag>
</td>
<td class="t1">
<el-button type="text" @click="changebanci('thursday')">更改班次</el-button>
</td>
</tr>
<tr class="flex flex-align-center flex-pack-justify">
<td class="selectTions">
<el-checkbox :true-label="1" :false-label="0" v-model="setParams.friday" @change="judgeAll"></el-checkbox>
</td>
<td class="t1">周五</td>
<td class="t2">
{{setParams.fridayClassId?setParams.fridayClassName:'未设置'}}
<el-tag class="ml10" v-for="(item,index) in setParams.fridayClassTime.attendanceClassDetailList" :key="index">{{item.goWorkDate}}~{{item.offWorkDate}}</el-tag>
</td>
<td class="t1">
<el-button type="text" @click="changebanci('friday')">更改班次</el-button>
</td>
</tr>
<tr class="flex flex-align-center flex-pack-justify">
<td class="selectTions">
<el-checkbox :true-label="1" :false-label="0" v-model="setParams.saturday" @change="judgeAll"></el-checkbox>
</td>
<td class="t1">周六</td>
<td class="t2">
{{setParams.saturdayClassId?setParams.saturdayClassName:'休息'}}
<el-tag class="ml10" v-for="(item,index) in setParams.saturdayClassTime.attendanceClassDetailList" :key="index">{{item.goWorkDate}}~{{item.offWorkDate}}</el-tag>
</td>
<td class="t1">
<el-button type="text" @click="changebanci('saturday')">更改班次</el-button>
</td>
</tr>
<tr class="flex flex-align-center flex-pack-justify">
<td class="selectTions">
<el-checkbox :true-label="1" :false-label="0" v-model="setParams.sunday" @change="judgeAll"></el-checkbox>
</td>
<td class="t1">周日</td>
<td class="t2">
{{setParams.sundayClassId?setParams.sundayClassName:'休息'}}
<el-tag class="ml10" v-for="(item,index) in setParams.sundayClassTime.attendanceClassDetailList" :key="index">{{item.goWorkDate}}~{{item.offWorkDate}}</el-tag>
</td>
<td class="t1">
<el-button type="text" @click="changebanci('sunday')">更改班次</el-button>
</td>
</tr>
</table>
</template>
<script>
export default {
props:{
setParams:{
type:Object,
default:{}
}
},
data(){
return{
selectAll:false
}
},
mounted(){
// 判断全选
this.judgeAll()
},
methods:{
changebanci(from){
this.$emit('changebanci',from)
},
allhandler(){
if(this.selectAll){
this.setParams.monday = true
this.setParams.tuesday = true
this.setParams.wednesday = true
this.setParams.thursday = true
this.setParams.friday = true
this.setParams.saturday = true
this.setParams.sunday = true
}else{
this.setParams.monday = false
this.setParams.tuesday = false
this.setParams.wednesday = false
this.setParams.thursday = false
this.setParams.friday = false
this.setParams.saturday = false
this.setParams.sunday = false
}
},
judgeAll(){
if(!this.setParams.monday){
this.selectAll = false
return
}
if(!this.setParams.tuesday){
this.selectAll = false
return
}
if(!this.setParams.wednesday){
this.selectAll = false
return
}
if(!this.setParams.thursday){
this.selectAll = false
return
}
if(!this.setParams.friday){
this.selectAll = false
return
}
if(!this.setParams.saturday){
this.selectAll = false
return
}
if(!this.setParams.sunday){
this.selectAll = false
return
}
this.selectAll = true
}
}
}
</script>
<style lang="scss" scoped>
.table{
width: 90%;
.selectTions{
margin-right: 10px;
}
.heads{
background-color: #cae4fd;
height: 50px;
line-height: 50px;
padding: 0 20px;
}
tr{
height: 50px;
line-height: 50px;
padding: 0 20px;
}
.t1{
flex: 1
}
.t2{
flex: 2;
color:gray;
}
}
</style>
\ No newline at end of file
...@@ -6,6 +6,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; ...@@ -6,6 +6,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ImportResource; import org.springframework.context.annotation.ImportResource;
@EnableFeignClients @EnableFeignClients
@SpringBootApplication(scanBasePackages = {"com.mortals"}) @SpringBootApplication(scanBasePackages = {"com.mortals"})
@ServletComponentScan("com.mortals") @ServletComponentScan("com.mortals")
...@@ -17,10 +18,12 @@ public class ManagerApplication extends BaseWebApplication { ...@@ -17,10 +18,12 @@ public class ManagerApplication extends BaseWebApplication {
// return new LocalCacheServiceImpl(); // return new LocalCacheServiceImpl();
// } // }
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(ManagerApplication.class, args); SpringApplication.run(ManagerApplication.class, args);
System.out.println(123465); System.out.println("考勤管理项目启动!!!!!!!!!!!!!");
}
}
} }
...@@ -2,7 +2,7 @@ package com.mortals.xhx.module.attendance.dao; ...@@ -2,7 +2,7 @@ package com.mortals.xhx.module.attendance.dao;
import com.mortals.framework.dao.ICRUDDao; import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.attendance.model.AttendanceStatEntity; import com.mortals.xhx.module.attendance.model.AttendanceStatEntity;
import java.util.List;
/** /**
* 考勤汇总信息Dao * 考勤汇总信息Dao
* 考勤汇总信息 DAO接口 * 考勤汇总信息 DAO接口
...@@ -12,6 +12,9 @@ import java.util.List; ...@@ -12,6 +12,9 @@ import java.util.List;
*/ */
public interface AttendanceStatDao extends ICRUDDao<AttendanceStatEntity,Long>{ public interface AttendanceStatDao extends ICRUDDao<AttendanceStatEntity,Long>{
/**
* 通过员工id查询
* */
AttendanceStatEntity queryEntity(Long staffId);
} }
...@@ -2,7 +2,6 @@ package com.mortals.xhx.module.attendance.dao; ...@@ -2,7 +2,6 @@ package com.mortals.xhx.module.attendance.dao;
import com.mortals.framework.dao.ICRUDDao; import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.attendance.model.AttendanceVacationBalanceEntity; import com.mortals.xhx.module.attendance.model.AttendanceVacationBalanceEntity;
import java.util.List;
/** /**
* 员工假期余额信息Dao * 员工假期余额信息Dao
* 员工假期余额信息 DAO接口 * 员工假期余额信息 DAO接口
...@@ -13,5 +12,8 @@ import java.util.List; ...@@ -13,5 +12,8 @@ import java.util.List;
public interface AttendanceVacationBalanceDao extends ICRUDDao<AttendanceVacationBalanceEntity,Long>{ public interface AttendanceVacationBalanceDao extends ICRUDDao<AttendanceVacationBalanceEntity,Long>{
/**
* 通过员工id查询
* */
AttendanceVacationBalanceEntity queryEntity(Long staffId);
} }
package com.mortals.xhx.module.attendance.dao.ibatis; package com.mortals.xhx.module.attendance.dao.ibatis;
import org.springframework.stereotype.Repository; import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import com.mortals.xhx.module.attendance.dao.AttendanceStatDao; import com.mortals.xhx.module.attendance.dao.AttendanceStatDao;
import com.mortals.xhx.module.attendance.model.AttendanceStatEntity; import com.mortals.xhx.module.attendance.model.AttendanceStatEntity;
import java.util.Date; import org.springframework.stereotype.Repository;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/** /**
* 考勤汇总信息DaoImpl DAO接口 * 考勤汇总信息DaoImpl DAO接口
* *
...@@ -17,5 +15,8 @@ import java.util.List; ...@@ -17,5 +15,8 @@ import java.util.List;
public class AttendanceStatDaoImpl extends BaseCRUDDaoMybatis<AttendanceStatEntity,Long> implements AttendanceStatDao { public class AttendanceStatDaoImpl extends BaseCRUDDaoMybatis<AttendanceStatEntity,Long> implements AttendanceStatDao {
@Override
public AttendanceStatEntity queryEntity(Long staffId) {
return getSqlSession().selectOne(getSqlId("queryEntity"),staffId);
}
} }
package com.mortals.xhx.module.attendance.dao.ibatis; package com.mortals.xhx.module.attendance.dao.ibatis;
import org.springframework.stereotype.Repository; import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import com.mortals.xhx.module.attendance.dao.AttendanceVacationBalanceDao; import com.mortals.xhx.module.attendance.dao.AttendanceVacationBalanceDao;
import com.mortals.xhx.module.attendance.model.AttendanceVacationBalanceEntity; import com.mortals.xhx.module.attendance.model.AttendanceVacationBalanceEntity;
import java.util.Date; import org.springframework.stereotype.Repository;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/** /**
* 员工假期余额信息DaoImpl DAO接口 * 员工假期余额信息DaoImpl DAO接口
* *
...@@ -17,5 +15,8 @@ import java.util.List; ...@@ -17,5 +15,8 @@ import java.util.List;
public class AttendanceVacationBalanceDaoImpl extends BaseCRUDDaoMybatis<AttendanceVacationBalanceEntity,Long> implements AttendanceVacationBalanceDao { public class AttendanceVacationBalanceDaoImpl extends BaseCRUDDaoMybatis<AttendanceVacationBalanceEntity,Long> implements AttendanceVacationBalanceDao {
@Override
public AttendanceVacationBalanceEntity queryEntity(Long staffId) {
return getSqlSession().selectOne(getSqlId("queryEntity"),staffId);
}
} }
...@@ -3,6 +3,8 @@ package com.mortals.xhx.module.attendance.model; ...@@ -3,6 +3,8 @@ package com.mortals.xhx.module.attendance.model;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel; import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
...@@ -28,6 +30,8 @@ public class AttendanceClassDetailEntity extends AttendanceClassDetailVo { ...@@ -28,6 +30,8 @@ public class AttendanceClassDetailEntity extends AttendanceClassDetailVo {
/** /**
* 上班打卡时间 * 上班打卡时间
*/ */
@JsonFormat(pattern = "HH:mm")
@JSONField(format = "HH:mm")
private Date goWorkDate; private Date goWorkDate;
/** /**
* 上班打卡前时间段,单位分钟 * 上班打卡前时间段,单位分钟
...@@ -40,6 +44,8 @@ public class AttendanceClassDetailEntity extends AttendanceClassDetailVo { ...@@ -40,6 +44,8 @@ public class AttendanceClassDetailEntity extends AttendanceClassDetailVo {
/** /**
* 下班打卡时间 * 下班打卡时间
*/ */
@JsonFormat(pattern = "HH:mm")
@JSONField(format = "HH:mm")
private Date offWorkDate; private Date offWorkDate;
/** /**
* 下班打卡前时间段,单位分钟 * 下班打卡前时间段,单位分钟
......
package com.mortals.xhx.module.attendance.model; 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.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.vo.AttendanceLeaveRecordVo; import com.mortals.xhx.module.attendance.model.vo.AttendanceLeaveRecordVo;
import java.util.Date;
/** /**
* 请假记录信息实体对象 * 请假记录信息实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-04-07 * @date 2023-04-14
*/ */
public class AttendanceLeaveRecordEntity extends AttendanceLeaveRecordVo { public class AttendanceLeaveRecordEntity extends AttendanceLeaveRecordVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -39,7 +36,7 @@ public class AttendanceLeaveRecordEntity extends AttendanceLeaveRecordVo { ...@@ -39,7 +36,7 @@ public class AttendanceLeaveRecordEntity extends AttendanceLeaveRecordVo {
*/ */
private String phoneNumber; private String phoneNumber;
/** /**
* 请假类型(1.事假,2.调休,3.病假,4.年假,5.产假,6.陪产假,7.婚假,8.例假,9.哺乳假,10.丧假) * 请假类型(1.事假,2.调休,3.病假,4.年假,5.产假,6.陪产假,7.婚假,8.例假,9.哺乳假,10.丧假,11.回单位,12.因公请假,13.外出勘验,14.值班补班,15.体检,16.隔离,17.因公外出,18.公休,19.育儿假,20.调回单位,21.探亲假)
*/ */
private Integer leaveType; private Integer leaveType;
/** /**
...@@ -153,14 +150,14 @@ public class AttendanceLeaveRecordEntity extends AttendanceLeaveRecordVo { ...@@ -153,14 +150,14 @@ public class AttendanceLeaveRecordEntity extends AttendanceLeaveRecordVo {
this.phoneNumber = phoneNumber; this.phoneNumber = phoneNumber;
} }
/** /**
* 获取 请假类型(1.事假,2.调休,3.病假,4.年假,5.产假,6.陪产假,7.婚假,8.例假,9.哺乳假,10.丧假) * 获取 请假类型(1.事假,2.调休,3.病假,4.年假,5.产假,6.陪产假,7.婚假,8.例假,9.哺乳假,10.丧假,11.回单位,12.因公请假,13.外出勘验,14.值班补班,15.体检,16.隔离,17.因公外出,18.公休,19.育儿假,20.调回单位,21.探亲假)
* @return Integer * @return Integer
*/ */
public Integer getLeaveType(){ public Integer getLeaveType(){
return leaveType; return leaveType;
} }
/** /**
* 设置 请假类型(1.事假,2.调休,3.病假,4.年假,5.产假,6.陪产假,7.婚假,8.例假,9.哺乳假,10.丧假) * 设置 请假类型(1.事假,2.调休,3.病假,4.年假,5.产假,6.陪产假,7.婚假,8.例假,9.哺乳假,10.丧假,11.回单位,12.因公请假,13.外出勘验,14.值班补班,15.体检,16.隔离,17.因公外出,18.公休,19.育儿假,20.调回单位,21.探亲假)
* @param leaveType * @param leaveType
*/ */
public void setLeaveType(Integer leaveType){ public void setLeaveType(Integer leaveType){
......
...@@ -8,11 +8,11 @@ import com.mortals.framework.annotation.Excel; ...@@ -8,11 +8,11 @@ import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.vo.AttendanceRecordDetailVo; import com.mortals.xhx.module.attendance.model.vo.AttendanceRecordDetailVo;
/** /**
* 考勤打卡记录详细信息实体对象 * 考勤打卡记录详细信息实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-04-07 * @date 2023-04-09
*/ */
public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo { public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -49,6 +49,10 @@ public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo { ...@@ -49,6 +49,10 @@ public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo {
* 备注 * 备注
*/ */
private String remark; private String remark;
/**
* 排序字段
*/
private Integer orderNum;
...@@ -165,6 +169,20 @@ public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo { ...@@ -165,6 +169,20 @@ public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo {
public void setRemark(String remark){ public void setRemark(String remark){
this.remark = remark; this.remark = remark;
} }
/**
* 获取 排序字段
* @return Integer
*/
public Integer getOrderNum(){
return orderNum;
}
/**
* 设置 排序字段
* @param orderNum
*/
public void setOrderNum(Integer orderNum){
this.orderNum = orderNum;
}
...@@ -195,6 +213,7 @@ public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo { ...@@ -195,6 +213,7 @@ public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo {
sb.append(",offWorkDate:").append(getOffWorkDate()); sb.append(",offWorkDate:").append(getOffWorkDate());
sb.append(",offWorkResult:").append(getOffWorkResult()); sb.append(",offWorkResult:").append(getOffWorkResult());
sb.append(",remark:").append(getRemark()); sb.append(",remark:").append(getRemark());
sb.append(",orderNum:").append(getOrderNum());
return sb.toString(); return sb.toString();
} }
...@@ -215,5 +234,7 @@ public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo { ...@@ -215,5 +234,7 @@ public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo {
this.offWorkResult = null; this.offWorkResult = null;
this.remark = ""; this.remark = "";
this.orderNum = 1;
} }
} }
...@@ -4,11 +4,11 @@ import java.util.Date; ...@@ -4,11 +4,11 @@ import java.util.Date;
import java.util.List; import java.util.List;
import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity; import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
/** /**
* 考勤打卡记录详细信息查询对象 * 考勤打卡记录详细信息查询对象
* *
* @author zxfei * @author zxfei
* @date 2023-04-07 * @date 2023-04-09
*/ */
public class AttendanceRecordDetailQuery extends AttendanceRecordDetailEntity { public class AttendanceRecordDetailQuery extends AttendanceRecordDetailEntity {
/** 开始 序号,主键,自增长 */ /** 开始 序号,主键,自增长 */
private Long idStart; private Long idStart;
...@@ -149,6 +149,21 @@ public class AttendanceRecordDetailQuery extends AttendanceRecordDetailEntity { ...@@ -149,6 +149,21 @@ public class AttendanceRecordDetailQuery extends AttendanceRecordDetailEntity {
/** 结束 更新时间 */ /** 结束 更新时间 */
private String updateTimeEnd; private String updateTimeEnd;
/** 开始 排序字段 */
private Integer orderNumStart;
/** 结束 排序字段 */
private Integer orderNumEnd;
/** 增加 排序字段 */
private Integer orderNumIncrement;
/** 排序字段列表 */
private List <Integer> orderNumList;
/** 排序字段排除列表 */
private List <Integer> orderNumNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */ /** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<AttendanceRecordDetailQuery> orConditionList; private List<AttendanceRecordDetailQuery> orConditionList;
...@@ -916,6 +931,87 @@ public class AttendanceRecordDetailQuery extends AttendanceRecordDetailEntity { ...@@ -916,6 +931,87 @@ public class AttendanceRecordDetailQuery extends AttendanceRecordDetailEntity {
this.updateTimeEnd = updateTimeEnd; this.updateTimeEnd = updateTimeEnd;
} }
/**
* 获取 开始 排序字段
* @return orderNumStart
*/
public Integer getOrderNumStart(){
return this.orderNumStart;
}
/**
* 设置 开始 排序字段
* @param orderNumStart
*/
public void setOrderNumStart(Integer orderNumStart){
this.orderNumStart = orderNumStart;
}
/**
* 获取 结束 排序字段
* @return $orderNumEnd
*/
public Integer getOrderNumEnd(){
return this.orderNumEnd;
}
/**
* 设置 结束 排序字段
* @param orderNumEnd
*/
public void setOrderNumEnd(Integer orderNumEnd){
this.orderNumEnd = orderNumEnd;
}
/**
* 获取 增加 排序字段
* @return orderNumIncrement
*/
public Integer getOrderNumIncrement(){
return this.orderNumIncrement;
}
/**
* 设置 增加 排序字段
* @param orderNumIncrement
*/
public void setOrderNumIncrement(Integer orderNumIncrement){
this.orderNumIncrement = orderNumIncrement;
}
/**
* 获取 排序字段
* @return orderNumList
*/
public List<Integer> getOrderNumList(){
return this.orderNumList;
}
/**
* 设置 排序字段
* @param orderNumList
*/
public void setOrderNumList(List<Integer> orderNumList){
this.orderNumList = orderNumList;
}
/**
* 获取 排序字段
* @return orderNumNotList
*/
public List<Integer> getOrderNumNotList(){
return this.orderNumNotList;
}
/**
* 设置 排序字段
* @param orderNumNotList
*/
public void setOrderNumNotList(List<Integer> orderNumNotList){
this.orderNumNotList = orderNumNotList;
}
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param id * @param id
...@@ -1336,6 +1432,60 @@ public class AttendanceRecordDetailQuery extends AttendanceRecordDetailEntity { ...@@ -1336,6 +1432,60 @@ public class AttendanceRecordDetailQuery extends AttendanceRecordDetailEntity {
} }
/**
* 设置 排序字段
* @param orderNum
*/
public AttendanceRecordDetailQuery orderNum(Integer orderNum){
setOrderNum(orderNum);
return this;
}
/**
* 设置 开始 排序字段
* @param orderNumStart
*/
public AttendanceRecordDetailQuery orderNumStart(Integer orderNumStart){
this.orderNumStart = orderNumStart;
return this;
}
/**
* 设置 结束 排序字段
* @param orderNumEnd
*/
public AttendanceRecordDetailQuery orderNumEnd(Integer orderNumEnd){
this.orderNumEnd = orderNumEnd;
return this;
}
/**
* 设置 增加 排序字段
* @param orderNumIncrement
*/
public AttendanceRecordDetailQuery orderNumIncrement(Integer orderNumIncrement){
this.orderNumIncrement = orderNumIncrement;
return this;
}
/**
* 设置 排序字段
* @param orderNumList
*/
public AttendanceRecordDetailQuery orderNumList(List<Integer> orderNumList){
this.orderNumList = orderNumList;
return this;
}
/**
* 设置 排序字段
* @param orderNumNotList
*/
public AttendanceRecordDetailQuery orderNumNotList(List<Integer> orderNumNotList){
this.orderNumNotList = orderNumNotList;
return this;
}
/** /**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) * 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList * @return orConditionList
......
...@@ -24,7 +24,7 @@ public class AttendanceRecordHikEntity extends AttendanceRecordHikVo { ...@@ -24,7 +24,7 @@ public class AttendanceRecordHikEntity extends AttendanceRecordHikVo {
/** /**
* 员工姓名 * 员工姓名
*/ */
@Excel(name = "员工姓名") @Excel(name = "姓名")
private String staffName; private String staffName;
/** /**
* 工号 * 工号
...@@ -70,7 +70,7 @@ public class AttendanceRecordHikEntity extends AttendanceRecordHikVo { ...@@ -70,7 +70,7 @@ public class AttendanceRecordHikEntity extends AttendanceRecordHikVo {
/** /**
* 考勤日期 * 考勤日期
*/ */
@Excel(name = "考勤日期", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "考勤时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date attendanceDate; private Date attendanceDate;
/** /**
* 考勤点名称 * 考勤点名称
......
package com.mortals.xhx.module.attendance.model; 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.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.vo.AttendanceStatVo; import com.mortals.xhx.module.attendance.model.vo.AttendanceStatVo;
import java.math.BigDecimal;
/** /**
* 考勤汇总信息实体对象 * 考勤汇总信息实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-04-08 * @date 2023-04-14
*/ */
public class AttendanceStatEntity extends AttendanceStatVo { public class AttendanceStatEntity extends AttendanceStatVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -99,7 +96,7 @@ public class AttendanceStatEntity extends AttendanceStatVo { ...@@ -99,7 +96,7 @@ public class AttendanceStatEntity extends AttendanceStatVo {
@Excel(name = "育儿假") @Excel(name = "育儿假")
private BigDecimal childRearingLeave; private BigDecimal childRearingLeave;
/** /**
* 产假(陪护假/天 * 产假(天)
*/ */
@Excel(name = "产假") @Excel(name = "产假")
private BigDecimal maternityLeave; private BigDecimal maternityLeave;
...@@ -189,6 +186,31 @@ public class AttendanceStatEntity extends AttendanceStatVo { ...@@ -189,6 +186,31 @@ public class AttendanceStatEntity extends AttendanceStatVo {
* 备注 * 备注
*/ */
private String remark; private String remark;
/**
* 哺乳假(天)
*/
@Excel(name = "哺乳假")
private BigDecimal breastfeedingLeaveDays;
/**
* 例假(天)
*/
@Excel(name = "例假")
private BigDecimal menstrualLeaveDays;
/**
* 年假(天)
*/
@Excel(name = "年假")
private BigDecimal annualLeaveDays;
/**
* 调休(天)
*/
@Excel(name = "调休")
private BigDecimal compensatedLeaveDays;
/**
* 陪产假(天)
*/
@Excel(name = "陪产假")
private BigDecimal paternityLeaveDays;
...@@ -432,14 +454,14 @@ public class AttendanceStatEntity extends AttendanceStatVo { ...@@ -432,14 +454,14 @@ public class AttendanceStatEntity extends AttendanceStatVo {
this.childRearingLeave = childRearingLeave; this.childRearingLeave = childRearingLeave;
} }
/** /**
* 获取 产假(陪护假/天 * 获取 产假(天)
* @return BigDecimal * @return BigDecimal
*/ */
public BigDecimal getMaternityLeave(){ public BigDecimal getMaternityLeave(){
return maternityLeave; return maternityLeave;
} }
/** /**
* 设置 产假(陪护假/天 * 设置 产假(天)
* @param maternityLeave * @param maternityLeave
*/ */
public void setMaternityLeave(BigDecimal maternityLeave){ public void setMaternityLeave(BigDecimal maternityLeave){
...@@ -697,6 +719,76 @@ public class AttendanceStatEntity extends AttendanceStatVo { ...@@ -697,6 +719,76 @@ public class AttendanceStatEntity extends AttendanceStatVo {
public void setRemark(String remark){ public void setRemark(String remark){
this.remark = remark; this.remark = remark;
} }
/**
* 获取 哺乳假(天)
* @return BigDecimal
*/
public BigDecimal getBreastfeedingLeaveDays(){
return breastfeedingLeaveDays;
}
/**
* 设置 哺乳假(天)
* @param breastfeedingLeaveDays
*/
public void setBreastfeedingLeaveDays(BigDecimal breastfeedingLeaveDays){
this.breastfeedingLeaveDays = breastfeedingLeaveDays;
}
/**
* 获取 例假(天)
* @return BigDecimal
*/
public BigDecimal getMenstrualLeaveDays(){
return menstrualLeaveDays;
}
/**
* 设置 例假(天)
* @param menstrualLeaveDays
*/
public void setMenstrualLeaveDays(BigDecimal menstrualLeaveDays){
this.menstrualLeaveDays = menstrualLeaveDays;
}
/**
* 获取 年假(天)
* @return BigDecimal
*/
public BigDecimal getAnnualLeaveDays(){
return annualLeaveDays;
}
/**
* 设置 年假(天)
* @param annualLeaveDays
*/
public void setAnnualLeaveDays(BigDecimal annualLeaveDays){
this.annualLeaveDays = annualLeaveDays;
}
/**
* 获取 调休(天)
* @return BigDecimal
*/
public BigDecimal getCompensatedLeaveDays(){
return compensatedLeaveDays;
}
/**
* 设置 调休(天)
* @param compensatedLeaveDays
*/
public void setCompensatedLeaveDays(BigDecimal compensatedLeaveDays){
this.compensatedLeaveDays = compensatedLeaveDays;
}
/**
* 获取 陪产假(天)
* @return BigDecimal
*/
public BigDecimal getPaternityLeaveDays(){
return paternityLeaveDays;
}
/**
* 设置 陪产假(天)
* @param paternityLeaveDays
*/
public void setPaternityLeaveDays(BigDecimal paternityLeaveDays){
this.paternityLeaveDays = paternityLeaveDays;
}
...@@ -755,12 +847,17 @@ public class AttendanceStatEntity extends AttendanceStatVo { ...@@ -755,12 +847,17 @@ public class AttendanceStatEntity extends AttendanceStatVo {
sb.append(",month:").append(getMonth()); sb.append(",month:").append(getMonth());
sb.append(",day:").append(getDay()); sb.append(",day:").append(getDay());
sb.append(",remark:").append(getRemark()); sb.append(",remark:").append(getRemark());
sb.append(",breastfeedingLeaveDays:").append(getBreastfeedingLeaveDays());
sb.append(",menstrualLeaveDays:").append(getMenstrualLeaveDays());
sb.append(",annualLeaveDays:").append(getAnnualLeaveDays());
sb.append(",compensatedLeaveDays:").append(getCompensatedLeaveDays());
sb.append(",paternityLeaveDays:").append(getPaternityLeaveDays());
return sb.toString(); return sb.toString();
} }
public void initAttrValue(){ public void initAttrValue(){
this.windowCategory = ""; this.windowCategory = "考勤机打卡";
this.staffId = null; this.staffId = null;
...@@ -831,5 +928,15 @@ public class AttendanceStatEntity extends AttendanceStatVo { ...@@ -831,5 +928,15 @@ public class AttendanceStatEntity extends AttendanceStatVo {
this.day = null; this.day = null;
this.remark = ""; this.remark = "";
this.breastfeedingLeaveDays = BigDecimal.valueOf(0.0);
this.menstrualLeaveDays = BigDecimal.valueOf(0.0);
this.annualLeaveDays = BigDecimal.valueOf(0.0);
this.compensatedLeaveDays = BigDecimal.valueOf(0.0);
this.paternityLeaveDays = BigDecimal.valueOf(0.0);
} }
} }
\ No newline at end of file
package com.mortals.xhx.module.attendance.model; 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.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.vo.AttendanceVacationRecordVo; import com.mortals.xhx.module.attendance.model.vo.AttendanceVacationRecordVo;
import java.math.BigDecimal;
/** /**
* 员工假期记录信息实体对象 * 员工假期记录信息实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-04-12 * @date 2023-04-14
*/ */
public class AttendanceVacationRecordEntity extends AttendanceVacationRecordVo { public class AttendanceVacationRecordEntity extends AttendanceVacationRecordVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -27,7 +24,7 @@ public class AttendanceVacationRecordEntity extends AttendanceVacationRecordVo { ...@@ -27,7 +24,7 @@ public class AttendanceVacationRecordEntity extends AttendanceVacationRecordVo {
*/ */
private String staffName; private String staffName;
/** /**
* 请假类型(1.事假,2.调休,3.病假,4.年假,5.产假,6.陪产假,7.婚假,8.例假,9.哺乳假,10.丧假) * 请假类型(1.事假,2.调休,3.病假,4.年假,5.产假,6.陪产假,7.婚假,8.例假,9.哺乳假,10.丧假,11.回单位,12.因公请假,13.外出勘验,14.值班补班,15.体检,16.隔离,17.因公外出,18.公休,19.育儿假,20.调回单位,21.探亲假)
*/ */
private Integer type; private Integer type;
/** /**
...@@ -91,14 +88,14 @@ public class AttendanceVacationRecordEntity extends AttendanceVacationRecordVo { ...@@ -91,14 +88,14 @@ public class AttendanceVacationRecordEntity extends AttendanceVacationRecordVo {
this.staffName = staffName; this.staffName = staffName;
} }
/** /**
* 获取 请假类型(1.事假,2.调休,3.病假,4.年假,5.产假,6.陪产假,7.婚假,8.例假,9.哺乳假,10.丧假) * 获取 请假类型(1.事假,2.调休,3.病假,4.年假,5.产假,6.陪产假,7.婚假,8.例假,9.哺乳假,10.丧假,11.回单位,12.因公请假,13.外出勘验,14.值班补班,15.体检,16.隔离,17.因公外出,18.公休,19.育儿假,20.调回单位,21.探亲假)
* @return Integer * @return Integer
*/ */
public Integer getType(){ public Integer getType(){
return type; return type;
} }
/** /**
* 设置 请假类型(1.事假,2.调休,3.病假,4.年假,5.产假,6.陪产假,7.婚假,8.例假,9.哺乳假,10.丧假) * 设置 请假类型(1.事假,2.调休,3.病假,4.年假,5.产假,6.陪产假,7.婚假,8.例假,9.哺乳假,10.丧假,11.回单位,12.因公请假,13.外出勘验,14.值班补班,15.体检,16.隔离,17.因公外出,18.公休,19.育儿假,20.调回单位,21.探亲假)
* @param type * @param type
*/ */
public void setType(Integer type){ public void setType(Integer type){
......
package com.mortals.xhx.module.attendance.model.vo; package com.mortals.xhx.module.attendance.model.vo;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.AttendanceClassDetailEntity; import com.mortals.xhx.module.attendance.model.AttendanceClassDetailEntity;
import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -9,6 +11,16 @@ import java.util.List; ...@@ -9,6 +11,16 @@ import java.util.List;
* @author zxfei * @author zxfei
* @date 2023-04-08 * @date 2023-04-08
*/ */
@Data
public class AttendanceClassDetailVo extends BaseEntityLong { public class AttendanceClassDetailVo extends BaseEntityLong {
//2023-04-01
/** 开始 上班打卡时间 */
private String goWorkDateStart;
//2023-04-02
/** 结束 上班打卡时间 */
private String goWorkDateEnd;
} }
package com.mortals.xhx.module.attendance.model.vo; package com.mortals.xhx.module.attendance.model.vo;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.AttendanceGroupEntity; import com.mortals.xhx.module.attendance.model.AttendanceGroupEntity;
import com.mortals.xhx.module.attendance.model.AttendanceGroupFixedworkEntity;
import com.mortals.xhx.module.attendance.model.AttendanceGroupFixedworkSpecialEntity;
import com.mortals.xhx.module.attendance.model.AttendanceGroupResponsibleEntity;
import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -9,6 +14,19 @@ import java.util.List; ...@@ -9,6 +14,19 @@ import java.util.List;
* @author zxfei * @author zxfei
* @date 2023-04-08 * @date 2023-04-08
*/ */
@Data
public class AttendanceGroupVo extends BaseEntityLong { public class AttendanceGroupVo extends BaseEntityLong {
/**
* 考勤组班次实体类
*/
private AttendanceGroupFixedworkEntity attendanceGroupFixedworkEntity;
/**
* 考勤组固定班次特殊日期配置
*/
private List<AttendanceGroupFixedworkSpecialEntity> fixedworkSpecial;
private AttendanceGroupResponsibleEntity groupResponsibleEntity;
} }
package com.mortals.xhx.module.attendance.model.vo; package com.mortals.xhx.module.attendance.model.vo;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity; import com.mortals.xhx.module.attendance.model.AttendanceRecordHikEntity;
import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -9,6 +12,10 @@ import java.util.List; ...@@ -9,6 +12,10 @@ import java.util.List;
* @author zxfei * @author zxfei
* @date 2023-04-08 * @date 2023-04-08
*/ */
@Data
public class AttendanceRecordHikVo extends BaseEntityLong { public class AttendanceRecordHikVo extends BaseEntityLong {
@Excel(name = "所属组织")
private String orgName;
} }
package com.mortals.xhx.module.attendance.model.vo; package com.mortals.xhx.module.attendance.model.vo;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
import com.mortals.xhx.module.attendance.model.AttendanceRecordEntity; import com.mortals.xhx.module.attendance.model.AttendanceRecordEntity;
import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -9,6 +12,11 @@ import java.util.List; ...@@ -9,6 +12,11 @@ import java.util.List;
* @author zxfei * @author zxfei
* @date 2023-04-07 * @date 2023-04-07
*/ */
@Data
public class AttendanceRecordVo extends BaseEntityLong { public class AttendanceRecordVo extends BaseEntityLong {
private List<AttendanceGroupFixedworkSpecialVo> list;
private AttendanceRecordDetailEntity attendanceRecordDetailEntity;
} }
package com.mortals.xhx.module.attendance.service.impl; package com.mortals.xhx.module.attendance.service.impl;
import com.mortals.framework.model.PageInfo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
...@@ -14,6 +15,7 @@ import org.springframework.util.ObjectUtils; ...@@ -14,6 +15,7 @@ import org.springframework.util.ObjectUtils;
import java.util.Date; import java.util.Date;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* AttendanceRecordService * AttendanceRecordService
...@@ -27,6 +29,22 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda ...@@ -27,6 +29,22 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
@Autowired @Autowired
private AttendanceRecordDetailService attendanceRecordDetailService; private AttendanceRecordDetailService attendanceRecordDetailService;
@Override
protected void findAfter(AttendanceRecordEntity params, PageInfo pageInfo, Context context, List<AttendanceRecordEntity> list) throws AppException {
list.stream().map(item->{
//chax
List<AttendanceRecordDetailEntity> attendanceRecordDetailEntities = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery().recordId(item.getId()));
item.setAttendanceRecordDetailList(attendanceRecordDetailEntities);
return item;
}).collect(Collectors.toList());
super.findAfter(params, pageInfo, context, list);
}
@Override @Override
protected void saveAfter(AttendanceRecordEntity entity, Context context) throws AppException { protected void saveAfter(AttendanceRecordEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getAttendanceRecordDetailList())){ if(!ObjectUtils.isEmpty(entity.getAttendanceRecordDetailList())){
......
package com.mortals.xhx.module.attendance.web; package com.mortals.xhx.module.attendance.web;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.attendance.model.AttendanceClassDetailEntity;
import com.mortals.xhx.module.workman.model.WorkmanEntity;
import com.mortals.xhx.module.workman.model.WorkmanQuery;
import com.mortals.xhx.module.workman.service.WorkmanService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -13,12 +18,10 @@ import com.mortals.xhx.module.attendance.model.AttendanceClassEntity; ...@@ -13,12 +18,10 @@ import com.mortals.xhx.module.attendance.model.AttendanceClassEntity;
import com.mortals.xhx.module.attendance.service.AttendanceClassService; import com.mortals.xhx.module.attendance.service.AttendanceClassService;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List; import java.util.*;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*; import static com.mortals.framework.ap.SysConstains.*;
...@@ -35,6 +38,8 @@ public class AttendanceClassController extends BaseCRUDJsonBodyMappingController ...@@ -35,6 +38,8 @@ public class AttendanceClassController extends BaseCRUDJsonBodyMappingController
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
@Autowired
private WorkmanService workmanService;
public AttendanceClassController(){ public AttendanceClassController(){
super.setModuleDesc( "考勤班次信息"); super.setModuleDesc( "考勤班次信息");
...@@ -42,8 +47,13 @@ public class AttendanceClassController extends BaseCRUDJsonBodyMappingController ...@@ -42,8 +47,13 @@ public class AttendanceClassController extends BaseCRUDJsonBodyMappingController
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
this.addDict(model,"workManId",workmanService.find(new WorkmanQuery()).stream().collect(Collectors.toMap(x->x.getId().toString(),y->y.getName(),(o,n)->n)));
super.init(model, context); super.init(model, context);
} }
@Override
protected void saveBefore(AttendanceClassEntity entity, Map<String, Object> model, Context context) throws AppException {
entity.setClassResponsiblePersonName(workmanService.selectOne(new WorkmanQuery().id(entity.getClassResponsiblePersonId())).getName());
super.saveBefore(entity, model, context);
}
} }
package com.mortals.xhx.module.attendance.web; package com.mortals.xhx.module.attendance.web;
import cn.hutool.core.stream.CollectorUtil;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.attendance.model.*;
import com.mortals.xhx.module.attendance.service.*;
import com.mortals.xhx.module.dept.model.DeptEntity;
import com.mortals.xhx.module.dept.model.DeptQuery;
import com.mortals.xhx.module.dept.model.DeptTreeSelect;
import com.mortals.xhx.module.dept.service.DeptService;
import com.mortals.xhx.module.workman.model.WorkmanQuery;
import com.mortals.xhx.module.workman.service.WorkmanService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context; 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.AttendanceGroupEntity;
import com.mortals.xhx.module.attendance.service.AttendanceGroupService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; 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.*;
/** /**
* *
* 考勤组信息 * 考勤组信息
...@@ -35,6 +33,18 @@ public class AttendanceGroupController extends BaseCRUDJsonBodyMappingController ...@@ -35,6 +33,18 @@ public class AttendanceGroupController extends BaseCRUDJsonBodyMappingController
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
@Autowired
private WorkmanService workmanService;
@Autowired
private AttendanceClassService attendanceClassService;
@Autowired
private DeptService deptService;
@Autowired
private AttendanceGroupFixedworkService attendanceGroupFixedworkService;
@Autowired
private AttendanceGroupFixedworkSpecialService specialService;
@Autowired
private AttendanceGroupResponsibleService groupResponsibleService;
public AttendanceGroupController(){ public AttendanceGroupController(){
super.setModuleDesc( "考勤组信息"); super.setModuleDesc( "考勤组信息");
...@@ -44,8 +54,31 @@ public class AttendanceGroupController extends BaseCRUDJsonBodyMappingController ...@@ -44,8 +54,31 @@ public class AttendanceGroupController extends BaseCRUDJsonBodyMappingController
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "type", paramService.getParamBySecondOrganize("AttendanceGroup","type")); this.addDict(model, "type", paramService.getParamBySecondOrganize("AttendanceGroup","type"));
this.addDict(model, "attendanceType", paramService.getParamBySecondOrganize("AttendanceGroup","attendanceType")); this.addDict(model, "attendanceType", paramService.getParamBySecondOrganize("AttendanceGroup","attendanceType"));
List<DeptEntity> list = deptService.find(new DeptQuery());
List<DeptTreeSelect> treeSelects = deptService.buildDeptTreeSelect(list);
this.addDict(model,"deptId",treeSelects);
List<AttendanceClassEntity> attendanceClassEntities = attendanceClassService.find(new AttendanceClassQuery());
this.addDict(model,"classId",attendanceClassEntities);
this.addDict(model,"workMan",workmanService.find(new WorkmanQuery()).stream().collect(Collectors.toMap(x->x.getId().toString(), y->y.getName(),(o, n)->n)));
super.init(model, context); super.init(model, context);
} }
@Override
protected int saveAfter(AttendanceGroupEntity entity, Map<String, Object> model, Context context) throws AppException {
entity.getAttendanceGroupFixedworkEntity().setGroupId(entity.getId());
entity.getAttendanceGroupFixedworkEntity().setGroupName(entity.getGroupName());
AttendanceGroupFixedworkEntity save = attendanceGroupFixedworkService.save(entity.getAttendanceGroupFixedworkEntity());
List<AttendanceGroupFixedworkSpecialEntity> fixedworkSpecial = entity.getFixedworkSpecial();
if (fixedworkSpecial!=null && fixedworkSpecial.size()>0){
fixedworkSpecial.forEach(item->{
item.setFixedWorkId(save.getId());
});
}
specialService.save(fixedworkSpecial);
AttendanceGroupResponsibleEntity responsibleEntity = entity.getGroupResponsibleEntity();
responsibleEntity.setGroupId(entity.getId());
responsibleEntity.setGroupName(entity.getGroupName());
groupResponsibleService.save(responsibleEntity);
return super.saveAfter(entity, model, context);
}
} }
...@@ -46,4 +46,5 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle ...@@ -46,4 +46,5 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
} }
} }
package com.mortals.xhx.module.attendance.web; package com.mortals.xhx.module.attendance.web;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
...@@ -32,5 +33,10 @@ public class AttendanceVacationBalanceController extends BaseCRUDJsonBodyMapping ...@@ -32,5 +33,10 @@ public class AttendanceVacationBalanceController extends BaseCRUDJsonBodyMapping
super.init(model, context); super.init(model, context);
} }
@Override
protected int infoAfter(Long id, Map<String, Object> model, AttendanceVacationBalanceEntity entity, Context context) throws AppException {
AttendanceVacationBalanceEntity attendanceVacationBalanceEntity = service.get(id);
model.put("allHoliday",attendanceVacationBalanceEntity);
return super.infoAfter(id, model, entity, context);
}
} }
\ No newline at end of file
package com.mortals.xhx.module.attendance.web; package com.mortals.xhx.module.attendance.web;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.attendance.model.AttendanceVacationBalanceEntity;
import com.mortals.xhx.module.attendance.model.AttendanceVacationRecordEntity; import com.mortals.xhx.module.attendance.model.AttendanceVacationRecordEntity;
import com.mortals.xhx.module.attendance.service.AttendanceVacationBalanceService;
import com.mortals.xhx.module.attendance.service.AttendanceVacationRecordService; import com.mortals.xhx.module.attendance.service.AttendanceVacationRecordService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -25,8 +22,7 @@ public class AttendanceVacationRecordController extends BaseCRUDJsonBodyMappingC ...@@ -25,8 +22,7 @@ public class AttendanceVacationRecordController extends BaseCRUDJsonBodyMappingC
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
@Autowired
private AttendanceVacationBalanceService attendanceVacationBalanceService;
public AttendanceVacationRecordController(){ public AttendanceVacationRecordController(){
super.setModuleDesc( "员工假期记录信息"); super.setModuleDesc( "员工假期记录信息");
...@@ -39,11 +35,4 @@ public class AttendanceVacationRecordController extends BaseCRUDJsonBodyMappingC ...@@ -39,11 +35,4 @@ public class AttendanceVacationRecordController extends BaseCRUDJsonBodyMappingC
super.init(model, context); super.init(model, context);
} }
@Override
protected int saveAfter(AttendanceVacationRecordEntity entity, Map<String, Object> model, Context context) throws AppException {
AttendanceVacationBalanceEntity attendanceVacationBalanceEntity=attendanceVacationBalanceService.get(entity.getStaffId());
model.put("allHoliday",attendanceVacationBalanceEntity);
return super.saveAfter(entity, model, context);
}
} }
\ No newline at end of file
...@@ -36,8 +36,5 @@ public interface DeptDao extends ICRUDDao<DeptEntity,Long>{ ...@@ -36,8 +36,5 @@ public interface DeptDao extends ICRUDDao<DeptEntity,Long>{
* */ * */
DeptEntity queryDeptParient(String parentCode); DeptEntity queryDeptParient(String parentCode);
/**
*
* */
int queryDeptParentId(Long deptId);
} }
...@@ -37,10 +37,7 @@ public class DeptDaoImpl extends BaseCRUDDaoMybatis<DeptEntity,Long> implements ...@@ -37,10 +37,7 @@ public class DeptDaoImpl extends BaseCRUDDaoMybatis<DeptEntity,Long> implements
return getSqlSession().selectOne(getSqlId("queryDeptParient"),parentCode); return getSqlSession().selectOne(getSqlId("queryDeptParient"),parentCode);
} }
@Override
public int queryDeptParentId(Long deptId) {
return getSqlSession().selectOne(getSqlId("queryDeptParentId"),deptId);
}
} }
...@@ -4,10 +4,12 @@ import java.util.List; ...@@ -4,10 +4,12 @@ import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import com.mortals.xhx.module.dept.model.vo.DeptVo; import com.mortals.xhx.module.dept.model.vo.DeptVo;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.mortals.xhx.module.staff.model.StaffEntity;
import lombok.Data; import lombok.Data;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.io.Serializable; import java.io.Serializable;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
* 部门信息前端映射树结构实体类 * 部门信息前端映射树结构实体类
...@@ -35,12 +37,19 @@ public class DeptTreeSelect implements Serializable { ...@@ -35,12 +37,19 @@ public class DeptTreeSelect implements Serializable {
@JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<DeptTreeSelect> children; private List<DeptTreeSelect> children;
/**
* 子节点
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<Map<String,Object>> personList;
public DeptTreeSelect(DeptEntity entity) { public DeptTreeSelect(DeptEntity entity) {
this.id = entity.getId(); this.id = entity.getId();
this.label = entity.getDeptName(); this.label = entity.getDeptName();
if(!ObjectUtils.isEmpty(entity.getChildren())){ if(!ObjectUtils.isEmpty(entity.getChildren())){
this.children = entity.getChildren().stream().map(DeptTreeSelect::new).collect(Collectors.toList()); this.children = entity.getChildren().stream().map(DeptTreeSelect::new).collect(Collectors.toList());
} }
this.personList = entity.getPersonList();
} }
} }
package com.mortals.xhx.module.dept.model.vo; package com.mortals.xhx.module.dept.model.vo;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.dept.model.DeptEntity; import com.mortals.xhx.module.dept.model.DeptEntity;
import com.mortals.xhx.module.staff.model.StaffEntity;
import lombok.Data; import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 部门信息视图对象 * 部门信息视图对象
* *
...@@ -16,7 +19,7 @@ public class DeptVo extends BaseEntityLong { ...@@ -16,7 +19,7 @@ public class DeptVo extends BaseEntityLong {
/** 子部门信息 */ /** 子部门信息 */
private List<DeptEntity> children = new ArrayList<>(); private List<DeptEntity> children = new ArrayList<>();
/** 子节点人员信息 */
private List<Map<String,Object>> personList = new ArrayList<>();
//成员数量 //成员数量
} }
...@@ -51,6 +51,4 @@ public interface DeptService extends ICRUDService<DeptEntity,Long>{ ...@@ -51,6 +51,4 @@ public interface DeptService extends ICRUDService<DeptEntity,Long>{
int queryParentId(Long deptId);
} }
\ No newline at end of file
package com.mortals.xhx.module.dept.service.impl; package com.mortals.xhx.module.dept.service.impl;
import com.mortals.xhx.module.staff.model.StaffEntity;
import com.mortals.xhx.module.staff.model.StaffQuery;
import com.mortals.xhx.module.staff.service.StaffService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
...@@ -25,6 +29,9 @@ import java.util.stream.Collectors; ...@@ -25,6 +29,9 @@ import java.util.stream.Collectors;
@Service("deptService") @Service("deptService")
public class DeptServiceImpl extends AbstractCRUDServiceImpl<DeptDao, DeptEntity, Long> implements DeptService { public class DeptServiceImpl extends AbstractCRUDServiceImpl<DeptDao, DeptEntity, Long> implements DeptService {
@Autowired
private StaffService staffService;
@Override @Override
protected void saveBefore(DeptEntity entity, Context context) throws AppException { protected void saveBefore(DeptEntity entity, Context context) throws AppException {
if(ObjectUtils.isEmpty(entity.getParentId())){ if(ObjectUtils.isEmpty(entity.getParentId())){
...@@ -49,7 +56,7 @@ public class DeptServiceImpl extends AbstractCRUDServiceImpl<DeptDao, DeptEntity ...@@ -49,7 +56,7 @@ public class DeptServiceImpl extends AbstractCRUDServiceImpl<DeptDao, DeptEntity
DeptEntity newParentEntity = this.get(entity.getParentId()); DeptEntity newParentEntity = this.get(entity.getParentId());
DeptEntity oldEntity = this.get(entity.getId()); DeptEntity oldEntity = this.get(entity.getId());
if (!ObjectUtils.isEmpty(newParentEntity) && !ObjectUtils.isEmpty(oldEntity)) { if (!ObjectUtils.isEmpty(newParentEntity) && !ObjectUtils.isEmpty(oldEntity)) {
String newAncestors = newParentEntity.getAncestors() + "," + newParentEntity.getId(); String newAncestors = newParentEntity.getAncestors() + "," +entity.getId();
String oldAncestors = oldEntity.getAncestors(); String oldAncestors = oldEntity.getAncestors();
entity.setAncestors(newAncestors); entity.setAncestors(newAncestors);
updateDeptChildren(entity.getId(), newAncestors, oldAncestors, context); updateDeptChildren(entity.getId(), newAncestors, oldAncestors, context);
...@@ -130,7 +137,16 @@ public class DeptServiceImpl extends AbstractCRUDServiceImpl<DeptDao, DeptEntity ...@@ -130,7 +137,16 @@ public class DeptServiceImpl extends AbstractCRUDServiceImpl<DeptDao, DeptEntity
for (Iterator<DeptEntity> iterator = list.iterator(); iterator.hasNext(); ) { for (Iterator<DeptEntity> iterator = list.iterator(); iterator.hasNext(); ) {
DeptEntity deptEntity = iterator.next(); DeptEntity deptEntity = iterator.next();
List<StaffEntity> staffEntities = staffService.find(new StaffQuery().deptId(deptEntity.getId()));
List<Map<String,Object>> personList = new ArrayList<>();
staffEntities.forEach(item->{
Map<String,Object> map= new HashMap<>();
map.put("staffId",item.getId());
map.put("staffName",item.getName());
map.put("deptId",item.getDeptId());
personList.add(map);
});
deptEntity.setPersonList(personList);
if (!tempList.contains(deptEntity.getParentId())) { if (!tempList.contains(deptEntity.getParentId())) {
recursionFn(list, deptEntity); recursionFn(list, deptEntity);
returnList.add(deptEntity); returnList.add(deptEntity);
...@@ -139,7 +155,6 @@ public class DeptServiceImpl extends AbstractCRUDServiceImpl<DeptDao, DeptEntity ...@@ -139,7 +155,6 @@ public class DeptServiceImpl extends AbstractCRUDServiceImpl<DeptDao, DeptEntity
if (returnList.isEmpty()) { if (returnList.isEmpty()) {
returnList = list; returnList = list;
} }
return returnList.stream().map(DeptTreeSelect::new).collect(Collectors.toList()); return returnList.stream().map(DeptTreeSelect::new).collect(Collectors.toList());
} }
...@@ -194,9 +209,5 @@ public class DeptServiceImpl extends AbstractCRUDServiceImpl<DeptDao, DeptEntity ...@@ -194,9 +209,5 @@ public class DeptServiceImpl extends AbstractCRUDServiceImpl<DeptDao, DeptEntity
@Override
public int queryParentId(Long deptId) {
return dao.queryDeptParentId(deptId);
}
} }
...@@ -132,8 +132,17 @@ public class DeptController extends BaseCRUDJsonBodyMappingController<DeptServic ...@@ -132,8 +132,17 @@ public class DeptController extends BaseCRUDJsonBodyMappingController<DeptServic
@Override @Override
protected int doListAfter(DeptEntity query, Map<String, Object> model, Context context) throws AppException { protected int doListAfter(DeptEntity query, Map<String, Object> model, Context context) throws AppException {
int Allperson =staffService.queryAllPerson(); int allPerson =staffService.queryAllPerson();
model.put("AllPerson",Allperson); model.put("allPerson",allPerson);
return super.doListAfter(query, model, context); return super.doListAfter(query, model, context);
} }
} }
\ No newline at end of file
...@@ -52,11 +52,6 @@ public interface StaffDao extends ICRUDDao<StaffEntity,Long>{ ...@@ -52,11 +52,6 @@ public interface StaffDao extends ICRUDDao<StaffEntity,Long>{
* */ * */
int queryConcurrently(); int queryConcurrently();
/**
* 统计部门
* */
int queryPersonNum(Long deptId);
/** /**
* 查询部门信息 * 查询部门信息
......
...@@ -53,10 +53,6 @@ public class StaffDaoImpl extends BaseCRUDDaoMybatis<StaffEntity,Long> implement ...@@ -53,10 +53,6 @@ public class StaffDaoImpl extends BaseCRUDDaoMybatis<StaffEntity,Long> implement
return this.getSqlSession().selectOne(this.getSqlId("queryConcurrently")); return this.getSqlSession().selectOne(this.getSqlId("queryConcurrently"));
} }
@Override
public int queryPersonNum(Long deptId) {
return this.getSqlSession().selectOne(this.getSqlId("queryPersonNum"),deptId);
}
@Override @Override
public StaffEntity queryHik(String remarkId) { public StaffEntity queryHik(String remarkId) {
......
...@@ -7,7 +7,7 @@ import java.util.Date; ...@@ -7,7 +7,7 @@ import java.util.Date;
* 员工基本信息实体对象 * 员工基本信息实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-04-08 * @date 2023-04-14
*/ */
public class StaffEntity extends StaffVo { public class StaffEntity extends StaffVo {
...@@ -97,6 +97,14 @@ public class StaffEntity extends StaffVo { ...@@ -97,6 +97,14 @@ public class StaffEntity extends StaffVo {
* 员工来源(1.外部,2.内部) * 员工来源(1.外部,2.内部)
*/ */
private Integer source; private Integer source;
/**
* 相对图片pic
*/
private String picUri;
/**
* 图片资源唯一标识
*/
private String serverIndexCode;
...@@ -395,6 +403,34 @@ public class StaffEntity extends StaffVo { ...@@ -395,6 +403,34 @@ public class StaffEntity extends StaffVo {
public void setSource(Integer source){ public void setSource(Integer source){
this.source = source; this.source = source;
} }
/**
* 获取 相对图片pic
* @return String
*/
public String getPicUri(){
return picUri;
}
/**
* 设置 相对图片pic
* @param picUri
*/
public void setPicUri(String picUri){
this.picUri = picUri;
}
/**
* 获取 图片资源唯一标识
* @return String
*/
public String getServerIndexCode(){
return serverIndexCode;
}
/**
* 设置 图片资源唯一标识
* @param serverIndexCode
*/
public void setServerIndexCode(String serverIndexCode){
this.serverIndexCode = serverIndexCode;
}
...@@ -438,6 +474,8 @@ public class StaffEntity extends StaffVo { ...@@ -438,6 +474,8 @@ public class StaffEntity extends StaffVo {
sb.append(",remark:").append(getRemark()); sb.append(",remark:").append(getRemark());
sb.append(",remarkId:").append(getRemarkId()); sb.append(",remarkId:").append(getRemarkId());
sb.append(",source:").append(getSource()); sb.append(",source:").append(getSource());
sb.append(",picUri:").append(getPicUri());
sb.append(",serverIndexCode:").append(getServerIndexCode());
return sb.toString(); return sb.toString();
} }
...@@ -483,6 +521,10 @@ public class StaffEntity extends StaffVo { ...@@ -483,6 +521,10 @@ public class StaffEntity extends StaffVo {
this.remarkId = ""; this.remarkId = "";
this.source = 2; this.source = 1;
this.picUri = "";
this.serverIndexCode = "";
} }
} }
\ No newline at end of file
...@@ -5,7 +5,7 @@ import java.util.List; ...@@ -5,7 +5,7 @@ import java.util.List;
* 员工基本信息查询对象 * 员工基本信息查询对象
* *
* @author zxfei * @author zxfei
* @date 2023-04-10 * @date 2023-04-14
*/ */
public class StaffQuery extends StaffEntity { public class StaffQuery extends StaffEntity {
/** 开始 序号,主键,自增长 */ /** 开始 序号,主键,自增长 */
...@@ -244,6 +244,16 @@ public class StaffQuery extends StaffEntity { ...@@ -244,6 +244,16 @@ public class StaffQuery extends StaffEntity {
/** 员工来源(1.外部,2.内部)排除列表 */ /** 员工来源(1.外部,2.内部)排除列表 */
private List <Integer> sourceNotList; private List <Integer> sourceNotList;
/** 相对图片pic */
private List<String> picUriList;
/** 相对图片pic排除列表 */
private List <String> picUriNotList;
/** 图片资源唯一标识 */
private List<String> serverIndexCodeList;
/** 图片资源唯一标识排除列表 */
private List <String> serverIndexCodeNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */ /** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<StaffQuery> orConditionList; private List<StaffQuery> orConditionList;
...@@ -1574,6 +1584,70 @@ public class StaffQuery extends StaffEntity { ...@@ -1574,6 +1584,70 @@ public class StaffQuery extends StaffEntity {
} }
/**
* 获取 相对图片pic
* @return picUriList
*/
public List<String> getPicUriList(){
return this.picUriList;
}
/**
* 设置 相对图片pic
* @param picUriList
*/
public void setPicUriList(List<String> picUriList){
this.picUriList = picUriList;
}
/**
* 获取 相对图片pic
* @return picUriNotList
*/
public List<String> getPicUriNotList(){
return this.picUriNotList;
}
/**
* 设置 相对图片pic
* @param picUriNotList
*/
public void setPicUriNotList(List<String> picUriNotList){
this.picUriNotList = picUriNotList;
}
/**
* 获取 图片资源唯一标识
* @return serverIndexCodeList
*/
public List<String> getServerIndexCodeList(){
return this.serverIndexCodeList;
}
/**
* 设置 图片资源唯一标识
* @param serverIndexCodeList
*/
public void setServerIndexCodeList(List<String> serverIndexCodeList){
this.serverIndexCodeList = serverIndexCodeList;
}
/**
* 获取 图片资源唯一标识
* @return serverIndexCodeNotList
*/
public List<String> getServerIndexCodeNotList(){
return this.serverIndexCodeNotList;
}
/**
* 设置 图片资源唯一标识
* @param serverIndexCodeNotList
*/
public void setServerIndexCodeNotList(List<String> serverIndexCodeNotList){
this.serverIndexCodeNotList = serverIndexCodeNotList;
}
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param id * @param id
...@@ -2310,6 +2384,44 @@ public class StaffQuery extends StaffEntity { ...@@ -2310,6 +2384,44 @@ public class StaffQuery extends StaffEntity {
return this; return this;
} }
/**
* 设置 相对图片pic
* @param picUri
*/
public StaffQuery picUri(String picUri){
setPicUri(picUri);
return this;
}
/**
* 设置 相对图片pic
* @param picUriList
*/
public StaffQuery picUriList(List<String> picUriList){
this.picUriList = picUriList;
return this;
}
/**
* 设置 图片资源唯一标识
* @param serverIndexCode
*/
public StaffQuery serverIndexCode(String serverIndexCode){
setServerIndexCode(serverIndexCode);
return this;
}
/**
* 设置 图片资源唯一标识
* @param serverIndexCodeList
*/
public StaffQuery serverIndexCodeList(List<String> serverIndexCodeList){
this.serverIndexCodeList = serverIndexCodeList;
return this;
}
/** /**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) * 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList * @return orConditionList
......
...@@ -18,5 +18,4 @@ public class StaffVo extends BaseEntityLong { ...@@ -18,5 +18,4 @@ public class StaffVo extends BaseEntityLong {
private List<StaffInfoVo>staffInfoVos; private List<StaffInfoVo>staffInfoVos;
private Integer personNum;
} }
\ No newline at end of file
...@@ -15,7 +15,6 @@ public interface StaffService extends ICRUDCacheService<StaffEntity,Long> { ...@@ -15,7 +15,6 @@ public interface StaffService extends ICRUDCacheService<StaffEntity,Long> {
StaffInfoVo queryAll(); StaffInfoVo queryAll();
int queryDeptNum(Long deptId);
int queryAllPerson(); int queryAllPerson();
......
...@@ -54,10 +54,6 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta ...@@ -54,10 +54,6 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta
return staffInfoVo; return staffInfoVo;
} }
@Override
public int queryDeptNum(Long deptId) {
return staffDao.queryPersonNum(deptId);
}
@Override @Override
public int queryAllPerson() { public int queryAllPerson() {
......
...@@ -4,6 +4,9 @@ import com.mortals.framework.exception.AppException; ...@@ -4,6 +4,9 @@ import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.dept.model.DeptEntity;
import com.mortals.xhx.module.dept.model.DeptQuery;
import com.mortals.xhx.module.dept.model.DeptTreeSelect;
import com.mortals.xhx.module.dept.service.DeptService; import com.mortals.xhx.module.dept.service.DeptService;
import com.mortals.xhx.module.job.model.JobQuery; import com.mortals.xhx.module.job.model.JobQuery;
import com.mortals.xhx.module.job.service.JobService; import com.mortals.xhx.module.job.service.JobService;
...@@ -50,7 +53,9 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ ...@@ -50,7 +53,9 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ
this.addDict(model, "staffType", paramService.getParamBySecondOrganize("Staff","staffType")); this.addDict(model, "staffType", paramService.getParamBySecondOrganize("Staff","staffType"));
this.addDict(model, "status", paramService.getParamBySecondOrganize("Staff","status")); this.addDict(model, "status", paramService.getParamBySecondOrganize("Staff","status"));
this.addDict(model, "positionId", jobService.find(new JobQuery()).stream().collect(Collectors.toMap(x->x.getId().toString(),y->y.getJobName(),(o,n)->n))); this.addDict(model, "positionId", jobService.find(new JobQuery()).stream().collect(Collectors.toMap(x->x.getId().toString(),y->y.getJobName(),(o,n)->n)));
List<DeptEntity> list = deptService.find(new DeptQuery());
List<DeptTreeSelect> treeSelects = deptService.buildDeptTreeSelect(list);
this.addDict(model,"deptPerson",treeSelects);
super.init(model, context); super.init(model, context);
} }
......
...@@ -55,4 +55,11 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman ...@@ -55,4 +55,11 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
deptEntity.setWorkName(entity.getName()); deptEntity.setWorkName(entity.getName());
return super.saveAfter(entity, model, context); return super.saveAfter(entity, model, context);
} }
@Override
protected void saveBefore(WorkmanEntity entity, Map<String, Object> model, Context context) throws AppException {
DeptEntity deptEntity = deptService.selectOne(new DeptQuery().id(entity.getDeptId()));
entity.setDeptName(deptEntity.getDeptName());
super.saveBefore(entity, model, context);
}
} }
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd"> "mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.attendance.dao.ibatis.AttendanceRecordDaoImpl"> <mapper namespace="com.mortals.xhx.module.attendance.dao.ibatis.AttendanceRecordDaoImpl">
<!-- 字段和属性映射 --> <!-- 字段和属性映射 -->
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
<result property="createTime" column="createTime" /> <result property="createTime" column="createTime" />
<result property="updateUserId" column="updateUserId" /> <result property="updateUserId" column="updateUserId" />
<result property="updateTime" column="updateTime" /> <result property="updateTime" column="updateTime" />
<result property="orderNum" column="orderNum" />
</resultMap> </resultMap>
...@@ -104,7 +105,7 @@ ...@@ -104,7 +105,7 @@
<!-- 子表所有列 --> <!-- 子表所有列 -->
<sql id="_columns_sub"> <sql id="_columns_sub">
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
b.id,b.recordId,b.shiftsId,b.shiftsName,b.goWorkDate,b.goWorkResult,b.offWorkDate,b.offWorkResult,b.remark,b.createUserId,b.createTime,b.updateUserId,b.updateTime, b.id,b.recordId,b.shiftsId,b.shiftsName,b.goWorkDate,b.goWorkResult,b.offWorkDate,b.offWorkResult,b.remark,b.createUserId,b.createTime,b.updateUserId,b.updateTime,b.orderNum,
</trim> </trim>
</sql> </sql>
<!-- 新增 区分主键自增加还是业务插入 --> <!-- 新增 区分主键自增加还是业务插入 -->
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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