123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package com.diagbot.facade;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.diagbot.dto.BehospitalInfoDTO;
- import com.diagbot.service.impl.BehospitalInfoServiceImpl;
- import com.diagbot.util.SysUserUtils;
- import com.diagbot.vo.BehospitalPageVO;
- import org.springframework.stereotype.Component;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.List;
- /**
- * @Description:
- * @author: zhoutg
- * @time: 2020/4/12 11:39
- */
- @Component
- public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
- public IPage<BehospitalInfoDTO> pageFac(BehospitalPageVO behospitalPageVO) {
- behospitalPageVO.setHospitalId(SysUserUtils.getCurrentHospitalID());
- IPage<BehospitalInfoDTO> res = getPage(behospitalPageVO);
- List<BehospitalInfoDTO> behospitalInfoDTOList = res.getRecords();
- for (BehospitalInfoDTO behospitalInfo : behospitalInfoDTOList) {
- if (behospitalInfo != null && behospitalInfo.getBirthday() != null) {
- behospitalInfo.setAge(getAge(behospitalInfo.getBirthday()));
- }
- }
- return res;
- }
- /**
- * 通过日期计算年龄
- *
- * @param birthDay
- * @return
- */
- public int getAge(Date birthDay){
- Calendar cal = Calendar.getInstance();
- if (cal.before(birthDay)) { //出生日期晚于当前时间,无法计算
- return 0;
- // throw new IllegalArgumentException(
- // "The birthDay is before Now.It's unbelievable!");
- }
- int yearNow = cal.get(Calendar.YEAR); //当前年份
- int monthNow = cal.get(Calendar.MONTH); //当前月份
- int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH); //当前日期
- cal.setTime(birthDay);
- int yearBirth = cal.get(Calendar.YEAR);
- int monthBirth = cal.get(Calendar.MONTH);
- int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
- int age = yearNow - yearBirth; //计算整岁数
- if (monthNow <= monthBirth) {
- if (monthNow == monthBirth) {
- if (dayOfMonthNow < dayOfMonthBirth) age--;//当前日期在生日之前,年龄减一
- }else{
- age--;//当前月份在生日之前,年龄减一
- }
- }
- if (age < 0) {
- return 0;
- }
- return age;
- }
- }
|