From 86a0feaf0f3277a78e68e4ebfda4ee1b92959b49 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Tue, 04 Sep 2018 09:55:13 +0800
Subject: [PATCH] 优良天数

---
 src/main/java/com/moral/service/QualityDailyService.java          |    9 ++++
 src/main/java/com/moral/mapper/QualityDailyMapper.java            |    9 ++++
 src/main/resources/mapper/QualityDailyMapper.xml                  |   16 ++++++++
 src/main/java/com/moral/controller/ScreenController.java          |    9 ++--
 src/main/java/com/moral/service/impl/QualityDailyServiceImpl.java |   45 ++++++++++++++++++++++
 5 files changed, 84 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index 91f21b1..87ca7e3 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -110,6 +110,9 @@
 	@Resource
 	private WeatherService weatherService;
 	
+	@Resource 
+	private QualityDailyService qualityDailyService;
+
 	/**
 	 * Screen login. ������������
 	 * 
@@ -720,7 +723,7 @@
 	@ApiImplicitParams(value = {
 			@ApiImplicitParam(name = "accountId",defaultValue = "1", value = "���������������id", required = true, paramType = "query", dataType = "String"),
 			@ApiImplicitParam(name = "sensorKey",defaultValue = "e1,e2,e3", value = "���������key,���������������������������", required = true, paramType = "query", dataType = "String"), 
-			@ApiImplicitParam(name = "time",defaultValue = "", value = "������(long���������������)", required = false, paramType = "query", dataType = "String"), 
+			@ApiImplicitParam(name = "time",defaultValue = "", value = "������(long������������)", required = false, paramType = "query", dataType = "String"), 
 			@ApiImplicitParam(name = "interval",defaultValue = "30", value = "���������������������", required = true, paramType = "query", dataType = "Integer"),
 	})
 	public ResultBean<Map<String, Object>> getActualDataByRegion(HttpServletRequest request) throws Exception {
@@ -736,9 +739,7 @@
 	})
 	public ResultBean<Map<String, Object>> getQualityCountDayByRegion(HttpServletRequest request) throws Exception {
 		Map<String, Object> parameters = getParametersStartingWith(request, null);
-		//Map<String, Object> map = hangzhouAqiService.getQualityCountDayByRegion(parameters);
-		Map<String, Object> map = new HashMap<String, Object>();
-		map.put("count", 136);
+		Map<String, Object> map = qualityDailyService.getQualityCountDayByRegion(parameters);
 		return new ResultBean<Map<String, Object>>(map);
 	}
 }
diff --git a/src/main/java/com/moral/mapper/QualityDailyMapper.java b/src/main/java/com/moral/mapper/QualityDailyMapper.java
new file mode 100644
index 0000000..db38038
--- /dev/null
+++ b/src/main/java/com/moral/mapper/QualityDailyMapper.java
@@ -0,0 +1,9 @@
+package com.moral.mapper;
+
+import java.util.Map;
+
+public interface QualityDailyMapper {
+
+	Map<String, Object> getQualityCountDayByRegion(Map<String, Object> parameters);
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/moral/service/QualityDailyService.java b/src/main/java/com/moral/service/QualityDailyService.java
new file mode 100644
index 0000000..ce4b3b1
--- /dev/null
+++ b/src/main/java/com/moral/service/QualityDailyService.java
@@ -0,0 +1,9 @@
+package com.moral.service;
+
+import java.util.Map;
+
+public interface QualityDailyService {
+
+	Map<String, Object> getQualityCountDayByRegion(Map<String, Object> parameters);
+
+}
diff --git a/src/main/java/com/moral/service/impl/QualityDailyServiceImpl.java b/src/main/java/com/moral/service/impl/QualityDailyServiceImpl.java
new file mode 100644
index 0000000..bf94642
--- /dev/null
+++ b/src/main/java/com/moral/service/impl/QualityDailyServiceImpl.java
@@ -0,0 +1,45 @@
+package com.moral.service.impl;
+
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
+import java.time.temporal.TemporalAdjusters;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
+import com.moral.entity.Organization;
+import com.moral.mapper.OrganizationMapper;
+import com.moral.mapper.QualityDailyMapper;
+import com.moral.service.QualityDailyService;
+
+@Service
+public class QualityDailyServiceImpl implements QualityDailyService {
+
+	@Resource
+	private QualityDailyMapper qualityDailyMapper;
+	
+	@Resource
+	private OrganizationMapper organizationMapper;
+	
+	@Override
+	public Map<String, Object> getQualityCountDayByRegion(Map<String, Object> parameters) {
+		LocalDateTime localDateTime = LocalDateTime.now().truncatedTo(ChronoUnit.DAYS);
+		parameters.put("start", localDateTime.with(TemporalAdjusters.firstDayOfYear()));
+		parameters.put("end", localDateTime.with(TemporalAdjusters.firstDayOfNextYear()));
+		Organization organization = organizationMapper.selectByPrimaryKey(Integer.valueOf(parameters.get("organizationId").toString()));
+		Map<String, Object> resultMap = null;
+		if (!ObjectUtils.isEmpty(organization.getAreaCode())) {
+			parameters.put("cityCode", organization.getAreaCode());
+			resultMap = qualityDailyMapper.getQualityCountDayByRegion(parameters);
+		}
+		if (ObjectUtils.isEmpty(resultMap) || "0".equals(resultMap.get("count").toString())) {
+			parameters.put("cityCode", organization.getCityCode());
+			resultMap = qualityDailyMapper.getQualityCountDayByRegion(parameters);
+		}
+		return resultMap;
+	}
+
+}
diff --git a/src/main/resources/mapper/QualityDailyMapper.xml b/src/main/resources/mapper/QualityDailyMapper.xml
new file mode 100644
index 0000000..0e17f92
--- /dev/null
+++ b/src/main/resources/mapper/QualityDailyMapper.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.mapper.QualityDailyMapper">
+	<select id="getQualityCountDayByRegion" resultType="map">
+		SELECT
+			COUNT( * ) count 
+		FROM
+			quality_daily 
+		<where>
+			time >= #{start} 
+			AND time &lt; #{end} 
+			AND city_code = #{cityCode} 
+			AND quality &lt; 3		
+		</where>
+	</select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0