diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java index 0b2628d..6125cc6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java @@ -552,6 +552,54 @@ public class AreaCountController extends BaseController { } /** + * 新生儿访视 + * @param request + * @param page + * @param limit + * @param areaId + * @param streetId + * @param type + * @param dateTime + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getBabyFsList") + @ResponseBody + @TokenRequired + public BaseResponse getBabyFsList(HttpServletRequest request, + Integer page, Integer limit, + @RequestParam String areaId, + @RequestParam( required = false) String streetId, + @RequestParam Integer type, // 1本月访视 2累计访视 + @RequestParam Date dateTime) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return patientSyncMysqlFacade.getBabyFsList(page,limit,areaId,streetId,dateTime,type); + } + + /** + * 儿童建档总数 0-3岁 0-6岁 + * @param request + * @param page + * @param limit + * @param areaId + * @param streetId + * @param type + * @param dateTime + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getBabyBuildCountList") + @ResponseBody + @TokenRequired + public BaseResponse getBabyBuildCountList(HttpServletRequest request, + Integer page, Integer limit, + @RequestParam String areaId, + @RequestParam( required = false) String streetId, + @RequestParam Integer type, // 1 0-3岁总数 2 0-6岁总数 + @RequestParam Date dateTime) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return patientSyncMysqlFacade.getBabyBuildCountList(page,limit,areaId,streetId,dateTime,type); + } + + /** * 公共卫生项目统计 中医指导明细 * @param request * @param provinceId diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java index dfcdd17..acb9dfc 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientSyncMysqlFacade.java @@ -3250,7 +3250,7 @@ public class PatientSyncMysqlFacade extends BaseServiceImpl { */ private void getDateCount(String hospitalId,Date startDate, Date endDate,Map hospitalDate){ //传入的时间获取年的第一天 - Date startDateFirst=DateUtil.getYearFirst(DateUtil.getYear(startDate)); + Date startDateFirst = DateUtil.getYearFirst(DateUtil.getYear(startDate)); DecimalFormat df = new DecimalFormat("0.00");//格式化小数,不足的补0 @@ -3305,15 +3305,20 @@ public class PatientSyncMysqlFacade extends BaseServiceImpl { hospitalDate.put("data4",data3_data2+"%"); //0-3岁儿童总数 - int data5=0; - BabyModelQuery babyQuery=new BabyModelQuery(); + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setDataStatus(true);//排除自动建档数据 babyQuery.setYn(YnEnums.YES.getId()); babyQuery.setHospitalId(hospitalId); - babyQuery.setBirthStart(DateUtil.addYear(startDateFirst,-3)); - babyQuery.setBirthEnd(endDate); - data5 = babyBookbuildingService.queryBabyCount(babyQuery); + Date currentDate1 = DateUtil.formatDate(new Date()); + Date start1 = DateUtil.addMonth(currentDate1, 0); + babyQuery.setBirthEnd(start1); + Date end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -36 - 1), 1); + babyQuery.setBirthStart(end1); + babyQuery.setBuildDateEnd(endDate); + int data5 = babyBookbuildingService.queryBabyCount(babyQuery); int lastDate5= null==hospitalDate.get("data5")?0:Integer.parseInt(hospitalDate.get("data5").toString()); hospitalDate.put("data5",data5+lastDate5); + //0-3岁儿童系统管理人数 int data6=0; babyQuery.setLastCheckDoctor2(true); @@ -3679,4 +3684,132 @@ public class PatientSyncMysqlFacade extends BaseServiceImpl { return new BaseListResponse().setErrorcode(0).setErrormsg("成功") .setData(results).setPageInfo(babyModelQuery.getPageInfo()); } + + public BaseResponse getBabyFsList(Integer page, Integer limit, String areaId, String streetId, Date dateTime, Integer type) { + + + List results = new ArrayList<>(); + //获得区县下的街道 + List regions = getRegions(areaId,streetId); + List hospitalIds = new ArrayList<>(); + for (BasicConfig region : regions) { + //获得街道下的医院 + List organizations = getOrganization(region.getId()); + for (Organization organization : organizations) { + String hospitalId= StringUtils.getIntToVal(organization.getId()); + hospitalIds.add(hospitalId); + } + } + Date startDate=DateUtil.getDateMonthFirst(dateTime); + Date endDate=DateUtil.getDayLastSecond(DateUtil.getDateMonthLast(dateTime)); + + if (CollectionUtils.isNotEmpty(hospitalIds)) + { + Criteria criteria = Criteria. + where("yn").is("1") + .and("hospitalId").in(hospitalIds); + + if (type == 1) + { //本月访视人数 + criteria.and("checkTime").gte(startDate).lte(endDate); + } + else + { //累计访视人数 + criteria.and("checkTime").lte(endDate); + } + PageResult pageResult = findMongoPage(NewbornVisit.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); + List visits = (List ) pageResult.getGrid(); + if (CollectionUtils.isNotEmpty(visits)) + { + for (NewbornVisit visit : visits) + { + Map result = new HashMap(); + BabyModel model = babyBookbuildingService.queryBabyById(visit.getBabyId()); + result.put("babyName",model.getName()); + result.put("babySex",SexEnum.getTextById(model.getSex())); + result.put("babyWeight",visit.getWeightNow()); + result.put("babyHeight",visit.getHeight()); + result.put("fsDate",DateUtil.getyyyy_MM_dd(visit.getCheckTime())); + result.put("mommyName",model.getMname()); + result.put("mommyPhone",model.getMphone()); + result.put("mommyCertNo",model.getMcertNo()); + String fsHospital = organizationService.getOrganization(Integer.parseInt(visit.getHospitalId())).getName(); + result.put("fsHospital",fsHospital); + result.put("fsId",visit.getId()); + results.add(result); + } + } + return RespBuilder.buildSuccess(pageResult); + } + return new BaseListResponse(); + } + + public BaseResponse getBabyBuildCountList(Integer page, Integer limit, String areaId, String streetId, Date dateTime, Integer type) { + + List results = new ArrayList<>(); + //获得区县下的街道 + List regions = getRegions(areaId,streetId); + List hospitalIds = new ArrayList<>(); + for (BasicConfig region : regions) { + //获得街道下的医院 + List organizations = getOrganization(region.getId()); + for (Organization organization : organizations) { + String hospitalId= StringUtils.getIntToVal(organization.getId()); + hospitalIds.add(hospitalId); + } + } + + Date endDate=DateUtil.getDayLastSecond(DateUtil.getDateMonthLast(dateTime)); + BabyModelQuery babyQuery = new BabyModelQuery(); + if (CollectionUtils.isNotEmpty(hospitalIds)) + { + + babyQuery.setDataStatus(true);//排除自动建档数据 + babyQuery.setYn(YnEnums.YES.getId()); + babyQuery.setHospitalIdList(hospitalIds); + Date currentDate1 = DateUtil.formatDate(new Date()); + Date start1 = DateUtil.addMonth(currentDate1, 0); + babyQuery.setBirthEnd(start1); + + babyQuery.setBuildDateEnd(endDate); + + babyQuery.setPage(page); + babyQuery.setLimit(limit); + babyQuery.setNeed("Need"); + babyQuery.setOrder("birth"); + if (type == 1) + { //0-3岁儿童总数 + Date end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -36 - 1), 1); + babyQuery.setBirthStart(end1); + } + else + { //0-6岁儿童总数 + Date end1 = DateUtil.addDay(DateUtil.addMonth(currentDate1, -72 - 1), 1); + babyQuery.setBirthStart(end1); + } + List datas = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + if (CollectionUtils.isNotEmpty(datas)) + { + for (BabyModel model : datas) + { + Map result = new HashMap(); + result.put("babyName",model.getName()); + result.put("babySex",SexEnum.getTextById(model.getSex())); + result.put("babyWeight",model.getBabyWeight()); + result.put("babyHeight",model.getBabyHeight()); + result.put("buildDate",DateUtil.getyyyy_MM_dd(model.getBuildDate())); + result.put("mommyName",model.getMname()); + result.put("mommyPhone",model.getMphone()); + result.put("mommyCertNo",model.getMcertNo()); + String buildHospital = organizationService.getOrganization(Integer.parseInt(model.getHospitalId())).getName(); + result.put("buildHospital",buildHospital); + result.put("babyId",model.getId()); + results.add(result); + } + } + } + return new BaseListResponse().setErrorcode(0).setErrormsg("成功") + .setData(results).setPageInfo(babyQuery.getPageInfo()); + + } }