自动化立体仓库 - WMS系统
307a04b33d1054c89e1acae24ed2913e394635b8..b381767ad6eb57f1dfe0068f1cc1241d53786322
2 天以前 dubin
#1
b38176 对比 | 目录
2 天以前 dubin
#1
855afd 对比 | 目录
2 天以前 czkh
#1
4715b1 对比 | 目录
5个文件已修改
203 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/BarcodeMatnrController.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MatBarcodeServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/MatExcelListener.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 140 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/BarcodeMatnrController.java
@@ -11,12 +11,10 @@
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.MatBarcode;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.service.MatBarcodeService;
import com.zy.asrs.service.MatService;
import com.zy.asrs.service.MobileService;
import com.zy.asrs.service.WaitPakinService;
import com.zy.asrs.service.*;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +39,8 @@
    private MatService matService;
    @Autowired
    private WaitPakinService waitPakinService;
    @Autowired
    private WrkMastService wrkMastService;
    /*
     * 物料托盘绑定分页查询
@@ -185,6 +185,16 @@
            return R.error(BaseRes.PARAM);
        }
        for (MatBarcode matBarcode : list) {
            WrkMast wrkMast = wrkMastService.selectByBarcode(matBarcode.getZpallet());
            if (wrkMast == null){
                return R.error("托盘没有对应工作档");
            }
            if (wrkMast.getIoType() != 104){
                return R.error("托盘对应工作档不是并板出库");
            }
            if (wrkMast.getWrkSts() != 14){
                return R.error("托盘对应工作档未完成");
            }
            MobileAdjustParam combParam = new MobileAdjustParam();
            ArrayList<CombParam.CombMat> combMats = new ArrayList<>();
            CombParam.CombMat combMat = new CombParam.CombMat();
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -40,7 +40,7 @@
        if (locMast == null) {
            return false;
        }
        return this.baseMapper.selectEmptyLocCount(locMast.getLocType1(), locMast.getCrnNo()) > 1;
        return this.baseMapper.selectEmptyLocCount(locMast.getLocType1(), locMast.getCrnNo()) > 5;
    }
    /*
src/main/java/com/zy/asrs/service/impl/MatBarcodeServiceImpl.java
@@ -41,22 +41,30 @@
    public void deleteMatBarcode(List<MatBarcode> list) {
        for (MatBarcode matBarcode : list) {
            //对于已经有库存 组托档 工作档的数据 不允许解绑
//            Integer locCount = locDetlService.selectCountByMatNr(matBarcode.getMatnr());
//            Integer waitCount = waitPakinService.selectCountByMatNr(matBarcode.getMatnr());
//            Integer wrkCount = wrkDetlService.selectCountByMatNr(matBarcode.getMatnr());
//            if (locCount > 0 || waitCount > 0){
//                throw new CoolException("库存/组托档存在该模具,不能解绑,商品模具名称:" + matBarcode.getMatnr() + "托盘码:" + matBarcode.getZpallet());
//            }
            Integer wrkNo = wrkDetlService.selectWrkNoByMatnr(matBarcode.getMatnr());
            if (wrkNo != null){
                WrkMast wrkMast = wrkMastService.selectById(wrkNo);
                if (wrkMast == null){
                    throw new CoolException("工作档异常,有工作明细档无工作档");
                }
                if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 101){
                    throw new CoolException("工作档不是全板出库/拣料出库");
                }
                if (wrkMast.getWrkSts() != 14 && wrkMast.getWrkSts() != 15){
                    throw new CoolException("工作档未完成");
                }
            }
            //对于已经有库存 组托档 工作档的数据 不允许解绑
            Integer locCount = locDetlService.selectCountByMatNr(matBarcode.getMatnr());
            Integer waitCount = waitPakinService.selectCountByMatNr(matBarcode.getMatnr());
            //Integer wrkCount = wrkDetlService.selectCountByMatNr(matBarcode.getMatnr());
            if (locCount > 0 || waitCount > 0){
                throw new CoolException("库存/组托档存在该模具,不能解绑,商品模具名称:" + matBarcode.getMatnr() + "托盘码:" + matBarcode.getZpallet());
            }
            Integer wrkNo = wrkDetlService.selectWrkNoByMatnr(matBarcode.getMatnr());
            WrkMast wrkMast = wrkMastService.selectById(wrkNo);
            if (wrkMast == null){
                throw new CoolException("工作档异常,有工作明细档无工作档");
            }
            if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 101){
                throw new CoolException("工作档不是全板出库/拣料出库");
            }
            if (wrkMast.getWrkSts() != 14 && wrkMast.getWrkSts() != 15){
                throw new CoolException("工作档未完成");
            }
            //对模具的规格做处理得到厚度
            Integer thickness = 0;
@@ -65,10 +73,12 @@
                thickness = Integer.parseInt(split[1]);
            }
            HalfBarcode halfBarcode = halfBarcodeService.selectByZpallet(matBarcode.getZpallet());
            halfBarcode.setAnfme(halfBarcode.getAnfme() - 1);
            halfBarcode.setPrice(halfBarcode.getPrice() + thickness);
            if (!halfBarcodeService.half(halfBarcode)){
                throw new CoolException("更新半托信息失败");
            if (halfBarcode != null){
                halfBarcode.setAnfme(halfBarcode.getAnfme() - 1);
                halfBarcode.setPrice(halfBarcode.getPrice() + thickness);
                if (!halfBarcodeService.half(halfBarcode)){
                    throw new CoolException("更新半托信息失败");
                }
            }
            matBarcodeMapper.deleteByMatnr(matBarcode.getMatnr());
        }
src/main/java/com/zy/asrs/utils/MatExcelListener.java
@@ -145,6 +145,7 @@
            inOut.setMaktx(mat.getMaktx());
            inOut.setColor(mat.getColor());
            inOut.setSpecs(mat.getSpecs());
            inOut.setName(excel.getName());
            inOut.setTemp1("");
            if (!matService.insert(mat)) {
                throw new CoolException("保存商品档案失败,商品编码:" + excel.getMatnr());
src/main/java/com/zy/common/service/CommonService.java
@@ -514,37 +514,121 @@
            List<LocMast> locMasts = new ArrayList<>();
            List<LocMast> locMastsLow2 = new ArrayList<>();
            List<LocMast> locMastsLow3 = new ArrayList<>();
            locMastsLow2 = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", 2)
                    .eq("loc_sts", "O").eq("loc_type1",locTypeDto.getLocType1()));
            locMastsLow3 = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", 3)
                    .eq("loc_sts", "O").eq("loc_type1",locTypeDto.getLocType1()));
            if (locMastsLow2.size() <= 5 && locMastsLow3.size() <= 5){
                locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow)
                        .eq("loc_sts", "O").ge("lev1",8));
                if (Cools.isEmpty(locMasts)){
                    if (nearRow == 2){
                        locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow + 1)
                                .eq("loc_sts", "O").ge("lev1",8));
                    }else if (nearRow == 3){
                        locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow - 1)
                                .eq("loc_sts", "O").ge("lev1",8));
                    }
                }
            LocMast locMastLow = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", "0100101"));
            LocMast locMastMid = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", "0100108"));
            LocMast locMastHigh = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", "0100111"));
            LocMast locMastHighest = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", "0100113"));
            if (locMastService.checkEmptyCount(locMastLow)){
                locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts","O").eq("loc_type1",1));
            }else {
                locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow)
                        .eq("loc_sts", "O"));
                if (Cools.isEmpty(locMasts)){
                    if (nearRow == 2){
                        locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow + 1)
                                .eq("loc_sts", "O"));
                    }else if (nearRow == 3){
                        locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow - 1)
                                .eq("loc_sts", "O"));
                if (locMastService.checkEmptyCount(locMastMid)){
                    locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts","O").eq("loc_type1",2));
                }else {
                    if (locMastService.checkEmptyCount(locMastHigh)){
                        locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts","O").eq("loc_type1",5));
                    }else {
                        if (locMastService.checkEmptyCount(locMastHighest)){
                            locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts","O").eq("loc_type1",6));
                        }else {
                            throw new CoolException("无空库位可用");
                        }
                    }
                }
            }
//            locMastsLow2 = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1",2).eq("loc_sts","O").eq("loc_type1",locTypeDto.getLocType1()));
//            locMastsLow3 = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1",3).eq("loc_sts","O").eq("loc_type1",locTypeDto.getLocType1()));
//            if (locMastsLow2.size() <= 5 && locMastsLow3.size() <= 5){
//                //低库位达到限制值 找中库位的空库位
//                locMastsLow2 = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1",2).eq("loc_sts","O").eq("loc_type1",2));
//                locMastsLow3 = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1",3).eq("loc_sts","O").eq("loc_type1",2));
//                if (locMastsLow2.size() > 5 && locMastsLow3.size() > 5){
//                    locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts","O").eq("loc_type1",2));
//                }else if (locMastsLow2.size() <= 5 && locMastsLow3.size() <= 5){
//                    //低库位 中库位达到限制值 找高库位的空库位
//                    locMastsLow2 = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1",2).eq("loc_sts","O").eq("loc_type1",5));
//                    locMastsLow3 = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1",3).eq("loc_sts","O").eq("loc_type1",5));
//                    if (locMastsLow2.size() > 5 && locMastsLow3.size() > 5){
//                        locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts","O").eq("loc_type1",5));
//                    }else if (locMastsLow2.size() <= 5 && locMastsLow3.size() <= 5){
//                        // 低中高库位达到限制值 找超高库位的空库位
//                        locMastsLow2 = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1",2).eq("loc_sts","O").eq("loc_type1",6));
//                        locMastsLow3 = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1",3).eq("loc_sts","O").eq("loc_type1",6));
//                        if (locMastsLow2.size() > 5 && locMastsLow3.size() > 5){
//                            locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts","O").eq("loc_type1",6));
//                        }else if (locMastsLow2.size() <= 5 && locMastsLow3.size() <= 5){
//                            throw new CoolException("无空库位可用");
//                        }
//                    }
//                }
//            }else {
//                locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow)
//                        .eq("loc_sts", "O").eq("loc_type1",1));
//                if (Cools.isEmpty(locMasts)){
//                    if (nearRow == 2){
//                        locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow + 1)
//                                .eq("loc_sts", "O").eq("loc_type1",1));
//                    }else if (nearRow == 3){
//                        locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow - 1)
//                                .eq("loc_sts", "O").eq("loc_type1",1));
//
//                    }
//                }
//            }
//            locMastsLow2 = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", 2)
//                    .eq("loc_sts", "O").eq("loc_type1",locTypeDto.getLocType1()));
//            locMastsLow3 = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", 3)
//                    .eq("loc_sts", "O").eq("loc_type1",locTypeDto.getLocType1()));
//            if (locMastsLow2.size() <= 5 && locMastsLow3.size() <= 5){
//                locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow)
//                        .eq("loc_sts", "O").ge("lev1",8));
//                if (Cools.isEmpty(locMasts)){
//                    if (nearRow == 2){
//                        locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow + 1)
//                                .eq("loc_sts", "O").ge("lev1",8));
//                    }else if (nearRow == 3){
//                        locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow - 1)
//                                .eq("loc_sts", "O").ge("lev1",8));
//
//                    }
//                }
//            }else {
//                locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow)
//                        .eq("loc_sts", "O"));
//                if (Cools.isEmpty(locMasts)){
//                    if (nearRow == 2){
//                        locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow + 1)
//                                .eq("loc_sts", "O"));
//                    }else if (nearRow == 3){
//                        locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow - 1)
//                                .eq("loc_sts", "O"));
//
//                    }
//                }
//            }
//            locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow)
//                    .eq("loc_sts", "O").eq("loc_type1",locTypeDto.getLocType1()));
//            if (Cools.isEmpty(locMasts) || locMasts.size() <= 5){
@@ -557,9 +641,9 @@
//
//                }
//            }
            if (locMasts.size() <= 5){
                throw new CoolException("无空库位可用");
            }
//            if (locMasts.size() <= 5){
//                throw new CoolException("无空库位可用");
//            }
            List<LocMast> locMastList = new ArrayList<>();
            locMasts.sort(new Comparator<LocMast>() {
                @Override