Commit a87570e5 authored by 姬鋆屾's avatar 姬鋆屾
parents 481452b5 b969ccbd
...@@ -464,33 +464,32 @@ export default { ...@@ -464,33 +464,32 @@ export default {
border-bottom: 3px solid rgb(20, 134, 248); border-bottom: 3px solid rgb(20, 134, 248);
padding-bottom: 2px; padding-bottom: 2px;
} }
.mytree ::v-deep { .mytree ::v-deep {
padding: 10px; .el-tree--highlight-current ::v-deep .el-tree-node.is-checked > .el-tree-node__content {
.el-tree--highlight-current
::v-deep
.el-tree-node.is-checked
> .el-tree-node__content {
background-color: rgb(255, 255, 255); background-color: rgb(255, 255, 255);
color: rgb(64, 158, 255); color: rgb(64, 158, 255);
} }
.el-tree--highlight-current
::v-deep .el-tree--highlight-current ::v-deep .el-tree-node.is-current > .el-tree-node__content {
.el-tree-node.is-current
> .el-tree-node__content {
background-color: rgb(255, 255, 255); background-color: rgb(255, 255, 255);
color: rgb(64, 158, 255); color: rgb(64, 158, 255);
} }
.el-tree > .el-tree-node:after { .el-tree > .el-tree-node:after {
border-top: none; border-top: none;
} }
.el-tree-node { .el-tree-node {
position: relative; position: relative;
padding-left: 16px; padding-left: 16px;
} }
//节点有间隙,隐藏掉展开按钮就好了,如果觉得空隙没事可以删掉 //节点有间隙,隐藏掉展开按钮就好了,如果觉得空隙没事可以删掉
.el-tree-node__expand-icon.is-leaf { .el-tree-node__expand-icon.is-leaf {
display: none; display: none;
} }
.el-tree-node__children { .el-tree-node__children {
padding-left: 16px; padding-left: 16px;
} }
......
package com.mortals.xhx.module.attendance.model; 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 java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
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;
import com.mortals.xhx.module.attendance.model.vo.AttendanceRecordDetailVo; import com.mortals.xhx.module.attendance.model.vo.AttendanceRecordDetailVo;
import lombok.Data;
/** /**
* 考勤打卡记录详细信息实体对象 * 考勤打卡记录详细信息实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-04-09 * @date 2023-07-27
*/ */
@Data
public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo { public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -30,249 +31,61 @@ public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo { ...@@ -30,249 +31,61 @@ public class AttendanceRecordDetailEntity extends AttendanceRecordDetailVo {
/** /**
* 班次名称 * 班次名称
*/ */
@Excel(name = "班次名称")
private String shiftsName; private String shiftsName;
/** /**
* 上班打卡时间 * 上班打卡时间
*/ */
@Excel(name = "上班打卡时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date goWorkDate; private Date goWorkDate;
/** /**
* 上班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退) * 上班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
*/ */
@Excel(name = "上班打卡结果", readConverterExp = "1=正常,2=请假,3=缺卡,4=迟到,5=早退")
private Integer goWorkResult; private Integer goWorkResult;
/** /**
* 下班打卡时间 * 下班打卡时间
*/ */
@Excel(name = "下班打卡时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date offWorkDate; private Date offWorkDate;
/** /**
* 下班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退) * 下班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
*/ */
@Excel(name = "下班打卡结果", readConverterExp = "1=正常,2=请假,3=缺卡,4=迟到,5=早退")
private Integer offWorkResult; private Integer offWorkResult;
/**
* 备注
*/
private String remark;
/** /**
* 排序字段 * 排序字段
*/ */
private Integer orderNum; private Integer orderNum;
public AttendanceRecordDetailEntity() {
}
/** /**
* 获取 考勤记录ID * 备注
*
* @return Long
*/
public Long getRecordId() {
return recordId;
}
/**
* 设置 考勤记录ID
*
* @param recordId
*/
public void setRecordId(Long recordId) {
this.recordId = recordId;
}
/**
* 获取 班次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 getGoWorkDate() {
return goWorkDate;
}
/**
* 设置 上班打卡时间
*
* @param goWorkDate
*/
public void setGoWorkDate(Date goWorkDate) {
this.goWorkDate = goWorkDate;
}
/**
* 获取 上班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
*
* @return Integer
*/
public Integer getGoWorkResult() {
return goWorkResult;
}
/**
* 设置 上班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
*
* @param goWorkResult
*/
public void setGoWorkResult(Integer goWorkResult) {
this.goWorkResult = goWorkResult;
}
/**
* 获取 下班打卡时间
*
* @return Date
*/
public Date getOffWorkDate() {
return offWorkDate;
}
/**
* 设置 下班打卡时间
*
* @param offWorkDate
*/
public void setOffWorkDate(Date offWorkDate) {
this.offWorkDate = offWorkDate;
}
/**
* 获取 下班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
*
* @return Integer
*/
public Integer getOffWorkResult() {
return offWorkResult;
}
/**
* 设置 下班打卡结果(1.正常,2.请假,3.缺卡,4.迟到,5.早退)
*
* @param offWorkResult
*/
public void setOffWorkResult(Integer offWorkResult) {
this.offWorkResult = offWorkResult;
}
/**
* 获取 备注
*
* @return String
*/
public String getRemark() {
return remark;
}
/**
* 设置 备注
*
* @param remark
*/
public void setRemark(String remark) {
this.remark = remark;
}
/**
* 获取 排序字段
*
* @return Integer
*/
public Integer getOrderNum() {
return orderNum;
}
/**
* 设置 排序字段
*
* @param orderNum
*/ */
public void setOrderNum(Integer orderNum) { private String remark;
this.orderNum = orderNum;
}
@Override @Override
public int hashCode() { public int hashCode() {
return this.getOrderNum().hashCode(); return this.getId().hashCode();
} }
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
if (obj == null) return false; if (obj == null) return false;
if (obj instanceof AttendanceRecordDetailEntity) { if (obj instanceof AttendanceRecordDetailEntity) {
AttendanceRecordDetailEntity tmp = (AttendanceRecordDetailEntity) obj; AttendanceRecordDetailEntity tmp = (AttendanceRecordDetailEntity) obj;
if (this.getOrderNum() == tmp.getOrderNum()) { if (this.getId() == tmp.getId()) {
return true; return true;
} }
} }
return false; return false;
} }
public String toString() { public void initAttrValue(){
StringBuilder sb = new StringBuilder(""); this.recordId = 0L;
sb.append(",recordId:").append(getRecordId()); this.shiftsId = 0L;
sb.append(",shiftsId:").append(getShiftsId());
sb.append(",shiftsName:").append(getShiftsName());
sb.append(",goWorkDate:").append(getGoWorkDate());
sb.append(",goWorkResult:").append(getGoWorkResult());
sb.append(",offWorkDate:").append(getOffWorkDate());
sb.append(",offWorkResult:").append(getOffWorkResult());
sb.append(",remark:").append(getRemark());
sb.append(",orderNum:").append(getOrderNum());
return sb.toString();
}
public void initAttrValue() {
this.recordId = null;
this.shiftsId = null;
this.shiftsName = ""; this.shiftsName = "";
this.goWorkDate = new Date();
this.goWorkDate = null; this.goWorkResult = 0;
this.offWorkDate = new Date();
this.goWorkResult = null; this.offWorkResult = 0;
this.offWorkDate = null;
this.offWorkResult = null;
this.remark = "";
this.orderNum = 1; this.orderNum = 1;
this.remark = "";
} }
} }
\ No newline at end of file
...@@ -2,6 +2,9 @@ package com.mortals.xhx.module.attendance.model; ...@@ -2,6 +2,9 @@ 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 java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
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;
...@@ -11,7 +14,7 @@ import lombok.Data; ...@@ -11,7 +14,7 @@ import lombok.Data;
* 考勤打卡记录信息实体对象 * 考勤打卡记录信息实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-07-18 * @date 2023-07-27
*/ */
@Data @Data
public class AttendanceRecordEntity extends AttendanceRecordVo { public class AttendanceRecordEntity extends AttendanceRecordVo {
...@@ -24,10 +27,12 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { ...@@ -24,10 +27,12 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
/** /**
* 员工姓名 * 员工姓名
*/ */
@Excel(name = "员工姓名")
private String staffName; private String staffName;
/** /**
* 工号 * 工号
*/ */
@Excel(name = "工号")
private String workNum; private String workNum;
/** /**
* 所属部门 * 所属部门
...@@ -36,6 +41,7 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { ...@@ -36,6 +41,7 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
/** /**
* 所属部门名称 * 所属部门名称
*/ */
@Excel(name = "所属部门名称")
private String deptName; private String deptName;
/** /**
* 职位ID * 职位ID
...@@ -44,6 +50,7 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { ...@@ -44,6 +50,7 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
/** /**
* 职位名称 * 职位名称
*/ */
@Excel(name = "职位名称")
private String positionName; private String positionName;
/** /**
* 所属考勤组ID * 所属考勤组ID
...@@ -52,6 +59,7 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { ...@@ -52,6 +59,7 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
/** /**
* 所属考勤组名称 * 所属考勤组名称
*/ */
@Excel(name = "所属考勤组名称")
private String attendanceGroupName; private String attendanceGroupName;
/** /**
* 班次ID * 班次ID
...@@ -60,10 +68,12 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { ...@@ -60,10 +68,12 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
/** /**
* 班次名称 * 班次名称
*/ */
@Excel(name = "班次名称")
private String shiftsName; private String shiftsName;
/** /**
* 打卡日期 * 打卡日期
*/ */
@Excel(name = "打卡日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date attendanceDate; private Date attendanceDate;
/** /**
* 备注 * 备注
...@@ -72,10 +82,12 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { ...@@ -72,10 +82,12 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
/** /**
* 签到结果(0.否,1.是) * 签到结果(0.否,1.是)
*/ */
@Excel(name = "签到结果", readConverterExp = "0=异常,1=正常")
private Integer signInResult; private Integer signInResult;
/** /**
* 签退结果(0.否,1.是) * 签退结果(0.否,1.是)
*/ */
@Excel(name = "签退结果", readConverterExp = "0=异常,1=正常")
private Integer signOutResult; private Integer signOutResult;
/** /**
* 考勤类型 * 考勤类型
...@@ -84,6 +96,7 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { ...@@ -84,6 +96,7 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
/** /**
* 打卡结果(0.否,1.是) * 打卡结果(0.否,1.是)
*/ */
@Excel(name = "打卡结果", readConverterExp = "0=异常,1=正常")
private Integer punchResult; private Integer punchResult;
@Override @Override
public int hashCode() { public int hashCode() {
...@@ -102,39 +115,22 @@ public class AttendanceRecordEntity extends AttendanceRecordVo { ...@@ -102,39 +115,22 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
} }
public void initAttrValue(){ public void initAttrValue(){
this.staffId = 0L;
this.staffId = -1L;
this.staffName = ""; this.staffName = "";
this.workNum = ""; this.workNum = "";
this.deptId = 0L;
this.deptId = -1L;
this.deptName = ""; this.deptName = "";
this.positionId = 0L;
this.positionId = -1L;
this.positionName = ""; this.positionName = "";
this.attendanceGroupId = 0L;
this.attendanceGroupId = -1L;
this.attendanceGroupName = ""; this.attendanceGroupName = "";
this.shiftsId = 0L;
this.shiftsId = -1L;
this.shiftsName = ""; this.shiftsName = "";
this.attendanceDate = new Date();
this.attendanceDate = null;
this.remark = ""; this.remark = "";
this.signInResult = 0; this.signInResult = 0;
this.signOutResult = 0; this.signOutResult = 0;
this.attendType = "";
this.attendType = "现场打卡"; this.punchResult = 0;
this.punchResult = 1;
} }
} }
\ No newline at end of file
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.annotation.Excels;
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.AttendanceRecordDetailEntity;
import com.mortals.xhx.module.attendance.model.AttendanceRecordEntity; import com.mortals.xhx.module.attendance.model.AttendanceRecordEntity;
...@@ -17,6 +19,13 @@ public class AttendanceRecordVo extends BaseEntityLong { ...@@ -17,6 +19,13 @@ public class AttendanceRecordVo extends BaseEntityLong {
private List<AttendanceGroupFixedworkSpecialVo> list; private List<AttendanceGroupFixedworkSpecialVo> list;
@Excels({
@Excel(name = "上班打卡时间", width = 30, dateFormat = "yyyy-MM-dd", targetAttr = "goWorkDate", type = Excel.Type.EXPORT),
@Excel(name = "上班打卡结果", readConverterExp = "1=正常,2=请假,3=缺卡,4=迟到,5=早退", targetAttr = "goWorkResult", type = Excel.Type.EXPORT),
@Excel(name = "下班打卡时间", width = 30, dateFormat = "yyyy-MM-dd", targetAttr = "offWorkDate", type = Excel.Type.EXPORT),
@Excel(name = "下班打卡结果", readConverterExp = "1=正常,2=请假,3=缺卡,4=迟到,5=早退", targetAttr = "offWorkResult", type = Excel.Type.EXPORT)
})
private AttendanceRecordDetailEntity attendanceRecordDetailEntity; private AttendanceRecordDetailEntity attendanceRecordDetailEntity;
/** /**
......
...@@ -15,6 +15,7 @@ import com.mortals.xhx.module.dept.model.DeptQuery; ...@@ -15,6 +15,7 @@ import com.mortals.xhx.module.dept.model.DeptQuery;
import com.mortals.xhx.module.dept.service.DeptService; import com.mortals.xhx.module.dept.service.DeptService;
import com.mortals.xhx.module.staff.service.StaffService; import com.mortals.xhx.module.staff.service.StaffService;
import org.checkerframework.checker.units.qual.A; import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -69,12 +70,34 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle ...@@ -69,12 +70,34 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
} }
@Override @Override
public void doExportBefore(Context context, AttendanceRecordEntity query, List<String> properties) throws AppException { public void doExportAfter(Context context, List<AttendanceRecordEntity> list) throws AppException {
ArrayList<AttendanceRecordEntity> attendanceRecordEntities = new ArrayList<>();
for (AttendanceRecordEntity recordEntity : list) {
List<AttendanceRecordDetailEntity> attendanceRecordDetailList = recordEntity.getAttendanceRecordDetailList();
if(!ObjectUtils.isEmpty(attendanceRecordDetailList)){
for (AttendanceRecordDetailEntity detailEntity : attendanceRecordDetailList) {
AttendanceRecordEntity attendanceRecord = new AttendanceRecordEntity();
attendanceRecord.initAttrValue();
BeanUtils.copyProperties(recordEntity,attendanceRecord);
attendanceRecord.setAttendanceRecordDetailEntity(detailEntity);
attendanceRecordEntities.add(attendanceRecord);
}
}else {
AttendanceRecordEntity attendanceRecord = new AttendanceRecordEntity();
attendanceRecord.initAttrValue();
BeanUtils.copyProperties(recordEntity,attendanceRecord);
attendanceRecordEntities.add(attendanceRecord);
}
}
if(!ObjectUtils.isEmpty(attendanceRecordEntities)){
list.clear();
list.addAll(attendanceRecordEntities);
}
} }
@Override @Override
protected void doListBefore(AttendanceRecordEntity query, Map<String, Object> model, Context context) throws AppException { protected void doListBefore(AttendanceRecordEntity query, Map<String, Object> model, Context context) throws AppException {
if (query.getClassId()!=null){ if (query.getClassId()!=null){
......
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