From 93000441daeeabce0696bb32c5335e10740916d6 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Mon, 12 Jul 2021 09:23:17 +0800
Subject: [PATCH] 1.

---
 src/main/java/org/springblade/modules/record/mapper/RecordMapper.java                      |   42 +
 src/main/java/org/springblade/modules/recordk/mapper/RecordkMapper.xml                     |   37 
 src/main/java/org/springblade/modules/revoke/dto/RevokeDTO.java                            |   34 
 src/main/java/org/springblade/modules/record/entity/Record.java                            |  155 +++
 src/main/java/org/springblade/modules/permit/entity/Permit.java                            |  140 +++
 src/main/java/org/springblade/modules/recordk/mapper/RecordkMapper.java                    |   42 +
 src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml             |   41 
 src/main/java/org/springblade/modules/information/controller/InformationController.java    |   90 +
 src/main/java/org/springblade/modules/recordk/entity/Recordk.java                          |  155 +++
 src/main/java/org/springblade/modules/record/controller/RecordController.java              |  126 +++
 src/main/java/org/springblade/modules/revoke/service/impl/RevokeServiceImpl.java           |   41 
 src/main/java/org/springblade/modules/revoke/entity/Revoke.java                            |  145 +++
 src/main/java/org/springblade/modules/revoke/mapper/RevokeMapper.xml                       |   35 
 src/main/java/org/springblade/modules/permit/service/IPermitService.java                   |   41 
 src/main/java/org/springblade/modules/performance/mapper/PerformanceMapper.java            |    3 
 src/main/java/org/springblade/modules/record/service/impl/RecordServiceImpl.java           |   41 
 src/main/java/org/springblade/modules/permit/mapper/PermitMapper.java                      |   42 +
 src/main/java/org/springblade/modules/information/entity/Information.java                  |  146 +-
 src/main/java/org/springblade/modules/permit/mapper/PermitMapper.xml                       |   34 
 src/main/java/org/springblade/modules/member/entity/Member.java                            |   13 
 src/main/java/org/springblade/modules/permit/controller/PermitController.java              |  126 +++
 src/main/java/org/springblade/modules/recordk/controller/RecordkController.java            |  126 +++
 src/main/java/org/springblade/modules/information/service/IInformationService.java         |    8 
 src/main/java/org/springblade/modules/permit/service/impl/PermitServiceImpl.java           |   41 
 src/main/java/org/springblade/modules/revoke/vo/RevokeVO.java                              |   36 
 src/main/java/org/springblade/modules/performance/service/IPerformanceService.java         |    5 
 src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java |   15 
 src/main/java/org/springblade/modules/permit/vo/PermitVO.java                              |   36 
 src/main/java/org/springblade/modules/revoke/mapper/RevokeMapper.java                      |   42 +
 src/main/java/org/springblade/modules/record/service/IRecordService.java                   |   41 
 src/main/java/org/springblade/modules/revoke/service/IRevokeService.java                   |   41 
 src/main/java/org/springblade/modules/recordk/vo/RecordkVO.java                            |   36 
 src/main/java/org/springblade/modules/information/mapper/InformationMapper.java            |    7 
 src/main/java/org/springblade/modules/record/vo/RecordVO.java                              |   36 
 src/main/java/org/springblade/modules/recordk/service/IRecordkService.java                 |   41 
 src/main/java/org/springblade/modules/performance/service/impl/PerformanceServiceImpl.java |   10 
 src/main/java/org/springblade/common/config/BladeConfiguration.java                        |    1 
 src/main/java/org/springblade/modules/recordk/service/impl/RecordkServiceImpl.java         |   41 
 src/main/java/org/springblade/modules/performance/entity/Performance.java                  |   64 
 src/main/java/org/springblade/modules/performance/controller/PerformanceController.java    |   54 +
 src/main/java/org/springblade/modules/record/dto/RecordDTO.java                            |   34 
 src/main/java/org/springblade/modules/recordk/dto/RecordkDTO.java                          |   34 
 src/main/java/org/springblade/modules/revoke/controller/RevokeController.java              |  126 +++
 src/main/java/org/springblade/modules/permit/dto/PermitDTO.java                            |   34 
 src/main/java/org/springblade/modules/performance/mapper/PerformanceMapper.xml             |   26 
 src/main/java/org/springblade/modules/member/mapper/MemberMapper.xml                       |    2 
 src/main/java/org/springblade/modules/record/mapper/RecordMapper.xml                       |   37 
 47 files changed, 2,371 insertions(+), 132 deletions(-)

diff --git a/src/main/java/org/springblade/common/config/BladeConfiguration.java b/src/main/java/org/springblade/common/config/BladeConfiguration.java
index 22a1e9d..e9de59c 100644
--- a/src/main/java/org/springblade/common/config/BladeConfiguration.java
+++ b/src/main/java/org/springblade/common/config/BladeConfiguration.java
@@ -41,6 +41,7 @@
 		secureRegistry.excludePathPatterns("/blade-auth/**");
 		secureRegistry.excludePathPatterns("/blade-system/menu/routes");
 		secureRegistry.excludePathPatterns("/blade-system/menu/auth-routes");
+		secureRegistry.excludePathPatterns("/blade-system/**");
 		secureRegistry.excludePathPatterns("/blade-system/menu/top-menu");
 		secureRegistry.excludePathPatterns("/blade-system/tenant/info");
 		secureRegistry.excludePathPatterns("/blade-flow/process/resource-view");
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..17d3e4e 100644
--- a/src/main/java/org/springblade/modules/information/controller/InformationController.java
+++ b/src/main/java/org/springblade/modules/information/controller/InformationController.java
@@ -16,9 +16,7 @@
  */
 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;
@@ -27,14 +25,25 @@
 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.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.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  *  控制器
