| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import HslCommunication.Core.Types.OperateResultExOne; |
| | | import HslCommunication.Profinet.Siemens.SiemensS7Net; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | |
| | | private BasCrnErrorMapper basCrnErrorMapper; |
| | | @Autowired |
| | | private WrkMastService wrkMastService; |
| | | |
| | | @Value("${wms.url}") |
| | | private String wmsUrl; |
| | | |
| | |
| | | // continue; |
| | | // } |
| | | // } |
| | | //超宽超高没扫到条码报警 |
| | | boolean fig=false; |
| | | for(int i=0;i<8;i++){ |
| | | switch (i){ |
| | | case 0: if(devpThread.startSignal[i]){ |
| | | log.error("前超报警"); |
| | | fig=true; |
| | | }; |
| | | case 1: if(devpThread.startSignal[i]){ |
| | | log.error("后超报警"); |
| | | fig=true; |
| | | }; |
| | | case 2: if(devpThread.startSignal[i]){ |
| | | log.error("高超报警"); |
| | | fig=true; |
| | | }; |
| | | case 3: if(devpThread.startSignal[i]){ |
| | | log.error("左超报警"); |
| | | fig=true; |
| | | }; |
| | | case 4: if(devpThread.startSignal[i]){ |
| | | log.error("右超报警"); |
| | | fig=true; |
| | | }; |
| | | case 5: if(devpThread.startSignal[i]){ |
| | | log.error("超重报警"); |
| | | fig=true; |
| | | }; |
| | | case 6: if(devpThread.startSignal[i]){ |
| | | log.error("未扫到码报警"); |
| | | fig=true; |
| | | }; |
| | | |
| | | } |
| | | } |
| | | if (staProtocol.isAutoing() && staProtocol.isInEnable() |
| | | && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990) |
| | | && staProtocol.isPakMk()) { //&& staProtocol.getStamp()>=2) {// && !Cools.isEmpty(barcode)) { |
| | | && staProtocol.isPakMk() && !fig) { //&& staProtocol.getStamp()>=2) {// && !Cools.isEmpty(barcode)) { |
| | | News.warnNoLog(""+mark+" - 0"+" - 开始执行"); |
| | | // try { |
| | | // Thread.sleep(300); |
| | |
| | | Integer staNo = staDesc.getCrnStn(); |
| | | // 更新工作档数据状态 |
| | | wrkMast.setIoTime(now); |
| | | //盘点入库时,有组托数据,盘点转并板入库 |
| | | List<WaitPakin> waitPakins=waitPakinMapper.selectList(new EntityWrapper<WaitPakin>() |
| | | .eq("barcode",barcode)); |
| | | if(!Cools.isEmpty(waitPakins)){ |
| | | wrkMast.setIoType(54); |
| | | }else{ |
| | | wrkMast.setIoType(wrkMast.getIoType() - 50); // 入出库类型: 103->53,104->54,107->57 |
| | | } |
| | | wrkMast.setIoType(wrkMast.getIoType() - 50); // 入出库类型: 103->53,104->54,107->57 |
| | | wrkMast.setWrkSts(2L); // 工作状态: 2.设备上走 |
| | | wrkMast.setSourceStaNo(100); // 源站 |
| | | wrkMast.setStaNo(staNo); // 目标站 |
| | |
| | | if (wrkMastMapper.updateById(wrkMast) == 0) { |
| | | throw new CoolException("更新工作档数据状态失败"); |
| | | } |
| | | |
| | | |
| | | |
| | | // 更新明细档io_time (历史档关联使用) |
| | | wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now); |
| | | // 修改库位状态 Q.拣料/盘点/并板再入库 |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 接收超宽超高没扫到条码报警 |
| | | * @param mark |
| | | */ |
| | | public synchronized void DevpCallThePolice(Integer mark){ |
| | | // 根据输送线plc遍历 |
| | | for (DevpSlave devp : slaveProperties.getDevp()) { //遍历输送线 |
| | | // 遍历入库口 |
| | | for (DevpSlave.Sta inSta : devp.getInSta()) { // 遍历入库口 |
| | | // 获取入库站信息 |
| | | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); |
| | | StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); |
| | | if(null != devpThread){ |
| | | boolean fig=false; |
| | | for (int i=0;i<8;i++){ |
| | | switch (i){ |
| | | case 0: if(devpThread.startSignal[i]){ |
| | | log.error("前超报警"); |
| | | fig=true; |
| | | }; |
| | | case 1: if(devpThread.startSignal[i]){ |
| | | log.error("后超报警"); |
| | | fig=true; |
| | | }; |
| | | case 2: if(devpThread.startSignal[i]){ |
| | | log.error("高超报警"); |
| | | fig=true; |
| | | }; |
| | | case 3: if(devpThread.startSignal[i]){ |
| | | log.error("左超报警"); |
| | | fig=true; |
| | | }; |
| | | case 4: if(devpThread.startSignal[i]){ |
| | | log.error("右超报警"); |
| | | fig=true; |
| | | }; |
| | | case 5: if(devpThread.startSignal[i]){ |
| | | log.error("超重报警"); |
| | | fig=true; |
| | | }; |
| | | case 6: if(devpThread.startSignal[i]){ |
| | | log.error("未扫到码报警"); |
| | | fig=true; |
| | | }; |
| | | |
| | | } |
| | | } |
| | | //发生报警,退回入库口 |
| | | if(fig){ |
| | | staProtocol.setWorkNo((short)9991); |
| | | staProtocol.setStaNo((short)100); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |