diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java index a03edbe..c256479 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java @@ -1244,7 +1244,13 @@ public class DateUtil { return md.format(date); } - + public static String formatYMDDate(Date date) { + if (date == null) { + return ""; + } + SimpleDateFormat md = new SimpleDateFormat("yyyy-MM-dd"); + return md.format(date); + } /** * @auther HuJiaqi * @createTime 2016年11月29日 11时30分 diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java b/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java index f98ae47..9eca887 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java @@ -43,6 +43,18 @@ public final class StringUtils { return String.valueOf(cs); } + public static String dtDueWeek(int days) { + if (days >= 301) { + return "已分娩"; + } + int week = (days / 7); + String str = ""; +// if (week > 0) { + str = week + "周"; +// } + return "孕" + str ; + } + public static String dueWeek(int days) { if (days >= 301) { return "已分娩"; diff --git a/platform-dal/src/main/java/com/lyms/platform/query/AntExQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/AntExQuery.java index d3c21bc..36a676d 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/AntExQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/AntExQuery.java @@ -57,6 +57,7 @@ public class AntExQuery extends BaseQuery implements IConvertToNativeQuery { private Date nextCheckTimeStartDate; private Date nextCheckTimeEndDate; + private boolean isWx =false; public Date getNextCheckTimeStartDate() { return nextCheckTimeStartDate; @@ -236,6 +237,14 @@ public class AntExQuery extends BaseQuery implements IConvertToNativeQuery { this.nextCheckTime = nextCheckTime; } + public boolean isWx() { + return isWx; + } + + public void setWx(boolean wx) { + isWx = wx; + } + @Override public MongoQuery convertToQuery() { MongoCondition condition = MongoCondition.newInstance(); @@ -250,6 +259,11 @@ public class AntExQuery extends BaseQuery implements IConvertToNativeQuery { condition = condition.and("hospitalId", hospitalId, MongoOper.IS); } + if (isWx){ + condition = condition.and("weight", true, MongoOper.EXISTS); + condition = condition.and("bp", true, MongoOper.EXISTS); + } + if (null != hospitalIds && hospitalIds.size() > 0) { condition = condition.and("hospitalId", hospitalIds, MongoOper.IN); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java index a41bd92..b59c0a3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java @@ -561,6 +561,21 @@ public class AntenatalExaminationController extends BaseController { return antExRecordFacade.queryAnteHistory(hospitalId, pid); } + /** + * 小程序返回院内测量数据 + * @param pid + * @param hospitalId + * @return + */ + @RequestMapping(value = "/wx/queryMeasurementHistory", method = RequestMethod.GET) + @ResponseBody + public BaseResponse queryMeasurementHistory( + @RequestParam(value = "pid") String pid, + @RequestParam(value = "hospitalId") String hospitalId) { + + return antExRecordFacade.queryMeasurementHistory(hospitalId, pid); + } + @RequestMapping(value = "/queryAnte", method = RequestMethod.GET) @ResponseBody 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 index 65f4891..ff53413 100644 --- 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 @@ -622,7 +622,7 @@ public class PatientDtController extends BaseController { return antenatalExaminationFacade.addPatientNipt(patientNiptDTO,userId); } //大同需要特殊处理的护士名称 - private static final String doctors="孙慧洁,曹琴,温燕芳,牛冬燕,王改然,杜文瑞,习亚美,卫娜,施春花,胡雪娇,田保来,石海燕"; + private static final String doctors="孙慧洁,曹琴,温燕芳,牛冬燕,王改然,杜文瑞,习亚美,卫娜,施春花,胡雪娇,田保来,石海燕,许谨平"; /** * 预约挂号列表查询 @@ -814,7 +814,7 @@ public class PatientDtController extends BaseController { endTime=endTime+" 23:59:59"; String dept=null; //只有护士长和主任可以看统计(目前) - if (doctor.equals("田保来")||doctor.equals("孙慧洁")){ + if (doctor.equals("田保来")||doctor.equals("孙慧洁")||doctor.equals("许谨平")){ dept="产科"; }else { return new BaseObjectResponse().setErrorcode(-1).setErrormsg("权限异常"); @@ -932,7 +932,7 @@ public class PatientDtController extends BaseController { endTime=endTime+" 23:59:59"; String dept=null; //只有护士长和主任可以看统计(目前) - if (doctor.equals("田保来")||doctor.equals("孙慧洁")){ + if (doctor.equals("田保来")||doctor.equals("孙慧洁")||doctor.equals("许谨平")){ if (StringUtils.isEmpty(deptName)){ dept="产科"; } @@ -1014,7 +1014,7 @@ public class PatientDtController extends BaseController { if (authorization.contains(Authorization)){ String doctor= appointmentExport.getDoctor(); String dept=null; - if (doctor.equals("田保来")||doctor.equals("孙慧洁")){ + if (doctor.equals("田保来")||doctor.equals("孙慧洁")||doctor.equals("许谨平")){ dept="产科"; }else { return; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java index e0a7b84..bf2e950 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java @@ -14,6 +14,7 @@ import com.lyms.platform.operate.web.request.AntExManagerQueryRequest; import com.lyms.platform.operate.web.request.CjStatisticsQueryRequest; import com.lyms.platform.operate.web.request.NutritionInfoRequest; import com.lyms.platform.operate.web.result.*; +import com.lyms.platform.operate.web.service.PatientWeightService; import com.lyms.platform.operate.web.service.TeamService; import com.lyms.platform.operate.web.utils.FunvCommonUtil; import com.lyms.platform.operate.web.utils.ResolveUtils; @@ -2340,6 +2341,50 @@ public class AntExRecordFacade { return null; } + @Autowired + private PatientWeightService patientWeightService; + + public BaseResponse queryMeasurementHistory(String hospitalId, String pid) { + if (StringUtils.isNotEmpty(hospitalId) && StringUtils.isNotEmpty(pid)) { + + AntExChuQuery antExChuQuery = new AntExChuQuery(); + antExChuQuery.setYn(YnEnums.YES.getId()); + antExChuQuery.setParentId(pid); + antExChuQuery.setHospitalId(hospitalId); + List antExChuModels = antenatalExaminationService.queryAntExChu(antExChuQuery); + AntExChuModel antExChuModel = null; + if (CollectionUtils.isNotEmpty(antExChuModels)) { + antExChuModel = antExChuModels.get(0); + } + if (antExChuModel==null) { + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setData(null).setErrormsg("成功"); + } + + AntExQuery antExQuery = new AntExQuery(); + antExQuery.setParentId(pid); + antExQuery.setYn(YnEnums.YES.getId()); + antExQuery.setHospitalId(hospitalId); + antExQuery.setWx(true); + List examinationModelList= antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery()); + if (CollectionUtils.isEmpty(examinationModelList)){ + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setData(null).setErrormsg("成功"); + } + List> list=new ArrayList<>(); + String height=antExChuModel.getHeight(); + for (AntenatalExaminationModel model:examinationModelList) { + Map params=new HashMap<>(); + String weight=model.getWeight().toString(); + params.put("date",DateUtil.formatYMDDate(model.getCheckDate())); + params.put("weight",weight); + params.put("bp",model.getBp()); + params.put("height",height); + params.put("bmi",patientWeightService.getBmi(weight, height)); + list.add(params); + } + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setData(list).setErrormsg("成功"); + } + return null; + } public BaseResponse querOne(Integer userId, String pid) { String hospital = autoMatchFacade.getHospitalId(userId); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index a5ec50d..554dfcd 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java @@ -3092,7 +3092,7 @@ public class AntenatalExaminationFacade { } public BaseObjectResponse saveRisData(List models) { - System.out.println("----------1-----------" + models.size()); + //System.out.println("----------1-----------" + models.size()); if (CollectionUtils.isNotEmpty(models)) { for (RisInfoModelRequest risInfoModelRequest : models) { if (StringUtils.isNotEmpty(risInfoModelRequest.getHospitalId())) { @@ -3101,7 +3101,7 @@ public class AntenatalExaminationFacade { patientsQuery1.setHospitalId(risInfoModelRequest.getHospitalId()); patientsQuery1.setVcCardNo(risInfoModelRequest.getVCCARDNO()); patientsQuery1.setPhone(risInfoModelRequest.getPHONE()); - System.out.println("----------2-----------" + patientsQuery1.convertToQuery().convertToMongoQuery()); + //System.out.println("----------2-----------" + patientsQuery1.convertToQuery().convertToMongoQuery()); List patientses = patientsService.queryPatient(patientsQuery1); if (CollectionUtils.isNotEmpty(patientses)) { Patients patients = patientses.get(0); @@ -4473,6 +4473,20 @@ public class AntenatalExaminationFacade { if (null != data) { data = patients.getLastMenses(); } + String dueWeek=""; + if (null != patients.getDueStatus() && 1 == patients.getDueStatus()) { + dueWeek = "终止妊娠"; + + } else if (3 == patients.getType()) { + dueWeek = "已分娩"; + + } else { + if (null != patients.getLastMenses()) { + int days = DateUtil.daysBetween(patients.getLastMenses(), examinationModel.getCheckDate()); + dueWeek = com.lyms.platform.common.utils.StringUtils.dueWeek(days); + } + } + antenatalExaminationResult.setCurrentDueDate(dueWeek); antenatalExaminationResult.setVcCardNo(patients.getVcCardNo()); String doctorId = examinationModel.getCheckDoctor(); if (StringUtils.isNotEmpty(doctorId)) { 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 1b55eb2..5e5008a 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 @@ -1656,7 +1656,8 @@ public class BookbuildingFacade { */ public void serviceExpireSync() { logger.info("serviceExpireSync startup..."); - PatientServiceQuery query=new PatientServiceQuery(); + //20251228需求要求注释掉 + /* PatientServiceQuery query=new PatientServiceQuery(); final String hospitalId = "2100002419"; query.setHospitalId(hospitalId); //query.setPerType(1); @@ -1704,7 +1705,7 @@ public class BookbuildingFacade { } }); - } + }*/ logger.info("serviceExpireSync end..."); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntenatalExaminationResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntenatalExaminationResult.java index 0480a45..9c6a02d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntenatalExaminationResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntenatalExaminationResult.java @@ -9,6 +9,7 @@ import com.lyms.platform.pojo.AntenatalExaminationModel; import com.mchange.v2.uid.UidUtils; import scala.actors.threadpool.Arrays; +import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -1416,7 +1417,8 @@ public class AntenatalExaminationResult implements IBasicResultConvert