From 653cc78fc3c3400b924cfe8e97b0f8bc9e2eb5c5 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Sat, 10 Jul 2021 15:37:06 +0800
Subject: [PATCH] 1.保安公司

---
 src/main/java/org/springblade/modules/information/entity/Information.java                  |  145 ++++++++++++-----------
 src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml             |   44 +++++++
 src/main/java/org/springblade/modules/information/service/IInformationService.java         |    9 +
 src/main/java/org/springblade/modules/shareholder/entity/Shareholder.java                  |    3 
 src/main/java/org/springblade/modules/information/controller/InformationController.java    |   82 +++++++++++++
 src/main/java/org/springblade/modules/information/mapper/InformationMapper.java            |    7 +
 src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java |   28 ++++
 7 files changed, 239 insertions(+), 79 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 41de3f6..a1e6b95 100644
--- a/src/main/java/org/springblade/modules/information/controller/InformationController.java
+++ b/src/main/java/org/springblade/modules/information/controller/InformationController.java
@@ -20,19 +20,22 @@
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import org.springblade.core.boot.ctrl.BladeController;
 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.information.entity.Information;
 import org.springblade.modules.information.service.IInformationService;
 import org.springblade.modules.information.vo.InformationVO;
+import org.springblade.modules.system.service.IDeptService;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  *  控制器
@@ -47,6 +50,8 @@
 public class InformationController extends BladeController {
 
 	private final IInformationService informationService;
+	private final IDeptService iDeptService;
+
 
 	/**
 	 * 详情
@@ -118,9 +123,78 @@
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
-	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-		return R.status(informationService.removeByIds(Func.toLongList(ids)));
+	public R remove(String creditcode) {
+		informationService.deleteIn(creditcode);
+		informationService.deleteSh(creditcode);
+		informationService.deleteMe(creditcode);
+		return R.success("删除成功");
 	}
 
+	/**
+	 * 首页保安公司统计接口
+	 * @return
+	 */
+	@PostMapping("/SelectCount")
+	public R SelectCount() {
+		String name="分局";
+		List<Map<Object, String>> list = iDeptService.selectCount(name);
+		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() {
+		String name="分局";
+		List<Map<Object, String>> list = iDeptService.selectCount(name);
+		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")));
+			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() {
+		List<Map<Object, String>> maps = informationService.selectInCount();
+		return R.data(maps);
+	}
+
+
+	/**
+	 *管辖区域下拉
+	 */
+	@PostMapping("/selecttree")
+	public R selecttree() {
+		String name="分局";
+		List<Map<Object, String>> maps = iDeptService.selectCount(name);
+		return R.data(maps);
+	}
 
 }
diff --git a/src/main/java/org/springblade/modules/information/entity/Information.java b/src/main/java/org/springblade/modules/information/entity/Information.java
index 3716cdd..c25c273 100644
--- a/src/main/java/org/springblade/modules/information/entity/Information.java
+++ b/src/main/java/org/springblade/modules/information/entity/Information.java
@@ -20,11 +20,14 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * 实体类
@@ -42,100 +45,102 @@
 	@TableId(value = "id", type = IdType.AUTO)
 	private Integer id;
 	/**
-	* 统一社会信用代码
-	*/
-		@ApiModelProperty(value = "统一社会信用代码")
-		@TableField("creditCode")
+	 * 统一社会信用代码
+	 */
+	@ApiModelProperty(value = "统一社会信用代码")
+	@TableField("creditCode")
 	private String creditcode;
 	/**
-	* 企业名称
-	*/
-		@ApiModelProperty(value = "企业名称")
-		@TableField("enterpriseName")
+	 * 企业名称
+	 */
+	@ApiModelProperty(value = "企业名称")
+	@TableField("enterpriseName")
 	private String enterprisename;
 	/**
-	* 法定代表人
-	*/
-		@ApiModelProperty(value = "法定代表人")
-		private String representative;
+	 * 法定代表人
+	 */
+	@ApiModelProperty(value = "法定代表人")
+	private String representative;
 	/**
-	* 登记状态
-	*/
-		@ApiModelProperty(value = "登记状态")
-		private String regstsat;
+	 * 登记状态
+	 */
+	@ApiModelProperty(value = "登记状态")
+	private String regstsat;
 	/**
-	* 成立日期
-	*/
-		@ApiModelProperty(value = "成立日期")
-		@TableField("establishTime")
-	private String establishtime;
+	 * 成立日期
+	 */
+	@ApiModelProperty(value = "成立日期")
+	@TableField("establishTime")
+	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
+	private Date establishtime;
 	/**
-	* 注册资本
-	*/
-		@ApiModelProperty(value = "注册资本")
-		@TableField("registeredCapital")
+	 * 注册资本
+	 */
+	@ApiModelProperty(value = "注册资本")
+	@TableField("registeredCapital")
 	private String registeredcapital;
 	/**
-	* 实缴资本
-	*/
-		@ApiModelProperty(value = "实缴资本")
-		private String capital;
+	 * 实缴资本
+	 */
+	@ApiModelProperty(value = "实缴资本")
+	private String capital;
 	/**
-	* 组织机构代码
-	*/
-		@ApiModelProperty(value = "组织机构代码")
-		@TableField("organizationCode")
+	 * 组织机构代码
+	 */
+	@ApiModelProperty(value = "组织机构代码")
+	@TableField("organizationCode")
 	private String organizationcode;
 	/**
-	* 工商注册号
-	*/
-		@ApiModelProperty(value = "工商注册号")
-		@TableField("registrationNumber")
+	 * 工商注册号
+	 */
+	@ApiModelProperty(value = "工商注册号")
+	@TableField("registrationNumber")
 	private String registrationnumber;
 	/**
-	* 纳税人识别号
-	*/
-		@ApiModelProperty(value = "纳税人识别号")
-		@TableField("identificationNumber")
+	 * 纳税人识别号
+	 */
+	@ApiModelProperty(value = "纳税人识别号")
+	@TableField("identificationNumber")
 	private String identificationnumber;
 	/**
-	* 企业类型
-	*/
-		@ApiModelProperty(value = "企业类型")
-		private String enterprises;
+	 * 企业类型
+	 */
+	@ApiModelProperty(value = "企业类型")
+	private String enterprises;
 	/**
-	* 注册地址
-	*/
-		@ApiModelProperty(value = "注册地址")
-		private String address;
+	 * 注册地址
+	 */
+	@ApiModelProperty(value = "注册地址")
+	private String address;
 	/**
-	* 经营范围
-	*/
-		@ApiModelProperty(value = "经营范围")
-		private String business;
+	 * 经营范围
+	 */
+	@ApiModelProperty(value = "经营范围")
+	private String business;
 	/**
-	* 所属地区
-	*/
-		@ApiModelProperty(value = "所属地区")
-		private String region;
+	 * 所属地区
+	 */
+	@ApiModelProperty(value = "所属地区")
+	private String region;
 	/**
-	* 登记机关
-	*/
-		@ApiModelProperty(value = "登记机关")
-		private String registration;
+	 * 登记机关
+	 */
+	@ApiModelProperty(value = "登记机关")
+	private String registration;
 	/**
-	* 所属行业
-	*/
-		@ApiModelProperty(value = "所属行业")
-		private String industry;
+	 * 所属行业
+	 */
+	@ApiModelProperty(value = "所属行业")
+	private String industry;
 	/**
-	* 租户ID
-	*/
-		@ApiModelProperty(value = "租户ID")
-		@TableField("tenantId")
-	private String tenantid;
+	 * 租户ID
+	 */
+	@ApiModelProperty(value = "分局id")
+	private String departmentid;
 
 	private String stats;
+	private String jurisdiction;
 
 
 }
diff --git a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
index 7986587..45ee801 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
@@ -22,6 +22,7 @@
 import org.springblade.modules.information.vo.InformationVO;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  *  Mapper 接口
@@ -39,5 +40,9 @@
 	 * @return
 	 */
 	List<InformationVO> selectInformationPage(IPage page, InformationVO information);
-
+	void deleteIn(String creditcode);
+	void deleteSh(String creditcode);
+	void deleteMe(String creditcode);
+	Map selectCount(String departmentid);
+	List<Map<Object,String>> selectInCount();
 }
