From d0068c2479b3dd7e426c0923a081055434bc4c85 Mon Sep 17 00:00:00 2001 From: Leon <3066758958@qq.com> Date: Tue, 10 Aug 2021 13:20:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E8=89=BA=E8=B7=AF=E7=BA=BF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=8F=98=E6=9B=B4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/InterfaceServiceImpl.java | 48 +++++++++++-------- .../mesnac/meapi/mapper/OperationMapper.java | 2 +- .../meapi/service/OperationService.java | 9 ++++ .../service/impl/OperationServiceImpl.java | 5 +- .../main/resources/mapper/OperationMapper.xml | 9 +++- 5 files changed, 51 insertions(+), 22 deletions(-) diff --git a/integration/src/main/java/com/foreverwin/mesnac/integration/service/impl/InterfaceServiceImpl.java b/integration/src/main/java/com/foreverwin/mesnac/integration/service/impl/InterfaceServiceImpl.java index d4c2d035..628379cb 100644 --- a/integration/src/main/java/com/foreverwin/mesnac/integration/service/impl/InterfaceServiceImpl.java +++ b/integration/src/main/java/com/foreverwin/mesnac/integration/service/impl/InterfaceServiceImpl.java @@ -442,13 +442,13 @@ public class InterfaceServiceImpl implements InterfaceService { * 2.MES资源类型=生产车间_ERP工作中心 * 3.MES资源类型=MES工序 */ - String erpWorkCenter = componentDto.getOPERATION(); - if (StringUtil.isBlank(erpWorkCenter)) { - throw BusinessException.build("BOM节点下字段【OPERATION】不能为空!"); + String stepId = componentDto.getSTEP_ID(); + if (StringUtil.isBlank(stepId)) { + throw BusinessException.build("步骤标示不能为空!"); } - Operation operationModel = operationService.queryOperationByErpWorkCenter(site, erpWorkCenter); + Operation operationModel = operationService.getOperationByRouterStepId(site, bom, stepId); if (operationModel == null) { - throw BusinessException.build("ERP工作中心【" +erpWorkCenter+"】对应的MES工序未维护"); + throw BusinessException.build("步骤标识【"+stepId+"】在工艺路线【"+bom+"】未到对应的工序"); } String operationBo = operationModel.getHandle(); @@ -532,10 +532,21 @@ public class InterfaceServiceImpl implements InterfaceService { String stepId = routerStepDto.getSTEP_ID(); String erpWorkCenter = routerStepDto.getOPERATION().trim(); + if (StringUtil.isBlank(entryRouterStep)) { + entryRouterStep = stepId; + } + + //上一步骤添加当前步骤为下一步骤 + if (i > 0) { + RouterNextStep routerNextStep = new RouterNextStep(); + routerNextStep.setNextStepId(stepId); + routerStepList.get(i - 1).getRouterNextStepList().add(routerNextStep); + } + String operation = null; String operationBo = null; if (StringUtil.isBlank(erpWorkCenter)) { - operation = (i == 0) ? "HJ01_6106GX" : "6106GX"; + operation = "6106GX"; Operation operationModel = operationService.getCurrentRevisionRef(site, operation); if (operationModel == null) { throw BusinessException.build("工序编号【" +operation+ "】不存在"); @@ -543,19 +554,6 @@ public class InterfaceServiceImpl implements InterfaceService { operation = operationModel.getOperation(); operationBo = operationModel.getHandle(); } else { - - if (StringUtil.isBlank(entryRouterStep)) { - entryRouterStep = stepId; - } - - //上一步骤添加当前步骤为下一步骤 - if (i > 0) { - RouterNextStep routerNextStep = new RouterNextStep(); - routerNextStep.setNextStepId(stepId); - routerStepList.get(i - 1).getRouterNextStepList().add(routerNextStep); - } - - /** * 工序参数说明: * 1.接口传过来的参数是ERP工作中心 @@ -680,6 +678,18 @@ public class InterfaceServiceImpl implements InterfaceService { if (StringUtil.isBlank(plannedItem)) { throw BusinessException.build("工单的计划物料不能拿为空"); } + + //查询物料清单和工艺路线 + Bom bomModel = bomService.getMaxRevisionBom(site, plannedBom); + if (bomModel == null) { + throw BusinessException.build("工单【" +shopOrder+ "】的物料清单未同步!"); + } + + Router routerModel = routerService.getMaxRevisionRouter(site, plannedRouter); + if (routerModel == null) { + throw BusinessException.build("工单【" +shopOrder+ "】的工艺路线未同步!"); + } + String plannedItemBo = HandleEnum.ITEM.getHandle(site, plannedItem, "A"); String plannedBomBo = HandleEnum.BOM.getHandle(site, plannedBom, bomType, "#"); String plannedRouterBo = HandleEnum.ROUTER.getHandle(site, plannedRouter, routerType, "#"); diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/OperationMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/OperationMapper.java index 125724c8..6351b508 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/OperationMapper.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/OperationMapper.java @@ -29,5 +29,5 @@ public interface OperationMapper extends BaseMapper { IPage selectOperationStep( IPage page, @Param("locale") String locale,@Param("ew") Wrapper wrapper); - + Operation selectOperationByRouterStepId(@Param("site") String site, @Param("router") String router, @Param("stepId") String stepId); } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/OperationService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/OperationService.java index c641d3fe..66826b7d 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/OperationService.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/OperationService.java @@ -40,4 +40,13 @@ public interface OperationService extends IService { */ Operation queryOperationByErpWorkCenter(String site, String erpWorkCenter); + /** + * 查询工序By 工艺路线&步骤标识 + * + * @param site + * @param router + * @param stepId + * @return + */ + Operation getOperationByRouterStepId(String site, String router, String stepId); } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/OperationServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/OperationServiceImpl.java index 1c894695..921bcfb9 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/OperationServiceImpl.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/OperationServiceImpl.java @@ -66,7 +66,10 @@ public class OperationServiceImpl extends ServiceImpl - +