src/main/java/zy/cloud/wms/common/service/MainService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/manager/service/LocDetlService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/LocDetlMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/zy/cloud/wms/common/service/MainService.java
@@ -1,7 +1,21 @@ 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 @@ -9,10 +23,40 @@ @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() { 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) { } } } } } src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
@@ -7,7 +7,6 @@ import org.springframework.stereotype.Component; import zy.cloud.wms.common.service.MainService; import zy.cloud.wms.common.service.erp.entity.GetDataResult; import zy.cloud.wms.manager.entity.Mat; import zy.cloud.wms.manager.service.MatService; import zy.cloud.wms.manager.utils.HttpHandler; @@ -51,17 +50,11 @@ } else { log.info(response); Result result = JSON.parseObject(response, Result.class); List<GetDataResult> datas = JSON.parseArray(result.getData(), GetDataResult.class); if (!Cools.isEmpty(datas)) { for (GetDataResult data : datas) { // 生成出库单 Mat mat = matService.selectByMatnr(data.getUserCode()); mainService.stockOutProcess(); } List<GetDataResult> list = JSON.parseArray(result.getData(), GetDataResult.class); if (!Cools.isEmpty(list)) { // 生成出库单 mainService.stockOutProcess(list); } } } catch (IOException e) { e.printStackTrace(); src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java
@@ -15,4 +15,5 @@ List<LocDetl> listByPage(Page page, @Param("nodeId") String nodeId, @Param("locNo") Object locNo, @Param("matnr") Object matnr, @Param("maktx") Object maktx); LocDetl selectByLocNoAndMatnr(@Param("nodeId")Long nodeId, @Param("matnr")String martnr); } src/main/java/zy/cloud/wms/manager/service/LocDetlService.java
@@ -8,4 +8,6 @@ Page<LocDetl> getPage(Page page, String nodeId, Object locNo, Object matnr, Object maktx); LocDetl getLocDetl(Long nodeId, String matnr); } src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java
@@ -15,5 +15,10 @@ return page.setRecords(baseMapper.listByPage(page, nodeId, locNo, matnr, maktx)); } @Override public LocDetl getLocDetl(Long nodeId, String matnr) { return this.baseMapper.selectByLocNoAndMatnr(nodeId, matnr); } } src/main/resources/mapper/LocDetlMapper.xml
@@ -50,4 +50,8 @@ ORDER BY mld.create_time DESC </select> <select id="selectByLocNoAndMatnr" resultMap="BaseResultMap"> select * from man_loc_detl where 1=1 and node_id = #{nodeId} and matnr = #{matnr} </select> </mapper>