diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/HospitalServiceContent.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/HospitalServiceContent.java index 47c1af4..666ddeb 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/HospitalServiceContent.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/HospitalServiceContent.java @@ -47,6 +47,22 @@ public class HospitalServiceContent { */ private List doctIds = new ArrayList<>(); + + /** + * 服务医生集合 + */ + private List hospitalDoctServices = new ArrayList<>(); + + + + public List getHospitalDoctServices() { + return hospitalDoctServices; + } + + public void setHospitalDoctServices(List hospitalDoctServices) { + this.hospitalDoctServices = hospitalDoctServices; + } + public String getSerTypes() { return serTypes; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ConfigServiceController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ConfigServiceController.java index 9a2df88..728f205 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ConfigServiceController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ConfigServiceController.java @@ -81,13 +81,26 @@ public class ConfigServiceController extends BaseController { @TokenRequired @RequestMapping(value = "/list", method = RequestMethod.GET) public BaseListResponse getPatientService( - PageInfo pageInfo, - HttpServletRequest request + PageInfo pageInfo, + HttpServletRequest request ) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); return configServiceFacade.getHospitalService(pageInfo, loginState.getId()); } + /** + * 根据条件查询医院服务配置 + * + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/list/{hospitalId}", method = RequestMethod.GET) + public BaseResponse getConfigService(String hospitalId + ) { + return configServiceFacade.findDoctServiceList(hospitalId); + } + /** * 数据验证 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncDataController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncDataController.java index 08611fb..74e49e3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncDataController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncDataController.java @@ -85,11 +85,12 @@ public class SyncDataController extends BaseController { @RequestParam(value = "synForm", required = false) String synForm, @RequestParam(value = "method", required = true) String method ) { + //返回值 + BaseResponse baseResponse = null; try { System.out.println("数据同步开始:action:" + action + ",method:" + method+",synForm:"+synForm); WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext(); - //返回值 - BaseResponse baseResponse = null; + if(StringUtils.isNotEmpty(synForm)){//如果有参数 Method mh = ReflectionUtils.findMethod(webApplicationContext.getBean(action).getClass(), method, new Class[]{String.class}); baseResponse = (BaseResponse) ReflectionUtils.invokeMethod(mh, webApplicationContext.getBean(action), synForm); @@ -105,7 +106,6 @@ public class SyncDataController extends BaseController { } return baseResponse; } catch (Exception e) { - BaseResponse baseResponse = new BaseResponse(); baseResponse.setObject(e.getMessage()); baseResponse.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); baseResponse.setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ConfigServiceFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ConfigServiceFacade.java index 646fc27..90f6aae 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ConfigServiceFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ConfigServiceFacade.java @@ -12,6 +12,7 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.Config; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.result.HospitalDoctSerResult; import com.lyms.platform.operate.web.result.HospitalServiceContentResult; import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.*; @@ -75,16 +76,41 @@ public class ConfigServiceFacade { /** * 根据配置id查询医生服务记录 * - * @param id + * @param hsId 医生id * @return */ - public BaseResponse findDoctServiceList(String hsId, Integer id) { - //根据用户id获取医院ID - String hospitalId = autoMatchFacade.getHospitalId(id); + public BaseResponse findDoctServiceList(String hsId) { + + HospitalServiceContentQuery hscQuery = new HospitalServiceContentQuery(); + + hscQuery.setHospitalId(hsId); + //状态 1--有效 + hscQuery.setStatus(1); + List hospitalServiceContents = hospitalServiceContentService.queryHospitalServiceContent(hscQuery); + List hscResult = new ArrayList<>(); + + Map hscMap = new HashMap<>(); + for(HospitalServiceContent hsc:hospitalServiceContents){ + HospitalServiceContentResult convertResult = convertToResult(hsc); + hscResult.add(convertResult); + hscMap.put(hsc.getId(),convertResult); + } + HospitalDoctServiceQuery hospitalDoctServiceQuery = new HospitalDoctServiceQuery(); + //状态 1--有效 + hospitalDoctServiceQuery.setStatus(1); + hospitalDoctServiceQuery.setHospId(hsId); + List hospitalDoctServiceList = hospitalDoctService.queryHospitalDoctService(hospitalDoctServiceQuery); + //给医院服务加入医生的服务价格信息 + for(HospitalDoctService hds:hospitalDoctServiceList){ + HospitalServiceContentResult hsc = hscMap.get(hds.getHospServiceId()); + if(hsc!=null){ + hsc.getHospitalDoctServices().add(doctServiceConvertToResult(hds)); + } + } BaseResponse baseResponse = new BaseResponse(); - // baseResponse.setObject(patientSerResults); + baseResponse.setObject(hscResult); baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); baseResponse.setErrormsg("成功"); return baseResponse; @@ -145,10 +171,50 @@ public class ConfigServiceFacade { return baseResponse; } + /** + * 医院医生服务数据转换 + * + * @param hs + * @return + */ + public HospitalDoctSerResult doctServiceConvertToResult(HospitalDoctService hs) { + if (hs == null) { + return null; + } + HospitalDoctSerResult result = new HospitalDoctSerResult(); + result.setId(hs.getId()); + if (StringUtils.isNotEmpty(hs.getHospId())) {//查询医院名称 + result.setHospId(hs.getHospId()); + //判断ID是否存在 + Organization organization = organizationService.getOrganization(Integer.parseInt(hs.getHospId())); + if (organization != null) { + //设置医院名称 + result.setHospName(organization.getName()); + } + } + + result.setDoctId(hs.getDoctId()); + result.setDoctPrice(hs.getDoctPrice()); + + if (StringUtils.isNotEmpty(hs.getDoctId())) { + try { + Users users = usersService.getUsers(Integer.parseInt(hs.getDoctId())); + if (users != null) { + result.setDoctName(users.getName()); + } + } catch (Exception e) { + result.setDoctName("产检医生"); + } + } + if(hs.getStatus()!=null){ + result.setStatus(HospitalSerStatusEnums.getNameById(hs.getStatus())); + } + return result; + } /** - * 数据转换 + * 医院服务数据转换 * * @param hs * @return @@ -160,6 +226,7 @@ public class ConfigServiceFacade { HospitalServiceContentResult result = new HospitalServiceContentResult(); result.setId(hs.getId()); if (StringUtils.isNotEmpty(hs.getHospitalId())) {//查询医院名称 + result.setHospitalId(hs.getHospitalId()); //判断ID是否存在 Organization organization = organizationService.getOrganization(Integer.parseInt(hs.getHospitalId())); if (organization != null) { @@ -201,9 +268,14 @@ public class ConfigServiceFacade { String serType = PatientSerEnums.SerTypeEnums.getTitle(Integer.parseInt(st)); stb.append(serType+"/"); } - result.setSerType(stb.toString().substring(0,stb.length()-1)); + result.setSerTypeName(stb.toString().substring(0,stb.length()-1)); } + if(hs.getSerType()!=null){ + result.setSerTypeName(PatientSerEnums.SerTypeEnums.getTitle(hs.getSerType())); + } + result.setSerPrice(hs.getSerPrice()); + result.setSerType(hs.getSerType()); result.setCreateDate(DateUtil.getyyyy_MM_dd(hs.getCreateDate())); if(hs.getStatus()!=null){ result.setStatus(HospitalSerStatusEnums.getNameById(hs.getStatus())); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/HospitalDoctSerResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/HospitalDoctSerResult.java index f389cdc..3353ae4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/HospitalDoctSerResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/HospitalDoctSerResult.java @@ -21,10 +21,18 @@ public class HospitalDoctSerResult { */ private String doctId; /** + * 医生名称 + */ + private String doctName; + /** * 医院id */ private String hospId; /** + * 医院名称 + */ + private String hospName; + /** * 医生价格 */ private BigDecimal doctPrice; @@ -34,6 +42,14 @@ public class HospitalDoctSerResult { */ private String status; + public String getDoctName() { + return doctName; + } + + public void setDoctName(String doctName) { + this.doctName = doctName; + } + public String getId() { return id; } @@ -66,6 +82,14 @@ public class HospitalDoctSerResult { this.hospId = hospId; } + public String getHospName() { + return hospName; + } + + public void setHospName(String hospName) { + this.hospName = hospName; + } + public BigDecimal getDoctPrice() { return doctPrice; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/HospitalServiceContentResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/HospitalServiceContentResult.java index 0235224..86253ff 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/HospitalServiceContentResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/HospitalServiceContentResult.java @@ -1,6 +1,8 @@ package com.lyms.platform.operate.web.result; import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; /** * @auther yangfei @@ -16,13 +18,23 @@ public class HospitalServiceContentResult { private String cityName; private String areaName; /** - * 医院id + * 医院 */ private String hospitalName; /** + * 医院id + */ + private String hospitalId; + + /** * 服务类型 */ - private String serType; + private Integer serType; + + /** + * 服务类型 + */ + private String serTypeName; /** * 服务价格 */ @@ -40,6 +52,39 @@ public class HospitalServiceContentResult { */ private String status; + /** + * 服务医生集合 + */ + private List hospitalDoctServices = new ArrayList<>(); + + public List getHospitalDoctServices() { + return hospitalDoctServices; + } + + public void setHospitalDoctServices(List hospitalDoctServices) { + this.hospitalDoctServices = hospitalDoctServices; + } + + public void setSerType(Integer serType) { + this.serType = serType; + } + + public String getSerTypeName() { + return serTypeName; + } + + public void setSerTypeName(String serTypeName) { + this.serTypeName = serTypeName; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + public String getProvinceName() { return provinceName; } @@ -80,14 +125,10 @@ public class HospitalServiceContentResult { this.hospitalName = hospitalName; } - public String getSerType() { + public Integer getSerType() { return serType; } - public void setSerType(String serType) { - this.serType = serType; - } - public BigDecimal getSerPrice() { return serPrice; }