自动化立体仓库 - WMS系统
#1
dubin
2 天以前 db9a7f9c1b61af84be764a399b3f1f85e0ff03ee
src/main/java/com/zy/asrs/utils/MatExcelListener.java
@@ -2,17 +2,20 @@
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.InOut;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.MatBarcode;
import com.zy.asrs.entity.Tag;
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.service.MatService;
import com.zy.asrs.service.TagService;
import com.zy.asrs.service.*;
import com.zy.common.entity.MatExcel;
import com.zy.common.utils.NodeUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.Date;
@@ -57,6 +60,11 @@
        TagService tagService = SpringUtils.getBean(TagService.class);
        TagMapper tagMapper = SpringUtils.getBean(TagMapper.class);
        MatService matService = SpringUtils.getBean(MatService.class);
        InOutService inOutService = SpringUtils.getBean(InOutService.class);
        MatBarcodeService matBarcodeService = SpringUtils.getBean(MatBarcodeService.class);
        WrkDetlService wrkDetlService = SpringUtils.getBean(WrkDetlService.class);
        LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class);
        WaitPakinService waitPakinService = SpringUtils.getBean(WaitPakinService.class);
        Date now = new Date();
        Long tagId;
        // 分类
@@ -127,14 +135,43 @@
            tagId = tagService.getTop().getId();
        }
        // 商品
        Mat mat = matService.selectByMatnr(excel.getMatnr());
        Mat mat = matService.selectByMatnr(excel.getMatnr() + "__" + excel.getName());
        if (mat == null) {
            InOut inOut=new InOut();
            mat = excel;
            mat.setTagId(tagId);
            mat.setMatnr(excel.getMatnr()+"__"+excel.getName());
            inOut.setMatnr(mat.getMatnr());
            inOut.setMaktx(mat.getMaktx());
            inOut.setColor(mat.getColor());
            inOut.setSpecs(mat.getSpecs());
            inOut.setTemp1("");
            if (!matService.insert(mat)) {
                throw new CoolException("保存商品档案失败,商品编码:" + excel.getMatnr());
            }
            if (!inOutService.insert(inOut)){
                throw new CoolException("保存商品信息失败,商品编码:" + excel.getMatnr());
            }
            total++;
        } else {
            if (excel.getColor().equals("报废")){
                //模具状态更新为报废 模具与托盘解绑
                List<MatBarcode> list = new ArrayList<>();
                MatBarcode matBarcode = matBarcodeService.selectbyMatnr(excel.getMatnr() + "__" + excel.getName());
                if (matBarcode != null){
                    list.add(matBarcode);
                    matBarcodeService.deleteMatBarcode(list);
                }
            }
            //模具信息更新
            matService.delete(new EntityWrapper<Mat>().eq("matnr",mat.getMatnr()));
            mat = excel;
            mat.setTagId(tagId);
            mat.setMatnr(excel.getMatnr() + "__" + excel.getName());
            if (!matService.insert(mat)) {
                throw new CoolException("保存商品档案失败,商品编码:" + excel.getMatnr());
            }
        }
    }