Commit 67a51d24 authored by 赵啸非's avatar 赵啸非

修改用户等

parent cad37e9d
...@@ -24,24 +24,24 @@ public class HolidayListVo { ...@@ -24,24 +24,24 @@ public class HolidayListVo {
//转正时间 //转正时间
private Date workFormalDay; private Date workFormalDay;
//本月实际出勤天数 //本月实际出勤天数
private String attendanceCount; private Integer attendanceCount;
//请假天数 //请假天数
private String leaveCount; private Integer leaveCount;
//迟到早退天数 //迟到早退天数
private String lateCount; private Long lateCount;
//矿工天数 //矿工天数
private String minerCount; private Long minerCount;
//缺卡次数 //缺卡次数
private String lackCardCount; private Long lackCardCount;
//加班天数 //加班天数
private String workOverDay; private Long workOverDay;
//调休 //调休
private String compensatoryDay; private Integer compensatoryDay;
//婚假 //婚假
private String marriageHoliday; private Integer marriageHoliday;
//年假 //年假
private String winterHoliday; private Integer winterHoliday;
//陪产假 //陪产假
private String paternityLeaveDay; private Integer paternityLeaveDay;
} }
package com.mortals.xhx.module.staff.web; package com.mortals.xhx.module.staff.web;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
...@@ -8,8 +9,16 @@ import com.mortals.framework.model.Context; ...@@ -8,8 +9,16 @@ import com.mortals.framework.model.Context;
import com.mortals.framework.model.OrderCol; import com.mortals.framework.model.OrderCol;
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.common.code.GoWorkResultEnum;
import com.mortals.xhx.common.code.OffWorkResultEnum;
import com.mortals.xhx.common.code.ProcessStatusEnum;
import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.module.attendance.model.*;
import com.mortals.xhx.module.attendance.model.vo.AttendStatInfo; import com.mortals.xhx.module.attendance.model.vo.AttendStatInfo;
import com.mortals.xhx.module.attendance.service.AttendanceLeaveRecordService;
import com.mortals.xhx.module.attendance.service.AttendanceRecordHikService;
import com.mortals.xhx.module.attendance.service.AttendanceRecordService;
import com.mortals.xhx.module.attendance.service.AttendanceVacationRecordService;
import com.mortals.xhx.module.dept.model.DeptEntity; import com.mortals.xhx.module.dept.model.DeptEntity;
import com.mortals.xhx.module.dept.model.DeptQuery; import com.mortals.xhx.module.dept.model.DeptQuery;
import com.mortals.xhx.module.dept.model.DeptTreeSelect; import com.mortals.xhx.module.dept.model.DeptTreeSelect;
...@@ -47,6 +56,17 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ ...@@ -47,6 +56,17 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ
@Autowired @Autowired
private DeptService deptService; private DeptService deptService;
@Autowired
private AttendanceRecordService recordService;
@Autowired
private AttendanceRecordHikService recordHikService;
@Autowired
private AttendanceVacationRecordService vacationRecordService;
@Autowired
private AttendanceLeaveRecordService leaveRecordService;
public StaffController() { public StaffController() {
super.setModuleDesc("员工基本信息"); super.setModuleDesc("员工基本信息");
...@@ -94,28 +114,77 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ ...@@ -94,28 +114,77 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ
@Override @Override
protected int infoAfter(Long id, Map<String, Object> model, StaffEntity entity, Context context) throws AppException { protected int infoAfter(Long id, Map<String, Object> model, StaffEntity entity, Context context) throws AppException {
//todo 员工统计信息 //todo 员工统计信息
AttendanceRecordHikQuery hikQuery = new AttendanceRecordHikQuery();
hikQuery.setAttendanceDateStart(DateUtil.beginOfMonth(new Date()).toDateStr());
hikQuery.setAttendanceDateEnd(DateUtil.today());
hikQuery.setStaffId(entity.getId());
//出勤天数
Map<String, List<AttendanceRecordHikEntity>> collect = recordHikService.find(hikQuery, context).stream().collect(Collectors.groupingBy(x -> DateUtil.formatDate(x.getAttendanceDate())));
Integer attendDays = collect.keySet().size();
AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery();
attendanceRecordQuery.setAttendanceDateStart(DateUtil.beginOfMonth(new Date()).toDateStr());
attendanceRecordQuery.setAttendanceDateEnd(DateUtil.today());
attendanceRecordQuery.setStaffId(entity.getId());
List<AttendanceRecordEntity> attendanceRecordEntities = recordService.find(attendanceRecordQuery);
//迟到次数
Long beLate = attendanceRecordEntities.parallelStream()
.flatMap(item -> item.getAttendanceRecordDetailList().stream())
.filter(f -> GoWorkResultEnum.迟到.getValue() == f.getGoWorkResult() || OffWorkResultEnum.迟到.getValue() == f.getOffWorkResult())
.map(i -> i.getStaffId())
.distinct()
.count();
//早退次数
long leaveEarly = attendanceRecordEntities.parallelStream()
.flatMap(item -> item.getAttendanceRecordDetailList().stream())
.filter(f -> GoWorkResultEnum.早退.getValue() == f.getGoWorkResult() || OffWorkResultEnum.早退.getValue() == f.getOffWorkResult())
.map(i -> i.getStaffId())
.distinct()
.count();
//缺卡次数
long lackOfCards = attendanceRecordEntities.parallelStream()
.flatMap(item -> item.getAttendanceRecordDetailList().stream())
.filter(f -> GoWorkResultEnum.缺卡.getValue() == f.getGoWorkResult() || OffWorkResultEnum.缺卡.getValue() == f.getOffWorkResult())
.map(i -> i.getStaffId())
.distinct()
.count();
AttendanceLeaveRecordQuery leaveRecordQuery = new AttendanceLeaveRecordQuery();
leaveRecordQuery.setCreateTimeStart(DateUtil.beginOfMonth(new Date()).toDateStr());
leaveRecordQuery.setCreateTimeEnd(DateUtil.today());
leaveRecordQuery.setLeavePersonId(entity.getId());
leaveRecordQuery.setProcessStatus(ProcessStatusEnum.已处理.getValue());
int levealPersonNum = leaveRecordService.count(leaveRecordQuery, getContext());
List<HolidayListVo> holidayListVos = new ArrayList<>(); List<HolidayListVo> holidayListVos = new ArrayList<>();
HolidayListVo vo = new HolidayListVo(); HolidayListVo vo = new HolidayListVo();
StaffEntity staffEntity = this.service.get(id);
vo.setWorkName(staffEntity.getName()); vo.setWorkName(entity.getName());
vo.setWorkStatus(String.valueOf(staffEntity.getStatus())); vo.setWorkStatus(String.valueOf(entity.getStatus()));
vo.setWorkDept(staffEntity.getDeptName()); vo.setWorkDept(entity.getDeptName());
vo.setWorkLimit("1003"); vo.setWorkLimit("--");
vo.setWorkBeginDay(staffEntity.getEntryDate()); vo.setWorkBeginDay(entity.getEntryDate());
vo.setWorkFormalDay(staffEntity.getRegularDate()); vo.setWorkFormalDay(entity.getRegularDate());
vo.setAttendanceCount("22"); vo.setAttendanceCount(attendDays);
vo.setLeaveCount("2"); vo.setLeaveCount(levealPersonNum);
vo.setLateCount("1"); vo.setLateCount(beLate);
vo.setMinerCount("1"); vo.setMinerCount(0L);
vo.setLackCardCount("0"); vo.setLackCardCount(lackOfCards);
vo.setWorkOverDay("2"); vo.setWorkOverDay(0L);
vo.setCompensatoryDay("10"); vo.setCompensatoryDay(0);
vo.setMarriageHoliday("10"); vo.setMarriageHoliday(0);
vo.setWinterHoliday("10"); vo.setWinterHoliday(0);
vo.setPaternityLeaveDay("10"); vo.setPaternityLeaveDay(0);
holidayListVos.add(vo); holidayListVos.add(vo);
entity.setHolidayLists(holidayListVos); entity.setHolidayLists(holidayListVos);
// StaffEntity cache = this.service.getCache(entity.getWorkNum());
return super.infoAfter(id, model, entity, context); return super.infoAfter(id, model, entity, context);
} }
......
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