diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java index 4e7d701..6a06336 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java @@ -57,7 +57,7 @@ public interface CouponMapper { Map findHospitalName(Map param); - String findUserName(String prodDoctor); + String findUserName(String userId); String findPhone(String s); diff --git a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml index 8bc7496..ca8c3df 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml @@ -345,22 +345,23 @@ diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java index bac2822..a0fe9ea 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java @@ -878,18 +878,22 @@ public class DateUtil { return startTime < time && time < endTime ? true : false; } - public static void main(String[] arg) throws Exception { - Date now = new Date(); - Date start = y_m_d_h_m_s.parse("2017-04-30 11:11:11"); - Date end = y_m_d_h_m_s.parse("2017-04-30 11:11:11"); - System.out.println(isBetween(now, start, end)); - - System.out.println(org.apache.commons.lang3.time.DateUtils.addMonths(start ,1).toLocaleString()); - long startTime = 1483372800000l; - long endTime = end.getTime(); - System.out.println(); + /** + * 把一段时间 拼成 孕?周+?天 + * @param start + * @param end + * @return + */ + public static String getWeekDesc(Date start, Date end) { + Integer betweenDay = DateUtil.getDays(start, end); + Integer week = betweenDay / 7; + Integer day = betweenDay % 7; + return "孕" + week + "周+" + day + "天"; + } - Date d2 = new Date(); - System.out.println(isLtOrEq(start, end)); + public static void main(String[] arg) throws Exception { + Date start = parseYMD("2016-05-01"); + Date end = parseYMD("2016-05-11"); + System.out.println(getWeekDesc(start, end)); } } 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 57b7c33..77c06e6 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 @@ -702,12 +702,12 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService .replace("", ""); couponInfo.put("type_desc", s); } - couponInfo.put("use_date", DateUtil.getYmd((Date) couponInfo.get("use_date"))); - setUsedInfo(couponInfo); + Date useDate = (Date) couponInfo.get("use_date"); + couponInfo.put("use_date", DateUtil.getYmd(useDate)); +// setUsedInfo(couponInfo); /** 设置产检日期、姓名、产检孕周、产检第次、产检机构、产检医生、联系电话 */ - setUsedInfo((String) couponInfo.get("type"), - (String) couponInfo.get("used_id"), - (String) couponInfo.get("sequence_id") + setUsedInfo((Integer) couponInfo.get("type"), (String) couponInfo.get("used_id"), + (String) couponInfo.get("sequence_id"), useDate, couponInfo ); } } @@ -716,13 +716,103 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService return RespBuilder.buildSuccess(pageResult); } - private void setUsedInfo(String type, String used_id, String sequence_id) { - Date checkDate = null; - String name = null; - Integer number = null; - if("1".equals(type)) { - Patients one = mongoTemplate.findOne(Query.query(Criteria.where("1").is("1")), Patients.class); + /** + * type + * 1=孕妇建档 lyms_patient + * 2=孕妇产检 lyms_antexc(初诊),lyms_antex(复诊) + * 3=产妇建档 lyms_patient + * 4=产妇分娩 lyms_matdeliver + * 5=产妇出院小结 lyms_discharge_abstract_mother + * 6=产妇产后复查 lyms_postreview + * 7=儿童建档 lyms_baby + * 8=儿童保健 lyms_babycheck + */ + private void setUsedInfo(Integer type, String usedId, String sequence_id, Date useDate, Map map) { + Date checkDate = null; /** 产检日期 */ + String username = null; /** 姓名 */ + String week = null; /** 产检孕周 = 产检时间 - 末次月经 */ + Integer number = null; /** 产检第次 */ + String operatorOrgName = null; /** 产检机构 */ + String doctorName = null; /** 产检医生 */ + String phone = null; /** 联系电话 */ + if(type == 1) { + Patients patients = mongoTemplate.findById(usedId, Patients.class); + if(patients != null) { + checkDate = patients.getCreated(); + username = patients.getUsername(); + week = DateUtil.getWeekDesc(patients.getLastMenses(), checkDate); + List patientsList = mongoTemplate.find(Query.query(Criteria.where("pid").is(patients.getPid())).with(new Sort(Sort.Direction.ASC, "created")), Patients.class); + for(int i = 0; i < patientsList.size(); i++) { + if(patientsList.get(i).getId().equals(patients.getId())) { + number = ++i; + } + } + operatorOrgName = couponMapper.findHospitalNameById(patients.getHospitalId()); + doctorName = couponMapper.findUserName(patients.getLastCheckEmployeeId()); + phone = patients.getPhone(); + } + } else if(type == 2) { + AntExChuModel antexc = mongoTemplate.findOne(Query.query(Criteria.where("barCode").is(sequence_id)), AntExChuModel.class); + if(antexc != null) { + map.put("checkDate", antexc.getCheckTime()); /** 产检日期 */ + Patients patients = mongoTemplate.findById(antexc.getParentId(), Patients.class); + if(patients != null) { + map.put("username", patients.getUsername()); /** 姓名 */ + } + map.put("week", DateUtil.getWeek(antexc.getLastMenses(), antexc.getCheckTime()));/** 产检孕周 = 产检时间 - 末次月经 */ + + List antExChuModels = mongoTemplate.find(Query.query(Criteria.where("pid").is(antexc.getPid())).with(new Sort(Sort.Direction.ASC, "checkTime")), AntExChuModel.class); + if(org.apache.commons.collections.CollectionUtils.isNotEmpty(antExChuModels)) { + for(int i = 0; i < antExChuModels.size(); i++) { + if(antExChuModels.get(i).getId().equals(antexc.getId())) { + map.put("number", ++i); /** 产检第几次 */ + return; + } + } + } + + map.put("doctorName", couponMapper.findUserName(antexc.getProdDoctor())); /** 产检医生 */ + map.put("operatorOrgName", couponMapper.findUserName(antexc.getOperator() + "")); /** 产检机构 */ + PersonModel personModel = mongoTemplate.findById(map.get("user_id"), PersonModel.class); + if(personModel != null) { + map.put("phone", personModel.getPhone()); + } else { + map.put("phone", null); + } + } else { + AntenatalExaminationModel antenatal = mongoTemplate.findOne(Query.query(Criteria.where("barCode").is(sequenceId)), AntenatalExaminationModel.class); + if(antenatal != null) { + map.put("checkDate", antenatal.getCheckDate()); /** 产检日期 */ + Patients patients = mongoTemplate.findById(antenatal.getParentId(), Patients.class); + if(patients != null) { + map.put("username", patients.getUsername()); /** 姓名 */ + } + map.put("week", antenatal.getCurrentDueDate());/** 产检孕周 = 产检时间 - 末次月经 */ + map.put("number", antenatal.getYn()); /** 产检第几次 */ + map.put("doctorName", couponMapper.findUserName(antenatal.getCheckDoctor())); /** 产检医生 */ + map.put("operatorOrgName", couponMapper.findUserName(antenatal.getOperator() + "")); /** 产检机构 */ + map.put("phone", couponMapper.findPhone(antenatal.getOperator() + "")); + } + } + } + + map.put("checkDate", checkDate); + map.put("username", username); + map.put("week", week); + map.put("number", number); + map.put("operatorOrgName", operatorOrgName); + map.put("doctorName", doctorName); + map.put("phone", phone); + } + + private String findUserNameByPid(String pid) { + if(StringUtils.isNotEmpty(pid)) { + PersonModel personModel = mongoTemplate.findById(pid, PersonModel.class); + if(personModel != null) { + return personModel.getName(); + } } + return null; } @Override @@ -808,50 +898,40 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService ResponseUtil.responseExcel(cnames, results, response); } - private void setUsedInfo(Map map) { + /*private void setUsedInfo(Map map) { String sequenceId = (String) map.get("sequence_id"); Integer type = (Integer) map.get("type"); if(StringUtils.isEmpty(sequenceId) || type == null) return; - /** - * type - 1=孕妇建档 lyms_patient - 2=孕妇产检 lyms_antexc(初诊),lyms_antex(复诊) - 3=产妇建档 - 4=产妇分娩 lyms_matdeliver - 5=产妇出院小结 lyms_discharge_abstract_mother - 6=产妇产后复查 lyms_postreview - 7=儿童建档 lyms_baby - 8=儿童保健 lyms_babycheck - */ + if(type == 1) { Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("").is(sequenceId)), Patients.class); if(patients != null) { - map.put("checkDate", patients.getCreated()); /** 产检日期 */ + map.put("checkDate", patients.getCreated()); *//** 产检日期 *//* } } AntExChuModel antexc = mongoTemplate.findOne(Query.query(Criteria.where("barCode").is(sequenceId)), AntExChuModel.class); if(antexc != null) { - map.put("checkDate", antexc.getCheckTime()); /** 产检日期 */ + map.put("checkDate", antexc.getCheckTime()); *//** 产检日期 *//* Patients patients = mongoTemplate.findById(antexc.getParentId(), Patients.class); if(patients != null) { - map.put("username", patients.getUsername()); /** 姓名 */ + map.put("username", patients.getUsername()); *//** 姓名 *//* } - map.put("week", DateUtil.getWeek(antexc.getLastMenses(), antexc.getCheckTime()));/** 产检孕周 = 产检时间 - 末次月经 */ + map.put("week", DateUtil.getWeek(antexc.getLastMenses(), antexc.getCheckTime()));*//** 产检孕周 = 产检时间 - 末次月经 *//* List antExChuModels = mongoTemplate.find(Query.query(Criteria.where("pid").is(antexc.getPid())).with(new Sort(Sort.Direction.ASC, "checkTime")), AntExChuModel.class); if(org.apache.commons.collections.CollectionUtils.isNotEmpty(antExChuModels)) { for(int i = 0; i < antExChuModels.size(); i++) { if(antExChuModels.get(i).getId().equals(antexc.getId())) { - map.put("number", ++i); /** 产检第几次 */ + map.put("number", ++i); *//** 产检第几次 *//* return; } } } - map.put("doctorName", couponMapper.findUserName(antexc.getProdDoctor())); /** 产检医生 */ - map.put("operatorOrgName", couponMapper.findUserName(antexc.getOperator() + "")); /** 产检机构 */ + map.put("doctorName", couponMapper.findUserName(antexc.getProdDoctor())); *//** 产检医生 *//* + map.put("operatorOrgName", couponMapper.findUserName(antexc.getOperator() + "")); *//** 产检机构 *//* PersonModel personModel = mongoTemplate.findById(map.get("user_id"), PersonModel.class); if(personModel != null) { map.put("phone", personModel.getPhone()); @@ -861,15 +941,15 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService } else { AntenatalExaminationModel antenatal = mongoTemplate.findOne(Query.query(Criteria.where("barCode").is(sequenceId)), AntenatalExaminationModel.class); if(antenatal != null) { - map.put("checkDate", antenatal.getCheckDate()); /** 产检日期 */ + map.put("checkDate", antenatal.getCheckDate()); *//** 产检日期 *//* Patients patients = mongoTemplate.findById(antenatal.getParentId(), Patients.class); if(patients != null) { - map.put("username", patients.getUsername()); /** 姓名 */ + map.put("username", patients.getUsername()); *//** 姓名 *//* } - map.put("week", antenatal.getCurrentDueDate());/** 产检孕周 = 产检时间 - 末次月经 */ - map.put("number", antenatal.getYn()); /** 产检第几次 */ - map.put("doctorName", couponMapper.findUserName(antenatal.getCheckDoctor())); /** 产检医生 */ - map.put("operatorOrgName", couponMapper.findUserName(antenatal.getOperator() + "")); /** 产检机构 */ + map.put("week", antenatal.getCurrentDueDate());*//** 产检孕周 = 产检时间 - 末次月经 *//* + map.put("number", antenatal.getYn()); *//** 产检第几次 *//* + map.put("doctorName", couponMapper.findUserName(antenatal.getCheckDoctor())); *//** 产检医生 *//* + map.put("operatorOrgName", couponMapper.findUserName(antenatal.getOperator() + "")); *//** 产检机构 *//* map.put("phone", couponMapper.findPhone(antenatal.getOperator() + "")); } } @@ -884,7 +964,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService map.put("use_day", "产后" + day + "天"); } } - } + }*/ private String findName(Object id) { if(id != null) { @@ -957,7 +1037,6 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService .append("D.DOCTOR_NAME ") .append("ORDER BY D.INSERT_DATE DESC"); - System.out.println(sql.toString()); return sql.toString(); } @@ -1217,7 +1296,6 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService params.add(number); } - System.out.println(sql.toString()); return sql.toString(); }