From ab9d69b6166ed7301aaad8b4ccf96319f71c168b Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 10 八月 2020 14:44:57 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 95 insertions(+), 8 deletions(-) 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 f6ad036..4f0f320 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -4,12 +4,10 @@ import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.Cools; import com.core.exception.CoolException; -import com.zy.asrs.entity.LocMast; -import com.zy.asrs.entity.StaDesc; -import com.zy.asrs.entity.WaitPakin; -import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.entity.*; import com.zy.asrs.mapper.WaitPakinMapper; import com.zy.asrs.mapper.WrkMastMapper; +import com.zy.asrs.service.BasCrnpService; import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.StaDescService; import com.zy.asrs.service.WrkDetlService; @@ -58,6 +56,8 @@ private LocMastService locMastService; @Autowired private StaDescService staDescService; + @Autowired + private BasCrnpService basCrnpService; @Autowired private JdbcTemplate jdbcTemplate; @@ -270,17 +270,86 @@ } } - // 鏇存柊鍫嗗灈鏈轰俊鎭� 涓� 涓嬪彂plc鍛戒护 todo:luxiaotao + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + + // 1.澶嶄綅鍫嗗灈鏈� 鏇存柊鍫嗗灈鏈轰俊鎭� 涓� 涓嬪彂plc鍛戒护 todo:luxiaotao crnProtocol.setStatus(CrnStatusType.IDLE); crnProtocol.setTaskNo((short)0); - boolean result = MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task<>(4, crnProtocol)); - if (!result) { + if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task<>(4, crnProtocol))) { throw new CoolException("鏇存柊鍫嗗灈鏈轰俊鎭け璐�"); } + // 2.涓嬪彂绔欑偣淇℃伅 + staProtocol.setWorkNo(wrkMast.getWrkNo()); + staProtocol.setStaNo(wrkMast.getStaNo()); + if (!MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task<>(4, staProtocol))) { + throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); + } } } } + } + + /** + * 鍏ュ嚭搴� ===>> 鍫嗗灈鏈虹珯鍒板簱浣� 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 + */ + public void crnIoExecute(){ + for (Slave crn : slaveProperties.getCrn()) { + // 鑾峰彇鍫嗗灈鏈轰俊鎭� + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + BasCrnp basCrnp = basCrnpService.selectById(crn.getId()); + if (basCrnp == null) { + continue; + } + // 鍙湁褰撳爢鍨涙満绌洪棽 鎴栬�� 鏃犱换鍔℃椂鎵嶇户缁墽琛� + if (crnProtocol.getStatusType() == CrnStatusType.IDLE || crnProtocol.getTaskNo() == 0) { + // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡 + if (crnProtocol.getLastIo().equals("I")) { + if (basCrnp.getInEnable().equals("Y")) { + this.crnStnToLoc(); // 鍏ュ簱 + crnProtocol.setLastIo("O"); + } else if (basCrnp.getOutEnable().equals("Y")) { + this.locToCrnStn(); // 鍑哄簱 + crnProtocol.setLastIo("I"); + } + } + // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡 + else if (crnProtocol.getLastIo().equals("O")) { + if (basCrnp.getOutEnable().equals("Y")) { + this.locToCrnStn(); // 鍑哄簱 + crnProtocol.setLastIo("I"); + } else if (basCrnp.getInEnable().equals("Y")) { + this.crnStnToLoc(); // 鍏ュ簱 + crnProtocol.setLastIo("O"); + } + } + } + // 搴撲綅绉昏浆 + this.locToLoc(); + + } + } + + /** + * 鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鍒板簱浣� + */ + private void crnStnToLoc(){ + + } + + /** + * 鍑哄簱 ===>> 搴撲綅鍒板爢鍨涙満绔� + */ + private void locToCrnStn(){ + + } + + /** + * 搴撲綅绉昏浆 + */ + private void locToLoc(){ + } /** @@ -291,9 +360,27 @@ // 鑾峰彇鍫嗗灈鏈轰俊鎭� CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); CrnProtocol crnProtocol = crnThread.getCrnProtocol(); - if (crnProtocol.status == ) } } + /** + * 鏇存柊鍫嗗灈鏈虹Щ鍔ㄦ椂宸ヤ綔妗g姸鎬� + */ + public void updateCrnMove() { + for (Slave crn : slaveProperties.getCrn()) { + // 鑾峰彇鍫嗗灈鏈轰俊鎭� + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + // todo + if (crnProtocol.getStatusType() == CrnStatusType.FETCH_POSITION) { + + WrkMast wrkMast = wrkMastMapper.selectById(crnProtocol.getTaskNo()); + + + } + + + } + } } -- Gitblit v1.9.1