From 5cdadbb29f95f35b5eabdc733ce60b16d0338037 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Tue, 20 Jul 2021 09:29:06 +0800
Subject: [PATCH] 1.保安员证编码

---
 src/main/java/org/springblade/modules/information/controller/InformationController.java |  395 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 387 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/springblade/modules/information/controller/InformationController.java b/src/main/java/org/springblade/modules/information/controller/InformationController.java
index 5c61392..e73fad0 100644
--- a/src/main/java/org/springblade/modules/information/controller/InformationController.java
+++ b/src/main/java/org/springblade/modules/information/controller/InformationController.java
@@ -16,28 +16,37 @@
  */
 package org.springblade.modules.information.controller;
 
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.*;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
+
 import javax.validation.Valid;
 
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.desk.entity.Notice;
+import org.springblade.modules.desk.vo.NoticeVO;
+import org.springblade.modules.desk.wrapper.NoticeWrapper;
+import org.springblade.modules.jurisdiction.service.JurisdictionService;
+import org.springblade.modules.jurisdiction.vo.JurisdictionVO;
 import org.springblade.modules.member.service.IMemberService;
 import org.springblade.modules.shareholder.service.IShareholderService;
+import org.springblade.modules.system.service.IDeptService;
+import org.springblade.modules.system.service.IUserDeptService;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.modules.information.entity.Information;
 import org.springblade.modules.information.vo.InformationVO;
 import org.springblade.modules.information.service.IInformationService;
 import org.springblade.core.boot.ctrl.BladeController;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.*;
 
 /**
- *  控制器
+ * 控制器
  *
  * @author BladeX
  * @since 2021-07-07
@@ -49,6 +58,8 @@
 public class InformationController extends BladeController {
 
 	private final IInformationService informationService;
+	private final IDeptService iDeptService;
+	private final JurisdictionService jurisdictionService;
 
 
 	/**
@@ -68,8 +79,8 @@
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入information")
-	public R<IPage<Information>> list(Information information, Query query) {
-		IPage<Information> pages = informationService.page(Condition.getPage(query), Condition.getQueryWrapper(information));
+	public R<IPage<Information>> list(@ApiIgnore @RequestParam Map<String, Object> information, Query query) {
+		IPage<Information> pages = informationService.page(Condition.getPage(query), Condition.getQueryWrapper(information, Information.class));
 		return R.data(pages);
 	}
 
@@ -79,8 +90,8 @@
 	@GetMapping("/page")
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "分页", notes = "传入information")
-	public R<IPage<InformationVO>> page(InformationVO information, Query query) {
-		IPage<InformationVO> pages = informationService.selectInformationPage(Condition.getPage(query), information);
+	public R<IPage<Information>> page(Information information, Query query) {
+		IPage<Information> pages = informationService.selectInformationPage(Condition.getPage(query), information);
 		return R.data(pages);
 	}
 
@@ -128,5 +139,373 @@
 		return R.success("删除成功");
 	}
 
+	/**
+	 * 首页保安公司统计接口
+	 *
+	 * @return
+	 */
+	@PostMapping("/SelectCount")
+	public R SelectCount() {
+		List<Map<Object, String>> list = iDeptService.selectCount();
+		List<Map<String, Object>> lists = new ArrayList<>();
+		for (int i = 0; i < list.size(); i++) {
+			String title = list.get(i).get("title");//部门名称
+			String departmentid = String.valueOf(list.get(i).get("jurisdiction"));//部门id
+			Map<String, Object> map = new HashMap<String, Object>();
+			Map maps = informationService.selectCount(departmentid);
+			map.put("name", title);
+			map.put("server", maps);
+			lists.add(map);
+		}
+		return R.data(lists);
+	}
+
+	/**
+	 * 首页保安持证统计接口
+	 *
+	 * @return
+	 */
+	@PostMapping("/SelectCounthold")
+	public R SelectCounthold() {
+		List<Map<Object, String>> list = iDeptService.selectCount();
+		List<Map<String, Object>> lists = new ArrayList<>();
+		for (int i = 0; i < list.size(); i++) {
+			int cznumber = 0;//总的持证数量
+			int wcznumber = 0;//总的未持证数量
+			String title = list.get(i).get("title");//部门名称
+			Map<String, Object> map = new HashMap<String, Object>();
+			Map<Object, Integer> objectStringMap = iDeptService.selectHold(String.valueOf(list.get(i).get("jurisdiction")));
+			if (objectStringMap==null) {
+				map.put("name", title);
+				map.put("cz", cznumber);
+				map.put("wcz", wcznumber);
+				lists.add(map);
+			}
+			else {
+				cznumber = objectStringMap.get("cz");
+				wcznumber = objectStringMap.get("wcz");
+				map.put("name", title);
+				map.put("cz", cznumber);
+				map.put("wcz", wcznumber);
+				lists.add(map);
+			}
+		}
+		return R.data(lists);
+	}
+
+
+	/**
+	 * 统计保安公司未持证的保安的公司数量
+	 */
+	@PostMapping("/selectInCount")
+	public R selectInCount(String jurisdiction,String deptid) {
+		List<Map<Object, String>> maps = informationService.selectInCount(jurisdiction,deptid);
+		Map<String, Object> map = new HashMap<String, Object>();
+		map.put("Count",maps.size());
+		map.put("List",maps);
+		List<Map<String, Object>> lists = new ArrayList<>();
+		lists.add(map);
+		return R.data(lists);
+	}
+
+
+	/**
+	 * 通过辖区查询机构id,然后通过机构id查询当前机构交社保的人数(numj单位已交社保数量;numz单位人员总数)
+	 */
+	@PostMapping("/selectCs")
+	public R selectCs(String jurisdiction,String deptid) {
+		List<Map<String, Object>> maps = informationService.selectCs(jurisdiction,deptid);
+		List<Map<String, Object>> lists = new ArrayList<>();
+		List<Map<String, Object>> lists1 = new ArrayList<>();
+		Map<String, Object> map1 = new HashMap<String, Object>();
+		Integer count=0;
+		for (int i=0;i<maps.size();i++){
+			Map<String, Object> map = new HashMap<String, Object>();
+			//交社保数
+			String numjs = maps.get(i).get("numj").toString();
+			Integer numj = Integer.parseInt(numjs);
+			//单位总人数
+			String numzs = maps.get(i).get("numz").toString();
+			Integer numz = Integer.parseInt(numzs);
+			String deptname = maps.get(i).get("deptname").toString();
+			//统计未交社保人数
+			int i1 = numz - numj;
+			count+=i1;
+			map.put("count",i1);
+			map.put("name",deptname);
+			lists1.add(map);
+		}
+		map1.put("Count",count);
+		map1.put("List",lists1);
+		lists.add(map1);
+		return R.data(lists);
+	}
+
+
+	/**
+	 * 管辖区域下拉
+	 */
+	@PostMapping("/selecttree")
+	public R selecttree() {
+		List<Map<Object, String>> maps = iDeptService.selectCount();
+		return R.data(maps);
+	}
+
+	/**
+	 * 管辖区域下拉
+	 */
+	@PostMapping("/lazyTreeJu")
+	public R lazyTreeJu() {
+		List<JurisdictionVO> jurisdictionVOS = jurisdictionService.lazyTreeJu();
+		return R.data(jurisdictionVOS);
+	}
+
+
+	/**
+	 * 统计这个月和上个月交社保的人数,以及金额
+	 * @return
+	 */
+	@PostMapping("/selectTo")
+	public R selectTo(String jurisdiction,String deptid) {
+		//上个月人数数量
+		Integer lnum=0;
+		//这个月人数数量
+		Integer tnum=0;
+		//上个月金额
+		Double lmount=0.0;
+		//这个月金额
+		Double tmount=0.0;
+		Map<String, Object> map = new HashMap<String, Object>();
+		List<Map<String, Object>> lists = new ArrayList<>();
+		List<Map<String, Object>> list = informationService.selectTo(jurisdiction,deptid);
+		for (int i=0;i<list.size();i++){
+			String lastmonths = list.get(i).get("lastmonth").toString();
+			Integer lastmonth=Integer.parseInt(lastmonths);
+			lnum+=lastmonth;
+			String thismouths = list.get(i).get("thismouth").toString();
+			Integer thismouth=Integer.parseInt(thismouths);
+			tnum+=thismouth;
+			String lastamounts = list.get(i).get("lastamount").toString();
+			Double lastamount =Double.parseDouble(lastamounts);
+			lmount+=lastamount;
+			String thisamounts = list.get(i).get("thisamount").toString();
+			Double thisamount =Double.parseDouble(thisamounts);
+			tmount+=thisamount;
+		}
+		map.put("lastmonth",lnum);
+		map.put("thismouth",tnum);
+		map.put("lastamount",lmount);
+		map.put("thisamount",tmount);
+		lists.add(map);
+		return R.data(lists);
+	}
+
+
+	/**
+	 * 查询本年所有月份交社保人数
+	 * @return
+	 */
+	@GetMapping("/queryYearSoil")
+	public R queryYearSoil(String jurisdiction,String deptid) {
+		Calendar cal = Calendar.getInstance();
+		String year = String.valueOf(cal.get(Calendar.YEAR));
+		Map<String, String> map = informationService.queryYearSoil(year,jurisdiction,deptid);
+		map = (HashMap<String, String>) sortMapBykeyAsc(map) ;//key升序
+		return R.data(map);
+	}
+
+	/**
+	 * 查询本年所有月份社保金额
+	 * @return
+	 */
+	@GetMapping("/queryYearAn")
+	public R queryYearAn(String jurisdiction,String deptid) {
+		Calendar cal = Calendar.getInstance();
+		String year = String.valueOf(cal.get(Calendar.YEAR));
+		Map<String, String> map = informationService.queryYearAn(year,jurisdiction,deptid);
+		map = (HashMap<String, String>) sortMapBykeyAsc(map) ;//key升序
+		return R.data(map);
+	}
+
+
+	/**
+	 * 公司运营智能统计
+	 * @return
+	 */
+	@GetMapping("/queryCounts")
+	public R queryCounts(String jurisdiction,String deptid) {
+		List<Map<String, Object>> lists = new ArrayList<>();
+		Integer a=0;
+		Integer b=0;
+		Integer zca=0;
+		Integer zcb=0;
+		Integer cza=0;
+		Integer czb=0;
+		Integer sba=0;
+		Integer sbb=0;
+		Integer kha=0;
+		Integer khb=0;
+		Integer pqa=0;
+		Integer pqb=0;
+		//保安员数量
+		Map<String, Object> map = new HashMap<String, Object>();
+		Map<String, Object> mapzc = new HashMap<String, Object>();
+		Map<String, Object> mapcz = new HashMap<String, Object>();
+		Map<String, Object> mapsb = new HashMap<String, Object>();
+		Map<String, Object> mapkh = new HashMap<String, Object>();
+		Map<String, Object> mappq = new HashMap<String, Object>();
+		Map<String, Object> mapC = new HashMap<String, Object>();
+		List<Map<Object, Integer>> maps = informationService.queryCountB(jurisdiction, deptid);
+		for (int i=0;i<maps.size();i++){
+			//这个月数量
+			a+=maps.get(i).get("thisnum");
+			//上个月数量
+			b+=  maps.get(i).get("lastnum");
+
+		}
+		map.put("thisnum",a);
+		map.put("lastnum",b);
+		mapC.put("baoan",map);
+		//正常保安员数量
+		List<Map<Object, Integer>> maps1 = informationService.queryCountZc(jurisdiction, deptid);
+		for (int i=0;i<maps1.size();i++){
+			//这个月数量
+			zca+= maps1.get(i).get("thisnum");
+			//上个月数量
+			zcb+= maps1.get(i).get("lastnum");
+		}
+		mapzc.put("thisnum",zca);
+		mapzc.put("lastnum",zcb);
+		mapC.put("zcbaoan",mapzc);
+		//持证保安数量
+		List<Map<Object, Integer>> maps2 = informationService.queryCountCz(jurisdiction, deptid);
+		for (int i=0;i<maps2.size();i++){
+			//这个月数量
+			cza+=maps2.get(i).get("thisnum");
+			//上个月数量
+			czb+=  maps2.get(i).get("lastnum");
+		}
+		mapcz.put("thisnum",cza);
+		mapcz.put("lastnum",czb);
+		mapC.put("czbaoan",mapcz);
+		//缴纳社保数量
+		List<Map<Object, Integer>> maps3 = informationService.queryCountSb(jurisdiction, deptid);
+		for (int i=0;i<maps3.size();i++){
+			//这个月数量
+			sba+=maps3.get(i).get("thisnum");
+			//上个月数量
+			sbb+=maps3.get(i).get("lastnum");
+		}
+		mapsb.put("thisnum",sba);
+		mapsb.put("lastnum",sbb);
+		mapC.put("sbbaoan",mapsb);
+		//服务客户数量
+		List<Map<Object, Integer>> maps4 = informationService.queryCountKh(jurisdiction, deptid);
+		for (int i=0;i<maps4.size();i++){
+			//这个月数量
+			kha+=maps4.get(i).get("thisnum");
+			//上个月数量
+			khb+=maps4.get(i).get("lastnum");
+		}
+		mapkh.put("thisnum",kha);
+		mapkh.put("lastnum",khb);
+		mapC.put("kh",mapkh);
+		//保安派遣数量
+		List<Map<Object, Integer>> maps5 = informationService.queryCountPq(jurisdiction, deptid);
+		for (int i=0;i<maps5.size();i++){
+			//这个月数量
+			pqa+=maps5.get(i).get("thisnum");
+			//上个月数量
+			pqb+=maps5.get(i).get("lastnum");
+		}
+		mappq.put("thisnum",pqa);
+		mappq.put("lastnum",pqb);
+		mapC.put("paiq",mappq);
+		lists.add(mapC);
+		return R.data(lists);
+	}
+
+
+
+	/**
+	 * 查询本年公司运营智能统计
+	 * @return
+	 */
+	@GetMapping("/queryYearG")
+	public R queryYearG(String jurisdiction,String deptid) {
+		Calendar cal = Calendar.getInstance();
+		String year = String.valueOf(cal.get(Calendar.YEAR));
+		Map<String, Object> mapz = new HashMap<String, Object>();
+		Map<String, Object> mapzc1= new HashMap<String, Object>();
+		Map<String, Object> mapcz1= new HashMap<String, Object>();
+		Map<String, Object> mapsb1= new HashMap<String, Object>();
+		List<Map<String, Object>> lists = new ArrayList<>();
+		Map<String, String> map = informationService.queryYearZ(year,jurisdiction,deptid);
+		map = (HashMap<String, String>) sortMapBykeyAsc(map) ;//key升序
+		mapz.put("baoan",map);
+		lists.add(mapz);
+		//正常保安数量
+		Map<String, String> mapzc = informationService.queryYearZc(year,jurisdiction,deptid);
+		mapzc = (HashMap<String, String>) sortMapBykeyAsc(mapzc) ;//key升序
+		mapzc1.put("zc",mapzc);
+		lists.add(mapzc1);
+		//保安持证数量
+		Map<String, String> mapcz = informationService.queryYearZc(year,jurisdiction,deptid);
+		mapcz = (HashMap<String, String>) sortMapBykeyAsc(mapcz) ;//key升序
+		mapcz1.put("cz",mapcz);
+		lists.add(mapcz1);
+		//缴纳社保数
+		Map<String, String> mapsb = informationService.queryYearSoil(year,jurisdiction,deptid);
+		mapsb = (HashMap<String, String>) sortMapBykeyAsc(mapsb) ;//key升序
+		mapsb1.put("sb",mapsb);
+		lists.add(mapsb1);
+		return R.data(lists);
+	}
+
+
+	/**
+	 * 查询本年所有月份的客户数量
+	 * @return
+	 */
+	@GetMapping("/queryYearKh")
+	public R queryYearKh(String jurisdiction,String deptid) {
+		Calendar cal = Calendar.getInstance();
+		String year = String.valueOf(cal.get(Calendar.YEAR));
+		Map<String, String> map = informationService.queryYearKh(year,jurisdiction,deptid);
+		map = (HashMap<String, String>) sortMapBykeyAsc(map) ;//key升序
+		return R.data(map);
+	}
+	//升序
+	public  static Map<String, String> sortMapBykeyAsc(Map<String, String> oriMap) {
+		Map<String, String> sortedMap = new LinkedHashMap<String, String>();
+		try {
+			if (oriMap != null && !oriMap.isEmpty()) {
+				List<Map.Entry<String, String>> entryList = new ArrayList<Map.Entry<String, String>>(oriMap.entrySet());
+				Collections.sort(entryList,
+					new Comparator<Map.Entry<String, String>>() {
+						public int compare(Map.Entry<String, String> entry2,
+										   Map.Entry<String, String> entry1) {
+							int value2 = 0, value1 = 0;
+							try {
+								value2 = Integer.parseInt(entry1.getKey());
+								value1 = Integer.parseInt(entry2.getKey());
+							} catch (NumberFormatException e) {
+								value2 = 0;
+								value1 = 0;
+							}
+							return value1 - value2;
+						}
+					});
+				Iterator<Map.Entry<String, String>> iter = entryList.iterator();
+				Map.Entry<String, String> tmpEntry = null;
+				while (iter.hasNext()) {
+					tmpEntry = iter.next();
+					sortedMap.put(tmpEntry.getKey(), tmpEntry.getValue());
+				}
+			}
+		} catch (Exception e) {
+		}
+		return sortedMap;
+	}
 
 }

--
Gitblit v1.9.3