diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java index 7c54427..a4f055a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java @@ -204,14 +204,23 @@ public class PuerperaManageController extends BaseController { } /** - * 稀有血型专病门诊 详情 + * 稀有血型专病门诊 单个孕妇详情列表 */ @ResponseBody - @RequestMapping(value = "/infoListRare", method = RequestMethod.GET) + @RequestMapping(value = "/wxinfoListRare", method = RequestMethod.GET) public BaseResponse infoListRare(RareBloodGroupModel rareBloodGroupModel, HttpServletRequest request) { return rareBloodGroupService.infoListRare(null, rareBloodGroupModel); } + /** + * 稀有血型专病门诊 列表 + */ + @ResponseBody + @RequestMapping(value = "/infoListRare",method = RequestMethod.GET) + @TokenRequired + public BaseResponse list(String key, String vcCardNo, Integer weekStart, Integer weekEnd, Integer age, Integer page, Integer limit, HttpServletRequest request) { + return rareBloodGroupService.list( key, vcCardNo, weekStart, weekEnd, age, page, limit, getUserId(request)); + } /** * 导出孕产妇数据 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/RareBloodGroupService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/RareBloodGroupService.java index d3180e1..d326157 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/RareBloodGroupService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/RareBloodGroupService.java @@ -15,4 +15,7 @@ public interface RareBloodGroupService extends IBaseService { BaseResponse infoListRare(Integer userId, RareBloodGroupModel rareBloodGroupModel); List queryList(RareQuery rareQuery); + + BaseResponse list(String key, String vcCardNo, Integer weekStart, Integer weekEnd, Integer age, Integer page, Integer limit, Integer userId); + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/RareBloodGroupServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/RareBloodGroupServiceImpl.java index 0b9910b..65b2000 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/RareBloodGroupServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/RareBloodGroupServiceImpl.java @@ -8,12 +8,15 @@ import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.result.PageResult; import com.lyms.platform.common.result.RespBuilder; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.MongoConvertHelper; import com.lyms.platform.common.utils.ReflectionUtils; import com.lyms.platform.operate.web.facade.AutoMatchFacade; +import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade; import com.lyms.platform.operate.web.service.RareBloodGroupService; +import com.lyms.platform.operate.web.utils.MongoUtil; import com.lyms.platform.pojo.Patients; import com.lyms.platform.pojo.RareBloodGroupModel; import com.lyms.platform.query.RareQuery; @@ -46,17 +49,21 @@ public class RareBloodGroupServiceImpl extends BaseServiceImpl implements RareBl private MongoTemplate mongoTemplate; @Autowired private PatientsService patientsService; + @Autowired + private OrganizationGroupsFacade groupsFacade; + @Autowired + private MongoUtil mongoUtil; @Override public BaseResponse add(Integer userId, RareBloodGroupModel rareBloodGroupModel) { try { - if (userId != null && "1".equals(rareBloodGroupModel.getSource())){ + if (userId != null && "1".equals(rareBloodGroupModel.getSource())) { String hospitalId = autoMatchFacade.getHospitalId(userId); rareBloodGroupModel.setHospitalId(hospitalId); rareBloodGroupModel.setSource("1"); - } else if (userId == null && "2".equals(rareBloodGroupModel.getSource())) { + } else if (userId == null && "2".equals(rareBloodGroupModel.getSource())) { if (rareBloodGroupModel.getParentId() != null) { Patients pat = patientsService.findOnePatientById(rareBloodGroupModel.getParentId()); if (pat != null) { @@ -65,7 +72,7 @@ public class RareBloodGroupServiceImpl extends BaseServiceImpl implements RareBl rareBloodGroupModel.setSource("2"); } } - }else { + } else { return new BaseResponse(); } rareBloodGroupModel.setYn(YnEnums.YES.getId()); @@ -81,7 +88,6 @@ public class RareBloodGroupServiceImpl extends BaseServiceImpl implements RareBl } - @Override public BaseResponse Update(Integer userId, RareBloodGroupModel rareBloodGroupModel) { try { @@ -107,7 +113,7 @@ public class RareBloodGroupServiceImpl extends BaseServiceImpl implements RareBl List babyDietReportList = null; try { if (rareBloodGroupModel != null && StringUtils.isNotEmpty(rareBloodGroupModel.getPid())) { - babyDietReportList = mongoTemplate.find(Query.query(Criteria.where("pid").is(rareBloodGroupModel.getPid()).and("yn").is(YnEnums.YES.getId())), RareBloodGroupModel.class); + babyDietReportList = mongoTemplate.find(Query.query(Criteria.where("pid").is(rareBloodGroupModel.getPid()).and("yn").is(YnEnums.YES.getId()).and("source").is("1")), RareBloodGroupModel.class); if (babyDietReportList != null) { for (int i = 0; i < babyDietReportList.size(); i++) { RareBloodGroupModel rareBloodGroupModel1 = babyDietReportList.get(i); @@ -115,6 +121,7 @@ public class RareBloodGroupServiceImpl extends BaseServiceImpl implements RareBl map.put("bloodGroupGenotyping", rareBloodGroupModel1.getBloodGroupGenotyping());//血型基因分型 map.put("bloodGroupAntibody", rareBloodGroupModel1.getBloodGroupAntibody());//血型抗体效价滴度 map.put("inputWeek", rareBloodGroupModel1.getWeek());//录入孕周 + map.put("source", rareBloodGroupModel1.getSource()); Patients p = mongoTemplate.findById(rareBloodGroupModel1.getParentId(), Patients.class); map.put("currentWeek", DateUtil.getWeekDesc(p.getLastMenses(), new Date()));//当前孕周 map.put("username", p.getUsername());//姓名 @@ -129,6 +136,44 @@ public class RareBloodGroupServiceImpl extends BaseServiceImpl implements RareBl return RespBuilder.buildSuccess(list); } + public BaseResponse list(String key, String vcCardNo, Integer weekStart, Integer weekEnd, Integer age, Integer page, Integer limit, Integer userId) { + + boolean flag = false; + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(key) || com.lyms.platform.common.utils.StringUtils.isNotEmpty(vcCardNo) || weekEnd != null || weekStart != null || age != null) { + flag = true; + } + List hospitalIds = groupsFacade.findGroupHospital(userId, false); + Criteria criteria = Criteria.where("yn").is(1); + criteria.and("hospitalId").in(hospitalIds); + criteria.and("source").is("2"); + if (flag) { + List pids = mongoUtil.getPidsByCondition2(hospitalIds, key, vcCardNo, weekStart, weekEnd, age); + criteria.and("pid").in(pids); + } + PageResult pageResult = findMongoPage(RareBloodGroupModel.class, Query.query(criteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); + List rareBloodGroupModels = (List) pageResult.getGrid(); + List> restList = new ArrayList<>(); + + for (RareBloodGroupModel rareBloodGroupModel : rareBloodGroupModels) { + Map map = new HashMap<>(); + Patients p = mongoTemplate.findById(rareBloodGroupModel.getParentId(), Patients.class); + if (p != null) { + map.put("entryTime", DateUtil.getyyyy_MM_dd(rareBloodGroupModel.getCreated()));//录入时间 + map.put("bloodGroupGenotyping", rareBloodGroupModel.getBloodGroupGenotyping());//血型基因分型 + map.put("bloodGroupAntibody", rareBloodGroupModel.getBloodGroupAntibody());//血型抗体效价滴度 + map.put("inputWeek", rareBloodGroupModel.getWeek());//录入孕周 + map.put("source", rareBloodGroupModel.getSource());// 1 孕产系统 2小程序 + map.put("currentWeek", DateUtil.getWeekDesc(p.getLastMenses(), new Date()));//当前孕周 + map.put("username", p.getUsername());//姓名 + map.put("dueDate", DateUtil.getyyyy_MM_dd(p.getDueDate()));//预产期 + + } + restList.add(map); + } + pageResult.setGrid(restList); + return RespBuilder.buildSuccess(pageResult); + } + public List queryList(RareQuery rareQuery) { MongoQuery query = rareQuery.convertToQuery();