From a5e6584d1363b6d2754bd3abd9e7d288a05330df Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期二, 29 七月 2025 15:42:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jxgtasrs' into jxgtasrs
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 112 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index f81a2ea..caac500 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -8,6 +8,7 @@
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.*;
+import com.zy.asrs.entity.vo.AgvSiteListVo;
import com.zy.asrs.mapper.BasDevpMapper;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
@@ -83,6 +84,8 @@
@Resource
private BasDevpMapper basDevpMapper;
+ @Autowired
+ private AgvSiteService agvSiteService;
@Override
public R inLocCallAgv(String sta, String inSta) {
@@ -222,6 +225,58 @@
}
}
return success ? R.ok("瑙g粦鎴愬姛") : R.parse(message);
+ }
+
+ public boolean sendAgvTask(String org,String tar){
+
+ ForwardAGVTaskParam forwardAGVTaskParam = new ForwardAGVTaskParam();
+ forwardAGVTaskParam.setReqCode(UUID.randomUUID().toString().replace("-", ""));
+ forwardAGVTaskParam.setClientCode("IWMS");
+ forwardAGVTaskParam.setTaskTyp("GT3");
+ forwardAGVTaskParam.setCtnrTyp("2");
+ forwardAGVTaskParam.setPriority("1");
+ List<ForwardAGVTaskParam.PositionCodePaths> positionCodePathsList = new ArrayList<>();
+ positionCodePathsList.add(new ForwardAGVTaskParam.PositionCodePaths(org, "05"));
+ positionCodePathsList.add(new ForwardAGVTaskParam.PositionCodePaths(tar, "05"));
+ forwardAGVTaskParam.setPositionCodePath(positionCodePathsList);
+
+ String body = JSON.toJSONString(forwardAGVTaskParam);
+ String response = "";
+ String message = "";
+ boolean success = false;
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(ApiInterfaceConstant.AGV_IP)
+ .setPath(ApiInterfaceConstant.AGV_CALL_IN_PATH)
+ .setJson(body)
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(0)) {
+ success = true;
+ } else {
+
+ log.error("鍛煎彨agv澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", ApiInterfaceConstant.AGV_IP + ApiInterfaceConstant.AGV_CALL_IN_PATH, body, response);
+ }
+ } catch (Exception e) {
+ log.error("鍏ュ簱鍛煎彨agv寮傚父", e);
+ } finally {
+ try {
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ apiLogService.save(
+ "鍏ュ簱鍛煎彨agv",
+ ApiInterfaceConstant.AGV_IP + ApiInterfaceConstant.AGV_CALL_IN_PATH,
+ null,
+ "127.0.0.1",
+ body,
+ response,
+ success
+ );
+ } catch (Exception e) {
+ log.error("", e);
+ }
+ }
+ return success;
}
private boolean bindPodAndBerth(String sta) {
@@ -1223,6 +1278,63 @@
}
+ @Override
+ public R siteList() {
+ List<AgvSite> agvSites = agvSiteService.selectList(new EntityWrapper<AgvSite>().eq("status", 1));
+ ArrayList<AgvSiteListVo> agvSiteListVos = new ArrayList<>();
+ for (AgvSite agvSite : agvSites) {
+ AgvSiteListVo agvSiteListVo = new AgvSiteListVo();
+ agvSiteListVo.setAgvSite(agvSite);
+ if (Cools.isEmpty(agvSite.getWorkNo())){
+ continue;
+ }
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", agvSite.getWorkNo()));
+ if (null == wrkMast){
+ continue;
+ }
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", agvSite.getWorkNo()));
+ agvSiteListVo.setWrkDetls(wrkDetls);
+ agvSiteListVos.add(agvSiteListVo);
+ }
+ return R.ok(agvSiteListVos);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R lineCall(Map<String, Object> map) {
+ String orgSite = map.get("orgSite").toString();
+ String tarSite = map.get("tarSite").toString();
+ if (Cools.isEmpty(orgSite) || Cools.isEmpty(tarSite)) {
+ return R.error("鏁版嵁涓虹┖");
+ }
+ AgvSite orgAgvSite = agvSiteService.selectOne(new EntityWrapper<AgvSite>().eq("name", orgSite));
+
+ AgvSite tarAgvSite = agvSiteService.selectOne(new EntityWrapper<AgvSite>().eq("name", tarSite));
+ if (Cools.isEmpty(orgAgvSite) || Cools.isEmpty(tarAgvSite)) {
+ return R.error("绔欑偣鏁版嵁閿欒");
+ }
+
+ //鏇存柊tar绔欑偣鐘舵��
+ tarAgvSite.setWorkNo(orgAgvSite.getWorkNo());
+ tarAgvSite.setStatus(2);
+ if (!agvSiteService.updateById(tarAgvSite)){
+ throw new CoolException("鍙枡绔欐洿鏂板け璐�");
+ }
+ //鏇存柊org绔欑偣鐘舵��
+ orgAgvSite.setStatus(2);
+ if (!agvSiteService.updateById(orgAgvSite)){
+ throw new CoolException("婧愮珯鏇存柊澶辫触");
+ }
+
+ //鍛煎彨agv
+// boolean success = sendAgvTask(orgSite, tarSite);
+// if (!success){
+// throw new CoolException("鍛煎彨agv澶辫触");
+// }
+
+ return R.ok();
+ }
+
public void uploadErp(InventoryErpParam param){
String response = "";
boolean success = false;
--
Gitblit v1.9.1