| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO; |
| | | import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant; |
| | | import com.vci.ubcs.code.constant.MdmBtmTypeConstant; |
| | | import com.vci.ubcs.code.dto.CodeDeleteBatchDTO; |
| | | import com.vci.ubcs.code.dto.CodeOrderDTO; |
| | | import com.vci.ubcs.code.dto.datapush.BaseModelDTO; |
| | | import com.vci.ubcs.code.entity.*; |
| | | import com.vci.ubcs.code.enumpack.*; |
| | | import com.vci.ubcs.code.mapper.CodeWupinMapper; |
| | | import com.vci.ubcs.code.mapper.CommonsMapper; |
| | | import com.vci.ubcs.code.service.*; |
| | | import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO; |
| | | import com.vci.ubcs.code.vo.CodeReferConfigVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.UITablePageVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.*; |
| | | import com.vci.ubcs.flow.core.entity.ProcessStageAttr; |
| | | import com.vci.ubcs.flow.core.feign.IMDMIFlowAttrClient; |
| | | import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO; |
| | | import com.vci.ubcs.omd.constant.BtmTypeLcStatusConstant; |
| | |
| | | import com.vci.ubcs.starter.util.UBCSSqlKeyword; |
| | | import com.vci.ubcs.starter.web.constant.QueryOptionConstant; |
| | | import com.vci.ubcs.starter.web.constant.RegExpConstant; |
| | | import com.vci.ubcs.starter.web.constant.VciSystemVarConstants; |
| | | import com.vci.ubcs.starter.web.enumpck.BooleanEnum; |
| | | import com.vci.ubcs.starter.web.enumpck.UserSecretEnum; |
| | | import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; |
| | |
| | | * @date 2022-2-22 |
| | | */ |
| | | @Service |
| | | public class MdmEngineServiceImpl extends ServiceImpl<CodeWupinMapper, CodeWupin> implements MdmEngineService { |
| | | public class MdmEngineServiceImpl implements MdmEngineService { |
| | | |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Resource |
| | | private CodeClstemplateServiceImpl templateService; |
| | | |
| | | |
| | | /** |
| | | * 生成编码的服务 |
| | |
| | | CommonsMapper commonsMapper; |
| | | |
| | | @Resource |
| | | CodeWupinMapper codeWupinMapper; |
| | | ICodeBasicSecService codeBasicSecService; |
| | | |
| | | /** |
| | | * 编码规则的服务 |
| | | */ |
| | |
| | | if (baseModels.size() == 0) { |
| | | throw new VciBaseException("未查询到相关数据。"); |
| | | } |
| | | // 待完善 |
| | | List<BtmTypeVO> cboList = null; // btmTypeClient.selectList(wrapper); |
| | | //还需要修改allCode的生命周期 |
| | | // Map<String, String> conditionMap = new HashMap<>(); |
| | | QueryWrapper<CodeAllCode> allCodeWrapper = new QueryWrapper<>(); |
| | |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("传入业务类型未查询到相应表单,请检查!"); |
| | | } |
| | | commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(), VciBaseUtil.toInSql(baseModelDTO.getOid())); |
| | | // 直接删除,不给状态 |
| | | commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(), VciBaseUtil.toInSql(baseModelDTO.getOid())); |
| | | // commonsMapper.updateByTaleAndOid(listR.getData().get(0).getTableName(), VciBaseUtil.toInSql(baseModelDTO.getOid()),CodeDefaultLC.TASK_BACK.getValue()); |
| | | } else { |
| | | for (BaseModel baseModel : baseModels) { |
| | | baseModel.setLcStatus(baseModelDTO.getLcStatus()); |
| | | } |
| | | updateBatchByBaseModel(baseModelDTO.getBtmname(), baseModels); |
| | | // lifeCycleService.transCboStatus(cboList, baseModelDTO.getLcStatus()); |
| | | } |
| | | for (CodeAllCode codeCbo : codeCbos) { |
| | | codeCbo.setLcStatus(baseModelDTO.getLcStatus()); |
| | | } |
| | | codeAllCodeService.updateBatchById(codeCbos); |
| | | // lifeCycleService.transCboStatus(codeCbos, baseModelDTO.getLcStatus()); |
| | | } |
| | | |
| | | /** |
| | |
| | | // //设置编码需要的默认属性的内容 |
| | | copyValueToCBO(classifyFullInfo, cbo, orderDTO, templateVO, false); |
| | | cbo.setOid(VciBaseUtil.getPk()); |
| | | cbo.setRevisionOid(VciBaseUtil.getPk()); |
| | | cbo.setNameOid(VciBaseUtil.getPk()); |
| | | cbo.setCreateTime(new Date()); |
| | | cbo.setLastModifyTime(new Date()); |
| | | cbo.setCreator(AuthUtil.getUser().getUserName()); |
| | | cbo.setLastModifier(AuthUtil.getUser().getUserName()); |
| | | cbo.setTenantId(AuthUtil.getTenantId()); |
| | | // //TODO:因为默认的属性都不拷贝,目前集团码叫name,并没有从DTO拷贝到cbo里。增加一个单独处理,以后再看要不要调整 |
| | | cbo.setName(orderDTO.getName() == null ? "" : orderDTO.getName()); |
| | | // //end -- modify by lihang @20220407 |
| | |
| | | conditionMap.put(queryKey, queryValue); |
| | | } else { |
| | | //为空的时候不代表不校验,只是不去除相关的信息 |
| | | conditionMap.put("t." + attrId, value); |
| | | conditionMap.put("t." + attrId, "'" +value+ "'"); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 封装开关的内容,常用于导出 |
| | | * @param dataMap 数据的内容 |
| | | * @param templateVO 模板的显示 |
| | | */ |
| | | @Override |
| | | public void wrapperBoolean(List<Map<String, String>> dataMap, CodeClassifyTemplateVO templateVO){ |
| | | List<String> booleanAttributes = templateVO.getAttributes().stream().filter(s -> VciFieldTypeEnum.VTBoolean.name().equalsIgnoreCase(s.getAttributeDataType())).map(s -> s.getId().toLowerCase(Locale.ROOT)).collect(Collectors.toList()); |
| | | if(!CollectionUtils.isEmpty(booleanAttributes)){ |
| | | dataMap.stream().forEach(data -> { |
| | | booleanAttributes.stream().forEach(attrId->{ |
| | | if(data.containsKey(attrId)){ |
| | | String value = data.get(attrId); |
| | | data.put(attrId,BooleanEnum.TRUE.getValue().equalsIgnoreCase(value)?"是":"否"); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public MdmUIInfoVO getFormDefineByTemplateOid(String templateOid, String codeClassifyOid) { |
| | | CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(templateOid); |
| | |
| | | itemVO.setType("refer"); |
| | | itemVO.setShowField(itemVO.getField() + "name"); |
| | | if (StringUtils.isNotBlank(attrVO.getReferConfig())) { |
| | | //配置的内容 |
| | | itemVO.setReferConfig(JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class)); |
| | | // 配置的内容 |
| | | // itemVO.setReferConfig(JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class)); |
| | | itemVO.setReferConfig(referConfigToUIUiTable(attrVO.getReferConfig())); |
| | | } else { |
| | | UIFormReferVO formReferVO = new UIFormReferVO(); |
| | | formReferVO.setType("default"); |
| | |
| | | fieldVO.setShowField(fieldVO.getField()); |
| | | if (StringUtils.isNotBlank(attrVO.getReferConfig())) { |
| | | //配置的内容 |
| | | fieldVO.setReferConfig(JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class)); |
| | | // fieldVO.setReferConfig(JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class)); |
| | | fieldVO.setReferConfig(referConfigToUIUiTable(attrVO.getReferConfig())); |
| | | } else { |
| | | UIFormReferVO formReferVO = new UIFormReferVO(); |
| | | formReferVO.setType("default"); |
| | |
| | | return fieldVO; |
| | | } |
| | | |
| | | /** |
| | | * 将referconfig转换为JSON格式的UIFormReferVO |
| | | * @param codeReferConfigVO |
| | | * @return |
| | | */ |
| | | private UIFormReferVO referConfigToUIUiTable(String codeReferConfigVO){ |
| | | CodeReferConfigVO codeReferConfig = JSONObject.parseObject(codeReferConfigVO, CodeReferConfigVO.class); |
| | | // 拷贝为以前的老对象 |
| | | UIFormReferVO uiFormReferVO = new UIFormReferVO(); |
| | | org.springblade.core.tool.utils.BeanUtil.copy(codeReferConfig,uiFormReferVO); |
| | | |
| | | // 表格的自定义定义 |
| | | UITableCustomDefineVO uiTableConfigVO = new UITableCustomDefineVO(); |
| | | uiTableConfigVO.setPage(new UITablePageVO(codeReferConfig.getLimit(),1)); |
| | | // 列表的列的信息转换 |
| | | List<UITableFieldVO> uiTableFieldVOs = new ArrayList<>(); |
| | | // 快速查询列 |
| | | List<UITableFieldVO> queryColumns = new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(codeReferConfig.getCodeShowFieldConfigVOS())){ |
| | | codeReferConfig.getCodeShowFieldConfigVOS().stream().forEach(showField ->{ |
| | | UITableFieldVO tableColVO = new UITableFieldVO(); |
| | | org.springblade.core.tool.utils.BeanUtil.copy(showField,tableColVO); |
| | | tableColVO.setSortField(showField.getAttrSortField()); |
| | | uiTableFieldVOs.add(tableColVO); |
| | | if(showField.getIsQuery().equals("true")){ |
| | | queryColumns.add(tableColVO); |
| | | } |
| | | }); |
| | | } |
| | | // 显示的列 |
| | | uiTableConfigVO.setCols(uiTableFieldVOs); |
| | | // 快速查询列 |
| | | uiTableConfigVO.setQueryColumns(queryColumns); |
| | | //set给表格配置属性 |
| | | uiFormReferVO.setTableConfig(uiTableConfigVO); |
| | | // 筛选条件 |
| | | HashMap<String, String> whereMap = new HashMap<>(); |
| | | if(!codeReferConfig.getCodeSrchCondConfigVOS().isEmpty()){ |
| | | codeReferConfig.getCodeSrchCondConfigVOS().stream().forEach(srch->{ |
| | | whereMap.put(srch.getFilterField()+srch.getFilterType(),srch.getFilterValue()); |
| | | }); |
| | | } |
| | | uiFormReferVO.setWhere(whereMap); |
| | | return uiFormReferVO; |
| | | } |
| | | |
| | | /** |
| | | * 相似项查询 |
| | |
| | | public DataGrid<Map<String, String>> queryGrid(String btmType, CodeClassifyTemplateVO templateVO, Map<String, String> conditionMap, PageHelper pageHelper) { |
| | | CodeTemplateAttrSqlBO sqlBO = getSqlByTemplateVO(btmType, templateVO, conditionMap, pageHelper); |
| | | // List<Map> maps = boService.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); |
| | | List<Map<String, String>> maps = commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); |
| | | List<Map<String, String>> maps = null; |
| | | try { |
| | | maps = commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); |
| | | }catch (Exception e){ |
| | | String errorMessage = e.getMessage(); |
| | | if (errorMessage.contains("无法解析的成员访问表达式")) { |
| | | throw new ServiceException("缺少"+errorMessage.substring(errorMessage.indexOf("[t.") + 1, errorMessage.indexOf("]"))+"字段"); |
| | | } |
| | | throw new ServiceException(e.getMessage()); |
| | | } |
| | | |
| | | DataGrid<Map<String, String>> dataGrid = new DataGrid<>(); |
| | | List<Map<String, String>> dataList = new ArrayList<>(); |
| | |
| | | maps.stream().forEach(map -> { |
| | | Map<String, String> data = new HashMap<>(); |
| | | for (String s : map.keySet()) { |
| | | data.put(s.toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); |
| | | data.put(s.toLowerCase(Locale.ROOT), map.get(s)==null?null:String.valueOf(map.get(s))); |
| | | } |
| | | // map.forEach((key, value) -> { |
| | | // data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); |
| | |
| | | } |
| | | R<BtmTypeVO> r = btmTypeClient.getDefaultAttrByBtmId(btmType); |
| | | List<BtmTypeAttributeVO> attributes = r.getData().getAttributes(); |
| | | if (r.getCode() != 200 || attributes.isEmpty()) { |
| | | if (!r.isSuccess() || attributes.isEmpty()) { |
| | | return false; |
| | | } |
| | | return attributes.stream().anyMatch(item -> item.getId().equals(selectKey)); |
| | |
| | | sql.append("t."); |
| | | } |
| | | if (value.startsWith(QueryOptionConstant.IN)) { |
| | | sql.append(selectKey) |
| | | if(value.startsWith(QueryOptionConstant.IN+"('") && value.endsWith("')")){ |
| | | sql.append(selectKey) |
| | | .append(SPACE) |
| | | .append("in") |
| | | .append(SPACE) |
| | | .append(value.replace(QueryOptionConstant.IN, "")); |
| | | }else{ |
| | | sql.append(selectKey) |
| | | .append(SPACE) |
| | | .append("in") |
| | | .append(SPACE) |
| | | .append("(") |
| | | .append(value.replace(QueryOptionConstant.IN, "")) |
| | | .append(")"); |
| | | } |
| | | } else if (value.startsWith(QueryOptionConstant.NOTIN)) { |
| | | sql.append(selectKey) |
| | | .append(SPACE) |
| | |
| | | // conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY) |
| | | |
| | | conditionMap.put("t." + CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " + |
| | | btmTypeClient.selectByIdCollection(Collections.singletonList(MdmBtmTypeConstant.CODE_CLASSIFY)) |
| | | btmTypeClient.selectByIdCollection(Collections.singletonList("classify")) |
| | | .getData().get(0).getTableName() + " where lcstatus='" + FrameWorkDefaultValueConstant |
| | | .FRAMEWORK_DATA_ENABLED + "' start with parentCodeClassifyOid = '" + codeClassifyOid + |
| | | "' CONNECT BY PRIOR OID = parentCodeClassifyOid )"); |
| | |
| | | cbosB.stream().forEach(map -> { |
| | | Map<String, String> data = new HashMap<>(); |
| | | for (Object o : map.keySet()) { |
| | | data.put(((String) o).toLowerCase(Locale.ROOT), String.valueOf(map.get(o))); |
| | | data.put(((String) o).toLowerCase(Locale.ROOT), map.get(o)==null?"":String.valueOf(map.get(o))); |
| | | } |
| | | cbos.add(data); |
| | | }); |
| | |
| | | throw new VciBaseException("传入业务类型未查询到相应字段信息,请检查!"); |
| | | } |
| | | Set<String> existFild = allAttributeByBtmId.getData().getAttributes().stream().map(btmTypeAttributeVO -> { |
| | | return btmTypeAttributeVO.getId(); |
| | | return btmTypeAttributeVO.getId().toLowerCase(); |
| | | }).collect(Collectors.toSet()); |
| | | //将bean转为map,mybatis统一处理 |
| | | List<Map<String, String>> maps = new ArrayList<>(); |
| | |
| | | setter.invoke(obj, ((BigDecimal) map.get(property.getName().toUpperCase())).intValue()); |
| | | map.remove(property.getName().toUpperCase()); |
| | | } else if (map.get(property.getName().toUpperCase()) != null) { |
| | | setter.invoke(obj, map.get(property.getName().toUpperCase())); |
| | | if(setter.getParameterTypes()[0].getSimpleName().equals("String")){ |
| | | setter.invoke(obj, String.valueOf(map.get(property.getName().toUpperCase()))); |
| | | }else{ |
| | | setter.invoke(obj, map.get(property.getName().toUpperCase())); |
| | | } |
| | | map.remove(property.getName().toUpperCase()); |
| | | } |
| | | } |
| | | } |
| | | for (Object key : map.keySet()) { |
| | | map.put(key, String.valueOf(map.get(key))); |
| | | map.put(key, map.get(key) == null ? null : String.valueOf(map.get(key))); |
| | | } |
| | | |
| | | ((BaseModel) obj).setData(map); |
| | |
| | | if (!listR.isSuccess() || listR.getData().size() == 0) { |
| | | throw new VciBaseException("传入业务类型未查询到相应表单,请检查!"); |
| | | } |
| | | String userName = String.valueOf(AuthUtil.getUser().getUserId()); |
| | | // String userName = String.valueOf(AuthUtil.getUser().getUserId()); |
| | | BaseModel bo = new BaseModel(); |
| | | // bo.setOid(VciBaseUtil.getPk()); |
| | | // bo.setRevisionid(VciBaseUtil.getPk()); |
| | |
| | | bo.setFirstR("1"); |
| | | bo.setFirstV("1"); |
| | | bo.setLastV("1"); |
| | | bo.setCreator(userName); |
| | | bo.setCreateTime(new Date()); |
| | | bo.setLastModifier(userName); |
| | | bo.setLastModifyTime(new Date()); |
| | | bo.setRevisionRule(listR.getData().get(0).getRevisionRuleId()); |
| | | bo.setVersionRule(String.valueOf(listR.getData().get(0).getVersionRule())); |
| | | bo.setVersionRule("".equals(listR.getData().get(0).getVersionRule())?"0":listR.getData().get(0).getVersionRule()); |
| | | if (StringUtils.isNotBlank(listR.getData().get(0).getRevisionRuleId())) { |
| | | R<List<RevisionRuleVO>> revisionRuleVO = revisionRuleClient |
| | | .selectByIdCollection(Collections.singletonList(listR.getData().get(0).getRevisionRuleId())); |
| | | bo.setRevisionValue(revisionRuleVO.getData().get(0).getStartCode()); |
| | | .selectByIdCollection(Collections.singletonList(listR.getData().get(0).getRevisionRuleId().toLowerCase())); |
| | | if(revisionRuleVO.getData().size() != 0 ){ |
| | | bo.setRevisionValue(revisionRuleVO.getData().get(0).getStartCode()); |
| | | }else{ |
| | | bo.setRevisionValue("1"); |
| | | } |
| | | } |
| | | bo.setRevisionSeq(1); |
| | | bo.setVersionSeq(1); |
| | |
| | | bo.setId(""); |
| | | bo.setName(""); |
| | | bo.setDescription(""); |
| | | bo.setOwner(userName); |
| | | bo.setOwner("1"); |
| | | // bo.setCheckinby(userName); |
| | | bo.setCopyFromVersion(""); |
| | | // this.initTypeAttributeValue(bo,btmTypeVO); |
| | |
| | | //checkReferConfig(referConfigVO); |
| | | //使用业务类型查询 |
| | | R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getAllAttributeByBtmId(referConfigVO.getReferType()); |
| | | if (allAttributeByBtmId.getCode() != 200) { |
| | | if (!allAttributeByBtmId.isSuccess()) { |
| | | throw new ServiceException("业务类型feign接口调用错误!"); |
| | | } |
| | | if (Func.isEmpty(allAttributeByBtmId.getData())) { |
| | |
| | | } |
| | | |
| | | R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(referConfigVO.getReferType())); |
| | | if (listR.getCode() != 200) { |
| | | if (!listR.isSuccess()) { |
| | | throw new ServiceException(Func.isNotBlank(listR.getMsg()) ? listR.getMsg() : "业务类型feign接口调用错误!"); |
| | | } |
| | | if (listR.getData().isEmpty()) { |
| | |
| | | } else { |
| | | if (StringUtils.isNotBlank(referConfigVO.getParentFieldName()) && StringUtils.isNotBlank(queryObject.getParentOid())) { |
| | | queryObject.getConditionMap().put(referConfigVO.getParentFieldName(), queryObject.getParentOid()); |
| | | } |
| | | //查询全部的信息 |
| | | String parentOidSql = ""; |
| | | if (StringUtils.isNotBlank(referConfigVO.getParentValue())) { |
| | | String temp = referConfigVO.getParentValue(); |
| | | if (temp.startsWith(QueryOptionConstant.IN)) { |
| | | temp = temp.substring((QueryOptionConstant.IN).length()).trim(); |
| | | parentOidSql = " in " + "('" + queryObject.getParentOid() + "')"; |
| | | } else if (temp.startsWith(QueryOptionConstant.NOTIN)) { |
| | | parentOidSql = " not in " + "('" + queryObject.getParentOid() + "')"; |
| | | } else if (temp.startsWith(QueryOptionConstant.NOTEQUAL)) { |
| | | temp = temp.substring((QueryOptionConstant.NOTEQUAL).length()).trim(); |
| | | parentOidSql = QueryOptionConstant.NOTEQUAL + " " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'"); |
| | | } else if (temp.startsWith(QueryOptionConstant.MORETHAN)) { |
| | | temp = temp.substring((QueryOptionConstant.MORETHAN).length()).trim(); |
| | | parentOidSql = QueryOptionConstant.MORETHAN + " " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'"); |
| | | } else if (temp.startsWith(QueryOptionConstant.MORE)) { |
| | | temp = temp.substring((QueryOptionConstant.MORE).length()).trim(); |
| | | parentOidSql = QueryOptionConstant.MORE + " " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'"); |
| | | } else if (temp.startsWith(QueryOptionConstant.LESSTHAN)) { |
| | | temp = temp.substring((QueryOptionConstant.LESSTHAN).length()).trim(); |
| | | parentOidSql = QueryOptionConstant.LESSTHAN + " " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'"); |
| | | } else if (temp.startsWith(QueryOptionConstant.LESS)) { |
| | | temp = temp.substring((QueryOptionConstant.LESS).length()).trim(); |
| | | parentOidSql = QueryOptionConstant.LESS + " " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'"); |
| | | } else if (temp.startsWith(QueryOptionConstant.ISNOTNULL)) { |
| | | parentOidSql = " is not null"; |
| | | } else if (temp.startsWith(QueryOptionConstant.ISNULL)) { |
| | | parentOidSql = " is null"; |
| | | } else if (temp.contains("*")) { |
| | | parentOidSql = " like " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'").replace("*", "%"); |
| | | } else { |
| | | parentOidSql = " = " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'"); |
| | | } |
| | | |
| | | } |
| | | //查询全部的信息 |
| | | queryObject.getConditionMap().put("oid", QueryOptionConstant.IN + "(select oid from " + |
| | | getTableName(referConfigVO.getReferType()) + |
| | | " START WITH " + referConfigVO.getParentFieldName() + " " + |
| | | parentOidSql + |
| | | " CONNECT BY PRIOR " + oidFieldName + " = " + referConfigVO.getParentFieldName() + ")"); |
| | | } |
| | | } |
| | | LambdaQueryWrapper<CodeClassify> lqw = new LambdaQueryWrapper<>(); |
| | | String sql = queryObject.getConditionMap().get("oid").substring(3); |