From 6832e6fb8f53215b513ad04514ed0ffbdf1a226c Mon Sep 17 00:00:00 2001 From: liquanyu Date: Wed, 3 Aug 2016 17:19:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=84=BF=E7=AB=A5=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/query/BabyModelQuery.java | 16 ++ .../web/controller/BabyBookbuildingController.java | 3 +- .../operate/web/facade/BabyBookbuildingFacade.java | 304 +++++++++++++++++---- .../operate/web/facade/BookbuildingFacade.java | 1 + 4 files changed, 264 insertions(+), 60 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java index e150548..755ba2e 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java @@ -155,6 +155,17 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { //生成规则 母亲手机号+出生年月日+性别+胎数 private String phoneId; + //person表的主键 + private String pid; + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + public String getCardId() { return cardId; } @@ -352,6 +363,11 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { if (!StringUtils.isEmpty(parentId)) { condition = condition.and("parentid", parentId, MongoOper.IS); } + + if (!StringUtils.isEmpty(pid)) { + condition = condition.and("pid", pid, MongoOper.IS); + } + if (!StringUtils.isEmpty(mphone)) { condition = condition.and("mphone", mphone, MongoOper.IS); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java index fab338e..693908e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java @@ -100,14 +100,13 @@ public class BabyBookbuildingController extends BaseController { */ @RequestMapping(value = "/queryBabyBuildRecord", method = RequestMethod.GET) @ResponseBody - @TokenRequired public BaseObjectResponse queryBabyBuildRecord(HttpServletRequest request,@RequestParam(required = false)String cardNo,@RequestParam(required = false)String vcCardNo,@RequestParam(required = false)String hospitalId){ BookbuildingQueryRequest param = new BookbuildingQueryRequest(); param.setCardNo(cardNo); param.setVcCardNo(vcCardNo); param.setHospitalId(hospitalId); LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return babyBookbuildingFacade.queryBabyBuildRecord(param,loginState.getId()); + return babyBookbuildingFacade.queryBabyBuildRecord(param,856); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index 6a0be7f..8f223a4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -821,6 +821,12 @@ public class BabyBookbuildingFacade { */ public BaseObjectResponse queryBabyBuildRecord(BookbuildingQueryRequest param,Integer userId) { + + Map map = new HashMap<>(); + + List results = new ArrayList<>(); + + //得到当前登录的医院id if (userId != null) { Users dbuser = usersService.getUsers(userId); @@ -830,97 +836,279 @@ public class BabyBookbuildingFacade { } } + //通过查询孕妇 + PatientsQuery puerperaQuery = new PatientsQuery(); + puerperaQuery.setYn(YnEnums.YES.getId()); + BabyModel buildInfo = null; + boolean isCurrentHosp = false; - Map map = new HashMap<>(); - - List results = new ArrayList<>(); - BabyModelQuery babyQuery = new BabyModelQuery(); - babyQuery.setYn(YnEnums.YES.getId()); - List models = null; if (!StringUtils.isEmpty(param.getCardNo())) { - babyQuery.setCardId(param.getCardNo()); - babyQuery.setHospitalId(param.getHospitalId()); + //查询儿童基本信息 + PersonModelQuery personModelQuery = new PersonModelQuery(); + personModelQuery.setYn(YnEnums.YES.getId()); + personModelQuery.setType(2); + personModelQuery.setCardNo(param.getCardNo()); + List personModels = personService.queryPersons(personModelQuery); + if (CollectionUtils.isNotEmpty(personModels)) + { - //通过查询孕妇 - PatientsQuery puerperaQuery = new PatientsQuery(); - puerperaQuery.setCardNo(param.getCardNo()); - puerperaQuery.setYn(YnEnums.YES.getId()); - Patients patients = patientsService.findOnePatientByCardNo(puerperaQuery); - map.put("patients",patients); -// if (patients != null && StringUtils.isNotEmpty(patients.getPhone())) { -// babyQuery.setPhoneId(patients.getPhone()); -// } + for(PersonModel babayPerson : personModels) + { + BabyInfoResult result = new BabyInfoResult(); + result.setId(babayPerson.getId()); + result.setCardNo(babayPerson.getCardNo());//母亲的身份证号码 + result.setName(babayPerson.getName()); + if (babayPerson.getBirth() != null) + { + result.setMonthAge(DateUtil.getBabyMonthAge(babayPerson.getBirth(), new Date())); + } + else + { + result.setMonthAge(""); + } - models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setYn(YnEnums.YES.getId()); + babyQuery.setPid(babayPerson.getId()); + List builds = babyBookbuildingService.queryBabyBuildByCond(babyQuery); - } else if (param.getHospitalId() != null & !StringUtils.isEmpty(param.getVcCardNo())) { - babyQuery.setHospitalId(param.getHospitalId()); - babyQuery.setVcCardNo(param.getVcCardNo()); - models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); - } + List> list = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(builds)) + { + for(BabyModel build: builds) + { + if (build != null && StringUtils.isNotEmpty(build.getHospitalId()) && build.getHospitalId().equals(param.getHospitalId())) + { + isCurrentHosp = true; + buildInfo = build; + } - if (models != null && models.size() > 0) { - Set uid = new HashSet<>(); - for (BabyModel model : models) { - if (model != null) { - uid.add(model.getId()); - } + Map buildRecords = new HashMap<>(); + buildRecords.put("id", build.getId()); + buildRecords.put("buildDate", DateUtil.getyyyy_MM_dd(build.getBuildDate())); + + //查询建档医院 + Organization org = organizationService.getOrganization(Integer.valueOf(build.getHospitalId())); + if (org != null) { + buildRecords.put("buildHospital", org.getName()); + } else { + buildRecords.put("buildHospital", ""); + } + + result.setId(build.getId()); + result.setCardNo(build.getCardNo()); + result.setName(build.getName()); + result.setMonthAge(DateUtil.getBabyMonthAge(build.getBirth(), new Date())); + list.add(buildRecords); + } + + if (!isCurrentHosp) + { + buildInfo = builds.get(0); + } + + result.setBuildRecords(list); + } + results.add(result); + } } - for (String id : uid) { - BabyInfoResult result = new BabyInfoResult(); + puerperaQuery.setCardNo(param.getCardNo()); + } else if (param.getHospitalId() != null & !StringUtils.isEmpty(param.getVcCardNo())) { + + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setYn(YnEnums.YES.getId()); + babyQuery.setVcCardNo(param.getVcCardNo()); + babyQuery.setHospitalId(param.getHospitalId()); + + List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + if (CollectionUtils.isNotEmpty(babyModels)) + { + BabyModel model = babyModels.get(0); + if (model != null) + { + + puerperaQuery.setCardNo(model.getMcertNo()); - List> list = new ArrayList<>(); - for (BabyModel model : models) { + BabyInfoResult result = new BabyInfoResult(); + result.setId(model.getPid()); + result.setCardNo(model.getMcertNo());//母亲的身份证号码 + result.setName(model.getName()); + if (model.getBirth() != null) + { + result.setMonthAge(DateUtil.getBabyMonthAge(model.getBirth(), new Date())); + } + else + { + result.setMonthAge(""); + } - if (id.equals(model.getId())) { + BabyModelQuery babyBuildQuery = new BabyModelQuery(); + babyBuildQuery.setYn(YnEnums.YES.getId()); + babyBuildQuery.setPid(model.getPid()); + List builds = babyBookbuildingService.queryBabyBuildByCond(babyBuildQuery); - BabyModelQuery hospBuildRecordsQuery = new BabyModelQuery(); - hospBuildRecordsQuery.setYn(YnEnums.YES.getId()); - hospBuildRecordsQuery.setMcertNo(model.getMcertNo()); - List builds = babyBookbuildingService.queryBabyBuildByCond(hospBuildRecordsQuery); - if (CollectionUtils.isNotEmpty(builds)) + List> list = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(builds)) + { + for(BabyModel build: builds) { - for(BabyModel build: builds) + + if (build != null && StringUtils.isNotEmpty(build.getHospitalId()) && build.getHospitalId().equals(param.getHospitalId())) { - Map buildRecords = new HashMap<>(); - buildRecords.put("id", build.getId()); - buildRecords.put("buildDate", DateUtil.getyyyy_MM_dd(build.getBuildDate())); - - //查询建档医院 - Organization org = organizationService.getOrganization(Integer.valueOf(build.getHospitalId())); - if (org != null) { - buildRecords.put("buildHospital", org.getName()); - } else { - buildRecords.put("buildHospital", ""); - } + isCurrentHosp = true; + buildInfo = build; + } + + Map buildRecords = new HashMap<>(); + buildRecords.put("id", build.getId()); + buildRecords.put("buildDate", DateUtil.getyyyy_MM_dd(build.getBuildDate())); - result.setId(build.getId()); - result.setCardNo(build.getCardNo()); - result.setName(build.getName()); - result.setMonthAge(DateUtil.getBabyMonthAge(build.getBirth(), new Date())); - list.add(buildRecords); + //查询建档医院 + Organization org = organizationService.getOrganization(Integer.valueOf(build.getHospitalId())); + if (org != null) { + buildRecords.put("buildHospital", org.getName()); + } else { + buildRecords.put("buildHospital", ""); } + result.setId(build.getId()); + result.setCardNo(build.getCardNo()); + result.setName(build.getName()); + result.setMonthAge(DateUtil.getBabyMonthAge(build.getBirth(), new Date())); + list.add(buildRecords); } + if (!isCurrentHosp) + { + buildInfo = builds.get(0); + } + + result.setBuildRecords(list); } - result.setBuildRecords(list); + results.add(result); } - results.add(result); + } } + Patients patients = patientsService.findOnePatientByCardNo(puerperaQuery); + map.put("patients", patients); map.put("records",results); + map.put("buildInfo",buildInfo); + map.put("isCurrentHospBuild",isCurrentHosp); BaseObjectResponse objectResponse = new BaseObjectResponse(); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); objectResponse.setData(map); objectResponse.setErrormsg("成功"); return objectResponse; + + + +// if (userId != null) +// { +// Users dbuser = usersService.getUsers(userId); +// if (dbuser != null) { +// Integer hospitalId = dbuser.getOrgId(); +// param.setHospitalId(String.valueOf(hospitalId)); +// } +// } +// +// +// +// Map map = new HashMap<>(); +// +// List results = new ArrayList<>(); +// BabyModelQuery babyQuery = new BabyModelQuery(); +// babyQuery.setYn(YnEnums.YES.getId()); +// List models = null; +// if (!StringUtils.isEmpty(param.getCardNo())) { +// babyQuery.setCardId(param.getCardNo()); +// babyQuery.setHospitalId(param.getHospitalId()); +// +// //通过查询孕妇 +// PatientsQuery puerperaQuery = new PatientsQuery(); +// puerperaQuery.setCardNo(param.getCardNo()); +// puerperaQuery.setYn(YnEnums.YES.getId()); +// Patients patients = patientsService.findOnePatientByCardNo(puerperaQuery); +// map.put("patients",patients); +// +//// if (patients != null && StringUtils.isNotEmpty(patients.getPhone())) { +//// babyQuery.setPhoneId(patients.getPhone()); +//// } +// +// models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); +// +// } else if (param.getHospitalId() != null & !StringUtils.isEmpty(param.getVcCardNo())) { +// babyQuery.setHospitalId(param.getHospitalId()); +// babyQuery.setVcCardNo(param.getVcCardNo()); +// models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); +// } +// +// if (models != null && models.size() > 0) { +// Set uid = new HashSet<>(); +// for (BabyModel model : models) { +// if (model != null) { +// uid.add(model.getId()); +// } +// +// } +// +// for (String id : uid) { +// BabyInfoResult result = new BabyInfoResult(); +// +// List> list = new ArrayList<>(); +// for (BabyModel model : models) { +// +// if (id.equals(model.getId())) { +// +// BabyModelQuery hospBuildRecordsQuery = new BabyModelQuery(); +// hospBuildRecordsQuery.setYn(YnEnums.YES.getId()); +// hospBuildRecordsQuery.setMcertNo(model.getMcertNo()); +// List builds = babyBookbuildingService.queryBabyBuildByCond(hospBuildRecordsQuery); +// if (CollectionUtils.isNotEmpty(builds)) +// { +// for(BabyModel build: builds) +// { +// Map buildRecords = new HashMap<>(); +// buildRecords.put("id", build.getId()); +// buildRecords.put("buildDate", DateUtil.getyyyy_MM_dd(build.getBuildDate())); +// +// //查询建档医院 +// Organization org = organizationService.getOrganization(Integer.valueOf(build.getHospitalId())); +// if (org != null) { +// buildRecords.put("buildHospital", org.getName()); +// } else { +// buildRecords.put("buildHospital", ""); +// } +// +// result.setId(build.getId()); +// result.setCardNo(build.getCardNo()); +// result.setName(build.getName()); +// result.setMonthAge(DateUtil.getBabyMonthAge(build.getBirth(), new Date())); +// list.add(buildRecords); +// } +// +// } +// +// } +// result.setBuildRecords(list); +// } +// results.add(result); +// } +// } +// +// map.put("records",results); +// +// BaseObjectResponse objectResponse = new BaseObjectResponse(); +// objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); +// objectResponse.setData(map); +// objectResponse.setErrormsg("成功"); +// return objectResponse; } private boolean isNotExist(List> list, String id) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java index 0c627a0..b5855c2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -104,6 +104,7 @@ public class BookbuildingFacade { PersonModelQuery personModelQuery = new PersonModelQuery(); personModelQuery.setCardNo(yunRequest.getPregnantCertificateNum()); personModelQuery.setYn(YnEnums.YES.getId()); + personModelQuery.setTypes(new Integer[]{1,3}); //孕妇或者产妇基本信息 List personModels = personService.queryPersons(personModelQuery); if (personModels == null || personModels.size() == 0) -- 1.8.3.1