From 20cb9e33ccbc053974a81daad0fa7164e7d7b9ae Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Wed, 4 May 2016 10:28:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=80=80=E5=87=BA=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/BabyManageController.java | 7 +- .../web/controller/CommunityConfigController.java | 94 +++++++++++----------- .../web/controller/PuerperaManageController.java | 7 +- .../operate/web/facade/AutoMatchFacade.java | 66 +++++++++++++++ .../operate/web/facade/BabyManagerFacade.java | 10 ++- .../platform/operate/web/facade/PatientFacade.java | 10 ++- .../web/request/BabyManagerQueryRequest.java | 10 +++ 7 files changed, 146 insertions(+), 58 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AutoMatchFacade.java diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyManageController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyManageController.java index 765f0f7..a27b7c0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyManageController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyManageController.java @@ -1,9 +1,11 @@ package com.lyms.platform.operate.web.controller; +import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.base.LoginContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; @@ -45,8 +47,9 @@ public class BabyManageController extends BaseController { @RequestMapping(value = "/babymanage", method = RequestMethod.GET) @ResponseBody @TokenRequired - public BaseListResponse findBabyDataList(@Valid BabyManagerQueryRequest babyManagerRequest){ - return babyManagerFacade.findBabyList(babyManagerRequest); + public BaseListResponse findBabyDataList(@Valid BabyManagerQueryRequest babyManagerRequest,HttpServletRequest request){ + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return babyManagerFacade.findBabyList(babyManagerRequest,loginState.getId()); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommunityConfigController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommunityConfigController.java index eaa3f86..67159dc 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommunityConfigController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommunityConfigController.java @@ -1,56 +1,47 @@ package com.lyms.platform.operate.web.controller; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import javax.validation.Valid; - import com.lyms.platform.biz.param.CommunityQuery; import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.CommunityConfigService; import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.base.LoginContext; +import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.SystemConfig; -import com.lyms.platform.operate.web.facade.PuerperaManagerFacade; -import com.lyms.platform.operate.web.request.PuerperaManagerQueryRequest; +import com.lyms.platform.operate.web.facade.AutoMatchFacade; +import com.lyms.platform.operate.web.request.CommunityConfigRequest; import com.lyms.platform.operate.web.result.FrontEndResult; -import com.lyms.platform.permission.model.Regions; -import com.lyms.platform.permission.service.RegionsService; import com.lyms.platform.pojo.BasicConfig; +import com.lyms.platform.pojo.CommunityConfig; import com.lyms.platform.pojo.Patients; import com.lyms.platform.query.PatientsQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; -import com.lyms.platform.biz.service.CommunityConfigService; -import com.lyms.platform.common.constants.ErrorCodeConstants; -import com.lyms.platform.common.result.BaseListResponse; -import com.lyms.platform.common.result.BaseResponse; -import com.lyms.platform.operate.web.request.CommunityConfigRequest; -import com.lyms.platform.pojo.CommunityConfig; +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; /** * 社区管理 * Created by Zhang.Rui on 2016/3/18. */ @Controller -public class CommunityConfigController extends BaseController { +public class CommunityConfigController extends BaseController { @Autowired private CommunityConfigService communityConfigService; @Autowired private PatientsService patientsService; @Autowired private BasicConfigService basicConfigService; - - + @Autowired + private AutoMatchFacade autoMatchFacade; //添加管辖区域 @@ -59,19 +50,19 @@ public class CommunityConfigController extends BaseController { @TokenRequired public BaseResponse addCommunity(@RequestBody @Valid CommunityConfigRequest communityConfigRequest) { String names = ""; - for(String tmp : communityConfigRequest.getNames()) { + for (String tmp : communityConfigRequest.getNames()) { names += ", " + tmp; } CommunityConfig communityConfig = communityConfigService.getCommunityById(communityConfigRequest.getId()); - if(null == communityConfig) return null; + if (null == communityConfig) return null; communityConfig.setId(communityConfigRequest.getId()); - if(null != communityConfig.getGxxq() && 0 < communityConfig.getGxxq().length() ) { + if (null != communityConfig.getGxxq() && 0 < communityConfig.getGxxq().length()) { communityConfig.setGxxq(communityConfig.getGxxq() + ", " + names.substring(1, names.length())); } else { - communityConfig.setGxxq( names.substring(1, names.length())); + communityConfig.setGxxq(names.substring(1, names.length())); } communityConfig.setCreateDate(System.currentTimeMillis()); communityConfigService.updateCommunity(communityConfig); @@ -102,27 +93,34 @@ public class CommunityConfigController extends BaseController { @RequestMapping(value = "communityConfig", method = RequestMethod.GET) @ResponseBody @TokenRequired - public FrontEndResult queryCommunity(CommunityQuery communityQuery) { - BasicConfig config = basicConfigService.getOneBasicConfigById(communityQuery.getId()); - if(null != communityQuery.getId() && null == config) { + public FrontEndResult queryCommunity(CommunityQuery communityQuery, HttpServletRequest request) { + BasicConfig config = basicConfigService.getOneBasicConfigById(communityQuery.getId()); + if (null != communityQuery.getId() && null == config) { communityQuery.setId(null); } - List communityConfigList = communityConfigService.queryCommunity(communityQuery); + //获取登录用户 + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + String areaId = autoMatchFacade.match(loginState.getId()); + List communityConfigList; + if (null != areaId) { + communityQuery.setId(areaId); + } + communityConfigList = communityConfigService.queryCommunity(communityQuery); List basicConfigs = null; - if(null != communityConfigList) { - for(CommunityConfig communityConfig : communityConfigList) { + if (null != communityConfigList) { + for (CommunityConfig communityConfig : communityConfigList) { String areaNames = ""; - basicConfigs = new ArrayList<>(); - for(String s : communityConfig.getAreas()) { + basicConfigs = new ArrayList<>(); + for (String s : communityConfig.getAreas()) { config = basicConfigService.getOneBasicConfigById(s); basicConfigs.add(config); - if(null != config) { + if (null != config) { areaNames += config.getName() + ", "; } } - if(2 < areaNames.length()) { - communityConfig.setAreaNames(areaNames.substring(0, areaNames.length()-2)); + if (2 < areaNames.length()) { + communityConfig.setAreaNames(areaNames.substring(0, areaNames.length() - 2)); } communityConfig.setAreasObj(basicConfigs); } @@ -134,24 +132,23 @@ public class CommunityConfigController extends BaseController { } - //新增社区 @RequestMapping(value = "communityConfig", method = RequestMethod.POST) @ResponseBody @TokenRequired public BaseResponse appendArea(@RequestBody @Valid CommunityConfigRequest communityConfigRequest) { - CommunityConfig communityConfig = null; + CommunityConfig communityConfig = null; BasicConfig basicConfig = null; List areaIds = new ArrayList<>(); - for(String tmp : communityConfigRequest.getNames()) { + for (String tmp : communityConfigRequest.getNames()) { areaIds = new ArrayList<>(); communityConfig = new CommunityConfig(); communityConfig.setYn(YnEnums.YES.getId()); communityConfig.setName(tmp); basicConfig = basicConfigService.getOneBasicConfigById(communityConfigRequest.getAreaId()); - while(null != basicConfig ) { + while (null != basicConfig) { areaIds.add(basicConfig.getId()); - if(SystemConfig.CHINA_BASIC_ID.equals(basicConfig.getParentId())) break; + if (SystemConfig.CHINA_BASIC_ID.equals(basicConfig.getParentId())) break; basicConfig = basicConfigService.getOneBasicConfigById(basicConfig.getParentId()); } Collections.reverse(areaIds); @@ -171,8 +168,8 @@ public class CommunityConfigController extends BaseController { public BaseResponse deleteArea(@PathVariable String id) { PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setCommunityId(id); - List q = patientsService.queryPatient(patientsQuery); - if(0 < q.size()) { + List q = patientsService.queryPatient(patientsQuery); + if (0 < q.size()) { return new BaseResponse().setErrorcode(ErrorCodeConstants.DONT_DELETE).setErrormsg("该社区下有产妇数据不能删除!"); } @@ -189,7 +186,7 @@ public class CommunityConfigController extends BaseController { @RequestMapping(value = "communityConfig/{id}", method = RequestMethod.PUT) @ResponseBody @TokenRequired - public BaseResponse updateArea(@RequestParam(required=true) String name, @PathVariable String id) { + public BaseResponse updateArea(@RequestParam(required = true) String name, @PathVariable String id) { CommunityConfig communityConfig = new CommunityConfig(); communityConfig.setId(id); communityConfig.setName(name); @@ -223,7 +220,6 @@ public class CommunityConfigController extends BaseController { // } - // @RequestMapping(value = "communityConfigTest", method = RequestMethod.GET) @ResponseBody diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java index 67f7b3d..fc92933 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java @@ -1,9 +1,11 @@ package com.lyms.platform.operate.web.controller; +import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.operate.web.facade.PatientFacade; import com.lyms.platform.operate.web.request.PuerperaMatcherCommunityRequest; import org.springframework.beans.factory.annotation.Autowired; @@ -41,8 +43,9 @@ public class PuerperaManageController extends BaseController { @RequestMapping(value = "/puerperamanage", method = RequestMethod.GET) @ResponseBody @TokenRequired - public BaseListResponse queryPuerperaList(@Valid PuerperaManagerQueryRequest managerRequest) { - return patientFacade.findPatientList(managerRequest); + public BaseListResponse queryPuerperaList(@Valid PuerperaManagerQueryRequest managerRequest,HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return patientFacade.findPatientList(managerRequest,loginState.getId()); } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AutoMatchFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AutoMatchFacade.java new file mode 100644 index 0000000..975efd1 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AutoMatchFacade.java @@ -0,0 +1,66 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.param.CommunityQuery; +import com.lyms.platform.biz.service.CommunityConfigService; +import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.permission.model.Organization; +import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.model.UsersQuery; +import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.permission.service.UsersService; +import com.lyms.platform.pojo.CommunityConfig; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.query.PatientsQuery; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * Created by Administrator on 2016/5/3 0003. + */ +public class AutoMatchFacade { + @Autowired + private UsersService usersService; + @Autowired + private OrganizationService organizationService; + @Autowired + private CommunityConfigService communityConfigService; + @Autowired + private PatientsService patientsService; + + public String match(int userId) { + UsersQuery usersQuery = new UsersQuery(); + usersQuery.setId(userId); + + usersQuery.setYn(1); + List list = usersService.queryUsers(usersQuery); + if (CollectionUtils.isNotEmpty(list)) { + //用户角色 + if (list.get(0).getType() == 1) { + Organization organization = organizationService.getOrganization(list.get(0).getOrgId()); + return organization.getAreaId(); + } + } + return null; + } + + + public List findCommunity(String areaId) { + CommunityQuery communityQuery = new CommunityQuery(); + communityQuery.setId(areaId); + return communityConfigService.queryCommunity(communityQuery); + } + + public List findPatients(String areaId) { + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setAreaId(areaId); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setType(3); + return patientsService.queryPatient(patientsQuery); + } + /*public List findBaby(){ + + }*/ +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyManagerFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyManagerFacade.java index 76c16c9..762885c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyManagerFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyManagerFacade.java @@ -41,6 +41,8 @@ public class BabyManagerFacade { private VisitFacade visitFacade; @Autowired private BasicConfigService basicConfigService; + @Autowired + private AutoMatchFacade autoMatchFacade; /** * 根据条件查询符合条件的新生儿 @@ -48,7 +50,7 @@ public class BabyManagerFacade { * @param babyManagerRequest * @return */ - public BaseListResponse findBabyList(BabyManagerQueryRequest babyManagerRequest) { + public BaseListResponse findBabyList(BabyManagerQueryRequest babyManagerRequest,int userId) { /*PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setType(2); @@ -93,8 +95,10 @@ public class BabyManagerFacade { babyQuery.setMname(babyManagerRequest.getName()); babyQuery.setLimit(babyManagerRequest.getLimit()); babyQuery.setYn(YnEnums.YES.getId()); - - + String areaid= autoMatchFacade.match(userId); + if(StringUtils.isNotEmpty(areaid)){ + babyQuery.setAreaId(areaid); + } List data = new ArrayList(); // 根据关键字先查询产妇信息 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index 7452bb0..243a43b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -43,8 +43,10 @@ public class PatientFacade { private VisitFacade visitFacade; @Autowired private BabyService babyService; -@Autowired + @Autowired private BasicConfigService basicConfigService; + @Autowired + private AutoMatchFacade autoMatchFacade; /** * 修改产妇的社区 @@ -110,7 +112,7 @@ public class PatientFacade { * @param managerRequest * @return */ - public BaseListResponse findPatientList(PuerperaManagerQueryRequest managerRequest) { + public BaseListResponse findPatientList(PuerperaManagerQueryRequest managerRequest,int userId) { PatientsQuery puerperaQuery = new PatientsQuery(); puerperaQuery.setLimit(managerRequest.getLimit()); puerperaQuery.setPage(managerRequest.getPage()); @@ -129,6 +131,10 @@ public class PatientFacade { puerperaQuery.setType(3); puerperaQuery.setNeed("1"); puerperaQuery.setYn(YnEnums.YES.getId()); + String areaid= autoMatchFacade.match(userId); + if(StringUtils.isNotEmpty(areaid)){ + puerperaQuery.setAreaId(areaid); + } // 调用service查询 List puerperaList = patientsService.queryPatient(puerperaQuery); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManagerQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManagerQueryRequest.java index 0874193..8c7bf8f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManagerQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManagerQueryRequest.java @@ -61,6 +61,16 @@ public class BabyManagerQueryRequest extends BasePageQueryRequest { */ @FormParam("dend") private String dEnd; + //区id + private String areaId; + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } public String getKeyword() { return keyword; -- 1.8.3.1