自动化立体仓库 - WMS系统
#
yxFwq
2024-07-12 b46dc3bc339ed04f72b091c3880d20b9512b18c2
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());
@@ -1089,8 +1091,6 @@
            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());
@@ -1124,7 +1124,7 @@
        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());
        }
@@ -1178,8 +1178,6 @@
            throw new CoolException("参数:品号 matnr为空");
        }else if (Cools.isEmpty(param.getWeight())){
            throw new CoolException("参数:物料重量 wright为空");
        }else if (Cools.isEmpty(param.getColor())){
            throw new CoolException("参数:物料颜色 color为空");
        }
        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", param.getMatnr()).eq("weight", param.getWeight()).eq("color", param.getColor()));
@@ -1207,10 +1205,7 @@
            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();
@@ -1242,7 +1237,7 @@
        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());
        }
@@ -1282,5 +1277,88 @@
    }
    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("保存工作明细失败==》小料箱直供产线任务明细生成");
        }
    }
    /*...........................亳州煜星..............以上.............亳州煜星...........................*/
}