diff --git a/src/main/java/com/peanut/modules/book/controller/MedicaldesController.java b/src/main/java/com/peanut/modules/book/controller/MedicaldesController.java index a676a653..cbb99d5d 100644 --- a/src/main/java/com/peanut/modules/book/controller/MedicaldesController.java +++ b/src/main/java/com/peanut/modules/book/controller/MedicaldesController.java @@ -156,17 +156,18 @@ public class MedicaldesController { } //国际医师可能来自国外在省市里加入外国 - public String[] getCounts() { - //countId 为1 2 3 - String[] count = {"马来西亚","越南","加拿大"}; - return count; + public List getCounts() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + wrapper.eq(SysDictDataEntity::getDictLabel,"inheritPro"); + List dataList = sysDictDataService.list(wrapper); + return dataList; } - public List getCityList(String count,int countId) { + public List getCityList(String cityName,int countId) { List cityList = new ArrayList<>(); City city = new City(); city.setProvId((long)countId); - city.setCityName(count); + city.setCityName(cityName); city.setCityId((long)countId); cityList.add(city); return cityList; @@ -184,8 +185,14 @@ public class MedicaldesController { wrapper.leftJoin(Province.class,Province::getProvId,City::getProvId); wrapper.selectAll(MedicaldesInherit.class); if ("0".equals(provId)){ + int[] val = new int[] {0}; //未知地址 - wrapper.in(MedicaldesInherit::getCityId,0,1,2,3); + if (getCounts()!=null&&getCounts().size() > 0){ + for (int i=1;i<=getCounts().size(); i++){ + val[i] = i; + } + } + wrapper.in(MedicaldesInherit::getCityId,val); }else { wrapper.eq(Province::getProvId,provId); } @@ -200,12 +207,12 @@ public class MedicaldesController { public R getMedicaldesProList() { String s = redisTemplate.opsForValue().get("Province"); List provinceList = new ArrayList<>(); - if (getCounts() != null){ - for (int i=0;i 0){ + for (int i=0;i prov = new ArrayList<>(); - if (1==provId){ - prov.addAll(getCityList(getCounts()[0],1)); - }else if (2==provId){ - prov.addAll(getCityList(getCounts()[1],2)); - }else if (3==provId){ - prov.addAll(getCityList(getCounts()[2],3)); - }else { + List list = getCounts(); + boolean flag = false; + if (list != null && list.size() > 0) { + for (SysDictDataEntity data:list) { + if (provId==Integer.parseInt(data.getDictType())){ + prov.addAll(getCityList(data.getDictValue(),Integer.parseInt(data.getDictType()))); + flag = true; + } + } + } + if (!flag) { prov = cityService.getBaseMapper().selectList(new QueryWrapper() .eq("prov_id", provId)); }