diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IBabyCheckDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IBabyCheckDao.java index 7a27d8d..8d976ac 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IBabyCheckDao.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IBabyCheckDao.java @@ -30,4 +30,6 @@ public interface IBabyCheckDao { List babyStatisticsManagerWeekAgeGroup(MongoQuery mongoQuery); void updateBabyCheckBirthByBuild(BabyModel babyModel); + + List babyCheckBuildIdGroup(MongoQuery mongoQuery); } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyCheckDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyCheckDaoImpl.java index 5324a44..15b9f07 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyCheckDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BabyCheckDaoImpl.java @@ -98,5 +98,12 @@ public class BabyCheckDaoImpl extends BaseMongoDAOImpl implement Update.update("birth", babyModel.getBirth()), BabyCheckModel.class); } - + @Override + public List babyCheckBuildIdGroup(MongoQuery mongoQuery) { + AggregationOperation match = Aggregation.match(mongoQuery.getCriteria()); + AggregationOperation group = Aggregation.group("buildId").max("created").as("created");; + Aggregation aggregation = Aggregation.newAggregation(match, group); + AggregationResults result = mongoTemplate.aggregate(aggregation, "lyms_babycheck", HashMap.class); + return result.getMappedResults(); + } } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java index c073110..a5e3709 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyCheckService.java @@ -157,4 +157,7 @@ public class BabyCheckService { babyCheckDao.updateBabyCheckBirthByBuild(babyModel); } + public List babyCheckBuildIdGroup(BabyCheckModelQuery babyCheckModelQuery) { + return babyCheckDao.babyCheckBuildIdGroup(babyCheckModelQuery.convertToQuery()); + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java index fdf5599..7638803 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java @@ -19,6 +19,7 @@ import com.lyms.platform.operate.web.result.QueryHospitalListResult; import com.lyms.platform.operate.web.utils.CollectionUtils; import com.lyms.platform.permission.model.BabyDiagnoseQuery; import com.lyms.platform.permission.service.CouponService; +import com.lyms.platform.query.BabyCheckModelQuery; import com.lyms.platform.query.BabyModelQuery; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -32,6 +33,7 @@ import javax.validation.Valid; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -1037,4 +1039,29 @@ public class BabyBuildController extends BaseController { LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); return babyBookbuildingFacade.queryBabyBuildStatistical(babyModelQuery, loginState.getId()); } + + /** + * 0-6岁儿童健康体检统计表 + * @param httpServletRequest + * @param checkDateStart + * @param checkDateEnd + * @param babyProvinceId 隆化定制省市县乡镇 + * @param babyCityId + * @param babyAreaId + * @param babyStreetId + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/queryBabyCheck0_6Statistical") + @ResponseBody + @TokenRequired + public BaseResponse queryBabyCheck0_6Statistical(HttpServletRequest httpServletRequest, + @RequestParam(value = "checkDateStart", required = false) Date checkDateStart, + @RequestParam(value = "checkDateEnd", required = false) Date checkDateEnd, + @RequestParam(value = "babyProvinceId", required = false) String babyProvinceId, + @RequestParam(value = "babyCityId", required = false) String babyCityId, + @RequestParam(value = "babyAreaId", required = false) String babyAreaId, + @RequestParam(value = "babyStreetId", required = false) String babyStreetId) { + LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); + return babyBookbuildingFacade.queryBabyCheck0_6Statistical(checkDateStart,checkDateEnd,babyProvinceId,babyCityId,babyAreaId,babyStreetId ,loginState.getId()); + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index 4f7480d..3b6142d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -6227,7 +6227,59 @@ public class BabyBookbuildingFacade { return new BaseObjectResponse().setData(map); } - public BaseResponse queryBabyCheck0_6Statistical(BabyModelQuery babyModelQuery, Integer id) { - return null; + public BaseResponse queryBabyCheck0_6Statistical(Date checkDateStart, Date checkDateEnd, String babyProvinceId, + String babyCityId, String babyAreaId, String babyStreetId, Integer userId) { + //儿保检查分组 + String hospitalId = autoMatchFacade.getHospitalId(userId); + BabyCheckModelQuery babyCheckModelQuery=new BabyCheckModelQuery(); + babyCheckModelQuery.setHospitalId(hospitalId); + babyCheckModelQuery.setYn(YnEnums.YES.getId()); + Date currentDate = DateUtil.formatDate(new Date()); + Date end_6 = DateUtil.addDay(DateUtil.addMonth(currentDate, -72 - 1), 1); + babyCheckModelQuery.setBirthStart(end_6); + babyCheckModelQuery.setBirthEnd(currentDate); + babyCheckModelQuery.setCheckDateStart(checkDateStart); + babyCheckModelQuery.setCheckDateEnd(DateUtil.getDayLastSecond(checkDateEnd)); + List hashMaps = babyCheckService.babyCheckBuildIdGroup(babyCheckModelQuery); + List result=new ArrayList<>(); + for (Map map : hashMaps) { + //儿童档案 + BabyModelQuery babyModelQuery=new BabyModelQuery(); + babyModelQuery.setId(map.get("_id").toString()); + if(StringUtils.isNotEmpty(babyProvinceId) && StringUtils.isNotEmpty(babyCityId) && + StringUtils.isNotEmpty(babyAreaId) && StringUtils.isNotEmpty(babyStreetId)){ + babyModelQuery.setBabyProvinceId(babyProvinceId); + babyModelQuery.setBabyCityId(babyCityId); + babyModelQuery.setBabyAreaId(babyAreaId); + babyModelQuery.setBabyStreetId(babyStreetId); + } + List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + for (BabyModel babyModel : babyModels) { + Map resultMap=new HashMap(); + String cunName=CommonsHelper.getName1(babyModel.getBabyStreetId(), basicConfigService); + resultMap.put("cunName",cunName); + resultMap.put("mName",babyModel.getMname()); + resultMap.put("name",babyModel.getName()); + resultMap.put("birth",DateUtil.getYyyyMmDd(babyModel.getBirth())); + resultMap.put("mPhone",babyModel.getMphone()); + //每个人的儿保检查信息 + babyCheckModelQuery=new BabyCheckModelQuery(); + babyCheckModelQuery.setBuildId(babyModel.getId()); + List babyCheckModels = babyCheckService.queryBabyCheckRecord(babyCheckModelQuery); + List tcTypeList=new ArrayList<>(); + for (BabyCheckModel babyCheckModel : babyCheckModels) { + Map tcTypeMap=new HashMap(); + tcTypeMap.put("tcType",babyCheckModel.getTcType()); + tcTypeMap.put("checkData",DateUtil.getMM_dd(babyCheckModel.getCheckDate())); + tcTypeList.add(tcTypeMap); + } + resultMap.put("tcTypeList",tcTypeList); + result.add(resultMap); + } + + } + + return new BaseObjectResponse().setData(result); + } } \ No newline at end of file