diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java index 1b8c4cb..540dfe8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java @@ -35,15 +35,15 @@ public class TrackDownController extends BaseController { @ResponseBody @RequestMapping(method = RequestMethod.POST) @TokenRequired - public BaseResponse addOrUpdate(TrackDown trackDown, HttpServletRequest request) { - return trackDownService.addOrUpdate(getUserId(request), trackDown); + public BaseResponse add(TrackDown trackDown, HttpServletRequest request) { + return trackDownService.add(getUserId(request), trackDown); } @ResponseBody @TokenRequired @RequestMapping(method = RequestMethod.GET) - public BaseResponse list(String provinceId, String cityId, String areaId, String addressId, Integer trackType, Integer page, Integer limit, HttpServletRequest request) { - return trackDownService.list(provinceId, cityId, areaId, addressId, trackType, page, limit, getUserId(request)); + public BaseResponse list(String provinceId, String cityId, String areaId, String streetId, Integer trackType, Integer page, Integer limit, HttpServletRequest request) { + return trackDownService.list(provinceId, cityId, areaId, streetId, trackType, page, limit, getUserId(request)); } @ResponseBody diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java index 2fad994..442516d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java @@ -7,9 +7,9 @@ import java.util.Date; public interface ITrackDownService extends IBaseService { - BaseResponse addOrUpdate(Integer userId, TrackDown trackDown); + BaseResponse add(Integer userId, TrackDown trackDown); - BaseResponse list(String provinceId, String cityId, String areaId, String addressId, Integer trackType, Integer page, Integer limit, Integer userId); + BaseResponse list(String provinceId, String cityId, String areaId, String streetId, Integer trackType, Integer page, Integer limit, Integer userId); BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java index d5e79b3..5649920 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodPressureServiceImpl.java @@ -94,9 +94,9 @@ public class BloodPressureServiceImpl extends BaseServiceImpl implements IBloodP @Override public BaseResponse list(String key, String vcCardNo, Integer weekStart, Integer weekEnd, Integer age, Integer page, Integer limit, Integer userId) { boolean flag = false; - // List hospitalIds = accessPermissionFacade.getCurrentUserHospPermissions(userId); - Criteria criteria = Criteria.where("yn").is(1); //.and("hospitalId").in(hospitalIds); - Criteria pCriteria = Criteria.where("yn").is(1); //.and("hospitalId").in(hospitalIds); + List hospitalIds = accessPermissionFacade.getCurrentUserHospPermissions(userId); + Criteria criteria = Criteria.where("yn").is(1).and("hospitalId").in(hospitalIds); + Criteria pCriteria = Criteria.where("yn").is(1).and("hospitalId").in(hospitalIds); if(StringUtils.isNotEmpty(key)) { flag = true; pCriteria.orOperator(Criteria.where("phone").regex(key), Criteria.where("username").regex(key), Criteria.where("cardNo").is(key)); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java index c25bc2a..863e639 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java @@ -77,7 +77,8 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga } Criteria criteria = Criteria.where("yn").is(1); if(flag) { - List pids = mongoUtil.getPidsByCondition2(null, key, vcCardNo, weekStart, weekEnd, age); + List hospitalIds = accessPermissionFacade.getCurrentUserHospPermissions(userId); + List pids = mongoUtil.getPidsByCondition2(hospitalIds, key, vcCardNo, weekStart, weekEnd, age); criteria.and("pid").in(pids); } PageResult pageResult = findMongoPage(BloodSugar.class, Query.query(criteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java index 0e0e393..303b537 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java @@ -1,24 +1,30 @@ package com.lyms.platform.operate.web.service.impl; import com.lyms.platform.biz.service.TrackDownService; +import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.result.RespBuilder; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.service.ITrackDownService; import com.lyms.platform.operate.web.utils.MongoUtil; +import com.lyms.platform.pojo.Patients; import com.lyms.platform.pojo.TrackDown; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Service; import java.util.Date; +import java.util.List; @Service public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownService { @Autowired - private TrackDownService TrackDownService; + private TrackDownService trackDownService; @Autowired private MongoTemplate mongoTemplate; @@ -31,21 +37,53 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS @Override public BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId) { - Criteria criteria = new Criteria(); + Criteria patientCriteria = new Criteria(); + Criteria residentCriteria = new Criteria(); if(buildStart != null && buildEnd != null) { - + residentCriteria.and("buildDay").gte(buildStart).lt(DateUtil.addDay(buildEnd, 1)); + } + if(checkStart != null && checkEnd != null) { + patientCriteria.and("bookbuildingDate").gte(checkStart).lt(DateUtil.addDay(checkEnd, 1)); + } + if(fmStart != null && fmEnd != null) { + patientCriteria.and("fmDate").gte(fmStart).lt(DateUtil.addDay(fmEnd, 1)); } - return null; } - public BaseResponse addOrUpdate(Integer userId, TrackDown TrackDown) { + public BaseResponse add(Integer userId, TrackDown trackDown) { String hospitalId = autoMatchFacade.getHospitalId(userId); - return RespBuilder.buildSuccess(); + String parentId = mongoUtil.doHidePatient(trackDown.getParentId(), hospitalId); + trackDown.setPid(mongoUtil.getPid(parentId)); + trackDown.setParentId(parentId); + trackDown.setYn(YnEnums.YES.getId()); + trackDown.setCreated(new Date()); + trackDown.setHospitalId(hospitalId); + trackDown.setOperaterId(userId); + trackDown.setModified(new Date()); + trackDownService.add(trackDown); + return RespBuilder.buildSuccess(trackDown.getId()); } @Override - public BaseResponse list(String provinceId, String cityId, String areaId, String addressId, Integer trackType, Integer page, Integer limit, Integer userId) { + public BaseResponse list(String provinceId, String cityId, String areaId, String streetId, Integer trackType, Integer page, Integer limit, Integer userId) { + Criteria criteria = new Criteria(); + if(StringUtils.isNotEmpty(provinceId) || StringUtils.isNotEmpty(cityId) || StringUtils.isNotEmpty(areaId) || StringUtils.isNotEmpty(streetId) ) { + Criteria patientCriteria = new Criteria(); + if(StringUtils.isNotEmpty(provinceId)) { + patientCriteria.and("provinceRegisterId").is(provinceId); + } + if(StringUtils.isNotEmpty(cityId)) { + patientCriteria.and("cityRegisterId").is(cityId); + } + if(StringUtils.isNotEmpty(areaId)) { + patientCriteria.and("areaRegisterId").is(areaId); + } + if(StringUtils.isNotEmpty(streetId)) { + patientCriteria.and("streetRegisterId").is(streetId); + } + List patients = mongoTemplate.find(Query.query(patientCriteria.and("yn").is(1)), Patients.class); + } return null; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java index 85a71a5..4c494dd 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java @@ -648,7 +648,7 @@ public class MongoUtil { } public List getPatientByCondition2(List hospitalIds, String key, String vcCardNo, Integer weekStart, Integer weekEnd, Integer age) { - Criteria pCriteria = Criteria.where("yn").is(1); + Criteria pCriteria = Criteria.where("yn").is(1).and("hospitalId").in(hospitalIds); if(StringUtils.isNotEmpty(key)) { pCriteria.orOperator(Criteria.where("phone").regex(key), Criteria.where("username").regex(key), Criteria.where("cardNo").is(key)); }