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