| | |
| | | |
| | | crnOutSiteToRgvSite.put(1093, (short) 1091);crnOutSiteToRgvSite.put(1099, (short) 1097);crnOutSiteToRgvSite.put(1107, (short) 1105); |
| | | |
| | | crnOutSiteToRgvSite2.put(1093, (short) 1091);crnOutSiteToRgvSite2.put(1099, (short) 1097);crnOutSiteToRgvSite2.put(1107, (short) 1105); |
| | | crnOutSiteToRgvSite2.put(1087, (short) 1089);crnOutSiteToRgvSite2.put(1084, (short) 1086);crnOutSiteToRgvSite2.put(1081, (short) 1083); |
| | | crnOutSiteToRgvSite2.put(1043, (short) 1041);crnOutSiteToRgvSite2.put(1016, (short) 1018);crnOutSiteToRgvSite2.put(1008, (short) 1006); |
| | | } |
| | |
| | | /** |
| | | * 罐装线要桶数量减少 |
| | | */ |
| | | private void decreaseWantBucketCount(int site, int decrease) throws InterruptedException { |
| | | private synchronized void decreaseWantBucketCount(int site, int decrease) throws InterruptedException { |
| | | |
| | | int siteNew; |
| | | switch (site) { |
| | |
| | | } |
| | | |
| | | log.info("自动出空桶减少罐装线要桶数成功,站点:{},减少前:{},减少数:{},剩余要桶数:{}", site, count, decrease, remaining); |
| | | Thread.sleep(700); |
| | | } |
| | | |
| | | /** |
| | |
| | | wrkMast.setWorkNoOther(0); // 清空另一个任务号 |
| | | // 修改成功后复位堆垛机 |
| | | if (wrkMastMapper.updateById(wrkMast) > 0) { |
| | | log.info("{}号堆垛机任务完成,申请复位,任务号:{}",crnProtocol.getCrnNo(),crnProtocol.getTaskNo()); |
| | | // 堆垛机复位 |
| | | News.warnNoLog(""+mark+" - 2"+" - 修改成功后复位堆垛机 : 堆垛机号={}",crnThread.getCrnProtocol().getCrnNo()); |
| | | crnThread.setResetFlag(true); |
| | |
| | | wrkMast.setWrkSts(15L); |
| | | wrkMast.setModiTime(new Date()); |
| | | wrkMastService.updateById(wrkMast); |
| | | } else if(wrkMast.getIoType() == 110 && (wrkMast.getStaNo() == 1002 || wrkMast.getStaNo() == 1020 ||wrkMast.getStaNo() == 1035 || wrkMast.getStaNo() == 1024)) { |
| | | } else if(wrkMast.getIoType() == 110 && (wrkMast.getStaNo() == 1002 || wrkMast.getStaNo() == 1020 ||wrkMast.getStaNo() == 1035 |
| | | || wrkMast.getStaNo() == 1024 || wrkMast.getStaNo() == 1016|| wrkMast.getStaNo() == 1043)) { |
| | | if(wrkMast.getWrkSts() != 2 ){ |
| | | log.warn("rgv放货完成110,rgv未复位:rgv号{},任务号:{},任务状态{}",wrkMast.getRgvNo(),wrkMast.getWrkNo(),wrkMast.getWrkSts()); |
| | | continue; |
| | |
| | | // log.info("异常口入库入库目标站点已分配:{}", wrkMast.getStaNo()); |
| | | return; |
| | | } |
| | | |
| | | log.info("异常口入库请求wms前,任务号:{},任务状态:{}",wrkMast.getWrkNo(), wrkMast.getWrkSts()); |
| | | try { |
| | | CanningLineInLocParam param = new CanningLineInLocParam(); |
| | | param.setWrkNo(staProtocol.getWorkNo()); |
| | |
| | | log.info("异常口入库请求wms原始返回:" + response); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | if (jsonObject.getInteger("code").equals(200)) { |
| | | log.error("异常口入库请求接口成功常,url:{},request:{},response:{}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response); |
| | | log.info("异常口入库请求接口成功,url:{},request:{},response:{}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response); |
| | | } else { |
| | | log.error("异常口入库请求接口异常,url:{},request:{},response:{}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response); |
| | | News.error("异常口入库请求接口异常!!!url:{};request:{};response:{}", wmsUrl + "/rpc/pakin/CanningLine/loc/v1", JSON.toJSONString(param), response); |
| | |
| | | } |
| | | |
| | | // 站点条件判断 |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.getWorkNo() == 0) { |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.getWorkNo() == 0 && staProtocol.isHigh()) { |
| | | if(site == 1019 && staProtocol.getHideWorkNo() != 0) { |
| | | WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getHideWorkNo())); |
| | | if(wrkMast1 != null && wrkMast1.getWrkSts() != 15) { |
| | | News.warn("空托出库未完成,无法转空托入库任务,任务号:{},当前状态:{}",wrkMast1.getWrkNo(),wrkMast1.getWrkSts()); |
| | | continue; |
| | | } |
| | | } |
| | | int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 10).eq("source_sta_no", site)); |
| | | if (count >= 2) { |
| | | News.warn("限制{}空母托叠盘入库数小于2,当前:{}", site, count); |
| | | } |
| | | try { |
| | | SearchLocParam param = new SearchLocParam(); |
| | |
| | | // 根据罐装线反馈任务号查询工作档 |
| | | WrkMast wrkMast = wrkMastService.selectById(staProtocol.getWrkNo()); |
| | | if(wrkMast == null) { |
| | | log.error("出罐装线货物任务号工作档不存在:{}",staProtocol.getWrkNo()); |
| | | News.error("出罐装线货物任务号工作档不存在:{}",staProtocol.getWrkNo()); |
| | | continue; |
| | | } else if(wrkMast.getWrkSts() != 2) { |
| | | log.error("出罐装线货物任务号工作档状态异常,不为2:{}",staProtocol.getWrkNo()); |
| | |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.getWorkNo() != 0) { |
| | | // 查询工作档 |
| | | WrkMast wrkMast = wrkMastMapper.selectByWrkNo(staProtocol.getWorkNo()); |
| | | if (wrkMast != null && wrkMast.getWhsType() == null && wrkMast.getIoType() != 120) { |
| | | if (wrkMast != null && wrkMast.getWhsType() == null) { |
| | | WrkDetl wrkDetl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); |
| | | staProtocol.setBucketType(wrkDetl.getMatnr()); |
| | | staProtocol.setBucketCount(wrkDetl.getAnfme().intValue()); |
| | | if(wrkMast.getIoType() == 120) { |
| | | staProtocol.setBucketType("1"); |
| | | staProtocol.setBucketCount(1); |
| | | } else { |
| | | staProtocol.setBucketType(wrkDetl.getMatnr()); |
| | | staProtocol.setBucketCount(wrkDetl.getAnfme().intValue()); |
| | | } |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, inGzxSiteList.indexOf(site) + 4, new Task(4, staProtocol)); |
| | | if (result) { |
| | | log.info("告诉罐装线入库桶信息命令队列推送成功:" + staProtocol.getWorkNo() + "," +"托盘码:" + wrkMast.getBarcode() +"," + site + "," + staProtocol.getBucketType() +"," + staProtocol.getBucketCount()); |
| | |
| | | } |
| | | |
| | | // 站点条件判断 |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk()) { |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0) { |
| | | // 更新站点信息 且 下发plc命令 |
| | | StaProtocol staProtocolNew = new StaProtocol(); |
| | | staProtocolNew.setSiteId(staProtocol.getSiteId()); |
| | |
| | | staProtocolNew.setStaNo(crnOutSiteToRgvSite2.get(wrkMast.getSourceStaNo()) != null ? crnOutSiteToRgvSite2.get(wrkMast.getSourceStaNo()) :wrkMast.getSourceStaNo().shortValue()); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devpId, new Task(2, staProtocolNew)); |
| | | Integer siteId = staProtocol.getSiteId(); |
| | | if(siteId == 1081 || siteId == 1084 || siteId == 1087) { |
| | | staProtocol.setPlaceableFlag(1); |
| | | MessageQueue.offer(SlaveType.Devp, outGzxSiteList.indexOf(staProtocol.getSiteId()) + 4, new Task(5, staProtocol)); |
| | | } |
| | | log.info("手动站位转移输送线下发:" + staProtocolNew.getWorkNo() + "," + staProtocolNew.getSiteId() + "->" + staProtocolNew.getStaNo()); |
| | | if (!result) { |
| | | News.errorNoLog("" + " - 1" + " - 更新plc站点信息失败"); |