From 21f1179a2fd44051c62824d38dd86cf6a79c8ab3 Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Thu, 5 May 2016 17:31:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../permission/model/OrganizationQuery.java | 10 ++++++++ .../src/main/resources/mainOrm/Organization.xml | 6 +++++ .../java/com/lyms/platform/operate/web/Test.java | 30 ++++++++++++++++++++++ .../web/controller/DepartmentsController.java | 16 +++++++++--- .../operate/web/facade/AutoMatchFacade.java | 16 ++++++++++++ 5 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/OrganizationQuery.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/OrganizationQuery.java index 1bf41eb..27b5327 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/OrganizationQuery.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/OrganizationQuery.java @@ -4,6 +4,7 @@ package com.lyms.platform.permission.model; import com.lyms.platform.common.dao.BaseQuery; import java.util.Date; +import java.util.List; public class OrganizationQuery extends BaseQuery { @@ -27,6 +28,15 @@ public class OrganizationQuery extends BaseQuery { private String keyword; private String foreignId; + private List typeList; + + public List getTypeList() { + return typeList; + } + + public void setTypeList(List typeList) { + this.typeList = typeList; + } public String getStreetId() { return streetId; diff --git a/platform-biz-service/src/main/resources/mainOrm/Organization.xml b/platform-biz-service/src/main/resources/mainOrm/Organization.xml index bb5f17d..b8944f7 100644 --- a/platform-biz-service/src/main/resources/mainOrm/Organization.xml +++ b/platform-biz-service/src/main/resources/mainOrm/Organization.xml @@ -171,6 +171,12 @@ select id,name,type,level,area_manage,province_id,city_id,area_id,address,descri and name like CONCAT(#{keyword}, '%') + + and type in + + #{item} + + diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java new file mode 100644 index 0000000..0809fab --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java @@ -0,0 +1,30 @@ +package com.lyms.platform.operate.web; + + +import org.springframework.util.StopWatch; + +/** + * Created by Administrator on 2016/5/3 0003. + */ +public class Test { + public static void main(String[] args){ + StopWatch stopWatch= new StopWatch("doctor-api-patient"); + stopWatch.start("query patients"); + add(); + stopWatch.stop(); + stopWatch.start("query patients1"); + add(); + stopWatch.stop(); + stopWatch.start("query patients2"); + add(); + stopWatch.stop(); + System.out.print(stopWatch); + } + private static void add(){ + int a=0; + for(int i =0;i<100000;i++){ + a +=i; + } + System.out.println(a); + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DepartmentsController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DepartmentsController.java index 723b0d9..487f6d2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DepartmentsController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DepartmentsController.java @@ -7,9 +7,11 @@ 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.utils.ResultUtils; +import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.result.FrontEndResult; import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.*; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -38,6 +40,8 @@ public class DepartmentsController extends BaseController { private RolePermissionMapsService rolePermissionMapsService; @Autowired private OrganizationService organizationService; + @Autowired + private AutoMatchFacade autoMatchFacade; @@ -163,7 +167,7 @@ public class DepartmentsController extends BaseController { @RequestMapping(value = "/departments", method = RequestMethod.GET) @ResponseBody @TokenRequired - public FrontEndResult getPermissions(HttpServletResponse response, + public FrontEndResult getPermissions(HttpServletRequest request, @RequestParam(value = "keyword", required = false) String keyword, @RequestParam(value = "page", required = false) Integer page, @RequestParam(value = "limit", required = false) Integer limit, @@ -172,12 +176,18 @@ public class DepartmentsController extends BaseController { limit = limit == null ? 10 : limit; page = page == null ? 1 : page; - + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); DepartmentsQuery departmentsQuery = new DepartmentsQuery(); departmentsQuery.setNeed("true"); departmentsQuery.setSort("id desc"); departmentsQuery.setYn(YnEnums.YES.getId()); - departmentsQuery.setOrgId(orgId); + Integer orgId1 = autoMatchFacade.matchOrgId(loginState.getId()); + if(null!=orgId){ + departmentsQuery.setOrgId(orgId); + }else{ + departmentsQuery.setOrgId(orgId1); + } + departmentsQuery.setPage(page); departmentsQuery.setKeyword(keyword); departmentsQuery.setLimit(limit); 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 index 2dc5975..163fa7d 100644 --- 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 @@ -48,6 +48,22 @@ public class AutoMatchFacade { return null; } + public Integer matchOrgId(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.getId(); + } + } + return null; + } + public List findCommunity(String areaId) { CommunityQuery communityQuery = new CommunityQuery(); -- 1.8.3.1