自动化立体仓库 - WMS系统
dubin
昨天 08464b5b3bc79be5397a48927a6603f2e3287446
src/main/java/com/zy/asrs/service/impl/WaitPakinServiceImpl.java
@@ -1,12 +1,69 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.WaitPakinMapper;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.service.WaitPakinService;
import com.zy.asrs.service.*;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.common.model.DetlDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service("waitPakinService")
public class WaitPakinServiceImpl extends ServiceImpl<WaitPakinMapper, WaitPakin> implements WaitPakinService {
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private MatService matService;
    @Autowired
    private WaitPakinService waitPakinService;
    @Override
    public void comb(List<MatBarcode> list) {
        String zpallet = list.get(0).getZpallet();
        if (zpallet.length() != 8) {
            throw new CoolException("条码长度不是8位===>>" + zpallet);
        }
        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", zpallet));
        int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", zpallet));
        WrkMast wrkMast = wrkMastService.selectByBarcode(zpallet);
        if (countLoc > 0 || (countWrk > 0 && wrkMast.getWrkSts() != 15)) {
            throw new CoolException("组托档/工作档/库存条码数据已存在===>>" + zpallet);
        }
        Date now = new Date();
        for (MatBarcode matBarcode : list) {
            Mat mat = matService.selectByMatnr(matBarcode.getMatnr());
            if (Cools.isEmpty(mat)) {
                throw new CoolException(matBarcode.getMatnr() + "商品档案不存在");
            }
            WaitPakin waitPakin1 = new WaitPakin();
            waitPakin1.sync(mat);
            ///waitPakin1.setProType(dto.getProType());
            //waitPakin1.setTemp2(dto.getTemp2());
            //waitPakin1.setOutOrderNo(dto.getOutOrderNo());
            //waitPakin1.setBatch(dto.getBatch());
            waitPakin1.setZpallet(matBarcode.getZpallet());   // 托盘码
            waitPakin1.setIoStatus("N");     // 入出状态
            waitPakin1.setAnfme(1.0);  // 数量
            waitPakin1.setStatus("Y");    // 状态
            //waitPakin1.setAppeUser(waitPakin.getAppeUser());
            waitPakin1.setAppeTime(now);
            //waitPakin1.setModiUser(waitPakin.getAppeUser());
            waitPakin1.setModiTime(now);
            //waitPakin1.setMemo(detlDto.getMemo());
            if (!waitPakinService.insert(waitPakin1)) {
                throw new CoolException("保存入库通知档失败");
            }
        }
    }
}