guoshilong
2023-05-22 1d725aba58f4bec25385ecccb3650032cca06421
巡查报表接口
6 files modified
1 files added
369 ■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java 213 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.java 13 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml 46 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTaskService.java 8 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolTaskReport.java 75 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/controller/UserController.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java
@@ -9,6 +9,7 @@
import cn.gistack.sm.patrol.service.IPatrolTaskService;
import cn.gistack.sm.patrol.vo.BladeFlowPage;
import cn.gistack.sm.patrol.vo.BladeFlowTask;
import cn.gistack.sm.patrol.vo.PatrolTaskReport;
import cn.gistack.sm.patrol.vo.PatrolTaskVO;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@@ -36,128 +37,133 @@
import java.util.List;
/**
* @Description: 巡查任务
*/
 * @Description: 巡查任务
 */
@Slf4j
@Api(tags="巡查任务")
@Api(tags = "巡查任务")
@RestController
@RequestMapping("/patrol/patrolTask")
@AllArgsConstructor
public class PatrolTaskController extends BladeController {
   private IPatrolTaskService patrolTaskService;
   private IFlowClient flowClient;
    private IPatrolTaskService patrolTaskService;
    private IFlowClient flowClient;
   /**
    * 分页列表查询
    * @return
    */
   @ApiOperation(value="巡查任务-分页列表查询", notes="巡查任务-分页列表查询")
   @GetMapping(value = "/list")
   public R queryPageList(PatrolTaskVO patrolTask, Query query) {
       IPage<PatrolTaskVO> pageList = patrolTaskService.selectPatrolTask(Condition.getPage(query),patrolTask);
    /**
     * 分页列表查询
     *
     * @return
     */
    @ApiOperation(value = "巡查任务-分页列表查询", notes = "巡查任务-分页列表查询")
    @GetMapping(value = "/list")
    public R queryPageList(PatrolTaskVO patrolTask, Query query) {
        IPage<PatrolTaskVO> pageList = patrolTaskService.selectPatrolTask(Condition.getPage(query), patrolTask);
//        IPage<PatrolTask> pageList = patrolTaskService.page(Condition.getPage(query), Condition.getQueryWrapper(PatrolTask));
       return R.data(pageList);
   }
        return R.data(pageList);
    }
    /**
     * 获取所有巡查任务
     */
    @ApiOperation(value="获取所有巡查任务", notes="获取所有巡查任务")
    @GetMapping(value = "/all")
   public R getAll(PatrolTaskVO patrolTaskVO){
       List<PatrolTask> list = patrolTaskService.getAll(patrolTaskVO);
    /**
     * 获取所有巡查任务
     */
    @ApiOperation(value = "获取所有巡查任务", notes = "获取所有巡查任务")
    @GetMapping(value = "/all")
    public R getAll(PatrolTaskVO patrolTaskVO) {
        List<PatrolTask> list = patrolTaskService.getAll(patrolTaskVO);
        return R.data(list);
   }
    }
   /**
    * 添加
    */
   @ApiOperation(value="巡查任务-添加", notes="巡查任务-添加")
   @PostMapping(value = "/add")
   public R add(@RequestBody PatrolTask patrolTask) {
       return R.data(patrolTaskService.save(patrolTask));
   }
    /**
     * 添加
     */
    @ApiOperation(value = "巡查任务-添加", notes = "巡查任务-添加")
    @PostMapping(value = "/add")
    public R add(@RequestBody PatrolTask patrolTask) {
        return R.data(patrolTaskService.save(patrolTask));
    }
    /**
     * 自定义添加
     *
     * @param patrolTask
     * @return
     */
    @ApiOperation(value="巡查任务-自定义添加", notes="巡查任务-自定义添加")
    @ApiOperation(value = "巡查任务-自定义添加", notes = "巡查任务-自定义添加")
    @PostMapping(value = "/save")
    public R save(@RequestBody PatrolTask patrolTask) {
        return R.data(patrolTaskService.savePatrolTask(patrolTask));
    }
   /**
    * 编辑
    * @return
    */
   @ApiOperation(value="巡查任务-编辑", notes="巡查任务-编辑")
   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
   public R edit(@RequestBody PatrolTask patrolTask) {
       return R.data(patrolTaskService.updateById(patrolTask));
   }
    /**
     * 编辑
     *
     * @return
     */
    @ApiOperation(value = "巡查任务-编辑", notes = "巡查任务-编辑")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
    public R edit(@RequestBody PatrolTask patrolTask) {
        return R.data(patrolTaskService.updateById(patrolTask));
    }
   /**
    * 自定义编辑(空间坐标编辑)
    * @param patrolTask
    * @return
    */
   @ApiOperation(value="巡查任务-自定义编辑", notes="巡查任务-自定义编辑")
   @RequestMapping(value = "/update", method = {RequestMethod.PUT,RequestMethod.POST})
   public R update(@RequestBody PatrolTask patrolTask) {
       return R.data(patrolTaskService.updatePatrolTask(patrolTask));
   }
    /**
     * 自定义编辑(空间坐标编辑)
     *
     * @param patrolTask
     * @return
     */
    @ApiOperation(value = "巡查任务-自定义编辑", notes = "巡查任务-自定义编辑")
    @RequestMapping(value = "/update", method = {RequestMethod.PUT, RequestMethod.POST})
    public R update(@RequestBody PatrolTask patrolTask) {
        return R.data(patrolTaskService.updatePatrolTask(patrolTask));
    }
   /**
    * 通过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(patrolTaskService.removeById(id));
   }
    /**
     * 通过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(patrolTaskService.removeById(id));
    }
   /**
    * 批量删除
    *
    * @param ids
    * @return
    */
   @ApiOperation(value="巡查任务-批量删除", notes="巡查任务-批量删除")
   @DeleteMapping(value = "/deleteBatch")
   public R deleteBatch(@RequestParam(name="ids",required=true) String ids) {
       return R.data(patrolTaskService.removeByIds(Arrays.asList(ids.split(","))));
   }
    /**
     * 批量删除
     *
     * @param ids
     * @return
     */
    @ApiOperation(value = "巡查任务-批量删除", notes = "巡查任务-批量删除")
    @DeleteMapping(value = "/deleteBatch")
    public R deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
        return R.data(patrolTaskService.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) {
       PatrolTask PatrolTask = patrolTaskService.getById(id);
       return R.data(PatrolTask);
   }
    /**
     * 通过id查询
     *
     * @param id
     * @return
     */
    @ApiOperation(value = "巡查任务-通过id查询", notes = "巡查任务-通过id查询")
    @GetMapping(value = "/queryById")
    public R queryById(@RequestParam(name = "id", required = true) String id) {
        PatrolTask PatrolTask = patrolTaskService.getById(id);
        return R.data(PatrolTask);
    }
    /**
     * 自定义通过id查询
     *
     * @param id
     * @return
     */
    @ApiOperation(value="巡查任务-自定义通过id查询", notes="巡查任务-自定义通过id查询")
    @ApiOperation(value = "巡查任务-自定义通过id查询", notes = "巡查任务-自定义通过id查询")
    @GetMapping(value = "/getPatrolTaskById")
    public R getPatrolTaskById(@RequestParam(name="id",required=true) String id) {
    public R getPatrolTaskById(@RequestParam(name = "id", required = true) String id) {
        PatrolTask PatrolTask = patrolTaskService.getPatrolTaskById(id);
        return R.data(PatrolTask);
    }
@@ -165,10 +171,11 @@
    /**
     * 查询巡查人员统计数据信息
     *
     * @param patrolTask
     * @return
     */
    @ApiOperation(value="查询巡查人员统计数据信息", notes="查询巡查人员统计数据信息")
    @ApiOperation(value = "查询巡查人员统计数据信息", notes = "查询巡查人员统计数据信息")
    @GetMapping(value = "/getPatrolTaskStatistic")
    public R getPatrolTaskStatistic(PatrolTaskVO patrolTask) {
        return R.data(patrolTaskService.getPatrolTaskStatistic(patrolTask));
@@ -191,7 +198,7 @@
    @PostMapping("patrol-complete-task")
    @ApiOperation(value = "完成任务", notes = "传入流程信息")
    public R completeTask(@RequestBody PatrolTaskVO patrolTaskVO) {
        return R.status(patrolTaskService.patrolCompleteTask(patrolTaskVO,patrolTaskVO.getCurrentUserId(),patrolTaskVO.getTaskUser()));
        return R.status(patrolTaskService.patrolCompleteTask(patrolTaskVO, patrolTaskVO.getCurrentUserId(), patrolTaskVO.getTaskUser()));
    }
    /**
@@ -214,16 +221,16 @@
        BladeFlow bladeFlow2 = new BladeFlow();
        //设置流程类型
        bladeFlow2.setCategory("flow_3");
        R<BladeFlowPage> res = flowClient.getTodoBladeFlowList(query.getSize(),query.getCurrent(),patrolTask.getCurrentUserId(), bladeFlow2);
        R<BladeFlowPage> res = flowClient.getTodoBladeFlowList(query.getSize(), query.getCurrent(), patrolTask.getCurrentUserId(), bladeFlow2);
        IPage<PatrolTask> patrolTaskIPage = new Page<>();
        List<PatrolTask> patrolTaskList = new ArrayList<>();
        if (res.isSuccess()){
        if (res.isSuccess()) {
            List<Object> data = res.getData().getData();
            data.forEach(obj -> {
                BladeFlow bladeFlow = JSON.parseObject(JSON.toJSONString(obj),BladeFlow.class);
                BladeFlow bladeFlow = JSON.parseObject(JSON.toJSONString(obj), BladeFlow.class);
                PatrolTask byId = patrolTaskService.customizeGetById(bladeFlow.getBusinessId());
                if (byId != null){
                if (byId != null) {
                    byId.setFlow(bladeFlow);
                    patrolTaskList.add(byId);
                }
@@ -248,18 +255,18 @@
     */
    @PostMapping("patrol-done-list")
    @ApiOperation(value = "查询待办")
    public R patrolDoneList(PatrolTaskVO patrolTask, Query query){
    public R patrolDoneList(PatrolTaskVO patrolTask, Query query) {
        BladeFlowVO bladeFlow2 = new BladeFlowVO();
        //设置流程类型
        bladeFlow2.setCategory("flow_3");
        R<BladeFlowPage> res = flowClient.getDoneBladeFlowList(query.getSize(),query.getCurrent(),patrolTask.getCurrentUserId(), bladeFlow2);
        R<BladeFlowPage> res = flowClient.getDoneBladeFlowList(query.getSize(), query.getCurrent(), patrolTask.getCurrentUserId(), bladeFlow2);
        IPage<BladeFlowVO> bladeFlowVOIPage = new Page<>();
        List<BladeFlowVO> bladeFlowVOList = new ArrayList<>();
        if (res.isSuccess()){
        if (res.isSuccess()) {
            List<Object> data = res.getData().getData();
            data.forEach(obj -> {
                BladeFlowVO<PatrolTask> bladeFlow = JSON.parseObject(JSON.toJSONString(obj),BladeFlowVO.class);
                BladeFlowVO<PatrolTask> bladeFlow = JSON.parseObject(JSON.toJSONString(obj), BladeFlowVO.class);
                PatrolTask byId = patrolTaskService.customizeGetById(bladeFlow.getBusinessId());
                bladeFlow.setDetail(byId);
@@ -277,4 +284,16 @@
        return R.data(bladeFlowVOIPage);
    }
    /**
     * 巡查任务报表
     */
    @PostMapping("getTaskReport")
    @ApiOperation(value = "巡查任务报表")
    public R getTaskReport(@RequestBody PatrolTaskReport patrolTaskReport) {
        List<PatrolTaskReport> list = patrolTaskService.getTaskReport(patrolTaskReport);
        return R.data(list);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.java
@@ -1,6 +1,7 @@
package cn.gistack.sm.patrol.mapper;
import cn.gistack.sm.patrol.entity.PatrolTask;
import cn.gistack.sm.patrol.vo.PatrolTaskReport;
import cn.gistack.sm.patrol.vo.PatrolTaskStatisticsVO;
import cn.gistack.sm.patrol.vo.PatrolTaskVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -56,5 +57,17 @@
    PatrolTask customizeGetById(@Param("id") String id);
    /**
     * 巡查报表,获取区域
     * @param patrolTaskReport
     * @return
     */
    List<PatrolTaskReport> getTaskReportRegion(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    /**
     * 巡查报表,获取水库
     * @param patrolTaskReport
     * @return
     */
    List<PatrolTaskReport> getTaskReportReservoir(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
@@ -183,4 +183,50 @@
        AND T.IS_DELETED = 0
    </select>
    <select id="getTaskReportRegion" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
            aab."ad_name" AS adName,
            aab."guid" AS adCode,
            to_char(t.start_time,'yyyy-mm-dd') AS statisticsTime,
            COUNT(*) AS need,
            SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
            SUM(CASE WHEN t.state = 1 THEN 1 ELSE 0 END) AS todo
        FROM SM_PATROL_TASK t
            LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
            LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = CONCAT(arb."ad_guid",'000000')
        WHERE t.IS_DELETED = 0
        <if test="patrolTaskReport.padCode !=null and patrolTaskReport.padCode !=''">
            AND aab."p_ad_code" = #{patrolTaskReport.padCode}
        </if>
        <if test="patrolTaskReport.statisticsTime !=null and patrolTaskReport.statisticsTime !=''">
            AND to_char(t.start_time,'yyyy-mm-dd') = #{patrolTaskReport.statisticsTime}
        </if>
        GROUP BY (aab."ad_name",aab."guid",to_char(t.start_time,'yyyy-mm-dd'))
    </select>
    <select id="getTaskReportReservoir" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
            arb."guid" AS reservoirId,
            arb."name" AS reservoirName,
            aab."guid" AS adCode,
            aab."ad_name" AS adName,
            COUNT(*) AS need,
            SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
            SUM(CASE WHEN t.state = 1 THEN 1 ELSE 0 END) AS todo
        FROM SK002.SM_PATROL_TASK t
            LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
            LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = CONCAT(arb."ad_guid",'000000')
        WHERE
            t.IS_DELETED = 0
        <if test="patrolTaskReport.adCode != null and patrolTaskReport.adCode !=''">
            AND aab."ad_code" = #{patrolTaskReport.adCode}
        </if>
        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
        </if>
        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
        </if>
        GROUP BY (arb."guid",arb."name",aab."guid",aab."ad_name")
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTaskService.java
@@ -4,6 +4,7 @@
import cn.gistack.sm.patrol.entity.PatrolReport;
import cn.gistack.sm.patrol.entity.PatrolTask;
import cn.gistack.sm.patrol.vo.BladeFlowTask;
import cn.gistack.sm.patrol.vo.PatrolTaskReport;
import cn.gistack.sm.patrol.vo.PatrolTaskVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
@@ -64,4 +65,11 @@
    PatrolTask customizeGetById(String businessId);
    List<PatrolTask> getAll(PatrolTaskVO patrolTaskVO);
    /**
     * 获取巡查报表
     * @param patrolTaskReport
     * @return
     */
    List<PatrolTaskReport> getTaskReport(PatrolTaskReport patrolTaskReport);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
@@ -15,6 +15,7 @@
import cn.gistack.sm.patrol.util.EnhancementServicesTool;
import cn.gistack.sm.patrol.util.IdWorker;
import cn.gistack.sm.patrol.vo.BladeFlowTask;
import cn.gistack.sm.patrol.vo.PatrolTaskReport;
import cn.gistack.sm.patrol.vo.PatrolTaskVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
@@ -210,6 +211,17 @@
        return baseMapper.getAll(patrolTaskVO);
    }
    @Override
    public List<PatrolTaskReport> getTaskReport(PatrolTaskReport patrolTaskReport) {
        if (Func.equals(patrolTaskReport.getRegionFlag(),"2")){
            return baseMapper.getTaskReportReservoir(patrolTaskReport);
        }else {
            return baseMapper.getTaskReportRegion(patrolTaskReport);
        }
    }
    public void saveReport(PatrolTask patrolTask){
        //拿到当前任务下的异常巡查记录
        PatrolRecord patrolRecord = new PatrolRecord();
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolTaskReport.java
New file
@@ -0,0 +1,75 @@
package cn.gistack.sm.patrol.vo;
import lombok.Data;
/**
 * 巡查任务报表
 */
@Data
public class PatrolTaskReport {
    /**
     * 行政区code
     */
    private String adCode;
    /**
     * 行政区名
     */
    private String adName;
    /**
     * 水库id
     */
    private String reservoirId;
    /**
     * 水库名称
     */
    private String reservoirName;
    /**
     * 上级行政区code
     */
    private String padCode;
    /**
     * 统计时间(默认昨天 例:05-22取 05-11)
     */
    private String statisticsTime;
    /**
     * 统计时段(1、日;2、周;3、月)
     */
    private String period;
    /**
     * 应巡查
     */
    private String need;
    /**
     * 已巡查
     */
    private String finish;
    /**
     * 未巡查
     */
    private String todo;
    /**
     * 0、省;1、市;2、区
     */
    private String regionFlag;
    /**
     * 开始时间
     */
    private String startTime;
    /**
     * 结束时间
     */
    private String endTime;
}
skjcmanager/skjcmanager-service/skjcmanager-user/src/main/java/cn/gistack/system/user/controller/UserController.java
@@ -21,6 +21,7 @@
import cn.gistack.system.user.excel.UserExcel;
import cn.gistack.system.user.excel.UserImporter;
import cn.gistack.system.user.service.IUserService;
import cn.gistack.system.user.service.impl.UserServiceImpl;
import cn.gistack.system.user.vo.UserVO;
import cn.gistack.system.user.wrapper.UserWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -49,6 +50,7 @@
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;