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/common/config/BladeConfiguration.java                      |    1 
 src/main/java/org/springblade/modules/catalog/service/catalogService.java                |    2 
 src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml                   |    9 -
 src/main/java/org/springblade/modules/healthcode/service/impl/HealthcodeServiceImpl.java |   17 +++
 src/main/java/org/springblade/modules/healthcode/mapper/healthcodeMapper.xml             |   30 +++++-
 src/main/java/org/springblade/modules/healthcode/entity/healthcode.java                  |    4 
 src/main/java/org/springblade/modules/healthcode/mapper/healthcodeMapper.java            |    7 +
 src/main/java/org/springblade/modules/healthcode/service/IhealthcodeService.java         |    7 +
 src/main/java/org/springblade/modules/healthcode/controller/healthcodeController.java    |  148 +++++++++++++++++++++++++++++
 src/main/java/org/springblade/modules/catalog/controller/catalogController.java          |   20 +++-
 src/main/java/org/springblade/modules/catalog/service/impl/CatalogServiceImpl.java       |    4 
 src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.java                  |    2 
 12 files changed, 224 insertions(+), 27 deletions(-)

diff --git a/src/main/java/org/springblade/common/config/BladeConfiguration.java b/src/main/java/org/springblade/common/config/BladeConfiguration.java
index c506c06..3c45103 100644
--- a/src/main/java/org/springblade/common/config/BladeConfiguration.java
+++ b/src/main/java/org/springblade/common/config/BladeConfiguration.java
@@ -69,6 +69,7 @@
 		secureRegistry.excludePathPatterns("/catalogs/catalogs/**");
 		secureRegistry.excludePathPatterns("/position/position/**");
 		secureRegistry.excludePathPatterns("/deploy/deploy/**");
+		secureRegistry.excludePathPatterns("/healthcode/healthcode/**");
 		secureRegistry.excludePathPatterns("/feedback/feedback/**");
 		secureRegistry.excludePathPatterns("/netty/netty/**");
 		secureRegistry.excludePathPatterns("/regions/regions/**");
