From bc20e7dc43b97367b7b70b678e71140a33846ff0 Mon Sep 17 00:00:00 2001 From: tzsk <Administrator@qq.com> Date: 星期三, 30 七月 2025 22:36:49 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 36 ++++++++++++++++++++++++------------ 1 files changed, 24 insertions(+), 12 deletions(-) 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 5abd58d..0697692 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java @@ -73,8 +73,7 @@ 鍏ュ簱 */ @Transactional - @Synchronized - public StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId, boolean isConveyor) { + public synchronized StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId, boolean isConveyor) { Date now = new Date(); @@ -97,7 +96,7 @@ wrkMast.setMk(isConveyor ? "Y" : "N"); //鐢熸垚宸ヤ綔妗f槑缁� agvWaitPakinList.forEach(wp -> { - createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime()); + createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime(),wp.getProddate(),wp.getDeadline()); }); //鏇存柊婧愮珯鐐逛俊鎭� updateAgvBasDevp(agvBasDevp,"R"); @@ -149,7 +148,9 @@ now, userId, locDto.getCsocode(), - locDto.getIsoseq()); + locDto.getIsoseq(), + locDto.getProddate(), + locDto.getDeadline()); }else { List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class); orderDtoList.forEach(orderDto -> { @@ -163,7 +164,9 @@ now, userId, locDto.getCsocode(), - locDto.getIsoseq()); + locDto.getIsoseq(), + locDto.getProddate(), + locDto.getDeadline()); }); } @@ -246,7 +249,7 @@ List<TaskDto> taskDtos = new ArrayList<>(); param.getLocDetls().forEach(locDetl -> { - LocDto locDto = new LocDto(locDetl.getLocNo(),locDetl.getCount(),locDetl.getMatnr(),locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),locDetl.getSuppCode()); + LocDto locDto = new LocDto(locDetl.getLocNo(),locDetl.getCount(),locDetl.getMatnr(),locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),locDetl.getSuppCode(),locDetl.getProddate(),locDetl.getDeadline()); TaskDto taskDto = new TaskDto(locDetl.getLocNo(),station,locDto); if(TaskDto.has(taskDtos,taskDto)){ TaskDto.find(taskDtos,taskDto).getLocDtos().add(locDto); @@ -278,7 +281,9 @@ now, userId, locDto.getCsocode(), - locDto.getIsoseq()); + locDto.getIsoseq(), + locDto.getProddate(), + locDto.getDeadline()); }); updateAgvLocMast(agvLocMastService.selectById(wrkMast.getSourceLocNo()),"P"); //鏇存柊鐩爣绔欑偣鐘舵�� @@ -308,7 +313,7 @@ //鐢熸垚绉诲簱宸ヤ綔妗� 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()); + createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime(),sourceLocDetl.getProddate(),sourceLocDetl.getDeadline()); //淇敼鐩爣搴撲綅鐘舵�� updateAgvLocMast(targetLocMast,"S"); //淇敼鍘熷簱浣嶇姸鎬� @@ -407,6 +412,7 @@ adjDetl.setBatch(locDetl.getBatch()); adjDetl.setOriQty(locDetl.getAnfme()); adjDetl.setAdjQty(adjust.getCount()); + adjDetl.setMemo(locDetl.getSuppCode()); adjDetl.setModiTime(now); adjDetl.setModiUser(userId); adjDetl.setAppeTime(now); @@ -536,11 +542,13 @@ } //鎷f枡鍏ュ簱 鐩樼偣鍏ュ簱涓嶅彲鍙栨秷 if(wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57){ - throw new CoolException("褰撳墠浠诲姟涓嶅彲鍙栨秷"); + if (userId != 9527) { + throw new CoolException("褰撳墠浠诲姟涓嶅彲鍙栨秷"); + } } //鍏ュ簱鍙栨秷 - if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10){ + if(wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57){ //婧愮珯鐐� String devNo = wrkMast.getSourceLocNo(); //鐩爣搴撲綅 @@ -603,6 +611,9 @@ if (Cools.isEmpty(agvWrkMast)){ throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪"); } + if (agvWrkMast.getIoType() == 1 || agvWrkMast.getIoType() == 53){ + throw new CoolException(workNo+"鍏ュ簱浠诲姟鏃犳硶杞嚭搴�"); + } agvWrkMast.setIoType(101); agvWrkMast.setWrkSts(206L); @@ -634,7 +645,7 @@ /* 鐢熸垚宸ヤ綔妗f槑缁� */ - private void createWrkDetlReWrite(String matnr, int wrkNo, String orderNo,String batch, double anfme, String zpallet, Date now, Long userId, String csocode, String isoseq){ + private void createWrkDetlReWrite(String matnr, int wrkNo, String orderNo,String batch, double anfme, String zpallet, Date now, Long userId, String csocode, String isoseq,Date proddate,Date deadline){ Mat mat = matService.selectByMatnr(matnr); if (Cools.isEmpty(mat)) { throw new CoolException(matnr + "鍟嗗搧缁存姢澶辫触"); @@ -651,7 +662,8 @@ wrkDetl.setAppeTime(now); wrkDetl.setModiUser(userId); wrkDetl.setModiTime(now); - + wrkDetl.setProddate(proddate); + wrkDetl.setDeadline(deadline); wrkDetl.setThreeCode(csocode); wrkDetl.setDeadTime(isoseq); if (!agvWrkDetlService.insert(wrkDetl)) { -- Gitblit v1.9.1