|  |  |  | 
|---|
|  |  |  | return R.parse(CodeRes.NO_COMB_700); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode())); | 
|---|
|  |  |  | if (countLoc > 0) { | 
|---|
|  |  |  | return R.error("库存条码数据已存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode())); | 
|---|
|  |  |  | if (countLoc > 0 || countWrk > 0) { | 
|---|
|  |  |  | return R.error(CodeRes.EXIST_500); | 
|---|
|  |  |  | if (countWrk > 0) { | 
|---|
|  |  |  | return R.error("工作档已存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (Cools.isEmpty(param.getLocType1())) { | 
|---|
|  |  |  | return R.error("高低检测信号不能为空"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | // 延迟 3 秒再检测 | 
|---|
|  |  |  | Thread.sleep(3000); | 
|---|
|  |  |  | } catch (InterruptedException e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 源站点状态检测 | 
|---|
|  |  |  | BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true); | 
|---|
|  |  |  | sourceStaNo.setLocType1(param.getLocType1()); | 
|---|
|  |  |  | 
|---|
|  |  |  | switch (param.getIoType()) { | 
|---|
|  |  |  | case 1://满托盘入库 | 
|---|
|  |  |  | assert waitPakins != null; | 
|---|
|  |  |  | dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins); | 
|---|
|  |  |  | dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(),param.getWeight(), locTypeDto, waitPakins); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 10://空托盘入库 | 
|---|
|  |  |  | dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode()); | 
|---|
|  |  |  | 
|---|
|  |  |  | return R.error("库存没有空板"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam(); | 
|---|
|  |  |  | emptyPlateOutParam.setOutSite(12); | 
|---|
|  |  |  | emptyPlateOutParam.setOutSite(101); | 
|---|
|  |  |  | emptyPlateOutParam.setLocNos(new ArrayList<String>() {{ | 
|---|
|  |  |  | add(locMast.getLocNo() + ""); | 
|---|
|  |  |  | }}); | 
|---|
|  |  |  | 
|---|
|  |  |  | * 全板入库 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public StartupDto startupFullPutStore(Integer devpNo, String barcode, LocTypeDto locTypeDto, List<WaitPakin> waitPakins) { | 
|---|
|  |  |  | public StartupDto startupFullPutStore(Integer devpNo, String barcode,Double weight, LocTypeDto locTypeDto, List<WaitPakin> waitPakins) { | 
|---|
|  |  |  | // 源站点状态检测 | 
|---|
|  |  |  | BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); | 
|---|
|  |  |  | // 检索库位 | 
|---|
|  |  |  | 
|---|
|  |  |  | wrkMast.setIoPri(13D); // 优先级 | 
|---|
|  |  |  | wrkMast.setCrnNo(dto.getCrnNo()); | 
|---|
|  |  |  | wrkMast.setSourceStaNo(dto.getSourceStaNo()); | 
|---|
|  |  |  | wrkMast.setStaNo(dto.getStaNo()); | 
|---|
|  |  |  | wrkMast.setLocNo(dto.getLocNo()); | 
|---|
|  |  |  | wrkMast.setStaNo(dto.getStaNo());// 目标站 | 
|---|
|  |  |  | wrkMast.setLocNo(dto.getLocNo());// 目标库位 | 
|---|
|  |  |  | wrkMast.setBarcode(barcode); // 托盘码 | 
|---|
|  |  |  | wrkMast.setFullPlt("Y"); // 满板:Y | 
|---|
|  |  |  | wrkMast.setPicking("N"); // 拣料 | 
|---|
|  |  |  | wrkMast.setExitMk("N"); // 退出 | 
|---|
|  |  |  | wrkMast.setEmptyMk("N"); // 空板 | 
|---|
|  |  |  | wrkMast.setLinkMis("Y"); | 
|---|
|  |  |  | wrkMast.setScWeight(weight); | 
|---|
|  |  |  | wrkMast.setCtnType(sourceStaNo.getCtnType()); // 容器类型 | 
|---|
|  |  |  | // 操作人员数据 | 
|---|
|  |  |  | wrkMast.setAppeTime(now); | 
|---|
|  |  |  | 
|---|
|  |  |  | waitPakins.forEach(waitPakin -> { | 
|---|
|  |  |  | WrkDetl wrkDetl = new WrkDetl(); | 
|---|
|  |  |  | wrkDetl.sync(waitPakin); | 
|---|
|  |  |  | wrkDetl.setProType(waitPakin.getProType()); | 
|---|
|  |  |  | wrkDetl.setTemp2(waitPakin.getTemp2()); | 
|---|
|  |  |  | wrkDetl.setWeight(wrkMast.getScWeight()); | 
|---|
|  |  |  | wrkDetl.setWrkNo(wrkMast.getWrkNo()); | 
|---|
|  |  |  | wrkDetl.setIoTime(wrkMast.getIoTime()); | 
|---|
|  |  |  | wrkDetl.setAppeTime(now); | 
|---|
|  |  |  | wrkDetl.setModiTime(now); | 
|---|
|  |  |  | wrkDetl.setModel(waitPakin.getModel()); | 
|---|
|  |  |  | if (!Cools.isEmpty(waitPakin.getOrderNo())) { | 
|---|
|  |  |  | Order order = orderService.selectByNo(waitPakin.getOrderNo()); | 
|---|
|  |  |  | if (order != null) { | 
|---|
|  |  |  | OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch(),waitPakin.getAnfme()); | 
|---|
|  |  |  | if (orderDetl == null) { | 
|---|
|  |  |  | orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null,waitPakin.getAnfme()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | OrderDetl orderDetl = orderDetlService.selectItem(waitPakin); | 
|---|
|  |  |  | wrkDetl.setBatch(orderDetl.getBatch()); | 
|---|
|  |  |  | wrkDetl.setProType(orderDetl.getProType()); | 
|---|
|  |  |  | wrkDetl.setSPgNO(orderDetl.getSPgNO()); | 
|---|
|  |  |  | wrkDetl.setOutOrderNo(orderDetl.getOutOrderNo()); | 
|---|
|  |  |  | wrkDetl.setLuHao(orderDetl.getLuHao()); | 
|---|
|  |  |  | //                    wrkDetl.setLuHao(orderDetl.getLuHao()); | 
|---|
|  |  |  | wrkDetl.setSupp(orderDetl.getSupp()); | 
|---|
|  |  |  | wrkDetl.setSuppCode(orderDetl.getSuppCode()); | 
|---|
|  |  |  | wrkDetl.setPacking(orderDetl.getPacking()); | 
|---|
|  |  |  | wrkDetl.setColor(orderDetl.getColor()); | 
|---|
|  |  |  | wrkDetl.setWareId(orderDetl.getWareId()); | 
|---|
|  |  |  | wrkDetl.setWareName(orderDetl.getWareName()); | 
|---|
|  |  |  | wrkDetl.setTemp1(orderDetl.getTemp1()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!wrkDetlService.insert(wrkDetl)) { | 
|---|
|  |  |  | 
|---|
|  |  |  | Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>() | 
|---|
|  |  |  | .eq("zpallet", barcode); | 
|---|
|  |  |  | WaitPakin setParam = new WaitPakin(); | 
|---|
|  |  |  | setParam.setWeight(weight);//将整托重量记入通知档 | 
|---|
|  |  |  | setParam.setLocNo(dto.getLocNo()); | 
|---|
|  |  |  | setParam.setIoStatus("Y"); | 
|---|
|  |  |  | setParam.setModiTime(now); | 
|---|