src/main/java/com/zy/asrs/entity/WaitPakin.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/WrkDetl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/WrkMast.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/MainProcess.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/WrkMastMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/entity/WaitPakin.java
@@ -61,7 +61,8 @@ /** * 仓库号 */ * 徐工汉云上饶江铜:木箱类型 * */ @ApiModelProperty(value= "品项数") private String brand; src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -224,6 +224,7 @@ /** * 要求检验 1: 是 0: 否 * 徐工汉云拆垛标记 0: 未拆(默认) 1: 已拆 */ @ApiModelProperty(value= "要求检验 1: 是 0: 否 ") private Integer inspect; src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -74,6 +74,9 @@ @TableField("rgv_no") private Integer rgvNo; /** * 徐工汉云拆垛标记 0: 未拆 1: 已拆 2:已处理可下一步(转历史档) */ @ApiModelProperty(value= "") @TableField("sheet_no") private String sheetNo; src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -174,7 +174,10 @@ */ List<WrkMast> selectRgvOutWorking(@Param("rgvNo")Integer rgvNo); /*================================================RGV任务绑定相关 ==================================================*/ /*..............................徐工汉云..............以下.............上饶江铜..............................*/ /*...............................Created by Monkey D. Luffy on 2023.07.19................................*/ /*=========================================== RGV任务绑定相关 ========================================*/ /** * 获取等待绑定RGV的任务 @@ -219,5 +222,24 @@ WrkMast selectRgvOutSteNo(@Param("rgvNo")Integer rgvNo); /*================================================RGV任务绑定相关 ==================================================*/ /*=========================================== RGV任务绑定相关 ========================================*/ /*=========================================== 自动补空板相关 ========================================*/ /** * 查找是否存在出库工作中等待RGV搬运的任务 */ List<WrkMast> selectDischargingMachineOutputTray(); int selectConfigCount10468N(); // update Config -- Y @Update("update sys_config set value='Y' where 1=1 and id=10468 and value = 'N'") int updateConfig10468Y(); /*=========================================== 自动补空板相关 ========================================*/ /*..............................上饶江铜..............以上.............徐工汉云..............................*/ } src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -586,6 +586,8 @@ for (WrkMast wrkMast : wrkMasts) { //目标站 Integer staNo = wrkMast.getStaNo(); //源站 Integer sourceStaNo = wrkMast.getSourceStaNo(); //通过目标站搜索rgv号 Integer rgvNo = this.searchRgvNo(staNo); if (rgvNo == null) {//未找到可用的rgv @@ -3258,4 +3260,81 @@ } } } /** * 其他 ===>> 码垛位自动补充空板:驱动拆盘机输出托盘 */ public synchronized void dischargingMachineOutputTray() { try { List<WrkMast> wrkMasts = wrkMastMapper.selectDischargingMachineOutputTray(); if (Cools.isEmpty(wrkMasts) || wrkMasts.size()>3){ return; } // 获取入库站信息 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); StaProtocol staProtocol = devpThread.getStation().get(213); if (staProtocol == null) { log.error("码垛位自动补充空板:驱动拆盘机输出托盘,任务下发失败,站点查询失败"); return; } else { staProtocol = staProtocol.clone(); } if (!staProtocol.isLoading()){ log.info("码垛位自动补充空板:驱动拆盘机输出托盘,任务下发失败,站点无物,正在自动调出空板!"); int i = wrkMastMapper.selectConfigCount10468N(); if (i==1){ wrkMastMapper.updateConfig10468Y(); } return; }else { int i = wrkMastMapper.selectConfigCount10468N(); if (i==0){ return; } } // 判断是否满足入库条件 if (staProtocol.isAutoing() && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk()) { staProtocol.setWorkNo((short)9999); staProtocol.setStaNo((short)214); devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol)); if (!result) { throw new CoolException("更新plc站点信息失败==>码垛位自动补充空板:驱动拆盘机输出托盘!"); } log.info("码垛位自动补充空板:驱动拆盘机输出托盘,任务下发成功:工作号9999、目标站214!"); }else { log.error("码垛位自动补充空板:驱动拆盘机输出托盘,任务下发失败,站点状态不符合!"); } }catch (Exception e){ e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); } } /** * 其他 ===>> 拆盘机处空板扫码,驱动托盘向码垛位,不入库 */ public synchronized void scanBarcodeEmptyBoard() { try { }catch (Exception e){ e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); } } /** * 其他 ===>> 码垛完成驱动托盘下一步扫码入库 */ public synchronized void stackingCompletionDriveTray() { try { }catch (Exception e){ e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); } } } src/main/java/com/zy/core/MainProcess.java
@@ -63,18 +63,19 @@ // 入库 ===>> 执行对工作档的完成操作 mainService.storeFinished(); ///////////////////////RGV调度///////////////////////////////////// //绑定小车方法 mainService.rgvBindSte(); // 入出库 ===>> RGV入出库作业下发 mainService.rgvIoExecute(); // RGV入库 ===>> 根据RGV完成信号,执行对工作档的完成操作 mainService.rgvFinished(); /////////////////////////////////////RGV调度///////////////////////////////////// // //绑定小车方法 // mainService.rgvBindSte(); // // 入出库 ===>> RGV入出库作业下发 // mainService.rgvIoExecute(); // // RGV入库 ===>> 根据RGV完成信号,执行对工作档的完成操作 // mainService.rgvFinished(); // // 入出库 ===>> RGV出库站到系统入出库站 // mainService.rgvDestStnToCrnStn(); // // 出库 ===>> RGV出库站到系统出库站 // mainService.rgvOutDStnToOutStn(); ////////////////////////////////////////////////////////////////// /////////////////////////////////////RGV调度///////////////////////////////////// // 异常信息记录 mainService.recErr(); @@ -85,19 +86,29 @@ // 其他 ===>> LED显示器复位,显示默认信息 mainService.ledReset(); mainService.outOfDevp(); // mainService.outOfDevp(); //空托盘自动出库 mainService.autoEmptyOut(); // //空托盘自动出库 // mainService.autoEmptyOut(); // //空托盘自动入库 // mainService.autoEmptyIn(); // 其他 ===>> 入出库模式切换 i++; if (i > 1) { mainService.ioConvert(); i = 0; } // // 其他 ===>> 入出库模式切换 // i++; // if (i > 1) { // mainService.ioConvert(); // i = 0; // } //码垛位自动补充空板:驱动拆盘机输出托盘 mainService.dischargingMachineOutputTray(); //拆盘机处空板扫码,驱动托盘向码垛位,不入库 mainService.scanBarcodeEmptyBoard(); //码垛完成驱动托盘下一步扫码入库 mainService.stackingCompletionDriveTray(); } catch (Exception e) { e.printStackTrace(); src/main/resources/mapper/WrkMastMapper.xml
@@ -243,7 +243,7 @@ <select id="selectWaitBindRGV" resultMap="BaseResultMap"> select * from dbo.asr_wrk_mast where 1=1 and wrk_sts in (2,22) and wrk_sts in (2,14) and rgv_no is null </select> @@ -264,7 +264,7 @@ </select> <select id="selectRgvInSteNo" resultMap="BaseResultMap"> select top 1 * from dbo.asr_wrk_mast where 1=1 and wrk_sts =12 and rgv_no=#{rgvNo} select top 1 * from dbo.asr_wrk_mast where 1=1 and wrk_sts =14 and rgv_no=#{rgvNo} <if test="rgvNo == 1"> order by rgv_dsta_no </if> @@ -284,5 +284,15 @@ </select> <!-- ==============================================RGV任务绑定相关 ============================================== --> <!-- ==============================================自动补空板相关 ============================================== --> <select id="selectConfigCount10468N" resultMap="BaseResultMap"> select * from dbo.asr_wrk_mast where 1=1 and io_type = 201 </select> <select id="selectExistInEmpty" resultType="java.lang.Integer"> SELECT COUNT(1) FROM dbo.sys_config Where 1=1 and id=10468 and value = 'N' </select> <!-- ==============================================自动补空板相关 ============================================== --> </mapper>