From 9e4491b4307992dd3f816cff6771c7a7ea7fee51 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 29 Mar 2023 17:01:47 +0800
Subject: [PATCH] 巡查代码整合

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolGroupController.java        |  120 ++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolTypeMapper.xml              |    6 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolInfoVO.java                         |   22 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolGroupMapper.xml             |   39 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolConfigService.java            |   13 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolGroupItemService.java         |   17 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolGroupItemController.java    |  128 +++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolInfoMapper.java                 |   30 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolInfoController.java         |  145 +++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolConfigController.java       |  107 ++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupItemMapper.java            |   15 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTypeController.java         |  112 ++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolInfoService.java              |   29 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolStatisticsVO.java                   |   77 +++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolGroup.java                      |   30 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolConfigMapper.xml            |    8 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolGroupItemServiceImpl.java |   30 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/SmApplication.java                                  |    4 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolConfig.java                     |   29 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolInfoMapper.xml              |  196 +++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTypeServiceImpl.java      |   22 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolGroupService.java             |   13 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTypeService.java              |   14 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolType.java                       |   28 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolGroupItem.java                  |   32 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolConfigMapper.java               |   14 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolConfigServiceImpl.java    |   20 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolGroupItemMapper.xml         |   11 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolGroupServiceImpl.java     |   23 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolInfo.java                       |   61 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTypeMapper.java                 |   14 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupMapper.java                |   12 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolInfoServiceImpl.java      |   73 ++
 33 files changed, 1,493 insertions(+), 1 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistask/sm/SmApplication.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/SmApplication.java
similarity index 72%
rename from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistask/sm/SmApplication.java
rename to skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/SmApplication.java
index 911e988..2ba650a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistask/sm/SmApplication.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/SmApplication.java
@@ -1,11 +1,13 @@
-package cn.gistask.sm;
+package cn.gistack.sm;
 
+import org.mybatis.spring.annotation.MapperScan;
 import org.springblade.core.cloud.client.BladeCloudApplication;
 import org.springblade.core.launch.BladeApplication;
 import org.springframework.cloud.openfeign.EnableFeignClients;
 
 @BladeCloudApplication
 @EnableFeignClients({"cn.gistack"})
