自动化立体仓库 - WMS系统
zhangchao
2024-11-02 68de8850d0c2fb4e5efef77ad92275ff05686708
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -5,16 +5,11 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.AgvLocDetl;
import com.zy.asrs.entity.AgvLocMast;
import com.zy.asrs.entity.AgvWrkDetl;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.AgvLocDetlMapper;
import com.zy.asrs.service.AgvBasDevpService;
import com.zy.asrs.service.AgvLocDetlService;
import com.zy.asrs.service.AgvLocMastService;
import com.zy.asrs.service.AgvWrkDetlService;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.LocDto;
import com.zy.common.model.TaskDto;
@@ -47,15 +42,50 @@
    AgvBasDevpService agvBasDevpService;
    @Autowired
    AgvLocMastService agvLocMastService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private FlowLogService flowLogService;
    public void addLocDetlInfo(String locNo, int taskCode) {
        Date now = new Date();
        List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", taskCode));
        long flowId = snowflakeIdWorker.nextId();
        agvWrkDetls.stream().map(agvWrkDetl -> {
            AgvLocDetl agvLocDetl = new AgvLocDetl();
            log.info("agvWrkDetl: " + agvLocDetl.getBarcode());
            BeanUtils.copyProperties(agvWrkDetl, agvLocDetl);
            agvLocDetl.setLocNo(locNo);
            this.insert(agvLocDetl);
            // 流水 -- 新增订单明细
            OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getThreeCode());
//            FlowLog flowLog = new FlowLog();
//            flowLog.setFid(String.valueOf(flowId));
//            flowLog.setSpare2(String.valueOf(taskCode));
//            flowLog.setLocNo(locNo);
//            flowLog.setSpare1(agvWrkDetl.getSuppCode());
//            flowLog.setOpType(101L);
//            flowLog.setOrderNo(agvWrkDetl.getOrderNo());
//            flowLog.setThreeCode(agvWrkDetl.getThreeCode());
//            flowLog.setMatnr(agvWrkDetl.getMatnr());
//            flowLog.setMaktx(agvWrkDetl.getMaktx());
//            flowLog.setOrderPrevious(orderDetl.getAnfme());
//            flowLog.setOrderCurrent(orderDetl.getAnfme());
//            flowLog.setOrderChanged(0.0);
//            flowLog.setQtyPrevious(orderDetl.getQty()-agvWrkDetl.getAnfme());
//            flowLog.setQtyCurrent(orderDetl.getQty());
//            flowLog.setQtyChanged(agvWrkDetl.getAnfme());
//
//            flowLog.setLocPrevious(0.0D);
//            flowLog.setLocCurrent(agvWrkDetl.getAnfme());
//            flowLog.setLocChanged(agvWrkDetl.getAnfme());
//
//            flowLog.setAppeTime(now);
//            if (!flowLogService.insert(flowLog)) {
//                throw new CoolException("同步半成品调拨单流水记录失败");
//            }
            return agvLocDetl;
        }).collect(Collectors.toList());
@@ -250,6 +280,14 @@
    }
    @Override
    public AgvLocDetl selectByMatnrAndBatchAndCsocodeAndisoCode2(String locNo,String orderNo, String matnr, String batch, String csocode, String isocode) {
        EntityWrapper<AgvLocDetl> wrapper = new EntityWrapper<>();
        wrapper.eq("loc_no",locNo);
        Utils.confirmOnlyMat2(wrapper,orderNo,matnr,batch,csocode,isocode);
        return this.selectOne(wrapper);
    }
    @Override
    public Double selectSumAnfmeByLocNo(String locNo) {
        return this.baseMapper.sumByLocNo(locNo);
    }