自动化立体仓库 - WMS系统
dubin
2 天以前 7d467bd6bfad406c178fa009cf5b20533433e5ed
src/main/java/com/zy/asrs/utils/MatExcelListener.java
@@ -5,9 +5,13 @@
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.InOutService;
import com.zy.asrs.service.MatBarcodeService;
import com.zy.asrs.service.MatService;
import com.zy.asrs.service.TagService;
import com.zy.common.entity.MatExcel;
@@ -57,6 +61,8 @@
        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);
        Date now = new Date();
        Long tagId;
        // 分类
@@ -127,15 +133,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.deleteById(mat.getId());
            mat = excel;
            mat.setTagId(tagId);
            mat.setMatnr(excel.getMatnr()+"__"+excel.getName());
            if (!matService.insert(mat)) {
                throw new CoolException("保存商品信息失败,商品编码:" + excel.getMatnr());
                throw new CoolException("保存商品档案失败,商品编码:" + excel.getMatnr());
            }
            total++;
        }
    }