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

修改用户等

parent cad37e9d
......@@ -24,24 +24,24 @@ public class HolidayListVo {
//转正时间
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;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.common.Rest;
......@@ -8,8 +9,16 @@ import com.mortals.framework.model.Context;
import com.mortals.framework.model.OrderCol;
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.ProcessStatusEnum;
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.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.DeptQuery;
import com.mortals.xhx.module.dept.model.DeptTreeSelect;
......@@ -47,6 +56,17 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ
@Autowired
private DeptService deptService;
@Autowired
private AttendanceRecordService recordService;
@Autowired
private AttendanceRecordHikService recordHikService;
@Autowired
private AttendanceVacationRecordService vacationRecordService;
@Autowired
private AttendanceLeaveRecordService leaveRecordService;
public StaffController() {
super.setModuleDesc("员工基本信息");
......@@ -94,28 +114,77 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ
@Override
protected int infoAfter(Long id, Map<String, Object> model, StaffEntity entity, Context context) throws AppException {
//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<>();
HolidayListVo vo = new HolidayListVo();
StaffEntity staffEntity = this.service.get(id);
vo.setWorkName(staffEntity.getName());
vo.setWorkStatus(String.valueOf(staffEntity.getStatus()));
vo.setWorkDept(staffEntity.getDeptName());
vo.setWorkLimit("1003");
vo.setWorkBeginDay(staffEntity.getEntryDate());
vo.setWorkFormalDay(staffEntity.getRegularDate());
vo.setAttendanceCount("22");
vo.setLeaveCount("2");
vo.setLateCount("1");
vo.setMinerCount("1");
vo.setLackCardCount("0");
vo.setWorkOverDay("2");
vo.setCompensatoryDay("10");
vo.setMarriageHoliday("10");
vo.setWinterHoliday("10");
vo.setPaternityLeaveDay("10");
vo.setWorkName(entity.getName());
vo.setWorkStatus(String.valueOf(entity.getStatus()));
vo.setWorkDept(entity.getDeptName());
vo.setWorkLimit("--");
vo.setWorkBeginDay(entity.getEntryDate());
vo.setWorkFormalDay(entity.getRegularDate());
vo.setAttendanceCount(attendDays);
vo.setLeaveCount(levealPersonNum);
vo.setLateCount(beLate);
vo.setMinerCount(0L);
vo.setLackCardCount(lackOfCards);
vo.setWorkOverDay(0L);
vo.setCompensatoryDay(0);
vo.setMarriageHoliday(0);
vo.setWinterHoliday(0);
vo.setPaternityLeaveDay(0);
holidayListVos.add(vo);
entity.setHolidayLists(holidayListVos);
// StaffEntity cache = this.service.getCache(entity.getWorkNum());
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