From 28e1b2a9f10d774912fe55afe42562746105d3d7 Mon Sep 17 00:00:00 2001 From: Timer <@> Date: Sun, 8 Mar 2026 04:08:33 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=A1=E9=81=93=EF=BC=8C=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=EF=BC=8C=E6=95=B0=E6=8D=AE=E6=BA=90=E5=88=87=E6=8D=A2=EF=BC=8C?= =?UTF-8?q?=E5=A4=A7=E5=B1=8F=EF=BC=8C=E6=B5=8B=E9=87=8F=E7=82=B9=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sipai/config/RedissonConfig.java | 41 ++- .../pipeline/PipelineDataController.java | 3 + .../controller/work/MPointController.java | 279 ++++++++++-------- .../java/com/sipai/dao/scada/MPointDao.java | 4 + .../sipai/entity/alarm/PipelineAreaEnum.java | 41 +++ .../sipai/entity/pipeline/PipelineData.java | 15 + .../mapper/pipeline/PipelineDataMapper.xml | 19 +- .../com/sipai/mapper/scada/MPointMapper.xml | 3 + .../java/com/sipai/netty/NettyClient.java | 113 +++++-- .../com/sipai/netty/NettyClientHandler.java | 55 +++- .../com/sipai/netty/NettyServerHandler.java | 28 +- .../equipment/EquipmentCardService.java | 18 +- .../maintenance/impl/RepairServiceImpl.java | 66 +++-- .../sipai/service/scada/MPointService.java | 44 +++ .../sipai/tools/DataSourceInterceptor.java | 25 +- .../webapp/WEB-INF/spring-mybatis-scada.xml | 2 +- src/main/webapp/WEB-INF/spring-mybatis.xml | 2 +- .../webapp/jsp/pipeline/pipelineDataAdd.jsp | 10 + .../webapp/jsp/pipeline/pipelineDataEdit.jsp | 10 + .../webapp/jsp/pipeline/pipelineDataList.jsp | 22 +- .../webapp/jsp/pipeline/pipelineDataView.jsp | 12 + 21 files changed, 605 insertions(+), 207 deletions(-) create mode 100644 src/main/java/com/sipai/entity/alarm/PipelineAreaEnum.java diff --git a/src/main/java/com/sipai/config/RedissonConfig.java b/src/main/java/com/sipai/config/RedissonConfig.java index 8820d7b8..293ee131 100644 --- a/src/main/java/com/sipai/config/RedissonConfig.java +++ b/src/main/java/com/sipai/config/RedissonConfig.java @@ -10,6 +10,8 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import java.util.concurrent.TimeUnit; + /** * @Author : YYJ * @CreateTime : 2021/9/14 @@ -32,6 +34,18 @@ public class RedissonConfig { @Value("${redis.password}") public String password; + + @Value("${redis.timeout:10000}") + public int timeout; + + @Value("${redis.maxIdle:100}") + public int maxIdle; + + @Value("${redis.maxActive:300}") + public int maxActive; + + @Value("${redis.testOnBorrow:true}") + public boolean testOnBorrow; @Value("${cluster1.host.port:}") public String cluster1; @@ -58,10 +72,33 @@ public class RedissonConfig { singleServerConfig.setAddress("redis://" + host + ":" + port); //设置连接密码 singleServerConfig.setPassword(password); + // 设置超时时间(毫秒) + singleServerConfig.setTimeout(timeout); + // 设置连接池大小 + singleServerConfig.setConnectionMinimumIdleSize(Math.min(10, maxIdle)); + singleServerConfig.setConnectionPoolSize(maxActive); + // 设置空闲连接超时 + singleServerConfig.setIdleConnectionTimeout(10000); + // 设置 ping 间隔,保持连接活跃 + singleServerConfig.setPingConnectionInterval(10000); + // 设置失败重试次数 + singleServerConfig.setRetryAttempts(3); + // 设置重试间隔 + singleServerConfig.setRetryInterval(1500); + // 设置数据库索引 // singleServerConfig.setDatabase(Integer.valueOf(database)); }else if(MODE_CLUSTER.equals(mode)){//集群 conf.useClusterServers() - .setScanInterval(2000); + .setScanInterval(2000) + .setTimeout(timeout) + .setMasterConnectionMinimumIdleSize(Math.min(10, maxIdle)) + .setMasterConnectionPoolSize(maxActive) + .setSlaveConnectionMinimumIdleSize(Math.min(10, maxIdle)) + .setSlaveConnectionPoolSize(maxActive) + .setIdleConnectionTimeout(10000) + .setPingConnectionInterval(10000) + .setRetryAttempts(3) + .setRetryInterval(1500); if(cluster1!=null && !cluster1.isEmpty()){ conf.useClusterServers().addNodeAddress("redis://" + cluster1); } @@ -83,7 +120,7 @@ public class RedissonConfig { // .setPassword(password); } - //使用json序列化方式 + //使用 json 序列化方式 Codec codec = new JsonJacksonCodec(); conf.setCodec(codec); redisson = Redisson.create(conf); diff --git a/src/main/java/com/sipai/controller/pipeline/PipelineDataController.java b/src/main/java/com/sipai/controller/pipeline/PipelineDataController.java index 981b7d7f..65fde121 100644 --- a/src/main/java/com/sipai/controller/pipeline/PipelineDataController.java +++ b/src/main/java/com/sipai/controller/pipeline/PipelineDataController.java @@ -47,6 +47,9 @@ public class PipelineDataController { if (request.getParameter("search_name") != null && !request.getParameter("search_name").isEmpty()) { wherestr += " and pipeline_name like '%" + request.getParameter("search_name") + "%'"; } + if (request.getParameter("search_pipeline_area") != null && !request.getParameter("search_pipeline_area").isEmpty()) { + wherestr += " and pipeline_area = '" + request.getParameter("search_pipeline_area") + "'"; + } PageHelper.startPage(page, rows); List list = this.pipelineDataService.selectListByWhere(wherestr + orderstr); PageInfo pInfo = new PageInfo(list); diff --git a/src/main/java/com/sipai/controller/work/MPointController.java b/src/main/java/com/sipai/controller/work/MPointController.java index fb35057a..d9264fb7 100644 --- a/src/main/java/com/sipai/controller/work/MPointController.java +++ b/src/main/java/com/sipai/controller/work/MPointController.java @@ -3,6 +3,7 @@ package com.sipai.controller.work; import com.fasterxml.jackson.core.JsonProcessingException; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.sipai.dao.repository.MPointRepo; import com.sipai.entity.base.Result; import com.sipai.entity.data.CurveMpoint; import com.sipai.entity.data.CurveRemark; @@ -18,6 +19,7 @@ import com.sipai.entity.user.*; import com.sipai.entity.visual.JspElement; import com.sipai.entity.visual.VisualCacheData; import com.sipai.entity.work.MeasurePoint_DATA; +import com.sipai.entity.work.MPointES; import com.sipai.entity.work.OverviewProduce; import com.sipai.entity.work.OverviewProduceBlot; import com.sipai.service.company.CompanyService; @@ -63,6 +65,7 @@ import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.sort.SortBuilders; import org.elasticsearch.search.sort.SortOrder; +import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -91,6 +94,7 @@ import java.util.*; @Controller @RequestMapping("/work/mpoint") public class MPointController { + private static final Logger logger = Logger.getLogger(MPointController.class); @Resource private MPointService mPointService; @Resource @@ -157,6 +161,8 @@ public class MPointController { private CompanyService companyService; @Resource private UserService userService; + @Autowired + private MPointRepo mPointRepo; /** * 从数据库查数据 @@ -414,146 +420,177 @@ public class MPointController { @RequestParam(value = "order", required = false) String order) { String companyId = request.getParameter("companyId"); sort = "morder"; - SortOrder sortOrder = null; -// if (order == null || order == "asc") { -// sortOrder = SortOrder.ASC; -// } else { -// sortOrder = SortOrder.DESC; -// } - sortOrder = SortOrder.ASC; - NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder(); - BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); + SortOrder sortOrder = SortOrder.ASC; - BoolQueryBuilder childBoolQueryBuilder = QueryBuilders.boolQuery(); + // 获取查询参数 String searchName = request.getParameter("search_name"); String searchCode = request.getParameter("search_code"); String pSectionId = request.getParameter("pSectionId"); String type = request.getParameter("type"); String signaltype = request.getParameter("signaltype"); - - if (searchName != null && !searchName.isEmpty()) { - childBoolQueryBuilder.must(QueryBuilders.wildcardQuery("parmname.keyword", "*" + searchName + "*")); - } - if (searchCode != null && !searchCode.isEmpty()) { - childBoolQueryBuilder.must(QueryBuilders.wildcardQuery("mpointcode.keyword", "*" + searchCode + "*")); -// childBoolQueryBuilder.must(QueryBuilders.matchPhrasePrefixQuery("mpointcode", searchCode)); - } - if (type != null && !type.isEmpty() && !type.equals("all")) { - childBoolQueryBuilder.must(QueryBuilders.matchPhraseQuery("source_type", type)); - } - if (pSectionId != null && !pSectionId.isEmpty() && !pSectionId.equals("")) { - childBoolQueryBuilder.must(QueryBuilders.matchPhraseQuery("processsectioncode", pSectionId)); - } - if (signaltype != null && !signaltype.isEmpty() && !signaltype.equals("-1") && !signaltype.equals("") && !signaltype.equals("all")) { - childBoolQueryBuilder.must(QueryBuilders.matchPhraseQuery("signaltype", signaltype)); - } - - //设备id - if (request.getParameter("pid") != null && !request.getParameter("pid").isEmpty()) { - childBoolQueryBuilder.must(QueryBuilders.matchPhraseQuery("equipmentid", request.getParameter("pid"))); - } - - //设备编号 - if (request.getParameter("equipmentcardId") != null && !request.getParameter("equipmentcardId").isEmpty()) { - EquipmentCard equipmentCard = equipmentCardService.getEquipmentByEquipmentCardId(request.getParameter("equipmentcardId")); - if (equipmentCard != null) { - childBoolQueryBuilder.must(QueryBuilders.matchPhraseQuery("equipmentid", equipmentCard.getId())); - } - } - -// if (request.getParameter("signaltag") != null && !request.getParameter("signaltag").isEmpty()) { -// String signalTag = request.getParameter("signaltag").replace(",", " "); -// childBoolQueryBuilder.must(QueryBuilders.matchQuery("signaltag", signalTag)); -// } - -// childBoolQueryBuilder.must(QueryBuilders.matchQuery("bizid", companyId)); - String unitId = request.getParameter("unitId"); - if (unitId != null && !unitId.isEmpty()) { - List units = this.unitService.getChildrenCBWByUnitId(unitId); - Unit unit = this.unitService.getUnitById(unitId); - if (unit != null) { - units.add(unit); - } - //二次查询 + // 比对ES全量数据总数和数据库全量数据总数 + long dbCount = this.mPointService.getDbTotalCount(); + long esCount = this.mPointService.getEsTotalCount(); + logger.info("getlistES数据比对 -> DB总数:" + dbCount + ", ES总数:" + esCount); - String bizids = ""; + String result; + if (dbCount != esCount) { + // 数据不一致,将数据库全量数据更新到ES + logger.info("ES与DB数据总数不一致,执行全量同步并返回数据库结果"); + this.mPointService.syncAllDbDataToEs(); - //根据搜索关键字如果存在对应组织id,并且在搜索的bizid范围内,则将关键字搜索优先搜索 + // 构建数据库查询条件,返回数据库结果至前端 + String wherestr = " where 1=1 "; if (searchName != null && !searchName.isEmpty()) { - int lastMatchNum = 1; - String keyword = ""; - char[] sNchars = searchName.toCharArray(); -// logger.info("units--"+JSONArray.fromObject(units).toString()); - for (int u = 0; u < units.size(); u++) { - int matchNum = 0; - for (char item : sNchars) { - if (units.get(u).getSname().contains(String.valueOf(item))) { - matchNum++; + wherestr += " and (parmname like '%" + searchName + "%' or mpointcode like '%" + searchName + "%')"; + } + if (searchCode != null && !searchCode.isEmpty()) { + wherestr += " and mpointcode like '%" + searchCode + "%' "; + } + if (type != null && !type.isEmpty() && !type.equals("all")) { + wherestr += " and source_type = '" + type + "' "; + } + if (pSectionId != null && !pSectionId.isEmpty()) { + wherestr += " and processSectionCode = '" + pSectionId + "' "; + } + if (signaltype != null && !signaltype.isEmpty() && !signaltype.equals("-1") && !signaltype.equals("all")) { + wherestr += " and SignalType = '" + signaltype + "' "; + } + // 设备id + if (request.getParameter("pid") != null && !request.getParameter("pid").isEmpty()) { + wherestr += " and equipmentId = '" + request.getParameter("pid") + "' "; + } + // 设备编号 + if (request.getParameter("equipmentcardId") != null && !request.getParameter("equipmentcardId").isEmpty()) { + EquipmentCard equipmentCard = equipmentCardService.getEquipmentByEquipmentCardId(request.getParameter("equipmentcardId")); + if (equipmentCard != null) { + wherestr += " and equipmentId = '" + equipmentCard.getId() + "' "; + } + } + // unitId -> bizid 过滤 + if (unitId != null && !unitId.isEmpty()) { + List units = this.unitService.getChildrenCBWByUnitId(unitId); + Unit unit = this.unitService.getUnitById(unitId); + if (unit != null) { + units.add(unit); + } + if (units.size() > 0) { + String bizids = ""; + for (int u = 0; u < units.size(); u++) { + if (!bizids.isEmpty()) { + bizids += "','"; + } + bizids += units.get(u).getId(); + } + wherestr += " and bizid in ('" + bizids + "') "; + } + } + + String orderstr = " order by " + sort + " asc "; + PageHelper.startPage(page, rows); + List list = this.mPointService.selectListByWhere(companyId, wherestr + orderstr); + // 查询工艺段 + for (MPoint mp : list) { + List processSections = processSectionService.selectSimpleListByWhere("where code = '" + mp.getProcesssectioncode() + "'"); + if (processSections != null && processSections.size() > 0) { + mp.setProcessSection(processSections.get(0)); + } + } + PageInfo pi = new PageInfo(list); + JSONArray json = JSONArray.fromObject(list); + result = "{\"total\":" + pi.getTotal() + ",\"rows\":" + json + "}"; + } else { + // 数据一致,直接返回ES数据至前端 + NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder(); + BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); + BoolQueryBuilder childBoolQueryBuilder = QueryBuilders.boolQuery(); + + if (searchName != null && !searchName.isEmpty()) { + childBoolQueryBuilder.must(QueryBuilders.wildcardQuery("parmname.keyword", "*" + searchName + "*")); + } + if (searchCode != null && !searchCode.isEmpty()) { + childBoolQueryBuilder.must(QueryBuilders.wildcardQuery("mpointcode.keyword", "*" + searchCode + "*")); + } + if (type != null && !type.isEmpty() && !type.equals("all")) { + childBoolQueryBuilder.must(QueryBuilders.matchPhraseQuery("source_type", type)); + } + if (pSectionId != null && !pSectionId.isEmpty() && !pSectionId.equals("")) { + childBoolQueryBuilder.must(QueryBuilders.matchPhraseQuery("processsectioncode", pSectionId)); + } + if (signaltype != null && !signaltype.isEmpty() && !signaltype.equals("-1") && !signaltype.equals("") && !signaltype.equals("all")) { + childBoolQueryBuilder.must(QueryBuilders.matchPhraseQuery("signaltype", signaltype)); + } + + // 设备id + if (request.getParameter("pid") != null && !request.getParameter("pid").isEmpty()) { + childBoolQueryBuilder.must(QueryBuilders.matchPhraseQuery("equipmentid", request.getParameter("pid"))); + } + + // 设备编号 + if (request.getParameter("equipmentcardId") != null && !request.getParameter("equipmentcardId").isEmpty()) { + EquipmentCard equipmentCard = equipmentCardService.getEquipmentByEquipmentCardId(request.getParameter("equipmentcardId")); + if (equipmentCard != null) { + childBoolQueryBuilder.must(QueryBuilders.matchPhraseQuery("equipmentid", equipmentCard.getId())); + } + } + + if (unitId != null && !unitId.isEmpty()) { + List units = this.unitService.getChildrenCBWByUnitId(unitId); + Unit unit = this.unitService.getUnitById(unitId); + if (unit != null) { + units.add(unit); + } + + String bizids = ""; + if (searchName != null && !searchName.isEmpty()) { + int lastMatchNum = 1; + String keyword = ""; + char[] sNchars = searchName.toCharArray(); + for (int u = 0; u < units.size(); u++) { + int matchNum = 0; + for (char item : sNchars) { + if (units.get(u).getSname().contains(String.valueOf(item))) { + matchNum++; + } + } + if (matchNum > lastMatchNum) { + keyword = units.get(u).getId(); } } -// logger.info("unit-match--"+u+"--"+matchNum); - if (matchNum > lastMatchNum) { - keyword = units.get(u).getId(); + if (!keyword.isEmpty()) { + units = this.getParent(keyword, units); + bizids = keyword; } + } + for (int u = 0; u < units.size(); u++) { + if (!bizids.isEmpty()) { + bizids += " "; + } + bizids += units.get(u).getId(); + } + childBoolQueryBuilder.must(QueryBuilders.matchQuery("bizid", bizids)); + } + boolQueryBuilder.should(childBoolQueryBuilder); + nativeSearchQueryBuilder.withSort(SortBuilders.fieldSort(sort).order(sortOrder)); + nativeSearchQueryBuilder.withQuery(boolQueryBuilder); + nativeSearchQueryBuilder.withPageable(PageRequest.of(page - 1, rows)); + Page list = this.mPointService.selectListByES(nativeSearchQueryBuilder); + + // 查询工艺段 + for (MPoint mp : list) { + List processSections = processSectionService.selectSimpleListByWhere("where code = '" + mp.getProcesssectioncode() + "'"); + if (processSections != null && processSections.size() > 0) { + mp.setProcessSection(processSections.get(0)); } - if (!keyword.isEmpty()) { - units = this.getParent(keyword, units); - //关键字提前,优先搜索 - bizids = keyword; - } -// logger.info("units---match--"+JSONArray.fromObject(units).toString()); } - for (int u = 0; u < units.size(); u++) { -// if(!CommString.UNIT_TYPE_DEPT.equals(units.get(u).getType()) && !CommString.UNIT_TYPE_USER.equals(units.get(u).getType()) ){ - if (!bizids.isEmpty()) { - bizids += " "; - } - bizids += units.get(u).getId(); -// } - } -// System.out.println("测量点搜索查询bizId--" + bizids); - childBoolQueryBuilder.must(QueryBuilders.matchQuery("bizid", bizids)); + + JSONArray json = JSONArray.fromObject(list.getContent()); + result = "{\"total\":" + list.getTotalElements() + ",\"rows\":" + json + "}"; } - -// System.out.println("---查询条件--" + childBoolQueryBuilder.toString()); - boolQueryBuilder.should(childBoolQueryBuilder); - nativeSearchQueryBuilder.withSort(SortBuilders.fieldSort(sort).order(sortOrder)); - nativeSearchQueryBuilder.withQuery(boolQueryBuilder); - -// Page list= this.mPointService.selectListByES(nativeSearchQueryBuilder); - -// int total = list.size(); - nativeSearchQueryBuilder.withPageable(PageRequest.of(page - 1, rows)); - Page list = this.mPointService.selectListByES(nativeSearchQueryBuilder); - - - /*for (MPoint mp : list) { - Unit unit = this.unitService.getUnitById(mp.getBizid()); - if (unit != null) { - String unitName = unit.getSname(); - if (unitName == null || unitName.isEmpty()) { - unitName = unit.getName(); - } - mp.setBizname(unitName); - } - }*/ - - //查询工艺段 - for (MPoint mp : list) { - List processSections = processSectionService.selectSimpleListByWhere("where code = '" + mp.getProcesssectioncode() + "'"); - if (processSections != null && processSections.size() > 0) { - mp.setProcessSection(processSections.get(0)); - } - } - - JSONArray json = JSONArray.fromObject(list.getContent()); - - - String result = "{\"total\":" + list.getTotalElements() + ",\"rows\":" + json + "}"; model.addAttribute("result", result); return new ModelAndView("result"); } diff --git a/src/main/java/com/sipai/dao/scada/MPointDao.java b/src/main/java/com/sipai/dao/scada/MPointDao.java index 8f56e8c2..ffbaefe9 100644 --- a/src/main/java/com/sipai/dao/scada/MPointDao.java +++ b/src/main/java/com/sipai/dao/scada/MPointDao.java @@ -40,6 +40,10 @@ public class MPointDao extends CommDaoImpl{ return list; } + public long selectCount() { + return getSqlSession().selectOne("scada.MPointMapper.selectCount"); + } + public MPoint selectByMpointCode(String mpointcode){ MPoint mPoint = this.getSqlSession().selectOne("scada.MPointMapper.selectByMpointCode", mpointcode); return mPoint; diff --git a/src/main/java/com/sipai/entity/alarm/PipelineAreaEnum.java b/src/main/java/com/sipai/entity/alarm/PipelineAreaEnum.java new file mode 100644 index 00000000..5a81ff4f --- /dev/null +++ b/src/main/java/com/sipai/entity/alarm/PipelineAreaEnum.java @@ -0,0 +1,41 @@ +package com.sipai.entity.alarm; + +public enum PipelineAreaEnum { + + PipelineArea_Out_Side("OUT_SIDE", "场外管道"), + PipelineArea_In_Side("In_SIDE", "场内管道"); + + private String code; + private String description; + + PipelineAreaEnum(String code, String description) { + this.code = code; + this.description = description; + } + + public String getCode() { + return code; + } + + public String getDescription() { + return description; + } + + public static PipelineAreaEnum getByCode(String code) { + for (PipelineAreaEnum pipelineEnum : PipelineAreaEnum.values()) { + if (pipelineEnum.getCode().equals(code)) { + return pipelineEnum; + } + } + return null; + } + + public static PipelineAreaEnum getByName(String name) { + for (PipelineAreaEnum pipelineEnum : PipelineAreaEnum.values()) { + if (pipelineEnum.getDescription().equals(name)) { + return pipelineEnum; + } + } + return null; + } +} diff --git a/src/main/java/com/sipai/entity/pipeline/PipelineData.java b/src/main/java/com/sipai/entity/pipeline/PipelineData.java index 329cbad4..326533ba 100644 --- a/src/main/java/com/sipai/entity/pipeline/PipelineData.java +++ b/src/main/java/com/sipai/entity/pipeline/PipelineData.java @@ -71,6 +71,12 @@ public class PipelineData extends SQLAdapter implements Serializable { @Column(name = "pipeline_invert_elevation_m", precision = 10, scale = 5) private BigDecimal pipelineInvertElevationM; + /** + * 管道场内场外标识(场外管道/场内管道) + */ + @Column(name = "pipeline_area", length = 20) + private String pipelineArea; + // 构造方法 public PipelineData() { } @@ -148,6 +154,14 @@ public class PipelineData extends SQLAdapter implements Serializable { this.pipelineInvertElevationM = pipelineInvertElevationM; } + public String getPipelineArea() { + return pipelineArea; + } + + public void setPipelineArea(String pipelineArea) { + this.pipelineArea = pipelineArea; + } + @Override public String toString() { return "PipelineData{" + @@ -160,6 +174,7 @@ public class PipelineData extends SQLAdapter implements Serializable { ", startGroundElevationM=" + startGroundElevationM + ", endGroundElevationM=" + endGroundElevationM + ", pipelineInvertElevationM=" + pipelineInvertElevationM + + ", pipelineArea='" + pipelineArea + '\'' + '}'; } } \ No newline at end of file diff --git a/src/main/java/com/sipai/mapper/pipeline/PipelineDataMapper.xml b/src/main/java/com/sipai/mapper/pipeline/PipelineDataMapper.xml index d4aa72fd..1e0d5032 100644 --- a/src/main/java/com/sipai/mapper/pipeline/PipelineDataMapper.xml +++ b/src/main/java/com/sipai/mapper/pipeline/PipelineDataMapper.xml @@ -11,10 +11,11 @@ + id, pipeline_name, diameter_mm, length_m, start_burial_depth_m, end_burial_depth_m, - start_ground_elevation_m, end_ground_elevation_m, pipeline_invert_elevation_m + start_ground_elevation_m, end_ground_elevation_m, pipeline_invert_elevation_m, pipeline_area diff --git a/src/main/java/com/sipai/mapper/scada/MPointMapper.xml b/src/main/java/com/sipai/mapper/scada/MPointMapper.xml index 2db887ed..075ff9c0 100644 --- a/src/main/java/com/sipai/mapper/scada/MPointMapper.xml +++ b/src/main/java/com/sipai/mapper/scada/MPointMapper.xml @@ -764,6 +764,9 @@ structureId = #{structureId,jdbcType=VARCHAR} where ID = #{id,jdbcType=VARCHAR} + +
+ +
+ +
+
diff --git a/src/main/webapp/jsp/pipeline/pipelineDataEdit.jsp b/src/main/webapp/jsp/pipeline/pipelineDataEdit.jsp index 54884e8d..0d3fb528 100644 --- a/src/main/webapp/jsp/pipeline/pipelineDataEdit.jsp +++ b/src/main/webapp/jsp/pipeline/pipelineDataEdit.jsp @@ -109,6 +109,16 @@ value="${pipelineData.pipelineName}" placeholder="请输入管道名称">
+
+ +
+ +
+
diff --git a/src/main/webapp/jsp/pipeline/pipelineDataList.jsp b/src/main/webapp/jsp/pipeline/pipelineDataList.jsp index 9293090e..460c1edc 100644 --- a/src/main/webapp/jsp/pipeline/pipelineDataList.jsp +++ b/src/main/webapp/jsp/pipeline/pipelineDataList.jsp @@ -137,7 +137,8 @@ page: params.offset / params.limit + 1, sort: params.sort, order: params.order, - search_name: $('#search_name').val() + search_name: $('#search_name').val(), + search_pipeline_area: $('#search_pipeline_area').val() }; } @@ -169,6 +170,20 @@ formatter: function(value, row, index) { return '' + row.pipelineName + ''; } + }, { + field: 'pipelineArea', + title: '场内场外', + align: 'center', + valign: 'middle', + width: '10%', + formatter: function(value, row, index) { + if (value == 'OUT_SIDE') { + return '场外管道'; + } else if (value == 'In_SIDE') { + return '场内管道'; + } + return value; + } }, { field: 'diameterMm', title: '直径(mm)', @@ -272,6 +287,11 @@
+
diff --git a/src/main/webapp/jsp/pipeline/pipelineDataView.jsp b/src/main/webapp/jsp/pipeline/pipelineDataView.jsp index 5d42b5b3..1c17b9fa 100644 --- a/src/main/webapp/jsp/pipeline/pipelineDataView.jsp +++ b/src/main/webapp/jsp/pipeline/pipelineDataView.jsp @@ -32,6 +32,18 @@

${pipelineData.pipelineName}

+
+ +
+

+ + 场外管道 + 场内管道 + ${pipelineData.pipelineArea} + +

+
+