自动化立体仓库 - WMS系统
zhang
2025-09-24 e3e268107c141f10e937761fa6bc94b74a9c9abc
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -78,7 +78,7 @@
    @Override
    @Transactional
    public void comb(CombParam param, Long userId) {
    public void comb(CombParam param,Long userId,String fxId) {
        if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
            throw new CoolException(BaseRes.PARAM);
        }
@@ -102,15 +102,25 @@
        Date now = new Date();
        //进行批号筛选,批号只能唯一
        Set<String> batchs=new  HashSet<>();
        List<String> strings=new  ArrayList<>();
        for(CombParam.CombMat mat : param.getCombMats()){
            if(Cools.isEmpty(mat.getBatch())){
                throw new CoolException("物料批号不能为空");
                continue;
            }
            batchs.add(mat.getBatch());
            strings.add(mat.getBatch());
            WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("batch", mat.getBatch()));
            WrkDetl batch = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("batch", mat.getBatch()));
            LocDetl batch1 = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("batch", mat.getBatch()));
            if(!Cools.isEmpty(batch)||!Cools.isEmpty(batch1)||!Cools.isEmpty(waitPakin)){
                throw new CoolException("该物料批号"+mat.getBatch()+"已在入库通知档、任务明细和库存中存在");
            }
        }
        if(batchs.size()<param.getCombMats().size()){
        if(batchs.size()<strings.size()){
            throw new CoolException("有重复的物料批号");
        }
        int i =1;
@@ -151,6 +161,7 @@
                waitPakin.setModiUser(userId);
                waitPakin.setModiTime(now);
                waitPakin.setBrand(param.getCk());//仓库
                waitPakin.setInspect(param.isType()?1:0);
                if(i==1){
//                0:不需要补空托盘
//                1:小托盘
@@ -189,7 +200,7 @@
                    throw new CoolException(orderDetl.getMatnr() + "入库数量不合法");
                }
                // 修改订单作业数量
                if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
                if (!orderDetlService.increaseWorkQty2(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme(),fxId)) {
                    throw new CoolException("修改单据作业数量失败");
                }