Commit f1f9189d7c6863266f033d377dd9c76e627b37ee

Authored by dongqin
1 parent 056f4ee039
Exists in master and in 1 other branch dev

健康統計

Showing 6 changed files with 136 additions and 8 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/HealthChargeModel.java View file @ f1f9189
... ... @@ -32,6 +32,11 @@
32 32 */
33 33 private String babyForeignId;
34 34  
  35 + /**
  36 + * 儿童膳食id
  37 + */
  38 + private String babyNutritionId;
  39 +
35 40 //打印报告等级
36 41 private Integer type;
37 42  
... ... @@ -55,6 +60,14 @@
55 60 * 报告解读人
56 61 */
57 62 private String doctorId;
  63 +
  64 + public String getBabyNutritionId() {
  65 + return babyNutritionId;
  66 + }
  67 +
  68 + public void setBabyNutritionId(String babyNutritionId) {
  69 + this.babyNutritionId = babyNutritionId;
  70 + }
58 71  
59 72 public String getDoctorId() {
60 73 return doctorId;
platform-dal/src/main/java/com/lyms/platform/query/HealthChargeQuery.java View file @ f1f9189
... ... @@ -35,6 +35,11 @@
35 35 */
36 36 private String babyForeignId;
37 37  
  38 + /**
  39 + * 儿童 - 膳食id
  40 + */
  41 + private String babyNutritionId;
  42 +
38 43 //打印报告等级
39 44 private Integer type;
40 45  
... ... @@ -57,6 +62,14 @@
57 62 */
58 63 private String doctorId;
59 64  
  65 + public String getBabyNutritionId() {
  66 + return babyNutritionId;
  67 + }
  68 +
  69 + public void setBabyNutritionId(String babyNutritionId) {
  70 + this.babyNutritionId = babyNutritionId;
  71 + }
  72 +
60 73 public String getBabyForeignId() {
61 74 return babyForeignId;
62 75 }
... ... @@ -119,6 +132,9 @@
119 132 }
120 133 if (null != babyForeignId) {
121 134 condition = condition.and("babyForeignId", babyForeignId, MongoOper.IS);
  135 + }
  136 + if (null != babyNutritionId) {
  137 + condition = condition.and("babyNutritionId", babyNutritionId, MongoOper.IS);
122 138 }
123 139  
124 140 Criteria c = null;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java View file @ f1f9189
... ... @@ -1124,7 +1124,7 @@
1124 1124 *
1125 1125 * @return
1126 1126 */
1127   - private Date getStartDate() {
  1127 + public Date getStartDate() {
1128 1128 LocalDate with = LocalDate.now().plusYears(0).with(TemporalAdjusters.firstDayOfYear());
1129 1129 ZoneId zoneId = ZoneId.systemDefault();
1130 1130 Instant instant = with.atStartOfDay().atZone(zoneId).toInstant();
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java View file @ f1f9189
... ... @@ -84,6 +84,9 @@
84 84 @Autowired
85 85 private HealthChargeService healthChargeService;
86 86  
  87 + @Autowired
  88 + private AreaCountFacade areaCountFacade;
  89 +
87 90 public BaseObjectResponse queryBabyNutritionRecord(String babyId) {
88 91 Map<String, Object> resMap = new HashMap<>();
89 92 BabyBasicResult base = new BabyBasicResult();
... ... @@ -679,7 +682,8 @@
679 682  
680 683 data.put("wlysitems", wlysitems);
681 684  
682   - healthChargeFacade.addHealthCharge(hospitalId, 4, model.getId(), null, null, userId, model.getInterpretDoctorId(), true);
  685 + healthChargeFacade.addHealthCharge(hospitalId, 4, baby.getId(), null, null,
  686 + userId, model.getInterpretDoctorId(), true, model.getId());
683 687 }
684 688 BaseObjectResponse objectResponse = new BaseObjectResponse();
685 689 objectResponse.setData(data);
686 690  
687 691  
688 692  
689 693  
... ... @@ -1019,18 +1023,74 @@
1019 1023 healthChargeQuery.setYn(YnEnums.YES.getId());
1020 1024 healthChargeQuery.setHospitalId(request.getHospitalId());
1021 1025 healthChargeQuery.setStatus(1);
1022   - // TODO: 2019/5/27 时间默认值未指定
1023   - healthChargeQuery.setCreatedEnd(request.getStartTime());
1024   - healthChargeQuery.setCreatedEnd(request.getEndTime());
  1026 + // 默认值-年初
  1027 + Date startDate = areaCountFacade.getStartDate();
  1028 + healthChargeQuery.setCreatedStart(startDate);
  1029 + healthChargeQuery.setCreatedEnd(new Date());
  1030 + if (request.getStartTime() != null){
  1031 + healthChargeQuery.setCreatedStart(request.getStartTime());
  1032 + healthChargeQuery.setCreatedEnd(request.getEndTime());
  1033 + }
  1034 + String findNo = request.getNumber();
  1035 + String keyword = request.getKeyword();
  1036 +
1025 1037 List<HealthChargeModel> list = healthChargeService.queryHealthChargeList(healthChargeQuery);
  1038 + List<HealthChargeModel> resultList = new LinkedList<>();
1026 1039 if (CollectionUtils.isNotEmpty(list)){
1027 1040 for (HealthChargeModel model: list){
1028   - // TODO: 2019/5/27 根据babyid 获取母亲id 儿童姓名进行筛选
  1041 + String babyForeignId = model.getBabyForeignId();
  1042 +
  1043 + if (StringUtils.isNotEmpty(findNo) && StringUtils.isNotEmpty(keyword)){
  1044 + List<BabyModel> babyModels = getBabyModels(findNo, babyForeignId);
  1045 + if (CollectionUtils.isNotEmpty(babyModels)){
  1046 + BabyModel babyModel = babyModels.get(0);
  1047 + String name = babyModel.getName();
  1048 + if (name.contains(keyword)){
  1049 + resultList.add(model);
  1050 + }
  1051 + }
  1052 + }
  1053 +
  1054 + if (StringUtils.isNotEmpty(findNo)){
  1055 + List<BabyModel> babyModels = getBabyModels(findNo, babyForeignId);
  1056 + if (CollectionUtils.isNotEmpty(babyModels)){
  1057 + resultList.add(model);
  1058 + }
  1059 + }
  1060 +
  1061 + if (StringUtils.isNotEmpty(keyword)){
  1062 + BabyModelQuery babyQuery = new BabyModelQuery();
  1063 + babyQuery.setId(babyForeignId);
  1064 + babyQuery.setQueryNo(findNo);
  1065 + babyQuery.setYn(YnEnums.YES.getId());
  1066 + }
  1067 +
  1068 + if (StringUtils.isEmpty(findNo) && StringUtils.isEmpty(keyword)){
  1069 + resultList.add(model);
  1070 + }
1029 1071 }
1030 1072 }
  1073 + BaseListResponse objectResponse = new BaseListResponse();
  1074 + objectResponse.setData(list);
  1075 + objectResponse.setPageInfo(healthChargeQuery.getPageInfo());
  1076 + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS);
  1077 + objectResponse.setErrormsg("成功");
  1078 + return objectResponse;
  1079 + }
