From 504dcb79430e0010e6b443e1ae2ef7f35b86e1a7 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 01 十二月 2023 14:35:59 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java | 4 + Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java | 72 +++++++++-------- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java | 3 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 2 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/SpecialCharacterConverter.java | 35 ++++++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 7 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java | 70 ++++++++++++---- Source/UBCS-WEB/src/views/monitor/log/operateLog.vue | 8 +- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java | 22 +++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java | 6 10 files changed, 164 insertions(+), 65 deletions(-) diff --git a/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue b/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue index 0a8653f..f8aee43 100644 --- a/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue +++ b/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue @@ -63,18 +63,18 @@ label: "鐢ㄦ埛鍚�", prop: "userName", search: true, - width:'100' + width:'120' }, { label: "濮撳悕", prop: "realName", search: true, - width:'100' + width:'120' }, { label: "鐢ㄦ埛ip", prop: "ip", - width:'100' + width:'130' }, { label: "妯″潡", @@ -89,7 +89,7 @@ { label: "鎿嶄綔缁撴灉", prop: "operateResult", - width:'100' + width:'110' }, { label: "鎻忚堪", diff --git a/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java b/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java index fe14f86..0a2e420 100644 --- a/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java +++ b/Source/UBCS/ubcs-ops/ubcs-log/src/main/java/com/vci/ubcs/log/service/impl/LogLocalServiceImpl.java @@ -82,7 +82,7 @@ * @param logParentPath * @return */ - //@Override + @Override public List<LocalLogVO> getSystemLogList(String logParentPath) { List<LocalLogVO> localLogsVO = new ArrayList<>(); // 涓嶄负绌鸿鏄庢槸鍔犺浇褰撳墠杩欎釜鏈嶅姟璺緞涓嬬殑鏃ュ織鏂囦欢 @@ -90,44 +90,48 @@ File file = new File(logParentPath); if (file.isDirectory()) { File[] files = file.listFiles(); - Arrays.stream(files).forEach(item->{ - // 缁勫缓鏃ュ織鏂囦欢瀵硅薄 - LocalLogVO localLog = new LocalLogVO(); - localLog.setLogName(item.getName()); - localLog.setLogType(getLogType(item.getName())); - localLog.setCreateTime(getLastModifiedOrCreatTime(false,logParentPath)); - localLog.setLastModifier(getLastModifiedOrCreatTime(true,logParentPath)); - localLog.setLogPath(logParentPath); - String serviceId = getServiceId(logParentPath); - localLog.setServiceId(serviceId); - localLog.setServiceName(getServiceName(serviceId)); - localLog.setHasChildren(false); - localLogsVO.add(localLog); - }); + if(Func.isNotEmpty(files) && files.length>0){ + Arrays.stream(files).forEach(item->{ + // 缁勫缓鏃ュ織鏂囦欢瀵硅薄 + LocalLogVO localLog = new LocalLogVO(); + localLog.setLogName(item.getName()); + localLog.setLogType(getLogType(item.getName())); + localLog.setCreateTime(getLastModifiedOrCreatTime(false,logParentPath)); + localLog.setLastModifier(getLastModifiedOrCreatTime(true,logParentPath)); + localLog.setLogPath(logParentPath); + String serviceId = getServiceId(logParentPath); + localLog.setServiceId(serviceId); + localLog.setServiceName(getServiceName(serviceId)); + localLog.setHasChildren(false); + localLogsVO.add(localLog); + }); + } } }else { File fileDir = new File(PARENTPATH); File[] childDir = fileDir.listFiles(); - Arrays.stream(childDir).forEach(dir->{ - if(dir.getName().contains("ubcs_")){ - String fullPath = dir.getPath() + LOGPATH; - File file = new File(fullPath); - if(file.exists()){ - LocalLogVO localLogVO = new LocalLogVO(); - localLogVO.setLastModifier(getLastModifiedOrCreatTime(true,fullPath)); - localLogVO.setCreateTime(getLastModifiedOrCreatTime(false,fullPath)); - localLogVO.setLogPath(fullPath); - String serviceId = getServiceId(file.getPath()); - localLogVO.setServiceId(serviceId); - String serviceName = getServiceName(serviceId); - localLogVO.setServiceName(serviceName); - localLogVO.setLogType(serviceName+"鏃ュ織鐖剁洰褰�"); - localLogVO.setLogName(serviceName+"鏃ュ織鐖剁洰褰�"); - localLogVO.setHasChildren(true); - localLogsVO.add(localLogVO); + if(Func.isNotEmpty(childDir) && childDir.length > 0){ + Arrays.stream(childDir).forEach(dir->{ + if(dir.getName().contains("ubcs_")){ + String fullPath = dir.getPath() + LOGPATH; + File file = new File(fullPath); + if(file.exists()){ + LocalLogVO localLogVO = new LocalLogVO(); + localLogVO.setLastModifier(getLastModifiedOrCreatTime(true,fullPath)); + localLogVO.setCreateTime(getLastModifiedOrCreatTime(false,fullPath)); + localLogVO.setLogPath(fullPath); + String serviceId = getServiceId(file.getPath()); + localLogVO.setServiceId(serviceId); + String serviceName = getServiceName(serviceId); + localLogVO.setServiceName(serviceName); + localLogVO.setLogType(serviceName+"鏃ュ織鐖剁洰褰�"); + localLogVO.setLogName(serviceName+"鏃ュ織鐖剁洰褰�"); + localLogVO.setHasChildren(true); + localLogsVO.add(localLogVO); + } } - } - }); + }); + } } return localLogsVO; } diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java index 74ce347..bad7da2 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java @@ -23,6 +23,10 @@ * 瀛楃闆� */ private String chartValue; + /** + * 闇�鏇挎崲鐨勫瓧绗� + */ + private String oldChartValue; /*** * 瀛楃绫诲瀷 */ diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/SpecialCharacterConverter.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/SpecialCharacterConverter.java new file mode 100644 index 0000000..f5e9c38 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/SpecialCharacterConverter.java @@ -0,0 +1,35 @@ +package com.vci.ubcs.starter.util; + +import net.logstash.logback.encoder.org.apache.commons.lang3.StringEscapeUtils; + +/** + * + * @author ludc + * @date 2023/12/1 9:16 + */ +public class SpecialCharacterConverter { + + /** + * 鐗规畩瀛楃杞箟 + * @param input + * @return + */ + public static String escapeSpecialCharacters(String input) { + input = input.replace("'", "''"); // 杞箟鍗曞紩鍙� + input = input.replace("\"", "\\\""); // 杞箟鍙屽紩鍙� + input = input.replace("%", "\\%"); // 杞箟鐧惧垎鍙� + input = input.replace("_", "\\_"); // 杞箟涓嬪垝绾� + input = input.replace("\\", "\\\\"); // 杞箟鍙嶆枩鏉� + return input; + } + + public static String unescapeSpecialCharacters(String input) { + input = input.replace("''", "'"); // 鍙嶈浆涔夊崟寮曞彿 + input = input.replace("\\\"", "\""); // 鍙嶈浆涔夊弻寮曞彿 + input = input.replace("\\%", "%"); // 鍙嶈浆涔夌櫨鍒嗗彿 + input = input.replace("\\_", "_"); // 鍙嶈浆涔変笅鍒掔嚎 + input = input.replace("\\\\", "\\"); // 鍙嶈浆涔夊弽鏂滄潬 + return input; + } + +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java index a7f08a7..5d6b29a 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java @@ -35,7 +35,7 @@ */ @PostMapping("/addSave") public R addSave(@RequestBody CodeRuleCharacterVO codeRuleCharacterVO){ - return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO); + return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO,1); } /** * 淇敼瑙勫垯瀵硅薄 @@ -44,7 +44,7 @@ */ @PostMapping("/editSave") public R editSave(@RequestBody CodeRuleCharacterVO codeRuleCharacterVO){ - return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO); + return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO,2); } /** @@ -54,6 +54,6 @@ */ @PostMapping("/delete") public R delete(@RequestBody CodeRuleCharacterVO codeRuleCharacterVO){ - return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO); + return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO,3); } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java index dd8b910..f456e51 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java @@ -769,4 +769,26 @@ public R addSaveBZ (@RequestBody CodeBZApplyDTO codeBZApplyDTO) throws Exception { return R.success(engineService.addSaveBZ(codeBZApplyDTO)); } + + /** + * 涓嬭浇鎵归噺鐢宠鐨勫鍏ユā鏉� + * @param codeClassifyOid 鍒嗙被鐨勪富閿� + * @param response 鍝嶅簲瀵硅薄 + * @throws IOException 鎶涘嚭寮傚父 + */ + @GetMapping("/exportGroupCodeExcel") + @VciBusinessLog(operateName = "瀵煎嚭闆嗗洟鐮�") + public void exportGroupCodeExcel(String codeClassifyOid, HttpServletResponse response) throws IOException{ + String excelName = mdmIOService.createImportExcel(codeClassifyOid,false); + try { + ControllerUtil.writeFileToResponse(response,excelName); + } catch (Throwable e) { + //濡傛灉鍑洪敊,鎶婇敊璇俊鎭啓鍒皌ext + String msg = LangBaseUtil.getErrorMsg(e); + if(StringUtils.isBlank(msg)){ + msg = "鏈煡閿欒"; + } + ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null); + } + } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java index f96aada..f91c7cd 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java @@ -32,8 +32,9 @@ /*** * 淇濆瓨缂栫爜瑙勫垯瀛楃闆� * @param codeRuleCharacterVO + * @param operationType * @return */ - R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO)throws VciBaseException; + R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO,int operationType)throws VciBaseException; } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java index aaabd6f..edff3be 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java @@ -10,6 +10,7 @@ import com.vci.ubcs.code.service.ICodeRuleCharacterService; import com.vci.ubcs.code.vo.pagemodel.CodeRuleCharacterVO; import com.vci.ubcs.starter.exception.VciBaseException; +import com.vci.ubcs.starter.poi.bo.SheetRowData; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; import org.springblade.core.tool.api.R; @@ -41,19 +42,22 @@ public List<Map<String, String>> getDataByRuleId(String codeRuleId,String chartType) throws VciBaseException { List<Map<String,String>> charValueList=new ArrayList<>(); CodeRuleCharacter codeRuleCharacter=codeRuleCharacterMapper.selectOne(Wrappers.<CodeRuleCharacter>query().lambda().eq(CodeRuleCharacter::getCodeRuleId,codeRuleId).eq(CodeRuleCharacter::getChartType,chartType)); - List<Character> characterList=codeRuleCharacter.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList()); - for (int i = 0; i < characterList.size(); i += 15) { - final int startIndex = i; - final int endIndex = Math.min(i + 15, characterList.size()); - List<Character> subList = characterList.subList(startIndex, endIndex); - Map<String, String> chartMap=new HashMap<>(); - // 璋冪敤鎻掑叆鏁版嵁搴撶殑鏂规硶 - for (int j=1;j<subList.size()+1;j++){ - String characterValue=subList.get(j-1)==null?"":subList.get(j-1).toString(); - chartMap.put(String.valueOf(j),String.valueOf(characterValue)); + if(codeRuleCharacter!=null&&StringUtils.isNotBlank(codeRuleCharacter.getOid())){ + List<Character> characterList=codeRuleCharacter.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList()); + for (int i = 0; i < characterList.size(); i += 15) { + final int startIndex = i; + final int endIndex = Math.min(i + 15, characterList.size()); + List<Character> subList = characterList.subList(startIndex, endIndex); + Map<String, String> chartMap=new HashMap<>(); + // 璋冪敤鎻掑叆鏁版嵁搴撶殑鏂规硶 + for (int j=1;j<subList.size()+1;j++){ + String characterValue=subList.get(j-1)==null?"":subList.get(j-1).toString(); + chartMap.put(String.valueOf(j),String.valueOf(characterValue)); + } + charValueList.add(chartMap); } - charValueList.add(chartMap); } + return charValueList; } /*** @@ -63,20 +67,48 @@ * @throws VciBaseException */ @Override - public R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO) throws VciBaseException { + public R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO,int operation) throws VciBaseException { VciBaseUtil.alertNotNull(codeRuleCharacterVO.getCodeRuleId(),"缂栫爜瑙勫垯id",codeRuleCharacterVO.getChartType(),"瀛楃闆嗙被鍨�"); CodeRuleCharacter codeRuleCharacter=codeRuleCharacterMapper.selectOne(Wrappers.<CodeRuleCharacter>query().lambda().eq(CodeRuleCharacter::getCodeRuleId,codeRuleCharacterVO.getCodeRuleId()).eq(CodeRuleCharacter::getChartType,codeRuleCharacterVO.getChartType())); if(codeRuleCharacter!=null&& StringUtils.isNotBlank(codeRuleCharacter.getOid())) { List<Character> oldCharacterList = StringUtils.isBlank(codeRuleCharacter.getChartValue())?new ArrayList<>():codeRuleCharacter.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList()); List<Character> newCharacterList = StringUtils.isBlank(codeRuleCharacterVO.getChartValue())?new ArrayList<>():codeRuleCharacterVO.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList()); - List<Character> intersectList = intersect(oldCharacterList, newCharacterList); - if (intersectList.size() > 0) { - String ss = Joiner.on(",").join(intersectList); - throw new VciBaseException("绯荤粺涓瓨鍦ㄧ浉搴旂殑瀛楃:銆�" + ss + "銆�"); + if(operation==1) {//鏂板鏃跺�� + List<Character> intersectList = intersect(oldCharacterList, newCharacterList); + if (intersectList.size() > 0) { + String ss = Joiner.on(",").join(intersectList); + throw new VciBaseException("绯荤粺涓瓨鍦ㄧ浉搴旂殑瀛楃:銆�" + ss + "銆�"); + } + List<Character> allCharacterList = union(oldCharacterList, newCharacterList); + String str = allCharacterList.stream().map(integer -> Func.isNotEmpty(integer) ? integer.toString() : "").collect(Collectors.joining()); + codeRuleCharacter.setChartValue(str); + }else if(operation==2){//淇敼 + String oldChartValue= codeRuleCharacterVO.getOldChartValue(); + String chartValue= codeRuleCharacterVO.getChartValue(); + Map<String,String> oldChartNewChartMap=new HashMap<>(); + List<Character> chartValueList = StringUtils.isBlank(chartValue)?new ArrayList<>():chartValue.chars().mapToObj(c -> (char) c).collect(Collectors.toList()); + List<Character> oldChartValueList = StringUtils.isBlank(oldChartValue)?new ArrayList<>():oldChartValue.chars().mapToObj(c -> (char) c).collect(Collectors.toList()); + + if(chartValueList.size()!=oldChartValueList.size()){ + throw new VciBaseException("鏇挎崲鐨勫�间釜鏁颁笌閫変腑鍊肩殑涓暟涓嶇浉绛�"); + } + /*** + * id + */ + for (int i=0;i<oldChartValueList.size();i++){ + Character oldValue=oldChartValueList.get(i); + if(oldCharacterList.contains(oldValue)){ + int index =oldCharacterList.indexOf(oldValue); + oldCharacterList.set(index,chartValueList.get(i)); + } + } + String str = oldCharacterList.stream().map(integer -> Func.isNotEmpty(integer) ? integer.toString() : "").collect(Collectors.joining()); + codeRuleCharacter.setChartValue(str); + }else{//鍒犻櫎 + oldCharacterList.removeAll(newCharacterList); + String str = oldCharacterList.stream().map(integer -> Func.isNotEmpty(integer) ? integer.toString() : "").collect(Collectors.joining()); + codeRuleCharacter.setChartValue(str); } - List<Character> allCharacterList = union(oldCharacterList, newCharacterList); - String str = allCharacterList.stream().map(integer -> Func.isNotEmpty(integer)?integer.toString():"").collect(Collectors.joining()); - codeRuleCharacter.setChartValue(str); codeRuleCharacterMapper.updateById(codeRuleCharacter); }else{ codeRuleCharacter=new CodeRuleCharacter(); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java index 2dd56b5..094677d 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java @@ -44,6 +44,7 @@ import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.util.MdmBtmTypeConstant; import com.vci.ubcs.starter.util.SaveLogUtil; +import com.vci.ubcs.starter.util.SpecialCharacterConverter; import com.vci.ubcs.starter.util.UBCSSqlKeyword; import com.vci.ubcs.starter.web.constant.QueryOptionConstant; import com.vci.ubcs.starter.web.constant.RegExpConstant; @@ -791,6 +792,7 @@ sql[0] += " and oid != '" + orderDTO.getCopyFromVersion() + "'"; } sql[0] += " and lastR = '1' and lastV = '1' "; + // 鑾峰彇涓嶅弬涓庢牎楠岀殑鍒嗙被oid String isParticipateCheckOids = classifyService.selectLeafByParentClassifyOid(classifyFullInfo.getTopClassifyVO().getOid(), classifyFullInfo.getCurrentClassifyVO().getOid()); if(Func.isNotEmpty(isParticipateCheckOids)){ sql[0] += " and codeclsfid not in(" + isParticipateCheckOids + ")"; @@ -1193,12 +1195,12 @@ temp = "%s"; } queryKey = String.format(temp, "nvl("+ "t." + attrId +",'/')"); - queryValue = String.format(temp, "'" + (trim ? value.trim() : value) + "'"); + queryValue = String.format(temp, "'" + (trim ? SpecialCharacterConverter.escapeSpecialCharacters(value.trim()):SpecialCharacterConverter.escapeSpecialCharacters(value)) + "'"); conditionMap.put(queryKey, queryValue); } else { if(StringUtils.isNotBlank(value)) { //涓虹┖鐨勬椂鍊欎笉浠h〃涓嶆牎楠岋紝鍙槸涓嶅幓闄ょ浉鍏崇殑淇℃伅 - conditionMap.put("nvl("+ "t." + attrId+",'/')", "'" + value + "'"); + conditionMap.put("nvl("+ "t." + attrId+",'/')", "'" + SpecialCharacterConverter.escapeSpecialCharacters(value) + "'"); }else{ conditionMap.put("t." + attrId, QueryOptionConstant.ISNULL); } @@ -2472,7 +2474,6 @@ return getSqlByValue(key, value, attrVOMap,btmType); } }*/ - } /** diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java index 371139a..99278b3 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java @@ -3824,7 +3824,7 @@ private void batchSwitchClassifyAttrOnOrder(Collection<CodeClassifyTemplateAttrVO> attrVOS,List<ClientBusinessObject> dataList, CodeClassifyFullInfoBO classifyFullInfo,boolean isImPort) { Map<String, CodeClassifyTemplateAttrVO> dateAttrVOMap = attrVOS.stream().filter( - s -> StringUtils.isNotBlank(s.getClassifyInvokeAttr()) && StringUtils.isNotBlank(s.getClassifyInvokeAttr()) + s -> StringUtils.isNotBlank(s.getClassifyInvokeAttr()) ).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); Map<String,CodeClassifyFullInfoBO> classifyFullInfoMap=new HashMap<>(); classifyFullInfoMap.put(classifyFullInfo.getCurrentClassifyVO().getOid(),classifyFullInfo); -- Gitblit v1.9.3