From f1f9189d7c6863266f033d377dd9c76e627b37ee Mon Sep 17 00:00:00 2001 From: dongqin <123456> Date: Tue, 28 May 2019 10:55:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=81=A5=E5=BA=B7=E7=B5=B1=E8=A8=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/pojo/HealthChargeModel.java | 13 ++++ .../com/lyms/platform/query/HealthChargeQuery.java | 16 +++++ .../operate/web/facade/AreaCountFacade.java | 2 +- .../operate/web/facade/BabyNutritionFacade.java | 74 ++++++++++++++++++++-- .../operate/web/facade/HealthChargeFacade.java | 25 ++++++++ .../operate/web/request/HealthChargeRequest.java | 14 ++++ 6 files changed, 136 insertions(+), 8 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/HealthChargeModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/HealthChargeModel.java index b0852bb..69fc37a 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/HealthChargeModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/HealthChargeModel.java @@ -32,6 +32,11 @@ public class HealthChargeModel extends BaseModel { */ private String babyForeignId; + /** + * 儿童膳食id + */ + private String babyNutritionId; + //打印报告等级 private Integer type; @@ -56,6 +61,14 @@ public class HealthChargeModel extends BaseModel { */ private String doctorId; + public String getBabyNutritionId() { + return babyNutritionId; + } + + public void setBabyNutritionId(String babyNutritionId) { + this.babyNutritionId = babyNutritionId; + } + public String getDoctorId() { return doctorId; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/HealthChargeQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/HealthChargeQuery.java index c6aed86..5350a84 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/HealthChargeQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/HealthChargeQuery.java @@ -35,6 +35,11 @@ public class HealthChargeQuery extends BaseQuery implements IConvertToNativeQuer */ private String babyForeignId; + /** + * 儿童 - 膳食id + */ + private String babyNutritionId; + //打印报告等级 private Integer type; @@ -57,6 +62,14 @@ public class HealthChargeQuery extends BaseQuery implements IConvertToNativeQuer */ private String doctorId; + public String getBabyNutritionId() { + return babyNutritionId; + } + + public void setBabyNutritionId(String babyNutritionId) { + this.babyNutritionId = babyNutritionId; + } + public String getBabyForeignId() { return babyForeignId; } @@ -120,6 +133,9 @@ public class HealthChargeQuery extends BaseQuery implements IConvertToNativeQuer if (null != babyForeignId) { condition = condition.and("babyForeignId", babyForeignId, MongoOper.IS); } + if (null != babyNutritionId) { + condition = condition.and("babyNutritionId", babyNutritionId, MongoOper.IS); + } Criteria c = null; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java index f9eaed8..7f1b18e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java @@ -1124,7 +1124,7 @@ public class AreaCountFacade { * * @return */ - private Date getStartDate() { + public Date getStartDate() { LocalDate with = LocalDate.now().plusYears(0).with(TemporalAdjusters.firstDayOfYear()); ZoneId zoneId = ZoneId.systemDefault(); Instant instant = with.atStartOfDay().atZone(zoneId).toInstant(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java index c46d661..2551635 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java @@ -84,6 +84,9 @@ public class BabyNutritionFacade { @Autowired private HealthChargeService healthChargeService; + @Autowired + private AreaCountFacade areaCountFacade; + public BaseObjectResponse queryBabyNutritionRecord(String babyId) { Map resMap = new HashMap<>(); BabyBasicResult base = new BabyBasicResult(); @@ -679,7 +682,8 @@ public class BabyNutritionFacade { data.put("wlysitems", wlysitems); - healthChargeFacade.addHealthCharge(hospitalId, 4, model.getId(), null, null, userId, model.getInterpretDoctorId(), true); + healthChargeFacade.addHealthCharge(hospitalId, 4, baby.getId(), null, null, + userId, model.getInterpretDoctorId(), true, model.getId()); } BaseObjectResponse objectResponse = new BaseObjectResponse(); objectResponse.setData(data); @@ -1019,17 +1023,73 @@ public class BabyNutritionFacade { healthChargeQuery.setYn(YnEnums.YES.getId()); healthChargeQuery.setHospitalId(request.getHospitalId()); healthChargeQuery.setStatus(1); - // TODO: 2019/5/27 时间默认值未指定 - healthChargeQuery.setCreatedEnd(request.getStartTime()); - healthChargeQuery.setCreatedEnd(request.getEndTime()); + // 默认值-年初 + Date startDate = areaCountFacade.getStartDate(); + healthChargeQuery.setCreatedStart(startDate); + healthChargeQuery.setCreatedEnd(new Date()); + if (request.getStartTime() != null){ + healthChargeQuery.setCreatedStart(request.getStartTime()); + healthChargeQuery.setCreatedEnd(request.getEndTime()); + } + String findNo = request.getNumber(); + String keyword = request.getKeyword(); + List list = healthChargeService.queryHealthChargeList(healthChargeQuery); + List resultList = new LinkedList<>(); if (CollectionUtils.isNotEmpty(list)){ for (HealthChargeModel model: list){ - // TODO: 2019/5/27 根据babyid 获取母亲id 儿童姓名进行筛选 + String babyForeignId = model.getBabyForeignId(); + + if (StringUtils.isNotEmpty(findNo) && StringUtils.isNotEmpty(keyword)){ + List babyModels = getBabyModels(findNo, babyForeignId); + if (CollectionUtils.isNotEmpty(babyModels)){ + BabyModel babyModel = babyModels.get(0); + String name = babyModel.getName(); + if (name.contains(keyword)){ + resultList.add(model); + } + } + } + + if (StringUtils.isNotEmpty(findNo)){ + List babyModels = getBabyModels(findNo, babyForeignId); + if (CollectionUtils.isNotEmpty(babyModels)){ + resultList.add(model); + } + } + + if (StringUtils.isNotEmpty(keyword)){ + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setId(babyForeignId); + babyQuery.setQueryNo(findNo); + babyQuery.setYn(YnEnums.YES.getId()); + } + + if (StringUtils.isEmpty(findNo) && StringUtils.isEmpty(keyword)){ + resultList.add(model); + } } } + BaseListResponse objectResponse = new BaseListResponse(); + objectResponse.setData(list); + objectResponse.setPageInfo(healthChargeQuery.getPageInfo()); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + return objectResponse; + } - - return null; + /** + * 获取儿童 + * + * @param findNo + * @param babyForeignId + * @return + */ + private List getBabyModels(String findNo, String babyForeignId) { + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setId(babyForeignId); + babyQuery.setQueryNo(findNo); + babyQuery.setYn(YnEnums.YES.getId()); + return babyBookbuildingService.queryBabyBuildByCond(babyQuery); } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java index 6ce9b26..a09def6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java @@ -88,6 +88,30 @@ public class HealthChargeFacade { return addHealthCharge(request, userId); } + public BaseResponse addHealthCharge(String hospitalId, + Integer healthType, + String foreignId, + Integer type, + Integer source, + Integer userId, + String doctorId, + boolean isBaby, + String babyNutritionId){ + HealthChargeRequest request = new HealthChargeRequest(); + request.setHospitalId(hospitalId); + request.setHealthType(healthType); + if (isBaby){ + request.setBabyForeignId(foreignId); + request.setBabyNutritionId(babyNutritionId); + } else { + request.setForeignId(foreignId); + request.setType(type); + request.setSource(source); + } + request.setDoctorId(doctorId); + return addHealthCharge(request, userId); + } + /** * 打印体重、血糖、血压调用接口 * @param hospitalId 医院id @@ -123,6 +147,7 @@ public class HealthChargeFacade { if (StringUtils.isNotEmpty(babyForeignId)){ // 儿童 healthChargeQuery.setBabyForeignId(babyForeignId); + healthChargeQuery.setBabyNutritionId(request.getBabyNutritionId()); }else { // 孕妇 healthChargeQuery.setForeignId(request.getForeignId()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HealthChargeRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HealthChargeRequest.java index 286c4e5..9b8f346 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HealthChargeRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HealthChargeRequest.java @@ -28,6 +28,11 @@ public class HealthChargeRequest implements IBasicRequestConvert