Commit 924e6a363320ed1a144b498867e37426c5d31671

Authored by zhangchao
1 parent a6b0ebddc6
Exists in luanping and in 1 other branch dev

#新增南河孕妇学校统计模块增加孕妇听课率

Showing 2 changed files with 50 additions and 12 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BasicConfigFacade.java View file @ 924e6a3
... ... @@ -79,6 +79,8 @@
79 79 }
80 80 /**
81 81 * 1000000115 南河医院 紫色高危因素里增加 丙肝阳性、乙肝大三阳、乙肝小三阳 特殊处理
  82 + * db.getCollection('lyms_basicconfig')
  83 + * .find({"parentId":"224b2329-cb82-4da3-a071-8527f8283aab","enable":1,"typeId":"fb43fd5a-b153-4cb9-9180-c46f5612ba43"})
82 84 */
83 85 if (StringUtils.isEmpty(orgId) || !orgId.equalsIgnoreCase("1000000115")){
84 86 Iterator<BasicConfig> basicConfigIterator = basicConfigList.iterator();
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseFacade.java View file @ 924e6a3
1 1 package com.lyms.platform.operate.web.facade;
2 2  
3 3  
  4 +import com.google.common.base.Strings;
4 5 import com.lyms.platform.beans.MsgRequest;
5 6 import com.lyms.platform.biz.service.*;
6 7 import com.lyms.platform.common.constants.ErrorCodeConstants;
... ... @@ -8,7 +9,9 @@
8 9 import com.lyms.platform.common.result.BaseListResponse;
9 10 import com.lyms.platform.common.result.BaseObjectResponse;
10 11 import com.lyms.platform.common.result.BaseResponse;
11   -import com.lyms.platform.common.utils.*;
  12 +import com.lyms.platform.common.utils.DateUtil;
  13 +import com.lyms.platform.common.utils.ExceptionUtils;
  14 +import com.lyms.platform.common.utils.PropertiesUtils;
12 15 import com.lyms.platform.operate.web.request.CourseRequest;
13 16 import com.lyms.platform.operate.web.result.CourseResult;
14 17 import com.lyms.platform.operate.web.worker.CourseCountWorker;
15 18  
... ... @@ -18,14 +21,13 @@
18 21 import com.lyms.platform.pojo.*;
19 22 import com.lyms.platform.query.*;
20 23 import org.apache.commons.collections.CollectionUtils;
21   -import org.apache.commons.lang.StringUtils;
  24 +import org.apache.commons.lang3.StringUtils;
22 25 import org.springframework.beans.factory.annotation.Autowired;
23 26 import org.springframework.beans.factory.annotation.Qualifier;
24 27 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
25 28 import org.springframework.stereotype.Component;
26 29  
27 30 import java.text.DecimalFormat;
28   -import java.text.SimpleDateFormat;
29 31 import java.util.*;
30 32 import java.util.concurrent.Callable;
31 33 import java.util.concurrent.Future;
32 34  
33 35  
... ... @@ -605,10 +607,11 @@
605 607  
606 608  
607 609 PatientCourseQuery patientCourseQuery = new PatientCourseQuery();
608   - patientCourseQuery.setYn(YnEnums.YES.getId());
609 610 patientCourseQuery.setHospitalId(hospitalId);
  611 + patientCourseQuery.setYn(YnEnums.YES.getId());
610 612  
611 613  
  614 +
612 615 //int allPatientCourses = patientCourseService.queryPatientCourseCount(patientCourseQuery);
613 616  
614 617 //状态 1预约,2签到
615 618  
616 619  
617 620  
... ... @@ -628,20 +631,53 @@
628 631 totalData.put("allOrderRate", allSends == 0 ? 0 : df.format((double) allOrders / allSends * 100) + "%"); //总预约率
629 632 totalData.put("allSigns", allSigns);//总签到数
630 633 totalData.put("allSignRate", allOrders == 0 ? 0 : df.format((double) allSigns / allOrders * 100) + "%");//总签到率
631   - //TODO 孕妇听课率
  634 + String startTime = null;
  635 + String endTime = null;
  636 + //孕妇听课率=总签到人数/建档人数*100
  637 + if(!Strings.isNullOrEmpty(hospitalId)&&"1000000115".equals(hospitalId)){
  638 + PatientsQuery patientsQuery = new PatientsQuery();
  639 + patientsQuery.setHospitalId(hospitalId);
  640 + patientsQuery.setExtEnable(false);
  641 + patientsQuery.setBuildTypeNot(1);
  642 + patientsQuery.setYn(YnEnums.YES.getId());
  643 + if (!Strings.isNullOrEmpty(time)) {
  644 + String[] dates = time.split(" - ");
  645 + startTime = dates[0];
  646 + patientsQuery.setBookbuildingDateStart(DateUtil.parseYMD(startTime));
  647 + if (dates.length == 2) {
  648 + endTime = dates[1];
  649 + patientsQuery.setBookbuildingDateEnd(DateUtil.parseYMDHMS(endTime + " 23:59:59"));
  650 + }
  651 + }
  652 +
  653 + int signsNum=0;
  654 + List<PatientCourseModel> singsList= patientCourseService.queryPatientCourseList(patientCourseQuery);
  655 + if (singsList!=null&&singsList.size()>0){
  656 + Iterator<PatientCourseModel> patientCourseIterator = singsList.iterator();
  657 + HashMap<String,PatientCourseModel> params=new HashMap<>();
  658 + while (patientCourseIterator.hasNext()) {
  659 + PatientCourseModel patientCourse = patientCourseIterator.next();
  660 + params.put(patientCourse.getCardNo(),patientCourse);
  661 + }
  662 + signsNum=params.size();
  663 + }
  664 + List <Patients> patientsList = patientsService.queryPatient(patientsQuery);
  665 +
  666 + totalData.put("lessonsRate",patientsList!=null ? df.format((double) signsNum / patientsList.size() * 100) + "%":0);//听课率
  667 + }
  668 +
  669 +
  670 +
  671 +
632 672 CourseTypeQuery courseTypeQuery = new CourseTypeQuery();
633 673 courseTypeQuery.setHospitalId(hospitalId);
634 674 courseTypeQuery.setYn(YnEnums.YES.getId());
635 675  
636   - String startTime = null;
637   - String endTime = null;
638 676  
639   - if (StringUtils.isNotEmpty(time)) {
640   - String[] dates = time.split(" - ");
641   - startTime = dates[0];
  677 +
  678 + if (!Strings.isNullOrEmpty(time)) {
642 679 query.setPublishTimeStart(DateUtil.parseYMD(startTime));
643   - if (dates.length == 2) {
644   - endTime = dates[1];
  680 + if (endTime!=null) {
645 681 query.setPublishTimeEnd(DateUtil.parseYMDHMS(endTime + " 23:59:59"));
646 682 }
647 683