From 87c0cb5ed6477f1760034bcf1de608102b29e442 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Mon, 29 Jan 2024 18:34:07 +0800
Subject: [PATCH] 九小场所检查
---
src/main/java/org/springblade/modules/patrol/dto/PatrolGroupDTO.java | 17
src/main/java/org/springblade/common/utils/NodeTreeUtil.java | 27
src/main/java/org/springblade/modules/patrol/vo/PatrolGroupItemVO.java | 18
src/main/java/org/springblade/modules/patrol/service/IPatrolGroupItemService.java | 45 +
src/main/java/org/springblade/modules/patrol/service/IPatrolRecordService.java | 58 +
src/main/java/org/springblade/modules/patrol/mapper/PatrolRecordMapper.xml | 244 ++++++
src/main/java/org/springblade/modules/patrol/controller/PatrolGroupController.java | 178 +++++
src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java | 6
src/main/java/org/springblade/modules/place/entity/PlaceCheckEntity.java | 64 -
src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java | 26
src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml | 52 +
src/main/java/org/springblade/modules/patrol/service/IPatrolGroupService.java | 46 +
src/main/java/org/springblade/modules/patrol/dto/PatrolGroupItemDTO.java | 18
src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java | 9
src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupItemMapper.xml | 77 ++
src/main/java/org/springblade/modules/patrol/controller/PatrolRecordController.java | 171 ++++
src/main/java/org/springblade/modules/patrol/mapper/PatrolRecordMapper.java | 27
src/main/java/org/springblade/modules/patrol/dto/PatrolRecordDTO.java | 18
src/main/java/org/springblade/modules/patrol/entity/PatrolRecord.java | 75 ++
src/main/java/org/springblade/modules/patrol/vo/PatrolGroupVO.java | 22
src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java | 1
src/main/java/org/springblade/modules/patrol/vo/PatrolRecordVO.java | 72 ++
src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml | 47
src/main/java/org/springblade/modules/patrol/controller/PatrolGroupItemController.java | 122 +++
src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupMapper.xml | 212 ++++++
src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java | 1
src/main/java/org/springblade/modules/patrol/entity/PatrolGroup.java | 61 +
src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupMapper.java | 41 +
src/main/java/org/springblade/modules/patrol/entity/PatrolGroupItem.java | 70 ++
src/main/java/org/springblade/modules/patrol/service/impl/PatrolGroupServiceImpl.java | 71 ++
src/main/java/org/springblade/modules/article/vo/ArticleVO.java | 7
src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupItemMapper.java | 21
src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java | 10
src/main/java/org/springblade/modules/patrol/service/impl/PatrolRecordServiceImpl.java | 96 ++
src/main/java/org/springblade/modules/patrol/service/impl/PatrolGroupItemServiceImpl.java | 43 +
src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml | 27
36 files changed, 2,037 insertions(+), 63 deletions(-)
diff --git a/src/main/java/org/springblade/common/utils/NodeTreeUtil.java b/src/main/java/org/springblade/common/utils/NodeTreeUtil.java
index 7568fd1..c867cf4 100644
--- a/src/main/java/org/springblade/common/utils/NodeTreeUtil.java
+++ b/src/main/java/org/springblade/common/utils/NodeTreeUtil.java
@@ -3,6 +3,7 @@
import org.springblade.common.node.TreeIntegerNode;
import org.springblade.common.node.TreeLongNode;
import org.springblade.common.node.TreeStringNode;
+import org.springblade.core.tool.node.TreeNode;
import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVOTree;
import org.springblade.modules.house.vo.HouseTree;
@@ -117,4 +118,30 @@
}
return tree;
}
+
+
+ /**
+ * list 转 tree 组织机构
+ * @param parentList
+ * @param childrenList
+ * @return
+ */
+ public static List<TreeNode> getNodeTree(List<TreeNode> parentList, List<TreeNode> childrenList){
+ // 遍历
+ for (TreeNode parentNode : parentList) {
+ // 判断是否有孩子
+ if (parentNode.getHasChildren()) {
+ List<TreeNode> tree = new ArrayList<>();
+ // 遍历子集合
+ for (TreeNode childrenNode : childrenList) {
+ if (parentNode.getId().equals(childrenNode.getParentId())) {
+ tree.add(childrenNode);
+ }
+ }
+ // 设置孩子节点
+ parentNode.setChildren(tree);
+ }
+ }
+ return parentList;
+ }
}
diff --git a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
index 8ef1f6b..508f73e 100644
--- a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
+++ b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
@@ -180,45 +180,64 @@
</select>
<!--查询资讯分页列表信息-->
- <select id="selectArticlePage" resultType="org.springblade.modules.article.entity.Article">
- select * from jczz_article
+ <select id="selectArticlePage" resultType="org.springblade.modules.article.vo.ArticleVO">
+ SELECT
+ ja.*,
+ br.`village_name` communityName,
+ br.town_name streetName
+ FROM
+ jczz_article ja
+ LEFT JOIN jczz_district jd ON ja.district_id = jd.id
+ LEFT JOIN blade_region br on br.`code` = jd.community_code
where 1=1
- and is_deleted = 0
+ and ja.is_deleted = 0
+ <if test="article.propertyFlag!=null ">
+ and ja.district_id IS NOT NULL
+ <if test="article.communityName!=null and article.communityName!=''">
+ and br.`village_name` like concat('%',#{article.communityName},'%')
+ </if>
+
+ <if test="article.streetName!=null and article.streetName!=''">
+ and br.town_name like concat('%',#{article.streetName},'%')
+ </if>
+ </if>
+
+
<if test="article.title!=null and article.title!=''">
- and title like concat('%',#{article.title},'%')
+ and ja.title like concat('%',#{article.title},'%')
</if>
<if test="article.sourceName!=null and article.sourceName!=''">
- and source_name like concat('%',#{article.sourceName},'%')
+ and ja.source_name like concat('%',#{article.sourceName},'%')
</if>
<if test="article.startTime!=null and article.startTime!=''">
- and create_time>=#{article.startTime}
+ and ja.create_time>=#{article.startTime}
</if>
<if test="article.endTime!=null and article.endTime!=''">
- and create_time<=#{article.endTime}
+ and ja.create_time<=#{article.endTime}
</if>
<if test="article.publish!=null and article.publish!=''">
- and publish = #{article.publish}
+ and ja.publish = #{article.publish}
</if>
<if test="article.articleType!=null and article.articleType!=''">
- and article_type like concat('%',#{article.articleType},'%')
+ and ja.article_type like concat('%',#{article.articleType},'%')
</if>
- <if test="article.type != null ">and type = #{article.type}</if>
+ <if test="article.type != null ">and ja.type = #{article.type}</if>
<if test="article.keyword!=null and article.keyword!=''">
- AND CONCAT(title,source_name)
+ AND CONCAT(ja.title,ja.source_name)
LIKE CONCAT ('%', #{article.keyword},'%')
</if>
<if test="article.districtIdList != null and article.districtIdList.size() > 0 ">
- and (article_range like
+ and (ja.article_range like
<foreach collection="article.districtIdList" separator=" or article_range like" item="id">'%${id}%'
</foreach>
)
- and district_id in
+ and ja.district_id in
<foreach collection="article.districtIdList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
- order by id desc
+ order by ja.create_time desc
</select>
<!--查询资讯敏感词预警-->
diff --git a/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java b/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
index 3a72e67..1a6b910 100644
--- a/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
+++ b/src/main/java/org/springblade/modules/article/service/impl/ArticleServiceImpl.java
@@ -71,6 +71,7 @@
if (districtIds.size() == 0) {
return page.setRecords(new ArrayList<>());
}
+ article.setPropertyFlag(1);
}
if (userRole.contains("jdgly")) {
List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
diff --git a/src/main/java/org/springblade/modules/article/vo/ArticleVO.java b/src/main/java/org/springblade/modules/article/vo/ArticleVO.java
index 8818a14..d1ddabc 100644
--- a/src/main/java/org/springblade/modules/article/vo/ArticleVO.java
+++ b/src/main/java/org/springblade/modules/article/vo/ArticleVO.java
@@ -80,4 +80,11 @@
private List<String> districtIdList;
+ // 物业标记
+ private Integer propertyFlag;
+
+ private String streetName;
+
+ private String communityName;
+
}
diff --git a/src/main/java/org/springblade/modules/patrol/controller/PatrolGroupController.java b/src/main/java/org/springblade/modules/patrol/controller/PatrolGroupController.java
new file mode 100644
index 0000000..711c550
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/controller/PatrolGroupController.java
@@ -0,0 +1,178 @@
+package org.springblade.modules.patrol.controller;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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.springblade.modules.patrol.entity.PatrolGroup;
+import org.springblade.modules.patrol.service.IPatrolGroupService;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @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删除")
+ @PostMapping(value = "/delete")
+ public R delete(@RequestParam(name = "id", required = true) String id) {
+ return R.data(patrolGroupService.removeById(id));
+ }
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return
+ */
+ @ApiOperation(value = "巡查指标组-批量删除", notes = "巡查指标组-批量删除")
+ @PostMapping(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查询巡查指标组
+ *
+ * @return
+ */
+ @ApiOperation(value = "巡查指标组-根据工程id查询巡查指标组", notes = "巡查指标组-根据工程id查询巡查指标组")
+ @GetMapping(value = "/getPatrolGroupByProjectId")
+ public R queryTree(@RequestParam(name = "projectId", required = true) String projectId) {
+ List<PatrolGroup> list = patrolGroupService.getPatrolGroupByProjectId(projectId);
+ return R.data(list);
+ }
+
+ /**
+ * 获取全部指标组
+ *
+ * @return
+ */
+ @ApiOperation(value = "获取全部指标组", notes = "获取全部指标组")
+ @GetMapping(value = "/all")
+ public R getAll() {
+ List<PatrolGroup> list = patrolGroupService.list();
+ return R.data(list);
+ }
+
+ /**
+ * 查询巡查项树数据
+ * @return
+ */
+ @ApiOperation(value = "查询巡查项树数据", notes = "查询巡查项树数据")
+ @GetMapping(value = "/getPatrolGroupTree")
+ public R getPatrolGroupTree() {
+ return R.data(patrolGroupService.getPatrolGroupTree());
+ }
+
+ /**
+ * 根据项id查询组id
+ * @return
+ */
+ @ApiOperation(value = "根据项id查询组id", notes = "根据项id查询组id")
+ @GetMapping(value = "/getPatrolGroupByItemId")
+ public R getPatrolGroupByItemId(String itemIds) {
+ return R.data(patrolGroupService.getPatrolGroupByItemId(itemIds));
+ }
+
+ /**
+ * 根据任务id获取巡查项,可判断是否已选
+ */
+ @GetMapping(value = "/getAllPatrolGroupByTaskId")
+ public R getAllPatrolGroupByTaskId(String taskId) {
+ return R.data(patrolGroupService.getAllPatrolGroupByTaskId(taskId));
+ }
+
+ /**
+ * 根据任务id获取巡查组,返回组下的record
+ */
+ @GetMapping(value = "/getPatrolGroupDTO")
+ public R getPatrolGroupDTO(String taskId) {
+ return R.data(patrolGroupService.getPatrolGroupDTO(taskId));
+ }
+
+ /**
+ * 根据任务id获取巡查组
+ */
+ @GetMapping(value = "/getPatrolGroupByTaskId")
+ public R getPatrolGroupByTaskId(String taskId) {
+ return R.data(patrolGroupService.getPatrolGroupByTaskId(taskId));
+ }
+
+ /**
+ * 根据任务id获取巡查组,返回组下的record(web任务详情)
+ */
+ @GetMapping(value = "/getGroupDTORecord")
+ public R getGroupDTORecord(String taskId){
+ return R.data(patrolGroupService.getGroupDTORecord(taskId));
+ }
+}
diff --git a/src/main/java/org/springblade/modules/patrol/controller/PatrolGroupItemController.java b/src/main/java/org/springblade/modules/patrol/controller/PatrolGroupItemController.java
new file mode 100644
index 0000000..16bd29e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/controller/PatrolGroupItemController.java
@@ -0,0 +1,122 @@
+package org.springblade.modules.patrol.controller;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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.springblade.modules.patrol.entity.PatrolGroupItem;
+import org.springblade.modules.patrol.service.IPatrolGroupItemService;
+import org.springblade.modules.patrol.vo.PatrolGroupItemVO;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @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(PatrolGroupItemVO patrolGroupItem, Query query) {
+ IPage<PatrolGroupItemVO> pageList = patrolGroupItemService.selectPatrolConfig(Condition.getPage(query),patrolGroupItem);
+ return R.data(pageList);
+ }
+
+ /**
+ * 列表查询
+ *
+ * @param patrolGroupItem
+ * @return
+ */
+ @ApiOperation(value="巡查指标项目-列表查询", notes="巡查指标项目-列表查询")
+ @GetMapping(value = "/queryList")
+ public R queryList(PatrolGroupItemVO patrolGroupItem) {
+ List<PatrolGroupItemVO> 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删除")
+ @PostMapping(value = "/delete")
+ public R delete(@RequestParam(name="id",required=true) String id) {
+ return R.data(patrolGroupItemService.removeById(id));
+ }
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return
+ */
+ @ApiOperation(value="巡查指标项目-批量删除", notes="巡查指标项目-批量删除")
+ @PostMapping(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/src/main/java/org/springblade/modules/patrol/controller/PatrolRecordController.java b/src/main/java/org/springblade/modules/patrol/controller/PatrolRecordController.java
new file mode 100644
index 0000000..cfd4a6a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/controller/PatrolRecordController.java
@@ -0,0 +1,171 @@
+package org.springblade.modules.patrol.controller;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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.springblade.modules.patrol.entity.PatrolRecord;
+import org.springblade.modules.patrol.service.IPatrolRecordService;
+import org.springblade.modules.patrol.vo.PatrolGroupItemVO;
+import org.springblade.modules.patrol.vo.PatrolRecordVO;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+* @Description: 巡查记录
+*/
+@Slf4j
+@Api(tags="巡查记录")
+@RestController
+@RequestMapping("/patrol/patrolRecord")
+@AllArgsConstructor
+public class PatrolRecordController extends BladeController {
+ private IPatrolRecordService patrolRecordService;
+
+ /**
+ * 分页列表查询
+ */
+ @ApiOperation(value="巡查记录-分页列表查询", notes="巡查记录-分页列表查询")
+ @GetMapping(value = "/list")
+ public R queryPageList(PatrolRecordVO patrolRecord, Query query) {
+ IPage<PatrolRecord> pageList = patrolRecordService.selectPatrolRecord(Condition.getPage(query),patrolRecord);
+ return R.data(pageList);
+ }
+
+ /**
+ * 获取所有巡查记录
+ */
+ @ApiOperation(value="获取所有巡查类型", notes="获取所有巡查类型")
+ @GetMapping(value = "/all")
+ public R getAll(PatrolRecord patrolRecord){
+ List<PatrolRecord> list = patrolRecordService.list(Condition.getQueryWrapper(patrolRecord));
+ return R.data(list);
+ }
+
+ /**
+ * 添加
+ */
+ @ApiOperation(value="巡查记录-添加", notes="巡查记录-添加")
+ @PostMapping(value = "/add")
+ public R add(@RequestBody PatrolRecord patrolRecord) {
+ return R.data(patrolRecordService.save(patrolRecord));
+ }
+
+ /**
+ * 编辑
+ */
+ @ApiOperation(value="巡查记录-编辑", notes="巡查记录-编辑")
+ @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+ public R edit(@RequestBody PatrolRecord patrolRecord) {
+ return R.data(patrolRecordService.updateById(patrolRecord));
+ }
+
+ /**
+ * 通过id删除
+ *
+ * @param id
+ * @return
+ */
+ @ApiOperation(value="巡查记录-通过id删除", notes="巡查记录-通过id删除")
+ @PostMapping(value = "/delete")
+ public R delete(@RequestParam(name="id",required=true) String id) {
+ return R.data(patrolRecordService.removeById(id));
+ }
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return
+ */
+ @ApiOperation(value="巡查记录-批量删除", notes="巡查记录-批量删除")
+ @PostMapping(value = "/deleteBatch")
+ public R deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+ return R.data(patrolRecordService.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) {
+ PatrolRecordVO patrolRecordVO = patrolRecordService.getDetail(id);
+ return R.data(patrolRecordVO);
+ }
+
+ /**
+ * 通过taskId,itemsIds查询(用来判断是否完成任务)
+ * @return
+ */
+ @ApiOperation(value="巡查记录-通过taskId,itemsIds查询", notes="巡查记录-通过taskId,itemsIds查询")
+ @GetMapping(value = "/getPatrolRecordByTaskId")
+ public R getPatrolRecordByTaskId(String taskId,String itemIds) {
+ List<PatrolGroupItemVO> list = patrolRecordService.getPatrolRecordByTaskId(taskId,itemIds);
+ return R.data(list);
+ }
+
+ /**
+ * 通过taskId,itemsIds查询(用来查询巡查记录)
+ * @return
+ */
+ @ApiOperation(value="巡查记录-通过itemId查询", notes="巡查记录-通过itemId查询")
+ @GetMapping(value = "/getByTaskIdAndItemId")
+ public R getByTaskIdAndItemId(String taskId,String itemIds){
+ List<PatrolRecordVO> list = patrolRecordService.getByTaskIdAndItemId(taskId,itemIds);
+ return R.data(list);
+ }
+
+ /**
+ * 通过itemIds查询(用于巡查上报时的回显)
+ *
+ * @return
+ */
+ @ApiOperation(value="巡查指标项目-通过itemIds查询", notes="巡查指标项目-通过itemIds查询")
+ @GetMapping(value = "/getItemByItemIds")
+ public R getItemByItemIds(String itemIds,String groupId,String taskId){
+ List list = patrolRecordService.getItemByItemIds(itemIds,groupId,taskId);
+ return R.data(list);
+ }
+
+ /**
+ * 通过任务id和组id获取记录表中的数据,用于数据回显
+ *
+ * @return
+ */
+ @GetMapping(value = "/getByTaskIdAndGroupId")
+ public R getByTaskIdAndGroupId(PatrolRecordVO patrolRecordVO){
+ List<PatrolRecord> list = patrolRecordService.getByTaskIdAndGroupId(patrolRecordVO);
+ return R.data(list);
+ }
+
+ /**
+ * 记录更新并且新增数据(适用于app处理)
+ */
+ // @ApiOperation(value="巡查记录-记录更新并且新增数据", notes="巡查记录-记录更新并且新增数据")
+ // @RequestMapping(value = "/updateThenSaveBatch", method = {RequestMethod.PUT,RequestMethod.POST})
+ // public R updateThenSaveBatch(@RequestBody RecordBatchVO recordBatchVO){
+ // return R.data(patrolRecordService.updateThenSaveBatch(recordBatchVO));
+ // }
+
+ /**
+ * 获取历史记录
+ */
+ @ApiOperation(value="巡查记录-获取历史记录", notes="巡查记录-获取历史记录")
+ @RequestMapping(value = "/getHistoryRecord", method = {RequestMethod.PUT,RequestMethod.POST})
+ public R getHistoryRecord(PatrolRecordVO patrolRecordVO){
+ return R.data(patrolRecordService.getHistoryRecord(patrolRecordVO));
+ }
+
+}
diff --git a/src/main/java/org/springblade/modules/patrol/dto/PatrolGroupDTO.java b/src/main/java/org/springblade/modules/patrol/dto/PatrolGroupDTO.java
new file mode 100644
index 0000000..417d956
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/dto/PatrolGroupDTO.java
@@ -0,0 +1,17 @@
+package org.springblade.modules.patrol.dto;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import org.springblade.modules.patrol.entity.PatrolGroup;
+
+/**
+ * 巡查指标组对象 jczz_patrol_group
+ *
+ * @author ${context.author}
+ * @date 2024-01-29 13:40:49
+ */
+@ApiModel(value = "PatrolGroupDTO对象")
+@Data
+public class PatrolGroupDTO extends PatrolGroup {
+
+}
diff --git a/src/main/java/org/springblade/modules/patrol/dto/PatrolGroupItemDTO.java b/src/main/java/org/springblade/modules/patrol/dto/PatrolGroupItemDTO.java
new file mode 100644
index 0000000..8a3845c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/dto/PatrolGroupItemDTO.java
@@ -0,0 +1,18 @@
+package org.springblade.modules.patrol.dto;
+
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import org.springblade.modules.patrol.entity.PatrolGroupItem;
+
+/**
+ * 巡查指标项目对象 jczz_patrol_group_item
+ *
+ * @author ${context.author}
+ * @date 2024-01-29 13:40:49
+ */
+@ApiModel(value = "PatrolGroupItemDTO对象")
+@Data
+public class PatrolGroupItemDTO extends PatrolGroupItem {
+
+}
diff --git a/src/main/java/org/springblade/modules/patrol/dto/PatrolRecordDTO.java b/src/main/java/org/springblade/modules/patrol/dto/PatrolRecordDTO.java
new file mode 100644
index 0000000..3dfa9dc
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/dto/PatrolRecordDTO.java
@@ -0,0 +1,18 @@
+package org.springblade.modules.patrol.dto;
+
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import org.springblade.modules.patrol.entity.PatrolRecord;
+
+/**
+ * 巡查记录表对象 jczz_patrol_record
+ *
+ * @author ${context.author}
+ * @date 2024-01-29 13:40:49
+ */
+@ApiModel(value = "PatrolRecordDTO对象")
+@Data
+public class PatrolRecordDTO extends PatrolRecord {
+
+}
diff --git a/src/main/java/org/springblade/modules/patrol/entity/PatrolGroup.java b/src/main/java/org/springblade/modules/patrol/entity/PatrolGroup.java
new file mode 100644
index 0000000..d7c7b0c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/entity/PatrolGroup.java
@@ -0,0 +1,61 @@
+package org.springblade.modules.patrol.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 巡查指标组对象 jczz_patrol_group
+ *
+ * @author ${context.author}
+ * @date 2024-01-29 13:40:49
+ */
+@ApiModel(value = "PatrolGroup对象" , description = "巡查指标组")
+@Data
+@TableName("jczz_patrol_group")
+public class PatrolGroup implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+
+
+ /** 主键 */
+ @ApiModelProperty(value = "主键ID", example = "")
+ @TableId(value = "id", type = IdType.ASSIGN_ID)
+ private Long id;
+
+ /** 名称 */
+ @ApiModelProperty(value = "名称", example = "")
+ @TableField("name")
+ private String name;
+
+ /** 创建人 */
+ @ApiModelProperty(value = "创建人", example = "")
+ @TableField("create_user")
+ private Long createUser;
+
+ /** 创建时间 */
+ @ApiModelProperty(value = "创建时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("create_time")
+ private Date createTime;
+
+ /** 修改时间 */
+ @ApiModelProperty(value = "修改时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("update_time")
+ private Date updateTime;
+
+ /** 是否已删除 0: 否 1:是 */
+ @ApiModelProperty(value = "是否已删除 0: 否 1:是", example = "")
+ @TableField("is_deleted")
+ private Integer isDeleted;
+}
diff --git a/src/main/java/org/springblade/modules/patrol/entity/PatrolGroupItem.java b/src/main/java/org/springblade/modules/patrol/entity/PatrolGroupItem.java
new file mode 100644
index 0000000..3e49593
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/entity/PatrolGroupItem.java
@@ -0,0 +1,70 @@
+package org.springblade.modules.patrol.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 巡查指标项目对象 jczz_patrol_group_item
+ *
+ * @author ${context.author}
+ * @date 2024-01-29 13:40:49
+ */
+@ApiModel(value = "PatrolGroupItem对象" , description = "巡查指标项目")
+@Data
+@TableName("jczz_patrol_group_item")
+public class PatrolGroupItem implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+
+ /** 主键 */
+ @ApiModelProperty(value = "主键ID", example = "")
+ @TableId(value = "id", type = IdType.ASSIGN_ID)
+ private Long id;
+
+ /** 内容组id */
+ @ApiModelProperty(value = "内容组id", example = "")
+ @TableField("group_id")
+ private Integer groupId;
+
+ /** 名称 */
+ @ApiModelProperty(value = "名称", example = "")
+ @TableField("items_name")
+ private String itemsName;
+
+ /** 名称说明 */
+ @ApiModelProperty(value = "名称说明", example = "")
+ @TableField("description")
+ private String description;
+
+ /** 创建人 */
+ @ApiModelProperty(value = "创建人", example = "")
+ @TableField("create_user")
+ private Long createUser;
+
+ /** 创建时间 */
+ @ApiModelProperty(value = "创建时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("create_time")
+ private Date createTime;
+
+ /** 修改时间 */
+ @ApiModelProperty(value = "修改时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("update_time")
+ private Date updateTime;
+
+ /** 是否已删除 0: 否 1:是 */
+ @ApiModelProperty(value = "是否已删除 0: 否 1:是", example = "")
+ @TableField("is_deleted")
+ private Integer isDeleted;
+}
diff --git a/src/main/java/org/springblade/modules/patrol/entity/PatrolRecord.java b/src/main/java/org/springblade/modules/patrol/entity/PatrolRecord.java
new file mode 100644
index 0000000..4c62bc2
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/entity/PatrolRecord.java
@@ -0,0 +1,75 @@
+package org.springblade.modules.patrol.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 巡查记录表对象 jczz_patrol_record
+ *
+ * @author ${context.author}
+ * @date 2024-01-29 13:40:49
+ */
+@ApiModel(value = "PatrolRecord对象" , description = "巡查记录表")
+@Data
+@TableName("jczz_patrol_record")
+public class PatrolRecord implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+
+
+ /** 主键 */
+ @ApiModelProperty(value = "主键ID", example = "")
+ @TableId(value = "id", type = IdType.ASSIGN_ID)
+ private Long id;
+
+ /** 内容项id */
+ @ApiModelProperty(value = "内容项id", example = "")
+ @TableField("item_id")
+ private Integer itemId;
+
+ /** 场所检查id */
+ @ApiModelProperty(value = "场所检查id", example = "")
+ @TableField("place_check_id")
+ private Long placeCheckId;
+
+ /** 是否存在隐患 0:存在 1 不存在 */
+ @ApiModelProperty(value = "是否存在隐患 0:存在 1 不存在", example = "")
+ @TableField("state")
+ private Integer state;
+
+ /** 备注 */
+ @ApiModelProperty(value = "备注", example = "")
+ @TableField("remark")
+ private String remark;
+
+ /** 照片 */
+ @ApiModelProperty(value = "照片", example = "")
+ @TableField("image_urls")
+ private String imageUrls;
+
+ /** 创建人 */
+ @ApiModelProperty(value = "创建人", example = "")
+ @TableField("create_user")
+ private Long createUser;
+
+ /** 修改时间 */
+ @ApiModelProperty(value = "修改时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("create_time")
+ private Date createTime;
+
+ /** 是否删除 0: 否 1:是 */
+ @ApiModelProperty(value = "是否删除 0: 否 1:是", example = "")
+ @TableField("is_deleted")
+ private Integer isDeleted;
+}
diff --git a/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupItemMapper.java b/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupItemMapper.java
new file mode 100644
index 0000000..39e23d9
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupItemMapper.java
@@ -0,0 +1,21 @@
+package org.springblade.modules.patrol.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.patrol.entity.PatrolGroupItem;
+import org.springblade.modules.patrol.vo.PatrolGroupItemVO;
+
+import java.util.List;
+
+/**
+ * @Description: 巡查指标项目
+ */
+public interface PatrolGroupItemMapper extends BaseMapper<PatrolGroupItem> {
+
+ List<PatrolGroupItemVO> selectPatrolGroupItemList(@Param("patrolGroupItem") PatrolGroupItemVO patrolGroupItem);
+
+ PatrolGroupItemVO getPatrolGroupItemVOById(@Param("id") Long id);
+
+ List<PatrolGroupItem> getItemByItemIds(@Param("itemIds") String itemIds, @Param("groupId") String groupId);
+}
diff --git a/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupItemMapper.xml b/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupItemMapper.xml
new file mode 100644
index 0000000..e5b09f1
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupItemMapper.xml
@@ -0,0 +1,77 @@
+<?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.patrol.mapper.PatrolGroupItemMapper">
+
+ <select id="selectPatrolGroupItemList" resultType="org.springblade.modules.patrol.vo.PatrolGroupItemVO">
+ SELECT
+ spgi.id,spgi.group_id,spgi.items_name,spgi.description,
+ spg.name as groupName
+ FROM jczz_patrol_group_ITEM spgi
+ left join jczz_patrol_group spg on spg.id = spgi.group_id
+ WHERE spgi.is_deleted = 0
+ <if test="patrolGroupItem.groupId != null and patrolGroupItem.groupId != '' ">
+ and spgi.group_id = #{patrolGroupItem.groupId}
+ </if>
+ <if test="patrolGroupItem.itemsName !=null and patrolGroupItem.itemsName !=''">
+ AND spgi.items_name LIKE CONCAT('%',#{patrolGroupItem.itemsName},'%')
+ </if>
+ <if test="patrolGroupItem.description !=null and patrolGroupItem.description !=''">
+ AND spgi.description LIKE CONCAT('%',#{patrolGroupItem.description},'%')
+ </if>
+ </select>
+ <select id="getPatrolGroupItemVOById" resultType="org.springblade.modules.patrol.vo.PatrolGroupItemVO">
+ SELECT item.id,item.items_name,item.description,item.group_id,b.name groupName
+ FROM jczz_patrol_group_item item
+ LEFT JOIN sm_patrol_group b ON b.id = item.group_id
+ WHERE item.is_deleted = 0
+ AND item.id = #{id}
+ </select>
+ <select id="getItemByItemIds" resultType="org.springblade.modules.patrol.entity.PatrolGroupItem">
+ SELECT ID,GROUP_ID,ITEMS_NAME,DESCRIPTION FROM jczz_patrol_group_ITEM
+ WHERE ID IN
+ <foreach collection="itemIds.split(',')" item="item" index="index" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ AND is_deleted = 0 AND group_id = #{groupId}
+ </select>
+
+<!-- <resultMap type="org.springblade.modules.dto.PatrolGroupDTO" id="PatrolGroupDTOResult">-->
+<!-- <result property="id" column="id" />-->
+<!-- <result property="name" column="name" />-->
+<!-- <result property="createUser" column="create_user" />-->
+<!-- <result property="createTime" column="create_time" />-->
+<!-- <result property="updateTime" column="update_time" />-->
+<!-- <result property="isDeleted" column="is_deleted" />-->
+<!-- </resultMap>-->
+
+ <sql id="selectPatrolGroup">
+ select
+ id,
+ name,
+ create_user,
+ create_time,
+ update_time,
+ is_deleted
+ from
+ jczz_patrol_group
+ </sql>
+
+<!-- <select id="selectPatrolGroupById" parameterType="long" resultMap="PatrolGroupDTOResult">-->
+<!-- <include refid="selectPatrolGroup"/>-->
+<!-- where-->
+<!-- id = #{id}-->
+<!-- </select>-->
+
+<!-- <select id="selectPatrolGroupList" parameterType="org.springblade.modules.dto.PatrolGroupDTO" resultMap="PatrolGroupDTOResult">-->
+<!-- <include refid="selectPatrolGroup"/>-->
+<!-- <where>-->
+<!-- <if test="id != null "> and id = #{id}</if>-->
+<!-- <if test="name != null and name != ''"> and name = #{name}</if>-->
+<!-- <if test="createUser != null "> and create_user = #{createUser}</if>-->
+<!-- <if test="createTime != null "> and create_time = #{createTime}</if>-->
+<!-- <if test="updateTime != null "> and update_time = #{updateTime}</if>-->
+<!-- <if test="isDeleted != null "> and is_deleted = #{isDeleted}</if>-->
+<!-- </where>-->
+<!-- </select>-->
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupMapper.java b/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupMapper.java
new file mode 100644
index 0000000..b612278
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupMapper.java
@@ -0,0 +1,41 @@
+package org.springblade.modules.patrol.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.core.tool.node.TreeNode;
+import org.springblade.modules.patrol.dto.PatrolGroupDTO;
+import org.springblade.modules.patrol.entity.PatrolGroup;
+import org.springblade.modules.patrol.vo.PatrolGroupVO;
+
+import java.util.List;
+
+/**
+ * @Description: 巡查指标组
+ */
+public interface PatrolGroupMapper extends BaseMapper<PatrolGroup> {
+
+ List<PatrolGroup> getPatrolGroupByProjectId(@Param("projectId") String projectId);
+
+ /**
+ * 查询巡查项树数据
+ * @return
+ */
+ List<TreeNode> getPatrolGroupTree();
+
+ /**
+ * 查询巡查项树数据
+ * @return
+ */
+ List<TreeNode> getPatrolGroupItemTree();
+
+ List<PatrolGroup> getPatrolGroupByItemId(@Param("itemIds") String itemIds);
+
+ List<PatrolGroupVO> getAllPatrolGroupByTaskId(@Param("taskId") String taskId);
+
+ List<PatrolGroupDTO> getPatrolGroupDTO(@Param("taskId") String taskId);
+
+ List<PatrolGroup> getPatrolGroupByTaskId(String taskId);
+
+ List<PatrolGroupDTO> getGroupDTORecord(@Param("taskId")String taskId);
+}
diff --git a/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupMapper.xml b/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupMapper.xml
new file mode 100644
index 0000000..85450d6
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/mapper/PatrolGroupMapper.xml
@@ -0,0 +1,212 @@
+<?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.patrol.mapper.PatrolGroupMapper">
+
+ <select id="getPatrolGroupByProjectId" resultType="org.springblade.modules.patrol.entity.PatrolGroup">
+ SELECT g.id,g.name
+ FROM jczz_patrol_group g
+ WHERE g.is_deleted = 0
+ AND g.project_id = #{projectId}
+ </select>
+
+ <!--查询巡查项树数据-->
+<!-- <select id="getPatrolGroupTree" resultType="org.springblade.core.tool.node.TreeNode" >-->
+<!-- (-->
+<!-- SELECT-->
+<!-- spg.id,-->
+<!-- spg.name,-->
+<!-- 0 as parentId,-->
+<!-- (-->
+<!-- SELECT-->
+<!-- CASE WHEN count(1) > 0 THEN 1 ELSE 0 END-->
+<!-- FROM-->
+<!-- jczz_patrol_group_item-->
+<!-- WHERE-->
+<!-- group_id = spg.id and is_deleted = 0-->
+<!-- ) AS "has_children"-->
+<!-- FROM jczz_patrol_group spg where spg.is_deleted = 0-->
+<!-- )-->
+<!-- union all-->
+<!-- (-->
+<!-- SELECT-->
+<!-- spgi.id,-->
+<!-- spgi.items_name as name,-->
+<!-- spgi.group_id as parentId,-->
+<!-- false AS hasChildren-->
+<!-- FROM jczz_patrol_group_item spgi where spgi.is_deleted = 0-->
+<!-- )-->
+<!-- </select>-->
+
+
+ <!--查询巡查项树数据-->
+ <select id="getPatrolGroupTree" resultType="org.springblade.core.tool.node.TreeNode" >
+ SELECT
+ spg.id,
+ spg.name as title,
+ 0 as parentId,
+ (
+ SELECT
+ CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
+ FROM
+ jczz_patrol_group_item
+ WHERE
+ group_id = spg.id and is_deleted = 0
+ ) AS "has_children"
+ FROM jczz_patrol_group spg where spg.is_deleted = 0
+ </select>
+
+ <!--查询巡查项树数据-->
+ <select id="getPatrolGroupItemTree" resultType="org.springblade.core.tool.node.TreeNode" >
+ SELECT
+ spgi.id,
+ spgi.items_name as title,
+ spgi.group_id as parentId,
+ false AS hasChildren
+ FROM jczz_patrol_group_item spgi where spgi.is_deleted = 0
+ </select>
+ <select id="getPatrolGroupByItemId" resultType="org.springblade.modules.patrol.entity.PatrolGroup">
+ SELECT distinct b.ID,b.NAME FROM
+ (
+ SELECT ID,GROUP_ID FROM SM_PATROL_GROUP_ITEM WHERE ID IN
+ <foreach collection="itemIds.split(',')" item="item" index="index" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ ) a ,SM_PATROL_GROUP b
+ WHERE b.is_deleted = 0 AND a.group_id = b.id
+ </select>
+ <select id="getAllPatrolGroupByTaskId" resultType="org.springblade.modules.patrol.vo.PatrolGroupVO">
+ SELECT G.*,IF(C.GROUP_ID,1,2) isSelect,IFNULL(C.problemCount,0) problemCount FROM SM_PATROL_GROUP G
+ LEFT JOIN (
+ <!--获取巡查记录表中的已选项,并获取问题数量-->
+ SELECT DISTINCT I.GROUP_ID,D.problemCount FROM SM_PATROL_RECORD R
+ INNER JOIN SM_PATROL_GROUP_ITEM I ON R.ITEM_ID = I.ID
+ LEFT JOIN (
+ SELECT I.GROUP_ID,COUNT(*) problemCount FROM SM_PATROL_RECORD R
+ INNER JOIN SM_PATROL_GROUP_ITEM I ON R.ITEM_ID = I.ID
+ WHERE R.IS_DELETED = 0 AND R.TASK_ID = #{taskId}
+ AND R.STATUS = 2
+ AND R.SOLUTION = 2
+ AND R.state = 0
+ GROUP BY I.GROUP_ID
+ )D ON D.GROUP_ID = I.GROUP_ID
+ WHERE R.IS_DELETED = 0 AND R.TASK_ID = #{taskId}
+ )C ON C.GROUP_ID = G.ID
+ WHERE IS_DELETED = 0
+ ORDER BY G.CREATE_TIME
+ </select>
+
+ <resultMap id="patrolGroupDTO" type="org.springblade.modules.patrol.dto.PatrolGroupDTO">
+ <id property="id" column="id"/>
+ <result property="name" column="gname"/>
+ <collection property="patrolRecordVOList" javaType="java.util.List" ofType="org.springblade.modules.patrol.vo.PatrolRecordVO">
+ <result property="id" column="rId"/>
+ <result property="videos" column="videos" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+ <result property="images" column="images" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+ <result property="status" column="status"/>
+ <result property="isDeleted" column="isDeleted"/>
+ <result property="itemId" column="itemId"/>
+ <result property="itemsName" column="itemsName"/>
+ <result property="taskId" column="taskId"/>
+ <result property="solution" column="solution"/>
+ <result property="content" column="content"/>
+ </collection>
+ </resultMap>
+
+
+ <select id="getPatrolGroupDTO" resultMap="patrolGroupDTO">
+ SELECT G.ID,
+ G.NAME AS gname,
+ R.ID AS rId,
+ R.VIDEOS,
+ R.IMAGES,
+ R.STATUS,
+ R.IS_DELETED,
+ R.ITEM_ID AS itemId,
+ I.ITEMS_NAME AS itemsName,
+ R.TASK_ID AS taskId ,
+ R.SOLUTION,
+ R.CONTENT
+ FROM SM_PATROL_GROUP G
+ LEFT JOIN SM_PATROL_GROUP_ITEM I ON I.GROUP_ID = G.ID
+ LEFT JOIN SM_PATROL_RECORD R ON R.ITEM_ID = I.ID
+ WHERE G.IS_DELETED = 0
+ AND R.STATUS = 2 AND R.state = 0 AND R.SOLUTION = 2
+ AND R.TASK_ID = #{taskId}
+ </select>
+
+
+ <select id="getPatrolGroupByTaskId" resultType="org.springblade.modules.patrol.entity.PatrolGroup">
+ SELECT G.ID,G.NAME FROM SM_PATROL_GROUP G
+ LEFT JOIN SM_PATROL_GROUP_ITEM I ON I.GROUP_ID = G.ID
+ LEFT JOIN SM_PATROL_REPORT R ON R.ITEM_ID = I.ID
+ WHERE G.IS_DELETED = 0
+ AND R.STATUS = 2
+ AND R.TASK_ID = #{taskId}
+ </select>
+ <select id="getGroupDTORecord" resultMap="patrolGroupDTO">
+ SELECT G.ID,
+ G.NAME AS gname,
+ R.ID AS rId,
+ R.VIDEOS,
+ R.IMAGES,
+ R.STATUS,
+ R.IS_DELETED,
+ R.ITEM_ID AS itemId,
+ I.ITEMS_NAME AS itemsName,
+ R.TASK_ID AS taskId ,
+ R.SOLUTION,
+ R.CONTENT
+ FROM SM_PATROL_GROUP G
+ LEFT JOIN SM_PATROL_GROUP_ITEM I ON I.GROUP_ID = G.ID
+ LEFT JOIN SM_PATROL_RECORD R ON R.ITEM_ID = I.ID
+ WHERE G.IS_DELETED = 0
+ AND R.STATUS = 2
+ AND R.TASK_ID = #{taskId}
+ </select>
+
+
+<!-- <resultMap type="org.springblade.modules.dto.PatrolGroupItemDTO" id="PatrolGroupItemDTOResult">-->
+<!-- <result property="id" column="id" />-->
+<!-- <result property="groupId" column="group_id" />-->
+<!-- <result property="itemsName" column="items_name" />-->
+<!-- <result property="description" column="description" />-->
+<!-- <result property="createUser" column="create_user" />-->
+<!-- <result property="createTime" column="create_time" />-->
+<!-- <result property="updateTime" column="update_time" />-->
+<!-- <result property="isDeleted" column="is_deleted" />-->
+<!-- </resultMap>-->
+
+ <sql id="selectPatrolGroupItem">
+ select
+ id,
+ group_id,
+ items_name,
+ description,
+ create_user,
+ create_time,
+ update_time,
+ is_deleted
+ from
+ jczz_patrol_group_item
+ </sql>
+
+<!-- <select id="selectPatrolGroupItemById" parameterType="long" resultMap="PatrolGroupItemDTOResult">-->
+<!-- <include refid="selectPatrolGroupItem"/>-->
+<!-- where-->
+<!-- id = #{id}-->
+<!-- </select>-->
+
+<!-- <select id="selectPatrolGroupItemList" parameterType="org.springblade.modules.dto.PatrolGroupItemDTO" resultMap="PatrolGroupItemDTOResult">-->
+<!-- <include refid="selectPatrolGroupItem"/>-->
+<!-- <where>-->
+<!-- <if test="id != null "> and id = #{id}</if>-->
+<!-- <if test="groupId != null "> and group_id = #{groupId}</if>-->
+<!-- <if test="itemsName != null and itemsName != ''"> and items_name = #{itemsName}</if>-->
+<!-- <if test="description != null and description != ''"> and description = #{description}</if>-->
+<!-- <if test="createUser != null "> and create_user = #{createUser}</if>-->
+<!-- <if test="createTime != null "> and create_time = #{createTime}</if>-->
+<!-- <if test="updateTime != null "> and update_time = #{updateTime}</if>-->
+<!-- <if test="isDeleted != null "> and is_deleted = #{isDeleted}</if>-->
+<!-- </where>-->
+<!-- </select>-->
+</mapper>
diff --git a/src/main/java/org/springblade/modules/patrol/mapper/PatrolRecordMapper.java b/src/main/java/org/springblade/modules/patrol/mapper/PatrolRecordMapper.java
new file mode 100644
index 0000000..fa5e3ce
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/mapper/PatrolRecordMapper.java
@@ -0,0 +1,27 @@
+package org.springblade.modules.patrol.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.patrol.dto.PatrolGroupDTO;
+import org.springblade.modules.patrol.entity.PatrolRecord;
+import org.springblade.modules.patrol.vo.PatrolRecordVO;
+
+import java.util.List;
+
+public interface PatrolRecordMapper extends BaseMapper<PatrolRecord> {
+ List<PatrolRecord> selectPatrolRecord(IPage<PatrolRecord> page, @Param("patrolRecord") PatrolRecordVO patrolRecord);
+
+ PatrolRecordVO getDetail(@Param("id") String id);
+
+ PatrolRecord selectPatrolRecordByTaskIdAndItemId(@Param("taskId") String taskId, @Param("itemId") Long itemId);
+
+ List<PatrolRecordVO> getByTaskIdAndItemId(@Param("taskId") String taskId, @Param("itemIds") String itemIds);
+
+ PatrolRecordVO getPatrolRecordVO(@Param("itemId") Long itemId, @Param("taskId") String taskId);
+
+ List<PatrolRecord> getByTaskIdAndGroupId(@Param("vo") PatrolRecordVO patrolRecordVO);
+
+ List<PatrolGroupDTO> getHistoryRecord(@Param("vo") PatrolRecordVO patrolRecordVO);
+}
diff --git a/src/main/java/org/springblade/modules/patrol/mapper/PatrolRecordMapper.xml b/src/main/java/org/springblade/modules/patrol/mapper/PatrolRecordMapper.xml
new file mode 100644
index 0000000..c0e6225
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/mapper/PatrolRecordMapper.xml
@@ -0,0 +1,244 @@
+<?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.patrol.mapper.PatrolRecordMapper">
+
+ <resultMap id="selectPatrolRecordList" type="org.springblade.modules.patrol.vo.PatrolRecordVO">
+ <result column="id" property="id"/>
+ <result column="patrol_type" property="patrolType"/>
+ <result column="device_ids" property="deviceIds"/>
+ <result column="images" property="images"
+ typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+ <result column="videos" property="videos"
+ typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+ <result column="content" property="content"/>
+ <result column="status" property="status"/>
+ <result column="item_id" property="itemId"/>
+ <result column="task_id" property="taskId"/>
+ <result column="patrol_route" property="patrolRoute"/>
+ <result column="taskRoute" property="taskRoute"/>
+ <result property="groupName" column="groupName"/>
+ <result property="groupId" column="groupId"/>
+ <result property="itemsName" column="itemsName"/>
+ <result property="description" column="description"/>
+ <result property="patrolTime" column="update_time"/>
+ <result property="phone" column="phone"/>
+ <result property="toUserId" column="create_user"/>
+ <result property="toUserName" column="real_name"/>
+ <result property="taskName" column="taskName"/>
+
+ <result column="create_user" property="createUser"/>
+ <result column="create_dept" property="createDept"/>
+
+ <result column="update_time" property="updateTime"/>
+
+ </resultMap>
+
+ <select id="selectPatrolRecord" resultMap="selectPatrolRecordList">
+ SELECT
+ record.id,record.patrol_type,record.device_ids,record.images,record.videos,record.content,record.status,record.item_id,record.task_id,record.patrol_route,record.create_time,record.update_time,record.solution,
+ task.route_coordinates taskRoute,task.title taskName,
+ item.items_name itemsName,item.description,
+ u.real_name,res."name" resName,res."guid" resGuid,res."res_reg_code" resRegCode,res."res_loc" resLoc
+ FROM SM_PATROL_RECORD record
+ LEFT JOIN sm_patrol_type type ON type.id = record.patrol_type
+ LEFT JOIN sm_patrol_task task ON task.id = record.task_id
+ LEFT JOIN sjzt_md."att_res_base" res ON task.project_id = res."guid"
+ LEFT JOIN jczz_patrol_group_item item ON item.id = record.item_id
+ LEFT JOIN BLADE_USER u ON u.id = record.create_user
+ WHERE record.is_deleted = 0
+ <if test="patrolRecord.status !=null and patrolRecord.status != '' ">
+ AND record.status = #{patrolRecord.status}
+ </if>
+ <if test="patrolRecord.patrolType !=null and patrolRecord.patrolType !=''">
+ AND record.patrolType = #{patrolRecord.patrolType}
+ </if>
+ <if test="patrolRecord.taskId !=null and patrolRecord.taskId !=''">
+ AND record.task_id = #{patrolRecord.taskId}
+ </if>
+ <if test="patrolRecord.resName != null and patrolRecord.resName !=''">
+ AND res."name" LIKE CONCAT('%',#{patrolRecord.resName},'%')
+ </if>
+ ORDER BY record.create_time DESC
+ </select>
+ <select id="getDetail" resultMap="selectPatrolRecordList">
+ SELECT
+ record.id,record.patrol_type,record.images,record.videos,record.content,record.status,record.item_id,record.content,record.task_id,record.patrol_route,record.create_user,record.solution,
+ item.description,
+ u.phone
+ FROM SM_PATROL_RECORD record
+ LEFT JOIN sm_patrol_type type ON type.id = record.patrol_type
+ LEFT JOIN sm_patrol_task task ON task.id = record.task_id
+ LEFT JOIN jczz_patrol_group_item item ON item.id = record.item_id
+ LEFT JOIN BLADE_USER u ON u.id = record.create_user
+ WHERE record.is_deleted = 0
+ AND record.id =#{id}
+ </select>
+ <select id="selectPatrolRecordByTaskIdAndItemId" resultType="org.springblade.modules.patrol.entity.PatrolRecord">
+ SELECT id FROM sm_patrol_record WHERE is_deleted = 0 AND task_id = #{taskId} AND item_id = #{itemId}
+ </select>
+
+ <select id="getByTaskIdAndItemId" resultMap="selectPatrolRecordList">
+ SELECT r.id,r.patrol_type,r.device_ids,r.images,r.videos,r.content,r.status,r.item_id,r.task_id,r.update_time,r.solution,
+ c.name groupName,c.id groupId,c.items_name itemsName,c.description,
+ u.real_name
+ FROM SM_PATROL_RECORD r
+ LEFT JOIN
+ (SELECT g.ID,g.NAME,a.id itemId, a.items_name,description FROM
+ (
+ SELECT ID,GROUP_ID,items_name,description FROM SM_PATROL_GROUP_ITEM WHERE ID IN
+ <foreach collection="itemIds.split(',')" item="item" index="index" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ ) a ,SM_PATROL_GROUP g
+ WHERE g.is_deleted = 0 AND a.group_id = g.id) c
+
+ ON c.itemId = r.item_id
+ LEFT JOIN SM_PATROL_TASK t ON t.id = r.task_id
+ LEFT JOIN BLADE_USER u ON u.id = r.create_user
+ where r.task_id = #{taskId}
+ </select>
+ <select id="getPatrolRecordVO" resultMap="selectPatrolRecordList">
+ SELECT r.id,r.patrol_type,r.device_ids,r.images,r.videos,r.content,r.status,r.item_id,r.task_id,r.create_user,r.create_dept,r.solution,
+ i.items_name itemsName,i.description
+ FROM sm_patrol_record r
+ LEFT JOIN jczz_patrol_group_item i ON i.id = r.item_id
+ WHERE r.is_deleted = 0
+ AND r.item_id = #{itemId}
+ AND r.task_id = #{taskId}
+ </select>
+ <select id="getByTaskIdAndGroupId" resultMap="selectPatrolRecordList">
+ SELECT
+ c.group_id AS groupId,
+ r.id,
+ r.patrol_type,
+ r.device_ids,
+ r.images,
+ r.videos,
+ r.content,
+ r.status,
+ r.item_id,
+ r.task_id,
+ r.create_user,
+ r.create_dept,
+ r.solution,
+ C.items_name AS itemsName,
+ C.description
+ FROM SM_PATROL_RECORD r
+ RIGHT JOIN (
+ SELECT B.ID,B.GROUP_ID,B.ITEMS_NAME,B.DESCRIPTION
+ FROM SM_PATROL_GROUP A
+ INNER JOIN SM_PATROL_GROUP_ITEM B ON A.ID = B.GROUP_ID
+ WHERE 1=1
+ <if test="vo.groupId != null and vo.groupId !=''">
+ AND B.GROUP_ID = #{vo.groupId}
+ </if>
+ ORDER BY B.GROUP_ID
+ )C ON C.ID = r.ITEM_ID
+ WHERE r.state = 0
+ <if test="vo.taskId != null and vo.taskId !=''">
+ AND r.task_id = #{vo.taskId}
+ </if>
+ <if test="vo.flowTaskId != null and vo.flowTaskId !=''">
+ AND r.flow_task_id = #{vo.flowTaskId}
+ </if>
+ </select>
+
+ <resultMap id="patrolGroupDTO" type="org.springblade.modules.patrol.dto.PatrolGroupDTO">
+ <id property="id" column="id"/>
+ <result property="name" column="gname"/>
+ <collection property="patrolRecordVOList" javaType="java.util.List" ofType="org.springblade.modules.patrol.vo.PatrolRecordVO">
+ <result property="id" column="rId"/>
+ <result property="videos" column="videos" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+ <result property="images" column="images" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+ <result property="status" column="status"/>
+ <result property="isDeleted" column="isDeleted"/>
+ <result property="itemId" column="itemId"/>
+ <result property="itemsName" column="itemsName"/>
+ <result property="taskId" column="taskId"/>
+ <result property="solution" column="solution"/>
+ <result property="content" column="content"/>
+ </collection>
+ </resultMap>
+
+ <select id="getHistoryRecord" resultMap="patrolGroupDTO">
+
+ SELECT G.ID,
+ G.NAME AS gname,
+ R.ID AS rId,
+ R.VIDEOS,
+ R.IMAGES,
+ R.STATUS,
+ R.IS_DELETED,
+ R.ITEM_ID AS itemId,
+ I.ITEMS_NAME AS itemsName,
+ R.TASK_ID AS taskId ,
+ R.SOLUTION,
+ R.CONTENT
+ FROM SM_PATROL_GROUP G
+ LEFT JOIN SM_PATROL_GROUP_ITEM I ON I.GROUP_ID = G.ID
+ LEFT JOIN SM_PATROL_RECORD R ON R.ITEM_ID = I.ID
+ WHERE G.IS_DELETED = 0
+ <if test="vo.flowTaskId != null and vo.flowTaskId !='' ">
+ AND R.FLOW_TASK_ID = #{vo.flowTaskId}
+ </if>
+ <if test="vo.taskId !=null and vo.taskId !='' ">
+ AND R.TASK_ID = #{vo.taskId}
+ </if>
+ <if test="vo.recordType !=null and vo.recordType !=''">
+ AND R.record_type = #{vo.recordType}
+ </if>
+
+ </select>
+
+
+
+<!-- <resultMap type="org.springblade.modules.dto.PatrolRecordDTO" id="PatrolRecordDTOResult">-->
+<!-- <result property="id" column="id" />-->
+<!-- <result property="itemId" column="item_id" />-->
+<!-- <result property="placeCheckId" column="place_check_id" />-->
+<!-- <result property="state" column="state" />-->
+<!-- <result property="remark" column="remark" />-->
+<!-- <result property="imageUrls" column="image_urls" />-->
+<!-- <result property="createUser" column="create_user" />-->
+<!-- <result property="createTime" column="create_time" />-->
+<!-- <result property="isDeleted" column="is_deleted" />-->
+<!-- </resultMap>-->
+
+ <sql id="selectPatrolRecord">
+ select
+ id,
+ item_id,
+ place_check_id,
+ state,
+ remark,
+ image_urls,
+ create_user,
+ create_time,
+ is_deleted
+ from
+ jczz_patrol_record
+ </sql>
+
+<!-- <select id="selectPatrolRecordById" parameterType="long" resultMap="PatrolRecordDTOResult">-->
+<!-- <include refid="selectPatrolRecord"/>-->
+<!-- where-->
+<!-- id = #{id}-->
+<!-- </select>-->
+
+<!-- <select id="selectPatrolRecordList" parameterType="org.springblade.modules.dto.PatrolRecordDTO" resultMap="PatrolRecordDTOResult">-->
+<!-- <include refid="selectPatrolRecord"/>-->
+<!-- <where>-->
+<!-- <if test="id != null "> and id = #{id}</if>-->
+<!-- <if test="itemId != null "> and item_id = #{itemId}</if>-->
+<!-- <if test="placeCheckId != null "> and place_check_id = #{placeCheckId}</if>-->
+<!-- <if test="state != null "> and state = #{state}</if>-->
+<!-- <if test="remark != null and remark != ''"> and remark = #{remark}</if>-->
+<!-- <if test="imageUrls != null and imageUrls != ''"> and image_urls = #{imageUrls}</if>-->
+<!-- <if test="createUser != null "> and create_user = #{createUser}</if>-->
+<!-- <if test="createTime != null "> and create_time = #{createTime}</if>-->
+<!-- <if test="isDeleted != null "> and is_deleted = #{isDeleted}</if>-->
+<!-- </where>-->
+<!-- </select>-->
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/patrol/service/IPatrolGroupItemService.java b/src/main/java/org/springblade/modules/patrol/service/IPatrolGroupItemService.java
new file mode 100644
index 0000000..812289e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/service/IPatrolGroupItemService.java
@@ -0,0 +1,45 @@
+package org.springblade.modules.patrol.service;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.patrol.entity.PatrolGroupItem;
+import org.springblade.modules.patrol.vo.PatrolGroupItemVO;
+
+import java.util.List;
+
+/**
+ * @Description: 巡查指标项目
+ */
+public interface IPatrolGroupItemService extends IService<PatrolGroupItem> {
+
+ /**
+ * 查询全部
+ * @param patrolGroupItem
+ * @return
+ */
+ List<PatrolGroupItemVO> selectPatrolGroupItemList(PatrolGroupItemVO patrolGroupItem);
+
+ /**
+ * 自定义分页
+ * @param page
+ * @param patrolGroupItem
+ * @return
+ */
+ IPage<PatrolGroupItemVO> selectPatrolConfig(IPage<PatrolGroupItemVO> page, PatrolGroupItemVO patrolGroupItem);
+
+ /**
+ * 获取vo数据
+ * @param id
+ * @return
+ */
+ PatrolGroupItemVO getPatrolGroupItemVOById(Long id);
+
+ /**
+ * 获取项集合
+ * @param itemIds 指标项ids
+ * @param groupId 组id
+ * @return
+ */
+ List<PatrolGroupItem> getItemByItemIds(String itemIds, String groupId);
+}
diff --git a/src/main/java/org/springblade/modules/patrol/service/IPatrolGroupService.java b/src/main/java/org/springblade/modules/patrol/service/IPatrolGroupService.java
new file mode 100644
index 0000000..6a2a5f3
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/service/IPatrolGroupService.java
@@ -0,0 +1,46 @@
+package org.springblade.modules.patrol.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.patrol.dto.PatrolGroupDTO;
+import org.springblade.modules.patrol.entity.PatrolGroup;
+import org.springblade.modules.patrol.vo.PatrolGroupVO;
+
+import java.util.List;
+
+/**
+ * @Description: 巡查指标组
+ */
+public interface IPatrolGroupService extends IService<PatrolGroup> {
+
+ /**
+ * 自定义分页查询
+ * @param page
+ * @param patrolGroup
+ * @return
+ */
+ IPage<PatrolGroup> selectPatrolConfig(IPage<Object> page, PatrolGroup patrolGroup);
+
+ List<PatrolGroup> getPatrolGroupByProjectId(String projectId);
+
+ /**
+ * 查询巡查项树数据
+ * @return
+ */
+ Object getPatrolGroupTree();
+
+ /**
+ * 获取组
+ * @param itemIds 项ids
+ * @return
+ */
+ List<PatrolGroup> getPatrolGroupByItemId(String itemIds);
+
+ List<PatrolGroupVO> getAllPatrolGroupByTaskId(String taskId);
+
+ List<PatrolGroupDTO> getPatrolGroupDTO(String taskId);
+
+ List<PatrolGroup> getPatrolGroupByTaskId(String taskId);
+
+ List<PatrolGroupDTO> getGroupDTORecord(String taskId);
+}
diff --git a/src/main/java/org/springblade/modules/patrol/service/IPatrolRecordService.java b/src/main/java/org/springblade/modules/patrol/service/IPatrolRecordService.java
new file mode 100644
index 0000000..d98414a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/service/IPatrolRecordService.java
@@ -0,0 +1,58 @@
+package org.springblade.modules.patrol.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.patrol.dto.PatrolGroupDTO;
+import org.springblade.modules.patrol.entity.PatrolRecord;
+import org.springblade.modules.patrol.vo.PatrolGroupItemVO;
+import org.springblade.modules.patrol.vo.PatrolRecordVO;
+
+import java.util.List;
+
+public interface IPatrolRecordService extends IService<PatrolRecord> {
+ /**
+ * 自定义分页查询
+ * @param page
+ * @param patrolRecord
+ * @return
+ */
+ IPage<PatrolRecord> selectPatrolRecord(IPage<PatrolRecord> page, PatrolRecordVO patrolRecord);
+
+ /**
+ * 获取详情
+ * @param id
+ * @return
+ */
+ PatrolRecordVO getDetail(String id);
+
+ /**
+ * 根据任务id查询巡查记录表中的内容
+ * @param taskId
+ * @param itemIds
+ * @return
+ */
+ List<PatrolGroupItemVO> getPatrolRecordByTaskId(String taskId, String itemIds);
+
+ /**
+ * 通过taskId,itemsIds查询(用来查询巡查记录)
+ * @param taskId 任务id
+ * @param itemIds 项ids
+ * @return
+ */
+ List<PatrolRecordVO> getByTaskIdAndItemId(String taskId, String itemIds);
+
+ /**
+ * 用于app巡查上报
+ * @param itemIds
+ * @param groupId
+ * @param taskId
+ * @return
+ */
+ List getItemByItemIds(String itemIds, String groupId, String taskId);
+
+ List<PatrolRecord> getByTaskIdAndGroupId(PatrolRecordVO patrolRecordVO);
+
+ // Boolean updateThenSaveBatch(RecordBatchVO recordBatchVO);
+
+ List<PatrolGroupDTO> getHistoryRecord(PatrolRecordVO patrolRecordVO);
+}
diff --git a/src/main/java/org/springblade/modules/patrol/service/impl/PatrolGroupItemServiceImpl.java b/src/main/java/org/springblade/modules/patrol/service/impl/PatrolGroupItemServiceImpl.java
new file mode 100644
index 0000000..b31d4fa
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/service/impl/PatrolGroupItemServiceImpl.java
@@ -0,0 +1,43 @@
+package org.springblade.modules.patrol.service.impl;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.AllArgsConstructor;
+import org.springblade.modules.patrol.entity.PatrolGroupItem;
+import org.springblade.modules.patrol.mapper.PatrolGroupItemMapper;
+import org.springblade.modules.patrol.service.IPatrolGroupItemService;
+import org.springblade.modules.patrol.vo.PatrolGroupItemVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Description: 巡查指标项目
+ */
+@Service
+@AllArgsConstructor
+public class PatrolGroupItemServiceImpl extends ServiceImpl<PatrolGroupItemMapper, PatrolGroupItem> implements IPatrolGroupItemService {
+
+ @Override
+ public List<PatrolGroupItemVO> selectPatrolGroupItemList(PatrolGroupItemVO patrolGroupItem) {
+ return baseMapper.selectPatrolGroupItemList(patrolGroupItem);
+ }
+
+ @Override
+ public IPage<PatrolGroupItemVO> selectPatrolConfig(IPage<PatrolGroupItemVO> page, PatrolGroupItemVO patrolGroupItem) {
+ return page.setRecords(baseMapper.selectPatrolGroupItemList(patrolGroupItem));
+ }
+
+ @Override
+ public PatrolGroupItemVO getPatrolGroupItemVOById(Long id) {
+ return baseMapper.getPatrolGroupItemVOById(id);
+ }
+
+ @Override
+ public List<PatrolGroupItem> getItemByItemIds(String itemIds, String groupId) {
+ return baseMapper.getItemByItemIds(itemIds,groupId);
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/patrol/service/impl/PatrolGroupServiceImpl.java b/src/main/java/org/springblade/modules/patrol/service/impl/PatrolGroupServiceImpl.java
new file mode 100644
index 0000000..3bcd5e4
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/service/impl/PatrolGroupServiceImpl.java
@@ -0,0 +1,71 @@
+package org.springblade.modules.patrol.service.impl;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.utils.NodeTreeUtil;
+import org.springblade.core.tool.node.TreeNode;
+import org.springblade.modules.patrol.dto.PatrolGroupDTO;
+import org.springblade.modules.patrol.entity.PatrolGroup;
+import org.springblade.modules.patrol.mapper.PatrolGroupMapper;
+import org.springblade.modules.patrol.service.IPatrolGroupService;
+import org.springblade.modules.patrol.vo.PatrolGroupVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Description: 巡查指标组
+ */
+@Service
+public class PatrolGroupServiceImpl extends ServiceImpl<PatrolGroupMapper, PatrolGroup> implements IPatrolGroupService {
+
+ @Override
+ public IPage<PatrolGroup> selectPatrolConfig(IPage<Object> page, PatrolGroup patrolGroup) {
+ return null;
+ }
+
+ @Override
+ public List<PatrolGroup> getPatrolGroupByProjectId(String projectId) {
+ return baseMapper.getPatrolGroupByProjectId(projectId);
+ }
+
+ /**
+ * 查询巡查项树数据
+ * @return
+ */
+ @Override
+ public Object getPatrolGroupTree() {
+ // 查询父树目录
+ List<TreeNode> patrolGroupTree = baseMapper.getPatrolGroupTree();
+ // 查询孩子树目录
+ List<TreeNode> patrolGroupItemTree = baseMapper.getPatrolGroupItemTree();
+ // 数据处理
+ return NodeTreeUtil.getNodeTree(patrolGroupTree,patrolGroupItemTree);
+ }
+
+ @Override
+ public List<PatrolGroup> getPatrolGroupByItemId(String itemIds) {
+ return baseMapper.getPatrolGroupByItemId(itemIds);
+ }
+
+ @Override
+ public List<PatrolGroupVO> getAllPatrolGroupByTaskId(String taskId) {
+ return baseMapper.getAllPatrolGroupByTaskId(taskId);
+ }
+
+ @Override
+ public List<PatrolGroupDTO> getPatrolGroupDTO(String taskId) {
+ return baseMapper.getPatrolGroupDTO(taskId);
+ }
+
+ @Override
+ public List<PatrolGroup> getPatrolGroupByTaskId(String taskId) {
+ return baseMapper.getPatrolGroupByTaskId(taskId);
+ }
+
+ @Override
+ public List<PatrolGroupDTO> getGroupDTORecord(String taskId) {
+ return baseMapper.getGroupDTORecord(taskId);
+ }
+}
diff --git a/src/main/java/org/springblade/modules/patrol/service/impl/PatrolRecordServiceImpl.java b/src/main/java/org/springblade/modules/patrol/service/impl/PatrolRecordServiceImpl.java
new file mode 100644
index 0000000..1fc1d0f
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/service/impl/PatrolRecordServiceImpl.java
@@ -0,0 +1,96 @@
+package org.springblade.modules.patrol.service.impl;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.AllArgsConstructor;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.modules.patrol.dto.PatrolGroupDTO;
+import org.springblade.modules.patrol.entity.PatrolGroupItem;
+import org.springblade.modules.patrol.entity.PatrolRecord;
+import org.springblade.modules.patrol.mapper.PatrolRecordMapper;
+import org.springblade.modules.patrol.service.IPatrolGroupItemService;
+import org.springblade.modules.patrol.service.IPatrolRecordService;
+import org.springblade.modules.patrol.vo.PatrolGroupItemVO;
+import org.springblade.modules.patrol.vo.PatrolRecordVO;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+@AllArgsConstructor
+public class PatrolRecordServiceImpl extends ServiceImpl<PatrolRecordMapper, PatrolRecord> implements IPatrolRecordService {
+ IPatrolGroupItemService patrolGroupItemService;
+
+ @Override
+ public IPage<PatrolRecord> selectPatrolRecord(IPage<PatrolRecord> page, PatrolRecordVO patrolRecord) {
+ return page.setRecords(baseMapper.selectPatrolRecord(page, patrolRecord));
+ }
+
+ @Override
+ public PatrolRecordVO getDetail(String id) {
+ return baseMapper.getDetail(id);
+ }
+
+ @Override
+ public List<PatrolGroupItemVO> getPatrolRecordByTaskId(String taskId, String itemIds) {
+ List<Long> longList = Func.toLongList(itemIds);
+ List<PatrolGroupItemVO> patrolGroupItemVOList = new ArrayList<>();
+ longList.forEach(e -> {
+ PatrolRecord patrolRecord = baseMapper.selectPatrolRecordByTaskIdAndItemId(taskId, e);
+ if (ObjectUtil.isEmpty(patrolRecord)) {
+ PatrolGroupItemVO patrolGroupItemVO = patrolGroupItemService.getPatrolGroupItemVOById(e);
+ patrolGroupItemVOList.add(patrolGroupItemVO);
+ }
+ });
+
+ return patrolGroupItemVOList;
+ }
+
+ @Override
+ public List<PatrolRecordVO> getByTaskIdAndItemId(String taskId, String itemIds) {
+ return baseMapper.getByTaskIdAndItemId(taskId, itemIds);
+ }
+
+ @Override
+ public List getItemByItemIds(String itemIds, String groupId, String taskId) {
+ List<PatrolGroupItem> itemList = patrolGroupItemService.getItemByItemIds(itemIds, groupId);
+ List<PatrolRecord> patrolRecordList = new ArrayList<>();
+ itemList.forEach(item -> {
+ PatrolRecordVO one = baseMapper.getPatrolRecordVO(item.getId(), taskId);
+ if (ObjectUtil.isNotEmpty(one)) {
+ patrolRecordList.add(one);
+ }
+ });
+
+ if (patrolRecordList.size() > 0) {
+ return patrolRecordList;
+ } else {
+ return itemList;
+ }
+ }
+
+ @Override
+ public List<PatrolRecord> getByTaskIdAndGroupId(PatrolRecordVO patrolRecordVO) {
+ return baseMapper.getByTaskIdAndGroupId(patrolRecordVO);
+ }
+
+ // @Override
+ // @Transactional(rollbackFor = Exception.class)
+ // public Boolean updateThenSaveBatch(RecordBatchVO recordBatchVO) {
+ //
+ //
+ // boolean b = updateBatchById(recordBatchVO.getUpdateList());
+ // boolean b1 = saveBatch(recordBatchVO.getAddList());
+ //
+ // return b && b1;
+ // }
+
+ @Override
+ public List<PatrolGroupDTO> getHistoryRecord(PatrolRecordVO patrolRecordVO) {
+ return baseMapper.getHistoryRecord(patrolRecordVO);
+ }
+}
diff --git a/src/main/java/org/springblade/modules/patrol/vo/PatrolGroupItemVO.java b/src/main/java/org/springblade/modules/patrol/vo/PatrolGroupItemVO.java
new file mode 100644
index 0000000..8b74544
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/vo/PatrolGroupItemVO.java
@@ -0,0 +1,18 @@
+package org.springblade.modules.patrol.vo;
+
+import lombok.Data;
+import org.springblade.modules.patrol.entity.PatrolGroupItem;
+
+/**
+ * 巡查组明细 vo
+ * @author zhongrj
+ * @date 2023-03-31
+ */
+@Data
+public class PatrolGroupItemVO extends PatrolGroupItem {
+
+ /**
+ * 组名称
+ */
+ private String groupName;
+}
diff --git a/src/main/java/org/springblade/modules/patrol/vo/PatrolGroupVO.java b/src/main/java/org/springblade/modules/patrol/vo/PatrolGroupVO.java
new file mode 100644
index 0000000..9fb7d37
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/vo/PatrolGroupVO.java
@@ -0,0 +1,22 @@
+package org.springblade.modules.patrol.vo;
+
+import lombok.Data;
+import org.springblade.modules.patrol.entity.PatrolGroup;
+
+/**
+ * 巡查组vo
+ */
+@Data
+public class PatrolGroupVO extends PatrolGroup {
+
+ /**
+ * 是否在记录表中
+ */
+ private String isSelect;
+
+ /**
+ * 问题数量
+ */
+ private Integer problemCount;
+
+}
diff --git a/src/main/java/org/springblade/modules/patrol/vo/PatrolRecordVO.java b/src/main/java/org/springblade/modules/patrol/vo/PatrolRecordVO.java
new file mode 100644
index 0000000..0599008
--- /dev/null
+++ b/src/main/java/org/springblade/modules/patrol/vo/PatrolRecordVO.java
@@ -0,0 +1,72 @@
+package org.springblade.modules.patrol.vo;
+
+import lombok.Data;
+import org.springblade.modules.patrol.entity.PatrolRecord;
+
+@Data
+public class PatrolRecordVO extends PatrolRecord {
+
+ /**
+ * 任务巡查路线
+ */
+ private String taskRoute;
+
+ /**
+ * 组名称
+ */
+ private String groupName;
+
+ /**
+ * 组id
+ */
+ private String groupId;
+
+ /**
+ * 项名称
+ */
+ private String itemsName;
+
+ /**
+ * 项描述
+ */
+ private String description;
+
+ /**
+ * 巡查时间
+ */
+ private String patrolTime;
+
+ /**
+ * 巡查人id
+ */
+ private String toUserId;
+ /**
+ * 巡查人名
+ */
+ private String toUserName;
+ /**
+ * 联系方式
+ */
+ private String phone;
+ /**
+ * 任务名称
+ */
+ private String taskName;
+
+ /**
+ * 水库编码
+ */
+ private String resGuid;
+ /**
+ * 水库名称
+ */
+ private String resName;
+ /**
+ * 水库注册登记码
+ */
+ private String resRegCode;
+ /**
+ * 水库所在位置
+ */
+ private String resLoc;
+}
diff --git a/src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java b/src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java
index ab07052..cdb9f7f 100644
--- a/src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java
+++ b/src/main/java/org/springblade/modules/place/controller/PlaceCheckController.java
@@ -88,8 +88,8 @@
@PostMapping("/save")
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增", notes = "传入placeCheck")
- public R save(@Valid @RequestBody PlaceCheckEntity placeCheck) {
- return R.status(placeCheckService.save(placeCheck));
+ public R save(@Valid @RequestBody PlaceCheckVO placeCheck) throws Exception {
+ return R.status(placeCheckService.savePlace(placeCheck));
}
/**
@@ -108,7 +108,7 @@
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入placeCheck")
- public R submit(@Valid @RequestBody PlaceCheckEntity placeCheck) {
+ public R submit(@Valid @RequestBody PlaceCheckVO placeCheck) {
return R.status(placeCheckService.saveOrUpdate(placeCheck));
}
diff --git a/src/main/java/org/springblade/modules/place/entity/PlaceCheckEntity.java b/src/main/java/org/springblade/modules/place/entity/PlaceCheckEntity.java
index 0f82bcf..23e004b 100644
--- a/src/main/java/org/springblade/modules/place/entity/PlaceCheckEntity.java
+++ b/src/main/java/org/springblade/modules/place/entity/PlaceCheckEntity.java
@@ -42,57 +42,41 @@
public class PlaceCheckEntity implements Serializable {
private static final long serialVersionUID = 1L;
- /**
- * 主键
- */
- @JsonSerialize(using = ToStringSerializer.class)
- @ApiModelProperty("主键id")
+
+ /** 主键id */
+ @ApiModelProperty(value = "主键ID", example = "")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id;
- /**
- * 门牌地址编码
- */
- @ApiModelProperty(value = "门牌地址编码")
+ /** 门牌地址编码 */
+ @ApiModelProperty(value = "门牌地址编码", example = "")
+ @TableField("house_code")
private String houseCode;
- /**
- * 备注
- */
- @ApiModelProperty(value = "备注")
+
+ /** 其他隐患问题 */
+ @ApiModelProperty(value = "其他隐患问题", example = "")
+ @TableField("remark")
private String remark;
- /**
- * 照片
- */
- @ApiModelProperty(value = "照片")
- private String imageUrls;
- /**
- * 签名路径
- */
- @ApiModelProperty(value = "签名路径")
+
+ /** 签名路径 */
+ @ApiModelProperty(value = "签名路径", example = "")
+ @TableField("signature_path")
private String signaturePath;
- /**
- * 创建人
- */
- @JsonSerialize(using = ToStringSerializer.class)
- @ApiModelProperty("创建人")
- @TableField(fill = FieldFill.INSERT)
+ /** 创建人 */
+ @ApiModelProperty(value = "创建人", example = "")
+ @TableField("create_user")
private Long createUser;
- /**
- * 创建时间
- */
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @ApiModelProperty("创建时间")
- @TableField(fill = FieldFill.INSERT)
+ /** 创建时间 */
+ @ApiModelProperty(value = "创建时间", example = "")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @TableField("create_time")
private Date createTime;
- /**
- * 是否删除
- */
- @TableLogic
- @ApiModelProperty("是否已删除 0:否 1:是")
+ /** 是否删除 0:否 1:是 */
+ @ApiModelProperty(value = "是否删除 0:否 1:是", example = "")
+ @TableField("is_deleted")
private Integer isDeleted;
}
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
index 3626570..6c8adfb 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceCheckMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="org.springblade.modules.place.mapper.PlaceCheckMapper">
<!-- 通用查询映射结果 -->
- <resultMap id="placeCheckResultMap" type="org.springblade.modules.place.entity.PlaceCheckEntity">
+ <resultMap id="placeCheckResultMap" type="org.springblade.modules.place.vo.PlaceCheckVO">
<result column="id" property="id"/>
<result column="house_code" property="houseCode"/>
<result column="remark" property="remark"/>
@@ -12,6 +12,12 @@
<result column="create_user" property="createUser"/>
<result column="create_time" property="createTime"/>
<result column="is_deleted" property="isDeleted"/>
+
+ <collection property="patrolRecordVOList" column="id" select="selectTaskRepairStepList"
+ javaType="java.util.List" ofType="org.springblade.modules.patrol.entity.PatrolRecord"
+ autoMapping="true">
+ <id property="placeCheckId" column="id"/>
+ </collection>
</resultMap>
<!--自定义分页查询-->
@@ -29,4 +35,48 @@
</select>
+<!-- <resultMap type="org.springblade.modules.dto.PlaceCheckDTO" id="PlaceCheckDTOResult">-->
+<!-- <result property="id" column="id" />-->
+<!-- <result property="houseCode" column="house_code" />-->
+<!-- <result property="remark" column="remark" />-->
+<!-- <result property="signaturePath" column="signature_path" />-->
+<!-- <result property="createUser" column="create_user" />-->
+<!-- <result property="createTime" column="create_time" />-->
+<!-- <result property="isDeleted" column="is_deleted" />-->
+<!-- </resultMap>-->
+
+ <sql id="selectPlaceCheck">
+ select
+ id,
+ house_code,
+ remark,
+ signature_path,
+ create_user,
+ create_time,
+ is_deleted
+ from
+ jczz_place_check
+ </sql>
+
+<!-- <select id="selectPlaceCheckById" parameterType="long" resultMap="PlaceCheckDTOResult">-->
+<!-- <include refid="selectPlaceCheck"/>-->
+<!-- where-->
+<!-- id = #{id}-->
+<!-- </select>-->
+
+<!-- <select id="selectPlaceCheckList" parameterType="org.springblade.modules.dto.PlaceCheckDTO" resultMap="PlaceCheckDTOResult">-->
+<!-- <include refid="selectPlaceCheck"/>-->
+<!-- <where>-->
+<!-- <if test="id != null "> and id = #{id}</if>-->
+<!-- <if test="houseCode != null and houseCode != ''"> and house_code = #{houseCode}</if>-->
+<!-- <if test="remark != null and remark != ''"> and remark = #{remark}</if>-->
+<!-- <if test="signaturePath != null and signaturePath != ''"> and signature_path = #{signaturePath}</if>-->
+<!-- <if test="createUser != null "> and create_user = #{createUser}</if>-->
+<!-- <if test="createTime != null "> and create_time = #{createTime}</if>-->
+<!-- <if test="isDeleted != null "> and is_deleted = #{isDeleted}</if>-->
+<!-- </where>-->
+<!-- </select>-->
+
+
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java b/src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java
index afd1da1..d8ad3f1 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceCheckService.java
@@ -40,4 +40,5 @@
IPage<PlaceCheckVO> selectPlaceCheckPage(IPage<PlaceCheckVO> page, PlaceCheckVO placeCheck);
+ Boolean savePlace(PlaceCheckVO placeCheck) throws Exception;
}
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
index c33fdf7..66a937a 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceCheckServiceImpl.java
@@ -17,6 +17,9 @@
package org.springblade.modules.place.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.tool.utils.SpringUtil;
+import org.springblade.modules.patrol.entity.PatrolRecord;
+import org.springblade.modules.patrol.service.IPatrolRecordService;
import org.springblade.modules.place.entity.PlaceCheckEntity;
import org.springblade.modules.place.vo.PlaceCheckVO;
import org.springblade.modules.place.mapper.PlaceCheckMapper;
@@ -24,6 +27,10 @@
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.stream.Collectors;
/**
* 场所检查表 服务实现类
@@ -39,5 +46,22 @@
return page.setRecords(baseMapper.selectPlaceCheckPage(page, placeCheck));
}
-
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Boolean savePlace(PlaceCheckVO placeCheck) throws Exception {
+ boolean save = save(placeCheck);
+ if (save) {
+ IPatrolRecordService bean = SpringUtil.getBean(IPatrolRecordService.class);
+ List<PatrolRecord> patrolRecordVOList = placeCheck.getPatrolRecordVOList();
+ patrolRecordVOList.stream().forEach(item -> {
+ item.setPlaceCheckId(placeCheck.getId());
+ });
+ boolean b = bean.saveBatch(placeCheck.getPatrolRecordVOList());
+ if (b) {
+ return b;
+ }
+ throw new Exception("保存失败!");
+ }
+ return false;
+ }
}
diff --git a/src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java b/src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java
index dbcf011..01e6168 100644
--- a/src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java
+++ b/src/main/java/org/springblade/modules/place/vo/PlaceCheckVO.java
@@ -16,10 +16,16 @@
*/
package org.springblade.modules.place.vo;
+import liquibase.pro.packaged.P;
+import org.springblade.modules.grid.entity.GridPatrolRecordEntity;
+import org.springblade.modules.patrol.entity.PatrolRecord;
+import org.springblade.modules.patrol.vo.PatrolRecordVO;
import org.springblade.modules.place.entity.PlaceCheckEntity;
import org.springblade.core.tool.node.INode;
import lombok.Data;
import lombok.EqualsAndHashCode;
+
+import java.util.List;
/**
* 场所检查表 视图实体类
@@ -42,4 +48,7 @@
*/
private String endTime;
+
+ private List<PatrolRecord> patrolRecordVOList;
+
}
diff --git a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
index 32bbdde..e7b0ec4 100644
--- a/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
+++ b/src/main/java/org/springblade/modules/task/mapper/TaskReportForRepairsMapper.xml
@@ -152,16 +152,36 @@
jtrfr.lat,
jtrfr.address,
jtrfr.view_type,
+ br.town_name streetName,
+ jg.grid_name,
+ jda.aoi_name,
+ br.village_name communityName,
jda.address_name as addressName
from jczz_task_report_for_repairs jtrfr
left join jczz_doorplate_address jda on jda.address_code = jtrfr.address_code
- left join jczz_grid_range jgr on jgr.house_code = jtrfr.address_code
- left join jczz_grid jg on jg.id = jgr.grid_id and jg.is_deleted = 0
+ LEFT JOIN jczz_house jh on jh.house_code=jtrfr.address_code
+ left join jczz_grid jg on jg.grid_code = jh.grid_code and jg.is_deleted = 0
left join blade_region br on br.code = jg.community_code
where jtrfr.is_deleted = 0
<if test="vo.createUser != null and vo.createUser != ''">
AND jtrfr.create_user = #{vo.createUser}
</if>
+
+ <if test="vo.streetName != null and vo.streetName != ''">
+ AND br.town_name like concat('%',#{vo.streetName},'%')
+ </if>
+ <if test="vo.communityName != null and vo.communityName != ''">
+ AND br.village_name like concat('%',#{vo.communityName},'%')
+ </if>
+
+ <if test="vo.gridName != null and vo.gridName != ''">
+ AND jg.grid_name like concat('%',#{vo.gridName},'%')
+ </if>
+
+ <if test="vo.aoiName != null and vo.aoiName != ''">
+ AND jda.aoi_name like concat('%',#{vo.aoiName},'%')
+ </if>
+
<if test="vo.type != null">
AND jtrfr.type = #{vo.type}
</if>
@@ -208,8 +228,7 @@
or jtrfr.confirm_user_id = #{vo.confirmUserId})
</when>
<otherwise>
- and (jda.address_code in ('')
- or jtrfr.confirm_user_id = #{vo.confirmUserId})
+ and (jtrfr.confirm_user_id = #{vo.confirmUserId})
</otherwise>
</choose>
</if>
diff --git a/src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java b/src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java
index 835eb5a..0e1abf8 100644
--- a/src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java
+++ b/src/main/java/org/springblade/modules/task/vo/TaskReportForRepairsVO.java
@@ -17,6 +17,7 @@
package org.springblade.modules.task.vo;
import io.swagger.annotations.ApiModelProperty;
+import liquibase.pro.packaged.S;
import org.springblade.modules.task.entity.TaskRepairAppraiseEntity;
import org.springblade.modules.task.entity.TaskRepairStepEntity;
import org.springblade.modules.task.entity.TaskReportForRepairsEntity;
@@ -58,6 +59,15 @@
*/
private String regionCode;
+ private String streetName;
+
+ private String communityName;
+ // 网格名称
+ private String gridName;
+
+ // 小区名称
+ private String aoiName;
+
/**
* 事件步骤
*/
--
Gitblit v1.9.3