diff --git a/src/main/java/org/springblade/modules/catalog/controller/catalogController.java b/src/main/java/org/springblade/modules/catalog/controller/catalogController.java
index 8d2133c..03ab3be 100644
--- a/src/main/java/org/springblade/modules/catalog/controller/catalogController.java
+++ b/src/main/java/org/springblade/modules/catalog/controller/catalogController.java
@@ -35,10 +35,8 @@
 
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
 import java.util.regex.Pattern;
 
 /**
@@ -227,8 +225,20 @@
 		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 = catalogService.selectWar();
+		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
+		String endTime = df.format(new Date());// new Date()为获取当前系统时间
+		String beginTime = getPastDate(7);
+		List<Map<String, Object>> list = catalogService.selectWar(beginTime,endTime);
 		return R.data(list);
 	}
 
+	public static String getPastDate(int past) {
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);
+		Date today = calendar.getTime();
+		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+		String result = format.format(today);
+		return result;
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.java b/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.java
index 86d82c8..4602823 100644
--- a/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.java
+++ b/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.java
@@ -37,7 +37,7 @@
 	List<Map<String, Object>> selectCount();
 	List<Map<String, Object>> selectAddvcd();
 	List<Map<String, Object>> selectEq();
-	List<Map<String, Object>> selectWar();
+	List<Map<String, Object>> selectWar(String beginTime,String endTime);
 
 	List selectCatalogEqNUmber(String pid);
 }
diff --git a/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml b/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml
index 613ed16..c070591 100644
--- a/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml
+++ b/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml
@@ -60,16 +60,15 @@
       SELECT
 	COUNT(*) AS value,
 	s.addvcd,
-	d.addvnm as name
+	jfpth.blade_region.name as name
 FROM
 	sys_equipment s
-	INNER JOIN sys_district d ON d.addvcds = s.addvcd
+	INNER JOIN jfpth.blade_region on jfpth.blade_region.`code`=s.addvcd
 	WHERE s.parent_id!=0
-GROUP BY
-	s.addvcd
+	GROUP BY s.addvcd,jfpth.blade_region.name
     </select>
     <select id="selectWar" resultType="java.util.HashMap">
-     SELECT COUNT(*) as cou,waringType FROM `sys_alarm` GROUP BY waringType ORDER BY cou desc
+     SELECT COUNT(*) as cou,waringType FROM `sys_alarm` where DATE_FORMAT(alarmTime,'%Y-%m-%d')&gt;=#{beginTime} and DATE_FORMAT(alarmTime,'%Y-%m-%d')&lt;=#{endTime} GROUP BY waringType ORDER BY cou desc
     </select>
 
 
diff --git a/src/main/java/org/springblade/modules/catalog/service/catalogService.java b/src/main/java/org/springblade/modules/catalog/service/catalogService.java
index 188c422..9498ca5 100644
--- a/src/main/java/org/springblade/modules/catalog/service/catalogService.java
+++ b/src/main/java/org/springblade/modules/catalog/service/catalogService.java
@@ -38,5 +38,5 @@
 	List<Map<String, Object>> selectCount();
 	List<Map<String, Object>> selectAddvcd();
 	List<Map<String, Object>> selectEq();
-	List<Map<String, Object>> selectWar();
+	List<Map<String, Object>> selectWar(String beginTime,String endTime);
 }
diff --git a/src/main/java/org/springblade/modules/catalog/service/impl/CatalogServiceImpl.java b/src/main/java/org/springblade/modules/catalog/service/impl/CatalogServiceImpl.java
index 1de5130..3b1a919 100644
--- a/src/main/java/org/springblade/modules/catalog/service/impl/CatalogServiceImpl.java
+++ b/src/main/java/org/springblade/modules/catalog/service/impl/CatalogServiceImpl.java
@@ -67,7 +67,7 @@
 	}
 
 	@Override
-	public List<Map<String, Object>> selectWar() {
-		return baseMapper.selectWar();
+	public List<Map<String, Object>> selectWar(String beginTime,String endTime) {
+		return baseMapper.selectWar(beginTime, endTime);
 	}
 }
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();
+
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/healthcode/entity/healthcode.java b/src/main/java/org/springblade/modules/healthcode/entity/healthcode.java
index c215aee..01fea88 100644
--- a/src/main/java/org/springblade/modules/healthcode/entity/healthcode.java
+++ b/src/main/java/org/springblade/modules/healthcode/entity/healthcode.java
@@ -48,8 +48,8 @@
 	/**
 	* 姓名
 	*/
-		@ApiModelProperty(value = "姓名")
-		private String jname;
+		@ApiModelProperty(value = "性别")
+		private String sex;
 	/**
 	 * 省
 	 */
diff --git a/src/main/java/org/springblade/modules/healthcode/mapper/healthcodeMapper.java b/src/main/java/org/springblade/modules/healthcode/mapper/healthcodeMapper.java
index a8b7af5..94a0472 100644
--- a/src/main/java/org/springblade/modules/healthcode/mapper/healthcodeMapper.java
+++ b/src/main/java/org/springblade/modules/healthcode/mapper/healthcodeMapper.java
@@ -19,6 +19,9 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.springblade.modules.healthcode.entity.healthcode;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  *  Mapper 接口
  *
@@ -26,5 +29,7 @@
  * @since 2020-07-19
  */
 public interface healthcodeMapper extends BaseMapper<healthcode> {
-	int insert(String type, String jname, String province, String city, String district, String dtime);
+	int insert(String type, String sex, String province, String city, String district, String dtime);
+	List<Map<String, Object>> selectCountr(String time);
+	List<Map<String, Object>> selectCountz(String beginTime,String endTime);
 }
diff --git a/src/main/java/org/springblade/modules/healthcode/mapper/healthcodeMapper.xml b/src/main/java/org/springblade/modules/healthcode/mapper/healthcodeMapper.xml
index 5975c42..dd55646 100644
--- a/src/main/java/org/springblade/modules/healthcode/mapper/healthcodeMapper.xml
+++ b/src/main/java/org/springblade/modules/healthcode/mapper/healthcodeMapper.xml
@@ -6,7 +6,7 @@
     <resultMap id="healthcodeResultMap" type="org.springblade.modules.healthcode.entity.healthcode">
         <id column="id" property="id"/>
         <result column="type" property="type"/>
