Commit e5b4f77b by dengshichuan

Merge branch 'wdz' into 'develop'

Wdz

See merge request 8timerv2/8timerapiv200!16
parents 05ae6411 2dbbc6ac
...@@ -77,7 +77,7 @@ public interface YgEnumInterface { ...@@ -77,7 +77,7 @@ public interface YgEnumInterface {
*/ */
@Getter @Getter
enum jobStatus implements YgEnumInterface{ enum jobStatus implements YgEnumInterface{
ZHENSHI(0,"正式"),SHIYONG(1,"试用"); ZHENSHI(1,"正式"),SHIYONG(2,"试用"),LIZHIZHONG(3,"离职中"),YILIZHI(4,"已离职");
private Integer type; private Integer type;
...@@ -91,6 +91,8 @@ public interface YgEnumInterface { ...@@ -91,6 +91,8 @@ public interface YgEnumInterface {
jobStatus zos = (index == null || index.length() == 0) ? YgEnumInterface.jobStatus.ZHENSHI: (index.indexOf(jobStatus.ZHENSHI.name)!= -1)||(index.indexOf(jobStatus.ZHENSHI.type)!= -1) ? jobStatus.ZHENSHI:jobStatus.SHIYONG; jobStatus zos = (index == null || index.length() == 0) ? YgEnumInterface.jobStatus.ZHENSHI: (index.indexOf(jobStatus.ZHENSHI.name)!= -1)||(index.indexOf(jobStatus.ZHENSHI.type)!= -1) ? jobStatus.ZHENSHI:jobStatus.SHIYONG;
return zos.type.toString(); return zos.type.toString();
} }
} }
/** /**
...@@ -179,40 +181,71 @@ public interface YgEnumInterface { ...@@ -179,40 +181,71 @@ public interface YgEnumInterface {
@Getter @Getter
enum workage implements YgEnumInterface{ enum workage implements YgEnumInterface{
//NEW(0,183),HALF(1,365),ONE(2,548),ONEHALF(3,730),TWO(4,913),LONG(5,10000); //NEW(0,183),HALF(1,365),ONE(2,548),ONEHALF(3,730),TWO(4,913),LONG(5,10000);
NEW(0,183,0),HALF(184,365,0),ONE(366,548,0),ONEHALF(549,730,0),TWO(731,1000,0),LONG(1001,10000,0); NEW(0,30,0),ROOKIE(31,183,0),HALF(184,365,0),ONE(366,548,0),ONEHALF(549,730,0),TWO(731,1000,0),LONG(1001,10000,0);
private Integer begin; private Integer begin;
private Integer end; private Integer end;
private Integer number; private Integer number;
workage(Integer begin, Integer end,Integer number) { workage(Integer begin, Integer end,Integer number) {
this.begin = begin; this.begin = begin;
this.end = end; this.end = end;
this.number = number; this.number = number;
} }
public static Map<String, Integer> choose(List<YgbintuDto> bintu) { public static Map<String, Integer> choose(List<YgbintuDto> bintu) {
for (YgbintuDto b : bintu) { for (YgbintuDto b : bintu) {
Integer index = b.getWorkage(); Integer index = b.getWorkage();
for (workage item : workage.values()) { for (workage item : workage.values()) {
if (index>= item.begin && index<=item.end) { if (index>= item.begin && index<=item.end) item.number++;
item.number++;
System.out.println("item"+ item+":"+item.number);
}
} }
} }
Map<String, Integer> result = new HashMap<String, Integer>(); Map<String, Integer> result = new HashMap<String, Integer>();
result.put("x<0.5", NEW.number); result.put("本月新入职", NEW.number);
result.put("x<0.5", NEW.number+ROOKIE.number);
result.put("0.5<x<1", HALF.number); result.put("0.5<x<1", HALF.number);
result.put("1<x<1.5", ONE.number); result.put("1<x<1.5", ONE.number);
result.put("1.5<x<2", ONEHALF.number); result.put("1.5<x<2", ONEHALF.number);
result.put("2<x<3", TWO.number); result.put("2<x<3", TWO.number);
result.put("x++", LONG.number); result.put("x++", LONG.number);
NEW.number=0;ROOKIE.number=0;HALF.number=0;ONE.number=0;ONEHALF.number=0;TWO.number=0;LONG.number=0;
return result;
}
}
/**
* 年龄
*/
@Getter
enum age implements YgEnumInterface{
//NEW(0,183),HALF(1,365),ONE(2,548),ONEHALF(3,730),TWO(4,913),LONG(5,10000);
CHILD(1,17,0),TEEN(18,25,0),YOUNG(26,32,0),MAN(33,38,0),MIDDLE(39,45,0),OLD(46,1000,0);
private Integer begin;
private Integer end;
private Integer number;
age(Integer begin, Integer end,Integer number) {
this.begin = begin;
this.end = end;
this.number = number;
}
public static Map<String, Integer> choose(List<YgbintuDto> bintu) {
Integer average = 0;
Integer i = 0;
Integer j = 0;
for (YgbintuDto b : bintu) {
Integer index = b.getAge();
for (; i < age.values().length; i++) {
if (index>= age.values()[i].begin && index<=age.values()[i].end) age.values()[i].number++;j++;
}
average = average + index;
}
Map<String, Integer> result = new HashMap<String, Integer>();
result.put("18以下", CHILD.number);
result.put("18-25", TEEN.number);
result.put("25-32", YOUNG.number);
result.put("32-38", MAN.number);
result.put("38-45", MIDDLE.number);
result.put("45以上", OLD.number);
Integer pInjun = j>0 ?(average/j) :0;
result.put("平均年龄", pInjun);
CHILD.number =0;TEEN.number=0;YOUNG.number=0;MAN.number=0;MIDDLE.number=0;OLD.number=0;
return result; return result;
} }
} }
} }
...@@ -14,6 +14,7 @@ import java.util.HashMap; ...@@ -14,6 +14,7 @@ import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -36,6 +37,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -36,6 +37,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.additional.update.impl.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.service.additional.update.impl.LambdaUpdateChainWrapper;
import com.github.pagehelper.util.StringUtil;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
...@@ -65,12 +67,13 @@ import cn.timer.api.config.enuminterface.YgEnumInterface; ...@@ -65,12 +67,13 @@ import cn.timer.api.config.enuminterface.YgEnumInterface;
import cn.timer.api.config.enums.CommonEnum; import cn.timer.api.config.enums.CommonEnum;
import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper; import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper;
import cn.timer.api.dao.yggl.YgAreaDtoMapper; import cn.timer.api.dao.yggl.YgAreaDtoMapper;
import cn.timer.api.dao.yggl.YgCartogramDtoMapper;
import cn.timer.api.dao.yggl.YgCityDtoMapper; import cn.timer.api.dao.yggl.YgCityDtoMapper;
import cn.timer.api.dao.yggl.YgMzDtoMapper; import cn.timer.api.dao.yggl.YgMzDtoMapper;
import cn.timer.api.dao.yggl.YgProDtoMapper; import cn.timer.api.dao.yggl.YgProDtoMapper;
import cn.timer.api.dao.yggl.YgglMainEmpMapper; import cn.timer.api.dao.yggl.YgglMainEmpMapper;
import cn.timer.api.dao.yggl.YgglMainLzbMapper; import cn.timer.api.dao.yggl.YgglMainLzbMapper;
import cn.timer.api.dao.yggl.YgtitleDtoMapper;
import cn.timer.api.dao.zzgl.ZzglBmgwMMapper; import cn.timer.api.dao.zzgl.ZzglBmgwMMapper;
import cn.timer.api.dto.yggl.AddygdaDto; import cn.timer.api.dto.yggl.AddygdaDto;
import cn.timer.api.dto.yggl.LzbQueryDto; import cn.timer.api.dto.yggl.LzbQueryDto;
...@@ -79,13 +82,14 @@ import cn.timer.api.dto.yggl.YgAreaDto; ...@@ -79,13 +82,14 @@ import cn.timer.api.dto.yggl.YgAreaDto;
import cn.timer.api.dto.yggl.YgCityDto; import cn.timer.api.dto.yggl.YgCityDto;
import cn.timer.api.dto.yggl.YgDrjqbDto; import cn.timer.api.dto.yggl.YgDrjqbDto;
import cn.timer.api.dto.yggl.YgDrsDto; import cn.timer.api.dto.yggl.YgDrsDto;
import cn.timer.api.dto.yggl.YgKVDto;
import cn.timer.api.dto.yggl.YgProDto; import cn.timer.api.dto.yggl.YgProDto;
import cn.timer.api.dto.yggl.YgQueryDto; import cn.timer.api.dto.yggl.YgQueryDto;
import cn.timer.api.dto.yggl.YgbintuDto; import cn.timer.api.dto.yggl.YgbintuDto;
import cn.timer.api.dto.yggl.YgglCartogramDto; import cn.timer.api.dto.yggl.YgglCartogramDto;
import cn.timer.api.dto.yggl.YgjgDto; import cn.timer.api.dto.yggl.YgjgDto;
import cn.timer.api.dto.yggl.YgmzDto; import cn.timer.api.dto.yggl.YgmzDto;
import cn.timer.api.dto.yggl.YgtitleDto; import cn.timer.api.dto.yggl.YgCartogramDto;
import cn.timer.api.dto.yggl.YgzzDto; import cn.timer.api.dto.yggl.YgzzDto;
import cn.timer.api.utils.Md5; import cn.timer.api.utils.Md5;
import cn.timer.api.utils.Result; import cn.timer.api.utils.Result;
...@@ -128,10 +132,6 @@ public class YgglController { ...@@ -128,10 +132,6 @@ public class YgglController {
@Autowired @Autowired
private YgMzDtoMapper ygMzDtoMapper; private YgMzDtoMapper ygMzDtoMapper;
//weng(人事仪表盘)
@Autowired
private YgtitleDtoMapper ygtitleDtoMapper;
/** /**
* 获取员工档案 * 获取员工档案
* *
...@@ -240,12 +240,15 @@ public class YgglController { ...@@ -240,12 +240,15 @@ public class YgglController {
// 添加三张表 // 添加三张表
// 员工权限表(未定) // 员工权限表(未定)
// 员工企业关联表和员工档案,员工成长表(未定) // 员工企业关联表和员工档案,员工成长表(未定)
QyzxEmpEntAsso.builder().empNum(qyzxEmpLogin.getId()).orgCode(orgCode).userType(2).build().insert();// 2普通员工 QyzxEmpEntAsso.builder().empNum(qyzxEmpLogin.getId()).orgCode(orgCode).userType(2).status(1).build().insert();// usertype2普通员工 status1正常
YgglMainEmp ygglMainEmp = YgglMainEmp.builder().name(name).phone(phone).zjType(zjType).zjNum(zjNum) YgglMainEmp ygglMainEmp = YgglMainEmp.builder().name(name).phone(phone).zjType(zjType).zjNum(zjNum)
.jobType(jobType).rzTime(rzTime).syq(syq).sex(sex).empNum(qyzxEmpLogin.getId()).orgCode(orgCode) .jobType(jobType).rzTime(rzTime).syq(syq).sex(sex).empNum(qyzxEmpLogin.getId()).orgCode(orgCode)
.build(); .build();
ygglMainEmp.insert(); ygglMainEmp.insert();
new LambdaUpdateChainWrapper<YgglMainEmp>(ygglMainEmpMapper)
.set(addygdaDto.getBmgwId()!=null, YgglMainEmp::getBmgwId, addygdaDto.getBmgwId())
.eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getId, ygglMainEmp.getId()).update();
return ResultUtil.data(ygglMainEmp, "新添加员工档案成功!"); return ResultUtil.data(ygglMainEmp, "新添加员工档案成功!");
} else { } else {
...@@ -255,11 +258,14 @@ public class YgglController { ...@@ -255,11 +258,14 @@ public class YgglController {
if (ishad == null) { if (ishad == null) {
// 添加三张表 // 添加三张表
// 员工权限表(未定) // 员工权限表(未定)
QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(orgCode).userType(2).build().insert();// 2普通员工 QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(orgCode).userType(2).status(1).build().insert();// usertype2普通员工 status1正常
YgglMainEmp ygglMainEmp = YgglMainEmp.builder().name(name).phone(phone).zjType(zjType).zjNum(zjNum) YgglMainEmp ygglMainEmp = YgglMainEmp.builder().name(name).phone(phone).zjType(zjType).zjNum(zjNum)
.jobType(jobType).rzTime(rzTime).syq(syq).sex(sex).empNum(login.getId()).orgCode(orgCode) .jobType(jobType).rzTime(rzTime).syq(syq).sex(sex).empNum(login.getId()).orgCode(orgCode)
.build(); .build();
ygglMainEmp.insert(); ygglMainEmp.insert();
new LambdaUpdateChainWrapper<YgglMainEmp>(ygglMainEmpMapper)
.set(addygdaDto.getBmgwId()!=null, YgglMainEmp::getBmgwId, addygdaDto.getBmgwId())
.eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getId, ygglMainEmp.getId()).update();
return ResultUtil.data(ygglMainEmp, "添加员工档案成功!"); return ResultUtil.data(ygglMainEmp, "添加员工档案成功!");
} else { } else {
return ResultUtil.error("该手机号已被使用,请输入正确手机号"); return ResultUtil.error("该手机号已被使用,请输入正确手机号");
...@@ -379,7 +385,7 @@ public class YgglController { ...@@ -379,7 +385,7 @@ public class YgglController {
// 员工权限表(未定) // 员工权限表(未定)
// 员工企业关联表和员工档案,员工成长表(未定) // 员工企业关联表和员工档案,员工成长表(未定)
QyzxEmpEntAsso.builder().empNum(qyzxEmpLogin.getId()).orgCode(userBean.getOrgCode()).userType(2) QyzxEmpEntAsso.builder().empNum(qyzxEmpLogin.getId()).orgCode(userBean.getOrgCode()).userType(2)
.status(1).build().insert();// userType2普通员工 .status(1).build().insert();// userType2普通员工,status1正常
YgglMainEmp emp = YgglMainEmp.builder().name(e.getName()).phone(e.getPhone()).zjType(0).zjNum(e.getZj()) YgglMainEmp emp = YgglMainEmp.builder().name(e.getName()).phone(e.getPhone()).zjType(0).zjNum(e.getZj())
.jobType(jobType).rzTime(rzdate).updateTime(new Date()).updateMan(userBean.getEmpNum()).syq(syq) .jobType(jobType).rzTime(rzdate).updateTime(new Date()).updateMan(userBean.getEmpNum()).syq(syq)
.sex(sex).jobNum(jobNum).bmgwId(gw).empNum(qyzxEmpLogin.getId()).orgCode(userBean.getOrgCode()) .sex(sex).jobNum(jobNum).bmgwId(gw).empNum(qyzxEmpLogin.getId()).orgCode(userBean.getOrgCode())
...@@ -397,8 +403,8 @@ public class YgglController { ...@@ -397,8 +403,8 @@ public class YgglController {
.eq("phone", e.getPhone()).eq("org_code", userBean.getOrgCode())); .eq("phone", e.getPhone()).eq("org_code", userBean.getOrgCode()));
if (ishad == null) { if (ishad == null) {
// 员工权限表(未定) // 员工权限表(未定)
QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(userBean.getOrgCode()).userType(2).build() QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(userBean.getOrgCode()).userType(2).status(1).build()
.insert();// 2普通员工 .insert();// userType2普通员工,status1正常
YgglMainEmp emp = YgglMainEmp.builder().name(e.getName()).phone(e.getPhone()).zjType(0) YgglMainEmp emp = YgglMainEmp.builder().name(e.getName()).phone(e.getPhone()).zjType(0)
.zjNum(e.getZj()).jobType(jobType).rzTime(rzdate).updateTime(new Date()) .zjNum(e.getZj()).jobType(jobType).rzTime(rzdate).updateTime(new Date())
.updateMan(userBean.getEmpNum()).syq(syq).sex(sex).jobNum(jobNum).empNum(login.getId()) .updateMan(userBean.getEmpNum()).syq(syq).sex(sex).jobNum(jobNum).empNum(login.getId())
...@@ -1666,58 +1672,89 @@ public class YgglController { ...@@ -1666,58 +1672,89 @@ public class YgglController {
} }
/** /**
<<<<<<< HEAD
* 员工信息统计图 * 员工信息统计图
* @return 成功信息(weng) * @return 成功信息(weng)
*/ */
@GetMapping("/Cartogram") @GetMapping("/Cartogram")
@ApiOperation(value = "获取员工管理统计图信息", httpMethod = "GET", notes = "接口发布说明") @ApiOperation(value = "获取员工管理统计图信息", httpMethod = "GET", notes = "接口发布说明")
@ApiOperationSupport(order = 63) @ApiOperationSupport(order = 99)
public Result<Map<String, Object>> ygCartogram(@CurrentUser UserBean userBean) { public Result<YgCartogramDto> ygCartogram(@CurrentUser UserBean userBean) {
List<YgbintuDto> bintu = ygglMainEmpMapper.rsybp(); Integer orgCode = userBean.getOrgCode();
bintu.stream().filter(bean ->{ List<YgbintuDto> bintu = ygglMainEmpMapper.rsybp(orgCode);
if (bean.getAge() == null) { /*
bean.setAge(-1); * bintu.stream().filter(bean ->{ if (bean.getAge() == null) { bean.setAge(0); }
* if (bean.getBm() == null) { bean.setBm("未分配"); } if (bean.getGw() == null) {
* bean.setGw("未分配"); } if (bean.getProname() == null) { bean.setProname("未分配");
* } if (bean.getEduname() == null) { bean.setEduname("未分配"); } if
* (bean.getJobStatus() == null) { bean.setJobStatus(-1); } if
* (bean.getWorkage() == null) { bean.setWorkage(-1); } return true;
* }).collect(Collectors.toList());
*/
Map<String, Long> gw = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getGw,Collectors.counting()));
List<YgKVDto> gwList = new ArrayList<YgKVDto>();
for(Map.Entry<String, Long> entry : gw.entrySet()) {
gwList.add(new YgKVDto(entry.getKey(),entry.getValue().toString()));
} }
if (bean.getBm() == null) { Map<String, Long> bm = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm,Collectors.counting()));
bean.setBm("未分配"); List<YgKVDto> bmList = new ArrayList<YgKVDto>();
} for(Map.Entry<String, Long> entry : bm.entrySet()) {
if (bean.getGw() == null) { bmList.add(new YgKVDto(entry.getKey(),entry.getValue().toString()));
bean.setGw("未分配");
} }
if (bean.getProname() == null) { //Map<String, Map<String, Long>> bmgw = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm,Collectors.groupingBy(YgbintuDto::getGw,Collectors.counting())));
bean.setProname("未分配"); Map<String, Long> edu = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getEduname,Collectors.counting()));
List<YgKVDto> eduList = new ArrayList<YgKVDto>();
for(Map.Entry<String, Long> entry : edu.entrySet()) {
eduList.add(new YgKVDto(entry.getKey(),entry.getValue().toString()));
} }
if (bean.getEduname() == null) { Map<Integer,Long> jobStatus = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getJobStatus,Collectors.counting()));
bean.setEduname("未分配"); List<YgKVDto> jobStatusList = new ArrayList<YgKVDto>();
for(Entry<Integer, Long> entry : jobStatus.entrySet()) {
jobStatusList.add(new YgKVDto(entry.getKey().toString(),entry.getValue().toString()));
} }
if (bean.getJobStatus() == null) { Map<String, Long> proname = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getProname,Collectors.counting()));
bean.setJobStatus(-1); List<YgKVDto> pronameList = new ArrayList<YgKVDto>();
for(Entry<String, Long> entry : proname.entrySet()) {
pronameList.add(new YgKVDto(entry.getKey().toString(),entry.getValue().toString()));
} }
return true;
}).collect(Collectors.toList());
YgtitleDto title = new LambdaQueryChainWrapper<YgtitleDto>(ygtitleDtoMapper).eq(YgtitleDto::getOrgCode, userBean.getOrgCode()).one();
//Map<String, List<YgbintuDto>> map = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getGw));岗位
//Map<String, List<YgbintuDto>> map = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm));部门
Map<String, Map<String, Long>> bmgw = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm,Collectors.groupingBy(YgbintuDto::getGw,Collectors.counting())));
Map<String, List<YgbintuDto>> edu = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getEduname));
Map<Integer, List<YgbintuDto>> jobStatus = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getJobStatus));
Map<String, List<YgbintuDto>> proname = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getProname));
Map<String, Integer> workage = YgEnumInterface.workage.choose(bintu); Map<String, Integer> workage = YgEnumInterface.workage.choose(bintu);
List<YgKVDto> workageList = new ArrayList<YgKVDto>();
System.out.println(bmgw); for(Entry<String, Integer> entry : workage.entrySet()) {
System.out.println(edu); workageList.add(new YgKVDto(entry.getKey().toString(),entry.getValue().toString()));
System.out.println(jobStatus); }
System.out.println(proname); Map<String, Integer> age = YgEnumInterface.age.choose(bintu);
System.out.println(workage); List<YgKVDto> ageList = new ArrayList<YgKVDto>();
return ResultUtil.success(); for(Entry<String, Integer> entry : age.entrySet()) {
ageList.add(new YgKVDto(entry.getKey().toString(),entry.getValue().toString()));
}
//在职
Integer zaizhi = jobStatus.get(1).intValue()+jobStatus.get(2).intValue();
//本月新入职
Integer xinruzhi = workage.get("本月新入职").intValue();
//本月离职
Integer lizhi = ygglMainEmpMapper.benyueLz(orgCode);
//本月转正
Integer zhuanzhen = ygglMainEmpMapper.benyueZz(orgCode);
//平均年龄
Integer nianlin = age.get("平均年龄").intValue();
YgCartogramDto ybp = new YgCartogramDto();
ybp.setZaizhi(zaizhi);
ybp.setXinruzhi(xinruzhi);
ybp.setLizhi(lizhi);
ybp.setZhuanzhen(zhuanzhen);
ybp.setNianlin(nianlin);
ybp.setBm(bmList);
ybp.setGw(gwList);
ybp.setEdu(eduList);
ybp.setJobStatus(jobStatusList);
ybp.setProname(pronameList);
ybp.setWorkage(workageList);
ybp.setAge(ageList);
return ResultUtil.data(ybp, "获取员工管理统计图信息成功!");
} }
/** /**
* 获取员工社保公积金 * 获取员工社保公积金
=======
* 获取成长记录表
* *
>>>>>>> bea51ce9ef8860bb31a1d14ffce121313636951a
* @param * @param
* @return * @return
*/ */
......
...@@ -3,7 +3,7 @@ import org.springframework.stereotype.Repository; ...@@ -3,7 +3,7 @@ import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.dto.yggl.YgtitleDto; import cn.timer.api.dto.yggl.YgCartogramDto;
...@@ -12,6 +12,6 @@ import cn.timer.api.dto.yggl.YgtitleDto; ...@@ -12,6 +12,6 @@ import cn.timer.api.dto.yggl.YgtitleDto;
* @author Tang 2019-11-15 * @author Tang 2019-11-15
*/ */
@Repository @Repository
public interface YgtitleDtoMapper extends BaseMapper<YgtitleDto> { public interface YgCartogramDtoMapper extends BaseMapper<YgCartogramDto> {
} }
...@@ -3,6 +3,7 @@ package cn.timer.api.dao.yggl; ...@@ -3,6 +3,7 @@ package cn.timer.api.dao.yggl;
import java.util.List; import java.util.List;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import org.springframework.web.bind.annotation.PathVariable;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...@@ -25,9 +26,22 @@ public interface YgglMainEmpMapper extends BaseMapper<YgglMainEmp> { ...@@ -25,9 +26,22 @@ public interface YgglMainEmpMapper extends BaseMapper<YgglMainEmp> {
* @param userBean * @param userBean
* @return * @return
*/ */
List<YgbintuDto> rsybp(); List<YgbintuDto> rsybp(Integer orgCode);
/** /**
* 查询当月离职人数
* @param userBean
* @return
*/
Integer benyueLz(Integer orgCode);
/**
* 查询当月转正人数
* @param userBean
* @return
*/
Integer benyueZz(Integer orgCode);
/**
* 查询员工信息 * 查询员工信息
* @param userBean * @param userBean
* @return * @return
......
...@@ -52,7 +52,8 @@ public class AddygdaDto extends Page implements Serializable{ ...@@ -52,7 +52,8 @@ public class AddygdaDto extends Page implements Serializable{
@ApiModelProperty(value="性别 0:男;1:女",example="0") @ApiModelProperty(value="性别 0:男;1:女",example="0")
private Integer sex; private Integer sex;
@ApiModelProperty(value="部门岗位id",example="0")
private Integer bmgwId;
} }
/**
* @date 2020年4月1日
* @author 翁东州
* @方法中文名称:
*/
package cn.timer.api.dto.yggl; package cn.timer.api.dto.yggl;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* @date 2020年4月1日 * @author Tang 2019-11-15
* @author 翁东州 */
* @方法中文名称:
*/ @Data
public class YgCartogramDto { @Builder
@ApiModelProperty(value="统计图--标头 ",example="标头") @AllArgsConstructor
private YgtitleDto ygtitleDto; @NoArgsConstructor
@ApiModel("统计图--仪表盘内容")
@ApiModelProperty(value="统计图--饼图和直方图 ",example="饼图和直方图") public class YgCartogramDto implements Serializable{
private YgbintuDto ygbintuDto;
private static final long serialVersionUID = 1L;
@ApiModelProperty(value="在职人数")
private Integer zaizhi;
@ApiModelProperty(value="本月新入职 ")
private Integer xinruzhi;
@ApiModelProperty(value="本月离职")
private Integer lizhi;
@ApiModelProperty(value="本月转正")
private Integer zhuanzhen;
@ApiModelProperty(value="平均年龄")
private Integer nianlin;
@ApiModelProperty(value="部门")
private List<YgKVDto> bm;
@ApiModelProperty(value="岗位")
private List<YgKVDto> gw;
@ApiModelProperty(value="学历")
private List<YgKVDto> edu;
@ApiModelProperty(value="工作状态")
private List<YgKVDto> jobStatus;
@ApiModelProperty(value="省份")
private List<YgKVDto> proname;
@ApiModelProperty(value="工作日")
private List<YgKVDto> workage;
@ApiModelProperty(value="年龄")
private List<YgKVDto> age;
} }
package cn.timer.api.dto.yggl; package cn.timer.api.dto.yggl;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor;
import lombok.AllArgsConstructor; import lombok.Builder;
import lombok.Builder; import lombok.Data;
import lombok.Data; import lombok.NoArgsConstructor;
import lombok.NoArgsConstructor;
/**
/** * @author Tang 2019-11-15
* @author Tang 2019-11-15 */
*/
@Data
@Data @Builder
@Builder @AllArgsConstructor
@AllArgsConstructor @NoArgsConstructor
@NoArgsConstructor @ApiModel("统计图--键值对Dto")
@TableName("yggl_atta_title") public class YgKVDto{
@ApiModel("统计图--标头")
public class YgtitleDto{
@Id @ApiModelProperty(value="键 ")
@GeneratedValue private String name;
@TableId (type = IdType.AUTO)
@ApiModelProperty(value="id编号",example="1") @ApiModelProperty(value="值")
private Integer id; private String value;
@ApiModelProperty(value="在职人数",example="1")
private Integer zaizhi; }
@ApiModelProperty(value="本月新入职 ",example="1")
private Integer xinruzhi;
@ApiModelProperty(value="本月离职",example="1")
private Integer lizhi;
@ApiModelProperty(value="本月转正",example="1")
private Integer zhuanzhen;
@ApiModelProperty(value="平均年龄",example="22")
private Integer nianlin;
@ApiModelProperty(value="组织机构代码",example="117")
private Integer orgCode;
}
...@@ -169,14 +169,25 @@ ...@@ -169,14 +169,25 @@
</sql> </sql>
<!-- rsybp人事仪表盘 --> <!-- rsybp人事仪表盘 -->
<select id="rsybp" resultMap="Bintu"> <select id="rsybp" resultMap="Bintu">
SELECT e.id AS id,e.age AS age,e.bmgw_id AS bmgwId,b.`name` AS gw,bb.`name` AS bm, p.`name` AS proname,d.`name` AS eduname,e.job_status AS jobStatus,datediff(CURDATE(),e.rz_time) AS workage SELECT e.id AS id,IFNULL(e.age,0) AS age,IFNULL(e.bmgw_id,0) AS bmgwId,IFNULL(b.`name`,'null') AS gw,IFNULL(bb.`name`,'null') AS bm,IFNULL( p.`name`,'null') AS proname,IFNULL(d.`name` ,'null')AS eduname,IFNULL(e.job_status,0) AS jobStatus,IFNULL(datediff(CURDATE(),e.rz_time),0)AS workage
FROM yggl_main_emp e FROM yggl_main_emp e
LEFT JOIN zzgl_bmgw_m b ON b.id = e.bmgw_id LEFT JOIN zzgl_bmgw_m b ON b.id = e.bmgw_id
LEFT JOIN zzgl_bmgw_m bb ON bb.id = b.up_id LEFT JOIN zzgl_bmgw_m bb ON bb.id = b.up_id
LEFT JOIN province_class p ON left (e.`jg`,2) = p.province LEFT JOIN province_class p ON left (e.`jg`,2) = p.province
LEFT JOIN education_class d ON d.number = e.edu LEFT JOIN education_class d ON d.number = e.edu
WHERE e.org_code = 117 AND b.org_code =117; WHERE e.org_code = 117
</select> </select>
<!-- benyueLz本月离职人数 -->
<select id="benyueLz" resultType="Integer">
SELECT COUNT(datediff(CURDATE(),l.sjlz_time)) FROM yggl_main_lzb l WHERE datediff(CURDATE(),l.sjlz_time) <![CDATA[ <= ]]> 30 AND org_code = #{orgCode};
</select>
<!-- benyueZz本月转正人数 -->
<select id="benyueZz" resultType="Integer">
SELECT COUNT(datediff(CURDATE(),e.sjzz_time)) FROM yggl_main_emp e WHERE datediff(CURDATE(),e.sjzz_time) <![CDATA[ <= ]]> 30 AND org_code = #{orgCode};
</select>
<!-- 查询员工信息 搜索 分页 --> <!-- 查询员工信息 搜索 分页 -->
<select id="queryEmpMessage" resultType="cn.timer.api.dto.yggl.YgQueryDto"> <select id="queryEmpMessage" resultType="cn.timer.api.dto.yggl.YgQueryDto">
SELECT SELECT
......
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