自动化立体仓库 - WMS系统
#
lsh
2024-07-11 c4ab83a6b38c57fe9a08599377397221584dc859
#
1个文件已修改
86 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1063,10 +1063,12 @@
            }
            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());
@@ -1282,5 +1284,87 @@
    }
    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为空");
        }else if (Cools.isEmpty(param.getColor())){
            throw new CoolException("参数:物料颜色 color为空");
        }
        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.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.setAppeTime(now);
        wrkDetl.setModiTime(now);
        if (!wrkDetlService.insert(wrkDetl)) {
            throw new CoolException("保存工作明细失败==》小料箱直供产线任务明细生成");
        }
    }
    /*...........................亳州煜星..............以上.............亳州煜星...........................*/
}