From 00e3e465859114706fa2f802a9b4d3dbbee17a36 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 13 十一月 2020 16:54:51 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 11 +++ src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 81 ++++++++++++++++++++++++++ src/main/resources/mapper/LocMastMapper.xml | 11 +++ src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 4 + src/main/java/com/zy/asrs/controller/CrnController.java | 23 +++++++ src/main/java/com/zy/asrs/service/LocMastService.java | 16 +++++ 6 files changed, 144 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java index 6277cca..9f424bf 100644 --- a/src/main/java/com/zy/asrs/controller/CrnController.java +++ b/src/main/java/com/zy/asrs/controller/CrnController.java @@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; +import com.core.common.Cools; import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.CrnStatusType; @@ -16,6 +17,8 @@ import com.zy.asrs.mapper.BasCrnErrorMapper; import com.zy.asrs.service.BasCrnpService; import com.zy.asrs.service.WrkMastService; +import com.zy.asrs.service.impl.MainServiceImpl; +import com.zy.core.CrnThread; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.OutputQueue; import com.zy.core.cache.SlaveConnection; @@ -28,7 +31,6 @@ import com.zy.core.model.command.CrnCommand; import com.zy.core.model.protocol.CrnProtocol; import com.zy.core.properties.SlaveProperties; -import com.zy.core.CrnThread; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -55,6 +57,8 @@ private BasCrnErrorMapper basCrnErrorMapper; @Autowired private BasCrnpService basCrnpService; + @Autowired + private MainServiceImpl mainService; @ManagerAuth(memo = "杩涜涓殑鍛戒护") @@ -188,6 +192,23 @@ return R.ok().add(str.toString()); } + @PostMapping("/demo/switch") + @ManagerAuth(memo = "鍫嗗灈鏈烘紨绀�") + public R crnDemo(CrnDemoParam param) throws InterruptedException { + if (Cools.isEmpty(param.getCrnId())){ + return R.error(); + } + if (Cools.isEmpty(param.getPassword())){ + return R.error("璇疯緭鍏ュ彛浠�"); + } + if (!param.getPassword().equals(SystemProperties.WCS_PASSWORD)){ + return R.error("鍙d护閿欒"); + } + Thread.sleep(200L); + mainService.crnDemoOfLocMove(param.getCrnId()); + return R.ok(); + } + /****************************************************************/ /************************** 鎵嬪姩鎿嶄綔 ******************************/ diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java index 1643467..fb6ed06 100644 --- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java @@ -21,4 +21,8 @@ @Select("select top 1 bay1 from asr_loc_mast order by bay1 desc") Short selectTotalBay(); + LocMast queryDemoSourceLoc(@Param("crnNo") Integer crnNo); + + LocMast queryDemoLoc(@Param("crnNo") Integer crnNo); + } diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java index 95932ad..29dff9a 100644 --- a/src/main/java/com/zy/asrs/service/LocMastService.java +++ b/src/main/java/com/zy/asrs/service/LocMastService.java @@ -18,4 +18,20 @@ * @return 鍚岀粍绌哄簱浣嶉泦鍚� */ List<String> queryGroupEmptyStock(String sourceLocNo); + + /** + * 鍫嗗灈鏈烘紨绀鸿幏鍙栨簮搴撲綅 + * @param crn + * @return + */ + LocMast queryDemoSourceLoc(Integer crn); + + /** + * 鍫嗗灈鏈烘紨绀鸿幏鍙栫洰鏍囧簱浣� + * @param crn + * @return + */ + LocMast queryDemoLoc(Integer crn); + + } diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java index e1a01ea..7a1e77c 100644 --- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java @@ -28,4 +28,15 @@ } return this.baseMapper.queryGroupEmptyStock(sourceStock.getCrnNo()); } + + @Override + public LocMast queryDemoSourceLoc(Integer crn) { + return this.baseMapper.queryDemoSourceLoc(crn); + } + + @Override + public LocMast queryDemoLoc(Integer crn) { + return this.baseMapper.queryDemoLoc(crn); + } + } diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 103fc4c..1bc2b2c 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -9,10 +9,12 @@ import com.zy.asrs.mapper.WaitPakinMapper; import com.zy.asrs.mapper.WrkMastMapper; import com.zy.asrs.service.*; +import com.zy.asrs.utils.VersionUtils; import com.zy.common.model.MatDto; import com.zy.common.model.StartupDto; import com.zy.common.service.CommonService; import com.zy.common.utils.CollectionUtils; +import com.zy.core.CrnThread; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.*; @@ -26,7 +28,6 @@ import com.zy.core.model.protocol.StaProtocol; import com.zy.core.properties.SlaveProperties; import com.zy.core.thread.BarcodeThread; -import com.zy.core.CrnThread; import com.zy.core.thread.DevpThread; import com.zy.core.thread.LedThread; import lombok.extern.slf4j.Slf4j; @@ -91,6 +92,8 @@ private BasCrnpService basCrnpService; @Autowired private BasDevpService basDevpService; + @Autowired + private LocDetlService locDetlService; @Autowired private JdbcTemplate jdbcTemplate; @@ -930,4 +933,80 @@ } } + /** + * 鍫嗗灈鏈烘紨绀� ===>> 搴撲綅绉昏浆 + */ + @Async + public void crnDemoOfLocMove(Integer crn){ + for (int i = 0; i < 5; i++) { + + LocMast sourceLoc = locMastService.queryDemoSourceLoc(crn); + LocMast loc = locMastService.queryDemoLoc(crn); + if (null == sourceLoc || null == loc) { + break; + } + String sourceLocNo = sourceLoc.getLocNo(); + String locNo = loc.getLocNo(); + + // 鑾峰彇宸ヤ綔鍙� + int workNo = commonService.getWorkNo(0); + // 淇濆瓨宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(new Date()); + wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇 + wrkMast.setIoPri(13D); + wrkMast.setCrnNo(crn); + wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣� + wrkMast.setLocNo(locNo); // 鐩爣搴撲綅 + wrkMast.setFullPlt("N"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘 + wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮� + wrkMast.setLinkMis("N"); + wrkMast.setAppeTime(new Date()); + wrkMast.setModiTime(new Date()); + int res = wrkMastMapper.insert(wrkMast); + if (res == 0) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + // 宸ヤ綔妗f槑缁嗕繚瀛� + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo)); + for (LocDetl locDetl : locDetls) { + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.setWrkNo(workNo); + wrkDetl.setIoTime(new Date()); + wrkDetl.setAnfme(locDetl.getAnfme()); + VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗 + wrkDetl.setAppeTime(new Date()); + wrkDetl.setModiTime(new Date()); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + } + } + // 淇敼婧愬簱浣嶇姸鎬� + if (sourceLoc.getLocSts().equals("D") || sourceLoc.getLocSts().equals("F")) { + sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害 + sourceLoc.setModiTime(new Date()); + if (!locMastService.updateById(sourceLoc)){ + throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�"); + } + } else { + throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�"); + } + // 淇敼鐩爣搴撲綅鐘舵�� + if (loc.getLocSts().equals("O")) { + loc.setLocSts("S"); // S.鍏ュ簱棰勭害 + loc.setModiTime(new Date()); + if (!locMastService.updateById(loc)) { + throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�"); + } + } else { + throw new CoolException("绉昏浆澶辫触"); + } + } + } + } diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml index 61d8a3a..c641927 100644 --- a/src/main/resources/mapper/LocMastMapper.xml +++ b/src/main/resources/mapper/LocMastMapper.xml @@ -41,4 +41,15 @@ <select id="queryFreeLocMast" resultMap="BaseResultMap"> select top 1 * from asr_loc_mast where row1=#{row} and loc_sts='O' order by loc_sts desc ,lev1 asc,bay1 asc </select> + + <select id="queryDemoSourceLoc" resultMap="BaseResultMap"> + select top 1 * from asr_loc_mast where crn_no = #{crnNo} and (loc_sts='F' or loc_sts='D') + order by loc_sts desc ,lev1 asc, bay1 asc, row1 asc + </select> + + <select id="queryDemoLoc" resultMap="BaseResultMap"> + select top 1 * from asr_loc_mast where crn_no = #{crnNo} and loc_sts='O' + order by loc_sts desc ,lev1 desc, bay1 desc, row1 desc + </select> + </mapper> -- Gitblit v1.9.1