自动化立体仓库 - WMS系统
#
lsh
2024-01-19 1607086231421efad1dae82c00f044b0b9070532
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -803,165 +803,18 @@
    @Override
    @Transactional
    public void palletizingCompleteS(PalletizingCompleteParam param) {
        Long userId = 7776L;//松盛
        //判断param参数
        if (Cools.isEmpty(param.getBarcode())){
            throw new CoolException("参数:托盘码 barcode为空");
        }else if (Cools.isEmpty(param.getPalletizingNo())){
            throw new CoolException("参数:码垛位编号 palletizingNo为空");
        }else if (Cools.isEmpty(param.getBoxType())){
            throw new CoolException("参数:木箱类型 boxType为空");
        }else if (Cools.isEmpty(param.getMatLists()) || param.getMatLists().size()!=1){
            throw new CoolException("参数:物料明细 matLists为空");
        }
        ArrayList<String> positions = new ArrayList<>();   //木箱位置查重      (orgin)
        ArrayList<String> boxNos = new ArrayList<>();   //木箱唯一编码查重  (batch)
        //判断matLists参数
        for (PalletizingCompleteParam.MatList matList:param.getMatLists()){
            if (Cools.isEmpty(matList.getMatnr())){
                throw new CoolException("参数:物料编码 matnr为空");
            }else if (Cools.isEmpty(matList.getPosition())){
                throw new CoolException("物料编码:"+matList.getMatnr()+"、参数:码垛位置 position为空");
            }else if (Cools.isEmpty(matList.getBoxNo())){
                throw new CoolException("物料编码:"+matList.getMatnr()+"、参数:木箱编号 boxNo为空");
            }else if (Cools.isEmpty(matList.getAnfme()) || matList.getAnfme().equals(0)){
                throw new CoolException("物料编码:"+matList.getMatnr()+"、参数:木箱中铜箔数量 anfme为空");
            }else if (Cools.isEmpty(matList.getWeight()) || matList.getWeight().equals(0D)){
                throw new CoolException("物料编码:"+matList.getMatnr()+"、参数:重量 weight为空");
            }
            if (!positions.contains(matList.getPosition())){
                positions.add(matList.getPosition());
            }else {
                throw new CoolException("参数:木箱编号 boxNo:"+matList.getBoxNo()+",木箱位置存在重复:"+matList.getPosition());
            }
            if (!boxNos.contains(matList.getBoxNo())){
                boxNos.add(matList.getBoxNo());
            }else {
                throw new CoolException("参数:木箱编号 boxNo:"+matList.getBoxNo()+",木箱编码存在重复");
            }
        WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
        if (Cools.isEmpty(wrkMast) || wrkMast.getWrkSts()!=2){
            log.error("退库码垛完成,返回托盘码未查询到工作档案!");
            throw new CoolException("参数:托盘码 barcode未查询到工作档案");
        }
        BasDevp basDevp = basDevpService.selectById(param.getPalletizingNo2());
        if (Cools.isEmpty(basDevp)){
            throw new CoolException("参数:码垛位编号 palletizingNo="+param.getPalletizingNo2()+"不存在");
        }
        if (Cools.isEmpty(basDevp.getAutoing()) || !basDevp.getAutoing().equals("Y")){
            throw new CoolException("码垛位编号 palletizingNo="+param.getPalletizingNo()+" 所处站点不是自动状态");
        }
        if (Cools.isEmpty(basDevp.getLoading()) || !basDevp.getLoading().equals("Y")){
            throw new CoolException("码垛位编号 palletizingNo="+param.getPalletizingNo()+" 所处站点不是有物状态");
        }
//        if (Cools.isEmpty(basDevp.getCanining()) || !basDevp.getCanining().equals("Y")){
//            throw new CoolException("码垛位编号 palletizingNo="+param.getPalletizingNo()+" 所处站点不是能入状态");
//        }
//        if (locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()))!=0
//                || wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()))!=0
//                || waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()))!=0){
//            throw new CoolException("托盘条码:"+param.getBarcode()+"已存在,请勿重复组托");
//        }
//
//
//        Date now = new Date();
//        List<WaitPakin> waitPakins = new ArrayList<>();
//        String matnr = null;
//        for (PalletizingCompleteParam.MatList matList:param.getMatLists()){
//            long rollUp = new Date().getTime();
//            Mat mat = matService.selectByMatnr(matList.getMatnr());
//            if (Cools.isEmpty(mat)) {
//                throw new CoolException(matList.getMatnr() + "商品档案不存在");
//            }
//            matnr = mat.getMatnr();
//            WaitPakin waitPakin = new WaitPakin();
//            waitPakin.sync(mat);
//            waitPakin.setModel(matList.getBatch());     //批次
//            waitPakin.setSpecs(matList.getSpecs());     //规格
//            waitPakin.setBatch(matList.getBoxNo());       //木箱编码
//            waitPakin.setBrand(param.getBoxType());     //木箱类型
//            waitPakin.setZpallet(param.getBarcode());   //托盘码
//            waitPakin.setOrigin(matList.getPosition()); //木箱在托盘上的位置
//            waitPakin.setIoStatus("Y");     // 入出状态
//            waitPakin.setAnfme(matList.getAnfme().doubleValue());  // 木箱中铜箔数量
//            waitPakin.setStatus("Y");    // 状态
//            waitPakin.setAppeUser(userId);
//            waitPakin.setAppeTime(now);
//            waitPakin.setModiUser(userId);
//            waitPakin.setModiTime(now);
//            waitPakin.setRollUp(rollUp);
//            if (!Cools.isEmpty(matList.getMatDetlList())){
//                for (PalletizingCompleteParam.MatDetlList matDetlList:matList.getMatDetlList()){
//                    LocDetlRullUpDetail locDetlRullUpDetail = new LocDetlRullUpDetail();
//                    locDetlRullUpDetail.setUuid(rollUp);
//                    locDetlRullUpDetail.setRollNo(matDetlList.getBoxNoDetl());
//                    locDetlRullUpDetail.setRollWeight(matDetlList.getWeightDetl().toString());
//                    locDetlRullUpDetailService.insert(locDetlRullUpDetail);
//                }
//            }
//            if (!waitPakinService.insert(waitPakin)) {
//                throw new CoolException("保存入库通知档失败");
//            }
//            waitPakins.add(waitPakin);
//        }
//        LocTypeDto locTypeDto = new LocTypeDto();
//        locTypeDto.setLocType1((short)1);
//
//        StartupDto dto = commonService.getLocNo(1, 1, param.getPalletizingNo2(), matnr,null,null, locTypeDto);
//
//        int workNo = dto.getWorkNo();
//        // 生成工作档
//        WrkMast wrkMast = new WrkMast();
//        wrkMast.setWrkNo(workNo);
//        wrkMast.setIoTime(new Date());
//        wrkMast.setWrkSts(1L); // 工作状态:生成入库ID
//        wrkMast.setIoType(1); // 入出库状态:1.入库
//        wrkMast.setIoPri(13D); // 优先级
//        wrkMast.setCrnNo(dto.getCrnNo());
//        wrkMast.setSourceStaNo(dto.getSourceStaNo());
//        wrkMast.setStaNo(dto.getStaNo());
//        wrkMast.setLocNo(dto.getLocNo());
//        wrkMast.setBarcode(param.getBarcode()); // 托盘码
//        wrkMast.setFullPlt("Y"); // 满板:Y
//        wrkMast.setPicking("N"); // 拣料
//        wrkMast.setExitMk("N"); // 退出
//        wrkMast.setEmptyMk("N"); // 空板
//        wrkMast.setLinkMis("Y");
//        wrkMast.setCtnType(0); // 容器类型
//        // 操作人员数据
//        wrkMast.setAppeTime(now);
//        wrkMast.setModiTime(now);
//        boolean res = wrkMastService.insert(wrkMast);
//        if (!res) {
//            throw new CoolException("保存工作档失败");
//        }
//        // 生成工作档明细
//        waitPakins.forEach(waitPakin -> {
//            WrkDetl wrkDetl = new WrkDetl();
//            wrkDetl.sync(waitPakin);
//            wrkDetl.setWrkNo(wrkMast.getWrkNo());
//            wrkDetl.setIoTime(wrkMast.getIoTime());
//            wrkDetl.setAppeTime(now);
//            wrkDetl.setModiTime(now);
//            if (!wrkDetlService.insert(wrkDetl)) {
//                throw new CoolException("保存工作明细失败");
//            }
//        });
//        // 更新目标库位状态
//        LocMast locMast = locMastService.selectById(dto.getLocNo());
//        if (locMast.getLocSts().equals("O")){
//            locMast.setLocSts("S"); // S.入库预约
//            locMast.setModiTime(now);
//            if (!locMastService.updateById(locMast)){
//                throw new CoolException("改变库位状态失败");
//            }
//        } else {
//            throw new CoolException(dto.getLocNo()+"目标库位已被占用");
//        }
        wrkMast.setSheetNo("4");
        wrkMastService.updateById(wrkMast);
    }
@@ -1220,14 +1073,14 @@
    @Transactional
    public void cs3() {
        //拆盘
        WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),119);
        wrkMastSta1.setType(2);
        wrkMastSta1.setWrkType(2);
        wrkMastStaService.insert(wrkMastSta1);
        WrkMastSta wrkMastSta2 = new WrkMastSta(new Date(),121);
        wrkMastSta2.setType(2);
        wrkMastSta2.setWrkType(2);
        wrkMastStaService.insert(wrkMastSta2);
//        WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),119);
//        wrkMastSta1.setType(2);
//        wrkMastSta1.setWrkType(2);
//        wrkMastStaService.insert(wrkMastSta1);
//        WrkMastSta wrkMastSta2 = new WrkMastSta(new Date(),121);
//        wrkMastSta2.setType(2);
//        wrkMastSta2.setWrkType(2);
//        wrkMastStaService.insert(wrkMastSta2);
    }
    /*...........................上饶江铜..............以上.............徐工汉云...........................*/