| | |
| | | @Autowired |
| | | private WorkService workService; |
| | | |
| | | public ReturnT<String> start(Integer staNo) { |
| | | public ReturnT<String> start(Integer staNo,Integer count) { |
| | | try { |
| | | if (!Cools.isEmpty(wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("sta_no", staNo)))){ |
| | | // if (!Cools.isEmpty(wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("sta_no", staNo)))){ |
| | | // return null; |
| | | // } |
| | | int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("sta_no", staNo)); |
| | | if (wrkCount>count){ |
| | | return null; |
| | | } |
| | | // 获取工作号 |
| | |
| | | crns.add(4); |
| | | crns.add(5); |
| | | crns.add(6); |
| | | crns.add(7); |
| | | boolean sign = true; |
| | | for (Integer crnNo : crns){ |
| | | BasCrnp basCrnp = basCrnpService.selectById(crnNo); |
| | |
| | | return SUCCESS; |
| | | } |
| | | |
| | | public ReturnT<String> startYx(Integer staNo) { |
| | | public ReturnT<String> startYx(Integer staNo,Integer count) { |
| | | try { |
| | | // if (!Cools.isEmpty(wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("sta_no", staNo)))){ |
| | | // return null; |
| | | // } |
| | | int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("sta_no", staNo)); |
| | | if (wrkCount>10){ |
| | | if (wrkCount>count){ |
| | | return null; |
| | | } |
| | | ArrayList<Integer> crns =new ArrayList<>(); |
| | | crns.add(1); |
| | | crns.add(2); |
| | | crns.add(3); |
| | | crns.add(4); |
| | | crns.add(5); |
| | | crns.add(6); |
| | | crns.add(7); |
| | | boolean sign = true; |
| | | for (Integer crnNo : crns){ |
| | | List<String> locNoList = new ArrayList<>(); |
| | |
| | | } |
| | | sign = true; |
| | | // 获取库位 |
| | | LocMast locMastS = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","D").eq("crn_no",crnNo)); |
| | | List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").eq("crn_no", crnNo)); |
| | | for (LocMast locMastS : locMasts){ |
| | | |
| | | if (Cools.isEmpty(locMastS)) { |
| | | if (Cools.isEmpty(locMastS)) { |
| | | // throw new CoolException("库中无空板!!!"); |
| | | log.error(crnNo+"号堆垛机无空板!"); |
| | | sign=false; |
| | | } |
| | | if (sign && !locMastS.getLocSts().equals("D")){ |
| | | log.error(crnNo+"号堆垛机无空板!"); |
| | | sign=false; |
| | | break; |
| | | } |
| | | if (sign && !locMastS.getLocSts().equals("D")){ |
| | | // throw new CoolException("所选库位存在状态不为D的库位,库位号:"+locMast.getLocNo()+" 、当前状态:"+locMast.getLocSts()+"-"+locMast.getLocSts$()); |
| | | log.error(crnNo+"号堆垛机"+"所选库位存在状态不为D的库位,库位号:"+locMastS.getLocNo()+" 、当前状态:"+locMastS.getLocSts()+"-"+locMastS.getLocSts$()); |
| | | sign=false; |
| | | } |
| | | locNoList.add(locMastS.getLocNo()); |
| | | log.error(crnNo+"号堆垛机"+"所选库位存在状态不为D的库位,库位号:"+locMastS.getLocNo()+" 、当前状态:"+locMastS.getLocSts()+"-"+locMastS.getLocSts$()); |
| | | sign=false; |
| | | } |
| | | locNoList.add(locMastS.getLocNo()); |
| | | |
| | | //小料箱伴生出库 |
| | | if (Utils.getRow(locMastS.getLocNo())<=8){ |
| | | String locNoOther = staNoOther(locMastS.getLocNo()); |
| | | LocMast locMastOther = locMastService.selectById(locNoOther); |
| | | if (locMastOther.getLocSts().equals("D")){ |
| | | locNoList.add(locNoOther); |
| | | //小料箱伴生出库 |
| | | if (Utils.getRow(locMastS.getLocNo())<=8){ |
| | | String locNoOther = staNoOther(locMastS.getLocNo()); |
| | | LocMast locMastOther = locMastService.selectById(locNoOther); |
| | | |
| | | if (locMastOther.getLocSts().equals("D") || locMastOther.getLocSts().equals("F") || locMastOther.getLocSts().equals("R")){ |
| | | if (locMastOther.getLocSts().equals("D")){ |
| | | locNoList.add(locNoOther); |
| | | } |
| | | }else { |
| | | sign=false; |
| | | } |
| | | }else if (Utils.getRow(locMastS.getLocNo())>=21 && Utils.getRow(locMastS.getLocNo())<=27){ |
| | | String locNoOther = staNoOther(locMastS.getLocNo()); |
| | | LocMast locMastOther = locMastService.selectById(locNoOther); |
| | | if (locMastOther.getLocSts().equals("D") || locMastOther.getLocSts().equals("F") || locMastOther.getLocSts().equals("R")){ |
| | | if (locMastOther.getLocSts().equals("D")){ |
| | | locNoList.add(locNoOther); |
| | | } |
| | | }else { |
| | | sign=false; |
| | | } |
| | | } |
| | | } |
| | | if (sign) { |
| | | EmptyPlateOutParam param = new EmptyPlateOutParam(); |
| | | param.setOutSite(172); |
| | | param.setLocNos(locNoList); |
| | | try{ |
| | | workService.emptyPlateOut(param, 9999L); |
| | | }catch (Exception e){ |
| | | log.error("二楼小料箱自动补空板失败!!异常原因:"+e); |
| | | if (sign) { |
| | | EmptyPlateOutParam param = new EmptyPlateOutParam(); |
| | | param.setOutSite(staNo); |
| | | param.setLocNos(locNoList); |
| | | try{ |
| | | workService.emptyPlateOut(param, 9999L); |
| | | }catch (Exception e){ |
| | | log.error("二楼小料箱自动补空板失败!!异常原因:"+e); |
| | | } |
| | | return SUCCESS; |
| | | } |
| | | return SUCCESS; |
| | | } |
| | | } |
| | | if (!sign){ |
| | |
| | | |
| | | public String staNoOther(String locNo){ |
| | | int row = Utils.getRow(locNo); |
| | | if (row%4==0 || row%4==1){ |
| | | return getDeepLoc2(locNo,row); |
| | | if (row<=8){ |
| | | if (row%4==0 || row%4==1){ |
| | | return getDeepLoc2(locNo,row); |
| | | }else { |
| | | return getDeepLoc(locNo,row); |
| | | } |
| | | }else if (row>=21 && row<=27){ |
| | | if (row==21 || row==24 || row==27){ |
| | | return getDeepLoc2(locNo,row); |
| | | }else { |
| | | return locNo; |
| | | } |
| | | }else { |
| | | return getDeepLoc(locNo,row); |
| | | return locNo; |
| | | } |
| | | } |
| | | |
| | |
| | | * 获取 深库位对应的浅库位号 |
| | | */ |
| | | public static String getDeepLoc2(String shallowLoc,int row) { |
| | | if (row == 1 || row == 5) { |
| | | if (row == 1 || row == 5 || row==21) { |
| | | return Utils.zerofill(String.valueOf(row+1), 2) + shallowLoc.substring(2); |
| | | } else if (row == 4 || row == 8) { |
| | | } else if (row == 4 || row == 8 || row == 24 || row == 27) { |
| | | return Utils.zerofill(String.valueOf(row-1), 2) + shallowLoc.substring(2); |
| | | }else { |
| | | return null; |