diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java index c5a62e7..4f77d34 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java @@ -10,6 +10,7 @@ import com.lyms.platform.biz.param.AssayConfigQuery; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.dao.operator.MongoCondition; import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.pojo.SyncDataModel; import com.lyms.platform.common.utils.*; @@ -27,76 +28,29 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Query; public class BasicConfigServiceTest { public static void main(String[] args) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); - - - // PuerperaService basicConfigService = (PuerperaService) applicationContext.getBean(PuerperaService.class); - /* PuerperaModel obj = new PuerperaModel(); - obj.setAddress("成都市高新区天府2街"); - obj.setAge(111); - obj.setDueDate(new Date()); - obj.setIsVisit(1); - obj.setName("小王2"); - obj.setPhone("13996289315"); - obj.setYn(1); - obj.setCardNo("50022319951267164465"); - basicConfigService.addPuerpera(obj); - - PuerperaModel obj1 = new PuerperaModel(); - obj1.setAddress("成都市高新区天府4街"); - obj1.setAge(11); - obj1.setDueDate(sdf.parse("2016-1-12")); - obj1.setIsVisit(0); - obj1.setName("小王3"); - obj1.setPhone("15197164164"); - obj1.setYn(1); - obj1.setCommunityId("dqweqwdadadaddad"); - obj1.setCardNo("50022319951267164466"); - basicConfigService.addPuerpera(obj1);*/ - - // PuerperaModelQuery puerperaQuery = new PuerperaModelQuery(); - - ; -// puerperaQuery.setKeyword("小王"); -// puerperaQuery.setDueDateStart(sdf.parse("2016-1-12")); -// puerperaQuery.setDueDateEnd(sdf.parse("2016-3-16")); - // puerperaQuery.setId("5719caf624fd57791341b7cb"); - // System.out.println(basicConfigService.queryPuerpera(puerperaQuery)); - /* - * for(int i = 6;i<7;i++){ BasicConfig obj = new BasicConfig(); obj.setCode("xc123456"+i); obj.setName("哮喘123456"+i); obj.setYn(1); - * obj.setParentId("56ea134c24fdaafbabbb0025"); basicConfigService.addBasicConfig(obj); } - */ - /* - * BasicConfig obj = new BasicConfig(); obj.setCode("111"); obj.setId("111"); - */ - /* - * System.out.println(JSON.parse("{\"名称\":111}")); MongoTemplate mongoTemplate =applicationContext.getBean(MongoTemplate.class); // - * mongoTemplate.save(JSON.parse("{\"名称\":111}"),"aa"); System.out.println(mongoTemplate.find(null, Map.class)); - */ - /* System.out.println("----------------------------------------------------"); - Criteria cri = Criteria.where("dueDate").gte(sdf.parse("2016-1-12")).lte(sdf.parse("2016-3-16")); - Query query = new Query(cri); - List users = applicationContext.getBean(MongoTemplate.class).find(query, PuerperaModel.class); - for (PuerperaModel users2 : users) { - System.out.println(users2.toString()); - }*/ -// addDataPermission(applicationContext); -// addVisit(applicationContext); -// addaw(applicationContext, "0-83月龄身长、高标准差数值表(男、女).csv", 1); -// addaw(applicationContext, "0-83月龄体重标准差数值表(男、女).csv", 0); -// addZhenduan(applicationContext); - -// addHealthConfig(applicationContext); -// saveHospitalMsgConfig(applicationContext); -// saveHospitalMsgTemplate(applicationContext); // queryRisk(applicationContext); - saveQhdBabyCheckModel(applicationContext); + dataptest(applicationContext); } + public static void dataptest(ApplicationContext applicationContext) { + MongoTemplate mongoTemplate + =(MongoTemplate)applicationContext.getBean("mongoTemplate"); + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); + try { + List list = mongoTemplate.find(new Query(),DataPermissionsModel.class); + for (DataPermissionsModel model:list) { + System.out.println(JsonUtil.obj2Str(model)); + } + } catch (Exception e) { + e.printStackTrace(); + } + } public static void saveQhdBabyCheckModel(ApplicationContext applicationContext) { MongoTemplate mongoTemplate diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/DataPermissionService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/DataPermissionService.java index 03074f4..8d3bc5c 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/DataPermissionService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/DataPermissionService.java @@ -43,4 +43,5 @@ public class DataPermissionService { updatePermission(obj); } } + } \ No newline at end of file diff --git a/platform-biz-patient-service/src/main/resources/database.properties b/platform-biz-patient-service/src/main/resources/database.properties index 30dd21f..a881713 100644 --- a/platform-biz-patient-service/src/main/resources/database.properties +++ b/platform-biz-patient-service/src/main/resources/database.properties @@ -1,5 +1,5 @@ mongo.db.host=119.90.57.26 mongo.db.port=10001 -mongo.db.dbname=sync-platform-data +mongo.db.dbname=platform mongo.db.username=platform mongo.db.password=platform123 \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/OrganizationService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/OrganizationService.java index cc30996..1e19a1a 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/OrganizationService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/OrganizationService.java @@ -22,4 +22,9 @@ public interface OrganizationService { List queryHospital(); List queryHospitals(OrganizationQuery organizationQuery); + + /** + * 维护用户机构权限为最新状态,机构新增、修改、删除时执行;用户新增、修改、删除时执行 + */ + public void rebuildDataPermissions(Integer userId); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java index 2471a0e..1ea3f58 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java @@ -1,15 +1,21 @@ package com.lyms.platform.permission.service.impl; +import com.lyms.platform.beans.AddressBean; import com.lyms.platform.biz.dal.ISyncDataDao; +import com.lyms.platform.biz.service.DataPermissionService; import com.lyms.platform.common.enums.OrganizationTypeEnum; import com.lyms.platform.common.exception.BusinessException; +import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.permission.DataAccessLayerService; import com.lyms.platform.permission.dao.master.MasterOrganizationMapper; import com.lyms.platform.permission.dao.slave.OrganizationMapper; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.OrganizationQuery; import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.pojo.DataPermissionsModel; +import com.lyms.platform.query.DataPermissionsModelQuery; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,9 +31,11 @@ public class OrganizationServiceImpl extends DataAccessLayerService implements O @Autowired private ISyncDataDao iSyncDataDao; + @Autowired + private DataPermissionService dataPermissionService; + @Override - public Integer addOrganization(Organization obj) { - masterOrganizationMapper.addOrganization(obj); + public Integer addOrganization(Organization obj) { masterOrganizationMapper.addOrganization(obj); iSyncDataDao.addSyncData("MysqlAdd", obj, obj.getId().toString()); return obj.getId(); } @@ -130,4 +138,32 @@ public class OrganizationServiceImpl extends DataAccessLayerService implements O } return results; } + + /** + * 维护用户机构权限为最新状态,机构新增、修改、删除时执行;用户新增、修改、删除时执行 + */ + @Override + public void rebuildDataPermissions(Integer userId) { + try { + DataPermissionsModelQuery visitQuery = new DataPermissionsModelQuery(); + visitQuery.setUserId(userId); + List list = dataPermissionService.queryPermission(visitQuery); + for (DataPermissionsModel model : list) { + if (StringUtils.isNotBlank(model.getAreaPermission())) { + List addressBeanList = JsonUtil.toList(model.getAreaPermission(), AddressBean.class); + List organizationIds = new ArrayList<>(); + for (AddressBean addressBean:addressBeanList) { + OrganizationQuery query = new OrganizationQuery(); + query.setProvinceId(addressBean.getP()); + query.setCityId(addressBean.getC()); + query.setAreaId(addressBean.getA()); + query.setStreetId(addressBean.getS()); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/beans/AddressBean.java b/platform-dal/src/main/java/com/lyms/platform/beans/AddressBean.java new file mode 100644 index 0000000..13bbdec --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/beans/AddressBean.java @@ -0,0 +1,47 @@ +package com.lyms.platform.beans; + +/** + * Created by riecard on 2016/11/24. + * 多个区域,省市区乡 如果为0代表全部 + {"p":"1","c":"2","a":"3","s":"4"} + */ +public class AddressBean { + + + private String p; + private String c; + private String a; + private String s; + + public String getP() { + return p; + } + + public void setP(String p) { + this.p = p; + } + + public String getC() { + return c; + } + + public void setC(String c) { + this.c = c; + } + + public String getA() { + return a; + } + + public void setA(String a) { + this.a = a; + } + + public String getS() { + return s; + } + + public void setS(String s) { + this.s = s; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/NioClient.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/NioClient.java index a553df8..791f410 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/NioClient.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/NioClient.java @@ -48,12 +48,6 @@ public class NioClient { { String line = scan.nextLine(); if("".equals(line)) continue; //不允许发空消息 - if("".equals(name)) { - name = line; - line = name+USER_CONTENT_SPILIT; - } else { - line = name+USER_CONTENT_SPILIT+line; - } sc.write(charset.encode(line));//sc既能写也能读,这边是写 } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java index 9c7a80b..3e86168 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/OrganizationController.java @@ -238,6 +238,8 @@ public class OrganizationController extends BaseController { List organizations = new ArrayList<>(); PageInfo pageInfo = new PageInfo(0,0,0,1); if (CollectionUtils.isNotEmpty(areaId)) { + // 一定要加上自己的机构权限 + areaId.add(users.getOrgId()); OrganizationQuery organizationQuery = new OrganizationQuery(); if(null != page && limit != page) { organizationQuery.setNeed("true"); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AccessPermissionFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AccessPermissionFacade.java index a019609..765052b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AccessPermissionFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AccessPermissionFacade.java @@ -1,10 +1,12 @@ package com.lyms.platform.operate.web.facade; +import com.lyms.platform.beans.AddressBean; import com.lyms.platform.biz.service.DataPermissionService; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.PermissionTypeEnums; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.Assert; +import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.operate.web.request.AccessPermissionAddRequest; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Roles; @@ -105,4 +107,5 @@ public class AccessPermissionFacade { dataPermissionsModelQuery.setUserId(userId); return dataPermissionService.queryPermission(dataPermissionsModelQuery); } + } \ No newline at end of file