From 75215c410e02de0aac0d1a61fb0289a46c45dc47 Mon Sep 17 00:00:00 2001 From: weidong Date: Mon, 22 Jan 2024 20:27:19 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=A2=9E=E5=8A=A0=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E4=B8=A4=E4=B8=AA=E5=B9=B3=E5=8F=B0=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/imdroid/secapi/dto/GnssDevice.java | 1 + .../imdroid/beidou_fwd/service/TCPClient.java | 2 +- .../imdroid/beidou_fwd/task/Forwarder.java | 12 ++++-- .../imdroid/beidou_fwd/task/GZYForwarder.java | 4 +- .../beidou_fwd/task/KingMaForwarder.java | 2 +- .../controller/GnssDeviceController.java | 3 +- sec-beidou/src/main/resources/db/schema.sql | 1 + .../templates/page/gnss_dev_cfg.html | 37 +++++++++++-------- .../templates/page/table/gnss_add_dev.html | 12 +++++- 9 files changed, 49 insertions(+), 25 deletions(-) diff --git a/sec-api/src/main/java/com/imdroid/secapi/dto/GnssDevice.java b/sec-api/src/main/java/com/imdroid/secapi/dto/GnssDevice.java index 1a504b53..152a2f48 100644 --- a/sec-api/src/main/java/com/imdroid/secapi/dto/GnssDevice.java +++ b/sec-api/src/main/java/com/imdroid/secapi/dto/GnssDevice.java @@ -40,6 +40,7 @@ public class GnssDevice { private Integer group_id = 1; //组参数,缓存自动下发 private Integer calc_group_id = 1; private String fwd_group_id; + private String fwd_group_id2; private Boolean syn; //组参数是否同步 private String pictures; private Double b562e; //初始位置 diff --git a/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/service/TCPClient.java b/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/service/TCPClient.java index 317bf114..3ff2138d 100644 --- a/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/service/TCPClient.java +++ b/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/service/TCPClient.java @@ -94,7 +94,7 @@ public class TCPClient { } private void flush(){ - if(sendBuffer.readableBytes()>0){ + if(sendBuffer!=null && sendBuffer.readableBytes()>0){ channel.writeAndFlush(sendBuffer).addListener(future -> { if (future.isSuccess()) { logger.info("send to xfz server succeed."); diff --git a/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/Forwarder.java b/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/Forwarder.java index f661861c..2b5d64ee 100644 --- a/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/Forwarder.java +++ b/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/Forwarder.java @@ -15,6 +15,7 @@ public class Forwarder { String name; String description; Integer tenantId; + boolean useFwdId; @Autowired private GnssDeviceMapper deviceMapper; @@ -30,10 +31,11 @@ public class Forwarder { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - void init(String name, String desc, Integer tenantId){ + void init(String name, String desc, Integer tenantId, boolean useFwdId){ this.name = name; this.description = desc; this.tenantId = tenantId; + this.useFwdId = useFwdId; QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name",name); GnssGroupFwd gnssGroupFwd = fwdMapper.selectOne(queryWrapper); @@ -58,7 +60,9 @@ public class Forwarder { String sendAfterTime = nowTime.minusMinutes(30).format(formatter); QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("fwd_group_id", fwdGroupId); + queryWrapper.eq("fwd_group_id", fwdGroupId) + .or() + .eq("fwd_group_id2", fwdGroupId); List gnssDeviceList = deviceMapper.selectList(queryWrapper); List recordsToSend; for(GnssDevice device:gnssDeviceList){ @@ -87,7 +91,7 @@ public class Forwarder { record.setRb562n(record.getRb562n()-device.getB562n()); record.setRb562d(record.getRb562d()-device.getB562d()); } - if(device.getFwddeviceid()!=null && device.getFwddeviceid().trim().length()>0) { + if(useFwdId && device.getFwddeviceid()!=null && device.getFwddeviceid().trim().length()>0) { record.setDeviceid(device.getFwddeviceid()); } recordsToSend.add(record); @@ -162,7 +166,7 @@ public class Forwarder { // 推送 lastTime = calcData.getCreatetime(); // 替换推送名和值 - if(device.getFwddeviceid()!=null && device.getFwddeviceid().trim().length()>0) { + if(useFwdId && device.getFwddeviceid()!=null && device.getFwddeviceid().trim().length()>0) { calcData.setDeviceid(device.getFwddeviceid()); } if(device.getB562e()!=null && diff --git a/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/GZYForwarder.java b/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/GZYForwarder.java index 6a92cb69..c6b856f3 100644 --- a/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/GZYForwarder.java +++ b/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/GZYForwarder.java @@ -33,14 +33,14 @@ public class GZYForwarder extends Forwarder{ @PostConstruct void registerMe(){ - init(FORWARDER_NAME, host+":"+port,2); + init(FORWARDER_NAME, host+":"+port,2,true); udpClient = new UDPClient(); udpClient.init(host, port); } /** * 每半小时转发GNSS解算结果 */ - @Scheduled(cron = "0 0/5 * * * ?") // 每30分钟执行一次 + @Scheduled(cron = "0 0/30 * * * ?") // 每30分钟执行一次 private void forwardGnss() { forwardCurrentGnss(FORWARDER_NAME); } diff --git a/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/KingMaForwarder.java b/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/KingMaForwarder.java index 28acb1c6..9886c466 100644 --- a/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/KingMaForwarder.java +++ b/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/KingMaForwarder.java @@ -43,7 +43,7 @@ public class KingMaForwarder extends Forwarder{ @PostConstruct void registerMe(){ - init(FORWARDER_NAME, data_host,3); + init(FORWARDER_NAME, data_host,3,true); } /** * 每半小时转发GNSS解算结果 diff --git a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java index 9e40a436..780c090e 100644 --- a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java +++ b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java @@ -64,7 +64,8 @@ public class GnssDeviceController extends BasicController{ } @RequestMapping("/page/table/gnss_add_dev") - public String gnssUpdateDev(Model m){ + public String gnssUpdateDev(Model m, HttpSession session) { + initModel(m, session); //以下用于下拉框数据 List gnssGroups = gnssGroupMapper.selectList(null); List gnssGroupCalcs = gnssGroupCalcMapper.selectList(null); diff --git a/sec-beidou/src/main/resources/db/schema.sql b/sec-beidou/src/main/resources/db/schema.sql index 163a6286..dee716c8 100644 --- a/sec-beidou/src/main/resources/db/schema.sql +++ b/sec-beidou/src/main/resources/db/schema.sql @@ -52,6 +52,7 @@ CREATE TABLE IF NOT EXISTS `gnssdevices` ( `group_id` int DEFAULT 1, `calc_group_id` int DEFAULT 1, `fwd_group_id` varchar(64) DEFAULT NULL, + `fwd_group_id2` varchar(64) DEFAULT NULL, `syn` bit(1) DEFAULT 0 COMMENT '是否已同步', `pictures` varchar(100) DEFAULT NULL, `b562e` double DEFAULT NULL COMMENT '初始位置东E', diff --git a/sec-beidou/src/main/resources/templates/page/gnss_dev_cfg.html b/sec-beidou/src/main/resources/templates/page/gnss_dev_cfg.html index 58562922..74ae9bb2 100644 --- a/sec-beidou/src/main/resources/templates/page/gnss_dev_cfg.html +++ b/sec-beidou/src/main/resources/templates/page/gnss_dev_cfg.html @@ -79,11 +79,29 @@ -