Commit fbcb97c58b4862da2cfac8118b511e946ba6c72b

Authored by jiangjiazhi
1 parent 38cc06e8a4

commit

Showing 1 changed file with 69 additions and 32 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java View file @ fbcb97c
... ... @@ -6,10 +6,7 @@
6 6 import com.lyms.platform.common.result.BaseListResponse;
7 7 import com.lyms.platform.common.result.BaseObjectResponse;
8 8 import com.lyms.platform.common.result.BaseResponse;
9   -import com.lyms.platform.common.utils.Assert;
10   -import com.lyms.platform.common.utils.DateUtil;
11   -import com.lyms.platform.common.utils.ExcelUtil;
12   -import com.lyms.platform.common.utils.ExceptionUtils;
  9 +import com.lyms.platform.common.utils.*;
13 10 import com.lyms.platform.operate.web.request.*;
14 11 import com.lyms.platform.operate.web.result.*;
15 12 import com.lyms.platform.operate.web.utils.CommonsHelper;
... ... @@ -221,8 +218,7 @@
221 218  
222 219 //服务状态
223 220 if (null != riskPatientsQueryRequest.getServiceStatus()) {
224   - if (ServiceStatusEnums.STANDARD_ALL.getId() != Integer.valueOf(riskPatientsQueryRequest.getServiceStatus()) && ServiceStatusEnums.ADD_ALL.getId() != Integer.valueOf(riskPatientsQueryRequest.getServiceStatus()))
225   - {
  221 + if (ServiceStatusEnums.STANDARD_ALL.getId() != Integer.valueOf(riskPatientsQueryRequest.getServiceStatus()) && ServiceStatusEnums.ADD_ALL.getId() != Integer.valueOf(riskPatientsQueryRequest.getServiceStatus())) {
226 222 patientsQuery.setServiceStatus(Integer.valueOf(riskPatientsQueryRequest.getServiceStatus()));
227 223 }
228 224  
229 225  
230 226  
231 227  
... ... @@ -231,23 +227,23 @@
231 227 patientsQuery.setrLevel(riskPatientsQueryRequest.getrLevel());
232 228 patientsQuery.setLastMensesStart(riskPatientsQueryRequest.capEnd());
233 229 patientsQuery.setLastMensesEnd(riskPatientsQueryRequest.capStart());
234   - if(StringUtils.isNotEmpty(riskPatientsQueryRequest.getBuildTime())){
  230 + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getBuildTime())) {
235 231  
236 232 String nextDateStr = riskPatientsQueryRequest.getBuildTime();
237 233 String[] dates = nextDateStr.split(" - ");
238 234  
239 235 patientsQuery.setBookbuildingDateStart(DateUtil.parseYMD(dates[0]));
240   - if(dates.length==2){
  236 + if (dates.length == 2) {
241 237 patientsQuery.setBookbuildingDateEnd(DateUtil.parseYMD(dates[1]));
242 238 }
243 239 }
244 240  
245   - if(StringUtils.isNotEmpty(riskPatientsQueryRequest.getLastRhTime())){
  241 + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getLastRhTime())) {
246 242 String nextDateStr = riskPatientsQueryRequest.getLastRhTime();
247 243 String[] dates = nextDateStr.split(" - ");
248 244  
249 245 patientsQuery.setLastRhTimeStart(DateUtil.parseYMD(dates[0]));
250   - if(dates.length==2){
  246 + if (dates.length == 2) {
251 247 patientsQuery.setLastRhTimeEnd(DateUtil.parseYMD(dates[1]));
252 248 }
253 249 }
254 250  
... ... @@ -282,11 +278,11 @@
282 278 buildType.add(0);
283 279 buildType.add(2);
284 280 patientsQuery.setBuildTypeList(buildType);
285   - String hospital=autoMatchFacade.getHospitalId(userId);
  281 + String hospital = autoMatchFacade.getHospitalId(userId);
286 282 patientsQuery.setHospitalId(hospital);
287 283 patientsQuery.setNeed(needPage);
288 284 //查询符合条件的孕妇
289   - StopWatch stopWatch=new StopWatch("queryPatient1 -"+hospital);
  285 + StopWatch stopWatch = new StopWatch("queryPatient1 -" + hospital);
290 286 stopWatch.start();
291 287 List<Patients> patientses = patientsService.queryPatient1(patientsQuery, "modified");
292 288 stopWatch.stop();
293 289  
294 290  
... ... @@ -296,13 +292,13 @@
296 292 if (CollectionUtils.isNotEmpty(patientses)) {
297 293 //如果是查高危孕妇
298 294 if (null != isHighRisk && Boolean.TRUE.equals(isHighRisk)) {
299   - data = convertToHighRisk(patientses, userId,hospital);
  295 + data = convertToHighRisk(patientses, userId, hospital);
300 296 } else if (type == 1) {
301 297 //处理全部孕妇的情况
302   - data = convertToQuanPatient(patientses, userId,hospital);
  298 + data = convertToQuanPatient(patientses, userId, hospital);
303 299 //处理全部产妇
304 300 } else if (type == 3) {
305   - data = convertToQuanCPatient(patientses, userId,hospital);
  301 + data = convertToQuanCPatient(patientses, userId, hospital);
306 302 }
307 303 }
308 304 return new BaseListResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setPageInfo(patientsQuery.getPageInfo());
... ... @@ -336,7 +332,7 @@
336 332 * @param patientses 符合条件的产妇
337 333 * @return
338 334 */
339   - private List convertToQuanCPatient(List<Patients> patientses, Integer userId,String hospital) {
  335 + private List convertToQuanCPatient(List<Patients> patientses, Integer userId, String hospital) {
340 336 List data = new ArrayList<>();
341 337 AntExQuery antExQuery = new AntExQuery();
342 338 // String hospital = autoMatchFacade.getHospitalId(userId);
343 339  
... ... @@ -358,12 +354,12 @@
358 354 chanResult.setlName(patients.getBookbuildingDoctor());
359 355 }
360 356 }
361   - MatDeliverQuery matDeliverQuery=new MatDeliverQuery();
  357 + MatDeliverQuery matDeliverQuery = new MatDeliverQuery();
362 358 matDeliverQuery.setPid(patients.getPid());
363 359 matDeliverQuery.setCreatedStart(patients.getLastMenses());
364 360 matDeliverQuery.setYn(YnEnums.YES.getId());
365   - List<MaternalDeliverModel> maternalDeliverModels = matDeliverService.query(matDeliverQuery);
366   - if(CollectionUtils.isNotEmpty(maternalDeliverModels)){
  361 + List<MaternalDeliverModel> maternalDeliverModels = matDeliverService.query(matDeliverQuery);
  362 + if (CollectionUtils.isNotEmpty(maternalDeliverModels)) {
367 363 chanResult.setDueWeek(maternalDeliverModels.get(0).getDueDate());
368 364 }
369 365 /*if (StringUtils.isNotEmpty(patients.getLastCheckEmployeeId())) {
... ... @@ -413,7 +409,7 @@
413 409 }
414 410  
415 411  
416   - private List convertToQuanPatient(List<Patients> patientses, Integer userId,String hospital) {
  412 + private List convertToQuanPatient(List<Patients> patientses, Integer userId, String hospital) {
417 413 AntExChuQuery antExChuQuery = new AntExChuQuery();
418 414 AntExQuery antExQuery = new AntExQuery();
419 415 List data = new ArrayList<>();
420 416  
... ... @@ -511,13 +507,13 @@
511 507 * @param patientses
512 508 * @return
513 509 */
514   - private List convertToHighRisk(List<Patients> patientses, Integer userId,String hospital) {
  510 + private List convertToHighRisk(List<Patients> patientses, Integer userId, String hospital) {
515 511 AntExChuQuery antExChuQuery = new AntExChuQuery();
516 512 AntExQuery antExQuery = new AntExQuery();
517 513 List data = new ArrayList<>();
518 514 // String hospital = autoMatchFacade.getHospitalId(userId);
519 515 for (Patients patients : patientses) {
520   - StopWatch stopWatch=new StopWatch("convert -"+patients.getId());
  516 + StopWatch stopWatch = new StopWatch("convert -" + patients.getId());
521 517 RiskPatientsResult riskPatientsResult = new RiskPatientsResult();
522 518 riskPatientsResult.convertToResult(patients);
523 519 if (StringUtils.isNotEmpty(patients.getBookbuildingDoctor())) {
524 520  
... ... @@ -588,10 +584,54 @@
588 584 riskPatientsResult.setServiceStatus(ServiceStatusEnums.getNameById(patients.getServiceStatus()));
589 585 riskPatientsResult.setcTime(nextCheckTime);
590 586 stopWatch.start("query findLastRisk");
591   - HighScoreResult highScoreResult = antenatalExaminationFacade.findLastRisk(patients.getPid(), true);
  587 + /* HighScoreResult highScoreResult = antenatalExaminationFacade.findLastRisk(patients.getPid(), true);
592 588 riskPatientsResult.setrFactor(highScoreResult.gethighRiskStr());
593 589 riskPatientsResult.setrLevel(highScoreResult.filter(highScoreResult.getLevel()));
594   - riskPatientsResult.sethScore(highScoreResult.getScore());
  590 + riskPatientsResult.sethScore(highScoreResult.getScore());*/
  591 + HighScoreResult highScoreResult = new HighScoreResult();
  592 +
  593 +
  594 + //高危因素
  595 + List<String> factor = patients.getRiskFactorId();
  596 +
  597 + if (CollectionUtils.isNotEmpty(factor)) {
  598 + StringBuilder sb = new StringBuilder(56);
  599 + for (String srt : factor) {
  600 + if (StringUtils.isNotEmpty(srt)) {
  601 + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(srt);
  602 + if (null != basicConfig && sb.indexOf(basicConfig.getName()) > -1) {
  603 + sb.append(basicConfig.getName()).append(',');
  604 + }
  605 + }
  606 + }
  607 + if(sb.toString().endsWith(",")){
  608 + riskPatientsResult.setrFactor(sb.substring(0,sb.length()-1));
  609 + }else{
  610 + riskPatientsResult.setrFactor(sb.toString());
  611 + }
  612 + }
  613 + List level =new ArrayList();
  614 + if(StringUtils.isNotEmpty(patients.getRiskLevelId())){
  615 + try {
  616 + List<String> list = JsonUtil.jkstr2Obj(patients.getRiskLevelId(),List.class);
  617 + for(String str:list){
  618 + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(str);
  619 + if (null != basicConfig) {
  620 + Map map =new HashMap();
  621 + String name = basicConfig.getName();
  622 + if (name.indexOf("预警") > -1) {
  623 + name = name.replace("预警", "");
  624 + }
  625 + map.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name));
  626 + level.add(map);
  627 + }
  628 + }
  629 + }catch (Exception e){
  630 + }
  631 + riskPatientsResult.setrLevel(level);
  632 + }
  633 +
  634 + riskPatientsResult.sethScore(patients.getRiskScore());
595 635 stopWatch.stop();
596 636 logger.info(stopWatch.toString());
597 637 data.add(riskPatientsResult);
598 638  
599 639  
... ... @@ -768,20 +808,17 @@
768 808 OutputStream out = response.getOutputStream();
769 809 ExcelUtil.toExcel(out, datas, cnames);
770 810 } catch (Exception e) {
771   - ExceptionUtils.catchException(e,e.getMessage());
  811 + ExceptionUtils.catchException(e, e.getMessage());
772 812 }
773 813 }
774 814  
775 815  
776   - private String getLevel(List<Map> levels)
777   - {
  816 + private String getLevel(List<Map> levels) {
778 817  
779 818 String str = "";
780   - if (CollectionUtils.isNotEmpty(levels))
781   - {
782   - for (Map map : levels)
783   - {
784   - str+=map.get("name")+";";
  819 + if (CollectionUtils.isNotEmpty(levels)) {
  820 + for (Map map : levels) {
  821 + str += map.get("name") + ";";
785 822 }
786 823 }
787 824