领导驾驶舱穿透地址

This commit is contained in:
dxfeng 2025-08-29 14:00:27 +08:00
parent 639c906991
commit ffa436259f
3 changed files with 51 additions and 13 deletions

View File

@ -2,13 +2,11 @@ package com.weaver.seconddev.portal.controller;
import com.weaver.common.authority.annotation.WeaPermission;
import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.seconddev.portal.entity.po.PortalPO;
import com.weaver.seconddev.portal.service.LeaderCockpitService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
@ -41,12 +39,12 @@ public class LeaderCockpitController {
}
@PostMapping("/getAttendanceRate")
private WeaResult<List<PortalPO>> getAttendanceRate(@RequestBody Map<String, String> params) {
private WeaResult<Map<String, Object>> getAttendanceRate(@RequestBody Map<String, String> params) {
return leaderCockpitService.getAttendanceRate(params);
}
@PostMapping("/getFullStaffingRate")
private WeaResult<List<PortalPO>> getFullStaffingRate(@RequestHeader Map<String, String> header, @RequestBody Map<String, String> params) {
private WeaResult<Map<String, Object>> getFullStaffingRate(@RequestHeader Map<String, String> header, @RequestBody Map<String, String> params) {
return leaderCockpitService.getFullStaffingRate(header, params);
}

View File

@ -1,9 +1,7 @@
package com.weaver.seconddev.portal.service;
import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.seconddev.portal.entity.po.PortalPO;
import java.util.List;
import java.util.Map;
/**
@ -45,7 +43,7 @@ public interface LeaderCockpitService {
* @param params
* @return
*/
WeaResult<List<PortalPO>> getAttendanceRate(Map<String, String> params);
WeaResult<Map<String, Object>> getAttendanceRate(Map<String, String> params);
/**
* 获取满编率
@ -54,7 +52,7 @@ public interface LeaderCockpitService {
* @param header
* @return
*/
WeaResult<List<PortalPO>> getFullStaffingRate(Map<String, String> header, Map<String, String> params);
WeaResult<Map<String, Object>> getFullStaffingRate(Map<String, String> header, Map<String, String> params);
/**
* 获取入职情况

View File

@ -9,12 +9,15 @@ import com.weaver.seconddev.portal.entity.bo.EmployeeStaffBo;
import com.weaver.seconddev.portal.entity.param.SearchConditionParam;
import com.weaver.seconddev.portal.entity.po.PortalData;
import com.weaver.seconddev.portal.entity.po.PortalPO;
import com.weaver.seconddev.portal.entity.po.PortalUrlDetail;
import com.weaver.seconddev.portal.entity.po.cfg.*;
import com.weaver.seconddev.portal.mapper.portal.LeaderCockpitMapper;
import com.weaver.seconddev.portal.mapper.portal.PortalMapper;
import com.weaver.seconddev.portal.service.LeaderCockpitService;
import com.weaver.seconddev.portal.util.DateUtil;
import com.weaver.teams.security.StringUtils;
import com.weaver.teams.security.context.UserContext;
import com.weaver.teams.security.user.User;
import com.weaver.workflow.common.cfg.org.service.DepartMentService;
import com.weaver.workflow.common.entity.org.WeaDepartMent;
import lombok.extern.slf4j.Slf4j;
@ -24,6 +27,7 @@ import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
/**
* 领导驾驶舱门户
@ -44,6 +48,11 @@ public class LeaderCockpitServiceImpl implements LeaderCockpitService {
@Autowired
DepartMentService departMentService;
@Autowired
PortalMapper portalMapper;
private static final String PORTAL_KEY = "leadershipCockpit";
@Override
public WeaResult<Map<String, Object>> getOnJobNumber(Map<String, String> params) {
SearchConditionParam searchConditionParam = new SearchConditionParam();
@ -53,6 +62,10 @@ public class LeaderCockpitServiceImpl implements LeaderCockpitService {
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("data", onJobNumber);
returnMap.put("total", onJobNumber.stream().mapToInt(item -> Convert.toInt(item.getValue(), 0)).sum());
User currentUser = UserContext.getCurrentUser();
List<PortalUrlDetail> portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit");
Map<String, String> urlMap = portalUrlDetails.stream().collect(Collectors.toMap(PortalUrlDetail::getDetailKey, PortalUrlDetail::getUrlAddress));
returnMap.put("onJobNumberUrl", urlMap.get("onJobNumber"));
return WeaResult.success(returnMap);
}
@ -63,6 +76,10 @@ public class LeaderCockpitServiceImpl implements LeaderCockpitService {
log.error("searchConditionParam===" + JSON.toJSONString(searchConditionParam));
Map<String, Object> laborCost = leaderCockpitMapper.getLaborCost(searchConditionParam);
User currentUser = UserContext.getCurrentUser();
List<PortalUrlDetail> portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit");
Map<String, String> urlMap = portalUrlDetails.stream().collect(Collectors.toMap(PortalUrlDetail::getDetailKey, PortalUrlDetail::getUrlAddress));
laborCost.put("laborCostUrl", urlMap.get("laborCost"));
return WeaResult.success(laborCost);
}
@ -85,16 +102,28 @@ public class LeaderCockpitServiceImpl implements LeaderCockpitService {
Map<String, Object> returnMap = new HashMap<>(2);
returnMap.put("turnoverRate", formatPercentage(turnoverRate));
returnMap.put("keyTurnoverRate", formatPercentage(keyTurnoverRate));
User currentUser = UserContext.getCurrentUser();
List<PortalUrlDetail> portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit");
Map<String, String> urlMap = portalUrlDetails.stream().collect(Collectors.toMap(PortalUrlDetail::getDetailKey, PortalUrlDetail::getUrlAddress));
returnMap.put("turnoverRateUrl", urlMap.get("turnoverRate"));
return WeaResult.success(returnMap);
}
@Override
public WeaResult<List<PortalPO>> getAttendanceRate(Map<String, String> params) {
return null;
public WeaResult<Map<String, Object>> getAttendanceRate(Map<String, String> params) {
Map<String, Object> returnMap = new HashMap<>(2);
User currentUser = UserContext.getCurrentUser();
List<PortalUrlDetail> portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit");
Map<String, String> urlMap = portalUrlDetails.stream().collect(Collectors.toMap(PortalUrlDetail::getDetailKey, PortalUrlDetail::getUrlAddress));
returnMap.put("attendanceRateUrl", urlMap.get("attendanceRate"));
return WeaResult.success(returnMap);
}
@Override
public WeaResult<List<PortalPO>> getFullStaffingRate(Map<String, String> header, Map<String, String> params) {
public WeaResult<Map<String, Object>> getFullStaffingRate(Map<String, String> header, Map<String, String> params) {
HashMap<String, Object> returnMap = new HashMap<>();
String origin = header.get("origin");
// 人员编制
String employeeStaffUrl = origin + "/api/bs/hr/est/cfg/table";
@ -106,10 +135,14 @@ public class LeaderCockpitServiceImpl implements LeaderCockpitService {
SearchConditionParam searchConditionParam = new SearchConditionParam();
initSearchConditionParam(searchConditionParam, params, null);
log.error("searchConditionParam===" + JSON.toJSONString(searchConditionParam));
//postEmployeeStaff(employeeStaffUrl, header, searchConditionParam.getDepartmentIdList(), month);
// postEmployeeStaff(employeeStaffUrl, header, searchConditionParam.getDepartmentIdList(), month);
User currentUser = UserContext.getCurrentUser();
List<PortalUrlDetail> portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit");
Map<String, String> urlMap = portalUrlDetails.stream().collect(Collectors.toMap(PortalUrlDetail::getDetailKey, PortalUrlDetail::getUrlAddress));
returnMap.put("fullStaffingRateUrl", urlMap.get("fullStaffingRate"));
return null;
return WeaResult.success(returnMap);
}
private void postEmployeeStaff(String employeeStaffUrl,Map<String, String> header, Set<Long> departmentIdList, String month) {
@ -206,6 +239,10 @@ public class LeaderCockpitServiceImpl implements LeaderCockpitService {
returnMap.put("dataSource", portalList);
returnMap.put("all", allDataMap);
returnMap.put("key", keyDataMap);
User currentUser = UserContext.getCurrentUser();
List<PortalUrlDetail> portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit");
Map<String, String> urlMap = portalUrlDetails.stream().collect(Collectors.toMap(PortalUrlDetail::getDetailKey, PortalUrlDetail::getUrlAddress));
returnMap.put("employmentStatusUrl", urlMap.get("employmentStatus"));
return WeaResult.success(returnMap);
}
@ -273,6 +310,11 @@ public class LeaderCockpitServiceImpl implements LeaderCockpitService {
returnMap.put("dataSource", portalList);
returnMap.put("all", allDataMap);
returnMap.put("key", keyDataMap);
User currentUser = UserContext.getCurrentUser();
List<PortalUrlDetail> portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit");
Map<String, String> urlMap = portalUrlDetails.stream().collect(Collectors.toMap(PortalUrlDetail::getDetailKey, PortalUrlDetail::getUrlAddress));
returnMap.put("resignationSituationUrl", urlMap.get("resignationSituation"));
return WeaResult.success(returnMap);
}