|
@@ -1,4 +1,5 @@
|
|
|
package ieven.server.webapp.util.excel;
|
|
|
+
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
import java.text.DecimalFormat;
|
|
@@ -9,434 +10,446 @@ import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
|
|
|
|
public class PublicStatic {
|
|
|
- public static String PASSWORD = "42343243$wer1";
|
|
|
+ public static String PASSWORD = "42343243$wer1";
|
|
|
|
|
|
- //单机
|
|
|
- public static String NODE = "node";
|
|
|
- //服务器
|
|
|
- public static String MULTI = "multi";
|
|
|
- //版本,0表示试用,1表示正式,-1表示只限制单案件2万,-2表示限制一个案件,数据量20万
|
|
|
- public static Integer EDITION = 1;
|
|
|
- //最大累计导入数
|
|
|
- public static Long MAXUPLOAD = 200000L;
|
|
|
- //最大累加单案导入数
|
|
|
- public static Long MAXCASESUPLOAD = 20000L;
|
|
|
- //最大累计试用导入数
|
|
|
- public static Long MAXUPLOADPROBATION = 20000L;
|
|
|
+ // 单机
|
|
|
+ public static String NODE = "node";
|
|
|
+ // 服务器
|
|
|
+ public static String MULTI = "multi";
|
|
|
+ // 版本,0表示试用,1表示正式,-1表示只限制单案件2万,-2表示限制一个案件,数据量20万
|
|
|
+ public static Integer EDITION = 1;
|
|
|
+ // 最大累计导入数
|
|
|
+ public static Long MAXUPLOAD = 200000L;
|
|
|
+ // 最大累加单案导入数
|
|
|
+ public static Long MAXCASESUPLOAD = 20000L;
|
|
|
+ // 最大累计试用导入数
|
|
|
+ public static Long MAXUPLOADPROBATION = 20000L;
|
|
|
|
|
|
- public static String matcherString() {
|
|
|
- int[] input = new int[]{0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a,
|
|
|
- 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99,
|
|
|
- 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xad, 0x483, 0x484, 0x485, 0x486, 0x487, 0x488, 0x489,
|
|
|
- 0x559, 0x55a, 0x58a, 0x591, 0x592, 0x593, 0x594, 0x595, 0x596, 0x597, 0x598, 0x599, 0x59a,
|
|
|
- 0x59b, 0x59c, 0x59d, 0x59e, 0x59f, 0x5a0, 0x5a1, 0x5a2, 0x5a3, 0x5a4, 0x5a5, 0x5a6, 0x5a7,
|
|
|
- 0x5a8, 0x5a9, 0x5aa, 0x5ab, 0x5ac, 0x5ad, 0x5ae, 0x5af, 0x5b0, 0x5b1, 0x5b2, 0x5b3, 0x5b4,
|
|
|
- 0x5b5, 0x5b6, 0x5b7, 0x5b8, 0x5b9, 0x5ba, 0x5bb, 0x5bc, 0x5bd, 0x5bf, 0x5c1, 0x5c2, 0x5c4,
|
|
|
- 0x5c5, 0x5c6, 0x5c7, 0x606, 0x607, 0x608, 0x609, 0x60a, 0x63b, 0x63c, 0x63d, 0x63e, 0x63f,
|
|
|
- 0x674, 0x6e5, 0x6e6, 0x70f, 0x76e, 0x76f, 0x770, 0x771, 0x772, 0x773, 0x774, 0x775, 0x776,
|
|
|
- 0x777, 0x778, 0x779, 0x77a, 0x77b, 0x77c, 0x77d, 0x77e, 0x77f, 0xa51, 0xa75, 0xb44, 0xb62,
|
|
|
- 0xb63, 0xc62, 0xc63, 0xce2, 0xce3, 0xd62, 0xd63, 0x135f, 0x200b, 0x200c, 0x200d, 0x200e,
|
|
|
- 0x200f, 0x2028, 0x2029, 0x202a, 0x202b, 0x202c, 0x202d, 0x202e, 0x2044, 0x2071, 0xf701,
|
|
|
- 0xf702, 0xf703, 0xf704, 0xf705, 0xf706, 0xf707, 0xf708, 0xf709, 0xf70a, 0xf70b, 0xf70c,
|
|
|
- 0xf70d, 0xf70e, 0xf710, 0xf711, 0xf712, 0xf713, 0xf714, 0xf715, 0xf716, 0xf717, 0xf718,
|
|
|
- 0xf719, 0xf71a, 0xfb1e, 0xfc5e, 0xfc5f, 0xfc60, 0xfc61, 0xfc62, 0xfeff, 0xfffc};
|
|
|
- StringBuilder b = new StringBuilder();
|
|
|
- int lastContinuous = -1;
|
|
|
- int span = 0;
|
|
|
- for (int i = 0; i < input.length; i++) {
|
|
|
- if (lastContinuous == -1 && i < input.length - 1 && input[i] + 1 == input[i + 1]) {
|
|
|
- lastContinuous = input[i];
|
|
|
- span = 1;
|
|
|
- } else {
|
|
|
- if (input[i] == lastContinuous + span) {
|
|
|
- span++;
|
|
|
- } else if (lastContinuous != -1) {
|
|
|
- if (b.length() > 0)
|
|
|
- b.append("|");
|
|
|
- b.append(String.format("[\\u%s-\\u%s]", zerolize(Integer.toHexString(lastContinuous)),
|
|
|
- zerolize(Integer.toHexString(lastContinuous + span - 1))));
|
|
|
- span = 0;
|
|
|
- lastContinuous = -1;
|
|
|
- i--;
|
|
|
- } else {
|
|
|
- b.append("|\\u" + zerolize(Integer.toHexString(input[i])));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (lastContinuous != -1) {
|
|
|
- if (b.length() > 0)
|
|
|
- b.append("|");
|
|
|
- b.append(String.format("[\\u%s-\\u%s]", zerolize(Integer.toHexString(lastContinuous)),
|
|
|
- zerolize(Integer.toHexString(lastContinuous + span - 1))));
|
|
|
+ public static String matcherString() {
|
|
|
+ int[] input =
|
|
|
+ new int[] {
|
|
|
+ 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d,
|
|
|
+ 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c,
|
|
|
+ 0x9d, 0x9e, 0x9f, 0xad, 0x483, 0x484, 0x485, 0x486, 0x487, 0x488, 0x489, 0x559, 0x55a,
|
|
|
+ 0x58a, 0x591, 0x592, 0x593, 0x594, 0x595, 0x596, 0x597, 0x598, 0x599, 0x59a, 0x59b, 0x59c,
|
|
|
+ 0x59d, 0x59e, 0x59f, 0x5a0, 0x5a1, 0x5a2, 0x5a3, 0x5a4, 0x5a5, 0x5a6, 0x5a7, 0x5a8, 0x5a9,
|
|
|
+ 0x5aa, 0x5ab, 0x5ac, 0x5ad, 0x5ae, 0x5af, 0x5b0, 0x5b1, 0x5b2, 0x5b3, 0x5b4, 0x5b5, 0x5b6,
|
|
|
+ 0x5b7, 0x5b8, 0x5b9, 0x5ba, 0x5bb, 0x5bc, 0x5bd, 0x5bf, 0x5c1, 0x5c2, 0x5c4, 0x5c5, 0x5c6,
|
|
|
+ 0x5c7, 0x606, 0x607, 0x608, 0x609, 0x60a, 0x63b, 0x63c, 0x63d, 0x63e, 0x63f, 0x674, 0x6e5,
|
|
|
+ 0x6e6, 0x70f, 0x76e, 0x76f, 0x770, 0x771, 0x772, 0x773, 0x774, 0x775, 0x776, 0x777, 0x778,
|
|
|
+ 0x779, 0x77a, 0x77b, 0x77c, 0x77d, 0x77e, 0x77f, 0xa51, 0xa75, 0xb44, 0xb62, 0xb63, 0xc62,
|
|
|
+ 0xc63, 0xce2, 0xce3, 0xd62, 0xd63, 0x135f, 0x200b, 0x200c, 0x200d, 0x200e, 0x200f, 0x2028,
|
|
|
+ 0x2029, 0x202a, 0x202b, 0x202c, 0x202d, 0x202e, 0x2044, 0x2071, 0xf701, 0xf702, 0xf703,
|
|
|
+ 0xf704, 0xf705, 0xf706, 0xf707, 0xf708, 0xf709, 0xf70a, 0xf70b, 0xf70c, 0xf70d, 0xf70e,
|
|
|
+ 0xf710, 0xf711, 0xf712, 0xf713, 0xf714, 0xf715, 0xf716, 0xf717, 0xf718, 0xf719, 0xf71a,
|
|
|
+ 0xfb1e, 0xfc5e, 0xfc5f, 0xfc60, 0xfc61, 0xfc62, 0xfeff, 0xfffc
|
|
|
+ };
|
|
|
+ StringBuilder b = new StringBuilder();
|
|
|
+ int lastContinuous = -1;
|
|
|
+ int span = 0;
|
|
|
+ for (int i = 0; i < input.length; i++) {
|
|
|
+ if (lastContinuous == -1 && i < input.length - 1 && input[i] + 1 == input[i + 1]) {
|
|
|
+ lastContinuous = input[i];
|
|
|
+ span = 1;
|
|
|
+ } else {
|
|
|
+ if (input[i] == lastContinuous + span) {
|
|
|
+ span++;
|
|
|
+ } else if (lastContinuous != -1) {
|
|
|
+ if (b.length() > 0) {
|
|
|
+ b.append("|");
|
|
|
+ }
|
|
|
+ b.append(
|
|
|
+ String.format(
|
|
|
+ "[\\u%s-\\u%s]",
|
|
|
+ zerolize(Integer.toHexString(lastContinuous)),
|
|
|
+ zerolize(Integer.toHexString(lastContinuous + span - 1))));
|
|
|
+ span = 0;
|
|
|
+ lastContinuous = -1;
|
|
|
+ i--;
|
|
|
+ } else {
|
|
|
+ b.append("|\\u" + zerolize(Integer.toHexString(input[i])));
|
|
|
}
|
|
|
- return b.toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (lastContinuous != -1) {
|
|
|
+ if (b.length() > 0) {
|
|
|
+ b.append("|");
|
|
|
+ }
|
|
|
+ b.append(
|
|
|
+ String.format(
|
|
|
+ "[\\u%s-\\u%s]",
|
|
|
+ zerolize(Integer.toHexString(lastContinuous)),
|
|
|
+ zerolize(Integer.toHexString(lastContinuous + span - 1))));
|
|
|
}
|
|
|
+ return b.toString();
|
|
|
+ }
|
|
|
|
|
|
- public static String patternCompile = matcherString();
|
|
|
- //反洗钱
|
|
|
- public static Map<String, String> AML = new HashMap<String, String>() {
|
|
|
+ public static String patternCompile = matcherString();
|
|
|
+ // 反洗钱
|
|
|
+ public static Map<String, String> AML =
|
|
|
+ new HashMap<String, String>() {
|
|
|
{
|
|
|
- put("美元金额", "外币交易额(折合美元)");
|
|
|
- put("人民币金额", "交易金额");
|
|
|
- put("货币名称", "交易币种");
|
|
|
-// put("付款方网点代码","交易网点名称");
|
|
|
- put("代办人名称", "经办人姓名");
|
|
|
- put("代办人证件号码", "经办人证件号码");
|
|
|
- put("用途", "资金用途");
|
|
|
-// put("交易卡号", "用途 ");
|
|
|
- put("付款方账号", "交易账号");
|
|
|
- put("付款方名称", "交易户名");
|
|
|
- put("付款方证件号码", "交易证件号码");
|
|
|
- put("付款方银行", "开户网点");
|
|
|
+ put("美元金额", "外币交易额(折合美元)");
|
|
|
+ put("人民币金额", "交易金额");
|
|
|
+ put("货币名称", "交易币种");
|
|
|
+ // put("付款方网点代码","交易网点名称");
|
|
|
+ put("代办人名称", "经办人姓名");
|
|
|
+ put("代办人证件号码", "经办人证件号码");
|
|
|
+ put("用途", "资金用途");
|
|
|
+ // put("交易卡号", "用途 ");
|
|
|
+ put("付款方账号", "交易账号");
|
|
|
+ put("付款方名称", "交易户名");
|
|
|
+ put("付款方证件号码", "交易证件号码");
|
|
|
+ put("付款方银行", "开户网点");
|
|
|
|
|
|
- put("收款方账号", "对手账号");
|
|
|
- put("收款方名称", "对手户名");
|
|
|
- put("收款方证件号码", "对手身份证号");
|
|
|
- put("收款方银行", "对手开户银行");
|
|
|
+ put("收款方账号", "对手账号");
|
|
|
+ put("收款方名称", "对手户名");
|
|
|
+ put("收款方证件号码", "对手身份证号");
|
|
|
+ put("收款方银行", "对手开户银行");
|
|
|
}
|
|
|
- };
|
|
|
- public static Map<Integer, String> IDLABELMAP = new HashMap<Integer, String>() {
|
|
|
+ };
|
|
|
+ public static Map<Integer, String> IDLABELMAP =
|
|
|
+ new HashMap<Integer, String>() {
|
|
|
{
|
|
|
- put(0, "number");
|
|
|
- put(1, "openAccountSite");
|
|
|
- put(2, "tradeCardNumber");
|
|
|
- put(3, "tradeAccount");
|
|
|
- put(4, "tradeUserName");
|
|
|
- put(5, "tradeIdNumber");
|
|
|
- put(6, "tradeDate");
|
|
|
- put(7, "tradeTime");
|
|
|
- put(8, "paymentMark");
|
|
|
- put(9, "tradeSum");
|
|
|
- put(10, "incomeSum");
|
|
|
- put(11, "outPaySum");
|
|
|
- put(12, "tradeRemainder");
|
|
|
- put(13, "opponentAccount");
|
|
|
- put(14, "opponentCardNumber");
|
|
|
- put(15, "cashMark");
|
|
|
- put(16, "opponentUserName");
|
|
|
- put(17, "opponentIdentify");
|
|
|
- put(18, "opponentAccountBank");
|
|
|
- put(19, "summary");
|
|
|
- put(20, "tradeCurrency");
|
|
|
- put(21, "tradeSiteName");
|
|
|
- put(22, "tradePlace");
|
|
|
- put(23, "tradeHappenPlace");
|
|
|
- put(24, "isTradeSuccess");
|
|
|
- put(25, "summons");
|
|
|
- put(26, "IPAddress");
|
|
|
- put(27, "MACAddress");
|
|
|
- put(28, "opponentTradeSum");
|
|
|
- put(29, "tradeSerialNumber");
|
|
|
- put(30, "channel");
|
|
|
- put(31, "logNumber");
|
|
|
- put(32, "voucherType");
|
|
|
- put(33, "voucherNumber");
|
|
|
- put(34, "tradeCounterNumber");
|
|
|
- put(35, "foreignCurrencyTradeSum");
|
|
|
- put(36, "operatorName");
|
|
|
- put(37, "operatorIdentify");
|
|
|
- put(38, "operatorRelationWithOwner");
|
|
|
- put(39, "capitalUse");
|
|
|
- put(40, "settlementWay");
|
|
|
- put(41, "statement");
|
|
|
- put(42, "opponentLabel");
|
|
|
- put(43, "remarks");
|
|
|
- put(44, "standbyOne");
|
|
|
- put(45, "standbyTwo");
|
|
|
- put(46, "standbyThree");
|
|
|
- put(47, "standbyFour");
|
|
|
- put(48, "standbyFive");
|
|
|
- put(49, "searchFeedBackResultReason");
|
|
|
+ put(0, "number");
|
|
|
+ put(1, "openAccountSite");
|
|
|
+ put(2, "tradeCardNumber");
|
|
|
+ put(3, "tradeAccount");
|
|
|
+ put(4, "tradeUserName");
|
|
|
+ put(5, "tradeIdNumber");
|
|
|
+ put(6, "tradeDate");
|
|
|
+ put(7, "tradeTime");
|
|
|
+ put(8, "paymentMark");
|
|
|
+ put(9, "tradeSum");
|
|
|
+ put(10, "incomeSum");
|
|
|
+ put(11, "outPaySum");
|
|
|
+ put(12, "tradeRemainder");
|
|
|
+ put(13, "opponentAccount");
|
|
|
+ put(14, "opponentCardNumber");
|
|
|
+ put(15, "cashMark");
|
|
|
+ put(16, "opponentUserName");
|
|
|
+ put(17, "opponentIdentify");
|
|
|
+ put(18, "opponentAccountBank");
|
|
|
+ put(19, "summary");
|
|
|
+ put(20, "tradeCurrency");
|
|
|
+ put(21, "tradeSiteName");
|
|
|
+ put(22, "tradePlace");
|
|
|
+ put(23, "tradeHappenPlace");
|
|
|
+ put(24, "isTradeSuccess");
|
|
|
+ put(25, "summons");
|
|
|
+ put(26, "IPAddress");
|
|
|
+ put(27, "MACAddress");
|
|
|
+ put(28, "opponentTradeSum");
|
|
|
+ put(29, "tradeSerialNumber");
|
|
|
+ put(30, "channel");
|
|
|
+ put(31, "logNumber");
|
|
|
+ put(32, "voucherType");
|
|
|
+ put(33, "voucherNumber");
|
|
|
+ put(34, "tradeCounterNumber");
|
|
|
+ put(35, "foreignCurrencyTradeSum");
|
|
|
+ put(36, "operatorName");
|
|
|
+ put(37, "operatorIdentify");
|
|
|
+ put(38, "operatorRelationWithOwner");
|
|
|
+ put(39, "capitalUse");
|
|
|
+ put(40, "settlementWay");
|
|
|
+ put(41, "statement");
|
|
|
+ put(42, "opponentLabel");
|
|
|
+ put(43, "remarks");
|
|
|
+ put(44, "standbyOne");
|
|
|
+ put(45, "standbyTwo");
|
|
|
+ put(46, "standbyThree");
|
|
|
+ put(47, "standbyFour");
|
|
|
+ put(48, "standbyFive");
|
|
|
+ put(49, "searchFeedBackResultReason");
|
|
|
}
|
|
|
- };
|
|
|
- public static Map<String, Integer> LABELIDMAP = new HashMap<String, Integer>() {
|
|
|
+ };
|
|
|
+ public static Map<String, Integer> LABELIDMAP =
|
|
|
+ new HashMap<String, Integer>() {
|
|
|
{
|
|
|
- put("number", 0);
|
|
|
- put("openAccountSite", 1);
|
|
|
- put("tradeCardNumber", 2);
|
|
|
- put("tradeAccount", 3);
|
|
|
- put("tradeUserName", 4);
|
|
|
- put("tradeIdNumber", 5);
|
|
|
- put("tradeDate", 6);
|
|
|
- put("tradeTime", 7);
|
|
|
- put("paymentMark", 8);
|
|
|
- put("tradeSum", 9);
|
|
|
- put("incomeSum", 10);
|
|
|
- put("outPaySum", 11);
|
|
|
- put("tradeRemainder", 12);
|
|
|
- put("opponentAccount", 13);
|
|
|
- put("opponentCardNumber", 14);
|
|
|
- put("cashMark", 15);
|
|
|
- put("opponentUserName", 16);
|
|
|
- put("opponentIdentify", 17);
|
|
|
- put("opponentAccountBank", 18);
|
|
|
- put("summary", 19);
|
|
|
- put("tradeCurrency", 20);
|
|
|
- put("tradeSiteName", 21);
|
|
|
- put("tradePlace", 22);
|
|
|
- put("tradeHappenPlace", 23);
|
|
|
- put("isTradeSuccess", 24);
|
|
|
- put("summons", 25);
|
|
|
- put("IPAddress", 26);
|
|
|
- put("MACAddress", 27);
|
|
|
- put("opponentTradeSum", 28);
|
|
|
- put("tradeSerialNumber", 29);
|
|
|
- put("channel", 30);
|
|
|
- put("logNumber", 31);
|
|
|
- put("voucherType", 32);
|
|
|
- put("voucherNumber", 33);
|
|
|
- put("tradeCounterNumber", 34);
|
|
|
- put("foreignCurrencyTradeSum", 35);
|
|
|
- put("operatorName", 36);
|
|
|
- put("operatorIdentify", 37);
|
|
|
- put("operatorRelationWithOwner", 38);
|
|
|
- put("capitalUse", 39);
|
|
|
- put("settlementWay", 40);
|
|
|
- put("statement", 41);
|
|
|
- put("opponentLabel", 42);
|
|
|
- put("remarks", 43);
|
|
|
- put("standbyOne", 44);
|
|
|
- put("standbyTwo", 45);
|
|
|
- put("standbyThree", 46);
|
|
|
- put("standbyFour", 47);
|
|
|
- put("standbyFive", 48);
|
|
|
- put("searchFeedBackResultReason", 49);
|
|
|
+ put("number", 0);
|
|
|
+ put("openAccountSite", 1);
|
|
|
+ put("tradeCardNumber", 2);
|
|
|
+ put("tradeAccount", 3);
|
|
|
+ put("tradeUserName", 4);
|
|
|
+ put("tradeIdNumber", 5);
|
|
|
+ put("tradeDate", 6);
|
|
|
+ put("tradeTime", 7);
|
|
|
+ put("paymentMark", 8);
|
|
|
+ put("tradeSum", 9);
|
|
|
+ put("incomeSum", 10);
|
|
|
+ put("outPaySum", 11);
|
|
|
+ put("tradeRemainder", 12);
|
|
|
+ put("opponentAccount", 13);
|
|
|
+ put("opponentCardNumber", 14);
|
|
|
+ put("cashMark", 15);
|
|
|
+ put("opponentUserName", 16);
|
|
|
+ put("opponentIdentify", 17);
|
|
|
+ put("opponentAccountBank", 18);
|
|
|
+ put("summary", 19);
|
|
|
+ put("tradeCurrency", 20);
|
|
|
+ put("tradeSiteName", 21);
|
|
|
+ put("tradePlace", 22);
|
|
|
+ put("tradeHappenPlace", 23);
|
|
|
+ put("isTradeSuccess", 24);
|
|
|
+ put("summons", 25);
|
|
|
+ put("IPAddress", 26);
|
|
|
+ put("MACAddress", 27);
|
|
|
+ put("opponentTradeSum", 28);
|
|
|
+ put("tradeSerialNumber", 29);
|
|
|
+ put("channel", 30);
|
|
|
+ put("logNumber", 31);
|
|
|
+ put("voucherType", 32);
|
|
|
+ put("voucherNumber", 33);
|
|
|
+ put("tradeCounterNumber", 34);
|
|
|
+ put("foreignCurrencyTradeSum", 35);
|
|
|
+ put("operatorName", 36);
|
|
|
+ put("operatorIdentify", 37);
|
|
|
+ put("operatorRelationWithOwner", 38);
|
|
|
+ put("capitalUse", 39);
|
|
|
+ put("settlementWay", 40);
|
|
|
+ put("statement", 41);
|
|
|
+ put("opponentLabel", 42);
|
|
|
+ put("remarks", 43);
|
|
|
+ put("standbyOne", 44);
|
|
|
+ put("standbyTwo", 45);
|
|
|
+ put("standbyThree", 46);
|
|
|
+ put("standbyFour", 47);
|
|
|
+ put("standbyFive", 48);
|
|
|
+ put("searchFeedBackResultReason", 49);
|
|
|
}
|
|
|
- };
|
|
|
+ };
|
|
|
|
|
|
- public static Map<Integer, String> jurisdiction = new HashMap<Integer, String>() {
|
|
|
+ public static Map<Integer, String> jurisdiction =
|
|
|
+ new HashMap<Integer, String>() {
|
|
|
{
|
|
|
- put(1, "公开");
|
|
|
- put(2, "私密");
|
|
|
- put(3, "共享");
|
|
|
+ put(1, "公开");
|
|
|
+ put(2, "私密");
|
|
|
+ put(3, "共享");
|
|
|
}
|
|
|
- };
|
|
|
- //0表示其他 1表示第三方,2表示现金,3表示理财,4表示有收有付,5只收不付,6表示只付不收'
|
|
|
+ };
|
|
|
+ // 0表示其他 1表示第三方,2表示现金,3表示理财,4表示有收有付,5只收不付,6表示只付不收'
|
|
|
|
|
|
- public static Map<Integer, String> transactionType = new HashMap<Integer, String>() {
|
|
|
+ public static Map<Integer, String> transactionType =
|
|
|
+ new HashMap<Integer, String>() {
|
|
|
{
|
|
|
- put(0, "其他");
|
|
|
- put(1, "第三方");
|
|
|
- put(2, "现金");
|
|
|
- put(3, "理财");
|
|
|
- put(4, "有收有付");
|
|
|
- put(5, "只收不付");
|
|
|
- put(6, "只付不收");
|
|
|
+ put(0, "其他");
|
|
|
+ put(1, "第三方");
|
|
|
+ put(2, "现金");
|
|
|
+ put(3, "理财");
|
|
|
+ put(4, "有收有付");
|
|
|
+ put(5, "只收不付");
|
|
|
+ put(6, "只付不收");
|
|
|
}
|
|
|
- };
|
|
|
+ };
|
|
|
|
|
|
- public static Map<Integer, String> status = new HashMap<Integer, String>() {
|
|
|
+ public static Map<Integer, String> status =
|
|
|
+ new HashMap<Integer, String>() {
|
|
|
{
|
|
|
- put(1, "在侦");
|
|
|
- put(2, "完结");
|
|
|
+ put(1, "在侦");
|
|
|
+ put(2, "完结");
|
|
|
}
|
|
|
- };
|
|
|
+ };
|
|
|
|
|
|
- /**
|
|
|
- * 去除字符串中所包含的空格(包括:空格(全角,半角)、制表符、换页符等)
|
|
|
- *
|
|
|
- * @param s
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static String removeAllBlank(String s) {
|
|
|
- String result = "";
|
|
|
- if (null != s && !"".equals(s)) {
|
|
|
- result = s.replaceAll("[ *| *| *|//s*]*", "");
|
|
|
- }
|
|
|
- return result;
|
|
|
+ /**
|
|
|
+ * 去除字符串中所包含的空格(包括:空格(全角,半角)、制表符、换页符等)
|
|
|
+ *
|
|
|
+ * @param s
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String removeAllBlank(String s) {
|
|
|
+ String result = "";
|
|
|
+ if (null != s && !"".equals(s)) {
|
|
|
+ result = s.replaceAll("[ *| *| *|//s*]*", "");
|
|
|
}
|
|
|
+ return result;
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 计算百分比
|
|
|
- */
|
|
|
- public static String percent(double y, double z) {
|
|
|
- if (z < y) {
|
|
|
- double baiy = y;
|
|
|
- y = z;
|
|
|
- z = baiy;
|
|
|
- }
|
|
|
-// String baifenbi = "";// 接受百分比的值
|
|
|
-// double baiy = y * 1.0;
|
|
|
-// double baiz = z * 1.0;
|
|
|
- if (z != 0.00) {
|
|
|
- double fen = y / z;
|
|
|
- NumberFormat nf = NumberFormat.getPercentInstance();// 注释掉的也是一种方法
|
|
|
- nf.setMinimumFractionDigits(2); //保留到小数点后几位
|
|
|
- DecimalFormat df1 = new DecimalFormat("##0.00%"); // ##.00%
|
|
|
- // 百分比格式,后面不足2位的用0补齐
|
|
|
-// String baifenbi = nf.format(fen);
|
|
|
- String baifenbi = df1.format(fen);
|
|
|
- return baifenbi;
|
|
|
- } else {
|
|
|
- return "0.00%";
|
|
|
- }
|
|
|
+ /** 计算百分比 */
|
|
|
+ public static String percent(double y, double z) {
|
|
|
+ if (z < y) {
|
|
|
+ double baiy = y;
|
|
|
+ y = z;
|
|
|
+ z = baiy;
|
|
|
}
|
|
|
-
|
|
|
- /**
|
|
|
- * 只保留数字,字母,中文与空格以及常用可见字符
|
|
|
- */
|
|
|
- public static String removeAllSpecial(String s) {
|
|
|
- s = ToDBC(s);
|
|
|
- Pattern p1 = Pattern.compile("[^\\w\\u4e00-\\u9fa5 |,.:;\\u005C\\`\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\_\\+\\=\\{\\}\\[\\]\\|\\<\\>\\?\\/]");
|
|
|
- Matcher m1 = p1.matcher(s);
|
|
|
- return m1.replaceAll("");
|
|
|
+ // String baifenbi = "";// 接受百分比的值
|
|
|
+ // double baiy = y * 1.0;
|
|
|
+ // double baiz = z * 1.0;
|
|
|
+ if (z != 0.00) {
|
|
|
+ double fen = y / z;
|
|
|
+ NumberFormat nf = NumberFormat.getPercentInstance(); // 注释掉的也是一种方法
|
|
|
+ nf.setMinimumFractionDigits(2); // 保留到小数点后几位
|
|
|
+ DecimalFormat df1 = new DecimalFormat("##0.00%"); // ##.00%
|
|
|
+ // 百分比格式,后面不足2位的用0补齐
|
|
|
+ // String baifenbi = nf.format(fen);
|
|
|
+ String baifenbi = df1.format(fen);
|
|
|
+ return baifenbi;
|
|
|
+ } else {
|
|
|
+ return "0.00%";
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 去掉所有的空格
|
|
|
- */
|
|
|
- public static String removeAllSpace(String s) {
|
|
|
- return StringUtils.deleteWhitespace(s);
|
|
|
- }
|
|
|
+ /** 只保留数字,字母,中文与空格以及常用可见字符 */
|
|
|
+ public static String removeAllSpecial(String s) {
|
|
|
+ s = ToDBC(s);
|
|
|
+ Pattern p1 =
|
|
|
+ Pattern.compile(
|
|
|
+ "[^\\w\\u4e00-\\u9fa5 |,.:;\\u005C\\`\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\_\\+\\=\\{\\}\\[\\]\\|\\<\\>\\?\\/]");
|
|
|
+ Matcher m1 = p1.matcher(s);
|
|
|
+ return m1.replaceAll("");
|
|
|
+ }
|
|
|
|
|
|
- public static String specialFormat(String s) {
|
|
|
- //全角转半角
|
|
|
- String result = "";
|
|
|
- if (null != s && !"".equals(s)) {
|
|
|
- result = s;
|
|
|
- result = result.replace("-", "-");
|
|
|
- result = result.replace("/", "/");
|
|
|
- result = result.replace("(", "(");
|
|
|
- result = result.replace(")", ")");
|
|
|
- }
|
|
|
- return result;
|
|
|
+ /** 去掉所有的空格 */
|
|
|
+ public static String removeAllSpace(String s) {
|
|
|
+ return StringUtils.deleteWhitespace(s);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String specialFormat(String s) {
|
|
|
+ // 全角转半角
|
|
|
+ String result = "";
|
|
|
+ if (null != s && !"".equals(s)) {
|
|
|
+ result = s;
|
|
|
+ result = result.replace("-", "-");
|
|
|
+ result = result.replace("/", "/");
|
|
|
+ result = result.replace("(", "(");
|
|
|
+ result = result.replace(")", ")");
|
|
|
}
|
|
|
+ return result;
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 包含数字
|
|
|
- *
|
|
|
- * @param company
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static boolean isContainNumber(String company) {
|
|
|
- Pattern p = Pattern.compile("[0-9]");
|
|
|
- Matcher m = p.matcher(company);
|
|
|
- if (m.find()) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
+ /**
|
|
|
+ * 包含数字
|
|
|
+ *
|
|
|
+ * @param company
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static boolean isContainNumber(String company) {
|
|
|
+ Pattern p = Pattern.compile("[0-9]");
|
|
|
+ Matcher m = p.matcher(company);
|
|
|
+ if (m.find()) {
|
|
|
+ return true;
|
|
|
}
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 包含数字,字母
|
|
|
- *
|
|
|
- * @param company
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static boolean isContain(String company) {
|
|
|
- Pattern p = Pattern.compile("[0-9A-Za-z\\u3007\\u3400-\\u4DB5\\u4E00-\\u9FCB\\uE815-\\uE864]");
|
|
|
- Matcher m = p.matcher(company);
|
|
|
- if (m.find()) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
-// return true;
|
|
|
+ /**
|
|
|
+ * 包含数字,字母
|
|
|
+ *
|
|
|
+ * @param company
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static boolean isContain(String company) {
|
|
|
+ Pattern p = Pattern.compile("[0-9A-Za-z\\u3007\\u3400-\\u4DB5\\u4E00-\\u9FCB\\uE815-\\uE864]");
|
|
|
+ Matcher m = p.matcher(company);
|
|
|
+ if (m.find()) {
|
|
|
+ return true;
|
|
|
}
|
|
|
+ return false;
|
|
|
+ // return true;
|
|
|
+ }
|
|
|
|
|
|
- private static String zerolize(String s) {
|
|
|
- if (s.length() < 4) {
|
|
|
- s = "000".substring(0, 4 - s.length()) + s;
|
|
|
- }
|
|
|
- return s;
|
|
|
+ private static String zerolize(String s) {
|
|
|
+ if (s.length() < 4) {
|
|
|
+ s = "000".substring(0, 4 - s.length()) + s;
|
|
|
}
|
|
|
+ return s;
|
|
|
+ }
|
|
|
|
|
|
- // 转全角的函数(SBC case)
|
|
|
-//任意字符串
|
|
|
-// 全角字符串
|
|
|
-//全角空格为12288,半角空格为32
|
|
|
-//其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
|
|
|
+ // 转全角的函数(SBC case)
|
|
|
+ // 任意字符串
|
|
|
+ // 全角字符串
|
|
|
+ // 全角空格为12288,半角空格为32
|
|
|
+ // 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
|
|
|
|
|
|
- public static String ToSBC(String input) { //半角转全角:
|
|
|
- char[] c = input.toCharArray();
|
|
|
- for (int i = 0; i < c.length; i++) {
|
|
|
- if (c[i] == 32) {
|
|
|
- c[i] = (char) 12288;
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (c[i] < 127) c[i] = (char) (c[i] + 65248);
|
|
|
- }
|
|
|
- return new String(c);
|
|
|
+ public static String ToSBC(String input) { // 半角转全角:
|
|
|
+ char[] c = input.toCharArray();
|
|
|
+ for (int i = 0; i < c.length; i++) {
|
|
|
+ if (c[i] == 32) {
|
|
|
+ c[i] = (char) 12288;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (c[i] < 127) {
|
|
|
+ c[i] = (char) (c[i] + 65248);
|
|
|
+ }
|
|
|
}
|
|
|
+ return new String(c);
|
|
|
+ }
|
|
|
|
|
|
- //转半角的函数(DBC case)
|
|
|
- //任意字符串
|
|
|
- //半角字符串
|
|
|
- //全角空格为12288,半角空格为32
|
|
|
- //其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
|
|
|
- public static String ToDBC(String input) {
|
|
|
- char[] c = input.toCharArray();
|
|
|
- for (int i = 0; i < c.length; i++) {
|
|
|
- if (c[i] == 12288) {
|
|
|
- c[i] = (char) 32;
|
|
|
- continue;
|
|
|
- }
|
|
|
- if (c[i] > 65280 && c[i] < 65375)
|
|
|
- c[i] = (char) (c[i] - 65248);
|
|
|
- }
|
|
|
- return new String(c);
|
|
|
+ // 转半角的函数(DBC case)
|
|
|
+ // 任意字符串
|
|
|
+ // 半角字符串
|
|
|
+ // 全角空格为12288,半角空格为32
|
|
|
+ // 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
|
|
|
+ public static String ToDBC(String input) {
|
|
|
+ char[] c = input.toCharArray();
|
|
|
+ for (int i = 0; i < c.length; i++) {
|
|
|
+ if (c[i] == 12288) {
|
|
|
+ c[i] = (char) 32;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (c[i] > 65280 && c[i] < 65375) {
|
|
|
+ c[i] = (char) (c[i] - 65248);
|
|
|
+ }
|
|
|
}
|
|
|
+ return new String(c);
|
|
|
+ }
|
|
|
|
|
|
- public static String repetitionSetNull(String str) {
|
|
|
- char[] chars = str.toCharArray();
|
|
|
- int v0 = 0;
|
|
|
- int v1 = 0;
|
|
|
- int v2 = 0;
|
|
|
- int v3 = 0;
|
|
|
- int v4 = 0;
|
|
|
- int v5 = 0;
|
|
|
- int v6 = 0;
|
|
|
- int v7 = 0;
|
|
|
- int v8 = 0;
|
|
|
- int v9 = 0;
|
|
|
- int count = 0;
|
|
|
- for (int i = 0; i < chars.length; i++) {
|
|
|
- switch (chars[i]) {
|
|
|
- case '0':
|
|
|
- v0 = 1;
|
|
|
- break;
|
|
|
- case '1':
|
|
|
- v1 = 1;
|
|
|
- break;
|
|
|
- case '2':
|
|
|
- v2 = 1;
|
|
|
- break;
|
|
|
- case '3':
|
|
|
- v3 = 1;
|
|
|
- break;
|
|
|
- case '4':
|
|
|
- v4 = 1;
|
|
|
- break;
|
|
|
- case '5':
|
|
|
- v5 = 1;
|
|
|
- break;
|
|
|
- case '6':
|
|
|
- v6 = 1;
|
|
|
- break;
|
|
|
- case '7':
|
|
|
- v7 = 1;
|
|
|
- break;
|
|
|
- case '8':
|
|
|
- v8 = 1;
|
|
|
- break;
|
|
|
- case '9':
|
|
|
- v9 = 1;
|
|
|
- break;
|
|
|
- default:
|
|
|
- count = 2;
|
|
|
- }
|
|
|
- if (count > 0) {
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- count = count + v0 + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9;
|
|
|
- if (count == 1) {
|
|
|
- return "";
|
|
|
- } else {
|
|
|
- return str;
|
|
|
- }
|
|
|
+ public static String repetitionSetNull(String str) {
|
|
|
+ char[] chars = str.toCharArray();
|
|
|
+ int v0 = 0;
|
|
|
+ int v1 = 0;
|
|
|
+ int v2 = 0;
|
|
|
+ int v3 = 0;
|
|
|
+ int v4 = 0;
|
|
|
+ int v5 = 0;
|
|
|
+ int v6 = 0;
|
|
|
+ int v7 = 0;
|
|
|
+ int v8 = 0;
|
|
|
+ int v9 = 0;
|
|
|
+ int count = 0;
|
|
|
+ for (int i = 0; i < chars.length; i++) {
|
|
|
+ switch (chars[i]) {
|
|
|
+ case '0':
|
|
|
+ v0 = 1;
|
|
|
+ break;
|
|
|
+ case '1':
|
|
|
+ v1 = 1;
|
|
|
+ break;
|
|
|
+ case '2':
|
|
|
+ v2 = 1;
|
|
|
+ break;
|
|
|
+ case '3':
|
|
|
+ v3 = 1;
|
|
|
+ break;
|
|
|
+ case '4':
|
|
|
+ v4 = 1;
|
|
|
+ break;
|
|
|
+ case '5':
|
|
|
+ v5 = 1;
|
|
|
+ break;
|
|
|
+ case '6':
|
|
|
+ v6 = 1;
|
|
|
+ break;
|
|
|
+ case '7':
|
|
|
+ v7 = 1;
|
|
|
+ break;
|
|
|
+ case '8':
|
|
|
+ v8 = 1;
|
|
|
+ break;
|
|
|
+ case '9':
|
|
|
+ v9 = 1;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ count = 2;
|
|
|
+ }
|
|
|
+ if (count > 0) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+ count = count + v0 + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9;
|
|
|
+ if (count == 1) {
|
|
|
+ return "";
|
|
|
+ } else {
|
|
|
+ return str;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
-
|