From 3c8ab1ada55e42f06c7bb614e8c9b05d09f3f07a Mon Sep 17 00:00:00 2001 From: liquanyu Date: Thu, 11 Jan 2018 15:17:09 +0800 Subject: [PATCH] update code --- .../resources/mainOrm/master/MeasureInfoMapper.xml | 9 ++ .../com/lyms/platform/query/MeasureInfoQuery.java | 8 ++ .../web/controller/MeasureInfoController.java | 6 +- .../operate/web/facade/MeasureInfoFacade.java | 113 +++++++++++++-------- 4 files changed, 92 insertions(+), 44 deletions(-) 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); } } -- 1.8.3.1