From f7f4305bbeac74e620b230dbf3f8d4705a5a03ae Mon Sep 17 00:00:00 2001 From: yangfei Date: Thu, 7 Dec 2017 14:36:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E5=90=8E=E9=9A=8F=E8=AE=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/permission/model/UsersQuery.java | 10 ++ .../main/resources/mainOrm/master/MasterUsers.xml | 7 ++ .../web/controller/ConfigServiceController.java | 27 ++++- .../web/controller/MatdeliverFollowController.java | 6 + .../operate/web/facade/ConfigServiceFacade.java | 124 +++++++++++++-------- .../operate/web/facade/MatDeliverFacade.java | 13 ++- .../web/request/MatdeliverFollowRequest.java | 39 +++++++ 7 files changed, 178 insertions(+), 48 deletions(-) diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/UsersQuery.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/UsersQuery.java index 7e0ae27..54e8678 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/UsersQuery.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/UsersQuery.java @@ -9,6 +9,7 @@ import java.util.List; public class UsersQuery extends BaseQuery { private Integer id; + private List ids; private Integer logincenterId; private Integer type; // private Integer orgId; @@ -37,6 +38,15 @@ public class UsersQuery extends BaseQuery { private Integer roleId; private String foreignId; private Integer otherAccount; //第三方帐号, 1医院帐号 + + public List getIds() { + return ids; + } + + public void setIds(List ids) { + this.ids = ids; + } + public Integer getOtherAccount() { return otherAccount; } diff --git a/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml b/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml index 3d99b68..c29a2b5 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/MasterUsers.xml @@ -145,6 +145,13 @@ select id,logincenter_id,type,org_id,dept_id,name,account,pwd,phone,publish_id,p and id = #{id,jdbcType=INTEGER} + + AND id IN + + #{title} + + and logincenter_id = #{logincenterId,jdbcType=INTEGER} 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 7b99765..8357b9c 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 @@ -16,6 +16,7 @@ import com.lyms.platform.permission.model.OrganizationQuery; import com.lyms.platform.permission.service.OrganizationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @@ -52,6 +53,30 @@ public class ConfigServiceController extends BaseController { return configServiceFacade.patientServiceInit(loginState.getId()); } + /** + * 新增或修改服务价格配置 + * + * @param ps 服务开通记录 + * @param request + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/addOrUpdateHospSer", method = RequestMethod.POST) + public BaseResponse addOrUpdateHospitalService(HospitalServiceContent ps,HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + try { + return configServiceFacade.addOrUpdateHospitalService(ps,loginState.getId()); + } catch (Exception e) { + e.printStackTrace(); + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); + baseResponse.setErrormsg(e.getMessage()); + return baseResponse; + } + } + + /** * 新增或修改服务开通记录 @@ -120,7 +145,7 @@ public class ConfigServiceController extends BaseController { @ResponseBody @TokenRequired @RequestMapping(value = "/list/{hospitalId}", method = RequestMethod.GET) - public BaseResponse getConfigService(String hospitalId + public BaseResponse getConfigService(@PathVariable String hospitalId ) { return configServiceFacade.findDoctServiceList(hospitalId); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatdeliverFollowController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatdeliverFollowController.java index 6b004dd..775712d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatdeliverFollowController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatdeliverFollowController.java @@ -89,6 +89,12 @@ public class MatdeliverFollowController extends BaseController { return matdeliverFollowFacade.getOneMatdeliverFollowMake(id); } + /** + * 获取产后随访列表 + * @param MatdeliverFollowRequest + * @param request + * @return + */ @ResponseBody @TokenRequired @RequestMapping(value = "/list", method = RequestMethod.GET) 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 b55e54f..d22c07a 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 @@ -84,28 +84,19 @@ public class ConfigServiceFacade { hscQuery.setHospitalId(hsId); //状态 1--有效 - hscQuery.setStatus(1); + // hscQuery.setStatus(1); + hscQuery.setSort("ser_type asc"); List hospitalServiceContents = hospitalServiceContentService.queryHospitalServiceContent(hscQuery); List hscResult = new ArrayList<>(); - Map hscMap = new HashMap<>(); for (HospitalServiceContent hsc : hospitalServiceContents) { HospitalServiceContentResult convertResult = convertToResult(hsc); + HospitalDoctServiceQuery hospitalDoctServiceQuery = new HospitalDoctServiceQuery(); + hospitalDoctServiceQuery.setHospServiceId(hsc.getId()); + List hospitalDoctServiceList = hospitalDoctService.queryHospitalDoctService(hospitalDoctServiceQuery); + convertResult.setHospitalDoctServices(doctServiceConvertToResult(hospitalDoctServiceList)); 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(); @@ -115,6 +106,38 @@ public class ConfigServiceFacade { return baseResponse; } + /** + * 新增医院服务配置 + * + * @param ps + * @param userId 用户id + * @return + */ + public BaseResponse addOrUpdateHospitalService(HospitalServiceContent ps,Integer userId) throws Exception { + BaseResponse baseResponse = new BaseResponse(); + + //根据用户id获取医院ID + HospitalServiceContentQuery patientQuery = new HospitalServiceContentQuery(); + patientQuery.setHospitalId(ps.getHospitalId()); + patientQuery.setSerType(ps.getSerType()); + + List patientServices = hospitalServiceContentService.queryHospitalServiceContent(patientQuery); + if (CollectionUtils.isNotEmpty(patientServices)) {//修改 + HospitalServiceContent hospitalServiceContent = patientServices.get(0); + hospitalServiceContent.setSyncStatus(0); + hospitalServiceContent.setSerPrice(ps.getSerPrice()); + hospitalServiceContentService.updateHospitalServiceContent(hospitalServiceContent); + } else { + ps.setId(UUID.randomUUID().toString().replace("-", "")); + ps.setSyncStatus(0); + //服务类型 + ps.setCreateDate(new Date()); + ps.setCreateUser(String.valueOf(userId)); + hospitalServiceContentService.addHospitalServiceContent(ps); + } + return baseResponse; + } + /** * 新增医院服务配置 @@ -123,20 +146,20 @@ public class ConfigServiceFacade { * @param id * @return */ - public BaseResponse addHospitalService(HospitalServiceContent ps,boolean isAutoDoct, Integer id) throws Exception { + public BaseResponse addHospitalService(HospitalServiceContent ps, boolean isAutoDoct, Integer id) throws Exception { //根据用户id获取医院ID HospitalServiceContentQuery patientQuery = new HospitalServiceContentQuery(); patientQuery.setHospitalId(ps.getHospitalId()); patientQuery.setSerType(ps.getSerType()); - List patientServices = hospitalServiceContentService.queryGroupHospitalServiceContent(patientQuery); + List patientServices = hospitalServiceContentService.queryHospitalServiceContent(patientQuery); if (CollectionUtils.isNotEmpty(patientServices)) {//修改 HospitalServiceContent hospitalServiceContent = patientServices.get(0); hospitalServiceContent.setSyncStatus(0); hospitalServiceContent.setSerPrice(ps.getSerPrice()); hospitalServiceContentService.updateHospitalServiceContent(hospitalServiceContent); - }else{ + } else { ps.setId(UUID.randomUUID().toString().replace("-", "")); ps.setSyncStatus(0); //默认开通状态 @@ -147,7 +170,7 @@ public class ConfigServiceFacade { hospitalServiceContentService.addHospitalServiceContent(ps); //自动创建专家咨询服务医生配置 - if(ps.getSerType() == PatientSerEnums.SerTypeEnums.zjzx.getId() && isAutoDoct){ + if (ps.getSerType() == PatientSerEnums.SerTypeEnums.zjzx.getId() && isAutoDoct) { //查询医院 String hospitalId = ps.getHospitalId(); UsersQuery usersQuery = new UsersQuery(); @@ -155,7 +178,7 @@ public class ConfigServiceFacade { usersQuery.setYn(1); usersQuery.setEnable(1); List users = usersService.queryUsers(usersQuery); - for(Users us:users){ + for (Users us : users) { HospitalDoctService doctService = new HospitalDoctService(); doctService.setId(UUID.randomUUID().toString().replace("-", "")); doctService.setSyncStatus(0); @@ -178,43 +201,52 @@ public class ConfigServiceFacade { /** * 医院医生服务数据转换 * - * @param hs + * @param hsList * @return */ - public HospitalDoctSerResult doctServiceConvertToResult(HospitalDoctService hs) { - if (hs == null) { + public List doctServiceConvertToResult(List hsList) { + if (CollectionUtils.isEmpty(hsList)) { 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()); + + //需要查询的医生id + List doctIds = new ArrayList<>(); + List results = new ArrayList<>(); + for (HospitalDoctService hs : hsList) { + if (StringUtils.isNum(hs.getDoctId())) { + doctIds.add(Integer.parseInt(hs.getDoctId())); } } - - 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()); + //存放医生列表,医生ID和医生姓名 + Map docterMap = new HashMap<>(); + + if (CollectionUtils.isNotEmpty(doctIds)) { + UsersQuery usersQuery = new UsersQuery(); + usersQuery.setIds(doctIds); + List users = usersService.queryUsers(usersQuery); + if(CollectionUtils.isNotEmpty(users)){ + for(Users us:users){ + docterMap.put(us.getId(),us.getName()); } - } catch (Exception e) { - result.setDoctName("产检医生"); } } - if (hs.getStatus() != null) { - result.setStatus(HospitalSerStatusEnums.getNameById(hs.getStatus())); + for (HospitalDoctService hs : hsList) { + HospitalDoctSerResult result = new HospitalDoctSerResult(); + result.setHospServiceId(hs.getHospServiceId()); + result.setId(hs.getId()); + result.setDoctId(hs.getDoctId()); + result.setDoctPrice(hs.getDoctPrice()); + if (StringUtils.isNum(hs.getDoctId())) { + result.setDoctName(docterMap.get(Integer.parseInt(hs.getDoctId()))); + } + + if (hs.getStatus() != null) { + result.setStatus(HospitalSerStatusEnums.getNameById(hs.getStatus())); + } + results.add(result); } - return result; + return results; } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index 99523dd..0abe54e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -1185,12 +1185,23 @@ public class MatDeliverFacade { MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); //查询号不为空,则查询孕妇id - if (StringUtils.isNotEmpty(matdeliverFollowRequest.getQueryNo())) { + if (StringUtils.isNotEmpty(matdeliverFollowRequest.getQueryNo())//查询号不为空 + ||StringUtils.isNotEmpty(matdeliverFollowRequest.getProvinceId())//居住地省 + ||StringUtils.isNotEmpty(matdeliverFollowRequest.getCityId())//居住地市 + ||StringUtils.isNotEmpty(matdeliverFollowRequest.getAreaId())//居住区 + ||StringUtils.isNotEmpty(matdeliverFollowRequest.getStreetId())//居住街道 + ) { PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setQueryNo(matdeliverFollowRequest.getQueryNo()); patientsQuery.setYn(YnEnums.YES.getId()); patientsQuery.setIsAutoFm(YnEnums.NO.getId()); patientsQuery.setType(3); + //居住地 注意需要反起查询,不要搞错l,原因:前端小弟把数据存反了 + patientsQuery.setAreaRegisterId(matdeliverFollowRequest.getAreaId()); + patientsQuery.setCityRegisterId(matdeliverFollowRequest.getCityId()); + patientsQuery.setProvinceRegisterId(matdeliverFollowRequest.getProvinceId()); + patientsQuery.setStreetRegisterId(matdeliverFollowRequest.getStreetId()); + if (StringUtils.isNotEmpty(matdeliverFollowRequest.getBirthDate())) { patientsQuery.setFmDateStart(DateUtil.getSNDate(matdeliverFollowRequest.getBirthDate())[0]); patientsQuery.setFmDateEnd(DateUtil.getSNDate(matdeliverFollowRequest.getBirthDate())[1]); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java index bcf9bf3..8640fc0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java @@ -22,6 +22,13 @@ public class MatdeliverFollowRequest extends BasePageQueryRequest{ * @discription 分娩日期 */ private String birthDate; + + //居住地 + private String provinceId; + private String cityId; + private String areaId; + private String streetId; + /** * @discription 分娩医院省 */ @@ -64,6 +71,38 @@ public class MatdeliverFollowRequest extends BasePageQueryRequest{ */ private Integer visitAffirm; + public String getProvinceId() { + return provinceId; + } + + public void setProvinceId(String provinceId) { + this.provinceId = provinceId; + } + + public String getCityId() { + return cityId; + } + + public void setCityId(String cityId) { + this.cityId = cityId; + } + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } + + public String getStreetId() { + return streetId; + } + + public void setStreetId(String streetId) { + this.streetId = streetId; + } + public Integer getVisitStatus() { return visitStatus; } -- 1.8.3.1