| | |
| | | @Autowired |
| | | private BasCrnpService basCrnpService; |
| | | |
| | | public ReturnT<String> start(Integer ioType,Integer staNo,String locStsTarget) { |
| | | public ReturnT<String> start(Integer ioType, Integer staNo, String locStsTarget) { |
| | | try { |
| | | if (wrkMastService.selectWrkMastBareBoardStaNo(ioType,staNo)!=0){ |
| | | if (wrkMastService.selectWrkMastBareBoardStaNo(ioType, staNo) != 0) { |
| | | return null; |
| | | } |
| | | // 获取工作号 |
| | | int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); |
| | | ArrayList<Integer> crns =new ArrayList<>(); |
| | | ArrayList<Integer> crns = new ArrayList<>(); |
| | | List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts", 3).eq("out_enable", "Y").eq("wrk_no", 0)); |
| | | for (BasCrnp basCrnp : basCrnps){ |
| | | for (BasCrnp basCrnp : basCrnps) { |
| | | crns.add(basCrnp.getCrnNo()); |
| | | } |
| | | for (BasCrnp basCrnp : basCrnpService.selectList(new EntityWrapper<>())){ |
| | | for (BasCrnp basCrnp : basCrnpService.selectList(new EntityWrapper<>())) { |
| | | crns.add(basCrnp.getCrnNo()); |
| | | } |
| | | if (Cools.isEmpty(crns) || crns.size()==0){ |
| | | if (Cools.isEmpty(crns) || crns.size() == 0) { |
| | | return null; |
| | | } |
| | | |
| | | boolean sign = true; |
| | | for (Integer crnNo : crns){ |
| | | for (Integer crnNo : crns) { |
| | | sign = true; |
| | | |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts",locStsTarget).eq("crn_no",crnNo)); |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", locStsTarget).eq("crn_no", crnNo)); |
| | | |
| | | if (Cools.isEmpty(locMast)) { |
| | | // throw new CoolException("库中无空板!!!"); |
| | | sign=false; |
| | | sign = false; |
| | | } |
| | | if (sign && !locMast.getLocSts().equals(locStsTarget)){ |
| | | if (sign && !locMast.getLocSts().equals(locStsTarget)) { |
| | | // throw new CoolException("所选库位存在状态不为D的库位,库位号:"+locMast.getLocNo()+" 、当前状态:"+locMast.getLocSts()+"-"+locMast.getLocSts$()); |
| | | sign=false; |
| | | sign = false; |
| | | } |
| | | if (sign){ |
| | | if (sign) { |
| | | // 获取源站 |
| | | Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() |
| | | .eq("type_no", ioType) |
| | | .eq("stn_no", staNo) |
| | | .eq("crn_no", crnNo); |
| | | StaDesc staDesc = staDescService.selectOne(wrapper); |
| | | if (Cools.isEmpty(staDesc)){ |
| | | if (Cools.isEmpty(staDesc)) { |
| | | sign = false; |
| | | continue; |
| | | } |
| | |
| | | // throw new CoolException("检索源站失败"); |
| | | sign = false; |
| | | } |
| | | if (sign){ |
| | | if (sign) { |
| | | Date now = new Date(); |
| | | // 保存工作档 |
| | | WrkMast wrkMast = new WrkMast(); |
| | |
| | | wrkMast.setStaNo(staNo); // 目标站 |
| | | wrkMast.setCrnNo(locMast.getCrnNo()); |
| | | wrkMast.setSourceLocNo(locMast.getLocNo()); // 源库位 |
| | | wrkMast.setFullPlt(ioType.equals(110)? "N" : "Y"); // 满板:Y |
| | | wrkMast.setFullPlt(ioType.equals(110) ? "N" : "Y"); // 满板:Y |
| | | wrkMast.setPicking("N"); // 拣料 |
| | | wrkMast.setExitMk("N"); // 退出 |
| | | wrkMast.setEmptyMk(ioType.equals(110)? "Y" : "N"); // 空板 |
| | | wrkMast.setEmptyMk(ioType.equals(110) ? "Y" : "N"); // 空板 |
| | | wrkMast.setLinkMis("N"); |
| | | wrkMast.setAppeUser(9999L); |
| | | wrkMast.setAppeTime(now); |
| | |
| | | throw new CoolException("保存工作档失败"); |
| | | } |
| | | // 更新库位状态 D.空板 -> R.出库预约 |
| | | if (locMast.getLocSts().equals(locStsTarget)){ |
| | | if (locMast.getLocSts().equals(locStsTarget)) { |
| | | locMast.setLocSts("R"); |
| | | locMast.setModiUser(9999L); |
| | | locMast.setModiTime(now); |
| | | if (!locMastService.updateById(locMast)) { |
| | | throw new CoolException("更新库位状态失败"); |
| | | }else { |
| | | } else { |
| | | return SUCCESS; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (!sign){ |
| | | if (!sign) { |
| | | log.error("未查到可出库的空板!!!"); |
| | | return null; |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("异常!!!"+e); |
| | | } catch (Exception e) { |
| | | log.error("异常!!!" + e); |
| | | return null; |
| | | } |
| | | return SUCCESS; |