From a0127f98adf17fd714597325443e3ec132f6c820 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 11 八月 2020 09:06:26 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 31 +++++++++++++++ src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 4 ++ src/main/java/com/zy/core/model/command/CrnCommand.java | 55 +++++++++++++++++++++++++++ 3 files changed, 89 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java index 8762dda..5f98223 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java @@ -24,6 +24,10 @@ @Select("select top 1 * from asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=2 and barcode=#{barcode} and (io_type=1 or io_type=10) order by io_pri desc,io_time,wrk_no ASC") WrkMast selectPakInStep1(@Param("sourceStaNo")Integer sourceStaNo, @Param("barcode")String barcode); + // 鍏ュ簱绗簩姝ワ紝褰撴墭鐩樼墿鏂欏湪鍫嗗灈鏈哄叆搴撶珯鏃舵椂鏌ヨ + @Select("select top 1 * from dbo.asr_wrk_mast where wrk_sts=2 and crn_no={crnNo} and wrk_no={workNo} and (io_type=1 or io_type=10 or io_type=53 or io_type=54 or io_type=57) order by io_pri desc,io_time,wrk_no ASC") + WrkMast selectPakInStep2(@Param("crnNo")Integer crnNo, @Param("workNo")Integer workNo); + // 鎷f枡鍐嶅叆搴撴椂锛岀珯鐐规湁鐗╀笖闇�姹傛椂鏌ヨ @Select("select top 1 * from asr_wrk_mast where wrk_no=#{workNo} and wrk_sts=14 and (io_type=103 or io_type=107 or io_type=104)") WrkMast selectPickStep(@Param("workNo")Integer workNo); 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 bb03d87..bd2af25 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1,5 +1,6 @@ package com.zy.asrs.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.Cools; @@ -19,6 +20,7 @@ import com.zy.core.model.CrnSlave; import com.zy.core.model.DevpSlave; import com.zy.core.model.Task; +import com.zy.core.model.command.CrnCommand; import com.zy.core.model.protocol.CrnProtocol; import com.zy.core.model.protocol.StaProtocol; import com.zy.core.properties.SlaveProperties; @@ -348,9 +350,36 @@ if (!flag) { return; } - WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo()); + // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。 + WrkMast wrkMast = wrkMastMapper.selectPakInStep2(slave.getId(), staProtocol.getWorkNo()); + if(null == wrkMast) { + log.error("鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts=2, 宸ヤ綔鍙�={}", staProtocol.getWorkNo()); + return; + } + // 鑾峰彇搴撲綅淇℃伅 + LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); + if (locMast == null) { + log.error("鏌ヨ搴撳瓨鏃犳暟鎹�--搴撲綅鍙穥}", wrkMast.getLocNo()); + return; + } + if (!locMast.getLocSts().equals("S") && !locMast.getLocSts().equals("Q")) { + log.error("搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts()); + return; + } + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- +// CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, slave.getId()); +// CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� + crnCommand.setDestinationPosX(locMast.getRow1().shortValue()); // 鎺� + crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鍒� + crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 灞� + if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task<>(2, crnCommand))) { + log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); + throw new CoolException("鏇存柊鍫嗗灈鏈轰俊鎭け璐�"); + } } } diff --git a/src/main/java/com/zy/core/model/command/CrnCommand.java b/src/main/java/com/zy/core/model/command/CrnCommand.java new file mode 100644 index 0000000..b031fb3 --- /dev/null +++ b/src/main/java/com/zy/core/model/command/CrnCommand.java @@ -0,0 +1,55 @@ +package com.zy.core.model.command; + +import lombok.Data; + +/** + * 鍫嗗灈鏈哄懡浠ゆ姤鏂� + * Created by vincent on 2020/8/11 + */ +@Data +public class CrnCommand { + + // 鍫嗗灈鏈哄彿 + private Integer crnNo; + + // 浠诲姟涓嬪彂纭浣� + private Short stb; + + // 浠诲姟瀹屾垚纭浣� + private Short ackFinish; + + // 浠诲姟鍙� + private Short taskNo; + + /** + * 浠诲姟妯″紡锛� + * 0 = 鏃� + * 1 = 鍏ュ簱 + * 2 = 鍑哄簱 + * 3 = 搴撲綅绉昏浆 + * 4 = 绔欎綅绉昏浆 + * 5 = 鍥炲師鐐� + * 6 = 鍘诲弽鍘熺偣 + * 7 = 鍧愭爣绉昏 + */ + private Short taskMode; + + // 婧愪綅缃帓鍙� + private Short sourcePosX; + + // 婧愪綅缃垪鍙� + private Short sourcePosY; + + // 婧愪綅缃眰鍙� + private Short sourcePosZ; + + // 鐩爣浣嶇疆鎺掑彿 + private Short destinationPosX; + + // 鐩爣浣嶇疆鍒楀彿 + private Short destinationPosY; + + // 鐩爣浣嶇疆灞傚彿 + private Short destinationPosZ; + +} -- Gitblit v1.9.1