diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java index d473340..2d7bbb0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java @@ -599,4 +599,21 @@ public class BabyCheckController extends BaseController { public BaseResponse getQhdQhdBabyPsychology(@RequestParam(required = false) Integer mage) { return RespBuilder.buildSuccess(QhdBabyPsychologyEnums.getListMap(null!=mage?mage:null)); } + + + /** + * 查询每个医生 做的 儿保 心里 高危 营养等科室的总和 + * @param checkTime + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getBabyDoctorCount") + @ResponseBody + @TokenRequired + public BaseResponse getBabyDoctorCount(@RequestParam(required = true) String checkTime, + HttpServletRequest request) { + return babyCheckFacade.getBabyDoctorCount(checkTime, getUserId(request)); + } + + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java index 607a789..f31323f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java @@ -19,10 +19,7 @@ import com.lyms.platform.operate.web.service.PatientWeightService; import com.lyms.platform.operate.web.service.impl.BaseServiceImpl; import com.lyms.platform.operate.web.utils.MongoUtil; import com.lyms.platform.permission.dao.master.CouponMapper; -import com.lyms.platform.permission.model.CheckItem; -import com.lyms.platform.permission.model.Organization; -import com.lyms.platform.permission.model.PatientService; -import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.*; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; @@ -4568,4 +4565,55 @@ public class BabyCheckFacade extends BaseServiceImpl { mongoTemplate.aggregate(aggregation4, "lyms_babycheck", BasicDBObject.class); return outputTypeCount4.getMappedResults().size(); } + + public BaseResponse getBabyDoctorCount(String checkTime, Integer userId) { + + + String hospialId = autoMatchFacade.getHospitalId(userId); + UsersQuery query = new UsersQuery(); + query.setOrgId(Integer.parseInt(hospialId)); + query.setYn(YnEnums.YES.getId()); + List users = usersService.queryUsers(query); + + Date startDate = null; + Date endDate = null; + if (StringUtils.isNotEmpty(checkTime)) + { + String[] arrs = checkTime.split(" - "); + startDate = DateUtil.getDayFirstSecond(DateUtil.parseYMD(arrs[0])); + endDate = DateUtil.getDayLastSecond(DateUtil.parseYMD(arrs[1])); + } + + List datas = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(users)) + { + for (Users user : users) + { + Map data = new HashMap(); + Integer uId = user.getId(); + + //儿保检查 + int checkCount = (int)mongoTemplate.count(Query.query(Criteria.where("hospitalId").is(hospialId).and("checkDate").gte(startDate).lte(endDate).and("yn").is(YnEnums.YES.getId())),BabyCheckModel.class); + //营养专科 + int babyNutritioncount = (int)mongoTemplate.count(Query.query(Criteria.where("hospitalId").is(hospialId).and("checkDate").gte(startDate).lte(endDate).and("yn").is(YnEnums.YES.getId())),BabyNutritionSpecialtyModel.class); + //高危儿专科 + int babyHightcount = (int)mongoTemplate.count(Query.query(Criteria.where("hospitalId").is(hospialId).and("checkDate").gte(startDate).lte(endDate).and("yn").is(YnEnums.YES.getId())),BabyHighRiskBabyModel.class); + //心里专科 + int babyPsychologiscount = (int)mongoTemplate.count(Query.query(Criteria.where("hospitalId").is(hospialId).and("checkDate").gte(startDate).lte(endDate).and("yn").is(YnEnums.YES.getId())),BabyPsychologistModel.class); + + int count = checkCount+babyNutritioncount+babyHightcount+babyPsychologiscount; + if (count == 0) + { + continue; + } + data.put("doctorId",uId); + data.put("doctorName",user.getName()); + data.put("count",count); + + datas.add(data); + } + } + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setData(datas).setErrormsg("成功"); + + } } \ No newline at end of file