diff --git a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
index d2f3912..0ee4ea9 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -21,13 +21,14 @@
         <result column="region" property="region"/>
         <result column="registration" property="registration"/>
         <result column="industry" property="industry"/>
-        <result column="tenantId" property="tenantid"/>
+        <result column="departmentid" property="departmentid"/>
         <result column="stats" property="stats"/>
+        <result column="jurisdiction" property="jurisdiction"/>
     </resultMap>
 
 
     <select id="selectInformationPage" resultMap="informationResultMap">
-        select * from sys_information where  1=1
+        select * from sys_information where 1=1
         <if test="information.enterprisename!=null and information.enterprisename!=''">
             and enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
         </if>
@@ -37,6 +38,45 @@
         <if test="information.stats!=null and information.stats!=''">
             and stats=#{stats}
         </if>
+        <if test="information.jurisdiction!=null and information.jurisdiction!=''">
+            and jurisdiction=#{jurisdiction}
+        </if>
+    </select>
+
+    <delete id="deleteIn">
+        delete
+        from sys_information
+        where creditCode = #{creditcode}
+    </delete>
+    <delete id="deleteSh">
+        delete
+        from sys_shareholder
+        where creditCode = #{creditcode}
+    </delete>
+    <delete id="deleteMe">
+        delete
+        from sys_member
+        where creditCode = #{creditcode}
+    </delete>
+
+    <select id="selectCount" resultType="java.util.HashMap">
+        SELECT
+            isnull( B.confess, 0 ) AS confess,
+            isnull( C.staff, 0 ) AS staff,
+            isnull( D.security, 0 ) AS security,
+            isnull( E.armed, 0 ) AS armed
+        FROM
+                ( SELECT jurisdiction FROM sys_information GROUP BY jurisdiction ) A
+                    FULL JOIN ( SELECT COUNT ( stats ) AS confess, jurisdiction FROM sys_information WHERE stats = 0 GROUP BY jurisdiction ) B ON A.jurisdiction = B.jurisdiction
+                    FULL JOIN ( SELECT COUNT ( stats ) AS staff, jurisdiction FROM sys_information WHERE stats = 1 GROUP BY jurisdiction ) C ON A.jurisdiction = C.jurisdiction
+                    FULL JOIN ( SELECT COUNT ( stats ) AS security, jurisdiction FROM sys_information WHERE stats = 2 GROUP BY jurisdiction ) D ON A.jurisdiction = D.jurisdiction
+                    FULL JOIN ( SELECT COUNT ( stats ) AS armed, jurisdiction FROM sys_information WHERE stats = 3 GROUP BY jurisdiction ) E ON A.jurisdiction = E.jurisdiction
+        WHERE
+            A.jurisdiction = #{departmentid}
+    </select>
+
+    <select id="selectInCount" resultType="java.util.HashMap">
+        SELECT COUNT(u.dept_id) AS number,d.dept_name FROM blade_user u LEFT JOIN blade_dept d ON d.id=u.dept_id WHERE u.hold=1 GROUP BY u.dept_id,d.dept_name
     </select>
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/information/service/IInformationService.java b/src/main/java/org/springblade/modules/information/service/IInformationService.java
index 65ea119..41d1fd3 100644
--- a/src/main/java/org/springblade/modules/information/service/IInformationService.java
+++ b/src/main/java/org/springblade/modules/information/service/IInformationService.java
@@ -21,6 +21,9 @@
 import org.springblade.modules.information.entity.Information;
 import org.springblade.modules.information.vo.InformationVO;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  *  服务类
  *
