Commit 283a15a301d412dce4cd58cb6cd87266da8c1262
1 parent
6b63423275
Exists in
master
and in
8 other branches
permission2
Showing 3 changed files with 29 additions and 4 deletions
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java
View file @
283a15a
... | ... | @@ -45,7 +45,7 @@ |
45 | 45 | try { |
46 | 46 | List<DataPermissionsModel> list = mongoTemplate.find(new Query(),DataPermissionsModel.class); |
47 | 47 | for (DataPermissionsModel model:list) { |
48 | - System.out.println(JsonUtil.obj2Str(model)); | |
48 | + System.out.println(JsonUtil.obj2Str(model.getData().keySet())); | |
49 | 49 | } |
50 | 50 | } catch (Exception e) { |
51 | 51 | e.printStackTrace(); |
platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java
View file @
283a15a
... | ... | @@ -4,6 +4,7 @@ |
4 | 4 | import com.lyms.platform.biz.dal.ISyncDataDao; |
5 | 5 | import com.lyms.platform.biz.service.DataPermissionService; |
6 | 6 | import com.lyms.platform.common.enums.OrganizationTypeEnum; |
7 | +import com.lyms.platform.common.enums.PermissionTypeEnums; | |
7 | 8 | import com.lyms.platform.common.enums.YnEnums; |
8 | 9 | import com.lyms.platform.common.exception.BusinessException; |
9 | 10 | import com.lyms.platform.common.utils.JsonUtil; |
10 | 11 | |
... | ... | @@ -21,7 +22,9 @@ |
21 | 22 | import org.springframework.stereotype.Service; |
22 | 23 | |
23 | 24 | import java.util.ArrayList; |
25 | +import java.util.HashSet; | |
24 | 26 | import java.util.List; |
27 | +import java.util.Set; | |
25 | 28 | |
26 | 29 | @Service("organizationServiceImpl1") |
27 | 30 | public class OrganizationServiceImpl extends DataAccessLayerService implements OrganizationService { |
28 | 31 | |
... | ... | @@ -36,8 +39,10 @@ |
36 | 39 | private DataPermissionService dataPermissionService; |
37 | 40 | |
38 | 41 | @Override |
39 | - public Integer addOrganization(Organization obj) { masterOrganizationMapper.addOrganization(obj); | |
42 | + public Integer addOrganization(Organization obj) { | |
43 | + masterOrganizationMapper.addOrganization(obj); | |
40 | 44 | iSyncDataDao.addSyncData("MysqlAdd", obj, obj.getId().toString()); |
45 | + rebuildDataPermissions(null); | |
41 | 46 | return obj.getId(); |
42 | 47 | } |
43 | 48 | |
44 | 49 | |
... | ... | @@ -45,12 +50,14 @@ |
45 | 50 | public void updateOrganization(Organization obj) { |
46 | 51 | masterOrganizationMapper.updateOrganization(obj); |
47 | 52 | iSyncDataDao.addSyncData("MysqlUpdate", obj, obj.getId().toString()); |
53 | + rebuildDataPermissions(null); | |
48 | 54 | } |
49 | 55 | |
50 | 56 | @Override |
51 | 57 | public void deleteOrganization(Integer id) { |
52 | 58 | masterOrganizationMapper.deleteOrganization(id); |
53 | 59 | iSyncDataDao.addSyncData("MysqlDel", new Organization(), id.toString()); |
60 | + rebuildDataPermissions(null); | |
54 | 61 | } |
55 | 62 | |
56 | 63 | @Override |
... | ... | @@ -152,7 +159,12 @@ |
152 | 159 | for (DataPermissionsModel model : list) { |
153 | 160 | if (StringUtils.isNotBlank(model.getAreaPermission())) { |
154 | 161 | List<AddressBean> addressBeanList = JsonUtil.toList(model.getAreaPermission(), AddressBean.class); |
155 | - List<Integer> organizationIds = new ArrayList<>(); | |
162 | + Set<String> organizationIds = null; | |
163 | + if (model.getData() != null) { | |
164 | + organizationIds = model.getData().keySet(); | |
165 | + } else { | |
166 | + organizationIds = new HashSet<>(); | |
167 | + } | |
156 | 168 | for (AddressBean addressBean:addressBeanList) { |
157 | 169 | OrganizationQuery query = new OrganizationQuery(); |
158 | 170 | query.setProvinceId(addressBean.getP()); |
159 | 171 | |
... | ... | @@ -160,8 +172,20 @@ |
160 | 172 | query.setAreaId(addressBean.getA()); |
161 | 173 | query.setStreetId(addressBean.getS()); |
162 | 174 | query.setYn(YnEnums.YES.getId()); |
163 | -// query.set | |
175 | + List<Organization> organizationList = masterOrganizationMapper.queryOrganization(query); | |
176 | + for (Organization o:organizationList) { | |
177 | + if (!organizationIds.contains(o.getId().toString())) { | |
178 | + organizationIds.add(o.getId().toString()); | |
179 | + } | |
180 | + } | |
164 | 181 | } |
182 | + model.getData().clear(); | |
183 | + DataPermissionsModel.SimplePermission permission = new DataPermissionsModel.SimplePermission(); | |
184 | + permission.setType(PermissionTypeEnums.ALL_HOSPITAL.getId()); | |
185 | + for (String id:organizationIds) { | |
186 | + model.addOnePer(id, permission); | |
187 | + } | |
188 | + dataPermissionService.updatePermission(model); | |
165 | 189 | } |
166 | 190 | } |
167 | 191 | } catch (Exception e) { |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AccessPermissionFacade.java
View file @
283a15a
... | ... | @@ -78,6 +78,7 @@ |
78 | 78 | dataPermissionsModel.setAreaPermission(accessPermissionAddRequest.getAreaPermission()); |
79 | 79 | dataPermissionsModel.setUserId(Integer.valueOf(accessPermissionAddRequest.getUserId())); |
80 | 80 | dataPermissionService.addOrUpdatePermission(dataPermissionsModel); |
81 | + organizationService.rebuildDataPermissions(dataPermissionsModel.getUserId()); | |
81 | 82 | return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功."); |
82 | 83 | } |
83 | 84 |