Commit 673d84b5 authored by daijunxiong's avatar daijunxiong

汇总关联 职位关联

parent 51f6da09
...@@ -11,7 +11,6 @@ import com.mortals.xhx.busiz.rsp.ListDept; ...@@ -11,7 +11,6 @@ import com.mortals.xhx.busiz.rsp.ListDept;
import com.mortals.xhx.busiz.rsp.ListItem; import com.mortals.xhx.busiz.rsp.ListItem;
import com.mortals.xhx.busiz.rsp.PersonHikData; import com.mortals.xhx.busiz.rsp.PersonHikData;
import com.mortals.xhx.module.attendance.dao.ibatis.*; import com.mortals.xhx.module.attendance.dao.ibatis.*;
import com.mortals.xhx.module.attendance.model.AttendanceRecordEntity;
import com.mortals.xhx.module.attendance.model.AttendanceStatEntity; import com.mortals.xhx.module.attendance.model.AttendanceStatEntity;
import com.mortals.xhx.module.attendance.model.AttendanceVacationBalanceEntity; import com.mortals.xhx.module.attendance.model.AttendanceVacationBalanceEntity;
import com.mortals.xhx.module.dept.dao.ibatis.DeptDaoImpl; import com.mortals.xhx.module.dept.dao.ibatis.DeptDaoImpl;
...@@ -24,7 +23,6 @@ import lombok.extern.slf4j.Slf4j; ...@@ -24,7 +23,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.Objects; import java.util.Objects;
...@@ -79,20 +77,21 @@ public class SyncUserTaskImpl implements ITaskExcuteService { ...@@ -79,20 +77,21 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
DeptEntity deptEntityParent = deptDao.queryDeptParient(listDept.getParentOrgIndexCode()); DeptEntity deptEntityParent = deptDao.queryDeptParient(listDept.getParentOrgIndexCode());
//新增 //新增
if (Objects.isNull(deptEntity)) { if (Objects.isNull(deptEntity)) {
deptEntity.initAttrValue(); DeptEntity deptEntity1=new DeptEntity();
deptEntity1.initAttrValue();
if (Objects.nonNull(deptEntityParent)) { if (Objects.nonNull(deptEntityParent)) {
deptEntity.setParentId(deptEntityParent.getId()); deptEntity1.setParentId(deptEntityParent.getId());
} }
deptEntity.setDeptName(listDept.getOrgName()); deptEntity1.setDeptName(listDept.getOrgName());
deptEntity.setDeptCode(listDept.getOrgIndexCode()); deptEntity1.setDeptCode(listDept.getOrgIndexCode());
deptEntity.setAncestors(listDept.getOrgPath()); deptEntity1.setAncestors(listDept.getOrgPath());
deptEntity.setOrderNum(0); deptEntity1.setOrderNum(0);
deptEntity.setRemark(listDept.getParentOrgIndexCode()); deptEntity1.setRemark(listDept.getParentOrgIndexCode());
deptEntity.setCreateTime(new Date()); deptEntity1.setCreateTime(new Date());
deptEntity.setCreateUserId(Long.valueOf(1)); deptEntity1.setCreateUserId(Long.valueOf(1));
deptEntity.setUpdateTime(new Date()); deptEntity1.setUpdateTime(new Date());
deptEntity.setUpdateUserId(Long.valueOf(1)); deptEntity1.setUpdateUserId(Long.valueOf(1));
deptService.save(deptEntity); deptService.save(deptEntity1);
} else { } else {
//更新 //更新
deptEntity.initAttrValue(); deptEntity.initAttrValue();
...@@ -122,31 +121,38 @@ public class SyncUserTaskImpl implements ITaskExcuteService { ...@@ -122,31 +121,38 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
//判断本地数据是否为空 //判断本地数据是否为空
if (Objects.isNull(staffEntity1)) { if (Objects.isNull(staffEntity1)) {
//新增员工信息 //新增员工信息
staffEntity1.initAttrValue(); StaffEntity staffEntity= new StaffEntity();
staffEntity.initAttrValue();
if (Objects.nonNull(staffEntity1)) { if (Objects.nonNull(staffEntity1)) {
staffEntity1.setDeptId(deptEntity.getId()); staffEntity.setDeptId(deptEntity.getId());
} }
staffEntity1.setName(list.getPersonName()); staffEntity.setName(list.getPersonName());
staffEntity1.setRemarkId(list.getPersonId()); staffEntity.setRemarkId(list.getPersonId());
staffEntity1.setPicUri(list.getPersonPhoto().getPicUri()); staffEntity.setPicUri(list.getPersonPhoto().getPicUri());
staffEntity1.setServerIndexCode(list.getPersonPhoto().getServerIndexCode()); staffEntity.setServerIndexCode(list.getPersonPhoto().getServerIndexCode());
staffEntity1.setDeptName(list.getOrgName()); staffEntity.setDeptName(list.getOrgName());
staffEntity1.setSource(1); staffEntity.setSource(1);
staffEntity1.setStatus(1); staffEntity.setStatus(1);
staffEntity1.setGender(list.getGender()); staffEntity.setGender(list.getGender());
staffEntity1.setWorkNum(list.getJobNo()); staffEntity.setWorkNum(list.getJobNo());
staffEntity1.setCreateUserId(Long.valueOf(1)); staffEntity.setCreateUserId(Long.valueOf(1));
staffEntity1.setCreateTime(new Date()); staffEntity.setCreateTime(new Date());
if (list.getBirthday() != null) { if (list.getBirthday() != null) {
staffEntity1.setBirthday((Date) list.getBirthday()); staffEntity.setBirthday((Date) list.getBirthday());
} }
if (list.getPhoneNo() != null) { if (list.getPhoneNo() != null) {
staffEntity1.setPhoneNumber(String.valueOf(list.getPhoneNo())); staffEntity.setPhoneNumber(String.valueOf(list.getPhoneNo()));
} }
service.save(staffEntity1); service.save(staffEntity);
AttendanceVacationBalanceEntity attendanceVacationBalanceEntity= new AttendanceVacationBalanceEntity();
attendanceVacationBalanceEntity.initAttrValue();
attendanceVacationBalanceEntity.setStaffId(staffEntity.getId());
attendanceVacationBalanceEntity.setStaffName(staffEntity.getName());
attendanceVacationBalanceEntity.setDeptId(deptEntity.getId());
attendanceVacationBalanceEntity.setDeptName(deptEntity.getDeptName());
balanceDao.insert(attendanceVacationBalanceEntity);
//统计各级部门员工数量 //统计各级部门员工数量
DeptEntity deptEntity1 = deptService.get(staffEntity1.getDeptId()); String ancestor = deptEntity.getAncestors().split(",", 2)[1];
String ancestor = deptEntity1.getAncestors().split(",", 2)[1];
String[] ancestors = ancestor.split(","); String[] ancestors = ancestor.split(",");
for (String newAncestor : ancestors) { for (String newAncestor : ancestors) {
DeptEntity deptEntity2 = deptService.get(Long.valueOf(newAncestor)); DeptEntity deptEntity2 = deptService.get(Long.valueOf(newAncestor));
...@@ -180,60 +186,70 @@ public class SyncUserTaskImpl implements ITaskExcuteService { ...@@ -180,60 +186,70 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
staffEntity1.setPhoneNumber(String.valueOf(list.getPhoneNo())); staffEntity1.setPhoneNumber(String.valueOf(list.getPhoneNo()));
} }
service.update(staffEntity1); service.update(staffEntity1);
AttendanceVacationBalanceEntity attendanceVacationBalanceEntity= new AttendanceVacationBalanceEntity();
attendanceVacationBalanceEntity.initAttrValue();
attendanceVacationBalanceEntity.setStaffId(staffEntity1.getId());
attendanceVacationBalanceEntity.setStaffName(staffEntity1.getName());
attendanceVacationBalanceEntity.setDeptId(deptEntity.getId());
attendanceVacationBalanceEntity.setDeptName(deptEntity.getDeptName());
balanceDao.update(attendanceVacationBalanceEntity);
//统计各级部门员工数量 //统计各级部门员工数量
DeptEntity deptEntity1 = deptService.get(staffEntity1.getDeptId()); String ancestor = deptEntity.getAncestors().split(",", 2)[1];
String ancestor = deptEntity1.getAncestors().split(",", 2)[1];
String[] ancestors = ancestor.split(","); String[] ancestors = ancestor.split(",");
for (String newAncestor : ancestors) { for (String newAncestor : ancestors) {
DeptEntity deptEntity2 = deptService.get(Long.valueOf(newAncestor)); DeptEntity deptEntity2 = deptService.get(Long.valueOf(newAncestor));
if (Objects.nonNull(deptEntity2)) { if (Objects.nonNull(deptEntity2)) {
deptEntity2.setPersonNum(deptEntity2.getPersonNum() + 1); deptEntity2.setPersonNum(deptEntity2.getPersonNum() + 1);
deptService.update(deptEntity2); deptService.update(deptEntity2);
System.out.println("1");
} }
} }
} }
//同步人员的考勤汇总信息 //同步人员的考勤汇总信息
//通过员工id获取考勤数据 // //通过员工id获取考勤数据
AttendanceRecordEntity attendanceRecordEntity = attendanceRecordDao.get(staffEntity1.getId()); // AttendanceRecordEntity attendanceRecordEntity = attendanceRecordDao.get(staffEntity1.getId());
//通过考勤id统计上班迟到次数 // //通过考勤id统计上班迟到次数
int goWorkCountDele = attendanceRecordDetailDao.goWorkCount(attendanceRecordEntity.getId()); //// int goWorkCountDele = attendanceRecordDetailDao.goWorkCount(attendanceRecordEntity.getId());
//员工id获取异常打卡所有记录 //// //员工id获取异常打卡所有记录
int errorAttendaceCount = attendanceRecordErrorDao.errorAttendance(attendanceRecordEntity.getId()); //// int errorAttendaceCount = attendanceRecordErrorDao.errorAttendance(attendanceRecordEntity.getId());
AttendanceVacationBalanceEntity balanceEntity = balanceDao.queryEntity(attendanceRecordEntity.getId()); AttendanceVacationBalanceEntity balanceEntity = balanceDao.queryEntity(staffEntity1.getId());
AttendanceStatEntity statEntity = attendanceStatDao.queryEntity(staffEntity1.getId()); AttendanceStatEntity statEntity = attendanceStatDao.queryEntity(staffEntity1.getId());
//为空执行新增 //为空执行新增
if (Objects.isNull(statEntity)){ if (Objects.isNull(statEntity)){
statEntity.initAttrValue(); AttendanceStatEntity attendanceStatEntity=new AttendanceStatEntity();
statEntity.setStaffId(staffEntity1.getId()); attendanceStatEntity.initAttrValue();
statEntity.setStaffName(staffEntity1.getName()); attendanceStatEntity.setStaffId(staffEntity1.getId());
statEntity.setDeptId(staffEntity1.getDeptId()); attendanceStatEntity.setStaffName(staffEntity1.getName());
statEntity.setDeptName(staffEntity1.getDeptName()); attendanceStatEntity.setDeptId(staffEntity1.getDeptId());
attendanceStatEntity.setDeptName(staffEntity1.getDeptName());
attendanceStatEntity.setCreateTime(new Date());
attendanceStatEntity.setCreateUserId(Long.valueOf(1));
//21假 //21假
statEntity.setBackToUnit(balanceEntity.getBackToUnit()); attendanceStatEntity.setBackToUnit(balanceEntity.getBackToUnit());
statEntity.setOnDutyLeave(balanceEntity.getOnDutyLeave()); attendanceStatEntity.setOnDutyLeave(balanceEntity.getOnDutyLeave());
statEntity.setOutOfOffice(balanceEntity.getOutOfOffice()); attendanceStatEntity.setOutOfOffice(balanceEntity.getOutOfOffice());
statEntity.setShiftCompensation(balanceEntity.getShiftCompensation()); attendanceStatEntity.setShiftCompensation(balanceEntity.getShiftCompensation());
statEntity.setPhysicalExamination(balanceEntity.getPhysicalExamination()); attendanceStatEntity.setPhysicalExamination(balanceEntity.getPhysicalExamination());
statEntity.setQuarantine(balanceEntity.getQuarantine()); attendanceStatEntity.setQuarantine(balanceEntity.getQuarantine());
statEntity.setBusinessTrip(balanceEntity.getBusinessTrip()); attendanceStatEntity.setBusinessTrip(balanceEntity.getBusinessTrip());
statEntity.setPublicHoliday(balanceEntity.getPublicHoliday()); attendanceStatEntity.setPublicHoliday(balanceEntity.getPublicHoliday());
statEntity.setSickLeave(balanceEntity.getSickLeaveDays()); attendanceStatEntity.setSickLeave(balanceEntity.getSickLeaveDays());
statEntity.setFuneralLeave(balanceEntity.getBereavementLeaveDays()); attendanceStatEntity.setFuneralLeave(balanceEntity.getBereavementLeaveDays());
statEntity.setMarriageLeave(balanceEntity.getMarriageLeaveDays()); attendanceStatEntity.setMarriageLeave(balanceEntity.getMarriageLeaveDays());
statEntity.setChildRearingLeave(balanceEntity.getChildRearingLeave()); attendanceStatEntity.setChildRearingLeave(balanceEntity.getChildRearingLeave());
statEntity.setBreastfeedingLeaveDays(balanceEntity.getBreastfeedingLeaveDays()); attendanceStatEntity.setBreastfeedingLeaveDays(balanceEntity.getBreastfeedingLeaveDays());
statEntity.setMenstrualLeaveDays(balanceEntity.getMenstrualLeaveDays()); attendanceStatEntity.setMenstrualLeaveDays(balanceEntity.getMenstrualLeaveDays());
statEntity.setAnnualLeaveDays(balanceEntity.getAnnualLeaveDays()); attendanceStatEntity.setAnnualLeaveDays(balanceEntity.getAnnualLeaveDays());
statEntity.setCompensatedLeaveDays(balanceEntity.getCompensatedLeaveDays()); attendanceStatEntity.setCompensatedLeaveDays(balanceEntity.getCompensatedLeaveDays());
statEntity.setPaternityLeaveDays(balanceEntity.getPaternityLeaveDays()); attendanceStatEntity.setPaternityLeaveDays(balanceEntity.getPaternityLeaveDays());
statEntity.setMaternityLeave(balanceEntity.getMaternityLeaveDays()); attendanceStatEntity.setMaternityLeave(balanceEntity.getMaternityLeaveDays());
statEntity.setTransferBack(balanceEntity.getTransferBack()); attendanceStatEntity.setTransferBack(balanceEntity.getTransferBack());
statEntity.setHomeLeave(balanceEntity.getHomeLeave()); attendanceStatEntity.setHomeLeave(balanceEntity.getHomeLeave());
statEntity.setPersonalLeave(balanceEntity.getPersonalLeaveDays()); attendanceStatEntity.setPersonalLeave(balanceEntity.getPersonalLeaveDays());
statEntity.setLateTimes(goWorkCountDele); // attendanceStatEntity.setLateTimes(goWorkCountDele);
statEntity.setNonCompliancePunch(BigDecimal.valueOf(errorAttendaceCount)); // attendanceStatEntity.setNonCompliancePunch(BigDecimal.valueOf(errorAttendaceCount));
attendanceStatDao.insert(statEntity); attendanceStatDao.insert(attendanceStatEntity);
} }
//不为空执行修改 //不为空执行修改
else { else {
...@@ -242,6 +258,7 @@ public class SyncUserTaskImpl implements ITaskExcuteService { ...@@ -242,6 +258,7 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
statEntity.setStaffName(staffEntity1.getName()); statEntity.setStaffName(staffEntity1.getName());
statEntity.setDeptId(staffEntity1.getDeptId()); statEntity.setDeptId(staffEntity1.getDeptId());
statEntity.setDeptName(staffEntity1.getDeptName()); statEntity.setDeptName(staffEntity1.getDeptName());
//21假 //21假
statEntity.setBackToUnit(balanceEntity.getBackToUnit()); statEntity.setBackToUnit(balanceEntity.getBackToUnit());
statEntity.setOnDutyLeave(balanceEntity.getOnDutyLeave()); statEntity.setOnDutyLeave(balanceEntity.getOnDutyLeave());
...@@ -264,15 +281,13 @@ public class SyncUserTaskImpl implements ITaskExcuteService { ...@@ -264,15 +281,13 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
statEntity.setTransferBack(balanceEntity.getTransferBack()); statEntity.setTransferBack(balanceEntity.getTransferBack());
statEntity.setHomeLeave(balanceEntity.getHomeLeave()); statEntity.setHomeLeave(balanceEntity.getHomeLeave());
statEntity.setPersonalLeave(balanceEntity.getPersonalLeaveDays()); statEntity.setPersonalLeave(balanceEntity.getPersonalLeaveDays());
statEntity.setLateTimes(goWorkCountDele); // statEntity.setLateTimes(goWorkCountDele);
statEntity.setNonCompliancePunch(BigDecimal.valueOf(errorAttendaceCount)); // statEntity.setNonCompliancePunch(BigDecimal.valueOf(errorAttendaceCount));
attendanceStatDao.update(statEntity); attendanceStatDao.update(statEntity);
} }
} }
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
......
...@@ -27,7 +27,6 @@ public class AttendanceVacationBalanceEntity extends AttendanceVacationBalanceVo ...@@ -27,7 +27,6 @@ public class AttendanceVacationBalanceEntity extends AttendanceVacationBalanceVo
/** /**
* 部门id * 部门id
*/ */
@Excel(name = "部门id")
private Long deptId; private Long deptId;
/** /**
* 部门名称 * 部门名称
......
...@@ -51,4 +51,6 @@ public interface DeptService extends ICRUDService<DeptEntity,Long>{ ...@@ -51,4 +51,6 @@ public interface DeptService extends ICRUDService<DeptEntity,Long>{
} }
\ No newline at end of file
...@@ -2,7 +2,9 @@ package com.mortals.xhx.module.job.dao; ...@@ -2,7 +2,9 @@ package com.mortals.xhx.module.job.dao;
import com.mortals.framework.dao.ICRUDDao; import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.job.model.JobEntity; import com.mortals.xhx.module.job.model.JobEntity;
import java.util.List; import java.util.List;
/** /**
* 职位信息Dao * 职位信息Dao
* 职位信息 DAO接口 * 职位信息 DAO接口
...@@ -13,5 +15,7 @@ import java.util.List; ...@@ -13,5 +15,7 @@ import java.util.List;
public interface JobDao extends ICRUDDao<JobEntity,Long>{ public interface JobDao extends ICRUDDao<JobEntity,Long>{
List<JobEntity> queryGroupName();
List<JobEntity> queryPositionName();
} }
package com.mortals.xhx.module.job.dao.ibatis; package com.mortals.xhx.module.job.dao.ibatis;
import org.springframework.stereotype.Repository; import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import com.mortals.xhx.module.job.dao.JobDao; import com.mortals.xhx.module.job.dao.JobDao;
import com.mortals.xhx.module.job.model.JobEntity; import com.mortals.xhx.module.job.model.JobEntity;
import java.util.Date; import org.springframework.stereotype.Repository;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List; import java.util.List;
/** /**
* 职位信息DaoImpl DAO接口 * 职位信息DaoImpl DAO接口
* *
...@@ -17,5 +18,13 @@ import java.util.List; ...@@ -17,5 +18,13 @@ import java.util.List;
public class JobDaoImpl extends BaseCRUDDaoMybatis<JobEntity,Long> implements JobDao { public class JobDaoImpl extends BaseCRUDDaoMybatis<JobEntity,Long> implements JobDao {
@Override
public List<JobEntity> queryGroupName() {
return getSqlSession().selectList(getSqlId("queryGroupName"));
}
@Override
public List<JobEntity> queryPositionName() {
return getSqlSession().selectList(getSqlId("queryPositionName"));
}
} }
package com.mortals.xhx.module.job.model; package com.mortals.xhx.module.job.model;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.job.model.vo.JobVo; import com.mortals.xhx.module.job.model.vo.JobVo;
/** /**
* 职位信息实体对象 * 职位信息实体对象
...@@ -164,7 +159,7 @@ public class JobEntity extends JobVo { ...@@ -164,7 +159,7 @@ public class JobEntity extends JobVo {
public void initAttrValue(){ public void initAttrValue(){
this.groupId = null; this.groupId = 0L;
this.groupName = ""; this.groupName = "";
......
...@@ -2,6 +2,7 @@ package com.mortals.xhx.module.job.model.vo; ...@@ -2,6 +2,7 @@ package com.mortals.xhx.module.job.model.vo;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.job.model.JobEntity; import com.mortals.xhx.module.job.model.JobEntity;
import com.mortals.xhx.module.staff.model.StaffEntity;
import lombok.Data; import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -19,4 +20,6 @@ public class JobVo extends BaseEntityLong { ...@@ -19,4 +20,6 @@ public class JobVo extends BaseEntityLong {
* 子站点业务 * 子站点业务
*/ */
private List<JobEntity> children = new ArrayList<>(); private List<JobEntity> children = new ArrayList<>();
private List<StaffEntity> staffEntities ;
} }
\ No newline at end of file
package com.mortals.xhx.module.job.service; package com.mortals.xhx.module.job.service;
import com.mortals.framework.service.ICRUDService; import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.job.model.JobEntity; import com.mortals.xhx.module.job.model.JobEntity;
import com.mortals.xhx.module.job.model.JobQuery;
import java.util.List;
/** /**
* JobService * JobService
* *
...@@ -10,5 +15,6 @@ import com.mortals.xhx.module.job.model.JobEntity; ...@@ -10,5 +15,6 @@ import com.mortals.xhx.module.job.model.JobEntity;
* @date 2023-04-07 * @date 2023-04-07
*/ */
public interface JobService extends ICRUDService<JobEntity,Long>{ public interface JobService extends ICRUDService<JobEntity,Long>{
List<JobEntity> queryGroupName(JobQuery jobQuery);
List<JobEntity> queryPositionName(JobQuery jobQuery);
} }
\ No newline at end of file
...@@ -25,6 +25,7 @@ public class JobServiceImpl extends AbstractCRUDServiceImpl<JobDao, JobEntity, L ...@@ -25,6 +25,7 @@ public class JobServiceImpl extends AbstractCRUDServiceImpl<JobDao, JobEntity, L
protected void findAfter(JobEntity entity, Context context, List<JobEntity> list) throws AppException { protected void findAfter(JobEntity entity, Context context, List<JobEntity> list) throws AppException {
list.stream().peek(item -> { list.stream().peek(item -> {
List<JobEntity> childs = this.find(new JobQuery().groupId(item.getId())); List<JobEntity> childs = this.find(new JobQuery().groupId(item.getId()));
System.out.println("111"+childs);
if (!ObjectUtils.isEmpty(childs)) { if (!ObjectUtils.isEmpty(childs)) {
item.setChildren(childs); item.setChildren(childs);
} else { } else {
...@@ -32,4 +33,14 @@ public class JobServiceImpl extends AbstractCRUDServiceImpl<JobDao, JobEntity, L ...@@ -32,4 +33,14 @@ public class JobServiceImpl extends AbstractCRUDServiceImpl<JobDao, JobEntity, L
} }
}).count(); }).count();
} }
@Override
public List<JobEntity> queryGroupName(JobQuery jobQuery) {
return dao.queryGroupName();
}
@Override
public List<JobEntity> queryPositionName(JobQuery jobQuery) {
return dao.queryPositionName();
}
} }
\ No newline at end of file
package com.mortals.xhx.module.job.web; package com.mortals.xhx.module.job.web;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
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.JobTypeEnum; import com.mortals.xhx.common.code.JobTypeEnum;
import com.mortals.xhx.module.job.model.JobEntity; import com.mortals.xhx.module.job.model.JobEntity;
import com.mortals.xhx.module.job.model.JobQuery;
import com.mortals.xhx.module.job.service.JobService; import com.mortals.xhx.module.job.service.JobService;
import com.mortals.xhx.module.staff.model.StaffEntity;
import com.mortals.xhx.module.staff.service.impl.StaffServiceImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 职位信息 * 职位信息
...@@ -26,6 +30,9 @@ public class JobController extends BaseCRUDJsonBodyMappingController<JobService, ...@@ -26,6 +30,9 @@ public class JobController extends BaseCRUDJsonBodyMappingController<JobService,
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
@Autowired
private StaffServiceImpl staffService;
public JobController() { public JobController() {
super.setModuleDesc("职位信息"); super.setModuleDesc("职位信息");
...@@ -34,13 +41,21 @@ public class JobController extends BaseCRUDJsonBodyMappingController<JobService, ...@@ -34,13 +41,21 @@ public class JobController extends BaseCRUDJsonBodyMappingController<JobService,
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "type", JobTypeEnum.getEnumMap()); this.addDict(model, "type", JobTypeEnum.getEnumMap());
this.addDict(model, "group",service.queryGroupName(new JobQuery()).stream().collect(Collectors.toMap(x->x.getId().toString(), y->y.getGroupName(),(o, n)->n)));
super.init(model, context); super.init(model, context);
} }
@Override @Override
protected void doListBefore(JobEntity query, Map<String, Object> model, Context context) throws AppException { protected void doListBefore(JobEntity query, Map<String, Object> model, Context context) {
query.setSize(-1); query.setSize(-1);
query.setType(1);
super.doListBefore(query, model, context); super.doListBefore(query, model, context);
} }
@Override
protected int infoAfter(Long id, Map<String, Object> model, JobEntity entity, Context context) throws AppException {
List<StaffEntity> staffEntity = staffService.queryJob(id);
entity.setStaffEntities(staffEntity);
return super.infoAfter(id, model, entity, context);
}
} }
...@@ -57,4 +57,9 @@ public interface StaffDao extends ICRUDDao<StaffEntity,Long>{ ...@@ -57,4 +57,9 @@ public interface StaffDao extends ICRUDDao<StaffEntity,Long>{
* 查询部门信息 * 查询部门信息
* */ * */
StaffEntity queryHik(String remarkId); StaffEntity queryHik(String remarkId);
/**
* 查询拥有职位的员工
* */
List<StaffEntity> queryJob(Long positionId);
} }
...@@ -59,5 +59,10 @@ public class StaffDaoImpl extends BaseCRUDDaoMybatis<StaffEntity,Long> implement ...@@ -59,5 +59,10 @@ public class StaffDaoImpl extends BaseCRUDDaoMybatis<StaffEntity,Long> implement
return this.getSqlSession().selectOne(this.getSqlId("queryHik"),remarkId); return this.getSqlSession().selectOne(this.getSqlId("queryHik"),remarkId);
} }
@Override
public List<StaffEntity> queryJob(Long positionId){
return getSqlSession().selectList(this.getSqlId("queryJob"),positionId);
}
} }
...@@ -22,7 +22,7 @@ public class StaffEntity extends StaffVo { ...@@ -22,7 +22,7 @@ public class StaffEntity extends StaffVo {
/** /**
* 性别(1.男,2.女) * 性别(1.男,2.女)
*/ */
@Excel(name = "性别") @Excel(name = "性别",readConverterExp = "1=男,2=女")
private Integer gender; private Integer gender;
/** /**
* 出生日期 * 出生日期
...@@ -73,10 +73,12 @@ public class StaffEntity extends StaffVo { ...@@ -73,10 +73,12 @@ public class StaffEntity extends StaffVo {
/** /**
* 员工类型(1.全职,2.兼职,3.实习) * 员工类型(1.全职,2.兼职,3.实习)
*/ */
@Excel(name = "员工类型",readConverterExp = "1=全职,2=兼职,3=实习")
private Integer staffType; private Integer staffType;
/** /**
* 员工状态(1.正式,2.试用,3.离职) * 员工状态(1.正式,2.试用,3.离职)
*/ */
@Excel(name = "员工状态",readConverterExp = "1=正式,2=试用,3=离职")
private Integer status; private Integer status;
/** /**
* 入职登记表 * 入职登记表
......
package com.mortals.xhx.module.staff.service; package com.mortals.xhx.module.staff.service;
import com.mortals.framework.service.ICRUDCacheService; import com.mortals.framework.service.ICRUDCacheService;
import com.mortals.xhx.module.staff.model.StaffEntity; import com.mortals.xhx.module.staff.model.StaffEntity;
import com.mortals.xhx.module.staff.model.vo.StaffInfoVo; import com.mortals.xhx.module.staff.model.vo.StaffInfoVo;
import java.util.List;
/** /**
* StaffService * StaffService
* *
...@@ -13,10 +16,10 @@ import com.mortals.xhx.module.staff.model.vo.StaffInfoVo; ...@@ -13,10 +16,10 @@ import com.mortals.xhx.module.staff.model.vo.StaffInfoVo;
*/ */
public interface StaffService extends ICRUDCacheService<StaffEntity,Long> { public interface StaffService extends ICRUDCacheService<StaffEntity,Long> {
//查询所有数据
StaffInfoVo queryAll(); StaffInfoVo queryAll();
//统计所有在职员工
int queryAllPerson(); int queryAllPerson();
//查询员工数据
List<StaffEntity> queryJob(Long positionId);
} }
\ No newline at end of file
...@@ -10,6 +10,8 @@ import com.mortals.xhx.module.staff.service.StaffService; ...@@ -10,6 +10,8 @@ import com.mortals.xhx.module.staff.service.StaffService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* StaffService * StaffService
* 员工基本信息 service实现 * 员工基本信息 service实现
...@@ -60,6 +62,10 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta ...@@ -60,6 +62,10 @@ public class StaffServiceImpl extends AbstractCRUDCacheServiceImpl<StaffDao, Sta
return staffDao.queryInWork(); return staffDao.queryInWork();
} }
@Override
public List<StaffEntity> queryJob(Long positionId) {
return dao.queryJob(positionId);
}
} }
\ No newline at end of file
...@@ -52,17 +52,13 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ ...@@ -52,17 +52,13 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ
this.addDict(model, "politicalstatus", paramService.getParamBySecondOrganize("Staff","politicalstatus")); this.addDict(model, "politicalstatus", paramService.getParamBySecondOrganize("Staff","politicalstatus"));
this.addDict(model, "staffType", paramService.getParamBySecondOrganize("Staff","staffType")); this.addDict(model, "staffType", paramService.getParamBySecondOrganize("Staff","staffType"));
this.addDict(model, "status", paramService.getParamBySecondOrganize("Staff","status")); this.addDict(model, "status", paramService.getParamBySecondOrganize("Staff","status"));
this.addDict(model, "positionId", jobService.find(new JobQuery()).stream().collect(Collectors.toMap(x->x.getId().toString(),y->y.getJobName(),(o,n)->n))); this.addDict(model, "positionId", jobService.queryPositionName(new JobQuery()).stream().collect(Collectors.toMap(x->x.getId().toString(),y->y.getJobName(),(o,n)->n)));
List<DeptEntity> list = deptService.find(new DeptQuery()); List<DeptEntity> list = deptService.find(new DeptQuery());
List<DeptTreeSelect> treeSelects = deptService.buildDeptTreeSelect(list); List<DeptTreeSelect> treeSelects = deptService.buildDeptTreeSelect(list);
this.addDict(model,"deptPerson",treeSelects); this.addDict(model,"deptPerson",treeSelects);
super.init(model, context); super.init(model, context);
} }
@Override
protected void doListBefore(StaffEntity query, Map<String, Object> model, Context context) throws AppException {
super.doListBefore(query, model, context);
}
@Override @Override
protected int doListAfter(StaffEntity query, Map<String, Object> model, Context context) throws AppException { protected int doListAfter(StaffEntity query, Map<String, Object> model, Context context) throws AppException {
......
...@@ -2563,6 +2563,6 @@ ...@@ -2563,6 +2563,6 @@
</if> </if>
</sql> </sql>
<select id="queryEntity" resultType="com.mortals.xhx.module.attendance.model.AttendanceStatEntity"> <select id="queryEntity" resultType="com.mortals.xhx.module.attendance.model.AttendanceStatEntity">
select * from mortals_xhx_attendance_vacation_balance where staffId = #{staffId} select * from mortals_xhx_attendance_stat where staffId = #{staffId}
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -672,4 +672,10 @@ ...@@ -672,4 +672,10 @@
</trim> </trim>
</if> </if>
</sql> </sql>
<select id="queryGroupName" resultType="com.mortals.xhx.module.job.model.JobEntity">
select id,groupName from mortals_xhx_job where type = 1
</select>
<select id="queryPositionName" resultType="com.mortals.xhx.module.job.model.JobEntity">
select id,jobName from mortals_xhx_job where type = 2
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -1420,4 +1420,7 @@ ...@@ -1420,4 +1420,7 @@
<select id="queryHik" resultType="com.mortals.xhx.module.staff.model.StaffEntity"> <select id="queryHik" resultType="com.mortals.xhx.module.staff.model.StaffEntity">
select * from mortals_xhx_staff where remarkId = #{remarkId} select * from mortals_xhx_staff where remarkId = #{remarkId}
</select> </select>
<select id="queryJob" resultType="com.mortals.xhx.module.staff.model.StaffEntity">
select * from mortals_xhx_staff where positionId = #{positionId}
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -18,7 +18,6 @@ POST {{baseUrl}}/staff/list ...@@ -18,7 +18,6 @@ POST {{baseUrl}}/staff/list
Content-Type: application/json Content-Type: application/json
{ {
"phoneNumber": "%133%",
"page":1, "page":1,
"size":10 "size":10
} }
......
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