@@ -37,5 +40,9 @@
 	 * @return
 	 */
 	IPage<InformationVO> selectInformationPage(IPage<InformationVO> page, InformationVO information);
-
+	void deleteIn(String creditCode);
+	void deleteSh(String creditCode);
+	void deleteMe(String creditCode);
+	Map selectCount(String departmentid);
+	List<Map<Object,String>> selectInCount();
 }
diff --git a/src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java b/src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java
index eea875b..2e051d7 100644
--- a/src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java
+++ b/src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java
@@ -24,6 +24,9 @@
 import org.springblade.modules.information.vo.InformationVO;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  *  服务实现类
  *
@@ -38,4 +41,29 @@
 		return page.setRecords(baseMapper.selectInformationPage(page, information));
 	}
 
+	@Override
+	public void deleteIn(String creditcode) {
+		baseMapper.deleteIn(creditcode);
+	}
+
+	@Override
+	public void deleteSh(String creditcode) {
+		baseMapper.deleteSh(creditcode);
+	}
+
+	@Override
+	public void deleteMe(String creditcode) {
+		baseMapper.deleteMe(creditcode);
+	}
+
+	@Override
+	public Map selectCount(String departmentid) {
+		return baseMapper.selectCount(departmentid);
+	}
+
+	@Override
+	public List<Map<Object, String>> selectInCount() {
+		return baseMapper.selectInCount();
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/shareholder/entity/Shareholder.java b/src/main/java/org/springblade/modules/shareholder/entity/Shareholder.java
index fa16ce3..0aaae98 100644
--- a/src/main/java/org/springblade/modules/shareholder/entity/Shareholder.java
+++ b/src/main/java/org/springblade/modules/shareholder/entity/Shareholder.java
@@ -25,6 +25,7 @@
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * 实体类
@@ -62,7 +63,7 @@
 	 */
 	@ApiModelProperty(value = "出资时间")
 	@TableField("capitalTime")
-	private String capitaltime;
+	private Date capitaltime;
 	/**
 	 * 身份证
 	 */

--
Gitblit v1.9.3