From 4647be24b04e5b1a5ece2aecadcf43afb8cd6eb6 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 03 九月 2025 09:33:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 100 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 85 insertions(+), 15 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 caac500..fe1731c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -87,6 +87,59 @@
@Autowired
private AgvSiteService agvSiteService;
+
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void AgvStaBind(CombParam param,Long userId) {
+ AgvSite agvSite = agvSiteService.selectOne(new EntityWrapper<AgvSite>().eq("name", param.getBarcode()));
+ if (Cools.isEmpty(agvSite)){
+ throw new CoolException("鏈壘鍒癆GV鏆傚瓨浣嶄俊鎭�");
+ }
+ if (agvSite.getStatus() != 0){
+ throw new CoolException("AGV鏆傚瓨浣嶇姸鎬佷笉涓虹┖闂�");
+ }
+
+ int workNo = commonService.getWorkNo(1);
+ Date now = new Date();
+ WrkMast wrkMast1 = new WrkMast();
+ wrkMast1.setWrkNo(workNo);
+ wrkMast1.setWrkSts(2L);
+ wrkMast1.setIoType(300);
+ wrkMast1.setIoTime(now);
+ wrkMast1.setIoPri(13D); // 浼樺厛绾э細13
+ wrkMast1.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast1.setPicking("N"); // 鎷f枡
+ wrkMast1.setExitMk("N"); // 閫�鍑�
+ wrkMast1.setEmptyMk("N"); // 绌烘澘
+ wrkMast1.setLinkMis("N");
+ wrkMast1.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast1.setAppeTime(now);
+ wrkMast1.setModiUser(userId);
+ wrkMast1.setModiTime(now);
+ wrkMast1.setBarcode(param.getBarcode());
+ if (!wrkMastService.insert(wrkMast1)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 鐢熸垚宸ヤ綔妗f槑缁�
+ param.getCombMats().forEach(waitPakin -> {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(waitPakin);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(now);
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiTime(now);
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+ });
+
+ agvSite.setWorkNo(workNo);
+ agvSite.setStatus(1);
+ agvSiteService.updateById(agvSite);
+
+ }
+
@Override
public R inLocCallAgv(String sta, String inSta) {
@@ -107,6 +160,10 @@
break;
case "3010":
wrapper.in("source_sta_no", "3013", "3014");
+ break;
+ case "1000":
+ case "1035":
+ wrapper.in("source_sta_no", "1024", "1028");
break;
default:
}
@@ -148,8 +205,11 @@
if (jsonObject.getInteger("code").equals(0)) {
success = true;
// 鍏ュ簱鏆傚瓨+1
- basDevp.setInQty(basDevp.getInQty() + 1);
- basDevpMapper.updateById(basDevp);
+ if (!inSta.equals("1000") && !inSta.equals("1035")){
+ basDevp.setInQty(basDevp.getInQty() + 1);
+ basDevpMapper.updateById(basDevp);
+ }
+
} else {
message = jsonObject.getString("message");
log.error("鍏ュ簱鍛煎彨agv澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", ApiInterfaceConstant.AGV_IP + ApiInterfaceConstant.AGV_CALL_IN_PATH, body, response);
@@ -1280,7 +1340,7 @@
@Override
public R siteList() {
- List<AgvSite> agvSites = agvSiteService.selectList(new EntityWrapper<AgvSite>().eq("status", 1));
+ List<AgvSite> agvSites = agvSiteService.selectList(new EntityWrapper<AgvSite>());
ArrayList<AgvSiteListVo> agvSiteListVos = new ArrayList<>();
for (AgvSite agvSite : agvSites) {
AgvSiteListVo agvSiteListVo = new AgvSiteListVo();
@@ -1309,32 +1369,42 @@
}
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)) {
+// AgvSite tarAgvSite = agvSiteService.selectOne(new EntityWrapper<AgvSite>().eq("name", tarSite));
+ if (Cools.isEmpty(orgAgvSite)) {
return R.error("绔欑偣鏁版嵁閿欒");
}
//鏇存柊tar绔欑偣鐘舵��
- tarAgvSite.setWorkNo(orgAgvSite.getWorkNo());
- tarAgvSite.setStatus(2);
- if (!agvSiteService.updateById(tarAgvSite)){
- throw new CoolException("鍙枡绔欐洿鏂板け璐�");
+// tarAgvSite.setWorkNo(orgAgvSite.getWorkNo());
+// tarAgvSite.setStatus(2);
+// if (!agvSiteService.updateById(tarAgvSite)){
+// throw new CoolException("鍙枡绔欐洿鏂板け璐�");
+// }
+ WrkMast wrkMast = wrkMastService.selectById(orgAgvSite.getWorkNo());
+ if (!Cools.isEmpty(wrkMast)){
+ wrkMast.setWrkSts(5L);
+ wrkMastService.updateById(wrkMast);
}
+
//鏇存柊org绔欑偣鐘舵��
- orgAgvSite.setStatus(2);
+ orgAgvSite.setStatus(0);
+ orgAgvSite.setWorkNo(null);
if (!agvSiteService.updateById(orgAgvSite)){
throw new CoolException("婧愮珯鏇存柊澶辫触");
}
- //鍛煎彨agv
-// boolean success = sendAgvTask(orgSite, tarSite);
-// if (!success){
-// throw new CoolException("鍛煎彨agv澶辫触");
-// }
+
+
+// 鍛煎彨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