From 924e6a363320ed1a144b498867e37426c5d31671 Mon Sep 17 00:00:00 2001 From: zhangchao Date: Tue, 2 Jan 2024 15:38:21 +0800 Subject: [PATCH] =?UTF-8?q?#=E6=96=B0=E5=A2=9E=E5=8D=97=E6=B2=B3=E5=AD=95?= =?UTF-8?q?=E5=A6=87=E5=AD=A6=E6=A0=A1=E7=BB=9F=E8=AE=A1=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AD=95=E5=A6=87=E5=90=AC=E8=AF=BE=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/facade/BasicConfigFacade.java | 2 + .../platform/operate/web/facade/CourseFacade.java | 60 +++++++++++++++++----- 2 files changed, 50 insertions(+), 12 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BasicConfigFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BasicConfigFacade.java index cbf3171..0f8cd6a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BasicConfigFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BasicConfigFacade.java @@ -79,6 +79,8 @@ public class BasicConfigFacade { } /** * 1000000115 南河医院 紫色高危因素里增加 丙肝阳性、乙肝大三阳、乙肝小三阳 特殊处理 + * db.getCollection('lyms_basicconfig') + * .find({"parentId":"224b2329-cb82-4da3-a071-8527f8283aab","enable":1,"typeId":"fb43fd5a-b153-4cb9-9180-c46f5612ba43"}) */ if (StringUtils.isEmpty(orgId) || !orgId.equalsIgnoreCase("1000000115")){ Iterator basicConfigIterator = basicConfigList.iterator(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseFacade.java index 4fddc98..86f42e5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/CourseFacade.java @@ -1,6 +1,7 @@ package com.lyms.platform.operate.web.facade; +import com.google.common.base.Strings; import com.lyms.platform.beans.MsgRequest; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; @@ -8,7 +9,9 @@ import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; -import com.lyms.platform.common.utils.*; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.ExceptionUtils; +import com.lyms.platform.common.utils.PropertiesUtils; import com.lyms.platform.operate.web.request.CourseRequest; import com.lyms.platform.operate.web.result.CourseResult; import com.lyms.platform.operate.web.worker.CourseCountWorker; @@ -18,14 +21,13 @@ import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; import java.text.DecimalFormat; -import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.Future; @@ -605,8 +607,9 @@ public class CourseFacade { PatientCourseQuery patientCourseQuery = new PatientCourseQuery(); - patientCourseQuery.setYn(YnEnums.YES.getId()); patientCourseQuery.setHospitalId(hospitalId); + patientCourseQuery.setYn(YnEnums.YES.getId()); + //int allPatientCourses = patientCourseService.queryPatientCourseCount(patientCourseQuery); @@ -628,20 +631,53 @@ public class CourseFacade { totalData.put("allOrderRate", allSends == 0 ? 0 : df.format((double) allOrders / allSends * 100) + "%"); //总预约率 totalData.put("allSigns", allSigns);//总签到数 totalData.put("allSignRate", allOrders == 0 ? 0 : df.format((double) allSigns / allOrders * 100) + "%");//总签到率 - //TODO 孕妇听课率 + String startTime = null; + String endTime = null; + //孕妇听课率=总签到人数/建档人数*100 + if(!Strings.isNullOrEmpty(hospitalId)&&"1000000115".equals(hospitalId)){ + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setHospitalId(hospitalId); + patientsQuery.setExtEnable(false); + patientsQuery.setBuildTypeNot(1); + patientsQuery.setYn(YnEnums.YES.getId()); + if (!Strings.isNullOrEmpty(time)) { + String[] dates = time.split(" - "); + startTime = dates[0]; + patientsQuery.setBookbuildingDateStart(DateUtil.parseYMD(startTime)); + if (dates.length == 2) { + endTime = dates[1]; + patientsQuery.setBookbuildingDateEnd(DateUtil.parseYMDHMS(endTime + " 23:59:59")); + } + } + + int signsNum=0; + List singsList= patientCourseService.queryPatientCourseList(patientCourseQuery); + if (singsList!=null&&singsList.size()>0){ + Iterator patientCourseIterator = singsList.iterator(); + HashMap params=new HashMap<>(); + while (patientCourseIterator.hasNext()) { + PatientCourseModel patientCourse = patientCourseIterator.next(); + params.put(patientCourse.getCardNo(),patientCourse); + } + signsNum=params.size(); + } + List patientsList = patientsService.queryPatient(patientsQuery); + + totalData.put("lessonsRate",patientsList!=null ? df.format((double) signsNum / patientsList.size() * 100) + "%":0);//听课率 + } + + + + CourseTypeQuery courseTypeQuery = new CourseTypeQuery(); courseTypeQuery.setHospitalId(hospitalId); courseTypeQuery.setYn(YnEnums.YES.getId()); - String startTime = null; - String endTime = null; - if (StringUtils.isNotEmpty(time)) { - String[] dates = time.split(" - "); - startTime = dates[0]; + + if (!Strings.isNullOrEmpty(time)) { query.setPublishTimeStart(DateUtil.parseYMD(startTime)); - if (dates.length == 2) { - endTime = dates[1]; + if (endTime!=null) { query.setPublishTimeEnd(DateUtil.parseYMDHMS(endTime + " 23:59:59")); } -- 1.8.3.1