From 9247ea3d414c528ff2210c4b1ccdb38741f52101 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 30 五月 2024 16:50:36 +0800
Subject: [PATCH] 添加新磨边任务表,添加上车宽度判断
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java | 41 +++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java | 24 ++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java | 6
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java | 69 ++++-
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 88 +++++++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java | 30 ++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java | 20 +
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java | 71 ++++++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java | 16 +
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java | 101 +++++++++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java | 20 +
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java | 6
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java | 8
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java | 34 +++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 60 +---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java | 19 +
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/mapper/EdgGlassTaskInfoMapper.java | 18 +
22 files changed, 574 insertions(+), 73 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 a81873e..4daedb5 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
@@ -30,8 +30,8 @@
@ApiOperation("鏌ヨ鐞嗙墖绗间俊鎭�")
@GetMapping("/bigStorageCage")
- public Result querybigStorageCageDetail() {
- return Result.build(200,"鏌ヨ鎴愬姛",bigStorageCageService.querybigStorageCageDetail());
+ public Result querybigStorageCageDetail(int deviceId) {
+ return Result.build(200,"鏌ヨ鎴愬姛",bigStorageCageService.querybigStorageCageDetail(deviceId));
}
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
index 3d6708e..10bb881 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
@@ -41,7 +41,6 @@
public Result insertBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails) {
bigStorageCageDetailsService.save(bigStorageCageDetails);
return Result.build(200,"娣诲姞鎴愬姛",1);
-
}
@ApiOperation("鐞嗙墖绗艰鎯呭垹闄�")
@@ -49,7 +48,6 @@
public Result deleteBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails) {
bigStorageCageDetailsService.removeById(bigStorageCageDetails.getId());
return Result.build(200,"鍒犻櫎鎴愬姛",1);
-
}
@ApiOperation("鐞嗙墖绗间换鍔℃煡璇�")
@@ -58,7 +56,7 @@
LambdaQueryWrapper<BigStorageCageDetails> selectWrapper = new LambdaQueryWrapper<>();
selectWrapper.eq(BigStorageCageDetails::getState,state);
return Result.build(200,"鏌ヨ鎴愬姛",bigStorageCageDetailsService.list(selectWrapper));
-
}
+
}
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 4788f9b..0acc5f2 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
@@ -1,13 +1,18 @@
package com.mes.bigstorage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
+import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
+import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
+import java.util.List;
/**
* <p>
@@ -17,6 +22,7 @@
* @author zhoush
* @since 2024-03-27
*/
+@ApiModel(description = "<p> </p>")
@Api(description = "澶х悊鐗囩璇︽儏")
@Data
@EqualsAndHashCode(callSuper = false)
@@ -109,5 +115,18 @@
@ApiModelProperty(value = "鐜荤拑闂撮殭", position = 15)
private Integer gap;
+ /**
+ * 杩涚墖浠诲姟
+ */
+ @ApiModelProperty(value = "杩涚墖浠诲姟", position = 16)
+ @TableField(exist = false)
+ private BigStorageCageFeedTask bigStorageCageFeedTask;
+
+ /**
+ * 鍑虹墖浠诲姟
+ */
+ @ApiModelProperty(value = "鍑虹墖浠诲姟", position = 17)
+ @TableField(exist = false)
+ private BigStorageCageOutTask bigStorageCageOutTask;
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
index ef46c59..7b0a0a4 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
@@ -2,6 +2,9 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.bigstorage.entity.BigStorageCageDetails;
+import com.mes.glassinfo.entity.GlassInfo;
+
+import java.util.List;
/**
* <p>
@@ -13,4 +16,7 @@
*/
public interface BigStorageCageDetailsService extends IService<BigStorageCageDetails> {
+ List<BigStorageCageDetails> selectTask(int taskType);
+
+ boolean selectGetBoard(GlassInfo glassInfo, String plcFeedReqLine);
}
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 60ba4df..5f1d50f 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
@@ -7,6 +7,7 @@
import com.mes.glassinfo.entity.GlassInfo;
import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -24,6 +25,9 @@
boolean outGlass();
- List<BigStorageCage> querybigStorageCageDetail();
+ List<BigStorageCage> querybigStorageCageDetail(int deviceId);
+ List<Map<String, Object>> selectBigStorageCageUsage();
+
+ boolean selectWidthSufficient(BigStorageCageDetails layoutSlotInfo,double width);
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index 298761d..89a9109 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -1,15 +1,24 @@
package com.mes.bigstorage.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
import com.mes.bigstorage.mapper.BigStorageCageMapper;
import com.mes.bigstorage.service.BigStorageCageDetailsService;
+import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
+import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
+import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
+import com.mes.bigstoragetask.mapper.BigStorageCageOutTaskMapper;
+import com.mes.glassinfo.entity.GlassInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
/**
* <p>
@@ -21,7 +30,82 @@
*/
@Service
public class BigStorageCageDetailsServiceImpl extends ServiceImpl<BigStorageCageDetailsMapper, BigStorageCageDetails> implements BigStorageCageDetailsService {
- @Resource
- private BigStorageCageMapper bigStorageCageMapper;
+ @Resource
+ private BigStorageCageOutTaskMapper bigStorageCageOutTaskMapper;
+ @Resource
+ private BigStorageCageFeedTaskMapper bigStorageCageFeedTaskMapper;
+
+ /**
+ * 鏌ヨ杩�/鍑虹墖浠诲姟
+ */
+ @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);
+ List<BigStorageCageDetails> bigStorageCageDetailsList=baseMapper.selectList(feedWrapper);
+ List<BigStorageCageFeedTask> bigStorageCageFeedTaskList=bigStorageCageFeedTaskMapper.selectList(null);
+
+ Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream()
+ .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task));
+
+ for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
+ BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId());
+ bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask);
+ }
+ return bigStorageCageDetailsList;
+ }else{
+ //鍑虹墖浠诲姟鏁版嵁
+ LambdaQueryWrapper<BigStorageCageDetails> outWrapper = new LambdaQueryWrapper<>();
+ outWrapper.eq(BigStorageCageDetails::getState, 3)
+ .or()
+ .eq(BigStorageCageDetails::getState, 4);
+ List<BigStorageCageDetails> bigStorageCageDetailsList=baseMapper.selectList(outWrapper);
+ List<BigStorageCageOutTask> bigStorageCageOutTaskList=bigStorageCageOutTaskMapper.selectList(null);
+
+ Map<String, BigStorageCageOutTask> listMap = bigStorageCageOutTaskList.stream()
+ .collect(Collectors.toMap(BigStorageCageOutTask::getGlassId, task -> task));
+ for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
+ BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId());
+ bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask);
+ }
+ return bigStorageCageDetailsList;
+ }
+
+ }
+
+ /**
+ * 鍒ゆ柇褰撳墠鐜荤拑鏄惁鑳戒笂杞�
+ */
+ @Override
+ public boolean selectGetBoard(GlassInfo glassInfo, String plcFeedReqLine){
+ double carWidth=5000;
+ LambdaQueryWrapper<BigStorageCageDetails> feedWrapper = new LambdaQueryWrapper<>();
+ feedWrapper.eq(BigStorageCageDetails::getState, plcFeedReqLine);
+
+ List<BigStorageCageDetails> bigStorageCageDetailsList=baseMapper.selectList(feedWrapper);
+ List<BigStorageCageFeedTask> bigStorageCageFeedTaskList=bigStorageCageFeedTaskMapper.selectList(null);
+ Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream()
+ .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task));
+ for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
+ BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId());
+ bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask);
+ }
+ for (BigStorageCageDetails bigStorageCageDetails:bigStorageCageDetailsList
+ ) {
+ if(bigStorageCageDetails.getBigStorageCageFeedTask().getTaskState()==0){
+ carWidth -= Integer.parseInt(bigStorageCageDetails.getWidth().toString()) + bigStorageCageDetails.getGap();
+ }
+ }
+ if(carWidth>=0){
+ return true;
+ }else{
+ return false;
+ }
+
+ }
}
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 5a1652e..c798fc7 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
@@ -49,20 +49,20 @@
@Resource
private GlassInfoService glassInfoService;
+ //杩涚墖閫昏緫
@Override
public BigStorageCageDetails feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) {
- 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);
-
+ log.info("1銆佹煡璇㈢悊鐗囩鍐呯墖搴�-1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠�"+layoutSlotInfo);
BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
- log.info("2銆佹煡璇㈢悊鐗囩鍐呯墖搴�-1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓嶄负绌烘椂");
- if (layoutSlotInfo.getSlot() != null) {
+ log.info("2銆佹煡璇㈢悊鐗囩鍐呯墖搴�-1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓嶄负绌烘椂"+layoutSlotInfo.getSlot());
+ if (layoutSlotInfo.getSlot() != null&&selectWidthSufficient(layoutSlotInfo,bigStorageCageDetails.getWidth())) {
bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot());
} else {
log.info("3銆佹煡璇㈢悊鐗囩鍐呯墖搴�-1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓虹┖鏃惰幏鍙栧綋鍓嶇幓鐠冪増鍥緄d鏄惁瀛樺湪鐞嗙墖绗煎唴");
@@ -71,7 +71,7 @@
.select(BigStorageCageDetails::getTemperingLayoutId);
layoutSlotInfo = bigStorageCageDetailsMapper.selectOne(bigStorageCageDetailslambdaQueryWrapper);
- if(layoutSlotInfo != null){
+ if(layoutSlotInfo != null&&selectWidthSufficient(layoutSlotInfo,bigStorageCageDetails.getWidth())){
log.info("4銆佽幏鍙栫瀛愬唴閫傚悎鐨勬牸瀛�");
BigStorageCage bigStorageCage=bigStorageCageSlot(layoutSlotInfo.getDeviceId());
bigStorageCageDetails.setSlot(bigStorageCage.getSlot());
@@ -86,13 +86,19 @@
List<Map<String, Object>> bigStorageCageDetailsCount= bigStorageCageDetailsMapper.selectMaps(queryWrapper);
log.info("5銆佹煡璇㈢瀛愬唴鏄惁鏈夊悎閫傜殑鏍煎瓙");
+ boolean found=false;
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());
+ found=true;
+ break;
}
+ }
+ if(found){
+ break;
}
}
}
@@ -119,12 +125,14 @@
return bigStorageCageMapper.selectOne(bigStorageCageWrapper);
}
-
+ //鍑虹墖閫昏緫
@Override
public boolean outGlass() {
- List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.list();
+ LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoWrapper=new LambdaQueryWrapper<>();
+ temperingGlassInfoWrapper.eq(TemperingGlassInfo::getState,-1);
+ List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.list(temperingGlassInfoWrapper);
log.info("1銆佹煡璇㈤挗鍖栧皬鐗囦换鍔¤〃鏄惁鏈夊緟鍑虹幓鐠�"+temperingGlassInfoList.size());
- if(temperingGlassInfoList!=null){
+ if(temperingGlassInfoList.size()>0){
temperingGlassInfoService.addOutTask(temperingGlassInfoList);
log.info("2銆佹坊鍔犱换鍔″埌浠诲姟琛�");
return true;
@@ -140,7 +148,7 @@
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鎵�鏈夊皬鐗囧皬鐗囧埌閽㈠寲灏忕墖琛�
+ log.info("4銆佹坊鍔犳閽㈠寲鐗堝浘id鎵�鏈夊皬鐗囧皬鐗囧埌閽㈠寲灏忕墖琛�");
LambdaQueryWrapper<GlassInfo> glassInfoWrapper=new LambdaQueryWrapper<>();
glassInfoWrapper.select(GlassInfo::getTemperingLayoutId)
.orderByDesc(GlassInfo::getTemperingFeedSequence);
@@ -177,14 +185,21 @@
bigStorageCageMapper.update(bigStorageCage, bigStorageCageWrapper);
}
-
+ //鏌ヨ澶х悊鐗囦俊鎭紝鍓嶇灞曠ず鐢�
@Override
- public List<BigStorageCage> querybigStorageCageDetail() {
- //1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭�
- List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectList(null);
+ public List<BigStorageCage> querybigStorageCageDetail(int deviceId) {
+
+ LambdaQueryWrapper<BigStorageCage> BigStorageCageWrapper =new LambdaQueryWrapper<>();
+ BigStorageCageWrapper.eq(BigStorageCage::getSlot,deviceId);
+
+ LambdaQueryWrapper<BigStorageCageDetails> BigStorageCageDetailsWrapper =new LambdaQueryWrapper<>();
+ BigStorageCageDetailsWrapper.eq(BigStorageCageDetails::getSlot,deviceId);
+
+ List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectList(BigStorageCageWrapper);
log.info("1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭畬鎴愶紝鑾峰彇鍒扮殑鏁版嵁{}", bigStorageCages.size());
- //2鑾峰彇鐞嗙墖绗兼墍鏈変俊鎭�
- List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(null);
+
+ List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(BigStorageCageDetailsWrapper);
+
Map<Integer, List<BigStorageCageDetails>> listMap = bigStorageCageDetailsList.stream().collect(Collectors.groupingBy(BigStorageCageDetails::getSlot));
for (BigStorageCage bigStorageCage : bigStorageCages) {
List<BigStorageCageDetails> bigStorageCageDetails = listMap.get(bigStorageCage.getSlot());
@@ -193,4 +208,28 @@
return bigStorageCages;
}
+ //绗煎瓙浣跨敤鎯呭喌锛岀晫闈㈠睍绀虹敤
+ @Override
+ public List<Map<String, Object>> selectBigStorageCageUsage() {
+ QueryWrapper<BigStorageCage> wrapper = new QueryWrapper<>();
+ wrapper.select("device_id")
+ .select("ROUND(1 - SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) / COUNT(device_id), 2) AS percentage")
+ .select("COUNT(device_id) - SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) AS count")
+ .groupBy("device_id");
+ List<Map<String, Object>> bigStorageCageUsages=baseMapper.selectMaps(wrapper);
+ return bigStorageCageUsages;
+ }
+
+ //鍒ゆ柇绗煎瓙鍓╀綑瀹藉害鏄惁瓒冲
+ @Override
+ public boolean selectWidthSufficient(BigStorageCageDetails layoutSlotInfo,double width) {
+ LambdaQueryWrapper<BigStorageCage> BigStorageCageWrapper = new LambdaQueryWrapper<>();
+ BigStorageCageWrapper.eq(BigStorageCage::getSlot,layoutSlotInfo.getSlot());
+ BigStorageCage bigStorageCage=baseMapper.selectOne(BigStorageCageWrapper);
+ if(bigStorageCage.getRemainWidth()>width){
+ return true;
+ }else{
+ return false;
+ }
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
index a9f3743..41ed73d 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
@@ -3,6 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,21 +17,48 @@
* @author zhoush
* @since 2024-04-16
*/
+@ApiModel(description = "<p> </p>")
@Data
@EqualsAndHashCode(callSuper = false)
public class BigStorageCageFeedTask implements Serializable {
private static final long serialVersionUID = 1L;
+ /**
+ * 涓婚敭id
+ */
+ @ApiModelProperty(value = "涓婚敭id", position = 2)
@TableId(value = "id", type = IdType.AUTO)
private Long id;
+ /**
+ * 鐜荤拑id
+ */
+ @ApiModelProperty(value = "鐜荤拑id", position = 3)
+ private String glassId;
+
+ /**
+ * 鐩爣浣嶇疆
+ */
+ @ApiModelProperty(value = "鐩爣浣嶇疆", position = 4)
private Integer tragetSlot;
+ /**
+ * 鐜荤拑绫诲瀷
+ */
+ @ApiModelProperty(value = "鐜荤拑绫诲瀷", position = 5)
private Integer taskType;
+ /**
+ * 浠诲姟绫诲瀷
+ */
+ @ApiModelProperty(value = "浠诲姟绫诲瀷", position = 6)
private Integer taskState;
+ /**
+ * 绾胯矾
+ */
+ @ApiModelProperty(value = "绾胯矾", position = 7)
private Integer line;
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 ffbb1d7..2094530 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
@@ -3,6 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,23 +17,54 @@
* @author zhoush
* @since 2024-04-16
*/
+@ApiModel(description = "<p> </p>")
@Data
@EqualsAndHashCode(callSuper = false)
public class BigStorageCageOutTask implements Serializable {
private static final long serialVersionUID = 1L;
+ /**
+ * 涓婚敭id
+ */
+ @ApiModelProperty(value = "涓婚敭id", position = 2)
@TableId(value = "id", type = IdType.AUTO)
private Long id;
+ /**
+ * 鐜荤拑id
+ */
+ @ApiModelProperty(value = "鐜荤拑id", position = 3)
+ private String glassId;
+
+ /**
+ * 寮�濮嬩綅缃�
+ */
+ @ApiModelProperty(value = "寮�濮嬩綅缃�", position = 4)
private Integer startSlot;
+ /**
+ * 鐩爣浣嶇疆
+ */
+ @ApiModelProperty(value = "鐩爣浣嶇疆", position = 5)
private Integer endSlot;
+ /**
+ * 杞︽
+ */
+ @ApiModelProperty(value = "杞︽", position = 6)
private Integer trainNumber;
+ /**
+ * 搴忓彿
+ */
+ @ApiModelProperty(value = "搴忓彿", position = 7)
private Integer serialNumber;
+ /**
+ * 浠诲姟鐘舵��
+ */
+ @ApiModelProperty(value = "浠诲姟鐘舵��", position = 8)
private Integer taskState;
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 2e10a4d..2c9a9e2 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
@@ -19,5 +19,5 @@
void updateOutTask();
- void deleteOutTask(Long taskId);
+ void deleteOutTask(String glassId);
}
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 c06a427..32938c2 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
@@ -1,12 +1,14 @@
package com.mes.bigstoragetask.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mes.bigstorage.entity.BigStorageCageDetails;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.mapper.TemperingGlassInfoMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -32,6 +34,10 @@
BigStorageCageOutTaskMapper bigStorageCageOutTaskMapper;
@Resource
BigStorageCageDetailsMapper bigStorageCageDetailsMapper;
+
+ /**
+ * 鏌ヨ浠诲姟淇℃伅
+ */
@Override
public List<BigStorageCageOutTask> querybigStorageCageOutTask(int taskState){
log.info("鏍规嵁浼犲叆鐨勪换鍔$姸鎬佹煡璇换鍔′俊鎭細"+taskState);
@@ -40,21 +46,46 @@
return baseMapper.selectList(getOutTaskWrapper);
}
+ /**
+ * 妫�娴婸LC鏄惁瀹屾垚浠诲姟
+ */
@Override
public void updateOutTask(){
List<BigStorageCageOutTask> bigStorageCageOutTaskList=querybigStorageCageOutTask(1);
log.info("鏌ヨ浠诲姟琛ㄦ槸鍚︽湁宸插畬鎴愮殑鍑虹墖浠诲姟"+bigStorageCageOutTaskList.size());
for (BigStorageCageOutTask bigStorageCageOutTask:bigStorageCageOutTaskList
) {
- deleteOutTask(bigStorageCageOutTask.getId());
+ deleteOutTask(bigStorageCageOutTask.getGlassId());
}
}
+ /**
+ * 瀹屾垚鍑虹墖浠诲姟
+ */
@Override
- public void deleteOutTask(Long taskId){
+ public void deleteOutTask(String glassId){
log.info("鏍规嵁浠诲姟id淇敼閽㈠寲灏忕墖琛ㄧ姸鎬侊紝鍒犻櫎宸插畬鎴愮殑鍑虹墖浠诲姟,鍒犻櫎绗煎瓙琛ㄧ幓鐠�");
- temperingGlassInfoMapper.deleteById(taskId);
- bigStorageCageOutTaskMapper.deleteById(taskId);
- bigStorageCageDetailsMapper.deleteById(taskId);
+
+ LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoWrapper =new LambdaQueryWrapper<>();
+ temperingGlassInfoWrapper.eq(TemperingGlassInfo::getGlassId,glassId);
+ TemperingGlassInfo temperingGlassInfo=temperingGlassInfoMapper.selectOne(temperingGlassInfoWrapper);
+ //鍒ゆ柇鏄惁鎵嬪姩浠诲姟锛屼笉閽㈠寲浠诲姟瀹屾垚鍚庡垹鎺夛紝閽㈠寲浠诲姟瀹屾垚鍚庢敼鐘舵�佷负0
+ if(temperingGlassInfo.getState()==-2){
+ temperingGlassInfoMapper.deleteById(temperingGlassInfo.getId());
+ }else{
+ temperingGlassInfo.setState(0);
+ temperingGlassInfoMapper.updateById(temperingGlassInfo);
+ }
+
+ LambdaQueryWrapper<BigStorageCageOutTask> bigStorageCageOutTaskWrapper =new LambdaQueryWrapper<>();
+ bigStorageCageOutTaskWrapper.eq(BigStorageCageOutTask::getGlassId,glassId);
+ BigStorageCageOutTask bigStorageCageOutTask=bigStorageCageOutTaskMapper.selectOne(bigStorageCageOutTaskWrapper);
+ bigStorageCageOutTaskMapper.deleteById(bigStorageCageOutTask.getId());
+
+ LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper =new LambdaQueryWrapper<>();
+ bigStorageCageDetailsWrapper.eq(BigStorageCageDetails::getGlassId,glassId);
+ BigStorageCageDetails bigStorageCageDetails=bigStorageCageDetailsMapper.selectOne(bigStorageCageDetailsWrapper);
+ bigStorageCageDetailsMapper.deleteById(bigStorageCageOutTask.getId());
+
}
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
index ac57db3..304846e 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
@@ -24,7 +24,9 @@
private S7object() {
if (plccontrol == null) {
plccontrol = new S7control(plcType, ip, port, 0, 0);
- String PlcLoadGlass = System.getProperty("user.dir") + "/JsonFile/PlcCacheVerticalGlass.json";
+
+ String PlcLoadGlass=S7object.class.getResource("/JsonFile/PlcCacheVerticalGlass.json").getPath();
+ //log.info(PLCAutoMes.class.getResource("").getPath());
PlcMesObject = InitUtil.initword(PlcLoadGlass);
}
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
new file mode 100644
index 0000000..b8b8a9d
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
@@ -0,0 +1,20 @@
+package com.mes.edgglasstask.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+@RestController
+@RequestMapping("/edgGlassTaskInfo")
+public class EdgGlassTaskInfoController {
+
+}
+
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
new file mode 100644
index 0000000..52ad531
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
@@ -0,0 +1,71 @@
+package com.mes.edgglasstask.entity;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+@ApiModel(description = "<p> </p>")
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class EdgGlassTaskInfo implements Serializable {
+
+ /**
+ * 纾ㄨ竟浠诲姟id
+ */
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鐜荤拑id
+ */
+ @ApiModelProperty(value = "鐜荤拑id", position = 2)
+ private String glassId;
+
+ /**
+ * 瀹�
+ */
+ @ApiModelProperty(value = "瀹�", position = 3)
+ private Integer width;
+
+ /**
+ * 楂�
+ */
+ @ApiModelProperty(value = "楂�", position = 4)
+ private Integer height;
+
+ /**
+ * 鍘氬害
+ */
+ @ApiModelProperty(value = "鍘氬害", position = 5)
+ private Integer thickness;
+
+ /**
+ * 鐜荤拑绫诲瀷
+ */
+ @ApiModelProperty(value = "鐜荤拑绫诲瀷", position = 6)
+ private Integer glassType;
+
+ /**
+ * 鐘舵��
+ */
+ @ApiModelProperty(value = "鐘舵��", position = 7)
+ private Integer status;
+
+ /**
+ * 绾胯矾
+ */
+ @ApiModelProperty(value = "绾胯矾", position = 8)
+ private Integer line;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/mapper/EdgGlassTaskInfoMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/mapper/EdgGlassTaskInfoMapper.java
new file mode 100644
index 0000000..2f6a5be
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/mapper/EdgGlassTaskInfoMapper.java
@@ -0,0 +1,18 @@
+package com.mes.edgglasstask.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+@DS("salve_hangzhoumes")
+public interface EdgGlassTaskInfoMapper extends BaseMapper<EdgGlassTaskInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
new file mode 100644
index 0000000..1589b7d
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
@@ -0,0 +1,16 @@
+package com.mes.edgglasstask.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+public interface EdgGlassTaskInfoService extends IService<EdgGlassTaskInfo> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
new file mode 100644
index 0000000..34a06f4
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
@@ -0,0 +1,20 @@
+package com.mes.edgglasstask.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+import com.mes.edgglasstask.mapper.EdgGlassTaskInfoMapper;
+import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-05-11
+ */
+@Service
+public class EdgGlassTaskInfoServiceImpl extends ServiceImpl<EdgGlassTaskInfoMapper, EdgGlassTaskInfo> implements EdgGlassTaskInfoService {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
new file mode 100644
index 0000000..d0c68d0
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
@@ -0,0 +1,101 @@
+package com.mes.job;
+
+import cn.hutool.json.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mes.bigstorage.entity.BigStorageCage;
+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.entity.BigStorageCageOutTask;
+import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService;
+import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
+import com.mes.common.S7object;
+import com.mes.device.PlcParameterObject;
+import com.mes.edgstoragetask.service.TaskCacheService;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.menu.service.SysMenuService;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
+import com.mes.tools.WebSocketServer;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Component
+@Slf4j
+public class PlcSlicecage {
+
+ @Resource
+ private BigStorageCageService bigStorageCageService;
+ @Resource
+ private BigStorageCageDetailsService bigStorageCageDetailsService;
+ @Resource
+ private TemperingGlassInfoService temperingGlassInfoService;
+
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ /**
+ * fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
+ * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
+ */
+ @Scheduled(fixedDelay = 5000)
+ public void plcStorageCageTask() throws InterruptedException {
+ JSONObject jsonObject = new JSONObject();
+ try {
+ //鐣岄潰灞曠ず绗煎瓙淇℃伅
+ jsonObject.append("bigStorageCageInfo1", bigStorageCageService.querybigStorageCageDetail(1));
+ jsonObject.append("bigStorageCageInfo2", bigStorageCageService.querybigStorageCageDetail(2));
+ jsonObject.append("bigStorageCageInfo3", bigStorageCageService.querybigStorageCageDetail(3));
+ jsonObject.append("bigStorageCageInfo4", bigStorageCageService.querybigStorageCageDetail(4));
+ jsonObject.append("bigStorageCageInfo5", bigStorageCageService.querybigStorageCageDetail(5));
+ jsonObject.append("bigStorageCageInfo6", bigStorageCageService.querybigStorageCageDetail(6));
+ jsonObject.append("bigStorageCageInfo7", bigStorageCageService.querybigStorageCageDetail(7));
+ jsonObject.append("bigStorageCageInfo8", bigStorageCageService.querybigStorageCageDetail(8));
+
+ //杩涚墖浠诲姟鏁版嵁
+ List<BigStorageCageDetails> bigStorageCageDetailsFeedTask=bigStorageCageDetailsService.selectTask(1);
+ jsonObject.append("bigStorageCageDetailsFeedTask", bigStorageCageDetailsFeedTask);
+
+ //鍑虹墖浠诲姟鏁版嵁
+ List<BigStorageCageDetails> bigStorageCageDetailsOutTask=bigStorageCageDetailsService.selectTask(2);
+ jsonObject.append("bigStorageCageDetailsOutTask", bigStorageCageDetailsOutTask);
+
+ //鐞嗙墖绗间娇鐢ㄦ儏鍐�
+ List<Map<String, Object>> bigStorageCageUsage=bigStorageCageService.selectBigStorageCageUsage();
+ jsonObject.append("bigStorageCageUsage", bigStorageCageUsage);
+
+ //鍑虹墖闃熷垪
+ List<TemperingGlassInfo> temperingGlassInfoList= temperingGlassInfoService.list();
+ jsonObject.append("temperingGlassInfoList", temperingGlassInfoList);
+
+ //鎶ヨ淇℃伅
+ jsonObject.append("bigStorageCageFullAlarm", PlcStorageCageTask.bigStorageCageFullAlarm);
+
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ webserver.sendMessage(jsonObject.toString());
+ List<String> messages = webserver.getMessages();
+ if (!messages.isEmpty()) {
+ // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ webserver.clearMessages();
+ }
+ } else {
+ log.info("Home is closed");
+ }
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index 93c9b80..476151f 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -1,6 +1,4 @@
package com.mes.job;
-
-import cn.hutool.json.JSONObject;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.service.BigStorageCageDetailsService;
import com.mes.bigstorage.service.BigStorageCageService;
@@ -13,14 +11,11 @@
import com.mes.edgstoragetask.service.TaskCacheService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
-import com.mes.menu.service.SysMenuService;
-import com.mes.tools.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
-import java.util.ArrayList;
import java.util.List;
@Component
@@ -40,20 +35,16 @@
@Resource
private TaskCacheService taskCacheService;
- @Resource
- private SysMenuService sysMenuService;
-
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+
+ public static boolean bigStorageCageFullAlarm = false;
/**
* fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
*/
- @Scheduled(fixedDelay = 30000)
+ @Scheduled(fixedDelay = 5000)
public void plcStorageCageTask() throws InterruptedException {
- JSONObject jsonObject = new JSONObject();
try {
- // 鐖嗙鎶ヨ
- boolean bigStorageCageFullAlarm = false;
String plcFeedGlassid = "";
String plcFeedReqLine = "0";
@@ -71,15 +62,24 @@
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銆佹坊鍔犱换鍔″埌浠诲姟琛�");
- bigStorageCageFullAlarm = false;
- } else {
- bigStorageCageFullAlarm = true;
+ if(bigStorageCageDetailsService.selectGetBoard(glassInfo,plcFeedReqLine)){
+ 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銆佹坊鍔犱换鍔″埌浠诲姟琛�");
+ bigStorageCageFullAlarm = false;
+ } else {
+ bigStorageCageFullAlarm = true;
+ }
+ }else{
+ log.info("褰撳墠鐜荤拑瀹藉害涓嶅涓婅溅" + glassInfo);
+ if(!("1".equals(plcFeedReqLine))){
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D02Go").getAddress(), 1);
+ }else{
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D05Go").getAddress(), 1);
+ }
}
} else {
List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskService.querybigStorageCageFeedTask(1);
@@ -105,26 +105,8 @@
bigStorageCageOutTaskService.updateOutTask();
log.info("9銆佹牴鎹换鍔¤〃鐘舵�佷慨鏀归挗鍖栧皬鐗囪〃浠诲姟鐘舵��");
- //鎶ヨ淇℃伅
- jsonObject.append("bigStorageCageFullAlarm", bigStorageCageFullAlarm);
-
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
- if (sendwServer != null) {
- for (WebSocketServer webserver : sendwServer) {
- if (webserver != null) {
- webserver.sendMessage(jsonObject.toString());
- List<String> messages = webserver.getMessages();
- if (!messages.isEmpty()) {
- // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
- webserver.clearMessages();
- }
- } else {
- log.info("Home is closed");
- }
- }
- }
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
index 3f6b0c9..40878b5 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
@@ -3,6 +3,9 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,6 +17,7 @@
* @author zhoush
* @since 2024-03-27
*/
+@ApiModel(description = "<p> 閽㈠寲灏忕墖淇℃伅琛� </p>")
@Data
@EqualsAndHashCode(callSuper = false)
public class TemperingGlassInfo implements Serializable {
@@ -23,72 +27,92 @@
/**
* 閽㈠寲灏忕墖淇℃伅琛╥d
*/
+ @ApiModelProperty(value = "閽㈠寲灏忕墖淇℃伅琛╥d", position = 2)
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
+ * 鐜荤拑id
+ */
+ @ApiModelProperty(value = "鐜荤拑id", position = 3)
+ private String glassId;
+
+ /**
* 娴佺▼鍗�
*/
+ @ApiModelProperty(value = "娴佺▼鍗�", position = 4)
private String flowcardId;
/**
* 娴佺▼鍗$幓鐠冪被鍨�
*/
+ @ApiModelProperty(value = "娴佺▼鍗$幓鐠冪被鍨�", position = 5)
private Integer glassType;
/**
* 瀹�
*/
+ @ApiModelProperty(value = "瀹�", position = 6)
private Double width;
/**
* 楂�
*/
+ @ApiModelProperty(value = "楂�", position = 7)
private Double height;
/**
* 鍘氬害
*/
+ @ApiModelProperty(value = "鍘氬害", position = 8)
private Double thickness;
/**
* 鑶滅郴
*/
+ @ApiModelProperty(value = "鑶滅郴", position = 9)
private Integer filmsid;
/**
* 閽㈠寲鏄惁鎺ュ彈妯斁
*/
+ @ApiModelProperty(value = "閽㈠寲鏄惁鎺ュ彈妯斁", position = 10)
private Integer ishorizontal;
/**
* 閽㈠寲鐗堝浘id
*/
+ @ApiModelProperty(value = "閽㈠寲鐗堝浘id", position = 11)
private Integer temperingLayoutId;
/**
* 閽㈠寲鐗堝浘鐗囧簭
*/
+ @ApiModelProperty(value = "閽㈠寲鐗堝浘鐗囧簭", position = 12)
private Integer temperingFeedSequence;
/**
* x鍧愭爣
*/
+ @ApiModelProperty(value = "x鍧愭爣", position = 13)
private Integer xCoordinate;
/**
* y鍧愭爣
*/
+ @ApiModelProperty(value = "y鍧愭爣", position = 14)
private Integer yCoordinate;
/**
* 鏃嬭浆瑙掑害锛堥�嗘椂閽堬級
*/
+ @ApiModelProperty(value = "鏃嬭浆瑙掑害锛堥�嗘椂閽堬級", position = 15)
private Integer angle;
/**
* 鐘舵��
*/
+ @ApiModelProperty(value = "鐘舵��", position = 16)
private Integer state;
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
index ccf5a4b..bb591f5 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
@@ -1,5 +1,6 @@
package com.mes.temperingglass.mapper;
+import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.temperingglass.entity.TemperingGlassInfo;
@@ -11,6 +12,7 @@
* @author zhoush
* @since 2024-03-27
*/
+@DS("salve_hangzhoumes")
public interface TemperingGlassInfoMapper extends BaseMapper<TemperingGlassInfo> {
}
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 4e4b1c8..b9e6e98 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
@@ -31,11 +31,11 @@
) {
log.info("1銆佸綋鍑虹墖杞﹀搴﹀ぇ浜庣幓鐠冨搴︽椂");
if((carWidth-temperingGlassInfo.getWidth())>0){
- carWidth-=temperingGlassInfo.getWidth()-gap;
- log.info("2銆佹坊鍔犲垰灏忕墖琛ㄤ俊鎭埌浠诲姟琛�");
- temperingGlassInfo.setState(1);
+ carWidth-=temperingGlassInfo.getWidth()+gap;
+ log.info("2銆佹坊鍔犻挗鍖栧皬鐗囪〃淇℃伅鍒颁换鍔¤〃");
+ temperingGlassInfo.setState(0);
baseMapper.updateById(temperingGlassInfo);
- log.info("3銆佹坊鍔犲垰灏忕墖琛ㄤ俊鎭埌浠诲姟琛�");
+ log.info("3銆佷慨鏀归挗鍖栧皬鐗囪〃浠诲姟鐘舵��");
BigStorageCageOutTask bigStorageCageOutTask =new BigStorageCageOutTask();
bigStorageCageOutTask.setId(temperingGlassInfo.getId());
}else{
--
Gitblit v1.8.0