guoshilong
2023-12-05 ae830f0421032b415ab505e8fbd82d257d01f1d5
大坝安全预警任务下发
14 files modified
133 ■■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/entity/AlarmGet.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClient.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClientFallback.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/patrol/feign/PatrolTaskClient.java 9 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/patrol/feign/PatrolTaskClientFallback.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/pom.xml 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/feign/NkyClientImpl.java 35 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.xml 29 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IAlarmGetService.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java 7 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/controller/DamSecurityController.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/feign/PatrolTaskImplClient.java 29 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/entity/AlarmGet.java
@@ -112,4 +112,6 @@
     * 处置状态(1、已处置;2、未处置)
     */
    private String status;
    private String taskId;
}
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClient.java
@@ -86,5 +86,5 @@
    PageVO<AlarmGetVO> getAlarmDetailPage(@RequestParam("current") Integer current, @RequestParam("size") Integer size,@RequestBody AlarmGetVO alarmGet);
    @PostMapping(UPDATE_ALARM_GET)
    Boolean updateAlarmGet(@RequestBody AlarmGet alarmGet);
    Boolean updateAlarmGet(@RequestBody AlarmGetVO alarmGet);
}
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClientFallback.java
@@ -52,7 +52,7 @@
    }
    @Override
    public Boolean updateAlarmGet(AlarmGet alarmGet) {
    public Boolean updateAlarmGet(AlarmGetVO alarmGet) {
        return null;
    }
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/patrol/feign/PatrolTaskClient.java
@@ -22,6 +22,8 @@
    String CREATE_TASK_JOB_BY_CONDITION_HANDLER = API_PREFIX+"/createTaskJobByConditionHandler";
    String CREATE_TASK = API_PREFIX+"/createTask";
    /**
     * 给巡查责任人定时创建任务执行器
     * @param processDefinitionId
@@ -50,4 +52,11 @@
                                       @RequestParam("taskType") String taskType,
                                       @RequestParam("title") String title,
                                       @RequestParam("content") String content);
    @GetMapping(CREATE_TASK)
    String createTask(@RequestParam("processDefinitionId") String processDefinitionId,
                                                  @RequestParam("taskType") String taskType,
                                                  @RequestParam("title") String title,
                                                  @RequestParam("content") String content,
                    @RequestParam("resCd") String resCd);
}
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/patrol/feign/PatrolTaskClientFallback.java
@@ -21,4 +21,9 @@
    public List<Integer> createTaskJobByConditionHandler(String processDefinitionId, String taskType, String title, String content) {
        return null;
    }
    @Override
    public String createTask(String processDefinitionId, String taskType, String title, String content, String resCd) {
        return null;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-nky/pom.xml
@@ -35,6 +35,11 @@
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
        <dependency>
            <groupId>cn.gistack</groupId>
            <artifactId>skjcmanager-sm-api</artifactId>
            <version>3.0.1.RELEASE</version>
        </dependency>
    </dependencies>
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/feign/NkyClientImpl.java
@@ -8,12 +8,16 @@
import cn.gistack.nky.service.INkyService;
import cn.gistack.nky.vo.AlarmGetVO;
import cn.gistack.nky.vo.PageVO;
import cn.gistack.sm.patrol.feign.PatrolTaskClient;
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.mp.support.Query;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -32,6 +36,7 @@
    private final IArimaPredictService arimaPredictService;
    private final IHstPredictService hstPredictService;
    private final IAlarmGetService alarmGetService;
    private final PatrolTaskClient patrolTaskClient;
    @Override
@@ -96,7 +101,35 @@
    @Override
    @PostMapping(UPDATE_ALARM_GET)
    public Boolean updateAlarmGet(AlarmGet alarmGet) {
    @Transactional(rollbackFor = Exception.class)
    public Boolean updateAlarmGet(AlarmGetVO alarmGet) {
        //修改处置状态
        AlarmGetVO byId = alarmGetService.getAlarmVO(alarmGet);
        String processDefinitionId = "c2d5326e-e27b-11ed-a04e-00ff0b362ee4";
        //日常巡查
        String taskType = "1641037874390999041";
        //杨树堰水库大坝预警巡查
        String title = StringUtil.format("{}大坝预警巡查",byId.getReservoirName());
        //杨树堰水库在2023-11-29 17:41:19时监测到位移GN1测点,测点值为2.37,预警等级为三级
        String resNm = byId.getReservoirName();
        String tm = DateUtil.format(byId.getTime(),"MM月dd日HH时mm分");
        String typeName = byId.getTypeName();
        String cdNm = byId.getCdName();
        String value = byId.getValue();
        String level =String.valueOf( byId.getLevel());
        String content=StringUtil.format("{}在{}时监测到{}{}测点值为{},预警等级为{}级",
            resNm,tm,typeName,cdNm,value,level);
        String resCd = byId.getDamId();
        //创建巡查任务
        String taskId = patrolTaskClient.createTask(processDefinitionId,taskType,title,content,resCd);
        alarmGet.setTaskId(taskId);
        return alarmGetService.updateById(alarmGet);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.java
@@ -12,4 +12,6 @@
    List<AlarmGetVO> getAlarmDetail(@Param("vo") AlarmGetVO alarmGet);
    List<AlarmGetVO> getAlarmDetailPage(IPage<AlarmGetVO> page, @Param("vo") AlarmGetVO alarmGet);
    AlarmGetVO getAlarmVo(@Param("vo") AlarmGetVO alarmGet);
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.xml
@@ -59,8 +59,7 @@
        WHEN (NAG.TYPE=3 OR NAG.TYPE=4 OR NAG.TYPE=5) THEN '位移'
        END) AS typeName,
        NAG."TIME",NAG."VALUE",NAG."DESC",NAG.CREATE_TIME,NAG.TASK_CATEGORY,NAG."LEVEL",NAG.BAOJINGZHI,NAG.ORIGIN_ID,
        NAG.FORWARD,NAG."REVERSE",NAG.RATIO,NAG.STATUS
        NAG.FORWARD,NAG."REVERSE",NAG.RATIO,NAG.STATUS,NAG.task_id
        FROM YWXT.NKY_ALARM_GET NAG
        LEFT JOIN SJZT_MD."att_cd_base" acb ON acb."res_cd" = NAG.DAM_ID AND NAG.POINT_ID = acb."cd"
        WHERE 1=1 and NAG.level != 5
@@ -100,7 +99,31 @@
            AND awcb."cd_nm" LIKE CONCAT('%',#{vo.cdName},'%')
        </if>
    </select>
    <select id="getAlarmVo" resultType="cn.gistack.nky.vo.AlarmGetVO">
        SELECT arb."name" reservoirName,
               NAG.ID,
                NAG.DAM_ID,
                NAG.POINT_ID,
                cdBase."cd_nm" as cdName,
                NAG.TYPE,
                (
                CASE
                WHEN NAG.TYPE=1 THEN '渗压'
                WHEN NAG.TYPE=2 THEN '渗流'
                WHEN (NAG.TYPE=3 OR NAG.TYPE=4 OR NAG.TYPE=5) THEN '位移'
                END) AS typeName,
                NAG."TIME",NAG."VALUE",NAG."DESC",NAG.CREATE_TIME,NAG.TASK_CATEGORY,NAG."LEVEL",NAG.BAOJINGZHI,NAG.ORIGIN_ID,
                NAG.FORWARD,NAG."REVERSE",NAG.RATIO,NAG.STATUS
        FROM YWXT.NKY_ALARM_GET NAG
                 LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.dam_id
                <if test="vo.type == 1 || vo.type == 2">
                    LEFT JOIN SJZT_MD."att_cd_base" cdBase ON cdBase."cd" = NAG.POINT_ID and cdBase."res_cd" = NAG.DAM_ID
                </if>
                <if test="vo.type ==3 || vo.type == 4 || vo.type == 5">
                    LEFT JOIN SJZT_MD."att_wy_cd_base" cdBase ON cdBase."cd" = NAG.POINT_ID and cdBase."res_cd" = NAG.DAM_ID
                </if>
        WHERE NAG.ID = #{vo.id}
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IAlarmGetService.java
@@ -15,4 +15,6 @@
    List<AlarmGetVO> getAlarmDetail(AlarmGetVO alarmGet);
    IPage<AlarmGetVO> getAlarmDetailPage(IPage<AlarmGetVO> page, AlarmGetVO alarmGet);
    AlarmGetVO getAlarmVO(AlarmGetVO alarmGet);
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java
@@ -58,11 +58,14 @@
    @Override
    public IPage<AlarmGetVO> getAlarmDetailPage(IPage<AlarmGetVO> page, AlarmGetVO alarmGet) {
            return  page.setRecords(baseMapper.getAlarmDetailPage(page,alarmGet));
    }
    @Override
    public AlarmGetVO getAlarmVO(AlarmGetVO alarmGet) {
        return baseMapper.getAlarmVo(alarmGet);
    }
    /**
     * 获取水库集
     *
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/controller/DamSecurityController.java
@@ -182,7 +182,7 @@
     */
    @PostMapping("/update")
    @ApiOperation(value = "大坝安全统计-预警状态修改", notes = "大坝安全统计-预警状态修改")
    public R updateAlarmGet(AlarmGet alarmGet){
    public R updateAlarmGet(AlarmGetVO alarmGet){
        return R.data(nkyClient.updateAlarmGet(alarmGet));
    }
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/feign/PatrolTaskImplClient.java
@@ -4,7 +4,9 @@
import cn.gistack.sm.intelligentCall.service.CallService;
import cn.gistack.sm.patrol.entity.PatrolTask;
import cn.gistack.sm.patrol.service.IPatrolTaskService;
import cn.gistack.sm.sjztmd.entity.AttResBase;
import cn.gistack.sm.sjztmd.entity.PatrolResponsiblePerson;
import cn.gistack.sm.sjztmd.service.IAttResBaseService;
import cn.gistack.sm.sjztmd.service.IAttResManagePersonService;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -52,6 +54,7 @@
    private static final String ONLINE = "http://10.42.6.192";
    private final IPatrolTaskService patrolTaskService;
    private final IAttResManagePersonService attResManagePersonService;
    private final IAttResBaseService attResBaseService;
    @Autowired
    private RestTemplate restTemplate;
@@ -111,6 +114,32 @@
        return taskJob;
    }
    @Override
    public String createTask(String processDefinitionId, String taskType, String title, String content, String resCd) {
        //根据水库id获取巡查责任人
        List<String> resList = new ArrayList<>();
        resList.add(resCd);
        List<PatrolResponsiblePerson> patrolResponsiblePersonByResCdList = attResManagePersonService.getPatrolResponsiblePersonByResCdList(resList);
        PatrolResponsiblePerson patrolResponsiblePerson = patrolResponsiblePersonByResCdList.get(0);
        //不确定是否有多个,循环下发
            PatrolTask patrolTask = new PatrolTask();
            patrolTask.setProcessDefinitionId(processDefinitionId);
            patrolTask.setToUserId(patrolResponsiblePerson.getUserId());
            patrolTask.setProjectId(resCd);
            patrolTask.setReservoirName(patrolResponsiblePerson.getName());
            patrolTask.setStartTime(DateUtil.format(new Date(),"yyyy-MM-dd 00:00:00"));
            patrolTask.setEndTime(DateUtil.format(new Date(),"yyyy-MM-dd 23:59:59"));
            patrolTask.setTitle(title);
            patrolTask.setContent(content);
            patrolTask.setTaskType(taskType);
            patrolTaskService.startProcess(patrolTask);
            String taskId = patrolTask.getId().toString();
            return taskId;
    }
    /**
     * 请求中台接口,返回resultList结果集
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml
@@ -31,6 +31,7 @@
        WHERE a."user_phone" = b.PHONE
          and a."res_guid" = c."guid"
          and a."type" = 5
          and b.is_deleted = 0
          and c."interior_ad_guid" like '42%'
    </select>
@@ -219,6 +220,7 @@
        WHERE a."user_phone" = b.PHONE
          and a."res_guid" = c."guid"
          and a."type" = 5
            and b.is_deleted = 0
        <choose>
            <when test="ids!=null and ids.size()>0">
                and "res_guid" in