From ef8c725ba73fea5b88bb7f77684639ddf8e51e95 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Sat, 04 Dec 2021 16:32:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/org/springblade/modules/information/controller/InformationsController.java | 147 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 147 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/information/controller/InformationsController.java b/src/main/java/org/springblade/modules/information/controller/InformationsController.java
index a72081d..f1e1ae5 100644
--- a/src/main/java/org/springblade/modules/information/controller/InformationsController.java
+++ b/src/main/java/org/springblade/modules/information/controller/InformationsController.java
@@ -7,9 +7,16 @@
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.springblade.modules.system.vo.UserVO;
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
@@ -133,4 +140,144 @@
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 += responseVo.getNum();
+ }
+ }
+
+
+ //2.保安员资格异常的数量
+ //遍历计算总数
+ for (ResponseVo responseVo : examinationGroupCountList) {
+ //辖区id相同则数量相加
+ if (responseVo.getId().equals(id)){
+ count += responseVo.getNum();
+ }
+ }
+
+ //3.考试通过率低于50%
+ //遍历计算总数
+ for (ResponseVo responseVo : examPassingGroupCountList) {
+ //辖区id相同则数量相加
+ if (responseVo.getId().equals(id)){
+ count += responseVo.getNum();
+ }
+ }
+
+ //4.持证率低于50%
+ //遍历计算总数
+ for (ResponseVo responseVo : holdGroupCountList) {
+ //辖区id相同则数量相加
+ if (responseVo.getId().equals(id)){
+ count += responseVo.getNum();
+ }
+ }
+
+ //5.社保缴纳率低于50%
+ //遍历计算总数
+ for (ResponseVo responseVo : soidGroupCountList) {
+ //辖区id相同则数量相加
+ if (responseVo.getId().equals(id)){
+ count += responseVo.getNum();
+ }
+ }
+
+ //6.派遣率低于50%
+ //遍历计算总数
+ for (ResponseVo responseVo : dispatchGroupCountList) {
+ //辖区id相同则数量相加
+ if (responseVo.getId().equals(id)){
+ count += responseVo.getNum();
+ }
+ }
+
+ //封装数据
+ map.put("Count", count);
+ map.put("jurname", jurname);
+ map.put("id", id);
+ lists.add(map);
+ }
+ return R.data(lists);
+ }
+
+ /**
+ * 根据辖区及保安公司统计未缴纳社保人员
+ * @param query 分页条件
+ * @param information 查询条件
+ * @return
+ */
+ @GetMapping("/getNotSocialNumber")
+ public R<IPage<UserVO>> getNotSocialNumber(InformationVO information, Query query){
+ return R.data(informationService.getNotSocialAndInsuranceAndDispatcherNumber(Condition.getPage(query), information,1));
+ }
+
+ /**
+ * 根据辖区及保安公司统计未缴纳保险人员
+ * @param query 分页条件
+ * @param information 查询条件
+ * @return
+ */
+ @GetMapping("/getNotInsuranceNumber")
+ public R<IPage<UserVO>> getNotInsuranceNumber(InformationVO information, Query query){
+ return R.data(informationService.getNotSocialAndInsuranceAndDispatcherNumber(Condition.getPage(query), information,2));
+ }
+
+ /**
+ * 根据辖区及保安公司统计未派遣人员
+ * @param query 分页条件
+ * @param information 查询条件
+ * @return
+ */
+ @GetMapping("/getNotDispatcherNumber")
+ public R<IPage<UserVO>> getNotDispatcherNumber(InformationVO information, Query query){
+ return R.data(informationService.getNotSocialAndInsuranceAndDispatcherNumber(Condition.getPage(query), information,3));
+ }
}
--
Gitblit v1.9.3