From 6efef82561e2cf14f09871d63e1581c6174cfe10 Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期三, 25 六月 2025 15:01:53 +0800 Subject: [PATCH] 第二版本 --- src/main/java/com/zy/asrs/task/newWay/AssignTasksToRCSScheduler.java | 1 src/main/java/com/zy/asrs/controller/OpenController.java | 29 +-------- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 4 src/main/java/com/zy/asrs/entity/WrkMast.java | 2 src/main/java/com/zy/asrs/task/WorkMastScheduler.java | 10 +++ src/main/java/com/zy/asrs/controller/MobileController.java | 57 +++++++++---------- src/main/java/com/zy/asrs/task/newWay/handler/AssignTasksToRCSHandler.java | 63 +++++++++++---------- src/main/resources/application.yml | 6 +- 8 files changed, 78 insertions(+), 94 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java index 75264dd..2955095 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import javax.xml.crypto.Data; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; @@ -350,11 +351,12 @@ public R AGVSite(@RequestParam(required = false) String locNo){ HashMap<Integer,String> map=new HashMap<>(); map.put(100,"100-鍏ュ簱鍙�"); - map.put(1000,"1000-琛ョ┖鏉垮彛"); + map.put(1001,"1000-琛ョ┖鏉垮彛"); map.put(2001,"2001-鍑哄簱鍙�1"); map.put(2002,"2002-鍑哄簱鍙�2"); map.put(3001,"3001-浣滀笟鍙�1"); map.put(3002,"3002-浣滀笟鍙�2"); + map.put(4001,"4001-涓嶅悎鏍�"); map.remove(Integer.parseInt(locNo)); return R.ok(map); } @@ -368,37 +370,28 @@ @RequestMapping("/AGVMove") public R AGVMove(@RequestParam(required = false) String sourceStaNo ,@RequestParam(required = false) String staNo){ - RCSParam rcsParam = new RCSParam(); LocalDateTime now = LocalDateTime.now(); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃� HH:mm:ss"); + String noww=new Date().getTime()+""; + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedDate = now.format(formatter); // 鏍煎紡鍖栨棩鏈熸椂闂� - //缃戠粶娴佹按鍙� - rcsParam.setReqId(now.toString()); - //搴旂敤鏍囪瘑 - rcsParam.setClientId("WMS"); - //閫氱煡鏃堕棿 - rcsParam.setReqTime(formattedDate); - RCSParam.DataBody dataBody=new RCSParam.DataBody(); - //浠诲姟鍙� - dataBody.setId(formattedDate); - List<RCSParam.TaskBody> taskBodyList=new ArrayList<>(); - RCSParam.TaskBody taskBody=new RCSParam.TaskBody(); - //鍙栬揣绫诲瀷 - taskBody.setType("load"); - taskBody.setStation(sourceStaNo); - taskBodyList.add(taskBody); + LinkedHashMap<String,Object> rcsParam=new LinkedHashMap<>(); + rcsParam.put("task_id",noww); + rcsParam.put("start_location",sourceStaNo); + rcsParam.put("start_site_level",1); + rcsParam.put("start_command",1); + rcsParam.put("target_location",staNo); + rcsParam.put("target_site_level",1); + rcsParam.put("target_command",2); + rcsParam.put("priority",1); + rcsParam.put("robot_type",3);//杞� 杈� 绫� 鍨� 0:XC 1:XCD 2:XP_T 3:XP_L + rcsParam.put("MoverID","XS1"); - RCSParam.TaskBody taskBody1=new RCSParam.TaskBody(); - //鏀捐揣绫诲瀷 - taskBody1.setType("unload"); - taskBody1.setStation(staNo); - taskBodyList.add(taskBody1); - - dataBody.setTasks(taskBodyList); - rcsParam.setData(dataBody); + LinkedHashMap<String,Object> map=new LinkedHashMap<>(); + map.put("data",rcsParam); String response =""; Boolean bool =false; + String msg = ""; try { log.info("wms娲惧彂鎼繍浠诲姟缁橝GV鎼繍={}", rcsParam); @@ -406,12 +399,16 @@ // .setHeaders(headParam) .setUri(url) .setPath(attrcs) - .setJson(JSON.toJSONString(rcsParam)) + .setJson(JSON.toJSONString(map)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); - if(jsonObject.getBoolean("IsSuccess")){ + JSONObject data = jsonObject.getJSONObject("data"); + JSONObject errInfo = jsonObject.getJSONObject("err_info"); + if(data.getInteger("result")==0){ bool = true; + }else{ + msg=errInfo.getString("err_msg"); } } catch (Exception e) { log.error("wms娲惧彂鎼繍浠诲姟缁橝GV鎼繍澶辫触杩斿洖鍊�={}", response); @@ -420,7 +417,7 @@ , url + attrcs , null , "127.0.0.1" - , JSON.toJSONString(rcsParam) + , JSON.toJSONString(map) , response , bool ); @@ -428,7 +425,7 @@ if(bool){ return R.ok(); }else { - return R.error("涓嬪彂浠诲姟澶辫触"); + return R.error(msg); } } diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index b0b802a..79ff227 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -213,33 +213,10 @@ /*********************************RCS浠诲姟缁撴潫鎺ュ彛****************************************************/ /** - * 搴撳瓨缁熻 + * RCS 浠诲姟鍙嶉 */ @RequestMapping("/taskOver") - public HashMap taskOver(@RequestBody HashMap<String,Object> param) { - HashMap map = new HashMap(); - Map<String ,Object > map1 = (Map<String, Object>)param.get("Data"); - - String id = (String) map1.get("Id"); - String status = (String) map1.get("Status"); - if (!status.equals("finished_manual")){ - map.put("IsSuccess", true); - return map; - } - WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no",Integer.valueOf(id))); - if (wrkMast == null) { - map.put("IsSuccess", false); - map.put("ErrorCode","1"); - map.put("Message","娌℃湁鎵惧埌璇ヤ换鍔″彿:"+id); - return map; - } - if(wrkMast.getIoType()==101||wrkMast.getIoType()==110){ - wrkMast.setWrkSts(15L);//鎼繍瀹屾垚锛屼换鍔¤浆鍘嗗彶妗� - }else if(wrkMast.getIoType()==103||wrkMast.getIoType()==107){ - wrkMast.setWrkSts(14L);//鎼繍瀹屾垚,浠诲姟鐘舵�佸洖鍒�14 - } - wrkMastService.updateById(wrkMast); - map.put("IsSuccess", true); - return map; + public void taskOver(@RequestBody HashMap<String,Object> param) { + log.info("RCS浠诲姟鍙嶉={}",param); } } diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java index e73d01a..50b268b 100644 --- a/src/main/java/com/zy/asrs/entity/WrkMast.java +++ b/src/main/java/com/zy/asrs/entity/WrkMast.java @@ -243,7 +243,7 @@ @TableField("appe_time") private Date appeTime; - @ApiModelProperty(value= "") + @ApiModelProperty(value= "RCS浠诲姟鍙�") @TableField("pause_mk") private String pauseMk; diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index f1814fa..6e140cc 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -247,8 +247,8 @@ wrkMast.setAppeTime(now); wrkMast.setModiUser(userId); wrkMast.setModiTime(now); - if(outSta==2000){ - wrkMast.setMemo("2000"); + if(outSta>199){ + wrkMast.setMemo(outSta+""); } if (!wrkMastService.insert(wrkMast)) { throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+dto.getLocNo()); diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java index 2615993..0a92339 100644 --- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java +++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java @@ -35,8 +35,16 @@ @Scheduled(cron = "0/3 * * * * ? ") private void execute() { + //鎷f枡鐩樼偣浠诲姟涓嬪彂 + WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().in("io_type",107,103).eq("wrk_sts",14).isNull("error_memo")); + if (!Cools.isEmpty(wrkMast1)) { + wrkMast1.setWrkSts(30L); + wrkMastService.updateById(wrkMast1); + } List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData(); - + if (wrkMasts.isEmpty()) { + return; + } for (WrkMast wrkMast : wrkMasts) { ReturnT<String> returnT = workMastHandler.start(wrkMast); if (!returnT.isSuccess()) { diff --git a/src/main/java/com/zy/asrs/task/newWay/AssignTasksToRCSScheduler.java b/src/main/java/com/zy/asrs/task/newWay/AssignTasksToRCSScheduler.java index e5a8645..5f076eb 100644 --- a/src/main/java/com/zy/asrs/task/newWay/AssignTasksToRCSScheduler.java +++ b/src/main/java/com/zy/asrs/task/newWay/AssignTasksToRCSScheduler.java @@ -42,7 +42,6 @@ ReturnT<String> returnT = assignTasksToRCSHandler.start(wrkMast); if (!returnT.isSuccess()) { wrkMast.setUpdMk("X"); - wrkMast.setErrorMemo(returnT.getMsg()); wrkMast.setErrorTime(new Date()); if (!wrkMastService.updateById(wrkMast)) { log.error("宸ヤ綔妗workNo={}]鏍囪寰呭鐞嗗け璐�", wrkMast.getWrkNo()); diff --git a/src/main/java/com/zy/asrs/task/newWay/handler/AssignTasksToRCSHandler.java b/src/main/java/com/zy/asrs/task/newWay/handler/AssignTasksToRCSHandler.java index c5df7f8..645bdfc 100644 --- a/src/main/java/com/zy/asrs/task/newWay/handler/AssignTasksToRCSHandler.java +++ b/src/main/java/com/zy/asrs/task/newWay/handler/AssignTasksToRCSHandler.java @@ -19,6 +19,7 @@ import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Date; +import java.util.LinkedHashMap; import java.util.List; @Slf4j @@ -35,61 +36,63 @@ private String attrcs; public ReturnT<String> start(WrkMast wrkMast) { - RCSParam rcsParam = new RCSParam(); LocalDateTime now = LocalDateTime.now(); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃� HH:mm:ss"); + String noww="bb" + new Date().getTime(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedDate = now.format(formatter); // 鏍煎紡鍖栨棩鏈熸椂闂� - //缃戠粶娴佹按鍙� - rcsParam.setReqId(now.toString()); - //搴旂敤鏍囪瘑 - rcsParam.setClientId("WMS"); - //閫氱煡鏃堕棿 - rcsParam.setReqTime(formattedDate); - RCSParam.DataBody dataBody=new RCSParam.DataBody(); - //浠诲姟鍙� - dataBody.setId(wrkMast.getWrkNo()+""); - List<RCSParam.TaskBody> taskBodyList=new ArrayList<>(); - RCSParam.TaskBody taskBody=new RCSParam.TaskBody(); - //鍙栬揣绫诲瀷 - taskBody.setType("load"); - taskBody.setStation(wrkMast.getStaNo()+""); - taskBodyList.add(taskBody); + LinkedHashMap<String,Object> rcsParam=new LinkedHashMap<>(); + rcsParam.put("task_id",noww); + rcsParam.put("start_location","102"); + rcsParam.put("start_site_level",1); + rcsParam.put("start_command",1); + rcsParam.put("target_location",wrkMast.getMemo()); + rcsParam.put("target_site_level",1); + rcsParam.put("target_command",2); + rcsParam.put("priority",1); + rcsParam.put("robot_type",3);//杞� 杈� 绫� 鍨� 0:XC 1:XCD 2:XP_T 3:XP_L + rcsParam.put("MoverID","XS1"); - RCSParam.TaskBody taskBody1=new RCSParam.TaskBody(); - //鏀捐揣绫诲瀷 - taskBody1.setType("unload"); - taskBody1.setStation(wrkMast.getMemo()); - taskBodyList.add(taskBody1); - - dataBody.setTasks(taskBodyList); - rcsParam.setData(dataBody); + LinkedHashMap<String,Object> map=new LinkedHashMap<>(); + map.put("data",rcsParam); String response =""; Boolean bool =false; + String msg = ""; + wrkMast.setPauseMk(noww); try { log.info("wms娲惧彂鎼繍浠诲姟缁橝GV鎼繍={}", rcsParam); response = new HttpHandler.Builder() // .setHeaders(headParam) .setUri(url) .setPath(attrcs) - .setJson(JSON.toJSONString(rcsParam)) + .setJson(JSON.toJSONString(map)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); - if(jsonObject.getBoolean("IsSuccess")){ - wrkMast.setWrkSts(15L);//WMS涓嬪彂鎼繍浠诲姟缁橰CS鎴愬姛,杞巻鍙叉。 + JSONObject data = jsonObject.getJSONObject("data"); + JSONObject errInfo = jsonObject.getJSONObject("err_info"); + if(data.getInteger("result")==0){ + if(wrkMast.getIoType()==103||wrkMast.getIoType()==107){ + wrkMast.setWrkSts(16L);//寰呭洖搴� + }else{ + wrkMast.setWrkSts(15L);//涓嬪彂RCS-鎴愬姛 + } + + wrkMast.setErrorMemo(noww); wrkMastService.updateById(wrkMast); bool = true; + }else{ + msg=errInfo.getString("err_msg"); } } catch (Exception e) { - log.error("wms娲惧彂鎼繍浠诲姟缁橝GV鎼繍澶辫触{},杩斿洖鍊�={}", wrkMast, response); + log.error("wms娲惧彂鎼繍浠诲姟缁橝GV鎼繍澶辫触杩斿洖鍊�={}", response); } finally { apiLogService.save("wms娲惧彂鎼繍浠诲姟缁橝GV鎼繍" , url + attrcs , null , "127.0.0.1" - , JSON.toJSONString(rcsParam) + , JSON.toJSONString(map) , response , bool ); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 86c927e..f740d25 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -10,7 +10,7 @@ enabled: false datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver - url: jdbc:sqlserver://127.0.0.1:50948;databasename=dlzasrs + url: jdbc:sqlserver://178.18.1.200:1433;databasename=jxtlfasrs-yclk username: sa password: sa@123 mvc: @@ -71,6 +71,6 @@ #RCS rcs: address: - url: http://192.168.3.102:16001 + url: http://178.18.1.220:50001 #浠诲姟涓嬪彂鍦板潃 - attrcs: 3CLOUD/Kingdee.BOS.WebApi.ServicesStub. \ No newline at end of file + attrcs: rbrainrobot/create_task \ No newline at end of file -- Gitblit v1.9.1