自动化立体仓库 - WMS系统
zyx
2024-07-04 13c2be4774f4afbb34fa70be97c96802f07b15ff
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -15,8 +15,11 @@
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.common.model.DetlDto;
import com.zy.common.model.LocDetlDto;
import com.zy.common.utils.NodeUtils;
import lombok.Synchronized;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -59,6 +62,10 @@
    private WrkDetlService wrkDetlService;
    @Autowired
    private ReportQueryMapper reportQueryMapper;
    @Autowired
    private AgvLocMastService agvLocMastService;
    @Autowired
    private AgvLocDetlService agvLocDetlService;
    @Override
    @Transactional
@@ -918,6 +925,37 @@
        return true;
    }
    @Override
    @Transactional
    @Synchronized
    public boolean checkAndAdjustLocDetl(CheckParam params) {
        //判断库位是否存在
        AgvLocMast agvLocMast = agvLocMastService.selectById(params.getLocNo());
        if(Cools.isEmpty(agvLocMast)){
            throw new CoolException("库位号不存在");
        }
        //删除旧库存
        agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",params.getLocNo()));
        //新增盘点库存
        for (DetlDto detlDto : params.getLocDetls()){
            AgvLocDetl agvLocDetl = new AgvLocDetl();
            Mat mat = matService.selectByMatnr(detlDto.getMatnr());
            BeanUtils.copyProperties(mat,agvLocDetl);
            agvLocDetl.setLocNo(params.getLocNo());
            agvLocDetl.setSuppCode(params.getContainerCode());
            agvLocDetl.setAnfme(detlDto.getAnfme());
            agvLocDetl.setBatch(detlDto.getBatch());
            agvLocDetl.setThreeCode(detlDto.getCsocode());
            agvLocDetl.setDeadTime(detlDto.getIsoseq());
            agvLocDetlService.insert(agvLocDetl);
        }
        return true;
    }
    private Order orderMapping(OrderSyncParam param, Date now, boolean pakin, String docName){
        Order order = new Order();
        //uuid