From e83708959eeb7fd65ebaa3b70177e53d7e489628 Mon Sep 17 00:00:00 2001 From: shenzhouyu Date: Tue, 19 May 2026 20:41:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E8=89=B2=E7=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/ThreeColorLampDownlogMapper.java | 8 ++ .../impl/ModbusCollectServiceImpl.java | 122 ++++++++++++++---- .../dao/ThreeColorLampDownlogMapper.xml | 9 ++ 3 files changed, 115 insertions(+), 24 deletions(-) diff --git a/threecolor-modbus-collector/src/main/java/com/xujie/modbus/mapper/ThreeColorLampDownlogMapper.java b/threecolor-modbus-collector/src/main/java/com/xujie/modbus/mapper/ThreeColorLampDownlogMapper.java index 263a76d..dd03256 100644 --- a/threecolor-modbus-collector/src/main/java/com/xujie/modbus/mapper/ThreeColorLampDownlogMapper.java +++ b/threecolor-modbus-collector/src/main/java/com/xujie/modbus/mapper/ThreeColorLampDownlogMapper.java @@ -38,4 +38,12 @@ public interface ThreeColorLampDownlogMapper extends BaseMapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("site", folderLocation.getSite()); - updateWrapper.eq("resource_id", folderLocation.getResourceId()); - updateWrapper.eq("seq_no", sfdcTimeHistByGreen.getSeqNo()); - updateWrapper.set("issend", "Y"); - updateWrapper.set("sfdcid",sfdcTimeHistByGreen.getId()); - updateWrapper.set("close_flag",getone.getOriCloseFlag()); - resourceScheduledMapper.update(updateWrapper); - ResourceScheduled getoneTwo = resourceScheduledMapper.getOneResourceSchedule(folderLocation.getSite(),folderLocation.getResourceId(),sfdcTimeHistByGreen.getSeqNo()); - if(!"Y".equals(getoneTwo.getCloseFlag())){ + if(!"Y".equals(getone.getOriCloseFlag())){ + logger.info("不等于Y时才回写",sfdcTimeHistByGreen.getId()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("site", folderLocation.getSite()); + updateWrapper.eq("resource_id", folderLocation.getResourceId()); + updateWrapper.eq("seq_no", sfdcTimeHistByGreen.getSeqNo()); + updateWrapper.set("issend", "Y"); + updateWrapper.set("sfdcid",sfdcTimeHistByGreen.getId()); + resourceScheduledMapper.update(updateWrapper); + /*ResourceScheduled getoneTwo = resourceScheduledMapper.getOneResourceSchedule(folderLocation.getSite(),folderLocation.getResourceId(),sfdcTimeHistByGreen.getSeqNo()); + if(!"Y".equals(getoneTwo.getCloseFlag())){ + sfdcTimeHistByGreen.setTillTime(null); + sfdcTimeHistByGreen.setTillenteredTime(null); + sfdcTimeHistByGreen.setCompletedFlag("N"); + int i = sfdcTimeHistMapper.updateById(sfdcTimeHistByGreen); + if(i>0){ + logger.info("停机恢复后正常运行时间未到指定时间,sfdcid变为之前的,id:{}",sfdcTimeHistByGreen.getId()); + fireAndForget("syncMesFormStop", () -> + syncMesFormStop(folderLocation.getSite(), sfdcTimeHistByGreen.getSeqNo(), + sfdcTimeHistByGreen.getId(), sfdcTimeHistByGreen.getEventTime())); + } + }*/ sfdcTimeHistByGreen.setTillTime(null); sfdcTimeHistByGreen.setTillenteredTime(null); sfdcTimeHistByGreen.setCompletedFlag("N"); @@ -372,6 +384,8 @@ public class ModbusCollectServiceImpl syncMesFormStop(folderLocation.getSite(), sfdcTimeHistByGreen.getSeqNo(), sfdcTimeHistByGreen.getId(), sfdcTimeHistByGreen.getEventTime())); } + }else{ + logger.info("等于Y时不回写",getone.getOriCloseFlag()); } } @@ -844,6 +858,10 @@ public class ModbusCollectServiceImpl if(!mapValueToString(registerData.get(0)).equals(colorLamp.getGreen()) || !mapValueToString(registerData.get(1)).equals(colorLamp.getOrange())|| !mapValueToString(registerData.get(2)).equals(colorLamp.getRed())){ Date LampDownlogEndTime = new Date(); if(downlogChangeLast != null){ + SfdcTimeHist timeHist = sfdcTimeHistMapper.selectSfdcTimeHistByNew(folderLocation.getSite(), resourceScheduled.getSeqNo(), "自动停机"); + if("Y".equals(timeHist.getCompletedFlag())){ + downlogChangeLast.setEventDesc(timeHist.getEventDesc()); + } downlogChangeLast.setEndDate(LampDownlogEndTime); threeColorLampDownlogMapper.updateById(downlogChangeLast); } @@ -868,11 +886,9 @@ public class ModbusCollectServiceImpl } if(registerData.get(0) == 1){ - if(shortScheduled != null && "Y".equals(shortScheduled.getCloseFlag())){ - downlog.setEventDesc("正常运作(手动结束停机)"); - }else { - downlog.setEventDesc("正常运作"); - } + + downlog.setEventDesc("正常运作"); + } if(registerData.get(0) == 0 && registerData.get(1) == 0 && registerData.get(2) == 0){ if(shortScheduled != null && "Y".equals(shortScheduled.getCloseFlag())){ @@ -938,7 +954,15 @@ public class ModbusCollectServiceImpl if(StringUtils.isNotBlank(sfdcTimeHist1.getEventDesc())){ String startTime = sdf.format(sfdcTimeHist1.getEventTime()); String endTime = sdf.format(sfdcTimeHist1.getTillTime()); - threeColorLampDownlogMapper.updateDownLogEventDesc( + threeColorLampDownlogMapper.updateDownLogEventDescByCreateDate(startTime, + endTime, + sfdcTimeHist1.getEventDesc(), + folderLocation.getSite(), + folderLocation.getResourceId(), + sfdcTimeHist1.getSeqNo(), + sfdcTimeHist1.getOrderNo(), + runTime); + /*threeColorLampDownlogMapper.updateDownLogEventDesc( startTime, endTime, sfdcTimeHist1.getEventDesc(), @@ -947,7 +971,7 @@ public class ModbusCollectServiceImpl sfdcTimeHist1.getSeqNo(), sfdcTimeHist1.getOrderNo(), runTime - ); + );*/ } } @@ -984,11 +1008,7 @@ public class ModbusCollectServiceImpl } } if(registerData.get(0) == 1){ - if(shortScheduled != null && "Y".equals(shortScheduled.getCloseFlag())){ - downlog.setEventDesc("正常运作(手动结束停机)"); - }else { - downlog.setEventDesc("正常运作"); - } + downlog.setEventDesc("正常运作"); } if(registerData.get(0) == 0 && registerData.get(1) == 0 && registerData.get(2) == 0){ if(shortScheduled != null && "Y".equals(shortScheduled.getCloseFlag())){ @@ -1018,6 +1038,41 @@ public class ModbusCollectServiceImpl downlogChangeLast.setEndDate(new Date()); threeColorLampDownlogMapper.updateById(downlogChangeLast); } + if(!downlogChangeLast.getSeqNo().equals(resourceScheduled.getSeqNo())){ + downlogChangeLast.setEndDate(new Date()); + threeColorLampDownlogMapper.updateById(downlogChangeLast); + SoscheduledroutingVo soscheduled = threeColorLampMapper.getSoscheduled(resourceScheduled.getSeqNo()); + ThreeColorLampDownlog downlog = new ThreeColorLampDownlog(); + downlog.setSite(folderLocation.getSite()); + downlog.setResourceId(soscheduled.getSResourceid() == null ? folderLocation.getResourceId() : soscheduled.getSResourceid()); + downlog.setWorkShop(soscheduled.getSWorkcenterno() == null ? null : soscheduled.getSWorkcenterno()); + downlog.setOrderNo(soscheduled.getOrderno()== null ? null : soscheduled.getOrderno()); + downlog.setSeqNo(soscheduled.getSeqno()== null ? null : soscheduled.getSeqno()); + downlog.setSShiftno(soscheduled.getSShiftno()== null ? null : soscheduled.getSShiftno()); + ResourceScheduled shortScheduled = resourceScheduledMapper.getOneResourceSchedule(folderLocation.getSite(), folderLocation.getResourceId(), resourceScheduled.getSeqNo()); + if(registerData.get(2) == 1){ + if(shortScheduled != null && "Y".equals(shortScheduled.getCloseFlag())){ + downlog.setEventDesc("短暂停(手动结束停机)"); + }else{ + downlog.setEventDesc("短暂停"); + } + } + if(registerData.get(0) == 1){ + downlog.setEventDesc("正常运作"); + } + if(registerData.get(0) == 0 && registerData.get(1) == 0 && registerData.get(2) == 0){ + if(shortScheduled != null && "Y".equals(shortScheduled.getCloseFlag())){ + downlog.setEventDesc("设备离线(手动结束停机)"); + }else{ + 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); + } } } } @@ -1063,10 +1118,29 @@ public class ModbusCollectServiceImpl downlog.setLamp(nowlamp); threeColorLampDownlogMapper.insert(downlog); }else{ + downlogChangeLast.setEndDate(new Date()); + threeColorLampDownlogMapper.updateById(downlogChangeLast); + ThreeColorLampDownlog downlog = new ThreeColorLampDownlog(); + downlog.setSite(folderLocation.getSite()); + downlog.setResourceId(folderLocation.getResourceId()); + if(registerData.get(0) == 1){ + downlog.setEventDesc("做试验"); + }else{ + 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("999".equals(downlogChangeLast.getLamp()) && folderLocation.getResourceId().equals(downlogChangeLast.getResourceId())){ - downlogChangeLast.setEndDate(new Date()); - threeColorLampDownlogMapper.updateById(downlogChangeLast); + ThreeColorLampDownlog downlogChangeLast1 = threeColorLampDownlogMapper.selectDownlogLast(folderLocation.getSite(),folderLocation.getResourceId()); + downlogChangeLast1.setEndDate(new Date()); + threeColorLampDownlogMapper.updateById(downlogChangeLast1); } + + } } } diff --git a/threecolor-modbus-collector/src/main/resources/dao/ThreeColorLampDownlogMapper.xml b/threecolor-modbus-collector/src/main/resources/dao/ThreeColorLampDownlogMapper.xml index 3aa9a18..c2c9fba 100644 --- a/threecolor-modbus-collector/src/main/resources/dao/ThreeColorLampDownlogMapper.xml +++ b/threecolor-modbus-collector/src/main/resources/dao/ThreeColorLampDownlogMapper.xml @@ -75,4 +75,13 @@ + + update three_color_lamp_downlog + set event_desc = #{eventDesc} + where FORMAT(start_date, 'yyyy-MM-dd HH:mm') >= #{startTime} + and site = #{site} + and resource_id = #{resourceId} + and seq_no = #{seqNo} + and order_no = #{orderNo} + \ No newline at end of file