From a8e32b8a10bb462bb01f37e3b03d9d9fc3ffdee5 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期五, 10 五月 2024 16:28:59 +0800
Subject: [PATCH] 增加上片模块线程,增加保存工程时的已保存判断
---
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/uppattenusage/service/impl/UpPattenUsageServiceImpl.java | 17 +
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java | 29 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/EngineeringService.java | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java | 5
hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java | 30 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java | 9
hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java | 34 +
/dev/null | 414 -------------------------
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/JsonFile/PlcLoadGlass.json | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java | 20
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java | 88 +++++
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java | 2
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/LoadGlassModuleApplication.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 +
19 files changed, 456 insertions(+), 482 deletions(-)
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
index 79b3b8c..7c01553 100644
--- 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
@@ -23,4 +23,6 @@
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
index 4825296..968cd59 100644
--- 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
@@ -81,6 +81,15 @@
@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/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/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 ab12655..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
@@ -2,6 +2,8 @@
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;
@@ -34,6 +36,8 @@
private GlassInfoService glassInfoService;
@Autowired
private EngineeringService engineeringService;
+ @Autowired
+ private OptimizeProjectService optimizeProjectService;
@ApiOperation("鏄剧ず姝e湪鍑虹墖鐨勫伐绋嬩俊鎭�")
@GetMapping("/prioritylist") //鏌ヨ鐜板湪涓婄墖鏈虹殑鐜荤拑淇℃伅
public Result<List<UpPattenUsage>> prioritylist() {
@@ -45,16 +49,26 @@
@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);
- glassInfoService.saveGlassInfo(glassinfo);
- log.info("浠嶱P琛ㄦ煡璇ngineering鐨勬暟鎹苟淇濆瓨鍒拌〃閲�");
- List<Engineering> engineerings= engineeringService.selectEngineering(engineeringId);
- engineeringService.saveEngineering(engineerings);
- return Result.build(200, "", 200);
+ 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/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 6b46236..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;
@@ -63,7 +64,7 @@
optimizeProject.setFilmsId( map.getGlassType());
optimizeProject.setWidth(map.getWidth());
optimizeProject.setHeight( map.getHeight());
- optimizeProject.setThickness(map.getHeight());
+ optimizeProject.setThickness(map.getGlassThickness());
optimizeProject.setLayoutSequence( map.getStockId());
optimizeProject.setState(0);
// 灏嗘槧灏勫悗鐨勫璞℃坊鍔犲埌缁撴灉鍒楄〃涓�
@@ -80,7 +81,21 @@
//淇濆瓨鍘熺墖浣跨敤璇︽儏琛�
}
+ @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/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
index d2804e1..1a32fde 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/JsonFile/PlcLoadGlass.json
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/JsonFile/PlcLoadGlass.json
@@ -4,7 +4,7 @@
"dataType":"word",
"parameteInfor":[
{
- "codeId": "PlcToMes",
+ "codeId": "loadRequest",
"addressIndex":"0",
"addressLenght":"2",
"ratio":"1",
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 d148295..c4d40db 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
@@ -5,8 +5,11 @@
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
import com.mes.pp.mapper.OptimizeProjectMapper;
+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;
@@ -34,6 +37,10 @@
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,9 +55,18 @@
@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");
@@ -63,4 +79,14 @@
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