Commit fba6e488 authored by 姬鋆屾's avatar 姬鋆屾
parents 9023b5f4 7b738ddf
......@@ -154,10 +154,11 @@ export default {
],
approverId: [
{ required: true, message: "请选择审批人", trigger: "change" },
],
]
/* ,
attachmentPath: [
{ required: true, message: "请上传附件文件", trigger: "change" },
],
],*/
},
attachmentPath: "",
};
......
......@@ -458,6 +458,7 @@ export default {
label: "考勤结束时间",
fuzzy: false,
},
],
columns: [
{ type: "selection", width: 60 },
......@@ -476,6 +477,10 @@ export default {
{ label: "部门", prop: "deptName", formatter: this.formatters },
{ label: "职位", prop: "positionName", formatter: this.formatters },
{ label: "班次", prop: "shiftsName", formatter: this.formatters },
{ label: "签到结果", prop: "signInResult", formatter: this.formatters },
{ label: "签退结果", prop: "signOutResult", formatter: this.formatters },
{ label: "打卡结果", prop: "punchResult", formatter: this.formatters },
// {label: "考勤打卡记录详细信息",
// width: 120,
// prop: "subColumns",
......
......@@ -27,7 +27,13 @@
</el-col>
<el-col :span="6">
<Field label="周期类型" :span="24" prop="periodType" v-model="form.periodType" type="select"
:enumData="dict.periodType" placeholder="请选择周期类型" />
:enumData="dict.periodType" @change="periodTypeChange" placeholder="请选择周期类型" />
</el-col>
<el-col :span="6">
<Field v-if="form.periodType == 2" label="半年类型" :span="24" prop="halfYear" v-model="form.halfYear" type="select"
:enumData="dict.halfYear" placeholder="请选择半年类型" />
<Field v-if="form.periodType == 3" label="季度类型" :span="24" prop="quarter" v-model="form.quarter" type="select"
:enumData="dict.quarter" placeholder="请选择季度类型" />
</el-col>
</el-row>
<!-- <el-row>
......@@ -158,6 +164,10 @@ export default {
this.staffList()
},
methods: {
periodTypeChange(){
this.form.quarter = ""
this.form.halfYear = ""
},
beforeSubmit(form) {
// 个人/部门
const perposeStaffList = []//选中人员
......@@ -247,25 +257,25 @@ export default {
// 新增
this.reset()
this.form.assessmentScope = this.$parent.query.assessmentScope + ''
}else{
} else {
// 编辑
this.form.year = this.form.year+''
this.form.year = this.form.year + ''
const leaderMobiles = this.form.leaderMobiles.split(',')
// 回显负责人
const ownerList = []
this.form.leaders.split(',').forEach((v,i)=>{
this.form.leaders.split(',').forEach((v, i) => {
ownerList.push({ ownerId: "", ownerName: v, leaderMobiles: leaderMobiles[i] || '' })
})
this.ownerList = ownerList
// 回显选中人员
const staffId = []
this.form.perposeStaffList && this.form.perposeStaffList.forEach(v=>{
this.form.perposeStaffList && this.form.perposeStaffList.forEach(v => {
staffId.push(v.staffId)
})
this.staffId = staffId
// 回显选中部门
const deptId = []
this.form.perposeDeptList && this.form.perposeDeptList.forEach(v=>{
this.form.perposeDeptList && this.form.perposeDeptList.forEach(v => {
deptId.push(v.deptId)
})
this.deptId = deptId
......@@ -290,8 +300,8 @@ export default {
periodType: '1',
year: "",
// month: null,
// halfYear: 1,
// quarter: 1,
halfYear: "",
quarter: "",
leaders: "",
leaderMobiles: "",
remark: "",
......
......@@ -335,13 +335,17 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
Boolean bool = entity.newEntity();
if (bool) {
performInfo.setAppealStatus(AppealStatusEnum.未申诉.getValue());
}else {
if (AppealResultEnum.通过.getValue() == entity.getAppealResult()) {
performInfo.setAppealStatus(AppealStatusEnum.申诉通过.getValue());
} else if (AppealResultEnum.不通过.getValue() == entity.getAppealResult()) {
performInfo.setAppealStatus(AppealStatusEnum.申诉拒绝.getValue());
} else {
} else {
if(ObjectUtils.isEmpty(entity.getAppealResult())){
performInfo.setAppealStatus(AppealStatusEnum.申诉中.getValue());
}else{
if (AppealResultEnum.通过.getValue() == entity.getAppealResult()) {
performInfo.setAppealStatus(AppealStatusEnum.申诉通过.getValue());
} else if (AppealResultEnum.不通过.getValue() == entity.getAppealResult()) {
performInfo.setAppealStatus(AppealStatusEnum.申诉拒绝.getValue());
} else {
performInfo.setAppealStatus(AppealStatusEnum.申诉中.getValue());
}
}
}
} else {
......@@ -349,23 +353,6 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
}
}
private void updateAppealStatus(PerformInfo performInfo, Boolean bool, Integer processStatus, Integer appealResult) {
if (!bool) {
performInfo.setAppealStatus(AppealStatusEnum.未申诉.getValue());
} else {
if (ProcessStatusEnum.未处理.getValue() == processStatus) {
performInfo.setAppealStatus(AppealStatusEnum.申诉中.getValue());
} else {
if (AppealResultEnum.通过.getValue() == appealResult) {
performInfo.setAppealStatus(AppealStatusEnum.申诉通过.getValue());
} else if (AppealResultEnum.不通过.getValue() == appealResult) {
performInfo.setAppealStatus(AppealStatusEnum.申诉拒绝.getValue());
}
}
}
}
/**
* 详细
*/
......@@ -404,22 +391,25 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
throw new AppException("不支持当前绩效类型");
}
PerformAttendAppealEntity entity = appealService.selectOne(new PerformAttendAppealQuery().checkRecordId(performDetailInfo.getId()));
// updateAppealResult(performInfo, entity);
PerformAttendAppealEntity entity = appealService.selectOne(new PerformAttendAppealQuery().checkRecordId(performDetailInfo.getId()).performType(performReq.getPerformType()));
log.info("entity:{}", JSONObject.toJSONString(entity));
if (!ObjectUtils.isEmpty(entity)) {
Boolean bool = entity.newEntity();
if (bool) {
performDetailInfo.setAppealStatus(AppealStatusEnum.未申诉.getValue());
}else {
if (AppealResultEnum.通过.getValue() == entity.getAppealResult()) {
performDetailInfo.setAppealStatus(AppealStatusEnum.申诉通过.getValue());
} else if (AppealResultEnum.不通过.getValue() == entity.getAppealResult()) {
performDetailInfo.setAppealStatus(AppealStatusEnum.申诉拒绝.getValue());
} else {
} else {
if (ObjectUtils.isEmpty(entity.getAppealResult())) {
performDetailInfo.setAppealStatus(AppealStatusEnum.申诉中.getValue());
} else {
if (AppealResultEnum.通过.getValue() == entity.getAppealResult()) {
performDetailInfo.setAppealStatus(AppealStatusEnum.申诉通过.getValue());
} else if (AppealResultEnum.不通过.getValue() == entity.getAppealResult()) {
performDetailInfo.setAppealStatus(AppealStatusEnum.申诉拒绝.getValue());
} else {
performDetailInfo.setAppealStatus(AppealStatusEnum.申诉中.getValue());
}
}
}
} else {
......
......@@ -116,27 +116,27 @@ public class AttendanceLeaveRecordEntity extends AttendanceLeaveRecordVo {
public void initAttrValue(){
this.leavePersonId = -1L;
this.leavePersonId = null;
this.leavePerson = "";
this.deptId = -1L;
this.deptId = null;
this.deptName = "";
this.phoneNumber = "";
this.leaveType = -1;
this.leaveType = null;
this.startTime = null;
this.endTime = null;
this.duration = -1;
this.duration = 0;
this.reason = "";
this.approverId = -1L;
this.approverId = null;
this.approver = "";
......
package com.mortals.xhx.module.attendance.model;
import java.util.List;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
......@@ -7,273 +6,88 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.attendance.model.vo.AttendanceRecordVo;
import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
import lombok.Data;
/**
* 考勤打卡记录信息实体对象
*
* @author zxfei
* @date 2023-04-07
*/
* 考勤打卡记录信息实体对象
*
* @author zxfei
* @date 2023-07-18
*/
@Data
public class AttendanceRecordEntity extends AttendanceRecordVo {
private static final long serialVersionUID = 1L;
/**
* 员工ID
*/
* 员工ID
*/
private Long staffId;
/**
* 员工姓名
*/
* 员工姓名
*/
private String staffName;
/**
* 工号
*/
* 工号
*/
private String workNum;
/**
* 所属部门
*/
* 所属部门
*/
private Long deptId;
/**
* 所属部门名称
*/
* 所属部门名称
*/
private String deptName;
/**
* 职位ID
*/
* 职位ID
*/
private Long positionId;
/**
* 职位名称
*/
* 职位名称
*/
private String positionName;
/**
* 所属考勤组ID
*/
* 所属考勤组ID
*/
private Long attendanceGroupId;
/**
* 所属考勤组名称
*/
* 所属考勤组名称
*/
private String attendanceGroupName;
/**
* 班次ID
*/
* 班次ID
*/
private Long shiftsId;
/**
* 班次名称
*/
* 班次名称
*/
private String shiftsName;
/**
* 打卡日期
*/
* 打卡日期
*/
private Date attendanceDate;
/**
* 备注
*/
* 备注
*/
private String remark;
/**
* 考勤打卡记录详细信息信息
*/
private List<AttendanceRecordDetailEntity> attendanceRecordDetailList=new ArrayList<>();;
public AttendanceRecordEntity(){}
/**
* 获取 员工ID
* @return Long
*/
public Long getStaffId(){
return staffId;
}
/**
* 设置 员工ID
* @param staffId
*/
public void setStaffId(Long staffId){
this.staffId = staffId;
}
/**
* 获取 员工姓名
* @return String
*/
public String getStaffName(){
return staffName;
}
/**
* 设置 员工姓名
* @param staffName
*/
public void setStaffName(String staffName){
this.staffName = staffName;
}
/**
* 获取 工号
* @return String
*/
public String getWorkNum(){
return workNum;
}
/**
* 设置 工号
* @param workNum
*/
public void setWorkNum(String workNum){
this.workNum = workNum;
}
/**
* 获取 所属部门
* @return Long
*/
public Long getDeptId(){
return deptId;
}
* 签到结果(0.否,1.是)
*/
private Integer signInResult;
/**
* 设置 所属部门
* @param deptId
*/
public void setDeptId(Long deptId){
this.deptId = deptId;
}
* 签退结果(0.否,1.是)
*/
private Integer signOutResult;
/**
* 获取 所属部门名称
* @return String
*/
public String getDeptName(){
return deptName;
}
* 考勤类型
*/
private String attendType;
/**
* 设置 所属部门名称
* @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 getRemark(){
return remark;
}
/**
* 设置 备注
* @param remark
*/
public void setRemark(String remark){
this.remark = remark;
}
public List<AttendanceRecordDetailEntity> getAttendanceRecordDetailList(){
return attendanceRecordDetailList;
}
public void setAttendanceRecordDetailList(List<AttendanceRecordDetailEntity> attendanceRecordDetailList){
this.attendanceRecordDetailList = attendanceRecordDetailList;
}
* 打卡结果(0.否,1.是)
*/
private Integer punchResult;
@Override
public int hashCode() {
return this.getId().hashCode();
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
......@@ -281,56 +95,46 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
if (obj instanceof AttendanceRecordEntity) {
AttendanceRecordEntity tmp = (AttendanceRecordEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
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(",remark:").append(getRemark());
return sb.toString();
}
public void initAttrValue(){
this.staffId = null;
this.staffId = -1L;
this.staffName = "";
this.workNum = "";
this.deptId = -1L;
this.deptName = "";
this.staffName = "";
this.positionId = -1L;
this.workNum = "";
this.positionName = "";
this.deptId = null;
this.attendanceGroupId = -1L;
this.deptName = "";
this.attendanceGroupName = "";
this.positionId = null;
this.shiftsId = -1L;
this.positionName = "";
this.shiftsName = "";
this.attendanceGroupId = null;
this.attendanceDate = null;
this.attendanceGroupName = "";
this.remark = "";
this.shiftsId = null;
this.signInResult = 0;
this.shiftsName = "";
this.signOutResult = 0;
this.attendanceDate = null;
this.attendType = "0";
this.remark = "";
this.punchResult = 0;
}
}
\ No newline at end of file
......@@ -332,10 +332,10 @@ public class AttendanceStatEntity extends AttendanceStatVo {
this.phoneNumer = "";
this.goTimes = -1;
this.goTimes = 0;
this.morningTimes = -1;
this.morningTimes = 0;
this.afternoonTimes = -1;
this.afternoonTimes = 0;
}
}
\ No newline at end of file
......@@ -19,6 +19,12 @@ public class AttendanceRecordVo extends BaseEntityLong {
private AttendanceRecordDetailEntity attendanceRecordDetailEntity;
/**
* 考勤打卡记录详细信息信息
*/
private List<AttendanceRecordDetailEntity> attendanceRecordDetailList=new ArrayList<>();;
/** 开始 打卡日期 */
private String attendanceDateStart;
......
......@@ -6,6 +6,7 @@ import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.GoWorkResultEnum;
import com.mortals.xhx.common.code.OffWorkResultEnum;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.module.attendance.model.*;
import com.mortals.xhx.module.attendance.service.AttendanceClassService;
import com.mortals.xhx.module.attendance.service.AttendanceGroupService;
......@@ -56,6 +57,9 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
this.addDict(model, "classId", attendanceClassService.find(new AttendanceClassQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getClassName())));
this.addDict(model, "goWorkResult", GoWorkResultEnum.getEnumMap());
this.addDict(model, "offWorkResult", OffWorkResultEnum.getEnumMap());
this.addDict(model, "signInResult", YesNoEnum.getEnumMap());
this.addDict(model, "signOutResult", YesNoEnum.getEnumMap());
this.addDict(model, "punchResult", YesNoEnum.getEnumMap());
//设置
......@@ -122,6 +126,7 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
Iterator<AttendanceRecordEntity> iterator = list.iterator();
while (iterator.hasNext()) {
AttendanceRecordEntity recordEntity = iterator.next();
Set<Integer> existSet = recordEntity.getAttendanceRecordDetailList().stream().map(i -> i.getOrderNum()).collect(Collectors.toSet());
//判断详细列表中是否存在顺序 没有自动填充空对象数据
List<AttendanceRecordDetailEntity> addDetailList = dsyncSet.stream().map(i -> {
......
......@@ -795,4 +795,16 @@ PRIMARY KEY (`id`)
ALTER TABLE mortals_xhx_attendance_record ADD COLUMN `signInResult` tinyint(2) DEFAULT '0' COMMENT '签到结果(0.否,1.是)' ;
ALTER TABLE mortals_xhx_attendance_record ADD COLUMN `signOutResult` tinyint(2) DEFAULT '0' COMMENT '签退结果(0.否,1.是)';
ALTER TABLE mortals_xhx_attendance_record ADD COLUMN `attendType` varchar(128) DEFAULT '0' COMMENT '考勤类型' ;
ALTER TABLE mortals_xhx_attendance_record ADD COLUMN `punchResult` tinyint(2) DEFAULT '0' COMMENT '打卡结果(0.否,1.是)';
ALTER TABLE mortals_xhx_attendance_record_hik ADD COLUMN `signInResult` tinyint(2) DEFAULT '0' COMMENT '签到结果(0.否,1.是)' ;
ALTER TABLE mortals_xhx_attendance_record_hik ADD COLUMN `signOutResult` tinyint(2) DEFAULT '0' COMMENT '签退结果(0.否,1.是)';
ALTER TABLE mortals_xhx_attendance_record_hik ADD COLUMN `attendType` varchar(128) DEFAULT '0' COMMENT '考勤类型';
ALTER TABLE mortals_xhx_attendance_record_hik ADD COLUMN `punchResult` tinyint(2) DEFAULT '0' COMMENT '打卡结果(0.否,1.是)';
ALTER TABLE mortals_xhx_attendance_stat ADD COLUMN `goTimes` int(9) DEFAULT '0' COMMENT '出勤天数';
ALTER TABLE mortals_xhx_attendance_stat ADD COLUMN`morningTimes` int(9) DEFAULT '0' COMMENT '上午缺卡次数';
ALTER TABLE mortals_xhx_attendance_stat ADD COLUMN `afternoonTimes` int(9) DEFAULT '0' COMMENT '下午缺卡次数';
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment