| | |
| | | |
| | | import com.alibaba.nacos.common.utils.StringUtils; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; |
| | |
| | | import com.vci.ubcs.code.po.CodeClassifyPO; |
| | | import com.vci.ubcs.code.service.ICodeClassifyService; |
| | | import com.vci.ubcs.code.service.ICodeKeyAttrRepeatService; |
| | | import com.vci.ubcs.code.service.ICodeOsattributeService; |
| | | import com.vci.ubcs.code.service.ICodeRuleService; |
| | | import com.vci.ubcs.code.vo.CodeOsattributeVO; |
| | | import com.vci.ubcs.code.vo.CodeOsbtmtypeVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; |
| | | import com.vci.ubcs.omd.feign.IBtmTypeClient; |
| | | import com.vci.ubcs.omd.vo.BtmTypeVO; |
| | | import com.vci.ubcs.starter.bo.WriteExcelData; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.poi.bo.ReadExcelOption; |
| | |
| | | import com.vci.ubcs.starter.revision.model.TreeQueryObject; |
| | | import com.vci.ubcs.starter.revision.model.TreeWrapperOptions; |
| | | import com.vci.ubcs.starter.revision.service.RevisionModelUtil; |
| | | import com.vci.ubcs.starter.util.BladeTreeQueryObject; |
| | | import com.vci.ubcs.starter.util.LocalFileUtil; |
| | | import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.ubcs.starter.web.pagemodel.DataGrid; |
| | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springblade.core.cache.utils.CacheUtil; |
| | | import org.springblade.core.launch.constant.AppConstant; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import org.springblade.core.mp.support.Condition; |
| | | 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.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | |
| | | |
| | | @Resource |
| | | private CodeOsbtmtypeMapper codeOsbtmtypeMapper; |
| | | |
| | | @Resource |
| | | CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper; |
| | | private CodeOsbtmtypeattributeMapper codeOsbtmtypeattributeMapper; |
| | | |
| | | @Resource |
| | | ICodeRuleService ICodeRuleService; |
| | | private IBtmTypeClient btmTypeClient; |
| | | |
| | | /** |
| | | * 属性服务 |
| | | */ |
| | | // @Autowired |
| | | // private OsAttributeServiceI attributeService; |
| | | |
| | | /** |
| | | * 日志 |
| | |
| | | if(StringUtils.isBlank(oid)){ |
| | | throw new ServiceException("oid不能为空!"); |
| | | } |
| | | return !codeClassifyMapper.checkHasChild(oid.trim()); |
| | | return codeClassifyMapper.checkHasChild(oid.trim()); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除主题库分类 |
| | |
| | | return codeClassifyDO2VOs(codeClassifyDOList); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 使用主键集合查询数据对象 |
| | | * @param oidCollections 主键的集合 |
| | |
| | | } |
| | | return codeClassifyList; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 批量数据对象转换为显示对象 |
| | |
| | | return null; |
| | | } |
| | | |
| | | |
| | | // /** |
| | | // /** |
| | | // * 根据树形查询对象来查询数据对象 |
| | | // * |
| | | // * @param treeQueryObject 树形查询对象 |
| | |
| | | condition.put("pkbtmtype",topClassifyVO.getBtmtypeid()); |
| | | |
| | | List<CodeOsbtmtypeattributeEntity> unDefaultAttributes = codeOsbtmtypeattributeMapper.selectByMap(condition); |
| | | // List<OsBtmTypeAttributeVO> unDefaultAttributes = btmService. (topClassifyVO.getBtmtypeid()); |
| | | // List<OsBtmTypeAttributeVO> unDefaultAttributes = btmService. (topClassifyVO.getBtmtypeid()); |
| | | List<CodeOsattributeVO> attributeVOS = new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(unDefaultAttributes)){ |
| | | unDefaultAttributes.stream().forEach(attr->{ |
| | |
| | | attributeVO.setAttrlength(Short.valueOf(attr.getAttributelength())); |
| | | attributeVO.setBtmtypeid(attr.getReferbtmtypeid()); |
| | | attributeVO.setBtmtypename(attr.getReferbtmtypename()); |
| | | attributeVO.setAttributedatatypetext(attr.getReferbtmtypename()); |
| | | boolean add = true; |
| | | if(StringUtils.isNotBlank(id) && !attributeVO.getId().contains(id.replace("*",""))){ |
| | | add = false; |
| | |
| | | } |
| | | }); |
| | | } |
| | | // if(!CollectionUtils.isEmpty(attributeService.getDefaultAttributeVOs())){ |
| | | // attributeService.getDefaultAttributeVOs().stream().forEach(attr->{ |
| | | // if(!CollectionUtils.isEmpty(codeOsattributeService.getDefaultAttributeVOs())){ |
| | | // codeOsattributeService.getDefaultAttributeVOs().stream().forEach(attr->{ |
| | | // boolean add = true; |
| | | // if(StringUtils.isNotBlank(id) && !attr.getId().contains(id.replace("*",""))){ |
| | | // add = false; |
| | |
| | | * @throws VciBaseException 参数为空,数据不存在时会抛出异常 |
| | | */ |
| | | @Override |
| | | public CodeClassifyVO getObjectByOid(String oid) throws VciBaseException{ |
| | | public CodeClassifyVO getObjectByOid(String oid) throws VciBaseException{ |
| | | return codeClassifyDO2VO(selectByOid(oid)); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 主题库的树 |
| | | * 主题库的树,已经联调业务类型查询 |
| | | * |
| | | * @param treeQueryObject 树形查询对象 |
| | | * @return 主题库显示树 |
| | |
| | | treeQueryObject = new TreeQueryObject(); |
| | | } |
| | | if(treeQueryObject.getConditionMap() == null){ |
| | | treeQueryObject.setConditionMap(new HashMap<>()); |
| | | treeQueryObject.setConditionMap(new HashMap<String,String>()); |
| | | } |
| | | treeQueryObject.getConditionMap().put(PARENT_FIELD_NAME, "=null"); |
| | | return treeCodeClassify(treeQueryObject); |
| | | List<Tree> trees = treeCodeClassify(treeQueryObject); |
| | | treeQueryObject.getConditionMap().put("domain", AppConstant.APPLICATION_NAME_CODE); |
| | | BaseQueryObject baseQueryObject = new BaseQueryObject(); |
| | | baseQueryObject.setConditionMap(treeQueryObject.getConditionMap()); |
| | | List<BtmTypeVO> btmTypeVOS = btmTypeClient.getRef(baseQueryObject).getData(); |
| | | if(Func.isEmpty(btmTypeVOS) || Func.isEmpty(trees)){ |
| | | return null; |
| | | } |
| | | List<Tree> treeList = trees.stream().filter(tree -> btmTypeVOS.stream(). |
| | | anyMatch(btmType -> Objects.equals(tree.getAttributes().get("id"), btmType.getId()))).collect(Collectors.toList()); |
| | | return treeList; |
| | | } |
| | | |
| | | /** |
| | |
| | | CodeClassify classifyDO = selectByOid(codeClassifyOid); |
| | | //查询上级 |
| | | fullInfo.setCurrentClassifyVO(codeClassifyDO2VO(classifyDO)); |
| | | List<Map<String, Object>> maps = codeClassifyMapper.selectAllLevelParentByOid(codeClassifyOid); |
| | | List<CodeClassify> codeClassifyList = new ArrayList<>(); |
| | | for (Map<String, Object> map : maps) { |
| | | CodeClassify codeClassify = new CodeClassify(); |
| | | codeClassify.setOid(String.valueOf(map.get("OID"))); |
| | | codeClassify.setOid(String.valueOf(map.get("LEVEL"))); |
| | | codeClassifyList.add(codeClassify); |
| | | } |
| | | // List<Map<String, Object>> maps = codeClassifyMapper.selectAllLevelParentByOid(codeClassifyOid); |
| | | // List<Map<String, Object>> maps = selectAllLevelParentByOid(codeClassifyOid); |
| | | List<CodeClassify> codeClassifyList = selectAllLevelParentByOid(codeClassifyOid); |
| | | // for (Map<String, Object> map : maps) { |
| | | // CodeClassify codeClassify = new CodeClassify(); |
| | | // codeClassify.setOid(String.valueOf(map.get("OID"))); |
| | | // codeClassify.setDataLevel((Integer) map.get("LEVEL")); |
| | | // codeClassifyList.add(codeClassify); |
| | | // } |
| | | |
| | | fullInfo.setParentClassifyVOs(codeClassifyDO2VOs(codeClassifyList)); |
| | | if(!CollectionUtils.isEmpty(fullInfo.getParentClassifyVOs())){ |
| | | fullInfo.setTopClassifyVO(fullInfo.getParentClassifyVOs().stream().filter(s->StringUtils.isBlank(s.getParentcodeclassifyoid())).findFirst().orElseGet(()->null)); |
| | | } |
| | | return fullInfo; |
| | | } |
| | | |
| | | /** |
| | | * 统计子节点的个数 |
| | | * |
| | | * @param codeClassifyOid 分类的主键 |
| | | * @return 个数 |
| | | */ |
| | | @Override |
| | | public int countChildrenByClassifyOid(String codeClassifyOid) { |
| | | // Map<String,String> conditionMap = new HashMap<>(); |
| | | // conditionMap.put("parentCodeClassifyOid",codeClassifyOid); |
| | | QueryWrapper<CodeClassify> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("parentCodeClassifyOid",codeClassifyOid); |
| | | return codeClassifyMapper.selectCount(wrapper).intValue(); |
| | | } |
| | | |
| | | } |