From 69e3dd71185b1cdaf524a4d2a25bf9648bd02ff4 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期五, 10 五月 2024 17:01:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java | 16
hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java | 33 +
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java | 29 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/entity/OptimizeUpPattenUsage.java | 2
hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java | 51 ++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml | 0
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java | 95 +++++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java | 20
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/GlassInfo.java | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/OptimizeGlassinfo.java | 2
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java | 15
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java | 30 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java | 10
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java | 12
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/WebSocketServer.java | 160 +++++++++
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java | 57 ++-
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/EngineeringService.java | 28 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java | 5
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/controller/EngineeringController.java | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeProject.java | 20
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java | 0
hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java | 124 ++++---
/dev/null | 30 -
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/JsonFile/PlcLoadGlass.json | 71 ++++
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java | 88 ++++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/OptimizeEngineering.java | 78 ++++
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/GlassInfoService.java | 4
30 files changed, 810 insertions(+), 180 deletions(-)
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/controller/EngineeringController.java
similarity index 89%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
rename to hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/controller/EngineeringController.java
index 6b2c34c..f80d3c0 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/controller/EngineeringController.java
@@ -2,9 +2,7 @@
import com.mes.engineering.entity.Engineering;
-import com.mes.engineering.service.impl.EngineeringServiceImpl;
import com.mes.utils.Result;
-import com.mes.workstation.service.UpWorkstationService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
similarity index 97%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
rename to hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
index 4e68183..586a7b3 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
@@ -89,7 +89,7 @@
/**
* 鑶滅郴id
*/
- private Integer filmsId;
+ private String filmsId;
/**
* 澶囨敞
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/OptimizeEngineering.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/OptimizeEngineering.java
new file mode 100644
index 0000000..38b62f7
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/OptimizeEngineering.java
@@ -0,0 +1,78 @@
+package com.mes.engineering.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author SNG-010
+ */
+@Setter
+@Getter
+public class OptimizeEngineering {
+
+ // Getter methods
+ // Setter methods
+ /**
+ * 宸ョ▼鍙�
+ */
+ private String projectNo;
+
+ /**
+ * 宸ョ▼鍚�
+ */
+ private String projectName;
+
+ /**
+ * 骞冲潎鍒╃敤鐜�
+ */
+ private Double avgCutPct;
+
+ /**
+ * 鏈夋晥鍒╃敤鐜�
+ */
+ private Double validCutPct;
+
+ /**
+ * 灏剧墖鍒╃敤鐜�
+ */
+ private Double lastCutPct;
+
+ /**
+ * 鐘舵��
+ */
+ private Integer state;
+
+ /**
+ * 灏忕墖鎬绘暟
+ */
+ private Integer glassTotal;
+ /**
+ * 灏忕墖鎬婚潰绉�
+ */
+ private Double glassTotalArea;
+ /**
+ * 璁″垝鍘熺墖鎬绘暟
+ */
+ private Integer rawStockQty;
+ /**
+ * 璁″垝鍘熺墖鎬婚潰绉�
+ */
+ private Double rawStockArea;
+ /**
+ * 瀹為檯鍘熺墖鎬绘暟
+ */
+ private Integer actualStockQty;
+ /**
+ * 瀹為檯鍘熺墖鎬婚潰绉�
+ */
+ private Double actualStockArea;
+ /**
+ * 鑶滅郴
+ */
+ private String glassType;
+ /**
+ * 澶囨敞
+ */
+ private String remark;
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
similarity index 100%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
rename to hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
similarity index 100%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
rename to hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/EngineeringService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/EngineeringService.java
new file mode 100644
index 0000000..7c01553
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/EngineeringService.java
@@ -0,0 +1,28 @@
+package com.mes.engineering.service;
+
+import com.mes.engineering.entity.Engineering;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-04-22
+ */
+public interface EngineeringService extends IService<Engineering> {
+
+
+
+ boolean changeTask(String projectId, Integer state);
+
+
+ List<Engineering> selectEngineering(String engineeringId);
+
+ void saveEngineering(List<Engineering> engineerings);
+
+ Engineering selectInitiate(Integer state);
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
new file mode 100644
index 0000000..968cd59
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
@@ -0,0 +1,95 @@
+package com.mes.engineering.service.impl;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
+import com.mes.engineering.entity.Engineering;
+import com.mes.engineering.mapper.EngineeringMapper;
+import com.mes.engineering.service.EngineeringService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.pp.entity.OptimizeProject;
+import com.mes.pp.mapper.OptimizeProjectMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author wu
+ * @since 2024-04-22
+ */
+@Service
+@Slf4j
+public class EngineeringServiceImpl extends ServiceImpl<EngineeringMapper, Engineering> implements EngineeringService {
+
+ @Autowired
+ OptimizeProjectMapper optimizeProjectMapper;
+ //寮�濮�/鏆傚仠浠诲姟
+ @Override
+ public boolean changeTask(String projectId, Integer state) {
+ //浣跨敤projectId浣滀负鏉′欢淇敼state瀛楁
+ LambdaUpdateChainWrapper<Engineering> wrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
+ wrapper.set(Engineering::getState,state);
+ wrapper.eq(Engineering::getEngineerId,projectId);
+ return wrapper.update();
+ }
+
+ @Override
+ @DS("pp")
+ public List<Engineering> selectEngineering(String engineeringId) {
+ //鏌ヨ閽㈠寲宸ョ▼淇℃伅
+ List<OptimizeProject> optimizeEngineerings = null;
+ if (engineeringId != null) {
+ QueryWrapper<OptimizeProject> wrapper = new QueryWrapper<>();
+ wrapper.select("project_no,project_name,avg_cut_pct,valid_cut_pct,last_cut_pct,glass_total,glass_total_area,raw_stock_qty,raw_stock_area,glass_type,remark ")
+ .eq("project_no", engineeringId);
+ optimizeEngineerings = optimizeProjectMapper.selectList(wrapper);
+
+ }
+ List<Engineering> resultList=new ArrayList<>();
+// 閬嶅巻鏌ヨ缁撴灉璧嬪��
+ if (optimizeEngineerings != null) {
+ for (OptimizeProject map : optimizeEngineerings) {
+ // 鍒涘缓涓�涓柊鐨� OptimizeProject 瀵硅薄
+ Engineering engineering = new Engineering();
+ // 灏� Map 涓殑姣忎釜閿�煎鏄犲皠鍒� OptimizeProject 瀵硅薄鐨勭浉搴斿瓧娈典笂
+ engineering.setEngineerId( map.getProjectNo());//宸ョ▼id
+ engineering.setEngineerName( map.getProjectName());//宸ョ▼鍚嶇О
+ engineering.setAvgAvailability( map.getAvgCutPct());//骞冲潎浼樺寲鐜�
+ engineering.setValidAvailability( map.getValidCutPct());//鏈夋晥浼樺寲鐜�
+ engineering.setLastAvailability( map.getLastCutPct());//灏剧墖浼樺寲鐜�
+ engineering.setState(0);//鐘舵��
+ engineering.setGlassTotal( map.getGlassTotal());//灏忕墖鐜荤拑鎬绘暟
+ engineering.setGlassTotalArea( map.getGlassTotalArea());//灏忕墖鎬婚潰绉�
+ engineering.setPlanPatternTotal( map.getRawStockQty());//璁″垝鍘熺墖鎬绘暟
+ engineering.setPlanPatternTotalArea( map.getRawStockArea());//璁″垝鍘熺墖鎬婚潰绉�
+ engineering.setFilmsId( map.getGlassType());//鑶滅郴
+ engineering.setNotes( map.getRemark());//澶囨敞
+ // 灏嗘槧灏勫悗鐨勫璞℃坊鍔犲埌缁撴灉鍒楄〃涓�
+ resultList.add(engineering);
+ }
+ }
+ log.info("鏌ヨ鍑洪挗鍖栧伐绋嬮泦鍚堜繚瀛樺埌瀹炰綋绫粄}",resultList);
+ return resultList;
+ }
+
+ @Override
+ public void saveEngineering(List<Engineering> engineerings) {
+ this.saveBatch(engineerings);
+ //淇濆瓨閽㈠寲宸ョ▼淇℃伅
+ }
+
+ @Override
+ public Engineering selectInitiate(Integer state) {
+ //鏌ヨ鏄惁鏈夊紑濮嬩笂鐗囩殑宸ョ▼浠诲姟
+ QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
+ wrapper.eq("state", state);
+ return this.getOne(wrapper);
+ }
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/GlassInfo.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
index dfa7b6e..f1fa50d 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
@@ -34,7 +34,7 @@
/**
* 娴佺▼鍗$幓鐠冪被鍨�
*/
- private Integer glassType;
+ private String glassType;
/**
* 瀹�
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/OptimizeGlassinfo.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/OptimizeGlassinfo.java
index 8f50981..622197a 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/OptimizeGlassinfo.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/entity/OptimizeGlassinfo.java
@@ -15,7 +15,7 @@
/**
* 娴佺▼鍗″彿
*/
- private String projectId;
+ private String processId;
/**
* 宸ョ▼绉嶇被
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/GlassInfoService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
index 746b5f4..9fad7a7 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
@@ -1,7 +1,6 @@
package com.mes.glassinfo.service;
import com.mes.glassinfo.entity.GlassInfo;
-import com.baomidou.mybatisplus.extension.service.IService;
import com.github.yulichang.base.MPJBaseService;
import java.util.List;
@@ -16,4 +15,7 @@
public interface GlassInfoService extends MPJBaseService<GlassInfo> {
List<GlassInfo> selectGlassInfo(String engineeringId);
+
+ void saveGlassInfo(List<GlassInfo> glassinfo);
}
+
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
index 88838b9..25fada5 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -6,17 +6,14 @@
import com.mes.glassinfo.entity.OptimizeGlassinfo;
import com.mes.glassinfo.mapper.GlassInfoMapper;
import com.mes.glassinfo.service.GlassInfoService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.pp.entity.OptimizeProject;
import com.mes.pp.mapper.OptimizeProjectMapper;
-import com.mes.uppattenusage.entity.UpPattenUsage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.yulichang.base.MPJBaseServiceImpl;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
/**
@@ -34,14 +31,13 @@
OptimizeProjectMapper optimizeProjectMapper;
@Override
@DS("pp")
-
public List<GlassInfo> selectGlassInfo(String engineeringId) {
List<OptimizeGlassinfo> optimizeGlassinfos=null;
if (engineeringId != null) {
optimizeGlassinfos = optimizeProjectMapper.selectJoinList(OptimizeGlassinfo.class, new MPJQueryWrapper<OptimizeProject>()
.select("b.process_id,t.type,b.width,b.height,t.glass_thickness,t.glass_type,b.p_width,b.p_height,b.stock_id,b.heat_layout_id,b.heat_layout_sort,b.x_axis,b.y_axis,b.project_no,b.glass_id")
.leftJoin("optimize_detail b on t.project_no=b.project_no")
- .eq("t.state",200)
+ .eq("t.state",100)
.eq("t.project_no", engineeringId));
}
@@ -54,10 +50,13 @@
GlassInfo glassInfo = new GlassInfo();
// 灏� Map 涓殑姣忎釜閿�煎鏄犲皠鍒� OptimizeGlassinfo 瀵硅薄鐨勭浉搴斿瓧娈典笂
glassInfo.setEngineerId(map.getProjectNo());
- glassInfo.setFlowCardId(map.getProjectId());
+ glassInfo.setFlowCardId(map.getProcessId());
glassInfo.setFilmsid(map.getGlassType());
+ glassInfo.setGlassType(map.getType());
glassInfo.setWidth(map.getWidth());
glassInfo.setHeight(map.getHeight());
+ glassInfo.setEdgWidth(map.getPWidth());
+ glassInfo.setEdgHeight(map.getPHeight());
glassInfo.setThickness(map.getGlassThickness());
glassInfo.setPatternSequence(map.getStockId());//
glassInfo.setTemperingLayoutId(map.getHeatLayoutId());//閽㈠寲鐗堝浘id
@@ -74,4 +73,9 @@
log.info("鏌ヨ鍑篻lassinfopro鐨勬暟鎹畕}:",optimizeGlassinfos);
return resultList;
}
+
+ @Override
+ public void saveGlassInfo(List<GlassInfo> glassinfo) {
+ this.saveBatch(glassinfo);
+ }
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java
index 222759c..6b97fc2 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java
@@ -41,16 +41,16 @@
return Result.build(200, "", glass);
}
- @ApiOperation("淇濆瓨宸ョ▼淇℃伅")
- @PostMapping("/saveProject") //鏄剧ず宸ョ▼閫夋嫨淇℃伅
- public Result<List<OptimizeProject>> saveProject(@RequestBody OptimizeRequest optimizeRequest) {
- log.info("鑾峰彇閫夋嫨濂界殑宸ョ▼id杩涜鏌ヨ鏁版嵁鍚庝繚瀛�");
- List<OptimizeProject> glass = optimizeProjectService.selectSaveProject(optimizeRequest);
- log.info("鏄剧ず宸ョ▼閫夋嫨淇℃伅鍚庝繚瀛樺埌upPattenUsage琛�:{}", glass);
- optimizeProjectService.insetupPattenUsage(glass);
- //void insetProject(glass);
- return Result.build(200, "", glass);
- }
+// @ApiOperation("淇濆瓨宸ョ▼淇℃伅")
+// @PostMapping("/saveProject") //鏄剧ず宸ョ▼閫夋嫨淇℃伅
+// public Result<List<OptimizeProject>> saveProject(@RequestBody OptimizeRequest optimizeRequest) {
+// log.info("鑾峰彇閫夋嫨濂界殑宸ョ▼id杩涜鏌ヨ鏁版嵁鍚庝繚瀛�");
+// List<OptimizeProject> glass = optimizeProjectService.selectSaveProject(optimizeRequest);
+// log.info("鏄剧ず宸ョ▼閫夋嫨淇℃伅鍚庝繚瀛樺埌upPattenUsage琛�:{}", glass);
+// optimizeProjectService.insetupPattenUsage(glass);
+// //void insetProject(glass);
+// return Result.build(200, "", glass);
+// }
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeProject.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeProject.java
index beb015c..032b7c5 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeProject.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OptimizeProject.java
@@ -87,7 +87,7 @@
/**
* 绗竴娆″钩鍧囧垏瑁佺巼
*/
- private String fristCutPct;
+ private Double fristCutPct;
/**
* 浣跨敤鐨勫師鏂欐暟
@@ -97,22 +97,22 @@
/**
* 浣跨敤鐨勫師鏂欓潰绉�
*/
- private String rawStockArea;
+ private Double rawStockArea;
/**
* 骞冲潎鍒囪鐜�
*/
- private String avgCutPct;
+ private Double avgCutPct;
/**
* 鏈夋晥鍒囪鐜�
*/
- private String validCutPct;
+ private Double validCutPct;
/**
* 灏剧墖鍒囪鐜�
*/
- private String lastCutPct;
+ private Double lastCutPct;
/**
* g娣锋帓绋嬪害
@@ -137,27 +137,27 @@
/**
* g涓婄墖瀹�
*/
- private Float loadWidth;
+ private Double loadWidth;
/**
* g涓婄墖闀�
*/
- private Float loadLength;
+ private Double loadLength;
/**
* x闂撮殧
*/
- private Float xSpace;
+ private Double xSpace;
/**
* y闂撮殧
*/
- private Float ySpace;
+ private Double ySpace;
/**
* g骞冲潎瑁呰浇鐜�
*/
- private Float loadRate;
+ private Double loadRate;
/**
* 娴佺▼鍗¢泦鍚�
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
index 0fb765e..e12e67f 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
@@ -23,13 +23,13 @@
*/
List<OptimizeProject> listByState(OptimizeRequest optimizeRequest);
/**
- * 鏌ヨ淇濆瓨鍒板師鐗囦娇鐢ㄨ鎯呰〃鐨勬暟鎹�
- * @return
- */
- List<OptimizeProject> selectSaveProject(OptimizeRequest optimizeRequest);
- /**
* 灏嗗伐绋嬩俊鎭繚瀛樺埌鍘熺墖浣跨敤璇︽儏琛�
* @return
*/
void insetupPattenUsage(List<OptimizeProject> glass);
+ /**
+ * 灏嗗伐绋嬩俊鎭洿鏂扮姸鎬佷负宸查鍙�
+ * @return
+ */
+ void changeTask(String engineeringId, int i);
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
index 5df4ef4..20a4b32 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
@@ -2,8 +2,8 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.pp.entity.OptimizeProject;
import com.mes.pp.entity.request.OptimizeRequest;
@@ -15,7 +15,6 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
-import java.util.Collections;
import java.util.List;
/**
@@ -59,11 +58,15 @@
}
@Override
- public List<OptimizeProject> selectSaveProject(OptimizeRequest optimizeRequest) {
- log.info("灏嗗弬鏁颁紶鍏ュ埌鏌ヨ绫婚噷,宸ョ▼鍙峰仛闈炵┖鍒ゆ柇妯$硦鏌ヨ");
+ public void changeTask(String engineeringId, int state) {
+ UpdateWrapper<OptimizeProject> wrapper = new UpdateWrapper<>();
+ wrapper.eq("project_no",engineeringId)
+ .set("state",state);
+ boolean updateSuccess = this.update(wrapper);
+ log.info("宸ョ▼琛ㄦ洿鏂扮姸鎬亄}",updateSuccess);
- log.info("杩斿洖宸ョ▼淇℃伅");
- return this.baseMapper.saveProject(optimizeRequest);
}
+
+
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
index 48e78f1..a8a3edf 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
@@ -1,56 +1,74 @@
package com.mes.uppattenusage.controller;
+import com.mes.engineering.entity.Engineering;
+import com.mes.engineering.service.EngineeringService;
+import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.pp.entity.OptimizeProject;
+import com.mes.pp.service.OptimizeProjectService;
+import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.uppattenusage.service.UpPattenUsageService;
+import com.mes.utils.Result;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
-//
-//import com.mes.uppattenusage.service.GlassInfoService;
-//import com.mes.uppattenusage.entity.OptimizeUpPattenUsage;
-//import com.mes.uppattenusage.entity.UpPattenUsage;
-//import com.mes.glassinfo.entity.GlassInfo;
-//import com.mes.uppattenusage.service.UpPattenUsageService;
-//import com.mes.utils.Result;
-//import io.swagger.annotations.ApiOperation;
-//import lombok.extern.slf4j.Slf4j;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.RequestBody;
-//import org.springframework.web.bind.annotation.RequestMapping;
-//import org.springframework.web.bind.annotation.RestController;
-//
-//import java.util.List;
-//
-///**
-// * <p>
-// * 鍓嶇鎺у埗鍣�
-// * </p>
-// *
-// * @author zhoush
-// * @since 2024-04-18
-// */
-//@RestController
-//@RequestMapping("/up-patten-usage")
-//@Slf4j
-//public class UpPattenUsageController {
-//
-// @Autowired
-// private UpPattenUsageService upPattenUsageService;
-// @Autowired
-// private GlassInfoService glassInfoService;
-// @ApiOperation("鏄剧ず姝e湪鍑虹墖鐨勫伐绋嬩俊鎭�")
-// @GetMapping("/prioritylist") //鏌ヨ鐜板湪涓婄墖鏈虹殑鐜荤拑淇℃伅
-// public Result<List<UpPattenUsage>> prioritylist() {
-// List<UpPattenUsage> glass = upPattenUsageService.prioritylist(1);
-// log.info("鏄剧ず宸ヤ綅涓婄殑鐜荤拑淇℃伅:{}", glass);
-// return Result.build(200, "", glass);
-// }
-//
-// @ApiOperation("鐐瑰嚮閫夋嫨宸ョ▼淇濆瓨鍚庤繘琛岃皟鐢�,浼犲叆宸ョ▼鍙�")
-// @GetMapping("/saveUpPattenUsage") //鏌ヨ鐜板湪涓婄墖鏈虹殑鐜荤拑淇℃伅
-// public Result<Integer> saveUpPattenUsage(String engineeringId) {
-// List<UpPattenUsage> upPattenUsages = upPattenUsageService.selectSaveUpPattenUsage(engineeringId);
-// log.info("灏嗘煡璇㈠嚭鐨刄pPattenUsage鏁版嵁淇濆瓨鍒版暟鎹簱琛ㄩ噷");
-// upPattenUsageService.saveUpPattenUsage(upPattenUsages);
-// log.info("浠嶱P琛ㄦ煡璇lassinfo鐨勬暟鎹苟淇濆瓨鍒拌〃閲�");
-// List<GlassInfo> glassinfo=glassInfoService.selectGlassInfo(engineeringId);
-// return Result.build(200, "", 200);
-// }
-//}
+import java.util.List;
+
+/**
+ * <p>
+ * 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/up-patten-usage")
+@Slf4j
+public class UpPattenUsageController {
+
+ @Autowired
+ private UpPattenUsageService upPattenUsageService;
+ @Autowired
+ private GlassInfoService glassInfoService;
+ @Autowired
+ private EngineeringService engineeringService;
+ @Autowired
+ private OptimizeProjectService optimizeProjectService;
+ @ApiOperation("鏄剧ず姝e湪鍑虹墖鐨勫伐绋嬩俊鎭�")
+ @GetMapping("/prioritylist") //鏌ヨ鐜板湪涓婄墖鏈虹殑鐜荤拑淇℃伅
+ public Result<List<UpPattenUsage>> prioritylist() {
+ List<UpPattenUsage> glass = upPattenUsageService.prioritylist(1);
+ log.info("鏄剧ず宸ヤ綅涓婄殑鐜荤拑淇℃伅:{}", glass);
+ return Result.build(200, "", glass);
+ }
+
+ @ApiOperation("鐐瑰嚮閫夋嫨宸ョ▼淇濆瓨鍚庤繘琛岃皟鐢�,浼犲叆宸ョ▼鍙�")
+ @GetMapping("/saveUpPattenUsage") //鏌ヨ鐜板湪涓婄墖鏈虹殑鐜荤拑淇℃伅
+ public Result<Integer> saveUpPattenUsage(String engineeringId) {
+ log.info("浼犲叆宸ョ▼鍙峰垽鏂槸鍚﹀凡淇濆瓨:{}", engineeringId);
+ UpPattenUsage upPattenUsage= upPattenUsageService.selectedEngineering(engineeringId);
+ if (upPattenUsage!=null){
+ log.info("宸蹭繚瀛樿繃");
+ return Result.build(200, "宸蹭繚瀛樿繃", 200);
+ }else {
+ List<UpPattenUsage> upPattenUsages = upPattenUsageService.selectSaveUpPattenUsage(engineeringId);
+ log.info("灏嗘煡璇㈠嚭鐨刄pPattenUsage鏁版嵁淇濆瓨鍒版暟鎹簱琛ㄩ噷");
+ upPattenUsageService.saveUpPattenUsage(upPattenUsages);
+ log.info("浠嶱P琛ㄦ煡璇lassinfo鐨勬暟鎹苟淇濆瓨鍒拌〃閲�");
+ List<GlassInfo> glassinfo=glassInfoService.selectGlassInfo(engineeringId);
+ glassInfoService.saveGlassInfo(glassinfo);
+ log.info("浠嶱P琛ㄦ煡璇ngineering鐨勬暟鎹苟淇濆瓨鍒拌〃閲�");
+ List<Engineering> engineerings= engineeringService.selectEngineering(engineeringId);
+ engineeringService.saveEngineering(engineerings);
+ log.info("鏇存敼pp琛ㄧ姸鎬佷负宸查鍙�");
+ optimizeProjectService.changeTask(engineeringId, 200);
+ return Result.build(200, "", 200);
+ }
+
+ }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/entity/OptimizeUpPattenUsage.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/entity/OptimizeUpPattenUsage.java
index 7882159..d4aca93 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/entity/OptimizeUpPattenUsage.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/entity/OptimizeUpPattenUsage.java
@@ -40,7 +40,7 @@
/**
* 鍘熺墖鐗堝浘鐗囧簭
*/
- private Integer heatLayoutSort;
+ private Integer stockId;
/**
* 鐘舵��
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
index 37427e8..7bc799b 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
@@ -19,5 +19,10 @@
List<UpPattenUsage> selectSaveUpPattenUsage(String engineeringId);
void saveUpPattenUsage(List<UpPattenUsage> upPattenUsages);
+
+ void updateupPattenUsageState(UpPattenUsage upPattenUsage, Integer state);
+
+ UpPattenUsage selectedEngineering(String engineeringId);
+
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
index 59a06be..ecff14b 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.query.MPJQueryWrapper;
import com.mes.pp.entity.OptimizeProject;
@@ -46,7 +47,7 @@
List<OptimizeUpPattenUsage> upPattenUsageList = null;
if (engineeringId != null) {
upPattenUsageList = optimizeProjectMapper.selectJoinList(OptimizeUpPattenUsage.class, new MPJQueryWrapper<OptimizeProject>()
- .select("t.project_no,t.glass_type,b.width,b.height,REGEXP_REPLACE(t.glass_thickness,'\\D','')as glass_thickness,b.heat_layout_sort")
+ .select("t.project_no,t.glass_type,b.width,b.height,REGEXP_REPLACE(t.glass_thickness,'\\D','')as glass_thickness,b.stock_id")
.leftJoin("optimize_layout b on t.project_no=b.project_no")
.eq("b.project_no", engineeringId));
}
@@ -59,12 +60,12 @@
// 鍒涘缓涓�涓柊鐨� OptimizeProject 瀵硅薄
UpPattenUsage optimizeProject = new UpPattenUsage();
// 灏� Map 涓殑姣忎釜閿�煎鏄犲皠鍒� OptimizeProject 瀵硅薄鐨勭浉搴斿瓧娈典笂
- optimizeProject.setEngineeringId((String) map.getProjectNo());
- optimizeProject.setFilmsId((String) map.getGlassType());
- optimizeProject.setWidth((Double) map.getWidth());
- optimizeProject.setHeight((Double) map.getHeight());
- optimizeProject.setThickness((Double)map.getHeight());
- optimizeProject.setLayoutSequence((Integer) map.getHeatLayoutSort());
+ optimizeProject.setEngineeringId(map.getProjectNo());
+ optimizeProject.setFilmsId( map.getGlassType());
+ optimizeProject.setWidth(map.getWidth());
+ optimizeProject.setHeight( map.getHeight());
+ optimizeProject.setThickness(map.getGlassThickness());
+ optimizeProject.setLayoutSequence( map.getStockId());
optimizeProject.setState(0);
// 灏嗘槧灏勫悗鐨勫璞℃坊鍔犲埌缁撴灉鍒楄〃涓�
resultList.add(optimizeProject);
@@ -80,10 +81,20 @@
//淇濆瓨鍘熺墖浣跨敤璇︽儏琛�
}
- //@Override
- public void selectSaveGlassinfo(String engineeringId) {
- //淇濆瓨鐜荤拑淇℃伅琛�
- //optimizeProjectMapper.selectJoinList();
+ @Override
+ public void updateupPattenUsageState(UpPattenUsage upPattenUsage, Integer state) {
+ upPattenUsage.setState(state);
+ boolean updateSuccess=this.updateById(upPattenUsage);
+ log.info("鏇存柊鐘舵�亄}",updateSuccess);
+ //鏇存柊鐘舵��
+ }
+
+ @Override
+ public UpPattenUsage selectedEngineering(String engineeringId) {
+ QueryWrapper<UpPattenUsage>wrapper = new QueryWrapper<>();
+ wrapper.eq("engineering_id",engineeringId)
+ .last("limit 1");
+ return this.getOne(wrapper);
}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java
new file mode 100644
index 0000000..4f6a172
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java
@@ -0,0 +1,29 @@
+package com.mes;
+
+import com.mes.common.S7object;
+import com.mes.job.PlcLoadGlassTask;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+@Order(1)
+
+public class AppRunnerConfig implements ApplicationRunner {
+
+ private final PlcLoadGlassTask plcLoadGlassTask;
+
+ public AppRunnerConfig(PlcLoadGlassTask plcLoadGlassTask) {
+ this.plcLoadGlassTask = plcLoadGlassTask;
+ }
+
+ @Override
+ public void run(ApplicationArguments args) throws Exception {
+ log.info("鍚姩瀹屾垚");
+ S7object.getinstance().start();
+
+ }
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java
index 2634690..593308c 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.java
@@ -5,6 +5,7 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.scheduling.annotation.EnableScheduling;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
@@ -16,6 +17,7 @@
@SpringBootApplication
@EnableSwagger2
@EnableDiscoveryClient
+@EnableScheduling
@MapperScan(basePackages = "com.mes.*.mapper")
public class LoadGlassModuleApplication {
public static void main(String[] args) {
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/JsonFile/PlcLoadGlass.json b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/JsonFile/PlcLoadGlass.json
deleted file mode 100644
index eed5688..0000000
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/JsonFile/PlcLoadGlass.json
+++ /dev/null
@@ -1,414 +0,0 @@
-{
- "plcAddressBegin":"DB14.0",
- "plcAddressLenght":"208",
- "dataType":"word",
- "parameteInfor":[
- {
- "codeId": "PLCToMES",
- "addressIndex":"0",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"m/min"
- },
- {
- "codeId": "IDStatus1",
- "addressIndex":"2",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"m/min"
- },
- {
- "codeId": "IDStatus2",
- "addressIndex":"4",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"m/min"
- },
- {
- "codeId": "IDStatus3",
- "addressIndex":"6",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },
- {
- "codeId": "IDStatus4",
- "addressIndex":"8",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },
- {
- "codeId": "IDStatus5",
- "addressIndex":"10",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- }
- ,
- {
- "codeId": "IDStatus6",
- "addressIndex":"12",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },
- {
- "codeId": "StautsID1",
- "addressIndex":"14",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- }
- ,
- {
- "codeId": "StautsID2",
- "addressIndex":"16",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- }
- ,
- {
- "codeId": "StautsID3",
- "addressIndex":"18",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- }
- ,
- {
- "codeId": "StautsID4",
- "addressIndex":"20",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- }
- ,
- {
- "codeId": "StautsID5",
- "addressIndex":"22",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },
- {
- "codeId": "StautsID6",
- "addressIndex":"24",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },
- {
- "codeId": "GaToMES",
- "addressIndex":"26",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },
- {
- "codeId": "Height",
- "addressIndex":"28",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },
- {
- "codeId": "width",
- "addressIndex":"30",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },
- {
- "codeId": "ExportTOMES1",
- "addressIndex":"32",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- }
- ,
- {
- "codeId": "ExportToMES2",
- "addressIndex":"34",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- } ,
- {
- "codeId": "MESToPLC",
- "addressIndex":"36",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- } ,
- {
- "codeId": "MESID1",
- "addressIndex":"38",
- "addressLenght":"14",
- "ratio":"1",
- "unit":"mm/S"
- } ,
- {
- "codeId": "MESID2",
- "addressIndex":"54",
- "addressLenght":"14",
- "ratio":"1",
- "unit":"mm/S"
- },
- {
- "codeId": "MESID3",
- "addressIndex":"70",
- "addressLenght":"14",
- "ratio":"1",
- "unit":"mm/S"
- },
- {
- "codeId": "MESID4",
- "addressIndex":"86",
- "addressLenght":"14",
- "ratio":"1",
- "unit":"mm/S"
- },
- {
- "codeId": "MESID5",
- "addressIndex":"102",
- "addressLenght":"14",
- "ratio":"1",
- "unit":"mm/S"
- },
- {
- "codeId": "MESID6",
- "addressIndex":"118",
- "addressLenght":"14",
- "ratio":"1",
- "unit":"mm/S"
- },
- {
- "codeId": "MESToPLCStart1",
- "addressIndex":"134",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCStart2",
- "addressIndex":"136",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCStart3",
- "addressIndex":"138",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- }
- ,{
- "codeId": "MESToPLCStart4",
- "addressIndex":"140",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- }
- ,{
- "codeId": "MESToPLCStart5",
- "addressIndex":"142",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- }
- ,{
- "codeId": "MESToPLCStart6",
- "addressIndex":"144",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCTarget1",
- "addressIndex":"146",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCTarget2",
- "addressIndex":"148",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCTarget3",
- "addressIndex":"150",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCTarget4",
- "addressIndex":"152",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCTarget5",
- "addressIndex":"154",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCTarget6",
- "addressIndex":"156",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCStatus1",
- "addressIndex":"158",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCStatus2",
- "addressIndex":"160",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCStatus3",
- "addressIndex":"162",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCStatus4",
- "addressIndex":"164",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCStatus5",
- "addressIndex":"166",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToPLCStatus6",
- "addressIndex":"168",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "MESToGaStatus",
- "addressIndex":"170",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "A01Err",
- "addressIndex":"172",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "A02Err",
- "addressIndex":"174",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "B01Err",
- "addressIndex":"176",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "C01Err",
- "addressIndex":"178",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "C02Err",
- "addressIndex":"180",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "ErrSpace1",
- "addressIndex":"182",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "ErrSpace2",
- "addressIndex":"184",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "ErrSpace3",
- "addressIndex":"186",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "B01Position",
- "addressIndex":"188",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "C01Position",
- "addressIndex":"190",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "C02Position",
- "addressIndex":"192",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "DeviceState",
- "addressIndex":"194",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "AllFVRun",
- "addressIndex":"196",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "A01State",
- "addressIndex":"198",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "A02State",
- "addressIndex":"200",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "B01State",
- "addressIndex":"202",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "C01State",
- "addressIndex":"204",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- },{
- "codeId": "C02State",
- "addressIndex":"206",
- "addressLenght":"2",
- "ratio":"1",
- "unit":"mm/S"
- }
- ]
-}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
index 45e5467..2ad66f4 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
@@ -1,24 +1,34 @@
package com.mes.common;
import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
+import com.mes.device.PlcParameterObject;
+import com.mes.tools.InitUtil;
import com.mes.tools.S7control;
+
+
/**
* @Author : zhoush
* @Date: 2024/4/9 15:13
* @Description:
*/
-public class S7object {
+public class S7object extends Thread {
public S7control plccontrol; // PLC閫氳绫诲疄渚�
- private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
+ private EPlcType plcType = EPlcType.S1200; // 瑗块棬瀛怭LC绫诲瀷
private String ip = "192.168.10.1"; // plc ip鍦板潃
private int port = 102; // plc 绔彛鍙�
+
+ public PlcParameterObject PlcMesObject;
private static volatile S7object instance = null;
private S7object() {
if (plccontrol == null) {
plccontrol = new S7control(plcType, ip, port, 0, 0);
+
+ String PlcLoadGlass=S7object.class.getResource("/JsonFile/PlcLoadGlass.json").getPath();
+ //log.info(PLCAutoMes.class.getResource("").getPath());
+ PlcMesObject = InitUtil.initword(PlcLoadGlass);
}
}
@@ -33,4 +43,20 @@
}
return instance;
}
+
+ @Override
+ public void run() {
+ while (this != null) {
+ try {
+ Thread.sleep(100);
+
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ byte[] getplcvlues= plccontrol.ReadByte(PlcMesObject.getPlcAddressBegin(),PlcMesObject.getPlcAddressLength());
+ PlcMesObject.setPlcParameterList(getplcvlues);
+
+ }
+ }
}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/WebSocketServer.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/WebSocketServer.java
new file mode 100644
index 0000000..5fabafa
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/WebSocketServer.java
@@ -0,0 +1,160 @@
+package com.mes.common;
+
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.stereotype.Component;
+
+import javax.websocket.*;
+import javax.websocket.server.PathParam;
+import javax.websocket.server.ServerEndpoint;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+@ServerEndpoint(value = "/api/talk/{username}")
+@Component("webSocketServer")
+public class WebSocketServer {
+
+
+ public static ConfigurableApplicationContext applicationContext;
+
+ // 瑙e喅鏃犳硶娉ㄥ叆mapper闂 //浣跨敤鏂规硶
+ // homeMapper=WebSocketServer.applicationContext.getBean(HomeMapper.class);
+ public static void setApplicationContext(ConfigurableApplicationContext configurableApplicationContext) {
+ WebSocketServer.applicationContext = configurableApplicationContext;
+ }
+
+ private static final Logger log = LoggerFactory.getLogger(WebSocketServer.class);
+ private List<String> messages;
+ /**
+ * 璁板綍褰撳墠鍦ㄧ嚎杩炴帴鏁�
+ */
+ public static final Map<String, ArrayList<WebSocketServer>> sessionMap = new ConcurrentHashMap<>();
+
+ String username;
+ Session session;
+
+ public WebSocketServer() {
+ this.messages = new ArrayList<>();
+ }
+
+ /**
+ * 杩炴帴寤虹珛鎴愬姛璋冪敤鐨勬柟娉�
+ */
+ @OnOpen
+ public void onOpen(Session session, @PathParam("username") String username) {
+ this.username = username;
+ this.session = session;
+ List<WebSocketServer> webSocketServers = sessionMap.get(username);
+ if (webSocketServers == null) {
+ ArrayList<WebSocketServer> arrayListwebserver = new ArrayList<WebSocketServer>();
+ arrayListwebserver.add(this);
+ sessionMap.put(username, arrayListwebserver);
+ } else {
+ webSocketServers.add(this);
+ }
+
+ log.info("鏈夋柊鐢ㄦ埛鍔犲叆锛寀sername={}, 褰撳墠鍦ㄧ嚎浜烘暟涓猴細{}", username, sessionMap.get(username).size());
+
+ // JSONObject result = new JSONObject();
+ // JSONArray array = new JSONArray();
+ // result.set("users", array);
+ // for (Object key : sessionMap.keySet()) {
+ // JSONObject jsonObject = new JSONObject();
+ // jsonObject.set("username", key);
+ // array.add(jsonObject);
+ // }
+
+ // sendAllMessage(JSONUtil.toJsonStr(result)); // 鍚庡彴鍙戦�佹秷鎭粰鎵�鏈夌殑瀹㈡埛绔�
+ }
+
+ /**
+ * 杩炴帴鍏抽棴璋冪敤鐨勬柟娉�
+ */
+ @OnClose
+ public void onClose(Session session, @PathParam("username") String username) {
+ List<WebSocketServer> webSocketServers = sessionMap.get(username);
+ ArrayList<WebSocketServer> arrayListwebserver = new ArrayList<WebSocketServer>();
+ if (webSocketServers.size() > 1) {
+ for (WebSocketServer webSocketServer : webSocketServers) {
+ if (webSocketServer != this) {
+ arrayListwebserver.add(webSocketServer);
+ }
+ }
+ sessionMap.put(username, arrayListwebserver);
+ log.info("绉婚櫎username={}涓�鍚嶇敤鎴穝ession, {}鐨勫綋鍓嶅湪绾夸汉鏁颁负锛歿}", username, username, sessionMap.get(username).size());
+ } else {
+ sessionMap.remove(username);
+ log.info("绉婚櫎username={}涓�鍚嶇敤鎴穝ession, {}杩炴帴鍏抽棴, 褰撳墠杩炴帴鏁颁负锛歿}", username, username, sessionMap.size());
+ }
+
+ }
+
+ /**
+ * 鏀跺埌瀹㈡埛绔秷鎭悗璋冪敤鐨勬柟娉�
+ * 鍚庡彴鏀跺埌瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅
+ * onMessage 鏄竴涓秷鎭殑涓浆绔�
+ * 鎺ュ彈 娴忚鍣ㄧ socket.send 鍙戦�佽繃鏉ョ殑 json鏁版嵁
+ *
+ * @param message 瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅
+ */
+ @OnMessage
+ public void onMessage(String message, Session session, @PathParam("username") String username) {
+ log.info("鏈嶅姟绔敹鍒扮敤鎴穟sername={}鐨勬秷鎭�:{}", username, message);
+ JSONObject obj = JSONUtil.parseObj(message);
+ String text = obj.getStr("data");
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.set("message", text);
+ this.messages.add(text);
+ this.sendMessage(jsonObject.toString()); // JSONUtil.toJsonStr(jsonObject)
+
+ }
+
+ @OnError
+ public void onError(Session session, Throwable error) {
+ log.error("鍙戠敓閿欒");
+ error.printStackTrace();
+ }
+
+ /**
+ * 鏈嶅姟绔彂閫佹秷鎭粰瀹㈡埛绔�
+ */
+ public void sendMessage(String message) {
+ try {
+ // log.info("鏈嶅姟绔粰瀹㈡埛绔痆{}]鍙戦�佹秷鎭瘂}", this.session.getId(), message);
+ this.session.getBasicRemote().sendText(message);
+ } catch (Exception e) {
+ log.error("鏈嶅姟绔彂閫佹秷鎭粰瀹㈡埛绔け璐�", e);
+ }
+ }
+
+ // /**
+ // * 鏈嶅姟绔彂閫佹秷鎭粰鎵�鏈夊鎴风
+ // */
+ // public void sendAllMessage(String message) {
+ // try {
+ // for (WebSocketServer webSocketServer : sessionMap.values()) {
+ // // log.info("鏈嶅姟绔粰瀹㈡埛绔痆{}]鍙戦�佹秷鎭瘂}", this.session.getId(), message);
+ // webSocketServer.sendMessage(message);
+ // }
+ // } catch (Exception e) {
+ // log.error("鏈嶅姟绔彂閫佹秷鎭粰瀹㈡埛绔け璐�", e);
+ // }
+ // }
+
+ public List<String> getMessages() {
+ return messages;
+
+ }
+
+ public void clearMessages() {
+ messages.clear();
+ }
+
+
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
deleted file mode 100644
index ebca48c..0000000
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.mes.engineering.service;
-
-import com.mes.engineering.entity.Engineering;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- * 鏈嶅姟绫�
- * </p>
- *
- * @author wu
- * @since 2024-04-22
- */
-public interface EngineeringService extends IService<Engineering> {
-
- boolean changeTask(String projectId,Integer state);
-}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
deleted file mode 100644
index fa3ec49..0000000
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.mes.engineering.service.impl;
-
-import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
-import com.mes.engineering.entity.Engineering;
-import com.mes.engineering.mapper.EngineeringMapper;
-import com.mes.engineering.service.EngineeringService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author wu
- * @since 2024-04-22
- */
-@Service
-public class EngineeringServiceImpl extends ServiceImpl<EngineeringMapper, Engineering> implements EngineeringService {
- //寮�濮�/鏆傚仠浠诲姟
- @Override
- public boolean changeTask(String projectId, Integer state) {
- //浣跨敤projectId浣滀负鏉′欢淇敼state瀛楁
- LambdaUpdateChainWrapper<Engineering> wrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
- wrapper.set(Engineering::getState,state);
- wrapper.eq(Engineering::getEngineerId,projectId);
- return wrapper.update();
- }
-
-}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
index d3c4324..4d3f240 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
@@ -1,33 +1,113 @@
package com.mes.job;
import cn.hutool.json.JSONObject;
+import com.mes.common.S7object;
+import com.mes.device.PlcParameterObject;
+import com.mes.engineering.entity.Engineering;
+import com.mes.engineering.service.EngineeringService;
+import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.uppattenusage.service.UpPattenUsageService;
+import com.mes.workstation.entity.UpWorkstation;
import com.mes.workstation.service.UpWorkstationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+/**
+ * @author SNG-010
+ */
@Component
@Slf4j
public class PlcLoadGlassTask {
@Autowired
private UpWorkstationService upWorkstationService;
+ @Autowired
+ private EngineeringService engineeringService;
+ @Autowired
+ private UpPattenUsageService upPattenUsageService;
-
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
/**
* fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
*/
+
@Scheduled(fixedDelay = 300)
public void plcLoadGlassTask() throws InterruptedException {
- JSONObject jsonObject = new JSONObject();
try {
- Thread.sleep(300);
- upWorkstationService.selectPriority();
+ log.info("寮�濮嬩笂鐗�");
+ //鑾峰彇鏄惁鏈変笂鐗囪姹�
+ String loadRequest = plcParameterObject.getPlcParameter("loadRequest").getValue();
+ //鍒ゆ柇寮�濮嬩笂鐗囩殑宸ョ▼鍙�
+ Engineering engineering=engineeringService.selectInitiate(1);
+ if("1".equals(loadRequest)&&engineering!=null){
+ UpPattenUsage upPattenUsage=upWorkstationService.selectPriority(engineering);
+ log.info("褰撴湁璇锋眰鏃舵煡璇㈠綋鍓嶄笂鐗囬『搴忕殑鐜荤拑淇℃伅{}",upPattenUsage);
+ UpWorkstation upwork=upWorkstationService.selectworkstation(upPattenUsage);
+ log.info("绗﹀悎鐨勫昂瀵哥殑宸ヤ綅鐜荤拑锛歿}",upwork);
+ if(upwork!=null){
+ int workId=upwork.getWorkstationId();//宸ヤ綅id
+ double width=upwork.getPatternWidth();//瀹藉害
+ double height=upwork.getPatternHeight();//楂樺害
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("WorkId").getAddress(),workId);
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("GlassWidth").getAddress(), (long) width);
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("GlassHeight").getAddress(), (long) height);
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlc").getAddress(),1);
+ //鍑忓皯宸ヤ綅鏁伴噺
+ upWorkstationService.reduceWorkstationNumber(upwork);
+ //瀹屾垚涓婄墖琛ㄧ姸鎬�
+ upPattenUsageService.updateupPattenUsageState(upPattenUsage,1);
+
+ }
+ }
+ //鑾峰彇鏄惁鏈夋眹鎶�
+ String loadStatus = plcParameterObject.getPlcParameter("PlcStatus").getValue();
+ if (loadStatus!=null) {
+ log.info(loadStatus);
+ if ("1".equals(loadStatus)) {
+ log.info("鏀跺埌姹囨姤浠诲姟瀹屾垚");
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(), 1);
+ } else if ("2".equals(loadStatus)) {
+ log.info("鏀跺埌姹囨姤鏈畬鎴愪换鍔�");
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(), 1);
+ } else if ("3".equals(loadStatus)) {
+ log.info("鏀跺埌姹囨姤鐜荤拑鐮存崯");
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(), 1);
+ } else {
+ log.info("鏀跺埌姹囨姤娓�0鐘舵��");
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(), 0);
+ }
+ }
+ //鎵ц鍚庝紤鐪�300姣
+ //Thread.sleep(300);
} catch (Exception e) {
e.printStackTrace();
}
}
+// @Scheduled(fixedDelay = 300)
+// public void plcLoadGlassOver() throws InterruptedException {
+// try {
+// //鑾峰彇鏄惁鏈夋眹鎶�
+// String loadStatus = plcParameterObject.getPlcParameter("PlcStatus").getValue();
+// if ("1".equals(loadStatus)){
+// log.info("鏀跺埌姹囨姤浠诲姟瀹屾垚");
+// S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(),1);
+// }else if ("2".equals(loadStatus)) {
+// log.info("鏀跺埌姹囨姤鏈畬鎴愪换鍔�");
+// S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(),1);
+// }else if("3".equals(loadStatus)){
+// log.info("鏀跺埌姹囨姤鐜荤拑鐮存崯");
+// S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(),1);
+// }else {
+// log.info("鏀跺埌姹囨姤娓�0鐘舵��");
+// S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(),0);
+// }
+//
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// }
}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java
index 74f6cce..b5265de 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java
@@ -56,7 +56,7 @@
/**
* 鍘熺墖楂�
*/
- private Double patternHeigth;
+ private Double patternHeight;
/**
* 鍘熺墖鍘氬害
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java
index 4c2638b..ca6f827 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java
@@ -1,6 +1,8 @@
package com.mes.workstation.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.engineering.entity.Engineering;
+import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.workstation.entity.UpWorkSequence;
import com.mes.workstation.entity.UpWorkstation;
@@ -17,10 +19,12 @@
- //鍒ゆ柇浼樺厛鍚哥墖浣嶇疆鍚庡彂閫佸嚭鐗囦换鍔�
- UpWorkSequence selectPriority();
-
- //鏌ヨ姝e湪杩涜鐨勫伐绋�
+ //鍒ゆ柇浼樺厛鍚哥墖鐜荤拑
+ UpPattenUsage selectPriority(Engineering engineering);
+ //鏌ヨ姝e湪杩涜鐨勫崟鐗囦俊鎭�
+ UpWorkstation selectworkstation(UpPattenUsage upPattenUsage);
+ //鍑忓皯宸ヤ綅鏁伴噺
+ void reduceWorkstationNumber(UpWorkstation upwork);
/**
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
index ffd6491..1e24d13 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
@@ -1,7 +1,9 @@
package com.mes.workstation.service.impl;
+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.engineering.entity.Engineering;
import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
import com.mes.workstation.entity.UpWorkSequence;
@@ -27,36 +29,47 @@
public class UpWorkstationServiceImpl extends ServiceImpl<UpWorkstationMapper, UpWorkstation> implements UpWorkstationService {
@Resource
UpPattenUsageMapper upPattenUsageMapper;
- public static final String DB_100_10 = "DB_100_10";
-
- //鍒ゆ柇鏄惁鍙互鍚哥墖杩涜浠诲姟
- public boolean isCanLoadGlass() {
- String loadstart = "鍚哥墖淇″彿";//plcmes.getPlcParameter("鍚哥墖淇″彿").getValue();
- return "1".equals(loadstart);
-
- }
- //鏄剧ず姝e湪杩涜浠诲姟鐨勫伐绋嬩俊鎭�
+ @Resource
+ UpWorkstationMapper upWorkstationMapper;
//鍒ゆ柇浼樺厛鍚哥墖浣嶇疆鍚庡彂閫佸嚭鐗囦换鍔�
- public UpWorkSequence selectPriority() {
- UpWorkSequence upwork= this.baseMapper.selectPriority(1);
- String start = "1";//plcmes.getPlcParameter("鍚哥墖淇″彿").getValue();
- UpPattenUsage uplist=new UpPattenUsage();
- if(start.equals("1")){
- //鍙戦�佸嚭鐗囦换鍔�
- UpdateWrapper<UpPattenUsage> updateWrapper = new UpdateWrapper<>();
- updateWrapper.eq("state",1).last("LIMIT 1");
- uplist= upPattenUsageMapper.selectOne(updateWrapper);
- log.info("鏌ヨ鍑烘湰娆″嚭鐗囩殑鐜荤拑淇℃伅[]",uplist);
- }
- return upwork;
+ public UpPattenUsage selectPriority(Engineering engineering) {
+ QueryWrapper<UpPattenUsage> wrapper=new QueryWrapper<>();
+ wrapper.eq("state", 0)
+ .eq("engineering_id",engineering.getEngineerId())
+ .orderByAsc("layout_sequence")
+ .last("limit 1");
+ return upPattenUsageMapper.selectOne(wrapper);
+ }
+
+ //鍒ゆ柇宸ヤ綅鏄惁鏈夌鍚堟潯浠剁殑鐜荤拑
+ @Override
+ public UpWorkstation selectworkstation(UpPattenUsage upPattenUsage) {
+ QueryWrapper<UpWorkstation> wrapper = new QueryWrapper<>();
+ wrapper.eq("pattern_width", upPattenUsage.getWidth())
+ .eq("pattern_height", upPattenUsage.getHeight())
+ .eq("pattern_thickness", upPattenUsage.getThickness())
+ .eq("films_id", upPattenUsage.getFilmsId())
+ .gt("number", 0)
+ .orderByAsc("number")
+ .last("limit 1");
+ return this.baseMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public void reduceWorkstationNumber(UpWorkstation upwork) {
+ UpdateWrapper<UpWorkstation> wrapper = new UpdateWrapper<>();
+ wrapper.eq("id", upwork.getWorkstationId())
+ .setSql("number = number - 1");
+ boolean updateResult = upWorkstationMapper.update(null, wrapper) > 0;
+ log.info("鍑忓皯宸ヤ綅鏁伴噺{}",updateResult);
+
}
/**
* 澧炲姞浜哄伐杈撳叆鐨勫伐浣嶇幓鐠冧俊鎭�/鍒犻櫎浜哄伐鎼蛋鐨勭幓鐠冧俊鎭�
- * @param upwork
*/
@Override
public void updateGlassMessage(UpWorkstation upwork) {
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/JsonFile/PlcLoadGlass.json b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/JsonFile/PlcLoadGlass.json
new file mode 100644
index 0000000..1a32fde
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/JsonFile/PlcLoadGlass.json
@@ -0,0 +1,71 @@
+{
+ "plcAddressBegin":"DB14.0",
+ "plcAddressLenght":"98",
+ "dataType":"word",
+ "parameteInfor":[
+ {
+ "codeId": "loadRequest",
+ "addressIndex":"0",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":"m/min"
+ },
+ {
+ "codeId": "PlcStatus",
+ "addressIndex":"10",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "MesToPlc",
+ "addressIndex":"20",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "WorkId",
+ "addressIndex":"24",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "GlassWidth",
+ "addressIndex":"26",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "GlassHeight",
+ "addressIndex":"28",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ }
+ ,
+ {
+ "codeId": "MesToPlcStatus",
+ "addressIndex":"40",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "MesToPlcStatusId",
+ "addressIndex":"42",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ },
+ {
+ "codeId": "MesTaskStatus",
+ "addressIndex":"56",
+ "addressLenght":"2",
+ "ratio":"1",
+ "unit":""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
index afb83c3..c4d40db 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
@@ -1,11 +1,15 @@
package com.mes;
+import com.mes.engineering.entity.Engineering;
+import com.mes.engineering.service.EngineeringService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
import com.mes.pp.mapper.OptimizeProjectMapper;
-import com.mes.uppattenusage.entity.OptimizeUpPattenUsage;
+import com.mes.pp.service.OptimizeProjectService;
import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.uppattenusage.service.impl.UpPattenUsageServiceImpl;
+import com.mes.workstation.entity.UpWorkstation;
+import com.mes.workstation.service.UpWorkstationService;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -16,24 +20,27 @@
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
-import java.util.Map;
/**
- * @Author : zhoush
- * @Date: 2024/3/27 16:37
- * @Description:
+
*/
@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest(classes = LoadGlassModuleApplication.class)
public class LoadGlassModuleApplicationTest {
- @Resource
- private OptimizeProjectMapper optimizeProjectMapper;
+// @Resource
+// private OptimizeProjectMapper optimizeProjectMapper;
@Autowired
private UpPattenUsageServiceImpl upPattenUsageService;
@Autowired
private GlassInfoService glassInfoService;
+ @Autowired
+ private EngineeringService engineeringService;
+ @Autowired
+ private UpWorkstationService workstationService;
+ @Autowired
+ private OptimizeProjectService optimizeProjectService;
@Test
public void test() {
// List<OptimizeProject> list = optimizeProjectMapper.saveProject("P24032204");
@@ -48,12 +55,38 @@
@Test
public void testFindPa() {
- List<UpPattenUsage> glass = upPattenUsageService.selectSaveUpPattenUsage("P24032204");
- log.info("瀹屾暣璺緞锛歿}", Arrays.asList(glass));
+ Engineering engineering= engineeringService.selectInitiate(1);
+ log.info("寮�濮嬩笂鐗囩殑宸ョ▼锛歿}", Arrays.asList(engineering));
+ UpPattenUsage upPattenUsage = workstationService.selectPriority(engineering);
+ log.info("涓婄墖椤哄簭锛歿}", Arrays.asList(upPattenUsage));
+ UpWorkstation glass2=workstationService.selectworkstation(upPattenUsage);
+ log.info("绗﹀悎鐨勫伐浣嶇幓鐠儃}",glass2);
+ workstationService.reduceWorkstationNumber(glass2);
+ //鍑忓皯鏁伴噺
+ upPattenUsageService.updateupPattenUsageState(upPattenUsage,1);
+ //鏇存柊鐘舵��
}
+
@Test
public void textglassinfo(){
List<GlassInfo> glass= glassInfoService.selectGlassInfo("P24032204");
log.info("glassinfo锛歿}", Arrays.asList(glass));
+ glassInfoService.saveGlassInfo(glass);
+ }
+ @Test
+ public void textengineering(){
+ List<Engineering> glass= engineeringService.selectEngineering("P24032204");
+ engineeringService.saveEngineering(glass);
+ log.info("glassinfo锛歿}", Arrays.asList(glass));
+ }
+ @Test
+ public void textengineering2(){
+ //鏇存柊宸ョ▼琛ㄧ姸鎬佷负宸查鍙�
+ optimizeProjectService.changeTask("P24050801",200);
+ }
+ @Test
+ public void textengineering3(){
+ //鍒ゆ柇鏄惁宸蹭繚瀛樿繃宸ョ▼鍙峰埌涓婄墖琛�
+ upPattenUsageService.selectedEngineering("P24050801");
}
}
--
Gitblit v1.8.0