Source/UBCS-WEB/vue.config.js
@@ -26,8 +26,8 @@ proxy: { '/api': { //本地服务接口地址 target: 'http://localhost:37000', //target: 'http://192.168.3.7:37000', target: 'http://localhost:37000', // target: 'http://192.168.3.7:37000', //target: 'http://dev.vci-tech.com:37000', //target: 'http://192.168.1.51:37000/', //远程演示服务地址,可用于直接启动项目 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeClassifyClient.java
@@ -17,10 +17,18 @@ package com.vci.ubcs.code.feign; import com.vci.ubcs.code.entity.CodeClassify; import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.web.pagemodel.Tree; import org.springblade.core.mp.support.BladePage; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; /** * 主题库定义表 Feign接口类 @@ -35,6 +43,8 @@ String API_PREFIX = "/codeClass"; String TOP = API_PREFIX + "/top"; String CODE_CLASSIFY_TREE=API_PREFIX+"/referCodeClassifyTree"; String CODE_ATTRIBUTE_LIST=API_PREFIX+"/listCodeAttributeByClassId"; /** * 获取主题库定义表列表 @@ -46,4 +56,19 @@ @GetMapping(TOP) BladePage<CodeClassify> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size); /*** * 获取主题库分类层级树 * @param treeQueryObject * @return 主题库分类 */ @PostMapping(CODE_CLASSIFY_TREE) public List<Tree> referCodeClassifyTree(@RequestBody TreeQueryObject treeQueryObject); /*** * 获取主数据模板属性信息 * @param codeClassifyId * reutn 返回主数据模板属性信息 */ @GetMapping(CODE_ATTRIBUTE_LIST) public List<CodeClassifyTemplateAttrVO> listCodeAttributeByClassId(@RequestParam("codeClassifyId") String codeClassifyId); } Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java
@@ -27,7 +27,7 @@ private String name; //集团码 private String groupcode; //private String groupcode; private String description; @@ -342,13 +342,13 @@ this.lctid = lctid; } public String getGroupcode() { /* public String getGroupcode() { return this.groupcode; } public void setGroupcode(String groupcode) { this.groupcode = groupcode; } }*/ public Map<String, String> getData() { return this.data; Source/UBCS/ubcs-service-api/ubcs-webservice-api/src/main/java/com/vci/ubcs/code/webservice/entity/DockingPreMetaAttr.java
@@ -54,6 +54,7 @@ * 视图模型id */ @ApiModelProperty(value = "视图模型主键") @TableField(value = "viewModeId") private String viewModelId; /*** * 默认值 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeClassifyClient.java
@@ -19,15 +19,26 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.code.entity.CodeClassify; import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr; import com.vci.ubcs.code.mapper.CodeClassifyMapper; import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService; import com.vci.ubcs.code.service.MdmEngineService; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.web.pagemodel.Tree; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import com.vci.ubcs.code.service.ICodeClassifyService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; import java.util.List; /** * 主题库定义表 Feign实现类 @@ -41,7 +52,9 @@ public class CodeClassifyClient implements ICodeClassifyClient { private final ICodeClassifyService plCodeClassifyService; private final ICodeClassifyTemplateAttrService codeClassifyTemplateAttrService; private final MdmEngineService engineService; CodeClassifyMapper codeClassifyMapper; @Override @@ -54,4 +67,23 @@ return BladePage.of(page); } /*** * 获取主题库分类层级树 * @param treeQueryObject * @return 主题库分类 */ @Override @PostMapping(CODE_CLASSIFY_TREE) public List<Tree> referCodeClassifyTree(TreeQueryObject treeQueryObject) { return plCodeClassifyService.referTree(treeQueryObject); } @Override @GetMapping(CODE_ATTRIBUTE_LIST) public List<CodeClassifyTemplateAttrVO> listCodeAttributeByClassId(String codeClassifyId) { CodeClassifyTemplateVO codeClassifyTemplateVO=engineService.getUsedTemplateByClassifyOid(codeClassifyId,true); return codeClassifyTemplateVO.getAttributes(); } } Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/controller/DockingPreApplyCodeController.java
@@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.vci.ubcs.code.feign.ICodeClassifyClient; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.webservice.service.*; import com.vci.ubcs.code.webservice.vo.*; import com.vci.ubcs.code.webservice.wrapper.DockingPreApplyFormWrapper; @@ -61,6 +63,11 @@ private final IDockingPreApplyFormService dockingPreApplyFormService; /*** * 属性枚举范围服务 */ private final ICodeClassifyClient codeClassifyClient; /** * 根据主数据编码oid获取集团属性映射信息 @@ -120,13 +127,34 @@ /** * 参照树 集团分类(是否包含属性) * @param treeQueryObject 树形查询对象 conditionMap 存上 codeclsfid=主数据的分类oid * @return 主题库分类显示树 * @return 集团分类显示树 */ @GetMapping("/referTree") public List<Tree> referTree(TreeQueryObject treeQueryObject) { public List<Tree> referTree(@RequestBody TreeQueryObject treeQueryObject) { return dockingPreClassifyService.treeCompanyGroupClassify(treeQueryObject); } /** * 参照树 主数据分类 * @param treeQueryObject 树形查询对象 conditionMap 存上 codeclsfid=主数据的分类oid * @return 主题库分类显示树 */ @GetMapping("/referCodeClassifyTree") public List<Tree> referCodeClassifyTree(@RequestBody TreeQueryObject treeQueryObject) { return codeClassifyClient.referCodeClassifyTree(treeQueryObject); } /** * 参照树 主数据模板属性信息 * @param codeClassifyId 主数据分类主键 * @return 主题库分类模板属性 */ @GetMapping("/referCodeClassifyTree") public List<CodeClassifyTemplateAttrVO> listCodeAttributeByClassId(String codeClassifyId) { return codeClassifyClient.listCodeAttributeByClassId(codeClassifyId); } /*** * 申请集团编码 * @return Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/IDockingPreAttrMappingService.java
@@ -41,9 +41,10 @@ /*** *校验属性映射是否配置过 * @param targetClassifyId * @param sourceClassifyId * @return */ boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId); boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId,String sourceClassifyId); /*** * 属性查询 Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreAttrMappingServiceImpl.java
@@ -192,14 +192,15 @@ /*** * 根据主数据oid检测是否属性映射配置 * @param targetClassifyId * @param sourceClassifyId * @return * @throws Exception */ @Override public boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId){ public boolean checkHasConfigByTragetCodeclassifyId(String targetClassifyId,String sourceClassifyId){ Long count =0L; try { count = dockingPreAttrMappingMapper.selectCount(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, targetClassifyId)); count = dockingPreAttrMappingMapper.selectCount(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, targetClassifyId).eq(DockingPreAttrMapping::getSourceClassifyId,sourceClassifyId)); }catch (Throwable e){ e.printStackTrace();; } finally { Source/UBCS/ubcs-service/ubcs-webservice/src/main/java/com/vci/ubcs/code/webservice/service/impl/DockingPreClassifyServiceImpl.java
@@ -19,10 +19,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.*; /** @@ -36,7 +33,7 @@ /** * 上级节点的属性名称 */ public static final String PARENT_FIELD_NAME = "parentCodeClassifyOid"; public static final String PARENT_FIELD_NAME = "pid"; /*** * 集团分类属性 */ @@ -70,7 +67,11 @@ @Override public List<Tree> treeCompanyGroupClassify(TreeQueryObject treeQueryObject) { log.info("获取集团分类树start..."); Map<String,String> conditionMap= treeQueryObject.getConditionMap(); if(conditionMap==null){ conditionMap=new HashMap<>(); } TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME.toLowerCase(Locale.ROOT)); treeWrapperOptions.copyFromTreeQuery(treeQueryObject); List<DockingPreClassifyVO> dockingPreClassifyVOS= getCompanyGourpClassByParentId(treeQueryObject.getParentOid(),true); @@ -78,27 +79,39 @@ //可以在这里处理树节点的显示 return s.getId() + " " + s.getName();//(FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s.getLcStatus()) ? (" 【停用】 ") : ""); }); setTreeConig(tree,conditionMap); log.info("获取集团分类树end..."); return tree; } private void setTreeConig(List<Tree> tree,Map<String,String >conditionMap){ boolean checkHasChild=false; Iterator var6 = tree.listIterator(); while(var6.hasNext()){ Tree trees = (Tree) var6.next(); boolean checkHasChild=dockingPreClassifyMapper.checkHasChild(trees.getOid()); List<Tree> childrenList=trees.getChildren(); if(childrenList.size()>0){ checkHasChild=true; } boolean checkHas=false; //如果与条件传过来的值匹配的上则设置为选中 if(conditionMap.containsKey(MdmBtmTypeConstant.CODE_CLASSIFY_OID_FIELD)){ String codeClassifyId=conditionMap.get(MdmBtmTypeConstant.CODE_CLASSIFY_OID_FIELD); boolean checkHas=dockingPreAttrMappingService.checkHasConfigByTragetCodeclassifyId(codeClassifyId); if(checkHas) { trees.setChecked(true); } checkHas = dockingPreAttrMappingService.checkHasConfigByTragetCodeclassifyId(codeClassifyId, trees.getOid()); } ; if (checkHas) { trees.setChecked(true); } if(checkHasChild){ trees.setLeaf(false); }else{ trees.setLeaf(true); } if(checkHasChild) { setTreeConig(childrenList,conditionMap); } } log.info("获取集团分类树end..."); return tree; } /*** Source/UBCS/ubcs-service/ubcs-webservice/src/main/resources/mapper/DockingPreClassifyMapper.xml
@@ -67,14 +67,17 @@ codeclassify0.NODELINKNAME as nodelinkname, codeclassify0.PID as pid from PL_CODE_JCLASSIFY codeclassify0 <where> <!--<where>--> <if test="oid != null and oid != ''"> codeclassify0.pid = '${oid}' start with codeclassify0.pid = '${oid}' connect by prior codeclassify0.oid =codeclassify0.pid </if> <if test="oid = null"> <!-- <if test="oid = null"> codeclassify0.pid is null </if> </where> </if>--> <!--</where>--> order by id asc </select>