guoshilong
2023-03-29 9e4491b4307992dd3f816cff6771c7a7ea7fee51
巡查代码整合
1 files renamed
32 files added
1494 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/SmApplication.java 4 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolConfigController.java 107 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolGroupController.java 120 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolGroupItemController.java 128 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolInfoController.java 145 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTypeController.java 112 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolConfig.java 29 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolGroup.java 30 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolGroupItem.java 32 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolInfo.java 61 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolType.java 28 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolConfigMapper.java 14 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupItemMapper.java 15 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupMapper.java 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolInfoMapper.java 30 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTypeMapper.java 14 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolConfigMapper.xml 8 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolGroupItemMapper.xml 11 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolGroupMapper.xml 39 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolInfoMapper.xml 196 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolTypeMapper.xml 6 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolConfigService.java 13 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolGroupItemService.java 17 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolGroupService.java 13 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolInfoService.java 29 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTypeService.java 14 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolConfigServiceImpl.java 20 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolGroupItemServiceImpl.java 30 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolGroupServiceImpl.java 23 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolInfoServiceImpl.java 73 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTypeServiceImpl.java 22 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolInfoVO.java 22 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolStatisticsVO.java 77 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/SmApplication.java
File was renamed from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistask/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) {
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolConfigController.java
New file
@@ -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);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolGroupController.java
New file
@@ -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);
//     }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolGroupItemController.java
New file
@@ -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);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolInfoController.java
New file
@@ -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));
//     }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTypeController.java
New file
@@ -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);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolConfig.java
New file
@@ -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;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolGroup.java
New file
@@ -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;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolGroupItem.java
New file
@@ -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;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolInfo.java
New file
@@ -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;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolType.java
New file
@@ -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;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolConfigMapper.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupItemMapper.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupMapper.java
New file
@@ -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> {
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolInfoMapper.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTypeMapper.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolConfigMapper.xml
New file
@@ -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>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolGroupItemMapper.xml
New file
@@ -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>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolGroupMapper.xml
New file
@@ -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>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolInfoMapper.xml
New file
@@ -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>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/xml/PatrolTypeMapper.xml
New file
@@ -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>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolConfigService.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolGroupItemService.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolGroupService.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolInfoService.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTypeService.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolConfigServiceImpl.java
New file
@@ -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));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolGroupItemServiceImpl.java
New file
@@ -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));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolGroupServiceImpl.java
New file
@@ -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;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolInfoServiceImpl.java
New file
@@ -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;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTypeServiceImpl.java
New file
@@ -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));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolInfoVO.java
New file
@@ -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;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolStatisticsVO.java
New file
@@ -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;
}