¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.service.impl; |
| | | |
| | | import com.alibaba.cloud.commons.lang.StringUtils; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.constant.MdmDuckingConstant; |
| | | import com.vci.ubcs.code.dto.CodeOrderDTO; |
| | | import com.vci.ubcs.code.dto.CodeOrderSecDTO; |
| | | import com.vci.ubcs.code.entity.CodeClassify; |
| | | import com.vci.ubcs.code.entity.DockingLog; |
| | | import com.vci.ubcs.code.entity.DockingSystemConfig; |
| | | import com.vci.ubcs.code.enumpack.CodeDefaultLC; |
| | | import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; |
| | | import com.vci.ubcs.code.enumpack.SysIntegrationDataFlowTypeEnum; |
| | | import com.vci.ubcs.code.enumpack.sysIntegrationPushTypeEnum; |
| | | import com.vci.ubcs.code.mapper.CommonsMapper; |
| | | import com.vci.ubcs.code.service.*; |
| | | import com.vci.ubcs.code.util.ClientBusinessObject; |
| | | import com.vci.ubcs.code.util.gennerAttrMapUtil; |
| | | import com.vci.ubcs.code.vo.pagemodel.*; |
| | | import com.vci.ubcs.code.vo.webserviceModel.apply.ApplyDataVO; |
| | | import com.vci.ubcs.code.vo.webserviceModel.apply.ApplyDatasVO; |
| | | import com.vci.ubcs.code.vo.webserviceModel.apply.ClassfyVO; |
| | | import com.vci.ubcs.code.vo.webserviceModel.apply.ProppertyVO; |
| | | import com.vci.ubcs.code.vo.webserviceModel.attrmap.*; |
| | | import com.vci.ubcs.code.vo.webserviceModel.mdm.MDMParamData; |
| | | import com.vci.ubcs.code.vo.webserviceModel.mdm.MdmResultData; |
| | | import com.vci.ubcs.code.vo.webserviceModel.person.EnumerableData; |
| | | import com.vci.ubcs.code.vo.webserviceModel.person.ResultMdMapping; |
| | | import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO; |
| | | import com.vci.ubcs.code.webService.config.AttributeMapConfig; |
| | | import com.vci.ubcs.code.webService.config.ClassifyConfig; |
| | | import com.vci.ubcs.code.webService.config.MDMInterFaceConfig; |
| | | import com.vci.ubcs.omd.feign.IBtmTypeClient; |
| | | import com.vci.ubcs.omd.vo.BtmTypeVO; |
| | | import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; |
| | | import com.vci.ubcs.starter.web.util.BeanUtilForVCI; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import org.springblade.core.secure.BladeUser; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.jws.WebMethod; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.xml.ws.WebServiceContext; |
| | | import javax.xml.ws.handler.MessageContext; |
| | | import java.util.*; |
| | | import java.util.concurrent.CopyOnWriteArrayList; |
| | | import java.util.concurrent.ForkJoinPool; |
| | | import java.util.concurrent.atomic.AtomicBoolean; |
| | | import java.util.concurrent.atomic.AtomicReference; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.vci.ubcs.code.constant.MdmEngineConstant.CODE_SEC_LENGTH_FIELD; |
| | | import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST; |
| | | import static com.vci.ubcs.code.enumpack.CodeSecTypeEnum.CODE_SERIAL_SEC; |
| | | |
| | | /*** |
| | | * ç»ä¸æ¥å£ |
| | | */ |
| | | @Service |
| | | @Slf4j |
| | | public class CodeMdmInfaceImpl implements CodeMdmInfaceI { |
| | | |
| | | |
| | | @Autowired(required = false) |
| | | private AttributeMapConfig attributeMapConfig; |
| | | |
| | | /**** |
| | | * å
³äºè·MDMéæé
ç½® |
| | | */ |
| | | @Autowired(required = false) |
| | | private MDMInterFaceConfig mdmInterFaceConfig; |
| | | /** |
| | | * 主é¢åºåç±»çæå¡ |
| | | */ |
| | | @Autowired(required = false) |
| | | private ICodeClassifyService classifyService; |
| | | /** |
| | | * ä¸å¡ç±»åçæå¡ |
| | | */ |
| | | @Autowired |
| | | private IBtmTypeClient btmTypeClient; |
| | | /** |
| | | * éç¨æ¥è¯¢ |
| | | */ |
| | | @Resource |
| | | private CommonsMapper commonsMapper; |
| | | |
| | | /** |
| | | * ä¸»æ°æ®å¼æçæå¡ |
| | | */ |
| | | @Resource |
| | | private MdmEngineService engineService; |
| | | |
| | | /** |
| | | * å¯çº§çæå¡ |
| | | */ |
| | | @Resource |
| | | private MdmIOService mdmIOService; |
| | | |
| | | @Resource |
| | | private IDockingSystemConfigService dockingSystemConfigService; |
| | | |
| | | |
| | | /*** |
| | | * éææ¥å£æ¥å¿æå¡çé
ç½® |
| | | */ |
| | | @Resource |
| | | private IDockingLogeService dockingLogeService; |
| | | |
| | | @Resource |
| | | private IPasswordFreeLoginService passwordFreeLoginService; |
| | | /*** |
| | | * æ¯å¦æ ¡éªæ¥å£ç®¡ç |
| | | */ |
| | | @Value("${code.universalinterface.checkSystemConfig:true}") |
| | | public boolean CODE_CHECKCONFIG; |
| | | |
| | | /** |
| | | * èªå®ä¹å¹¶åForkJoinPool |
| | | */ |
| | | private static final ForkJoinPool customForkJoinPool = new ForkJoinPool(Runtime.getRuntime().availableProcessors() - 1); |
| | | |
| | | private static String separator="##VCI##"; |
| | | private String errorid="0"; |
| | | private String msg="æå"; |
| | | private String objerrorCode="0"; |
| | | private String objerrorMsg="æå"; |
| | | |
| | | private final ThreadLocal<HttpServletRequest> threadLocal = new ThreadLocal<>(); |
| | | |
| | | @Resource |
| | | private WebServiceContext webServiceContext; |
| | | @Override |
| | | public void setThreadLocal(ThreadLocal<HttpServletRequest> requestThreadLocal){ |
| | | this.threadLocal.set(requestThreadLocal.get()); |
| | | requestThreadLocal.remove(); |
| | | } |
| | | @WebMethod |
| | | private HttpServletRequest getRequest() { |
| | | //restè¯·æ±æ¹å¼è·årequest |
| | | HttpServletRequest request = this.threadLocal.get(); |
| | | if(Func.isEmpty(request)){ |
| | | try { |
| | | // webserviceè¯·æ±æ¹å¼è·åHttpServletRequest对象 |
| | | request = (HttpServletRequest)webServiceContext.getMessageContext().get(MessageContext.SERVLET_REQUEST); |
| | | }catch (Exception e){ |
| | | throw new ServiceException("è·åhttpServletRequest失败ï¼åå :"+e.getMessage()); |
| | | } |
| | | }else { |
| | | this.threadLocal.remove(); |
| | | } |
| | | return request; |
| | | } |
| | | @Override |
| | | public MdmResultData syncDataForMDM(MDMParamData mdmParamData,String library,String classifyCode) { |
| | | boolean isCodeOrGroupCode=false; |
| | | MdmResultData mdmResultData=new MdmResultData(); |
| | | String systemCode=mdmParamData.getSystemCode(); |
| | | List<ResultMdMapping> resultMdMappingList=new ArrayList<>(); |
| | | String message=""; |
| | | AtomicBoolean success = new AtomicBoolean(true); |
| | | List<Map<String,String>> masterDataList = new ArrayList<>(); |
| | | AtomicReference<ClassifyConfig> currentClassifyConfig = new AtomicReference<>(new ClassifyConfig()); |
| | | try { |
| | | if (mdmParamData == null) { |
| | | throw new Throwable("ä¼ å
¥åæ°ä¸ºnull"); |
| | | } |
| | | try { |
| | | passwordFreeLoginService.pwdFreeLoginByBoolean(systemCode.toLowerCase(), this.getRequest()); |
| | | } catch (Throwable e) { |
| | | throw new Throwable("ç¨æ·é´æå¤±è´¥"); |
| | | } |
| | | List<ClassifyConfig> classifyConfigList=mdmInterFaceConfig.getClassifyconfigs(); |
| | | if(StringUtils.isNotBlank(library)&&StringUtils.isNotBlank(classifyCode)){ |
| | | String finalLibrary = library; |
| | | classifyConfigList.stream().forEach(classifyConfig -> { |
| | | String currentClassifyCode=classifyConfig.getClassCode(); |
| | | String currentLibrary=classifyConfig.getLibrary(); |
| | | if(finalLibrary.equals(currentLibrary)&&classifyCode.equals(currentClassifyCode)){ |
| | | currentClassifyConfig.set(classifyConfig); |
| | | } |
| | | }); |
| | | }else{ |
| | | Map<String,List<ClassifyConfig>> fieldClassifyConfigMap=new HashMap<>(); |
| | | classifyConfigList.stream().forEach(classifyConfig -> { |
| | | String sourceKey=classifyConfig.getSourceKey();//åç±»æ è¯å段 |
| | | //String sourceClassifyCode=classifyConfig.getSourceClassifyCode();//åç±»æ è¯ |
| | | List<ClassifyConfig> classifyConfigs = new ArrayList<>(); |
| | | if(fieldClassifyConfigMap.containsKey(sourceKey)) { |
| | | List<ClassifyConfig> oldClassifyConfigs= fieldClassifyConfigMap.get(sourceKey); |
| | | classifyConfigs.addAll(oldClassifyConfigs); |
| | | } |
| | | classifyConfigs.add(classifyConfig); |
| | | fieldClassifyConfigMap.put(sourceKey,classifyConfigs); |
| | | }); |
| | | masterDataList.stream().forEach(masterData -> { |
| | | masterData.forEach((field, vaule) -> { |
| | | if (fieldClassifyConfigMap.containsKey(field)) { |
| | | vaule=StringUtils.isBlank(vaule) ? "" : vaule; |
| | | List<ClassifyConfig> classifyConfigs = fieldClassifyConfigMap.get(field); |
| | | Map<String, ClassifyConfig> classifyConfigMap = classifyConfigs.stream().filter(classify -> classify != null && StringUtils.isNotBlank(classify.getSourceClassifyCode())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getSourceClassifyCode(), t -> t)); |
| | | if (classifyConfigMap.containsKey(vaule)) { |
| | | currentClassifyConfig.set(classifyConfigMap.get(vaule)); |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | library= currentClassifyConfig.get().getLibrary(); |
| | | if (StringUtils.isBlank(library)) { |
| | | success.set(false); |
| | | log.info("ä¸MDMéæé
置缺å°åºèç¹ä¿¡æ¯,library->" + library); |
| | | throw new Throwable("ä¸MDMéæé
置缺å°åºèç¹ä¿¡æ¯,library->" + library); |
| | | } |
| | | String classCode= currentClassifyConfig.get().getClassCode(); |
| | | ClassfyVO classfyVO = new ClassfyVO(); |
| | | classfyVO.setLibrary(library); |
| | | classfyVO.setClassCode(classCode); |
| | | CodeClassifyVO codeClassifyVO = this.getClassfy(classfyVO, library); |
| | | log.info("endï¼åç±»æ¥è¯¢å®æ¯"); |
| | | //è·åå类模æ¿ä¿¡æ¯ |
| | | if (codeClassifyVO == null || StringUtils.isBlank(codeClassifyVO.getOid())) { |
| | | success.set(false); |
| | | throw new Throwable("æ ¹æ®é
ç½®åç±»çåç±»ç¼å·ï¼æªè·åå°å类信æ¯"); |
| | | } |
| | | CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid()); |
| | | if (templateVO == null || StringUtils.isBlank(templateVO.getOid())) { |
| | | success.set(false); |
| | | throw new Throwable("æ ¹æ®ä¼ è¾çåç±»ï¼æªè·åMDMç³»ç»ä¸å¯¹åºæ¨¡æ¿"); |
| | | } |
| | | if(CODE_CHECKCONFIG) { |
| | | //æ ¡éªæ¯å¦é
ç½® |
| | | DockingSystemConfig dockingSystemConfig=null; |
| | | dockingSystemConfig=checkIspass(systemCode, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue(),codeClassifyVO.getOid()); |
| | | if(dockingSystemConfig==null||StringUtils.isBlank(dockingSystemConfig.getOid())){ |
| | | throw new Throwable("ç³»ç»æ è¯ä¸ºã"+ systemCode +"ãï¼éæå类为ã"+codeClassifyVO.getName()+"ã以ä¸åç±»ï¼"+sysIntegrationPushTypeEnum.ACCPET_APPCODE.getText()+"æ¥å£é
置已åç¨æè
æªé
ç½®ï¼è¯·èç³»ç¼ç 管çåï¼"); |
| | | } |
| | | isCodeOrGroupCode="true".equals(dockingSystemConfig.getIsGroupCodeFlag())?true:false; |
| | | } |
| | | List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && |
| | | ((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) |
| | | ).collect(Collectors.toList()); |
| | | R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId()); |
| | | if (!r.isSuccess()) { |
| | | throw new Throwable(r.getMsg()); |
| | | } |
| | | BtmTypeVO btmTypeVO = r.getData(); |
| | | if (btmTypeVO == null) { |
| | | throw new Throwable("æ ¹æ®ä¸å¡ç±»åæªæ¥è¯¢å°ä¸å¡ç±»å对象ï¼"); |
| | | } |
| | | String tableName = btmTypeVO.getTableName(); |
| | | if (com.alibaba.nacos.common.utils.StringUtils.isBlank(tableName)) { |
| | | throw new Throwable("æ ¹æ®ä¸å¡ç±»åæªæ¥è¯¢å°ä¸å¡ç±»åç¸å
³èç表"); |
| | | } |
| | | masterDataList = mdmParamData.getMasterData(); |
| | | List<String> codeList = new ArrayList<>(); |
| | | List<ApplyDataVO> applyDataVOList = new ArrayList<>(); |
| | | List<ApplyDataVO> deleteDataVOList = new ArrayList<>(); |
| | | List<String> fields = Func.toStrList(currentClassifyConfig.get().getEnumFields()); |
| | | masterDataList.stream().forEach(masterData -> { |
| | | ApplyDataVO object = new ApplyDataVO(); |
| | | List<ProppertyVO> proppertyVOList = new ArrayList<>(); |
| | | masterData.forEach((field, vaule) -> { |
| | | /*** |
| | | * æ ¹æ®é
ç½®æä»¶è·åæä¸¾å¼ |
| | | */ |
| | | if(fields.contains(field)){//å¦ææ¯æä¸¾ï¼åéè¦è½¬æ¢æä¸¾å¼ |
| | | String enumFiled = masterData.get(field); |
| | | EnumerableData enumerableData = JSONObject.toJavaObject(JSONObject.parseObject(enumFiled), EnumerableData.class); |
| | | String enumCode = enumerableData.getCode(); |
| | | //String enumCodeValue=enumerableData.getName(); |
| | | ProppertyVO proppertyVO = new ProppertyVO(); |
| | | proppertyVO.setKey(field); |
| | | proppertyVO.setValue(enumCode); |
| | | proppertyVOList.add(proppertyVO); |
| | | }else { |
| | | ProppertyVO proppertyVO = new ProppertyVO(); |
| | | proppertyVO.setKey(field); |
| | | proppertyVO.setValue(vaule); |
| | | proppertyVOList.add(proppertyVO); |
| | | } |
| | | |
| | | }); |
| | | |
| | | Map<String,String> fixedFieldMap = currentClassifyConfig.get().getFixedFieldMap(); |
| | | if(fixedFieldMap.containsKey("creator")){ |
| | | String fixedField=fixedFieldMap.getOrDefault("creator",""); |
| | | object.setCreator(masterData.getOrDefault(fixedField,"").toString());//å建è
|
| | | } |
| | | if(fixedFieldMap.containsKey("modifier")) { |
| | | String fixedField=fixedFieldMap.getOrDefault("modifier",""); |
| | | object.setEditor(masterData.getOrDefault(fixedField, "").toString());//ä¿®æ¹è
|
| | | } |
| | | if(fixedFieldMap.containsKey("id")) { |
| | | String fixedField=fixedFieldMap.getOrDefault("id",""); |
| | | object.setId(masterData.getOrDefault(fixedField, "").toString());//ä¸»é® |
| | | } |
| | | object.setStatus(CodeDefaultLC.RELEASED.getValue());//ç¶æåéè¦å¤æ |
| | | String dr="0"; |
| | | if(fixedFieldMap.containsKey("dr")) { |
| | | String fixedField=fixedFieldMap.getOrDefault("dr",""); |
| | | dr = masterData.getOrDefault(fixedField, "").toString(); |
| | | } |
| | | object.setCode(masterData.getOrDefault(currentClassifyConfig.get().getSourceCodeKey(),"").toString());//ç¼ç |
| | | object.setProp(proppertyVOList); |
| | | |
| | | if (dr.equals(1)) { |
| | | //æä½ç±»å |
| | | object.setOperate("delete"); |
| | | deleteDataVOList.add(object); |
| | | } else { |
| | | //String worker_category=personMasterData.getWorker_category(); |
| | | object.setOperate("create"); |
| | | applyDataVOList.add(object); |
| | | } |
| | | codeList.add(object.getCode()); |
| | | |
| | | }); |
| | | String targetCodeKey=currentClassifyConfig.get().getTargetCodeKey(); |
| | | StringBuffer sb = new StringBuffer(); |
| | | sb.append(" select * from "); |
| | | sb.append(tableName); |
| | | sb.append(" where 1=1 "); |
| | | sb.append(" and lastr=1 and lastv=1"); |
| | | sb.append(" and "+targetCodeKey+" in ("); |
| | | sb.append(VciBaseUtil.toInSql(codeList.toArray(new String[0]))); |
| | | sb.append(")"); |
| | | List<Map<String, String>> dataMapList = commonsMapper.queryByOnlySqlForMap(sb.toString()); |
| | | DefaultAttrAssimtUtil.mapToLowerCase(dataMapList, true); |
| | | List<ClientBusinessObject> cboList = ChangeMapTOClientBusinessObjects(dataMapList); |
| | | ApplyDatasVO applyDatasVO = new ApplyDatasVO(); |
| | | ApplyDatasVO editDatasVO = new ApplyDatasVO(); |
| | | if (!CollectionUtils.isEmpty(cboList)) { |
| | | //æ ¹æ®MDMç¼ç å»å¤ææ°æ®æ¯å¦éå¤. |
| | | Map<String, ClientBusinessObject> oldpplyDataVOMap = cboList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getAttributeValue(targetCodeKey))).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getAttributeValue(targetCodeKey).toLowerCase(Locale.ROOT), t -> t)); |
| | | //æ°æ®åºä¸åå¨ç |
| | | List<ApplyDataVO> applyApplyDataVOList = applyDataVOList.stream().filter(cbo -> { |
| | | String code = cbo.getCode(); |
| | | return !oldpplyDataVOMap.containsKey(code); |
| | | }).collect(Collectors.toList()); |
| | | applyDatasVO.setObject(applyApplyDataVOList); |
| | | //æ°æ®åºåå¨ç |
| | | List<ApplyDataVO> editApplyDataVOList = applyDataVOList.stream().filter(cbo -> { |
| | | String code = cbo.getCode(); |
| | | if (oldpplyDataVOMap.containsKey(code)) { |
| | | cbo.setOperate("update"); |
| | | } |
| | | return oldpplyDataVOMap.containsKey(code); |
| | | }).collect(Collectors.toList()); |
| | | editApplyDataVOList.addAll(deleteDataVOList); |
| | | editDatasVO.setObject(editApplyDataVOList); |
| | | } else { |
| | | applyDatasVO.setObject(applyDataVOList); |
| | | } |
| | | |
| | | LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>(); |
| | | if (editDatasVO.getObject() != null && editDatasVO.getObject().size() > 0) { |
| | | DataObjectVO dataObjectVO = new DataObjectVO(); |
| | | this.getConfigDatas(systemCode, library, editDatasVO, attrVOS, dataObjectVO); |
| | | log.info("startï¼ä¿®æ¹æ°æ®æ§è¡å®æ¯"); |
| | | //boolean personApplyGroupCode = personAndDeptConfig.isPersonApplyGroupCode(); |
| | | mdmIOService.batchSyncEditDatas(codeClassifyVO, dataObjectVO, resultDataObjectDetailDOs, isCodeOrGroupCode); |
| | | log.info("endï¼ä¿®æ¹æ°æ®æ§è¡å®æ¯"); |
| | | } |
| | | if (applyDatasVO.getObject() != null && applyDatasVO.getObject().size() > 0) { |
| | | DataObjectVO dataObjectVO = new DataObjectVO(); |
| | | this.getConfigDatas(systemCode, library, applyDatasVO, attrVOS, dataObjectVO); |
| | | |
| | | CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid()); |
| | | CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo); |
| | | if (ruleVO == null || "".equals(ruleVO.getOid())) { |
| | | throw new Throwable("ç¼ç è§å"); |
| | | } |
| | | List<XMLResultDataObjectDetailDO> xDOs = new CopyOnWriteArrayList<>(); |
| | | final List<RowDatas> rowDatas = dataObjectVO.getRowData(); |
| | | boolean finalIsCodeOrGroupCode = isCodeOrGroupCode; |
| | | rowDatas.parallelStream().forEach(rowData -> { |
| | | String mesg = ""; |
| | | try { |
| | | CodeOrderDTO orderDTO = new CodeOrderDTO(); |
| | | List<CodeOrderSecDTO> codeOrderSecDTOList = new ArrayList<>(); |
| | | orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//åç±»ä¸»é® |
| | | orderDTO.setTemplateOid(templateVO.getOid()); |
| | | orderDTO.setCreator(rowData.getCreator()); |
| | | orderDTO.setLastModifier(rowData.getEditor()); |
| | | orderDTO.setLcStatus(rowData.getStatus()); |
| | | if (!CollectionUtils.isEmpty(ruleVO.getSecVOList())) {//ç®è§å |
| | | boolean usedFlag=currentClassifyConfig.get().isUsedFlag();//æ¯å¦ä¾æ®ç¼ç è§å |
| | | String codeFilter=currentClassifyConfig.get().getCodeFilter();//æ ¹æ®ç¼ç 弿ªå |
| | | if(usedFlag){//妿便®MDMç¼ç 为ç¼ç ç³»ç»ç¼ç çè¯ï¼åæ ¹æ®è®¤ä¸ºæ¯å¯åç æ®µ |
| | | if(ruleVO.getSecVOList().size()==1) { |
| | | ruleVO.getSecVOList().stream().forEach(codeBasicSecVO -> { |
| | | if (codeBasicSecVO.getSecType().equals("codevariablesec")) {//è§åä¹å®ä¹ä¸ºå¯åç æ®µåå¨ä¸»æ°æ®ä¼ éè¿æ¥çæ°æ® |
| | | CodeOrderSecDTO CodeOrderSecDTO = new CodeOrderSecDTO(); |
| | | CodeOrderSecDTO.setSecOid(codeBasicSecVO.getOid()); |
| | | CodeOrderSecDTO.setSecValue(rowData.getCode()); |
| | | codeOrderSecDTOList.add(CodeOrderSecDTO); |
| | | } |
| | | }); |
| | | }else{ |
| | | mesg="æ ¹æ®é
ç½®ç¼ç 便®éæç³»ç»:["+systemCode+"]çæ°æ®ç¼ç ä¸ºä¾æ®ï¼ç¼ç è§ååºä¸ºå¯åç æ®µ"; |
| | | new Throwable("æ ¹æ®é
ç½®ç¼ç 便®éæç³»ç»:["+systemCode+"]çæ°æ®ç¼ç ä¸ºä¾æ®ï¼ç¼ç è§ååºä¸ºå¯åç æ®µ"); |
| | | } |
| | | }else {//妿ä¸ä¾æ®MDMç¼ç 为ç¼ç ç³»ç»ç¼ç çè¯ï¼åæ ¹æ®é
ç½®çæç¼ç è§å |
| | | String[] secValues = currentClassifyConfig.get().getSecValueFilter().split("#"); |
| | | final int[] index = {0}; |
| | | try { |
| | | ruleVO.getSecVOList().stream().forEach(codeBasicSecVO -> { |
| | | if (!CODE_SERIAL_SEC.getValue().equals(codeBasicSecVO.getSecType())) { |
| | | CodeOrderSecDTO CodeOrderSecDTO = new CodeOrderSecDTO(); |
| | | CodeOrderSecDTO.setSecOid(codeBasicSecVO.getOid()); |
| | | CodeOrderSecDTO.setSecValue(secValues[index[0]]); |
| | | codeOrderSecDTOList.add(CodeOrderSecDTO); |
| | | index[0]++; |
| | | } |
| | | }); |
| | | }catch (Throwable e){ |
| | | mesg="计ç®ç 段ç å¼åºç°å¼å¸¸:"+e.getMessage(); |
| | | new Throwable("计ç®ç 段ç å¼åºç°å¼å¸¸:"+e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | } |
| | | if(CollectionUtils.isEmpty(codeOrderSecDTOList)){ |
| | | throw new Exception(mesg); |
| | | } |
| | | orderDTO.setCodeRuleOid(ruleVO.getOid()); |
| | | orderDTO.setSecDTOList(codeOrderSecDTOList);//åå¨ç¼ç |
| | | orderDTO.setData(rowData.getFiledValue()); |
| | | String code = engineService.addSaveCodeNotauthUser(orderDTO, false); |
| | | if (StringUtils.isNotBlank(code)) { |
| | | StringBuffer sqlsb = new StringBuffer(); |
| | | sqlsb.append(" select * from "); |
| | | sqlsb.append(tableName); |
| | | sqlsb.append(" where 1=1 "); |
| | | sqlsb.append(" and lastr=1 and lastv=1"); |
| | | sqlsb.append(" and id in ("); |
| | | sqlsb.append(VciBaseUtil.toInSql(code)); |
| | | sqlsb.append(")"); |
| | | List<Map<String, String>> newDataMapList = commonsMapper.queryByOnlySqlForMap(sqlsb.toString()); |
| | | if (!CollectionUtils.isEmpty(newDataMapList)) { |
| | | String oid = StringUtils.isBlank(newDataMapList.get(0).get("OID")) ? "" : newDataMapList.get(0).get("OID"); |
| | | List<String> oidList = new ArrayList<>(); |
| | | oidList.add(oid); |
| | | //妿æç³è¯·å°±å»è°ç¨ç³è¯·éå¢ç |
| | | if (finalIsCodeOrGroupCode) { |
| | | mdmIOService.sendApplyGroupcode(oidList, templateVO.getBtmTypeId(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue()); |
| | | success.set(true); |
| | | mesg = "æ°æ®ä¿åæåï¼çå¾
ç³è¯·éå¢ç "; |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | mesg="éæç³»ç»ï¼ã"+systemCode+"ãç³è¯·ç¼ç 失败:" + e.getMessage(); |
| | | mesg = e.getMessage(); |
| | | e.printStackTrace(); |
| | | throw new ServiceException(e.getMessage()); |
| | | } finally { |
| | | XMLResultDataObjectDetailDO x = new XMLResultDataObjectDetailDO(); |
| | | x.setId(rowData.getOid()); |
| | | x.setCode(rowData.getCode()); |
| | | x.setMsg(mesg); |
| | | x.setErrorid("1"); |
| | | xDOs.add(x); |
| | | } |
| | | }); |
| | | resultDataObjectDetailDOs.addAll(xDOs); |
| | | boolean finalSuccess1 = success.get(); |
| | | String finalMessage1 = message; |
| | | // éå¶çº¿ç¨å¹¶è¡æ°é |
| | | customForkJoinPool.submit(() -> { |
| | | resultDataObjectDetailDOs.stream().forEach(resultDataObjectDetailDO -> { |
| | | ResultMdMapping resultMdMapping = new ResultMdMapping(); |
| | | resultMdMapping.setBusiDataId(resultDataObjectDetailDO.getId()); |
| | | resultMdMapping.setSuccess(finalSuccess1); |
| | | resultMdMapping.setEntityCode(" "); |
| | | resultMdMapping.setMdmCode(resultDataObjectDetailDO.getCode()); |
| | | resultMdMapping.setMessage(finalMessage1); |
| | | resultMdMapping.setSubMdMappings(null); |
| | | resultMdMappingList.add(resultMdMapping); |
| | | }); |
| | | }).join(); |
| | | log.info("endï¼ç³è¯·è·å宿¯"); |
| | | } |
| | | } catch (Throwable e) { |
| | | success.set(false); |
| | | message = "éæç³»ç»ï¼ã"+systemCode+"ãæ§è¡éæå¤±è´¥:" + e.getMessage(); |
| | | msg ="éæç³»ç»ï¼ã"+systemCode+"ãæ§è¡éæå¤±è´¥" + e.getMessage(); |
| | | //ç»ç»è¿åç»æ |
| | | boolean finalSuccess = success.get(); |
| | | String finalMessage = message; |
| | | masterDataList.stream().forEach(masterData -> { |
| | | Map<String, String> dataMap = VciBaseUtil.objectToMapString(masterData); |
| | | ResultMdMapping resultMdMapping = new ResultMdMapping(); |
| | | resultMdMapping.setBusiDataId(dataMap.getOrDefault("id","")); |
| | | resultMdMapping.setSuccess(finalSuccess); |
| | | resultMdMapping.setEntityCode(" "); |
| | | resultMdMapping.setMdmCode(dataMap.getOrDefault(currentClassifyConfig.get(),"")); |
| | | resultMdMapping.setMessage(finalMessage); |
| | | resultMdMapping.setSubMdMappings(null); |
| | | }); |
| | | } finally { |
| | | mdmResultData.setMessage(message); |
| | | mdmResultData.setSuccess(success.get()); |
| | | mdmResultData.setMdMappings(resultMdMappingList); |
| | | //Object object = JSONObject.toJSON(resultOrgData); |
| | | } |
| | | String resultStr = JSONObject.toJSONString(mdmResultData); |
| | | String data = JSONObject.toJSONString(mdmParamData); |
| | | try { |
| | | //è®°å½æ¥å¿ |
| | | this.saveLogs(systemCode, systemCode, data, resultStr, success.get(), msg, "syncDataForMDM"); |
| | | } catch (Throwable e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return mdmResultData; |
| | | } |
| | | private List<ClientBusinessObject> ChangeMapTOClientBusinessObjects(List<Map<String,String>> oldDataMap){ |
| | | List<ClientBusinessObject> clientBusinessObjectList=new ArrayList<>(); |
| | | DefaultAttrAssimtUtil.mapToLowerCase(oldDataMap,true); |
| | | final BladeUser user = AuthUtil.getUser(); |
| | | oldDataMap.stream().forEach(dataMap->{ |
| | | ClientBusinessObject clientBusinessObject=new ClientBusinessObject(); |
| | | DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject,false,user); |
| | | for (String key:dataMap.keySet()){ |
| | | Object value= dataMap.getOrDefault(key,""); |
| | | clientBusinessObject.setAttributeValue(key.toLowerCase(Locale.ROOT),value==null?"":value.toString()); |
| | | } |
| | | clientBusinessObjectList.add(clientBusinessObject); |
| | | }); |
| | | return clientBusinessObjectList; |
| | | } |
| | | /*** |
| | | * æ¥è¯¢æ ¡éªåç±»ä¿¡æ¯ |
| | | * @param classfyVO |
| | | */ |
| | | private CodeClassifyVO getClassfy(ClassfyVO classfyVO,String libray) throws Throwable{ |
| | | CodeClassifyVO classifyVO = new CodeClassifyVO(); |
| | | try { |
| | | String classCode = classfyVO.getClassCode(); |
| | | String className = classfyVO.getFullclsfNamePath(); |
| | | //æ ¹æ®åç±»ä»£å·æ¥è¯¢åç±»ä¿¡æ¯ |
| | | if (StringUtils.isNotBlank(classfyVO.getClassCode())) { |
| | | Map<String, String> conditionMap = new HashMap<>(); |
| | | List<CodeClassify> codeClassifyList = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId, classCode)); |
| | | final CodeClassify[] newCodeClassify = {new CodeClassify()}; |
| | | if (!CollectionUtils.isEmpty(codeClassifyList)) { |
| | | codeClassifyList.stream().forEach(codeClassify -> { |
| | | CodeClassifyVO codeClassifyVO= classifyService.getTopClassifyVO(codeClassify.getOid()); |
| | | if(codeClassifyVO.getId().toUpperCase(Locale.ROOT).equals(libray.toUpperCase(Locale.ROOT))){ |
| | | newCodeClassify[0] =codeClassify; |
| | | } |
| | | }); |
| | | classifyVO = new CodeClassifyVO(); |
| | | BeanUtilForVCI.copyPropertiesIgnoreCase(newCodeClassify[0], classifyVO); |
| | | //å°DTO转æ¢ä¸ºDO |
| | | if(StringUtils.isBlank(classifyVO.getOid())){ |
| | | throw new Throwable("ç³è¯·ç¼ç çåç±»ï¼ã"+classCode+"ãä¸å±äºåºèç¹ã"+libray+"ãï¼è¯·æ£æ¥åæ°åç±»èç¹/åºèç¹ä¿¡æ¯æ¯å¦å¹é
"); |
| | | } |
| | | }else{ |
| | | throw new Throwable("æ ¹æ®åç±»ä»£å·æªæ¥è¯¢å°ç¸åºçå类信æ¯"); |
| | | } |
| | | } else { |
| | | classifyVO = classifyService.getObjectByClsfNamePath(className.replace(separator, "/")); |
| | | if(StringUtils.isBlank(classifyVO.getOid())){ |
| | | throw new Throwable("æ ¹æ®åç±»åç§°è·¯å¾æªæ¥è¯¢å°ç¸åºçå类信æ¯"); |
| | | } |
| | | } |
| | | }catch (Throwable e){ |
| | | objerrorCode="100"; |
| | | throw new Throwable("è·åå类信æ¯å¤±è´¥:"+e.getMessage()); |
| | | } |
| | | return classifyVO; |
| | | } |
| | | public void getConfigDatas(String systemId,String libray, ApplyDatasVO applyDatasVO,List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOList,DataObjectVO dataObjectVO) throws Throwable { |
| | | |
| | | LinkedHashMap<String,LinkedHashMap<String,String>> dataKeyValueMap=new LinkedHashMap<>(); |
| | | //妿尿°æ®è½¬æ¢ææéè¦çæ°æ®å¯¹è±¡ |
| | | Map<String, String> attrMapConfigMap=new HashMap<>(); |
| | | Map<String, String> propMaps=new HashMap<>(); |
| | | log.info("å¼å§è¯»åç³»ç»é
ç½®æä»¶ start"); |
| | | Map<String, String> stringStringMap=attributeMapConfig.getSystem_attrmap(); |
| | | log.info("éæç³»ç»å±æ§æ å°é
ç½®æä»¶æ¡ç®æ°-ã"+stringStringMap.size()); |
| | | if(!CollectionUtils.isEmpty(stringStringMap)) { |
| | | List<LibraryClsfDO> libraryClsfDOList=new ArrayList<>(); |
| | | try { |
| | | log.info("infoï¼éè¦è¯»åé
ç½®æä»¶"); |
| | | LibraryDO libraryDO = gennerAttrMapUtil.getNewInstance().gennerAttrMapBySystem(systemId, stringStringMap); |
| | | libraryClsfDOList = libraryDO.getClsf(); |
| | | } catch (Throwable e) { |
| | | objerrorCode = "1"; |
| | | e.printStackTrace(); |
| | | throw new Throwable("éæç³»ç»æ è¯ä¸ºï¼ã" + systemId + "ãï¼åç±»åºä¸º:ã" + libray + "ãçéæå±æ§é
ç½®æä»¶è¯»å失败"); |
| | | } |
| | | // String path = stringStringMap.get(systemId); |
| | | // 忽ç¥key大å°åï¼è·åé
ç½®çæ å°æä»¶è·¯å¾ |
| | | String path = VciBaseUtil.getMapStrValueIgnoreCase(stringStringMap,systemId); |
| | | if (!CollectionUtils.isEmpty(libraryClsfDOList)) { |
| | | Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2)); |
| | | log.info("æ ¹æ®åæ°ï¼librayï¼-ã" + libray + "ä»é
ç½®æä»¶ä¸æ¾å¯¹åºå±æ§æ å°é
ç½®"); |
| | | if (libPropMaps.containsKey(libray.toUpperCase(Locale.ROOT))) { |
| | | log.info("æ ¹æ®åæ°ï¼librayï¼-ã" + libray + "å¹é
å°ç¸åºç屿§æ å°ä¿¡æ¯"); |
| | | List<ClsfAttrMappingDO> clsfAttrMappingDOList = libPropMaps.get(libray.toUpperCase(Locale.ROOT)); |
| | | propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2)); |
| | | log.info("æ ¹æ®åæ°ï¼librayï¼-ã" + libray + "å¹é
å°ç¸åºç屿§æ å°ä¿¡æ¯,屿§æ å°æ¡ç®æ°+" + clsfAttrMappingDOList.size()); |
| | | } else { |
| | | objerrorCode = "1"; |
| | | throw new Throwable("æ ¹æ®ç³»ç»æ è¯ã" + systemId + "ãæ¾å°å¯¹åºçé
ç½®æä»¶:ã" + path + "ãï¼ä½æªè·åå°å¯¹åºçåºã" + libray + "ã屿§æ å°ä¿¡æ¯é
ç½®"); |
| | | } |
| | | }else{ |
| | | objerrorCode = "1"; |
| | | throw new Throwable("æ ¹æ®ç³»ç»æ è¯ã" + systemId + "ãæ¾å°å¯¹åºçé
ç½®æä»¶:ã" + path + "ãï¼ä½æªè·åå°å¯¹åºçåºã" + libray + "ã屿§æ å°ä¿¡æ¯é
ç½®"); |
| | | } |
| | | }else{ |
| | | objerrorCode = "1"; |
| | | throw new Throwable("æªè·åå°éæå±æ§æ å°ç³»ç»é
置信æ¯"); |
| | | } |
| | | log.info("æ ¹æ®åæ°ï¼librayï¼-ã"+libray+"ä»é
ç½®æä»¶ä¸æ¾å¯¹åºå±æ§æ å°é
ç½® end "); |
| | | LinkedList<String> rowNameList=new LinkedList<>(); |
| | | LinkedHashMap<String,Integer> filedIndexMap=new LinkedHashMap<>(); |
| | | //æ ¹æ®å类模æ¿ç»ç»æ°æ® |
| | | final int[] index = {0}; |
| | | try { |
| | | //é¤å»é»è®¤ç屿§.è¿æåªæå
·æå类注å
¥çæè¿æ»¤åºæ¥ |
| | | codeClassifyTemplateAttrVOList = codeClassifyTemplateAttrVOList.stream().filter( |
| | | s ->!DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && |
| | | ((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag())) |
| | | ).collect(Collectors.toList()); |
| | | codeClassifyTemplateAttrVOList.stream().forEach(codeClassifyTemplateAttrVO -> { |
| | | String attrName = codeClassifyTemplateAttrVO.getName(); |
| | | String field = codeClassifyTemplateAttrVO.getId(); |
| | | rowNameList.add(attrName); |
| | | filedIndexMap.put(field, index[0]++); |
| | | }); |
| | | dataObjectVO.setColName(rowNameList);//æ¾å
¥å±æ§ |
| | | attrMapConfigMap.putAll(propMaps); |
| | | LinkedList<RowDatas> rowDataList = new LinkedList<>(); |
| | | List<ApplyDataVO> applyDataVOList=new ArrayList<>(); |
| | | |
| | | if(!CollectionUtils.isEmpty(applyDatasVO.getObject())){ |
| | | applyDataVOList=applyDatasVO.getObject(); |
| | | } |
| | | //Map<String, List<ProppertyVO>> dataPropMap = applyDataVOList.stream().collect(Collectors.toMap(ApplyDataVO::getId, ApplyDataVO::getProp, (key1, key2) -> key2)); |
| | | final int[] rowIndex = {0}; |
| | | applyDataVOList.stream().forEach(applyDataVO -> { |
| | | rowIndex[0]++; |
| | | RowDatas rowDatas = new RowDatas(); |
| | | rowDatas.setOid(applyDataVO.getId()); |
| | | rowDatas.setCreator(applyDataVO.getCreator()); |
| | | rowDatas.setEditor(applyDataVO.getEditor()); |
| | | rowDatas.setCode(applyDataVO.getCode()); |
| | | rowDatas.setOperation(applyDataVO.getOperate()); |
| | | rowDatas.setStatus(applyDataVO.getStatus()); |
| | | rowDatas.setRowIndex(rowIndex[0] + ""); |
| | | List<ProppertyVO> proppertyVOList = applyDataVO.getProp(); |
| | | |
| | | LinkedHashMap<Integer, String> integerValueMap = new LinkedHashMap<>(); |
| | | Map<String, String> filedValueMap = new HashMap<>(); |
| | | if (!CollectionUtils.isEmpty(proppertyVOList)) { |
| | | Map<String, String> sourceKeyValueMap = proppertyVOList.stream().collect(Collectors.toMap(ProppertyVO::getKey, ProppertyVO::getValue, (key1, key2) -> key2)); |
| | | Map<String, String> keyValueMap = new HashMap<>(); |
| | | //夿attrMapConfigMapæ¯å¦æå¼ï¼å¦ææ²¡æå说æåºç¡é»è®¤çæ¯ç¼ç ç³»ç»å段 |
| | | if (!CollectionUtils.isEmpty(attrMapConfigMap)) { |
| | | sourceKeyValueMap.keySet().forEach(sourceKey -> { |
| | | String dataValue = sourceKeyValueMap.get(sourceKey); |
| | | if (attrMapConfigMap.containsKey(sourceKey)) { |
| | | String targetKey = attrMapConfigMap.get(sourceKey); |
| | | keyValueMap.put(targetKey, StringUtils.isBlank(dataValue)?"":dataValue); |
| | | } |
| | | }); |
| | | } else { |
| | | sourceKeyValueMap.forEach((filed,value)->{ |
| | | keyValueMap.put(filed,StringUtils.isBlank(value)?"":value) ; |
| | | }); |
| | | } |
| | | |
| | | filedIndexMap.forEach((attrKey, column) -> { |
| | | String keyValue = ""; |
| | | if (keyValueMap.containsKey(attrKey)) { |
| | | keyValue =StringUtils.isBlank(keyValueMap.get(attrKey))?"":keyValueMap.get(attrKey); |
| | | } |
| | | integerValueMap.put(column, keyValue); |
| | | filedValueMap.put(attrKey, keyValue); |
| | | }); |
| | | } |
| | | rowDatas.setData(integerValueMap); |
| | | rowDatas.setFiledValue(filedValueMap); |
| | | rowDataList.add(rowDatas); |
| | | }); |
| | | dataObjectVO.setRowData(rowDataList); |
| | | }catch (Throwable e){ |
| | | objerrorCode="1"; |
| | | throw new Throwable("ç»ç»æ°æ®æ å°å¼å¤±è´¥"); |
| | | } |
| | | } |
| | | /*private void codeValueList(List<CodeBasicSecVO> secVOList,String codeseclengthfield ){ |
| | | if(StringUtils.isNotBlank(codeseclengthfield)) { |
| | | |
| | | String[] secLengths = codeseclengthfield.split("#"); |
| | | for (int i = 0; i < secLengths.length; i++) { |
| | | CodeBasicSecVO secVO = secVOList.get(i); |
| | | String thisSecValue = ""; |
| | | *//*if(i == 0){ |
| | | thisSecValue = seclenghStr.contains("#")?code.substring(0,VciBaseUtil.getInt(secLengths[i])):code; |
| | | } else if(i == secLengths.length-1){ |
| | | //æå |
| | | thisSecValue = seclenghStr.contains("#")?code.substring(VciBaseUtil.getInt(secLengths[i-1]),code.length()):code; |
| | | }else {*//* |
| | | int start = 0; |
| | | for (int j = 0; j < i; j++) { |
| | | start += VciBaseUtil.getInt(secLengths[j]); |
| | | } |
| | | thisSecValue = code.substring(start, start + VciBaseUtil.getInt(secLengths[i])); |
| | | // } |
| | | if (VciBaseUtil.getBoolean(secVO.getSerialDependFlag())) { |
| | | serialUnitList.add(thisSecValue); |
| | | serialSecOidIndexMap.put(secVO.getOid(), i); |
| | | } |
| | | if (CODE_SERIAL_SEC.getValue().equalsIgnoreCase(secVO.getSecType())) { |
| | | serialValueMap.put(secVO.getOid(), thisSecValue); |
| | | } |
| | | codeValueList.add(thisSecValue); |
| | | } |
| | | }else{ |
| | | |
| | | } |
| | | }*/ |
| | | /*** |
| | | * æ ¡éªæ¯å¦åäºé
ç½® |
| | | * @param systemId,ç³»ç»æ è¯ |
| | | * @param type:æ¥å£ç±»å |
| | | * @param operationType:æ¥å£æä½ç±»å |
| | | * @return |
| | | */ |
| | | private DockingSystemConfig checkIspass(String systemId,String type,String operationType,String classOid){ |
| | | log.info("systemIdï¼"+systemId+",type:"+SysIntegrationDataFlowTypeEnum.getTextByValue(type)+",operationType:"+sysIntegrationPushTypeEnum.getTextByValue(operationType)+",classOid:"+classOid); |
| | | //CodeClassifyVO codeClassifyVO= classifyService.getObjectByOid(classOid); |
| | | List<CodeClassify> codeClassifyList= classifyService.selectAllLevelParentByOid(classOid); |
| | | List<String> classifyOids=new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(codeClassifyList)) { |
| | | classifyOids = codeClassifyList.stream().map(CodeClassify::getOid).collect(Collectors.toList()); |
| | | }else{ |
| | | return null; |
| | | } |
| | | //classOid=codeClassifyVO.getOid(); |
| | | //æ ¹æ®ç±»å廿¥è¯¢éè¦éæçåç±»æè
æ°æ® |
| | | LambdaQueryWrapper<DockingSystemConfig> queryWrapper = Wrappers.<DockingSystemConfig>lambdaQuery(); |
| | | queryWrapper.eq(DockingSystemConfig::getUsedFlag, MdmDuckingConstant.SEND_FLAG_TRUE); |
| | | queryWrapper.eq(DockingSystemConfig::getSysBaseId,systemId); |
| | | queryWrapper.eq(DockingSystemConfig::getDataFlowType,type); |
| | | queryWrapper.eq(DockingSystemConfig::getPushType,operationType); |
| | | if(StringUtils.isNotBlank(classOid)){ |
| | | queryWrapper.in(DockingSystemConfig::getClassifyOid,classifyOids); |
| | | } |
| | | List<DockingSystemConfig> dockingSystemConfigList=new ArrayList<>(); |
| | | dockingSystemConfigList= dockingSystemConfigList=dockingSystemConfigService.list(queryWrapper); |
| | | if(!CollectionUtils.isEmpty(dockingSystemConfigList)){ |
| | | return dockingSystemConfigList.get(0); |
| | | }else{ |
| | | return null; |
| | | } |
| | | } |
| | | /*** |
| | | * è®°å½æ¥å¿ä¿¡æ¯ |
| | | * @param systemId |
| | | * @param parmaData |
| | | * @param result |
| | | * @return |
| | | */ |
| | | private void saveLogs(String systemId,String systemName,String parmaData, String result,boolean isSucess,String msg,String operation){ |
| | | //è®°å½æ¥å¿ä¿¡æ¯ |
| | | DockingLog dockingLoge=new DockingLog(); |
| | | //String oid=redisService.getUUIDEveryDay(); |
| | | dockingLoge.setSystemCode(StringUtils.isBlank(systemId)?"-":systemId);//è®¾ç½®ç³»ç»æ è¯ |
| | | dockingLoge.setSystemName(StringUtils.isBlank(systemName)?"-":systemName); |
| | | dockingLoge.setMsg(msg);//æ¥å¿æ¶æ¯ |
| | | dockingLoge.setClassifyId("-");//åç±»ç¼å· |
| | | dockingLoge.setClassifyName("-");//åç±»åç§° |
| | | dockingLoge.setClassifyOid("-");//åç±»ä¸»é® |
| | | dockingLoge.setUniqueCode("-");//å¯ä¸æ è¯ |
| | | dockingLoge.setSystemOid("-");//ç³»ç»æ è¯ |
| | | // dockingLogeDO.setName(operation); |
| | | //dockingLogeDO.setOid(oid);//æ¥å¿ä¸»é® |
| | | dockingLoge.setParamString(parmaData);//åæ°ä¿¡æ¯ |
| | | dockingLoge.setReturnString(result);//è¿åä¿¡æ¯ |
| | | dockingLoge.setType(operation);//æ¥å¿æä½ç±»å |
| | | dockingLoge.setCreateTime(new Date()); |
| | | if(isSucess) { |
| | | dockingLoge.setInterfaceStatus("true");//æ¥å£éæç¶æ |
| | | }else{ |
| | | dockingLoge.setInterfaceStatus("false");//æ¥å£éæç¶æ |
| | | } |
| | | dockingLogeService.save(dockingLoge); |
| | | log.info("éææ¨éæ°æ®,systemId:"+systemId+",systemname:"+systemName+",operation:"+operation+",param:"+parmaData); |
| | | } |
| | | } |