自动化立体仓库 - WMS系统
#
LSH
2022-09-22 302a6c7db2b9580ed4b14e3bfd975de75159fff9
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -590,20 +590,23 @@
        java.sql.Date requestTime = new java.sql.Date(date1.getTime());
        // 生成入库通知档
        Mat mat = matService.selectByMatnr(param.getPackName());
        if (Cools.isEmpty(mat)) {
            throw new CoolException(param.getPackName() + "商品档案不存在");
        }
//        Mat mat = matService.selectByMatnr(param.getPackName());
//        if (Cools.isEmpty(mat)) {
//            throw new CoolException(param.getPackName() + "商品档案不存在");
//        }
        WaitPakin waitPakin = new WaitPakin();
        waitPakin.sync(mat);
//        waitPakin.sync(mat);
        waitPakin.setMatnr(param.getPackName());
        waitPakin.setMaktx(param.getPackName());
        waitPakin.setZpallet(param.getPackNo());   // Pack码
        waitPakin.setIoStatus("N");     // 入出状态
        waitPakin.setAnfme(1.0);  // 数量
        waitPakin.setStatus("Y");    // 状态
        waitPakin.setManuDate(requestTime.toString());
        waitPakin.setAppeUser(null);
        waitPakin.setAppeTime(requestTime);
        waitPakin.setAppeTime(new Date());
        waitPakin.setModiUser(null);
        waitPakin.setModiTime(requestTime);
        waitPakin.setModiTime(new Date());
        waitPakin.setDeadWarn(param.getSettingTimes());
        if (!waitPakinService.insert(waitPakin)) {
            throw new CoolException("保存入库通知档失败");
@@ -613,11 +616,14 @@
    @Override
    @Transactional
    public void infoReview(Review review) {
        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", review.getLocNo()));
        if (!review.getBarcode().equals(locMast.getBarcode())){
            throw new CoolException("pack码不同");
        }
        Wrapper wrapper = new EntityWrapper<TestMast>()
                .eq("loc_no", review.getLocNo())
                .eq("barcode", review.getBarcode())
                .eq("user_Id", review.getUserId());
        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", review.getLocNo()));
        if (null == locMast ||locMast.getPackStatus()!=1) {
            throw new CoolException("产品状态不是 1:待测试");
        }
@@ -639,7 +645,7 @@
                throw new CoolException("状态不是 1:申请中");
            }
        } else {
            throw new CoolException("测试申请失败");
            throw new CoolException("测试申请复核失败");
        }
    }
@@ -653,8 +659,10 @@
                .eq("barcode", review.getBarcode())
                .eq("user_Id", review.getUserId());
        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", review.getLocNo()));
        if (locMast.getPackStatus()!=2){
        if (null == locMast ||locMast.getPackStatus()!=2){
            throw new CoolException("产品状态不是 2:测试中");
        }else if (!review.getBarcode().equals(locMast.getBarcode())){
            throw new CoolException("pack码不同");
        }
        TestMast testMast = testMastService.selectOne(wrapper);
        if(null != testMast){
@@ -665,7 +673,7 @@
                    throw new CoolException("更改测试状态失败");
                }
                locMast.setPackStatus(3);
                if (!locMastService.update(locMast, wrapper)){
                if (!locMastService.update(locMast, new EntityWrapper<LocMast>().eq("loc_no", review.getLocNo()))){
                    throw new CoolException("更改产品状态失败");
                }
            }else if (Cools.isEmpty(testMast.getStatus())){
@@ -676,7 +684,17 @@
        } else {
            throw new CoolException("状态异常");
        }
        //移库开始,查询目标库位
        LocMast targetLocNo = locMastService.selectOne(new EntityWrapper<LocMast>()
                .eq("row1",2)
                .eq("loc_sts","O")
                .eq("fire_status", 0)
                .eq("pack_status",0));
        if (targetLocNo != null){
            workService.locMove(review.getLocNo(),targetLocNo.getLocNo(),(long)Integer.parseInt(review.getUserId()));
        }else {
            throw new CoolException("没有空库位");
        }
        return success;
    }