| | |
| | | @Override |
| | | @Transactional |
| | | public void palletizingCompleteS(PalletizingCompleteParam param) { |
| | | Long userId = 7776L;//松盛 |
| | | //判断param参数 |
| | | if (Cools.isEmpty(param.getBarcode())){ |
| | | throw new CoolException("参数:托盘码 barcode为空"); |
| | | }else if (Cools.isEmpty(param.getPalletizingNo())){ |
| | | throw new CoolException("参数:码垛位编号 palletizingNo为空"); |
| | | }else if (Cools.isEmpty(param.getBoxType())){ |
| | | throw new CoolException("参数:木箱类型 boxType为空"); |
| | | }else if (Cools.isEmpty(param.getMatLists()) || param.getMatLists().size()!=1){ |
| | | throw new CoolException("参数:物料明细 matLists为空"); |
| | | } |
| | | |
| | | ArrayList<String> positions = new ArrayList<>(); //木箱位置查重 (orgin) |
| | | ArrayList<String> boxNos = new ArrayList<>(); //木箱唯一编码查重 (batch) |
| | | //判断matLists参数 |
| | | for (PalletizingCompleteParam.MatList matList:param.getMatLists()){ |
| | | if (Cools.isEmpty(matList.getMatnr())){ |
| | | throw new CoolException("参数:物料编码 matnr为空"); |
| | | }else if (Cools.isEmpty(matList.getPosition())){ |
| | | throw new CoolException("物料编码:"+matList.getMatnr()+"、参数:码垛位置 position为空"); |
| | | }else if (Cools.isEmpty(matList.getBoxNo())){ |
| | | throw new CoolException("物料编码:"+matList.getMatnr()+"、参数:木箱编号 boxNo为空"); |
| | | }else if (Cools.isEmpty(matList.getAnfme()) || matList.getAnfme().equals(0)){ |
| | | throw new CoolException("物料编码:"+matList.getMatnr()+"、参数:木箱中铜箔数量 anfme为空"); |
| | | }else if (Cools.isEmpty(matList.getWeight()) || matList.getWeight().equals(0D)){ |
| | | throw new CoolException("物料编码:"+matList.getMatnr()+"、参数:重量 weight为空"); |
| | | } |
| | | |
| | | if (!positions.contains(matList.getPosition())){ |
| | | positions.add(matList.getPosition()); |
| | | }else { |
| | | throw new CoolException("参数:木箱编号 boxNo:"+matList.getBoxNo()+",木箱位置存在重复:"+matList.getPosition()); |
| | | } |
| | | |
| | | if (!boxNos.contains(matList.getBoxNo())){ |
| | | boxNos.add(matList.getBoxNo()); |
| | | }else { |
| | | throw new CoolException("参数:木箱编号 boxNo:"+matList.getBoxNo()+",木箱编码存在重复"); |
| | | } |
| | | WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); |
| | | if (Cools.isEmpty(wrkMast) || wrkMast.getWrkSts()!=2){ |
| | | log.error("退库码垛完成,返回托盘码未查询到工作档案!"); |
| | | throw new CoolException("参数:托盘码 barcode未查询到工作档案"); |
| | | } |
| | | |
| | | BasDevp basDevp = basDevpService.selectById(param.getPalletizingNo2()); |
| | | if (Cools.isEmpty(basDevp)){ |
| | | throw new CoolException("参数:码垛位编号 palletizingNo="+param.getPalletizingNo2()+"不存在"); |
| | | } |
| | | if (Cools.isEmpty(basDevp.getAutoing()) || !basDevp.getAutoing().equals("Y")){ |
| | | throw new CoolException("码垛位编号 palletizingNo="+param.getPalletizingNo()+" 所处站点不是自动状态"); |
| | | } |
| | | if (Cools.isEmpty(basDevp.getLoading()) || !basDevp.getLoading().equals("Y")){ |
| | | throw new CoolException("码垛位编号 palletizingNo="+param.getPalletizingNo()+" 所处站点不是有物状态"); |
| | | } |
| | | // if (Cools.isEmpty(basDevp.getCanining()) || !basDevp.getCanining().equals("Y")){ |
| | | // throw new CoolException("码垛位编号 palletizingNo="+param.getPalletizingNo()+" 所处站点不是能入状态"); |
| | | // } |
| | | |
| | | |
| | | |
| | | |
| | | // if (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()))!=0 |
| | | // || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()))!=0 |
| | | // || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()))!=0){ |
| | | // throw new CoolException("托盘条码:"+param.getBarcode()+"已存在,请勿重复组托"); |
| | | // } |
| | | // |
| | | // |
| | | // Date now = new Date(); |
| | | // List<WaitPakin> waitPakins = new ArrayList<>(); |
| | | // String matnr = null; |
| | | // for (PalletizingCompleteParam.MatList matList:param.getMatLists()){ |
| | | // long rollUp = new Date().getTime(); |
| | | // Mat mat = matService.selectByMatnr(matList.getMatnr()); |
| | | // if (Cools.isEmpty(mat)) { |
| | | // throw new CoolException(matList.getMatnr() + "商品档案不存在"); |
| | | // } |
| | | // matnr = mat.getMatnr(); |
| | | // WaitPakin waitPakin = new WaitPakin(); |
| | | // waitPakin.sync(mat); |
| | | // waitPakin.setModel(matList.getBatch()); //批次 |
| | | // waitPakin.setSpecs(matList.getSpecs()); //规格 |
| | | // waitPakin.setBatch(matList.getBoxNo()); //木箱编码 |
| | | // waitPakin.setBrand(param.getBoxType()); //木箱类型 |
| | | // waitPakin.setZpallet(param.getBarcode()); //托盘码 |
| | | // waitPakin.setOrigin(matList.getPosition()); //木箱在托盘上的位置 |
| | | // waitPakin.setIoStatus("Y"); // 入出状态 |
| | | // waitPakin.setAnfme(matList.getAnfme().doubleValue()); // 木箱中铜箔数量 |
| | | // waitPakin.setStatus("Y"); // 状态 |
| | | // waitPakin.setAppeUser(userId); |
| | | // waitPakin.setAppeTime(now); |
| | | // waitPakin.setModiUser(userId); |
| | | // waitPakin.setModiTime(now); |
| | | // waitPakin.setRollUp(rollUp); |
| | | // if (!Cools.isEmpty(matList.getMatDetlList())){ |
| | | // for (PalletizingCompleteParam.MatDetlList matDetlList:matList.getMatDetlList()){ |
| | | // LocDetlRullUpDetail locDetlRullUpDetail = new LocDetlRullUpDetail(); |
| | | // locDetlRullUpDetail.setUuid(rollUp); |
| | | // locDetlRullUpDetail.setRollNo(matDetlList.getBoxNoDetl()); |
| | | // locDetlRullUpDetail.setRollWeight(matDetlList.getWeightDetl().toString()); |
| | | // locDetlRullUpDetailService.insert(locDetlRullUpDetail); |
| | | // } |
| | | // } |
| | | // if (!waitPakinService.insert(waitPakin)) { |
| | | // throw new CoolException("保存入库通知档失败"); |
| | | // } |
| | | // waitPakins.add(waitPakin); |
| | | // } |
| | | // LocTypeDto locTypeDto = new LocTypeDto(); |
| | | // locTypeDto.setLocType1((short)1); |
| | | // |
| | | // StartupDto dto = commonService.getLocNo(1, 1, param.getPalletizingNo2(), matnr,null,null, locTypeDto); |
| | | // |
| | | // int workNo = dto.getWorkNo(); |
| | | // // 生成工作档 |
| | | // WrkMast wrkMast = new WrkMast(); |
| | | // wrkMast.setWrkNo(workNo); |
| | | // wrkMast.setIoTime(new Date()); |
| | | // wrkMast.setWrkSts(1L); // 工作状态:生成入库ID |
| | | // wrkMast.setIoType(1); // 入出库状态:1.入库 |
| | | // wrkMast.setIoPri(13D); // 优先级 |
| | | // wrkMast.setCrnNo(dto.getCrnNo()); |
| | | // wrkMast.setSourceStaNo(dto.getSourceStaNo()); |
| | | // wrkMast.setStaNo(dto.getStaNo()); |
| | | // wrkMast.setLocNo(dto.getLocNo()); |
| | | // wrkMast.setBarcode(param.getBarcode()); // 托盘码 |
| | | // wrkMast.setFullPlt("Y"); // 满板:Y |
| | | // wrkMast.setPicking("N"); // 拣料 |
| | | // wrkMast.setExitMk("N"); // 退出 |
| | | // wrkMast.setEmptyMk("N"); // 空板 |
| | | // wrkMast.setLinkMis("Y"); |
| | | // wrkMast.setCtnType(0); // 容器类型 |
| | | // // 操作人员数据 |
| | | // wrkMast.setAppeTime(now); |
| | | // wrkMast.setModiTime(now); |
| | | // boolean res = wrkMastService.insert(wrkMast); |
| | | // if (!res) { |
| | | // throw new CoolException("保存工作档失败"); |
| | | // } |
| | | // // 生成工作档明细 |
| | | // waitPakins.forEach(waitPakin -> { |
| | | // WrkDetl wrkDetl = new WrkDetl(); |
| | | // wrkDetl.sync(waitPakin); |
| | | // wrkDetl.setWrkNo(wrkMast.getWrkNo()); |
| | | // wrkDetl.setIoTime(wrkMast.getIoTime()); |
| | | // wrkDetl.setAppeTime(now); |
| | | // wrkDetl.setModiTime(now); |
| | | // if (!wrkDetlService.insert(wrkDetl)) { |
| | | // throw new CoolException("保存工作明细失败"); |
| | | // } |
| | | // }); |
| | | // // 更新目标库位状态 |
| | | // LocMast locMast = locMastService.selectById(dto.getLocNo()); |
| | | // if (locMast.getLocSts().equals("O")){ |
| | | // locMast.setLocSts("S"); // S.入库预约 |
| | | // locMast.setModiTime(now); |
| | | // if (!locMastService.updateById(locMast)){ |
| | | // throw new CoolException("改变库位状态失败"); |
| | | // } |
| | | // } else { |
| | | // throw new CoolException(dto.getLocNo()+"目标库位已被占用"); |
| | | // } |
| | | wrkMast.setSheetNo("4"); |
| | | wrkMastService.updateById(wrkMast); |
| | | } |
| | | |
| | | |
| | |
| | | @Transactional |
| | | public void cs3() { |
| | | //拆盘 |
| | | WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),119); |
| | | wrkMastSta1.setType(2); |
| | | wrkMastSta1.setWrkType(2); |
| | | wrkMastStaService.insert(wrkMastSta1); |
| | | WrkMastSta wrkMastSta2 = new WrkMastSta(new Date(),121); |
| | | wrkMastSta2.setType(2); |
| | | wrkMastSta2.setWrkType(2); |
| | | wrkMastStaService.insert(wrkMastSta2); |
| | | // WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),119); |
| | | // wrkMastSta1.setType(2); |
| | | // wrkMastSta1.setWrkType(2); |
| | | // wrkMastStaService.insert(wrkMastSta1); |
| | | // WrkMastSta wrkMastSta2 = new WrkMastSta(new Date(),121); |
| | | // wrkMastSta2.setType(2); |
| | | // wrkMastSta2.setWrkType(2); |
| | | // wrkMastStaService.insert(wrkMastSta2); |
| | | } |
| | | |
| | | /*...........................上饶江铜..............以上.............徐工汉云...........................*/ |