| | |
| | | } |
| | | if (param.getType()==0){//直接入库 |
| | | smallContainersSmall(param); |
| | | } else if (param.getType()==1){//直供产线 //出库 |
| | | } else if (param.getType()==1){//库内供产线 //出库 |
| | | smallContainersBig(param); |
| | | } else if (param.getType()==2){//入库 途径 硫化罐 |
| | | smallContainersJar(param); |
| | | } else if (param.getType()==3){//直供产线 |
| | | smallContainersSta(param); |
| | | } |
| | | } catch (Exception e){ |
| | | throw new CoolException("失败!!!原因:"+e.getMessage()); |
| | |
| | | throw new CoolException("参数:物料编码 matnr为空"); |
| | | }else if (Cools.isEmpty(param.getWeight())){ |
| | | throw new CoolException("参数:物料重量 wright为空"); |
| | | }else if (Cools.isEmpty(param.getColor())){ |
| | | throw new CoolException("参数:物料颜色 color为空"); |
| | | } |
| | | |
| | | Mat mat = matService.selectByMatnr(param.getMatnr()); |
| | |
| | | if (Cools.isEmpty(basDevp.getBarcode())){ |
| | | throw new CoolException("码垛位编号 palletizingNo="+param.getStaNo()+" 所处站点料箱码异常状态;料箱码==》为空"+basDevp.getBarcode()); |
| | | } |
| | | if (CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){ |
| | | if (!CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){ |
| | | throw new CoolException("码垛位编号 palletizingNo="+param.getStaNo()+" 所处站点料箱码异常状态;料箱码:"+basDevp.getBarcode()); |
| | | } |
| | | |
| | |
| | | |
| | | WaitPakin waitPakin = new WaitPakin(); |
| | | waitPakin.sync(mat); |
| | | // waitPakin.setBatch(matList.getBatch()); //木箱编码 //批次 唯一值 箱号 |
| | | waitPakin.setBatch(param.getBatch()); //木箱编码 //批次 唯一值 箱号 |
| | | // waitPakin.setModel(matList.getModel()); //卷号 唯一值 |
| | | // waitPakin.setBrand(param.getBoxType()); //木箱类型 |
| | | waitPakin.setZpallet(basDevp.getBarcode()); //托盘码 |
| | |
| | | throw new CoolException("参数:品号 matnr为空"); |
| | | }else if (Cools.isEmpty(param.getWeight())){ |
| | | throw new CoolException("参数:物料重量 wright为空"); |
| | | }else if (Cools.isEmpty(param.getColor())){ |
| | | throw new CoolException("参数:物料颜色 color为空"); |
| | | } |
| | | if (param.getDevNo()==131){ |
| | | param.setDevNo(130); |
| | | } else if (param.getDevNo()==126){ |
| | | param.setDevNo(125); |
| | | } |
| | | |
| | | List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()).eq("weight", param.getWeight()).eq("color", param.getColor())); |
| | |
| | | for (LocDetl locDetl : locDetls){ |
| | | StockOutParam stockOutParam = new StockOutParam(param,locDetl); |
| | | workService.startupFullTakeStore(stockOutParam, userId); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | public void smallContainersJar(SmallCompleteParam param) { |
| | | Long userId = 7777L;//mes |
| | | //判断param参数 |
| | |
| | | throw new CoolException("参数:物料编码 matnr为空"); |
| | | }else if (Cools.isEmpty(param.getWeight())){ |
| | | throw new CoolException("参数:物料重量 wright为空"); |
| | | }else if (Cools.isEmpty(param.getColor())){ |
| | | throw new CoolException("参数:物料颜色 color为空"); |
| | | } |
| | | |
| | | Mat mat = matService.selectByMatnr(param.getMatnr()); |
| | | if (Cools.isEmpty(mat)) { |
| | | // mat = new Mat(); |
| | |
| | | if (Cools.isEmpty(basDevp.getBarcode())){ |
| | | throw new CoolException("码垛位编号 palletizingNo="+param.getStaNo()+" 所处站点料箱码异常状态;料箱码==》为空"+basDevp.getBarcode()); |
| | | } |
| | | if (CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){ |
| | | if (!CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){ |
| | | throw new CoolException("码垛位编号 palletizingNo="+param.getStaNo()+" 所处站点料箱码异常状态;料箱码:"+basDevp.getBarcode()); |
| | | } |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | public void smallContainersSta(SmallCompleteParam param) { |
| | | Long userId = 7777L;//mes |
| | | //判断param参数 |
| | | if (Cools.isEmpty(param.getType())){ |
| | | throw new CoolException("参数:类型 type为空"); |
| | | }else if (Cools.isEmpty(param.getStaNo())){ |
| | | throw new CoolException("参数:投料点位 staNo为空"); |
| | | }else if (Cools.isEmpty(param.getDevNo())){ |
| | | throw new CoolException("参数:产线点位 devNo为空"); |
| | | }else if (Cools.isEmpty(param.getMatnr())){ |
| | | throw new CoolException("参数:物料编码 matnr为空"); |
| | | }else if (Cools.isEmpty(param.getWeight())){ |
| | | throw new CoolException("参数:物料重量 wright为空"); |
| | | } |
| | | |
| | | Mat mat = matService.selectByMatnr(param.getMatnr()); |
| | | if (Cools.isEmpty(mat)) { |
| | | throw new CoolException("物料:"+param.getMatnr()+" 不存在,请先下发物料基础信息"); |
| | | } |
| | | |
| | | Date now = new Date(); |
| | | |
| | | BasDevp basDevp = basDevpService.selectById(param.getStaNo()); |
| | | if (Cools.isEmpty(basDevp.getAutoing()) || !basDevp.getAutoing().equals("Y")){ |
| | | throw new CoolException("码垛位编号 palletizingNo="+param.getStaNo()+" 所处站点不是自动状态"); |
| | | } |
| | | if (Cools.isEmpty(basDevp.getLoading()) || !basDevp.getLoading().equals("Y")){ |
| | | throw new CoolException("码垛位编号 palletizingNo="+param.getStaNo()+" 所处站点不是有物状态"); |
| | | } |
| | | if (Cools.isEmpty(basDevp.getCanining()) || !basDevp.getCanining().equals("Y")){ |
| | | throw new CoolException("码垛位编号 palletizingNo="+param.getStaNo()+" 所处站点不是能入状态"); |
| | | } |
| | | if (Cools.isEmpty(basDevp.getBarcode())){ |
| | | throw new CoolException("码垛位编号 palletizingNo="+param.getStaNo()+" 所处站点料箱码异常状态;料箱码==》为空"+basDevp.getBarcode()); |
| | | } |
| | | if (!CodeDetectionUtil.barcodeDetection(basDevp.getBarcode(),8)){ |
| | | throw new CoolException("码垛位编号 palletizingNo="+param.getStaNo()+" 所处站点料箱码异常状态;料箱码:"+basDevp.getBarcode()); |
| | | } |
| | | |
| | | |
| | | if (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", basDevp.getBarcode()))!=0 |
| | | || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", basDevp.getBarcode()))!=0 |
| | | || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", basDevp.getBarcode()))!=0){ |
| | | throw new CoolException("托盘条码:"+basDevp.getBarcode()+"已存在,请勿重复组托"); |
| | | } |
| | | |
| | | // 生成工作号 |
| | | int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(202)); |
| | | |
| | | // 生成工作档 |
| | | WrkMast wrkMast = new WrkMast(); |
| | | wrkMast.setWrkNo(workNo); |
| | | wrkMast.setIoTime(now); |
| | | wrkMast.setWrkSts(51L); // 工作状态:生成ID |
| | | wrkMast.setIoType(202); // 入出库状态:202.直供产线 |
| | | wrkMast.setIoPri(99D); // 优先级 |
| | | wrkMast.setSourceStaNo(param.getStaNo()); |
| | | wrkMast.setStaNo(param.getDevNo()); |
| | | wrkMast.setBarcode(basDevp.getBarcode()); |
| | | // 操作人员数据 |
| | | wrkMast.setAppeUser(userId); |
| | | wrkMast.setAppeTime(now); |
| | | wrkMast.setModiUser(userId); |
| | | wrkMast.setModiTime(now); |
| | | if (!wrkMastService.insert(wrkMast)) { |
| | | throw new CoolException("生成工作档失败==》小料箱直供产线任务生成"); |
| | | } |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.setWrkNo(wrkMast.getWrkNo()); |
| | | wrkDetl.setIoTime(wrkMast.getIoTime()); |
| | | wrkDetl.setMatnr(param.getMatnr()); |
| | | wrkDetl.setAnfme(1D); |
| | | wrkDetl.setWeight(param.getWeight()); |
| | | wrkDetl.setBarcode(basDevp.getBarcode()); |
| | | wrkDetl.setZpallet(basDevp.getBarcode()); |
| | | wrkDetl.setAppeTime(now); |
| | | wrkDetl.setModiTime(now); |
| | | if (!wrkDetlService.insert(wrkDetl)) { |
| | | throw new CoolException("保存工作明细失败==》小料箱直供产线任务明细生成"); |
| | | } |
| | | |
| | | } |
| | | |
| | | /*...........................亳州煜星..............以上.............亳州煜星...........................*/ |
| | | } |