自动化立体仓库 - WMS系统
pang.jiabao
2025-04-22 93c73e8c232639d9e10afb7de07453974f9587e0
src/main/java/com/zy/asrs/utils/PlaExcelListener.java
@@ -73,7 +73,7 @@
        if(Cools.isEmpty(excel.getBatch()) || Cools.isEmpty(excel.getPackageNo())){
            throw new CoolException("第" +  index++ + "数据错误,包号或者批号为空");
        }
        Pla pla = plaService.selectByBatchAndPackageNo(excel.getBatch(),excel.getPackageNo());
        Pla pla = plaService.selectByBatchAndPackageNo(excel.getBatch(),excel.getPackageNo(),excel.getBrand());
        if (pla == null) {
            pla = plaCreate(pla,excel,matService,nodeService);
            pla.setCreateTime(new Date());
@@ -87,13 +87,16 @@
//                throw new CoolException("保存商品信息失败,商品编码:" + excel.getMatnr());
//            }
            total++;
        }else if(Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_0) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_1) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_00)){
        }else if(Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_0) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_00) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_1) ){
            excel.setId(pla.getId());
            excel.setCreateTime(pla.getCreateTime());
            excel.setStatus(pla.getStatus());
            excel.setPakinTime(pla.getPakinTime());
            excel.setStash(pla.getStash());
            excel.setLocNo(pla.getLocNo());
            excel.setStockFreeze(pla.getStockFreeze());
            if(Cools.isEmpty(excel.getLocNo())){
                excel.setLocNo(pla.getLocNo());
            }
            BeanUtils.copyProperties(excel,pla);
            pla = plaCreate(pla,excel,matService,nodeService);
            try {
@@ -102,6 +105,40 @@
            }catch (Exception e){
                log.error("保存商品信息失败,批号:" + excel.getBatch() + ", 包号:" + excel.getPackageNo() + "原因为:" + e.getMessage());
                throw new CoolException("保存商品信息失败,批号:" + excel.getBatch() + ", 包号:" + excel.getPackageNo() + "原因为:" + e.getMessage());
            }
            total++;
        } else if (Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_2) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_3) || Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_4)) {
            // 补传质量指标
            pla.setProDate(excel.getProDate());
            pla.setWeight(excel.getWeight());
            pla.setPackageType(excel.getPackageType());
            pla.setZpalletType(excel.getZpalletType());
            pla.setFingerMelting(excel.getFingerMelting());
            pla.setWater(excel.getWater());
            pla.setFusingPoint(excel.getFusingPoint());
            pla.setVadf1(excel.getVadf1());
            pla.setVadf2(excel.getVadf2());
            pla.setYellowness(excel.getYellowness());
            pla.setOpacity(excel.getOpacity());
            pla.setL(excel.getL());
            pla.setA(excel.getA());
            pla.setB(excel.getB());
            pla.setFillIn(excel.getFillIn());
            pla.setStr1(excel.getStr1());
            pla.setStr2(excel.getStr2());
            pla.setStr3(excel.getStr3());
            pla.setStr4(excel.getStr4());
            pla.setStr5(excel.getStr5());
            pla.setStr6(excel.getStr6());
            pla.setMassState(excel.getMassState());
            pla.setProblem(excel.getProblem());
            pla.setModifyTime(now);
            try {
                plaService.updateById(pla);
                recordLog = recordLog + index + "," + pla.getBatch() + "," + pla.getPackageNo() + ";" ;
            } catch (Exception e){
                log.error("补传质量指标异常,批号:" + excel.getBatch() + ", 包号:" + excel.getPackageNo() + "原因为:" + e.getMessage());
                throw new CoolException("补传质量指标异常,批号:" + excel.getBatch() + ", 包号:" + excel.getPackageNo() + "原因为:" + e.getMessage());
            }
            total++;
        }
@@ -146,7 +183,10 @@
                    pla.setWorkshop("三车间");
                }
            }else if ("改性树脂".equals(pla.getType())){
                if ("01".equals(line) || "02".equals(line) || "03".equals(line) || "04".equals(line)){
                if (pla.getBrand() != null && (pla.getBrand().equals("161") || pla.getBrand().equals("171") || pla.getBrand().equals("181"))) {
                    pla.setOwner(OWNER_HZ);
                    pla.setWorkshop("一车间");
                } else if ("01".equals(line) || "02".equals(line) || "03".equals(line) || "04".equals(line)){
                    pla.setOwner(OWNER_HNE);
                    pla.setWorkshop("二车间");
                }
@@ -172,12 +212,15 @@
        pla.setStep(2);
        pla.setModifyTime(new Date());
        pla.setStatus(GlobleParameter.PLA_STATUS_00);
        pla.setStockFreeze(1);
        pla.setStockFreeze(Cools.isEmpty(excel.getStockFreeze()) ? 1 : excel.getStockFreeze());
        pla.setWeightAnfme(pla.getWeight());
        Mat mat = matService.selectByMaktx(pla.getBrand());
        if(Cools.isEmpty(mat)){
            throw new CoolException("无法找到对应的牌号信息,牌号=" + pla.getBrand());
        }
        if (!Cools.isEmpty(excel.getProblem()) && excel.getProblem().contains("实验料")) {
            excel.setMassState("实验料");
        }
        pla.setMatnr(mat.getMatnr());
        try {
            if(Cools.isEmpty(pla.getType())){