1031 1080  
1032   -
1033   - return null;
  1081 + /**
  1082 + * 获取儿童
  1083 + *
  1084 + * @param findNo
  1085 + * @param babyForeignId
  1086 + * @return
  1087 + */
  1088 + private List<BabyModel> getBabyModels(String findNo, String babyForeignId) {
  1089 + BabyModelQuery babyQuery = new BabyModelQuery();
  1090 + babyQuery.setId(babyForeignId);
  1091 + babyQuery.setQueryNo(findNo);
  1092 + babyQuery.setYn(YnEnums.YES.getId());
  1093 + return babyBookbuildingService.queryBabyBuildByCond(babyQuery);
1034 1094 }
1035 1095 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HealthChargeFacade.java View file @ f1f9189
... ... @@ -88,6 +88,30 @@
88 88 return addHealthCharge(request, userId);
89 89 }
90 90  
  91 + public BaseResponse addHealthCharge(String hospitalId,
  92 + Integer healthType,
  93 + String foreignId,
  94 + Integer type,
  95 + Integer source,
  96 + Integer userId,
  97 + String doctorId,
  98 + boolean isBaby,
  99 + String babyNutritionId){
  100 + HealthChargeRequest request = new HealthChargeRequest();
  101 + request.setHospitalId(hospitalId);
  102 + request.setHealthType(healthType);
  103 + if (isBaby){
  104 + request.setBabyForeignId(foreignId);
  105 + request.setBabyNutritionId(babyNutritionId);
  106 + } else {
  107 + request.setForeignId(foreignId);
  108 + request.setType(type);
  109 + request.setSource(source);
  110 + }
  111 + request.setDoctorId(doctorId);
  112 + return addHealthCharge(request, userId);
  113 + }
  114 +
91 115 /**
92 116 * 打印体重、血糖、血压调用接口
93 117 * @param hospitalId 医院id
... ... @@ -123,6 +147,7 @@
123 147 if (StringUtils.isNotEmpty(babyForeignId)){
124 148 // 儿童
125 149 healthChargeQuery.setBabyForeignId(babyForeignId);
  150 + healthChargeQuery.setBabyNutritionId(request.getBabyNutritionId());
126 151 }else {
127 152 // 孕妇
128 153 healthChargeQuery.setForeignId(request.getForeignId());
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HealthChargeRequest.java View file @ f1f9189
... ... @@ -28,6 +28,11 @@
28 28 */
29 29 private String babyForeignId;
30 30  
  31 + /**
  32 + * 儿童膳食id
  33 + */
  34 + private String babyNutritionId;
  35 +
31 36 //打印报告类别 1普通报告 2高危报告
32 37 private Integer type;
33 38  
34 39  
... ... @@ -51,7 +56,16 @@
51 56 model.setSource(source);
52 57 model.setDoctorId(doctorId);
53 58 model.setBabyForeignId(babyForeignId);
  59 + model.setBabyNutritionId(babyNutritionId);
54 60 return model;
  61 + }
  62 +
  63 + public String getBabyNutritionId() {
  64 + return babyNutritionId;
  65 + }
  66 +
  67 + public void setBabyNutritionId(String babyNutritionId) {
  68 + this.babyNutritionId = babyNutritionId;
55 69 }
56 70  
57 71 public String getBabyForeignId() {