package zy.cloud.wms.common.service; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.exception.CoolException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import zy.cloud.wms.manager.entity.CustOrder; import zy.cloud.wms.manager.entity.LocDetl; import zy.cloud.wms.manager.entity.Mat; import zy.cloud.wms.manager.entity.Prior; import zy.cloud.wms.manager.service.LocDetlService; import zy.cloud.wms.manager.service.MatService; import zy.cloud.wms.manager.service.PakoutService; import zy.cloud.wms.manager.service.PriorService; import java.util.List; /** * Created by vincent on 2021/3/1 */ @Service("mainService") public class MainService { @Autowired private MatService matService; @Autowired private LocDetlService locDetlService; @Autowired private PakoutService pakoutService; @Autowired private PriorService priorService; @Transactional public void stockOutProcess(List list) { if (Cools.isEmpty(list)) { return; } for (CustOrder data : list) { // 判断物料是否存在 Mat mat = matService.selectByMatnr(data.getUserCode()); if (null == mat) { throw new CoolException(data.getUserCode() + "物料尚未更新。" + data.getNumber() +"单据因此中断!"); } // 根据推荐库位查找库存 List priors = priorService.selectList(new EntityWrapper().eq("matnr", mat.getMatnr()).orderBy("prio")); if (!Cools.isEmpty(priors)) { for (Prior prior : priors) { LocDetl locDetl = locDetlService.getLocDetl(prior.getNodeId(), prior.getMatnr()); if (null != locDetl) { } } } } } }