generated from dxfeng/secondev-wugang-dxfeng
代码合并-Lee
This commit is contained in:
parent
9c077137fd
commit
77e5d9d367
|
|
@ -21,7 +21,7 @@ import java.util.Map;
|
|||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/api/secondev/portal/manager")
|
||||
@RequestMapping("/api/secondev/portal/manager")
|
||||
@WeaPermission(publicPermission = true)
|
||||
public class ManagerPortalController {
|
||||
|
||||
|
|
|
|||
|
|
@ -29,10 +29,10 @@ public class BaseParam {
|
|||
* 请假表单
|
||||
*/
|
||||
private String leaveFormCus = "ft_1151420254779654145";
|
||||
///**
|
||||
// * 员工自定义表
|
||||
// */
|
||||
//private String table_emp_cus = "ft_1152026012537184302";
|
||||
/**
|
||||
* 员工自定义表
|
||||
*/
|
||||
private String table_emp_cus = "ft_1152026012537184302";
|
||||
|
||||
/**
|
||||
* 人事档案-个人信息表
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.weaver.seconddev.portal.entity.param;
|
|||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
|
|
@ -21,6 +22,7 @@ public class BasicPersonnelParam extends BaseParam {
|
|||
private Integer startIndex;
|
||||
private Integer endIndex;
|
||||
private String belongYear;
|
||||
private Date paramDate;
|
||||
|
||||
/*分页查询*/
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.weaver.seconddev.portal.entity.param;
|
|||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
|
|
@ -12,9 +13,10 @@ import java.util.Set;
|
|||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class HrbpParam extends com.weaver.seconddev.portal.entity.param.BaseParam {
|
||||
public class HrbpParam extends BaseParam {
|
||||
private Set<Long> departmentIdList;
|
||||
private Long matrixId;
|
||||
private Long matrixValueConfigId;
|
||||
private Long userId;
|
||||
private String userId;
|
||||
private Date paramDate;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ public class EmployeeBasicInfoPo {
|
|||
*/
|
||||
private String companyName;
|
||||
private String departmentName;
|
||||
private String positionName;
|
||||
/**
|
||||
* 入职日期
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -130,4 +130,26 @@ public interface HrbpPortalMapper {
|
|||
*/
|
||||
int getKqRequireByBp(HrbpParam param);
|
||||
|
||||
/**
|
||||
* 部门矩阵可查看的所有今日有打卡人数
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
int getTodayAllSignByBp(HrbpParam param);
|
||||
|
||||
/**
|
||||
* 部门矩阵可查看的某日迟到人数
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
int getTotalLateByBp(HrbpParam param);
|
||||
int getTodayNoSign(HrbpParam hrbpParam);
|
||||
|
||||
/**
|
||||
* 部门矩阵可查看的某日休假人数
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
int getTotalVacationByBp(HrbpParam param);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ public interface ManagerPortalMapper {
|
|||
* @param emdId
|
||||
* @return
|
||||
*/
|
||||
List<Long> getManageDeptIds(@Param("param") BasicPersonnelParam param, @Param("empId") Long emdId);
|
||||
List<Long> getManageDeptIds(@Param("param") BasicPersonnelParam param, @Param("empId") String emdId);
|
||||
|
||||
/**
|
||||
* 获取生日人数
|
||||
|
|
@ -178,4 +178,14 @@ public interface ManagerPortalMapper {
|
|||
//Integer sumAnnualLeaveCount(@Param("param") BasicPersonnelParam param,@Param("holidayIds") Collection<Long> holidayIds);
|
||||
|
||||
Integer sumAnnualLeaveDuration(BasicPersonnelParam param);
|
||||
|
||||
Integer getKqRequire(@Param("param") BasicPersonnelParam param, @Param("userId") String userId);
|
||||
|
||||
Integer getTodayAllSign(@Param("param") BasicPersonnelParam param, @Param("userId") String userId);
|
||||
|
||||
Integer getTotalLate(@Param("param") BasicPersonnelParam param, @Param("userId") String userId);
|
||||
|
||||
Integer getTotalVacation(@Param("param") BasicPersonnelParam param, @Param("userId") String userId);
|
||||
|
||||
Integer getTodayNoSign(@Param("param") BasicPersonnelParam param, @Param("userId") String userId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,10 @@ import com.alibaba.fastjson.JSON;
|
|||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.weaver.common.base.entity.result.WeaResult;
|
||||
import com.weaver.common.cache.tablecache.impl.ComInfoCache;
|
||||
import com.weaver.common.hr.util.Util;
|
||||
import com.weaver.common.hrm.cache.HrmEmployeeComInfo;
|
||||
import com.weaver.common.hrm.cache.HrmPositionComInfo;
|
||||
import com.weaver.common.hrm.dao.HrmCommonEmployeeDao;
|
||||
import com.weaver.seconddev.portal.entity.po.EmployeeBasicInfoPo;
|
||||
import com.weaver.seconddev.portal.entity.po.PortalUrlDetail;
|
||||
|
|
@ -45,6 +48,8 @@ public class EmployeePortalServiceImpl implements EmployeePortalService {
|
|||
|
||||
@Autowired
|
||||
DepartMentService departMentService;
|
||||
@Autowired
|
||||
private ComInfoCache comInfoCache;
|
||||
|
||||
@Autowired
|
||||
PortalMapper portalMapper;
|
||||
|
|
@ -77,7 +82,13 @@ public class EmployeePortalServiceImpl implements EmployeePortalService {
|
|||
employeeBasicInfoPo.setWorkCode(byId.getJobNum());
|
||||
//WeaDepartMent departmentById = departMentService.getDepartMentById(byId.getDepartmentId());
|
||||
//employeeBasicInfoPo.setCompanyName(null != departmentById ? departmentById.getDepartMentName() : "");
|
||||
employeeBasicInfoPo.setDepartmentName(null==department?"":department.getName());
|
||||
HrmEmployeeComInfo hrmEmployeeInfo =
|
||||
comInfoCache.getCacheById(HrmEmployeeComInfo.class, currentUser.getEmployeeId());
|
||||
HrmPositionComInfo positionComInfo = comInfoCache.getCacheById(HrmPositionComInfo.class, hrmEmployeeInfo.getPosition());
|
||||
|
||||
employeeBasicInfoPo.setPositionName(positionComInfo != null ? positionComInfo.getName() : "");
|
||||
|
||||
employeeBasicInfoPo.setDepartmentName(null == department ? "" : department.getName());
|
||||
|
||||
employeeBasicInfoPo.setHireDate(cn.hutool.core.date.DateUtil.formatDate(byId.getHiredate()));
|
||||
employeeBasicInfoPo.setEmployeeStatus(PersonnelStatusEnum.getShowNameByValue(byId.getPersonnelStatus()));
|
||||
|
|
|
|||
|
|
@ -1,17 +1,19 @@
|
|||
package com.weaver.seconddev.portal.service.impl;
|
||||
|
||||
import com.weaver.common.base.entity.result.WeaResult;
|
||||
import com.weaver.eb.common.util.TimeUtils;
|
||||
import com.weaver.seconddev.portal.entity.param.HrbpParam;
|
||||
import com.weaver.seconddev.portal.entity.po.PortalUrlDetail;
|
||||
import com.weaver.seconddev.portal.mapper.portal.HrbpPortalMapper;
|
||||
import com.weaver.seconddev.portal.mapper.portal.PortalMapper;
|
||||
import com.weaver.seconddev.portal.service.HrbpPortalService;
|
||||
import com.weaver.teams.security.context.UserContext;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -120,16 +122,47 @@ public class HrbpPortalServiceImpl implements HrbpPortalService {
|
|||
@Override
|
||||
public WeaResult<Map<String, Object>> getTodayOverview(Map<String, String> params) {
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
Date todayDate = TimeUtils.getString2Date(TimeUtils.getCurrentDateString(), "yyyy-MM-dd");
|
||||
if (params.get("date") != null) {
|
||||
String date = params.get("date");
|
||||
todayDate = TimeUtils.getString2Date(date, "yyyy-MM-dd");
|
||||
}
|
||||
|
||||
//部门矩阵中,hrbp负责的部门
|
||||
//应出勤人数,部门在职人数
|
||||
HrbpParam hrbpParam = new HrbpParam();
|
||||
hrbpParam.setTenantKey(UserContext.getCurrentUser().getTenantKey());
|
||||
hrbpParam.setMatrixId(Long.valueOf(matrixId));
|
||||
hrbpParam.setMatrixValueConfigId(Long.valueOf(matrixValueConfigId));
|
||||
hrbpParam.setUserId(UserContext.getCurrentUser().getUserId());
|
||||
hrbpParam.setUserId(String.valueOf(UserContext.getCurrentUser().getEmployeeId()));
|
||||
List<PortalUrlDetail> portalUrlDetails = portalMapper.getPortalUrlDetail(UserContext.getCurrentUser().getTenantKey(), PORTAL_KEY, "getTodayOverview");
|
||||
Map<String, String> urlMap = portalUrlDetails.stream().collect(Collectors.toMap(PortalUrlDetail::getDetailKey, PortalUrlDetail::getUrlAddress));
|
||||
|
||||
//应出勤人数
|
||||
int totalRequire = hrbpPortalMapper.getKqRequireByBp(hrbpParam);
|
||||
resultMap.put("totalRequire", totalRequire);
|
||||
resultMap.put("totalRequireUrl", urlMap.get("totalRequire"));
|
||||
|
||||
//今日实际打卡人数
|
||||
int todayAllSignByBp = hrbpPortalMapper.getTodayAllSignByBp(hrbpParam);
|
||||
resultMap.put("totalSign", todayAllSignByBp);
|
||||
resultMap.put("totalSignUrl", urlMap.get("totalSign"));
|
||||
|
||||
//今日未打卡人数
|
||||
int todayNoSign = hrbpPortalMapper.getTodayNoSign(hrbpParam);
|
||||
resultMap.put("totalNoSign", todayNoSign);
|
||||
resultMap.put("totalNoSignUrl", urlMap.get("totalNoSign"));
|
||||
|
||||
//今日迟到人数
|
||||
hrbpParam.setParamDate(todayDate);
|
||||
int totalLate = hrbpPortalMapper.getTotalLateByBp(hrbpParam);
|
||||
resultMap.put("totalLate", totalLate);
|
||||
resultMap.put("totalLateUrl", urlMap.get("totalLate"));
|
||||
|
||||
//今日休假人数
|
||||
int totalVacation = hrbpPortalMapper.getTotalVacationByBp(hrbpParam);
|
||||
resultMap.put("totalVacation", totalVacation);
|
||||
resultMap.put("totalVacationUrl", urlMap.get("totalVacation"));
|
||||
|
||||
return WeaResult.success(resultMap);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import com.weaver.common.hrm.cache.HrmDepartmentComInfo;
|
|||
import com.weaver.common.hrm.dao.HrmCommonDepartmentDao;
|
||||
import com.weaver.common.hrm.dao.HrmCommonEmployeeDao;
|
||||
import com.weaver.common.hrm.manage.HrmComInfoCacheHandler;
|
||||
import com.weaver.eb.common.util.TimeUtils;
|
||||
import com.weaver.seconddev.portal.entity.component.Option;
|
||||
import com.weaver.seconddev.portal.entity.param.BasicPersonnelParam;
|
||||
import com.weaver.seconddev.portal.entity.po.*;
|
||||
|
|
@ -91,8 +92,47 @@ public class ManagerPortalServiceImpl implements ManagerPortalService {
|
|||
|
||||
@Override
|
||||
public WeaResult<Map<String, Object>> getTodayOverview(Map<String, String> params) {
|
||||
HashMap<String, Object> resultMap = new HashMap<>();
|
||||
|
||||
return null;
|
||||
Date todayDate = TimeUtils.getString2Date(TimeUtils.getCurrentDateString(), "yyyy-MM-dd");
|
||||
if (params.get("date") != null) {
|
||||
String date = params.get("date");
|
||||
todayDate = TimeUtils.getString2Date(date, "yyyy-MM-dd");
|
||||
}
|
||||
|
||||
User currentUser = UserContext.getCurrentUser();
|
||||
BasicPersonnelParam basicPersonnelParam = new BasicPersonnelParam();
|
||||
basicPersonnelParam.setTenantKey(currentUser.getTenantKey());
|
||||
List<PortalUrlDetail> portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "getTodayOverview");
|
||||
Map<String, String> urlMap = portalUrlDetails.stream().collect(Collectors.toMap(PortalUrlDetail::getDetailKey, PortalUrlDetail::getUrlAddress));
|
||||
|
||||
//应出勤人数
|
||||
Integer totalRequire = managerPortalMapper.getKqRequire(basicPersonnelParam, String.valueOf(currentUser.getEmployeeId()));
|
||||
resultMap.put("totalRequire", totalRequire);
|
||||
resultMap.put("totalRequireUrl", urlMap.get("totalRequire"));
|
||||
|
||||
//今日实际打卡人数
|
||||
Integer todayAllSign = managerPortalMapper.getTodayAllSign(basicPersonnelParam, String.valueOf(currentUser.getEmployeeId()));
|
||||
resultMap.put("totalSign", todayAllSign);
|
||||
resultMap.put("totalSignUrl", urlMap.get("totalSign"));
|
||||
|
||||
//今日未打卡人数
|
||||
Integer todayNoSign = managerPortalMapper.getTodayNoSign(basicPersonnelParam, String.valueOf(currentUser.getEmployeeId()));
|
||||
resultMap.put("totalNoSign", todayNoSign);
|
||||
resultMap.put("totalNoSignUrl", urlMap.get("totalNoSign"));
|
||||
|
||||
//今日迟到人数
|
||||
basicPersonnelParam.setParamDate(todayDate);
|
||||
Integer totalLate = managerPortalMapper.getTotalLate(basicPersonnelParam, String.valueOf(currentUser.getEmployeeId()));
|
||||
resultMap.put("totalLate", totalLate);
|
||||
resultMap.put("totalLateUrl", urlMap.get("totalLate"));
|
||||
|
||||
//今日休假人数
|
||||
int totalVacation = managerPortalMapper.getTotalVacation(basicPersonnelParam, String.valueOf(currentUser.getEmployeeId()));
|
||||
resultMap.put("totalVacation", totalVacation);
|
||||
resultMap.put("totalVacationUrl", urlMap.get("totalVacation"));
|
||||
|
||||
return WeaResult.success(resultMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -230,6 +270,7 @@ public class ManagerPortalServiceImpl implements ManagerPortalService {
|
|||
|
||||
// 设置部门范围ID集合
|
||||
basicPersonnelParam.setDepartmentIdList(allDepartmentIdList);
|
||||
log.error("getTeamMemorialDay:{}", JSON.toJSONString(allDepartmentIdList));
|
||||
int birthdayNum = managerPortalMapper.getBirthdayNum(basicPersonnelParam);
|
||||
|
||||
int regularEmployeeNum = managerPortalMapper.getRegularEmployeeNum(basicPersonnelParam);
|
||||
|
|
@ -392,7 +433,7 @@ public class ManagerPortalServiceImpl implements ManagerPortalService {
|
|||
map3.put("url", urlMap.get("leaveType"));
|
||||
return WeaResult.success(map3);
|
||||
default:
|
||||
return WeaResult.fail("不支持的统计类型",true);
|
||||
return WeaResult.fail("不支持的统计类型", true);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -637,7 +678,6 @@ public class ManagerPortalServiceImpl implements ManagerPortalService {
|
|||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取用户当前所负责的所有的部门以及下级部门
|
||||
*
|
||||
|
|
@ -645,7 +685,7 @@ public class ManagerPortalServiceImpl implements ManagerPortalService {
|
|||
*/
|
||||
private Set<Long> getAllDepartmentIdList(BasicPersonnelParam basicPersonnelParam, Long employeeId) {
|
||||
// 查询所负责的部门
|
||||
List<Long> manageDeptIds = managerPortalMapper.getManageDeptIds(basicPersonnelParam, employeeId);
|
||||
List<Long> manageDeptIds = managerPortalMapper.getManageDeptIds(basicPersonnelParam, String.valueOf(employeeId));
|
||||
// 查询所有的部门、子部门信息
|
||||
Set<WeaDepartMent> allDepartmentList = new HashSet<>();
|
||||
for (Long manageDeptId : manageDeptIds) {
|
||||
|
|
@ -655,6 +695,11 @@ public class ManagerPortalServiceImpl implements ManagerPortalService {
|
|||
allDepartmentList.addAll(beLongDeps);
|
||||
}
|
||||
// TODO 判断集合如果为空,不展示数据
|
||||
if(CollectionUtils.isEmpty(allDepartmentList)){
|
||||
Set<Long> set = new HashSet<>();
|
||||
set.add(-1L);
|
||||
return set;
|
||||
}
|
||||
return allDepartmentList.stream().map(WeaDepartMent::getDepartMentId).collect(Collectors.toSet());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -217,7 +217,7 @@ public class DateUtil {
|
|||
if (date == null) {
|
||||
return null;
|
||||
}
|
||||
return date.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate();
|
||||
return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
||||
}
|
||||
|
||||
public static LocalDateTime toLocalDateTime(Date date) {
|
||||
|
|
|
|||
|
|
@ -176,20 +176,94 @@
|
|||
</select>
|
||||
|
||||
<select id="getKqRequireByBp" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
COUNT(DISTINCT b.ID )
|
||||
FROM
|
||||
${eteams}.hrm_matrix_value_data a
|
||||
LEFT JOIN ${eteams}.employee b ON b.DEPARTMENT = a.matrix_data_id
|
||||
WHERE
|
||||
<!-- 部门矩阵id -->
|
||||
a.matrix_id = #{matrixId}
|
||||
<!-- 矩阵配置id(hrbp字段id) hrbpId -->
|
||||
AND a.matrix_value_config_id = #{matrixValueConfigId}
|
||||
<!-- 当前人员id -->
|
||||
AND a.relate_id=#{userId}
|
||||
AND a.delete_type = 0
|
||||
AND b.accounttype = 0
|
||||
AND b.STATUS = 'normal'
|
||||
SELECT COUNT(*)
|
||||
FROM ${e10_other_business}.ATTEND_STATUS_DETAIL a
|
||||
JOIN ${eteams}.employee b ON a.employee = b.id
|
||||
JOIN (SELECT id
|
||||
FROM ${eteams}.department
|
||||
WHERE formdata IN (SELECT CAST(id AS CHAR)
|
||||
FROM ${eteams}.${table_dept_cus}
|
||||
WHERE hrbp = #{userId})) alias ON alias.id = b.department
|
||||
WHERE a.attend_date = CURDATE()
|
||||
AND a.DAY_TYPE = 'WORK'
|
||||
AND a.delete_type = 0
|
||||
</select>
|
||||
|
||||
<select id="getTodayAllSignByBp" resultType="java.lang.Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM ${e10_other_business}.ATTEND_STATUS_DETAIL a
|
||||
INNER JOIN ${eteams}.employee b ON a.employee = b.id
|
||||
INNER JOIN (SELECT id
|
||||
FROM ${eteams}.department
|
||||
WHERE formdata IN (SELECT CAST(id AS CHAR)
|
||||
FROM ${eteams}.${table_dept_cus}
|
||||
WHERE hrbp = #{userId})) alias ON alias.id = b.department
|
||||
LEFT JOIN ${eteams}.${table_emp_cus} c ON c.form_data_id = b.formdata
|
||||
LEFT JOIN ${e10_other_business}.timecard d ON d.id = a.SIGN_IN_RECORD
|
||||
LEFT JOIN ${e10_other_business}.timecard e ON e.id = a.SIGN_OUT_RECORD
|
||||
WHERE a.attend_date = CURDATE()
|
||||
AND a.DAY_TYPE = 'WORK'
|
||||
AND a.delete_type = 0
|
||||
AND (a.SIGN_RANGE_START IS NOT NULL OR a.SIGN_RANGE_END IS NOT NULL)
|
||||
</select>
|
||||
|
||||
<select id="getTotalLateByBp" resultType="java.lang.Integer">
|
||||
SELECT COUNT(0)
|
||||
FROM ${e10_other_business}.ATTEND_STATUS_DETAIL a
|
||||
INNER JOIN ${eteams}.employee b ON a.employee = b.id
|
||||
INNER JOIN (SELECT id
|
||||
FROM ${eteams}.department
|
||||
WHERE formdata IN (SELECT CAST(id AS CHAR)
|
||||
FROM ${eteams}.${table_dept_cus}
|
||||
WHERE hrbp = #{userId})) alias ON alias.id = b.department
|
||||
LEFT JOIN ${eteams}.${table_emp_cus} c ON c.form_data_id = b.formdata
|
||||
LEFT JOIN ${e10_other_business}.timecard d ON d.id = a.SIGN_IN_RECORD
|
||||
LEFT JOIN ${e10_other_business}.timecard e ON e.id = a.SIGN_OUT_RECORD
|
||||
LEFT JOIN ${e10_other_business}.attend_status_detail_link f
|
||||
ON f.employee = a.employee AND f.attend_date = a.attend_date
|
||||
WHERE a.attend_date = CURDATE()
|
||||
AND a.SIGN_IN_RECORD IS NOT NULL
|
||||
AND a.PERIOD_RANGE_START < a.SIGN_RANGE_START
|
||||
AND a.DAY_TYPE = 'WORK'
|
||||
AND a.delete_type = 0
|
||||
</select>
|
||||
<select id="getTodayNoSign" resultType="java.lang.Integer">
|
||||
SELECT COUNT( DISTINCT a.EMPLOYEE)
|
||||
FROM ${e10_other_business}.ATTEND_STATUS_DETAIL a
|
||||
INNER JOIN ${eteams}.employee b ON a.employee = b.id
|
||||
INNER JOIN (SELECT id
|
||||
FROM ${eteams}.department
|
||||
WHERE formdata IN (SELECT CAST(id AS CHAR)
|
||||
FROM ${eteams}.${table_dept_cus}
|
||||
WHERE hrbp = #{userId})) alias ON alias.id = b.department
|
||||
LEFT JOIN ${eteams}.${table_emp_cus} c ON c.form_data_id = b.formdata
|
||||
LEFT JOIN ${e10_other_business}.timecard d ON d.id = a.SIGN_IN_RECORD
|
||||
LEFT JOIN ${e10_other_business}.timecard e ON e.id = a.SIGN_OUT_RECORD
|
||||
LEFT JOIN ${e10_other_business}.attend_status_detail_link f
|
||||
ON f.employee = a.employee AND f.attend_date = a.attend_date
|
||||
WHERE a.attend_date = CURDATE()
|
||||
AND a.SIGN_IN_RECORD IS NULL
|
||||
AND a.DAY_TYPE = 'WORK'
|
||||
AND a.delete_type = 0
|
||||
</select>
|
||||
|
||||
<select id="getTotalVacationByBp" resultType="java.lang.Integer">
|
||||
SELECT COUNT(DISTINCT a.EMPLOYEE)
|
||||
FROM ${e10_other_business}.ATTEND_STATUS_DETAIL a
|
||||
JOIN ${eteams}.employee b ON a.employee = b.id
|
||||
JOIN ${eteams}.${table_emp_cus} c ON c.form_data_id = b.formdata
|
||||
JOIN ${e10_other_business}.attend_status_detail_link d
|
||||
ON d.employee = a.employee AND d.attend_date = a.attend_date
|
||||
JOIN ${e10_other_business}.attend_vacation_setting e ON e.id = d.VACATION_TYPE
|
||||
JOIN (SELECT id
|
||||
FROM ${eteams}.department
|
||||
WHERE formdata IN (SELECT CAST(id AS CHAR)
|
||||
FROM ${eteams}.${table_dept_cus}
|
||||
WHERE hrbp = #{userId})
|
||||
) alias ON alias.id = b.department
|
||||
WHERE a.attend_date = CURDATE()
|
||||
AND a.DAY_TYPE = 'WORK'
|
||||
AND a.delete_type = 0
|
||||
AND d.APPEAL_TYPE = 'leave'
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -86,14 +86,14 @@
|
|||
<select id="getManageDeptIds" resultType="java.lang.Long">
|
||||
select t.id
|
||||
from ${param.eteams}.department t
|
||||
inner join ${param.eteams}.${param.table_dept_cus} t2 on t.formdata = t2.id
|
||||
inner join ${param.eteams}.${param.table_dept_cus} t2 on t.formdata = t2.id
|
||||
where t.type = 'department'
|
||||
and t.delete_type = 0
|
||||
and t.status = 1
|
||||
and t.tenant_key = #{param.tenantKey}
|
||||
and t2.tenant_key = #{param.tenantKey}
|
||||
and t2.delete_type = 0
|
||||
and t2.bmfzr = #{empId}
|
||||
and t.delete_type = 0
|
||||
and t.status = 1
|
||||
and t.tenant_key = #{param.tenantKey}
|
||||
and t2.tenant_key = #{param.tenantKey}
|
||||
and t2.delete_type = 0
|
||||
and t2.bmfzr = #{empId}
|
||||
</select>
|
||||
|
||||
<select id="getBirthdayNum" resultType="java.lang.Integer">
|
||||
|
|
@ -181,11 +181,18 @@
|
|||
</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
|
||||
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
|
||||
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">
|
||||
|
|
@ -336,7 +343,8 @@
|
|||
</select>
|
||||
|
||||
<select id="getLateAndEarlyRankList" resultType="com.weaver.seconddev.portal.entity.po.LateAndEarlyRankPo">
|
||||
select t1.xm as empId,sum(ifnull(t1.cdcs,0) + ifnull(t1.ztcs,0)) as times,sum(ifnull(t1.cdfzs,0) + ifnull(t1.ztfzs,0)) as minutes
|
||||
select t1.xm as empId,sum(ifnull(t1.cdcs,0) + ifnull(t1.ztcs,0)) as times,sum(ifnull(t1.cdfzs,0) +
|
||||
ifnull(t1.ztfzs,0)) as minutes
|
||||
from ${e10_common}.uf_attend_day_report t1
|
||||
where t1.delete_type = 0 and t1.tenant_key = #{tenantKey}
|
||||
<if test="departmentIdList != null and departmentIdList.size() > 0">
|
||||
|
|
@ -443,5 +451,144 @@
|
|||
and t1.zt = 1
|
||||
</select>
|
||||
|
||||
<select id="getKqRequire" resultType="java.lang.Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM ${param.e10_other_business}.ATTEND_STATUS_DETAIL a
|
||||
JOIN ${param.eteams}.employee b ON a.employee = b.id
|
||||
JOIN (WITH RECURSIVE SubDepartments AS (SELECT id
|
||||
FROM ${param.eteams}.department
|
||||
WHERE formdata IN (SELECT CAST(id AS CHAR)
|
||||
FROM ${param.eteams}.${param.table_dept_cus}
|
||||
WHERE bmfzr = #{userId})
|
||||
UNION ALL
|
||||
SELECT d.id
|
||||
FROM ${param.eteams}.department d
|
||||
JOIN SubDepartments sd ON d.parent = sd.id
|
||||
WHERE d.IS_DELETE = 0
|
||||
AND d.`type` = 'department'
|
||||
AND d.STATUS = 1)
|
||||
SELECT id
|
||||
FROM SubDepartments) alias ON alias.id = b.department
|
||||
WHERE a.attend_date = CURDATE()
|
||||
AND a.DAY_TYPE = 'WORK'
|
||||
AND a.delete_type = 0
|
||||
</select>
|
||||
|
||||
<select id="getTodayAllSign" resultType="java.lang.Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM ${param.e10_other_business}.ATTEND_STATUS_DETAIL a
|
||||
INNER JOIN ${param.eteams}.employee b ON a.employee = b.id
|
||||
INNER JOIN (SELECT DISTINCT id
|
||||
FROM (WITH RECURSIVE SubDepartments AS (SELECT id
|
||||
FROM ${param.eteams}.department
|
||||
WHERE formdata IN (SELECT CAST(id AS CHAR)
|
||||
FROM ${param.eteams}.${param.table_dept_cus}
|
||||
WHERE bmfzr = #{userId})
|
||||
UNION ALL
|
||||
SELECT d.id
|
||||
FROM ${param.eteams}.department d
|
||||
INNER JOIN SubDepartments sd ON d.parent = sd.id
|
||||
WHERE d.IS_DELETE = 0
|
||||
AND d.`type` = 'department'
|
||||
AND d.STATUS = 1)
|
||||
SELECT id
|
||||
FROM SubDepartments) depts) alias ON alias.id = b.department
|
||||
LEFT JOIN ${param.eteams}.${param.table_emp_cus} c ON c.form_data_id = b.formdata
|
||||
LEFT JOIN ${param.e10_other_business}.timecard d ON d.id = a.SIGN_IN_RECORD
|
||||
LEFT JOIN ${param.e10_other_business}.timecard e ON e.id = a.SIGN_OUT_RECORD
|
||||
WHERE a.attend_date = CURDATE()
|
||||
AND a.DAY_TYPE = 'WORK'
|
||||
AND a.delete_type = 0
|
||||
AND (a.SIGN_RANGE_START IS NOT NULL OR a.SIGN_RANGE_END IS NOT NULL)
|
||||
</select>
|
||||
|
||||
<select id="getTotalLate" resultType="java.lang.Integer">
|
||||
SELECT COUNT(0)
|
||||
FROM ${param.e10_other_business}.ATTEND_STATUS_DETAIL a
|
||||
INNER JOIN ${param.eteams}.employee b ON a.employee = b.id
|
||||
INNER JOIN (SELECT DISTINCT id
|
||||
FROM (WITH RECURSIVE SubDepartments AS (SELECT id
|
||||
FROM ${param.eteams}.department
|
||||
WHERE formdata IN (SELECT CAST(id AS CHAR)
|
||||
FROM ${param.eteams}.${param.table_dept_cus}
|
||||
WHERE bmfzr = #{userId})
|
||||
UNION ALL
|
||||
SELECT d.id
|
||||
FROM ${param.eteams}.department d
|
||||
INNER JOIN SubDepartments sd ON d.parent = sd.id
|
||||
WHERE d.IS_DELETE = 0
|
||||
AND d.`type` = 'department'
|
||||
AND d.STATUS = 1)
|
||||
SELECT id
|
||||
FROM SubDepartments) depts) alias ON alias.id = b.department
|
||||
LEFT JOIN ${param.eteams}.${param.table_emp_cus} c ON c.form_data_id = b.formdata
|
||||
LEFT JOIN ${param.e10_other_business}.timecard d ON d.id = a.SIGN_IN_RECORD
|
||||
LEFT JOIN ${param.e10_other_business}.timecard e ON e.id = a.SIGN_OUT_RECORD
|
||||
LEFT JOIN ${param.e10_other_business}.attend_status_detail_link f
|
||||
ON f.employee = a.employee AND f.attend_date = a.attend_date
|
||||
WHERE a.attend_date = CURDATE()
|
||||
AND a.SIGN_IN_RECORD IS NOT NULL
|
||||
AND a.PERIOD_RANGE_START < a.SIGN_RANGE_START
|
||||
AND a.DAY_TYPE = 'WORK'
|
||||
AND a.delete_type = 0
|
||||
</select>
|
||||
<select id="getTodayNoSign" resultType="java.lang.Integer">
|
||||
SELECT COUNT( DISTINCT a.EMPLOYEE)
|
||||
FROM ${param.e10_other_business}.ATTEND_STATUS_DETAIL a
|
||||
INNER JOIN ${param.eteams}.employee b ON a.employee = b.id
|
||||
INNER JOIN (SELECT DISTINCT id
|
||||
FROM (WITH RECURSIVE SubDepartments AS (SELECT id
|
||||
FROM ${param.eteams}.department
|
||||
WHERE formdata IN (SELECT CAST(id AS CHAR)
|
||||
FROM ${param.eteams}.${param.table_dept_cus}
|
||||
WHERE bmfzr = #{userId})
|
||||
UNION ALL
|
||||
SELECT d.id
|
||||
FROM ${param.eteams}.department d
|
||||
INNER JOIN SubDepartments sd ON d.parent = sd.id
|
||||
WHERE d.IS_DELETE = 0
|
||||
AND d.`type` = 'department'
|
||||
AND d.STATUS = 1)
|
||||
SELECT id
|
||||
FROM SubDepartments) depts) alias ON alias.id = b.department
|
||||
LEFT JOIN ${param.eteams}.${param.table_emp_cus} c ON c.form_data_id = b.formdata
|
||||
LEFT JOIN ${param.e10_other_business}.timecard d ON d.id = a.SIGN_IN_RECORD
|
||||
LEFT JOIN ${param.e10_other_business}.timecard e ON e.id = a.SIGN_OUT_RECORD
|
||||
LEFT JOIN ${param.e10_other_business}.attend_status_detail_link f
|
||||
ON f.employee = a.employee AND f.attend_date = a.attend_date
|
||||
WHERE a.attend_date = CURDATE()
|
||||
AND a.SIGN_IN_RECORD IS NULL
|
||||
AND a.DAY_TYPE = 'WORK'
|
||||
AND a.delete_type = 0
|
||||
</select>
|
||||
|
||||
<select id="getTotalVacation" resultType="java.lang.Integer">
|
||||
SELECT COUNT(DISTINCT a.EMPLOYEE)
|
||||
FROM ${param.e10_other_business}.ATTEND_STATUS_DETAIL a
|
||||
JOIN ${param.eteams}.employee b ON a.employee = b.id
|
||||
JOIN ${param.eteams}.${param.table_emp_cus} c ON c.form_data_id = b.formdata
|
||||
JOIN ${param.e10_other_business}.attend_status_detail_link d
|
||||
ON d.employee = a.employee AND d.attend_date = a.attend_date
|
||||
JOIN ${param.e10_other_business}.attend_vacation_setting e ON e.id = d.VACATION_TYPE
|
||||
JOIN (SELECT DISTINCT id
|
||||
FROM (WITH RECURSIVE SubDepartments AS (SELECT id
|
||||
FROM ${param.eteams}.department
|
||||
WHERE formdata IN (SELECT CAST(id AS CHAR)
|
||||
FROM ${param.eteams}.${param.table_dept_cus}
|
||||
WHERE bmfzr = #{userId})
|
||||
UNION ALL
|
||||
SELECT d.id
|
||||
FROM ${param.eteams}.department d
|
||||
INNER JOIN SubDepartments sd ON d.parent = sd.id
|
||||
WHERE d.IS_DELETE = 0
|
||||
AND d.`type` = 'department'
|
||||
AND d.STATUS = 1)
|
||||
SELECT id
|
||||
FROM SubDepartments) AS subquery_alias) alias ON alias.id = b.department
|
||||
WHERE a.attend_date = CURDATE()
|
||||
AND a.DAY_TYPE = 'WORK'
|
||||
AND a.delete_type = 0
|
||||
AND d.APPEAL_TYPE = 'leave'
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue