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 beebe95..726b095 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 @@ -179,6 +179,25 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { //是否畸形 0非畸形 1畸形 private Integer malformation; + private Date modifiedStart; + private Date modifiedEnd; + + public Date getModifiedStart() { + return modifiedStart; + } + + public void setModifiedStart(Date modifiedStart) { + this.modifiedStart = modifiedStart; + } + + public Date getModifiedEnd() { + return modifiedEnd; + } + + public void setModifiedEnd(Date modifiedEnd) { + this.modifiedEnd = modifiedEnd; + } + public Integer getMalformation() { return malformation; } @@ -935,6 +954,14 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { } } + if(null != modifiedStart && modifiedEnd != null){ + if(c != null){ + c = c.where("modified").gte(modifiedStart).lte(modifiedEnd); + }else{ + c = Criteria.where("modified").gte(modifiedStart).lte(modifiedEnd); + } + } + if (c != null) { return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverFollowQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverFollowQuery.java index 7fc72a8..d7981ed 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverFollowQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverFollowQuery.java @@ -204,6 +204,25 @@ public class MatDeliverFollowQuery extends BaseQuery implements IConvertToNative private Date createdTimeStart; private Date createdTimeEnd; + private Date updateDateStart; + private Date updateDateEnd; + + public Date getUpdateDateStart() { + return updateDateStart; + } + + public void setUpdateDateStart(Date updateDateStart) { + this.updateDateStart = updateDateStart; + } + + public Date getUpdateDateEnd() { + return updateDateEnd; + } + + public void setUpdateDateEnd(Date updateDateEnd) { + this.updateDateEnd = updateDateEnd; + } + public Date getCreatedTimeStart() { return createdTimeStart; } @@ -268,6 +287,9 @@ public class MatDeliverFollowQuery extends BaseQuery implements IConvertToNative if(null != createdTimeStart && createdTimeEnd != null){ c = Criteria.where("createDate").gte(createdTimeStart).lte(createdTimeEnd); } + if(null != updateDateStart && updateDateEnd != null){ + c = Criteria.where("updateDate").gte(updateDateStart).lte(updateDateEnd); + } if(c != null){ return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PostReviewQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PostReviewQuery.java index 5c568ca..badc26b 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PostReviewQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PostReviewQuery.java @@ -34,6 +34,25 @@ public class PostReviewQuery extends BaseQuery implements IConvertToNativeQuery private Date createdTimeStart; private Date createdTimeEnd; + private Date modifiedStart; + private Date modifiedEnd; + + public Date getModifiedStart() { + return modifiedStart; + } + + public void setModifiedStart(Date modifiedStart) { + this.modifiedStart = modifiedStart; + } + + public Date getModifiedEnd() { + return modifiedEnd; + } + + public void setModifiedEnd(Date modifiedEnd) { + this.modifiedEnd = modifiedEnd; + } + public Date getCreatedTimeStart() { return createdTimeStart; } @@ -170,6 +189,14 @@ public class PostReviewQuery extends BaseQuery implements IConvertToNativeQuery } isAddStart = Boolean.TRUE; } + if (null != modifiedStart && modifiedEnd != null) { + if (null != c) { + c = c.where("modified").gte(modifiedStart).lte(modifiedEnd); + } else { + c = Criteria.where("modified").gte(modifiedStart).lte(modifiedEnd); + } + isAddStart = Boolean.TRUE; + } if (null != end) { if (isAddStart) { diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdJbgwInterface.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdJbgwInterface.java index 014c98f..a1d1cc9 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdJbgwInterface.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdJbgwInterface.java @@ -1,9 +1,6 @@ package com.lyms.hospitalapi.qhdfy; -import com.lyms.platform.biz.service.AntenatalExaminationService; -import com.lyms.platform.biz.service.BasicConfigService; -import com.lyms.platform.biz.service.MatDeliverService; -import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.biz.service.*; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.JsonUtil; @@ -15,16 +12,14 @@ import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; -import com.lyms.platform.query.AntExChuQuery; -import com.lyms.platform.query.AntExQuery; -import com.lyms.platform.query.MatDeliverQuery; -import com.lyms.platform.query.PatientsQuery; +import com.lyms.platform.query.*; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; +import javax.management.loading.MLet; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -50,6 +45,12 @@ public class QhdJbgwInterface { private UsersService usersService; @Autowired private MatDeliverService matDeliverService; + @Autowired + private BabyBookbuildingService babyBookbuildingService; + @Autowired + private MatDeliverFollowService matDeliverFollowService; + @Autowired + private PostReviewService postReviewService; /** *孕产登记 @@ -406,7 +407,7 @@ public class QhdJbgwInterface { * @return */ public List> getFm(String startDate,String endDate){ - + List> mList = new ArrayList>(); MatDeliverQuery deliverQuery = new MatDeliverQuery(); deliverQuery.setModifiedStart(DateUtil.parseYMDHMS(startDate)); deliverQuery.setModifiedEnd(DateUtil.parseYMDHMS(endDate)); @@ -421,7 +422,7 @@ public class QhdJbgwInterface { Map map = new HashMap(); map.put("MATERNALCHILDBIRTHID",data.getId()); map.put("MATERNALINFOID",patients.getId()); - map.put("NAME",patients.getUsername()); + map.put("NAME", patients.getUsername()); String fmHospital = ""; if (StringUtils.isNotEmpty(data.getFmHospital())) { @@ -435,7 +436,7 @@ public class QhdJbgwInterface { } } - map.put("LABORPLACEVALUE",fmHospital); + map.put("LABORPLACEVALUE", fmHospital); if(data.getDeliveryMode() != null){ Map m = JsonUtil.str2Obj(data.getDeliveryMode(), Map.class); Object b = m.get("fmfs"); @@ -474,6 +475,74 @@ public class QhdJbgwInterface { } }*/ + map.put("ORGCODE", patients.getHospitalId()); + String hospital = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(patients.getHospitalId())) { + Organization organization = organizationService.getOrganization(Integer.parseInt(patients.getHospitalId())); + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { + hospital = organization.getName(); + } + } + map.put("ORGNAME",hospital); + mList.add(map); + } catch (Exception e) { + e.printStackTrace(); + continue; + } + } + } + return mList; + } + + + /** + * 儿童基本信息 + * @param startDate + * @param endDate + * @return + */ + public List> getXse(String startDate,String endDate){ + List> mList = new ArrayList>(); + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setModifiedStart(DateUtil.parseYMDHMS(startDate)); + babyQuery.setModifiedEnd(DateUtil.parseYMDHMS(endDate)); + babyQuery.setYn(YnEnums.YES.getId()); + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + if(models != null && models.size() > 0){ + for(BabyModel babyModel : models){ + try{ + Patients patients = patientsService.findOnePatientById(babyModel.getParentId()); + Map map = new HashMap(); + map.put("NEWBORNSITUATIONID",babyModel.getId()); + map.put("MATERNALINFOID",patients.getId()); + //查询分娩记录ID + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setParentId(babyModel.getParentId()); + MaternalDeliverModel maternalDeliverModel = null; + List list = matDeliverService.pageQuery(matDeliverQuery); + if(list != null && list.size() > 0){ + maternalDeliverModel = list.get(0); + } + map.put("MATERNALCHILDBIRTHID",maternalDeliverModel.getId()); + if(babyModel.getSex() == 1){ + map.put("BABYSEX","1"); + }else if(babyModel.getSex() == 0){ + map.put("BABYSEX","2"); + }else{ + map.put("BABYSEX","0"); + } + map.put("BABYWEIGHT",babyModel.getBabyWeight()); + map.put("BABYCHEST",null); + map.put("BABYHEIGHT",babyModel.getBabyHeight()); + map.put("BABYHEADSIZE",babyModel.getBabyHead()); + if(1 == babyModel.getMalformation()){ + map.put("BABYMALFORMATION","2"); + } + if(babyModel.getApgarScore() != null){ + Map map1 = JsonUtil.str2Obj(babyModel.getApgarScore(), Map.class); + map.put("BABYAPGAR1",map.get("pf1").toString()); + map.put("BABYAPGAR5",map.get("pf5".toString())); + } map.put("ORGCODE",patients.getHospitalId()); String hospital = ""; if (org.apache.commons.lang.StringUtils.isNotEmpty(patients.getHospitalId())) { @@ -484,16 +553,241 @@ public class QhdJbgwInterface { } map.put("ORGNAME",hospital); - } catch (Exception e) { + mList.add(map); + }catch (Exception e){ e.printStackTrace(); continue; } } } - return null; + + return mList; + } + + + /** + * 产后访视 + * @param startDate + * @param endDate + * @return + */ + public List> getChfs(String startDate,String endDate){ + List> mList = new ArrayList>(); + MatDeliverFollowQuery deliverQuery = new MatDeliverFollowQuery(); + deliverQuery.setUpdateDateStart(DateUtil.parseYMDHMS(startDate)); + deliverQuery.setUpdateDateEnd(DateUtil.parseYMDHMS(endDate)); + List list = matDeliverFollowService.query(deliverQuery); + if(list != null && list.size() > 0){ + + for(MatdeliverFollowModel data : list){ + try{ + Map map = new HashMap(); + //根据分娩ID查询孕妇基本信息 + MaternalDeliverModel md = matDeliverService.getOneMatDeliver(data.getDeliverId()); + Patients patients = patientsService.findOnePatientById(md.getParentId()); + map.put("POSTPARTUMFOLLOWUPID",data.getId()); + map.put("MATERNALINFOID",patients.getId()); + map.put("NAME",patients.getUsername()); + if(data.getVisitDate() != null){ + map.put("FOLLOWUPDATE",DateUtil.getyyyy_MM_dd(data.getVisitDate())); + } + if(data.getDeliveryDate() != null){ + map.put("DELIVERYDATE",DateUtil.getyyyy_MM_dd(data.getDeliveryDate())); + } + if(data.getLeaveDate() != null){ + map.put("RESIOUTDATE",DateUtil.getyyyy_MM_dd(data.getLeaveDate())); + } + map.put("HEALTHDESC",data.getFitnessDesc()); + map.put("PSYDESC",data.getMentalityDesc()); + String ssy = ""; + String szy = ""; + Map chBpMap = JsonUtil.getMap(data.getBp()); + if (MapUtils.isNotEmpty(chBpMap)) { + ssy = chBpMap.get("ssy"); + szy = chBpMap.get("szy"); + } + map.put("SYSTILIC",ssy); + map.put("DIASTOLIC",szy); + if(data.getBreast() != null){ + if("1".equals(data.getBreast())){ + map.put("UBERCODE","1"); + }else{ + map.put("UBERCODE","2"); + } + } + if(data.getLochia() != null){ + if("1".equals(data.getLochia())){ + map.put("LOCHIACODE","1"); + }else{ + map.put("LOCHIACODE","2"); + } + } + map.put("UTERUSABNORMDESC",data.getMatrix()); + if(data.getWound() != null){ + if("1".equals(data.getWound())){ + map.put("WOUNDCODE","1"); + }else{ + map.put("WOUNDCODE","2"); + } + } + map.put("OTHERSDESC",data.getOtherDesc()); + if(data.getHealthType() != null){ + if("1".equals(data.getHealthType())){ + map.put("FOLLOWUPCLASSIFYCODE","1"); + }else{ + map.put("FOLLOWUPCLASSIFYCODE","2"); + } + } + map.put("FOLLOWUPCLASSIFYVALUE",null); + map.put("BODYTEMPERATURE",data.getTemperature()); + if(data.getIsRefer() != null){ + if("1".equals(data.getIsRefer())){ + map.put("REFERRALCODE","1"); + }else if("2".equals(data.getIsRefer())){ + map.put("REFERRALCODE","2"); + } + } + String hospital = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(data.getReferHospital())) { + Organization organization = organizationService.getOrganization(Integer.parseInt(data.getReferHospital())); + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { + hospital = organization.getName(); + } + } + map.put("REFERTOORGNAME",hospital); + if(data.getNextVisitDate() != null){ + map.put("NEXTFOLLOWUPDATE",DateUtil.getyyyy_MM_dd(data.getNextVisitDate())); + } + map.put("FOLLOWUPDOCTORID",data.getCreateUser()); + String checkDoctor = ""; + + if (org.apache.commons.lang.StringUtils.isNotEmpty(data.getCreateUser())) { + Users users = usersService.getUsers(Integer.parseInt(data.getCreateUser())); + if (users != null && users.getYn() == YnEnums.YES.getId()) { + checkDoctor = users.getName(); + } + } + map.put("FOLLOWUPDOCTORNAME",checkDoctor); + map.put("ORGCODE",patients.getHospitalId()); + String hospital1 = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(patients.getHospitalId())) { + Organization organization = organizationService.getOrganization(Integer.parseInt(patients.getHospitalId())); + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { + hospital1 = organization.getName(); + } + } + map.put("ORGNAME",hospital1); + mList.add(map); + + }catch (Exception e){ + e.printStackTrace(); + continue; + } + } + } + + + + return mList; + } + /** + * 产后复查 + * @param startDate + * @param endDate + * @return + */ + public List> getCh42fs(String startDate,String endDate){ + List> mList = new ArrayList>(); + PostReviewQuery mongoQuery = new PostReviewQuery(); + mongoQuery.setModifiedStart(DateUtil.parseYMDHMS(startDate)); + mongoQuery.setModifiedStart(DateUtil.parseYMDHMS(endDate)); + List list = postReviewService.findWithList(mongoQuery); + if(list != null && list.size() > 0){ + for(PostReviewModel data : list){ + try{ + Patients patients = patientsService.findOnePatientById(data.getParentId()); + Map map = new HashMap(); + map.put("POSTPARTUMFOLLOWUPID",data.getId()); + map.put("MATERNALINFOID",patients.getId()); + map.put("NAME",patients.getUsername()); + if(data.getCheckTime() != null){ + map.put("FOLLOWUPDATE",DateUtil.getyyyy_MM_dd(data.getCheckTime())); + } + if(patients.getFmDate() != null){ + map.put("DELIVERYDATE",DateUtil.getyyyy_MM_dd(patients.getFmDate())); + } + map.put("HEALTHDESC",data.getHealthStatus()); + map.put("PSYDESC",data.getPsychology()); + String ssy = ""; + String szy = ""; + Map chBpMap = JsonUtil.getMap(data.getBp()); + if (MapUtils.isNotEmpty(chBpMap)) { + ssy = chBpMap.get("ssy"); + szy = chBpMap.get("szy"); + } + map.put("SYSTILIC",ssy); + map.put("DIASTOLIC",szy); + if("未见异常".equals(data.getBreast())){ + map.put("UBERCODE","1"); + }else{ + map.put("UBERCODE","2"); + } + map.put("UBERABNORMDESC",data.getBreast()); + if("未见异常".equals(data.getLochia())){ + map.put("LOCHIACODE","1"); + }else{ + map.put("LOCHIACODE","2"); + } + map.put("LOCHIAABNORMDESC",data.getBreast()); + if("未见异常".equals(data.getMatrix())){ + map.put("UTERUSCODE","1"); + }else{ + map.put("UTERUSCODE","2"); + } + map.put("UTERUSABNORMDESC",data.getBreast()); + if("未见异常".equals(data.getWound())){ + map.put("WOUNDCODE","1"); + }else{ + map.put("WOUNDCODE","2"); + } + map.put("WOUNDABNORMDESC",data.getWound()); + map.put("OTHERSDESC",data.getOther()); + map.put("FOLLOWUPCLASSIFYCODE",null); + map.put("FOLLOWUPCLASSIFYVALUE",null); + map.put("FOLLOWUPDOCTORID",data.getProdDoctor()); + String checkDoctor = ""; + + if (org.apache.commons.lang.StringUtils.isNotEmpty(data.getProdDoctor())) { + Users users = usersService.getUsers(Integer.parseInt(data.getProdDoctor())); + if (users != null && users.getYn() == YnEnums.YES.getId()) { + checkDoctor = users.getName(); + } + } + map.put("FOLLOWUPDOCTORNAME",checkDoctor); + map.put("ORGCODE",patients.getHospitalId()); + String hospital = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(data.getHospitalId())) { + Organization organization = organizationService.getOrganization(Integer.parseInt(data.getHospitalId())); + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { + hospital = organization.getName(); + } + } + map.put("ORGNAME",hospital); + + mList.add(map); + + }catch (Exception e){ + e.printStackTrace(); + continue; + } + } + } + + return mList; + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/QhdJbgwController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/QhdJbgwController.java index 18ede8b..35b6a9f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/QhdJbgwController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/QhdJbgwController.java @@ -58,7 +58,37 @@ public class QhdJbgwController { @ResponseBody public List> qhdFenMian(@RequestBody Map map){ if(StringUtils.isNotEmpty(map.get("startDate")) && StringUtils.isNotEmpty(map.get("endDate"))){ - return qhdJbgwInterface.getFuZhen(map.get("startDate"), map.get("endDate")); + return qhdJbgwInterface.getFm(map.get("startDate"), map.get("endDate")); + } + return null; + } + + + @RequestMapping(method = RequestMethod.POST,value = "/qhd/xse") + @ResponseBody + public List> qhdXinShengEr(@RequestBody Map map){ + if(StringUtils.isNotEmpty(map.get("startDate")) && StringUtils.isNotEmpty(map.get("endDate"))){ + return qhdJbgwInterface.getXse(map.get("startDate"), map.get("endDate")); + } + return null; + } + + + @RequestMapping(method = RequestMethod.POST,value = "/qhd/chfs") + @ResponseBody + public List> qhdChanHouFangShi(@RequestBody Map map){ + if(StringUtils.isNotEmpty(map.get("startDate")) && StringUtils.isNotEmpty(map.get("endDate"))){ + return qhdJbgwInterface.getChfs(map.get("startDate"), map.get("endDate")); + } + return null; + } + + + @RequestMapping(method = RequestMethod.POST,value = "/qhd/chfc") + @ResponseBody + public List> qhdChanHou42FangShi(@RequestBody Map map){ + if(StringUtils.isNotEmpty(map.get("startDate")) && StringUtils.isNotEmpty(map.get("endDate"))){ + return qhdJbgwInterface.getCh42fs(map.get("startDate"), map.get("endDate")); } return null; }