From e82c33394dd0f5177f421fbdd34d95b9f2c72821 Mon Sep 17 00:00:00 2001 From: zhangchao Date: Sun, 23 Jun 2024 15:18:55 +0800 Subject: [PATCH] =?UTF-8?q?#fix:=E6=96=B0=E5=A2=9E=E5=A4=A7=E5=90=8C?= =?UTF-8?q?=E4=B8=80=E9=94=AE=E8=B7=B3=E8=BD=AC=E9=80=BB=E8=BE=91=E3=80=81?= =?UTF-8?q?=E9=A2=84=E7=BA=A6=E6=8C=82=E5=8F=B7=E9=A1=B5=E9=9D=A2=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E7=AD=89=E9=80=BB=E8=BE=91=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/PatientDtController.java | 525 +++++++++++++++++++++ .../web/controller/PatientServiceController.java | 3 +- .../web/controller/PostpartumReportController.java | 77 +++ .../web/controller/PregnancyReportController.java | 116 +++++ .../operate/web/facade/BookbuildingFacade.java | 1 + .../operate/web/facade/PatientServiceFacade.java | 53 +-- .../operate/web/facade/PostpartumReportFacade.java | 38 ++ .../operate/web/facade/PregnancyReportFacade.java | 81 ++++ .../PregnancyReportMattersServiceFacade.java | 43 ++ 9 files changed, 908 insertions(+), 29 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientDtController.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostpartumReportController.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnancyReportController.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostpartumReportFacade.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PregnancyReportFacade.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PregnancyReportMattersServiceFacade.java diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientDtController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientDtController.java new file mode 100644 index 0000000..0e9bf34 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientDtController.java @@ -0,0 +1,525 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.biz.service.*; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.result.CommonResult; +import com.lyms.platform.common.utils.*; +import com.lyms.platform.operate.web.facade.*; +import com.lyms.platform.operate.web.request.AntExAddRequest; +import com.lyms.platform.operate.web.request.AntExQueryRequest; +import com.lyms.platform.operate.web.request.AntenatalExaminationQueryRequest; +import com.lyms.platform.operate.web.request.PatientQueryRequest; +import com.lyms.platform.operate.web.utils.CollectionUtils; +import com.lyms.platform.operate.web.utils.FunvCommonUtil; +import com.lyms.platform.operate.web.vo.PatientNiptDTO; +import com.lyms.platform.permission.service.AppointmentService; +import com.lyms.platform.permission.service.CouponService; +import com.lyms.platform.pojo.*; +import com.lyms.platform.query.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.*; + +/** + * 大同市第一人民医院 + */ +@Controller +@RequestMapping +public class PatientDtController { + @Autowired + private PatientsService patientsService; + @Autowired + private PatientWeightService2 patientWeightService; + @Autowired + private BloodPressureService bloodPressureService; + @Autowired + private AntenatalExaminationService antExService; + @Autowired + private BasicConfigService basicConfigService; + @Autowired + private AntenatalExaminationFacade antenatalExaminationFacade; + @Autowired + private ViewFacade viewFacade; + @Autowired + private StopPregnancyFacade stopPregnancyFacade; + @Autowired + private LisCrisisItemService lisCrisisItemService; + @Autowired + private PatientFacade patientFacade; + @Autowired + private CouponService couponService; + @Autowired + private AppointmentService appointmentService; + + final static Integer userId=2100013059;//默认为客服ID + final static String hospitalId="2100002419";//大同医院ID + final static String Authorization="492$2&Y34sl0adJLTsbm4aim78"; + + /** + * 大同his获取孕妇小程序预建档信息——末次月经、血压、体重、既往史、个人史、家族史、传染病史、手术史数据 + * @param idCard + * @param name + * @param phone + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getDTPatient/Bookbuilding") + @ResponseBody + public BaseResponse getPatients(@RequestHeader("Authorization")String authorization, String idCard, String name, String phone){ + BaseResponse baseResponse=new BaseResponse(); + + if (!Authorization.equals(authorization)){ + return baseResponse.setErrormsg("权限异常").setErrorcode(-1); + } + + PatientsQuery patientsQuery =new PatientsQuery(); + patientsQuery.setYn(1); + patientsQuery.setHospitalId(hospitalId); + if (StringUtils.isNotEmpty(idCard)){ + patientsQuery.setCardNo(idCard); + }else { + if (StringUtils.isNotEmpty(name)&&StringUtils.isNotEmpty(phone)){ + patientsQuery.setName(name); + patientsQuery.setPhone(phone); + }else { + return baseResponse.setErrormsg("参数异常").setErrorcode(-1); + } + } + List patientsList= patientsService.queryPatient(patientsQuery); + Map params=new HashMap<>(); + if (CollectionUtils.isNotEmpty(patientsList)){ + //处理预建档信息 末次月经、血压、体重、既往史、个人史、家族史、传染病史、手术史数据 + Patients patients= patientsList.get(0); + String id=patients.getId(); + params.put("lastMenses",patients.getLastMenses()); + PatientWeightQuery patientWeightQuery=new PatientWeightQuery(); + patientWeightQuery.setYn(1); + patientWeightQuery.setParentId(id); + MongoQuery mongoQuery=patientWeightQuery.convertToQuery().addOrder(Sort.Direction.DESC, "id"); + List patientWeightList= patientWeightService.queryPatientWeight(mongoQuery.convertToMongoQuery()); + if (CollectionUtils.isNotEmpty(patientWeightList)){ + //体重 + params.put("yqweight",patientWeightList.get(0).getNowWeight()); + } + BloodPressureQuery bloodPressureQuery=new BloodPressureQuery(); + bloodPressureQuery.setParentId(id); + bloodPressureQuery.setYn(1); + List list= bloodPressureService.getList(bloodPressureQuery); + if (CollectionUtils.isNotEmpty(list)){ + BloodPressure bloodPressure= list.get(0); + //血压 + params.put("bp", bloodPressure.getSsy() + "/" + bloodPressure.getSzy() + "mmHg"); + } + AntExChuQuery antExChuQuery=new AntExChuQuery(); + antExChuQuery.setYn(1); + antExChuQuery.setParentId(id); + List antExChuModelList= antExService.queryAntExChu(antExChuQuery); + if (CollectionUtils.isNotEmpty(antExChuModelList)){ + AntExChuModel data= antExChuModelList.get(0); + //既往史 + String pastHistory = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(data.getPastHistory())) { + Map map1 = JsonUtil.jkstr2Obj(data.getPastHistory(), Map.class); + pastHistory = FunvCommonUtil.replace(map1, new StringBuilder(), basicConfigService); + } + params.put("pastHistory", pastHistory); + //家族史 + String familyHistory = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(data.getFamilyHistory())) { + Map map1 = JsonUtil.jkstr2Obj(data.getFamilyHistory(), Map.class); + familyHistory = FunvCommonUtil.replace(map1, new StringBuilder(), basicConfigService); + } + params.put("familyHistory", familyHistory); + //个人史 + String personalHistory = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(data.getPersonalHistory())) { + Map map1 = JsonUtil.jkstr2Obj(data.getPersonalHistory(), Map.class); + personalHistory = FunvCommonUtil.replace(map1, new StringBuilder(), basicConfigService); + } + params.put("personalHistory", personalHistory); + //妇科手术史 + String fksxHistory = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(data.getFksxHistory())) { + Map map1 = JsonUtil.jkstr2Obj(data.getFksxHistory(), Map.class); + fksxHistory = FunvCommonUtil.replace(map1, new StringBuilder(), basicConfigService); + } + params.put("fksxHistory", fksxHistory); + //传染病史 + String infectDiseases=""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(data.getInfectDiseases())) { + Map map1 = JsonUtil.jkstr2Obj(data.getInfectDiseases(), Map.class); + infectDiseases=FunvCommonUtil.reslove(map1, new StringBuilder()); + } + params.put("infectDiseases", infectDiseases); + + } + }else { + return new BaseResponse().setErrormsg("当前用户未有建档信息").setErrorcode(41001); + } + baseResponse.setObject(params); + return baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + /** + * 建档基础信息大同 + * @param idCard + * @param name + * @param phone + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/dt/antexmanage") + @ResponseBody + public BaseResponse queryAntenatalExamination(@RequestHeader("Authorization")String authorization,String idCard,String name,String phone,String vcCardNo){ + if (!Authorization.equals(authorization)){ + return new BaseResponse().setErrormsg("权限异常").setErrorcode(-1); + } + String cardNo=idCard; + if (!StringUtils.isNotEmpty(idCard)){ + if (StringUtils.isNotEmpty(name)&&StringUtils.isNotEmpty(phone)){ + PatientsQuery patientsQuery =new PatientsQuery(); + patientsQuery.setYn(1); + patientsQuery.setHospitalId(hospitalId); + patientsQuery.setName(name); + patientsQuery.setPhone(phone); + List patientsList= patientsService.queryPatient(patientsQuery); + if (CollectionUtils.isNotEmpty(patientsList)){ + cardNo=patientsList.get(0).getCardNo(); + }else { + return new BaseResponse().setErrormsg("当前用户未有建档信息").setErrorcode(41001); + } + } + + if (StringUtils.isEmpty(cardNo)&&StringUtils.isEmpty(vcCardNo)){ + return new BaseResponse().setErrormsg("参数异常").setErrorcode(-1); + } + + } + AntenatalExaminationQueryRequest queryRequest=new AntenatalExaminationQueryRequest(); + queryRequest.setCardNo(cardNo); + queryRequest.setVcCardNo(vcCardNo); + return antenatalExaminationFacade.queryAntenatalExamination(queryRequest,userId); + } + + /** + * 高危大同 + * @param patientId + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/dt/getLastRisk") + @ResponseBody + public BaseResponse getLastRisk(@RequestHeader("Authorization")String authorization,String patientId) { + if (!Authorization.equals(authorization)){ + return new BaseResponse().setErrormsg("权限异常").setErrorcode(-1); + } + return antenatalExaminationFacade.getLastRisk(patientId, null); + } + + /** + * 检查报表 + * + * @param antex + * @return + */ + @RequestMapping(value = "/dt/checkReport", method = RequestMethod.GET) + @ResponseBody + public BaseResponse checkReport(@RequestHeader("Authorization")String authorization,@RequestParam(required = false) List antex, @RequestParam(required = false) String antexc) { + if (!Authorization.equals(authorization)){ + return new BaseResponse().setErrormsg("权限异常").setErrorcode(-1); + } + return viewFacade.checkReport(antex, antexc, userId); + } + + /** + * 查询复诊接口 + * + * @param id + * @return + */ + @RequestMapping(value = "/dt/findAntenatalExaminationData", method = RequestMethod.GET) + @ResponseBody + public BaseObjectResponse findAntenatalExaminationData(@RequestHeader("Authorization")String authorization,@RequestParam("id") String id) { + if (!Authorization.equals(authorization)){ + return new BaseObjectResponse().setErrormsg("权限异常").setErrorcode(-1); + } + return viewFacade.findAntenatalExamination(id); + } + + + /** + * 返回该医院可选择的录入人 + * 默认为大同客服号 + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/dt/queryInPerson") + @ResponseBody + public BaseResponse queryInPerson(@RequestHeader("Authorization")String authorization) { + if (!Authorization.equals(authorization)){ + return new BaseResponse().setErrormsg("权限异常").setErrorcode(-1); + } + return stopPregnancyFacade.queryInPerson(userId); + } + + /** + * 返回该医院可选择的录入人 + * 默认为大同客服号 + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/dt/queryInPerson2") + @ResponseBody + public BaseResponse queryInPerson2(@RequestHeader("Authorization")String authorization) { + if (!Authorization.equals(authorization)){ + return new BaseResponse().setErrormsg("权限异常").setErrorcode(-1); + } + return stopPregnancyFacade.queryInPerson2(userId); + } + + /** + * 危急列表 + * @param response + * @param page + * @param limit + * @param cardNo + * @param phone + + */ + @RequestMapping(value = "/dt/lisCrisisItems", method = RequestMethod.GET) + public void getEmergenceTreatments(HttpServletResponse response, + @RequestHeader("Authorization")String authorization, + @RequestParam("page") int page, + @RequestParam("limit") int limit, + @RequestParam(value = "cardNo", required = false) String cardNo, + @RequestParam(value = "phone", required = false) String phone, + @RequestParam(value = "name", required = false) String name) + { + if (!Authorization.equals(authorization)){ + ResultUtils.buildParameterErrorResultAndWrite(response, "权限异常"); + return ; + } + LisCrisisItemQuery query = new LisCrisisItemQuery(); + query.setPage(page); + query.setLimit(limit); + query.setNeed("y"); + Boolean b=false; + if (StringUtils.isNotEmpty(cardNo)){ + query.setCardNo(cardNo); + b=true; + } + if (StringUtils.isNotEmpty(phone)&&StringUtils.isNotEmpty(name)){ + query.setPhone(phone); + query.setName(name); + b=true; + } + if (!b){ + ResultUtils.buildParameterErrorResultAndWrite(response, "参数异常"); + return; + } + query.setHospitalId(hospitalId); + + + List lisCrisisItemList = lisCrisisItemService.query(query, Sort.Direction.DESC, "publishTime"); + List list = new ArrayList<>(); + + if (org.apache.commons.collections.CollectionUtils.isNotEmpty(lisCrisisItemList)) { + for (LisCrisisItem data : lisCrisisItemList) { + Map map = new HashMap<>(); + map.put("id", data.getId()); + map.put("hospitalId", data.getHospitalId()); + map.put("name", data.getName()); + map.put("age", data.getAge()); + map.put("itemCode", data.getItemCode()); + map.put("itemName", data.getItemName()); + map.put("classify", data.getClassify()); + map.put("classifyName", data.getClassifyName()); + map.put("flag", data.getFlag()); + map.put("ref", data.getRef()); + map.put("result", data.getResult()); + map.put("unit", data.getUnit()); + map.put("applyDoctorCode", data.getApplyDoctorCode()); + map.put("applyDoctorName", data.getApplyDoctorName()); + map.put("publishTime", DateUtil.getyyyy_MM_dd(data.getPublishTime())); + map.put("status", data.getStatus()); + map.put("statusName", data.getStatusName()); + + map.put("patientName", data.getPatientName()); + map.put("cardNo", data.getCardNo()); + map.put("phone", data.getPhone()); + map.put("serviceType", data.getServiceType()); + map.put("serviceStatus", data.getServiceStatus()); + map.put("lastMenses", data.getLastMenses() == null ? 0 : data.getLastMenses().getTime()); + + if (data.getWeek() >= 42) { + map.put("week", "已分娩"); + } else { + map.put("week", data.getWeek() + "周"); + } + map.put("pId", data.getPid()); + map.put("pid", data.getPid()); + map.put("patientId", data.getPatientId()); + + list.add(map); + } + } + CommonResult result = new CommonResult(); + result.setList(list); + result.setPageInfo(query.getPageInfo()); + + ResultUtils.buildSuccessResultAndWrite(response, result); + } + + @RequestMapping(value = "/dt/findp2", method = RequestMethod.GET) + @ResponseBody + public BaseResponse getPatent2(@Valid PatientQueryRequest request, + @RequestHeader("Authorization")String authorization) { + if (!Authorization.equals(authorization)){ + return new BaseResponse().setErrorcode(-1).setErrormsg("权限异常"); + } + return patientFacade.findPatient2(request, userId); + } + + @RequestMapping(method = RequestMethod.GET, value = "/dt/getGongGaoCurve") + @ResponseBody + public BaseResponse getGongGaoLine(@RequestParam(required = true) String patientId,@RequestHeader("Authorization")String authorization) { + if (!Authorization.equals(authorization)){ + return new BaseResponse().setErrorcode(-1).setErrormsg("权限异常"); + } + return antenatalExaminationFacade.getGongGaoLine(patientId, userId); + } + + @RequestMapping(method = RequestMethod.GET, value = "/dt/antex") + @ResponseBody + public BaseResponse findOneAntById(@RequestHeader("Authorization")String authorization,@Valid AntExQueryRequest antExQueryRequest) { + if (!Authorization.equals(authorization)){ + return new BaseResponse().setErrorcode(-1).setErrormsg("权限异常"); + } + antExQueryRequest.setUserId(userId); + return antenatalExaminationFacade.findOneAntExById(antExQueryRequest); + } + + @RequestMapping(method = RequestMethod.POST, value = "/dt/antexmanage") + @ResponseBody + public BaseResponse addOneAntenatalExamination(@RequestHeader("Authorization")String authorization,@Valid @RequestBody AntExAddRequest antExAddRequest) { + if (!Authorization.equals(authorization)){ + return new BaseResponse().setErrorcode(-1).setErrormsg("权限异常"); + } + BaseResponse baseResponse = antenatalExaminationFacade.addOneAntEx(antExAddRequest, userId); + baseResponse.setObject(couponService.getPatientsInfoByCode(antExAddRequest.getCouponCode())); + return baseResponse; + } + + /** + * 查询初诊接口 + * + * @param id + * @return + */ + @RequestMapping(value = "/dt/findAntExChuData", method = RequestMethod.GET) + @ResponseBody + public BaseObjectResponse findAntExChuData(@RequestParam("id") String id, + @RequestHeader("Authorization")String authorization) { + if (!Authorization.equals(authorization)){ + return new BaseObjectResponse().setErrorcode(-1).setErrormsg("权限异常"); + } + BaseObjectResponse br = viewFacade.findAntExChu(id); + return br; + } + + @Autowired + private LisFacade lisFacade; + + @RequestMapping(method = RequestMethod.GET, value = "/dt/getLisAndRisData") + @ResponseBody + public BaseResponse getLisAndRisData(@RequestHeader("Authorization")String authorization, + @RequestParam(required = false) String vcCardNo, + @RequestParam(required = false) String sINCard, + @RequestParam("sortType") Integer sortType, + @RequestParam(required = false) String phone, + @RequestParam(required = false) String cardNo, + @RequestParam(required = false) String userName, + @RequestParam(defaultValue = "1") Integer perType//默认孕妇 + ) { + if (!Authorization.equals(authorization)){ + return new BaseObjectResponse().setErrorcode(-1).setErrormsg("权限异常"); + } + return lisFacade.getLisAndRisData(vcCardNo,sINCard, phone,cardNo, sortType,perType, userName,userId); + } + + /** + * 增加产检高危手册(大同) + * @param antExHighRiskModel + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/dt/addAntexHighRisk") + @ResponseBody + public BaseResponse addAntexHighRisk(@RequestHeader("Authorization")String authorization,@RequestBody AntExHighRiskModel antExHighRiskModel){ + if (!Authorization.equals(authorization)){ + return new BaseResponse().setErrorcode(-1).setErrormsg("权限异常"); + } + return antenatalExaminationFacade.addAntexHighRisk(antExHighRiskModel,userId); + } + + /** + * 查询产检高危手册(大同) + * @param parentId + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/dt/queryAntexHighRisk") + @ResponseBody + public BaseResponse queryAntexHighRisk(@RequestHeader("Authorization")String authorization,@RequestParam String parentId){ + if (!Authorization.equals(authorization)){ + return new BaseResponse().setErrorcode(-1).setErrormsg("权限异常"); + } + return antenatalExaminationFacade.queryAntexHighRisk(parentId,userId); + } + + @RequestMapping(method = RequestMethod.POST, value = "/dt/addPatientNipt") + @ResponseBody + public BaseResponse addPatientNipt(@RequestHeader("Authorization")String authorization,@RequestBody PatientNiptDTO patientNiptDTO){ + if (!Authorization.equals(authorization)){ + return new BaseResponse().setErrorcode(-1).setErrormsg("权限异常"); + } + return antenatalExaminationFacade.addPatientNipt(patientNiptDTO,userId); + } + + @RequestMapping(method = RequestMethod.GET, value = "/dt/appointment") + @ResponseBody + public BaseResponse getAppointment(@RequestHeader("Authorization")String authorization, + @RequestParam(required = true) String doctor, + @RequestParam(required = true) String startTime, + @RequestParam(required = true) String endTime, + @RequestParam(required = false) String name + + ) { + if (!Authorization.equals(authorization)){ + return new BaseObjectResponse().setErrorcode(-1).setErrormsg("权限异常"); + } + BaseResponse baseResponse=new BaseResponse(); + startTime=startTime+" 00:00:00"; + endTime=endTime+" 23:59:59"; + baseResponse.setObject(appointmentService.queryAppointment(doctor,startTime,endTime,name)); + baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + return baseResponse; + } + @RequestMapping(method = RequestMethod.GET, value = "/dt/sync/appointment") + @ResponseBody + public BaseResponse syncAppointmentList(@RequestHeader("Authorization")String authorization, + @RequestParam(required = true) String doctor, + @RequestParam(required = true) String date){ + if (!Authorization.equals(authorization)){ + return new BaseObjectResponse().setErrorcode(-1).setErrormsg("权限异常"); + } + Map params=new HashMap<>(); + params.put("doctor",doctor); + params.put("ksrq",date+" 00:00:00"); + params.put("jsrq",date+" 23:59:59"); + String str= HttpClientUtil.doGet("/dtdyrm/getdtAppointment" ,params,"utf-8",null); + System.out.println(str); + return new BaseResponse(); + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientServiceController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientServiceController.java index f87c67f..2232a78 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientServiceController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientServiceController.java @@ -165,7 +165,6 @@ public class PatientServiceController extends BaseController { String bookbuildingDoctor = patients.getBookbuildingDoctor(); //续期,增加 if(yxzhVO.getRenew() == 1){ - System.out.println("111111111111111111111111"); //1孕妇 2儿童 3 产妇 PatientServiceQuery patientServiceQuery = new PatientServiceQuery(); List patientServices=new ArrayList<>(); @@ -182,6 +181,7 @@ public class PatientServiceController extends BaseController { ps.setSerStatus(1); ps.setServiceWeek(yxzhVO.getWeeks()); ps.setSerType(1); + patientServiceFacade.updatePatientService(ps,Integer.valueOf(bookbuildingDoctor)); } @@ -228,7 +228,6 @@ public class PatientServiceController extends BaseController { } return baseResponse; }else{ - System.out.println("2222222"); List> list = new ArrayList<>(); PatientService ps = new PatientService(); ps.setSerStatus(1); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostpartumReportController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostpartumReportController.java new file mode 100644 index 0000000..1d755fd --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostpartumReportController.java @@ -0,0 +1,77 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.facade.PostpartumReportFacade; +import com.lyms.platform.pojo.PostpartumReport; +import com.lyms.platform.query.PostpartumReportQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + +@Controller +@RequestMapping("/postpartumReport") +public class PostpartumReportController extends BaseController { + @Autowired + private PostpartumReportFacade postpartumReportFacade; + + /** + * 模板报告列表 + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getList") + @ResponseBody + @TokenRequired + public BaseResponse getPostpartumReportList(@RequestParam(required = false) String rFactor, + @RequestParam("page") Integer page, + @RequestParam("limit") Integer limit, + HttpServletRequest request) { + + PostpartumReportQuery postpartumReportQuery=new PostpartumReportQuery(); + postpartumReportQuery.setrFactor(rFactor); + postpartumReportQuery.setPage(page); + postpartumReportQuery.setLimit(limit); + return postpartumReportFacade.queryPatient(postpartumReportQuery,getUserId(request)); + } + /** + * 新增模板报告 + * @param postpartumReport + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/add") + @ResponseBody + @TokenRequired + public BaseResponse addPostpartumReport(@RequestBody PostpartumReport postpartumReport){ + postpartumReportFacade.add(postpartumReport); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + /** + * 获取报告详情 + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getInfo") + @ResponseBody + @TokenRequired + public BaseResponse getInfo(@RequestParam(required = true)String id){ + BaseResponse baseResponse= new BaseResponse(); + baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setObject(postpartumReportFacade.getPatient(id)); + return baseResponse; + } + @RequestMapping(method = RequestMethod.POST, value = "/update") + @ResponseBody + @TokenRequired + public BaseResponse updateById(@RequestBody PostpartumReport postpartumReport){ + if (StringUtils.isEmpty(postpartumReport.getId())){ + return new BaseResponse().setErrorcode(-1).setErrormsg("参数异常"); + } + postpartumReportFacade.updateById(postpartumReport,postpartumReport.getId()); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnancyReportController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnancyReportController.java new file mode 100644 index 0000000..37347f8 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnancyReportController.java @@ -0,0 +1,116 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.facade.PregnancyReportFacade; +import com.lyms.platform.operate.web.facade.PregnancyReportMattersServiceFacade; +import com.lyms.platform.pojo.PregnancyReport; +import com.lyms.platform.pojo.PregnancyReportMatters; +import com.lyms.platform.query.PregnancyReportMattersQuery; +import com.lyms.platform.query.PregnancyReportQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + +/** + * 孕期营养报告模版 + */ +@Controller +@RequestMapping("/pregnancyReport") +public class PregnancyReportController extends BaseController { + @Autowired + private PregnancyReportFacade pregnancyReportFacade; + @Autowired + private PregnancyReportMattersServiceFacade pregnancyReportMattersServiceFacade; + + /** + * 新增模板报告 + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/add") + @ResponseBody + @TokenRequired + public BaseResponse addPostpartumReport(@RequestBody PregnancyReport pregnancyReport){ + pregnancyReportFacade.add(pregnancyReport); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + @RequestMapping(method = RequestMethod.POST, value = "/update") + @ResponseBody + @TokenRequired + public BaseResponse updateById(@RequestBody PregnancyReport postpartumReport){ + if (StringUtils.isEmpty(postpartumReport.getId())){ + return new BaseResponse().setErrorcode(-1).setErrormsg("参数异常"); + } + pregnancyReportFacade.update(postpartumReport); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + /** + * 获取报告详情 + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getList") + @ResponseBody + @TokenRequired + public BaseResponse getList(@RequestParam(required = false) String rFactor, + @RequestParam(required = false) Integer week, + @RequestParam(required = false) Integer weightType + ,HttpServletRequest request){ + PregnancyReportQuery pregnancyReportQuery=new PregnancyReportQuery(); + pregnancyReportQuery.setWeek(week); + pregnancyReportQuery.setWeightType(weightType); + pregnancyReportQuery.setrFactor(rFactor); + return pregnancyReportFacade.getInfo(pregnancyReportQuery,getUserId(request)); + } + + /** + * 新增模板报告 + * @return + */ + @RequestMapping(method = RequestMethod.POST, value = "/matters/add") + @ResponseBody + @TokenRequired + public BaseResponse addPostpartumReportMatters(@RequestBody PregnancyReportMatters pregnancyReport){ + pregnancyReportMattersServiceFacade.add(pregnancyReport); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + @RequestMapping(method = RequestMethod.POST, value = "/matters/update") + @ResponseBody + @TokenRequired + public BaseResponse updateMattersById(@RequestBody PregnancyReportMatters postpartumReport){ + if (StringUtils.isEmpty(postpartumReport.getId())){ + return new BaseResponse().setErrorcode(-1).setErrormsg("参数异常"); + } + pregnancyReportMattersServiceFacade.updateById(postpartumReport); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + /** + * 获取报告详情 + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/matters/getList") + @ResponseBody + @TokenRequired + public BaseResponse getMattersList( + @RequestParam(required = false) Integer week, + @RequestParam(required = false) Integer riskType, + @RequestParam("page") Integer page, + @RequestParam("limit") Integer limit + ,HttpServletRequest request){ + PregnancyReportMattersQuery postpartumReportQuery=new PregnancyReportMattersQuery(); + postpartumReportQuery.setWeek(week); + postpartumReportQuery.setRiskType(riskType); + postpartumReportQuery.setPage(page); + postpartumReportQuery.setLimit(limit); + return pregnancyReportMattersServiceFacade.getList(postpartumReportQuery,getUserId(request)); + } + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index d0e458f..7ab00b3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -1491,6 +1491,7 @@ public class BookbuildingFacade { Date twenty = DateUtil.addDay(day, -21); Date twentyEight = DateUtil.addDay(day, -28); Map params = new HashMap<>(); + /* params.put("day",day);*/ params.put("seven", seven); params.put("fourteen", fourteen); params.put("twenty", twenty); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java index 5835de1..6ee658d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java @@ -558,7 +558,6 @@ public class PatientServiceFacade { } } else if (ps.getPerType() != null && ps.getPerType() == 1) {//孕妇建档服务数据处理 if (PatientSerEnums.SerTypeEnums.yqjzzd.getId() == Integer.parseInt(serInfo.get("serType"))) {//孕期精准指导同步到建档 - System.out.println("333333333333333333333"); Patients patient = new Patients(); patient.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId()); patient.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); @@ -567,7 +566,7 @@ public class PatientServiceFacade { sendServiceMsg(patients, SmsServiceEnums.FWKT.getId(), "您好,请点击此处查看开通服务内容详情。", "大同市第一人民医院", ServiceObjEnums.YUNOBJ.getId(), 1); } else if (PatientSerEnums.SerTypeEnums.bzfw.getId().intValue() == Integer.parseInt(serInfo.get("serType"))) { - System.out.println("555555555555555555555555"); + PatientServiceQuery query = new PatientServiceQuery(); query.setParentid(ps.getParentid()); query.setSerType(PatientSerEnums.SerTypeEnums.yqjzzd.getId()); @@ -582,7 +581,6 @@ public class PatientServiceFacade { } } else {//产妇建档服务数据处理 if (PatientSerEnums.SerTypeEnums.chkf.getId() == Integer.parseInt(serInfo.get("serType"))) {//产后康复同步到建档 - System.out.println("66666666666666666"); Patients patient = new Patients(); patient.setServiceType(ServiceTypeEnums.ADD_MAT_DELIVER_SERVICE.getId()); patient.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId()); @@ -608,28 +606,6 @@ public class PatientServiceFacade { //Thread.sleep(5000); logger.info("sendServiceMsg startup"); List messages = new ArrayList<>(); - MsgRequest mr = new MsgRequest(); - mr.setPhone(patient.getPhone()); - mr.setMemberId(null); - mr.setTypeId(ProjectTypeEnums.YNXT.getId()); - mr.setStatus(SmsStatusEnums.WFS.getId()); - mr.setHospitalId(patient.getHospitalId()); - mr.setTempId(patient.getId()); - mr.setPatientId(patient.getId()); - mr.setSmsStatus(SmsStatusEnums.WFS.getId()); - mr.setServiceType(1); //判断发送类型 - mr.setFirst(first);// - mr.setObjType(objType); - mr.setSubTypeId(subTypeId); - mr.setKeyword1(keyWord1);// - //planTime 和 timeType为必填 否则推送中心会推送异常 - mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); - mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); - mr.setKeyword2("产科"); - mr.setRemark(patient.getUsername()); - mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date())); - mr.setWxTempId(WxTempleteIdEnums.YUX_XUE_KE_CHEN_FB.getId()); - messages.add(mr); if (type != null) { String title = "服务提醒短信"; String messageContent = "【大同市第一人民医院】" + "欢迎加入我院健康咨询服务:请微信-添加朋友-公众号-搜索“美生孕育”关注;点击开通成功提醒,手机号获取验证码成功登录宝贝孕程小程序。请确保登录成功并持续关注“美生孕育”公众号,正常接收产检提醒,享受个性化指导文章推送、孕期随访及营养指导等服务。"; @@ -649,13 +625,35 @@ public class PatientServiceFacade { request.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); request.setHospitalId("2100002419"); request.setPatientId(patient.getId()); - request.setTempId(patient.getId()); - mr.setWxTempId(WxTempleteIdEnums.YUX_XUE_KE_CHEN_FB.getId()); + request.setTempId(patient.getPid()); + request.setWxTempId("tx-UmDE3YMqYgAeFccXB7HIlTuG_tiP9LMdX2bvBpus"); request.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date())); request.setFirst(messageContent); request.setKeyword1(title); request.setKeyword2(DateUtil.getyyyy_MM_dd(DateUtil.addDay(new Date(), 0))); messages.add(request); + }else { + MsgRequest mr = new MsgRequest(); + mr.setPhone(patient.getPhone()); + mr.setTypeId(ProjectTypeEnums.YNXT.getId()); + mr.setStatus(SmsStatusEnums.WFS.getId()); + mr.setHospitalId(patient.getHospitalId()); + mr.setTempId(patient.getId()); + mr.setPatientId(patient.getId()); + mr.setSmsStatus(SmsStatusEnums.WFS.getId()); + mr.setServiceType(1); //判断发送类型 + mr.setFirst(first);// + mr.setObjType(objType); + mr.setSubTypeId(subTypeId); + mr.setKeyword1(keyWord1);// + //planTime 和 timeType为必填 否则推送中心会推送异常 + mr.setTimeType(SmsTimeTypeEnums.ONTIME.getId()); + mr.setPlanTime(DateUtil.getyyyy_MM_dd_hms(new Date())); + mr.setKeyword2("产科"); + mr.setRemark(patient.getUsername()); + mr.setCreated(DateUtil.getyyyy_MM_dd_hms(new Date())); + mr.setWxTempId("tx-UmDE3YMqYgAeFccXB7HIlTuG_tiP9LMdX2bvBpus"); + messages.add(mr); } smsConfigFacade.saveMsg(messages, patient.getHospitalId()); @@ -877,6 +875,7 @@ public class PatientServiceFacade { patient.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId()); if (ps.getSerStatus().intValue() == PatientSerEnums.SerStatusEnums.kt.getId().intValue()) { patient.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); + //sendServiceMsg(patient, SmsServiceEnums.FWKT.getId(), "您好,请点击此处查看开通服务内容详情。", "大同市第一人民医院", ServiceObjEnums.YUNOBJ.getId(), 1); } else if (ps.getSerStatus().intValue() == PatientSerEnums.SerStatusEnums.td.getId().intValue()) { patient.setServiceStatus(ServiceStatusEnums.UNSUBSCRIBE.getId()); } else if (ps.getSerStatus().intValue() == PatientSerEnums.SerStatusEnums.gq.getId().intValue()) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostpartumReportFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostpartumReportFacade.java new file mode 100644 index 0000000..33c63ea --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PostpartumReportFacade.java @@ -0,0 +1,38 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.PostpartumReportService; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.pojo.PostpartumReport; +import com.lyms.platform.query.PostpartumReportQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class PostpartumReportFacade { + @Autowired + private PostpartumReportService postpartumReportService; + + @Autowired + private AutoMatchFacade autoMatchFacade; + + public BaseResponse queryPatient(PostpartumReportQuery postpartumReportQuery, Integer userId) { + String hospitalId = autoMatchFacade.getHospitalId(userId); + postpartumReportQuery.setHospitalId(hospitalId); + postpartumReportQuery.setYn(1); + return postpartumReportService.queryPatient(postpartumReportQuery); + } + + public PostpartumReport add(PostpartumReport postpartumReport){ + return postpartumReportService.add(postpartumReport); + } + + public void updateById(PostpartumReport postpartumReport,String id){ + postpartumReportService.updateById(postpartumReport,id); + } + + public PostpartumReport getPatient(String id){ + return postpartumReportService.getPatient(id); + } + + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PregnancyReportFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PregnancyReportFacade.java new file mode 100644 index 0000000..d9b1ef3 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PregnancyReportFacade.java @@ -0,0 +1,81 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.PregnancyReportMattersService; +import com.lyms.platform.biz.service.PregnancyReportService; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.utils.CollectionUtils; +import com.lyms.platform.pojo.PregnancyReport; +import com.lyms.platform.pojo.PregnancyReportMatters; +import com.lyms.platform.query.PregnancyReportMattersQuery; +import com.lyms.platform.query.PregnancyReportQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Component +public class PregnancyReportFacade { + @Autowired + private AutoMatchFacade autoMatchFacade; + @Autowired + private PregnancyReportService pregnancyReportService; + @Autowired + private PregnancyReportMattersService pregnancyReportMattersService; + + public BaseResponse add(PregnancyReport postpartumReport){ + postpartumReport.setWeek(getWeek(postpartumReport.getWeek())); + pregnancyReportService.add(postpartumReport); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + public BaseResponse update(PregnancyReport postpartumReport){ + postpartumReport.setWeek(getWeek(postpartumReport.getWeek())); + pregnancyReportService.updateById(postpartumReport,postpartumReport.getId()); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + public BaseResponse getInfo(PregnancyReportQuery pregnancyReportQuery,Integer userId){ + String hospitalId= autoMatchFacade.getHospitalId(userId); + pregnancyReportQuery.setHospitalId(hospitalId); + pregnancyReportQuery.setYn(1); + Integer week= pregnancyReportQuery.getWeek(); + pregnancyReportQuery.setWeek(getWeek(week)); + List list= pregnancyReportService.queryPregnancyReport(pregnancyReportQuery); + if (CollectionUtils.isNotEmpty(list)){ + for (PregnancyReport pregnancyReport:list){ + PregnancyReportMattersQuery postpartumReportQuery=new PregnancyReportMattersQuery(); + postpartumReportQuery.setYn(1); + postpartumReportQuery.setHospitalId(hospitalId); + postpartumReportQuery.setWeek(week); + Integer riskType=1; + if (pregnancyReport.getRiskFactorName().contains("健康")){ + riskType=0; + } + postpartumReportQuery.setRiskType(riskType); + List mattersList= pregnancyReportMattersService.queryPregnancyReport(postpartumReportQuery); + if (CollectionUtils.isNotEmpty(mattersList)){ + pregnancyReport.setMatters(mattersList.get(0).getMatters()); + } + } + } + BaseResponse baseResponse=new BaseResponse(); + baseResponse.setObject(list); + baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + baseResponse.setErrormsg("成功"); + return baseResponse; + } + + //1是孕早期 14周之前 2是孕中期 14-27周+6 3是孕晚期28周及以后 + private Integer getWeek(Integer week){ + Integer num=0; + if (week>=14&&week<=27){ + num=2; + }else if (week>=28){ + num=3; + }else { + num=1; + } + return num; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PregnancyReportMattersServiceFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PregnancyReportMattersServiceFacade.java new file mode 100644 index 0000000..510a87f --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PregnancyReportMattersServiceFacade.java @@ -0,0 +1,43 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.PregnancyReportMattersService; +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.pojo.PregnancyReportMatters; +import com.lyms.platform.query.PregnancyReportMattersQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Component +public class PregnancyReportMattersServiceFacade { + @Autowired + private PregnancyReportMattersService pregnancyReportMattersService; + @Autowired + private AutoMatchFacade autoMatchFacade; + + public BaseResponse add(PregnancyReportMatters postpartumReport){ + pregnancyReportMattersService.add(postpartumReport); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + public BaseResponse getList(PregnancyReportMattersQuery postpartumReportQuery,Integer userId){ + String hospitalId= autoMatchFacade.getHospitalId(userId); + postpartumReportQuery.setHospitalId(hospitalId); + postpartumReportQuery.setYn(1); + List list= pregnancyReportMattersService.queryPregnancyReport(postpartumReportQuery); + BaseListResponse objectResponse = new BaseListResponse(); + objectResponse.setData(list); + objectResponse.setPageInfo(postpartumReportQuery.getPageInfo()); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + return objectResponse; + } + + public BaseResponse updateById(PregnancyReportMatters postpartumReport){ + pregnancyReportMattersService.updateById(postpartumReport,postpartumReport.getId()); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } +} -- 1.8.3.1