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