diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/HospitalDoctService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/HospitalDoctService.java index e31a26c..183a358 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/HospitalDoctService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/HospitalDoctService.java @@ -30,7 +30,7 @@ public class HospitalDoctService { private BigDecimal doctPrice; /** - * 状态:0-有效、1-暂停、2-删除 + * 状态:1-有效、2-暂停、3-删除 */ private Integer status; 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 728f205..7b99765 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 @@ -7,8 +7,13 @@ import com.lyms.platform.common.base.PageInfo; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.ConfigServiceFacade; -import com.lyms.platform.permission.model.PatientService; +import com.lyms.platform.operate.web.utils.CollectionUtils; +import com.lyms.platform.permission.model.HospitalServiceContent; +import com.lyms.platform.permission.model.Organization; +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.RequestMapping; @@ -16,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; +import java.util.List; /** * @auther yangfei @@ -28,6 +34,9 @@ public class ConfigServiceController extends BaseController { @Autowired private ConfigServiceFacade configServiceFacade; + @Autowired + private OrganizationService organizationService; + /** * 初始化接口 @@ -48,24 +57,39 @@ public class ConfigServiceController extends BaseController { * 新增或修改服务开通记录 * * @param ps 服务开通记录 + * @param isAutoDoct 是否自动生成专家咨询的服务的数据 + * @param hospitalName 医院名称 * @param request * @return */ @ResponseBody @TokenRequired @RequestMapping(value = "/addOrUpdate", method = RequestMethod.POST) - public BaseResponse addOrUpdatePatientService(PatientService ps, HttpServletRequest request) { + public BaseResponse addOrUpdatePatientService(HospitalServiceContent ps,String hospitalName,boolean isAutoDoct, HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + + if(StringUtils.isNotEmpty(hospitalName)){ + OrganizationQuery organizationQuery = new OrganizationQuery(); + organizationQuery.setName(hospitalName); + List organizations = organizationService.queryOrganization(organizationQuery); + if(CollectionUtils.isNotEmpty(organizations)){ + Organization organization = organizations.get(0); + ps.setHospitalId(String.valueOf(organization.getId())); + } + } + + try { BaseResponse baseResponse = validatePatient(ps); if (baseResponse.getErrorcode() != ErrorCodeConstants.SUCCESS) { return baseResponse; } - return configServiceFacade.addHospitalService(ps, loginState.getId()); + return configServiceFacade.addHospitalService(ps,isAutoDoct, loginState.getId()); } catch (Exception e) { + e.printStackTrace(); BaseResponse baseResponse = new BaseResponse(); baseResponse.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); - baseResponse.setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); + baseResponse.setErrormsg(e.getMessage()); return baseResponse; } @@ -108,9 +132,25 @@ public class ConfigServiceController extends BaseController { * @param ps * @return */ - public BaseResponse validatePatient(PatientService ps) { + public BaseResponse validatePatient(HospitalServiceContent ps) { BaseResponse baseResponse = new BaseResponse(); - + //医院Id + if(StringUtils.isEmpty(ps.getHospitalId())){ + baseResponse.setErrormsg("请传入hospitalId"); + baseResponse.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); + return baseResponse; + } + //服务价格 + if(ps.getSerType()==null){ + baseResponse.setErrormsg("请传入serType:1-孕期精准医疗、2-体重管理、3-血糖管理、4-血压管理、5-专家咨询、6-标准服务"); + baseResponse.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); + return baseResponse; + } + if(ps.getSerPrice()==null){ + baseResponse.setErrormsg("请传入serPrice服务价格"); + baseResponse.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); + return baseResponse; + } baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); return baseResponse; } 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 fc7f944..afd53ad 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 @@ -55,46 +55,27 @@ public class MatdeliverFollowController extends BaseController { @TokenRequired @RequestMapping(value = "/addMatdeliverInfo", method = RequestMethod.POST) public BaseResponse addMatdeliverInfo(MatDeliverFollowAddRequest matDeliverFollowAddRequest, HttpServletRequest request) { - System.out.println(matDeliverFollowAddRequest); + System.out.println("保存或修改随访记录:"+matDeliverFollowAddRequest); Integer userId = getUserId(request); return matdeliverFollowFacade.addOrUpdateMatDeliverFollow(matDeliverFollowAddRequest, userId); } - // /** - // * 查询分娩记录、随访记录 - // * @param pid 产妇pid - // * @param id 分娩记录id - // * @param request - // * @return - // */ - // @ResponseBody - // @TokenRequired - // @RequestMapping(method = RequestMethod.GET) - // public BaseResponse findpostpartumFollowMakeList(String pid, String id, HttpServletRequest request) { - // LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - // - // return postpartumFollowMakeFacade.findPostpartumFollowMakeList(pid, id, loginState.getId()); - // } + /** + * 查询分娩记录、随访记录 + * + * @param pid 产妇pid + * @param id 分娩记录id + * @param request + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(method = RequestMethod.GET) + public BaseResponse findpostpartumFollowMakeList(String pid, String id, HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - // @ResponseBody - // @TokenRequired - // @RequestMapping(method = RequestMethod.POST) - // public BaseResponse addOrUpdatePostpartumFollowMake(PostpartumFollowMake ps, HttpServletRequest request) { - // LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - // try { - // if (StringUtils.isEmpty(ps.getId())) { - // return postpartumFollowMakeFacade.addPostpartumFollowMake(ps, loginState.getId()); - // } else { - // return postpartumFollowMakeFacade.updatePostpartumFollowMake(ps, loginState.getId()); - // } - // } catch (Exception e) { - // BaseResponse baseResponse = new BaseResponse(); - // baseResponse.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); - // baseResponse.setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); - // return baseResponse; - // } - // - // } + return matdeliverFollowFacade.findPostpartumFollowMakeList(pid, id, loginState.getId()); + } @ResponseBody @TokenRequired @@ -113,5 +94,4 @@ public class MatdeliverFollowController extends BaseController { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); return matdeliverFollowFacade.getPostpartumFollowMake(MatdeliverFollowRequest, loginState.getId()); } - } \ No newline at end of file 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 90f6aae..b55e54f 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 @@ -4,7 +4,6 @@ import com.lyms.platform.biz.service.*; import com.lyms.platform.common.base.PageInfo; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.HospitalSerStatusEnums; -import com.lyms.platform.common.enums.OptActionEnums; import com.lyms.platform.common.enums.PatientSerEnums; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; @@ -17,11 +16,11 @@ import com.lyms.platform.operate.web.result.HospitalServiceContentResult; import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.*; import com.lyms.platform.pojo.BasicConfig; -import com.lyms.platform.pojo.Patients; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.math.BigDecimal; import java.util.*; /** @@ -90,11 +89,11 @@ public class ConfigServiceFacade { List hospitalServiceContents = hospitalServiceContentService.queryHospitalServiceContent(hscQuery); List hscResult = new ArrayList<>(); - Map hscMap = new HashMap<>(); - for(HospitalServiceContent hsc:hospitalServiceContents){ + Map hscMap = new HashMap<>(); + for (HospitalServiceContent hsc : hospitalServiceContents) { HospitalServiceContentResult convertResult = convertToResult(hsc); hscResult.add(convertResult); - hscMap.put(hsc.getId(),convertResult); + hscMap.put(hsc.getId(), convertResult); } HospitalDoctServiceQuery hospitalDoctServiceQuery = new HospitalDoctServiceQuery(); //状态 1--有效 @@ -102,9 +101,9 @@ public class ConfigServiceFacade { hospitalDoctServiceQuery.setHospId(hsId); List hospitalDoctServiceList = hospitalDoctService.queryHospitalDoctService(hospitalDoctServiceQuery); //给医院服务加入医生的服务价格信息 - for(HospitalDoctService hds:hospitalDoctServiceList){ + for (HospitalDoctService hds : hospitalDoctServiceList) { HospitalServiceContentResult hsc = hscMap.get(hds.getHospServiceId()); - if(hsc!=null){ + if (hsc != null) { hsc.getHospitalDoctServices().add(doctServiceConvertToResult(hds)); } } @@ -118,52 +117,57 @@ public class ConfigServiceFacade { /** - * 新增服务开通记录 + * 新增医院服务配置 * * @param ps * @param id * @return */ - public BaseResponse addHospitalService(PatientService ps, Integer id) throws Exception { + public BaseResponse addHospitalService(HospitalServiceContent ps,boolean isAutoDoct, Integer id) throws Exception { //根据用户id获取医院ID - String hospitalId = autoMatchFacade.getHospitalId(id); - List> serInfos = ps.getSerInfos(); - - List patientServiceList = new ArrayList<>(); - for (Map serInfo : serInfos) { - //先根据孕妇id和开通服务类型、开通医生进行查询,如果已经开通过则开通失败 - PatientServiceQuery patientQuery = new PatientServiceQuery(); - patientQuery.setHospitalId(hospitalId); - patientQuery.setParentid(ps.getParentid()); - patientQuery.setSerType(Integer.parseInt(serInfo.get("serType"))); - - - List patientServices = patientServiceService.queryPatientService(patientQuery); - if (CollectionUtils.isNotEmpty(patientServices)) { - continue; - } - - Patients patients = patientsService.findOnePatientById(ps.getParentid()); - if (patients != null) { - ps.setPid(patients.getPid()); - } + HospitalServiceContentQuery patientQuery = new HospitalServiceContentQuery(); + patientQuery.setHospitalId(ps.getHospitalId()); + patientQuery.setSerType(ps.getSerType()); + + + List patientServices = hospitalServiceContentService.queryGroupHospitalServiceContent(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.setHospitalId(hospitalId); + ps.setSyncStatus(0); //默认开通状态 - ps.setSerStatus(PatientSerEnums.SerStatusEnums.kt.getId()); + ps.setStatus(1); //服务类型 - ps.setSerType(Integer.parseInt(serInfo.get("serType"))); - if (serInfo.containsKey(serInfo.get("serDoct"))) { - ps.setSerDoct(serInfo.get("serDoct")); + ps.setCreateDate(new Date()); + ps.setCreateUser(String.valueOf(id)); + hospitalServiceContentService.addHospitalServiceContent(ps); + + //自动创建专家咨询服务医生配置 + if(ps.getSerType() == PatientSerEnums.SerTypeEnums.zjzx.getId() && isAutoDoct){ + //查询医院 + String hospitalId = ps.getHospitalId(); + UsersQuery usersQuery = new UsersQuery(); + usersQuery.setOrgId(Integer.parseInt(hospitalId)); + usersQuery.setYn(1); + usersQuery.setEnable(1); + List users = usersService.queryUsers(usersQuery); + for(Users us:users){ + HospitalDoctService doctService = new HospitalDoctService(); + doctService.setId(UUID.randomUUID().toString().replace("-", "")); + doctService.setSyncStatus(0); + doctService.setStatus(1); + doctService.setDoctId(String.valueOf(us.getId())); + doctService.setDoctPrice(new BigDecimal(0)); + doctService.setHospId(ps.getHospitalId()); + doctService.setHospServiceId(ps.getId()); + hospitalDoctService.addHospitalDoctService(doctService); + } } - patientServiceService.addPatientService(ps); - - operateLogFacade.addAddOptLog(id, Integer.valueOf(hospitalId), ps, OptActionEnums.ADD.getId(), "开通增值服务"); - - patientServiceList.add(ps); } - BaseResponse baseResponse = new BaseResponse(); baseResponse.setObject(ps.getId()); baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); @@ -207,7 +211,7 @@ public class ConfigServiceFacade { } } - if(hs.getStatus()!=null){ + if (hs.getStatus() != null) { result.setStatus(HospitalSerStatusEnums.getNameById(hs.getStatus())); } return result; @@ -261,23 +265,23 @@ public class ConfigServiceFacade { } } - if(StringUtils.isNotEmpty(hs.getSerTypes())){ - String serTypes [] = hs.getSerTypes().split(","); + if (StringUtils.isNotEmpty(hs.getSerTypes())) { + String serTypes[] = hs.getSerTypes().split(","); StringBuffer stb = new StringBuffer(); - for(String st:serTypes){ + for (String st : serTypes) { String serType = PatientSerEnums.SerTypeEnums.getTitle(Integer.parseInt(st)); - stb.append(serType+"/"); + stb.append(serType + "/"); } - result.setSerTypeName(stb.toString().substring(0,stb.length()-1)); + result.setSerTypeName(stb.toString().substring(0, stb.length() - 1)); } - if(hs.getSerType()!=null){ + 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){ + if (hs.getStatus() != null) { result.setStatus(HospitalSerStatusEnums.getNameById(hs.getStatus())); } return result; @@ -286,13 +290,13 @@ public class ConfigServiceFacade { /** * 根据条件查询医院服务记录 * - * @param pageInfo 分页信息 + * @param pageInfo 分页信息 * @return */ public BaseListResponse getHospitalService(PageInfo pageInfo, Integer id) { //根据用户id获取医院ID String hospitalId = autoMatchFacade.getHospitalId(id); - HospitalServiceContentQuery hdsQuery = new HospitalServiceContentQuery(); + HospitalServiceContentQuery hdsQuery = new HospitalServiceContentQuery(); hdsQuery.setHospitalId(hospitalId); hdsQuery.setSort("create_date desc"); hdsQuery.setNeed("y"); 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 4e59ff7..124de0c 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 @@ -1217,6 +1217,7 @@ public class MatDeliverFacade { for(MaternalDeliverModel deliverModel : maternalDeliverModelList){ MatdeliverFollowListResult matdeliverFollowListResult = patientsMap.get(deliverModel.getParentId()); + matdeliverFollowListResult.setId(deliverModel.getId()); //机构信息 Organization organization = organizationService.getOrganization(Integer.valueOf(deliverModel.getFmHospital())); // 市 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java index a59a582..d92736d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java @@ -54,6 +54,15 @@ public class MatdeliverFollowFacade { map.put("visitResult", PostpartumFollowMakeEnums.getResultEnum()); //访视状态(1-待访视、2-已访视) map.put("visitStatus", PostpartumFollowMakeEnums.getStatusEnum()); + //访视类型 + map.put("followType", PostpartumFollowMakeEnums.getTypeEnum()); + //异常 + map.put("errorType", PostpartumFollowMakeEnums.getErrorTypeEnum()); + //预约失败原因 + map.put("contactReasonEnum", PostpartumFollowMakeEnums.getContactReasonEnum()); + //访视确认 + map.put("visitAffirm", PostpartumFollowMakeEnums.getVisitAffirmEnum()); + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION).setData(map); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverFollowAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverFollowAddRequest.java index 2efe8ec..96d21f5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverFollowAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverFollowAddRequest.java @@ -564,4 +564,55 @@ public class MatDeliverFollowAddRequest implements IBasicRequestConvert