zrj
2024-09-23 df847a2500eb99f890bf3847ac2cc49a92c0d221
增加2022高标准过滤及发送打印
3 files modified
49 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/OpenApiMapper.java 8 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/OpenApiMapper.xml 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/OpenApiServiceImpl.java 37 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/OpenApiMapper.java
@@ -15,4 +15,12 @@
     */
    @DS("zt")
    List<Map<String, String>> getResInfo(@Param("list") List<String> resGuidList);
    /**
     * 按水库编号查询水库是否为2022高标准
     * @param res_cd
     * @return
     */
    @DS("zt")
    String getResInfoBy2022(@Param("resCd") String res_cd);
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/OpenApiMapper.xml
@@ -42,5 +42,9 @@
        )
    </select>
    <!--按水库编号查询水库是否为2022高标准-->
    <select id="getResInfoBy2022" resultType="java.lang.String">
        select a."guid" from SJZT_MD."att_res_base" a where a."label" like '%2022高标准%' and a."guid" = #{resCd}
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/OpenApiServiceImpl.java
@@ -126,7 +126,7 @@
            JSONObject jsonObject = ztData.getJSONObject(i);
            Map<String,Object> map = new HashMap<>();
            // 水库信息设置
            flag = waterInfoSet(jsonObject, map,flag);
            flag = waterInfoSet(jsonObject, map);
            if (flag) {
                // 测点信息设置
                flag = pointValueInfoSet(jsonObject, map, type,flag);
@@ -134,6 +134,7 @@
            if (flag) {
                map.put("batchId",UUID.randomUUID());
                map.put("serialNo",getSerialNo());
                log.info("发送数据:{}",map);
                // 发送请求
                String response = sendPostJsonRequest(OpenApiConstant.POINT_VALUE_INLET_URL, map);
                JSONObject parseObject = JSON.parseObject(response);
@@ -149,23 +150,27 @@
     * @param jsonObject
     * @param map
     */
    private boolean waterInfoSet(JSONObject jsonObject, Map<String, Object> map,boolean flag) {
    private boolean waterInfoSet(JSONObject jsonObject, Map<String, Object> map) {
        String rz = jsonObject.getString("rz");
        flag = false;
        if (!Strings.isBlank(rz)) {
            flag = true;
            String res_cd = replaceSpecialStr(jsonObject.getString("res_cd"));
            List<Map<String, Object>> waterLevelInfoList = new ArrayList<>();
            Map<String, Object> waterLevelInfoMap = new HashMap<>();
            waterLevelInfoMap.put("damCode", res_cd);
            waterLevelInfoMap.put("waterLevel", jsonObject.getString("rz"));
            waterLevelInfoMap.put("waterLevelTime", jsonObject.getString("rz_tm"));
            waterLevelInfoMap.put("rainCondition", jsonObject.getString("drp"));
            waterLevelInfoMap.put("rainConditionTime", jsonObject.getString("drp_tm"));
            waterLevelInfoList.add(waterLevelInfoMap);
            map.put("waterLevelInfo", waterLevelInfoList);
        if(Strings.isBlank(rz)){
            return false;
        }
        return flag;
        // 需要过滤2022高标准水库才发送
        String res_cd = replaceSpecialStr(jsonObject.getString("res_cd"));
        String flag = openApiMapper.getResInfoBy2022(res_cd);
        if (Strings.isBlank(flag)){
            return false;
        }
        List<Map<String, Object>> waterLevelInfoList = new ArrayList<>();
        Map<String, Object> waterLevelInfoMap = new HashMap<>();
        waterLevelInfoMap.put("damCode", res_cd);
        waterLevelInfoMap.put("waterLevel", jsonObject.getString("rz"));
        waterLevelInfoMap.put("waterLevelTime", jsonObject.getString("rz_tm"));
        waterLevelInfoMap.put("rainCondition", jsonObject.getString("drp"));
        waterLevelInfoMap.put("rainConditionTime", jsonObject.getString("drp_tm"));
        waterLevelInfoList.add(waterLevelInfoMap);
        map.put("waterLevelInfo", waterLevelInfoList);
        return true;
    }
    /**