|  |  |  | 
|---|
|  |  |  | assert ioType != null; | 
|---|
|  |  |  | // 获取库位 | 
|---|
|  |  |  | LocMast locMast = locMastService.selectById(dto.getLocNo()); | 
|---|
|  |  |  | //zc | 
|---|
|  |  |  | if (!locMast.getLocSts().equals("F")){ | 
|---|
|  |  |  | throw new CoolException(locMast.getLocNo()+"该库位不是在库状态"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Integer outSta = staNo.getDevNo(); | 
|---|
|  |  |  | //            //2号堆垛机全板出库站指定为204站,拣料站指定为202 | 
|---|
|  |  |  | 
|---|
|  |  |  | if (Cools.isEmpty(locMast)) { | 
|---|
|  |  |  | throw new CoolException(locNo+"库位不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //zc | 
|---|
|  |  |  | if (!locMast.getLocSts().equals("D")){ | 
|---|
|  |  |  | throw new CoolException(locNo+"库位状态不对"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 获取源站 | 
|---|
|  |  |  | Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() | 
|---|
|  |  |  | .eq("type_no", 110) | 
|---|
|  |  |  | 
|---|
|  |  |  | if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) { | 
|---|
|  |  |  | throw new CoolException("移转库位属于不同堆垛机"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //zc | 
|---|
|  |  |  | //        if (!loc.getLocSts().equals("F")){ | 
|---|
|  |  |  | //            throw new CoolException(locNo+"库位状态不对"); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | // 获取工作号 | 
|---|
|  |  |  | int workNo = commonService.getWorkNo(WorkNoType.PICK.type); | 
|---|
|  |  |  | 
|---|
|  |  |  | if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) { | 
|---|
|  |  |  | wrkMast.setWrkSts(4L); | 
|---|
|  |  |  | // 出库 | 
|---|
|  |  |  | } else if (wrkMast.getWrkSts() > 10) { | 
|---|
|  |  |  | } else if (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()!=199) { | 
|---|
|  |  |  | wrkMast.setWrkSts(14L); | 
|---|
|  |  |  | }else if (wrkMast.getIoType() == 199) { | 
|---|
|  |  |  | wrkMast.setWrkSts(15L); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Date now = new Date(); | 
|---|
|  |  |  | wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true)); | 
|---|
|  |  |  | 
|---|
|  |  |  | locMast.setModiUser(userId); | 
|---|
|  |  |  | locMastService.updateById(locMast); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (wrkMast.getIoType() == 199)  { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | throw new CoolException("当前工作状态无法取消"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | // 删除工作档明细 | 
|---|
|  |  |  | boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (wrkMast.getIoType()!=199){ | 
|---|
|  |  |  | // 修改库位状态 | 
|---|
|  |  |  | LocMast locMast = locMastService.selectById(locNo); | 
|---|
|  |  |  | if (Cools.isEmpty(locMast)) { | 
|---|
|  |  |  | throw new CoolException("取消工作档失败,库位不存在:"+ locNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | locMast.setLocSts(locSts); | 
|---|
|  |  |  | locMast.setModiTime(now); | 
|---|
|  |  |  | locMast.setModiUser(userId); | 
|---|
|  |  |  | boolean locMastRes = locMastService.updateById(locMast); | 
|---|
|  |  |  | if (!wrkMastRes || !locMastRes) { | 
|---|
|  |  |  | throw new CoolException("保存数据失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 修改库位状态 | 
|---|
|  |  |  | LocMast locMast = locMastService.selectById(locNo); | 
|---|
|  |  |  | if (Cools.isEmpty(locMast)) { | 
|---|
|  |  |  | throw new CoolException("取消工作档失败,库位不存在:"+ locNo); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | locMast.setLocSts(locSts); | 
|---|
|  |  |  | locMast.setModiTime(now); | 
|---|
|  |  |  | locMast.setModiUser(userId); | 
|---|
|  |  |  | boolean locMastRes = locMastService.updateById(locMast); | 
|---|
|  |  |  | if (!wrkMastRes || !locMastRes) { | 
|---|
|  |  |  | throw new CoolException("保存数据失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|