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 55af008..3332952 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 @@ -67,6 +67,7 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { * 母亲的id */ private String parentId; + private List parentIds; /** * 生日 @@ -237,6 +238,14 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { private String babyHeightStart; private String babyHeightEnd; + public List getParentIds() { + return parentIds; + } + + public void setParentIds(List parentIds) { + this.parentIds = parentIds; + } + public String getBabyWeightStart() { return babyWeightStart; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java index 0cd9208..ad315b9 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -316,6 +316,9 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private String blNum; + + private List childExtAddrs; + public MongoQuery convertToQuery() { MongoCondition condition = MongoCondition.newInstance(); @@ -333,6 +336,10 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { condition = condition.and("dueStatus", dueStatus, MongoOper.IS); } + if (null != childExtAddrs && childExtAddrs.size() > 0) { + condition = condition.and("childExtAddrs", childExtAddrs, MongoOper.IN); + } + if (null != noCityRegisterId) { condition = condition.and("cityRegisterId", noCityRegisterId, MongoOper.NE); } @@ -951,6 +958,13 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { } + public List getChildExtAddrs() { + return childExtAddrs; + } + + public void setChildExtAddrs(List childExtAddrs) { + this.childExtAddrs = childExtAddrs; + } public List getrFactorList() { return rFactorList; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java index cd0f423..e44b526 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java @@ -444,7 +444,7 @@ public class MatDeliverController extends BaseController{ BaseListResponse baseListResponse; try { newBabyManagerRequest.setOperatorId(((LoginContext) httpServletRequest.getAttribute("loginContext")).getId()); - NewBabyManagerResult newBabyManagerResult = matDeliverFacade.newBabyManager(newBabyManagerRequest); + NewBabyManagerResult newBabyManagerResult = matDeliverFacade.newBabyManager(newBabyManagerRequest,getUserId(httpServletRequest)); if (newBabyManagerResult.getErrorcode() != ErrorCodeConstants.SUCCESS) { baseListResponse = new BaseListResponse().setErrorcode(newBabyManagerResult.getErrorcode()).setErrormsg(newBabyManagerResult.getErrormsg()); return baseListResponse; @@ -465,7 +465,7 @@ public class MatDeliverController extends BaseController{ newBabyManagerRequest.setExcel(true); // 这里返回的结果必然是这个泛型,之所以query返回的结果集没有用泛型是为了更好的传递数据 @SuppressWarnings("unchecked") - List newBabyManagerQueryModelList = matDeliverFacade.newBabyManager(newBabyManagerRequest).getData(); + List newBabyManagerQueryModelList = matDeliverFacade.newBabyManager(newBabyManagerRequest,getUserId(httpServletRequest)).getData(); List> list = new ArrayList<>(); int num = 1; for (NewBabyManagerQueryModel newBabyManagerQueryModel : newBabyManagerQueryModelList) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index 6cf1b29..9ea6196 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -2135,7 +2135,7 @@ public class MatDeliverFacade { return childbirthManagerResult; } - public NewBabyManagerResult newBabyManager(NewBabyManagerRequest newBabyManagerRequest) { + public NewBabyManagerResult newBabyManager(NewBabyManagerRequest newBabyManagerRequest,Integer userId) { NewBabyManagerResult newBabyManagerResult = new NewBabyManagerResult(); BabyModelQuery babyModelQuery = new BabyModelQuery(); //babyModelQuery.setYn(YnEnums.YES.getId()); @@ -2157,10 +2157,54 @@ public class MatDeliverFacade { babyModelQuery.setLimit(newBabyManagerRequest.getLimit()); babyModelQuery.setNeed("Need"); } - babyModelQuery.setHospitalId(autoMatchFacade.getHospitalId(newBabyManagerRequest.getOperatorId())); + babyModelQuery.setBuildType(2); babyModelQuery.setOrder("birth"); + if (newBabyManagerRequest.getVisitStatus() != null && newBabyManagerRequest.getVisitStatus() == 1) + { + String hospitalId = autoMatchFacade.getHospitalId(userId); + PostVisitHospitalModelQuery postQuery = new PostVisitHospitalModelQuery(); + postQuery.setPostHosptial(hospitalId); + List postVisitHospitalModel = postVisitHospitalService.queryPostVisitHospitalModel(postQuery); + List excData = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(postVisitHospitalModel)) { + for (PostVisitHospitalModel phm : postVisitHospitalModel) { + excData.addAll(phm.getAreaTiters()); + } + } + + //权限所有的医院 + List allHospitalList = new ArrayList<>(); + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); + dataPermissionsModelQuery.setUserId(userId); + List permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery); + if (CollectionUtils.isNotEmpty(permissionsModels)) { + Set set = permissionsModels.get(0).getData().keySet(); + Iterator it = set.iterator(); + while (it.hasNext()) { + String id = it.next(); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(id)) { + allHospitalList.add(id); + } + } + } + + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setChildExtAddrs(excData); + patientsQuery.setHospitalList(allHospitalList); + List patientsList = patientsService.queryPatient(patientsQuery); + List patientIds = new ArrayList<>(); + for (Patients patients : patientsList) { + patientIds.add(patients.getId()); + } + babyModelQuery.setParentIds(patientIds); + babyModelQuery.setVisitstatus(VisitStatusEnums.VISITED.getId()); + babyModelQuery.setHospitalIdList(allHospitalList); + } else { + babyModelQuery.setHospitalId(autoMatchFacade.getHospitalId(newBabyManagerRequest.getOperatorId())); + } + List babyModelList = babyService.queryBabyWithQuery(babyModelQuery); if (CollectionUtils.isEmpty(babyModelList)) { newBabyManagerResult.setPageInfo(babyModelQuery.getPageInfo()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/NewBabyManagerRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/NewBabyManagerRequest.java index 9c1cc51..521c6c5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/NewBabyManagerRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/NewBabyManagerRequest.java @@ -36,6 +36,17 @@ public class NewBabyManagerRequest extends BasePageQueryRequest { //畸形key private String deformityKey; + //空或者0 全部 1 本辖区待 + private Integer visitStatus; + + public Integer getVisitStatus() { + return visitStatus; + } + + public void setVisitStatus(Integer visitStatus) { + this.visitStatus = visitStatus; + } + public String getDeformityKey() { return deformityKey; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/NewbornServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/NewbornServiceImpl.java index 5cd3391..4e877ba 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/NewbornServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/NewbornServiceImpl.java @@ -1,5 +1,6 @@ package com.lyms.platform.operate.web.service.impl; +import com.lyms.platform.biz.service.BabyService; import com.lyms.platform.biz.service.DataPermissionService; import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseObjectResponse; @@ -68,7 +69,8 @@ public class NewbornServiceImpl extends BaseServiceImpl implements INewbornVisit @Autowired private OrganizationGroupsFacade organizationGroupsFacade; - + @Autowired + private BabyService babyService; @Autowired private OperateLogFacade operateLogFacade; @@ -111,6 +113,9 @@ public class NewbornServiceImpl extends BaseServiceImpl implements INewbornVisit } mongoTemplate.save(newbornVisit); + babyModel.setVisitstatus(VisitStatusEnums.VISITED.getId()); + babyService.updateOneBaby(babyModel,babyModel.getId()); + operateLogFacade.addAddOptLog(userId, Integer.valueOf(hospitalId), newbornVisit, OptActionEnums.ADD.getId(), "添加新生儿访视"); return RespBuilder.buildSuccess(newbornVisit.getId());