| | |
| | | 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.DefaultAttrAssimtUtil; |
| | | import com.vci.ubcs.starter.util.LocalFileUtil; |
| | | import com.vci.ubcs.starter.util.MdmBtmTypeConstant; |
| | | import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.ubcs.starter.web.pagemodel.DataGrid; |
| | | import com.vci.ubcs.starter.web.pagemodel.Tree; |
| | | import com.vci.ubcs.starter.web.util.BeanUtilForVCI; |
| | | import com.vci.ubcs.starter.web.util.LangBaseUtil; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import com.vci.ubcs.system.cache.NacosConfigCache; |
| | | import org.apache.poi.hssf.util.HSSFColor; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | @Resource |
| | | private IBtmTypeClient btmTypeClient; |
| | | |
| | | @Value("${user-info.tenant-id}") |
| | | private String tenantId; |
| | | @Resource |
| | | private NacosConfigCache nacosConfigCache; |
| | | |
| | | /** |
| | | * 日志 |
| | |
| | | |
| | | @Override |
| | | public IPage<CodeClassifyVO> selectPlCodeClassifyPage(IPage<CodeClassifyVO> page, CodeClassifyVO plCodeClassify) { |
| | | return page.setRecords(codeClassifyMapper.selectPlCodeClassifyPage(page, plCodeClassify)); |
| | | return page.setRecords(codeClassifyMapper.selectPlCodeClassifyPage(page, plCodeClassify,AuthUtil.getTenantId() |
| | | .equals( |
| | | nacosConfigCache |
| | | .getAdminUserInfo() |
| | | .getTenantId() |
| | | ) ? null:AuthUtil.getTenantId())); |
| | | } |
| | | |
| | | /** |
| | | * 主题库定义表 新增 |
| | | * @param |
| | | */ |
| | | @Override |
| | | public R addSave(CodeClassify codeClassifyEntity) { |
| | | |
| | | try { |
| | | VciBaseUtil.alertNotNull(codeClassifyEntity.getId(),"主题库编号不能为空!",codeClassifyEntity.getName(),"主题库名称不能为空!"); |
| | | }catch (VciBaseException e){ |
| | | return R.fail(e.getMessage()); |
| | | } |
| | | if(StringUtils.isNotBlank(codeClassifyEntity.getParentCodeClassifyOid()) && StringUtils.isNotBlank(codeClassifyEntity.getBtmTypeId())){ |
| | | return R.fail("只有在顶层的主题库分类才能设置业务类型"); |
| | | } |
| | | if(StringUtils.isEmpty(codeClassifyEntity.getParentCodeClassifyOid()) && StringUtils.isBlank(codeClassifyEntity.getBtmTypeId())){ |
| | | return R.fail("主题库关联的业务类型不能为空!"); |
| | | } |
| | | QueryWrapper<CodeClassify> classifyQueryWrapper = new QueryWrapper<>(); |
| | | classifyQueryWrapper.eq("parentCodeClassifyOid",codeClassifyEntity.getParentCodeClassifyOid()); |
| | |
| | | codeClassifyEntity.setBtmTypeId(codeClassify.getBtmTypeId()); |
| | | codeClassifyEntity.setBtmTypeName(codeClassify.getBtmTypeName()); |
| | | } |
| | | codeClassifyEntity.setCreator(String.valueOf(AuthUtil.getUser().getUserId())); |
| | | codeClassifyEntity.setCreateTime(new Date()); |
| | | codeClassifyEntity.setTs(new Date()); |
| | | codeClassifyEntity.setOwner(String.valueOf(AuthUtil.getUser().getUserId())); |
| | | codeClassifyEntity.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId())); |
| | | codeClassifyEntity.setLastModifyTime(new Date()); |
| | | codeClassifyEntity.setRevisionSeq(1); |
| | | codeClassifyEntity.setVersionSeq(1); |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyEntity, MdmBtmTypeConstant.CODE_CLASSIFY); |
| | | codeClassifyEntity.setLcStatus(FRAMEWORK_DATA_ENABLED); |
| | | int insertNumber = codeClassifyMapper.insert(codeClassifyEntity); |
| | | return R.status(SqlHelper.retBool(insertNumber)); |
| | | } |
| | |
| | | } |
| | | if(StringUtils.isNotBlank(id) || StringUtils.isNotBlank(lcStatus) ){ |
| | | doList = codeClassifyMapper |
| | | .selectCodeClassifyDOByTree(treeQueryObject.getConditionMap().get("id"),treeQueryObject.getConditionMap().get("lcStatus"),treeQueryObject.getParentOid(), AuthUtil.getTenantId().equals(this.tenantId) ? "":AuthUtil.getTenantId()); |
| | | .selectCodeClassifyDOByTree(treeQueryObject.getConditionMap().get("id"),treeQueryObject.getConditionMap().get("lcStatus"),treeQueryObject.getParentOid(), AuthUtil.getTenantId() |
| | | .equals( |
| | | nacosConfigCache |
| | | .getAdminUserInfo() |
| | | .getTenantId() |
| | | ) ? null:AuthUtil.getTenantId()); |
| | | }else{ |
| | | doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid(), AuthUtil.getTenantId().equals(this.tenantId) ? "":AuthUtil.getTenantId()); |
| | | doList =codeClassifyMapper.selectCodeClassifyVOByTree(treeQueryObject.getParentOid(), AuthUtil.getTenantId() |
| | | .equals( |
| | | nacosConfigCache |
| | | .getAdminUserInfo() |
| | | .getTenantId() |
| | | ) ? null:AuthUtil.getTenantId()); |
| | | } |
| | | List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); |
| | | TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME); |
| | |
| | | if(StringUtils.isNotBlank(libName)){ |
| | | libNameList=VciBaseUtil.str2List(libName); |
| | | } |
| | | List<CodeClassify> doList =codeClassifyMapper.getRMLibByName(libNameList,"Enabled",AuthUtil.getTenantId()); |
| | | List<CodeClassify> doList =codeClassifyMapper.getRMLibByName(libNameList,"Enabled",AuthUtil.getTenantId() |
| | | .equals( |
| | | nacosConfigCache |
| | | .getAdminUserInfo() |
| | | .getTenantId() |
| | | ) ? null:AuthUtil.getTenantId()); |
| | | List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList); |
| | | return voList; |
| | | } |
| | |
| | | Map<String, CodeRuleVO> ruleVOMap = new HashMap<>(); |
| | | if(!CollectionUtils.isEmpty(codeRuleOids)){ |
| | | VciBaseUtil.switchCollectionForOracleIn(codeRuleOids).stream().forEach(ruleOids->{ |
| | | // Collection<CodeRuleVO> ruleVOS = codeRuleService.listCodeRuleByOids(ruleOids); |
| | | Collection<CodeRuleVO> ruleVOS = null; |
| | | Collection<CodeRuleVO> ruleVOS = codeRuleService.listCodeRuleByOids(ruleOids); |
| | | // Collection<CodeRuleVO> ruleVOS = null; |
| | | ruleVOMap.putAll( Optional.ofNullable(ruleVOS).orElseGet(()->new ArrayList<>()).stream().collect(Collectors.toMap(s->s.getOid(),t->t))); |
| | | }); |
| | | } |
| | |
| | | excelDataList.add(new WriteExcelData(0,9,"状态")); |
| | | excelDataList.add(new WriteExcelData(0,10,"分类层级")); |
| | | excelDataList.add(new WriteExcelData(0,11,"描述")); |
| | | codeClassifyVOS = codeClassifyVOS.stream().sorted(Comparator.comparing(CodeClassifyVO::getDataLevel)).collect(Collectors.toList()); |
| | | for (int i = 0; i < codeClassifyVOS.size(); i++) { |
| | | CodeClassifyVO vo = codeClassifyVOS.get(i); |
| | | excelDataList.add(new WriteExcelData(i+1,0,vo.getId())); |
| | |
| | | Map<String,CodeKeyAttrRepeatRuleVO> keyRuleVOMap =Optional.ofNullable(keyOids.size()==0 ? null: iCodeKeyattrrepeatService.listCodeKeyAttrRepeatRuleByOids(keyOids) |
| | | ).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t,(o1,o2)->o2)); |
| | | |
| | | List<String> btmOids = poList.stream().filter(s -> StringUtils.isNotBlank(s.getKeyRepeatRuleId())) |
| | | List<String> btmOids = poList.stream().filter(s -> StringUtils.isNotBlank(s.getBtmTypeId())) |
| | | .map(CodeClassifyPO::getBtmTypeId).collect(Collectors.toList()); |
| | | Map<String, BtmTypeVO> btmVOMap = Optional |
| | | .ofNullable(btmOids.size()==0 ? null: btmTypeClient.selectByIdCollection(btmOids).getData()) |