From 51c32018337e6ba5be12e9679ab5bc57430cadb2 Mon Sep 17 00:00:00 2001 From: yangfei Date: Wed, 23 Aug 2017 17:47:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=AC=E5=8A=9B=E8=AF=8A=E6=96=AD=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainOrm/master/HighriskChangeHospital.xml | 6 ++-- .../operate/web/controller/BabyEarController.java | 10 +++--- .../operate/web/controller/FollowUpController.java | 16 +++++---- .../web/controller/HearingDiagnoseController.java | 14 +++++++- .../operate/web/facade/AntExRecordFacade.java | 32 ++++++++--------- .../platform/operate/web/facade/BabyEarFacade.java | 42 ++++++++++++++++++++-- 6 files changed, 87 insertions(+), 33 deletions(-) diff --git a/platform-biz-service/src/main/resources/mainOrm/master/HighriskChangeHospital.xml b/platform-biz-service/src/main/resources/mainOrm/master/HighriskChangeHospital.xml index 03cd158..86958b1 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/HighriskChangeHospital.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/HighriskChangeHospital.xml @@ -3,7 +3,7 @@ - + @@ -31,9 +31,6 @@ insert into HIGHRISK_CHANGE_HOSPITAL (ID,TARGET_TYPE,TARGET_ID,OUT_ORGID,INTO_OR update HIGHRISK_CHANGE_HOSPITAL - - ID = #{id,jdbcType=VARCHAR}, - TARGET_TYPE = #{targetType,jdbcType=INTEGER}, @@ -83,6 +80,7 @@ insert into HIGHRISK_CHANGE_HOSPITAL (ID,TARGET_TYPE,TARGET_ID,OUT_ORGID,INTO_OR SCRREEN_ID = #{scrreenId,jdbcType=VARCHAR}, + where id = #{id,jdbcType=VARCHAR} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEarController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEarController.java index e0934ab..701afb5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEarController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEarController.java @@ -139,8 +139,9 @@ public class BabyEarController extends BaseController @RequestMapping(value = "/babyearsrc/{babyId}",method = RequestMethod.GET) @ResponseBody @TokenRequired - public BaseResponse getBabyIdBabySrc(@PathVariable("babyId")String babyId){ - return babyEarFacade.findBabyEarSrc(babyId); + public BaseResponse getBabyIdBabySrc(@PathVariable("babyId")String babyId,HttpServletRequest httpServletRequest){ + LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); + return babyEarFacade.findBabyEarSrc(babyId, loginState.getId()); } /** * 获取听筛记录 @@ -164,7 +165,8 @@ public class BabyEarController extends BaseController @RequestMapping(value = "/babyearListsrc",method = RequestMethod.GET) @ResponseBody @TokenRequired - public BaseResponse babyearListsrc(EarScreenListRequest earScreenListRequest){ - return babyEarFacade.findListBabyEarSrc(earScreenListRequest); + public BaseResponse babyearListsrc(EarScreenListRequest earScreenListRequest,HttpServletRequest httpServletRequest){ + LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); + return babyEarFacade.findListBabyEarSrc(earScreenListRequest,loginState.getId()); } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FollowUpController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FollowUpController.java index aed68ea..055d467 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FollowUpController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FollowUpController.java @@ -11,6 +11,7 @@ import com.lyms.platform.common.enums.SexEnum; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.operate.web.facade.AutoMatchFacade; +import com.lyms.platform.operate.web.facade.BabyEarFacade; import com.lyms.platform.operate.web.request.FollowUpRequest; import com.lyms.platform.operate.web.result.FollowUpListResult; import com.lyms.platform.operate.web.result.FollowUpOneResult; @@ -57,7 +58,8 @@ public class FollowUpController extends BaseController { private OrganizationService organizationService; @Autowired private BabyBookbuildingService babyBookbuildingService; - + @Autowired + private BabyEarFacade babyEarFacade; /** * 根据babyId获取随访记录 @@ -74,17 +76,19 @@ public class FollowUpController extends BaseController { return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("请传入儿童ID"); } - BabyPatientExtendEarFollowUpQuery query = new BabyPatientExtendEarFollowUpQuery(); - query.setBabyId(babyId); - query.setSort("follow_time"); //获取当前登录用户ID LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); if (loginState == null) { return new BaseResponse().setErrorcode(ErrorCodeConstants.TOKEN_EXPIRE).setErrormsg("请重新登录"); } + + BabyPatientExtendEarFollowUpQuery query = new BabyPatientExtendEarFollowUpQuery(); + query.setBabyId(babyId); + query.setSort("follow_time"); //当前登录人医院Id - // String hospitalId = autoMatchFacade.getHospitalId(loginState.getId()); - // query.setHospitalId(hospitalId); + String hospitalId = autoMatchFacade.getHospitalId(loginState.getId()); + List hospitalIds = babyEarFacade.getOrgHospitalIds(hospitalId); + query.setCheckHospitalIds((String[]) hospitalIds.toArray(new String[hospitalIds.size()])); List followUpList = babyPatientExtendEarFollowUpService.queryBabyPatientExtendEarFollowUpByBaby(query); List> list = new ArrayList<>(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HearingDiagnoseController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HearingDiagnoseController.java index 87d9593..8d5f147 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HearingDiagnoseController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HearingDiagnoseController.java @@ -267,7 +267,11 @@ public class HearingDiagnoseController extends BaseController { hospitalIds.add(h.getOutOrgid()); } } - // query.setCheckHospitalIds((String[]) hospitalIds.toArray(new String[hospitalIds.size()])); + + //当前登录人医院Id + List hospiIds = babyEarFacade.getOrgHospitalIds(hospitalId); + hospitalIds.addAll(hospiIds); + query.setCheckHospitalIds((String[]) hospitalIds.toArray(new String[hospitalIds.size()])); query.setSort("diagnose_time"); List behdList = hearingDiagnoseService.queryBabyPatientExtendEarHearingDiagnose(query); List> list = new ArrayList<>(); @@ -322,6 +326,9 @@ public class HearingDiagnoseController extends BaseController { //当前医院 outOrgids.add(hospitalId); } else {//4.全部医院/默认全部医院 + //当前登录人区域医院Id + List hospiIds = babyEarFacade.getOrgHospitalIds(hospitalId); + outOrgids.addAll(hospiIds); //当前医院 outOrgids.add(hospitalId); //转诊过来的医院id @@ -338,6 +345,9 @@ public class HearingDiagnoseController extends BaseController { } } } else { + //当前登录人区域医院Id + List hospiIds = babyEarFacade.getOrgHospitalIds(hospitalId); + outOrgids.addAll(hospiIds); //当前医院 outOrgids.add(hospitalId); } @@ -359,6 +369,8 @@ public class HearingDiagnoseController extends BaseController { } } + + scrQuery.setCheckHospitalIds((String[]) outOrgids.toArray(new String[outOrgids.size()])); if(scrQuery.getCheckHospitalIds()==null||scrQuery.getCheckHospitalIds().length==0){ return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("没有找到数据"); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java index 11b2d73..71d1cd9 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java @@ -158,23 +158,23 @@ public class AntExRecordFacade { //区域范围内孕妇 if (isRegion) { List hospitalList = null; - //王平说的 必须要给区域医院权限,不然他就是蠢逼 201611124 16:41 - hospitalList = new ArrayList<>(); - String hospital = autoMatchFacade.getHospitalId(userId); - if (null != hospital) { - hospitalList.add(hospital); - } - 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) && !hospitalList.contains(id)) { - hospitalList.add(id); + //王平说的 必须要给区域医院权限,不然他就是蠢逼 201611124 16:41 + hospitalList = new ArrayList<>(); + String hospital = autoMatchFacade.getHospitalId(userId); + if (null != hospital) { + hospitalList.add(hospital); } + 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) && !hospitalList.contains(id)) { + hospitalList.add(id); + } } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyEarFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyEarFacade.java index 8b18d8d..62057f9 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyEarFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyEarFacade.java @@ -22,6 +22,7 @@ import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.*; import com.lyms.platform.pojo.BabyModel; import com.lyms.platform.pojo.BasicConfig; +import com.lyms.platform.pojo.OrganizationGroupsItems; import com.lyms.platform.pojo.PersonModel; import com.lyms.platform.query.BabyModelQuery; import com.lyms.platform.query.PersonModelQuery; @@ -91,6 +92,8 @@ public class BabyEarFacade { private BasicConfigService basicConfigService; @Autowired private AntenatalExaminationFacade examinationFacade; + @Autowired + private OrganizationGroupsFacade groupsFacade; //处理儿童person信息 private PersonModel handBabyPerson(BabyModel baby) { @@ -1273,16 +1276,46 @@ public class BabyEarFacade { } /** + * 获取当前医院机构里医院列表 + * @param hospitalId + * @return + */ + public List getOrgHospitalIds(String hospitalId){ + List hospitalIds = new ArrayList<>(); + String groupId= groupsFacade.findItemIdByCurrentUserId(hospitalId); + if(org.apache.commons.lang.StringUtils.isNotEmpty(groupId)) { + OrganizationGroupsItems groupsItems = groupsFacade.findById(groupId); + if (groupsItems!=null) { + List hIds = groupsItems.gethId(); + for(Integer hd:hIds){ + hospitalIds.add(String.valueOf(hd)); + } + }else{ + hospitalIds.add(hospitalId); + } + }else{ + hospitalIds.add(hospitalId); + } + + return hospitalIds; + } + + /** * 根据儿童id查询听力筛查记录 * * @param babyId 听力筛查id * @return */ - public BaseResponse findBabyEarSrc(String babyId) { + public BaseResponse findBabyEarSrc(String babyId,Integer userId) { BabyPatientExtendEarScreenQuery query = new BabyPatientExtendEarScreenQuery(); query.setBabyId(babyId); query.setStatus(0); query.setSort("create_date"); + //当前登录人医院Id + String hospitalId = autoMatchFacade.getHospitalId(userId); + List hospitalIds = getOrgHospitalIds(hospitalId); + String[] checkHospitalIds = (String[])hospitalIds.toArray(new String[hospitalIds.size()]); + query.setCheckHospitalIds(checkHospitalIds); List babyPatientExtendEarScreens = babyPatientExtendEarScreenService.queryBabyPatientExtendEarScreen(query); @@ -1484,7 +1517,7 @@ public class BabyEarFacade { * @param earScreenListRequest * @return */ - public BaseResponse findListBabyEarSrc(EarScreenListRequest earScreenListRequest) { + public BaseResponse findListBabyEarSrc(EarScreenListRequest earScreenListRequest,Integer userId) { BabyPatientExtendEarScreenQuery screenQuery = new BabyPatientExtendEarScreenQuery(); screenQuery.setSrcStartTime(earScreenListRequest.getSrcStartTime()); screenQuery.setSrcEndTime(earScreenListRequest.getSrcEndTime()); @@ -1495,6 +1528,11 @@ public class BabyEarFacade { screenQuery.setSrcSkill(earScreenListRequest.getSrcSkill()); screenQuery.setNextStartTime(earScreenListRequest.getNextStartTime()); screenQuery.setNextEndTime(earScreenListRequest.getNextEndTime()); + //当前登录人医院Id + String hospitalId = autoMatchFacade.getHospitalId(userId); + List hospitalIds = getOrgHospitalIds(hospitalId); + String[] checkHospitalIds = (String[])hospitalIds.toArray(new String[hospitalIds.size()]); + screenQuery.setCheckHospitalIds(checkHospitalIds); List babyPatientExtendEarScreens = babyPatientExtendEarScreenService.queryEarScreenList(screenQuery); List earScreenResults = new ArrayList<>(); -- 1.8.3.1