智慧保安后台管理-验收版本
src/main/java/org/springblade/modules/information/controller/InformationsController.java
@@ -7,9 +7,17 @@
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.PostMapping;
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;
import java.util.concurrent.atomic.AtomicReference;
/**
 * 组织机构详情控制层 2
@@ -133,4 +141,90 @@
   public R<IPage<InformationVO>> getSecurityUnitServerLessPage(InformationVO information, Query query){
      return R.data(informationService.getSecurityUnitServerLess2Page(Condition.getPage(query), information));
   }
   /**
    * 首页分局预警统计(保安员预警(表现差,审查异常),保安公司预警(考试通过率低于50%,持证率低于50%,社保缴纳率低于50%,派遣率低于50%))
    * @return
    */
   @PostMapping("/selectSubstationWarnInfo")
   public R selectSubstationWarnInfo() {
      //辖区信息
      List<Map<Object, Object>> list = informationService.selectJur();
      List<Map<String, Object>> lists = new ArrayList<>();
      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.保安员表现差预警数量
         List<ResponseVo> performanceGroupCountList = informationService.getSecurityPerformanceGroupCountList();
         //遍历计算总数
         for (ResponseVo responseVo : performanceGroupCountList) {
            //辖区id相同则数量相加
            if (responseVo.getId().equals(id)){
               count += performanceGroupCountList.get(i).getNum();
            }
         }
         //2.保安员资格异常的数量
         List<ResponseVo> examinationGroupCountList = informationService.getSecurityExaminationGroupCountList();
         //遍历计算总数
         for (ResponseVo responseVo : examinationGroupCountList) {
            //辖区id相同则数量相加
            if (responseVo.getId().equals(id)){
               count += examinationGroupCountList.get(i).getNum();
            }
         }
         //3.考试通过率低于50%
         List<ResponseVo> examPassingGroupCountList = informationService.getSecurityExamPassingGroupCountList();
         //遍历计算总数
         for (ResponseVo responseVo : examPassingGroupCountList) {
            //辖区id相同则数量相加
            if (responseVo.getId().equals(id)){
               count += examPassingGroupCountList.get(i).getNum();
            }
         }
         //4.持证率低于50%
         List<ResponseVo> holdGroupCountList = informationService.getSecurityHoldAndSoidAndDispatchGroupCountList(1);
         //遍历计算总数
         for (ResponseVo responseVo : holdGroupCountList) {
            //辖区id相同则数量相加
            if (responseVo.getId().equals(id)){
               count += holdGroupCountList.get(i).getNum();
            }
         }
         //5.社保缴纳率低于50%
         List<ResponseVo> soidGroupCountList = informationService.getSecurityHoldAndSoidAndDispatchGroupCountList(2);
         //遍历计算总数
         for (ResponseVo responseVo : soidGroupCountList) {
            //辖区id相同则数量相加
            if (responseVo.getId().equals(id)){
               count += soidGroupCountList.get(i).getNum();
            }
         }
         //6.派遣率低于50%
         List<ResponseVo> dispatchGroupCountList = informationService.getSecurityHoldAndSoidAndDispatchGroupCountList(3);
         //遍历计算总数
         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);
   }
}