Commit 7c4b393dea632bac4a2aa7966098f89391595f48
1 parent
4b4154cfc9
Exists in
master
and in
6 other branches
产检医生统计
Showing 1 changed file with 43 additions and 5 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntexDoctorStatistController.java
View file @
7c4b393
| ... | ... | @@ -87,7 +87,7 @@ |
| 87 | 87 | } |
| 88 | 88 | |
| 89 | 89 | //获取患者信息 |
| 90 | - List<AntextDoctorPatient> antextDoctorPatient = getPatientList(loginState.getId(), startDate, endDate, childBirth, doctorId, number); | |
| 90 | + List<AntextDoctorPatient> antextDoctorPatient = getPatientList(loginState.getId(), startDate, endDate, childBirth, doctorId); | |
| 91 | 91 | //结果数据集合 |
| 92 | 92 | Map<String, AntextDoctorPatient> resultInfo = new HashMap<>(); |
| 93 | 93 | |
| ... | ... | @@ -116,7 +116,7 @@ |
| 116 | 116 | } |
| 117 | 117 | } |
| 118 | 118 | if (CollectionUtils.isNotEmpty(patientIds)) { |
| 119 | - getAllPatientList(patientIds, resultInfo); | |
| 119 | + getAllPatientList(patientIds, resultInfo,loginState.getId()); | |
| 120 | 120 | } |
| 121 | 121 | |
| 122 | 122 | |
| ... | ... | @@ -169,7 +169,11 @@ |
| 169 | 169 | } |
| 170 | 170 | |
| 171 | 171 | //获取患者全部检测数据 |
| 172 | - public void getAllPatientList(List<String> patientId, Map<String, AntextDoctorPatient> resultInfo) { | |
| 172 | + public void getAllPatientList(List<String> patientId, Map<String, AntextDoctorPatient> resultInfo,Integer userId) { | |
| 173 | + | |
| 174 | + //根据当前登录人获取医院id | |
| 175 | + String hospital = autoMatchFacade.getHospitalId(userId); | |
| 176 | + | |
| 173 | 177 | //根据patientId集合查询产检表、产检复查表,获取医生id、patientId列表 |
| 174 | 178 | AntExChuQuery antExChuQuery = new AntExChuQuery(); |
| 175 | 179 | //患者集合 |
| 176 | 180 | |
| ... | ... | @@ -194,9 +198,26 @@ |
| 194 | 198 | } |
| 195 | 199 | doctorPatient.setCheckTimeStr(DateUtil.getyyyy_MM_dd(doctorPatient.getCheckTime())); |
| 196 | 200 | } |
| 201 | + | |
| 202 | + //复诊:本院id+医生Id | |
| 203 | + Map<String,Integer> hostNum = new HashMap<>(); | |
| 204 | + | |
| 197 | 205 | //添加复诊结果 |
| 198 | 206 | for (AntenatalExaminationModel aec : antenatalExaminationModels) { |
| 199 | 207 | AntextDoctorPatient doctorPatient = resultInfo.get(aec.getParentId()); |
| 208 | + if(aec.getHospitalId().equals(hospital)){//如果医院id相同, | |
| 209 | + if(hostNum.containsKey(aec.getId())){//则当次数大于已经记录次数时进行加加,同一医院只有一次初检,所以初检不做处理 | |
| 210 | + int num = hostNum.get(aec.getId()); | |
| 211 | + num++; | |
| 212 | + if(num>doctorPatient.getCjNum()){ | |
| 213 | + doctorPatient.setCjNum(num); | |
| 214 | + } | |
| 215 | + hostNum.put(aec.getId(),num); | |
| 216 | + }else{ | |
| 217 | + hostNum.put(aec.getId(),1); | |
| 218 | + } | |
| 219 | + } | |
| 220 | + | |
| 200 | 221 | doctorPatient.setAllCjNum(doctorPatient.getAllCjNum() + 1); |
| 201 | 222 | if (aec.getCheckDate().after(doctorPatient.getCheckTime())) { |
| 202 | 223 | doctorPatient.setCheckTime(aec.getCheckDate()); |
| ... | ... | @@ -207,7 +228,7 @@ |
| 207 | 228 | } |
| 208 | 229 | |
| 209 | 230 | |
| 210 | - public List<AntextDoctorPatient> getPatientList(Integer userId, Date startDate, Date endDate, Integer childBirth, String doctorId, Integer number) { | |
| 231 | + public List<AntextDoctorPatient> getPatientList(Integer userId, Date startDate, Date endDate, Integer childBirth, String doctorId) { | |
| 211 | 232 | |
| 212 | 233 | //根据当前登录人获取医院id |
| 213 | 234 | String hospital = autoMatchFacade.getHospitalId(userId); |
| ... | ... | @@ -293,6 +314,23 @@ |
| 293 | 314 | adp.setDoctorId(aec.getCheckDoctor()); |
| 294 | 315 | adp.setpId(aec.getParentId()); |
| 295 | 316 | adp.setCheckTime(aec.getCheckDate()); |
| 317 | + Patients patients = patientsMap.get(aec.getParentId()); | |
| 318 | + if (patients.getType() == 1) {//孕妇 | |
| 319 | + //计算孕周 | |
| 320 | + adp.setcDueWeek(com.lyms.platform.common.utils.StringUtils.dueWeek(DateUtil.daysBetween(patients.getLastMenses(), new Date()))); | |
| 321 | + adp.setDueFmDate(patients.getDueDate()); | |
| 322 | + adp.setDueFmDateStr(DateUtil.getyyyy_MM_dd(patients.getDueDate())); | |
| 323 | + } else if (patients.getType() == 3) {//3-产妇 | |
| 324 | + adp.setcDueWeek("已分娩"); | |
| 325 | + adp.setDueFmDate(patients.getFmDate()); | |
| 326 | + adp.setDueFmDateStr(DateUtil.getyyyy_MM_dd(patients.getFmDate())); | |
| 327 | + } | |
| 328 | + adp.setpName(patients.getUsername()); | |
| 329 | + //高危因数 | |
| 330 | + adp.setRiskFactors(commonService.resloveFactor(patients.getRiskFactorId())); | |
| 331 | + //高危等级颜色 | |
| 332 | + adp.setRiskLevelId(commonService.findRiskLevel(patients.getRiskLevelId())); | |
| 333 | + | |
| 296 | 334 | antextDoctorPatient.add(adp); |
| 297 | 335 | } |
| 298 | 336 | |
| ... | ... | @@ -317,7 +355,7 @@ |
| 317 | 355 | LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); |
| 318 | 356 | |
| 319 | 357 | //获取患者信息 |
| 320 | - List<AntextDoctorPatient> antextDoctorPatient = getPatientList(loginState.getId(), startDate, endDate, childBirth, null, null); | |
| 358 | + List<AntextDoctorPatient> antextDoctorPatient = getPatientList(loginState.getId(), startDate, endDate, childBirth, null); | |
| 321 | 359 | |
| 322 | 360 | Map<String, AntextDoctorResult> adr1 = new HashMap<>(); |
| 323 | 361 | //医生ID+患者ID 用与医生对于产检人数 + 总人数:患者ID |