CZT
2023-08-29 4cfaac76490c1391237483329719bc6abd4392af
调整代码
已修改12个文件
已添加3个文件
104 ■■■■ 文件已修改
igds-basic/src/main/java/com/ld/igds/gas/manager/GasManager.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-n2/src/main/java/com/ld/igds/n2/controller/N2Controller.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/modbus/GasModbus.view.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/models/DeviceModbus.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/ModbusUtil2.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/AnalysisService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteGasServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/gas-conf.properties 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/n2-conf.properties 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/static/admin/n2/n2-hand-5013.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/static/img/gas/5325/5325_001.png 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/static/img/n2/5325/pfc2_a.png 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/static/img/n2/5325/pfc2_b.png 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/templates/admin/n2/n2-hand-5013.html 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-basic/src/main/java/com/ld/igds/gas/manager/GasManager.java
@@ -261,7 +261,7 @@
        // 获取分机信息
        DeviceSer deviceSer = coreSerService.getCacheSer(param.getCompanyId(),
                depotConf.getGrainSer());
                depotConf.getGasSer());
        CheckGasRequest request = new CheckGasRequest();
        request.setDepotId(param.getDepotId());
igds-n2/src/main/java/com/ld/igds/n2/controller/N2Controller.java
@@ -80,7 +80,7 @@
        if (DepotType.TYPE_02.getCode().equals(depotType) || DepotType.TYPE_04.getCode().equals(depotType)) {
            view.setViewName("admin/n2/n2-hand2");
        } else {
            if ("5013".equals(user.getCompanyId()) || "5016".equals(user.getCompanyId())) {
            if ("5013".equals(user.getCompanyId()) || "5016".equals(user.getCompanyId()) || "5325".equals(user.getCompanyId())) {
                view.setViewName("admin/n2/n2-hand-5013");
            } else {
                view.setViewName("admin/n2/n2-hand1");
@@ -128,7 +128,7 @@
        view.addObject("n2ImgMap", n2ImgMap);
        view.setViewName("admin/n2/n2-hand1");
        if ("5013".equals(user.getCompanyId()) || "5016".equals(user.getCompanyId())) {
        if ("5013".equals(user.getCompanyId()) || "5016".equals(user.getCompanyId()) || "5325".equals(user.getCompanyId())) {
            view.setViewName("admin/n2/n2-hand-5013");
        }
        return view;
igds-protocol-modbus/src/main/java/com/ld/igds/modbus/GasModbus.view.xml
@@ -136,6 +136,11 @@
      <PropertyDef name="co2Fun">
        <Property></Property>
        <Property name="label">功能号</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;deviceModbusPR#triggerFun&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="o2">
        <Property></Property>
@@ -144,6 +149,11 @@
      <PropertyDef name="o2Fun">
        <Property></Property>
        <Property name="label">功能号</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;deviceModbusPR#triggerFun&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="ph3">
        <Property></Property>
@@ -152,6 +162,11 @@
      <PropertyDef name="ph3Fun">
        <Property></Property>
        <Property name="label">功能号</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;deviceModbusPR#triggerFun&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
    </DataType>
  </Model>
igds-protocol-modbus/src/main/java/com/ld/igds/models/DeviceModbus.java
@@ -58,7 +58,7 @@
    private String stopFun = "99";
    @Column(name = "OPEN_END_", length = 10)
    @PropertyDef(label = "停地址")
    @PropertyDef(label = "开到位地址")
    private String openEnd = Constant.YN_N;
    @Column(name = "OPEN_END_FUN", length = 4)
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/ModbusUtil2.java
@@ -47,22 +47,22 @@
     */
    public static ModbusMaster getMaster(String ip, int port) throws ModbusInitException, InterruptedException {
        String key = ip;
        ModbusMaster modbusMaster = masterMap.get(key);
        if (modbusMaster == null || !modbusMaster.isConnected()) {
//        ModbusMaster modbusMaster = masterMap.get(key);
//        if (modbusMaster == null || !modbusMaster.isConnected()) {
            IpParameters ipParameters = new IpParameters();
            ipParameters.setHost(ip);
            ipParameters.setPort(port);
            modbusMaster = modbusFactory.createTcpMaster(ipParameters, true);
        ModbusMaster modbusMaster = modbusFactory.createTcpMaster(ipParameters, false);
            modbusMaster.init();
            //初始化之后等待,避免出现连接未创建
            Thread.sleep(2500);
            masterMap.put(key, modbusMaster);
//            masterMap.put(key, modbusMaster);
            return modbusMaster;
        }
        return modbusMaster;
//        }
//        return modbusMaster;
    }
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/AnalysisService.java
@@ -18,6 +18,7 @@
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.List;
@@ -80,16 +81,17 @@
        int sumNum = results.size();
        double co2, o2, ph3, n2;
        DecimalFormat df = new DecimalFormat("#0.00");
        double sumO2 = 0.0, sumCo2 = 0.0, sumPh3 = 0.0, sumN2 = 0.0;
        StringBuffer sb = new StringBuffer();
        for (ModbusGasResult gasResult : results) {
            //二氧化碳,单位:PPM,直接使用
            co2 = gasResult.getCo2().doubleValue();
            o2 = gasResult.getO2().doubleValue();
            //氧气,除以10,单位:百分比
            o2 = Double.valueOf(df.format(gasResult.getO2().doubleValue()*0.1));
            //磷化氢,单位:PPM,直接使用
            ph3 = gasResult.getPh3().doubleValue();
            n2 = -100;
            //TODO >>>>> 根据返回值进行判断和转换
            n2 = Double.valueOf(df.format(99.9 - o2));;
            if (gas.getPerCo2Max() < co2) {
                gas.setPerCo2Max(co2);
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java
@@ -87,6 +87,16 @@
                    temp = modbusTcp.getDeviceModbus().getOpen();
                }
                //环流风机-关
                if (DeviceStatus.F_CLOSE.getCode().equals(exeDevice.getTargetStatus())) {
                    temp = modbusTcp.getDeviceModbus().getStop();
                }
                //环流风机-开
                if (DeviceStatus.F_OPEN.getCode().equals(exeDevice.getTargetStatus())) {
                    temp = modbusTcp.getDeviceModbus().getOpen();
                }
                if (StringUtils.isBlank(exeDevice.getLink()) || "null".equals(exeDevice.getLink())) {
                    //根据设备目标状态,调用MODBUS执行
                    modbusTcp.setAddrExe(ServerUtil.getAddrExe(temp));
@@ -255,6 +265,7 @@
        if (Constant.YN_N.equals(modbusTcp.getDeviceModbus().getOpen())) return;
        if (Constant.YN_N.equals(modbusTcp.getDeviceModbus().getOpenEnd())) return;
        int addrExe = ServerUtil.getAddrExe(modbusTcp.getDeviceModbus().getOpenEnd());
        boolean result = ModbusUtil2.readInputStatus(modbusTcp.getIp(), modbusTcp.getPort(), addrExe);
@@ -264,7 +275,7 @@
            ServerUtil.add2StatusMap(modbusTcp.getCompanyId(), modbusTcp.getSerId(), modbusTcp.getBizCode(), DeviceStatus.OPEN.getCode());
        }
        if (Constant.YN_N.equals(modbusTcp.getDeviceModbus().getCloseEnd())) return;
        addrExe = ServerUtil.getAddrExe(modbusTcp.getDeviceModbus().getCloseEnd());
        result = ModbusUtil2.readInputStatus(modbusTcp.getIp(), modbusTcp.getPort(), addrExe);
        log.debug("---------读关到位状态------{}-{}-{}", modbusTcp.getBizCode(), addrExe, result);
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteGasServiceImpl.java
@@ -129,8 +129,8 @@
                return;
            }
            //根据通道数量线程等待,每个通道等待50秒
            Thread.sleep(list.size() * 50 * 1000);
            //根据通道数量线程等待,每个通道等待60秒
            Thread.sleep(list.size() * 60 * 1000);
            log.debug("--------------等待时间完成,开始获取检测结果-------------{}", modbusTcp.getBizCode());
            boolean isRun = isRun(request);
@@ -161,7 +161,7 @@
                modbusTcpTemp.setAddrExe(ServerUtil.getAddrExe(gasModbus.getPh3()));
                check = ModbusUtil2.readHoldingRegister(modbusTcpTemp.getIp(), modbusTcpTemp.getPort(), modbusTcpTemp.getAddrExe());
                gasResult.setPh3(check);
                log.debug("----通道{},Co2={},O2={},Ph3={}", gasModbus.getPasscode(), gasResult.getCo2(), gasResult.getO2(), gasResult.getPh3());
                results.add(gasResult);
            }
@@ -172,7 +172,7 @@
            //通知解析
            analysisService.analysisGas(request, results);
        } catch (Exception e) {
            log.error("------------更新气体检测结果进度失败,执行异常-----{}--{}", modbusTcp.getBizCode(), e.getMessage());
            log.error("------------更新气体检测结果进度失败,执行异常-----{}--{}", modbusTcp.getBizCode(), e);
        }
    }
igds-web/src/main/resources/gas-conf.properties
@@ -29,7 +29,25 @@
gas.mapImg.5013_001.img=5013_001.png
## 5318-\u6F6E\u9633
gas.mapImg.5318_001.img=5318_001.png
gas.mapImg.5318_001.img=5318_001.
## 5325 江西赣州-大公
gas.mapImg.5325_1.img=5325_001.png
gas.mapImg.5325_2.img=5325_001.png
gas.mapImg.5325_3.img=5325_001.png
gas.mapImg.5325_4.img=5325_001.png
gas.mapImg.5325_5.img=5325_001.png
gas.mapImg.5325_6.img=5325_001.png
gas.mapImg.5325_7.img=5325_001.png
gas.mapImg.5325_8.img=5325_001.png
gas.mapImg.5325_9.img=5325_001.png
gas.mapImg.5325_10.img=5325_001.png
gas.mapImg.5325_11.img=5325_001.png
gas.mapImg.5325_12.img=5325_001.png
gas.mapImg.5325_13.img=5325_001.png
gas.mapImg.5325_14.img=5325_001.png
gas.mapImg.5325_15.img=5325_001.png
gas.mapImg.5325_16.img=5325_001.png
## 5328  广西来宾
gas.mapImg.5328_0P18.img=5328_001_7.png
igds-web/src/main/resources/n2-conf.properties
@@ -110,6 +110,10 @@
n2.mapImg.5000_0138.a=default_qyc_a.png
n2.mapImg.5000_0138.b=default_qyc_b.png
## 5325_001
n2.mapImg.5325_001.a=pfc2_a.png
n2.mapImg.5325_001.b=pfc2_b.png
## 5329_001
n2.mapImg.5329_001.a=default_qyc_a.png
n2.mapImg.5329_001.b=default_qyc_b.png
igds-web/src/main/resources/static/admin/n2/n2-hand-5013.js
@@ -298,7 +298,7 @@
        layer.open({
            type: 1,
            title: '设备操作-' + domSelectDevice.attr("name"),
            area: ['450px', '200px'],
            area: ['450px', '150px'],
            shade: 0,
            content: $('#control-HL2'),
            btn: 0,
igds-web/src/main/resources/static/img/gas/5325/5325_001.png
igds-web/src/main/resources/static/img/n2/5325/pfc2_a.png
igds-web/src/main/resources/static/img/n2/5325/pfc2_b.png
igds-web/src/main/resources/templates/admin/n2/n2-hand-5013.html
@@ -323,16 +323,16 @@
    <div class="layui-btn-container m10">
        <button class="rkbk-quick-btn btn-fj layui-btn btn-blue"
            onClick="toExecute('F_OPEN')">
            <i><img th:src="@{../../static/images/icon-sm-fj.png}" /></i>强风
            <i><img th:src="@{../../static/images/icon-sm-fj.png}" /></i>开风机
        </button>
        <button class="rkbk-quick-btn btn-fj layui-btn btn-red"
            onClick="toExecute('F_CLOSE')">
            <i><img th:src="@{../../static/images/icon-sm-fj.png}" /></i>关风机
        </button>
        <button class="rkbk-quick-btn btn-fj layui-btn btn-blue"
            onClick="toExecute('F_OPEN_F')">
            <i><img th:src="@{../../static/images/icon-sm-fj.png}" /></i>弱风
        </button>
<!--        <button class="rkbk-quick-btn btn-fj layui-btn btn-blue"-->
<!--            onClick="toExecute('F_OPEN_F')">-->
<!--            <i><img th:src="@{../../static/images/icon-sm-fj.png}" /></i>弱风-->
<!--        </button>-->
    </div>
</div>