From cb5be3f2bb73cea7def3d0bb9ab5d5d409d2f9df Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期四, 18 四月 2024 14:19:41 +0800 Subject: [PATCH] cachegalss误删文件恢复 --- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java | 2 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java | 22 ++- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java | 31 +++++ hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java | 4 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java | 25 +-- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java | 4 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java | 2 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java | 136 +++++++++++++--------- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java | 2 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java | 2 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java | 89 +++++++++++--- 11 files changed, 218 insertions(+), 101 deletions(-) diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java index 25bac7b..9595d77 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java @@ -2,12 +2,10 @@ import com.mes.bigstorage.entity.BigStorageCage; import com.mes.bigstorage.service.BigStorageCageService; -import com.mes.utils.Result; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -15,13 +13,13 @@ /** * <p> - * 澶х悊鐗囩淇℃伅 + * 鍓嶇鎺у埗鍣� * </p> * * @author zhoush * @since 2024-03-27 */ -@ApiModel("澶х悊鐗囩淇℃伅") +@ApiModel("鐞嗙墖绗间俊鎭�") @RestController @RequestMapping("/bigStorageCage") public class BigStorageCageController { @@ -29,20 +27,17 @@ @Autowired private BigStorageCageService bigStorageCageService; -// public Result<BigStorageCageDetails> feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails){ -// -// } + //todo: 瀹炰緥浠g爜 寰呭垹闄� + @ApiOperation("娴嬭瘯") + @GetMapping("/index") + public String index() { + return "hello world"; + } @ApiOperation("鐞嗙墖绗间俊鎭�") @GetMapping("/bigStorageCage") - public Result<List<BigStorageCage>> querybigStorageCageDetail() { - return Result.success(bigStorageCageService.querybigStorageCageDetail()); + public List<BigStorageCage> querybigStorageCageDetail() { + return bigStorageCageService.querybigStorageCageDetail(); } - @ApiOperation("鎵嬪姩瀹屾垚浠诲姟") - @PostMapping("/finishTask") - public Result<String> finishTask(int type, int id) { - // bigStorageCageDetailsService.FinishTask(); - return Result.success("success"); - } } diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java index 7d2bbdc..fffe823 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java @@ -25,7 +25,7 @@ * 澶х悊鐗囩璇︽儏琛╥d */ @TableId(value = "id", type = IdType.AUTO) - private Integer id; + private Long id; /** * 璁惧id diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java index 491261d..3260926 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java @@ -17,7 +17,7 @@ */ public interface BigStorageCageService extends IService<BigStorageCage> { - void updateRemainWidth(int slot); + void updateRemainWidth(int Slot); BigStorageCageDetails feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails); diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java index 00f8430..434db9f 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java @@ -1,6 +1,7 @@ package com.mes.bigstorage.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mes.bigstorage.entity.BigStorageCage; @@ -9,6 +10,8 @@ import com.mes.bigstorage.mapper.BigStorageCageMapper; import com.mes.bigstorage.service.BigStorageCageService; import com.mes.glassinfo.entity.GlassInfo; +import com.mes.temperingglass.entity.TemperingGlassInfo; +import com.mes.temperingglass.service.TemperingGlassInfoService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -31,94 +34,119 @@ @Service @Slf4j public class BigStorageCageServiceImpl extends ServiceImpl<BigStorageCageMapper, BigStorageCage> implements BigStorageCageService { + @Resource + private BigStorageCageMapper bigStorageCageMapper; @Resource private BigStorageCageDetailsMapper bigStorageCageDetailsMapper; + @Resource + private TemperingGlassInfoService temperingGlassInfoService; + @Override public BigStorageCageDetails feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) { - //1銆佹煡璇㈢悊鐗囩鍐呯幓鐠冪墖搴忕瓑浜庡綋鍓嶇幓鐠冪墖搴�-1鐨勭幓鐠� + log.info("1銆佹煡璇㈢悊鐗囩鍐呯墖搴�+1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠�"); LambdaQueryWrapper<BigStorageCageDetails> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId()) .eq(BigStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence() + 1); + BigStorageCageDetails layoutSlotInfo; + layoutSlotInfo = bigStorageCageDetailsMapper.selectOne(wrapper); - BigStorageCageDetails layoutSlotInfo = bigStorageCageDetailsMapper.selectOne(wrapper); BeanUtils.copyProperties(glassInfo, bigStorageCageDetails); - bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot()); - //2銆佹湁绗﹀悎鏉′欢鐨勬牸瀛愭椿鐗囧簭涓�1鏃� - log.info("鏈夌鍚堟潯浠剁殑鏍煎瓙娲荤墖搴忎负1鏃�"); + log.info("2銆佹煡璇㈢悊鐗囩鍐呯墖搴�+1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓嶄负绌烘椂"); if (layoutSlotInfo.getSlot() != null) { bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot()); } else { - //鑾峰彇涓嶅埌鏃讹細 -// LambdaQueryWrapper<BigStorageCageDetails> BigStorageCageDetailslambdaQueryWrapper = new LambdaQueryWrapper<>(); -// BigStorageCageDetailslambdaQueryWrapper -// .select(BigStorageCageDetails::getTemperingLayoutId) -// .groupBy(BigStorageCageDetails::getTemperingLayoutId); -// List<Map<String, Object>> temperingLayoutIdList= bigStorageCageDetailsMapper.selectMaps(BigStorageCageDetailslambdaQueryWrapper); -// for (Map<String, Object> map : temperingLayoutIdList) { -// for (Map.Entry<String, Object> entry : map.entrySet()) { -// String prefix = entry.getKey().substring(0, entry.getKey().indexOf('-')); -// String suffix = entry.getKey().substring(entry.getKey().indexOf('-') + 1); -// if(suffix.equals(entry.getValue())){ -// -// } -// } -// } + log.info("3銆佹煡璇㈢悊鐗囩鍐呯墖搴�+1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓虹┖鏃惰幏鍙栧綋鍓嶇幓鐠冪増鍥緄d鏄惁瀛樺湪鐞嗙墖绗煎唴"); + LambdaQueryWrapper<BigStorageCageDetails> BigStorageCageDetailslambdaQueryWrapper = new LambdaQueryWrapper<>(); + BigStorageCageDetailslambdaQueryWrapper + .select(BigStorageCageDetails::getTemperingLayoutId); + layoutSlotInfo = bigStorageCageDetailsMapper.selectOne(BigStorageCageDetailslambdaQueryWrapper); + if (layoutSlotInfo != null) { + log.info("4銆佽幏鍙栫瀛愬唴閫傚悎鐨勬牸瀛�"); + BigStorageCage bigStorageCage = bigStorageCageSlot(layoutSlotInfo.getDeviceId()); + bigStorageCageDetails.setSlot(bigStorageCage.getSlot()); + } else { + log.info("5銆佽幏鍙栨瘡涓瀛愮増鍥緄d鐨勪釜鏁�"); + QueryWrapper<BigStorageCageDetails> queryWrapper = new QueryWrapper<>(); + queryWrapper.select("a.device_id", "COUNT(DISTINCT b.tempering_layout_id) AS layoutCount") + .groupBy("a.device_id") + .apply("LEFT JOIN (SELECT device_id, tempering_layout_id FROM big_storage_cage_details) b ON a.device_id = b.device_id AND a.slot = b.slot") + .orderByAsc("layoutCount") + .orderByAsc("a.device_id"); + List<Map<String, Object>> BigStorageCageDetailsCount = bigStorageCageDetailsMapper.selectMaps(queryWrapper); - //鑾峰彇鍙繘鐗囨牸瀛愪俊鎭� -// BigStorageCageDetails EmptySlotInfo = bigStorageCageMapper.selectEmptyFeedSlot(); -// if (EmptySlotInfo != null) { -// bigStorageCageDetails.setSlot(EmptySlotInfo.getSlot()); -// } else { -// //鑾峰彇鍏朵粬绗兼牸瀛�- -// BigStorageCageDetails OtherSlotInfo = bigStorageCageMapper.selectOtherFeedSlot(); -// bigStorageCageDetails.setSlot(OtherSlotInfo.getSlot()); -// } - //灏嗙幓鐠冧俊鎭斁鍏ヨ鏍煎瓙 - + log.info("5銆佹煡璇㈢瀛愬唴鏄惁鏈夊悎閫傜殑鏍煎瓙"); + for (Map<String, Object> map : BigStorageCageDetailsCount) { + for (Map.Entry<String, Object> entry : map.entrySet()) { + int deviceId = Integer.parseInt(entry.getKey()); + BigStorageCage bigStorageCage = bigStorageCageSlot(deviceId); + if (bigStorageCage != null) { + bigStorageCageDetails.setSlot(bigStorageCage.getSlot()); + } + } + } + } } + log.info("6銆佸綋鎵惧埌鍚堥�傜殑鏍煎瓙鏃舵坊鍔犵幓鐠冨埌绗煎瓙琛�"); if (bigStorageCageDetails.getSlot() != null) { + bigStorageCageDetails.setState(0); bigStorageCageDetailsMapper.insert(bigStorageCageDetails); updateRemainWidth(bigStorageCageDetails.getSlot()); } return bigStorageCageDetails; } + //鑾峰彇绗煎瓙鍐呯殑绌烘牸瀛� + private BigStorageCage bigStorageCageSlot(Integer deviceId) { + LambdaQueryWrapper<BigStorageCage> bigStorageCageWrapper = new LambdaQueryWrapper<>(); + bigStorageCageWrapper + .eq(BigStorageCage::getRemainWidth, "5000") + .eq(BigStorageCage::getEnableState, "0") + .eq(BigStorageCage::getDeviceId, deviceId) + .orderByAsc(BigStorageCage::getSlot) + .last("LIMIT 1"); + return bigStorageCageMapper.selectOne(bigStorageCageWrapper); + } + + @Override public boolean outGlass() { -// // 1銆佹煡璇㈤挗鍖栧皬鐗囦换鍔¤〃鏄惁鏈夊緟鍑虹幓鐠� -// List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.SelectTemperingGlassInfo(); -// //娌℃湁鍙嚭鐨勭幓鐠冩椂 -// if (temperingGlassInfoList != null) { -// //鏌ヨ鏄惁鏈夊皬鐗囧叏閮ㄥ埌榻愮殑閽㈠寲鐗堝浘 -// } else { -// //缁х画褰撳墠閽㈠寲鐗堝浘鐨勪换鍔� -// } - LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailslambdaQueryWrapper = new LambdaQueryWrapper<>(); - bigStorageCageDetailslambdaQueryWrapper - .select(BigStorageCageDetails::getTemperingLayoutId) - .groupBy(BigStorageCageDetails::getTemperingLayoutId); - List<Map<String, Object>> temperingLayoutIdList = bigStorageCageDetailsMapper.selectMaps(bigStorageCageDetailslambdaQueryWrapper); - for (Map<String, Object> map : temperingLayoutIdList) { - for (Map.Entry<String, Object> entry : map.entrySet()) { - String prefix = entry.getKey().substring(0, entry.getKey().indexOf('-')); - String suffix = entry.getKey().substring(entry.getKey().indexOf('-') + 1); - if (suffix.equals(entry.getValue())) { + List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.list(); + log.info("1銆佹煡璇㈤挗鍖栧皬鐗囦换鍔¤〃鏄惁鏈夊緟鍑虹幓鐠�" + temperingGlassInfoList.size()); + if (temperingGlassInfoList != null) { + temperingGlassInfoService.addOutTask(temperingGlassInfoList); + log.info("2銆佹坊鍔犱换鍔″埌浠诲姟琛�"); + return true; + } else { + log.info("3銆佹病鏈夊彲鍑虹殑鐜荤拑鏃惰幏鍙栨槸鍚︽湁灏忕墖鍒伴綈鐨勭増鍥�"); + LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailslambdaQueryWrapper = new LambdaQueryWrapper<>(); + bigStorageCageDetailslambdaQueryWrapper + .select(BigStorageCageDetails::getTemperingLayoutId) + .groupBy(BigStorageCageDetails::getTemperingLayoutId); + List<Map<String, Object>> temperingLayoutIdList = bigStorageCageDetailsMapper.selectMaps(bigStorageCageDetailslambdaQueryWrapper); + for (Map<String, Object> map : temperingLayoutIdList) { + for (Map.Entry<String, Object> entry : map.entrySet()) { + String layoutId = entry.getKey().substring(0, entry.getKey().indexOf('-')); + String layoutNum = entry.getKey().substring(entry.getKey().indexOf('-') + 1); + if (layoutNum.equals(entry.getValue())) { + //4銆佹坊鍔犳閽㈠寲鐗堝浘id鎵�鏈夊皬鐗囧皬鐗囧埌閽㈠寲灏忕墖琛� + return false; + } } } } - return true; + return false; } - //淇敼鏍煎瓙鍓╀綑瀹藉害 + //璁$畻鏍煎瓙鍓╀綑瀹藉害 @Override public void updateRemainWidth(int slot) { - //鑾峰彇璇ユ牸瀛愬唴鐜荤拑淇℃伅 + log.info("鑾峰彇璇ユ牸瀛愬唴鐜荤拑淇℃伅锛岃绠楁牸瀛愬墿浣欏搴�"); Integer width = 5000; List<BigStorageCageDetails> bigStorageCageDetailsList = Collections.singletonList(bigStorageCageDetailsMapper.selectById(slot)); for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList @@ -130,13 +158,13 @@ bigStorageCage.setRemainWidth(width); UpdateWrapper<BigStorageCage> bigStorageCageWrapper = new UpdateWrapper<>(); bigStorageCageWrapper.eq("remain_width", width); - baseMapper.update(bigStorageCage, bigStorageCageWrapper); + bigStorageCageMapper.update(bigStorageCage, bigStorageCageWrapper); } @Override public List<BigStorageCage> querybigStorageCageDetail() { //1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭� - List<BigStorageCage> bigStorageCages = baseMapper.selectList(null); + List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectList(null); log.info("1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭畬鎴愶紝鑾峰彇鍒扮殑鏁版嵁{}", bigStorageCages.size()); //2鑾峰彇鐞嗙墖绗兼墍鏈変俊鎭� List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(null); diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java index 191264b..3699edd 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java @@ -22,7 +22,7 @@ private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) - private Integer id; + private Long id; private Integer startSlot; diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java index 5d5b982..7bc098f 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java @@ -16,4 +16,8 @@ public interface BigStorageCageOutTaskService extends IService<BigStorageCageOutTask> { List<BigStorageCageOutTask> querybigStorageCageOutTask(int taskState); + + void updateOutTask(); + + void deleteOutTask(int taskId); } diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java index 5c54a59..73da0a9 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java @@ -2,11 +2,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper; import com.mes.bigstoragetask.entity.BigStorageCageOutTask; import com.mes.bigstoragetask.mapper.BigStorageCageOutTaskMapper; import com.mes.bigstoragetask.service.BigStorageCageOutTaskService; +import com.mes.temperingglass.mapper.TemperingGlassInfoMapper; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.List; /** @@ -17,13 +21,40 @@ * @author zhoush * @since 2024-04-16 */ +@Slf4j @Service public class BigStorageCageOutTaskServiceImpl extends ServiceImpl<BigStorageCageOutTaskMapper, BigStorageCageOutTask> implements BigStorageCageOutTaskService { + @Resource + TemperingGlassInfoMapper temperingGlassInfoMapper; + @Resource + BigStorageCageOutTaskMapper bigStorageCageOutTaskMapper; + @Resource + BigStorageCageDetailsMapper bigStorageCageDetailsMapper; + @Override public List<BigStorageCageOutTask> querybigStorageCageOutTask(int taskState) { + log.info("鏍规嵁浼犲叆鐨勪换鍔$姸鎬佹煡璇换鍔′俊鎭細" + taskState); LambdaQueryWrapper<BigStorageCageOutTask> getOutTaskWrapper = new LambdaQueryWrapper<>(); getOutTaskWrapper.eq(BigStorageCageOutTask::getTaskState, taskState); return baseMapper.selectList(getOutTaskWrapper); } + + @Override + public void updateOutTask() { + List<BigStorageCageOutTask> bigStorageCageOutTaskList = querybigStorageCageOutTask(1); + log.info("鏌ヨ浠诲姟琛ㄦ槸鍚︽湁宸插畬鎴愮殑鍑虹墖浠诲姟" + bigStorageCageOutTaskList.size()); + for (BigStorageCageOutTask bigStorageCageOutTask : bigStorageCageOutTaskList + ) { + deleteOutTask(bigStorageCageOutTask.getId()); + } + } + + @Override + public void deleteOutTask(int taskId) { + log.info("鏍规嵁浠诲姟id淇敼閽㈠寲灏忕墖琛ㄧ姸鎬侊紝鍒犻櫎宸插畬鎴愮殑鍑虹墖浠诲姟"); + temperingGlassInfoMapper.deleteById(taskId); + bigStorageCageOutTaskMapper.deleteById(taskId); + bigStorageCageDetailsMapper.deleteById(taskId); + } } diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java index d584dec..c81b5ec 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java @@ -1,13 +1,21 @@ package com.mes.component; +import cn.hutool.json.JSONObject; import com.mes.bigstorage.entity.BigStorageCageDetails; import com.mes.bigstorage.service.BigStorageCageDetailsService; import com.mes.bigstorage.service.BigStorageCageService; +import com.mes.bigstoragetask.entity.BigStorageCageFeedTask; +import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService; +import com.mes.bigstoragetask.service.BigStorageCageOutTaskService; +import com.mes.edgstoragetask.service.TaskCacheService; import com.mes.glassinfo.entity.GlassInfo; import com.mes.glassinfo.service.GlassInfoService; -import com.mes.temperingglass.service.TemperingGlassInfoService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import java.util.List; + +@Slf4j public class PlcStorageCage extends Thread { @Autowired @@ -15,26 +23,66 @@ @Autowired private BigStorageCageDetailsService bigStorageCageDetailsService; @Autowired - private TemperingGlassInfoService temperingGlassInfoService; - @Autowired private GlassInfoService glassInfoService; + @Autowired + private BigStorageCageFeedTaskService bigStorageCageFeedTaskService; + @Autowired + private BigStorageCageOutTaskService bigStorageCageOutTaskService; + @Autowired + private TaskCacheService taskCacheService; @Override public void run() { while (this != null) { + JSONObject jsonObject = new JSONObject(); try { - Thread.sleep(500); - String plcFeedReq = "0"; - String plcFeedGlassid = "111"; - //Plc杩涚墖璇锋眰鏃� - if ("1".equals(plcFeedReq)) { - BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails(); - //浼犲叆鐜荤拑id - GlassInfo glassInfo = glassInfoService.getById(plcFeedGlassid); + Thread.sleep(300); + boolean bigStorageCageFullAlarm = false; - BigStorageCageDetails slotInfo = bigStorageCageService.feedGlass(glassInfo, bigStorageCageDetails); - if (slotInfo != null) { - //plc浠诲姟鍙戦�佸瓧 + String plcD01FeedReq = "0"; + String plcD04FeedReq = "0"; + String plcFeedGlassid = "111"; + String plcFeedReqLine = "0"; + if ("1".equals(plcD01FeedReq)) { + plcFeedReqLine = "1"; + } else { + //plc浠诲姟鍙戦�佸瓧0 + } + if ("1".equals(plcD04FeedReq)) { + plcFeedReqLine = "2"; + } else { + //plc浠诲姟鍙戦�佸瓧0 + } + + if (!("0".equals(plcFeedReqLine))) { + log.info("1銆丳lc杩涚墖璇锋眰鏃�"); + BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails(); + GlassInfo glassInfo = glassInfoService.getById(plcFeedGlassid); + log.info("2銆佹牴鎹幓鐠僫d鑾峰彇鐜荤拑淇℃伅" + glassInfo); + BigStorageCageDetails SlotInfo = bigStorageCageService.feedGlass(glassInfo, bigStorageCageDetails); + if (SlotInfo != null) { + int taskType = taskCacheService.judgeTasktype(); + log.info("3銆佹煡璇换鍔¤〃鍒ゆ柇褰撳墠浠诲姟绫诲瀷涓轰笂杞︾瓑鍒拌繕鏄笂杞﹀惎鍔�" + taskType); + bigStorageCageFeedTaskService.addFeedTask(SlotInfo, Integer.parseInt(plcFeedReqLine), taskType); + log.info("4銆佹坊鍔犱换鍔″埌浠诲姟琛�"); + //plc浠诲姟鍙戦�佸瓧1 + bigStorageCageFullAlarm = false; + } else { + //鐞嗙墖绗肩垎绗兼姤璀� + bigStorageCageFullAlarm = true; + } + } else { + List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskService.querybigStorageCageFeedTask(1); + log.info("5銆佹煡璇换鍔¤〃鏄惁鏈夊凡缁忓畬鎴愮殑杩涚墖浠诲姟" + bigStorageCageFeedTaskList.size()); + for (BigStorageCageFeedTask bigStorageCageFeedTask : bigStorageCageFeedTaskList + ) { + BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails(); + bigStorageCageDetails.setId(bigStorageCageFeedTask.getId()); + bigStorageCageDetails.setState(1); + bigStorageCageDetailsService.updateById(bigStorageCageDetails); + log.info("6銆佷慨鏀圭悊鐗囩璇︽儏鐜荤拑鐘舵��"); + bigStorageCageFeedTaskService.removeById(bigStorageCageFeedTask); + log.info("7銆佸垹闄ゅ凡缁忓畬鎴愮殑杩涚墖浠诲姟"); } } @@ -42,15 +90,20 @@ String plcOutReq = "0"; boolean result = false; if ("1".equals(plcOutReq)) { - //鑾峰彇閽㈠寲灏忕墖琛ㄦ湭鍑虹淇℃伅 - - + result = bigStorageCageService.outGlass(); + log.info("8銆佸嚭鐗囪姹傛椂璋冪敤鍑虹墖鎺ュ彛" + result); if (result == true) { - //plc浠诲姟鍙戦�佸瓧 + //plc浠诲姟鍙戦�佸瓧1 } + } else { + bigStorageCageOutTaskService.updateOutTask(); + //plc浠诲姟鍙戦�佸瓧0 } + //鏄剧ず鍓╀綑绌烘牸瀛� + //鎶ヨ淇℃伅 + jsonObject.append("bigStorageCageFullAlarm", bigStorageCageFullAlarm); } catch (Exception e) { e.printStackTrace(); } diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java index c056439..3563307 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java @@ -120,7 +120,7 @@ /** * 宸ョ▼鍙� */ - private Integer engineerId; + private Long engineerId; /** * 鐢熶骇瑙勫垯id diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java index 709c05d..83eeab8 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java @@ -14,7 +14,7 @@ * @since 2024-03-27 */ public interface TemperingGlassInfoService extends IService<TemperingGlassInfo> { - public void addOutTask(List<TemperingGlassInfo> temperingGlassInfoList); - public List<TemperingGlassInfo> SelectTemperingGlassInfo(); + void addOutTask(List<TemperingGlassInfo> temperingGlassInfoList); + } diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java index 6d59152..8aec221 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java @@ -1,9 +1,11 @@ package com.mes.temperingglass.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mes.bigstoragetask.entity.BigStorageCageOutTask; import com.mes.temperingglass.entity.TemperingGlassInfo; import com.mes.temperingglass.mapper.TemperingGlassInfoMapper; import com.mes.temperingglass.service.TemperingGlassInfoService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.List; @@ -16,26 +18,30 @@ * @author zhoush * @since 2024-03-27 */ +@Slf4j @Service public class TemperingGlassInfoServiceImpl extends ServiceImpl<TemperingGlassInfoMapper, TemperingGlassInfo> implements TemperingGlassInfoService { @Override public void addOutTask(List<TemperingGlassInfo> temperingGlassInfoList) { - double carwidth = 5000; - double gay = 50; + double carWidth = 5000; + double gap = 50; //鍐欏叆浠诲姟鍒颁换鍔¤〃 for (TemperingGlassInfo temperingGlassInfo : temperingGlassInfoList ) { - if ((carwidth - gay - temperingGlassInfo.getWidth()) > 0) { - //娣诲姞浠诲姟鍒颁换鍔¤〃 + log.info("1銆佸綋鍑虹墖杞﹀搴﹀ぇ浜庣幓鐠冨搴︽椂"); + if ((carWidth - temperingGlassInfo.getWidth()) > 0) { + carWidth -= temperingGlassInfo.getWidth() - gap; + log.info("2銆佹坊鍔犲垰灏忕墖琛ㄤ俊鎭埌浠诲姟琛�"); + temperingGlassInfo.setState(1); + baseMapper.updateById(temperingGlassInfo); + log.info("3銆佹坊鍔犲垰灏忕墖琛ㄤ俊鎭埌浠诲姟琛�"); + BigStorageCageOutTask bigStorageCageOutTask = new BigStorageCageOutTask(); + bigStorageCageOutTask.setId(temperingGlassInfo.getId()); } else { break; } } } - @Override - public List<TemperingGlassInfo> SelectTemperingGlassInfo() { - return null; - } } -- Gitblit v1.8.0