@@ -49,6 +58,7 @@
 public class InformationController extends BladeController {
 
 	private final IInformationService informationService;
+	private final IDeptService iDeptService;
 
 
 	/**
@@ -68,8 +78,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 +89,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 +138,71 @@
 		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 2a04350..399a579 100644
--- a/src/main/java/org/springblade/modules/information/entity/Information.java
+++ b/src/main/java/org/springblade/modules/information/entity/Information.java
@@ -19,13 +19,20 @@
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+
 import java.time.LocalDateTime;
+
 import com.baomidou.mybatisplus.annotation.TableField;
+
 import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 实体类
@@ -43,100 +50,97 @@
 	@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 = "成立日期")
+	@TableField("establishTime")
+	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
+	private Date establishtime;
 	/**
-	* 成立日期
-	*/
-		@ApiModelProperty(value = "成立日期")
-		@TableField("establishTime")
-	private String 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 a98b494..c6c547d 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
@@ -16,11 +16,13 @@
  */
 package org.springblade.modules.information.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.modules.information.entity.Information;
 import org.springblade.modules.information.vo.InformationVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import java.util.List;
+import java.util.Map;
 
 /**
  *  Mapper 接口
@@ -37,9 +39,10 @@
 	 * @param information
 	 * @return
 	 */
-	List<InformationVO> selectInformationPage(IPage page, InformationVO information);
+	List<Information> selectInformationPage(IPage page,Information 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 670e8d8..bfdd344 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -8,7 +8,6 @@
         <result column="creditCode" property="creditcode"/>
         <result column="enterpriseName" property="enterprisename"/>
         <result column="representative" property="representative"/>
-        <result column="regstsat" property="regstsat"/>
         <result column="establishTime" property="establishtime"/>
         <result column="registeredCapital" property="registeredcapital"/>
         <result column="capital" property="capital"/>
@@ -21,13 +20,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,16 +37,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
+        from sys_information
+        where creditCode = #{creditcode}
     </delete>
     <delete id="deleteSh">
-        delete from  sys_shareholder where creditCode=#{creditcode}
+        delete
+        from sys_shareholder
+        where creditCode = #{creditcode}
     </delete>
     <delete id="deleteMe">
-        delete from sys_member where creditCode=#{creditcode}
+        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 da625d8..1b916d7 100644
--- a/src/main/java/org/springblade/modules/information/service/IInformationService.java
+++ b/src/main/java/org/springblade/modules/information/service/IInformationService.java
@@ -16,10 +16,14 @@
  */
 package org.springblade.modules.information.service;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.modules.information.entity.Information;
 import org.springblade.modules.information.vo.InformationVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  *  服务类
@@ -36,8 +40,10 @@
 	 * @param information
 	 * @return
 	 */
-	IPage<InformationVO> selectInformationPage(IPage<InformationVO> page, InformationVO information);
+	IPage<Information> selectInformationPage(IPage<Information> page, Information 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 6a2a211..f772b3c 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.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  *  服务实现类
  *
@@ -34,7 +37,7 @@
 public class InformationServiceImpl extends ServiceImpl<InformationMapper, Information> implements IInformationService {
 
 	@Override
-	public IPage<InformationVO> selectInformationPage(IPage<InformationVO> page, InformationVO information) {
+	public IPage<Information> selectInformationPage(IPage<Information> page, Information information) {
 		return page.setRecords(baseMapper.selectInformationPage(page, information));
 	}
 
@@ -53,4 +56,14 @@
 		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/member/entity/Member.java b/src/main/java/org/springblade/modules/member/entity/Member.java
index 27084c1..024328f 100644
--- a/src/main/java/org/springblade/modules/member/entity/Member.java
+++ b/src/main/java/org/springblade/modules/member/entity/Member.java
@@ -21,10 +21,14 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 实体类
@@ -61,11 +65,6 @@
 	*/
 		@ApiModelProperty(value = "联系电话")
 		private String cell;
-	/**
-	* 持股比例
-	*/
-		@ApiModelProperty(value = "持股比例")
-	private String shareholdingratio;
 
 	/**
 	 * 统一社会信用代码
@@ -73,4 +72,8 @@
 	@ApiModelProperty(value = "统一社会信用代码")
 	@TableField("creditCode")
 	private String creditcode;
+
+	@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
+	private Date rtime;
 }
diff --git a/src/main/java/org/springblade/modules/member/mapper/MemberMapper.xml b/src/main/java/org/springblade/modules/member/mapper/MemberMapper.xml
index 4d4172f..ea3a17f 100644
--- a/src/main/java/org/springblade/modules/member/mapper/MemberMapper.xml
+++ b/src/main/java/org/springblade/modules/member/mapper/MemberMapper.xml
@@ -9,8 +9,8 @@
         <result column="post" property="post"/>
         <result column="cardid" property="cardid"/>
         <result column="cell" property="cell"/>
-        <result column="shareholdingratio" property="shareholdingratio"/>
         <result column="creditCode" property="creditcode"/>
+        <result column="rtime" property="rtime"/>
     </resultMap>
 
 
diff --git a/src/main/java/org/springblade/modules/performance/controller/PerformanceController.java b/src/main/java/org/springblade/modules/performance/controller/PerformanceController.java
index 1d5991c..4ccccdd 100644
--- a/src/main/java/org/springblade/modules/performance/controller/PerformanceController.java
+++ b/src/main/java/org/springblade/modules/performance/controller/PerformanceController.java
@@ -21,8 +21,13 @@
 import io.swagger.annotations.ApiParam;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
+
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
+import net.sourceforge.pinyin4j.PinyinHelper;
+import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
+import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
@@ -33,6 +38,8 @@
 import org.springblade.modules.performance.vo.PerformanceVO;
 import org.springblade.modules.performance.service.IPerformanceService;
 import org.springblade.core.boot.ctrl.BladeController;
+
+import java.util.*;
 
 /**
  *  保安员表现管理
@@ -122,4 +129,51 @@
 	}
 
 
+	/**
+	 * 查询本年所有月份的表现差的数量
+	 * @return
+	 */
+	@GetMapping("/queryYearPer")
+	public R queryYearAlarm() {
+		Calendar cal = Calendar.getInstance();
+		String year = String.valueOf(cal.get(Calendar.YEAR));
+		Map<String, String> map = performanceService.queryYearPer(year);
+		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;
+	}
+
+
 }
diff --git a/src/main/java/org/springblade/modules/performance/entity/Performance.java b/src/main/java/org/springblade/modules/performance/entity/Performance.java
index 3e52ea7..35893a9 100644
--- a/src/main/java/org/springblade/modules/performance/entity/Performance.java
+++ b/src/main/java/org/springblade/modules/performance/entity/Performance.java
@@ -19,13 +19,20 @@
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+
 import java.time.LocalDateTime;
+
 import com.baomidou.mybatisplus.annotation.TableField;
+
 import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 实体类
@@ -43,46 +50,37 @@
 	@TableId(value = "id", type = IdType.AUTO)
 	private Integer id;
 	/**
-	* 保安人编码
-	*/
-		@ApiModelProperty(value = "保安人编码")
-		@TableField("securityId")
+	 * 保安人编码
+	 */
+	@ApiModelProperty(value = "保安人编码")
+	@TableField("securityId")
 	private String securityid;
 	/**
-	* 工作态度
-	*/
-		@ApiModelProperty(value = "工作态度")
-		@TableField("workingAttitude")
+	 * 工作态度
+	 */
+	@ApiModelProperty(value = "工作态度")
+	@TableField("workingAttitude")
 	private String workingattitude;
+
 	/**
-	* 工作能力
-	*/
-		@ApiModelProperty(value = "工作能力")
-		@TableField("workingAbility")
-	private String workingability;
-	/**
-	* 工作成效
-	*/
-		@ApiModelProperty(value = "工作成效")
-		@TableField("Achievements")
+	 * 工作成效
+	 */
+	@ApiModelProperty(value = "工作成效")
+	@TableField("Achievements")
 	private String achievements;
 	/**
-	* 评分
-	*/
-		@ApiModelProperty(value = "评分")
-		private String score;
+	 * 评分
+	 */
+	@ApiModelProperty(value = "评分")
+	private String score;
 	/**
-	* 时间
-	*/
-		@ApiModelProperty(value = "时间")
-		private String time;
-	/**
-	* 租户ID
-	*/
-		@ApiModelProperty(value = "租户ID")
-		@TableField("tenantId")
-	private String tenantid;
-	private String company;
+	 * 时间
+	 */
+	@ApiModelProperty(value = "时间")
+	@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
+	private Date time;
+	private String departmentid;
 
 
 }
diff --git a/src/main/java/org/springblade/modules/performance/mapper/PerformanceMapper.java b/src/main/java/org/springblade/modules/performance/mapper/PerformanceMapper.java
index df6d38b..4d9c4cd 100644
--- a/src/main/java/org/springblade/modules/performance/mapper/PerformanceMapper.java
+++ b/src/main/java/org/springblade/modules/performance/mapper/PerformanceMapper.java
@@ -21,6 +21,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import java.util.List;
+import java.util.Map;
 
 /**
  *  Mapper 接口
@@ -38,5 +39,5 @@
 	 * @return
 	 */
 	List<PerformanceVO> selectPerformancePage(IPage page, PerformanceVO performance);
-
+	Map<String, String> queryYearPer(String year);
 }
diff --git a/src/main/java/org/springblade/modules/performance/mapper/PerformanceMapper.xml b/src/main/java/org/springblade/modules/performance/mapper/PerformanceMapper.xml
index 49686cd..ec89eee 100644
--- a/src/main/java/org/springblade/modules/performance/mapper/PerformanceMapper.xml
+++ b/src/main/java/org/springblade/modules/performance/mapper/PerformanceMapper.xml
@@ -11,13 +11,33 @@
         <result column="Achievements" property="achievements"/>
         <result column="score" property="score"/>
         <result column="time" property="time"/>
-        <result column="tenantId" property="tenantid"/>
-        <result column="company" property="company"/>
+        <result column="departmentid" property="departmentid"/>
     </resultMap>
 
 
     <select id="selectPerformancePage" resultMap="performanceResultMap">
-        select * from sys_performance where is_deleted = 0
+        select * from sys_performance
     </select>
 
+
+    <!--查询本年所有月份的表现差的数量-->
+    <select id="queryYearPer" resultType="java.util.HashMap">
+        SELECT COUNT
+                   ( CASE WHEN MONTH ( s.time ) = 1 THEN s.score  END ) AS '1',
+               COUNT ( CASE WHEN MONTH ( s.time ) = 2 THEN s.score  END ) AS '2',
+               COUNT ( CASE WHEN MONTH ( s.time ) = 3 THEN s.score  END ) AS '3',
+               COUNT ( CASE WHEN MONTH ( s.time ) = 4 THEN s.score  END ) AS '4',
+               COUNT ( CASE WHEN MONTH ( s.time ) = 5 THEN s.score END ) AS '5',
+               COUNT ( CASE WHEN MONTH ( s.time ) = 6 THEN s.score  END ) AS '6',
+               COUNT ( CASE WHEN MONTH ( s.time ) = 7 THEN s.score END ) AS '7',
+               COUNT ( CASE WHEN MONTH ( s.time ) = 8 THEN s.score  END ) AS '8',
+               COUNT ( CASE WHEN MONTH ( s.time ) = 9 THEN s.score END ) AS '9',
+               COUNT ( CASE WHEN MONTH ( s.time ) = 10 THEN s.score END ) AS '10',
+               COUNT ( CASE WHEN MONTH ( s.time ) = 11 THEN s.score END ) AS '11',
+               COUNT (CASE WHEN MONTH ( s.time ) = 12 THEN s.score  END ) AS '12'
+        FROM
+            sys_performance AS s
+        WHERE
+            YEAR ( s.time ) = #{year} AND score=3
+    </select>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/performance/service/IPerformanceService.java b/src/main/java/org/springblade/modules/performance/service/IPerformanceService.java
index 0776b23..60e6ccc 100644
--- a/src/main/java/org/springblade/modules/performance/service/IPerformanceService.java
+++ b/src/main/java/org/springblade/modules/performance/service/IPerformanceService.java
@@ -21,6 +21,9 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  *  服务类
  *
@@ -37,5 +40,5 @@
 	 * @return
 	 */
 	IPage<PerformanceVO> selectPerformancePage(IPage<PerformanceVO> page, PerformanceVO performance);
-
+	Map<String, String> queryYearPer(String year);
 }
diff --git a/src/main/java/org/springblade/modules/performance/service/impl/PerformanceServiceImpl.java b/src/main/java/org/springblade/modules/performance/service/impl/PerformanceServiceImpl.java
index 9a862b4..35f8b20 100644
--- a/src/main/java/org/springblade/modules/performance/service/impl/PerformanceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/performance/service/impl/PerformanceServiceImpl.java
@@ -24,6 +24,10 @@
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
 /**
  *  服务实现类
  *
@@ -38,4 +42,10 @@
 		return page.setRecords(baseMapper.selectPerformancePage(page, performance));
 	}
 
+
+	@Override
+	public Map<String, String> queryYearPer(String year) {
+		return baseMapper.queryYearPer(year);
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/permit/controller/PermitController.java b/src/main/java/org/springblade/modules/permit/controller/PermitController.java
new file mode 100644
index 0000000..072cb10
--- /dev/null
+++ b/src/main/java/org/springblade/modules/permit/controller/PermitController.java
@@ -0,0 +1,126 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.permit.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+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.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.permit.entity.Permit;
+import org.springblade.modules.permit.vo.PermitVO;
+import org.springblade.modules.permit.service.IPermitService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-permit/permit")
+@Api(value = "", tags = "接口")
+public class PermitController extends BladeController {
+
+	private final IPermitService permitService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入permit")
+	public R<Permit> detail(Permit permit) {
+		Permit detail = permitService.getOne(Condition.getQueryWrapper(permit));
+		return R.data(detail);
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入permit")
+	public R<IPage<Permit>> list(Permit permit, Query query) {
+		IPage<Permit> pages = permitService.page(Condition.getPage(query), Condition.getQueryWrapper(permit));
+		return R.data(pages);
+	}
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入permit")
+	public R<IPage<PermitVO>> page(PermitVO permit, Query query) {
+		IPage<PermitVO> pages = permitService.selectPermitPage(Condition.getPage(query), permit);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入permit")
+	public R save(@Valid @RequestBody Permit permit) {
+		return R.status(permitService.save(permit));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入permit")
+	public R update(@Valid @RequestBody Permit permit) {
+		return R.status(permitService.updateById(permit));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入permit")
+	public R submit(@Valid @RequestBody Permit permit) {
+		return R.status(permitService.saveOrUpdate(permit));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(permitService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}
diff --git a/src/main/java/org/springblade/modules/permit/dto/PermitDTO.java b/src/main/java/org/springblade/modules/permit/dto/PermitDTO.java
new file mode 100644
index 0000000..77d8b99
--- /dev/null
+++ b/src/main/java/org/springblade/modules/permit/dto/PermitDTO.java
@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.permit.dto;
+
+import org.springblade.modules.permit.entity.Permit;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class PermitDTO extends Permit {
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/permit/entity/Permit.java b/src/main/java/org/springblade/modules/permit/entity/Permit.java
new file mode 100644
index 0000000..22271f3
--- /dev/null
+++ b/src/main/java/org/springblade/modules/permit/entity/Permit.java
@@ -0,0 +1,140 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.permit.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Data
+@TableName("sys_permit")
+@ApiModel(value = "Permit对象", description = "Permit对象")
+public class Permit implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 统一社会信用代码
+	*/
+		@ApiModelProperty(value = "统一社会信用代码")
+		@TableField("creditCode")
+	private String creditcode;
+	/**
+	* 企业名称
+	*/
+		@ApiModelProperty(value = "企业名称")
+		@TableField("enterpriseName")
+	private String enterprisename;
+	/**
+	* 法定代表人
+	*/
+		@ApiModelProperty(value = "法定代表人")
+		private String representative;
+	/**
+	* 登记状态
+	*/
+		@ApiModelProperty(value = "登记状态")
+		private String 
+regstsat;
+	/**
+	* 成立日期
+	*/
+		@ApiModelProperty(value = "成立日期")
+		@TableField("establishTime")
+	private LocalDateTime establishtime;
+	/**
+	* 注册资本
+	*/
+		@ApiModelProperty(value = "注册资本")
+		@TableField("registeredCapital")
+	private String registeredcapital;
+	/**
+	* 实缴资本
+	*/
+		@ApiModelProperty(value = "实缴资本")
+		private String capital;
+	/**
+	* 组织机构代码
+	*/
+		@ApiModelProperty(value = "组织机构代码")
+		@TableField("organizationCode")
+	private String organizationcode;
+	/**
+	* 工商注册号
+	*/
+		@ApiModelProperty(value = "工商注册号")
+		@TableField("registrationNumber")
+	private String registrationnumber;
+	/**
+	* 纳税人识别号
+	*/
+		@ApiModelProperty(value = "纳税人识别号")
+		@TableField("identificationNumber")
+	private String identificationnumber;
+	/**
+	* 企业类型
+	*/
+		@ApiModelProperty(value = "企业类型")
+		private String enterprises;
+	/**
+	* 注册地址
+	*/
+		@ApiModelProperty(value = "注册地址")
+		private String address;
+	/**
+	* 经营范围
+	*/
+		@ApiModelProperty(value = "经营范围")
+		private String business;
+	/**
+	* 所属地区
+	*/
+		@ApiModelProperty(value = "所属地区")
+		private String region;
+	/**
+	* 登记机关
+	*/
+		@ApiModelProperty(value = "登记机关")
+		private String registration;
+	/**
+	* 所属行业
+	*/
+		@ApiModelProperty(value = "所属行业")
+		private String industry;
+	/**
+	* 审核状态 0:审核通过 1:审核不通过 2: 审核中
+	*/
+		@ApiModelProperty(value = "审核状态 0:审核通过 1:审核不通过 2: 审核中")
+		private String type;
+	@TableId(value = "id", type = IdType.AUTO)
+	private Integer id;
+
+
+}
diff --git a/src/main/java/org/springblade/modules/permit/mapper/PermitMapper.java b/src/main/java/org/springblade/modules/permit/mapper/PermitMapper.java
new file mode 100644
index 0000000..46048ce
--- /dev/null
+++ b/src/main/java/org/springblade/modules/permit/mapper/PermitMapper.java
@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.permit.mapper;
+
+import org.springblade.modules.permit.entity.Permit;
+import org.springblade.modules.permit.vo.PermitVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+public interface PermitMapper extends BaseMapper<Permit> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param permit
+	 * @return
+	 */
+	List<PermitVO> selectPermitPage(IPage page, PermitVO permit);
+
+}
diff --git a/src/main/java/org/springblade/modules/permit/mapper/PermitMapper.xml b/src/main/java/org/springblade/modules/permit/mapper/PermitMapper.xml
new file mode 100644
index 0000000..970471a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/permit/mapper/PermitMapper.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.permit.mapper.PermitMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="permitResultMap" type="org.springblade.modules.permit.entity.Permit">
+        <id column="id" property="id"/>
+        <result column="creditCode" property="creditcode"/>
+        <result column="enterpriseName" property="enterprisename"/>
+        <result column="representative" property="representative"/>
+        <result column="
+regstsat" property="
+regstsat"/>
+        <result column="establishTime" property="establishtime"/>
+        <result column="registeredCapital" property="registeredcapital"/>
+        <result column="capital" property="capital"/>
+        <result column="organizationCode" property="organizationcode"/>
+        <result column="registrationNumber" property="registrationnumber"/>
+        <result column="identificationNumber" property="identificationnumber"/>
+        <result column="enterprises" property="enterprises"/>
+        <result column="address" property="address"/>
+        <result column="business" property="business"/>
+        <result column="region" property="region"/>
+        <result column="registration" property="registration"/>
+        <result column="industry" property="industry"/>
+        <result column="type" property="type"/>
+    </resultMap>
+
+
+    <select id="selectPermitPage" resultMap="permitResultMap">
+        select * from sys_permit where is_deleted = 0
+    </select>
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/permit/service/IPermitService.java b/src/main/java/org/springblade/modules/permit/service/IPermitService.java
new file mode 100644
index 0000000..da7e9c5
--- /dev/null
+++ b/src/main/java/org/springblade/modules/permit/service/IPermitService.java
@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.permit.service;
+
+import org.springblade.modules.permit.entity.Permit;
+import org.springblade.modules.permit.vo.PermitVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+public interface IPermitService extends IService<Permit> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param permit
+	 * @return
+	 */
+	IPage<PermitVO> selectPermitPage(IPage<PermitVO> page, PermitVO permit);
+
+}
diff --git a/src/main/java/org/springblade/modules/permit/service/impl/PermitServiceImpl.java b/src/main/java/org/springblade/modules/permit/service/impl/PermitServiceImpl.java
new file mode 100644
index 0000000..64553b0
--- /dev/null
+++ b/src/main/java/org/springblade/modules/permit/service/impl/PermitServiceImpl.java
@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.permit.service.impl;
+
+import org.springblade.modules.permit.entity.Permit;
+import org.springblade.modules.permit.vo.PermitVO;
+import org.springblade.modules.permit.mapper.PermitMapper;
+import org.springblade.modules.permit.service.IPermitService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Service
+public class PermitServiceImpl extends ServiceImpl<PermitMapper, Permit> implements IPermitService {
+
+	@Override
+	public IPage<PermitVO> selectPermitPage(IPage<PermitVO> page, PermitVO permit) {
+		return page.setRecords(baseMapper.selectPermitPage(page, permit));
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/permit/vo/PermitVO.java b/src/main/java/org/springblade/modules/permit/vo/PermitVO.java
new file mode 100644
index 0000000..32d915e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/permit/vo/PermitVO.java
@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.permit.vo;
+
+import org.springblade.modules.permit.entity.Permit;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "PermitVO对象", description = "PermitVO对象")
+public class PermitVO extends Permit {
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/record/controller/RecordController.java b/src/main/java/org/springblade/modules/record/controller/RecordController.java
new file mode 100644
index 0000000..e0d1e4e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/record/controller/RecordController.java
@@ -0,0 +1,126 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.record.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+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.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.record.entity.Record;
+import org.springblade.modules.record.vo.RecordVO;
+import org.springblade.modules.record.service.IRecordService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-record/record")
+@Api(value = "", tags = "接口")
+public class RecordController extends BladeController {
+
+	private final IRecordService recordService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入record")
+	public R<Record> detail(Record record) {
+		Record detail = recordService.getOne(Condition.getQueryWrapper(record));
+		return R.data(detail);
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入record")
+	public R<IPage<Record>> list(Record record, Query query) {
+		IPage<Record> pages = recordService.page(Condition.getPage(query), Condition.getQueryWrapper(record));
+		return R.data(pages);
+	}
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入record")
+	public R<IPage<RecordVO>> page(RecordVO record, Query query) {
+		IPage<RecordVO> pages = recordService.selectRecordPage(Condition.getPage(query), record);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入record")
+	public R save(@Valid @RequestBody Record record) {
+		return R.status(recordService.save(record));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入record")
+	public R update(@Valid @RequestBody Record record) {
+		return R.status(recordService.updateById(record));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入record")
+	public R submit(@Valid @RequestBody Record record) {
+		return R.status(recordService.saveOrUpdate(record));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(recordService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}
diff --git a/src/main/java/org/springblade/modules/record/dto/RecordDTO.java b/src/main/java/org/springblade/modules/record/dto/RecordDTO.java
new file mode 100644
index 0000000..b779d8e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/record/dto/RecordDTO.java
@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.record.dto;
+
+import org.springblade.modules.record.entity.Record;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RecordDTO extends Record {
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/record/entity/Record.java b/src/main/java/org/springblade/modules/record/entity/Record.java
new file mode 100644
index 0000000..ac86f75
--- /dev/null
+++ b/src/main/java/org/springblade/modules/record/entity/Record.java
@@ -0,0 +1,155 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.record.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Data
+@TableName("sys_record")
+@ApiModel(value = "Record对象", description = "Record对象")
+public class Record implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 统一社会信用代码
+	*/
+		@ApiModelProperty(value = "统一社会信用代码")
+		@TableField("creditCode")
+	private String creditcode;
+	/**
+	* 企业名称
+	*/
+		@ApiModelProperty(value = "企业名称")
+		@TableField("enterpriseName")
+	private String enterprisename;
+	/**
+	* 法定代表人
+	*/
+		@ApiModelProperty(value = "法定代表人")
+		private String representative;
+	/**
+	* 登记状态
+	*/
+		@ApiModelProperty(value = "登记状态")
+		private String 
+regstsat;
+	/**
+	* 成立日期
+	*/
+		@ApiModelProperty(value = "成立日期")
+		@TableField("establishTime")
+	private LocalDateTime establishtime;
+	/**
+	* 注册资本
+	*/
+		@ApiModelProperty(value = "注册资本")
+		@TableField("registeredCapital")
+	private String registeredcapital;
+	/**
+	* 实缴资本
+	*/
+		@ApiModelProperty(value = "实缴资本")
+		private String capital;
+	/**
+	* 组织机构代码
+	*/
+		@ApiModelProperty(value = "组织机构代码")
+		@TableField("organizationCode")
+	private String organizationcode;
+	/**
+	* 工商注册号
+	*/
+		@ApiModelProperty(value = "工商注册号")
+		@TableField("registrationNumber")
+	private String registrationnumber;
+	/**
+	* 纳税人识别号
+	*/
+		@ApiModelProperty(value = "纳税人识别号")
+		@TableField("identificationNumber")
+	private String identificationnumber;
+	/**
+	* 企业类型
+	*/
+		@ApiModelProperty(value = "企业类型")
+		private String enterprises;
+	/**
+	* 注册地址
+	*/
+		@ApiModelProperty(value = "注册地址")
+		private String address;
+	/**
+	* 经营范围
+	*/
+		@ApiModelProperty(value = "经营范围")
+		private String business;
+	/**
+	* 所属地区
+	*/
+		@ApiModelProperty(value = "所属地区")
+		private String region;
+	/**
+	* 登记机关
+	*/
+		@ApiModelProperty(value = "登记机关")
+		private String registration;
+	/**
+	* 所属行业
+	*/
+		@ApiModelProperty(value = "所属行业")
+		private String industry;
+	/**
+	* 状态 0:审核通过 1:审核不通过 2: 审核中
+	*/
+		@ApiModelProperty(value = "状态 0:审核通过 1:审核不通过 2: 审核中")
+		private String type;
+	/**
+	* 保安服务单位许可编号
+	*/
+		@ApiModelProperty(value = "保安服务单位许可编号")
+		private String perid;
+	/**
+	* 许可发证机关
+	*/
+		@ApiModelProperty(value = "许可发证机关")
+		private String offices;
+	/**
+	* 发证时间
+	*/
+		@ApiModelProperty(value = "发证时间")
+		private LocalDateTime officetime;
+	@TableId(value = "id", type = IdType.AUTO)
+	private Integer id;
+
+
+}
diff --git a/src/main/java/org/springblade/modules/record/mapper/RecordMapper.java b/src/main/java/org/springblade/modules/record/mapper/RecordMapper.java
new file mode 100644
index 0000000..e9643f5
--- /dev/null
+++ b/src/main/java/org/springblade/modules/record/mapper/RecordMapper.java
@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.record.mapper;
+
+import org.springblade.modules.record.entity.Record;
+import org.springblade.modules.record.vo.RecordVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+public interface RecordMapper extends BaseMapper<Record> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param record
+	 * @return
+	 */
+	List<RecordVO> selectRecordPage(IPage page, RecordVO record);
+
+}
diff --git a/src/main/java/org/springblade/modules/record/mapper/RecordMapper.xml b/src/main/java/org/springblade/modules/record/mapper/RecordMapper.xml
new file mode 100644
index 0000000..0b58e1c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/record/mapper/RecordMapper.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.record.mapper.RecordMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="recordResultMap" type="org.springblade.modules.record.entity.Record">
+        <id column="id" property="id"/>
+        <result column="creditCode" property="creditcode"/>
+        <result column="enterpriseName" property="enterprisename"/>
+        <result column="representative" property="representative"/>
+        <result column="
+regstsat" property="
+regstsat"/>
+        <result column="establishTime" property="establishtime"/>
+        <result column="registeredCapital" property="registeredcapital"/>
+        <result column="capital" property="capital"/>
+        <result column="organizationCode" property="organizationcode"/>
+        <result column="registrationNumber" property="registrationnumber"/>
+        <result column="identificationNumber" property="identificationnumber"/>
+        <result column="enterprises" property="enterprises"/>
+        <result column="address" property="address"/>
+        <result column="business" property="business"/>
+        <result column="region" property="region"/>
+        <result column="registration" property="registration"/>
+        <result column="industry" property="industry"/>
+        <result column="type" property="type"/>
+        <result column="perid" property="perid"/>
+        <result column="offices" property="offices"/>
+        <result column="officetime" property="officetime"/>
+    </resultMap>
+
+
+    <select id="selectRecordPage" resultMap="recordResultMap">
+        select * from sys_record where is_deleted = 0
+    </select>
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/record/service/IRecordService.java b/src/main/java/org/springblade/modules/record/service/IRecordService.java
new file mode 100644
index 0000000..bb515ec
--- /dev/null
+++ b/src/main/java/org/springblade/modules/record/service/IRecordService.java
@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.record.service;
+
+import org.springblade.modules.record.entity.Record;
+import org.springblade.modules.record.vo.RecordVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+public interface IRecordService extends IService<Record> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param record
+	 * @return
+	 */
+	IPage<RecordVO> selectRecordPage(IPage<RecordVO> page, RecordVO record);
+
+}
diff --git a/src/main/java/org/springblade/modules/record/service/impl/RecordServiceImpl.java b/src/main/java/org/springblade/modules/record/service/impl/RecordServiceImpl.java
new file mode 100644
index 0000000..91a97b4
--- /dev/null
+++ b/src/main/java/org/springblade/modules/record/service/impl/RecordServiceImpl.java
@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.record.service.impl;
+
+import org.springblade.modules.record.entity.Record;
+import org.springblade.modules.record.vo.RecordVO;
+import org.springblade.modules.record.mapper.RecordMapper;
+import org.springblade.modules.record.service.IRecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Service
+public class RecordServiceImpl extends ServiceImpl<RecordMapper, Record> implements IRecordService {
+
+	@Override
+	public IPage<RecordVO> selectRecordPage(IPage<RecordVO> page, RecordVO record) {
+		return page.setRecords(baseMapper.selectRecordPage(page, record));
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/record/vo/RecordVO.java b/src/main/java/org/springblade/modules/record/vo/RecordVO.java
new file mode 100644
index 0000000..06ce5fb
--- /dev/null
+++ b/src/main/java/org/springblade/modules/record/vo/RecordVO.java
@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.record.vo;
+
+import org.springblade.modules.record.entity.Record;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "RecordVO对象", description = "RecordVO对象")
+public class RecordVO extends Record {
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/recordk/controller/RecordkController.java b/src/main/java/org/springblade/modules/recordk/controller/RecordkController.java
new file mode 100644
index 0000000..1132c80
--- /dev/null
+++ b/src/main/java/org/springblade/modules/recordk/controller/RecordkController.java
@@ -0,0 +1,126 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.recordk.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+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.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.recordk.entity.Recordk;
+import org.springblade.modules.recordk.vo.RecordkVO;
+import org.springblade.modules.recordk.service.IRecordkService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-recordk/recordk")
+@Api(value = "", tags = "接口")
+public class RecordkController extends BladeController {
+
+	private final IRecordkService recordkService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入recordk")
+	public R<Recordk> detail(Recordk recordk) {
+		Recordk detail = recordkService.getOne(Condition.getQueryWrapper(recordk));
+		return R.data(detail);
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入recordk")
+	public R<IPage<Recordk>> list(Recordk recordk, Query query) {
+		IPage<Recordk> pages = recordkService.page(Condition.getPage(query), Condition.getQueryWrapper(recordk));
+		return R.data(pages);
+	}
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入recordk")
+	public R<IPage<RecordkVO>> page(RecordkVO recordk, Query query) {
+		IPage<RecordkVO> pages = recordkService.selectRecordkPage(Condition.getPage(query), recordk);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入recordk")
+	public R save(@Valid @RequestBody Recordk recordk) {
+		return R.status(recordkService.save(recordk));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入recordk")
+	public R update(@Valid @RequestBody Recordk recordk) {
+		return R.status(recordkService.updateById(recordk));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入recordk")
+	public R submit(@Valid @RequestBody Recordk recordk) {
+		return R.status(recordkService.saveOrUpdate(recordk));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(recordkService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}
diff --git a/src/main/java/org/springblade/modules/recordk/dto/RecordkDTO.java b/src/main/java/org/springblade/modules/recordk/dto/RecordkDTO.java
new file mode 100644
index 0000000..377ccdb
--- /dev/null
+++ b/src/main/java/org/springblade/modules/recordk/dto/RecordkDTO.java
@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.recordk.dto;
+
+import org.springblade.modules.recordk.entity.Recordk;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RecordkDTO extends Recordk {
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/recordk/entity/Recordk.java b/src/main/java/org/springblade/modules/recordk/entity/Recordk.java
new file mode 100644
index 0000000..43d5896
--- /dev/null
+++ b/src/main/java/org/springblade/modules/recordk/entity/Recordk.java
@@ -0,0 +1,155 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.recordk.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Data
+@TableName("sys_recordk")
+@ApiModel(value = "Recordk对象", description = "Recordk对象")
+public class Recordk implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 统一社会信用代码
+	*/
+		@ApiModelProperty(value = "统一社会信用代码")
+		@TableField("creditCode")
+	private String creditcode;
+	/**
+	* 企业名称
+	*/
+		@ApiModelProperty(value = "企业名称")
+		@TableField("enterpriseName")
+	private String enterprisename;
+	/**
+	* 法定代表人
+	*/
+		@ApiModelProperty(value = "法定代表人")
+		private String representative;
+	/**
+	* 登记状态
+	*/
+		@ApiModelProperty(value = "登记状态")
+		private String 
+regstsat;
+	/**
+	* 成立日期
+	*/
+		@ApiModelProperty(value = "成立日期")
+		@TableField("establishTime")
+	private LocalDateTime establishtime;
+	/**
+	* 注册资本
+	*/
+		@ApiModelProperty(value = "注册资本")
+		@TableField("registeredCapital")
+	private String registeredcapital;
+	/**
+	* 实缴资本
+	*/
+		@ApiModelProperty(value = "实缴资本")
+		private String capital;
+	/**
+	* 组织机构代码
+	*/
+		@ApiModelProperty(value = "组织机构代码")
+		@TableField("organizationCode")
+	private String organizationcode;
+	/**
+	* 工商注册号
+	*/
+		@ApiModelProperty(value = "工商注册号")
+		@TableField("registrationNumber")
+	private String registrationnumber;
+	/**
+	* 纳税人识别号
+	*/
+		@ApiModelProperty(value = "纳税人识别号")
+		@TableField("identificationNumber")
+	private String identificationnumber;
+	/**
+	* 企业类型
+	*/
+		@ApiModelProperty(value = "企业类型")
+		private String enterprises;
+	/**
+	* 注册地址
+	*/
+		@ApiModelProperty(value = "注册地址")
+		private String address;
+	/**
+	* 经营范围
+	*/
+		@ApiModelProperty(value = "经营范围")
+		private String business;
+	/**
+	* 所属地区
+	*/
+		@ApiModelProperty(value = "所属地区")
+		private String region;
+	/**
+	* 登记机关
+	*/
+		@ApiModelProperty(value = "登记机关")
+		private String registration;
+	/**
+	* 所属行业
+	*/
+		@ApiModelProperty(value = "所属行业")
+		private String industry;
+	/**
+	* 状态 0:审核通过 1:审核不通过 2: 审核中
+	*/
+		@ApiModelProperty(value = "状态 0:审核通过 1:审核不通过 2: 审核中")
+		private String type;
+	/**
+	* 保安服务单位许可编号
+	*/
+		@ApiModelProperty(value = "保安服务单位许可编号")
+		private String perid;
+	/**
+	* 许可发证机关
+	*/
+		@ApiModelProperty(value = "许可发证机关")
+		private String offices;
+	/**
+	* 发证时间
+	*/
+		@ApiModelProperty(value = "发证时间")
+		private LocalDateTime officetime;
+	@TableId(value = "id", type = IdType.AUTO)
+	private Integer id;
+
+
+}
diff --git a/src/main/java/org/springblade/modules/recordk/mapper/RecordkMapper.java b/src/main/java/org/springblade/modules/recordk/mapper/RecordkMapper.java
new file mode 100644
index 0000000..da46204
--- /dev/null
+++ b/src/main/java/org/springblade/modules/recordk/mapper/RecordkMapper.java
@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.recordk.mapper;
+
+import org.springblade.modules.recordk.entity.Recordk;
+import org.springblade.modules.recordk.vo.RecordkVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+public interface RecordkMapper extends BaseMapper<Recordk> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param recordk
+	 * @return
+	 */
+	List<RecordkVO> selectRecordkPage(IPage page, RecordkVO recordk);
+
+}
diff --git a/src/main/java/org/springblade/modules/recordk/mapper/RecordkMapper.xml b/src/main/java/org/springblade/modules/recordk/mapper/RecordkMapper.xml
new file mode 100644
index 0000000..b00745e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/recordk/mapper/RecordkMapper.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.recordk.mapper.RecordkMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="recordkResultMap" type="org.springblade.modules.recordk.entity.Recordk">
+        <id column="id" property="id"/>
+        <result column="creditCode" property="creditcode"/>
+        <result column="enterpriseName" property="enterprisename"/>
+        <result column="representative" property="representative"/>
+        <result column="
+regstsat" property="
+regstsat"/>
+        <result column="establishTime" property="establishtime"/>
+        <result column="registeredCapital" property="registeredcapital"/>
+        <result column="capital" property="capital"/>
+        <result column="organizationCode" property="organizationcode"/>
+        <result column="registrationNumber" property="registrationnumber"/>
+        <result column="identificationNumber" property="identificationnumber"/>
+        <result column="enterprises" property="enterprises"/>
+        <result column="address" property="address"/>
+        <result column="business" property="business"/>
+        <result column="region" property="region"/>
+        <result column="registration" property="registration"/>
+        <result column="industry" property="industry"/>
+        <result column="type" property="type"/>
+        <result column="perid" property="perid"/>
+        <result column="offices" property="offices"/>
+        <result column="officetime" property="officetime"/>
+    </resultMap>
+
+
+    <select id="selectRecordkPage" resultMap="recordkResultMap">
+        select * from sys_recordk where is_deleted = 0
+    </select>
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/recordk/service/IRecordkService.java b/src/main/java/org/springblade/modules/recordk/service/IRecordkService.java
new file mode 100644
index 0000000..9bad31b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/recordk/service/IRecordkService.java
@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.recordk.service;
+
+import org.springblade.modules.recordk.entity.Recordk;
+import org.springblade.modules.recordk.vo.RecordkVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+public interface IRecordkService extends IService<Recordk> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param recordk
+	 * @return
+	 */
+	IPage<RecordkVO> selectRecordkPage(IPage<RecordkVO> page, RecordkVO recordk);
+
+}
diff --git a/src/main/java/org/springblade/modules/recordk/service/impl/RecordkServiceImpl.java b/src/main/java/org/springblade/modules/recordk/service/impl/RecordkServiceImpl.java
new file mode 100644
index 0000000..f42a8b7
--- /dev/null
+++ b/src/main/java/org/springblade/modules/recordk/service/impl/RecordkServiceImpl.java
@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.recordk.service.impl;
+
+import org.springblade.modules.recordk.entity.Recordk;
+import org.springblade.modules.recordk.vo.RecordkVO;
+import org.springblade.modules.recordk.mapper.RecordkMapper;
+import org.springblade.modules.recordk.service.IRecordkService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Service
+public class RecordkServiceImpl extends ServiceImpl<RecordkMapper, Recordk> implements IRecordkService {
+
+	@Override
+	public IPage<RecordkVO> selectRecordkPage(IPage<RecordkVO> page, RecordkVO recordk) {
+		return page.setRecords(baseMapper.selectRecordkPage(page, recordk));
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/recordk/vo/RecordkVO.java b/src/main/java/org/springblade/modules/recordk/vo/RecordkVO.java
new file mode 100644
index 0000000..357f0f0
--- /dev/null
+++ b/src/main/java/org/springblade/modules/recordk/vo/RecordkVO.java
@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.recordk.vo;
+
+import org.springblade.modules.recordk.entity.Recordk;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "RecordkVO对象", description = "RecordkVO对象")
+public class RecordkVO extends Recordk {
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/revoke/controller/RevokeController.java b/src/main/java/org/springblade/modules/revoke/controller/RevokeController.java
new file mode 100644
index 0000000..dcb4f60
--- /dev/null
+++ b/src/main/java/org/springblade/modules/revoke/controller/RevokeController.java
@@ -0,0 +1,126 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.revoke.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+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.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.revoke.entity.Revoke;
+import org.springblade.modules.revoke.vo.RevokeVO;
+import org.springblade.modules.revoke.service.IRevokeService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-revoke/revoke")
+@Api(value = "", tags = "接口")
+public class RevokeController extends BladeController {
+
+	private final IRevokeService revokeService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入revoke")
+	public R<Revoke> detail(Revoke revoke) {
+		Revoke detail = revokeService.getOne(Condition.getQueryWrapper(revoke));
+		return R.data(detail);
+	}
+
+	/**
+	 * 分页 
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入revoke")
+	public R<IPage<Revoke>> list(Revoke revoke, Query query) {
+		IPage<Revoke> pages = revokeService.page(Condition.getPage(query), Condition.getQueryWrapper(revoke));
+		return R.data(pages);
+	}
+
+	/**
+	 * 自定义分页 
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入revoke")
+	public R<IPage<RevokeVO>> page(RevokeVO revoke, Query query) {
+		IPage<RevokeVO> pages = revokeService.selectRevokePage(Condition.getPage(query), revoke);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入revoke")
+	public R save(@Valid @RequestBody Revoke revoke) {
+		return R.status(revokeService.save(revoke));
+	}
+
+	/**
+	 * 修改 
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入revoke")
+	public R update(@Valid @RequestBody Revoke revoke) {
+		return R.status(revokeService.updateById(revoke));
+	}
+
+	/**
+	 * 新增或修改 
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入revoke")
+	public R submit(@Valid @RequestBody Revoke revoke) {
+		return R.status(revokeService.saveOrUpdate(revoke));
+	}
+
+	
+	/**
+	 * 删除 
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(revokeService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}
diff --git a/src/main/java/org/springblade/modules/revoke/dto/RevokeDTO.java b/src/main/java/org/springblade/modules/revoke/dto/RevokeDTO.java
new file mode 100644
index 0000000..dd6cba8
--- /dev/null
+++ b/src/main/java/org/springblade/modules/revoke/dto/RevokeDTO.java
@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.revoke.dto;
+
+import org.springblade.modules.revoke.entity.Revoke;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class RevokeDTO extends Revoke {
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/revoke/entity/Revoke.java b/src/main/java/org/springblade/modules/revoke/entity/Revoke.java
new file mode 100644
index 0000000..daa8827
--- /dev/null
+++ b/src/main/java/org/springblade/modules/revoke/entity/Revoke.java
@@ -0,0 +1,145 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.revoke.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Data
+@TableName("sys_revoke")
+@ApiModel(value = "Revoke对象", description = "Revoke对象")
+public class Revoke implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 统一社会信用代码
+	*/
+		@ApiModelProperty(value = "统一社会信用代码")
+		@TableField("creditCode")
+	private String creditcode;
+	/**
+	* 企业名称
+	*/
+		@ApiModelProperty(value = "企业名称")
+		@TableField("enterpriseName")
+	private String enterprisename;
+	/**
+	* 法定代表人
+	*/
+		@ApiModelProperty(value = "法定代表人")
+		private String representative;
+	/**
+	* 登记状态
+	*/
+		@ApiModelProperty(value = "登记状态")
+		private String 
+regstsat;
+	/**
+	* 成立日期
+	*/
+		@ApiModelProperty(value = "成立日期")
+		@TableField("establishTime")
+	private LocalDateTime establishtime;
+	/**
+	* 注册资本
+	*/
+		@ApiModelProperty(value = "注册资本")
+		@TableField("registeredCapital")
+	private String registeredcapital;
+	/**
+	* 实缴资本
+	*/
+		@ApiModelProperty(value = "实缴资本")
+		private String capital;
+	/**
+	* 组织机构代码
+	*/
+		@ApiModelProperty(value = "组织机构代码")
+		@TableField("organizationCode")
+	private String organizationcode;
+	/**
+	* 工商注册号
+	*/
+		@ApiModelProperty(value = "工商注册号")
+		@TableField("registrationNumber")
+	private String registrationnumber;
+	/**
+	* 纳税人识别号
+	*/
+		@ApiModelProperty(value = "纳税人识别号")
+		@TableField("identificationNumber")
+	private String identificationnumber;
+	/**
+	* 企业类型
+	*/
+		@ApiModelProperty(value = "企业类型")
+		private String enterprises;
+	/**
+	* 注册地址
+	*/
+		@ApiModelProperty(value = "注册地址")
+		private String address;
+	/**
+	* 经营范围
+	*/
+		@ApiModelProperty(value = "经营范围")
+		private String business;
+	/**
+	* 所属地区
+	*/
+		@ApiModelProperty(value = "所属地区")
+		private String region;
+	/**
+	* 登记机关
+	*/
+		@ApiModelProperty(value = "登记机关")
+		private String registration;
+	/**
+	* 所属行业
+	*/
+		@ApiModelProperty(value = "所属行业")
+		private String industry;
+	/**
+	* 状态 0:撤销通过 1:撤销不通过 2: 撤销中
+	*/
+		@ApiModelProperty(value = "状态 0:撤销通过 1:撤销不通过 2: 撤销中")
+		private String type;
+	/**
+	* 撤销原因
+	*/
+		@ApiModelProperty(value = "撤销原因")
+		private String reason;
+	@TableId(value = "id", type = IdType.AUTO)
+	private Integer id;
+
+
+}
diff --git a/src/main/java/org/springblade/modules/revoke/mapper/RevokeMapper.java b/src/main/java/org/springblade/modules/revoke/mapper/RevokeMapper.java
new file mode 100644
index 0000000..503f54b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/revoke/mapper/RevokeMapper.java
@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.revoke.mapper;
+
+import org.springblade.modules.revoke.entity.Revoke;
+import org.springblade.modules.revoke.vo.RevokeVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+public interface RevokeMapper extends BaseMapper<Revoke> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param revoke
+	 * @return
+	 */
+	List<RevokeVO> selectRevokePage(IPage page, RevokeVO revoke);
+
+}
diff --git a/src/main/java/org/springblade/modules/revoke/mapper/RevokeMapper.xml b/src/main/java/org/springblade/modules/revoke/mapper/RevokeMapper.xml
new file mode 100644
index 0000000..40439c4
--- /dev/null
+++ b/src/main/java/org/springblade/modules/revoke/mapper/RevokeMapper.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.revoke.mapper.RevokeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="revokeResultMap" type="org.springblade.modules.revoke.entity.Revoke">
+        <id column="id" property="id"/>
+        <result column="creditCode" property="creditcode"/>
+        <result column="enterpriseName" property="enterprisename"/>
+        <result column="representative" property="representative"/>
+        <result column="
+regstsat" property="
+regstsat"/>
+        <result column="establishTime" property="establishtime"/>
+        <result column="registeredCapital" property="registeredcapital"/>
+        <result column="capital" property="capital"/>
+        <result column="organizationCode" property="organizationcode"/>
+        <result column="registrationNumber" property="registrationnumber"/>
+        <result column="identificationNumber" property="identificationnumber"/>
+        <result column="enterprises" property="enterprises"/>
+        <result column="address" property="address"/>
+        <result column="business" property="business"/>
+        <result column="region" property="region"/>
+        <result column="registration" property="registration"/>
+        <result column="industry" property="industry"/>
+        <result column="type" property="type"/>
+        <result column="reason" property="reason"/>
+    </resultMap>
+
+
+    <select id="selectRevokePage" resultMap="revokeResultMap">
+        select * from sys_revoke where is_deleted = 0
+    </select>
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/revoke/service/IRevokeService.java b/src/main/java/org/springblade/modules/revoke/service/IRevokeService.java
new file mode 100644
index 0000000..caa810b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/revoke/service/IRevokeService.java
@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.revoke.service;
+
+import org.springblade.modules.revoke.entity.Revoke;
+import org.springblade.modules.revoke.vo.RevokeVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+public interface IRevokeService extends IService<Revoke> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param revoke
+	 * @return
+	 */
+	IPage<RevokeVO> selectRevokePage(IPage<RevokeVO> page, RevokeVO revoke);
+
+}
diff --git a/src/main/java/org/springblade/modules/revoke/service/impl/RevokeServiceImpl.java b/src/main/java/org/springblade/modules/revoke/service/impl/RevokeServiceImpl.java
new file mode 100644
index 0000000..e11ad32
--- /dev/null
+++ b/src/main/java/org/springblade/modules/revoke/service/impl/RevokeServiceImpl.java
@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.revoke.service.impl;
+
+import org.springblade.modules.revoke.entity.Revoke;
+import org.springblade.modules.revoke.vo.RevokeVO;
+import org.springblade.modules.revoke.mapper.RevokeMapper;
+import org.springblade.modules.revoke.service.IRevokeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Service
+public class RevokeServiceImpl extends ServiceImpl<RevokeMapper, Revoke> implements IRevokeService {
+
+	@Override
+	public IPage<RevokeVO> selectRevokePage(IPage<RevokeVO> page, RevokeVO revoke) {
+		return page.setRecords(baseMapper.selectRevokePage(page, revoke));
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/revoke/vo/RevokeVO.java b/src/main/java/org/springblade/modules/revoke/vo/RevokeVO.java
new file mode 100644
index 0000000..fcbce1a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/revoke/vo/RevokeVO.java
@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.revoke.vo;
+
+import org.springblade.modules.revoke.entity.Revoke;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-07-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "RevokeVO对象", description = "RevokeVO对象")
+public class RevokeVO extends Revoke {
+	private static final long serialVersionUID = 1L;
+
+}

--
Gitblit v1.9.3