diff --git a/platform-biz-service/src/main/resources/mainOrm/master/MeasureInfoMapper.xml b/platform-biz-service/src/main/resources/mainOrm/master/MeasureInfoMapper.xml
index 984d3fa..a74f6ea 100644
--- a/platform-biz-service/src/main/resources/mainOrm/master/MeasureInfoMapper.xml
+++ b/platform-biz-service/src/main/resources/mainOrm/master/MeasureInfoMapper.xml
@@ -184,6 +184,15 @@
and (phone = #{queryNo,jdbcType=VARCHAR} or cert_no = #{queryNo,jdbcType=VARCHAR} or user_name = #{queryNo,jdbcType=VARCHAR})
+
+ and hospital_id = #{hospitalId,jdbcType=VARCHAR}
+
+
+ and hospital_id in
+
+ #{item}
+
+
\ No newline at end of file
diff --git a/platform-dal/src/main/java/com/lyms/platform/query/MeasureInfoQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/MeasureInfoQuery.java
index efd88f8..6d41fe8 100644
--- a/platform-dal/src/main/java/com/lyms/platform/query/MeasureInfoQuery.java
+++ b/platform-dal/src/main/java/com/lyms/platform/query/MeasureInfoQuery.java
@@ -9,6 +9,7 @@ import com.lyms.platform.common.dao.operator.MongoQuery;
import org.springframework.data.mongodb.core.query.Criteria;
import java.util.Date;
+import java.util.List;
/**
* Created by Administrator on 2018-01-09.
@@ -56,6 +57,7 @@ public class MeasureInfoQuery extends BaseQuery implements IConvertToNativeQuery
private String queryNo;
private String hospitalId;
+ private List hospitalIds;
private Date recordTime;
@@ -312,5 +314,11 @@ public class MeasureInfoQuery extends BaseQuery implements IConvertToNativeQuery
this.id = id;
}
+ public List getHospitalIds() {
+ return hospitalIds;
+ }
+ public void setHospitalIds(List hospitalIds) {
+ this.hospitalIds = hospitalIds;
+ }
}
diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java
index 1110c87..21fa08c 100644
--- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java
+++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MeasureInfoController.java
@@ -30,15 +30,17 @@ public class MeasureInfoController extends BaseController {
*/
@RequestMapping(method = RequestMethod.GET, value = "/queryMeasureInfoList")
@ResponseBody
+ @TokenRequired
public BaseListResponse queryMeasureInfoList(@RequestParam(value = "queryNo", required = false) String queryNo,
@RequestParam("page") Integer page,
@RequestParam("limit") Integer limit,
@RequestParam("valueType") Integer valueType,
@RequestParam(value = "vcCardNo", required = false) String vcCardNo,
@RequestParam(value = "recordTime", required = false) String recordTime,
- @RequestParam(value = "age", required = false) Integer age
+ @RequestParam(value = "age", required = false) Integer age,
+ HttpServletRequest request
) {
- return measureInfoFacade.queryMeasureInfoList(queryNo,valueType,vcCardNo,recordTime,age,page,limit);
+ return measureInfoFacade.queryMeasureInfoList(queryNo,valueType,vcCardNo,recordTime,age,page,limit,getUserId(request));
}
diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java
index d1cb0fb..ce67b79 100644
--- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java
+++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MeasureInfoFacade.java
@@ -1,6 +1,7 @@
package com.lyms.platform.operate.web.facade;
import com.lyms.platform.biz.service.BasicConfigService;
+import com.lyms.platform.biz.service.DataPermissionService;
import com.lyms.platform.common.constants.ErrorCodeConstants;
import com.lyms.platform.common.enums.SexEnum;
import com.lyms.platform.common.result.BaseListResponse;
@@ -9,16 +10,16 @@ import com.lyms.platform.common.utils.DateUtil;
import com.lyms.platform.operate.web.request.MeasureInfoRequest;
import com.lyms.platform.operate.web.result.MeasureInfoResult;
import com.lyms.platform.pojo.BasicConfig;
+import com.lyms.platform.pojo.DataPermissionsModel;
import com.lyms.platform.pojo.MeasureInfoModel;
+import com.lyms.platform.query.DataPermissionsModelQuery;
import com.lyms.platform.query.MeasureInfoQuery;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
/**
* Created by Administrator on 2018-01-10.
@@ -29,59 +30,87 @@ public class MeasureInfoFacade {
private com.lyms.platform.permission.service.MeasureInfoService mysqlMeasureInfoService;
@Autowired
+ private DataPermissionService dataPermissionService;
+
+ @Autowired
private BasicConfigService basicConfigService;
public BaseListResponse queryMeasureInfoList(String queryNo,
Integer valueType, String vcCardNo,
String recordTime, Integer age,
- Integer page, Integer limit) {
+ Integer page, Integer limit,Integer userId) {
- MeasureInfoQuery query = new MeasureInfoQuery();
- query.setQueryNo(queryNo);
- query.setValueType(valueType);
- query.setLimit(limit);
- query.setPage(page);
- query.setAge(age);
- query.setVcCardNo(vcCardNo);
- query.setSort(" created desc ");
- query.setNeed("true");
- if (StringUtils.isNotEmpty(recordTime)) {
- String[] dates = recordTime.split(" - ");
- query.setRecordTimeStart(DateUtil.parseYMD(dates[0]));
- if (dates.length == 2) {
- query.setRecordTimeEnd(DateUtil.addDay(DateUtil.parseYMD(dates[1]),1));
+
+ DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery();
+ dataPermissionsModelQuery.setUserId(userId);
+
+
+ List hospitalList = new ArrayList<>();
+
+ List permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery);
+ if (CollectionUtils.isNotEmpty(permissionsModels)) {
+ Set set = permissionsModels.get(0).getData().keySet();
+ Iterator it = set.iterator();
+ while (it.hasNext()) {
+ String id = it.next();
+ if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(id) && !hospitalList.contains(id)) {
+ hospitalList.add(id);
+ }
}
}
- List list = mysqlMeasureInfoService.queryMeasureInfoList(query);
List results = new ArrayList<>();
- if (CollectionUtils.isNotEmpty(list))
+ MeasureInfoQuery query = new MeasureInfoQuery();
+ if (CollectionUtils.isNotEmpty(hospitalList))
{
- for (MeasureInfoModel model : list)
+ //权限
+ query.setHospitalIds(hospitalList);
+ query.setQueryNo(queryNo);
+ query.setValueType(valueType);
+ query.setLimit(limit);
+ query.setPage(page);
+ query.setAge(age);
+ query.setVcCardNo(vcCardNo);
+ query.setSort(" record_time desc ");
+ query.setNeed("true");
+ if (StringUtils.isNotEmpty(recordTime)) {
+ String[] dates = recordTime.split(" - ");
+ query.setRecordTimeStart(DateUtil.parseYMD(dates[0]));
+ if (dates.length == 2) {
+ query.setRecordTimeEnd(DateUtil.addDay(DateUtil.parseYMD(dates[1]),1));
+ }
+ }
+ List list = mysqlMeasureInfoService.queryMeasureInfoList(query);
+
+
+ if (CollectionUtils.isNotEmpty(list))
{
- MeasureInfoResult result = new MeasureInfoResult();
- result.setId(model.getId());
- result.setUserName(model.getUserName());
-
- if (StringUtils.isNotEmpty(model.getCertType())) {
- BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(model.getCertType());
- if (null != basicConfig) {
- result.setCertType(basicConfig.getName());
+ for (MeasureInfoModel model : list)
+ {
+ MeasureInfoResult result = new MeasureInfoResult();
+ result.setId(model.getId());
+ result.setUserName(model.getUserName());
+
+ if (StringUtils.isNotEmpty(model.getCertType())) {
+ BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(model.getCertType());
+ if (null != basicConfig) {
+ result.setCertType(basicConfig.getName());
+ }
}
+ result.setCertNo(model.getCertNo());
+ result.setHospitalId(model.getHospitalId());
+ result.setOpenId(model.getOpenId());
+ result.setRecordCount(model.getRecordCount());
+ result.setRecordTime(DateUtil.getyyyy_MM_dd(model.getRecordTime()));
+ result.setSex(SexEnum.getTextById(model.getSex()));
+ result.setAge(model.getAge() == null ? "--" : String.valueOf(model.getAge()));
+ result.setValueOne(model.getValueOne());
+ result.setValueTwo(model.getValueTwo());
+ result.setVcCardNo(model.getVcCardNo() == null ? "--" : model.getVcCardNo());
+ result.setWxXode(model.getWxCode());
+ result.setPhone(model.getPhone());
+ results.add(result);
}
- result.setCertNo(model.getCertNo());
- result.setHospitalId(model.getHospitalId());
- result.setOpenId(model.getOpenId());
- result.setRecordCount(model.getRecordCount());
- result.setRecordTime(DateUtil.getyyyy_MM_dd(model.getRecordTime()));
- result.setSex(SexEnum.getTextById(model.getSex()));
- result.setAge(model.getAge() == null ? "--" : String.valueOf(model.getAge()));
- result.setValueOne(model.getValueOne());
- result.setValueTwo(model.getValueTwo());
- result.setVcCardNo(model.getVcCardNo() == null ? "--" : model.getVcCardNo());
- result.setWxXode(model.getWxCode());
- result.setPhone(model.getPhone());
- results.add(result);
}
}