From 54036dc2ebc591f891f452b3b248594d60fc583e Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期三, 29 十一月 2023 09:25:03 +0800 Subject: [PATCH] 1.标准申请功能开发 2.业务数据报错去空格 --- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java | 129 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 115 insertions(+), 14 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java index 4a08af9..7b1e981 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java @@ -17,8 +17,11 @@ import com.vci.ubcs.starter.web.pagemodel.SessionInfo; import com.vci.ubcs.starter.web.toolmodel.DateConverter; import com.vci.ubcs.starter.web.wrapper.VciQueryWrapperForDO; +import com.vci.ubcs.system.cache.NacosConfigCache; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.utils.Func; import org.springframework.util.CollectionUtils; import org.springframework.util.ResourceUtils; @@ -37,8 +40,6 @@ import java.math.BigInteger; import java.net.InetAddress; import java.net.NetworkInterface; -import java.sql.Timestamp; -import java.text.SimpleDateFormat; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -51,6 +52,15 @@ private static String localIp = null; public VciBaseUtil() { + } + + /** + * 妫�鏌ユ槸鍚︿负閰嶇疆鐨勮秴绠$鎴峰拰鐢ㄦ埛 + * @return false涓嶆槸瓒呯锛宼rue鏄秴绠� + */ + public static Boolean checkAdminTenant(){ + return NacosConfigCache.getAdminUserInfo().getTenantId().equals(AuthUtil.getTenantId()) + && NacosConfigCache.getAdminUserInfo().getUserName().equals(AuthUtil.getUserName()); } public static String getPk() { @@ -869,7 +879,11 @@ } public static String getTableName(String btmname) { - return (VciQueryWrapperForDO.USER_TABLE_COMPATIBILITY ? "vcibt_" : "pl_code_") + btmname.trim().toLowerCase(); + return (VciQueryWrapperForDO.USER_TABLE_COMPATIBILITY ? "PLBT_CODE" : "PL_CODE_") + btmname.trim().toLowerCase(); + } + + public static String getTableName(String btmname,Boolean isMdmTable) { + return (isMdmTable ? "PLBT_CODE_" : "PL_CODE_") + btmname.trim().toUpperCase(Locale.ROOT); } public static Field getTsField(Class c) { @@ -1294,7 +1308,7 @@ * @return Map瀵硅薄 * @version 2016骞�3鏈�20鏃� 11:03:01 */ - public static Map convertBean2Map(Object bean) throws Exception { + public static Map convertBean2Map(Object bean,Set<String> existFild) throws Exception { Class type = bean.getClass(); Map returnMap = new HashMap(); BeanInfo beanInfo = Introspector.getBeanInfo(type); @@ -1303,9 +1317,11 @@ Field[] declaredFields = type.getDeclaredFields(); Map<String, String> fieldMap = new HashMap(); String existField = ""; + if(existFild == null){ + existFild = new HashSet<>(); + } for (Field declaredField : declaredFields) { declaredField.setAccessible(true); - // 鑾峰彇瀛楁鐨勫�� boolean isTableField = declaredField.isAnnotationPresent(TableField.class); if (isTableField) { @@ -1316,11 +1332,11 @@ } String value = tableField.value(); if(net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils.isNotBlank(value)){ - fieldMap.put(declaredField.getName(), value); + fieldMap.put(declaredField.getName(), value.trim()); } } } - + Map mapData = new HashMap<>(); for (int i = 0, n = propertyDescriptors.length; i <n ; i++) { PropertyDescriptor descriptor = propertyDescriptors[i]; String propertyName = descriptor.getName(); @@ -1329,16 +1345,35 @@ ((!"".equals(existField) && !existField.contains(propertyName.toLowerCase()+","))||"data".equals(propertyName))) { Method readMethod = descriptor.getReadMethod(); Object result = readMethod.invoke(bean, new Object[0]); + if(result instanceof String){ + result=((String) result).trim(); + } if (result != null) { if ("data".equals(propertyName)){ - returnMap.putAll((Map) result); - }else { - returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName, result); + mapData = (Map) result; + }else if(existFild.contains((fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName).toLowerCase())){ + returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName).toLowerCase():propertyName.toLowerCase(), result); } - } else { - returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName, ""); + } else if(existFild.contains((fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName).toLowerCase())){ + returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName).toLowerCase():propertyName.toLowerCase(), ""); } + } + } + //浣滅敤涓昏鐢ㄤ簬宸睲AP涓殑鏁版嵁涓哄噯锛宐ean閲岄潰閬囧埌瀛楁鐩稿悓涓攎ap閲岄潰鏁版嵁涓虹┖锛屽垯浣跨敤bean閲岄潰鐨勫��, +// Map resulMapChild = (Map) mapData; + for (Object o : mapData.keySet()) { + if(existFild == null || existFild.contains(String.valueOf(o).toLowerCase())){ + if((Func.isNotBlank(String.valueOf(returnMap.get(String.valueOf(o).toLowerCase()))) + && returnMap.get(String.valueOf(o).toLowerCase()) !=null) + && Func.isBlank(String.valueOf(mapData.get(o)))){ + continue; + } + Object result=mapData.get(o); + if(result instanceof String){ + result=((String) result).trim(); + } + returnMap.put(String.valueOf(o).toLowerCase(),result); } } return returnMap; @@ -1362,9 +1397,14 @@ // String sqlField = camelToUnderscore(key); - if (map.containsKey(key.toUpperCase())) { + if (map.containsKey(key.toUpperCase(Locale.ROOT))||map.containsKey(key.toLowerCase(Locale.ROOT))) { try { - Object value = map.get(key.toUpperCase()); + Object value=""; + if (map.containsKey(key.toUpperCase(Locale.ROOT))) { + value = map.get(key.toUpperCase()); + }else if(map.containsKey(key.toLowerCase(Locale.ROOT))){ + value = map.get(key.toLowerCase()); + } // 寰楀埌property瀵瑰簲鐨剆etter鏂规硶 Method setter = property.getWriteMethod(); Class<?> type = property.getPropertyType(); @@ -1386,6 +1426,7 @@ return beanList; } + public static String camelToUnderscore(String name) { if (name == null && name.length() <= 0) { return name; @@ -1404,6 +1445,66 @@ return sb.toString(); } + public static String convertArabicToRoman(int num) { + int[] values={1000,900,500,400,100,90,50,40,10,9,5,4,1}; + String[] romans={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"}; + StringBuilder sb=new StringBuilder(); + for(int i=0;i<values.length;i++){ + while(num>=values[i]){ + num=num-values[i]; + sb.append(romans[i]); + } + } + return sb.toString(); + } + /** + * 鎶婄綏椹暟瀛楄浆鎹负闃挎媺浼暟瀛� + * @param m + * @return + */ + public static int convertRomanToArabic(String m) { + int graph[] = new int[400]; + graph['I'] = 1; + graph['V'] = 5; + graph['X'] = 10; + graph['L'] = 50; + graph['C'] = 100; + graph['D'] = 500; + graph['M'] = 1000; + char[] num = m.toCharArray(); + int sum = graph[num[0]]; + for (int i = 0; i < num.length - 1; i++) { + if (graph[num[i]] >= graph[num[i + 1]]) { + sum += graph[num[i + 1]]; + } else { + sum = sum + graph[num[i + 1]] - 2 * graph[num[i]]; + } + } + return sum; + } + /*** + * 鏍¢獙鏄惁鏄綏椹暟瀛� + * @param s + * @return + */ + public static boolean isRoman(String s) { + // 妫�鏌ヨ緭鍏ョ殑瀛楃涓叉槸鍚︿负绌� + if (s == null || s.length() == 0) { + return false; + } + // 灏嗚緭鍏ョ殑瀛楃涓茶浆鎹负澶у啓瀛楁瘝 + s = s.toUpperCase(); + // 杩斿洖缁撴灉 + Pattern pattern = Pattern.compile("^M{0,3}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$"); + return pattern.matcher(s ).matches(); + } + public static String intToRomanTwo(int num) { + String M[] = {"", "M", "MM", "MMM"}; + String C[] = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"}; + String X[] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"}; + String I[] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"}; + return M[num/1000]+C[(num%1000)/100]+X[(num%100)/10]+I[num%10]; + } } -- Gitblit v1.9.3