自动化立体仓库 - WMS系统
#
whycq
2024-07-29 3521070a2fda24b1d534e21018ce8017e01f595a
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -30,6 +30,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.net.CookieStore;
import java.util.*;
import java.util.stream.Collectors;
@@ -1007,11 +1008,15 @@
        // 根据源站点寻找库位
//        StartupDto dto = commonService.getLocNo(1, 1, param.getPalletizingNo(), null,null,null, locTypeDto);
        StartupDto dto = commonService.getLocNo(1, param.getPalletizingNo(), locTypeDto);
        StartupDto dto = commonService.getLocNo(1, param.getPalletizingNo(), locTypeDto,0);
        // 返回GWCS目标信息
        pushStaNoToGwcs(param.getPalletizingNo(),dto.getStaNo(),dto.getWorkNo());
        int iotype = 1;
        if (Cools.isEmpty(param.getMatList())) {
            iotype = 10;
        }
        int workNo = dto.getWorkNo();
        Date now = new Date();
        // 生成工作档
@@ -1019,7 +1024,7 @@
        wrkMast.setWrkNo(workNo);
        wrkMast.setIoTime(new Date());
        wrkMast.setWrkSts(1L); // 工作状态:设备上走
        wrkMast.setIoType(1); // 入出库状态:1.入库
        wrkMast.setIoType(iotype); // 入出库状态:1.入库
        wrkMast.setIoPri(13D); // 优先级
        wrkMast.setCrnNo(dto.getCrnNo());
        wrkMast.setSourceStaNo(param.getPalletizingNo());
@@ -1040,47 +1045,50 @@
            throw new CoolException("保存工作档失败");
        }
        List<GwmsGenerateInventoryDto.MatList> matList = param.getMatList();
        for (GwmsGenerateInventoryDto.MatList obj :matList) {
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.setWrkNo(wrkMast.getWrkNo());
            obj.getRolls().forEach(roll -> {
                Mat mat = matService.selectByMatnr(roll.getSpecs());
                if (mat == null) {
                    mat = new Mat();
                    mat.setTagId(6L);
                    mat.setMatnr(roll.getSpecs());
                    mat.setMaktx(roll.getSpecs());
                    mat.setSpecs(roll.getSpecs());
                    mat.setStatus(1);
                    mat.setCreateTime(now);
                    mat.setUpdateTime(now);
                    if (!matService.insert(mat)) {
                        throw new CoolException("物料导入失败!");
                    }
                }
        if (!Cools.isEmpty(param.getMatList())) {
            List<GwmsGenerateInventoryDto.MatList> matList = param.getMatList();
            for (GwmsGenerateInventoryDto.MatList obj :matList) {
                WrkDetl wrkDetl = new WrkDetl();
                wrkDetl.setWrkNo(wrkMast.getWrkNo());
                wrkDetl.setMatnr(roll.getSpecs()); // 规格
                wrkDetl.setMaktx(roll.getSpecs()); //规格
                wrkDetl.setBatch(roll.getBoxNo()); // 箱号
                wrkDetl.setModel(roll.getRollNo()); // 卷号
                wrkDetl.setBrand(""); // 木箱类型
                wrkDetl.setZpallet(param.getBarcode()); // 托盘吗
                wrkDetl.setOrigin(obj.getBoxPos()); // 木箱在托盘位置
                wrkDetl.setWeight(roll.getNetWeight()); // 净重
                wrkDetl.setVolume(roll.getGrossWeight()); // 毛重
                wrkDetl.setPrice(roll.getLength());
                wrkDetl.setSpecs(String.valueOf(roll.getSplices()));
                wrkDetl.setAnfme(1.0);
                wrkDetl.setIoTime(now);
                wrkDetl.setAppeTime(now);
                wrkDetl.setModiTime(now);
                if (!wrkDetlService.insert(wrkDetl)) {
                    throw new CoolException("保存工作明细失败");
                }
            });
                obj.getRolls().forEach(roll -> {
//                Mat mat = matService.selectByMatnr(roll.getSpecs());
//                if (mat == null) {
//                    mat = new Mat();
//                    mat.setTagId(6L);
//                    mat.setMatnr(roll.getSpecs());
//                    mat.setMaktx(roll.getSpecs());
//                    mat.setSpecs(roll.getSpecs());
//                    mat.setStatus(1);
//                    mat.setCreateTime(now);
//                    mat.setUpdateTime(now);
//                    if (!matService.insert(mat)) {
//                        throw new CoolException("物料导入失败!");
//                    }
//                }
                    wrkDetl.setWrkNo(wrkMast.getWrkNo());
                    wrkDetl.setMatnr(roll.getSpecs()); // 规格
                    wrkDetl.setMaktx(roll.getSpecs()); //规格
                    wrkDetl.setBatch(roll.getBoxNo()); // 箱号
                    wrkDetl.setModel(roll.getRollNo()); // 卷号
                    wrkDetl.setBrand(obj.getPackageGroupNo()); // 包装组号
                    wrkDetl.setZpallet(param.getBarcode()); // 托盘吗
                    wrkDetl.setOrigin(obj.getBoxPos()); // 木箱在托盘位置
                    wrkDetl.setWeight(roll.getNetWeight()); // 净重
                    wrkDetl.setVolume(roll.getGrossWeight()); // 毛重
                    wrkDetl.setPrice(roll.getLength());
                    wrkDetl.setSpecs(String.valueOf(roll.getSplices()));
                    wrkDetl.setAnfme(1.0);
                    wrkDetl.setIoTime(now);
                    wrkDetl.setAppeTime(now);
                    wrkDetl.setModiTime(now);
                    if (!wrkDetlService.insert(wrkDetl)) {
                        throw new CoolException("保存工作明细失败");
                    }
                });
            }
        }
        // 更新目标库位状态
        LocMast locMast = locMastService.selectById(dto.getLocNo());
        if (locMast.getLocSts().equals("O")){