From c8e30f1f348deabc5dcdde6cc8fb54382ec1fd84 Mon Sep 17 00:00:00 2001 From: Leon <3066758958@qq.com> Date: Thu, 15 Jul 2021 11:21:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E6=95=B0=E6=8D=AE=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataimport/client/NcGroupWSClient.java | 19 +++++ .../service/MasterObjectDefine.java | 30 +++---- .../config/IntegrationConfiguration.java | 12 +++ .../service/CAPPAPIWebService.java | 21 +++++ .../service/impl/CAPPAPIWebServiceImpl.java | 85 +++++++++++++++++++ 5 files changed, 152 insertions(+), 15 deletions(-) create mode 100644 integration/src/main/java/com/foreverwin/mesnac/integration/service/CAPPAPIWebService.java create mode 100644 integration/src/main/java/com/foreverwin/mesnac/integration/service/impl/CAPPAPIWebServiceImpl.java diff --git a/dataimport/src/main/java/com/foreverwin/mesnac/dataimport/client/NcGroupWSClient.java b/dataimport/src/main/java/com/foreverwin/mesnac/dataimport/client/NcGroupWSClient.java index 8b389f81..09773061 100644 --- a/dataimport/src/main/java/com/foreverwin/mesnac/dataimport/client/NcGroupWSClient.java +++ b/dataimport/src/main/java/com/foreverwin/mesnac/dataimport/client/NcGroupWSClient.java @@ -9,6 +9,8 @@ import com.sap.me.common.ObjectReference; import com.sap.me.nonconformance.NcGroupConfigurationServiceInterface; import com.sap.me.nonconformance.NcGroupFullConfiguration; import com.sap.me.nonconformance.NcGroupValidOperation; +import com.visiprise.globalization.DateGlobalizationServiceInterface; +import com.visiprise.globalization.GlobalizationService; import java.util.ArrayList; import java.util.List; @@ -59,6 +61,7 @@ public class NcGroupWSClient { String applyOperation = jsonObject.getString("applyOperation"); String ncGroupBo = HandleEnum.NC_GROUP.getHandle(site, ncGroup); + DateGlobalizationServiceInterface dateService = GlobalizationService.getInvariantService("com.visiprise.globalization.DateGlobalizationService"); //--------------------------------------------------------------------------------------------------- NcGroupConfigurationServiceInterface ncGroupConfigurationService = MEServices.create("com.sap.me.nonconformance", "NcGroupConfigurationService", site); NcGroupFullConfiguration ncGroupFullConfiguration = new NcGroupFullConfiguration(); @@ -79,10 +82,18 @@ public class NcGroupWSClient { list.add(ncGroupValidOperation); } + ncGroupFullConfiguration.setNcGroupValidOperationList(list); + } else if (StringUtil.notBlank(applyOperation)) { + List list = new ArrayList<>(); + NcGroupValidOperation ncGroupValidOperation = new NcGroupValidOperation(); + String operationBo = HandleEnum.OPERATION.getHandle(site, applyOperation, "#"); + ncGroupValidOperation.setOperationRef(operationBo); + list.add(ncGroupValidOperation); ncGroupFullConfiguration.setNcGroupValidOperationList(list); } } + ncGroupFullConfiguration.setModifiedDateTime(dateService.createDateTime()); ncGroupConfigurationService.createNcGroup(ncGroupFullConfiguration); } catch (Exception e) { return ExceptionUtil.getExceptionMsg(e); @@ -105,6 +116,7 @@ public class NcGroupWSClient { String applyAll = jsonObject.getString("applyAll"); String applyOperation = jsonObject.getString("applyOperation"); + DateGlobalizationServiceInterface dateService = GlobalizationService.getInvariantService("com.visiprise.globalization.DateGlobalizationService"); //--------------------------------------------------------------------------------------------------- NcGroupConfigurationServiceInterface ncGroupConfigurationService = MEServices.create("com.sap.me.nonconformance", "NcGroupConfigurationService", site); ncGroupFullConfiguration.setDescription(description); @@ -122,6 +134,13 @@ public class NcGroupWSClient { list.add(ncGroupValidOperation); } + ncGroupFullConfiguration.setNcGroupValidOperationList(list); + } else if (StringUtil.notBlank(applyOperation)) { + List list = new ArrayList<>(); + NcGroupValidOperation ncGroupValidOperation = new NcGroupValidOperation(); + String operationBo = HandleEnum.OPERATION.getHandle(site, applyOperation, "#"); + ncGroupValidOperation.setOperationRef(operationBo); + list.add(ncGroupValidOperation); ncGroupFullConfiguration.setNcGroupValidOperationList(list); } } diff --git a/dataimport/src/main/java/com/foreverwin/mesnac/dataimport/service/MasterObjectDefine.java b/dataimport/src/main/java/com/foreverwin/mesnac/dataimport/service/MasterObjectDefine.java index b50c9678..6fd8d79f 100644 --- a/dataimport/src/main/java/com/foreverwin/mesnac/dataimport/service/MasterObjectDefine.java +++ b/dataimport/src/main/java/com/foreverwin/mesnac/dataimport/service/MasterObjectDefine.java @@ -39,13 +39,13 @@ public class MasterObjectDefine { cvsHeadsMapping = new HashMap(); cvsHeadsMapping.put("seqNum", "序号"); - cvsHeadsMapping.put("resource", "资源编码"); - cvsHeadsMapping.put("description", "资源描述"); + cvsHeadsMapping.put("resource", "*设备(资源)命名(英文)"); + cvsHeadsMapping.put("description", "设备(资源)描述"); cvsHeadsMapping.put("defaultOperation", "默认操作"); - cvsHeadsMapping.put("status", "资源状态" ); + cvsHeadsMapping.put("status", "设备(资源)状态" ); cvsHeadsMapping.put("setupStatus", "设置状态"); cvsHeadsMapping.put("processResource", "工艺资源"); - cvsHeadsMapping.put("resourceType", "资源类型"); + cvsHeadsMapping.put("resourceType", "设备(资源)类型"); cvsHeadsMapping.put("validFrom", "资源有效期从"); cvsHeadsMapping.put("validTo", "资源有效期到"); cvsHeadsMapping.put("certificate", "证明编号"); @@ -56,7 +56,7 @@ public class MasterObjectDefine { cvsHeadsMapping = new HashMap(); cvsHeadsMapping.put("seqNum", "序号"); - cvsHeadsMapping.put("workCenter", "工作中心名称"); + cvsHeadsMapping.put("workCenter", "*工作中心名称(英文)"); cvsHeadsMapping.put("descriptionZH", "工作中心描述(中文)"); cvsHeadsMapping.put("descriptionEN", "工作中心描述(英文)"); cvsHeadsMapping.put("status", "状态"); @@ -66,8 +66,8 @@ public class MasterObjectDefine { cvsHeadsMapping.put("memberSeq", "序列号"); cvsHeadsMapping.put("memberType", "子工作中心类型"); cvsHeadsMapping.put("memberGBO", "工作中心或资源"); - cvsHeadsMapping.put("ERPWC", "ERP工作中心"); - cvsHeadsMapping.put("isERPWC", "是ERP工作中心"); + cvsHeadsMapping.put("ERPWC", "ERP 工作中心"); + cvsHeadsMapping.put("isERPWC", "是 ERP 工作中心"); break; //工序主数据 @@ -75,15 +75,15 @@ public class MasterObjectDefine { cvsHeadsMapping = new HashMap(); cvsHeadsMapping.put("seqNum","序号"); - cvsHeadsMapping.put("operation", "工序名称"); - cvsHeadsMapping.put("version", "工序版本"); + cvsHeadsMapping.put("operation", "*关键工序名称(英文)"); + cvsHeadsMapping.put("version", "*关键工序版本"); cvsHeadsMapping.put("currentVersion", "当前版本(是/否)"); - cvsHeadsMapping.put("status", "状态"); - cvsHeadsMapping.put("descriptionZH", "工序描述(中文)"); - cvsHeadsMapping.put("descriptionEN", "工序描述(英文)"); - cvsHeadsMapping.put("operationType", "操作类型"); - cvsHeadsMapping.put("resourceType", "资源类型"); - cvsHeadsMapping.put("defaultResource", "默认资源"); + cvsHeadsMapping.put("status", "*状态"); + cvsHeadsMapping.put("descriptionZH", "关键工序描述(中文)"); + cvsHeadsMapping.put("descriptionEN", "关键工序描述(英文)"); + cvsHeadsMapping.put("operationType", "*操作类型"); + cvsHeadsMapping.put("resourceType", "*设备(资源)类型"); + cvsHeadsMapping.put("defaultResource", "默认设备(资源)"); break; //不合格代码组 diff --git a/integration/src/main/java/com/foreverwin/mesnac/integration/config/IntegrationConfiguration.java b/integration/src/main/java/com/foreverwin/mesnac/integration/config/IntegrationConfiguration.java index f2823297..b81780ff 100644 --- a/integration/src/main/java/com/foreverwin/mesnac/integration/config/IntegrationConfiguration.java +++ b/integration/src/main/java/com/foreverwin/mesnac/integration/config/IntegrationConfiguration.java @@ -1,6 +1,7 @@ package com.foreverwin.mesnac.integration.config; +import com.foreverwin.mesnac.integration.service.CAPPAPIWebService; import com.foreverwin.mesnac.integration.service.ERPAPIWebService; import org.apache.cxf.Bus; import org.apache.cxf.jaxws.EndpointImpl; @@ -22,6 +23,8 @@ public class IntegrationConfiguration { private Bus bus; @Autowired private ERPAPIWebService ERPAPIWebService; + @Autowired + private CAPPAPIWebService CAPPAPIWebService; @Bean public Endpoint erpWebService() { @@ -30,4 +33,13 @@ public class IntegrationConfiguration { endpoint.publish("/ERPAPIWebService"); return endpoint; } + + + @Bean + public Endpoint cappWebService() { + EndpointImpl endpoint = new EndpointImpl(bus, CAPPAPIWebService); + //显示要发布的名称 + endpoint.publish("/CAPPAPIWebService"); + return endpoint; + } } diff --git a/integration/src/main/java/com/foreverwin/mesnac/integration/service/CAPPAPIWebService.java b/integration/src/main/java/com/foreverwin/mesnac/integration/service/CAPPAPIWebService.java new file mode 100644 index 00000000..4485072d --- /dev/null +++ b/integration/src/main/java/com/foreverwin/mesnac/integration/service/CAPPAPIWebService.java @@ -0,0 +1,21 @@ +package com.foreverwin.mesnac.integration.service; + +import com.foreverwin.mesnac.integration.dto.BomSyncRequest; +import com.foreverwin.mesnac.integration.dto.WebServiceResponse; + +import javax.jws.WebMethod; +import javax.jws.WebParam; +import javax.jws.WebService; + +@WebService(targetNamespace="http://service.integration.mesnac.com") +public interface CAPPAPIWebService { + + /** + * 物料清单同步 + * + * @param bomSyncRequest + * @return + */ + @WebMethod(action = "http://service.integration.mesnac.com/itemSync") + WebServiceResponse itemSync(@WebParam(name = "itemSyncRequest") BomSyncRequest bomSyncRequest); +} diff --git a/integration/src/main/java/com/foreverwin/mesnac/integration/service/impl/CAPPAPIWebServiceImpl.java b/integration/src/main/java/com/foreverwin/mesnac/integration/service/impl/CAPPAPIWebServiceImpl.java new file mode 100644 index 00000000..2d7bdfd7 --- /dev/null +++ b/integration/src/main/java/com/foreverwin/mesnac/integration/service/impl/CAPPAPIWebServiceImpl.java @@ -0,0 +1,85 @@ +package com.foreverwin.mesnac.integration.service.impl; + +import com.foreverwin.mesnac.common.constant.IntegrationTypeConstant; +import com.foreverwin.mesnac.common.util.ExceptionUtil; +import com.foreverwin.mesnac.common.util.StringUtil; +import com.foreverwin.mesnac.integration.dto.BomSyncRequest; +import com.foreverwin.mesnac.integration.dto.WebServiceResponse; +import com.foreverwin.mesnac.integration.model.IntegrationLog; +import com.foreverwin.mesnac.integration.service.CAPPAPIWebService; +import com.foreverwin.mesnac.integration.service.IntegrationLogService; +import com.foreverwin.mesnac.integration.service.InterfaceService; +import com.foreverwin.modular.core.exception.BusinessException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.jws.WebService; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.UUID; + +@Component +@WebService(serviceName = "CAPPAPIWebService", + targetNamespace = "http://service.integration.mesnac.com", + endpointInterface = "com.foreverwin.mesnac.integration.service.CAPPAPIWebService") +public class CAPPAPIWebServiceImpl implements CAPPAPIWebService { + + @Autowired + private InterfaceService interfaceService; + @Autowired + private IntegrationLogService integrationLogService; + + @Override + public WebServiceResponse itemSync(BomSyncRequest bomSyncRequest) { + WebServiceResponse response = new WebServiceResponse(); + + String site = null; + try { + if (bomSyncRequest == null) { + throw BusinessException.build("传递的参数格式不正确,或者为空"); + } + if (StringUtil.isBlank(bomSyncRequest.getTRANID())) { + throw BusinessException.build("参数【TRANID】不能为空"); + } + if (StringUtil.isBlank(bomSyncRequest.getDATE_TIME())) { + throw BusinessException.build("参数【DATE_TIME】不能为空"); + } + response.setHANDLE(bomSyncRequest.getTRANID()); + response.setSTATUS("S"); + + site = bomSyncRequest.getSITE(); + String shopOrder = bomSyncRequest.getSHOP_ORDER(); + if (StringUtil.isBlank(site)) { + throw BusinessException.build("参数【SITE】不能为空"); + } + + //调用业务接口 + interfaceService.bomSync(site, bomSyncRequest); + response.setMESSAGE("工单【" + shopOrder + "】BOM数据同步成功"); + + } catch (Exception e) { + response.setSTATUS("E"); + response.setMESSAGE(ExceptionUtil.getExceptionMsg(e)); + } finally { + + //记录接口日志 + IntegrationLog log = new IntegrationLog(); + log.setHandle(UUID.randomUUID().toString()); + log.setSite(site); + log.setIntegrationType(IntegrationTypeConstant.BOM); + log.setCategory("RESPONSE"); + log.setIntegrationWay("ERP"); + log.setIntegrationMethod("InterfaceService.shopOrderSync"); + log.setParam(bomSyncRequest.toString()); + log.setStatus(response.getSTATUS()); + log.setResultMessage(response.getMESSAGE()); + log.setTransactionId(bomSyncRequest.getTRANID()); + log.setRequestDateTime(LocalDateTime.parse(bomSyncRequest.getDATE_TIME(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + log.setCreatedDateTime(LocalDateTime.now()); + integrationLogService.saveIntegrationLog(log); + } + + //接口返回 + return response; + } +}