LIJU 2 weeks ago
parent
commit
224a9b302b

+ 44 - 2
src/main/java/thyyxxk/webserver/service/medicaladvice/nursing/NursingManagementService.java

@@ -754,7 +754,48 @@ public class NursingManagementService {
         return results;
     }
 
-
+    /**
+     * 自定义数字转中文方法,确保转换准确性
+     * @param number 数字
+     * @return 中文数字
+     */
+    private String numberToChinese(int number) {
+        if (number == 0) return "零";
+        if (number == 1) return "一";
+        if (number == 2) return "二";
+        if (number == 3) return "三";
+        if (number == 4) return "四";
+        if (number == 5) return "五";
+        if (number == 6) return "六";
+        if (number == 7) return "七";
+        if (number == 8) return "八";
+        if (number == 9) return "九";
+        if (number == 10) return "十";
+        if (number == 11) return "十一";
+        if (number == 12) return "十二";
+        if (number == 13) return "十三";
+        if (number == 14) return "十四";
+        if (number == 15) return "十五";
+        if (number == 16) return "十六";
+        if (number == 17) return "十七";
+        if (number == 18) return "十八";
+        if (number == 19) return "十九";
+        if (number == 20) return "二十";
+        if (number == 21) return "二十一";
+        if (number == 22) return "二十二";
+        if (number == 23) return "二十三";
+        
+        // 对于其他数字,使用简单的转换逻辑
+        if (number < 10) {
+            return numberToChinese(number);
+        } else if (number < 20) {
+            return "十" + (number == 10 ? "" : numberToChinese(number - 10));
+        } else if (number < 24) {
+            return "二十" + (number == 20 ? "" : numberToChinese(number - 20));
+        }
+        
+        return String.valueOf(number);
+    }
 
 
     public ResultVo<YzTemperature> queryScdYzTemperature(YzTemperatureVO query) {
@@ -1088,7 +1129,8 @@ public class NursingManagementService {
                             String str ="";
                             if(yzTemperature.getSpecialtextTime() != null){
                                 String format = DateUtil.format(yzTemperature.getSpecialtextTime(), "HH:mm");
-                                str = StrUtil.format("{}时{}分",Convert.numberToChinese(Convert.toDouble(format.split(":")[0]),false),Convert.numberToChinese(Convert.toDouble(format.split(":")[1]),false));
+                                // 使用自定义的数字转中文方法,确保转换准确性
+                                str = StrUtil.format("{}时{}分",numberToChinese(Convert.toInt(format.split(":")[0])),numberToChinese(Convert.toInt(format.split(":")[1])));
                             }
                             // scdBaseInfo.setTypeValue(StrUtil.isBlank(yzTemperature.getScdSpecialtext()) ? "" : "手术".equals(yzTemperature.getScdSpecialtext()) ? "手术" : yzTemperature.getScdSpecialtext()+str);
                             scdBaseInfo.setTypeValue(StrUtil.isBlank(yzTemperature.getScdSpecialtext()) ? "" : yzTemperature.getScdSpecialtext()+str);