自动化立体仓库 - WMS系统
pang.jiabao
7 天以前 ac0aa960be6abbbc5122944d27323b8db4893ee7
src/main/java/com/zy/common/web/WcsController.java
@@ -103,7 +103,7 @@
        if(param.getIoType() == 1) {
            List<SearchLocParam.WantBucket> wantBucketFlag = param.getWantBucketFlag();
            for(SearchLocParam.WantBucket wantBucket: wantBucketFlag) {
                if(wantBucket.getBucketType() != 0 && wantBucket.getBucketType() == param.getBucketType()) { // 罐装线有要桶信号并且当前桶是罐装线要的桶
                if(wantBucket.getBucketType() != 0 && wantBucket.getBucketType() == param.getBucketType() && wantBucket.getWantBucketCount() >= 1) { // 罐装线有要桶信号并且当前桶是罐装线要的桶
                    if(waitPakin == null) {
                        return R.error("入库通知档为空");
                    } else {
@@ -248,52 +248,52 @@
        StartupDto dto;
        // 判断贴标异常,复检重量异常的,不分配库位,去往异常口1090
//        if ( !param.isTbFlag() || !param.isReinspection()) {
//
//            // 生成工作档 ------------------------------------------------------
//            WrkMast wrkMast = new WrkMast();
//            wrkMast.setWrkNo(commonService.getWorkNo(0));
//            wrkMast.setIoTime(now);
//            wrkMast.setIoType(3); // 入出库类型3.站到站
//            wrkMast.setWrkSts(2L);
//            wrkMast.setIoPri(13D); // 优先级
////            wrkMast.setCrnNo(dto.getCrnNo());
//            wrkMast.setSourceStaNo(param.getSourceStaNo());
//            wrkMast.setStaNo(1090);
////            wrkMast.setLocNo(dto.getLocNo());
//            wrkMast.setBarcode(wrkMast1.getBarcode()); // 托盘码
//            wrkMast.setFullPlt("Y"); // 满板:Y
////            wrkMast.setPicking("N"); // 拣料
////            wrkMast.setExitMk("N"); // 退出
////            wrkMast.setEmptyMk("N"); // 空板
////            wrkMast.setLinkMis("Y");
////            wrkMast.setCtnType(wrkMast1.getCtnType()); // 尾托标识
//            wrkMast.setPdcType(wrkMast1.getPdcType()); // 空桶类型
//            wrkMast.setAppeTime(now);
//            wrkMastService.insert(wrkMast);
//
//            // 生成工作档明细----------------------------------------------------
//            WrkDetl wrkDetl = new WrkDetl();
//            wrkDetl.sync(mat);
//            wrkDetl.setWrkNo(wrkMast.getWrkNo());
//            wrkDetl.setAnfme(wrkDetl1.getAnfme());
//            wrkDetl.setZpallet(wrkMast1.getBarcode());
//            wrkDetl.setBatch(param.getBatch());
//            wrkDetl.setManuDate(param.getManuDate());
//            wrkDetl.setWeight(param.getWeight());
//            wrkDetl.setManLength(param.getGrossWeight());
//            wrkDetl.setVolume(param.getCannedVolume()); // 罐装量
//            wrkDetl.setInspect(param.isTbFlag()?1:0); // 贴标成功
//            wrkDetl.setIoTime(now);
//            wrkDetl.setAppeTime(now);
//            wrkDetl.setModel(wrkDetl1.getMaktx()); // 保存空桶名称
//            wrkDetlService.insert(wrkDetl);
//
//            dto = new StartupDto();
//            dto.setWorkNo(wrkMast.getWrkNo());
//            dto.setSourceStaNo(wrkMast.getSourceStaNo());
//            dto.setStaNo(wrkMast.getStaNo());
//        } else
        if ( !param.isTbFlag() || !param.isReinspection()) {
            // 生成工作档 ------------------------------------------------------
            WrkMast wrkMast = new WrkMast();
            wrkMast.setWrkNo(commonService.getWorkNo(0));
            wrkMast.setIoTime(now);
            wrkMast.setIoType(3); // 入出库类型3.站到站
            wrkMast.setWrkSts(2L);
            wrkMast.setIoPri(13D); // 优先级
//            wrkMast.setCrnNo(dto.getCrnNo());
            wrkMast.setSourceStaNo(param.getSourceStaNo());
            wrkMast.setStaNo(1090);
            wrkMast.setLocNo(!param.isTbFlag() ? "贴标失败" : "复检重量异常");
            wrkMast.setBarcode(wrkMast1.getBarcode()); // 托盘码
            wrkMast.setFullPlt("Y"); // 满板:Y
//            wrkMast.setPicking("N"); // 拣料
//            wrkMast.setExitMk("N"); // 退出
//            wrkMast.setEmptyMk("N"); // 空板
//            wrkMast.setLinkMis("Y");
//            wrkMast.setCtnType(wrkMast1.getCtnType()); // 尾托标识
            wrkMast.setPdcType(wrkMast1.getPdcType()); // 空桶类型
            wrkMast.setAppeTime(now);
            wrkMastService.insert(wrkMast);
            // 生成工作档明细----------------------------------------------------
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(mat);
            wrkDetl.setWrkNo(wrkMast.getWrkNo());
            wrkDetl.setAnfme(wrkDetl1.getAnfme());
            wrkDetl.setZpallet(wrkMast1.getBarcode());
            wrkDetl.setBatch(param.getBatch());
            wrkDetl.setManuDate(param.getManuDate());
            wrkDetl.setWeight(param.getWeight());
            wrkDetl.setManLength(param.getGrossWeight());
            wrkDetl.setVolume(param.getCannedVolume()); // 罐装量
            wrkDetl.setInspect(param.isTbFlag()?1:0); // 贴标成功
            wrkDetl.setIoTime(now);
            wrkDetl.setAppeTime(now);
            wrkDetl.setModel(wrkDetl1.getMaktx()); // 保存空桶名称
            wrkDetlService.insert(wrkDetl);
            dto = new StartupDto();
            dto.setWorkNo(wrkMast.getWrkNo());
            dto.setSourceStaNo(wrkMast.getSourceStaNo());
            dto.setStaNo(wrkMast.getStaNo());
        } else
        if(fhFlag) { // 直接发货
            // 生成工作档 ------------------------------------------------------
            WrkMast wrkMast = new WrkMast();
@@ -450,14 +450,20 @@
        WrkMast wrkMast = wrkMastService.selectById(wrkNo);
        if (wrkMast == null) {
            throw new CoolException("异常口入库任务号无任务:" + wrkNo);
        } else if (wrkMast.getLocNo() != null) {
        } else if (wrkMast.getLocNo() != null && wrkMast.getLocNo().length() == 7) {
            throw new CoolException("异常口入库库位已分配:" + wrkMast.getLocNo());
        }
        if(!param.isTbFlag()) { //下线出库
            Config config = configService.selectConfigByCode("gzxfh" + wrkMast.getSourceStaNo());
            wrkMast.setSourceStaNo(1090);
            wrkMast.setStaNo(1024); // 异常下线默认入库站点为1016
            wrkMast.setStaNo(1024); // 异常下线默认入库站点为1024
            // 获取系统配置,看成品罐装完成是否直接出到发货口
            if (config != null && config.getStatus() == 1 && !Cools.isEmpty(config.getValue())) {
                wrkMast.setStaNo(Integer.parseInt(config.getValue()));
            }
            wrkMastService.updateById(wrkMast);
            log.info("WCS异常口入库接口返参:{},目标站点:{}", "下线出库", wrkMast.getStaNo());
            return R.ok();
        }
@@ -679,6 +685,7 @@
    @PostMapping("/autoOutEmptyBucket")
    @ResponseBody
    public R autoOutEmptyBucket(@RequestBody StockOutParam param){
        log.info("收到WCS自动出空桶接口请求====>>入参:{}", param);
        workService.startupFullTakeStore(param, 29L);
        return R.ok("出库启动成功");
    }
@@ -694,7 +701,7 @@
        LocMast locMast;
        // 先找浅库位
        locMast = locMastMapper.queryLocMasterByLocStsAndRow(Arrays.asList(2, 3), type);
        locMast = locMastMapper.queryLocMasterByLocStsAndRow(Arrays.asList(2,3,5,6,7,8), type);
        // 浅库位没有则查询所有
        if (locMast == null) {
@@ -702,7 +709,7 @@
        }
        if (locMast == null) {
            return R.error("库存没有"+type+"类型空托盘");
            return R.error("库存没有"+type+"类型空托盘或无可用堆垛机");
        }
        String locNo = locMast.getLocNo();