From 71b6b716361c52af290493d365a328fc1a3467e2 Mon Sep 17 00:00:00 2001
From: nnnjjj123 <494715143@qq.com>
Date: Thu, 28 Jan 2021 11:15:06 +0800
Subject: [PATCH] 1.统计接口 2.健康码
---
src/main/java/org/springblade/modules/healthcode/controller/healthcodeController.java | 148 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 146 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/springblade/modules/healthcode/controller/healthcodeController.java b/src/main/java/org/springblade/modules/healthcode/controller/healthcodeController.java
index 1cb7d7d..ac4346a 100644
--- a/src/main/java/org/springblade/modules/healthcode/controller/healthcodeController.java
+++ b/src/main/java/org/springblade/modules/healthcode/controller/healthcodeController.java
@@ -35,6 +35,9 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
/**
* 控制器
@@ -118,11 +121,152 @@
* 新增或修改
*/
@PostMapping("/insterh")
- public R submit(String type, String jname, String province, String city, String district, String dtime, HttpServletResponse response) {
+ public R insterh(String type, String sex, String province, String city, String district, String dtime, HttpServletResponse response) {
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Allow-Credentials","true");
- ihealthcodeService.insert(type, jname, province, city, district, dtime);
+ ihealthcodeService.insert(type, sex, province, city, district, dtime);
return R.success("录入成功");
}
+
+ /**
+ * 统计接口
+ */
+ @PostMapping("/selectCount")
+ public R selectCount(String type, HttpServletResponse response) {
+ response.setHeader("Access-Control-Allow-Origin", "*");
+ response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
+ response.setHeader("Access-Control-Allow-Credentials","true");
+ List<Map<String, Object>> list = new ArrayList<>();
+ Date now = new Date();
+ Date time = new Date(now.getYear(), now.getMonth(), now.getDate());
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 设置时间格式
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(time);
+ // 判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了
+ int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天
+ if (1 == dayWeek) {
+ cal.add(Calendar.DAY_OF_MONTH, -1);
+ }
+ switch(type){
+ case "0" :
+ //日
+ String times = sdf.format(cal.getTime());
+ list=ihealthcodeService.selectCountr(times);
+ break;
+ case "1" :
+ System.out.println("要计算日期为:" + sdf.format(cal.getTime())); // 输出要计算日期
+ // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
+ cal.setFirstDayOfWeek(Calendar.MONDAY);
+ // 获得当前日期是一个星期的第几天
+ int day = cal.get(Calendar.DAY_OF_WEEK);
+ // 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
+ cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
+ cal.set(Calendar.HOUR, 0);
+ cal.set(Calendar.MINUTE, 0);
+ cal.set(Calendar.SECOND, 0);
+ String beginTime = sdf.format(cal.getTime());
+ Date mondayDate = cal.getTime();
+ cal.add(Calendar.DATE, 6);
+ cal.set(Calendar.HOUR, 23);
+ cal.set(Calendar.MINUTE, 59);
+ cal.set(Calendar.SECOND, 59);
+ String endTime = sdf.format(cal.getTime());
+ Date sundayDate = cal.getTime();
+ list = ihealthcodeService.selectCountz(beginTime, endTime);
+ //周
+ break;
+ default :
+ //月
+ Date d = new Date();
+ // 月初
+ System.out.println("月初" + sdf.format(getMonthStart(d)));
+ String beginTimes = sdf.format(getMonthStart(d));
+ // 月末
+ System.out.println("月末" + sdf.format(getMonthEnd(d)));
+ String endTimes = sdf.format(getMonthEnd(d));
+ list = ihealthcodeService.selectCountz(beginTimes, endTimes);
+ }
+
+ return R.data(list);
+ }
+
+// Date now = new Date();
+// Date time = new Date(now.getYear(), now.getMonth(), now.getDate());
+// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 设置时间格式
+// Calendar cal = Calendar.getInstance();
+// cal.setTime(time);
+// // 判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了
+// int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天
+// if (1 == dayWeek) {
+// cal.add(Calendar.DAY_OF_MONTH, -1);
+// }
+// System.out.println("要计算日期为:" + sdf.format(cal.getTime())); // 输出要计算日期
+// // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
+// cal.setFirstDayOfWeek(Calendar.MONDAY);
+// // 获得当前日期是一个星期的第几天
+// int day = cal.get(Calendar.DAY_OF_WEEK);
+// // 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
+// cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
+// cal.set(Calendar.HOUR, 0);
+// cal.set(Calendar.MINUTE, 0);
+// cal.set(Calendar.SECOND, 0);
+// String imptimeBegin = sdf.format(cal.getTime());
+// Date mondayDate = cal.getTime();
+// System.out.println("所在周星期一的日期:" + imptimeBegin);
+//
+// cal.add(Calendar.DATE, 6);
+// cal.set(Calendar.HOUR, 23);
+// cal.set(Calendar.MINUTE, 59);
+// cal.set(Calendar.SECOND, 59);
+//
+// String imptimeEnd = sdf.format(cal.getTime());
+// Date sundayDate = cal.getTime();
+// System.out.println("所在周星期日的日期:" + imptimeEnd);
+//
+// DateFormat datetimeDf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+// System.out.println("星期一的开始:"+datetimeDf.format(mondayDate));
+// System.out.println("星期天的结束:"+datetimeDf.format(sundayDate));
+
+//
+// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+// Date d = new Date();
+// // 月初
+// System.out.println("月初" + sdf.format(getMonthStart(d)));
+// // 月末
+// System.out.println("月末" + sdf.format(getMonthEnd(d)));
+
+
+ private static Date getMonthStart(Date date) {
+
+ Calendar calendar = Calendar.getInstance();
+
+ calendar.setTime(date);
+
+ int index = calendar.get(Calendar.DAY_OF_MONTH);
+
+ calendar.add(Calendar.DATE, (1 - index));
+
+ return calendar.getTime();
+
+ }
+
+
+
+ private static Date getMonthEnd(Date date) {
+
+ Calendar calendar = Calendar.getInstance();
+
+ calendar.setTime(date);
+
+ calendar.add(Calendar.MONTH, 1);
+
+ int index = calendar.get(Calendar.DAY_OF_MONTH);
+
+ calendar.add(Calendar.DATE, (-index));
+
+ return calendar.getTime();
+
+ }
+
}
--
Gitblit v1.9.3