| | |
| | | String batch2 = ""; |
| | | short type = 0; |
| | | short type2 = 0; |
| | | short anfme = 1; |
| | | short anfme2 = 1; |
| | | short anfme = 4; |
| | | short anfme2 = 4; |
| | | Double weight = 0d; |
| | | Double weight2 = 0d; |
| | | Double weight11 = 0d; |
| | | String memo = ""; |
| | | String memo2 = ""; |
| | | |
| | | List<RgvSlave.Sta> inStn1 = rgvSlave.getInStn(); |
| | | if (rgvProtocol.getColumnNumber()>4){ |
| | |
| | | sta1 = Utils.getRgvStaNo(rgvSlave.getId(),2103); |
| | | } else if (inStn.getSourceStaNo() == 4007 && staProtocol.getTongType() == 2) { |
| | | sta1 = Utils.getRgvStaNo(rgvSlave.getId(),2002); |
| | | } else if (inStn.getSourceStaNo() == 4007 && staProtocol.getTongType() == 4) { |
| | | if (staProtocol.getStaNoEnd() == 3007 || staProtocol.getStaNoEnd() == 3012){ |
| | | sta1 = Utils.getRgvStaNo(rgvSlave.getId(),2103); |
| | | } else if (staProtocol.getStaNoEnd() == 2001 ){ |
| | | sta1 = Utils.getRgvStaNo(rgvSlave.getId(),2002); |
| | | } else { |
| | | log.error("4007站点,桶型4,非法目标站!!!!!!"+staProtocol.getStaNoEnd().toString()); |
| | | continue; |
| | | } |
| | | workNo1 = commonService.getWorkNo(3); |
| | | Date now = new Date(); |
| | | // 保存工作档 |
| | | WrkMast wrkMast = new WrkMast(); |
| | | wrkMast.setWrkNo(workNo1); |
| | | wrkMast.setIoTime(now); |
| | | wrkMast.setWrkSts(101L); // 工作状态:101.初始 |
| | | wrkMast.setIoType(199); // 入出库状态: 199.转移 |
| | | wrkMast.setIoPri(15D); |
| | | wrkMast.setCrnNo(0); |
| | | wrkMast.setSourceStaNo(4007); // 源站 |
| | | wrkMast.setStaNo(staProtocol.getStaNoEnd().intValue()); // 目标站 |
| | | wrkMast.setFullPlt("N"); // 满板 |
| | | wrkMast.setPicking("N"); // 拣料 |
| | | wrkMast.setExitMk("N"); // 退出 |
| | | wrkMast.setEmptyMk("Y"); // 空板 |
| | | wrkMast.setBarcode("KB888888"); // 托盘码 |
| | | wrkMast.setLinkMis("N"); |
| | | wrkMast.setCtnNo("Y"); // 入库阻塞库位移转标记 |
| | | wrkMast.setAppeTime(now); |
| | | wrkMast.setModiTime(now); |
| | | int res = wrkMastMapper.insert(wrkMast); |
| | | if (res == 0) { |
| | | // throw new CoolException(""); |
| | | log.error("4007站点,桶型4,保存工作档主档失败!!!!!!"+now.toString()); |
| | | continue; |
| | | } |
| | | } else if (inStn.getSourceStaNo() == 2102 && staProtocol.isFullPlt()) { |
| | | sta1 = Utils.getRgvStaNo(rgvSlave.getId(),2301); |
| | | } else { |
| | |
| | | if (inStn.getSourcePlcId() == 4 || inStn.getSourcePlcId() ==5){ //灌装站需要获取输送线物料代码 |
| | | matnr = staProtocol.getMatnr(); |
| | | batch = staProtocol.getBatch(); |
| | | anfme = staProtocol.getAnfme().shortValue(); |
| | | anfme2 = staProtocol.getAnfme2().shortValue(); |
| | | weight = staProtocol.getWeight1(); |
| | | weight2 = staProtocol.getWeight2(); |
| | | anfme = Cools.isEmpty(staProtocol.getAnfme()) ? anfme:staProtocol.getAnfme().shortValue(); |
| | | weight11 = staProtocol.getWeight1(); |
| | | weight = weight11; |
| | | String memoBool = staProtocol.isBan()? "存在":"不存在"; |
| | | memo = memoBool+"半桶"; |
| | | } |
| | | |
| | | devpThread.setPakMk(inStn.getSourceStaNo(),false); |
| | | break; |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | sta2 = Utils.getRgvStaNo(rgvSlave.getId(),2103); |
| | | } else if (inStn.getSourceStaNo() == 4007 && staProtocol.getTongType() == 2) { |
| | | sta2 = Utils.getRgvStaNo(rgvSlave.getId(),2002); |
| | | } else if (inStn.getSourceStaNo() == 4007 && staProtocol.getTongType() == 4) { |
| | | if (staProtocol.getStaNoEnd() == 3007 || staProtocol.getStaNoEnd() == 3012){ |
| | | sta2 = Utils.getRgvStaNo(rgvSlave.getId(),2103); |
| | | } else if (staProtocol.getStaNoEnd() == 2001 ){ |
| | | sta2 = Utils.getRgvStaNo(rgvSlave.getId(),2002); |
| | | } else { |
| | | log.error("4007站点,桶型4,非法目标站!!!!!!"+staProtocol.getStaNoEnd().toString()); |
| | | continue; |
| | | } |
| | | workNo2 = commonService.getWorkNo(3); |
| | | Date now = new Date(); |
| | | // 保存工作档 |
| | | WrkMast wrkMast = new WrkMast(); |
| | | wrkMast.setWrkNo(workNo2); |
| | | wrkMast.setIoTime(now); |
| | | wrkMast.setWrkSts(101L); // 工作状态:101.初始 |
| | | wrkMast.setIoType(199); // 入出库状态: 199.转移 |
| | | wrkMast.setIoPri(15D); |
| | | wrkMast.setCrnNo(0); |
| | | wrkMast.setSourceStaNo(4007); // 源站 |
| | | wrkMast.setStaNo(staProtocol.getStaNoEnd().intValue()); // 目标站 |
| | | wrkMast.setFullPlt("N"); // 满板 |
| | | wrkMast.setPicking("N"); // 拣料 |
| | | wrkMast.setExitMk("N"); // 退出 |
| | | wrkMast.setEmptyMk("Y"); // 空板 |
| | | wrkMast.setBarcode("KB888888"); // 托盘码 |
| | | wrkMast.setLinkMis("N"); |
| | | wrkMast.setCtnNo("Y"); // 入库阻塞库位移转标记 |
| | | wrkMast.setAppeTime(now); |
| | | wrkMast.setModiTime(now); |
| | | int res = wrkMastMapper.insert(wrkMast); |
| | | if (res == 0) { |
| | | // throw new CoolException(""); |
| | | log.error("4007站点,桶型4,保存工作档主档失败!!!!!!"+now.toString()); |
| | | continue; |
| | | } |
| | | }else if (inStn.getSourceStaNo() == 2102 && staProtocol.isFullPlt()) { |
| | | sta2 = Utils.getRgvStaNo(rgvSlave.getId(),2301); |
| | | } else { |
| | |
| | | if (inStn.getSourcePlcId() == 4){ |
| | | matnr2 = staProtocol.getMatnr(); |
| | | batch2 = staProtocol.getBatch(); |
| | | anfme2 = Cools.isEmpty(staProtocol.getAnfme2()) ? anfme2:staProtocol.getAnfme2().shortValue(); |
| | | weight11 = staProtocol.getWeight1(); |
| | | weight2 = weight11; |
| | | String memoBool = staProtocol.isBan()? "存在":"不存在"; |
| | | memo2 = memoBool+"半桶"; |
| | | } |
| | | devpThread.setPakMk(inStn.getSourceStaNo(),false); |
| | | break; |
| | |
| | | command.setTaskMode(RgvTaskModeType.FETCH_PUT_ALL); // 任务模式: all取放货 |
| | | } |
| | | command.setCommand(false); |
| | | rgvTaskSave(command); |
| | | rgvTaskSave(command,memo,memo2); |
| | | MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(2, command)); |
| | | log.info("rgv任务下发:"+JSON.toJSONString(command)); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101){ |
| | | Date date = new Date(); |
| | | wrkMast.setWrkSts(14L); |
| | | wrkMast.setModiTime(date); |
| | | wrkMastService.updateById(wrkMast); |
| | | } else if (wrkMast.getIoType()==199){ |
| | | Date date = new Date(); |
| | | wrkMast.setWrkSts(105L); |
| | | wrkMast.setModiTime(date); |
| | | wrkMastService.updateById(wrkMast); |
| | | } |
| | |
| | | wrkMast.setWrkSts(14L); |
| | | wrkMast.setModiTime(date); |
| | | wrkMastService.updateById(wrkMast); |
| | | } else if (wrkMast.getIoType()==199 && wrkMast.getStaNo()==2001){ |
| | | Date date = new Date(); |
| | | wrkMast.setWrkSts(105L); |
| | | wrkMast.setModiTime(date); |
| | | wrkMastService.updateById(wrkMast); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | public boolean rgvTaskSave(RgvCommand command){ |
| | | public boolean rgvTaskSave(RgvCommand command,String memo,String memo2){ |
| | | // Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", command.getRgvNo()).eq("wrk_no", command.getTaskNo1()); |
| | | if (command.getTaskNo1() > 0){ |
| | | List<WrkMastSta> wrkMastSta1 = wrkMastStaService.selectBywrkNoHistoricalTasks(command.getRgvNo(),command.getTaskNo1()); |
| | |
| | | wrkMastSta.setAnfme2(command.getAnfme2().intValue()); |
| | | wrkMastSta.setWeight(command.getWeight()); |
| | | wrkMastSta.setWeight2(command.getWeight2()); |
| | | wrkMastSta.setMemo(memo); |
| | | wrkMastSta.setMemo2(memo2); |
| | | |
| | | return wrkMastStaService.insert(wrkMastSta); |
| | | } |
| | |
| | | public void CreateComb(String barcode,Integer code,Integer wrkNo,String batch,DevpSlave.Sta inSta) throws IOException { |
| | | Double anfme = 0d; |
| | | Double weight = 0d; |
| | | String memo = ""; |
| | | |
| | | WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkNo)); |
| | | if (Cools.isEmpty(wrkMastSta)){ |
| | |
| | | anfme = wrkMastSta.getAnfme2().doubleValue(); |
| | | code = wrkMastSta.getMatnr2(); |
| | | weight = wrkMastSta.getWeight2(); |
| | | memo = wrkMastSta.getMemo2(); |
| | | } |
| | | }else { |
| | | batch = wrkMastSta.getBatch(); |
| | | anfme = wrkMastSta.getAnfme().doubleValue(); |
| | | code = wrkMastSta.getMatnr1(); |
| | | weight = wrkMastSta.getWeight(); |
| | | memo = wrkMastSta.getMemo(); |
| | | } |
| | | MatnrCode matnrCode = matnrCodeService.selectByCode(code); |
| | | if (Cools.isEmpty(matnrCode)){ |
| | |
| | | combMat.setMatnr(matnrCode.getMatnr()); |
| | | combMat.setBatch(batch); |
| | | combMat.setAnfme(anfme); |
| | | combMat.setWeight(weight); |
| | | combMat.setMemo(memo); |
| | | |
| | | combMats.add(combMat); |
| | | combParam.setCombMats(combMats); |
| | |
| | | }else { |
| | | log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/mobile/comb/auth", JSON.toJSONString(combParam), response); |
| | | // log.info("{}号条码扫描器检测条码信息:{}", inSta.getBarcode(), barcode); |
| | | //条码为空或者不符合,退库到 |
| | | LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); |
| | | if (ledThread != null) { |
| | | String errorMsg = "扫码失败,请重试"; |
| | | MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); |
| | | } |
| | | //条码为空或者不符合,退库信号下发 |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, 2, new Task(3, null)); |
| | | } |
| | | } |
| | | |