Commit 359c96b8eb7137b4fb71fcd4f2ffc34a6740a2e4

Authored by wtt
1 parent 6f1b239a32

update

Showing 2 changed files with 101 additions and 33 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java View file @ 359c96b
... ... @@ -789,7 +789,7 @@
789 789 pq.setLimit(riskPatientsQueryRequest.getLimit());
790 790 List <Patients> ps = patientsService.queryPatientBySort(pq, riskPatientsQueryRequest.getSort(), riskPatientsQueryRequest.getOrder());
791 791 if (CollectionUtils.isNotEmpty(ps)) {
792   - data = convertToQuanWeight(ps);
  792 + data = convertToQuanWeight(ps,null);
793 793 }
794 794 }
795 795 }
... ... @@ -841,7 +841,7 @@
841 841 List<MaternalDeliverModel> deliverModels = mongoTemplate.find(querymd, MaternalDeliverModel.class);
842 842 if(CollectionUtils.isNotEmpty(deliverModels)){
843 843 MaternalDeliverModel maternalDeliverModel = deliverModels.get(0);
844   - idsMd.add(patients.getId());
  844 + idsMd.add(maternalDeliverModel.getParentId());
845 845 }
846 846 }
847 847 }
... ... @@ -869,7 +869,7 @@
869 869 pq.setLimit(riskPatientsQueryRequest.getLimit());
870 870 List <Patients> ps = patientsService.queryPatientBySort(pq, riskPatientsQueryRequest.getSort(), riskPatientsQueryRequest.getOrder());
871 871 if(CollectionUtils.isNotEmpty(ps)){
872   - data = convertToQuanWeight(ps);
  872 + data = convertToQuanWeight(ps,"judaer");//judaer巨大儿管理
873 873 }
874 874 }
875 875 }
876 876  
877 877  
... ... @@ -939,11 +939,13 @@
939 939 if (CollectionUtils.isNotEmpty(list)) {
940 940 for (Map map : list) {
941 941 Map m = new HashMap <>();
  942 + m.put("fmDate", map.get("fmDate"));
942 943 m.put("username", map.get("username"));
943 944 m.put("age", map.get("age"));
944 945 m.put("phone", map.get("phone"));
945   - m.put("currentWeek", map.get("currentWeek"));
  946 + m.put("fmWeek", map.get("fmWeek"));
946 947 m.put("riskFactor", map.get("riskFactor"));
  948 + m.put("babyWeight", map.get("babyWeight"));
947 949 m.put("bmi", map.get("bmi"));
948 950 m.put("beforeHeight", map.get("beforeHeight"));
949 951 m.put("beforeWeight", map.get("beforeWeight"));
... ... @@ -968,7 +970,7 @@
968 970 }
969 971 OutputStream out = response.getOutputStream();
970 972 Map<String, String> cnames = new LinkedHashMap<>();
971   - cnamesMap(cnames);
  973 + cnamesMapWeight(cnames);
972 974 response.setContentType("application/octet-stream");
973 975 response.setCharacterEncoding("UTF-8");
974 976 response.setHeader("Content-Disposition", "attachment;fileName=" + "巨大儿管理.xls");
... ... @@ -993,6 +995,21 @@
993 995 cnames.put("dayWeight"+i,"测量日期/体重"+i);
994 996 }
995 997 }
  998 + private void cnamesMapWeight(Map<String, String> cnames) {
  999 + cnames.put("fmDate", "分娩日期");
  1000 + cnames.put("username", "姓名");
  1001 + cnames.put("age", "年龄");
  1002 + cnames.put("phone", "手机号");
  1003 + cnames.put("fmWeek", "分娩孕周");
  1004 + cnames.put("riskFactor", "高危因素");
  1005 + cnames.put("babyWeight", "新生儿体重");
  1006 + cnames.put("bmi", "BMI指数");
  1007 + cnames.put("beforeHeight", "身高");
  1008 + cnames.put("beforeWeight", "孕前体重");
  1009 + for (int i = 0; i <= 20 ; i++) {
  1010 + cnames.put("dayWeight"+i,"测量日期/体重"+i);
  1011 + }
  1012 + }
