hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -77,6 +77,20 @@ public static final Integer BIG_STORAGE_REQUEST_IN = 1; /** * 大理片笼详情状态 * 0 大理片笼进片中 * 1 大理片笼在笼内 * 2 大理片笼出片中 * 3 大理片笼出片完成 * 4 大理片笼手动出片 */ public static final Integer BIG_STORAGE_IN = 0; public static final Integer BIG_STORAGE_INSIDE = 1; public static final Integer BIG_STORAGE_OUT = 2; public static final Integer BIG_STORAGE_OUTSIDE = 3; public static final Integer BIG_STORAGE_MANUAL = 4; /** * 卧转立进片请求 * 1 任务生成 * 2 卧转立进片完成 hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-prod.yml
@@ -14,6 +14,11 @@ username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver salve_hangzhoumes: url: jdbc:sqlserver://10.153.19.150:1433;databasename=hangzhoumes username: sa password: beibo.123/ driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver cloud: nacos: discovery: hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
@@ -49,10 +49,10 @@ return Result.build(200,"删除成功",1); } @ApiOperation("理片笼任务破损") @ApiOperation("理片笼任务破损0/拿走1") @PostMapping("/damageBigStorageCageDetails") public Result damageBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails) { bigStorageCageDetailsService.damageBigStorageCageDetails(bigStorageCageDetails.getGlassId()); public Result damageBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails,int status) { bigStorageCageDetailsService.damageBigStorageCageDetails(bigStorageCageDetails.getGlassId(),status); return Result.build(200,"破损成功",1); } hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
@@ -25,7 +25,7 @@ void deleteBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails); void damageBigStorageCageDetails(String glassId); void damageBigStorageCageDetails(String glassId,int status); BigStorageCageDetails selectBigStorageCageDetails(String glassId); hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -26,6 +26,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -60,14 +61,16 @@ */ @Override public List<BigStorageCageDetails> selectTask(int taskType) { if (taskType == 1) { //进片任务数据 LambdaQueryWrapper<BigStorageCageDetails> feedWrapper = new LambdaQueryWrapper<>(); feedWrapper.eq(BigStorageCageDetails::getState, 1) .or() .eq(BigStorageCageDetails::getState, 2); feedWrapper.eq(BigStorageCageDetails::getState, Const.BIG_STORAGE_IN); List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(feedWrapper); List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(null); LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskWrapper = new LambdaQueryWrapper<>(); feedTaskWrapper.lt(BigStorageCageFeedTask::getTaskState,Const.BIG_STORAGE_IN_SLOT); List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(feedTaskWrapper); Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream() .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task)); @@ -80,11 +83,12 @@ } else { //出片任务数据 LambdaQueryWrapper<BigStorageCageDetails> outWrapper = new LambdaQueryWrapper<>(); outWrapper.eq(BigStorageCageDetails::getState, 3) .or() .eq(BigStorageCageDetails::getState, 4); outWrapper.eq(BigStorageCageDetails::getState, Const.BIG_STORAGE_OUT); List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(outWrapper); List<BigStorageCageOutTask> bigStorageCageOutTaskList = bigStorageCageOutTaskMapper.selectList(null); LambdaQueryWrapper<BigStorageCageOutTask> outTaskWrapper = new LambdaQueryWrapper<>(); outTaskWrapper.lt(BigStorageCageOutTask::getTaskState,Const.BIG_STORAGE_OUT_SUCCESS); List<BigStorageCageOutTask> bigStorageCageOutTaskList = bigStorageCageOutTaskMapper.selectList(outTaskWrapper); Map<String, BigStorageCageOutTask> listMap = bigStorageCageOutTaskList.stream() .collect(Collectors.toMap(BigStorageCageOutTask::getGlassId, task -> task)); @@ -94,7 +98,6 @@ } return bigStorageCageDetailsList; } } /** @@ -139,7 +142,8 @@ //理片笼详情破损 @Override public void damageBigStorageCageDetails(String glassId) { public void damageBigStorageCageDetails(String glassId,int status) { LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoWrapper = new LambdaQueryWrapper<>(); temperingGlassInfoWrapper.eq(TemperingGlassInfo::getGlassId, glassId); TemperingGlassInfo temperingGlassInfo = temperingGlassInfoMapper.selectOne(temperingGlassInfoWrapper); @@ -148,10 +152,12 @@ bigStorageCageDetailsWrapper.eq(BigStorageCageDetails::getGlassId, glassId); BigStorageCageDetails bigStorageCageDetails = baseMapper.selectOne(bigStorageCageDetailsWrapper); if (temperingGlassInfo.getState() == -2) { temperingGlassInfoMapper.deleteById(temperingGlassInfo); } else { temperingGlassInfo.setState(5); if(temperingGlassInfo!=null){ if(status==0){ temperingGlassInfo.setState(Const.TEMPERING_DAMAGE); }else{ temperingGlassInfo.setState(Const.TEMPERING_TAKE); } temperingGlassInfoMapper.updateById(temperingGlassInfo); } baseMapper.deleteById(bigStorageCageDetails.getId()); @@ -169,7 +175,7 @@ BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails(); BeanUtils.copyProperties(glassInfo, bigStorageCageDetails); bigStorageCageDetails.setState(0); bigStorageCageDetails.setGap(20); bigStorageCageDetails.setGap(Const.BIG_STORAGE_GAP); return bigStorageCageDetails; } @@ -183,39 +189,21 @@ //理片笼详情完成 @Override public void finishBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails) { if (bigStorageCageDetails.getState() == 1 || bigStorageCageDetails.getState() == 2) { bigStorageCageDetails.setState(0); if (bigStorageCageDetails.getBigStorageCageFeedTask()!=null) { bigStorageCageDetails.setState(Const.BIG_STORAGE_INSIDE); baseMapper.updateById(bigStorageCageDetails); bigStorageCageFeedTaskMapper.deleteById(bigStorageCageDetails.getBigStorageCageFeedTask().getId()); } else { baseMapper.deleteById(bigStorageCageDetails.getId()); bigStorageCageOutTaskMapper.deleteById(bigStorageCageDetails.getBigStorageCageOutTask().getId()); bigStorageCageDetails.setState(Const.BIG_STORAGE_OUTSIDE); baseMapper.updateById(bigStorageCageDetails); bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot()); } } //手动出片 @Override public void outBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails) { LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoWrapper = new LambdaQueryWrapper<>(); temperingGlassInfoWrapper .eq(TemperingGlassInfo::getGlassId, bigStorageCageDetails.getGlassId()); TemperingGlassInfo temperingGlassInfo = temperingGlassInfoMapper.selectOne(temperingGlassInfoWrapper); if (temperingGlassInfo.getGlassId() == null) { LambdaQueryWrapper<GlassInfo> glassInfoWrapper = new LambdaQueryWrapper<>(); glassInfoWrapper .eq(GlassInfo::getGlassId, bigStorageCageDetails.getGlassId()); GlassInfo glassInfo = glassInfoMapper.selectOne(glassInfoWrapper); TemperingGlassInfo temperingGlassInfo1 = new TemperingGlassInfo(); BeanUtils.copyProperties(glassInfo, temperingGlassInfo1); if (temperingGlassInfo.getTemperingLayoutId() != null) { temperingGlassInfo1.setState(-1); } else { temperingGlassInfo1.setState(-2); } temperingGlassInfoMapper.insert(temperingGlassInfo1); } bigStorageCageDetails.setState(4); baseMapper.updateById(bigStorageCageDetails); } @Override hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -12,6 +12,7 @@ import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper; import com.mes.bigstorage.mapper.BigStorageCageMapper; import com.mes.bigstorage.service.BigStorageCageService; import com.mes.common.config.Const; import com.mes.glassinfo.entity.GlassInfo; import com.mes.glassinfo.service.GlassInfoService; import com.mes.temperingglass.entity.TemperingGlassInfo; @@ -217,17 +218,24 @@ @Override public void updateRemainWidth(int slot) { log.info("获取该格子内玻璃信息,计算格子剩余宽度"); Integer width = 5000; List<BigStorageCageDetails> bigStorageCageDetailsList = Collections.singletonList(bigStorageCageDetailsMapper.selectById(slot)); double width = 5000; LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper=new LambdaQueryWrapper(); bigStorageCageDetailsWrapper .eq(BigStorageCageDetails::getSlot,slot) .ne(BigStorageCageDetails::getState,Const.BIG_STORAGE_OUTSIDE); List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(bigStorageCageDetailsWrapper); for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList ) { width -= Integer.parseInt(bigStorageCageDetails.getWidth().toString()) + bigStorageCageDetails.getGap(); double widths=bigStorageCageDetails.getWidth(); double gap=bigStorageCageDetails.getGap(); width -= widths+gap; } //修改格子剩余宽度 BigStorageCage bigStorageCage = new BigStorageCage(); bigStorageCage.setRemainWidth(width); bigStorageCage.setRemainWidth((int)width); UpdateWrapper<BigStorageCage> bigStorageCageWrapper = new UpdateWrapper<>(); bigStorageCageWrapper.eq("remain_width", width); bigStorageCageWrapper.eq("slot", slot); bigStorageCageMapper.update(bigStorageCage, bigStorageCageWrapper); } hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageFeedTaskMapper.java
@@ -2,6 +2,7 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.github.yulichang.base.MPJBaseMapper; import com.mes.bigstoragetask.entity.BigStorageCageFeedTask; import java.util.List; @@ -15,7 +16,7 @@ * @since 2024-04-16 */ @DS("salve_hangzhoumes") public interface BigStorageCageFeedTaskMapper extends BaseMapper<BigStorageCageFeedTask> { public interface BigStorageCageFeedTaskMapper extends MPJBaseMapper<BigStorageCageFeedTask> { List<String> querySitToUpGlass(); } hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageOutTaskMapper.java
@@ -1,6 +1,7 @@ package com.mes.bigstoragetask.mapper; import com.baomidou.dynamic.datasource.annotation.DS; import com.github.yulichang.base.MPJBaseMapper; import com.mes.bigstoragetask.entity.BigStorageCageOutTask; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -13,6 +14,6 @@ * @since 2024-04-16 */ @DS("salve_hangzhoumes") public interface BigStorageCageOutTaskMapper extends BaseMapper<BigStorageCageOutTask> { public interface BigStorageCageOutTaskMapper extends MPJBaseMapper<BigStorageCageOutTask> { } hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageFeedTaskService.java
@@ -1,6 +1,7 @@ package com.mes.bigstoragetask.service; import com.baomidou.mybatisplus.extension.service.IService; import com.github.yulichang.base.MPJBaseService; import com.mes.bigstorage.entity.BigStorageCageDetails; import com.mes.bigstoragetask.entity.BigStorageCageFeedTask; @@ -14,7 +15,7 @@ * @author zhoush * @since 2024-04-16 */ public interface BigStorageCageFeedTaskService extends IService<BigStorageCageFeedTask> { public interface BigStorageCageFeedTaskService extends MPJBaseService<BigStorageCageFeedTask> { void addFeedTask(BigStorageCageDetails slotInfo, Integer plcFeedReqLine, int taskType); hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
@@ -66,9 +66,6 @@ List<TemperingGlassInfo> temperingGlassInfoList= temperingGlassInfoService.list(); jsonObject.append("temperingGlassInfoList", temperingGlassInfoList); //报警信息 jsonObject.append("bigStorageCageFullAlarm", PlcStorageCageTask.bigStorageCageFullAlarm); //理片笼表格信息 jsonObject.append("bigStorageCageInfo", bigStorageCageService.querybigStorageCageDetail(0)); hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
@@ -39,14 +39,14 @@ @ApiOperation("出片任务删除") @PostMapping("/deleteTemperingGlassInfo") public Result deleteTemperingGlassInfo(TemperingGlassInfo temperingGlassInfo) { temperingGlassInfoService.removeById(temperingGlassInfo); temperingGlassInfoService.removeById(temperingGlassInfo.getId()); return Result.build(200,"删除成功",1); } @ApiOperation("出片任务破损") @ApiOperation("出片任务破损0/拿走1") @PostMapping("/damageTemperingGlassInfo") public Result damageTemperingGlassInfo(TemperingGlassInfo temperingGlassInfo) { bigStorageCageDetailsService.damageBigStorageCageDetails(temperingGlassInfo.getGlassId()); public Result damageTemperingGlassInfo(TemperingGlassInfo temperingGlassInfo,int status) { bigStorageCageDetailsService.damageBigStorageCageDetails(temperingGlassInfo.getGlassId(),status); return Result.build(200,"破损成功",1); } } hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -40,7 +40,7 @@ @Test public void computeTargetByLine() { // log.info("获取大理片笼信息:{}",bigStorageCageService.querybigStorageCageDetail()); plcStorageCageTask.computeTargetByLine(2001, "", ""); plcStorageCageTask.computeTargetByLine(2001); } @Test