+@MapperScan({"org.springblade.**.mapper.**","cn.gistack.**.mapper.**"})
 public class SmApplication {
 
 	public static void main(String[] args) {
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolConfigController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolConfigController.java
new file mode 100644
index 0000000..ca7d5e7
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolConfigController.java
@@ -0,0 +1,107 @@
+package cn.gistack.sm.patrol.controller;
+
+import java.util.Arrays;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import cn.gistack.sm.patrol.entity.PatrolConfig;
+import cn.gistack.sm.patrol.service.IPatrolConfigService;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Query;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+ /**
+ * @Description: 巡查设置
+ */
+@Slf4j
+@Api(tags="巡查设置")
+@RestController
+@RequestMapping("/patrol/patrolConfig")
+@AllArgsConstructor
+public class PatrolConfigController extends BladeController {
+
+	private IPatrolConfigService patrolConfigService;
+
+	/**
+	 * 分页列表查询
+	 */
+	@ApiOperation(value="巡查设置-分页列表查询", notes="巡查设置-分页列表查询")
+	@GetMapping(value = "/list")
+	public R<IPage<PatrolConfig>> queryPageList(PatrolConfig patrolConfig,Query query) {
+//		IPage<PatrolConfig> pageList =  patrolConfigService.selectPatrolConfig(Condition.getPage(query),patrolConfig);
+		IPage<PatrolConfig> pageList = patrolConfigService.page(Condition.getPage(query), Condition.getQueryWrapper(patrolConfig));
+		return R.data(pageList);
+	}
+
+	/**
+	 * 添加
+	 *
+	 * @param patrolConfig
+	 * @return
+	 */
+	@ApiOperation(value="巡查设置-添加", notes="巡查设置-添加")
+	@PostMapping(value = "/add")
+	public R add(@RequestBody PatrolConfig patrolConfig) {
+		return R.data(patrolConfigService.save(patrolConfig));
+	}
+
+	/**
+	 * 编辑
+	 *
+	 * @param patrolConfig
+	 * @return
+	 */
+	@ApiOperation(value="巡查设置-编辑", notes="巡查设置-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public R edit(@RequestBody PatrolConfig patrolConfig) {
+		return R.data(patrolConfigService.updateById(patrolConfig));
+	}
+
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="巡查设置-通过id删除", notes="巡查设置-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public R delete(@RequestParam(name="id",required=true) String id) {
+		patrolConfigService.removeById(id);
+		return R.data(patrolConfigService.removeById(id));
+	}
+
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@ApiOperation(value="巡查设置-批量删除", notes="巡查设置-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public R deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		return R.data(this.patrolConfigService.removeByIds(Arrays.asList(ids.split(","))));
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="巡查设置-通过id查询", notes="巡查设置-通过id查询")
+	@GetMapping(value = "/queryById")
+	public R queryById(@RequestParam(name="id",required=true) String id) {
+		PatrolConfig patrolConfig = patrolConfigService.getById(id);
+		return R.data(patrolConfig);
+	}
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolGroupController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolGroupController.java
new file mode 100644
index 0000000..8b36046
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolGroupController.java
@@ -0,0 +1,120 @@
+package cn.gistack.sm.patrol.controller;
+
+import java.util.Arrays;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import cn.gistack.sm.patrol.entity.PatrolGroup;
+import cn.gistack.sm.patrol.service.IPatrolGroupService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+ /**
+ * @Description: 巡查指标组
+ */
+@Slf4j
+@Api(tags="巡查指标组")
+@RestController
+@RequestMapping("/patrol/patrolGroup")
+@AllArgsConstructor
+public class PatrolGroupController extends BladeController {
+	private IPatrolGroupService patrolGroupService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param patrolGroup
+	 */
+	@ApiOperation(value="巡查指标组-分页列表查询", notes="巡查指标组-分页列表查询")
+	@GetMapping(value = "/list")
+	public R queryPageList(PatrolGroup patrolGroup,Query query) {
+//		IPage<PatrolGroup> pageList = patrolGroupService.selectPatrolConfig(Condition.getPage(query),patrolGroup);
+		IPage<PatrolGroup> pageList = patrolGroupService.page(Condition.getPage(query), Condition.getQueryWrapper(patrolGroup));
+		return R.data(pageList);
+	}
+
+	/**
+	 * 添加
+	 *
+	 * @param patrolGroup
+	 * @return
+	 */
+	@ApiOperation(value="巡查指标组-添加", notes="巡查指标组-添加")
+	@PostMapping(value = "/add")
+	public R add(@RequestBody PatrolGroup patrolGroup) {
+		return R.data(patrolGroupService.save(patrolGroup));
+	}
+
+	/**
+	 * 编辑
+	 *
+	 * @param patrolGroup
+	 * @return
+	 */
+	@ApiOperation(value="巡查指标组-编辑", notes="巡查指标组-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public R edit(@RequestBody PatrolGroup patrolGroup) {
+		return R.data(patrolGroupService.updateById(patrolGroup));
+	}
+
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="巡查指标组-通过id删除", notes="巡查指标组-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public R delete(@RequestParam(name="id",required=true) String id) {
+		return R.data(patrolGroupService.removeById(id));
+	}
+
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@ApiOperation(value="巡查指标组-批量删除", notes="巡查指标组-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public R deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		return R.data(patrolGroupService.removeByIds(Arrays.asList(ids.split(","))));
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="巡查指标组-通过id查询", notes="巡查指标组-通过id查询")
+	@GetMapping(value = "/queryById")
+	public R queryById(@RequestParam(name="id",required=true) String id) {
+		PatrolGroup patrolGroup = patrolGroupService.getById(id);
+		return R.data(patrolGroup);
+	}
+
+//	 /**
+//	  * 根据工程id查询巡查指标组
+//	  *
+//	  * @param productId
+//	  * @return
+//	  */
+//	 @AutoLog(value = "巡查指标组-根据工程id查询巡查指标组")
+//	 @ApiOperation(value="巡查指标组-根据工程id查询巡查指标组", notes="巡查指标组-根据工程id查询巡查指标组")
+//	 @GetMapping(value = "/queryTree")
+//	 public R<?> queryTree(@RequestParam(name="productId",required=true) String productId) {
+//	 	 WaterConservancyProjectVO waterConservancyProjectVO = patrolGroupService.queryTree(productId);
+//		 return R.OK(waterConservancyProjectVO);
+//	 }
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolGroupItemController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolGroupItemController.java
new file mode 100644
index 0000000..6ee51bd
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolGroupItemController.java
@@ -0,0 +1,128 @@
+package cn.gistack.sm.patrol.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import cn.gistack.sm.patrol.entity.PatrolGroup;
+import cn.gistack.sm.patrol.entity.PatrolGroupItem;
+import cn.gistack.sm.patrol.service.IPatrolGroupItemService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import lombok.AllArgsConstructor;
+
+import lombok.extern.slf4j.Slf4j;
+
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * @Description: 巡查指标项目
+ */
+@Slf4j
+@Api(tags="巡查指标项目")
+@RestController
+@RequestMapping("/patrol/patrolGroupItem")
+@AllArgsConstructor
+public class PatrolGroupItemController extends BladeController {
+
+	private IPatrolGroupItemService patrolGroupItemService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param patrolGroupItem
+	 * @return
+	 */
+	@ApiOperation(value="巡查指标项目-分页列表查询", notes="巡查指标项目-分页列表查询")
+	@GetMapping(value = "/list")
+	public R queryPageList(PatrolGroupItem patrolGroupItem, Query query) {
+//		IPage<PatrolGroupItem> pageList = patrolGroupItemService.selectPatrolConfig(Condition.getPage(query),patrolGroupItem);
+		IPage<PatrolGroupItem> pageList = patrolGroupItemService.page(Condition.getPage(query), Condition.getQueryWrapper(patrolGroupItem));
+		return R.data(pageList);
+	}
+
+	/**
+	 * 列表查询
+	 *
+	 * @param patrolGroupItem
+	 * @return
+	 */
+	@ApiOperation(value="巡查指标项目-列表查询", notes="巡查指标项目-列表查询")
+	@GetMapping(value = "/queryList")
+	public R queryList(PatrolGroupItem patrolGroupItem) {
+		List<PatrolGroupItem> list = patrolGroupItemService.selectPatrolGroupItemList(patrolGroupItem);
+		return R.data(list);
+	}
+
+	/**
+	 * 添加
+	 *
+	 * @param patrolGroupItem
+	 * @return
+	 */
+	@ApiOperation(value="巡查指标项目-添加", notes="巡查指标项目-添加")
+	@PostMapping(value = "/add")
+	public R add(@RequestBody PatrolGroupItem patrolGroupItem) {
+		return R.data(patrolGroupItemService.save(patrolGroupItem));
+	}
+
+	/**
+	 * 编辑
+	 *
+	 * @param patrolGroupItem
+	 * @return
+	 */
+	@ApiOperation(value="巡查指标项目-编辑", notes="巡查指标项目-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public R edit(@RequestBody PatrolGroupItem patrolGroupItem) {
+		return R.data(patrolGroupItemService.updateById(patrolGroupItem));
+	}
+
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="巡查指标项目-通过id删除", notes="巡查指标项目-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public R delete(@RequestParam(name="id",required=true) String id) {
+		return R.data(patrolGroupItemService.removeById(id));
+	}
+
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@ApiOperation(value="巡查指标项目-批量删除", notes="巡查指标项目-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public R deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		return R.data(patrolGroupItemService.removeByIds(Arrays.asList(ids.split(","))));
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="巡查指标项目-通过id查询", notes="巡查指标项目-通过id查询")
+	@GetMapping(value = "/queryById")
+	public R queryById(@RequestParam(name="id",required=true) String id) {
+		PatrolGroupItem patrolGroupItem = patrolGroupItemService.getById(id);
+		return R.data(patrolGroupItem);
+	}
+
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolInfoController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolInfoController.java
new file mode 100644
index 0000000..76c1087
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolInfoController.java
@@ -0,0 +1,145 @@
+package cn.gistack.sm.patrol.controller;
+
+import java.util.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import cn.gistack.sm.patrol.entity.PatrolInfo;
+import cn.gistack.sm.patrol.service.IPatrolInfoService;
+import cn.gistack.sm.patrol.vo.PatrolInfoVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+ /**
+ * @Description: 巡查记录
+ */
+@Slf4j
+@Api(tags="巡查记录")
+@RestController
+@RequestMapping("/patrol/patrolInfo")
+@AllArgsConstructor
+public class PatrolInfoController extends BladeController {
+	private IPatrolInfoService patrolInfoService;
+
+	/**
+	 * 分页列表查询
+	 */
+	@ApiOperation(value="巡查记录-分页列表查询", notes="巡查记录-分页列表查询")
+	@GetMapping(value = "/list")
+	public R queryPageList(PatrolInfo patrolInfo, Query query) {
+		IPage<PatrolInfo> page = patrolInfoService.page(Condition.getPage(query), Condition.getQueryWrapper(patrolInfo));
+		return R.data(page);
+	}
+
+
+	/**
+	 * 自定义分页列表查询
+	 *
+	 * @param patrolInfo
+	 * @return
+	 */
+	@ApiOperation(value="巡查记录-自定义分页列表查询", notes="巡查记录-自定义分页列表查询")
+	@GetMapping(value = "/page")
+	public R page(PatrolInfoVO patrolInfo,Query query) {
+		return R.data(patrolInfoService.selectPatrolInfoPage(new Page<PatrolInfoVO>(query.getCurrent(), query.getSize()),patrolInfo));
+	}
+
+	/**
+	 * 添加
+	 *
+	 * @param patrolInfo
+	 * @return
+	 */
+	@ApiOperation(value="巡查记录-添加", notes="巡查记录-添加")
+	@PostMapping(value = "/add")
+	public R add(@RequestBody PatrolInfo patrolInfo) {
+
+		return R.data(patrolInfoService.save(patrolInfo));
+	}
+
+	/**
+	 * 编辑
+	 *
+	 * @param patrolInfo
+	 * @return
+	 */
+	@ApiOperation(value="巡查记录-编辑", notes="巡查记录-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public R edit(@RequestBody PatrolInfo patrolInfo) {
+		return R.data(patrolInfoService.updateById(patrolInfo));
+	}
+
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="巡查记录-通过id删除", notes="巡查记录-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public R delete(@RequestParam(name="id",required=true) String id) {
+		return R.data(patrolInfoService.removeById(id));
+	}
+
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@ApiOperation(value="巡查记录-批量删除", notes="巡查记录-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public R deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		return R.data(patrolInfoService.removeByIds(Arrays.asList(ids.split(","))));
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="巡查记录-通过id查询", notes="巡查记录-通过id查询")
+	@GetMapping(value = "/queryById")
+	public R queryById(@RequestParam(name="id",required=true) String id) {
+		PatrolInfo patrolInfo = patrolInfoService.getById(id);
+		return R.data(patrolInfo);
+	}
+
+//	 /**
+//	  * 获取人员巡查报表接口
+//	  * @return
+//	  */
+//  @ApiOperation(value="巡查记录-人员巡查报表", notes="巡查记录-人员巡查报表")
+//  @RequestMapping(value = "/personPatrol",method = RequestMethod.GET)
+//  public R getPersonPatrol(PatrolStatisticsVO patrolStatisticsVO,
+//								@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+//								@RequestParam(name="pageSize", defaultValue="10") Integer pageSize){
+//  	return R.OK(patrolInfoService.getPersonPatrol(new Page<PatrolStatisticsVO>(pageNo, pageSize), patrolStatisticsVO));
+//  }
+
+//	 /**
+//	  * 获取工程巡查报表接口
+//	  * @return
+//	  */
+//	 @ApiOperation(value="巡查记录-工程巡查报表", notes="巡查记录-工程巡查报表")
+//	 @RequestMapping(value = "/projectPatrol",method = RequestMethod.GET)
+//	 public R getProjectPatrol(PatrolStatisticsVO patrolStatisticsVO,
+//								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+//								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize){
+//		 return R.OK(patrolInfoService.getProjectPatrol(new Page<PatrolStatisticsVO>(pageNo, pageSize), patrolStatisticsVO));
+//	 }
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTypeController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTypeController.java
new file mode 100644
index 0000000..0a1b4be
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTypeController.java
@@ -0,0 +1,112 @@
+package cn.gistack.sm.patrol.controller;
+
+import java.util.Arrays;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import cn.gistack.sm.patrol.entity.PatrolType;
+import cn.gistack.sm.patrol.service.IPatrolTypeService;
+import lombok.AllArgsConstructor;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springblade.core.mp.support.Query;
+
+ /**
+ * @Description: 巡查类型
+ */
+@Slf4j
+@Api(tags="巡查类型")
+@RestController
+@RequestMapping("/patrol/patrolType")
+@AllArgsConstructor
+public class PatrolTypeController extends BladeController {
+	private IPatrolTypeService patrolTypeService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param patrolType
+	 * @return
+	 */
+	@ApiOperation(value="巡查类型-分页列表查询", notes="巡查类型-分页列表查询")
+	@GetMapping(value = "/list")
+	public R queryPageList(PatrolType patrolType,Query query) {
+//		IPage<PatrolType> pageList = patrolTypeService.selectPatrolType(Condition.getPage(query),patrolType);
+		IPage<PatrolType> pageList = patrolTypeService.page(Condition.getPage(query), Condition.getQueryWrapper(patrolType));
+		return R.data(pageList);
+	}
+
+	/**
+	 * 添加
+	 *
+	 * @param patrolType
+	 * @return
+	 */
+	@ApiOperation(value="巡查类型-添加", notes="巡查类型-添加")
+	@PostMapping(value = "/add")
+	public R add(@RequestBody PatrolType patrolType) {
+		return R.data(patrolTypeService.save(patrolType));
+	}
+
+	/**
+	 * 编辑
+	 *
+	 * @param patrolType
+	 * @return
+	 */
+	@ApiOperation(value="巡查类型-编辑", notes="巡查类型-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public R edit(@RequestBody PatrolType patrolType) {
+		return R.data(patrolTypeService.updateById(patrolType));
+	}
+
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="巡查类型-通过id删除", notes="巡查类型-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public R delete(@RequestParam(name="id",required=true) String id) {
+		return R.data(patrolTypeService.removeById(id));
+	}
+
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@ApiOperation(value="巡查类型-批量删除", notes="巡查类型-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public R deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		return R.data(patrolTypeService.removeByIds(Arrays.asList(ids.split(","))));
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="巡查类型-通过id查询", notes="巡查类型-通过id查询")
+	@GetMapping(value = "/queryById")
+	public R queryById(@RequestParam(name="id",required=true) String id) {
+		PatrolType patrolType = patrolTypeService.getById(id);
+		return R.data(patrolType);
+	}
+
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolConfig.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolConfig.java
new file mode 100644
index 0000000..faf033e
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolConfig.java
@@ -0,0 +1,29 @@
+package cn.gistack.sm.patrol.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.springblade.core.mp.base.BaseEntity;
+
+/**
+ * @Description: 巡查设置
+ */
+@Data
+@TableName("sm_patrol_config")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="sm_patrol_config对象", description="巡查设置")
+public class PatrolConfig extends BaseEntity {
+	/**工程类型*/
+    @ApiModelProperty(value = "工程类型")
+	private String projectType;
+	/**巡查类型*/
+    @ApiModelProperty(value = "巡查类型")
+	private String patrolTypeId;
+	/**工程名称*/
+    @ApiModelProperty(value = "工程id")
+	private String projectId;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolGroup.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolGroup.java
new file mode 100644
index 0000000..7aaf67e
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolGroup.java
@@ -0,0 +1,30 @@
+package cn.gistack.sm.patrol.entity;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.springblade.core.mp.base.BaseEntity;
+
+/**
+ * @Description: 巡查指标组
+ */
+@Data
+@TableName("sm_patrol_group")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="sm_patrol_group对象", description="巡查指标组")
+public class PatrolGroup extends BaseEntity {
+
+	/**工程名称*/
+    @ApiModelProperty(value = "工程名称")
+	private String projectId;
+
+	/**名称*/
+    @ApiModelProperty(value = "名称")
+	private String name;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolGroupItem.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolGroupItem.java
new file mode 100644
index 0000000..1ae0a6f
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolGroupItem.java
@@ -0,0 +1,32 @@
+package cn.gistack.sm.patrol.entity;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.springblade.core.mp.base.BaseEntity;
+
+/**
+ * @Description: 巡查指标项目
+ */
+@Data
+@TableName("sm_patrol_group_item")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="sm_patrol_group_item对象", description="巡查指标项目")
+public class PatrolGroupItem extends BaseEntity {
+
+	/**项目组id*/
+    @ApiModelProperty(value = "项目组id")
+	private String groupId;
+	/**指标项名称*/
+    @ApiModelProperty(value = "指标项名称")
+	private String itemsName;
+	/**指标名称*/
+    @ApiModelProperty(value = "指标名称")
+	private String name;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolInfo.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolInfo.java
new file mode 100644
index 0000000..d57019d
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolInfo.java
@@ -0,0 +1,61 @@
+package cn.gistack.sm.patrol.entity;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * @Description: 巡查记录
+ */
+@Data
+@TableName(value = "sm_patrol_info", autoResultMap = true)
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="sm_patrol_info对象", description="巡查记录")
+public class PatrolInfo extends BaseEntity {
+
+	/**工程名称*/
+	@ApiModelProperty(value = "工程名称")
+	private String projectId;
+	/**检查日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "检查日期")
+	private Date checkDate;
+	/**天气*/
+	@ApiModelProperty(value = "天气")
+	private String weather;
+	/**巡检人员*/
+	@ApiModelProperty(value = "巡检人员")
+	private String inspectionPerson;
+	/**记录人员*/
+	@ApiModelProperty(value = "记录人员")
+	private String recordPerson;
+	/**库水位*/
+	@ApiModelProperty(value = "库水位")
+	private String reservoirWaterLevel;
+	/**检查类型*/
+	@ApiModelProperty(value = "检查类型")
+	private String patrolType;
+	/**报告类型*/
+	@ApiModelProperty(value = "报告类型")
+	private String reportType;
+	/**检查项目*/
+	@ApiModelProperty(value = "检查项目")
+	@TableField(typeHandler = FastjsonTypeHandler.class)
+	private Object projectItems;
+	/**图片数组*/
+	@ApiModelProperty(value = "图片数组")
+	@TableField(value = "image_urls",updateStrategy = FieldStrategy.IGNORED,typeHandler = FastjsonTypeHandler.class)
+	private Object imageUrls;
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolType.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolType.java
new file mode 100644
index 0000000..452126e
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolType.java
@@ -0,0 +1,28 @@
+package cn.gistack.sm.patrol.entity;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * @Description: 巡查类型
+ */
+@Data
+@TableName("sm_patrol_type")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="sm_patrol_type对象", description="巡查类型")
+public class PatrolType extends BaseEntity {
+
+	/**类型名称*/
+    @ApiModelProperty(value = "类型名称")
+	private String name;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolConfigMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolConfigMapper.java
new file mode 100644
index 0000000..4e04d5d
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolConfigMapper.java
@@ -0,0 +1,14 @@
+package cn.gistack.sm.patrol.mapper;
+
+import cn.gistack.sm.patrol.entity.PatrolConfig;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+/**
+ * @Description: 巡查设置
+ */
+public interface PatrolConfigMapper extends BaseMapper<PatrolConfig> {
+
+	List<PatrolConfig> selectPatrolConfig(PatrolConfig patrolConfig);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupItemMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupItemMapper.java
new file mode 100644
index 0000000..2cfe310
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupItemMapper.java
@@ -0,0 +1,15 @@
+package cn.gistack.sm.patrol.mapper;
+
+import java.util.List;
+
+import cn.gistack.sm.patrol.entity.PatrolGroupItem;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 巡查指标项目
+ */
+public interface PatrolGroupItemMapper extends BaseMapper<PatrolGroupItem> {
+
+    List<PatrolGroupItem> selectPatrolGroupItemList(@Param("patrolGroupItem") PatrolGroupItem patrolGroupItem);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupMapper.java
new file mode 100644
index 0000000..6a51aa9
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupMapper.java
@@ -0,0 +1,12 @@
+package cn.gistack.sm.patrol.mapper;
+
+import cn.gistack.sm.patrol.entity.PatrolGroup;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @Description: 巡查指标组
+ */
+public interface PatrolGroupMapper extends BaseMapper<PatrolGroup> {
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolInfoMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolInfoMapper.java
new file mode 100644
index 0000000..79ca0ae
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolInfoMapper.java
@@ -0,0 +1,30 @@
+package cn.gistack.sm.patrol.mapper;
+
+import java.util.List;
+
+import cn.gistack.sm.patrol.entity.PatrolInfo;
+import cn.gistack.sm.patrol.vo.PatrolInfoVO;
+import cn.gistack.sm.patrol.vo.PatrolStatisticsVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @Description: 巡查记录
+ */
+public interface PatrolInfoMapper extends BaseMapper<PatrolInfo> {
+
+    /**
+     * 自定义分页列表查询
+     *
+     * @param patrolInfo 巡查记录 vo 对象
+     * @param page 分页对象
+     * @return
+     */
+    List<PatrolInfoVO> selectPatrolInfoPage(@Param("page") Page<PatrolInfoVO> page,
+											@Param("patrolInfo") PatrolInfoVO patrolInfo);
+
+    List<PatrolStatisticsVO> getAllUserTimes(@Param("patrolStatisticsVO") PatrolStatisticsVO patrolStatisticsVO);
+
+    List<PatrolStatisticsVO> getAllProjectTimes(@Param("patrolStatisticsVO") PatrolStatisticsVO patrolStatisticsVO);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTypeMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTypeMapper.java
new file mode 100644
index 0000000..bb06b71
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTypeMapper.java
@@ -0,0 +1,14 @@
+package cn.gistack.sm.patrol.mapper;
+
+import cn.gistack.sm.patrol.entity.PatrolType;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+/**
+ * @Description: 巡查类型
+ */
+public interface PatrolTypeMapper extends BaseMapper<PatrolType> {
+
+	List<PatrolType> selectPatrolType(PatrolType patrolType);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolConfigMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolConfigMapper.xml
new file mode 100644
index 0000000..d1bc28e
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolConfigMapper.xml
@@ -0,0 +1,8 @@
+<?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="cn.gistack.sm.patrol.mapper.PatrolConfigMapper">
+
+    <select id="selectPatrolConfig" resultType="cn.gistack.sm.patrol.entity.PatrolConfig">
+
+    </select>
+</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolGroupItemMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolGroupItemMapper.xml
new file mode 100644
index 0000000..7aa683d
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolGroupItemMapper.xml
@@ -0,0 +1,11 @@
+<?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="cn.gistack.sm.patrol.mapper.PatrolGroupItemMapper">
+
+    <select id="selectPatrolGroupItemList" resultType="cn.gistack.sm.patrol.entity.PatrolGroupItem">
+        SELECT * FROM sm_patrol_group_item WHERE is_deleted = 0
+        <if test="patrolGroupItem.groupId != null and patrolGroupItem.groupId != '' ">
+            and group_id = #{patrolGroupItem.groupId}
+        </if>
+    </select>
+</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolGroupMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolGroupMapper.xml
new file mode 100644
index 0000000..e83e28b
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolGroupMapper.xml
@@ -0,0 +1,39 @@
+<?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="cn.gistack.sm.patrol.mapper.PatrolGroupMapper">
+
+<!--    <resultMap id="tree" type="org.jeecg.modules.SM.projectgm.vo.WaterConservancyProjectVO">-->
+<!--        <id column="id" property="id"/>-->
+<!--        <result column="project_category" property="projectCategory"/>-->
+<!--        <result column="name" property="name"/>-->
+<!--        <result column="project_type" property="projectType"/>-->
+<!--        <result column="region" property="region"/>-->
+<!--        <result column="create_user" property="createUser"/>-->
+<!--        <result column="create_time" property="createTime"/>-->
+<!--        <result column="update_user" property="updateUser"/>-->
+<!--        <result column="update_time" property="updateTime"/>-->
+<!--        <result column="status" property="status"/>-->
+<!--        <result column="is_deleted" property="isDeleted"/>-->
+<!--        <collection property="patrolGroupList" javaType="java.util.List" ofType="org.jeecg.modules.SM.patrol.entity.PatrolGroup">-->
+<!--            <result column="pid" property="id"/>-->
+<!--            <result column="pproduct_id" property="productId"/>-->
+<!--            <result column="pname" property="name"/>-->
+<!--            <result column="pcreate_user" property="createUser"/>-->
+<!--            <result column="pcreate_time" property="createTime"/>-->
+<!--            <result column="pupdate_user" property="updateUser"/>-->
+<!--            <result column="pupdate_time" property="updateTime"/>-->
+<!--            <result column="pstatus" property="status"/>-->
+<!--            <result column="pis_deleted" property="isDeleted"/>-->
+<!--        </collection>-->
+<!--    </resultMap>-->
+
+<!--    <select id="queryTree" resultMap="tree">-->
+<!--        SELECT swcp.*,-->
+<!--        p.id pid,p.product_id pproduct_id,p.name pname,-->
+<!--        p.create_user pcreate_user,p.create_time pcreate_time,p.update_user pupdate_user,p.update_time pupdate_time,p.status pstatus,p.is_deleted pis_deleted-->
+<!--        FROM sm_water_conservancy_project swcp-->
+<!--        LEFT JOIN sm_patrol_group p ON p.product_id = swcp.id AND p.is_deleted = 0-->
+<!--        WHERE swcp.is_deleted = 0 AND swcp.id = #{productId}-->
+<!--        ORDER BY p.create_time ASC-->
+<!--    </select>-->
+</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolInfoMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolInfoMapper.xml
new file mode 100644
index 0000000..117f255
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolInfoMapper.xml
@@ -0,0 +1,196 @@
+<?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="cn.gistack.sm.patrol.mapper.PatrolInfoMapper">
+    <resultMap id="patrolInfoResultMap" type="cn.gistack.sm.patrol.vo.PatrolInfoVO">
+        <result column="id" property="id"/>
+        <result column="project_id" property="projectId"/>
+        <result column="check_date" property="checkDate"/>
+        <result column="weather" property="weather"/>
+        <result column="inspection_person" property="inspectionPerson"/>
+        <result column="record_person" property="recordPerson"/>
+        <result column="reservoir_water_level" property="reservoirWaterLevel"/>
+        <result column="patrol_type" property="patrolType"/>
+        <result column="report_type" property="reportType"/>
+        <result column="project_items" property="projectItems"
+                typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+        <result column="image_urls" property="imageUrls"
+                typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+    </resultMap>
+
+
+    <!--分页列表查询-->
+    <select id="selectPatrolInfoPage" resultMap="patrolInfoResultMap">
+        SELECT info.*
+        FROM sm_patrol_info info
+        WHERE 1=1 AND info.is_deleted = 0
+        <if test="patrolInfo.checkDateStart!=null and patrolInfo.checkDateStart!=''">
+            AND date_format(info.check_date,'%Y-%m-%d') &gt;= #{patrolInfo.checkDateStart}
+        </if>
+        <if test="patrolInfo.checkDateEnd!=null and patrolInfo.checkDateEnd!=''">
+            AND date_format(info.check_date,'%Y-%m-%d') &lt;= #{patrolInfo.checkDateEnd}
+        </if>
+        <if test="patrolInfo.projectId !=null and patrolInfo.projectId !=''">
+            AND info.project_id = #{patrolInfo.projectId}
+        </if>
+
+        ORDER BY info.id desc
+    </select>
+
+    <select id="getAllUserTimes" resultType="cn.gistack.sm.patrol.vo.PatrolStatisticsVO">
+            SELECT
+                u.id userId,u.realname,
+                (CASE a.patrolTimes WHEN a.patrolTimes  THEN a.patrolTimes ELSE 0 END) patrolTimes,
+                (CASE b.dangerNumber WHEN b.dangerNumber  THEN b.dangerNumber ELSE 0 END) dangerMangeNumber,
+                (CASE c.finishNumber WHEN c.finishNumber  THEN c.finishNumber ELSE 0 END) finished,
+                (CASE d.handlingNumber WHEN d.handlingNumber  THEN d.handlingNumber ELSE 0 END) processing,
+                (CASE e.waitingNumber WHEN e.waitingNumber  THEN e.waitingNumber ELSE 0 END) waiting
+            FROM sys_user u
+--             巡检次数
+            LEFT JOIN
+            (
+                SELECT user.id,COUNT( user.id ) patrolTimes
+                FROM sys_user user,sm_patrol_info info
+                WHERE del_flag = 0 AND info.is_deleted = 0 AND FIND_IN_SET( user.id, inspection_person )
+                GROUP BY user.id
+            ) a ON u.id = a.id
+--             隐患数量
+            LEFT JOIN
+            (
+                SELECT user.id,COUNT(user.id) dangerNumber
+                FROM sys_user user,sm_danger_management danger
+                WHERE del_flag = 0 AND danger.is_deleted = 0 AND FIND_IN_SET( user.id, danger.check_user )
+                GROUP BY user.id
+            ) b ON u.id = b.id
+--             已处理
+            LEFT JOIN
+            (
+                SELECT user.id,COUNT(user.id) finishNumber
+                FROM sys_user user,sm_danger_management danger
+                WHERE del_flag = 0 AND danger.is_deleted = 0 AND danger.status=99 AND FIND_IN_SET( user.id, danger.check_user )
+                GROUP BY user.id
+            ) c ON u.id = c.id
+--             处理中
+            LEFT JOIN
+            (
+                SELECT user.id,COUNT(user.id) handlingNumber
+                FROM sys_user user,sm_danger_management danger
+                WHERE del_flag = 0 AND danger.is_deleted = 0 AND (danger.status&gt;1 AND danger.status&lt;99) AND FIND_IN_SET( user.id, danger.check_user )
+                GROUP BY user.id
+            ) d ON u.id = d.id
+--             待处理
+            LEFT JOIN
+            (
+                SELECT user.id,COUNT(user.id) waitingNumber
+                FROM sys_user user,sm_danger_management danger
+                WHERE del_flag = 0 AND danger.is_deleted = 0 AND danger.status=1 AND FIND_IN_SET( user.id, danger.check_user )
+                GROUP BY user.id
+            ) e ON u.id = e.id
+            WHERE u.del_flag = 0
+            <if test="patrolStatisticsVO.realname != null and patrolStatisticsVO.realname != '' ">
+                AND u.realname LIKE CONCAT('%',#{patrolStatisticsVO.realname},'%')
+            </if>
+            ORDER BY a.patrolTimes DESC
+    </select>
+
+    <select id="getAllProjectTimes" resultType="cn.gistack.sm.patrol.vo.PatrolStatisticsVO">
+        SELECT
+            project.id projectId,
+            project.name projectName,
+            item.item_text projectType,
+            CONCAT(p.region_name,c.region_name,a.region_name,t.region_name) region,
+            COUNT( info.project_id) patrolTimes,
+            dangers.dangerNumber dangerMangeNumber,
+            finish.finishNumber finished,
+            handling.handlingNumber processing,
+            waiting.waitingNumber waiting
+        FROM
+            sm_water_conservancy_project project
+            LEFT JOIN sm_patrol_info info ON info.project_id= project.id AND info.is_deleted = 0
+            LEFT JOIN sys_dict dict ON dict.dict_code = "oa_project_type"
+            LEFT JOIN sys_dict_item item ON dict.id = item.dict_id AND item.item_value = project.project_type
+            LEFT JOIN sys_region p ON p.region_id = project.region->'$.province'+0
+            LEFT JOIN sys_region c ON c.region_id = project.region->'$.city'+0
+            LEFT JOIN sys_region a ON a.region_id = project.region->'$.area'+0
+            LEFT JOIN sys_region t ON t.region_id = project.region->'$.town'+0
+--             隐患数量
+            LEFT JOIN
+            (
+                SELECT
+                project.id projectId,
+                COUNT( danger.project_id) dangerNumber
+                FROM
+                sm_water_conservancy_project project
+                LEFT JOIN sm_danger_management danger ON danger.project_id = project.id AND danger.is_deleted = 0
+                WHERE
+                project.is_deleted = 0
+                GROUP BY
+                danger.project_id,
+                project.id
+            )dangers ON dangers.projectId = project.id
+--             已处理
+            LEFT JOIN
+            (
+                SELECT
+                project.id projectId,
+                COUNT( danger.project_id) finishNumber
+                FROM
+                sm_water_conservancy_project project
+                LEFT JOIN sm_danger_management danger ON danger.project_id = project.id AND danger.is_deleted = 0 AND danger.status = 99
+                WHERE
+                project.is_deleted = 0
+                GROUP BY
+                danger.project_id,
+                project.id
+            )finish ON finish.projectId = project.id
+--             处理中
+            LEFT JOIN
+            (
+                SELECT
+                project.id projectId,
+                COUNT( danger.project_id) handlingNumber
+                FROM
+                sm_water_conservancy_project project
+                LEFT JOIN sm_danger_management danger ON danger.project_id = project.id AND danger.is_deleted = 0 AND (danger.status  &gt;=1 AND danger.status&lt;=99)
+                WHERE
+                project.is_deleted = 0
+                GROUP BY
+                danger.project_id,
+                project.id
+            )handling ON handling.projectId = project.id
+--             待处理
+            LEFT JOIN
+            (
+                SELECT
+                project.id projectId,
+                COUNT( danger.project_id) waitingNumber
+                FROM
+                sm_water_conservancy_project project
+                LEFT JOIN sm_danger_management danger ON danger.project_id = project.id AND danger.is_deleted = 0 AND danger.status = 1
+                WHERE
+                project.is_deleted = 0
+                GROUP BY
+                danger.project_id,
+                project.id
+            )waiting ON waiting.projectId = project.id
+        WHERE
+            project.is_deleted = 0
+            <if test="patrolStatisticsVO.projectName !=null and patrolStatisticsVO.projectName != '' ">
+                AND project.name LIKE CONCAT('%',#{patrolStatisticsVO.projectName},'%')
+            </if>
+        GROUP BY
+            info.project_id,
+            project.id,
+            dangers.dangerNumber,
+            finish.finishNumber,
+            handling.handlingNumber,
+            waiting.waitingNumber,
+            dict.id,
+            item.id,
+            p.region_id,
+            c.region_id,
+            a.region_id,
+            t.region_id
+        ORDER BY patrolTimes DESC
+    </select>
+
+</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolTypeMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolTypeMapper.xml
new file mode 100644
index 0000000..291ba20
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolTypeMapper.xml
@@ -0,0 +1,6 @@
+<?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="cn.gistack.sm.patrol.mapper.PatrolTypeMapper">
+
+    <select id="selectPatrolType" resultType="cn.gistack.sm.patrol.entity.PatrolType"></select>
+</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolConfigService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolConfigService.java
new file mode 100644
index 0000000..2ccbc14
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolConfigService.java
@@ -0,0 +1,13 @@
+package cn.gistack.sm.patrol.service;
+
+import cn.gistack.sm.patrol.entity.PatrolConfig;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+
+/**
+ * @Description: 巡查设置
+ */
+public interface IPatrolConfigService extends BaseService<PatrolConfig> {
+
+    IPage<PatrolConfig> selectPatrolConfig(IPage<PatrolConfig> page, PatrolConfig patrolConfig);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolGroupItemService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolGroupItemService.java
new file mode 100644
index 0000000..bc2346b
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolGroupItemService.java
@@ -0,0 +1,17 @@
+package cn.gistack.sm.patrol.service;
+
+import cn.gistack.sm.patrol.entity.PatrolGroupItem;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+
+import java.util.List;
+
+/**
+ * @Description: 巡查指标项目
+ */
+public interface IPatrolGroupItemService extends BaseService<PatrolGroupItem> {
+
+    List<PatrolGroupItem> selectPatrolGroupItemList(PatrolGroupItem patrolGroupItem);
+
+	IPage<PatrolGroupItem> selectPatrolConfig(IPage<PatrolGroupItem> page, PatrolGroupItem patrolGroupItem);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolGroupService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolGroupService.java
new file mode 100644
index 0000000..0f40fd3
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolGroupService.java
@@ -0,0 +1,13 @@
+package cn.gistack.sm.patrol.service;
+
+import cn.gistack.sm.patrol.entity.PatrolGroup;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+
+/**
+ * @Description: 巡查指标组
+ */
+public interface IPatrolGroupService extends BaseService<PatrolGroup> {
+
+	IPage<PatrolGroup> selectPatrolConfig(IPage<Object> page, PatrolGroup patrolGroup);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolInfoService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolInfoService.java
new file mode 100644
index 0000000..df1e452
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolInfoService.java
@@ -0,0 +1,29 @@
+package cn.gistack.sm.patrol.service;
+
+import cn.gistack.sm.patrol.entity.PatrolInfo;
+import cn.gistack.sm.patrol.vo.PatrolInfoVO;
+import cn.gistack.sm.patrol.vo.PatrolStatisticsVO;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+
+/**
+ * @Description: 巡查记录
+ */
+public interface IPatrolInfoService extends BaseService<PatrolInfo> {
+
+	/**
+	 * 自定义分页列表查询
+	 *
+	 * @param patrolInfo 巡查记录 vo 对象
+	 * @param page 分页对象
+	 * @return
+	 */
+	IPage<PatrolInfoVO> selectPatrolInfoPage(Page<PatrolInfoVO> page, PatrolInfoVO patrolInfo);
+
+	Page<PatrolStatisticsVO> getPersonPatrol(Page<PatrolStatisticsVO> page, PatrolStatisticsVO patrolStatisticsVO);
+
+	Page<PatrolStatisticsVO> getProjectPatrol(Page<PatrolStatisticsVO> page, PatrolStatisticsVO patrolStatisticsVO);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTypeService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTypeService.java
new file mode 100644
index 0000000..966c8ba
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTypeService.java
@@ -0,0 +1,14 @@
+package cn.gistack.sm.patrol.service;
+
+import cn.gistack.sm.patrol.entity.PatrolType;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.core.mp.base.BaseService;
+
+/**
+ * @Description: 巡查类型
+ */
+public interface IPatrolTypeService extends BaseService<PatrolType> {
+
+	IPage<PatrolType> selectPatrolType(IPage<PatrolType> page, PatrolType patrolType);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolConfigServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolConfigServiceImpl.java
new file mode 100644
index 0000000..92fa718
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolConfigServiceImpl.java
@@ -0,0 +1,20 @@
+package cn.gistack.sm.patrol.service.impl;
+
+import cn.gistack.sm.patrol.entity.PatrolConfig;
+import cn.gistack.sm.patrol.mapper.PatrolConfigMapper;
+import cn.gistack.sm.patrol.service.IPatrolConfigService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 巡查设置
+ */
+@Service
+public class PatrolConfigServiceImpl extends BaseServiceImpl<PatrolConfigMapper, PatrolConfig> implements IPatrolConfigService {
+
+	@Override
+	public IPage<PatrolConfig> selectPatrolConfig(IPage<PatrolConfig> page, PatrolConfig patrolConfig) {
+		return page.setRecords(baseMapper.selectPatrolConfig(patrolConfig));
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolGroupItemServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolGroupItemServiceImpl.java
new file mode 100644
index 0000000..af190ec
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolGroupItemServiceImpl.java
@@ -0,0 +1,30 @@
+package cn.gistack.sm.patrol.service.impl;
+
+import cn.gistack.sm.patrol.entity.PatrolGroupItem;
+import cn.gistack.sm.patrol.mapper.PatrolGroupItemMapper;
+import cn.gistack.sm.patrol.service.IPatrolGroupItemService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.List;
+
+/**
+ * @Description: 巡查指标项目
+ */
+@Service
+public class PatrolGroupItemServiceImpl extends BaseServiceImpl<PatrolGroupItemMapper, PatrolGroupItem> implements IPatrolGroupItemService {
+
+
+	@Override
+	public List<PatrolGroupItem> selectPatrolGroupItemList(PatrolGroupItem patrolGroupItem) {
+		return baseMapper.selectPatrolGroupItemList(patrolGroupItem);
+	}
+
+	@Override
+	public IPage<PatrolGroupItem> selectPatrolConfig(IPage<PatrolGroupItem> page, PatrolGroupItem patrolGroupItem) {
+		return page.setRecords(baseMapper.selectPatrolGroupItemList(patrolGroupItem));
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolGroupServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolGroupServiceImpl.java
new file mode 100644
index 0000000..7ba8e53
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolGroupServiceImpl.java
@@ -0,0 +1,23 @@
+package cn.gistack.sm.patrol.service.impl;
+
+
+import cn.gistack.sm.patrol.entity.PatrolGroup;
+import cn.gistack.sm.patrol.mapper.PatrolGroupMapper;
+import cn.gistack.sm.patrol.service.IPatrolGroupService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 巡查指标组
+ */
+@Service
+public class PatrolGroupServiceImpl extends BaseServiceImpl<PatrolGroupMapper, PatrolGroup> implements IPatrolGroupService {
+
+	@Override
+	public IPage<PatrolGroup> selectPatrolConfig(IPage<Object> page, PatrolGroup patrolGroup) {
+		return null;
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolInfoServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolInfoServiceImpl.java
new file mode 100644
index 0000000..e94c16e
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolInfoServiceImpl.java
@@ -0,0 +1,73 @@
+package cn.gistack.sm.patrol.service.impl;
+
+import cn.gistack.sm.patrol.entity.PatrolInfo;
+import cn.gistack.sm.patrol.mapper.PatrolInfoMapper;
+import cn.gistack.sm.patrol.service.IPatrolInfoService;
+import cn.gistack.sm.patrol.vo.PatrolInfoVO;
+import cn.gistack.sm.patrol.vo.PatrolStatisticsVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Description: 巡查记录
+ */
+@Service
+public class PatrolInfoServiceImpl extends BaseServiceImpl<PatrolInfoMapper, PatrolInfo> implements IPatrolInfoService {
+
+    /**
+     * 自定义分页列表查询
+     *
+     * @param patrolInfo 巡查记录 vo 对象
+     * @param page 分页对象
+     * @return
+     */
+    @Override
+    public IPage<PatrolInfoVO> selectPatrolInfoPage(Page<PatrolInfoVO> page, PatrolInfoVO patrolInfo){
+        return page.setRecords(baseMapper.selectPatrolInfoPage(page,patrolInfo));
+    }
+
+    @Override
+    public Page<PatrolStatisticsVO> getPersonPatrol(Page<PatrolStatisticsVO> page, PatrolStatisticsVO patrolStatisticsVO) {
+        List<PatrolStatisticsVO> patrolStatisticsVOList = baseMapper.getAllUserTimes(patrolStatisticsVO);
+
+        //设置分页
+        //当前第几页
+        Long pageNo = page.getCurrent();
+        //一页几条
+        Long pageSize = page.getSize();
+        //总条数
+        Integer count = patrolStatisticsVOList.size();
+        List<PatrolStatisticsVO> list = patrolStatisticsVOList.stream().skip((pageNo - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
+
+        page.setTotal(count);
+        page.setSize(pageSize);
+        page.setRecords(list);
+
+        return page;
+    }
+
+    @Override
+    public Page<PatrolStatisticsVO> getProjectPatrol(Page<PatrolStatisticsVO> page, PatrolStatisticsVO patrolStatisticsVO) {
+        List<PatrolStatisticsVO> patrolStatisticsVOList = baseMapper.getAllProjectTimes(patrolStatisticsVO);
+
+        //设置分页
+        //当前第几页
+        Long pageNo = page.getCurrent();
+        //一页几条
+        Long pageSize = page.getSize();
+        //总条数
+        Integer count = patrolStatisticsVOList.size();
+        List<PatrolStatisticsVO> list = patrolStatisticsVOList.stream().skip((pageNo - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
+
+        page.setTotal(count);
+        page.setSize(pageSize);
+        page.setRecords(list);
+
+        return page;
+    }
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTypeServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTypeServiceImpl.java
new file mode 100644
index 0000000..9f128ec
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTypeServiceImpl.java
@@ -0,0 +1,22 @@
+package cn.gistack.sm.patrol.service.impl;
+
+import cn.gistack.sm.patrol.entity.PatrolType;
+import cn.gistack.sm.patrol.mapper.PatrolTypeMapper;
+import cn.gistack.sm.patrol.service.IPatrolTypeService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 巡查类型
+ */
+@Service
+public class PatrolTypeServiceImpl extends BaseServiceImpl<PatrolTypeMapper, PatrolType> implements IPatrolTypeService {
+
+	@Override
+	public IPage<PatrolType> selectPatrolType(IPage<PatrolType> page, PatrolType patrolType) {
+		return page.setRecords(baseMapper.selectPatrolType(patrolType));
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolInfoVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolInfoVO.java
new file mode 100644
index 0000000..9858a44
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolInfoVO.java
@@ -0,0 +1,22 @@
+package cn.gistack.sm.patrol.vo;
+
+import cn.gistack.sm.patrol.entity.PatrolInfo;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 巡查记录 vo
+ */
+@Data
+public class PatrolInfoVO extends PatrolInfo{
+    /**
+     * 检查日期开始时间
+     */
+    private String checkDateStart;
+
+    /**
+     * 检查日期结束时间
+     */
+    private String checkDateEnd;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolStatisticsVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolStatisticsVO.java
new file mode 100644
index 0000000..832b55d
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolStatisticsVO.java
@@ -0,0 +1,77 @@
+package cn.gistack.sm.patrol.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 人员巡查统计 VO
+ */
+@Data
+public class PatrolStatisticsVO implements Serializable {
+    //***************人员巡查报表字段
+    /**
+     * 用户id
+     */
+    private String userId;
+
+    /**
+     * 用户姓名
+     */
+    private String realname;
+
+    /**
+     * 用户机构
+     */
+    private String dept;
+
+
+    //*******************工程巡查报表字段
+
+    /**
+     * 工程id
+     */
+    private String projectId;
+
+    /**
+     * 工程名称
+     */
+    private String projectName;
+
+    /**
+     * 工程类型
+     */
+    private String projectType;
+
+    /**
+     * 工程区域
+     */
+    private String region;
+
+    //*******************通用字段
+    /**
+     * 巡查次数
+     */
+    private String patrolTimes;
+
+    /**
+     * 隐患数量
+     */
+    private String dangerMangeNumber;
+
+    /**
+     * 已处理
+     */
+    private String finished;
+
+    /**
+     * 处理中
+     */
+    private String processing;
+
+    /**
+     * 待处理
+     */
+    private String waiting;
+
+}

--
Gitblit v1.9.3