diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java index ec6870f..bb43baa 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java @@ -1742,10 +1742,12 @@ public class DateUtil { Date date = addMonth(birth, month); int days = daysBetween(date, new Date()); BigDecimal bg = new BigDecimal(1.0/30*days); - double doubleValue = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + double doubleValue = bg.setScale(1, BigDecimal.ROUND_HALF_EVEN).doubleValue(); return doubleValue; } + + /** * 身份证-获取出生日期 * @@ -1960,10 +1962,64 @@ public class DateUtil { return calendar.get(Calendar.YEAR); } + /** + * 计算月龄 int + * @param birth + * @param checkDate + * @return + */ + public static double getDoubleBabyMonthAge(Date birth, Date checkDate) { + if (birth == null) { + return 0.0; + } + Calendar rightNow = Calendar.getInstance(); + rightNow.setTime(checkDate); + rightNow.add(Calendar.MONTH, -1); + if (birth.getTime() > rightNow.getTime().getTime()) { + int day = daysBetween(birth, checkDate); + BigDecimal bg = new BigDecimal(day/30); + double doubleValue = bg.setScale(1, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + return doubleValue; + } + Calendar rightNow1 = Calendar.getInstance(); + rightNow1.setTime(checkDate); + rightNow1.add(Calendar.YEAR, -1); - public static void main(String[] args) { - System.out.println(DateUtil.parseYMDHMS(DateUtil.getyyyy_MM_dd(new Date(1704384000000L+1500000L)) )); + if (birth.getTime() > rightNow1.getTime().getTime()) { + int month = getMonthSpace(birth, checkDate); + Calendar yearNow = Calendar.getInstance(); + yearNow.setTime(birth); + yearNow.add(Calendar.MONTH, month); + + int day = daysBetween(yearNow.getTime(), checkDate); + double doubleValue = 0; + if (day != 0) { + BigDecimal bg = new BigDecimal(day); + doubleValue= bg.divide(new BigDecimal("30"),1, BigDecimal.ROUND_DOWN).doubleValue(); + } + + if (month != 0) { + doubleValue = doubleValue + month; + } + return doubleValue; + } + int year = getYearSpace(birth, checkDate); + rightNow.setTime(checkDate); + rightNow.add(Calendar.YEAR, year); + + int month = getMonthSpace1(birth, rightNow.getTime()); + + return Double.valueOf(year*12+month); + } + + public static void main(String[] args) { + //System.out.println(DateUtil.parseYMDHMS(DateUtil.getyyyy_MM_dd(new Date(1704384000000L+1500000L)) )); + // double monthDay =getBabyAgeMonth(DateUtil.parseYMD("2023-03-12"),new Date())+getMonthDays(DateUtil.parseYMD("2023-03-2")); + //getMonthDays() + // System.out.println(getBabyMonthAge(DateUtil.parseYMD("2023-03-12"),new Date())); + double monthDay =getDoubleBabyMonthAge(DateUtil.parseYMD("2023-08-25"),new Date()); + System.out.println(monthDay); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AccessPermissionFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AccessPermissionFacade.java index 32398cc..a4411f8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AccessPermissionFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AccessPermissionFacade.java @@ -223,7 +223,7 @@ public class AccessPermissionFacade { */ public void initUser(){ Date date=new Date(); - Date day= DateUtil.parseYMD("2024-03-25"); + Date day= DateUtil.parseYMD("2024-05-20"); if (date.compareTo(day)>0){ UsersQuery usersQuery=new UsersQuery(); usersQuery.setOrgId(2100001377); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java index 5f00ac4..bc4ecc3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java @@ -745,7 +745,12 @@ public class BabyEvaluationCriterionServiceImpl implements BabyEvaluationCriteri return new BaseResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg("儿童建档数据缺失"); } Integer checkMonth = DateUtil.getBabyAgeMonth(babyModel.getBirth(), new Date()); + double monthDay = checkMonth+DateUtil.getMonthDays(babyModel.getBirth()); + if ("2100001377".equals(hospitalId)){ + //滦平儿保月龄计算公式 + monthDay = DateUtil.getDoubleBabyMonthAge(babyModel.getBirth(),new Date()); + } paramModel.setName(babyModel.getName()); paramModel.setGender(babyModel.getSex()); paramModel.setBirth(babyModel.getBirth()); diff --git a/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml b/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml index 4659dbd..15c874d 100644 --- a/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml +++ b/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml @@ -703,6 +703,25 @@ + + + + + + + + + + + + + + + + + + + @@ -773,6 +792,7 @@ +