diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java index c95de2d..9598044 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java @@ -857,6 +857,15 @@ public class LhxfyService { // } // break; /***乙肝表面抗原***/ + case "HBSAG": + if(StringUtils.isEmpty(premaritalCheckup.getHbsag())) { + if(result.contains("阳性")) { + premaritalCheckup.setHbsag("1"); + }else if(result.contains("阴性")) { + premaritalCheckup.setHbsag("2"); + } + } + break; case "HBSAG-1": if(StringUtils.isEmpty(premaritalCheckup.getHbsag())) { if(result.contains("阳性")) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java index 9638236..4d08715 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java @@ -3,6 +3,7 @@ package com.lyms.platform.operate.web.service.impl; import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.Future; +import java.util.regex.Pattern; import com.lyms.hospitalapi.lcfy.LisService; import com.lyms.platform.biz.service.CancerScreeningService; @@ -1904,7 +1905,7 @@ public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugen datas.add(manCount+womanCount-manCountExc-womanCountExc);//正常人数 datas.add(manCountExc+womanCountExc);//异常人数 - datas.add(0);//合计 + //datas.add(0);//合计 //体格检查异常人数男 int manTgjcCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) @@ -1962,7 +1963,6 @@ public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugen datas.add(manCount+womanCount-manTgjcCount-womanTgjcCount);//正常人数 datas.add(manTgjcCount+womanTgjcCount);//异常人数 - datas.add(0); //检查生殖正常人数男 int manSzCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) .and("fillDate").gte(start).lte(end) @@ -2219,7 +2219,7 @@ public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugen .and("writeDate").gte(start).lte(end) ), LhBabyGravidityEndingTabModel.class); - datas.add(rsjjCount);//早孕人数 + datas.add(rsjjCount);//妊娠结局人数 int all = 0; for(int i= 9; i <=39;i++) @@ -2234,8 +2234,119 @@ public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugen @Override public BaseObjectResponse listRsjjCount(PreEugenicsBaseListRequest param, Integer userId) { + List datas = new LinkedList<>(); + String hospitalId = autoMatchFacade.getHospitalId(userId); + Date start = null; + Date end = null; + String createTime = param.getCreateTime(); + if (StringUtils.isNotEmpty(createTime)) { + String[] arrs = createTime.split(" - "); + start = DateUtil.parseYMD(arrs[0]); + end = DateUtil.parseYMD(arrs[1]); + end = DateUtil.getDayLastSecond(end); + } - return null; + // 妊娠结局 + int rsjjCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end) + ), LhBabyGravidityEndingTabModel.class); + datas.add(rsjjCount);//妊娠结局人数 + // datas.add(0);//总合计人数 + + //男活产 + int manhcCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("gravidityEnding").regex(Pattern.compile("^.*1,.*$")).and("babySex").is("1") + ), LhBabyGravidityEndingTabModel.class); + + //女活产 + int womanhcCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("gravidityEnding").regex(Pattern.compile("^.*1,.*$")).and("babySex").is("2") + ), LhBabyGravidityEndingTabModel.class); + + datas.add(manhcCount+womanhcCount);//活产数合计人数 + datas.add(manhcCount);//男活产人数 + datas.add(womanhcCount);//女活产人数 + + //早产 + int zcCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("gravidityEnding").regex(Pattern.compile("^.*2,.*$")) + ), LhBabyGravidityEndingTabModel.class); + datas.add(zcCount);//早产 + //低出生体重儿 + int dtzCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("gravidityEnding").regex(Pattern.compile("^.*3,.*$")) + ), LhBabyGravidityEndingTabModel.class); + datas.add(dtzCount);//低出生体重儿 + + //男出生缺陷 + int mancsqxCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("gravidityEnding").regex(Pattern.compile("^.*4,.*$")).and("babySex").is("1") + ), LhBabyGravidityEndingTabModel.class); + + //女出生缺陷 + int womancsqxCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("gravidityEnding").regex(Pattern.compile("^.*4,.*$")).and("babySex").is("2") + ), LhBabyGravidityEndingTabModel.class); + + //两性畸形 + int manlxjxCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("babySex").is("3") + ), LhBabyGravidityEndingTabModel.class); + + //性别不祥 + int womanxbbxCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("babySex").is("4") + ), LhBabyGravidityEndingTabModel.class); + + datas.add(mancsqxCount+womancsqxCount+manlxjxCount+womanxbbxCount);//出生缺陷合计 + datas.add(mancsqxCount);//出生缺陷男 + datas.add(womancsqxCount);//出生缺陷女 + datas.add(manlxjxCount);//出生缺陷合计 + datas.add(womanxbbxCount);//出生缺陷合计 + + //自然流产 + int zrlcCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("gravidityEnding").regex(Pattern.compile("^.*5,.*$")) + ), LhBabyGravidityEndingTabModel.class); + + //医学性人工流产 + int yxlcCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("gravidityEnding").regex(Pattern.compile("^.*6,.*$")) + ), LhBabyGravidityEndingTabModel.class); + + //治疗性引产 + int zllcCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("gravidityEnding").regex(Pattern.compile("^.*7,.*$")) + ), LhBabyGravidityEndingTabModel.class); + + //异位妊娠 + int ywrsCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("gravidityEnding").regex(Pattern.compile("^.*8,.*$")) + ), LhBabyGravidityEndingTabModel.class); + + //死胎死产 + int stscCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("gravidityEnding").regex(Pattern.compile("^.*9,.*$")) + ), LhBabyGravidityEndingTabModel.class); + + //其他 + int qtCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end).and("gravidityEnding").regex(Pattern.compile("^.*10,.*$")) + ), LhBabyGravidityEndingTabModel.class); + + datas.add(zrlcCount+yxlcCount+zllcCount+ywrsCount+stscCount+qtCount);//其他不良妊娠结局数量 + datas.add(zrlcCount); + datas.add(yxlcCount); + datas.add(zllcCount); + datas.add(ywrsCount); + datas.add(stscCount); + datas.add(qtCount); + + //3+6+7+8+13 + datas.add(1,datas.get(2)+datas.get(5)+datas.get(6)+datas.get(7)+datas.get(12));//总合计人数 + + + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(datas); }