-        <result column="jname" property="jname"/>
+        <result column="sex" property="sex"/>
         <result column="province" property="province"/>
         <result column="city" property="city"/>
         <result column="district" property="district"/>
@@ -18,8 +18,8 @@
             <if test="type!=null and type!=''">
                 type,
             </if>
-            <if test="jname!=null and jname!=''">
-                jname,
+            <if test="sex!=null and sex!=''">
+                sex,
             </if>
             <if test="province!=null and province!=''">
                 province,
@@ -40,8 +40,8 @@
             <if test="type!=null and type!=''">
                 #{type},
             </if>
-            <if test="jname!=null and jname!=''">
-                #{jname},
+            <if test="sex!=null and sex!=''">
+                #{sex},
             </if>
             <if test="province!=null and province!=''">
                 #{province},
@@ -61,4 +61,24 @@
         insert into healthcode(<include refid="key"/>) values(<include refid="value"/>)
     </insert>
 
+    <select id="selectCountr" resultType="java.util.HashMap">
+     SELECT
+	COUNT( * ) AS num,
+	type
+FROM
+	healthcode
+WHERE
+DATE_FORMAT(dtime,'%Y-%m-%d')=#{time} GROUP BY type
+    </select>
+
+    <select id="selectCountz" resultType="java.util.HashMap">
+        SELECT
+        COUNT( * ) AS num,
+        type
+        FROM
+        healthcode
+        WHERE
+        DATE_FORMAT(dtime,'%Y-%m-%d')&gt;=#{beginTime} and DATE_FORMAT(dtime,'%Y-%m-%d')&lt;=#{endTime} GROUP BY type
+    </select>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/healthcode/service/IhealthcodeService.java b/src/main/java/org/springblade/modules/healthcode/service/IhealthcodeService.java
index ee6c72f..0dd947e 100644
--- a/src/main/java/org/springblade/modules/healthcode/service/IhealthcodeService.java
+++ b/src/main/java/org/springblade/modules/healthcode/service/IhealthcodeService.java
@@ -19,6 +19,9 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.springblade.modules.healthcode.entity.healthcode;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  *  服务类
  *
@@ -26,5 +29,7 @@
  * @since 2020-07-19
  */
 public interface IhealthcodeService extends IService<healthcode> {
-	int insert(String type, String jname, String province, String city, String district, String dtime);
+	int insert(String type, String sex, String province, String city, String district, String dtime);
+	List<Map<String, Object>> selectCountr(String time);
+	List<Map<String, Object>> selectCountz(String beginTime,String endTime);
 }
diff --git a/src/main/java/org/springblade/modules/healthcode/service/impl/HealthcodeServiceImpl.java b/src/main/java/org/springblade/modules/healthcode/service/impl/HealthcodeServiceImpl.java
index 11f9294..03ee4e4 100644
--- a/src/main/java/org/springblade/modules/healthcode/service/impl/HealthcodeServiceImpl.java
+++ b/src/main/java/org/springblade/modules/healthcode/service/impl/HealthcodeServiceImpl.java
@@ -23,6 +23,9 @@
 import org.springblade.modules.healthcode.service.IhealthcodeService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  *  服务实现类
  *
@@ -34,7 +37,17 @@
 public class HealthcodeServiceImpl extends ServiceImpl<healthcodeMapper, healthcode> implements IhealthcodeService {
 
 	@Override
-	public int insert(String type, String jname, String province, String city, String district, String dtime) {
-		return baseMapper.insert(type,jname,province,city,district,dtime);
+	public int insert(String type, String sex, String province, String city, String district, String dtime) {
+		return baseMapper.insert(type,sex,province,city,district,dtime);
+	}
+
+	@Override
+	public List<Map<String, Object>> selectCountr(String time) {
+		return baseMapper.selectCountr(time);
+	}
+
+	@Override
+	public List<Map<String, Object>> selectCountz(String beginTime, String endTime) {
+		return baseMapper.selectCountz(beginTime, endTime);
 	}
 }

--
Gitblit v1.9.3