From f4910d358249af767914de66e56a7801d0d48ce3 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Tue, 6 Nov 2018 16:11:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=94=9F=E5=84=BF=E8=AE=BF=E8=A7=86-?= =?UTF-8?q?=E6=9C=AC=E8=BE=96=E5=8C=BA=E5=BE=85=E8=AE=BF=E8=A7=86=E6=96=B0?= =?UTF-8?q?=E7=94=9F=E5=84=BF=E5=88=97=E8=A1=A8=E8=87=AA=E5=8A=A8=E5=91=88?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/query/PatientsQuery.java | 51 ++++++++++ .../web/controller/NewbornVisitControoler.java | 20 ++++ .../operate/web/facade/MatDeliverFacade.java | 46 +-------- .../operate/web/request/NewBabyManagerRequest.java | 10 -- .../operate/web/service/INewbornVisitService.java | 3 + .../web/service/impl/NewbornServiceImpl.java | 103 ++++++++++++++++++++- 6 files changed, 174 insertions(+), 59 deletions(-) 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 ad315b9..f11f8e9 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 @@ -319,6 +319,13 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private List childExtAddrs; + + private String addressPostRest; + private String provincePostRestId; + private String cityPostRestId; + private String areaPostRestId; + private String streetPostRestId; + public MongoQuery convertToQuery() { MongoCondition condition = MongoCondition.newInstance(); @@ -451,6 +458,19 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { condition = condition.and("streetRegisterId", streetRegisterId, MongoOper.IS); } + if (StringUtils.isNotEmpty(provincePostRestId)) { + condition = condition.and("provincePostRestId", provincePostRestId, MongoOper.IS); + } + if (StringUtils.isNotEmpty(cityPostRestId)) { + condition = condition.and("cityPostRestId", cityPostRestId, MongoOper.IS); + } + if (StringUtils.isNotEmpty(areaPostRestId)) { + condition = condition.and("areaPostRestId", areaPostRestId, MongoOper.IS); + } + if (StringUtils.isNotEmpty(streetPostRestId)) { + condition = condition.and("streetRegisterId", streetPostRestId, MongoOper.IS); + } + // 分娩信息 @@ -957,6 +977,37 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { return condition.toMongoQuery(); } + public String getProvincePostRestId() { + return provincePostRestId; + } + + public void setProvincePostRestId(String provincePostRestId) { + this.provincePostRestId = provincePostRestId; + } + + public String getCityPostRestId() { + return cityPostRestId; + } + + public void setCityPostRestId(String cityPostRestId) { + this.cityPostRestId = cityPostRestId; + } + + public String getAreaPostRestId() { + return areaPostRestId; + } + + public void setAreaPostRestId(String areaPostRestId) { + this.areaPostRestId = areaPostRestId; + } + + public String getStreetPostRestId() { + return streetPostRestId; + } + + public void setStreetPostRestId(String streetPostRestId) { + this.streetPostRestId = streetPostRestId; + } public List getChildExtAddrs() { return childExtAddrs; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/NewbornVisitControoler.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/NewbornVisitControoler.java index b6f958d..3601b9a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/NewbornVisitControoler.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/NewbornVisitControoler.java @@ -2,6 +2,7 @@ package com.lyms.platform.operate.web.controller; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.operate.web.service.INewbornVisitService; import com.lyms.platform.pojo.NewbornVisit; @@ -58,6 +59,25 @@ public class NewbornVisitControoler extends BaseController { return visitService.query(getUserId(request), babyId); } + + /** + * 区域待访视儿童 + * @return + */ + @RequestMapping(value = "/areaVisitList", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseListResponse areaVisitList(HttpServletRequest request, + @RequestParam(value = "queryNo", required = false) String queryNo, + @RequestParam(value = "provinceId",required = false) String provinceId, + @RequestParam(value = "cityId",required = false) String cityId, + @RequestParam(value = "areaId",required = false) String areaId, + @RequestParam(value = "streetId",required = false) String streetId, + @RequestParam("page") Integer page, + @RequestParam("limit") Integer limit) { + return visitService.areaVisitList(getUserId(request), queryNo,provinceId,cityId,areaId,streetId,page,limit); + } + /** * 新生儿访视修改 * @param id 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 9ea6196..34105c7 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 @@ -2157,53 +2157,9 @@ public class MatDeliverFacade { babyModelQuery.setLimit(newBabyManagerRequest.getLimit()); babyModelQuery.setNeed("Need"); } - 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())); - } + babyModelQuery.setHospitalId(autoMatchFacade.getHospitalId(newBabyManagerRequest.getOperatorId())); List babyModelList = babyService.queryBabyWithQuery(babyModelQuery); if (CollectionUtils.isEmpty(babyModelList)) { 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 521c6c5..b54b6a5 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,16 +36,6 @@ 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/INewbornVisitService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/INewbornVisitService.java index 75b7ed6..e20c37d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/INewbornVisitService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/INewbornVisitService.java @@ -1,5 +1,6 @@ package com.lyms.platform.operate.web.service; +import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.pojo.NewbornVisit; @@ -23,4 +24,6 @@ public interface INewbornVisitService extends IBaseService { BaseObjectResponse delete(String id,Integer userId); BaseObjectResponse info(String id); + + BaseListResponse areaVisitList(Integer userId, String queryNo, String provinceId, String cityId, String areaId, String streetId, Integer page, Integer limit); } 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 4e877ba..4670be7 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,29 +1,34 @@ package com.lyms.platform.operate.web.service.impl; import com.lyms.platform.biz.service.BabyService; +import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.biz.service.DataPermissionService; +import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.*; -import com.lyms.platform.common.result.BaseObjectResponse; -import com.lyms.platform.common.result.PageResult; -import com.lyms.platform.common.result.RespBuilder; -import com.lyms.platform.common.result.ResponseCode; +import com.lyms.platform.common.result.*; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.EnumUtil; import com.lyms.platform.common.utils.MongoConvertHelper; import com.lyms.platform.common.utils.ReflectionUtils; +import com.lyms.platform.operate.web.facade.AreaCountFacade; import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.facade.OperateLogFacade; import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade; import com.lyms.platform.operate.web.service.INewbornVisitService; import com.lyms.platform.operate.web.utils.CollectionUtils; +import com.lyms.platform.operate.web.utils.CommonsHelper; import com.lyms.platform.operate.web.utils.MongoUtil; import com.lyms.platform.operate.web.utils.ResponseUtil; import com.lyms.platform.permission.dao.master.CouponMapper; import com.lyms.platform.permission.service.CouponService; +import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.pojo.BabyModel; import com.lyms.platform.pojo.NewbornVisit; import com.lyms.platform.pojo.Patients; import com.lyms.platform.pojo.PersonModel; +import com.lyms.platform.query.BabyModelQuery; +import com.lyms.platform.query.PatientsQuery; import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -36,6 +41,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.Assert; import javax.servlet.http.HttpServletResponse; +import javax.xml.rpc.handler.HandlerChain; import java.util.*; /** @@ -477,4 +483,93 @@ public class NewbornServiceImpl extends BaseServiceImpl implements INewbornVisit return RespBuilder.buildSuccess(); } + @Override + public BaseListResponse areaVisitList(Integer userId, String queryNo, String provinceId, String cityId, String areaId, String streetId, Integer page, Integer limit) { + + BabyModelQuery babyModelQuery = new BabyModelQuery(); + babyModelQuery.setQueryNo(StringUtils.isEmpty(queryNo) ? null : queryNo); + babyModelQuery.setDataStatus(false); + babyModelQuery.setNeed("Need"); + babyModelQuery.setPage(page); + babyModelQuery.setLimit(limit); + babyModelQuery.setBuildType(2); + babyModelQuery.setOrder("birth"); + babyModelQuery.setVisitstatus(VisitStatusEnums.VISITED.getId()); + //获取用户权限医院和筛选条件的交集 + List currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions(userId, provinceId, + cityId, areaId); + if (provinceId != null && cityId != null && areaId != null) + { + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setHospitalList(currentUserHospPermissions); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setProvincePostRestId(provinceId); + patientsQuery.setCityPostRestId(cityId); + patientsQuery.setAreaPostRestId(areaId); + patientsQuery.setStreetPostRestId(streetId); + List patientses = patientsService.queryPatient(patientsQuery); + List parentIds = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(patientses)) + { + for (Patients pat : patientses) + { + parentIds.add(pat.getId()); + } + } + if (parentIds.size() > 0) + { + babyModelQuery.setParentIds(parentIds); + } + } + + babyModelQuery.setHospitalIdList(currentUserHospPermissions); + List babyModelList = babyService.queryBabyWithQuery(babyModelQuery); + List list = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(babyModelList)) + { + for (BabyModel babyModel : babyModelList) + { + Map map = new HashMap(); + map.put("id", babyModel.getId()); + map.put("babyName", babyModel.getName()); + + if (babyModel.getParentId() != null) + { + Patients patients = patientsService.findOnePatientById(babyModel.getParentId()); + if (patients != null) + { + map.put("monthName", patients.getUsername()); + map.put("phone", patients.getPhone()); + map.put("fmDays", patients.getFmWeek()); + map.put("fmHospitalName", CommonsHelper.getHospitalName(babyModel.getHospitalId(), organizationService)); + map.put("postAddress", CommonsHelper.getResidence(patients.getProvincePostRestId(), patients.getCityPostRestId(), + patients.getAreaPostRestId(), patients.getStreetPostRestId(), patients.getAddressPostRest(), basicConfigService)); + map.put("cityName", CommonsHelper.getName1(patients.getCityPostRestId(), basicConfigService)); + map.put("areaName", CommonsHelper.getName1(patients.getAreaPostRestId(), basicConfigService)); + map.put("cardNo", patients.getCardNo()); + map.put("patientId", patients.getId()); + } + + } + list.add(map); + } + } + + + BaseListResponse objectResponse = new BaseListResponse(); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setData(list); + objectResponse.setPageInfo(babyModelQuery.getPageInfo()); + objectResponse.setErrormsg("成功"); + return objectResponse; + } + @Autowired + private OrganizationService organizationService; + @Autowired + private PatientsService patientsService; + @Autowired + private AreaCountFacade areaCountFacade; + @Autowired + private BasicConfigService basicConfigService; + } -- 1.8.3.1