Commit 311c49a259691b22825d0e9e6e0109e7160ad170

Authored by hanshaofeng
1 parent 283a15a301

permission2

Showing 1 changed file with 65 additions and 6 deletions

platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java View file @ 311c49a
... ... @@ -9,11 +9,14 @@
9 9 import com.lyms.platform.common.exception.BusinessException;
10 10 import com.lyms.platform.common.utils.JsonUtil;
11 11 import com.lyms.platform.permission.DataAccessLayerService;
  12 +import com.lyms.platform.permission.dao.master.MasterDepartmentsMapper;
12 13 import com.lyms.platform.permission.dao.master.MasterOrganizationMapper;
13 14 import com.lyms.platform.permission.dao.slave.OrganizationMapper;
14   -import com.lyms.platform.permission.model.Organization;
15   -import com.lyms.platform.permission.model.OrganizationQuery;
  15 +import com.lyms.platform.permission.model.*;
  16 +import com.lyms.platform.permission.service.DepartmentsService;
16 17 import com.lyms.platform.permission.service.OrganizationService;
  18 +import com.lyms.platform.permission.service.RolePermissionMapsService;
  19 +import com.lyms.platform.permission.service.RolesService;
17 20 import com.lyms.platform.pojo.DataPermissionsModel;
18 21 import com.lyms.platform.query.DataPermissionsModelQuery;
19 22 import org.apache.commons.collections.CollectionUtils;
... ... @@ -21,10 +24,7 @@
21 24 import org.springframework.beans.factory.annotation.Autowired;
22 25 import org.springframework.stereotype.Service;
23 26  
24   -import java.util.ArrayList;
25   -import java.util.HashSet;
26   -import java.util.List;
27   -import java.util.Set;
  27 +import java.util.*;
28 28  
29 29 @Service("organizationServiceImpl1")
30 30 public class OrganizationServiceImpl extends DataAccessLayerService implements OrganizationService {
... ... @@ -33,6 +33,15 @@
33 33 private MasterOrganizationMapper masterOrganizationMapper;
34 34  
35 35 @Autowired
  36 + private DepartmentsService departmentsService;
  37 +
  38 + @Autowired
  39 + private RolesService rolesService;
  40 +
  41 + @Autowired
  42 + private RolePermissionMapsService rolePermissionMapsService;
  43 +
  44 + @Autowired
36 45 private ISyncDataDao iSyncDataDao;
37 46  
38 47 @Autowired
39 48  
... ... @@ -43,7 +52,57 @@
43 52 masterOrganizationMapper.addOrganization(obj);
44 53 iSyncDataDao.addSyncData("MysqlAdd", obj, obj.getId().toString());
45 54 rebuildDataPermissions(null);
  55 + // 新建机构时,除卫生局外都新建三个科室:信息科、儿科、妇产科
  56 + addDept("信息科", obj);
  57 + addDept("儿科", obj);
  58 + addDept("妇产科", obj);
  59 + // 新建机构时,新建6个角色:院内统计87、产科产房4、儿科医生46、院办管理63、孕产妇医生48、主任-产科66
  60 + addDefaultRoles(obj);
46 61 return obj.getId();
  62 + }
  63 +
  64 + private void addDefaultRoles(Organization obj) {
  65 + List<Roles> rolesList = new ArrayList<>();
  66 + rolesList.add(rolesService.getRoles(87));
  67 + rolesList.add(rolesService.getRoles(4));
  68 + rolesList.add(rolesService.getRoles(46));
  69 + rolesList.add(rolesService.getRoles(63));
  70 + rolesList.add(rolesService.getRoles(48));
  71 + rolesList.add(rolesService.getRoles(66));
  72 + for (Roles roles:rolesList) {
  73 + RolePermissionMapsQuery mapsQuery = new RolePermissionMapsQuery();
  74 + mapsQuery.setYn(YnEnums.YES.getId());
  75 + mapsQuery.setRoleId(roles.getId());
  76 + List<RolePermissionMaps> mapsList = rolePermissionMapsService.queryRolePermissionMaps(mapsQuery);
  77 + roles.setId(null);
  78 + roles.setPublishName(obj.getPublishName());
  79 + roles.setPublishId(obj.getPublishId());
  80 + roles.setOrgId(obj.getId());
  81 + roles.setModified(new Date());
  82 + roles.setCreated(roles.getModified());
  83 + roles.setRemarks(obj.getName());
  84 + rolesService.addRoles(roles);
  85 + for (RolePermissionMaps maps:mapsList) {
  86 + maps.setId(null);
  87 + maps.setRoleId(roles.getId());
  88 + rolePermissionMapsService.addRolePermissionMaps(maps);
  89 + }
  90 + }
  91 + }
  92 +
  93 + private void addDept(String name, Organization obj) {
  94 + Departments departments = new Departments();
  95 + departments.setType(2);
  96 + departments.setYn(YnEnums.YES.getId());
  97 + departments.setCreated(new Date());
  98 + departments.setModified(departments.getCreated());
  99 + departments.setName(name);
  100 + departments.setOrgId(obj.getId());
  101 + departments.setParentId(1);
  102 + departments.setPublishId(obj.getPublishId());
  103 + departments.setPublishName(obj.getPublishName());
  104 + departments.setDescription(obj.getName());
  105 + departmentsService.addDepartments(departments);
47 106 }
48 107  
49 108 @Override