自动化立体仓库 - WMS系统
LSH
2022-08-11 83e9a3d09b8eda7e3976425302ebe61d6f8c1d14
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1,6 +1,7 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SnowflakeIdWorker;
@@ -19,6 +20,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -48,6 +51,10 @@
    private TagService tagService;
    @Autowired
    private TagMapper tagMapper;
    @Autowired
    private WaitPakinService waitPakinService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Override
    @Transactional
@@ -544,4 +551,51 @@
    }
    @Override
    @Transactional
    public void combPACK(CombParam param) {
        if (Cools.isEmpty(param.getPackNo())) {
            throw new CoolException(BaseRes.PARAM);
        }
        // 判断是否有相同Pack码的数据
        if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                eq("zpallet", param.getPackNo()).eq("io_status", "N")) > 0) {
            throw new CoolException(param.getPackNo() + "数据正在进行入库");
        }
        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getPackNo()));
        int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getPackNo()));
        if (countLoc > 0 || countWrk > 0) {
            throw new CoolException("工作档/库存条码数据已存在===>>" + param.getPackNo());
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        java.util.Date date=null;
        try {
            date= sdf.parse(param.getRequestTime());
        } catch (ParseException e) {
            e.printStackTrace();
        }
        java.sql.Date requestTime = new java.sql.Date(date.getTime());
        // 生成入库通知档
        Mat mat = matService.selectByMatnr(param.getPackName());
        if (Cools.isEmpty(mat)) {
            throw new CoolException(param.getPackName() + "商品档案不存在");
        }
        WaitPakin waitPakin = new WaitPakin();
        waitPakin.sync(mat);
        waitPakin.setZpallet(param.getPackNo());   // Pack码
        waitPakin.setIoStatus("N");     // 入出状态
        waitPakin.setAnfme(1.0);  // 数量
        waitPakin.setStatus("Y");    // 状态
        waitPakin.setAppeUser(null);
        waitPakin.setAppeTime(requestTime);
        waitPakin.setModiUser(null);
        waitPakin.setModiTime(requestTime);
        if (!waitPakinService.insert(waitPakin)) {
            throw new CoolException("保存入库通知档失败");
        }
    }
}