hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -2,6 +2,7 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.mes.temperingglass.entity.TemperingGlassInfo; import com.mes.temperingglass.mapper.TemperingGlassInfoMapper; import com.mes.temperingglass.service.TemperingGlassInfoService; @@ -9,6 +10,7 @@ import org.springframework.stereotype.Service; import com.github.yulichang.base.MPJBaseServiceImpl; import javax.annotation.Resource; import java.util.List; /** @@ -22,16 +24,21 @@ @Service @DS("salve_hangzhoumes") public class TemperingGlassInfoServiceImpl extends MPJBaseServiceImpl<TemperingGlassInfoMapper, TemperingGlassInfo> implements TemperingGlassInfoService { @Autowired @Resource TemperingGlassInfoMapper temperingMapper; @Override public List<TemperingGlassInfo> selectWaitingGlass() { //获取等待进炉中的玻璃信息 QueryWrapper<TemperingGlassInfo> wrapper = new QueryWrapper<>(); wrapper.select("Top 1 *").in("state",1,0); wrapper.select("Top 1 *").in("state", 1, 0).orderByDesc("id"); TemperingGlassInfo glass=temperingMapper.selectOne(wrapper); if(glass!=null) { this.update(new LambdaUpdateWrapper<TemperingGlassInfo>().set(TemperingGlassInfo::getState, 2).in(TemperingGlassInfo::getState, 0, 1) .and(e -> e.ne(TemperingGlassInfo::getEngineerId, glass.getEngineerId()) .or(e1 -> e1.eq(TemperingGlassInfo::getEngineerId, glass.getEngineerId()) .ne(TemperingGlassInfo::getTemperingLayoutId, glass.getTemperingLayoutId())))); QueryWrapper<TemperingGlassInfo> glassinfo = new QueryWrapper<>(); glassinfo.eq("engineer_id", glass.getEngineerId()) .eq("tempering_layout_id", glass.getTemperingLayoutId()); @@ -110,8 +117,7 @@ } @Override public List<TemperingGlassInfo> selectGlassInfoById(Integer id) { public List<TemperingGlassInfo> selectGlassInfoById(Integer id) { List<TemperingGlassInfo> result=null; QueryWrapper<TemperingGlassInfo> wrapper = new QueryWrapper<>(); wrapper.select("Top 1 *").in("state",1,0).eq("tempering_layout_id",id); hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java
@@ -74,10 +74,14 @@ ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP1A.DLP1A.FROM1"); for (int i = 1; i <= 6; i++) { ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP1A.DLP1A.DI" + i); ReadWriteEntity targetSlotWord = miloService.readFromOpcUa("DLP1A.DLP1A.TO" + i); ReadWriteEntity stateWord = miloService.readFromOpcUa("DLP1A.DLP1A.STATE" + i); if (null != requestWord.getValue()) { BigStorageCageTask task = new BigStorageCageTask(); task.setGlassId(requestWord.getValue() + ""); task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + "")); task.setTargetSlot(Integer.parseInt(targetSlotWord.getValue() + "")); task.setTaskState(Integer.parseInt(stateWord.getValue() + "")); inTaskList.add(task); continue; } hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
@@ -77,14 +77,16 @@ .eq(HollowGlassRelationInfo::getWidth, width) .eq(HollowGlassRelationInfo::getHeight, height) .eq(HollowGlassRelationInfo::getLayer, layer) .isNull(HollowGlassRelationInfo::getTemperingLayoutId) .isNull(HollowGlassRelationInfo::getTemperingFeedSequence) .eq(HollowGlassRelationInfo::getState,Const.HOLLOW_RELATION_NEW) .orderByAsc(HollowGlassRelationInfo::getHollowSequence) .last("limit 1") ); } HollowBigStorageCageDetails hollowDetails = hollowBigStorageCageDetailsService.getOne(new LambdaQueryWrapper<HollowBigStorageCageDetails>() .eq(HollowBigStorageCageDetails::getVirtualSlot, relationInfoOne.getVirtualSlot()).in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL_ZERO) .eq(HollowBigStorageCageDetails::getFlowCardId, relationInfoOne.getFlowCardId()) .eq(HollowBigStorageCageDetails::getLayer, layer) .eq(HollowBigStorageCageDetails::getVirtualSlot, relationInfoOne.getVirtualSlot()) .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL_ZERO) .orderByDesc(HollowBigStorageCageDetails::getSequence).last("limit 1")); HollowBigStorageCage storageCage = null; if (null == hollowDetails) { hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
@@ -759,10 +759,13 @@ taskState = Const.GLASS_STATE_SCHEDULE_ING; resultList.add(list.get(0)); //目前调度任务totalLayer为0 出片调度任务有层号,用于区分调度方式 // 因为出片存在调度,如果为调度,提前占用格子,更新格子剩余尺寸,避免被进片玻璃占用 if (totalLayer != 0) { HollowBigStorageCage storageCage = hollowBigStorageCageService.getOne(new LambdaQueryWrapper<HollowBigStorageCage>() .eq(HollowBigStorageCage::getEnableState, Const.SLOT_ON).eq(HollowBigStorageCage::getRemainWidth, slotWidth).last("limit 1")); targetSlot = storageCage.getSlot(); hollowBigStorageCageService.update(new LambdaUpdateWrapper<HollowBigStorageCage>() .set(HollowBigStorageCage::getRemainWidth, 0).eq(HollowBigStorageCage::getSlot, targetSlot)); } totalLayer = 0; } else {