| | |
| | | // 源站点状态检测 |
| | | BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true); |
| | | // 检索库位 |
| | | LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); |
| | | LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo,""); |
| | | // List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList()); |
| | | // List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList()); |
| | | FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(param.getList().get(0)); |
| | |
| | | wrkDetl.setAppeUser(userId); |
| | | wrkDetl.setModiTime(now); |
| | | wrkDetl.setModiUser(userId); |
| | | wrkDetl.setMatnr(detlDto.getLocDetl().getMatnr()); |
| | | wrkDetl.setMaktx(detlDto.getLocDetl().getMaktx()); |
| | | wrkDetl.setUnit(detlDto.getLocDetl().getUnit()); |
| | | wrkDetl.setSpecs(detlDto.getLocDetl().getSpecs()); |
| | | wrkDetl.setUnit(detlDto.getLocDetl().getUnit()); |
| | | wrkDetl.setModel(detlDto.getLocDetl().getModel()); |
| | | if (!wrkDetlService.insert(wrkDetl)) { |
| | | throw new CoolException("保存工作档明细失败"); |
| | | } |
| | |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void stockOut(BasDevp staNo, TaskDto taskDto, Long userId) { |
| | | public void stockOut(BasDevp staNo, TaskDto taskDto, Long userId,Integer ioPri) { |
| | | Date now = new Date(); |
| | | List<LocDto> locDtos = taskDto.getLocDtos(); |
| | | for (LocDto locDto : locDtos) { |
| | |
| | | String orderNo = taskDto.getLocDtos().get(0).getOrderNo(); |
| | | OrderPakout orderPakout = orderPakOutService.selectByNo(orderNo); |
| | | int ioType = orderPakout.getDocType() == 8 ? 107 : (taskDto.isAll() ? 101 : 103); |
| | | StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); |
| | | // StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); |
| | | // 生成工作号 |
| | | int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); |
| | | |
| | | //出库任务堆垛机出库站点指定 |
| | | String SourceStaNo = ""; |
| | | String StaNo = ""; |
| | | if(locMast.getLocType3()==2&&orderPakout.getDocType()==11){ |
| | | SourceStaNo = "301"; |
| | | StaNo = "303"; |
| | | }else if (locMast.getLocType3()==2&&!Cools.isEmpty(orderPakout.getCstmrName())){ |
| | | SourceStaNo = "307"; |
| | | StaNo = "307"; |
| | | }else if (locMast.getLocType3()==1&&locMast.getLocType2()==1){ |
| | | SourceStaNo = "402"; |
| | | StaNo = "402"; |
| | | }else if (locMast.getLocType3()==1&&locMast.getLocType2()==2){ |
| | | SourceStaNo = "401"; |
| | | StaNo = "401"; |
| | | } |
| | | |
| | | // 生成工作档 |
| | | WrkMast wrkMast = new WrkMast(); |
| | | wrkMast.setWrkNo(workNo); |
| | | wrkMast.setIoTime(now); |
| | | wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID |
| | | wrkMast.setIoType(ioType); // 入出库状态 |
| | | wrkMast.setIoPri(13D); // 优先级:13 |
| | | wrkMast.setIoPri(ioPri+0.0); // 优先级:13 |
| | | wrkMast.setCrnNo(locMast.getCrnNo()); |
| | | wrkMast.setSourceStaNo(staDesc.getCrnStn() + ""); // 源站 |
| | | wrkMast.setStaNo(staDesc.getStnNo() + ""); // 目标站 |
| | | wrkMast.setSourceStaNo(SourceStaNo); // 源站 |
| | | wrkMast.setStaNo(StaNo); // 目标站 |
| | | wrkMast.setSourceLocNo(taskDto.getLocNo()); // 源库位 |
| | | wrkMast.setFullPlt("Y"); // 满板:Y |
| | | wrkMast.setPicking("N"); // 拣料 |
| | |
| | | wrkMast.setAppeTime(now); |
| | | wrkMast.setModiUser(userId); |
| | | wrkMast.setModiTime(now); |
| | | if(locMast.getLocType3()==2&&orderPakout.getDocType()==11){ |
| | | }else { |
| | | wrkMast.setMemo(orderPakout.getCstmrName());//agv目标站点 |
| | | } |
| | | |
| | | if (!wrkMastService.insert(wrkMast)) { |
| | | throw new CoolException("保存工作档失败,出库库位号:" + taskDto.getLocNo()); |
| | | } |
| | |
| | | wrkDetl.setAppeUser(userId); |
| | | wrkDetl.setModiTime(now); |
| | | wrkDetl.setModiUser(userId); |
| | | wrkDetl.setMatnr(orderDetl.getMatnr()); |
| | | wrkDetl.setMaktx(orderDetl.getMaktx()); |
| | | wrkDetl.setSpecs(orderDetl.getSpecs()); |
| | | wrkDetl.setModel(orderDetl.getModel()); |
| | | wrkDetl.setUnit(orderDetl.getUnit()); |
| | | if (!wrkDetlService.insert(wrkDetl)) { |
| | | throw new CoolException("保存工作档明细失败"); |
| | | } |
| | |
| | | // 源站点状态检测 |
| | | BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); |
| | | // 检索库位 |
| | | LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); |
| | | LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo,""); |
| | | FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(); |
| | | |
| | | StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto); |
| | |
| | | |
| | | @Override |
| | | @Transactional |
| | | public WrkMast emptyPlateOut(EmptyPlateOutParam param) { |
| | | public WrkMast emptyPlateOut(EmptyPlateOutParam param,Integer ioPri,String agvSta) { |
| | | WrkMast wrkMast = new WrkMast(); |
| | | if (Cools.isEmpty(param.getOutSite())) { |
| | | throw new CoolException("站点不存在"); |
| | |
| | | if (Cools.isEmpty(locMast)) { |
| | | throw new CoolException(locNo + "库位不存在"); |
| | | } |
| | | |
| | | //出库任务堆垛机出库站点指定 |
| | | String SourceStaNo = ""; |
| | | if(locMast.getLocType3()==2){ |
| | | SourceStaNo = "303"; |
| | | }else if (locMast.getLocType3()==1&&locMast.getLocType2()==1){ |
| | | SourceStaNo = "402"; |
| | | }else if (locMast.getLocType3()==1&&locMast.getLocType2()==2){ |
| | | SourceStaNo = "401"; |
| | | } |
| | | |
| | | // 获取源站 |
| | | Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() |
| | | .eq("type_no", 110) |
| | | .eq("stn_no", param.getOutSite()) |
| | | .eq("stn_no", SourceStaNo) |
| | | .eq("crn_no", locMast.getCrnNo()); |
| | | StaDesc staDesc = staDescService.selectOne(wrapper); |
| | | Integer sourceStaNo = staDesc.getCrnStn(); |
| | |
| | | wrkMast.setIoTime(now); |
| | | wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID |
| | | wrkMast.setIoType(110); // 入出库状态: 110.空板出库 |
| | | wrkMast.setIoPri(10D); |
| | | wrkMast.setIoPri(ioPri+0.0); |
| | | wrkMast.setSourceStaNo(sourceStaNo + ""); // 源站 |
| | | wrkMast.setStaNo(param.getOutSite() + ""); // 目标站 |
| | | wrkMast.setStaNo(staDesc.getStnNo() + ""); // 目标站 |
| | | wrkMast.setCrnNo(locMast.getCrnNo()); |
| | | wrkMast.setSourceLocNo(locNo); // 源库位 |
| | | wrkMast.setFullPlt("N"); // 满板:Y |
| | |
| | | wrkMast.setAppeTime(now); |
| | | wrkMast.setModiUser(1L); |
| | | wrkMast.setModiTime(now); |
| | | wrkMast.setMemo("生成自动空板出库"); |
| | | // wrkMast.setMemo(agvSta);//agv目标站点 |
| | | boolean res = wrkMastService.insert(wrkMast); |
| | | if (!res) { |
| | | throw new CoolException("保存工作档失败"); |
| | |
| | | @Transactional |
| | | public void cancelWrkMast(String workNo, Long userId) { |
| | | Date now = new Date(); |
| | | WrkMast wrkMast = wrkMastService.selectById(workNo); |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", workNo)); |
| | | if (Cools.isEmpty(wrkMast)) { |
| | | throw new CoolException(workNo + "工作档不存在"); |
| | | } |
| | |
| | | boolean wrkMastRes = wrkMastService.deleteById(wrkMast); |
| | | |
| | | if (wrkMast.getIoType() != 10 && wrkMast.getIoType() != 110) { |
| | | //取消标记,订单完成后反写订单明细时过滤掉danger = 1的数据 |
| | | wrkDetlService.updateForSet("danger = 1" ,new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); |
| | | |
| | | // 保存工作明细档历史档 |
| | | if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { |
| | | // throw new CoolException("保存工作明细历史档失败, workNo = " + wrkMast.getWrkNo()); |
| | |
| | | @Override |
| | | @Transactional |
| | | public void pickWrkMast(String workNo, Long userId) { |
| | | WrkMast wrkMast = wrkMastService.selectById(workNo); |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no",workNo)); |
| | | if (Cools.isEmpty(wrkMast)) { |
| | | throw new CoolException(workNo + "工作档不存在"); |
| | | } |
| | |
| | | // 获取目标站 |
| | | Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() |
| | | .eq("type_no", wrkMast.getIoType() - 50) |
| | | .eq("stn_no", wrkMast.getStaNo()) // 作业站点 = 拣料出库的目标站 |
| | | .eq("stn_no", Integer.parseInt(wrkMast.getStaNo())-2) // 作业站点 = 拣料出库的目标站 |
| | | .eq("crn_no", wrkMast.getCrnNo()); // 堆垛机号 |
| | | StaDesc staDesc = staDescService.selectOne(wrapper); |
| | | if (Cools.isEmpty(staDesc)) { |