liurunyu
2024-11-14 a700bf4e6423e3ad9cbf5119eb46defad84c76b3
Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
5个文件已修改
118 ■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application.yml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmCommandHistoryMapper.java
@@ -57,16 +57,6 @@
     */
    List<VoUnclosedValve> getUnclosedValves(@Param("onLineMap") String onLineMap, @Param("comIds") String comIds);
    /**
     * 根据操作员ID获取未关阀记录(包含在线情况)
     * @param onLineMap
     * @param operator
     * @return
     */
    List<VoUnclosedValve> getUnclosedValves2(@Param("onLineMap") String onLineMap, @Param("operator") Long operator);
    /**
     * 根据取水口ID获取该取水口未关阀参数,平台选择取水口关阀使用
     * @param intakeId
pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmCommandHistoryMapper.xml
@@ -275,8 +275,7 @@
                )
            ) rtus ON com.rtu_addr = rtus.rtuAddr
        <where>
            AND    com.com_id in (#{comIds})
            AND    com.com_id in (${comIds})
            AND (
                SELECT op_dt FROM rm_open_close_valve_last
                WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo'
@@ -284,75 +283,6 @@
                LIMIT 1
            ) IS NOT NULL
            AND (
                SELECT cl_dt FROM rm_open_close_valve_last
                WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo'
                ORDER BY op_dt DESC
                LIMIT 1
            ) IS NULL
        </where>
        GROUP BY inta.name, rtus.isOnLine, com.rtu_addr, com.param ->> '$.icCardNo', com.command_code, com.send_time, dt, waterInstant
        ORDER BY com.send_time DESC
    </select>
    <!--根据操作员ID获取未关阀记录(包含在线情况)-->
    <select id="getUnclosedValves2" resultType="com.dy.pipIrrGlobal.voRm.VoUnclosedValve">
        SELECT
            inta.name AS intakeNum,
            IFNULL(rtus.isOnLine, false) AS isOnLine,
            com.rtu_addr AS rtuAddr,
            com.param ->> '$.icCardNo' AS vcNum,
            (
                SELECT param ->> '$.orderNo' AS orderNo
                FROM rm_command_history
                WHERE rtu_addr = com.rtu_addr
                ORDER BY send_time desc
                LIMIT 0,1
            ) AS orderNo,
            'toClose'                  AS state,
            CASE
                WHEN com.command_code = 'A1' OR com.command_code = 'A2' THEN 1
                ELSE 0
            END AS planned,
            com.send_time AS sendTime,
            (SELECT dt FROM rm_work_report_last
            WHERE rtu_addr = com.rtu_addr AND ic_card_no = com.param ->> '$.icCardNo'
                <!--AND dt > (SELECT op_dt FROM rm_open_close_valve_last WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo' ORDER BY op_dt DESC LIMIT 1)-->
                AND dt > com.send_time
            ORDER BY dt DESC
            LIMIT 1) AS dt,
            (SELECT water_instant FROM rm_work_report_last
            WHERE rtu_addr = com.rtu_addr AND ic_card_no = com.param ->> '$.icCardNo'
                <!--AND dt > (SELECT op_dt FROM rm_open_close_valve_last WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo' ORDER BY op_dt DESC LIMIT 1)-->
                AND dt > com.send_time
            ORDER BY dt DESC
            LIMIT 1) AS waterInstant
        FROM rm_command_history com
            INNER JOIN pr_controller con ON com.rtu_addr = con.rtuAddr
            INNER JOIN pr_intake inta ON con.intakeId = inta.id
            LEFT JOIN JSON_TABLE(
<!--                '[{"rtuAddr":"620201000030","isOnLine":true}]',-->
                #{onLineMap},
                '$[*]' COLUMNS (
                    rtuAddr VARCHAR(20) PATH '$.rtuAddr',
                    isOnLine BOOLEAN PATH '$.isOnLine'
                    )
            ) rtus ON com.rtu_addr = rtus.rtuAddr
        <where>
            AND com.operator = #{operator}
            AND com.result = 1
            AND ((com.protocol = 'p206V1' OR com.protocol = 'p206V2') AND (com.command_code = '92' OR com.command_code = '97' OR com.command_code = '99' OR com.command_code = 'A0' OR com.command_code = 'A1' OR com.command_code = 'A2'))
            AND (
                SELECT op_dt FROM rm_open_close_valve_last
                WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo'
                ORDER BY op_dt DESC
                LIMIT 1
            ) IS NOT NULL
            AND (
                SELECT cl_dt FROM rm_open_close_valve_last
                WHERE rtu_addr = com.rtu_addr AND op_ic_card_no = com.param ->> '$.icCardNo'
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandSv.java
@@ -17,6 +17,7 @@
import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
import com.dy.pipIrrGlobal.voRm.VoCommand;
import com.dy.pipIrrGlobal.voRm.VoRtuAndVc;
import com.dy.pipIrrGlobal.voRm.VoUnclosedParam;
import com.dy.pipIrrGlobal.voRm.VoUnclosedValve;
import com.dy.pipIrrGlobal.voSe.VoVirtualCard;
@@ -118,7 +119,6 @@
        com.code = "LCD0001";
        com.type = "innerCommand";
        comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
        JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
        JSONArray jsonArray = new JSONArray();
@@ -133,17 +133,32 @@
                });
            }
            System.out.println(jsonArray);
        //} else {
        //    return new ArrayList<>();
        }
        List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves2(jsonArray.toJSONString(), operator);
        /**
         * 获取未关阀的RTU地址和虚拟卡编号对数组
         * 遍历数组获取最后命令日志ID集合
         */
        List<VoRtuAndVc> rtus = rmCommandHistoryMapper.getUnclosedRtus(operator);
        String comIds = "";
        if(rtus != null && rtus.size() > 0) {
            for (int i = 0; i < rtus.size(); i++) {
                Long comId = rmCommandHistoryMapper.getLastComId(rtus.get(i).getRtuAddr(), rtus.get(i).getVcNum());
                if(comId > 0) {
                    comIds = comIds + "\"" + comId + "\",";
                }
            }
        }
        if(comIds.length() > 0) {
            comIds = comIds.substring(0, comIds.length()-1);
            List<VoUnclosedValve> res = rmCommandHistoryMapper.getUnclosedValves(jsonArray.toJSONString(), comIds);
        if(res != null) {
            return res;
        } else {
            return new ArrayList<>();
        }
    }
        return new ArrayList<>();
    }
    /**
     * 为指定(阀控器地址、水卡编号、无关阀记录)开关阀最新记录添加关阀时间,使之不在未关阀记录中显示
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandSv.java
@@ -100,7 +100,6 @@
        com.code = "LCD0001";
        com.type = "innerCommand";
        comSendUrl = env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + key_mw);
        JSONObject response = (JSONObject) JSON.toJSON(sendCom2Mw(com));
        JSONArray jsonArray = new JSONArray();
@@ -114,7 +113,7 @@
                    jsonArray.add(jsonObject);
                });
            }
            System.out.println(jsonArray.toJSONString());
            //System.out.println(jsonArray.toJSONString());
        }
        /**
@@ -127,7 +126,7 @@
            for (int i = 0; i < rtus.size(); i++) {
                Long comId = rmCommandHistoryMapper.getLastComId(rtus.get(i).getRtuAddr(), rtus.get(i).getVcNum());
                if(comId > 0) {
                    comIds = comIds + comId + ",";
                    comIds = comIds + "\"" + comId + "\",";
                }
            }
        }
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/resources/application.yml
@@ -2,7 +2,9 @@
    profiles:
        include: global, database, database-ym, database-sp, database-test
#actutor的web端口
    jpa:
        show-sql=true:#actutor的web端口
management:
    server:
        port: ${pipIrr.wechat.actutorPort}