自动化立体仓库 - WMS系统
#
yxFwq
2024-07-12 b9e42e18fcc90f53f23fdee06d1ba2caa550f96c
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());
        }
@@ -1140,7 +1140,7 @@
        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());   //托盘码
@@ -1178,8 +1178,11 @@
            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()));
@@ -1192,8 +1195,10 @@
        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参数
@@ -1207,10 +1212,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 +1244,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 +1284,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("保存工作明细失败==》小料箱直供产线任务明细生成");
        }
    }
    /*...........................亳州煜星..............以上.............亳州煜星...........................*/
}