diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java index 8101a1f..c1dc00d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java @@ -731,7 +731,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService if(StringUtils.isNotEmpty(userId)) { if(StringUtils.isNotEmpty(coupon)) { List list = CollectionUtils.asList(coupon, String.class); - if(list.contains(7) || list.contains(8)) { + if(list.contains("7") || list.contains("8")) { setUserSendInfoByBaby(userId, map); } else { setUserSendInfo(userId, map); /** 设置姓名、居住地、户籍地、电话 */ @@ -809,13 +809,31 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService } } else if(type == 2) { AntExChuModel antexc = mongoTemplate.findById(usedId, AntExChuModel.class); + List sortTempModels = new ArrayList<>(); + String id = null; + if(antexc != null) { checkDate = antexc.getCheckTime(); username = findUserNameByPid(antexc.getPid()); week = DateUtil.getWeekDesc(antexc.getLastMenses(), antexc.getCheckTime()); - number = findNumberByList("checkTime", "pid", antexc.getPid(), antexc, AntExChuModel.class); +// number = findNumberByList("checkTime", "pid", antexc.getPid(), antexc, AntExChuModel.class); operatorOrgName = couponMapper.findHospitalNameById(antexc.getHospitalId()); phone = findPhoneByPid(antexc.getPid()); + + id = antexc.getId();/** 处理排序 */ + List AntExChuModel = mongoTemplate.find(Query.query(Criteria.where("pid").is(antexc.getPid())), AntExChuModel.class); + if(CollectionUtils.isNotEmpty(AntExChuModel)) { + for (AntExChuModel antExChuModel : AntExChuModel) { + sortTempModels.add(new SortTempModel(antExChuModel.getId(), antExChuModel.getCheckTime())); + } + } + List antExChuModels = mongoTemplate.find(Query.query(Criteria.where("pid").is(antexc.getPid())), AntenatalExaminationModel.class); + if(CollectionUtils.isNotEmpty(antExChuModels)) { + for (AntenatalExaminationModel antExChuModel : antExChuModels) { + sortTempModels.add(new SortTempModel(antExChuModel.getId(), antExChuModel.getCreated())); + } + } + } else { AntenatalExaminationModel antenatal = mongoTemplate.findById(usedId, AntenatalExaminationModel.class); if(antenatal != null) { @@ -823,22 +841,35 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService username = findUserNameByPid(antenatal.getPid()); week = antenatal.getCurrentDueDate(); List antExChuModels = mongoTemplate.find(Query.query(Criteria.where("pid").is(antenatal.getPid())).with(new Sort(Sort.Direction.ASC, "created")), AntenatalExaminationModel.class); - List antexcs = mongoTemplate.find(Query.query(Criteria.where("pid").is(antenatal.getPid())), AntExChuModel.class); - if(CollectionUtils.isNotEmpty(antexcs)) { - - } + id = antenatal.getId(); if(CollectionUtils.isNotEmpty(antExChuModels)) { - for(int i = 0; i < antExChuModels.size(); i++) { - if(antExChuModels.get(i).getId().equals(antenatal.getId())) { - number = ++i; - } + for (AntenatalExaminationModel antExChuModel : antExChuModels) { + sortTempModels.add(new SortTempModel(antExChuModel.getId(), antExChuModel.getCreated())); + } + } + List AntExChuModel = mongoTemplate.find(Query.query(Criteria.where("pid").is(antenatal.getPid())), AntExChuModel.class); + if(CollectionUtils.isNotEmpty(AntExChuModel)) { + for (AntExChuModel antExChuModel : AntExChuModel) { + sortTempModels.add(new SortTempModel(antExChuModel.getId(), antExChuModel.getCheckTime())); } } operatorOrgName = couponMapper.findHospitalNameById(antenatal.getHospitalId()); phone = findPhoneByPid(antenatal.getPid()); } } + Collections.sort(sortTempModels, new Comparator() { + @Override + public int compare(SortTempModel o1, SortTempModel o2) { + return o1.getDate().after(o2.getDate()) ? 1 : -1; + } + }); + + for(int i = 0; i < sortTempModels.size(); i++) { + if(sortTempModels.get(i).getId().equals(id)) { + number = ++i; + } + } } else if(type == 4) { MaternalDeliverModel maternalDeliverModel = mongoTemplate.findById(usedId, MaternalDeliverModel.class); if(maternalDeliverModel != null) { @@ -846,20 +877,20 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService week = DateUtil.getWeekDesc(findLastMensesByPatientId(maternalDeliverModel.getParentId()), useDate); username = findUserNameByPid(maternalDeliverModel.getPid()); operatorOrgName = couponMapper.findHospitalNameById(maternalDeliverModel.getHospitalId()); - phone = findPhoneByPid(maternalDeliverModel.getHospitalId()); + Patients patients = mongoTemplate.findById(maternalDeliverModel.getParentId(), Patients.class); + if(patients != null) { + phone = patients.getPhone(); + } } } else if(type == 5) { DischargeAbstractMotherModel monther = mongoTemplate.findById(usedId, DischargeAbstractMotherModel.class); if(monther != null) { - username = findUserNameByPid(monther.getpId()); - phone = findPhoneByPid(monther.getpId()); - String patientId = monther.getPatientId(); - if(StringUtils.isNotEmpty(patientId)) { - Patients patients = mongoTemplate.findById(usedId, Patients.class); - if(patients != null) { - operatorOrgName = couponMapper.findHospitalNameById(patients.getHospitalId()); - week = "产后" + DateUtil.getDays(patients.getFmDate(), useDate) + "天"; - } + Patients patients = mongoTemplate.findById(monther.getPatientId(), Patients.class); + if(patients != null) { + username = patients.getUsername(); + phone = patients.getPhone(); + operatorOrgName = couponMapper.findHospitalNameById(patients.getHospitalId()); + week = "产后" + DateUtil.getDays(patients.getFmDate(), useDate) + "天"; } } } else if(type == 6) { @@ -868,7 +899,10 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService username = findUserNameByPid(postReviewModel.getPid()); phone = findPhoneByPid(postReviewModel.getPid()); operatorOrgName = couponMapper.findHospitalNameById(postReviewModel.getHospitalId()); - week = "产后" + DateUtil.getDays(findLastMensesByPatientId(postReviewModel.getParentId()), useDate) + "天"; + Patients patients = mongoTemplate.findById(postReviewModel.getParentId(), Patients.class); + if(patients != null) { + week = "产后" + DateUtil.getDays(patients.getFmDate(), useDate) + "天"; + } } } else if(type == 7) { BabyModel babyModel = mongoTemplate.findById(usedId, BabyModel.class); @@ -900,6 +934,67 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService map.put("phone", phone); } + public static class SortTempModel { + private Date date; + private String id; + + public SortTempModel(String id, Date date) { + this.date = date; + this.id = id; + } + + public SortTempModel() { + super(); + } + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + @Override + public String toString() { + return "SortTempModel{" + + "date=" + date + + ", id='" + id + '\'' + + '}'; + } + } + + public static void main(String[] args) { + SortTempModel temp = new SortTempModel(); + temp.setId("123"); + temp.setDate(DateUtil.parseYMD("2016-04-05")); + + SortTempModel temp2 = new SortTempModel(); + temp2.setId("456"); + temp2.setDate(DateUtil.parseYMD("2016-05-05")); + + List sortTempModels = new ArrayList<>(); + sortTempModels.add(temp2); + sortTempModels.add(temp); + System.out.println(sortTempModels); + Collections.sort(sortTempModels, new Comparator() { + @Override + public int compare(SortTempModel o1, SortTempModel o2) { + return o1.getDate().after(o2.getDate()) ? 1 : -1; + } + + }); + System.out.println(sortTempModels); + } + private String findUserNameByPid(String pid) { if(StringUtils.isNotEmpty(pid)) { PersonModel personModel = mongoTemplate.findById(pid, PersonModel.class);