diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/LhBabyGravidityEndingTabModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/LhBabyGravidityEndingTabModel.java index 8f13bb2..979c3f7 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/LhBabyGravidityEndingTabModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/LhBabyGravidityEndingTabModel.java @@ -20,7 +20,7 @@ public class LhBabyGravidityEndingTabModel { private String code; //建档id private String buildId; - + private String hospitalId; //姓名 private String name; //年龄 @@ -109,6 +109,14 @@ public class LhBabyGravidityEndingTabModel { //随访者签名 private String visitSign; + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + public List getGravidityHigh() { return gravidityHigh; } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/LhBabyPregnancyFollowTabModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/LhBabyPregnancyFollowTabModel.java index 8ed2a6e..6207ee1 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/LhBabyPregnancyFollowTabModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/LhBabyPregnancyFollowTabModel.java @@ -19,6 +19,7 @@ public class LhBabyPregnancyFollowTabModel { private String code; //建档id private String buildId; + private String hospitalId; //姓名 private String name; @@ -116,6 +117,14 @@ public class LhBabyPregnancyFollowTabModel { //随访者签名 private String visitSign; + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + public String getId() { return id; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LhBabyGravidityEndingTabController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LhBabyGravidityEndingTabController.java index dd0f334..d8a4140 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LhBabyGravidityEndingTabController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LhBabyGravidityEndingTabController.java @@ -57,7 +57,7 @@ public class LhBabyGravidityEndingTabController extends BaseController { @ResponseBody @TokenRequired public BaseResponse addOrUpdateLhBabyGravidityEndingTab(@RequestBody LhBabyGravidityEndingTabModel lhBabyGravidityEndingTabModel, HttpServletRequest request) { - return lhBabyGravidityEndingTabFacade.addOrUpdateLhBabyGravidityEndingTab(lhBabyGravidityEndingTabModel); + return lhBabyGravidityEndingTabFacade.addOrUpdateLhBabyGravidityEndingTab(lhBabyGravidityEndingTabModel,getUserId(request)); } //删除-隆化-妊娠结局记录表 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LhBabyPregnancyFollowTabController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LhBabyPregnancyFollowTabController.java index 8292f2a..f739942 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LhBabyPregnancyFollowTabController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LhBabyPregnancyFollowTabController.java @@ -57,7 +57,7 @@ public class LhBabyPregnancyFollowTabController extends BaseController { @ResponseBody @TokenRequired public BaseResponse addOrUpdateLhBabyPregnancyFollowTab(@RequestBody LhBabyPregnancyFollowTabModel lhBabyPregnancyFollowTabModel, HttpServletRequest request) { - return lhBabyPregnancyFollowTabFacade.addOrUpdateLhBabyPregnancyFollowTab(lhBabyPregnancyFollowTabModel); + return lhBabyPregnancyFollowTabFacade.addOrUpdateLhBabyPregnancyFollowTab(lhBabyPregnancyFollowTabModel,getUserId(request)); } //删除-隆化-早孕随访记录表 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java index d5eb5c5..ea0873b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java @@ -361,16 +361,29 @@ public class PreEugenicsBaseController extends BaseController { /** - * 孕前优生统计 + * 国家优生项目技术服务工作月统计报表 * @param param * @param request * @return */ - @RequestMapping(method = RequestMethod.GET, value = "/listCount") + @RequestMapping(method = RequestMethod.GET, value = "/listServiceCount") @ResponseBody @TokenRequired - public BaseListResponse listCount(@JsonAlias PreEugenicsBaseListRequest param, HttpServletRequest request) { + public BaseObjectResponse listCount(@JsonAlias PreEugenicsBaseListRequest param, HttpServletRequest request) { return iPreEugenicsService.listCount(param, getUserId(request)); } + /** + * 国家优生项目妊娠结局月统计报表 + * @param param + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/listRsjjCount") + @ResponseBody + @TokenRequired + public BaseObjectResponse listRsjjCount(@JsonAlias PreEugenicsBaseListRequest param, HttpServletRequest request) { + return iPreEugenicsService.listRsjjCount(param, getUserId(request)); + } + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index 421ac17..8eb9640 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -5342,6 +5342,101 @@ public class TestController extends BaseController { return "success"; } + /** + * 计算妻子血常规是否存在异常项 + * @param startDate + * @param endDate + * @return + */ + @RequestMapping(value = "/handleWifeClinicalCheck", method = RequestMethod.GET) + @ResponseBody + public String handleWifeClinicalCheck(String startDate,String endDate) { + + Query query = Query.query(Criteria.where("hospitalId").is("2100001605"). + and("fillDate").gte(DateUtil.parseYMD(startDate)).lte(DateUtil.parseYMD(endDate))); + List modelList = mongoTemplate.find(query, PreEugenicsBaseModel.class); + if (CollectionUtils.isNotEmpty(modelList)) { + for(PreEugenicsBaseModel model : modelList) + { + int zc = 0; + Map wifeClinical = model.getWifeClinicalCheck(); + if (wifeClinical != null && wifeClinical.size() > 0 && wifeClinical.get("xxbfx") != null) + { + try{ + List xxbfx = (ArrayList)wifeClinical.get("xxbfx"); + if (xxbfx != null && xxbfx.size() == 9) + { + Double hb = Double.parseDouble(xxbfx.get(0)); + if (hb >= 110 && hb <= 150) + { + zc++; + } + Double rbc = Double.parseDouble(xxbfx.get(1)); + if (rbc >= 3.5 && rbc <= 5.0) + { + zc++; + } + Double plt = Double.parseDouble(xxbfx.get(2)); + if (plt >= 100 && plt <= 300) + { + zc++; + } + Double wbc = Double.parseDouble(xxbfx.get(3)); + if (wbc >= 4 && wbc <= 10) + { + zc++; + } + Double n = Double.parseDouble(xxbfx.get(4)); + if (n >= 50 && n <= 70) + { + zc++; + } + Double l = Double.parseDouble(xxbfx.get(5)); + if (l >= 20 && l <= 40) + { + zc++; + } + Double m = Double.parseDouble(xxbfx.get(6)); + if (m >= 3 && m <= 12) + { + zc++; + } + + Double e = Double.parseDouble(xxbfx.get(7)); + if (e >= 0.5 && e <= 5) + { + zc++; + } + Double b = Double.parseDouble(xxbfx.get(8)); + if (b >= 0 && b <= 1) + { + zc++; + } + } + }catch (Exception e) + { + continue; + } + } + if (zc==9) + { + wifeClinical.put("xxbfxzc",1); + model.setWifeClinicalCheck(wifeClinical); + Update update = MongoConvertHelper + .convertToNativeUpdate(ReflectionUtils.getUpdateField(model)); + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(model.getId())), update, PreEugenicsBaseModel.class); + }else if (zc < 9 && wifeClinical != null && wifeClinical.size() > 0 && wifeClinical.get("xxbfx") != null) + { + wifeClinical.put("xxbfxzc",2); + model.setWifeClinicalCheck(wifeClinical); + Update update = MongoConvertHelper + .convertToNativeUpdate(ReflectionUtils.getUpdateField(model)); + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(model.getId())), update, PreEugenicsBaseModel.class); + } + } + } + return "success"; + } @RequestMapping(value = "/handleFmData", method = RequestMethod.GET) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LhBabyGravidityEndingTabFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LhBabyGravidityEndingTabFacade.java index 3ffef14..39faad7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LhBabyGravidityEndingTabFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LhBabyGravidityEndingTabFacade.java @@ -108,9 +108,10 @@ public class LhBabyGravidityEndingTabFacade extends BaseMongoDAOImpl datas = new LinkedList<>(); @@ -1904,7 +1904,7 @@ public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugen datas.add(manCount+womanCount-manCountExc-womanCountExc);//正常人数 datas.add(manCountExc+womanCountExc);//异常人数 - + datas.add(0);//合计 //体格检查异常人数男 int manTgjcCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) @@ -1962,7 +1962,7 @@ 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) @@ -2035,8 +2035,18 @@ public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugen datas.add(womansyCount);//阳性人数 - datas.add(0);//血常规正常人数 - datas.add(0);//血常规异常人数 + //血常规 + int womanXcgCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeClinicalCheck.xxbfxzc").is(1) + ), PreEugenicsBaseModel.class); + int womanXcgCountyc = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeClinicalCheck.xxbfxzc").is(2) + ), PreEugenicsBaseModel.class); + + datas.add(womanXcgCount);//血常规正常人数 + datas.add(womanXcgCountyc);//血常规异常人数 //检查尿常规异常人数 int womanncgCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) @@ -2046,6 +2056,185 @@ public class PreEugebicsServiceImpl extends BaseServiceImpl implements IPreEugen datas.add(womanCount-womanncgCount);//正常人数 datas.add(womanncgCount);//正常人数 + + + //rh 阳性 + int manRhCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeClinicalCheck.rh").is(1) + ), PreEugenicsBaseModel.class); + + //rh 阳性 + int womanRhCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("husbandClinicalCheck.rh").is(1) + ), PreEugenicsBaseModel.class); + + datas.add(womanCount+manCount-manRhCount-womanRhCount);//正常人数 + datas.add(manRhCount+womanRhCount);//异常人数 + + + //血糖 + int womanXuetangCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeClinicalCheck.xuetang").gte("3.9").lte("6.1") + ), PreEugenicsBaseModel.class); + datas.add(womanXuetangCount);//正常人数 + datas.add(womanCount-womanXuetangCount);//异常人数 + + + //谷丙转氨酶和肌酐 + int womanGbzamCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeClinicalCheck.gbzam").gte("5").lte("40") + .and("wifeClinicalCheck.jigan").gte("41").lte("73") + ), PreEugenicsBaseModel.class); + + + int manGbzamCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("husbandClinicalCheck.gbzam").gte("5").lte("40") + .and("husbandClinicalCheck.jigan").gte("57").lte("97") + ), PreEugenicsBaseModel.class); + //肝功 + datas.add(womanGbzamCount+manGbzamCount);//正常人数 + datas.add(womanCount+manCount-womanGbzamCount-manGbzamCount);//异常人数 + + + //乙肝异常 + int womanYgCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeClinicalCheck.yigan").in(1) + ), PreEugenicsBaseModel.class); + + //乙肝异常 + int manYgCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("husbandClinicalCheck.yigan").in(1) + ), PreEugenicsBaseModel.class); + datas.add(womanCount+manCount-manYgCount-womanYgCount);//正常人数 + datas.add(womanYgCount+manYgCount);//异常人数 + + //肾功 + datas.add(womanGbzamCount+manGbzamCount);//正常人数 + datas.add(womanCount+manCount-womanGbzamCount-manGbzamCount);//异常人数 + + + int womanCjzxjsCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeClinicalCheck.cjzxjs").gte("0.35").lte("5.1") + ), PreEugenicsBaseModel.class); + datas.add(womanCjzxjsCount);//正常人数 + datas.add(womanCount-womanCjzxjsCount);//异常人数 + + //梅毒螺旋体 + int manMdCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeClinicalCheck.meidu").is(1) + ), PreEugenicsBaseModel.class); + + //梅毒螺旋体 + int womanMdCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("husbandClinicalCheck.meidu").is(1) + ), PreEugenicsBaseModel.class); + + datas.add(womanCount+manCount-womanMdCount-manMdCount);//正常人数 + datas.add(manMdCount+womanMdCount);//异常人数 + + //风疹病毒IgG + int manFzbdCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeClinicalCheck.fzbd").is(1) + ), PreEugenicsBaseModel.class); + + datas.add(womanCount - manFzbdCount);//正常人数 + datas.add(manFzbdCount);//异常人数 + + int womanjxbbdIgMCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeClinicalCheck.jxbbdIgM").is(1) + ), PreEugenicsBaseModel.class); + + datas.add(womanCount - womanjxbbdIgMCount);//正常人数 + datas.add(womanjxbbdIgMCount);//异常人数 + + int womanjxbbdCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeClinicalCheck.jxbbd").is(1) + ), PreEugenicsBaseModel.class); + + datas.add(womanCount - womanjxbbdCount);//正常人数 + datas.add(womanjxbbdCount);//异常人数 + + + int womangxtIgMCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeClinicalCheck.gxtIgM").is(1) + ), PreEugenicsBaseModel.class); + + datas.add(womanCount - womangxtIgMCount);//正常人数 + datas.add(womangxtIgMCount);//异常人数 + + int womangxtCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeClinicalCheck.gxt").is(1) + ), PreEugenicsBaseModel.class); + + datas.add(womanCount - womangxtCount);//正常人数 + datas.add(womangxtCount);//异常人数 + + //超声检查 + int womanCsjcCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("wifeBCheck.bcjc").in(1) + ), PreEugenicsBaseModel.class); + datas.add(womanCount - womanCsjcCount);//正常人数 + datas.add(womanCsjcCount);//异常人数 + + int womanGwCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("resultAdvice.wifeType").is("3") + ), PreEugenicsBaseModel.class); + + int manGwCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("fillDate").gte(start).lte(end) + .and("resultAdvice.husbandType").is("3") + ), PreEugenicsBaseModel.class); + datas.add(womanGwCount+manGwCount);//高危合计人数 + datas.add(manGwCount);//高危男人数 + datas.add(womanGwCount);//高危女人数 + + datas.add(manCount+womanCount);//咨询指导人数 + + //早孕 + int zyCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end) + ), LhBabyPregnancyFollowTabModel.class); + + datas.add(zyCount);//早孕人数 + + // 妊娠结局 + int rsjjCount = (int)mongoTemplate.count(new Query(Criteria.where("hospitalId").is(hospitalId) + .and("writeDate").gte(start).lte(end) + ), LhBabyGravidityEndingTabModel.class); + + datas.add(rsjjCount);//早孕人数 + + int all = 0; + for(int i= 9; i <=39;i++) + { + all+=datas.get(i); + } + + datas.add(8,all); + + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(datas); + } + + @Override + public BaseObjectResponse listRsjjCount(PreEugenicsBaseListRequest param, Integer userId) { + return null; }