From d0220e873c92e9a6254ac56f9bba4c29e5da35a8 Mon Sep 17 00:00:00 2001 From: shenzhouyu Date: Tue, 3 Feb 2026 09:53:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E8=89=B2=E7=81=AF=E5=81=9C=E6=9C=BA?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modbus/entity/ResourceScheduled.java | 6 +++--- .../impl/ModbusCollectServiceImpl.java | 21 ++++++++++++------- .../main/resources/dao/SfdcTimeHistMapper.xml | 4 ++-- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/threecolor-modbus-collector/src/main/java/com/xujie/modbus/entity/ResourceScheduled.java b/threecolor-modbus-collector/src/main/java/com/xujie/modbus/entity/ResourceScheduled.java index def1d5d..04a8fa2 100644 --- a/threecolor-modbus-collector/src/main/java/com/xujie/modbus/entity/ResourceScheduled.java +++ b/threecolor-modbus-collector/src/main/java/com/xujie/modbus/entity/ResourceScheduled.java @@ -1,8 +1,6 @@ package com.xujie.modbus.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; @Data @@ -19,7 +17,9 @@ public class ResourceScheduled { private String status; + @TableField(updateStrategy = FieldStrategy.IGNORED) private String issend; + @TableField(updateStrategy = FieldStrategy.IGNORED) private Integer sfdcid; } diff --git a/threecolor-modbus-collector/src/main/java/com/xujie/modbus/service/impl/ModbusCollectServiceImpl.java b/threecolor-modbus-collector/src/main/java/com/xujie/modbus/service/impl/ModbusCollectServiceImpl.java index 63aeb75..de33c43 100644 --- a/threecolor-modbus-collector/src/main/java/com/xujie/modbus/service/impl/ModbusCollectServiceImpl.java +++ b/threecolor-modbus-collector/src/main/java/com/xujie/modbus/service/impl/ModbusCollectServiceImpl.java @@ -265,7 +265,7 @@ public class ModbusCollectServiceImpl ("0".equals(lamp3.getOrange()))&& ("1".equals(lamp3.getRed())); if (!red){ - return; + break; } } @@ -279,14 +279,14 @@ public class ModbusCollectServiceImpl sfdcTimeHist.setItemNo(Double.valueOf(soscheduled.getItemno())); sfdcTimeHist.setSeqNo(soscheduled.getSeqno()); sfdcTimeHist.setHistSeqno(histSeqno+1); - sfdcTimeHist.setEventTime(new Date()); + Date currentTime = new Date(); + Date fiveMinutesAgo = new Date(currentTime.getTime() - 5 * 60 * 1000); + sfdcTimeHist.setEventTime(fiveMinutesAgo); sfdcTimeHist.setEnteredBy(null); sfdcTimeHist.setEventDesc(null); sfdcTimeHist.setDowntimeCode(null); sfdcTimeHist.setEventType("D"); sfdcTimeHist.setLinkhistSeqno(null); - sfdcTimeHist.setTillTime(new Date()); - sfdcTimeHist.setTillenteredTime(new Date()); sfdcTimeHist.setTillenteredBy(null); sfdcTimeHist.setCompletedFlag("N"); if("T".equals(resourceScheduled.getStatus())){ @@ -317,7 +317,6 @@ public class ModbusCollectServiceImpl } }else{ - //只在绿灯的时候改变状态 UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("site", folderLocation.getSite()); updateWrapper.eq("resource_id", folderLocation.getResourceId()); @@ -357,13 +356,16 @@ public class ModbusCollectServiceImpl if(registerData.get(0) == 1){ downlog.setEventDesc("正常运作"); } + if(registerData.get(0) == 0 && registerData.get(1) == 0 && registerData.get(2) == 0){ + downlog.setEventDesc("设备离线"); + } downlog.setStartDate(new Date()); downlog.setCreateDate(new Date()); String nowlamp = registerData.get(0)+"" + registerData.get(1) + ""+registerData.get(2); downlog.setLamp(nowlamp); threeColorLampDownlogMapper.insert(downlog); if(1 == registerData.get(0) && 0 == registerData.get(1) && 0 == registerData.get(2)){ - if(StringUtils.isNotBlank(resourceScheduled.getIssend()) && resourceScheduled.getSfdcid() == null){ + if(StringUtils.isNotBlank(resourceScheduled.getIssend()) && resourceScheduled.getSfdcid() != null){ SfdcTimeHist sfdcTimeHist = new SfdcTimeHist(); sfdcTimeHist.setId(resourceScheduled.getSfdcid()); sfdcTimeHist.setSite(folderLocation.getSite()); @@ -376,8 +378,8 @@ public class ModbusCollectServiceImpl updateWrapper.eq("site", folderLocation.getSite()); updateWrapper.eq("resource_id", folderLocation.getResourceId()); updateWrapper.eq("seq_no", resourceScheduled.getSeqNo()); - updateWrapper.set("issend", ""); - updateWrapper.set("sfdcid",""); + updateWrapper.set("issend", null); + updateWrapper.set("sfdcid",null); resourceScheduledMapper.update(updateWrapper); } } @@ -397,6 +399,9 @@ public class ModbusCollectServiceImpl if(registerData.get(0) == 1){ downlog.setEventDesc("正常运作"); } + if(registerData.get(0) == 0 && registerData.get(1) == 0 && registerData.get(2) == 0){ + downlog.setEventDesc("设备离线"); + } downlog.setStartDate(new Date()); downlog.setCreateDate(new Date()); String nowlamp = registerData.get(0)+"" + registerData.get(1) + ""+registerData.get(2); diff --git a/threecolor-modbus-collector/src/main/resources/dao/SfdcTimeHistMapper.xml b/threecolor-modbus-collector/src/main/resources/dao/SfdcTimeHistMapper.xml index 172c52f..9a4a8fb 100644 --- a/threecolor-modbus-collector/src/main/resources/dao/SfdcTimeHistMapper.xml +++ b/threecolor-modbus-collector/src/main/resources/dao/SfdcTimeHistMapper.xml @@ -3,7 +3,7 @@ - UPDATE sfdc_time_hist SET till_time = #{sfdcTimeHist.totalTime}, tillentered_time = #{sfdcTimeHist.tillenteredTime}, - completed_flag = #{sfdcTimeHist.completedFlag},total_time = DATEDIFF(MINUTE, event_time, #{sfdcTimeHist.totalTime}) WHERE id = #{sfdcTimeHist.id}; + UPDATE sfdc_time_hist SET till_time = #{sfdcTimeHist.tillTime}, tillentered_time = #{sfdcTimeHist.tillenteredTime}, + completed_flag = #{sfdcTimeHist.completedFlag},total_time = DATEDIFF(MINUTE, event_time, #{sfdcTimeHist.tillTime}) WHERE id = #{sfdcTimeHist.id}; \ No newline at end of file