generated from dxfeng/secondev-wugang-dxfeng
经理门户 接口开发
This commit is contained in:
parent
1189ff6513
commit
67dfa72bf0
|
|
@ -2,6 +2,7 @@ package com.weaver.seconddev.portal.controller;
|
||||||
|
|
||||||
import com.weaver.common.authority.annotation.WeaPermission;
|
import com.weaver.common.authority.annotation.WeaPermission;
|
||||||
import com.weaver.common.base.entity.result.WeaResult;
|
import com.weaver.common.base.entity.result.WeaResult;
|
||||||
|
import com.weaver.seconddev.portal.entity.po.PortalPO;
|
||||||
import com.weaver.seconddev.portal.service.ManagerPortalService;
|
import com.weaver.seconddev.portal.service.ManagerPortalService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -10,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||||
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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -41,4 +43,14 @@ public class ManagerPortalController {
|
||||||
return managerPortalService.getBasicPersonnel(params);
|
return managerPortalService.getBasicPersonnel(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/getTeamMemorialDay")
|
||||||
|
private WeaResult<Map<String, Object>> getTeamMemorialDay(@RequestBody Map<String, String> params) {
|
||||||
|
return managerPortalService.getTeamMemorialDay(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/getEducationInfo")
|
||||||
|
private WeaResult<List<PortalPO>> getEducationInfo(@RequestBody Map<String, String> params) {
|
||||||
|
return managerPortalService.getEducationInfo(params);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,4 +16,7 @@ public class BasicPersonnelParam {
|
||||||
private String startDate;
|
private String startDate;
|
||||||
private String endDate;
|
private String endDate;
|
||||||
private String tenantKey;
|
private String tenantKey;
|
||||||
|
private String pieType;
|
||||||
|
private Integer startIndex;
|
||||||
|
private Integer endIndex;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
package com.weaver.seconddev.portal.entity.po;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author:dxfeng
|
||||||
|
* @createTime: 2025/07/10
|
||||||
|
* @version: 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PieChartConfig {
|
||||||
|
private String type;
|
||||||
|
private String name;
|
||||||
|
private String educationIds;
|
||||||
|
private Integer startIndex;
|
||||||
|
private Integer endIndex;
|
||||||
|
private String gradeIds;
|
||||||
|
private Integer orderNum;
|
||||||
|
}
|
||||||
|
|
@ -11,4 +11,5 @@ import lombok.Data;
|
||||||
public class PortalPO {
|
public class PortalPO {
|
||||||
private String value;
|
private String value;
|
||||||
private String name;
|
private String name;
|
||||||
|
private String id;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
package com.weaver.seconddev.portal.mapper;
|
package com.weaver.seconddev.portal.mapper;
|
||||||
|
|
||||||
import com.weaver.seconddev.portal.entity.param.BasicPersonnelParam;
|
import com.weaver.seconddev.portal.entity.param.BasicPersonnelParam;
|
||||||
|
import com.weaver.seconddev.portal.entity.po.PieChartConfig;
|
||||||
|
import com.weaver.seconddev.portal.entity.po.PortalPO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -45,6 +48,14 @@ public interface ManagerPortalMapper {
|
||||||
*/
|
*/
|
||||||
int getEntryingNumber(BasicPersonnelParam param);
|
int getEntryingNumber(BasicPersonnelParam param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入职人数
|
||||||
|
*
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int getEntryNumber(BasicPersonnelParam param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取所负责的顶级部门
|
* 获取所负责的顶级部门
|
||||||
*
|
*
|
||||||
|
|
@ -53,4 +64,68 @@ public interface ManagerPortalMapper {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<Long> getManageDeptIds(@Param("tenantKey") String tenantKey, @Param("empId") Long emdId);
|
List<Long> getManageDeptIds(@Param("tenantKey") String tenantKey, @Param("empId") Long emdId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取生日人数
|
||||||
|
*
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int getBirthdayNum(BasicPersonnelParam param);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取预计转正员工人数
|
||||||
|
*
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int getRegularEmployeeNum(BasicPersonnelParam param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取入职周年人数
|
||||||
|
*
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int getEmploymentAnniversary(BasicPersonnelParam param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取学历信息
|
||||||
|
*
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<PortalPO> getEducationInfo(BasicPersonnelParam param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取年龄统计数据
|
||||||
|
*
|
||||||
|
* @param tenantKey
|
||||||
|
* @param departmentIdList
|
||||||
|
* @param startIndex
|
||||||
|
* @param endIndex
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Integer getAgeCount(@Param("tenantKey") String tenantKey, @Param("departmentIdList") Collection<Long> departmentIdList, @Param("startIndex") Integer startIndex, @Param("endIndex") Integer endIndex);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取司龄统计数据
|
||||||
|
*
|
||||||
|
* @param tenantKey
|
||||||
|
* @param departmentIdList
|
||||||
|
* @param startIndex
|
||||||
|
* @param endIndex
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Integer getComapnyCount(@Param("tenantKey") String tenantKey, @Param("departmentIdList") Collection<Long> departmentIdList, @Param("startIndex") Integer startIndex, @Param("endIndex") Integer endIndex);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 饼状图配置信息
|
||||||
|
*
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<PieChartConfig> getPieTypeConfig(BasicPersonnelParam param);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
package com.weaver.seconddev.portal.service;
|
package com.weaver.seconddev.portal.service;
|
||||||
|
|
||||||
import com.weaver.common.base.entity.result.WeaResult;
|
import com.weaver.common.base.entity.result.WeaResult;
|
||||||
|
import com.weaver.seconddev.portal.entity.po.PortalPO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -38,4 +40,22 @@ public interface ManagerPortalService {
|
||||||
WeaResult<Map<String, Object>> getBasicPersonnel(Map<String, String> params);
|
WeaResult<Map<String, Object>> getBasicPersonnel(Map<String, String> params);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 团队纪念日
|
||||||
|
*
|
||||||
|
* @param params
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
WeaResult<Map<String, Object>> getTeamMemorialDay(Map<String, String> params);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据看板
|
||||||
|
*
|
||||||
|
* @param params
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
WeaResult<List<PortalPO>> getEducationInfo(Map<String, String> params);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,13 @@
|
||||||
package com.weaver.seconddev.portal.service.impl;
|
package com.weaver.seconddev.portal.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.convert.Convert;
|
||||||
import com.weaver.common.base.entity.result.WeaResult;
|
import com.weaver.common.base.entity.result.WeaResult;
|
||||||
import com.weaver.common.hrm.cache.HrmDepartmentComInfo;
|
import com.weaver.common.hrm.cache.HrmDepartmentComInfo;
|
||||||
import com.weaver.common.hrm.dao.HrmCommonDepartmentDao;
|
import com.weaver.common.hrm.dao.HrmCommonDepartmentDao;
|
||||||
import com.weaver.common.hrm.manage.HrmComInfoCacheHandler;
|
import com.weaver.common.hrm.manage.HrmComInfoCacheHandler;
|
||||||
import com.weaver.seconddev.portal.entity.param.BasicPersonnelParam;
|
import com.weaver.seconddev.portal.entity.param.BasicPersonnelParam;
|
||||||
|
import com.weaver.seconddev.portal.entity.po.PieChartConfig;
|
||||||
|
import com.weaver.seconddev.portal.entity.po.PortalPO;
|
||||||
import com.weaver.seconddev.portal.mapper.ManagerPortalMapper;
|
import com.weaver.seconddev.portal.mapper.ManagerPortalMapper;
|
||||||
import com.weaver.seconddev.portal.service.ManagerPortalService;
|
import com.weaver.seconddev.portal.service.ManagerPortalService;
|
||||||
import com.weaver.seconddev.portal.util.DateUtil;
|
import com.weaver.seconddev.portal.util.DateUtil;
|
||||||
|
|
@ -69,7 +72,6 @@ public class ManagerPortalServiceImpl implements ManagerPortalService {
|
||||||
Map<String, Object> returnMap = new HashMap<>();
|
Map<String, Object> returnMap = new HashMap<>();
|
||||||
String searchType = params.get("searchType");
|
String searchType = params.get("searchType");
|
||||||
String searchDate = params.get("searchDate");
|
String searchDate = params.get("searchDate");
|
||||||
String departmentIds = params.get("departmentIds");
|
|
||||||
|
|
||||||
User currentUser = UserContext.getCurrentUser();
|
User currentUser = UserContext.getCurrentUser();
|
||||||
Set<Long> allDepartmentIdList = getAllDepartmentIdList(currentUser);
|
Set<Long> allDepartmentIdList = getAllDepartmentIdList(currentUser);
|
||||||
|
|
@ -80,37 +82,182 @@ public class ManagerPortalServiceImpl implements ManagerPortalService {
|
||||||
|
|
||||||
if ("year".equals(searchType)) {
|
if ("year".equals(searchType)) {
|
||||||
// 开始时间年度第一天
|
// 开始时间年度第一天
|
||||||
basicPersonnelParam.setStartDate(searchDate + "-01-01");
|
basicPersonnelParam.setStartDate(StringUtils.isBlank(searchDate) ? DateUtil.getFirstDayOfYearStr() : searchDate + "-01-01");
|
||||||
// 结束时间年度最后一天
|
// 结束时间年度最后一天
|
||||||
basicPersonnelParam.setEndDate(StringUtils.isBlank(searchDate) ? DateUtil.getCurrentDateStr() : searchDate + "-12-31");
|
basicPersonnelParam.setEndDate(StringUtils.isBlank(searchDate) ? DateUtil.getCurrentDateStr() : searchDate + "-12-31");
|
||||||
|
|
||||||
} else if ("month".equals(searchType)) {
|
} else if ("month".equals(searchType)) {
|
||||||
// 开始时间月度第一天
|
// 开始时间月度第一天
|
||||||
basicPersonnelParam.setStartDate(searchDate + "-01");
|
basicPersonnelParam.setStartDate(StringUtils.isBlank(searchDate) ? DateUtil.getFirstDayOfMonth() : searchDate + "-01");
|
||||||
// 结束时间月度最后一天
|
// 结束时间月度最后一天
|
||||||
basicPersonnelParam.setEndDate(StringUtils.isBlank(searchDate) ? DateUtil.getCurrentDateStr() : DateUtil.getLastDayOfPreviousMonthStr(searchDate + "-01"));
|
basicPersonnelParam.setEndDate(StringUtils.isBlank(searchDate) ? DateUtil.getCurrentDateStr() : DateUtil.getLastDayOfPreviousMonthStr(searchDate + "-01", 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
int onJobNum = managerPortalMapper.getOnJobNum(basicPersonnelParam);
|
int onJobNum = managerPortalMapper.getOnJobNum(basicPersonnelParam);
|
||||||
int resignNumber = managerPortalMapper.getResignNumber(basicPersonnelParam);
|
int resignNumber = managerPortalMapper.getResignNumber(basicPersonnelParam);
|
||||||
int resigningNumber = managerPortalMapper.getResigningNumber(basicPersonnelParam);
|
int resigningNumber = managerPortalMapper.getResigningNumber(basicPersonnelParam);
|
||||||
|
int entryNumber = managerPortalMapper.getEntryNumber(basicPersonnelParam);
|
||||||
int entryingNumber = managerPortalMapper.getEntryingNumber(basicPersonnelParam);
|
int entryingNumber = managerPortalMapper.getEntryingNumber(basicPersonnelParam);
|
||||||
|
|
||||||
// 在职人数
|
// 在职人数
|
||||||
returnMap.put("onJobNumber", onJobNum);
|
returnMap.put("onJobNumber", onJobNum);
|
||||||
// 年度离职人数
|
// 年度离职人数
|
||||||
returnMap.put("resignNumber", resignNumber);
|
returnMap.put("resignNumber", resignNumber);
|
||||||
// 半年度入职人数
|
// 年度入职人数
|
||||||
returnMap.put("entryNumber", 7);
|
returnMap.put("entryNumber", entryNumber);
|
||||||
// 离职流程中人数
|
// 离职流程中人数
|
||||||
returnMap.put("resigningNumber", resigningNumber);
|
returnMap.put("resigningNumber", resigningNumber);
|
||||||
// 入职流程中人数
|
// 入职流程中人数
|
||||||
returnMap.put("entryingNumber", entryingNumber);
|
returnMap.put("entryingNumber", entryingNumber);
|
||||||
|
// TODO 测试用
|
||||||
returnMap.put("basicPersonnelParam", basicPersonnelParam);
|
returnMap.put("basicPersonnelParam", basicPersonnelParam);
|
||||||
|
|
||||||
return WeaResult.success(returnMap);
|
return WeaResult.success(returnMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生日提醒:提前一周
|
||||||
|
* 转正提醒:提前30天
|
||||||
|
* 入职周年:提前一周
|
||||||
|
*
|
||||||
|
* @param params
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public WeaResult<Map<String, Object>> getTeamMemorialDay(Map<String, String> params) {
|
||||||
|
User currentUser = UserContext.getCurrentUser();
|
||||||
|
Set<Long> allDepartmentIdList = getAllDepartmentIdList(currentUser);
|
||||||
|
BasicPersonnelParam basicPersonnelParam = new BasicPersonnelParam();
|
||||||
|
basicPersonnelParam.setTenantKey(currentUser.getTenantKey());
|
||||||
|
// 设置部门范围ID集合
|
||||||
|
basicPersonnelParam.setDepartmentIdList(allDepartmentIdList);
|
||||||
|
int birthdayNum = managerPortalMapper.getBirthdayNum(basicPersonnelParam);
|
||||||
|
|
||||||
|
int regularEmployeeNum = managerPortalMapper.getRegularEmployeeNum(basicPersonnelParam);
|
||||||
|
|
||||||
|
int employmentAnniversary = managerPortalMapper.getEmploymentAnniversary(basicPersonnelParam);
|
||||||
|
|
||||||
|
Map<String, Object> returnMap = new HashMap<>();
|
||||||
|
// 生日提醒
|
||||||
|
returnMap.put("birthdayNum", birthdayNum);
|
||||||
|
// 转正日期
|
||||||
|
returnMap.put("regularEmployeeNum", regularEmployeeNum);
|
||||||
|
// 入职周年提醒
|
||||||
|
returnMap.put("employmentAnniversary", employmentAnniversary);
|
||||||
|
|
||||||
|
// TODO 测试用
|
||||||
|
returnMap.put("basicPersonnelParam", basicPersonnelParam);
|
||||||
|
return WeaResult.success(returnMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WeaResult<List<PortalPO>> getEducationInfo(Map<String, String> params) {
|
||||||
|
|
||||||
|
String type = params.get("type");
|
||||||
|
if (StringUtils.isBlank(type)) {
|
||||||
|
// 默认学历信息
|
||||||
|
type = "education";
|
||||||
|
}
|
||||||
|
User currentUser = UserContext.getCurrentUser();
|
||||||
|
Set<Long> allDepartmentIdList = getAllDepartmentIdList(currentUser);
|
||||||
|
BasicPersonnelParam basicPersonnelParam = new BasicPersonnelParam();
|
||||||
|
basicPersonnelParam.setTenantKey(currentUser.getTenantKey());
|
||||||
|
// 设置部门范围ID集合
|
||||||
|
basicPersonnelParam.setDepartmentIdList(allDepartmentIdList);
|
||||||
|
basicPersonnelParam.setPieType(type);
|
||||||
|
List<PortalPO> returnList = new ArrayList<>();
|
||||||
|
switch (type) {
|
||||||
|
case "education":
|
||||||
|
// 学历
|
||||||
|
dealEducationInfo(basicPersonnelParam, returnList);
|
||||||
|
break;
|
||||||
|
case "age":
|
||||||
|
// 年龄
|
||||||
|
dealAgeInfo(basicPersonnelParam, returnList);
|
||||||
|
break;
|
||||||
|
case "grade":
|
||||||
|
// 职级
|
||||||
|
break;
|
||||||
|
case "company":
|
||||||
|
// 司龄
|
||||||
|
dealCompanyInfo(basicPersonnelParam, returnList);
|
||||||
|
break;
|
||||||
|
case "performance":
|
||||||
|
// 绩效
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return WeaResult.success(returnList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 学历分布数据
|
||||||
|
*
|
||||||
|
* @param basicPersonnelParam
|
||||||
|
* @param returnList
|
||||||
|
*/
|
||||||
|
private void dealEducationInfo(BasicPersonnelParam basicPersonnelParam, List<PortalPO> returnList) {
|
||||||
|
// 学历分布
|
||||||
|
List<PortalPO> educationInfo = managerPortalMapper.getEducationInfo(basicPersonnelParam);
|
||||||
|
Map<String, String> educationMap = educationInfo.stream().collect(Collectors.toMap(PortalPO::getId, PortalPO::getValue));
|
||||||
|
|
||||||
|
managerPortalMapper.getPieTypeConfig(basicPersonnelParam).forEach(pieChartConfig -> {
|
||||||
|
String name = pieChartConfig.getName();
|
||||||
|
String educationIds = pieChartConfig.getEducationIds();
|
||||||
|
String[] split = educationIds.split(",");
|
||||||
|
int count = 0;
|
||||||
|
for (String s : split) {
|
||||||
|
String s1 = educationMap.get(s);
|
||||||
|
count += Convert.toInt(s1, 0);
|
||||||
|
}
|
||||||
|
PortalPO portalPO = new PortalPO();
|
||||||
|
portalPO.setValue(String.valueOf(count));
|
||||||
|
portalPO.setName(name);
|
||||||
|
returnList.add(portalPO);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 学历分布数据
|
||||||
|
*
|
||||||
|
* @param basicPersonnelParam
|
||||||
|
* @param returnList
|
||||||
|
*/
|
||||||
|
private void dealAgeInfo(BasicPersonnelParam basicPersonnelParam, List<PortalPO> returnList) {
|
||||||
|
List<PieChartConfig> pieTypeConfig = managerPortalMapper.getPieTypeConfig(basicPersonnelParam);
|
||||||
|
for (PieChartConfig pieChartConfig : pieTypeConfig) {
|
||||||
|
|
||||||
|
PortalPO portalPO = new PortalPO();
|
||||||
|
portalPO.setName(pieChartConfig.getName());
|
||||||
|
// 查询时间段内的数据
|
||||||
|
Integer ageCount = managerPortalMapper.getAgeCount(basicPersonnelParam.getTenantKey(), basicPersonnelParam.getDepartmentIdList(), pieChartConfig.getStartIndex(), pieChartConfig.getEndIndex());
|
||||||
|
portalPO.setValue(String.valueOf(ageCount));
|
||||||
|
returnList.add(portalPO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 司龄分布数据
|
||||||
|
*
|
||||||
|
* @param basicPersonnelParam
|
||||||
|
* @param returnList
|
||||||
|
*/
|
||||||
|
private void dealCompanyInfo(BasicPersonnelParam basicPersonnelParam, List<PortalPO> returnList) {
|
||||||
|
List<PieChartConfig> pieTypeConfig = managerPortalMapper.getPieTypeConfig(basicPersonnelParam);
|
||||||
|
for (PieChartConfig pieChartConfig : pieTypeConfig) {
|
||||||
|
|
||||||
|
PortalPO portalPO = new PortalPO();
|
||||||
|
portalPO.setName(pieChartConfig.getName());
|
||||||
|
// 查询时间段内的数据
|
||||||
|
Integer ageCount = managerPortalMapper.getComapnyCount(basicPersonnelParam.getTenantKey(), basicPersonnelParam.getDepartmentIdList(), pieChartConfig.getStartIndex(), pieChartConfig.getEndIndex());
|
||||||
|
portalPO.setValue(String.valueOf(ageCount));
|
||||||
|
returnList.add(portalPO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取用户当前所负责的所有的部门以及下级部门
|
* 获取用户当前所负责的所有的部门以及下级部门
|
||||||
|
|
|
||||||
|
|
@ -114,6 +114,13 @@ public class DateUtil {
|
||||||
return date.withDayOfMonth(1);
|
return date.withDayOfMonth(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前年度第一天的字符串
|
||||||
|
*/
|
||||||
|
public static String getFirstDayOfMonth() {
|
||||||
|
return LocalDate.now().withDayOfMonth(1).format(DEFAULT_DATE_FORMATTER);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取指定日期字符串所在月份的第一天(字符串形式)
|
* 获取指定日期字符串所在月份的第一天(字符串形式)
|
||||||
* @param dateStr 输入日期字符串 (yyyy-MM-dd)
|
* @param dateStr 输入日期字符串 (yyyy-MM-dd)
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
<select id="getResignNumber" resultType="java.lang.Integer">
|
<select id="getResignNumber" resultType="java.lang.Integer">
|
||||||
select count(id) as value from e10_common.uf_jcl_lzxxjl t
|
select count(id) as value from e10_common.uf_jcl_lzxxjl t
|
||||||
where t.delete_type = 0 and t.tenant_key = #{tenantKey}
|
where t.delete_type = 0 and t.tenant_key = #{tenantKey}
|
||||||
|
and t.lzzt = 1
|
||||||
<if test="departmentIdList != null and departmentIdList.size() > 0">
|
<if test="departmentIdList != null and departmentIdList.size() > 0">
|
||||||
AND t.lzqbm IN
|
AND t.lzqbm IN
|
||||||
<foreach collection="departmentIdList" item="departmentId" open="(" close=")" separator=",">
|
<foreach collection="departmentIdList" item="departmentId" open="(" close=")" separator=",">
|
||||||
|
|
@ -54,6 +55,21 @@
|
||||||
and t.sqsj >= #{startDate}
|
and t.sqsj >= #{startDate}
|
||||||
and t.sqsj <= #{endDate}
|
and t.sqsj <= #{endDate}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="getEntryNumber" resultType="java.lang.Integer">
|
||||||
|
select count(id) as value from e10_common.uf_jcl_rzgl t
|
||||||
|
where t.delete_type = 0 and t.tenant_key = #{tenantKey}
|
||||||
|
<if test="departmentIdList != null and departmentIdList.size() > 0">
|
||||||
|
AND t.department IN
|
||||||
|
<foreach collection="departmentIdList" item="departmentId" open="(" close=")" separator=",">
|
||||||
|
#{departmentId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
and t.hiredate >= #{startDate}
|
||||||
|
and t.hiredate <= #{endDate}
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="getManageDeptIds" resultType="java.lang.Long">
|
<select id="getManageDeptIds" resultType="java.lang.Long">
|
||||||
select t.id
|
select t.id
|
||||||
from eteams.department t
|
from eteams.department t
|
||||||
|
|
@ -67,4 +83,123 @@
|
||||||
and t2.bmfzr = #{empId}
|
and t2.bmfzr = #{empId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getBirthdayNum" resultType="java.lang.Integer">
|
||||||
|
SELECT COUNT(t.id) AS value
|
||||||
|
FROM e10_common.uf_jcl_employee_information t
|
||||||
|
WHERE t.delete_type = 0
|
||||||
|
AND t.tenant_key = #{tenantKey}
|
||||||
|
<if test="departmentIdList != null and departmentIdList.size() > 0">
|
||||||
|
AND t.department IN
|
||||||
|
<foreach collection="departmentIdList" item="departmentId" open="(" close=")" separator=",">
|
||||||
|
#{departmentId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
AND (
|
||||||
|
(
|
||||||
|
DATE_FORMAT(birthday, '%m-%d') BETWEEN
|
||||||
|
DATE_FORMAT(CURDATE(), '%m-%d') AND DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 7 DAY), '%m-%d')
|
||||||
|
)
|
||||||
|
OR (
|
||||||
|
DATE_FORMAT(CURDATE(), '%m-%d') > DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 7 DAY), '%m-%d')
|
||||||
|
AND (
|
||||||
|
DATE_FORMAT(birthday, '%m-%d') >= DATE_FORMAT(CURDATE(), '%m-%d')
|
||||||
|
OR DATE_FORMAT(birthday, '%m-%d') <= DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 7 DAY), '%m-%d')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
</select>
|
||||||
|
<select id="getRegularEmployeeNum" resultType="java.lang.Integer">
|
||||||
|
SELECT COUNT(t.id) AS value
|
||||||
|
FROM e10_common.uf_jcl_employee_information t
|
||||||
|
WHERE t.delete_type = 0
|
||||||
|
AND t.tenant_key = #{tenantKey}
|
||||||
|
<if test="departmentIdList != null and departmentIdList.size() > 0">
|
||||||
|
AND t.department IN
|
||||||
|
<foreach collection="departmentIdList" item="departmentId" open="(" close=")" separator=",">
|
||||||
|
#{departmentId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
and yjsyjsrq IS NOT NULL
|
||||||
|
AND (
|
||||||
|
STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-', DATE_FORMAT(yjsyjsrq, '%m-%d')), '%Y-%m-%d') BETWEEN
|
||||||
|
CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 60 DAY)
|
||||||
|
OR STR_TO_DATE(CONCAT(YEAR(CURDATE()) + 1, '-', DATE_FORMAT(yjsyjsrq, '%m-%d')), '%Y-%m-%d') BETWEEN
|
||||||
|
CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 60 DAY)
|
||||||
|
)
|
||||||
|
</select>
|
||||||
|
<select id="getEmploymentAnniversary" resultType="java.lang.Integer">
|
||||||
|
SELECT COUNT(t.id) AS value
|
||||||
|
FROM e10_common.uf_jcl_employee_information t
|
||||||
|
WHERE t.delete_type = 0
|
||||||
|
AND t.tenant_key = #{tenantKey}
|
||||||
|
<if test="departmentIdList != null and departmentIdList.size() > 0">
|
||||||
|
AND t.department IN
|
||||||
|
<foreach collection="departmentIdList" item="departmentId" open="(" close=")" separator=",">
|
||||||
|
#{departmentId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
AND (
|
||||||
|
(
|
||||||
|
DATE_FORMAT(hiredate, '%m-%d') BETWEEN
|
||||||
|
DATE_FORMAT(CURDATE(), '%m-%d') AND DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 7 DAY), '%m-%d')
|
||||||
|
)
|
||||||
|
OR (
|
||||||
|
DATE_FORMAT(CURDATE(), '%m-%d') > DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 7 DAY), '%m-%d')
|
||||||
|
AND (
|
||||||
|
DATE_FORMAT(hiredate, '%m-%d') >= DATE_FORMAT(CURDATE(), '%m-%d')
|
||||||
|
OR DATE_FORMAT(hiredate, '%m-%d') <= DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 7 DAY), '%m-%d')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getEducationInfo" resultType="com.weaver.seconddev.portal.entity.po.PortalPO">
|
||||||
|
select count(t.id) as value , t.education as id
|
||||||
|
from e10_common.uf_jcl_employee_information t
|
||||||
|
where t.delete_type = 0 and t.tenant_key = #{tenantKey}
|
||||||
|
<if test="departmentIdList != null and departmentIdList.size() > 0">
|
||||||
|
AND t.department IN
|
||||||
|
<foreach collection="departmentIdList" item="departmentId" open="(" close=")" separator=",">
|
||||||
|
#{departmentId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
group by t.education
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getPieTypeConfig" resultType="com.weaver.seconddev.portal.entity.po.PieChartConfig">
|
||||||
|
select t.lx as type,t.flmc as name,t.xlfl as educationIds,
|
||||||
|
t.qsw as startIndex,t.jzw as endIndex,t.zj as gradeIds,t.zssx as orderNum
|
||||||
|
from e10_common.uf_xlfb t
|
||||||
|
where t.delete_type = 0 and t.tenant_key = #{tenantKey}
|
||||||
|
and t.lx = #{pieType} order by t.zssx
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getAgeCount" resultType="java.lang.Integer">
|
||||||
|
select count(t.id) as value from e10_common.uf_jcl_employee_information t
|
||||||
|
where t.delete_type = 0 and t.tenant_key = #{tenantKey}
|
||||||
|
<if test="departmentIdList != null and departmentIdList.size() > 0">
|
||||||
|
AND t.department IN
|
||||||
|
<foreach collection="departmentIdList" item="departmentId" open="(" close=")" separator=",">
|
||||||
|
#{departmentId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
and t.age > #{startIndex}
|
||||||
|
and t.age <= #{endIndex}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getComapnyCount" resultType="java.lang.Integer">
|
||||||
|
select count(t.id) as value from e10_common.uf_jcl_employee_information t
|
||||||
|
where t.delete_type = 0 and t.tenant_key = #{tenantKey}
|
||||||
|
<if test="departmentIdList != null and departmentIdList.size() > 0">
|
||||||
|
AND t.department IN
|
||||||
|
<foreach collection="departmentIdList" item="departmentId" open="(" close=")" separator=",">
|
||||||
|
#{departmentId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
and t.sl > #{startIndex}
|
||||||
|
and t.sl <= #{endIndex}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue