Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/MdmSearchItemCodeProvider.java
@@ -26,5 +26,5 @@ * @return 执行结果 */ @PostMapping("/api/pp/pp/ext/extend/v1.0/getppModelByElem") SearchItemVO getppModelByElem(@RequestParam Map<String,String> searchDataMap); SearchItemVO getppModelByElem(@RequestBody SearchItemParam searchItemParam); } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyTemplateAttrVO.java
@@ -1,5 +1,6 @@ package com.vci.ubcs.code.vo.pagemodel; import com.baomidou.mybatisplus.annotation.TableField; import com.vci.ubcs.starter.revision.model.BaseModel; import lombok.Data; @@ -73,6 +74,11 @@ private String sysonymRuleOids; /** * 近义词查询规则显示值 */ private String sysonymRuleOidsText; /** * 是否排序 */ private String sortAttrFlag; Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java
@@ -702,7 +702,7 @@ for (DockingClassifyViewVO viewInfo : list) { String viewName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(viewInfo.getViewName())?"":viewInfo.getViewName(); String impactList = viewInfo.getImpactList() == null ? "" : viewInfo.getImpactList().get(0).get(0); String impactList = viewInfo.getImpactList() == null ? "" : viewInfo.getImpactList().get(0)==null||viewInfo.getImpactList().get(0).size()==0?"":viewInfo.getImpactList().get(0).get(0); log.info("VilewMode:-------------->视图名称:"+viewName); log.info("VilewMode:-------------->影响编码项:"+impactList); log.info("VilewMode:--------------> 集团分类主键:"+jclassId); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
@@ -1,15 +1,14 @@ package com.vci.ubcs.code.controller; import com.vci.ubcs.code.service.UniversalInterfaceI; import com.vci.ubcs.code.vo.webserviceModel.person.PersonData; import com.vci.ubcs.code.vo.webserviceModel.person.ResultOrgData; import org.apache.tools.ant.taskdefs.condition.Http; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springblade.core.tool.api.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import javax.servlet.ServletRequest; import javax.servlet.http.HttpServletRequest; @@ -157,6 +156,27 @@ return result; } /**** * 人员集成接口 * @param personData 数据信息 * @return * @throws Throwable */ @PostMapping("/syncDataForPerson") public ResultOrgData syncDataForPerson(@RequestBody PersonData personData){ ResultOrgData result = new ResultOrgData(); try { result= universalInterfaceI.syncDataForPerson(personData); }catch (Throwable e){ e.printStackTrace(); logger.error("ResultOrgData->"+e.getMessage()); } return result; } /** * 设置request,到ThreadLocal中 * @param request @@ -167,6 +187,7 @@ universalInterfaceI.setThreadLocal(threadLocal); } /*** * * @param dataString Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
@@ -190,4 +190,11 @@ */ List<CodeClassify> selectLeafByParentClassifyOid(@Param("topOid") String topOid,@Param("currentOid")String currentOid); /** * 根据顶层节点oid查询所有叶子节点分类oid * @param pid * @return */ List<CodeClassify> selectLeafByPid(@Param("pid") String pid); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -316,4 +316,12 @@ * 流水依赖生成 */ R flowingDependencyGen(String classifyOid); /** * 根据顶层节点oid查询所有叶子节点分类oid * @param pid * @return */ String selectLeafByPid(String pid); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeSynonymService.java
@@ -16,6 +16,9 @@ */ package com.vci.ubcs.code.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.entity.CodeSynonym; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; @@ -67,4 +70,11 @@ */ List<CodeClassifyTemplateAttrVO> listUseRangeInClsTempAttr(String oid); /** * 根绝wrapper查询近义词查询规则 * @param wrappers * @return */ String selectNameByWrapper(LambdaQueryWrapper<CodeSynonym> wrappers); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -749,6 +749,24 @@ } /** * 根据顶层节点oid查询所有叶子节点分类oid * @param pid * @return */ @Override public String selectLeafByPid(String pid) { List<CodeClassify> codeClassifies = codeClassifyMapper.selectLeafByPid(pid); if(codeClassifies.isEmpty()){ return ""; } String oids = codeClassifies.stream() .map(CodeClassify::getOid) .map(s ->s) .collect(Collectors.joining(","));; return oids; } /** * 流水依赖生成 */ @Override Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -3,8 +3,10 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -13,14 +15,17 @@ import com.vci.ubcs.code.entity.CodeClassify; import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; import com.vci.ubcs.code.entity.CodeClassifyTemplate; import com.vci.ubcs.code.entity.CodeSynonym; import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum; import com.vci.ubcs.code.mapper.CodeClassifyTemplateAttrMapper; import com.vci.ubcs.code.mapper.CodeClassifyTemplateMapper; import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; import com.vci.ubcs.code.service.ICodeReferConfigService; import com.vci.ubcs.code.service.ICodeSynonymService; import com.vci.ubcs.code.service.ICodeTempphaseService; import com.vci.ubcs.code.vo.CodeReferConfigVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeSynonymVO; import com.vci.ubcs.code.vo.pagemodel.UIFormReferVO; import com.vci.ubcs.code.wrapper.CodeClassifyTemplateAttrWrapper; import com.vci.ubcs.omd.feign.IBtmTypeClient; @@ -97,6 +102,10 @@ */ @Resource private IBtmTypeClient btmTypeClient; @Resource @Lazy private ICodeSynonymService codeSynonymService; /** * 查询所有的主题库分类的模板属性 @@ -213,6 +222,14 @@ BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,vo); //如果有lcstatus的类的话 vo.setAttributeDataTypeText(VciFieldTypeEnum.getTextByValue(vo.getAttributeDataType())); if(Func.isNotBlank(codeClassifyTemplateAttrDO.getSysonymRuleOids())){ vo.setSysonymRuleOidsText( codeSynonymService.selectNameByWrapper( Wrappers.<CodeSynonym>query() .lambda().in(CodeSynonym::getOid, Func.toStrList(",", codeClassifyTemplateAttrDO.getSysonymRuleOids())) ) ); } } return vo; } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; import com.vci.ubcs.code.Scheduling.NonWebRequestAttributes; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.constant.MdmDuckingConstant; import com.vci.ubcs.code.dto.CodeOrderDTO; @@ -287,7 +286,9 @@ searchItemParam.setLastchangedon(lastchangedon); searchItemParam.setStatus(itemStatus);// Map<String,String>searchDataMap= VciBaseUtil.objectToMapString(searchItemParam); SearchItemVO searchItemVO= mdmSearchItemCodeProvider.getppModelByElem(searchDataMap); try { paramString=JSONObject.toJSON(searchItemParam).toString(); SearchItemVO searchItemVO = mdmSearchItemCodeProvider.getppModelByElem(searchItemParam); /*SearchItemVO searchItemVO=new SearchItemVO(); List<SearchItemDataVO> data=new ArrayList<>(); SearchItemDataVO searchItemDataVO1=initData("1","","pro-00001"); @@ -426,9 +427,9 @@ Object backObject = JSONObject.toJSON(allResultDataObjectDetailDOS); backString=Func.isEmpty(backObject)?"":backObject.toString(); } } catch (Throwable e){ e.printStackTrace();; } catch (Throwable e) { e.printStackTrace(); ; log.error("查询失败--->"+e); success=false; backString="查询失败--->"+e; @@ -443,6 +444,24 @@ log.error(e.getMessage()); throw new VciBaseException(e.getMessage()); } } }else{ throw new Throwable("接口未返回信息"); } }catch (Throwable e1){ e1.printStackTrace(); log.error("查询失败--->" + e1); //paramString=""; success = false; backString = "查询失败--->" + e1; msg = "查询失败--->" + e1; try { //记录日志 this.saveLogs(systemId, systemId, paramString, backString, success, msg, "queryData"); } catch (Throwable e) { e.printStackTrace(); log.error(e.getMessage()); throw new VciBaseException(e.getMessage()); } } } @@ -723,27 +742,33 @@ } Map<String ,List<DockingSystemConfig>> sysIntInfoDOMap = new HashMap<>();//key=classifyoid,value=list<map> for (DockingSystemConfig dockingSystemConfig:dockingSystemConfigList){ List<DockingSystemConfig> dockingSystemList = sysIntInfoDOMap.get(dockingSystemConfig.getClassifyOid()); if(dockingSystemList==null){ String classifyOid= dockingSystemConfig.getClassifyOid(); String codeclassifOid=codeClassifyService.selectLeafByPid(classifyOid); List<String> codeList= VciBaseUtil.str2List(codeclassifOid); codeList.stream().forEach(oid -> { List<DockingSystemConfig> dockingSystemList = sysIntInfoDOMap.get(oid); if(Func.isEmpty(dockingSystemList)){ dockingSystemList = new ArrayList<>(); } dockingSystemList.add(dockingSystemConfig); sysIntInfoDOMap.put(dockingSystemConfig.getClassifyOid(),dockingSystemList); sysIntInfoDOMap.put(oid,dockingSystemList); }); } sysIntInfoDOMap.forEach((classifyOid,effectiveSysIntInfoVOs)->{ //根据类型去查询需要集成的分类或者数据 LambdaQueryWrapper<DockingData> queryWrapper = Wrappers.<DockingData>lambdaQuery(); queryWrapper.eq(DockingData::getSendFlag,"false"); if(type==2){ queryWrapper.eq(DockingData::getBtmId,DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT)); queryWrapper.eq(DockingData::getBtmId,DOCKING_DEFAULT_CLASSIFY); }else { queryWrapper.notIn(DockingData::getBtmId,DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT)); queryWrapper.ne(DockingData::getBtmId,DOCKING_DEFAULT_CLASSIFY); queryWrapper.eq(DockingData::getClassifyOid,classifyOid); } List<DockingData> dataList = dockingDataService.list(queryWrapper); for (DockingData mapi:dataList){ WebUtil.setPersistence(false); String dataoid = mapi.getOid();//data对象的oid String classifyoid = mapi.getClassifyOid(); String dataClassifyOid = mapi.getClassifyOid(); String id = mapi.getId(); String uniquecode = mapi.getUniqueCode(); String btmid = mapi.getBtmId(); @@ -752,13 +777,15 @@ String classifyid = mapi.getClassifyId(); String classifyname = mapi.getClassifyName(); String curentClassOid=null; if(type==2){ if(!dataClassifyOid.equals(classifyOid)){ continue; } /*if(type==2){ curentClassOid=btmoid; }else{ curentClassOid=classifyoid; } List<DockingSystemConfig> effectiveSysIntInfoVOs=new ArrayList<>(); //根据当前数据的id,查询获取哪些系统需要做集成 }*/ /*//根据当前数据的id,查询获取哪些系统需要做集成 List<CodeClassify> parentLeveDO= codeClassifyService.selectAllLevelParentByOid(curentClassOid); if(CollectionUtils.isEmpty(parentLeveDO)){ continue;//说明这个分类被删掉了,不做处理 @@ -774,7 +801,7 @@ //如果校验的系统接口信息不存在,则数据不不往信息里推送 if(CollectionUtils.isEmpty(effectiveSysIntInfoVOs)){ continue; } }*/ List<DockingTask> dockingTask_insert = new ArrayList<>(); for (DockingSystemConfig sysIntInfoVOi:effectiveSysIntInfoVOs){ DockingTask dockingTask = new DockingTask(); @@ -785,7 +812,7 @@ dockingTask.setBtmOid(btmoid);//数据oid dockingTask.setBtmId(btmid);//数据业务类型id dockingTask.setClassifyId(classifyid);//数据在分类id dockingTask.setClassifyOid(classifyoid);//数据所在分类oid dockingTask.setClassifyOid(dataClassifyOid);//数据所在分类oid dockingTask.setClassifyName(classifyname);//数据所在分类名称 dockingTask.setSendType(sendtype);//数据推送类型 dockingTask.setDataOid(dataoid); @@ -811,6 +838,8 @@ continue; } } }); } /*** Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java
@@ -17,6 +17,7 @@ package com.vci.ubcs.code.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -138,10 +139,21 @@ .selectAs(CodeClassifyTemplate::getName,CodeClassifyTemplateAttr::getClassifyTemplateOidName) .leftJoin(CodeClassifyTemplate.class,CodeTableNameEnum.PL_CODE_CLSTEMPLATE.getText(),CodeClassifyTemplate::getOid,CodeClassifyTemplateAttr::getClassifyTemplateOid) .like(CodeClassifyTemplateAttr::getSysonymRuleOids, oid); List<CodeClassifyTemplateAttr> voList = codeClassifyTemplateAttrService.selectByWrapper( mpjLambdaWrapper ); List<CodeClassifyTemplateAttr> voList = codeClassifyTemplateAttrService.selectByWrapper(mpjLambdaWrapper); return CodeClassifyTemplateAttrWrapper.build().listVO(voList); } @Override public String selectNameByWrapper(LambdaQueryWrapper<CodeSynonym> wrappers) { List<CodeSynonym> codeSynonymsList = codeSynonymMapper.selectList(wrappers); if(codeSynonymsList.isEmpty()){ return ""; } StringBuilder res = new StringBuilder(); codeSynonymsList.stream().forEach(item->{ res.append(item.getName()).append("(").append(item.getId()).append(")").append(","); }); return res.toString().replaceAll(",$", ""); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java
@@ -13,6 +13,7 @@ import org.springblade.core.log.exception.ServiceException; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.support.Kv; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.ObjectUtil; @@ -99,7 +100,7 @@ @Override public boolean pwdFreeLoginByBoolean(String userName, ServletRequest servletRequest) throws AuthenticationException { //进来先判断缓存中是否存在token // 请求来自己哪个ip地址 // 请求来自哪个ip地址 HttpServletRequest request = (HttpServletRequest) servletRequest; String ipAddr = request.getRemoteAddr(); // 先尝试从缓存当中取,存在就直接从缓存中获取 @@ -124,7 +125,7 @@ token2 = JwtUtil.getToken(authToken); user = this.getUser(token2); } //request.setAttribute("Blade-Auth",token); request.setAttribute("Blade-Auth",authToken); request.setAttribute("_BLADE_USER_REQUEST_ATTR_",user); return true; } Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -605,4 +605,26 @@ and oid != #{currentOid} </select> <!--根据顶层节点oid查询所有叶子节点分类oid--> <select id="selectLeafByPid" resultType="com.vci.ubcs.code.entity.CodeClassify"> select * from ( select oid, name, id, level lvl, isparticipatecheck, nvl((select 'N' from PL_CODE_CLASSIFY pcc1 where pcc.oid = pcc1.PARENTCODECLASSIFYOID and rownum < 2),'Y') is_leaf from PL_CODE_CLASSIFY pcc start with pcc.oid = #{pid} connect by pcc.PARENTCODECLASSIFYOID = prior oid ) plcls where is_leaf = 'Y' </select> </mapper>