Ver Fonte

患者首诊建档接口支持自动解析级联地址

hurugang há 2 anos atrás
pai
commit
445c4d5f9b

+ 21 - 0
src/main/java/cn/hnthyy/thmz/controller/api/MedicalViewApiController.java

@@ -17,6 +17,7 @@ import cn.hnthyy.thmz.enums.*;
 import cn.hnthyy.thmz.pageDto.MzChargeDetailPageDto;
 import cn.hnthyy.thmz.pageDto.MzyReqrecPageDto;
 import cn.hnthyy.thmz.pageDto.ZdUnitCodePageDto;
+import cn.hnthyy.thmz.service.his.RegionService;
 import cn.hnthyy.thmz.service.his.ResponceTypeService;
 import cn.hnthyy.thmz.service.his.mz.*;
 import cn.hnthyy.thmz.service.his.zd.ZdEmpTitleService;
@@ -93,6 +94,8 @@ public class MedicalViewApiController {
     private TsmzService tsmzService;
     @Autowired
     private ConfigService configService;
+    @Autowired
+    private RegionService regionService;
     //海慈身份证类型
     private static final String ID_CARD_TYPE = "11";
     //诊疗卡类型
@@ -255,6 +258,24 @@ public class MedicalViewApiController {
         mzPatientMi.setSex(MAN.equals(haicipat.getPatSex()) ? YesNoEnum.YES.code : 2);
         mzPatientMi.setAge(haicipat.getPatAge());
         mzPatientMi.setBirthDay(haicipat.getPatBirth());
+        Map<String, String> result = AddressResolutionUtil.addressResolution(haicipat.getPatAddress());
+        String province=result.get("province");
+        String city=result.get("city");
+        String district=result.get("district");
+        CodeNameEntity codeNameEntity=regionService.queryByName(province);
+        if(codeNameEntity!=null && StringUtils.isNotBlank(codeNameEntity.getName())){
+            mzPatientMi.setProvinceCode(codeNameEntity.getCode());
+        }
+        if((district==null || StringUtils.isBlank(district) && (city!=null && StringUtils.isNotBlank(city)))){
+            district=city;
+            //只有市,没有区,将市设置到区
+        }
+        codeNameEntity=regionService.queryByName(district);
+        if(codeNameEntity!=null && StringUtils.isNotBlank(codeNameEntity.getName())){
+            mzPatientMi.setCityCode(codeNameEntity.getParentCode());
+            mzPatientMi.setDistrictCode(codeNameEntity.getCode());
+        }
+        mzPatientMi.setDetail(result.get("detail"));
         mzPatientMi.setAddress(haicipat.getPatAddress());
         mzPatientMi.setPhoneNo(haicipat.getPatMobile());
         mzPatientMi.setSocialNo(haicipat.getPatIdNo());