From 5e26cbc65c02d0b2bfda731bdce5519057cf13e8 Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期一, 20 五月 2024 14:10:21 +0800 Subject: [PATCH] # --- src/main/resources/mapper/WrkDetlMapper.xml | 3 + src/main/resources/AgvLocDetlMapper.xml | 2 + src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java | 2 + src/main/java/com/zy/asrs/service/impl/AgvWrkDetlServiceImpl.java | 5 ++ src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 91 +++++++++++++++++++++++++++++---------------- src/main/java/com/zy/asrs/service/AgvWrkDetlService.java | 2 + 6 files changed, 73 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java index 0fab304..be4a05b 100644 --- a/src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java @@ -31,4 +31,6 @@ int updateOrderNo(@Param("orderNo")String orderNo, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch); + int updateWrkNo1(@Param("wrk_no")Integer wrkNo, @Param("supp_code")String barcode, @Param("matnr")String matnr, @Param("three_code")String threeCode); + } diff --git a/src/main/java/com/zy/asrs/service/AgvWrkDetlService.java b/src/main/java/com/zy/asrs/service/AgvWrkDetlService.java index 1c016dc..402da7b 100644 --- a/src/main/java/com/zy/asrs/service/AgvWrkDetlService.java +++ b/src/main/java/com/zy/asrs/service/AgvWrkDetlService.java @@ -24,6 +24,8 @@ boolean updateOrderNo(String orderNo, Integer wrkNo, String matnr, String batch); + boolean updateWrkNo1(Integer wrkNo, String barcode, String matnr, String threeCode); + boolean deleteByWrkNo(int wrkNo); } diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java index 57ee21d..4fa0048 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -11,6 +11,7 @@ import com.zy.asrs.service.*; import com.zy.common.model.DetlDto; import com.zy.common.service.AgvCommonService; +import lombok.Synchronized; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -454,56 +455,41 @@ */ @Override @Transactional + @Synchronized public String allocationOut(AgvMobileStartPakin param, Long userId) { Date now = new Date(); AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", param.getDevNo())); + Integer oldWrkNo = agvWrkMast.getWrkNo(); if (Cools.isEmpty(agvWrkMast)) { throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�"); } + //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� + 鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗� agvWrkMastLogService.save(agvWrkMast); agvWrkDetlLogService.save(agvWrkMast.getWrkNo()); - + //鍒犻櫎AGV宸ヤ綔妗� + agvWrkMastService.deleteById(agvWrkMast); //鐢熸垚宸ヤ綔妗� - AgvWrkMast mast = new AgvWrkMast(); - //宸ヤ綔鐘舵�� - mast.setWrkSts(210L); - //鍏ュ嚭搴撶被鍨� - mast.setIoType(111); - mast.setIoTime(now); - //浼樺厛绾� - mast.setIoPri(300.0); - //婧愮珯鐐� - mast.setSourceLocNo(""); - //鐩爣绔欑偣 - mast.setLocNo(""); - //瀹瑰櫒缂栫爜 - mast.setBarcode(agvWrkMast.getBarcode()); - //瀹瑰櫒绫诲瀷 - mast.setWhsType(30); - // 鐩爣妤煎眰 - mast.setPauseMk(agvWrkMast.getPauseMk()); - mast.setAppeUser(userId); - mast.setAppeTime(now); - mast.setModiUser(userId); - mast.setModiTime(now); - if (!agvWrkMastService.insertByIncrease(mast)) { - throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); - } + AgvWrkMast wrkMast = createWrkMast(111, 210L, "", "", agvWrkMast.getBarcode(), now, userId, 30, agvWrkMast.getCrnNo()); // 鏇存柊宸ヤ綔鏄庣粏 - List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo())); + List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", agvWrkMast.getBarcode())); for (AgvWrkDetl agvWrkDetl : agvWrkDetls) { - agvWrkDetl.setWrkNo(mast.getWrkNo()); - if (!agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("supp_code", agvWrkMast.getBarcode()))) { - throw new CoolException("鏇存柊宸ヤ綔鏄庣粏澶辫触"); + agvWrkDetl.setWrkNo(wrkMast.getWrkNo()); + // 淇濇寔宸ヤ綔妗f槑缁� + agvWrkDetl.setWrkNo(wrkMast.getWrkNo()); + agvWrkDetl.setModiUser(userId); + agvWrkDetl.setModiTime(now); + if (!agvWrkDetlService.insert(agvWrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); } } // 鏇存柊绔欑偣鐘舵�� agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null); // 鏇存柊婧愬簱浣嶇姸鎬� agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"O","",agvWrkMast.getWhsType().shortValue()); - //鍒犻櫎AGV宸ヤ綔妗� - agvWrkMastService.deleteById(agvWrkMast); + + //鍒犻櫎AGV宸ヤ綔鏄庣粏妗� + agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",oldWrkNo)); return "ok"; } /* @@ -514,8 +500,12 @@ public String allocationIn(AgvMobileStartPakin param, Long userId) { Date now = new Date(); AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode())); + AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(param.getDevNo()); if (Cools.isEmpty(agvWrkMast)) { throw new CoolException("宸ヤ綔妗d腑娌℃湁姝よ揣鏋朵换鍔�"); + } + if (agvWrkMast.getCrnNo() != agvBasDevp.getFloor()) { + throw new CoolException("璇风Щ鍔ㄥ埌->" + agvWrkMast.getCrnNo() + "妤煎叆搴撶偣鍏ュ簱"); } //宸ヤ綔鐘舵�� agvWrkMast.setWrkSts(211L); @@ -540,4 +530,41 @@ agvLocMastService.updateById(locMast); } + /* + 鐢熸垚宸ヤ綔妗� + */ + private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, int containerType,int floor){ + AgvWrkMast wrkMast = new AgvWrkMast(); + //宸ヤ綔鐘舵�� + wrkMast.setWrkSts(wrkSts); + //鍏ュ嚭搴撶被鍨� + wrkMast.setIoType(ioType); + wrkMast.setIoTime(now); + //浼樺厛绾� + wrkMast.setIoPri(300.0); + //婧愮珯鐐� + wrkMast.setSourceLocNo(sourceLocNo); + //鐩爣绔欑偣 + wrkMast.setLocNo(locNo); + //瀹瑰櫒缂栫爜 + wrkMast.setBarcode(barcode); + //瀹瑰櫒绫诲瀷 + wrkMast.setWhsType(containerType); + // 鐩爣妤煎眰 + wrkMast.setCrnNo(floor); + + wrkMast.setAppeUser(userId); + wrkMast.setAppeTime(now); + wrkMast.setModiUser(userId); + wrkMast.setModiTime(now); + + if (!agvWrkMastService.insertByIncrease(wrkMast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + + wrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", locNo).eq("source_loc_no",sourceLocNo).eq("barcode",barcode).orderBy("modi_time",false)); + + return wrkMast; + } + } diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkDetlServiceImpl.java index c44a681..6ebfd9c 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWrkDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkDetlServiceImpl.java @@ -91,6 +91,11 @@ } @Override + public boolean updateWrkNo1(Integer wrkNo, String barcode, String matnr, String threeCode) { + return baseMapper.updateWrkNo1(wrkNo, barcode, matnr, threeCode) > 0; + } + + @Override public boolean deleteByWrkNo(int wrkNo) { return this.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo)); } diff --git a/src/main/resources/AgvLocDetlMapper.xml b/src/main/resources/AgvLocDetlMapper.xml index 11728af..613c4d7 100644 --- a/src/main/resources/AgvLocDetlMapper.xml +++ b/src/main/resources/AgvLocDetlMapper.xml @@ -72,4 +72,6 @@ group by a.matnr ) b </select> + + </mapper> diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml index a9a84f2..9a2421b 100644 --- a/src/main/resources/mapper/WrkDetlMapper.xml +++ b/src/main/resources/mapper/WrkDetlMapper.xml @@ -140,4 +140,7 @@ <include refid="batchSeq"></include> </update> + + + </mapper> -- Gitblit v1.9.1