自动化立体仓库 - WMS系统
#
whycq
2023-07-21 5d9465498f5cd954cf4bbf1622eae927676be60e
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -171,6 +171,7 @@
            List<String> groupOuterSingleLoc = Utils.getGroupOuterSingleLoc(locDetl.getLocNo());
            for (String locNo : groupOuterSingleLoc) {
                //每个库位的库位明细
                if(locs.contains(locNo)) continue;
                for (LocDetl detl : locDetlService.selectByLocNo(locNo)) {
                    if (!detl.getMatnr().equals(locDetl.getMatnr())) {
                        //不是相同物料
@@ -446,6 +447,7 @@
    @Override
    @Transactional
    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId) {
        Integer basDevp = staNo.getDevNo();
        Date now = new Date();
        // 合并同类项
        Set<String> locNos = new HashSet<>();
@@ -572,6 +574,10 @@
                        if (Cools.isEmpty(mat)) {
                            throw new CoolException(locDetl.getMatnr() + "商品档案不存在");
                        }
                        int zpallet = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", locDetl.getZpallet()));
                        if (zpallet>0) {
                            throw new CoolException(locDetl.getZpallet() + "入库通知档中已存在");
                        }
                        WaitPakin waitPakin = new WaitPakin();
                        waitPakin.sync(mat);
                        waitPakin.setBatch("");
@@ -623,13 +629,27 @@
            //-----------------2023.6.2出库兼容代码-----------------------
            if (ioType!=107){
                List<LocDetl> locDetls = locDetlService.selectByLocNo(locMast.getLocNo());
                if (locMast.getLocType2() == 1 && locDetls.size() > 1) {
                    //单品区域出库物料大于1种,强制变成101全板出库
                    ioType = 101;
                //if (locMast.getLocType2() == 1 && locDetls.size() > 1) {
                //    //单品区域出库物料大于1种,强制变成101全板出库
                //    ioType = 101;
                //    if (staNo.getDevNo()==300){
                //        staNo.setDevNo(200);
                //    }
                //}
                if (ioType == 101) {
                    if (staNo.getDevNo()==300){
                        staNo.setDevNo(200);
                        if(locMast.getCrnNo() == 1) {
                            staNo.setDevNo(100);
                        } else {
                            staNo.setDevNo(200);
                        }
                    }
                } else {
                    staNo.setDevNo(basDevp);
                }
            }
            //-----------------2023.6.2出库兼容代码end-----------------------
@@ -1011,9 +1031,9 @@
    @Override
    @Transactional
    public void locCheckOut(StockOutParam param, Long userId) {
         if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) {
             throw new CoolException("只能存在一笔盘点任务");
         }
//         if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) {
//             throw new CoolException("只能存在一笔盘点任务");
//         }
        // 目标站点状态检测
        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
        // 获取库位明细