From b885f63a2990ece741fc6db5c55aeeae673062b3 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期二, 24 十月 2023 17:22:31 +0800
Subject: [PATCH] 输送线到AGV流程
---
src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java | 3
src/main/java/com/zy/asrs/service/AgvWrkMastService.java | 4
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 91 +++++++++++++++++-----
src/main/java/com/zy/asrs/controller/AgvOpenController.java | 6 +
src/main/java/com/zy/asrs/controller/AgvWrkMastController.java | 2
src/main/java/com/zy/asrs/controller/AgvWorkController.java | 2
src/main/java/com/zy/asrs/controller/MobileController.java | 13 +++
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 29 +++++-
src/main/java/com/zy/common/web/WcsController.java | 3
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 25 ++++-
src/main/java/com/zy/asrs/controller/AgvMobileController.java | 2
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 20 +++--
src/main/java/com/zy/asrs/service/AgvWorkService.java | 2
src/main/resources/application.yml | 5
14 files changed, 155 insertions(+), 52 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 4e751e0..d1bd0b8 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -79,7 +79,7 @@
return agvBasDevpService.selectById(devNo);
}).collect(Collectors.toList());
- workService.createWaitPainWrkMastStart(agvBasDevpList, getUserId());
+ workService.createWaitPainWrkMastStart(agvBasDevpList, getUserId(),false);
return R.ok("鐢熸垚宸ヤ綔妗f垚鍔�");
}
diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index 4c6a853..a02a99c 100644
--- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -26,6 +26,7 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.EnumSet;
+import java.util.Map;
/**
* 涓婃姤浜嬩欢绫诲瀷锛坋ventType锛夛細
@@ -97,7 +98,12 @@
return R.ok();
}
+ @PostMapping("/conveyor/loadContainerFinish ")
+ @AppAuth(memo = "鍙栧鍣ㄥ畬鎴愰�氱煡")
+ public R loadContainerFinish(@RequestBody Map<String,Object> params){
+ return R.ok();
+ }
}
enum AgvTask{
diff --git a/src/main/java/com/zy/asrs/controller/AgvWorkController.java b/src/main/java/com/zy/asrs/controller/AgvWorkController.java
index 8fe7e30..f7aca3d 100644
--- a/src/main/java/com/zy/asrs/controller/AgvWorkController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvWorkController.java
@@ -29,7 +29,7 @@
List<AgvBasDevp> agvBasDevpList = JSONArray.parseArray(param, AgvBasDevp.class);
- workService.createWaitPainWrkMastStart(agvBasDevpList, getUserId());
+ workService.createWaitPainWrkMastStart(agvBasDevpList, getUserId(),false);
//return R.ok("浠诲姟鍙凤細" + startupDto.getWorkNo() + ";鐩爣搴撲綅锛�" + startupDto.getLocNo());
return R.ok("鐢熸垚鍏ュ簱宸ヤ綔妗f垚鍔�");
}
diff --git a/src/main/java/com/zy/asrs/controller/AgvWrkMastController.java b/src/main/java/com/zy/asrs/controller/AgvWrkMastController.java
index b72a706..56c60df 100644
--- a/src/main/java/com/zy/asrs/controller/AgvWrkMastController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvWrkMastController.java
@@ -167,7 +167,7 @@
}
int startWrkCode = agvWrkMastService.startWrk(agvWrkMastList,"putaway");
- int code = agvWrkMastService.containerMove(agvWrkMastList);
+ int code = agvWrkMastService.containerMoveIn(agvWrkMastList);
if(code == 0){
agvWrkMastList.forEach(agvWrkMast -> {
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 441eef3..d23ef8b 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -425,10 +425,21 @@
/*
骞冲簱绉诲簱
*/
+ @RequestMapping("/node/move/start")
+ public R nodeMoveStart(@RequestParam String sourceLocNo, @RequestParam String targetLocNo){
+
+ return R.ok();
+ }
/*
-
+ 骞冲簱搴撳尯鎷f枡淇℃伅
*/
+ @RequestMapping("/node/order/pakout")
+ public R nodeOrderPakout(@RequestParam String locType){
+
+
+ return R.ok();
+ }
}
diff --git a/src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java
index b531382..70ffb2d 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvWrkMastMapper.java
@@ -15,11 +15,12 @@
"source_loc_no," +
"loc_no," +
"barcode," +
+ "mk," +
"appe_user," +
"appe_time," +
"modi_user," +
"modi_time) " +
- "VALUES(#{wrkSts},#{ioType},#{ioTime},#{ioPri},#{sourceLocNo},#{locNo},#{barcode},#{appeUser},#{appeTime},#{modiUser},#{modiTime})")
+ "VALUES(#{wrkSts},#{ioType},#{ioTime},#{ioPri},#{sourceLocNo},#{locNo},#{barcode},#{mk},#{appeUser},#{appeTime},#{modiUser},#{modiTime})")
public int insertByIncrease(AgvWrkMast agvWrkMast);
}
diff --git a/src/main/java/com/zy/asrs/service/AgvWorkService.java b/src/main/java/com/zy/asrs/service/AgvWorkService.java
index 9056644..96c64c7 100644
--- a/src/main/java/com/zy/asrs/service/AgvWorkService.java
+++ b/src/main/java/com/zy/asrs/service/AgvWorkService.java
@@ -15,7 +15,7 @@
/*
閫氱煡妗f墜鍔ㄧ敓鎴愪换鍔�
*/
- StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId);
+ StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId, boolean isConveyor);
/*
鐢熸垚鍑哄簱浠诲姟
diff --git a/src/main/java/com/zy/asrs/service/AgvWrkMastService.java b/src/main/java/com/zy/asrs/service/AgvWrkMastService.java
index 9b827e3..b1bdda0 100644
--- a/src/main/java/com/zy/asrs/service/AgvWrkMastService.java
+++ b/src/main/java/com/zy/asrs/service/AgvWrkMastService.java
@@ -12,11 +12,13 @@
public int startWrk(List<AgvWrkMast> agvWrkMastList, String taskType) throws IOException;
- public int containerMove(List<AgvWrkMast> agvWrkMastList) throws IOException;
+ public int containerMoveIn(List<AgvWrkMast> agvWrkMastList) throws IOException;
public int containerMoveOut(List<AgvWrkMast> agvWrkMastList) throws IOException;
public boolean insertByIncrease(AgvWrkMast agvWrkMast);
public boolean deleteByWrkNo(int wrkNo);
+
+ public int containerArrived(AgvWrkMast agvWrkMast);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index 240f471..6ac573e 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -69,7 +69,7 @@
鍏ュ簱
*/
@Transactional
- public StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId) {
+ public StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId, boolean isConveyor) {
Date now = new Date();
@@ -88,7 +88,9 @@
AgvLocMast agvLocMast = agvCommonService.getLocNo(agvWaitPakinList, agvBasDevp.getFloor());
//鐢熸垚宸ヤ綔妗�
//AgvWrkMast wrkMast = createWrkMast(agvBasDevp, agvLocMast, now, userId);
- AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId);
+ AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId, isConveyor);
+ //鏍囪鏄惁涓鸿緭閫佺嚎鍏ュ簱
+ wrkMast.setMk(isConveyor ? "Y" : "N");
//鐢熸垚宸ヤ綔妗f槑缁�
//createWrkDetlReWrite(agvWaitPakinList,wrkMast,userId);
agvWaitPakinList.forEach(wp -> {
@@ -134,7 +136,7 @@
//鍒ゆ柇鏄惁鍏ㄦ澘鍑哄簱
int ioType = isPakOut(sourceLocNo,anfme) ? 101 : 103;
//鐢熸垚宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,barcode,now,userId);
+ AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,barcode,now,userId,false);
//鐢熸垚宸ヤ綔妗f槑缁�
createWrkDetlReWrite(mantr,wrkMast.getWrkNo(),orderNo,batch,anfme,barcode,now,userId,csocode,isoseq);
//淇敼璁㈠崟淇℃伅
@@ -212,7 +214,7 @@
Date now = new Date();
//鐢熸垚宸ヤ綔鍏�
- AgvWrkMast wrkMast = createWrkMast(107, 21L, locDetl.getLocNo(), agvBasDevp.getDevNo(), agvLocDetl.getSuppCode(), now, userId);
+ AgvWrkMast wrkMast = createWrkMast(107, 21L, locDetl.getLocNo(), agvBasDevp.getDevNo(), agvLocDetl.getSuppCode(), now, userId,false);
//鐢熸垚宸ヤ綔鏄庣粏妗�
createWrkDetlReWrite(locDetl.getMatnr(),wrkMast.getWrkNo(),null,locDetl.getBatch(),locDetl.getCount(),wrkMast.getBarcode(),now,userId,agvLocDetl.getThreeCode(),agvLocDetl.getDeadTime());
//淇敼搴撲綅淇℃伅
@@ -242,7 +244,7 @@
Date now = new Date();
//鐢熸垚绉诲簱宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId);
+ AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,false);
//鐢熸垚宸ヤ綔鍏氭槑缁�
createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime());
//淇敼鐩爣搴撲綅鐘舵��
@@ -265,7 +267,7 @@
// 妫�绱㈠簱浣�
AgvLocMast locMast = agvCommonService.getLocNo(null, agvBasDevp.getFloor());
// 鐢熸垚宸ヤ綔妗� 10.绌烘澘鍏ュ簱
- createWrkMast(10,201L,agvBasDevp.getDevNo(),locMast.getLocNo(),null,now,userId);
+ createWrkMast(10,201L,agvBasDevp.getDevNo(),locMast.getLocNo(),null,now,userId,false);
//鏇存柊婧愮珯鐐圭姸鎬�
updateAgvBasDevp(agvBasDevp,"R");
//鏇存柊鐩爣搴撲綅鐘舵��
@@ -296,7 +298,7 @@
.eq("station_code", param.getStationCode())
.eq("loc_sts", "O"));
//鐢熸垚宸ヤ綔妗�
- createWrkMast(110,21L,locNo,agvBasDevp.getDevNo(),null,now,userId);
+ createWrkMast(110,21L,locNo,agvBasDevp.getDevNo(),null,now,userId,false);
//淇敼婧愬簱浣嶇姸鎬�
updateAgvLocMast(agvLocMast,"R");
//淇敼鐩爣宸ヤ綔浣嶇姸鎬�
@@ -592,7 +594,7 @@
/*
鐢熸垚宸ヤ綔妗�
*/
- private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId){
+ private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, boolean isConveyor){
AgvWrkMast wrkMast = new AgvWrkMast();
//鐢熸垚宸ヤ綔鍙�
// int workNo = agvCommonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
@@ -610,6 +612,8 @@
wrkMast.setLocNo(locNo);
//瀹瑰櫒缂栫爜
wrkMast.setBarcode(barcode);
+ //鏍囪鏄惁涓鸿緭閫佺嚎鍏ュ簱
+ wrkMast.setMk(isConveyor ? "Y" : "N");
// 婊℃澘锛歒
//wrkMast.setFullPlt("Y");
// 鎷f枡
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
index db9685d..2cf9450 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.AgvWrkMast;
import com.zy.asrs.entity.param.AgvTaskCreateParam;
@@ -43,6 +44,9 @@
@Value("${agv.containerMoveOutPath}")
private String containerMoveOutPath;
+ @Value("${agv.containerArrivedPath}")
+ private String containerArrivedPath;
+
@Autowired
AgvWrkMastMapper agvWrkMastMapper;
@Autowired
@@ -73,11 +77,6 @@
AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam();
agvTaskCreateParam.setTaskType(taskType);
-// //璋冪敤瀹瑰櫒鍏ュ満鏃舵墍闇�瑕佸弬鏁�
-// Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>();
-// List<Map<String,String>> positionCodeMapList = new ArrayList<>();
-// containerMoveParam.put("containerMoveIns",positionCodeMapList);
-
getRequestParam(agvTaskCreateParam,agvWrkMastList);
return doHttpRequest(agvTaskCreateParam,"鎼繍浠诲姟涓嬪彂",url, taskCreatePath,null,"127.0.0.1");
@@ -86,13 +85,17 @@
}
//瀹瑰櫒鍏ュ満
- public int containerMove(List<AgvWrkMast> agvWrkMastList) throws IOException {
+ public int containerMoveIn(List<AgvWrkMast> agvWrkMastList) throws IOException {
//璋冪敤瀹瑰櫒鍏ュ満鏃舵墍闇�瑕佸弬鏁�
Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>();
List<Map<String,String>> positionCodeMapList = new ArrayList<>();
containerMoveParam.put("containerMoveIns",positionCodeMapList);
getContainerMoveParam(agvWrkMastList,positionCodeMapList);
+
+ if(Cools.isEmpty(positionCodeMapList)){
+ return 0;
+ }
return doHttpRequest(containerMoveParam,"瀹瑰櫒鍏ュ満浠诲姟涓嬪彂",url, containerMoveInPath,null,"127.0.0.1");
}
@@ -121,9 +124,23 @@
return this.delete(new EntityWrapper<AgvWrkMast>().eq("wrk_no", wrkNo));
}
+ //瀹瑰櫒鍒拌揪閫氱煡
+ public int containerArrived(AgvWrkMast agvWrkMast) {
+
+ Map<String,String> containerArrivedParam = new HashMap<>();
+ containerArrivedParam.put("slotCode",agvWrkMast.getSourceLocNo());
+ containerArrivedParam.put("containerCode",agvWrkMast.getBarcode());
+
+ return doHttpRequest(containerArrivedParam,"瀹瑰櫒杈惧埌閫氱煡",url, containerArrivedPath,null,"127.0.0.1");
+ }
+
private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){
//寰�瀹瑰櫒鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆
for(AgvWrkMast agvWrkMast : agvWrkMastList){
+ //鍒ゆ柇鏄惁涓鸿緭閫佺嚎鍏ュ簱锛屾槸鍒欎笉闇�瑕佸鍣ㄨ繘鍦鸿姹�
+ if("Y".equals(agvWrkMast.getMk())){
+ continue;
+ }
Map<String,String> positionCodeMap = new HashMap<>();
positionCodeMap.put("positionCode",agvWrkMast.getSourceLocNo());
positionCodeMapList.add(positionCodeMap);
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index ee8b387..ac4939c 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -19,10 +19,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
@Service("locDetlService")
public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService {
@@ -110,25 +107,19 @@
wapperSetCondition(wrapper,"batch",batch);
wapperSetCondition(wrapper,"three_code",csocode);
wapperSetCondition(wrapper,"dead_time",isoseq);
-// if(Cools.isEmpty(batch)){
-// wrapper.isNull("batch");
-// }else {
-// wrapper.eq("batch",batch);
-// }
List<LocDetl> locDetlList = this.selectList(wrapper);
- for (LocDetl locDetl : locDetlList) {
- //鍒ゆ柇褰撳墠搴撲綅璐х墿鏄惁F鍦ㄥ簱
- LocMast locMast = locMastService.selectById(locDetl.getLocNo());
- if(!"F".equals(locMast.getLocSts())){
- continue;
- }
+
+ Set<LocDetl> resort = resort(locDetlList);
+
+ for (LocDetl locDetl : resort) {
+
if (issued > 0) {
double anfme = locDetl.getAnfme();
int ioType = anfme > issued ? 103 : 101;
anfme = anfme > issued ? issued : anfme;
LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderNo, anfme);
- //List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), ioType);
+
List<Integer> outSite = basDevpService.getAvailableOutSite(101);
locDto.setStaNos(outSite);
@@ -149,14 +140,10 @@
wapperSetCondition(wrapper,"batch",batch);
wapperSetCondition(wrapper,"three_code",csocode);
wapperSetCondition(wrapper,"dead_time",isoseq);
-// if(Cools.isEmpty(batch)){
-// wrapper.isNull("batch");
-// }else {
-// wrapper.eq("batch",batch);
-// }
List<LocDetl> locDetlList = this.selectList(wrapper);
- for (LocDetl locDetl : locDetlList) {
+ Set<LocDetl> resort = resort(locDetlList);
+ for (LocDetl locDetl : resort) {
//鍒ゆ柇褰撳墠搴撲綅璐х墿鏄惁F鍦ㄥ簱
LocMast locMast = locMastService.selectById(locDetl.getLocNo());
if(!"F".equals(locMast.getLocSts())){
@@ -258,4 +245,64 @@
wrapper.eq(column,condition);
}
}
+
+ //鏍规嵁娣辨祬搴撲綅杩涜閲嶆柊鎺掑簭
+ private Set<LocDetl> resort(List<LocDetl> locDetls){
+ Set<LocDetl> locDetlsResort = new LinkedHashSet<>();
+
+ for(LocDetl locDetl : locDetls){
+ LocMast locMast = locMastService.selectById(locDetl.getLocNo());
+ if(!"F".equals(locMast.getLocSts())){
+ continue;
+ }
+
+ List<String> groupOuterLoc = Utils.getGroupOuterLoc(locDetl.getLocNo());
+
+ if(Cools.isEmpty(groupOuterLoc)){
+ locDetlsResort.add(locDetl);
+ }else {
+ groupOuterLoc.add(locDetl.getLocNo());
+ //濡傛灉鏄繁搴撲綅锛屽垯鍏堟壘澶栦晶鐨勫簱浣�
+ for (String locNo : groupOuterLoc){
+ LocMast locMastOuter = locMastService.selectById(locNo);
+ //澶栦晶濡傛灉鏄嫞鏂欙紝鍒欏唴娴嬩笉鍏佽鍑�
+ if("P".equals(locMastOuter.getLocSts()) || "Q".equals(locMastOuter.getLocSts()) || "S".equals(locMastOuter.getLocSts())){
+ break;
+ }
+
+ if(!"F".equals(locMastOuter.getLocSts())){
+ continue;
+ }
+ locDetlsResort.addAll(this.selectByLocNo(locNo));
+
+ }
+ }
+ }
+ return locDetlsResort;
+ }
+
+ public static void main(String[] args) {
+
+ List<LocDetl> locDetls = new ArrayList<>();
+ LocDetl locDetl2 = new LocDetl();
+ locDetl2.setLocNo("aaa1");
+ LocDetl locDetl3 = new LocDetl();
+ locDetl3.setLocNo("aaa2");
+ locDetls.add(locDetl2);
+ locDetls.add(locDetl3);
+ System.out.println(locDetls.size());
+
+ Set<LocDetl> set = new LinkedHashSet<>();
+ LocDetl locDetl = new LocDetl();
+ LocDetl locDetl1 = new LocDetl();
+ locDetl.setLocNo("aaa");
+ locDetl1.setLocNo("aaa");
+
+ set.add(locDetl);
+ set.add(locDetl1);
+ set.addAll(locDetls);
+
+ System.out.println(set);
+ System.out.println(set.size());
+ }
}
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 3a59dba..a616b3d 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
+import com.core.exception.CoolException;
import com.zy.asrs.entity.AgvLocDetl;
import com.zy.asrs.entity.AgvWaitPakin;
import com.zy.asrs.entity.AgvWrkDetl;
@@ -139,12 +140,26 @@
@Transactional
public ReturnT<String> startPutWayWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
- int startWwrkCode = agvWrkMastService.startWrk(agvWrkMastList,"putaway");
+ //涓嬪彂浠诲姟
+ int startWrkCode = agvWrkMastService.startWrk(agvWrkMastList,"putaway");
+ if(startWrkCode != 0){
+ throw new CoolException("浠诲姟涓嬪彂澶辫触");
+ }
- int code = agvWrkMastService.containerMove(agvWrkMastList);
+ //涓嬪彂瀹瑰櫒鍏ュ満鎸囦护 锛堢紦瀛樿揣鏋讹級
+ int code = agvWrkMastService.containerMoveIn(agvWrkMastList);
if(code == 0){
- agvWrkMastList.forEach(agvWrkMast -> {
+ for(AgvWrkMast agvWrkMast : agvWrkMastList){
+ //涓嬪彂瀹瑰櫒杈惧埌閫氱煡 锛堣緭閫佺嚎锛�
+ if("Y".equals(agvWrkMast.getMk())){
+ int containerArrivedCode = agvWrkMastService.containerArrived(agvWrkMast);
+ if(containerArrivedCode != 0){
+ log.error("瀹瑰櫒鍒拌揪鎸囦护涓嬪彂澶辫触");
+ continue;
+ }
+ }
+
//202.RCS鍙栬揣涓�
agvWrkMast.setWrkSts(202L);
agvWrkMastService.updateById(agvWrkMast);
@@ -152,9 +167,7 @@
//淇敼AGV鍏ュ簱閫氱煡妗g姸鎬佸叆鍑虹姸鎬佷负Y
agvWaitPakinService.updateIoStatus(agvWrkMast.getWrkNo(),"Y");
}
-
- });
- //agvWrkMastService.updateBatchById(agvWrkMastList);
+ }
return SUCCESS;
}
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index a0081aa..76cd9f5 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -345,6 +345,7 @@
AgvBasDevp agvBasDevp = agvBasDevpService.getByDevNo(param.getDevNo());
if(Cools.isEmpty(agvBasDevp) || !"O".equals(agvBasDevp.getLocSts())){
+ //鍘绘壘agv宸ヤ綔妗d换鍔�
throw new CoolException("褰撳墠绔欑偣涓嶅瓨鍦ㄦ垨鑰呯珯鐐逛笉涓虹┖");
}
//缁戝畾绔欑偣
@@ -352,7 +353,7 @@
//鐢熸垚宸ヤ綔妗�
List<AgvBasDevp> agvBasDevpList = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("dev_no", param.getDevNo()));
- agvWorkService.createWaitPainWrkMastStart(agvBasDevpList, null);
+ agvWorkService.createWaitPainWrkMastStart(agvBasDevpList, null, true);
return R.ok();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 39c2117..029db91 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,9 +10,9 @@
enabled: false
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- #url: jdbc:sqlserver://localhost:1433;databasename=tzskasrs
+ url: jdbc:sqlserver://localhost:1433;databasename=tzskasrs
#url: jdbc:sqlserver://192.168.4.15:1433;databasename=tzskasrs
- url: jdbc:sqlserver://10.10.10.40:1433;databasename=tzskasrs
+ #url: jdbc:sqlserver://10.10.10.40:1433;databasename=tzskasrs
username: sa
password: sa@123
mvc:
@@ -80,6 +80,7 @@
taskCreatePath: /task/create
containerMoveInPath: /expand/api/moveIn/container
containerMoveOutPath: /expand/api/moveOut/container
+ containerArrivedPath: /conveyor/containerArrived
u8:
url: http://192.168.1.55:8010
--
Gitblit v1.9.1