From 7e2a1464ac176df8be391ef25a8c94720d341363 Mon Sep 17 00:00:00 2001 From: "zhangxinah@yonyou.com" Date: Thu, 27 Mar 2025 09:42:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../public/nc/bd/itf/tools/BFPubTools.java | 233 ++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 mmpac/src/public/nc/bd/itf/tools/BFPubTools.java diff --git a/mmpac/src/public/nc/bd/itf/tools/BFPubTools.java b/mmpac/src/public/nc/bd/itf/tools/BFPubTools.java new file mode 100644 index 0000000..a5daf91 --- /dev/null +++ b/mmpac/src/public/nc/bd/itf/tools/BFPubTools.java @@ -0,0 +1,233 @@ +package nc.bd.itf.tools; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import nc.vo.pub.lang.UFBoolean; +import nc.vo.pub.lang.UFDate; +import nc.vo.pub.lang.UFDateTime; +import nc.vo.pub.lang.UFDouble; + +public class BFPubTools +{ + public static UFDouble ZERO = UFDouble.ZERO_DBL; + + public static boolean isEmpty(String value) + { + return (value == null) || (value.trim().length() == 0); + } + + public static UFBoolean getUFBoolean_NullAs(Object value, UFBoolean bDefautValue) + { + if ((value == null) || (value.toString().trim().equals(""))) + return bDefautValue; + if ((value instanceof UFBoolean)) { + return (UFBoolean)value; + } + return new UFBoolean(value.toString().trim()); + } + + public static UFDate getUFDate(Object value) + { + if ((value == null) || (value.toString().trim().equals(""))) + return null; + if ((value instanceof UFDate)) { + return (UFDate)value; + } + return new UFDate(value.toString().trim()); + } + + public static UFDateTime getUFDateTime(Object value) + { + if ((value == null) || (value.toString().trim().equals(""))) + return null; + if ((value instanceof UFDateTime)) { + return (UFDateTime)value; + } + return new UFDateTime(value.toString().trim()); + } + + public static UFDouble getUFDouble_NullAsZero(Object value) + { + if ((value == null) || (value.toString().trim().equals("")) || (value.toString().trim().equals("~"))) + return ZERO; + if ((value instanceof UFDouble)) + return (UFDouble)value; + if ((value instanceof BigDecimal)) { + return new UFDouble((BigDecimal)value); + } + return new UFDouble(value.toString().trim()); + } + + public static UFDouble getUFDouble_ValueAsValue(double dValue) + { + if (dValue == 0.0D) { + return ZERO; + } + return new UFDouble(dValue); + } + + public static UFDouble getUFDouble_ValueAsValue(Object value) + { + if ((value == null) || (value.toString().trim().equals(""))) + return null; + if ((value instanceof UFDouble)) + return (UFDouble)value; + if ((value instanceof BigDecimal)) { + return new UFDouble((BigDecimal)value); + } + return new UFDouble(value.toString().trim()); + } + + public static UFDouble getUFDouble_ZeroAsNull(double dValue) + { + if (dValue == 0.0D) { + return null; + } + return new UFDouble(dValue); + } + + public static UFDouble getUFDouble_ZeroAsNull(Object value) + { + UFDouble dValue = getUFDouble_NullAsZero(value); + if (dValue.compareTo(ZERO) == 0) { + return null; + } + return dValue; + } + + public static String getString_TrimZeroLenAsNull(Object value) + { + if ((value == null) || (value.toString().trim().length() == 0)) { + return null; + } + return value.toString().trim(); + } + + public static String getString_TrimZeroLenAs(Object value, String str) + { + if ((value == null) || (value.toString().trim().length() == 0)) { + return str; + } + return value.toString().trim(); + } + + public static String getString_TrimAsNull(Object value) { + if ((value == null) || (value.toString().trim().length() == 0)) { + return ""; + } + return value.toString().trim(); + } + + public static String getInStr(Collection coll) + { + String intStr = null; + if ((coll != null) && (coll.size() > 0)) { + StringBuilder sb = new StringBuilder(); + String[] values = (String[])coll.toArray(new String[0]); + for (int i = 0; i < values.length; i++) { + sb.append("'").append(values[i]).append("'"); + if (i < values.length - 1) + sb.append(","); + } + intStr = sb.toString(); + } + return intStr; + } + + public static String getInSqlWithOutAnd(String sFieldName, ArrayList alValue, int start, int num) + { + if ((sFieldName == null) || (sFieldName.trim().length() == 0) || + (alValue == null) || (start < 0) || (num < 0)) + return null; + StringBuffer sbSQL = new StringBuffer(200); + sbSQL.append(" (").append(sFieldName).append(" IN ("); + int end = start + num; + for (int i = start; i < end; i++) { + if ((alValue.get(i) != null) && + (alValue.get(i).toString().trim().length() > 0)) { + sbSQL.append("'").append(alValue.get(i)).append("'"); + if ((i != alValue.size() - 1) && ((i <= 0) || (i % 200 != 0))) + sbSQL.append(","); + } else { + return null; + } + if ((i > 0) && (i % 200 == 0)) + sbSQL.append(" ) OR ").append(sFieldName).append(" IN ( "); + } + sbSQL.append(" ) )"); + return sbSQL.toString(); + } + public static String getInSqlWithOutAnd(String sFieldName, List alValue, int start, int num) + { + if ((sFieldName == null) || (sFieldName.trim().length() == 0) || + (alValue == null) || (start < 0) || (num < 0)) + return null; + StringBuffer sbSQL = new StringBuffer(200); + sbSQL.append(" (").append(sFieldName).append(" IN ("); + int end = start + num; + for (int i = start; i < end; i++) { + if ((alValue.get(i) != null) && + (alValue.get(i).toString().trim().length() > 0)) { + sbSQL.append("'").append(alValue.get(i)).append("'"); + if ((i != alValue.size() - 1) && ((i <= 0) || (i % 200 != 0))) + sbSQL.append(","); + } else { + return null; + } + if ((i > 0) && (i % 200 == 0)) + sbSQL.append(" ) OR ").append(sFieldName).append(" IN ( "); + } + sbSQL.append(" ) )"); + return sbSQL.toString(); + } + public static String getInSqlWithOutAnd(String sFieldName, String[] saValue, int start, int num) + { + if ((sFieldName == null) || (sFieldName.trim().length() == 0) || + (saValue == null) || (start < 0) || (num < 0) || + (saValue.length < start + num)) + return null; + StringBuffer sbSQL = new StringBuffer(200); + sbSQL.append(" (").append(sFieldName).append(" IN ( "); + int end = start + num; + for (int i = start; i < end; i++) { + if ((saValue[i] != null) && (saValue[i].trim().length() > 0)) { + sbSQL.append("'").append(saValue[i]).append("'"); + if ((i != saValue.length - 1) && ((i <= 0) || (i % 200 != 0))) + sbSQL.append(","); + } else { + return null; + } + if ((i > 0) && (i % 200 == 0)) + sbSQL.append(" ) OR ").append(sFieldName).append(" IN ( "); + } + sbSQL.append(" ) )"); + return sbSQL.toString(); + } + + public static String getInSqlWithOutAnd(String sFieldName, Object[] oValue, int start, int num) { + if ((sFieldName == null) || (sFieldName.trim().length() == 0) || + (oValue == null) || (start < 0) || (num < 0) || + (oValue.length < start + num)) + return null; + StringBuffer sbSQL = new StringBuffer(200); + sbSQL.append(" (").append(sFieldName).append(" IN ( "); + int end = start + num; + for (int i = start; i < end; i++) { + String sValue = getString_TrimZeroLenAsNull(oValue); + if (oValue[i] != null) { + sbSQL.append("'").append(sValue).append("'"); + if ((i != oValue.length - 1) && ((i <= 0) || (i % 200 != 0))) + sbSQL.append(","); + } else { + return null; + } + if ((i > 0) && (i % 200 == 0)) + sbSQL.append(" ) OR ").append(sFieldName).append(" IN ( "); + } + sbSQL.append(" ) )"); + return sbSQL.toString(); + } +} \ No newline at end of file