Commit 08bc6728e7d881b363b9c3af61a53644e655a694

Authored by liquanyu
1 parent 414b0e8364

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);