Commit 08bc6728e7d881b363b9c3af61a53644e655a694
1 parent
414b0e8364
Exists in
master
and in
6 other branches
update
Showing 2 changed files with 92 additions and 37 deletions
platform-operate-api/src/main/java/com/lyms/hospitalapi/hs/HsfyFmService.java
View file @
08bc672
... | ... | @@ -120,40 +120,40 @@ |
120 | 120 | |
121 | 121 | public void queryFmPatient(String start,String end,String phone) { |
122 | 122 | |
123 | - String cloumns = " ID as ID,\n" + | |
124 | - " BHNUM as BHNUM,\n" + | |
125 | - " VCCARDNO as VCCARDNO,\n" + | |
126 | - " PHONE as PHONE,\n" + | |
127 | - " NAME as NAME,\n" + | |
128 | - " IDCARD as IDCARD,\n" + | |
129 | - " CREATED as CREATED,\t\n" + | |
130 | - " BABY_DELIVERY_TIME as BABY_DELIVERY_TIME,\n" + | |
131 | - " BABY_SEX as BABY_SEX,\n" + | |
132 | - " DUE_WEEK as DUE_WEEK,\n" + | |
133 | - " DUE_DAY as DUE_DAY,\n" + | |
134 | - " FETUS_NUM as FETUS_NUM,\n" + | |
135 | - " BABY_ASPHYXIAM as BABY_ASPHYXIAM,\n" + | |
136 | - " BABY_WEIGHT as BABY_WEIGHT,\n" + | |
137 | - " BABY_HEIGHT as BABY_HEIGHT,\n" + | |
138 | - " BABY_APGAR_SCORE_ONE as BABY_APGAR_SCORE_ONE,\n" + | |
139 | - " BABY_APGAR_SCORE_FIVE as BABY_APGAR_SCORE_FIVE,\n" + | |
140 | - " BABY_APGAR_SCORE_TEN as BABY_APGAR_SCORE_TEN,\n" + | |
141 | - " BABY_PREGNANCY_OUT as BABY_PREGNANCY_OUT,\n" + | |
142 | - " DELIVERY_MODE as DELIVERY_MODE,\n"+ | |
143 | - " TMCSIDE as TMCSIDE,\n" + | |
144 | - " TMCTYPE as TMCTYPE,\n" + | |
145 | - " MATERNAL_INFO as MATERNAL_INFO,\n" + | |
146 | - " PERINEAL_CONDITION as PERINEAL_CONDITION,\n" + | |
147 | - " SH_LOSE_BLOOD as SH_LOSE_BLOOD,\n" + | |
148 | - " TH_LOSE_BLOOD as TH_LOSE_BLOOD,\n" + | |
149 | - " DELIVER_DOCTOR as DELIVER_DOCTOR,\n" + | |
150 | - " PROD_PROCESS_ONE as PROD_PROCESS_ONE,\n" + | |
151 | - " PROD_PROCESS_TWO as PROD_PROCESS_TWO,\n" + | |
152 | - " PROD_PROCESS_THREE as PROD_PROCESS_THREE,\n" + | |
153 | - " TOTAL_PROCESS as TOTAL_PROCESS,\n" + | |
154 | - " PLACENTA_NUM as PLACENTA_NUM,\n" + | |
155 | - " DELIVER_HOSPITAL as DELIVER_HOSPITAL,\n" + | |
156 | - " DELIVER_DOCTOR as DELIVER_DOCTOR"; | |
123 | + String cloumns = " ID as ID, " + | |
124 | + " BHNUM as BHNUM, " + | |
125 | + " VCCARDNO as VCCARDNO, " + | |
126 | + " PHONE as PHONE, " + | |
127 | + " NAME as NAME, " + | |
128 | + " IDCARD as IDCARD, " + | |
129 | + " CREATED as CREATED, " + | |
130 | + " BABY_DELIVERY_TIME as BABY_DELIVERY_TIME, " + | |
131 | + " BABY_SEX as BABY_SEX, " + | |
132 | + " DUE_WEEK as DUE_WEEK, " + | |
133 | + " DUE_DAY as DUE_DAY, " + | |
134 | + " FETUS_NUM as FETUS_NUM, " + | |
135 | + " BABY_ASPHYXIAM as BABY_ASPHYXIAM, " + | |
136 | + " BABY_WEIGHT as BABY_WEIGHT, " + | |
137 | + " BABY_HEIGHT as BABY_HEIGHT, " + | |
138 | + " BABY_APGAR_SCORE_ONE as BABY_APGAR_SCORE_ONE, " + | |
139 | + " BABY_APGAR_SCORE_FIVE as BABY_APGAR_SCORE_FIVE, " + | |
140 | + " BABY_APGAR_SCORE_TEN as BABY_APGAR_SCORE_TEN, " + | |
141 | + " BABY_PREGNANCY_OUT as BABY_PREGNANCY_OUT, " + | |
142 | + " DELIVERY_MODE as DELIVERY_MODE, "+ | |
143 | + " TMCSIDE as TMCSIDE, " + | |
144 | + " TMCTYPE as TMCTYPE, " + | |
145 | + " MATERNAL_INFO as MATERNAL_INFO, " + | |
146 | + " PERINEAL_CONDITION as PERINEAL_CONDITION, " + | |
147 | + " SH_LOSE_BLOOD as SH_LOSE_BLOOD, " + | |
148 | + " TH_LOSE_BLOOD as TH_LOSE_BLOOD, " + | |
149 | + " DELIVER_DOCTOR as DELIVER_DOCTOR, " + | |
150 | + " PROD_PROCESS_ONE as PROD_PROCESS_ONE, " + | |
151 | + " PROD_PROCESS_TWO as PROD_PROCESS_TWO," + | |
152 | + " PROD_PROCESS_THREE as PROD_PROCESS_THREE, " + | |
153 | + " TOTAL_PROCESS as TOTAL_PROCESS, " + | |
154 | + " PLACENTA_NUM as PLACENTA_NUM, " + | |
155 | + " DELIVER_HOSPITAL as DELIVER_HOSPITAL, " + | |
156 | + " DELIVER_DOCTOR as DELIVER_DOCTOR "; | |
157 | 157 | |
158 | 158 | |
159 | 159 | Connection conn = com.lyms.hospitalapi.hs.ConnTools.makeFmConnection(); |
... | ... | @@ -167,6 +167,7 @@ |
167 | 167 | { |
168 | 168 | sql+=" and phone = '"+phone+"'"; |
169 | 169 | } |
170 | + ExceptionUtils.catchException("sql====" +sql); | |
170 | 171 | List<Fm> list = queryRunner.query(conn, sql, new BeanListHandler<Fm>(Fm.class)); |
171 | 172 | ExceptionUtils.catchException("size====" + list.size()); |
172 | 173 | |
... | ... | @@ -196,6 +197,7 @@ |
196 | 197 | |
197 | 198 | //查询这个孕妇最近日期所有分娩记录的sql |
198 | 199 | String allSql = "select "+cloumns+" from v_deliveryinfo where CREATED > CONVERT(DATETIME,'" + startDate + "', 120) and CREATED <= CONVERT(DATETIME,'" + endDate + "', 120) and ID='"+id+"'" ; |
200 | + ExceptionUtils.catchException("allSql====" + allSql); | |
199 | 201 | |
200 | 202 | //查出这个ID对应孕妇在这个时间段的分娩记录 |
201 | 203 | List<Fm> allList = queryRunner.query(conn, allSql, new BeanListHandler<Fm>(Fm.class)); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java
View file @
08bc672
... | ... | @@ -4253,18 +4253,71 @@ |
4253 | 4253 | startDate = DateUtil.getDayFirstSecond(DateUtil.parseYMD(arrs[0])); |
4254 | 4254 | endDate = DateUtil.getDayLastSecond(DateUtil.parseYMD(arrs[1])); |
4255 | 4255 | } |
4256 | + int allBaby = getCheckCount(hospitalId, startDate,endDate,new ArrayList<Integer>()); | |
4256 | 4257 | |
4258 | + if (allBaby == 0) | |
4259 | + { | |
4260 | + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setData(datas).setErrormsg("成功"); | |
4261 | + } | |
4257 | 4262 | |
4258 | - int allBaby = getCheckCount(hospitalId, startDate,endDate,new ArrayList<Integer>()); | |
4263 | + int baby42 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(0,1)); | |
4264 | + datas.add(getMap(baby42, allBaby)); | |
4265 | + | |
4266 | + int baby3 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(3)); | |
4267 | + datas.add(getMap(baby3, allBaby)); | |
4268 | + | |
4269 | + int baby6 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(6)); | |
4270 | + datas.add(getMap(baby6, allBaby)); | |
4271 | + | |
4272 | + int baby8 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(8)); | |
4273 | + datas.add(getMap(baby8,allBaby)); | |
4274 | + | |
4275 | + int baby12 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(12)); | |
4276 | + datas.add(getMap(baby12, allBaby)); | |
4277 | + int baby18 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(18)); | |
4278 | + datas.add(getMap(baby18, allBaby)); | |
4279 | + int baby24 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(24)); | |
4280 | + datas.add(getMap(baby24, allBaby)); | |
4281 | + int baby30 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(30)); | |
4282 | + datas.add(getMap(baby30, allBaby)); | |
4283 | + int baby36 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(36,37,38,39,40,41,42,43,44,45,46,47)); | |
4284 | + datas.add(getMap(baby36, allBaby)); | |
4285 | + int baby40 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(48,49,50,51,52,53,54,55,56,57,58,59)); | |
4286 | + datas.add(getMap(baby40, allBaby)); | |
4287 | + int baby50 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(60,61,62,63,64,65,66,67,68,69,70,71)); | |
4288 | + datas.add(getMap(baby50, allBaby)); | |
4289 | + int baby60 = getCheckCount(hospitalId, startDate,endDate,Arrays.asList(72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99)); | |
4290 | + datas.add(getMap(baby60, allBaby)); | |
4291 | + | |
4292 | + datas.add(getMap(baby42+baby3+baby6+baby8+baby12+baby18+baby24+baby30+baby36+baby40+baby50+baby60, allBaby)); | |
4259 | 4293 | return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setData(datas).setErrormsg("成功"); |
4260 | 4294 | } |
4261 | 4295 | |
4296 | + private Map getMap(int num,int total) | |
4297 | + { | |
4298 | + Map data4 = new LinkedHashMap(); | |
4299 | + data4.put("num",num); | |
4300 | + data4.put("total",total); | |
4301 | + data4.put("percent",getPercent(num,total)); | |
4302 | + return data4; | |
4303 | + } | |
4262 | 4304 | |
4305 | + private String getPercent(int num,int total) | |
4306 | + { | |
4307 | + return String.format("%.2f", ((double)num/total*100))+"%"; | |
4308 | + } | |
4263 | 4309 | |
4310 | + | |
4264 | 4311 | private int getCheckCount(String hospitalId, Date start, Date end,List<Integer> checkMonths) { |
4312 | + | |
4313 | + Criteria ca = Criteria.where("hospitalId").is(hospitalId).and("checkDate").gte(start).lte(end); | |
4314 | + if (CollectionUtils.isNotEmpty(checkMonths)) | |
4315 | + { | |
4316 | + ca.and("checkMonth").in(checkMonths); | |
4317 | + } | |
4265 | 4318 | Aggregation aggregation4 = |
4266 | 4319 | Aggregation.newAggregation( |
4267 | - Aggregation.match(Criteria.where("hospitalId").is(hospitalId).and("checkDate").gte(start).lte(end).and("checkMonth").in(checkMonths)), | |
4320 | + Aggregation.match(ca), | |
4268 | 4321 | Aggregation.group("buildId").count().as("总人数")); |
4269 | 4322 | AggregationResults <BasicDBObject> outputTypeCount4 = |
4270 | 4323 | mongoTemplate.aggregate(aggregation4, "lyms_babycheck", BasicDBObject.class); |