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.common.service.erp.entity.GetDataResult;
|
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<GetDataResult> list) {
|
if (Cools.isEmpty(list)) {
|
return;
|
}
|
for (GetDataResult data : list) {
|
// 判断物料是否存在
|
Mat mat = matService.selectByMatnr(data.getUserCode());
|
if (null == mat) {
|
throw new CoolException(data.getUserCode() + "物料尚未更新。" + data.getNumber() +"单据因此中断!");
|
}
|
// 根据推荐库位查找库存
|
List<Prior> priors = priorService.selectList(new EntityWrapper<Prior>().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) {
|
|
}
|
}
|
}
|
|
|
|
}
|
}
|
|
|
}
|