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

修改考勤汇总

parent a1d81668
...@@ -150,10 +150,11 @@ export default { ...@@ -150,10 +150,11 @@ export default {
], ],
approverId: [ approverId: [
{ required: true, message: "请选择审批人", trigger: "change" }, { required: true, message: "请选择审批人", trigger: "change" },
], ]
/* ,
attachmentPath: [ attachmentPath: [
{ required: true, message: "请上传附件文件", trigger: "change" }, { required: true, message: "请上传附件文件", trigger: "change" },
], ],*/
}, },
attachmentPath: "", attachmentPath: "",
}; };
......
...@@ -458,6 +458,7 @@ export default { ...@@ -458,6 +458,7 @@ export default {
label: "考勤结束时间", label: "考勤结束时间",
fuzzy: false, fuzzy: false,
}, },
], ],
columns: [ columns: [
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
...@@ -476,6 +477,10 @@ export default { ...@@ -476,6 +477,10 @@ export default {
{ label: "部门", prop: "deptName", formatter: this.formatters }, { label: "部门", prop: "deptName", formatter: this.formatters },
{ label: "职位", prop: "positionName", formatter: this.formatters }, { label: "职位", prop: "positionName", formatter: this.formatters },
{ label: "班次", prop: "shiftsName", 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: "考勤打卡记录详细信息", // {label: "考勤打卡记录详细信息",
// width: 120, // width: 120,
// prop: "subColumns", // prop: "subColumns",
......
...@@ -336,12 +336,16 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { ...@@ -336,12 +336,16 @@ public class PerformApiController extends AbstractBaseController<PerformReq> {
if (bool) { if (bool) {
performInfo.setAppealStatus(AppealStatusEnum.未申诉.getValue()); performInfo.setAppealStatus(AppealStatusEnum.未申诉.getValue());
} else { } else {
if (AppealResultEnum.通过.getValue() == entity.getAppealResult()) { if(ObjectUtils.isEmpty(entity.getAppealResult())){
performInfo.setAppealStatus(AppealStatusEnum.申诉通过.getValue());
} else if (AppealResultEnum.不通过.getValue() == entity.getAppealResult()) {
performInfo.setAppealStatus(AppealStatusEnum.申诉拒绝.getValue());
} else {
performInfo.setAppealStatus(AppealStatusEnum.申诉中.getValue()); 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 { } else {
...@@ -349,23 +353,6 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { ...@@ -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());
}
}
}
}
/** /**
* 详细 * 详细
*/ */
......
...@@ -116,27 +116,27 @@ public class AttendanceLeaveRecordEntity extends AttendanceLeaveRecordVo { ...@@ -116,27 +116,27 @@ public class AttendanceLeaveRecordEntity extends AttendanceLeaveRecordVo {
public void initAttrValue(){ public void initAttrValue(){
this.leavePersonId = -1L; this.leavePersonId = null;
this.leavePerson = ""; this.leavePerson = "";
this.deptId = -1L; this.deptId = null;
this.deptName = ""; this.deptName = "";
this.phoneNumber = ""; this.phoneNumber = "";
this.leaveType = -1; this.leaveType = null;
this.startTime = null; this.startTime = null;
this.endTime = null; this.endTime = null;
this.duration = -1; this.duration = 0;
this.reason = ""; this.reason = "";
this.approverId = -1L; this.approverId = null;
this.approver = ""; this.approver = "";
......
package com.mortals.xhx.module.attendance.model; package com.mortals.xhx.module.attendance.model;
import java.util.List;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -7,273 +6,88 @@ import com.fasterxml.jackson.annotation.JsonFormat; ...@@ -7,273 +6,88 @@ 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;
import com.mortals.xhx.module.attendance.model.vo.AttendanceRecordVo; import com.mortals.xhx.module.attendance.model.vo.AttendanceRecordVo;
import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity; import lombok.Data;
/** /**
* 考勤打卡记录信息实体对象 * 考勤打卡记录信息实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-04-07 * @date 2023-07-18
*/ */
@Data
public class AttendanceRecordEntity extends AttendanceRecordVo { public class AttendanceRecordEntity extends AttendanceRecordVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 员工ID * 员工ID
*/ */
private Long staffId; private Long staffId;
/** /**
* 员工姓名 * 员工姓名
*/ */
private String staffName; private String staffName;
/** /**
* 工号 * 工号
*/ */
private String workNum; private String workNum;
/** /**
* 所属部门 * 所属部门
*/ */
private Long deptId; private Long deptId;
/** /**
* 所属部门名称 * 所属部门名称
*/ */
private String deptName; private String deptName;
/** /**
* 职位ID * 职位ID
*/ */
private Long positionId; private Long positionId;
/** /**
* 职位名称 * 职位名称
*/ */
private String positionName; private String positionName;
/** /**
* 所属考勤组ID * 所属考勤组ID
*/ */
private Long attendanceGroupId; private Long attendanceGroupId;
/** /**
* 所属考勤组名称 * 所属考勤组名称
*/ */
private String attendanceGroupName; private String attendanceGroupName;
/** /**
* 班次ID * 班次ID
*/ */
private Long shiftsId; private Long shiftsId;
/** /**
* 班次名称 * 班次名称
*/ */
private String shiftsName; private String shiftsName;
/** /**
* 打卡日期 * 打卡日期
*/ */
private Date attendanceDate; private Date attendanceDate;
/** /**
* 备注 * 备注
*/ */
private String remark; 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;
}
/** /**
* 获取 所属部门 * 签到结果(0.否,1.是)
* @return Long */
*/ private Integer signInResult;
public Long getDeptId(){
return deptId;
}
/** /**
* 设置 所属部门 * 签退结果(0.否,1.是)
* @param deptId */
*/ private Integer signOutResult;
public void setDeptId(Long deptId){
this.deptId = deptId;
}
/** /**
* 获取 所属部门名称 * 考勤类型
* @return String */
*/ private String attendType;
public String getDeptName(){
return deptName;
}
/** /**
* 设置 所属部门名称 * 打卡结果(0.否,1.是)
* @param deptName */
*/ private Integer punchResult;
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;
}
@Override @Override
public int hashCode() { public int hashCode() {
return this.getId().hashCode(); return this.getId().hashCode();
} }
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
...@@ -281,56 +95,46 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { ...@@ -281,56 +95,46 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
if (obj instanceof AttendanceRecordEntity) { if (obj instanceof AttendanceRecordEntity) {
AttendanceRecordEntity tmp = (AttendanceRecordEntity) obj; AttendanceRecordEntity tmp = (AttendanceRecordEntity) obj;
if (this.getId() == tmp.getId()) { if (this.getId() == tmp.getId()) {
return true; return true;
} }
} }
return false; 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(){ 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 { ...@@ -332,10 +332,10 @@ public class AttendanceStatEntity extends AttendanceStatVo {
this.phoneNumer = ""; 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 { ...@@ -19,6 +19,12 @@ public class AttendanceRecordVo extends BaseEntityLong {
private AttendanceRecordDetailEntity attendanceRecordDetailEntity; private AttendanceRecordDetailEntity attendanceRecordDetailEntity;
/**
* 考勤打卡记录详细信息信息
*/
private List<AttendanceRecordDetailEntity> attendanceRecordDetailList=new ArrayList<>();;
/** 开始 打卡日期 */ /** 开始 打卡日期 */
private String attendanceDateStart; private String attendanceDateStart;
......
...@@ -6,6 +6,7 @@ import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; ...@@ -6,6 +6,7 @@ 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.common.code.GoWorkResultEnum; import com.mortals.xhx.common.code.GoWorkResultEnum;
import com.mortals.xhx.common.code.OffWorkResultEnum; 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.model.*;
import com.mortals.xhx.module.attendance.service.AttendanceClassService; import com.mortals.xhx.module.attendance.service.AttendanceClassService;
import com.mortals.xhx.module.attendance.service.AttendanceGroupService; import com.mortals.xhx.module.attendance.service.AttendanceGroupService;
...@@ -56,6 +57,9 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle ...@@ -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, "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, "goWorkResult", GoWorkResultEnum.getEnumMap());
this.addDict(model, "offWorkResult", OffWorkResultEnum.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 ...@@ -122,6 +126,7 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
Iterator<AttendanceRecordEntity> iterator = list.iterator(); Iterator<AttendanceRecordEntity> iterator = list.iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
AttendanceRecordEntity recordEntity = iterator.next(); AttendanceRecordEntity recordEntity = iterator.next();
Set<Integer> existSet = recordEntity.getAttendanceRecordDetailList().stream().map(i -> i.getOrderNum()).collect(Collectors.toSet()); Set<Integer> existSet = recordEntity.getAttendanceRecordDetailList().stream().map(i -> i.getOrderNum()).collect(Collectors.toSet());
//判断详细列表中是否存在顺序 没有自动填充空对象数据 //判断详细列表中是否存在顺序 没有自动填充空对象数据
List<AttendanceRecordDetailEntity> addDetailList = dsyncSet.stream().map(i -> { List<AttendanceRecordDetailEntity> addDetailList = dsyncSet.stream().map(i -> {
......
...@@ -795,4 +795,16 @@ PRIMARY KEY (`id`) ...@@ -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