From ecde4b864d846fb68ecbfd562aa22286abfad9c4 Mon Sep 17 00:00:00 2001 From: 严智鑫 <test> Date: 星期五, 22 三月 2024 10:50:06 +0800 Subject: [PATCH] 表格导入(数据处理,页面调整);测量页面功能实现; --- springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java | 141 ++++++++++++++++++++++++++++++++++++----------- 1 files changed, 108 insertions(+), 33 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 14acc27..742d175 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 @@ -5,11 +5,13 @@ import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.example.springboot.common.Result; +import com.example.springboot.component.PLCAutoMes; import com.example.springboot.component.Plchome; import com.example.springboot.component.S7control; import com.example.springboot.entity.FlowCard; @@ -17,7 +19,9 @@ import com.example.springboot.entity.Queue; import com.example.springboot.entity.StorageCage; import com.example.springboot.entity.StorageTask; +import com.example.springboot.entity.device.PlcParameterObject; import com.example.springboot.mapper.HomeMapper; +import com.fasterxml.jackson.databind.ObjectMapper; @Service public class StorageCageService { @@ -236,83 +240,154 @@ return storageTasks; } - //鎵嬪姩瀹屾垚浠诲姟 + // 鎵嬪姩瀹屾垚浠诲姟 public Result FinishTask(Integer id) { - StorageTask storageTask = homeMapper.SelectStorageTaskById(id);//鑾峰彇浠诲姟淇℃伅 - homeMapper.FinishTask(storageTask.getId());//瀹屾垚浠诲姟 - if(storageTask.getTaskType().equals("0")){ - UpdateStroageCageByCell(Integer.parseInt(storageTask.getLoadrack()),1);//鐜荤拑鏁伴噺+1 - }else{ + StorageTask storageTask = homeMapper.SelectStorageTaskById(id);// 鑾峰彇浠诲姟淇℃伅 + homeMapper.FinishTask(storageTask.getId());// 瀹屾垚浠诲姟 + if (storageTask.getTaskType().equals("0")) { + UpdateStroageCageByCell(Integer.parseInt(storageTask.getLoadrack()), 1);// 鐜荤拑鏁伴噺+1 + } else { StorageCage storageCage = homeMapper.SelectStorageByCell(storageTask.getShelfRack()); - if(storageCage.getNumber()>1){ - UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()),-1);//鐜荤拑鏁伴噺-1 - }else{ - UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()),0);//娓呴櫎鏍煎唴淇℃伅 + if (storageCage.getNumber() > 1) { + UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()), -1);// 鐜荤拑鏁伴噺-1 + } else { + UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()), 0);// 娓呴櫎鏍煎唴淇℃伅 } - homeMapper.AddGlassNo(storageTask.getFlowcard(),storageTask.getMateid(),storageTask.geTier());//娣诲姞鍑虹墖瀹屾垚鏁伴噺 + homeMapper.AddGlassNo(storageTask.getFlowcard(), storageTask.getMateid(), storageTask.geTier());// 娣诲姞鍑虹墖瀹屾垚鏁伴噺 } Map<String, Object> map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } - - //鏌ヨ鐜荤拑淇℃伅 - 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) { + List<GlassInfo> glassInfoList = homeMapper.SelectGlassInfo(width, height, thickness, films); Map<String, Object> map = new HashMap<>(); map.put("StorageCageAddInfo", glassInfoList); return Result.success(map); } - //娣诲姞鐜荤拑鍒版牸瀛愬唴 - public Result StorageCageAddGlass(String cell,GlassInfo glassInfo) { - homeMapper.StorageCageAddGlass(cell,glassInfo); - UpdateStroageCageByCell(Integer.parseInt(cell),1); + // 娣诲姞鐜荤拑鍒版牸瀛愬唴 + public Result StorageCageAddGlass(String cell, GlassInfo glassInfo) { + homeMapper.StorageCageAddGlass(cell, glassInfo); + UpdateStroageCageByCell(Integer.parseInt(cell), 1); Map<String, Object> map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } - //鏌ヨ璁㈠崟浠诲姟 + // 鏌ヨ璁㈠崟浠诲姟 public List<FlowCard> SelectOrderTask() { - List<FlowCard> OrderTask=homeMapper.SelectOrderTask(); + List<FlowCard> OrderTask = homeMapper.SelectOrderTask(); for (FlowCard flowcard : OrderTask) { flowcard.setglassinfo(homeMapper.SelectOrderView(flowcard.getFlowcard())); } return OrderTask; } - //寮�濮嬩换鍔� + // 寮�濮嬩换鍔� public Result ClaimTasks(String flowcard, Integer state) { - if(state==1){ - homeMapper.ClaimTasks(flowcard,0); - }else{ - homeMapper.ClaimTasks(flowcard,1); + if (state == 1) { + homeMapper.ClaimTasks(flowcard, 0); + } else { + homeMapper.ClaimTasks(flowcard, 1); } Map<String, Object> map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } - //浠诲姟妯″紡淇敼 + // 浠诲姟妯″紡淇敼 public Result ModeChange(String flowcard, Integer method) { - if(method==1){ - homeMapper.ModeChange(flowcard,0); - }else{ - homeMapper.ModeChange(flowcard,1); + if (method == 1) { + homeMapper.ModeChange(flowcard, 0); + } else { + homeMapper.ModeChange(flowcard, 1); } Map<String, Object> map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } - //淇敼娴嬮噺淇℃伅 + // 淇敼娴嬮噺淇℃伅 public Result UpdateQueue(GlassInfo glassInfo) { - homeMapper.UpdateQueue(glassInfo.getFlowcard(),glassInfo.getWidth(),glassInfo.getHeight(),glassInfo.getGlasstype()); + homeMapper.UpdateQueue(glassInfo.getFlowcard(), glassInfo.getWidth(), glassInfo.getHeight(), + glassInfo.getGlasstype()); Map<String, Object> map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } + // 浜哄伐鎷胯蛋 + public Result ManualTake(String glassInfo) { + // 璇诲彇DB105鍖烘枃浠� + PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; + // 绉婚櫎 + // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), + // (short) 3); + // plcmes.getPlcParameter("GaToMES").setValue("3"); + Map<String, Object> map = new HashMap<>(); + map.put("message", "200"); + return Result.success(map); + } + + // 閲嶆柊娴嬮噺 + public Result AnewMeasure(String glassInfo) { + // 璇诲彇DB105鍖烘枃浠� + PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; + // 閲嶆柊娴嬮噺 + // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), + // (short) 2); + // plcmes.getPlcParameter("GaToMES").setValue("2"); + Map<String, Object> map = new HashMap<>(); + map.put("message", "200"); + return Result.success(map); + } + + // 娣诲姞灏忕墖淇℃伅 + public Result AddGlassinfo(List<Map> IportDataStr) { + + // 绛涢�夊鐞嗘暟鎹� 1.鍘婚櫎鏃犵敤鏁版嵁 2.璁$畻閰嶇墖ID 3.璁$畻ID 4. 璁$畻鎬诲眰鏁� + List<Map> TypeDatas = homeMapper.SelectType(); + Map<String, String> TypeData = new HashMap<String, String>();// 寰楀埌澶勭悊瀹屽悗鎵�鏈夌殑绫诲瀷 + + List<Map> RemoveErrorData = IportDataStr.stream() + .filter(item -> (item.get("order") != null && item.get("glasstype") != null && item.get("tier") != null + && + item.get("films") != null && item.get("base") != null && item.get("height") != null + && item.get("thickness") != null && item.get("quantity") != null)) + .collect(Collectors.toList()); + // 鍙栧嚭RemoveErrorData 閲岄潰鐨勫垪褰撲綔TypeData鐨刱ey + + TypeDatas.forEach(item -> { + TypeData.put(item.get("type").toString(), item.get("glasstype").toString()); + }); + + System.out.println(RemoveErrorData.size()); + // 澶勭悊瀹屾垚 娣诲姞鏁版嵁搴� + for (Map map : RemoveErrorData) { + // GlassInfo glassInfo = mapper.convertValue(map, GlassInfo.class); + + String key=map.get("base").toString()+"_"+map.get("height").toString()+"_"+map.get("thickness").toString()+"_"+map.get("films").toString(); + String value=TypeData.get(key); + Integer glasstype; + if (TypeData.get(key)==null) { + glasstype=homeMapper.SelectMaxType(); + }else{ + glasstype=Integer.valueOf(value); + } + homeMapper.AddGlassinfo(map.get("order").toString(), glasstype, + Integer.parseInt(map.get("glasstype").toString()) // 闇�瑕佽绠� 閰嶇墖ID + , map.get("glasstype").toString() // 闇�瑕佽绠� 鐜荤拑ID + , 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()), 1);// 闇�瑕佽绠楁�诲眰鏁� + } + Map<String, Object> ResultCode = new HashMap<>(); + ResultCode.put("message", "200"); + return Result.success(ResultCode); + } + } -- Gitblit v1.8.0