diff --git a/src/main/java/com/cm/tenlion/pollutantdata/controller/api/alarmlog/AlarmLogController.java b/src/main/java/com/cm/tenlion/pollutantdata/controller/api/alarmlog/AlarmLogController.java new file mode 100644 index 0000000..9fba58c --- /dev/null +++ b/src/main/java/com/cm/tenlion/pollutantdata/controller/api/alarmlog/AlarmLogController.java @@ -0,0 +1,58 @@ +package com.cm.tenlion.pollutantdata.controller.api.alarmlog; + +import com.cm.common.base.AbstractController; +import com.cm.common.constants.ISystemConstant; +import com.cm.common.pojo.ListPage; +import com.cm.common.result.ErrorResult; +import com.cm.common.result.SuccessResultList; +import com.cm.tenlion.pollutantdata.pojo.dtos.alarmlog.AlarmLogDTO; +import com.cm.tenlion.pollutantdata.service.alarmlog.IAlarmLogService; +import io.swagger.annotations.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +/** + * @ClassName: DataMinuteController + * @Description: 采集分钟数据 + * @Author: CodeFactory + * @Date: 2021-03-16 12:06:18 + * @Version: 3.0 + **/ +@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "警告日志接口") +@RestController +@RequestMapping(ISystemConstant.API_PREFIX + "/alarmlog") +public class AlarmLogController extends AbstractController { + + @Autowired + private IAlarmLogService alarmLogService; + + @ApiOperation(value = "警告日志列表", notes = "警告日志列表接口") + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("list") + public List list() { + Map params = requestParams(); + return alarmLogService.list(params); + } + + @ApiOperation(value = "警告日志分页列表", notes = "警告日志分页列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"), + @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"), + @ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("listpage") + public SuccessResultList> listPage(ListPage page) { + Map params = requestParams(); + page.setParams(params); + return alarmLogService.listPage(page); + } + +} \ No newline at end of file diff --git a/src/main/java/com/cm/tenlion/pollutantdata/controller/route/alarmlog/AlarmLogRouteController.java b/src/main/java/com/cm/tenlion/pollutantdata/controller/route/alarmlog/AlarmLogRouteController.java new file mode 100644 index 0000000..2822bee --- /dev/null +++ b/src/main/java/com/cm/tenlion/pollutantdata/controller/route/alarmlog/AlarmLogRouteController.java @@ -0,0 +1,28 @@ +package com.cm.tenlion.pollutantdata.controller.route.alarmlog; + +import com.cm.common.base.AbstractController; +import com.cm.common.constants.ISystemConstant; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; + +/** + * @ClassName: DataMinuteController + * @Description: 采集分钟数据 + * @Author: CodeFactory + * @Date: 2021-03-16 12:06:18 + * @Version: 3.0 + **/ +@Api(tags = ISystemConstant.ROUTE_TAGS_PREFIX + "警告日志路由") +@RestController +@RequestMapping(ISystemConstant.ROUTE_PREFIX + "/alarmlog") +public class AlarmLogRouteController extends AbstractController { + + @GetMapping("list-collector") + public ModelAndView list() { + return new ModelAndView("alarmlog/list-collector"); + } + +} \ No newline at end of file diff --git a/src/main/java/com/cm/tenlion/pollutantdata/controller/route/dataminute/DataMinuteRouteController.java b/src/main/java/com/cm/tenlion/pollutantdata/controller/route/dataminute/DataMinuteRouteController.java index 69b3b2a..36a4af7 100644 --- a/src/main/java/com/cm/tenlion/pollutantdata/controller/route/dataminute/DataMinuteRouteController.java +++ b/src/main/java/com/cm/tenlion/pollutantdata/controller/route/dataminute/DataMinuteRouteController.java @@ -30,9 +30,9 @@ public class DataMinuteRouteController extends AbstractController { return new ModelAndView("dataminute/update"); } - @GetMapping("list") + @GetMapping("list-collector") public ModelAndView list() { - return new ModelAndView("dataminute/list"); + return new ModelAndView("dataminute/list-collector"); } } \ No newline at end of file diff --git a/src/main/java/com/cm/tenlion/pollutantdata/pojo/dtos/alarmlog/AlarmLogDTO.java b/src/main/java/com/cm/tenlion/pollutantdata/pojo/dtos/alarmlog/AlarmLogDTO.java index ad7b5c9..0e0a6e1 100644 --- a/src/main/java/com/cm/tenlion/pollutantdata/pojo/dtos/alarmlog/AlarmLogDTO.java +++ b/src/main/java/com/cm/tenlion/pollutantdata/pojo/dtos/alarmlog/AlarmLogDTO.java @@ -20,6 +20,7 @@ public class AlarmLogDTO { private String collectorId; private String collectorName; private String pollId; + private String pollName; private Double rtd; private Double zsRtd; private Double alarmValue; @@ -89,6 +90,14 @@ public class AlarmLogDTO { this.pollId = pollId; } + public String getPollName() { + return pollName == null ? "" : pollName; + } + + public void setPollName(String pollName) { + this.pollName = pollName; + } + public Double getRtd() { return rtd == null ? 0 : rtd; } diff --git a/src/main/java/com/cm/tenlion/pollutantdata/pojo/dtos/dataminute/DataMinuteDTO.java b/src/main/java/com/cm/tenlion/pollutantdata/pojo/dtos/dataminute/DataMinuteDTO.java index fb85d83..2b350a4 100644 --- a/src/main/java/com/cm/tenlion/pollutantdata/pojo/dtos/dataminute/DataMinuteDTO.java +++ b/src/main/java/com/cm/tenlion/pollutantdata/pojo/dtos/dataminute/DataMinuteDTO.java @@ -20,12 +20,20 @@ public class DataMinuteDTO { private String collectorSn; @ApiModelProperty(name = "enterpriseId", value = "企业ID") private String enterpriseId; + @ApiModelProperty(name = "enterpriseName", value = "企业名称") + private String enterpriseName; @ApiModelProperty(name = "instrumentId", value = "数采仪ID") private String instrumentId; + @ApiModelProperty(name = "instrumentName", value = "数采仪名称") + private String instrumentName; @ApiModelProperty(name = "collectorId", value = "采集器ID") private String collectorId; + @ApiModelProperty(name = "collectorName", value = "采集器名称") + private String collectorName; @ApiModelProperty(name = "pollId", value = "污染因子编码") private String pollId; + @ApiModelProperty(name = "pollName", value = "污染因子名称") + private String pollName; @ApiModelProperty(name = "sampleTime", value = "污染物采样时间") private String sampleTime; @ApiModelProperty(name = "flag", value = "数据标记") @@ -93,6 +101,30 @@ public class DataMinuteDTO { this.collectorId = collectorId; } + public String getEnterpriseName() { + return enterpriseName == null ? "" : enterpriseName; + } + + public void setEnterpriseName(String enterpriseName) { + this.enterpriseName = enterpriseName; + } + + public String getInstrumentName() { + return instrumentName == null ? "" : instrumentName; + } + + public void setInstrumentName(String instrumentName) { + this.instrumentName = instrumentName; + } + + public String getCollectorName() { + return collectorName == null ? "" : collectorName; + } + + public void setCollectorName(String collectorName) { + this.collectorName = collectorName; + } + public String getPollId() { return pollId == null ? "" : pollId.trim(); } @@ -101,6 +133,14 @@ public class DataMinuteDTO { this.pollId = pollId; } + public String getPollName() { + return pollName == null ? "" : pollName; + } + + public void setPollName(String pollName) { + this.pollName = pollName; + } + public String getSampleTime() { return sampleTime == null ? "" : sampleTime.trim(); } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 8dff3f4..6bfc601 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -65,7 +65,7 @@ system: # 安全 security: oauth2: - oauth-server: http://192.168.0.106:7001/usercenter + oauth-server: http://192.168.0.103:7001/usercenter oauth-logout: ${security.oauth2.oauth-server}/logout?redirect_uri=${server.url} client: client-id: 74e4b55ad48840f9b4de86ce5da58b53 diff --git a/src/main/resources/mybatis/mapper/alarmlog/alarm-log-mapper.xml b/src/main/resources/mybatis/mapper/alarmlog/alarm-log-mapper.xml index d3c09ed..678f05b 100644 --- a/src/main/resources/mybatis/mapper/alarmlog/alarm-log-mapper.xml +++ b/src/main/resources/mybatis/mapper/alarmlog/alarm-log-mapper.xml @@ -11,6 +11,7 @@ + @@ -56,24 +57,80 @@ diff --git a/src/main/resources/mybatis/mapper/dataMinute/dataMinute-mapper.xml b/src/main/resources/mybatis/mapper/dataMinute/data-minute-mapper.xml similarity index 88% rename from src/main/resources/mybatis/mapper/dataMinute/dataMinute-mapper.xml rename to src/main/resources/mybatis/mapper/dataMinute/data-minute-mapper.xml index 112e39a..275571c 100644 --- a/src/main/resources/mybatis/mapper/dataMinute/dataMinute-mapper.xml +++ b/src/main/resources/mybatis/mapper/dataMinute/data-minute-mapper.xml @@ -6,9 +6,13 @@ + + + + @@ -293,9 +297,13 @@ t1.data_id, t1.collector_sn, t1.enterprise_id, + jt1.enterprise_name, t1.instrument_id, + jt2.instrument_name, t1.collector_id, + jt3.collector_name, t1.poll_id, + jt4.poll_name, t1.sample_time, t1.flag, t1.rtd, @@ -309,15 +317,46 @@ t1.second, t1.info_id, t1.info, - t1.gmt_create, - 1 + LEFT(t1.gmt_create, 19) gmt_create FROM pollute_data_minute t1 + LEFT JOIN + pollute_enterprise jt1 + ON + t1.enterprise_id = jt1.enterprise_id + AND + jt1.is_delete = 0 + LEFT JOIN + pollute_instrument jt2 + ON + t1.instrument_id = jt2.instrument_id + AND + jt2.is_delete = 0 + LEFT JOIN + pollute_collector jt3 + ON + t1.collector_id = jt3.collector_id + AND + jt3.is_delete = 0 + LEFT JOIN + pollute_poll jt4 + ON + t1.poll_id = jt4.poll_no WHERE 1 = 1 AND ( - t1.id LIKE CONCAT('%', #{keywords}, '%') + t1.collector_sn LIKE CONCAT('%', #{keywords}, '%') + OR + t1.poll_id LIKE CONCAT('%', #{keywords}, '%') + OR + jt1.enterprise_name LIKE CONCAT('%', #{keywords}, '%') + OR + jt2.instrument_name LIKE CONCAT('%', #{keywords}, '%') + OR + jt3.collector_name LIKE CONCAT('%', #{keywords}, '%') + OR + jt4.poll_name LIKE CONCAT('%', #{keywords}, '%') ) @@ -325,9 +364,25 @@ LEFT(t1.gmt_create, 10) = ]]> #{startTime} - AND + AND LEFT(t1.gmt_create, 10) #{endTime} + + AND + t1.enterprise_id = #{enterpriseId} + + + AND + t1.instrument_id = #{instrumentId} + + + AND + t1.collector_id = #{collectorId} + + + ORDER BY + t1.gmt_create DESC + @@ -438,6 +493,10 @@ AND t1.poll_id = #{pollId} + + AND + LEFT(t1.gmt_create, 10) = #{day} + diff --git a/src/main/resources/static/route/bigdata/style1/index.html b/src/main/resources/static/route/bigdata/style1/index.html index 7c89056..29b8cdf 100755 --- a/src/main/resources/static/route/bigdata/style1/index.html +++ b/src/main/resources/static/route/bigdata/style1/index.html @@ -28,15 +28,15 @@
  • -

    {{count.enterprise}}

    +

    {{count.enterprise}}

    监控企业
  • -

    {{count.instrument}}

    +

    {{count.instrument}}

    采集仪数量
  • -

    {{count.collector}}

    +

    {{count.collector}}

    采集器数量
  • @@ -201,6 +201,36 @@ } }, methods: { + showEnterprise: function() { + layer.open({ + type: 2, + title: false, + shadeClose: true, + shade: 0.8, + area: ['80%', '80%'], + content: 'route/bigdata/style1/list-enterprise.html' + }); + }, + showInstrument: function() { + layer.open({ + type: 2, + title: false, + shadeClose: true, + shade: 0.8, + area: ['80%', '80%'], + content: 'route/bigdata/style1/list-instrument.html' + }); + }, + showCollector: function() { + layer.open({ + type: 2, + title: false, + shadeClose: true, + shade: 0.8, + area: ['80%', '80%'], + content: 'route/bigdata/style1/list-collector.html' + }); + }, // 总数 initCount: function() { var self = this; diff --git a/src/main/resources/static/route/bigdata/style1/list-collector.html b/src/main/resources/static/route/bigdata/style1/list-collector.html new file mode 100644 index 0000000..f94c633 --- /dev/null +++ b/src/main/resources/static/route/bigdata/style1/list-collector.html @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/src/main/resources/static/route/bigdata/style1/list-enterprise.html b/src/main/resources/static/route/bigdata/style1/list-enterprise.html new file mode 100644 index 0000000..96e6bbb --- /dev/null +++ b/src/main/resources/static/route/bigdata/style1/list-enterprise.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/src/main/resources/static/route/bigdata/style1/list-instrument.html b/src/main/resources/static/route/bigdata/style1/list-instrument.html new file mode 100644 index 0000000..481d998 --- /dev/null +++ b/src/main/resources/static/route/bigdata/style1/list-instrument.html @@ -0,0 +1,227 @@ + + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/alarmlog/list-collector.html b/src/main/resources/templates/alarmlog/list-collector.html new file mode 100644 index 0000000..8b16c5f --- /dev/null +++ b/src/main/resources/templates/alarmlog/list-collector.html @@ -0,0 +1,294 @@ + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/collector/list.html b/src/main/resources/templates/collector/list.html index 2f18877..b2b7faf 100644 --- a/src/main/resources/templates/collector/list.html +++ b/src/main/resources/templates/collector/list.html @@ -169,6 +169,16 @@ return rowData; } }, + {field: 'dataMinute', width: 100, title: '上报记录', align:'center', fixed: 'right', + templet: function(row) { + return ''; + } + }, + {field: 'alarmLog', width: 100, title: '警告记录', align:'center', fixed: 'right', + templet: function(row) { + return ''; + } + }, ] ], page: true, @@ -311,6 +321,22 @@ height: '500px', onClose: function() {} }); + } else if(event === 'dataMinuteEvent') { + top.dialog.open({ + url: top.restAjax.path('route/dataminute/list-collector?collectorId={collectorId}', [data.collectorId]), + title: '【'+ data.collectorName +'】的实时数据', + width: '80%', + height: '80%', + onClose: function() {} + }); + } else if(event === 'alarmLogEvent') { + top.dialog.open({ + url: top.restAjax.path('route/alarmlog/list-collector?collectorId={collectorId}', [data.collectorId]), + title: '【'+ data.collectorName +'】的报警数据', + width: '80%', + height: '80%', + onClose: function() {} + }); } }); }); diff --git a/src/main/resources/templates/dataMinute/list.html b/src/main/resources/templates/dataMinute/list-collector.html similarity index 73% rename from src/main/resources/templates/dataMinute/list.html rename to src/main/resources/templates/dataMinute/list-collector.html index e5e9e0d..c3e659f 100644 --- a/src/main/resources/templates/dataMinute/list.html +++ b/src/main/resources/templates/dataMinute/list-collector.html @@ -11,7 +11,7 @@ -
    +
    @@ -31,20 +31,6 @@
    - -
    @@ -65,28 +51,55 @@ var laydate = layui.laydate; var common = layui.common; var resizeTimeout = null; - var tableUrl = 'api/dataminute/listpage'; + var tableUrl = 'api/dataminute/listpage?collectorId={collectorId}&descOrderBy={descOrderBy}'; + var collectorId = top.restAjax.params(window.location.href).collectorId; // 初始化表格 function initTable() { table.render({ elem: '#dataTable', id: 'dataTable', - url: top.restAjax.path(tableUrl, []), + url: top.restAjax.path(tableUrl, [collectorId, 'gmtCreate']), width: admin.screen() > 1 ? '100%' : '', - height: $win.height() - 90, + height: $win.height() - 60, limit: 20, limits: [20, 40, 60, 80, 100, 200], - toolbar: '#headerToolBar', request: { pageName: 'page', limitName: 'rows' }, cols: [ [ - {type:'checkbox', fixed: 'left'}, {field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '{{d.LAY_INDEX}}'}, - {field: 'dataId', width: 180, title: '', align:'center', + {field: 'rtd', width: 100, title: '实时数据', align:'center', fixed: 'left', + templet: function(row) { + var rowData = row[this.field]; + if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { + return '-'; + } + return rowData; + } + }, + {field: 'zsRtd', width: 100, title: '实时折算值', align:'center', fixed: 'left', + templet: function(row) { + var rowData = row[this.field]; + if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { + return '-'; + } + return rowData; + } + }, + + {field: 'pollId', width: 180, title: '污染因子编码', align:'center', + templet: function(row) { + var rowData = row[this.field]; + if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { + return '-'; + } + return rowData; + } + }, + {field: 'pollName', width: 180, title: '污染因子', align:'center', templet: function(row) { var rowData = row[this.field]; if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { @@ -104,7 +117,7 @@ return rowData; } }, - {field: 'enterpriseId', width: 180, title: '企业ID', align:'center', + {field: 'enterpriseName', width: 180, title: '企业名称', align:'center', templet: function(row) { var rowData = row[this.field]; if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { @@ -113,7 +126,7 @@ return rowData; } }, - {field: 'instrumentId', width: 180, title: '数采仪ID', align:'center', + {field: 'instrumentName', width: 180, title: '数采仪名称', align:'center', templet: function(row) { var rowData = row[this.field]; if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { @@ -122,16 +135,7 @@ return rowData; } }, - {field: 'collectorId', width: 180, title: '采集器ID', align:'center', - templet: function(row) { - var rowData = row[this.field]; - if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { - return '-'; - } - return rowData; - } - }, - {field: 'pollId', width: 180, title: '污染因子编码', align:'center', + {field: 'collectorName', width: 180, title: '采集器名称', align:'center', templet: function(row) { var rowData = row[this.field]; if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { @@ -158,78 +162,6 @@ return rowData; } }, - {field: 'rtd', width: 180, title: '实时数据', align:'center', - templet: function(row) { - var rowData = row[this.field]; - if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { - return '-'; - } - return rowData; - } - }, - {field: 'zsRtd', width: 180, title: '实时折算值', align:'center', - templet: function(row) { - var rowData = row[this.field]; - if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { - return '-'; - } - return rowData; - } - }, - {field: 'yyyy', width: 180, title: '年', align:'center', - templet: function(row) { - var rowData = row[this.field]; - if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { - return '-'; - } - return rowData; - } - }, - {field: 'month', width: 180, title: '月', align:'center', - templet: function(row) { - var rowData = row[this.field]; - if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { - return '-'; - } - return rowData; - } - }, - {field: 'day', width: 180, title: '日', align:'center', - templet: function(row) { - var rowData = row[this.field]; - if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { - return '-'; - } - return rowData; - } - }, - {field: 'hour', width: 180, title: '时', align:'center', - templet: function(row) { - var rowData = row[this.field]; - if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { - return '-'; - } - return rowData; - } - }, - {field: 'minus', width: 180, title: '分', align:'center', - templet: function(row) { - var rowData = row[this.field]; - if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { - return '-'; - } - return rowData; - } - }, - {field: 'second', width: 180, title: '秒', align:'center', - templet: function(row) { - var rowData = row[this.field]; - if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') { - return '-'; - } - return rowData; - } - }, {field: 'infoId', width: 180, title: '设备信息编码', align:'center', templet: function(row) { var rowData = row[this.field]; @@ -273,7 +205,7 @@ // 重载表格 function reloadTable(currentPage) { table.reload('dataTable', { - url: top.restAjax.path(tableUrl, []), + url: top.restAjax.path(tableUrl, [collectorId, 'gmtCreate']), where: { keywords: $('#keywords').val(), startTime: $('#startTime').val(), @@ -282,7 +214,7 @@ page: { curr: currentPage }, - height: $win.height() - 90, + height: $win.height() - 60, }); } // 初始化日期 diff --git a/src/main/resources/templates/dataMinute/save.html b/src/main/resources/templates/dataMinute/save.html deleted file mode 100644 index b82d1d6..0000000 --- a/src/main/resources/templates/dataMinute/save.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    - -
    - -
    -
    - -
    - -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    - - - - - - - \ No newline at end of file diff --git a/src/main/resources/templates/dataMinute/update.html b/src/main/resources/templates/dataMinute/update.html deleted file mode 100644 index d165f06..0000000 --- a/src/main/resources/templates/dataMinute/update.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - - - - - - - - -
    -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    - -
    - -
    -
    - -
    - -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    - - - - - - - \ No newline at end of file diff --git a/src/test/java/cn/com/tenlion/pollutantdata/HJ212Test.java b/src/test/java/cn/com/tenlion/pollutantdata/HJ212Test.java index ed437d9..879a2f3 100644 --- a/src/test/java/cn/com/tenlion/pollutantdata/HJ212Test.java +++ b/src/test/java/cn/com/tenlion/pollutantdata/HJ212Test.java @@ -96,7 +96,7 @@ public class HJ212Test { }); } }); - ChannelFuture channelFuture = bootstrap.connect("127.0.0.1", 6666).sync(); + ChannelFuture channelFuture = bootstrap.connect("124.67.110.246", 6666).sync(); channelFuture.addListener((ChannelFutureListener) future -> { if (!future.isSuccess()) { future.channel().pipeline().fireChannelInactive();