From 28ded8102d83cf74bc232d1cdfc89b7f22c41952 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期二, 03 十二月 2024 09:09:31 +0800
Subject: [PATCH] 增加点击防抖事件 增加笼子使用详情的计算优化。 增加数据推送时的报错处理 测量台交互逻辑增加 参数界面增加翻转加减速度
---
springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java | 288 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 236 insertions(+), 52 deletions(-)
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
index 401e8cf..0024a4c 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
@@ -22,6 +22,7 @@
import com.example.springboot.entity.StorageTask;
import com.example.springboot.entity.device.PlcParameterObject;
import com.example.springboot.mapper.AlbaniaMapper;
+import com.example.springboot.mapper.GlassInfoMapper;
import com.example.springboot.mapper.HomeMapper;
import com.example.springboot.mapper.QueueMapper;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -41,6 +42,8 @@
private SpianService spianService;
@Autowired
private AlbaniaMapper albaniaMapper;
+ @Autowired
+ private GlassInfoMapper glassInfoMapper;
public void EndTask(int types) {
String A01glassid1 = spianService.queGlassid("DB103.128", 14).toString();
@@ -225,13 +228,51 @@
// 澧炲姞/鍑忓皯鐞嗙墖绗肩幓鐠冩暟
public Result UpdateStroageCageByCell(Integer cell, Integer num) {
if (num == 0) {
- homeMapper.DeleteStroageCageByCell(cell);
+ int sumcell=albaniaMapper.SelectOutTasksum(cell);
+ if(sumcell==0){
+ homeMapper.DeleteStroageCageByCell(cell);
+ }
+ }else if(num==-1){
+ homeMapper.updateStroageCageByCell(cell, num);
} else {
homeMapper.updateStroageCageByCell(cell, num);
homeMapper.UpdateStroageCageWidthByCell(cell);// 淇敼绗煎瓙瀹藉害
}
Map<String, Object> map = new HashMap<>();
map.put("message", "200");
+ return Result.success(map);
+ }
+ // 鐣岄潰澧炲姞/鍑忓皯鐞嗙墖绗肩幓鐠冩暟
+ public Result UpdateStroageCageByCells(Integer cell, Integer num) {
+ if (num == 0) {
+ int sumcell=albaniaMapper.SelectOutTasksum(cell);
+ if(sumcell==0){
+ homeMapper.DeleteStroageCageByCell(cell);
+ }
+ } else {
+ homeMapper.updateStroageCageByCell(cell, num);
+ homeMapper.UpdateStroageCageWidthByCell(cell);// 淇敼绗煎瓙瀹藉害
+ }
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+ }
+
+
+ // 鎸囧畾鏍煎瓙鍑虹墖
+ public Result AddOutGlass(Integer cell, Integer glasstype) {
+ GlassInfo glass = albaniaMapper.SelectGlassInfo(glasstype);
+ Map<String, Object> map = new HashMap<>();
+ if (glass != null) {
+ albaniaMapper.AddFinishNumber(glass.getFlowcard(), glass.getMateid(), glass.getTier());
+ UpdateStroageCageByCell(cell, -1);// 鐜荤拑鏁伴噺-1
+ // 澧炲姞鍑虹墖闃熷垪鐨勪换鍔�
+ albaniaMapper.InsertOutTask(1, 0, cell, 2001, glass.getGlassid(),
+ glass.getGlasstype(), glass.getFlowcard(), glass.getMateid(), glass.getTier());
+ map.put("message", "200");
+ } else {
+ map.put("message", "300");
+ }
return Result.success(map);
}
@@ -250,49 +291,107 @@
} else {
loadrack = storageTask.getShelfRack();
}
- storageTask.setstorageCage(homeMapper.SelectStorageByCell(loadrack));
+ // storageTask.setstorageCage(homeMapper.SelectStorageByCell(loadrack));
+ storageTask.setstorageCage(homeMapper.SelectStorageByCellGlass(storageTask.getId()));
+
}
return storageTasks;
+ }
+
+ // 鏌ヨ鍑虹墖闃熷垪
+ public List<Map> SelectOutTask() {
+ return homeMapper.SelectOutTask();
+ }
+
+ // 鏌ヨ鍑虹墖闃熷垪
+ public List<Map> SelectOutLog() {
+ return homeMapper.SelectOutLog();
}
// 鏌ヨ杩�/鍑虹墖浠诲姟
public List<GlassInfo> SelectMeasure() {
return homeMapper.SelectMeasure();
}
- // 鏌ヨ褰撳墠鑶滅郴鍘氬害
- public MeasureSetting SelectSetting() {
+
+ // 鏌ヨ褰撳墠鑶滅郴鍘氬害
+ public MeasureSetting SelectSetting() {
return homeMapper.SelectMeasureSetting();
}
- // 鏌ヨ娴嬮噺瀹介珮鍘氳啘绯�
- public Map StorageCageForm() {
+
+ // 鏌ヨ娴嬮噺瀹介珮鍘氳啘绯�
+ public Map StorageCageForm() {
return homeMapper.SelectMeasureWidthHeight();
}
-
- // 鎵嬪姩瀹屾垚浠诲姟
- public Result FinishTask() {
+ // 鎵嬪姩缁撴潫浠诲姟
+ public Result TerminateTask(int id) {
+ PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
+ // 娓呴櫎浠诲姟鍦板潃
+ for (int i = 1; i < 7; i++) {
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCStart" + i).getAddress(), (short) 0);// 娓呴櫎浠诲姟鍦板潃
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCTarget" + i).getAddress(), (short) 0);// 娓呴櫎浠诲姟鍦板潃
+ }
+ System.out.println("缁撴潫浠诲姟鍦板潃");
for (int i = 1; i < 7; i++) {
int taskcont = albaniaMapper.SelectTaskcount(); // 姝e湪杩涜鐨勪换鍔℃暟閲�
- System.out.println("浠诲姟鏁伴噺:"+taskcont);
+ System.out.println("浠诲姟鏁伴噺:" + taskcont);
if (taskcont == 0) {
break;
}
StorageTask storageTask = homeMapper.SelectStorageTaskById();// 鑾峰彇浠诲姟淇℃伅
if (storageTask.getTaskType().equals("0")) {
- System.out.println("瀹屾垚杩涚墖浠诲姟:"+storageTask.getId());
- homeMapper.FinishTask(storageTask.getId(), 1);// 瀹屾垚浠诲姟
- UpdateStroageCageByCell(Integer.parseInt(storageTask.getLoadrack()), 1);// 鐜荤拑鏁伴噺+1
- homeMapper.DeletequeueByGlassid(storageTask.getGlassId());
- } else {
- System.out.println("瀹屾垚鍑虹墖浠诲姟:"+storageTask.getId());
- homeMapper.FinishTask(storageTask.getId(), 1);// 瀹屾垚浠诲姟
- StorageCage storageCage = homeMapper.SelectStorageByCell(storageTask.getShelfRack());
- if (storageCage.getNumber()==null||storageCage.getNumber() ==0) {
+ System.out.println("缁撴潫杩涚墖浠诲姟:" + storageTask.getId());
+ homeMapper.FinishTask(storageTask.getId(), 2);// 瀹屾垚浠诲姟
+ homeMapper.DeletequeueByGlassid(storageTask.getGlasstype().toString());
+ glassInfoMapper.updateGlassNumber(storageTask.getGlasstype());// 鍑忓皯鎵弿娆℃暟
+ StorageCage storageCage = homeMapper.SelectStorageByCell(storageTask.getLoadrack());
+ if (storageCage.getNumber() == null || storageCage.getNumber() == 0) {
UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()), 0);// 娓呴櫎鏍煎唴淇℃伅
}
- // homeMapper.AddGlassNo(storageTask.getFlowcard(), storageTask.getMateid(), storageTask.geTier());// 娣诲姞鍑虹墖瀹屾垚鏁伴噺
+ } else {
+ System.out.println("缁撴潫鍑虹墖浠诲姟:" + storageTask.getId());
+ homeMapper.FinishTask(storageTask.getId(), 2);// 瀹屾垚浠诲姟
+ UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()), 1);// 鐜荤拑鏁伴噺+1
+ homeMapper.OutGlassNo(storageTask.getGlasstype());// 杩樺師鍑虹墖瀹屾垚鏁伴噺
+ }
+ }
+ Map<String, Object> map = new HashMap<>();
+ return Result.success(map);
+ }
+
+ // 鎵嬪姩瀹屾垚浠诲姟
+ public Result FinishTask() {
+ PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
+ // 娓呴櫎浠诲姟鍦板潃
+ for (int i = 1; i < 7; i++) {
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCStart" + i).getAddress(), (short) 0);// 娓呴櫎浠诲姟鍦板潃
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCTarget" + i).getAddress(), (short) 0);// 娓呴櫎浠诲姟鍦板潃
+ }
+ System.out.println("缁撴潫浠诲姟鍦板潃");
+ for (int i = 1; i < 7; i++) {
+ int taskcont = albaniaMapper.SelectTaskcount(); // 姝e湪杩涜鐨勪换鍔℃暟閲�
+ System.out.println("浠诲姟鏁伴噺:" + taskcont);
+ if (taskcont == 0) {
+ break;
+ }
+ StorageTask storageTask = homeMapper.SelectStorageTaskById();// 鑾峰彇浠诲姟淇℃伅
+ if (storageTask.getTaskType().equals("0")) {
+ System.out.println("瀹屾垚杩涚墖浠诲姟:" + storageTask.getId());
+ homeMapper.FinishTask(storageTask.getId(), 1);// 瀹屾垚浠诲姟
+ UpdateStroageCageByCell(Integer.parseInt(storageTask.getLoadrack()), 1);// 鐜荤拑鏁伴噺+1
+ homeMapper.DeletequeueByGlassid(storageTask.getGlasstype().toString());
+ } else {
+ System.out.println("瀹屾垚鍑虹墖浠诲姟:" + storageTask.getId());
+ homeMapper.FinishTask(storageTask.getId(), 1);// 瀹屾垚浠诲姟
+ StorageCage storageCage = homeMapper.SelectStorageByCell(storageTask.getShelfRack());
+ if (storageCage.getNumber() == null || storageCage.getNumber() == 0) {
+ UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()), 0);// 娓呴櫎鏍煎唴淇℃伅
+ }
+ // homeMapper.AddGlassNo(storageTask.getFlowcard(), storageTask.getMateid(),
+ // storageTask.geTier());// 娣诲姞鍑虹墖瀹屾垚鏁伴噺
}
+
}
Map<String, Object> map = new HashMap<>();
map.put("message", "200");
@@ -303,18 +402,18 @@
public Result LoseTask() {
for (int i = 1; i < 7; i++) {
int taskcont = albaniaMapper.SelectTaskcount(); // 姝e湪杩涜鐨勪换鍔℃暟閲�
- System.out.println("浠诲姟鏁伴噺:"+taskcont);
+ System.out.println("浠诲姟鏁伴噺:" + taskcont);
if (taskcont == 0) {
break;
}
StorageTask storageTask = homeMapper.SelectStorageTaskById();// 鑾峰彇浠诲姟淇℃伅
if (storageTask.getTaskType().equals("0")) {
- System.out.println("瀹屾垚杩涚墖浠诲姟:"+storageTask.getId());
+ System.out.println("瀹屾垚杩涚墖浠诲姟:" + storageTask.getId());
homeMapper.FinishTask(storageTask.getId(), 1);// 瀹屾垚浠诲姟
UpdateStroageCageByCell(Integer.parseInt(storageTask.getLoadrack()), 1);// 鐜荤拑鏁伴噺+1
- homeMapper.DeletequeueByGlassid(storageTask.getGlassId());
+ homeMapper.DeletequeueByGlassid(storageTask.getGlasstype().toString());
} else {
- System.out.println("瀹屾垚鍑虹墖浠诲姟:"+storageTask.getId());
+ System.out.println("瀹屾垚鍑虹墖浠诲姟:" + storageTask.getId());
homeMapper.FinishTask(storageTask.getId(), 1);// 瀹屾垚浠诲姟
StorageCage storageCage = homeMapper.SelectStorageByCell(storageTask.getShelfRack());
if (storageCage.getNumber() > 1) {
@@ -332,8 +431,8 @@
}
// 鏌ヨ鐜荤拑淇℃伅
- public Result SelectGlassInfo(String width, String height, String thickness, String films) {
- List<GlassInfo> glassInfoList = homeMapper.SelectGlassInfo(width, height, thickness, films);
+ public Result SelectGlassInfo(String width, String height, String thickness, String films, String tier) {
+ List<GlassInfo> glassInfoList = homeMapper.SelectGlassInfo(width, height, thickness, films, tier);
Map<String, Object> map = new HashMap<>();
map.put("StorageCageAddInfo", glassInfoList);
return Result.success(map);
@@ -342,7 +441,7 @@
// 娣诲姞鐜荤拑鍒版牸瀛愬唴
public Result StorageCageAddGlass(String cell, GlassInfo glassInfo) {
homeMapper.StorageCageAddGlass(cell, glassInfo);
- UpdateStroageCageByCell(Integer.parseInt(cell), 1);
+ UpdateStroageCageByCells(Integer.parseInt(cell), 1);
Map<String, Object> map = new HashMap<>();
map.put("message", "200");
return Result.success(map);
@@ -387,16 +486,52 @@
return Result.success(map);
}
- // 淇敼娴嬮噺淇℃伅
+ // 鎵爜鍖归厤鎴愬姛
+ public int ScanMatch(String Order, Integer Mateid, Integer tier) {
+
+ GlassInfo glass = homeMapper.SelectCodeGlass(Order, Mateid, tier);
+ System.out.println("glass:" + glass);
+ System.out.println("order" + Order + "mateid" + Mateid + "tier" + tier);
+ if (glass == null) {
+ return 0;
+ } else {
+ int cont = QueueMapper.insertQueueCode(glass.getFlowcard(), glass.getGlassid(), glass.getMateid(),
+ glass.getGlasstype(), glass.getWidth(), glass.getHeight(), glass.getThickness());
+ glassInfoMapper.updatemeasurenumber(glass.getId());
+ return cont;
+ }
+ }
+
+ // 浜哄伐鍖归厤淇敼娴嬮噺淇℃伅
public Result UpdateQueue(GlassInfo glassInfo) {
// 鍒犻櫎鏁版嵁
- QueueMapper.DeleteQueue();
- homeMapper.AddQueue(glassInfo.getFlowcard(), glassInfo.getWidth(), glassInfo.getHeight(),
- glassInfo.getGlasstype(), glassInfo.getThickness(), glassInfo.getTier(),glassInfo.getMateid());
- Map<String, Object> map = new HashMap<>();
PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1);
- map.put("message", "200");
+ Map<String, Object> map = new HashMap<>();
+ QueueMapper.DeleteQueue();
+ String mestoplc = plcmes.getPlcParameter("MESToGaStatus").getValue();
+ String A02Plc = plcmes.getPlcParameter("GaToMES").getValue();
+ System.out.println("浜哄伐鍖归厤mestoplc:" + mestoplc);
+ // int count = homeMapper.SelectQueue();
+ if (("0".equals(mestoplc) && "0".equals(A02Plc)) || ("1".equals(A02Plc) && "4".equals(mestoplc))) {
+ // homeMapper.UpdateQueue(glassInfo.getFlowcard(), glassInfo.getWidth(),
+ // glassInfo.getHeight(),
+ // glassInfo.getGlasstype(), glassInfo.getThickness(), glassInfo.getTier(),
+ // glassInfo.getMateid());
+ homeMapper.AddQueue(glassInfo.getFlowcard(), glassInfo.getWidth(), glassInfo.getHeight(),
+ glassInfo.getGlasstype(), glassInfo.getThickness(), glassInfo.getTier(), glassInfo.getMateid());
+ glassInfoMapper.updatemeasurenumber(glassInfo.getId());
+ if ("0".equals(mestoplc)) {
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToA01").getAddress(), (short) 1);
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1);
+ System.out.println("鎻愬墠鍖归厤");
+ } else {
+ System.out.println("娴嬮噺鍖归厤");
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1);
+ }
+ map.put("message", "200");
+ } else {
+ map.put("message", "300");
+ }
return Result.success(map);
}
@@ -408,19 +543,40 @@
public Result ManualTake(String glassInfo) {
// 璇诲彇DB105鍖烘枃浠�
PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
- // 绉婚櫎
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 3);
- // 鍒犻櫎鏁版嵁
- QueueMapper.DeleteErrorQueue();
-
- // plcmes.getPlcParameter("GaToMES").setValue("3");
+ String A02Plc = plcmes.getPlcParameter("GaToMES").getValue();
+ String A01Plc = plcmes.getPlcParameter("A01ToMES").getValue();
+ String A02Mes = plcmes.getPlcParameter("MESToGaStatus").getValue();
Map<String, Object> map = new HashMap<>();
- map.put("message", "200");
+ // 绉婚櫎
+ if ("1".equals(A02Plc)||"2".equals(A02Plc)||"1".equals(A02Mes)) {
+ Queue queue = QueueMapper.selectLastQueue3();
+ if (queue != null) {
+ // 鍑忓皯鍖归厤娆℃暟
+ glassInfoMapper.updateGlassNumber(queue.getglasstype());
+ }
+ // 鍒犻櫎闃熷垪
+ QueueMapper.DeletefromQueue();
+ if("0".equals(A02Plc)){
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 0);
+ }else{
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 3);
+ }
+
+ System.out.println("浜哄伐鎷胯蛋A02Plc:" + A02Plc);
+ map.put("message", "200");
+ }else{
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToA01").getAddress(), (short) 3);
+ QueueMapper.DeletefromQueue();
+ map.put("message", "300");
+ System.out.println("浜哄伐鎷胯蛋A01Plc:" + A01Plc);
+ }
+ // plcmes.getPlcParameter("GaToMES").setValue("3");
+
return Result.success(map);
}
// 寮�濮嬩笂鐗�
- public Result StartChange(String flowcard,int orderstate) {
+ public Result StartChange(String flowcard, int orderstate) {
homeMapper.StartChange(flowcard, orderstate);
Map<String, Object> map = new HashMap<>();
int state = homeMapper.selectStartChange(flowcard);
@@ -428,14 +584,37 @@
return Result.success(map);
}
+ // 寮�濮�/鏆傚仠鍑虹墖闃熷垪
+ public Result UpdateOutTask(Integer id, Integer state) {
+ homeMapper.UpdateOutTask(id, state);
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+ }
+
+ // 鍒犻櫎鍑虹墖闃熷垪
+ public Result DeleteOutTask(Integer id) {
+ int cell = homeMapper.SelectOutTaskId(id);
+ UpdateStroageCageByCell(cell, 1);// 鐜荤拑鏁伴噺+1
+ homeMapper.DeleteOutTask(id);
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+ }
+
// 鍒犻櫎宸ョ▼
public Result deleteTasks(Map num) {
- String flowcard = (String) num.get("num");
- int aa = homeMapper.deleteFlowcard(flowcard.trim());
- homeMapper.deleteGlassinfo(flowcard.trim());
- System.out.println(flowcard);
Map<String, Object> map = new HashMap<>();
- map.put("message", flowcard.trim());
+ String flowcard = (String) num.get("num");
+ int cagenum=homeMapper.selectflowcardCage(flowcard);
+ if(cagenum==0){
+ int aa = homeMapper.deleteFlowcard(flowcard.trim());
+ map.put("message","200");
+ homeMapper.deleteGlassinfo(flowcard.trim());
+ }else{
+ map.put("message", "300");
+ }
+ System.out.println("鍒犻櫎宸ョ▼"+flowcard);
return Result.success(map);
}
@@ -452,7 +631,10 @@
// 璇诲彇DB105鍖烘枃浠�
PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
// 閲嶆柊娴嬮噺
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 2);
+ String PlcRequest = plcmes.getPlcParameter("GaToMES").getValue();// plc璇锋眰瀛�
+ if ("1".equals(PlcRequest)) {
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 2);
+ }
// 鍒犻櫎鏁版嵁
QueueMapper.DeleteErrorQueue();
// plcmes.getPlcParameter("GaToMES").setValue("2");
@@ -510,8 +692,8 @@
int count = 1;
for (Map map : RemoveErrorData) {
String key = map.get("base").toString() + "_" + map.get("height").toString() + "_"
- + map.get("thickness").toString() + "_" + map.get("films").toString()+ "_" + map.get("order").toString();
-
+ + map.get("thickness").toString() + "_" + map.get("films").toString() + "_"
+ + map.get("order").toString() + "_" + map.get("matching").toString() + map.get("tier").toString();
String tierkey = map.get("order").toString() + "_" + map.get("matching").toString();
String value = TypeData.get(key);
@@ -536,9 +718,11 @@
, Integer.parseInt(map.get("tier").toString()), map.get("films").toString(),
Double.parseDouble(map.get("base").toString()), Double.parseDouble(map.get("height").toString()),
Double.parseDouble(map.get("thickness").toString()),
- Integer.parseInt(map.get("quantity").toString()), groupby.get(tierkey));// 闇�瑕佽绠楁�诲眰鏁�
+ Integer.parseInt(map.get("quantity").toString()), groupby.get(tierkey),
+ map.get("Customer").toString());// 闇�瑕佽绠楁�诲眰鏁�
// 璁㈠崟鍐呮�诲眰鏁�
- homeMapper.InsertFlowcard(map.get("order").toString(), OrderFinishedProduct.get(tierkey + "_Sum"));
+ homeMapper.InsertFlowcard(map.get("order").toString(), OrderFinishedProduct.get(tierkey + "_Sum"),
+ map.get("Customer").toString());
count++;
}
Map<String, Object> ResultCode = new HashMap<>();
--
Gitblit v1.8.0