Browse Source

以市级地区为基准

lighter 3 years ago
parent
commit
f8a3aec552

+ 3 - 0
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/SiQueryDao.java

@@ -293,6 +293,9 @@ public interface SiQueryDao {
                                                                 @Param("endtime") String endtime,
                                                                 @Param("insutype") String insutype);
 
+    @Select("select code=(select b.name from t_region b where b.code=a.parent_code),a.name from t_region a where code=#{code}")
+    PureCodeName selectAdmdvsNameAndParentName(@Param("code") String code);
+
     @Select("select name from t_si_admdvs where code=#{code}")
     String selectAdmdvsName(@Param("code") String code);
 

+ 6 - 7
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiQueryService.java

@@ -1211,14 +1211,13 @@ public class SiQueryService {
 
         Map<String, List<BaseSetlStatistics>> admNameMap = new HashMap<>();
         for (Map.Entry<String, List<BaseSetlStatistics>> entry : tempMap.entrySet()) {
-            String admdvs = entry.getKey();
-            String admdvsName = dao.selectRegionName(admdvs);
-            if (StringUtil.isBlank(admdvsName)) {
+            String admdvs = entry.getKey().substring(0, 4) + "00";
+            String admdvsName;
+            PureCodeName region = dao.selectAdmdvsNameAndParentName(admdvs);
+            if (null == region) {
                 admdvsName = dao.selectAdmdvsName(admdvs);
-                if (StringUtil.isBlank(admdvsName)) {
-                    admdvs = admdvs.substring(0, 4) + "00";
-                    admdvsName = dao.selectRegionName(admdvs);
-                }
+            } else {
+                admdvsName = region.getCode() + region.getName();
             }
             if (admNameMap.containsKey(admdvsName)) {
                 admNameMap.get(admdvsName).addAll(entry.getValue());