Commit 082b8cc985f96126db5d554ff1dfc2a8915a3982

Authored by litao@lymsh.com
1 parent fd552b59b1

建档统计

Showing 2 changed files with 71 additions and 12 deletions

platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java View file @ 082b8cc
... ... @@ -88,6 +88,37 @@
88 88 }
89 89  
90 90 /**
  91 + * 获取半年的时间
  92 + */
  93 + public static Date getHalfDay(Date date, Integer addHalt, Integer day) {
  94 + if(date != null) {
  95 + if(getMonth(date) > 6) {
  96 + Calendar calendar = Calendar.getInstance();
  97 + calendar.setTime(date);
  98 + calendar.set(Calendar.MONTH, day == 0 ? 6 + (addHalt + 1) * 6 : 6 + addHalt * 6);
  99 + calendar.set(Calendar.DAY_OF_MONTH, day);
  100 + return getYmdDate(calendar.getTime());
  101 + }
  102 + }
  103 + return null;
  104 + }
  105 +
  106 + /**
  107 + * 获取一年的时间
  108 + */
  109 + public static Date getYear(Date date, Integer addYear, Integer day) {
  110 + if(date != null) {
  111 + Calendar calendar = Calendar.getInstance();
  112 + calendar.setTime(date);
  113 + calendar.add(Calendar.YEAR, addYear);
  114 + calendar.set(Calendar.MONTH, day == 0 ? 11 : 0);
  115 + calendar.set(Calendar.DAY_OF_MONTH, day == 0 ? 31 : 1);
  116 + return getYmdDate(calendar.getTime());
  117 + }
  118 + return null;
  119 + }
  120 +
  121 + /**
91 122 * 1月~3月 4~6 7~9 10~11
92 123 * 获取当前时间属于哪个季度
93 124 * @param date
... ... @@ -1343,14 +1374,23 @@
1343 1374 System.out.println(" end>> " + getyyyy_MM_dd(map.get("end")));
1344 1375 }*/
1345 1376  
1346   - System.out.println("当月第一天: " + getMonthDay(new Date(), 0, 1).toLocaleString());
1347   - System.out.println("当月最后一天: " + getMonthDay(new Date(), 0, 0).toLocaleString());
1348   - System.out.println("上月第一天: " + getMonthDay(new Date(), -1, 1).toLocaleString());
1349   - System.out.println("上月最后一天: " + getMonthDay(new Date(), -1, 0).toLocaleString());
1350   - System.out.println("当前季度第一天: " + getQuartDay(new Date(), 0, 1).toLocaleString());
1351   - System.out.println("当前季度最后一天: " + getQuartDay(new Date(), 0, 0).toLocaleString());
1352   - System.out.println("上个季度第一天: " + getQuartDay(new Date(), -1, 1).toLocaleString());
1353   - System.out.println("上个季度最后一天: " + getQuartDay(new Date(), -1, 0).toLocaleString());
  1377 + Date date = parseDate("2017-12-11");
  1378 + System.out.println("当月第一天: " + getMonthDay(date, 0, 1).toLocaleString());
  1379 + System.out.println("当月最后一天: " + getMonthDay(date, 0, 0).toLocaleString());
  1380 + System.out.println("上月第一天: " + getMonthDay(date, -1, 1).toLocaleString());
  1381 + System.out.println("上月最后一天: " + getMonthDay(date, -1, 0).toLocaleString());
  1382 + System.out.println("当前季度第一天: " + getQuartDay(date, 0, 1).toLocaleString());
  1383 + System.out.println("当前季度最后一天: " + getQuartDay(date, 0, 0).toLocaleString());
  1384 + System.out.println("上个季度第一天: " + getQuartDay(date, -1, 1).toLocaleString());
  1385 + System.out.println("上个季度最后一天: " + getQuartDay(date, -1, 0).toLocaleString());
  1386 + System.out.println("半年的第一天: " + getHalfDay(date, 0, 1).toLocaleString());
  1387 + System.out.println("半年的最后一天: " + getHalfDay(date, 0, 0).toLocaleString());
  1388 + System.out.println("上个半年的第一天: " + getHalfDay(date, -1, 1).toLocaleString());
  1389 + System.out.println("上个半年的最后一天: " + getHalfDay(date, -1, 0).toLocaleString());
  1390 + System.out.println("当前年的第一天: " + getYear(date, 0, 1).toLocaleString());
  1391 + System.out.println("当前年的最后一天: " + getYear(date, 0, 0).toLocaleString());
  1392 + System.out.println("上一年的第一天: " + getYear(date, -1, 1).toLocaleString());
  1393 + System.out.println("上一年的最后一天: " + getYear(date, -1, 0).toLocaleString());
1354 1394 }
1355 1395  
1356 1396 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java View file @ 082b8cc
... ... @@ -371,17 +371,36 @@
371 371 Date beforeEnd = null;
372 372 switch (statistVal) { //1=月 2=季度 3=半年 4=年
373 373 case 1:
374   - start = DateUtil.getMonthDay(new Date(), 0, 1);
375   - end = DateUtil.getMonthDay(new Date(), 0, 0);
376   - beforeStart = DateUtil.getMonthDay(new Date(), -1, 1);
377   - beforeEnd = DateUtil.getMonthDay(new Date(), -1, 0);
  374 + start = DateUtil.getMonthDay(startDate, 0, 1);
  375 + end = DateUtil.getMonthDay(startDate, 0, 0);
  376 + beforeStart = DateUtil.getMonthDay(startDate, -1, 1);
  377 + beforeEnd = DateUtil.getMonthDay(startDate, -1, 0);
378 378 break;
379 379 case 2:
  380 + start = DateUtil.getQuartDay(startDate, 0, 1);
  381 + end = DateUtil.getQuartDay(startDate, 0, 0);
  382 + beforeStart = DateUtil.getQuartDay(startDate, -1, 1);
  383 + beforeEnd = DateUtil.getQuartDay(startDate, -1, 0);
380 384 break;
381 385 case 3:
  386 + start = DateUtil.getHalfDay(startDate, 0, 1);
  387 + end = DateUtil.getHalfDay(startDate, 0, 0);
  388 + beforeStart = DateUtil.getHalfDay(startDate, -1, 1);
  389 + beforeEnd = DateUtil.getHalfDay(startDate, -1, 0);
382 390 break;
383 391 case 4:
  392 + start = DateUtil.getYear(startDate, 0, 1);
  393 + end = DateUtil.getYear(startDate, 0, 0);
  394 + beforeStart = DateUtil.getYear(startDate, -1, 1);
  395 + beforeEnd = DateUtil.getYear(startDate, -1, 0);
384 396 break;
  397 + }
  398 + List<Map<String, Object>> hospitalInfos = mongoUtil.getHospitals(userId, provinceId, cityId, aredId, streetId);
  399 + List<String> hospitalIds = CollectionUtils.getListByKey(hospitalInfos, "id");
  400 + Criteria c = new Criteria();
  401 + c.and("hospitalId").in(hospitalIds).and("yn").ne(0).and("enable").ne("2").and("buildType").ne(1);
  402 + if(startDate != null && endDate != null) {
  403 + c.and("bookbuildingDate").gte(startDate).lt(DateUtil.addDay(endDate, 1));
385 404 }
386 405 }
387 406 lineMap.put("data", line);