hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java
@@ -32,7 +32,7 @@ /** * 工序 */ private Integer workingProcedure; private String workingProcedure; /** * 玻璃id hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -12,6 +12,7 @@ import com.mes.glassinfo.mapper.GlassInfoMapper; import com.mes.work_assignment.entity.WorkAssignment; import com.mes.work_assignment.mapper.WorkAssignmentMapper; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -82,21 +83,21 @@ LambdaQueryWrapper<GlassInfo> glassInfoSelectWrapper=new LambdaQueryWrapper<>(); glassInfoSelectWrapper.eq(GlassInfo::getGlassId,damage.getGlassId()); GlassInfo glassInfo=glassInfoMapper.selectOne(glassInfoSelectWrapper); BeanUtils.copyProperties(glassInfo, damage); LambdaQueryWrapper<WorkAssignment> workAssignmentSelectWrapper=new LambdaQueryWrapper<>(); workAssignmentSelectWrapper .eq(WorkAssignment::getLine,damage.getLine()) .eq(WorkAssignment::getWorkProcesses,damage.getWorkingProcedure()); WorkAssignment workAssignment=workAssignmentMapper.selectOne(workAssignmentSelectWrapper); damage.setTeamsGroupsName(workAssignment.getTeamsGroupsName()); damage.setDeviceName(workAssignment.getDeviceName()); damage.setEngineerId(glassInfo.getEngineerId()); damage.setTemperingLayoutId(glassInfo.getTemperingLayoutId()); damage.setProcessId(glassInfo.getFlowCardId()); damage.setOrderNumber(glassInfo.getGlassType()); damage.setTechnologyNumber(glassInfo.getLayer()); damage.setDamageTime(LocalDateTime.now()); damage.setType(2); baseMapper.insert(damage); } } hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -75,7 +75,9 @@ List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(feedWrapper); LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskWrapper = new LambdaQueryWrapper<>(); feedTaskWrapper.lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT); feedTaskWrapper .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT) .isNotNull(BigStorageCageFeedTask::getTargetSlot); List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(feedTaskWrapper); Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream() @@ -89,6 +91,20 @@ iterator.remove(); } } LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskNoTargetWrapper = new LambdaQueryWrapper<>(); feedTaskNoTargetWrapper .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT) .isNull(BigStorageCageFeedTask::getTargetSlot); List<BigStorageCageFeedTask> bigStorageCageFeedTaskNoTargetList = bigStorageCageFeedTaskMapper.selectList(feedTaskNoTargetWrapper); for (BigStorageCageFeedTask bigStorageCageFeedTask:bigStorageCageFeedTaskNoTargetList ) { BigStorageCageDetails bigStorageCageDetails=new BigStorageCageDetails(); LambdaQueryWrapper<GlassInfo> glassInfoWrapper = new LambdaQueryWrapper<>(); glassInfoWrapper.eq(GlassInfo::getGlassId,bigStorageCageFeedTask.getGlassId()); GlassInfo glassInfo= glassInfoMapper.selectOne(glassInfoWrapper); BeanUtils.copyProperties(glassInfo, bigStorageCageDetails); bigStorageCageDetailsList.add(bigStorageCageDetails); } return bigStorageCageDetailsList; } else { //出片任务数据 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -20,6 +20,8 @@ import com.mes.bigstoragetask.service.BigStorageCageOutTaskService; import com.mes.common.S7object; import com.mes.common.config.Const; import com.mes.damage.entity.Damage; import com.mes.damage.service.DamageService; import com.mes.device.PlcParameterObject; import com.mes.edgglasstask.entity.EdgGlassTaskInfo; import com.mes.edgglasstask.service.EdgGlassTaskInfoService; @@ -60,6 +62,8 @@ private EdgGlassTaskInfoService edgGlassTaskInfoService; @Resource private TemperingGlassInfoService temperingGlassInfoService; @Resource private DamageService damageService; private static final String REQUEST_WORD = "1"; @@ -315,6 +319,16 @@ if (CollectionUtils.isNotEmpty(inDamageTaskInfoList)) { bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE)); //todo:将破损信息新增入破损表 for (BigStorageCageFeedTask bigStorageCageFeedTask:inDamageTaskInfoList ) { Damage damage=new Damage(); damage.setGlassId(bigStorageCageFeedTask.getGlassId()); damage.setLine(bigStorageCageFeedTask.getLine()); damage.setWorkingProcedure("冷加工"); damage.setRemark(""); damage.setStatus(2); damageService.insertDamage(damage); } } //获取出片任务表中状态为破损的数据 List<BigStorageCageOutTask> outDamageTaskInfoList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>() @@ -324,6 +338,16 @@ List<String> glassIdList = outDamageTaskInfoList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList()); temperingGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassIdList)); //todo:将破损信息新增入破损表 for (BigStorageCageOutTask bigStorageCageOutTask:outDamageTaskInfoList ) { Damage damage=new Damage(); damage.setGlassId(bigStorageCageOutTask.getGlassId()); damage.setLine(bigStorageCageOutTask.getEndSlot()); damage.setWorkingProcedure("冷加工"); damage.setRemark(""); damage.setStatus(2); damageService.insertDamage(damage); } } Date endDate = new Date(); log.info("大理片笼破损玻璃清除任务结束时间:{},共耗时:{}ms,结束扫码任务", endDate, endDate.getTime() - startDate.getTime()); hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -3,6 +3,8 @@ import com.mes.bigstorage.service.BigStorageCageDetailsService; import com.mes.bigstorage.service.BigStorageCageService; import com.mes.common.config.Const; import com.mes.damage.entity.Damage; import com.mes.damage.service.DamageService; import com.mes.job.PlcStorageCageTask; import lombok.extern.slf4j.Slf4j; import org.junit.Test; @@ -29,6 +31,8 @@ PlcStorageCageTask plcStorageCageTask; @Autowired BigStorageCageDetailsService bigStorageCageDetailsService; @Autowired DamageService damageService; @Test public void testFindPath() { @@ -82,4 +86,15 @@ log.info("获取大理片笼信息:{}", bigStorageCageDetailsService.selectBigStorageCageDetails("P24060403|3|6")); } @Test public void insertDamage() { Damage damage=new Damage(); damage.setGlassId("P24060403|3|6"); damage.setLine(2001); damage.setWorkingProcedure("冷加工"); damage.setRemark(""); damage.setStatus(2); damageService.insertDamage(damage); } }