自动化立体仓库 - WMS系统
lsh
5 天以前 38e180b50cfc86764b8d12872b90af72d6a96083
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -2,10 +2,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.core.common.SnowflakeIdWorker;
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.*;
@@ -602,9 +599,10 @@
        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
        if (Cools.isEmpty(wrkMast)){
            throw new CoolException("站点:"+param.getDevNo()+" 工作中任务不存在,任务号:"+basDevp.getWrkNo());
        }else if (!wrkMast.getWrkSts().equals(52L)){
            throw new CoolException("站点:"+param.getDevNo()+" 工作中任务状态已变更,请勿重复申请,任务号:"+basDevp.getWrkNo()+",任务状态:"+wrkMast.getWrkSts$());
        }
//        else if (!wrkMast.getWrkSts().equals(52L)){
//            throw new CoolException("站点:"+param.getDevNo()+" 工作中任务状态已变更,请勿重复申请,任务号:"+basDevp.getWrkNo()+",任务状态:"+wrkMast.getWrkSts$());
//        }
        List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", basDevp.getWrkNo()));
        if (Cools.isEmpty(wrkDetls) || wrkDetls.size()==0){
@@ -636,10 +634,10 @@
//        labellerMatParam.setLabellingTime(DateUtils.convert(new Date()));
//        labellerMatParam.setLabTemplate("1");
//        labellerMatParam.setOrderNo(orderNo);
        wrkMast.setWrkSts(53L);
        if (!wrkMastService.updateById(wrkMast)){
            throw new CoolException("异常,请重新申请");
        }
//        wrkMast.setWrkSts(53L);
//        if (!wrkMastService.updateById(wrkMast)){
//            throw new CoolException("异常,请重新申请");
//        }
        return labellerMatParam;
    }
@@ -783,6 +781,20 @@
            throw new CoolException("托盘条码:"+param.getBarcode()+"已存在,请勿重复组托");
        }
        try{
            int rgvOneType = rgvOneSignService.selectCount(new EntityWrapper<RgvOneSign>().eq("rgv_one_type", param.getPalletizingNo() + "barcode" + param.getBarcode()));
            if (rgvOneType==0){
                RgvOneSign rgvOneSign = new RgvOneSign();
                rgvOneSign.setRgvOneSign(param.getPalletizingNo());
                rgvOneSign.setRgvOneType(param.getPalletizingNo() + "barcode" + param.getBarcode());
                boolean insert = rgvOneSignService.insert(rgvOneSign);
                if (!insert){
                    throw new CoolException("托盘码标记添加失败,请重新下发!!!");
                }
            }
        }catch (Exception e){
            throw new CoolException("托盘码标记添加异常,请重新下发!!!");
        }
        Date now = new Date();
        for (PalletizingCompleteTwoFloorParam.MatList matList:param.getMatList()){
@@ -805,13 +817,24 @@
            waitPakin.sync(mat);
            waitPakin.setBatch(matList.getBatch());       //木箱编码  //批次  唯一值  箱号
            waitPakin.setModel(matList.getModel());       //卷号  唯一值
            waitPakin.setBrand(param.getBoxType());     //木箱类型
            String boxType = param.getBoxType();
            try{
                BasBoxTypeService basBoxTypeService = SpringUtils.getBean(BasBoxTypeService.class);
                BasBoxType basBoxType = basBoxTypeService.selectOne(new EntityWrapper<BasBoxType>().eq("box_specs", boxType));
                if (!Cools.isEmpty(basBoxType)){
                    boxType = basBoxType.getBoxType();
                }
            } catch (Exception e){
            }
            waitPakin.setBrand(boxType);     //木箱类型
            waitPakin.setZpallet(param.getBarcode());   //托盘码
            waitPakin.setOrigin(matList.getPosition()); //木箱在托盘上的位置
            waitPakin.setWeight(matList.getWeight());  //净重
            waitPakin.setVolume(matList.getRoughWeight());  //毛重
            waitPakin.setPrice(matList.getRollExtent());   //长度
            waitPakin.setSpecs(String.valueOf(matList.getJoint()));   //接头
            waitPakin.setDanger(matList.getQualified());   //待判
            waitPakin.setIoStatus("N");     // 入出状态
            waitPakin.setAnfme(matList.getAnfme());  // 数量
            waitPakin.setStatus("Y");    // 状态
@@ -980,7 +1003,7 @@
            throw new CoolException("参数:此任务未上报禁止完成:"+param.getBarcode());
        }
        wrkMastMatrix.setSheetNo("2");
        wrkMastMatrix.setSheetNo("3");
        if (!wrkMastService.updateById(wrkMastMatrix)){
            throw new CoolException("更新工作档失败==》桁架上位软件:单托拆垛完成通知");
        }
@@ -1064,5 +1087,49 @@
        return crnStn;
    }
    /*
     * FQC质检
     * */
    @Override
    @Transactional
    public void qualityInspection(QualityInspectionParam param) {
        //判断param参数
        if (Cools.isEmpty(param.getBoxNo())){
            throw new CoolException("参数:箱号 boxNo为空");
        }
        List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>()
                .eq("batch", param.getBoxNo())
                .eq("model", param.getModel())
        );
        if (locDetlList.isEmpty()){
            throw new CoolException("未查询到对应箱号:"+param.getBoxNo()+";与卷号:"+param.getModel()+";的物料");
        }
        for (LocDetl locDetl:locDetlList){
            if (locDetl.getDanger()!=0){
                String dangerStr = "";
                if (locDetl.getDanger()==1){
                    dangerStr = "合格";
                }else if (locDetl.getDanger()==2){
                    dangerStr = "不合格";
                }
                throw new CoolException("查询到对应箱号:"+param.getBoxNo()+";与卷号:"+param.getModel()+";的物料,但是已经标记为"+dangerStr+",不能重复标记!");
            }
        }
        for (LocDetl locDetl:locDetlList){
            if (locDetl.getDanger()==0){
                locDetl.setDanger(param.getDanger());
                if (param.getDanger()==2){
                    String memo = Cools.isEmpty(locDetl.getMemo())?  "" : locDetl.getMemo()+",";
                    locDetl.setMemo(memo+"质检结果不合格:"+param.getMemo());//不合格会给备注,需要把备注给到包装做展示
                }
                locDetlService.update(locDetl,new EntityWrapper<LocDetl>()
                        .eq("loc_no", locDetl.getLocNo())
                        .eq("batch", param.getBoxNo()));
            }
        }
    }
    /*...........................上饶江铜..............以上.............徐工汉云...........................*/
}