|
@@ -0,0 +1,91 @@
|
|
|
+package com.huimv.farm.damsubsidy.common.utils;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
+import com.huimv.farm.damsubsidy.entity.EartagResult;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
+
|
|
|
+public class EartagUtil {
|
|
|
+
|
|
|
+ //获取耳标集合
|
|
|
+ public static EartagResult getEartagCollection(String eartagStr){
|
|
|
+ //12+3,
|
|
|
+ //12+3-3
|
|
|
+ //12+3-3,3,3,3,
|
|
|
+ //12+3-3,3,3,3,12+3,3
|
|
|
+ //12+3-3,3,3,3,12+3-3
|
|
|
+ EartagResult eartagResult = new EartagResult();
|
|
|
+ if ( StringUtils.isBlank(eartagStr)){
|
|
|
+ eartagResult.setMsg("耳标号为空");
|
|
|
+ eartagResult.setSuccess(false);
|
|
|
+ return eartagResult;
|
|
|
+ }
|
|
|
+ List<String> endList = new ArrayList();
|
|
|
+ Set<String> endSet = new HashSet<>();
|
|
|
+ eartagStr = eartagStr.replaceAll(",",",").replaceAll(" ","");
|
|
|
+ String[] split = eartagStr.split(",");
|
|
|
+ String firstEartag = split[0];
|
|
|
+
|
|
|
+ if (firstEartag.length() != 15 && firstEartag.length() != 19){
|
|
|
+ eartagResult.setMsg("耳标"+firstEartag+"格式不正确");
|
|
|
+ eartagResult.setSuccess(false);
|
|
|
+ return eartagResult;
|
|
|
+ }
|
|
|
+ String eartagPrefix = "";
|
|
|
+ for (String eartag : split) {
|
|
|
+ String newEartag ;
|
|
|
+ int eartagLength = eartag.length();
|
|
|
+ if (eartagLength ==3 ){
|
|
|
+ newEartag = eartagPrefix +eartag;
|
|
|
+ endList.add(newEartag);
|
|
|
+ endSet.add(newEartag);
|
|
|
+ } else if (eartagLength ==15 ){
|
|
|
+ eartagPrefix = eartag.substring(0,12);
|
|
|
+ newEartag = eartagPrefix +eartag;
|
|
|
+ endList.add(newEartag);
|
|
|
+ endSet.add(newEartag);
|
|
|
+ } else if (eartagLength ==19){
|
|
|
+ eartagPrefix = eartag.substring(0,12);
|
|
|
+ Integer eartagStart = Integer.parseInt(eartag.substring(12, 15));
|
|
|
+ Integer eartagEnd = Integer.parseInt(eartag.substring(16));
|
|
|
+ if (eartagEnd <= eartagStart){
|
|
|
+ eartagResult.setMsg("耳标"+firstEartag+"格式不正确");
|
|
|
+ eartagResult.setSuccess(false);
|
|
|
+ return eartagResult;
|
|
|
+ }
|
|
|
+
|
|
|
+ for (Integer integer = eartagStart; integer <= eartagEnd; integer++) {
|
|
|
+ newEartag = eartagPrefix +getStr(eartagStart,3);
|
|
|
+ endList.add(newEartag);
|
|
|
+ endSet.add(newEartag);
|
|
|
+ }
|
|
|
+
|
|
|
+ }else {
|
|
|
+ eartagResult.setMsg("耳标"+firstEartag+"格式不正确");
|
|
|
+ eartagResult.setSuccess(false);
|
|
|
+ return eartagResult;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ eartagResult.setSuccess(true);
|
|
|
+ eartagResult.setMsg("解析成功");
|
|
|
+ eartagResult.setEartagList(endList);
|
|
|
+ eartagResult.setEartagSet(endSet);
|
|
|
+
|
|
|
+ return eartagResult;
|
|
|
+ }
|
|
|
+
|
|
|
+ //补零
|
|
|
+ private static String getStr(Integer eartagStart,Integer num) {
|
|
|
+ StringBuilder eartagStr = new StringBuilder(eartagStart.toString());
|
|
|
+ for (int integer = 0; integer < num; integer++) {
|
|
|
+ if (eartagStr.length() < num){
|
|
|
+ eartagStr.insert(0, "0");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return eartagStr.toString();
|
|
|
+ }
|
|
|
+}
|