src/main/java/com/zy/asrs/entity/WrkMastSta.java
@@ -106,7 +106,7 @@ private Integer lineNumber; /** * 工作类型 * 工作类型 1:取(叠盘) 2:拆盘 3:取放 5:满取 6:满放 */ @ApiModelProperty(value = "工作类型 1:取(叠盘) 2:拆盘 3:取放 5:满取 6:满放") @TableField("wrk_type") @@ -212,5 +212,72 @@ } } public String getType$() { if (Cools.isEmpty(this.type)) { return ""; } switch (this.type) { case 1: return "非空"; case 2: return "空板"; default: return ""; } } /** * 工作状态 0:初始 1:等待小车取 2:等待小车放 3:完成 */ public String getWrkSts$() { if (Cools.isEmpty(this.wrkSts)) { try { if (this.wrkSts==0){ return "初始"; } }catch (Exception e){ return ""; } return ""; } switch (this.wrkSts) { case 0: return "初始"; case 1: return "等待小车取"; case 2: return "等待小车放"; case 3: return "完成"; default: return ""; } } /** * 工作类型 1:取(叠盘) 2:拆盘 3:取放 5:满取 6:满放 */ public String getWrkType$() { if (Cools.isEmpty(this.wrkType)) { return ""; } switch (this.wrkType) { case 1: return "叠盘"; case 2: return "拆盘"; case 3: return "取放"; case 4: return "行走"; case 5: return "满取"; case 6: return "满放"; default: return ""; } } } src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
@@ -59,11 +59,11 @@ public TrussCombParam(){} public TrussCombParam( WrkDetl wrkDetl){ this.barcode = wrkDetl.getBarcode(); public TrussCombParam( WrkDetl wrkDetl,Integer staEnd){ this.barcode = wrkDetl.getZpallet(); this.staStart = 147; this.palletizingNo2 = 118; this.staEnd = 118; this.palletizingNo2 = staEnd; this.staEnd = staEnd; this.boxType = wrkDetl.getBrand(); this.uuid = wrkDetl.getBarcode(); this.orderNo = wrkDetl.getOrderNo(); @@ -74,7 +74,7 @@ matList.setAnfme(wrkDetl.getAnfme().intValue()); matList.setBatch(wrkDetl.getBatch()); matList.setBoxNo(wrkDetl.getBatch()); matList.setPosition("1"); matList.setPosition(wrkDetl.getOrigin()); matList.setWeight(wrkDetl.getWeight()); matLists.add(matList); src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -14,6 +14,7 @@ // @Select("select * from asr_wrk_mast where ((wrk_sts = 4 Or wrk_sts = 14 ) and io_type <> 103 and io_type <> 104 and io_type <> 107 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,io_time,wrk_no") List<WrkMast> selectToBeCompleteData(); List<WrkMast> selectToBeCompleteData202(); List<WrkMast> selectToBeHistoryData(); src/main/java/com/zy/asrs/service/WrkMastService.java
@@ -10,6 +10,7 @@ int getWorkingMast(Integer devpNo); List<WrkMast> selectToBeCompleteData(); List<WrkMast> selectToBeCompleteData202(); List<WrkMast> selectToBeHistoryData(); src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -301,7 +301,7 @@ waitPakin.setVolume(orderDetl.getVolume()); //毛重 waitPakin.setPrice(orderDetl.getPrice()); //长度 waitPakin.setSpecs(String.valueOf(orderDetl.getSpecs())); //接头 waitPakin.setOrigin("2"); //木箱在托盘上的位置 waitPakin.setOrigin("1"); //木箱在托盘上的位置 waitPakin.setIoStatus("Y"); // 入出状态 waitPakin.setAnfme(orderDetl.getAnfme()); // 木箱中铜箔数量 waitPakin.setWeight(orderDetl.getWeight()); // 木箱中铜箔净重 src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -26,6 +26,11 @@ } @Override public List<WrkMast> selectToBeCompleteData202() { return this.baseMapper.selectToBeCompleteData202(); } @Override public List<WrkMast> selectToBeHistoryData() { return this.baseMapper.selectToBeHistoryData(); } src/main/java/com/zy/asrs/task/BareBoardScheduler.java
@@ -53,7 +53,9 @@ boolean sign = true; WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>() .eq("type", 2).eq("wrk_sts", 0).eq("wrk_type", 2)); if (Cools.isEmpty(wrkMastSta)){ WrkMastSta wrkMastSta2 = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>() .eq("type", 2).eq("wrk_sts", 0).eq("wrk_type", 1)); if (Cools.isEmpty(wrkMastSta) || !Cools.isEmpty(wrkMastSta2)){ sign=false; } RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign")); src/main/java/com/zy/asrs/task/OneLouHangJiaScheduler.java
@@ -1,5 +1,9 @@ package com.zy.asrs.task; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.zy.asrs.entity.WrkMastSta; import com.zy.asrs.service.WrkMastStaService; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.handler.OneLouHangJiaHandler; import com.zy.asrs.task.handler.RailwayPlatformHandler; @@ -16,12 +20,20 @@ @Autowired private OneLouHangJiaHandler oneLouHangJiaHandler; @Autowired private WrkMastStaService wrkMastStaService; @Scheduled(cron = "0/3 * * * * ? ") private void execute(){//退库拆码垛 int[] staNos =new int[]{147}; // int[] staNos =new int[]{118,119}; int[] staNos =new int[]{118}; for (int staNo : staNos){ ReturnT<String> result = oneLouHangJiaHandler.start(staNo); WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("sta_end",staNo) .eq("type", 2).eq("wrk_sts", 0).eq("wrk_type", 2)); if (!Cools.isEmpty(wrkMastSta)){ break; } ReturnT<String> result = oneLouHangJiaHandler.start(147,staNo); if (result.getCode()==200){ break; } src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -51,4 +51,18 @@ } } @Scheduled(cron = "0/3 * * * * ? ") private void execute202(){ List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData202(); if (wrkMasts.isEmpty()) { return; } for (WrkMast wrkMast : wrkMasts) { wrkMast.setWrkSts(57L); if (!wrkMastService.updateById(wrkMast)) { log.error("工作档[workNo={}]转完成处理失败", wrkMast.getWrkNo()); } } } } src/main/java/com/zy/asrs/task/handler/OneLouHangJiaHandler.java
@@ -57,8 +57,9 @@ @Value("${srHangJia.reportInPath}") private String reportOutPath; public ReturnT<String> start(int staNo) { public ReturnT<String> start(int staNo,int staNoEnd) { try { Integer staOther = getStaOther(staNoEnd); BasDevp basDevp = basDevpService.selectById(staNo); if (Cools.isEmpty(basDevp) || basDevp.getWrkNo()==0 || !basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("Y") || !basDevp.getInEnable().equals("Y")){ @@ -83,19 +84,18 @@ || Cools.isEmpty(wrkDetl.getBrand())){ return FAIL; } BasDevp basDevp118 = basDevpService.selectById(118); if (Cools.isEmpty(basDevp118) || !basDevp118.getAutoing().equals("Y") || basDevp118.getReportSign()!=0 ){ BasDevp basDevpEnd = basDevpService.selectById(staNoEnd); if (Cools.isEmpty(basDevpEnd) || !basDevpEnd.getAutoing().equals("Y") || basDevpEnd.getReportSign()!=0 ){ return FAIL; } BasDevp basDevp119 = basDevpService.selectById(119); if (Cools.isEmpty(basDevp119) || basDevp119.getReportSign()!=0){ BasDevp basDevpOther = basDevpService.selectById(staOther); if (Cools.isEmpty(basDevpOther) || basDevpOther.getReportSign()!=0){ return FAIL; } if (basDevp118.getLoading().equals("Y") && basDevp118.getEmptyMk().equals("Y")){ if (basDevpEnd.getLoading().equals("Y") && basDevpEnd.getEmptyMk().equals("Y")){ //生成机械臂任务 TrussCombParam trussCombParam = new TrussCombParam(wrkDetl); TrussCombParam trussCombParam = new TrussCombParam(wrkDetl,staNoEnd); try{ ReturnT<String> success = postMesData(reportOutPath, trussCombParam); if (success.getCode()!=200){ @@ -106,24 +106,26 @@ wrkMastService.updateById(wrkMast); basDevp.setReportSign(3); basDevpService.updateById(basDevp); basDevp118.setReportSign(3); basDevpService.updateById(basDevp118); basDevpEnd.setReportSign(3); basDevpService.updateById(basDevpEnd); wrkDetl.setOrigin(trussCombParam.getPalletizingNo2()==118? "2":"1"); wrkDetlService.update(wrkDetl,new EntityWrapper<WrkDetl>().eq("wrk_no",wrkDetl.getWrkNo())); } return SUCCESS; } catch (Exception e){ log.error("桁架上位软件退库失败"+e); return FAIL; } }else if (!basDevp118.getLoading().equals("Y") ){ }else if (!basDevpEnd.getLoading().equals("Y") ){ Thread.sleep(1000); basDevp118 = basDevpService.selectById(118); if (Cools.isEmpty(basDevp118) || !basDevp118.getAutoing().equals("Y") || basDevp118.getReportSign()!=0 || !basDevp118.getLoading().equals("Y") ){ basDevpEnd = basDevpService.selectById(staNoEnd); if (Cools.isEmpty(basDevpEnd) || !basDevpEnd.getAutoing().equals("Y") || basDevpEnd.getReportSign()!=0 || !basDevpEnd.getLoading().equals("Y") ){ return FAIL; } WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no",118 + 19999L)); WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no",staNoEnd + 19999L)); if (Cools.isEmpty(wrkMastSta)){ //生成拆盘任务 WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),118); WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staNoEnd); wrkMastSta1.setType(2); //类型 1:非空 2:空板 wrkMastSta1.setWrkType(2); //工作类型 1:取(叠盘) 2:拆盘 3:取放 5:满取 6:满放 wrkMastStaService.insert(wrkMastSta1); @@ -176,4 +178,20 @@ } return SUCCESS; } public Integer getStaOther(Integer staNo){ switch (staNo){ case 118: return 119; case 119: return 118; case 120: return 121; case 121: return 120; default: return 0; } } } src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -65,11 +65,13 @@ if (!Cools.isEmpty(wrkMast.getBarcode())) { // 保存入库通知档历史档 if (!waitPakinLogService.save(wrkMast.getBarcode())) { exceptionHandle("保存入库通知档历史档[workNo={0}]失败", wrkMast.getWrkNo()); // exceptionHandle("保存入库通知档历史档[workNo={0}]失败", wrkMast.getWrkNo()); log.error("保存入库通知档历史档[workNo={"+wrkMast.getWrkNo()+"}]失败"); } // 删除入库通知档 if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()))) { exceptionHandle("删除入库通知档[workNo={0}]失败", wrkMast.getWrkNo()); // exceptionHandle("删除入库通知档[workNo={0}]失败", wrkMast.getWrkNo()); log.error("删除入库通知档[workNo={"+wrkMast.getWrkNo()+"}]失败"); } } // // 手动入库生成单据 【 上报三方平台 】 src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java
@@ -213,11 +213,11 @@ if (locDetlList.size()==0){ continue; } if (sign>lists.size()/2) { //120、121 staA=120; staB=121; } // if (sign>lists.size()/2) { // //120、121 // staA=120; // staB=121; // } List<StockOutParam.LocDetl> locDetlsA = new ArrayList<>(); List<StockOutParam.LocDetl> locDetlsB = new ArrayList<>(); List<String> locNos = new ArrayList<>(); src/main/resources/mapper/WrkMastMapper.xml
@@ -66,6 +66,10 @@ select * from asr_wrk_mast where ((wrk_sts = 4 Or wrk_sts = 14 ) and io_type != 103 and io_type != 104 and io_type != 107 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,error_time,io_time,wrk_no </select> <select id="selectToBeCompleteData202" resultMap="BaseResultMap"> select * from asr_wrk_mast where wrk_sts = 52 and io_type = 202 and wrk_no not in (select wrk_no from asr_bas_devp)) order by upd_mk,error_time,io_time,wrk_no </select> <select id="selectToBeHistoryData" resultMap="BaseResultMap"> select * from asr_wrk_mast where wrk_sts=5 src/main/webapp/static/js/wrkMastSta/wrkMastSta.js
@@ -28,10 +28,10 @@ ,{field: 'wrkEnd', align: 'center',title: '工作档结束位置',hide: false} ,{field: 'staStart', align: 'center',title: '小车接货位置',hide: false} ,{field: 'staEnd', align: 'center',title: '小车放货位置',hide: false} ,{field: 'type', align: 'center',title: '类型',hide: false} ,{field: 'wrkSts', align: 'center',title: '工作状态',hide: false} ,{field: 'type$', align: 'center',title: '类型',hide: false} ,{field: 'wrkSts$', align: 'center',title: '工作状态',hide: false} ,{field: 'lineNumber', align: 'center',title: '行号',hide: true} ,{field: 'wrkType', align: 'center',title: '工作类型',hide: false} ,{field: 'wrkType$', align: 'center',title: '工作类型',hide: false} ,{field: 'bignTime$', align: 'center',title: '标记时间',hide: false} ,{field: 'createTime$', align: 'center',title: '添加时间',hide: true} ,{field: 'updateTime$', align: 'center',title: '修改时间',hide: false} @@ -151,7 +151,7 @@ admin.open({ type: 1, area: '600px', title: (mData ? '修改' : '添加') + '订单状态', title: (mData ? '修改' : '添加') + '小车作业状态', content: $('#editDialog').html(), success: function (layero, dIndex) { layDateRender(mData); src/main/webapp/views/wrkMastSta/wrkMastSta.html
@@ -49,7 +49,7 @@ <script type="text/html" id="toolbar"> <div class="layui-btn-container"> <!-- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button>--> <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button> <!-- <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">删除</button>--> <!-- <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">导出</button>--> </div> @@ -102,48 +102,84 @@ <input class="layui-input" name="staEnd" placeholder="请输入小车放货位置" lay-vertype="tips" lay-verify="required"> </div> </div> <!-- <div class="layui-form-item">--> <!-- <label class="layui-form-label">添加时间: </label>--> <!-- <div class="layui-input-block">--> <!-- <input class="layui-input" name="createTime" id="createTime$" placeholder="请输入添加时间">--> <!-- </div>--> <!-- </div>--> <!-- <div class="layui-form-item">--> <!-- <label class="layui-form-label">修改时间: </label>--> <!-- <div class="layui-input-block">--> <!-- <input class="layui-input" name="updateTime" id="updateTime$" placeholder="请输入修改时间">--> <!-- </div>--> <!-- </div>--> <!-- <div class="layui-form-item">--> <!-- <label class="layui-form-label layui-form-required">类型 1:非空 2:空板: </label>--> <!-- <div class="layui-input-block">--> <!-- <input class="layui-input" name="type" placeholder="请输入类型 1:非空 2:空板" lay-vertype="tips" lay-verify="required">--> <!-- </div>--> <!-- </div>--> <!-- 类型 --> <div class="layui-form-item"> <label class="layui-form-label">添加时间: </label> <div class="layui-input-block"> <input class="layui-input" name="createTime" id="createTime$" placeholder="请输入添加时间"> <label class="layui-form-label layui-form-required">类型:</label> <div class="layui-input-inline"> <select name="type"> <option value="1">1.非空</option> <option value="2">2.空板</option> </select> </div> </div> <!-- 类型 --> <div class="layui-form-item"> <label class="layui-form-label">修改时间: </label> <div class="layui-input-block"> <input class="layui-input" name="updateTime" id="updateTime$" placeholder="请输入修改时间"> <label class="layui-form-label layui-form-required">工作状态:</label> <div class="layui-input-inline"> <select name="wrkSts"> <option value="0">0.初始</option> <option value="1">1.等待小车取</option> <option value="2">2.等待小车放</option> <option value="3">3.完成</option> </select> </div> </div> <!-- 类型 --> <div class="layui-form-item"> <label class="layui-form-label layui-form-required">类型 0:非空 1:空板: </label> <div class="layui-input-block"> <input class="layui-input" name="type" placeholder="请输入类型 0:非空 1:空板" lay-vertype="tips" lay-verify="required"> <label class="layui-form-label layui-form-required">工作类型</label> <div class="layui-input-inline"> <select name="wrkType"> <option value="1">叠盘</option> <option value="2">拆盘</option> <option value="3">取放</option> <!-- <option value="2">2.行走</option>--> <option value="5">满取</option> <option value="6">满放</option> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label layui-form-required">工作状态 0:初始 1:等待小车取 2:等待小车放 3:完成: </label> <div class="layui-input-block"> <input class="layui-input" name="wrkSts" placeholder="请输入工作状态 0:初始 1:等待小车取 2:等待小车放 3:完成" lay-vertype="tips" lay-verify="required"> </div> </div> <!-- <div class="layui-form-item">--> <!-- <label class="layui-form-label layui-form-required">工作状态 0:初始 1:等待小车取 2:等待小车放 3:完成: </label>--> <!-- <div class="layui-input-block">--> <!-- <input class="layui-input" name="wrkSts" placeholder="请输入工作状态 0:初始 1:等待小车取 2:等待小车放 3:完成" lay-vertype="tips" lay-verify="required">--> <!-- </div>--> <!-- </div>--> <div class="layui-form-item"> <label class="layui-form-label layui-form-required">行号: </label> <div class="layui-input-block"> <input class="layui-input" name="lineNumber" placeholder="请输入行号" lay-vertype="tips" lay-verify="required"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label layui-form-required">工作类型: </label> <div class="layui-input-block"> <input class="layui-input" name="wrkType" placeholder="请输入工作类型" lay-vertype="tips" lay-verify="required"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">标记时间: </label> <div class="layui-input-block"> <input class="layui-input" name="bignTime" id="bignTime$" placeholder="请输入标记时间"> </div> </div> <!-- <div class="layui-form-item">--> <!-- <label class="layui-form-label layui-form-required">工作类型: </label>--> <!-- <div class="layui-input-block">--> <!-- <input class="layui-input" name="wrkType" placeholder="请输入工作类型" lay-vertype="tips" lay-verify="required">--> <!-- </div>--> <!-- </div>--> <!-- <div class="layui-form-item">--> <!-- <label class="layui-form-label">标记时间: </label>--> <!-- <div class="layui-input-block">--> <!-- <input class="layui-input" name="bignTime" id="bignTime$" placeholder="请输入标记时间">--> <!-- </div>--> <!-- </div>--> </div> </div>