自动化立体仓库 - WMS系统
zyx
2023-07-20 cb98548ecc0fa2d4388eb67528b98be39670bc0c
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -3,12 +3,8 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.AgvBasDevp;
import com.zy.asrs.entity.AgvLocMast;
import com.zy.asrs.entity.AgvWaitPakin;
import com.zy.asrs.entity.AgvWrkMast;
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
import com.zy.common.model.StartupDto;
import com.zy.common.service.AgvCommonService;
import lombok.extern.slf4j.Slf4j;
@@ -16,7 +12,6 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -44,6 +39,8 @@
    private AgvWrkMastService agvWrkMastService;
    @Autowired
    private AgvWrkDetlService agvWrkDetlService;
    @Autowired
    private MatService matService;
    @Override
    public StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId) {
@@ -66,7 +63,7 @@
            //生成工作档
            AgvWrkMast wrkMast = createWrkMast(agvBasDevp, agvLocMast, now, userId);
            //生成工作档明细
            createWrkDetl(agvWaitPakinList,wrkMast,userId);
            createWrkDetlReWrite(agvWaitPakinList,wrkMast,userId);
            //更新源站点信息
            updateAgvBasDevp(agvBasDevp);
            //更新目标库位状态
@@ -96,7 +93,7 @@
    /*
    生成工作档明细
     */
    private void createWrkDetl(List<AgvWaitPakin> agvWaitPakinList, AgvWrkMast wrkMast, Long userId){
  /*  private void createWrkDetl(List<AgvWaitPakin> agvWaitPakinList, AgvWrkMast wrkMast, Long userId){
        List<DetlDto> detlDtos = new ArrayList<>();
        agvWaitPakinList.forEach(agvWaitPakin -> {
            DetlDto detlDto = new DetlDto(agvWaitPakin.getMatnr(), agvWaitPakin.getBatch(), agvWaitPakin.getAnfme());
@@ -109,7 +106,33 @@
            }
        });
        agvWrkDetlService.createWorkDetail(wrkMast.getWrkNo(), detlDtos, wrkMast.getBarcode(), userId);
    }*/
    /*
    生成工作档明细
     */
    private void createWrkDetlReWrite(List<AgvWaitPakin> agvWaitPakinList, AgvWrkMast wrkMast, Long userId){
        Date now = new Date();
        agvWaitPakinList.stream().forEach(agvWaitPakin -> {
            Mat mat = matService.selectByMatnr(agvWaitPakin.getMatnr());
            if (Cools.isEmpty(mat)) {
                throw new CoolException(agvWaitPakin.getMatnr() + "商品维护失败");
            }
            AgvWrkDetl wrkDetl = new AgvWrkDetl();
            wrkDetl.sync(mat);
            wrkDetl.setWrkNo(wrkMast.getWrkNo());
            wrkDetl.setOrderNo(agvWaitPakin.getOrderNo());
            wrkDetl.setIoTime(now);
            wrkDetl.setBatch(agvWaitPakin.getBatch());
            wrkDetl.setAnfme(agvWaitPakin.getAnfme()); // 数量
            wrkDetl.setZpallet(agvWaitPakin.getZpallet()); // 托盘条码
            wrkDetl.setAppeUser(userId);
            wrkDetl.setAppeTime(now);
            wrkDetl.setModiUser(userId);
            wrkDetl.setModiTime(now);
            if (!agvWrkDetlService.insert(wrkDetl)) {
                throw new CoolException("保存工作明细失败");
            }
        });
    }
    /*