996 1013  
997 1014 /**
998 1015 * list排序(按照日期升序)
... ... @@ -1466,7 +1483,7 @@
1466 1483 }
1467 1484 return data;
1468 1485 }
1469   - private List<Map> convertToQuanWeight(List<Patients> patientses) {
  1486 + private List<Map> convertToQuanWeight(List<Patients> patientses,String type) {
1470 1487 List<Map> data = new ArrayList<>();
1471 1488 int batchSize = 4;
1472 1489 int end = 0;
... ... @@ -1476,7 +1493,7 @@
1476 1493 if (end > patientses.size()) {
1477 1494 end = patientses.size();
1478 1495 }
1479   - listFuture.add(commonThreadPool.submit(new QuanWeightWorker(patientses.subList(i, end),mongoTemplate,commonService,basicConfigService)));
  1496 + listFuture.add(commonThreadPool.submit(new QuanWeightWorker(patientses.subList(i, end),mongoTemplate,commonService,basicConfigService,type)));
1480 1497 }
1481 1498 for (Future f : listFuture) {
1482 1499 try {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanWeightWorker.java View file @ 359c96b
... ... @@ -4,7 +4,9 @@
4 4 import com.lyms.platform.biz.service.CommonService;
5 5 import com.lyms.platform.common.enums.YnEnums;
6 6 import com.lyms.platform.common.utils.DateUtil;
  7 +import com.lyms.platform.common.utils.StringUtils;
7 8 import com.lyms.platform.operate.web.facade.PatientFacade;
  9 +import com.lyms.platform.pojo.MaternalDeliverModel;
8 10 import com.lyms.platform.pojo.PatientWeight;
9 11 import com.lyms.platform.pojo.Patients;
10 12 import com.lyms.platform.query.AntExChuQuery;
11 13  
12 14  
13 15  
14 16  
15 17  
16 18  
17 19  
18 20  
19 21  
20 22  
... ... @@ -30,57 +32,106 @@
30 32 private List<Patients> patientses;
31 33 private MongoTemplate mongoTemplate;
32 34 private CommonService commonService;
  35 + private String type;
33 36 private BasicConfigService basicConfigService;
34 37 public QuanWeightWorker(List<Patients> patientses,
35 38 MongoTemplate mongoTemplate,
36 39 CommonService commonService,
37   - BasicConfigService basicConfigService
  40 + BasicConfigService basicConfigService,
  41 + String type
38 42 ) {
39 43 this.patientses = patientses;
40 44 this.mongoTemplate = mongoTemplate;
41 45 this.commonService = commonService;
42 46 this.basicConfigService = basicConfigService;
  47 + this.type = type;
43 48 }
44 49  
45 50 @Override
46 51 public List<Map> call() throws Exception {
47 52 List<Map> data = new ArrayList<>();
48   - for (Patients patients : patientses) {
49   - if(com.lyms.platform.common.utils.StringUtils.isNotEmpty(patients.getId())){
  53 + for (Patients patients : patientses)
  54 + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(patients.getId())) {
50 55 List<PatientWeight> patientWeightList = mongoTemplate.find(Query.query(Criteria.where("patientId").is(patients.getId()).and("yn").ne("0")), PatientWeight.class);
51   - if(CollectionUtils.isNotEmpty(patientWeightList)){
  56 + if (CollectionUtils.isNotEmpty(patientWeightList)) {
52 57 PatientWeight patientWeight = patientWeightList.get(0);
53   - if(patientWeight!=null && com.lyms.platform.common.utils.StringUtils.isNotEmpty(patientWeight.getBmi())){
  58 + if (patientWeight != null && com.lyms.platform.common.utils.StringUtils.isNotEmpty(patientWeight.getBmi())) {
54 59 Map map = new HashMap();
55   - map.put("username", patients.getUsername());
56   - map.put("age", patients.getAge());
57   - map.put("phone", patients.getPhone());
58   - map.put("currentWeek", patients.getType() == 3 ? "已分娩" : DateUtil.getWeekDesc(patients.getLastMenses(), new Date()));
59   - String risk =getRiskFactor(patients.getRiskFactorId());
60   - if(org.apache.commons.lang.StringUtils.isEmpty(risk)){
61   - risk=(org.apache.commons.lang.StringUtils.isEmpty(patients.getoRiskFactor())?"":patients.getoRiskFactor());
62   - }else{
63   - risk=risk+(org.apache.commons.lang.StringUtils.isEmpty(patients.getoRiskFactor())?"":","+patients.getoRiskFactor());
64   - }
65   -// String rFactor = commonService.resloveFactor(JsonUtil.toList(patients.getRiskLevelId(), String.class));
66   - map.put("riskFactor",risk);
67   - map.put("bmi", patientWeight.getBmi());
68   - map.put("beforeHeight", patientWeight.getBeforeHeight());
69   - map.put("beforeWeight", patientWeight.getBeforeWeight());
70   - map.put("dayWeights",patientWeight.getDayWeights());
  60 + if(StringUtils.isEmpty(type)){
  61 + //-------------------------孕期体重异常管理---字段----------------------
  62 + puliMap(patients, patientWeight, map);
  63 + data.add(map);
71 64  
  65 + }else if("judaer".equals(type)) {
  66 + //-------------------------巨大儿管理---字段----------------------
  67 + map.put("fmDate", DateUtil.getyyyy_MM_dd(patients.getFmDate()));
  68 + if (patients.getFmWeek() != null) {
  69 + String dueWeek = "";
  70 + String week = (patients.getFmWeek() / 7) + "";
  71 + int day = (patients.getFmWeek() % 7);
  72 + dueWeek = "孕" + week + "周" + (day > 0 ? "+" + day + "天" : "");
  73 + map.put("fmWeek", dueWeek);
  74 + } else {
  75 + map.put("fmWeek", "");
  76 + }
  77 + Query querymd = Query.query(Criteria.where("parentId").is(patients.getId()).and("yn").ne("0")
  78 + .and("baby").elemMatch(Criteria.where("babyWeight").gte("4000")));
  79 + List<MaternalDeliverModel> deliverModels = mongoTemplate.find(querymd, MaternalDeliverModel.class);
  80 + if(CollectionUtils.isNotEmpty(deliverModels)){
  81 + MaternalDeliverModel maternalDeliverModel = deliverModels.get(0);
  82 + List<MaternalDeliverModel.Baby> baby = maternalDeliverModel.getBaby();
  83 + for (int i = 0; i < baby.size() ; i++) {
  84 + MaternalDeliverModel.Baby baby1 = baby.get(i);
  85 + map.put("babyWeight", baby1.getBabyWeight());
  86 + puliMap(patients, patientWeight, map);
  87 + data.add(map);
  88 + }
  89 + }
72 90  
73   - map.put("patientId", patients.getId());
74   - map.put("pid", patients.getPid());
75   - map.put("cardNo", patients.getCardNo());
76   - data.add(map);
  91 + }
  92 +
77 93 }
78 94  
79 95 }
80 96 }
81   - }
82 97 return data;
83 98 }
  99 +
  100 + private void puliMap(Patients patients, PatientWeight patientWeight, Map map) {
  101 + map.put("username", patients.getUsername());
  102 + map.put("age", patients.getAge());
  103 + map.put("phone", patients.getPhone());
  104 + map.put("currentWeek", patients.getType() == 3 ? "已分娩" : DateUtil.getWeekDesc(patients.getLastMenses(), new Date()));
  105 + String risk = getRiskFactor(patients.getRiskFactorId());
  106 + if (org.apache.commons.lang.StringUtils.isEmpty(risk)) {
  107 + risk = (org.apache.commons.lang.StringUtils.isEmpty(patients.getoRiskFactor()) ? "" : patients.getoRiskFactor());
  108 + } else {
  109 + risk = risk + (org.apache.commons.lang.StringUtils.isEmpty(patients.getoRiskFactor()) ? "" : "," + patients.getoRiskFactor());
  110 + }
  111 +// String rFactor = commonService.resloveFactor(JsonUtil.toList(patients.getRiskLevelId(), String.class));
  112 + map.put("riskFactor", risk);
  113 + map.put("bmi", patientWeight.getBmi());
  114 + map.put("beforeHeight", patientWeight.getBeforeHeight());
  115 + map.put("beforeWeight", patientWeight.getBeforeWeight());
  116 + map.put("dayWeights", patientWeight.getDayWeights());
  117 + if (patientWeight.getDayWeights() != null) {
  118 + int i = 1;
  119 + for(Map.Entry<String, String> entry : patientWeight.getDayWeights().entrySet()){
  120 + String mapKey = entry.getKey();
  121 + String mapValue = entry.getValue();
  122 + System.out.println(mapKey + "/" + mapValue);
  123 + map.put("dayWeights"+i++, mapKey + "/" + mapValue);
  124 + }
  125 +
  126 + }
  127 +
  128 + map.put("patientId", patients.getId());
  129 + map.put("pid", patients.getPid());
  130 + map.put("cardNo", patients.getCardNo());
  131 +
  132 +
  133 + }
  134 +
84 135 public static List filter(List<java.util.Map> level){
85 136 List list = new ArrayList();
86 137 List addEdList = new ArrayList();