| | |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.modules.information.service.IInformationService; |
| | | import org.springblade.modules.information.vo.InformationVO; |
| | | import org.springblade.modules.information.vo.ResponseVo; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 组织机构详情控制层 2 |
| | |
| | | public R<IPage<InformationVO>> getSecurityUnitServerLessPage(InformationVO information, Query query){ |
| | | return R.data(informationService.getSecurityUnitServerLess2Page(Condition.getPage(query), information)); |
| | | } |
| | | |
| | | /** |
| | | * 首页分局预警统计(保安员预警(表现差,审查异常),保安公司预警(考试通过率低于50%,持证率低于50%,社保缴纳率低于50%,派遣率低于50%)) |
| | | * @return |
| | | */ |
| | | @GetMapping("/selectSubstationWarnInfo") |
| | | public R selectSubstationWarnInfo() { |
| | | //辖区信息 |
| | | List<Map<Object, Object>> list = informationService.selectJur(); |
| | | List<Map<String, Object>> lists = new ArrayList<>(); |
| | | |
| | | //1.保安员表现差预警数量 |
| | | List<ResponseVo> performanceGroupCountList = informationService.getSecurityPerformanceGroupCountList(); |
| | | System.out.println("保安员表现差预警数量 = " + performanceGroupCountList); |
| | | |
| | | //2.保安员资格异常的数量 |
| | | List<ResponseVo> examinationGroupCountList = informationService.getSecurityExaminationGroupCountList(); |
| | | System.out.println("保安员资格异常的数量 = " + examinationGroupCountList); |
| | | |
| | | //3.考试通过率低于50% |
| | | List<ResponseVo> examPassingGroupCountList = informationService.getSecurityExamPassingGroupCountList(); |
| | | System.out.println("考试通过率低于50% = " + examPassingGroupCountList); |
| | | |
| | | //4.持证率低于50% |
| | | List<ResponseVo> holdGroupCountList = informationService.getSecurityHoldAndSoidAndDispatchGroupCountList(1); |
| | | System.out.println("持证率低于50% = " + holdGroupCountList); |
| | | |
| | | //5.社保缴纳率低于50% |
| | | List<ResponseVo> soidGroupCountList = informationService.getSecurityHoldAndSoidAndDispatchGroupCountList(2); |
| | | System.out.println("社保缴纳率低于50% = " + soidGroupCountList); |
| | | |
| | | //6.派遣率低于50% |
| | | List<ResponseVo> dispatchGroupCountList = informationService.getSecurityHoldAndSoidAndDispatchGroupCountList(3); |
| | | System.out.println("派遣率低于50% = " + dispatchGroupCountList); |
| | | |
| | | |
| | | for (int i = 0; i < list.size(); i++) { |
| | | int count = 0; |
| | | Map<String, Object> map = new HashMap<String, Object>(); |
| | | //辖区id |
| | | String id = list.get(i).get("id").toString(); |
| | | //辖区名称 |
| | | String jurname = list.get(i).get("dept_name").toString(); |
| | | |
| | | //1.保安员表现差预警数量 |
| | | //遍历计算总数 |
| | | for (ResponseVo responseVo : performanceGroupCountList) { |
| | | //辖区id相同则数量相加 |
| | | if (responseVo.getId().equals(id)){ |
| | | count += performanceGroupCountList.get(i).getNum(); |
| | | } |
| | | } |
| | | |
| | | |
| | | //2.保安员资格异常的数量 |
| | | //遍历计算总数 |
| | | for (ResponseVo responseVo : examinationGroupCountList) { |
| | | //辖区id相同则数量相加 |
| | | if (responseVo.getId().equals(id)){ |
| | | count += examinationGroupCountList.get(i).getNum(); |
| | | } |
| | | } |
| | | |
| | | //3.考试通过率低于50% |
| | | //遍历计算总数 |
| | | for (ResponseVo responseVo : examPassingGroupCountList) { |
| | | //辖区id相同则数量相加 |
| | | if (responseVo.getId().equals(id)){ |
| | | count += examPassingGroupCountList.get(i).getNum(); |
| | | } |
| | | } |
| | | |
| | | //4.持证率低于50% |
| | | //遍历计算总数 |
| | | for (ResponseVo responseVo : holdGroupCountList) { |
| | | //辖区id相同则数量相加 |
| | | if (responseVo.getId().equals(id)){ |
| | | count += holdGroupCountList.get(i).getNum(); |
| | | } |
| | | } |
| | | |
| | | //5.社保缴纳率低于50% |
| | | //遍历计算总数 |
| | | for (ResponseVo responseVo : soidGroupCountList) { |
| | | //辖区id相同则数量相加 |
| | | if (responseVo.getId().equals(id)){ |
| | | count += soidGroupCountList.get(i).getNum(); |
| | | } |
| | | } |
| | | |
| | | //6.派遣率低于50% |
| | | //遍历计算总数 |
| | | for (ResponseVo responseVo : dispatchGroupCountList) { |
| | | //辖区id相同则数量相加 |
| | | if (responseVo.getId().equals(id)){ |
| | | count += dispatchGroupCountList.get(i).getNum(); |
| | | } |
| | | } |
| | | |
| | | //封装数据 |
| | | map.put("Count", count); |
| | | map.put("jurname", jurname); |
| | | map.put("id", id); |
| | | lists.add(map); |
| | | } |
| | | return R.data(lists); |
| | | } |
| | | } |