From 2c799e6d26c726e3943f24e61c84f7d562087cfc Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期四, 26 六月 2025 10:20:12 +0800 Subject: [PATCH] #增加堆垛机12物料衔接类型 --- license.lic | 0 src/main/java/com/zy/asrs/entity/TransplantWork.java | 11 +++++ src/main/java/com/zy/asrs/service/WrkMastService.java | 2 + src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 5 ++ src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java | 5 ++ src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 2 + src/main/resources/mapper/WrkMastMapper.xml | 6 +++ src/main/java/com/zy/asrs/controller/MobileController.java | 8 ++++ src/main/java/com/zy/common/web/WcsController.java | 55 +++++++++++++++++++++++++-- 9 files changed, 89 insertions(+), 5 deletions(-) diff --git a/license.lic b/license.lic new file mode 100644 index 0000000..4966cf8 --- /dev/null +++ b/license.lic Binary files differ diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java index 42d7241..6115bfe 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -199,6 +199,14 @@ return R.ok("缁勬墭鎴愬姛"); } + @RequestMapping("/combAuto/auth") + @ManagerAuth(memo = "缁勬墭") + public R combAuto(@RequestBody CombParam combParam){ +// mobileService.comb(combParam, getUserId()); + mobileService.comb(combParam, getUserId()); + return R.ok("缁勬墭鎴愬姛"); + } + @RequestMapping("/kitting/query/auth") @ManagerAuth(memo = "榻愬鍏ュ簱鏌ヨ") public R kittingQuery(@RequestBody CombParam combParam){ diff --git a/src/main/java/com/zy/asrs/entity/TransplantWork.java b/src/main/java/com/zy/asrs/entity/TransplantWork.java new file mode 100644 index 0000000..ac53dfe --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/TransplantWork.java @@ -0,0 +1,11 @@ +package com.zy.asrs.entity; + +import lombok.Data; + +@Data +public class TransplantWork { + private Integer workNo; + private String barcode; + private Integer sourceStaNo; + private Integer staNo; +} diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java index 8d0111e..f593fa3 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java @@ -21,6 +21,8 @@ @Select("select count(1) from asr_wrk_mast where 1=1 and io_type = #{ioType} and sta_no = #{staNo}") int selectWrkMastBareBoardStaNo(Integer ioType,Integer staNo); + WrkMast selectWrkMast(Integer workNo,String barcode); + List<WrkMast> selectWrkMastWrkDetl(@Param("ioType") Integer ioType, @Param("matnr") String matnr , @Param("batch") String batch , @Param("brand") String brand , @Param("standby1")String standby1, @Param("standby2")String standby2, @Param("standby3")String standby3 , @Param("boxType1")String boxType1, @Param("boxType2")String boxType2, @Param("boxType3")String boxType3, @Param("crnNo") Integer crnNo); diff --git a/src/main/java/com/zy/asrs/service/WrkMastService.java b/src/main/java/com/zy/asrs/service/WrkMastService.java index 0329de3..258d5dc 100644 --- a/src/main/java/com/zy/asrs/service/WrkMastService.java +++ b/src/main/java/com/zy/asrs/service/WrkMastService.java @@ -27,4 +27,6 @@ List<WrkMast> selectWrkMastWrkDetl(Integer ioType, FindLocNoAttributeVo findLocNoAttributeVo, Integer crnNo); + WrkMast selectWrkMast(Integer workNo,String barcode); + } diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java index d8ad458..9911553 100644 --- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java @@ -58,4 +58,9 @@ ,findLocNoAttributeVo.getBoxType1(),findLocNoAttributeVo.getBoxType2(),findLocNoAttributeVo.getBoxType3() ,crnNo); } + + @Override + public WrkMast selectWrkMast(Integer workNo, String barcode) { + return this.baseMapper.selectWrkMast(workNo, barcode); + } } diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java index 2ae05fb..c99b8ff 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -424,7 +424,7 @@ Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); try { - if (null == locMast) { + if (null == locMast && wrkMast.getIoType() !=12) { // exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("宸ヤ綔妗e簱浣嶅彿閿欒; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); @@ -532,6 +532,9 @@ } } break; + //3鍙峰爢鍨涙満琛旀帴 + case 12: + break; default: break; } diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index fd48d94..2869b5e 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -155,6 +155,53 @@ return R.ok(!Cools.isEmpty(wrkMast)? R.ok("鑷姩绌烘墭鍑哄簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触")); } + + @PostMapping("/auto/Transplanting/v1") + @ResponseBody + public R autoTransplanting(@RequestBody TransplantWork transplantWork){ + // 婧愮珯鐐圭姸鎬佹娴� + BasDevp sourceStaNo = basDevpService.checkSiteStatus(transplantWork.getStaNo(), true); + if(wrkMastService.selectWrkMast(transplantWork.getWorkNo(),transplantWork.getBarcode()) == null){ + return R.error("鏃犺鐩樼偣绉绘牻浠诲姟"); + } + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(transplantWork.getWorkNo()); + Date now = new Date(); + int workNo = commonService.getWorkNo(2); + + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(now); + wrkMast.setWrkSts(11L); + wrkMast.setIoPri(14D); + wrkMast.setIoType(12); + wrkMast.setCrnNo(3); + wrkMast.setBarcode(transplantWork.getBarcode()); + wrkMast.setSourceStaNo(transplantWork.getSourceStaNo()); + wrkMast.setStaNo(transplantWork.getStaNo()); + wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("N"); // 绌烘澘 + wrkMast.setLinkMis("Y"); + // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + wrkMast.setMemo("鑷姩3鍙峰爢鍨涙満绉绘牻"); + for (WrkDetl item : wrkDetls) { + WrkDetl newDetl = new WrkDetl(); + newDetl.sync(item); // 鍋囪 sync 鏄繁鎷疯礉灞炴�� + newDetl.setWrkNo(wrkMast.getWrkNo()); + newDetl.setIoTime(wrkMast.getIoTime()); + newDetl.setAppeTime(now); + newDetl.setModiTime(now); + if (!wrkDetlService.insert(newDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } + } + return wrkMastService.insert(wrkMast) ? R.ok("鑷姩3鍙峰爢鍨涙満绉绘牻鎴愬姛,宸ヤ綔鍙�:"+wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩3鍙峰爢鍨涙満绉绘牻澶辫触"); + } + /** * 鍏ㄦ澘鍏ュ簱 */ @@ -163,10 +210,10 @@ // 婧愮珯鐐圭姸鎬佹娴� BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); // 妫�绱㈠簱浣� -// List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList()); -// List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList()); -// FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0), batchs.get(0)); - FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0)); + List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList()); + List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList()); + FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0), batchs.get(0)); +// FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0)); StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto); int workNo = dto.getWorkNo(); Date now = new Date(); diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml index 83c4cce..e9300ad 100644 --- a/src/main/resources/mapper/WrkMastMapper.xml +++ b/src/main/resources/mapper/WrkMastMapper.xml @@ -75,6 +75,12 @@ order by io_time,wrk_no asc </select> + <select id="selectWrkMast" resultMap="BaseResultMap"> + select top 1 * + from asr_wrk_mast + where wrk_no = #{workNo} and barcode = #{barcode} + </select> + <select id="selectWrkMastWrkDetl" resultMap="BaseResultMap"> select m.* from asr_wrk_mast m,asr_wrk_detl d where 1=1 -- Gitblit v1.9.1