| | |
| | | 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: "模å", |
| | |
| | | { |
| | | label: "æä½ç»æ", |
| | | prop: "operateResult", |
| | | width:'100' |
| | | width:'110' |
| | | }, |
| | | { |
| | | label: "æè¿°", |
| | |
| | | * @param logParentPath |
| | | * @return |
| | | */ |
| | | //@Override |
| | | @Override |
| | | public List<LocalLogVO> getSystemLogList(String logParentPath) { |
| | | List<LocalLogVO> localLogsVO = new ArrayList<>(); |
| | | // ä¸ä¸ºç©ºè¯´ææ¯å è½½å½åè¿ä¸ªæå¡è·¯å¾ä¸çæ¥å¿æä»¶ |
| | |
| | | File file = new File(logParentPath); |
| | | if (file.isDirectory()) { |
| | | File[] files = file.listFiles(); |
| | | if(Func.isNotEmpty(files) && files.length>0){ |
| | | Arrays.stream(files).forEach(item->{ |
| | | // ç»å»ºæ¥å¿æä»¶å¯¹è±¡ |
| | | LocalLogVO localLog = new LocalLogVO(); |
| | |
| | | localLogsVO.add(localLog); |
| | | }); |
| | | } |
| | | } |
| | | }else { |
| | | File fileDir = new File(PARENTPATH); |
| | | File[] childDir = fileDir.listFiles(); |
| | | if(Func.isNotEmpty(childDir) && childDir.length > 0){ |
| | | Arrays.stream(childDir).forEach(dir->{ |
| | | if(dir.getName().contains("ubcs_")){ |
| | | String fullPath = dir.getPath() + LOGPATH; |
| | |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | return localLogsVO; |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | 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 + ")"; |
| | |
| | | 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)) { |
| | | //ä¸ºç©ºçæ¶åä¸ä»£è¡¨ä¸æ ¡éªï¼åªæ¯ä¸å»é¤ç¸å
³çä¿¡æ¯ |
| | | conditionMap.put("nvl("+ "t." + attrId+",'/')", "'" + value + "'"); |
| | | conditionMap.put("nvl("+ "t." + attrId+",'/')", "'" + SpecialCharacterConverter.escapeSpecialCharacters(value) + "'"); |
| | | }else{ |
| | | conditionMap.put("t." + attrId, QueryOptionConstant.ISNULL); |
| | | } |
| | |
| | | return getSqlByValue(key, value, attrVOMap,btmType); |
| | | } |
| | | }*/ |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | 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); |