From 69a8d7e3c0442c2acbed9996868e108b9bc7f4a3 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期二, 15 十月 2024 09:51:24 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeHeatLayoutServiceImpl.java | 25 ++
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 140 +++++++++++-
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeHeatDetail.java | 116 ++++++++++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeHeatLayoutService.java | 17 +
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java | 14 +
README.md | 1
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeHeatLayout.java | 70 ++++++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeHeatDetailServiceImpl.java | 25 ++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeHeatLayoutMapper.java | 19 +
hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java | 11 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeHeatDetailMapper.java | 19 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeHeatDetailService.java | 17 +
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opccallback/CacheGlassSubscriptionCallback.java | 33 +-
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java | 22 -
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java | 67 +++++
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java | 8
hangzhoumesParent/moduleService/pom.xml | 10
17 files changed, 558 insertions(+), 56 deletions(-)
diff --git a/README.md b/README.md
index f71d789..6990012 100644
--- a/README.md
+++ b/README.md
@@ -37,3 +37,4 @@
4. [GVP](https://gitee.com/gvp) 鍏ㄧО鏄� Gitee 鏈�鏈変环鍊煎紑婧愰」鐩紝鏄患鍚堣瘎瀹氬嚭鐨勪紭绉�寮�婧愰」鐩�
5. Gitee 瀹樻柟鎻愪緵鐨勪娇鐢ㄦ墜鍐� [https://gitee.com/help](https://gitee.com/help)
6. Gitee 灏侀潰浜虹墿鏄竴妗g敤鏉ュ睍绀� Gitee 浼氬憳椋庨噰鐨勬爮鐩� [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
+
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeHeatDetail.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeHeatDetail.java
new file mode 100644
index 0000000..8678d22
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeHeatDetail.java
@@ -0,0 +1,116 @@
+package com.mes.pp.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class OptimizeHeatDetail implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 宸ョ▼鍙�
+ */
+ private String projectNo;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String processId;
+
+ /**
+ * 琛ョ墖鐘舵��:琛ョ墖1锛�0闈炶ˉ鐗�;2024.0409鏂板
+ */
+ private Integer patchState;
+
+ /**
+ * 灞�
+ */
+ private Integer layer;
+
+ /**
+ * 璁㈠崟鍐呮帓搴�
+ */
+ private Integer orderSort;
+
+ /**
+ * 鐗堝浘缂栧彿
+ */
+ private Integer layoutId;
+ /**
+ * 鐗堝浘鍐呮帓搴�
+ */
+ private Integer sort;
+ /**
+ * 灏忕墖缂栧彿
+ */
+ private Integer glassId;
+
+ /**
+ * 灏忕墖瀹�
+ */
+ private double width;
+
+ /**
+ * 灏忕墖楂�
+ */
+ private double height;
+ /**
+ * 閰嶇墖瀹�
+ */
+ private double pairWidth;
+ /**
+ * 閰嶇墖楂�
+ */
+ private double pairHeight;
+ /**
+ * x鍧愭爣
+ */
+ private double xAxis;
+
+ /**
+ * y鍧愭爣
+ */
+ private double yAxis;
+
+ /**
+ * 鏃嬭浆瑙掑害锛堥�嗘椂閽堬級
+ */
+ private double rotateAngle;
+ /**
+ * 鍒涘缓浜�
+ */
+ private String creater;
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ private Data createTime;
+ /**
+ * 淇敼鏃堕棿
+ */
+ private Data updateTime;
+
+ @TableField("intRemark")
+ private Integer intRemark;
+
+ @TableField("strRemark")
+ private String strRemark;
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeHeatLayout.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeHeatLayout.java
new file mode 100644
index 0000000..7aa5d3c
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeHeatLayout.java
@@ -0,0 +1,70 @@
+package com.mes.pp.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class OptimizeHeatLayout implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 宸ョ▼鍙�
+ */
+ private String projectNo;
+
+ /**
+ * 鐗堝浘Id
+ */
+ private Integer layoutId;
+
+ /**
+ * 鐜荤拑鏁伴噺
+ */
+ private Integer glassQty;
+
+ /**
+ * 鐗堝浘鐜荤拑闈㈢Н
+ */
+ private double glassArea;
+
+ /**
+ * 瑁呰浇鐜�
+ */
+ private double layoutRate;
+
+ /**
+ * 鍒涘缓浜�
+ */
+ private Integer creater;
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ private Date createTime;
+
+ @TableField("intRemark")
+ private Integer intRemark;
+
+ @TableField("strRemark")
+ private String strRemark;
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeHeatDetailMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeHeatDetailMapper.java
new file mode 100644
index 0000000..0e7c2ea
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeHeatDetailMapper.java
@@ -0,0 +1,19 @@
+package com.mes.pp.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.mes.pp.entity.OptimizeDetail;
+import com.mes.pp.entity.OptimizeHeatDetail;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@DS("pp")
+public interface OptimizeHeatDetailMapper extends MPJBaseMapper<OptimizeHeatDetail> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeHeatLayoutMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeHeatLayoutMapper.java
new file mode 100644
index 0000000..4a607f4
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeHeatLayoutMapper.java
@@ -0,0 +1,19 @@
+package com.mes.pp.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.mes.pp.entity.OptimizeDetail;
+import com.mes.pp.entity.OptimizeHeatLayout;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@DS("pp")
+public interface OptimizeHeatLayoutMapper extends MPJBaseMapper<OptimizeHeatLayout> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeHeatDetailService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeHeatDetailService.java
new file mode 100644
index 0000000..838f47b
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeHeatDetailService.java
@@ -0,0 +1,17 @@
+package com.mes.pp.service;
+
+import com.github.yulichang.base.MPJBaseService;
+import com.mes.pp.entity.OptimizeDetail;
+import com.mes.pp.entity.OptimizeHeatDetail;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+public interface OptimizeHeatDetailService extends MPJBaseService<OptimizeHeatDetail> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeHeatLayoutService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeHeatLayoutService.java
new file mode 100644
index 0000000..c28833e
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeHeatLayoutService.java
@@ -0,0 +1,17 @@
+package com.mes.pp.service;
+
+import com.github.yulichang.base.MPJBaseService;
+import com.mes.pp.entity.OptimizeDetail;
+import com.mes.pp.entity.OptimizeHeatLayout;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+public interface OptimizeHeatLayoutService extends MPJBaseService<OptimizeHeatLayout> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeHeatDetailServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeHeatDetailServiceImpl.java
new file mode 100644
index 0000000..d25905b
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeHeatDetailServiceImpl.java
@@ -0,0 +1,25 @@
+package com.mes.pp.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.mes.pp.entity.OptimizeDetail;
+import com.mes.pp.entity.OptimizeHeatDetail;
+import com.mes.pp.mapper.OptimizeDetailMapper;
+import com.mes.pp.mapper.OptimizeHeatDetailMapper;
+import com.mes.pp.service.OptimizeDetailService;
+import com.mes.pp.service.OptimizeHeatDetailService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@Service
+@DS("pp")
+public class OptimizeHeatDetailServiceImpl extends MPJBaseServiceImpl<OptimizeHeatDetailMapper, OptimizeHeatDetail> implements OptimizeHeatDetailService {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeHeatLayoutServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeHeatLayoutServiceImpl.java
new file mode 100644
index 0000000..6764eae
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeHeatLayoutServiceImpl.java
@@ -0,0 +1,25 @@
+package com.mes.pp.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.mes.pp.entity.OptimizeDetail;
+import com.mes.pp.entity.OptimizeHeatLayout;
+import com.mes.pp.mapper.OptimizeDetailMapper;
+import com.mes.pp.mapper.OptimizeHeatLayoutMapper;
+import com.mes.pp.service.OptimizeDetailService;
+import com.mes.pp.service.OptimizeHeatLayoutService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-16
+ */
+@Service
+@DS("pp")
+public class OptimizeHeatLayoutServiceImpl extends MPJBaseServiceImpl<OptimizeHeatLayoutMapper, OptimizeHeatLayout> implements OptimizeHeatLayoutService {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
index c1f69a7..3c25501 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
@@ -31,6 +31,12 @@
* @return
*/
List<List<Map<String, Object>>> selectCurrentCutTerritory(String current);
+ /**
+ * 鑾峰彇 宸ョ▼涓嬬殑閽㈠寲鐗堝浘
+ * @param current
+ * @return
+ */
+ List<List<Map<String, Object>>> selectTemperingTerritory(String current);
/**
* 鏌ヨ绗煎唴鐗堝浘宸�艰寖鍥村唴鐨� 姝ゅ昂瀵哥幓鐠� 濡傛棤鍒欐寜鐓� 閽㈠寲鐗堝浘搴忓彿 浠ュ強鐜荤拑搴忓彿
@@ -64,4 +70,12 @@
* @return
*/
String edgReportStatus(IdentWornRequest request);
+
+ /**
+ * 杩涚墖 鎵爜ID楠岃瘉閲嶅
+ *
+ * @param glassId
+ * @return
+ */
+ boolean inToVerify(String glassId);
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
index 67232f0..b7ce80b 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -8,7 +8,6 @@
import com.github.yulichang.query.MPJLambdaQueryWrapper;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.mes.common.config.Const;
import com.mes.damage.entity.Damage;
import com.mes.damage.mapper.DamageMapper;
import com.mes.damage.service.DamageService;
@@ -24,9 +23,9 @@
import com.mes.engineering.mapper.EngineeringMapper;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.mapper.GlassInfoMapper;
-import com.mes.pp.entity.OptimizeDetail;
-import com.mes.pp.entity.OptimizeLayout;
+import com.mes.pp.entity.*;
import com.mes.pp.mapper.OptimizeDetailMapper;
+import com.mes.pp.mapper.OptimizeHeatDetailMapper;
import com.mes.taskcache.entity.TaskCache;
import com.mes.taskcache.service.TaskCacheService;
import com.mes.uppattenusage.entity.UpPattenUsage;
@@ -62,6 +61,9 @@
@Autowired
OptimizeDetailMapper optimizeDetailMapper;
+
+ @Autowired
+ OptimizeHeatDetailMapper optimizeHeatDetailMapper;
@Autowired
EdgStorageCageMapper edgStorageCageMapper;
@@ -299,6 +301,39 @@
}
/**
+ * 鑾峰彇 宸ョ▼涓嬬殑閽㈠寲鐗堝浘
+ *
+ * @param current
+ * @return
+ */
+ @Override
+ public List<List<Map<String, Object>>> selectTemperingTerritory(String current) {
+ //姝ゅ伐绋嬬殑鎵�鏈変紭鍖栨暟鎹�
+ List<Map<String, Object>> resultCutTerritory=optimizeHeatDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeHeatDetail.class)
+ .selectAll(OptimizeHeatDetail.class)
+ .selectAs(OptimizeProject::getLoadWidth, "olWidth")
+ .selectAs(OptimizeProject::getLoadLength, "olHeight")
+ .leftJoin(OptimizeHeatLayout.class, on -> on
+ .eq(OptimizeHeatLayout::getProjectNo, OptimizeHeatDetail::getProjectNo)
+ .eq(OptimizeHeatLayout::getLayoutId, OptimizeHeatDetail::getLayoutId))
+ .leftJoin(OptimizeProject.class, on -> on
+ .eq(OptimizeProject::getProjectNo, OptimizeHeatLayout::getProjectNo))
+ .eq(OptimizeHeatDetail::getProjectNo, current)
+ );
+
+ Map<String, List<Map<String, Object>>> groupBy=resultCutTerritory.stream().collect(Collectors.groupingBy(item->item.get("layout_id").toString()));
+// List<List<Map<String, Object>>> Result=groupBy.values().stream().collect(Collectors.toList());
+ List<List<Map<String, Object>>> result=new ArrayList<>();
+ for (int i=1;i<=groupBy.keySet().size();i++) {
+ String key=i+"";
+ if(key!=null){
+ result.add(groupBy.get(key));
+ }
+ }
+ return result;
+ }
+
+ /**
* 鏌ヨ绗煎唴鐗堝浘宸�艰寖鍥村唴鐨� 姝ゅ昂瀵哥幓鐠� 濡傛棤鍒欐寜鐓� 閽㈠寲鐗堝浘搴忓彿 浠ュ強鐜荤拑搴忓彿
*
* @param glassId
@@ -431,4 +466,30 @@
.set(EdgGlassTaskInfo::getStatus, request.getState()).eq(EdgGlassTaskInfo::getGlassId, request.getGlassId()));
return "success";
}
+
+ /**
+ * 杩涚墖 鎵爜ID楠岃瘉閲嶅
+ *
+ * @param glassId
+ * @return
+ */
+ @Override
+ public boolean inToVerify(String glassId){
+ List<EdgStorageCageDetails> listEdgStorageCageDetails = baseMapper.selectList(new LambdaQueryWrapper<EdgStorageCageDetails>()
+ .eq(EdgStorageCageDetails::getGlassId, glassId)
+ );
+ if (listEdgStorageCageDetails.isEmpty()) {
+ //璇存槑姝ょ幓鐠冩病鏈夎繘杩囩悊鐗�
+ return true;
+ }else{
+ List<Damage> damage=damageMapper.selectList(new LambdaQueryWrapper<Damage>()
+ .eq(Damage::getGlassId, glassId)
+ .and(wrapper->wrapper.eq(Damage::getType, 8).or().eq(Damage::getType, 9))
+ );
+ if(!damage.isEmpty()){
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index e5d34d7..474bbf0 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -94,7 +94,7 @@
public static String engineerId = "";
- @Scheduled(fixedDelay = 1000)
+ //@Scheduled(fixedDelay = 1000)
public void plcHomeEdgTask() {
Date startDate = new Date();
log.info("鏈浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -124,8 +124,9 @@
log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓嶄负0锛屽皢纭瀛椾笉涓�0锛岀洿鎺ョ粨鏉�");
return;
}
- if ("1".equals(taskRequestTypeValue)) {
- log.info("2銆佽繘鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�");
+ boolean result = edgStorageCageDetailsService.inToVerify(glassIdeValue);
+ if ("1".equals(taskRequestTypeValue) && result) {
+ log.info("2銆佽繘鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�,鎵爜閲嶅ID楠岃瘉銆愭湁閲嶅=false,鏃犻噸澶�=true銆戯細{}", result);
inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
} else if ("2".equals(taskRequestTypeValue)) {
//09绌洪棽 锛�1 10绌洪棽 锛�2 閮界┖闂诧細3 鍏朵粬0
@@ -137,8 +138,8 @@
//鍔犵瀛愰噷闈㈡槸鍚︽湁鐜荤拑锛屾湁鍏堝嚭锛屾棤鐜荤拑鍏堣繘
boolean outFlase = outTo(Integer.parseInt(out08Glassstate),
Integer.parseInt(out10Glassstate), confirmationWrodAddress, glassIdeValue, Integer.parseInt(currentSlot));
- log.info("鍑虹墖浠诲姟鏄惁瀹屾垚锛歿},涓旂幓鐠僫d:{}涓嶄负绌哄垯鎵ц杩涚墖浠诲姟", outFlase, glassIdeValue);
- if (!outFlase && StringUtils.isNotBlank(glassIdeValue)) {
+ log.info("鍑虹墖浠诲姟鏄惁瀹屾垚锛歿},涓旂幓鐠僫d:{}涓嶄负绌哄垯鎵ц杩涚墖浠诲姟,鎵爜閲嶅ID楠岃瘉銆愭湁閲嶅=false,鏃犻噸澶�=true銆戯細{}", outFlase, glassIdeValue, result);
+ if (!outFlase && StringUtils.isNotBlank(glassIdeValue) && result) {
inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
}
}
@@ -191,9 +192,13 @@
Assert.isTrue(null != nearestEmpty, "鏍煎瓙宸叉弧");
log.info("2銆佹煡璇㈠崸寮忕悊鐗囩閲岄潰鐨勭┖鏍�:{}", nearestEmpty);
- //鏌ヨ鐜荤拑骞惰繘琛屼氦鎹�
- GlassInfo glassInfo = queryAndChangeGlass(glassId);
+ //鏌ヨ鐜荤拑淇℃伅
+ GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
if (glassInfo == null) {
+ return;
+ }
+ if ((glassInfo.getWidth() < Double.parseDouble(minTwoFirstLength) && glassInfo.getHeight() < Double.parseDouble(minTwoSecondLength)) || (glassInfo.getWidth() < Double.parseDouble(minTwoSecondLength) && glassInfo.getHeight() < Double.parseDouble(minTwoFirstLength))) {
+ log.info("3銆佺幓鐠冧俊鎭笉绗﹀悎杩涘叆鐞嗙墖绗兼渶灏忓昂瀵革紝鐜荤拑淇℃伅涓簕}", glassInfo);
return;
}
log.info("4銆佸皢鐜荤拑淇℃伅鎻掑叆鍗у紡鐞嗙墖绗�,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
@@ -219,15 +224,10 @@
* @param glassId
* @return
*/
- public GlassInfo queryAndChangeGlass(String glassId) {
+ public String queryAndChangeGlass(String glassId) {
GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
// .inSql(GlassInfo::getEngineerId, "select engineer_id from engineering where state = 1"));
- Assert.isFalse(null == glassInfo, "鐜荤拑淇℃伅涓嶅瓨鍦�");
- if ((glassInfo.getWidth() < Double.parseDouble(minTwoFirstLength) && glassInfo.getHeight() < Double.parseDouble(minTwoSecondLength)) || (glassInfo.getWidth() < Double.parseDouble(minTwoSecondLength) && glassInfo.getHeight() < Double.parseDouble(minTwoFirstLength))) {
- log.info("3銆佺幓鐠冧俊鎭笉绗﹀悎杩涘叆鐞嗙墖绗兼渶灏忓昂瀵革紝鐜荤拑淇℃伅涓簕}", glassInfo);
- return null;
- }
- //鎸夌収鐜荤拑灏哄
+ Assert.isFalse(null == glassInfo, "鐜荤拑淇℃伅涓嶅瓨鍦�"); //鎸夌収鐜荤拑灏哄
LambdaQueryWrapper<GlassInfo> queryWrapper = new LambdaQueryWrapper<GlassInfo>()
.eq(GlassInfo::getWidth, glassInfo.getWidth())
.eq(GlassInfo::getHeight, glassInfo.getHeight())
@@ -249,9 +249,41 @@
glassInfo.setGlassId(swapGlassId);
glassInfoService.updateById(swapGlassInfo);
glassInfoService.updateById(glassInfo);
- return swapGlassInfo;
+ return swapGlassId;
}
- return glassInfo;
+ return "";
+ }
+
+
+ /**
+ * 鏌ヨ鍗у紡鐞嗙墖鐜荤拑骞惰繘琛屼氦鎹�
+ *
+ * @param glassId
+ * @return
+ */
+ public void queryEdgAndChangeGlass(String glassId, String swapGlassId) {
+ if (StringUtils.isBlank(swapGlassId)) {
+ log.info("褰撳墠鍑虹鐜荤拑涓嶅瓨鍦ㄩ渶瑕佹浛鎹㈢殑鐜荤拑");
+ return;
+ }
+ //鑾峰彇寰呭嚭绗肩殑鐜荤拑
+ EdgStorageCageDetails glassInfo = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
+ .eq(EdgStorageCageDetails::getGlassId, glassId).eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN));
+// 鑾峰彇寰呭嚭绗肩殑鐜荤拑闇�瑕佹浛鎹㈢殑鐜荤拑淇℃伅
+ EdgStorageCageDetails swapGlassDetailInfo = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
+ .eq(EdgStorageCageDetails::getGlassId, swapGlassId).eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN));
+// 鐜荤拑灏忕墖琛ㄤ腑鐜荤拑宸茬粡鏇挎崲锛屾洿鏂板崸鐞嗙鍐呯幇鏈夌殑鍑嗗鍑虹鐨勭幓鐠冧俊鎭紝
+ if (null == swapGlassDetailInfo) {
+ //闇�瑕佹浛鎹㈢殑鐜荤拑涓哄瓨杩涘崸鐞嗭紝浠呴渶鏇存柊褰撳墠闇�瑕佸嚭绗肩殑鐜荤拑淇℃伅鍗冲彲
+ edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>()
+ .eq(EdgStorageCageDetails::getGlassId, glassId).set(EdgStorageCageDetails::getGlassId, swapGlassId));
+ } else {
+ //闇�瑕佹浛鎹㈢殑鐜荤拑閮藉湪鍗х悊鍐咃紝鎸夌収鐜荤拑id瀵硅皟鐜荤拑淇℃伅锛氬璋冪幓鐠僫d鍗冲彲
+ edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>()
+ .eq(EdgStorageCageDetails::getId, glassInfo.getId()).set(EdgStorageCageDetails::getGlassId, swapGlassId));
+ edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>()
+ .eq(EdgStorageCageDetails::getId, swapGlassDetailInfo.getId()).set(EdgStorageCageDetails::getGlassId, glassId));
+ }
}
/**
@@ -636,7 +668,6 @@
details.setSlot(nearestEmpty.getSlot());
details.setState(Const.GLASS_STATE_OUT);
edgStorageCageDetailsService.save(details);
-
boolean taskCacheStatus = saveTaskCache(glassInfo.getGlassId(), nearestEmpty.getSlot(), endcell, Const.GLASS_CACHE_TYPE_THROUGH);
log.info("6銆佹坊鍔犲嚭鐗囦换鍔℃槸鍚﹀畬鎴愶細{}", taskCacheStatus);
} else {
@@ -653,7 +684,80 @@
log.info("7銆佹坊鍔犲嚭鐗囩幓鐠冨昂瀵镐俊鎭埌纾ㄨ竟鍓嶇幓鐠冭〃鏄惁瀹屾垚锛歿}", glassSizeStatus);
S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
log.info("8銆佸彂閫佺‘璁ゅ瓧宸插畬鎴�");
- Damage damage=new Damage();
+ Damage damage = new Damage();
+ damage.setGlassId(glassInfo.getGlassId());
+ damage.setWorkingProcedure("鍒囧壊");
+ damage.setLine(1001);
+ damage.setType(1);
+ damage.setRemark("杩囧崸寮忕悊鐗�");
+ damageService.insertDamage(damage);
+ return Boolean.TRUE;
+ }
+ return Boolean.FALSE;
+ }
+
+ /**
+ * 淇濆瓨鍑虹墖浠诲姟鐩稿叧淇℃伅
+ *
+ * @param glassInfo
+ * @param endcell
+ * @param confirmationWrodAddress
+ * @param glassId
+ * @return
+ */
+ private boolean saveOutGlassMessageBySlot(EdgStorageCageDetails glassInfo, int endcell, String confirmationWrodAddress, String glassId, Integer currentSlot) {
+ if (glassInfo != null) {
+ log.info("4銆佹坊鍔犲嚭鐗囦换鍔★紝鐜荤拑id锛歿}锛屼换鍔$被鍨嬶細{}锛岃捣濮嬩綅缃細{}锛岀粨鏉熶綅缃細{}", glassInfo.getGlassId(),
+ 2, glassInfo.getSlot(), endcell);
+ if (glassInfo.getGlassId().equals(glassId)) {
+ log.info("5銆佺洿閫氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
+ EdgStorageCageDetails details = new EdgStorageCageDetails();
+ //鐜荤拑淇℃伅鏇挎崲
+ String glassIdChange = queryAndChangeGlass(glassId);
+ if (StringUtils.isBlank(glassIdChange)) {
+ BeanUtils.copyProperties(glassInfo, details);
+ } else {
+ GlassInfo one = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
+ BeanUtils.copyProperties(glassInfo, details);
+ }
+ EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(currentSlot, Boolean.TRUE);
+ Assert.isTrue(null != nearestEmpty, "鏍煎瓙宸叉弧,鏃犳硶鎵ц鐩撮�氫换鍔�");
+ log.info("3銆佹煡璇㈠崸寮忕悊鐗囩閲岄潰鐨勭┖鏍�:{}", nearestEmpty);
+ details.setSlot(nearestEmpty.getSlot());
+ details.setState(Const.GLASS_STATE_OUT);
+ edgStorageCageDetailsService.save(details);
+ boolean taskCacheStatus = saveTaskCache(glassInfo.getGlassId(), nearestEmpty.getSlot(), endcell, Const.GLASS_CACHE_TYPE_THROUGH);
+ log.info("6銆佹坊鍔犲嚭鐗囦换鍔℃槸鍚﹀畬鎴愶細{}", taskCacheStatus);
+ } else {
+ log.info("5銆侀潪鐩撮�氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
+ if (endcell != currentSlot) {
+ EdgStorageCageDetails currentGlass = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
+ .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
+ .eq(EdgStorageCageDetails::getSlot, currentSlot).eq(EdgStorageCageDetails::getWidth, glassInfo.getWidth())
+ .eq(EdgStorageCageDetails::getHeight, glassInfo.getHeight()).eq(EdgStorageCageDetails::getThickness, glassInfo.getThickness())
+ );
+ if (null != currentGlass) {
+ glassInfo = currentGlass;
+ endcell = currentSlot;
+ }
+ }
+ //鐜荤拑淇℃伅鏇挎崲
+ String glassIdChange = queryAndChangeGlass(glassInfo.getGlassId());
+ //澶勭悊鍦ㄥ崸鐞嗗唴鐨勭幓鐠冧俊鎭細绗煎唴鐨勬暟鎹鐞�
+ queryEdgAndChangeGlass(glassInfo.getGlassId(), glassIdChange);
+ LambdaUpdateWrapper<EdgStorageCageDetails> wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(EdgStorageCageDetails::getGlassId, glassInfo.getGlassId()).set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT);
+ edgStorageCageDetailsService.update(wrapper);
+ log.info("5銆佹洿鏂板嚭鐗囩幓鐠冪殑鐘舵�佷负{}", Const.GLASS_STATE_OUT);
+
+ boolean taskCacheStatus = saveTaskCache(glassInfo.getGlassId(), glassInfo.getSlot(), endcell, Const.GLASS_CACHE_TYPE_OUT);
+ log.info("6銆佹坊鍔犲嚭鐗囦换鍔℃槸鍚﹀畬鎴愶細{}", taskCacheStatus);
+ }
+ boolean glassSizeStatus = saveGlassSize(glassInfo, endcell);
+ log.info("7銆佹坊鍔犲嚭鐗囩幓鐠冨昂瀵镐俊鎭埌纾ㄨ竟鍓嶇幓鐠冭〃鏄惁瀹屾垚锛歿}", glassSizeStatus);
+ S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
+ log.info("8銆佸彂閫佺‘璁ゅ瓧宸插畬鎴�");
+ Damage damage = new Damage();
damage.setGlassId(glassInfo.getGlassId());
damage.setWorkingProcedure("鍒囧壊");
damage.setLine(1001);
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java
index 47b2fd0..165ff7f 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java
@@ -1,7 +1,5 @@
package com.mes.job;
-import com.mes.milo.runner.subscription.SubscriptionCallback;
-import com.mes.milo.service.MiloService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
@@ -18,14 +16,14 @@
@Slf4j
public class OpcCacheGlassTask {
- @Autowired
- MiloService miloService;
-
- @Autowired
- SubscriptionCallback cacheGlassSubscriptionCallback;
-
- @Scheduled(fixedDelay = Long.MAX_VALUE)
- public void startOpcTask() throws Exception {
- miloService.subscriptionFromOpcUa(Arrays.asList("my.device.x1", "my.device.x2"), cacheGlassSubscriptionCallback);
- }
+// @Autowired
+// MiloService miloService;
+//
+// @Autowired
+// SubscriptionCallback cacheGlassSubscriptionCallback;
+//
+// @Scheduled(fixedDelay = Long.MAX_VALUE)
+// public void startOpcTask() throws Exception {
+// miloService.subscriptionFromOpcUa(Arrays.asList("my.device.x1", "my.device.x2"), cacheGlassSubscriptionCallback);
+// }
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opccallback/CacheGlassSubscriptionCallback.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opccallback/CacheGlassSubscriptionCallback.java
index eaf7695..c736d4b 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opccallback/CacheGlassSubscriptionCallback.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opccallback/CacheGlassSubscriptionCallback.java
@@ -1,8 +1,5 @@
package com.mes.opccallback;
-import com.mes.milo.model.ReadWriteEntity;
-import com.mes.milo.runner.subscription.SubscriptionCallback;
-import com.mes.milo.service.MiloService;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.milo.opcua.sdk.client.subscriptions.ManagedDataItem;
import org.eclipse.milo.opcua.stack.core.types.builtin.DataValue;
@@ -16,20 +13,20 @@
*/
@Service
@Slf4j
-public class CacheGlassSubscriptionCallback implements SubscriptionCallback {
+public class CacheGlassSubscriptionCallback {
- @Autowired
- MiloService miloService;
-
- @Override
- public void onSubscribe(ManagedDataItem dataItem, DataValue value) {
- try {
- log.info("{}___________{}" + dataItem, value);
- ReadWriteEntity readWriteEntity = miloService.readFromOpcUa("my.device.x1");
- log.info("{}___________{}" + readWriteEntity);
- } catch (Exception e) {
-
- }
-
- }
+// @Autowired
+// MiloService miloService;
+//
+// @Override
+// public void onSubscribe(ManagedDataItem dataItem, DataValue value) {
+// try {
+// log.info("{}___________{}" + dataItem, value);
+// ReadWriteEntity readWriteEntity = miloService.readFromOpcUa("my.device.x1");
+// log.info("{}___________{}" + readWriteEntity);
+// } catch (Exception e) {
+//
+// }
+//
+// }
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
index 850789e..a5a966a 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
@@ -32,6 +32,14 @@
@Autowired
private TaskCacheService taskCacheService;
+ @ApiOperation("鏌ヨ閽㈠寲鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙� 鍙傛暟(宸ョ▼鍙�)")
+ @PostMapping("/temperingTerritory")
+ @ResponseBody
+ public Result temperingTerritory(String current) {
+ List<List<Map<String, Object>>> h = edgStorageCageDetailsService.selectTemperingTerritory(current);
+ return Result.build(200, "鎴愬姛", h);
+ }
+
@ApiOperation("鏌ヨ鍒囧壊鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙� 鍙傛暟(宸ョ▼鍙�)")
@PostMapping("/cutTerritory")
@ResponseBody
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
index ad5430b..93f0fda 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
@@ -143,6 +143,12 @@
}
@Test
+ public void testEngineerTerritory() {
+ List<List<Map<String, Object>>> map = edgStorageCageDetailsService.selectTemperingTerritory("P24052203");
+ log.info("閽㈠寲宸ョ▼鐗堝浘淇℃伅锛歿}", Arrays.asList(map));
+ }
+
+ @Test
public void testidentWorn() {
Map<String, Object> arguments=new HashMap<>();
arguments.put("glassId","NG24051802A002-1-4-2-4");//鐜荤拑ID
@@ -152,6 +158,11 @@
// edgStorageCageDetailsService.identWorn(arguments);
log.info("璇嗗埆鍙般�愮牬鎹�/鎷胯蛋銆戯細{}", 1);
}
+ @Test
+ public void testInToVerify() {
+ boolean result=edgStorageCageDetailsService.inToVerify("P24060405|30|1");
+ log.info("鏄惁瀛樺湪閲嶅ID 銆嬪厑璁歌繘鐗囷細{}", result);
+ }
@Test
public void testPpOptimizeDetail() {
diff --git a/hangzhoumesParent/moduleService/pom.xml b/hangzhoumesParent/moduleService/pom.xml
index b043adf..f799583 100644
--- a/hangzhoumesParent/moduleService/pom.xml
+++ b/hangzhoumesParent/moduleService/pom.xml
@@ -55,11 +55,11 @@
<groupId>com.mes</groupId>
<version>1.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <artifactId>opcuaClient</artifactId>
- <groupId>com.mes</groupId>
- <version>1.0-SNAPSHOT</version>
- </dependency>
+<!-- <dependency>-->
+<!-- <artifactId>opcuaClient</artifactId>-->
+<!-- <groupId>com.mes</groupId>-->
+<!-- <version>1.0-SNAPSHOT</version>-->
+<!-- </dependency>-->
<!--寮�鍙戣�呭伐鍏�-->
<!-- <dependency>-->
--
Gitblit v1.8.0