diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java index f772c97..d7bf92b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java @@ -2,10 +2,7 @@ package com.lyms.platform.operate.web.service.impl; import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.common.enums.*; -import com.lyms.platform.common.result.BaseObjectResponse; -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.result.*; import com.lyms.platform.common.utils.*; import com.lyms.platform.common.utils.ReflectionUtils; import com.lyms.platform.common.utils.StringUtils; @@ -74,6 +71,9 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye @Override public BaseResponse addOrUpdate(Integer userId, BabyEyeCheck babyEyeCheck) { if(StringUtils.isEmpty(babyEyeCheck.getId())) { + if(!mongoUtil.buildArchive(userId, babyEyeCheck.getBabyId())) { + return RespBuilder.buildSuccess(ResponseCode.NEED_BUILD); + } babyEyeCheck.setCreated(new Date()); babyEyeCheck.setYn("1"); babyEyeCheck.setOperaterId(userId + ""); @@ -144,15 +144,15 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye if(StringUtils.isNotEmpty(s)) { if(StringUtils.isNotEmpty(other)) { if("yin".equals(s)) { - return "阴 (" + other + ")"; + return "- (" + other + ")"; } else if("yang".equals(s)) { - return "阳 (" + other + ")"; + return "+ (" + other + ")"; } } else { if("yin".equals(s)) { - return "阴"; + return "-"; } else if("yang".equals(s)) { - return "阳"; + return "+"; } } } @@ -200,6 +200,9 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye if(org.apache.commons.lang.StringUtils.isNotBlank(doctor)) { criteria.and("doctor").is(doctor); } + if(StringUtils.isNotEmpty(chechMonth)) { + criteria.and("checkMonthId").is(chechMonth); + } if(org.apache.commons.lang.StringUtils.isNotBlank(key)) { Criteria c = new Criteria(); c.orOperator(Criteria.where("mphone").is(key), Criteria.where("name").regex(key), Criteria.where("mcertNo").is(key)).and("yn").ne(0); @@ -378,6 +381,16 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye List> checkMonth = EnumUtil.toJson(CheckMonthEnums.class); /** 检查月龄 */ List> positive = new ArrayList<>(); /** 阳性项目 */ + Map extEyelookMap = new HashMap<>(); + extEyelookMap.put("id", "extEyelook"); + extEyelookMap.put("name", "外眼观察"); + positive.add(extEyelookMap); + + Map nystagmusMap = new HashMap<>(); + nystagmusMap.put("id", "nystagmus"); + nystagmusMap.put("name", "视动性眼震"); + positive.add(nystagmusMap); + Map extRightEyelookMap = new HashMap<>(); extRightEyelookMap.put("id", "extRightEyelook"); extRightEyelookMap.put("name", "外眼观察(右)"); 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 e525d05..775f832 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 @@ -2,12 +2,16 @@ package com.lyms.platform.operate.web.utils; 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.facade.OrganizationGroupsFacade; +import com.lyms.platform.pojo.BabyModel; import com.lyms.platform.pojo.BasicConfig; import com.lyms.platform.pojo.Patients; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import org.apache.commons.collections.map.HashedMap; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.BasicQuery; import org.springframework.data.mongodb.core.query.Criteria; @@ -26,6 +30,46 @@ public class MongoUtil { @Autowired private MongoTemplate mongoTemplate; + @Autowired + AutoMatchFacade autoMatchFacade; + + @Autowired + private OrganizationGroupsFacade organizationGroupsFacade; + + /** + * 隐藏建档 + * @param userId + * @return + */ + public boolean buildArchive(Integer userId, String babyId) { + BabyModel b = mongoTemplate.findById(babyId, BabyModel.class); + String pid = b.getPid(); + Assert.notNull(pid, "pid 不能为null"); + String hospitalId = autoMatchFacade.getHospitalId(userId); + // 如果本院已有记录 直接走正常流程 + BabyModel baby = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(pid).and("hospitalId").is(hospitalId)).with(new Sort(Sort.Direction.DESC, "created")), BabyModel.class); + if(baby != null) { + return true; + } + + List hospitalIds = organizationGroupsFacade.findGroupHospital(userId, true); + if (CollectionUtils.isNotEmpty(hospitalIds)) { + BabyModel babyModel = mongoTemplate.findOne(Query.query(Criteria.where("hospitalId").in(hospitalIds) + .and("pid").is(pid).and("enable").ne("2")).with(new Sort(Sort.Direction.DESC, "created")), BabyModel.class); + if(babyModel == null) { + return false; // 需 要建档 + } + babyModel.setId(null); + babyModel.setHospitalId(hospitalId); + babyModel.setEnable("2"); + babyModel.setSource(babyId); + babyModel.setCreated(new Date()); + mongoTemplate.save(babyModel); + return true; + } + return false; + } + /** * 查询mongo表中指定的字段 * @param clazz