Forráskód Böngészése

解决拼音码超长的问题

hurugang 3 éve
szülő
commit
fa23805eee

+ 8 - 0
src/main/java/cn/hnthyy/thmz/Utils/PyWbUtil.java

@@ -5,6 +5,7 @@ import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
 import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
 import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
 import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * 拼音和五笔编码工具
@@ -66,6 +67,9 @@ public class PyWbUtil {
      * @return
      */
     public static String toBigFirstChar(String chines) {
+        if(StringUtils.isNotBlank(chines)&& chines.length()>8){
+            chines = chines.substring(0,8);
+        }
         String pinyinName = "";
         char[] nameChar = chines.toCharArray();
         HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
@@ -93,6 +97,10 @@ public class PyWbUtil {
      * @return
      */
     public static String getWBCode(String str) {
+        if(StringUtils.isNotBlank(str)&& str.length()>8){
+            str = str.substring(0,8);
+            str=str.replaceAll("(","(").replaceAll(")",")");
+        }
         StringBuffer result = new StringBuffer();
         //用char循环取得每一个String的 字符
         for (int i = 0; i < str.length(); i++) {

+ 2 - 8
src/main/java/cn/hnthyy/thmz/service/impl/his/zd/JcZdItemServiceImpl.java

@@ -37,14 +37,8 @@ public class JcZdItemServiceImpl implements JcZdItemService {
 
     @Override
     public int saveJcZdItem(JcZdItem jcZdItem) {
-        if(StringUtils.isNotBlank(jcZdItem.getName())){
-            String name = jcZdItem.getName();
-            if(jcZdItem.getName().length()>8){
-                name = jcZdItem.getName().substring(0,8);
-            }
-            jcZdItem.setPyCode(PyWbUtil.toBigFirstChar(name));
-            jcZdItem.setWbCode(PyWbUtil.getWBCode(name));
-        }
+        jcZdItem.setPyCode(PyWbUtil.toBigFirstChar(jcZdItem.getName()));
+        jcZdItem.setWbCode(PyWbUtil.getWBCode(jcZdItem.getName()));
         if(StringUtils.isBlank(jcZdItem.getCode())){
             String lastCode=jcZdItemMapper.selectLastCode();
             jcZdItem.setCode(SignUtil.getNewCoder(lastCode));

+ 2 - 8
src/main/java/cn/hnthyy/thmz/service/impl/his/zd/JyZdItemServiceImpl.java

@@ -42,14 +42,8 @@ public class JyZdItemServiceImpl implements JyZdItemService {
 
     @Override
     public int saveJyZdItem(JyZdItem jyZdItem) {
-        if(StringUtils.isNotBlank(jyZdItem.getName())){
-            String name = jyZdItem.getName();
-            if(jyZdItem.getName().length()>8){
-                name = jyZdItem.getName().substring(0,8);
-            }
-            jyZdItem.setPyCode(PyWbUtil.toBigFirstChar(name));
-            jyZdItem.setWbCode(PyWbUtil.getWBCode(name));
-        }
+        jyZdItem.setPyCode(PyWbUtil.toBigFirstChar(jyZdItem.getName()));
+        jyZdItem.setWbCode(PyWbUtil.getWBCode(jyZdItem.getName()));
         if(StringUtils.isBlank(jyZdItem.getCode())){
             String lastCode=jyZdItemMapper.selectLastCode();
             jyZdItem.setCode(SignUtil.getNewCoder(lastCode));