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 b9b4475..def1d5d 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 @@ -20,4 +20,6 @@ public class ResourceScheduled { private String status; private String issend; + + private Integer sfdcid; } diff --git a/threecolor-modbus-collector/src/main/java/com/xujie/modbus/entity/SfdcTimeHist.java b/threecolor-modbus-collector/src/main/java/com/xujie/modbus/entity/SfdcTimeHist.java index 502a2a0..eaaffbc 100644 --- a/threecolor-modbus-collector/src/main/java/com/xujie/modbus/entity/SfdcTimeHist.java +++ b/threecolor-modbus-collector/src/main/java/com/xujie/modbus/entity/SfdcTimeHist.java @@ -3,7 +3,9 @@ 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.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -35,8 +37,12 @@ public class SfdcTimeHist { private Integer linkhistSeqno; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date tillTime; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date tillenteredTime; private String tillenteredBy; diff --git a/threecolor-modbus-collector/src/main/java/com/xujie/modbus/mapper/SfdcTimeHistMapper.java b/threecolor-modbus-collector/src/main/java/com/xujie/modbus/mapper/SfdcTimeHistMapper.java index ad201d4..f81475b 100644 --- a/threecolor-modbus-collector/src/main/java/com/xujie/modbus/mapper/SfdcTimeHistMapper.java +++ b/threecolor-modbus-collector/src/main/java/com/xujie/modbus/mapper/SfdcTimeHistMapper.java @@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xujie.modbus.entity.SfdcTimeHist; import com.xujie.modbus.entity.ThreeColorLamp; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; @Mapper public interface SfdcTimeHistMapper extends BaseMapper { + int updatesfdcTimeHistById(@Param("sfdcTimeHist") SfdcTimeHist sfdcTimeHist); + } 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 6e7b6e3..63aeb75 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 @@ -290,9 +290,9 @@ public class ModbusCollectServiceImpl sfdcTimeHist.setTillenteredBy(null); sfdcTimeHist.setCompletedFlag("N"); if("T".equals(resourceScheduled.getStatus())){ - sfdcTimeHist.setDowntimePhasein("开始调机"); + sfdcTimeHist.setDowntimePhasein("调机"); }else{ - sfdcTimeHist.setDowntimePhasein("开始生产"); + sfdcTimeHist.setDowntimePhasein("生产"); } sfdcTimeHist.setRollNo(soscheduled.getRollNo()); @@ -311,17 +311,20 @@ public class ModbusCollectServiceImpl updateWrapper.eq("resource_id", folderLocation.getResourceId()); updateWrapper.eq("seq_no", resourceScheduled.getSeqNo()); updateWrapper.set("issend", "X"); + updateWrapper.set("sfdcid",sfdcTimeHist.getId()); resourceScheduledMapper.update(updateWrapper); } } }else{ + //只在绿灯的时候改变状态 UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("site", folderLocation.getSite()); updateWrapper.eq("resource_id", folderLocation.getResourceId()); updateWrapper.eq("seq_no", resourceScheduled.getSeqNo()); updateWrapper.set("issend", "Y"); resourceScheduledMapper.update(updateWrapper); + } } @@ -359,6 +362,25 @@ public class ModbusCollectServiceImpl 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){ + SfdcTimeHist sfdcTimeHist = new SfdcTimeHist(); + sfdcTimeHist.setId(resourceScheduled.getSfdcid()); + sfdcTimeHist.setSite(folderLocation.getSite()); + sfdcTimeHist.setTillTime(new Date()); + sfdcTimeHist.setTillenteredTime(new Date()); + sfdcTimeHist.setCompletedFlag("Y"); + sfdcTimeHistMapper.updatesfdcTimeHistById(sfdcTimeHist); + + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("site", folderLocation.getSite()); + updateWrapper.eq("resource_id", folderLocation.getResourceId()); + updateWrapper.eq("seq_no", resourceScheduled.getSeqNo()); + updateWrapper.set("issend", ""); + updateWrapper.set("sfdcid",""); + resourceScheduledMapper.update(updateWrapper); + } + } }else{ if(downlogChangeLast == null){ SoscheduledroutingVo soscheduled = threeColorLampMapper.getSoscheduled(resourceScheduled.getSeqNo()); diff --git a/threecolor-modbus-collector/src/main/resources/dao/SfdcTimeHistMapper.xml b/threecolor-modbus-collector/src/main/resources/dao/SfdcTimeHistMapper.xml new file mode 100644 index 0000000..172c52f --- /dev/null +++ b/threecolor-modbus-collector/src/main/resources/dao/SfdcTimeHistMapper.xml @@ -0,0 +1,9 @@ + + + + + + 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}; + + \ No newline at end of file