diff --git a/src/main/java/com/weaver/seconddev/portal/controller/LeaderCockpitController.java b/src/main/java/com/weaver/seconddev/portal/controller/LeaderCockpitController.java index 76c0333..22f31b5 100644 --- a/src/main/java/com/weaver/seconddev/portal/controller/LeaderCockpitController.java +++ b/src/main/java/com/weaver/seconddev/portal/controller/LeaderCockpitController.java @@ -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> getAttendanceRate(@RequestBody Map params) { + private WeaResult> getAttendanceRate(@RequestBody Map params) { return leaderCockpitService.getAttendanceRate(params); } @PostMapping("/getFullStaffingRate") - private WeaResult> getFullStaffingRate(@RequestHeader Map header, @RequestBody Map params) { + private WeaResult> getFullStaffingRate(@RequestHeader Map header, @RequestBody Map params) { return leaderCockpitService.getFullStaffingRate(header, params); } diff --git a/src/main/java/com/weaver/seconddev/portal/service/LeaderCockpitService.java b/src/main/java/com/weaver/seconddev/portal/service/LeaderCockpitService.java index 50e5979..a1245c4 100644 --- a/src/main/java/com/weaver/seconddev/portal/service/LeaderCockpitService.java +++ b/src/main/java/com/weaver/seconddev/portal/service/LeaderCockpitService.java @@ -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> getAttendanceRate(Map params); + WeaResult> getAttendanceRate(Map params); /** * 获取满编率 @@ -54,7 +52,7 @@ public interface LeaderCockpitService { * @param header * @return */ - WeaResult> getFullStaffingRate(Map header, Map params); + WeaResult> getFullStaffingRate(Map header, Map params); /** * 获取入职情况 diff --git a/src/main/java/com/weaver/seconddev/portal/service/impl/LeaderCockpitServiceImpl.java b/src/main/java/com/weaver/seconddev/portal/service/impl/LeaderCockpitServiceImpl.java index 25489e0..45d9acc 100644 --- a/src/main/java/com/weaver/seconddev/portal/service/impl/LeaderCockpitServiceImpl.java +++ b/src/main/java/com/weaver/seconddev/portal/service/impl/LeaderCockpitServiceImpl.java @@ -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> getOnJobNumber(Map params) { SearchConditionParam searchConditionParam = new SearchConditionParam(); @@ -53,6 +62,10 @@ public class LeaderCockpitServiceImpl implements LeaderCockpitService { Map 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 portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit"); + Map 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 laborCost = leaderCockpitMapper.getLaborCost(searchConditionParam); + User currentUser = UserContext.getCurrentUser(); + List portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit"); + Map 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 returnMap = new HashMap<>(2); returnMap.put("turnoverRate", formatPercentage(turnoverRate)); returnMap.put("keyTurnoverRate", formatPercentage(keyTurnoverRate)); + + User currentUser = UserContext.getCurrentUser(); + List portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit"); + Map urlMap = portalUrlDetails.stream().collect(Collectors.toMap(PortalUrlDetail::getDetailKey, PortalUrlDetail::getUrlAddress)); + returnMap.put("turnoverRateUrl", urlMap.get("turnoverRate")); return WeaResult.success(returnMap); } @Override - public WeaResult> getAttendanceRate(Map params) { - return null; + public WeaResult> getAttendanceRate(Map params) { + Map returnMap = new HashMap<>(2); + + User currentUser = UserContext.getCurrentUser(); + List portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit"); + Map urlMap = portalUrlDetails.stream().collect(Collectors.toMap(PortalUrlDetail::getDetailKey, PortalUrlDetail::getUrlAddress)); + returnMap.put("attendanceRateUrl", urlMap.get("attendanceRate")); + return WeaResult.success(returnMap); } @Override - public WeaResult> getFullStaffingRate(Map header, Map params) { + public WeaResult> getFullStaffingRate(Map header, Map params) { + HashMap 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 portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit"); + Map 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 header, Set 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 portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit"); + Map 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 portalUrlDetails = portalMapper.getPortalUrlDetail(currentUser.getTenantKey(), PORTAL_KEY, "leaderCockpit"); + Map urlMap = portalUrlDetails.stream().collect(Collectors.toMap(PortalUrlDetail::getDetailKey, PortalUrlDetail::getUrlAddress)); + returnMap.put("resignationSituationUrl", urlMap.get("resignationSituation")); return WeaResult.success(returnMap); }