557 lines
24 KiB
Plaintext
557 lines
24 KiB
Plaintext
|
|
package com.nationalelectric.greenH5;
|
|||
|
|
|
|||
|
|
|
|||
|
|
import java.util.ArrayList;
|
|||
|
|
import java.util.Date;
|
|||
|
|
import java.util.HashMap;
|
|||
|
|
import java.util.List;
|
|||
|
|
import java.util.Map;
|
|||
|
|
import java.util.UUID;
|
|||
|
|
|
|||
|
|
import javax.annotation.Resource;
|
|||
|
|
|
|||
|
|
import org.codehaus.jackson.map.ObjectMapper;
|
|||
|
|
import org.codehaus.jackson.type.TypeReference;
|
|||
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|||
|
|
import org.springframework.stereotype.Controller;
|
|||
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|||
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|||
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|||
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|||
|
|
|
|||
|
|
import com.nationalelectirc.Constant.Constant;
|
|||
|
|
import com.nationalelectirc.utils.RestResult;
|
|||
|
|
import com.nationalelectric.greenH5.bizc.BaseServiceImpl;
|
|||
|
|
import com.nationalelectric.greenH5.bizc.IGreenOperateLogBizc;
|
|||
|
|
import com.nationalelectric.greenH5.bizc.IGreenUserInfoBizc;
|
|||
|
|
import com.nationalelectric.greenH5.po.GreenUserInfo;
|
|||
|
|
import com.nationalelectric.greenH5.utils.DateTime;
|
|||
|
|
import com.nationalelectric.greenH5.utils.DateUtil;
|
|||
|
|
import com.sgcc.uap.persistence.IHibernateDao;
|
|||
|
|
|
|||
|
|
import okhttp3.Call;
|
|||
|
|
import okhttp3.FormBody;
|
|||
|
|
import okhttp3.OkHttpClient;
|
|||
|
|
import okhttp3.Request;
|
|||
|
|
import okhttp3.Response;
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* <b>概述</b>:<br>
|
|||
|
|
* <p>
|
|||
|
|
* <b>功能</b>:<br>
|
|||
|
|
*
|
|||
|
|
* @author chenweikang
|
|||
|
|
*/
|
|||
|
|
@Controller
|
|||
|
|
@RequestMapping("/greenMyHealthy")
|
|||
|
|
public class GreenMyHealthyController extends GreenBaseController {
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 用户controller
|
|||
|
|
*/
|
|||
|
|
@Resource
|
|||
|
|
private GreenUserInfoController greenUserInfoController;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 用户service
|
|||
|
|
*/
|
|||
|
|
@Resource
|
|||
|
|
private IGreenUserInfoBizc greenuserinfoBizc;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 字典表controller
|
|||
|
|
*/
|
|||
|
|
@Resource
|
|||
|
|
private GreenDictionaryInfoController greenDictionaryInfoController;
|
|||
|
|
@Resource
|
|||
|
|
private IGreenOperateLogBizc greenOperateLogBizc;
|
|||
|
|
/**
|
|||
|
|
* HibernateDao逻辑构件
|
|||
|
|
*/
|
|||
|
|
@Autowired
|
|||
|
|
IHibernateDao hibernateDao;
|
|||
|
|
|
|||
|
|
@Autowired
|
|||
|
|
private BaseServiceImpl baseService;
|
|||
|
|
/**
|
|||
|
|
* 获取访客统计
|
|||
|
|
*
|
|||
|
|
* @param stime
|
|||
|
|
* @param etime
|
|||
|
|
* @return
|
|||
|
|
*/
|
|||
|
|
@SuppressWarnings({ "unchecked", "unused" })
|
|||
|
|
@RequestMapping(value = "/saveMyHealthy", method = RequestMethod.POST)
|
|||
|
|
public @ResponseBody RestResult saveMyHealthy(@RequestBody Object requestBody) {
|
|||
|
|
|
|||
|
|
try {
|
|||
|
|
Map<String, Object> map = new ObjectMapper().convertValue(requestBody, new TypeReference<Map<String, Object>>(){});
|
|||
|
|
String userId = map.get("userId") == null || "".equals(map.get("userId")) ? null : map.get("userId").toString();
|
|||
|
|
GreenUserInfo info = getUserInfo(userId);
|
|||
|
|
if (info == null) {
|
|||
|
|
return new RestResult(Constant.FAILED, "非法用户");
|
|||
|
|
}
|
|||
|
|
String insertSql = "INSERT INTO green_healthy_record (uuid,temperature,cough,weak,breathe,discomfort_explain,"
|
|||
|
|
+ "contact_epidemic_area,contact_overseas_returning,user_id,user_phone,"
|
|||
|
|
+ " user_dpm,user_company,user_type,source,longitude,latitude,commit_time,creator,modifier,user_name,"
|
|||
|
|
+ "location,location_detail) "
|
|||
|
|
+ "VALUES(?,?,?,?,?,?,?,?,?,?,?, "
|
|||
|
|
+ " ?,?,?,?,?,DATE_FORMAT(?, '%Y-%m-%d %H:%i:%s'),?,?,?,?,?)";
|
|||
|
|
hibernateDao.updateWithSql(insertSql,new Object[] { UUID.randomUUID().toString(),map.get("temperature"),
|
|||
|
|
map.get("cough"),map.get("weak"),map.get("breathe"),map.get("discomfortExplain"),map.get("epidemic"),
|
|||
|
|
map.get("overseas"),map.get("userId"),info.getMobile(),info.getDepartmentName(),info.getOrgName(),0,0,
|
|||
|
|
map.get("longitude"),map.get("latitude"),map.get("commitTime"),map.get("userId"),map.get("userId"),info.getRealName(),
|
|||
|
|
map.get("location"),map.get("locationDetail")});
|
|||
|
|
|
|||
|
|
return new RestResult(Constant.SUCCESS, "提交成功", null);
|
|||
|
|
|
|||
|
|
} catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
return new RestResult(Constant.FAILED, "请求失败");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取访客统计
|
|||
|
|
*
|
|||
|
|
* @param stime
|
|||
|
|
* @param etime
|
|||
|
|
* @return
|
|||
|
|
*/
|
|||
|
|
@SuppressWarnings({ "unchecked", "unused" })
|
|||
|
|
@RequestMapping(value = "/getHealthyList", method = RequestMethod.POST)
|
|||
|
|
public @ResponseBody RestResult getHealthyList(@RequestBody Object requestBody) {
|
|||
|
|
|
|||
|
|
try {
|
|||
|
|
Map<String, Object> map = new ObjectMapper().convertValue(requestBody, new TypeReference<Map<String, Object>>(){});
|
|||
|
|
String userId = map.get("userId") == null || "".equals(map.get("userId")) ? null : map.get("userId").toString();
|
|||
|
|
GreenUserInfo info = getUserInfo(userId);
|
|||
|
|
if (info == null) {
|
|||
|
|
return new RestResult(Constant.FAILED, "非法用户");
|
|||
|
|
}
|
|||
|
|
HashMap<String, Object> content = new HashMap<String, Object>();
|
|||
|
|
String now = DateUtil.dateToStr(new Date(), "yyyy-MM-dd");
|
|||
|
|
|
|||
|
|
List<Map<String, Object>> dictionaryInfo = greenDictionaryInfoController.getDictionaryInfo("temperature");
|
|||
|
|
|
|||
|
|
|
|||
|
|
String querySql = "SELECT hr.user_name userName ,DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') commitTime,"
|
|||
|
|
+ "DATE_FORMAT(hr.commit_time,'%m-%d %H:%i') time,hr.temperature, "
|
|||
|
|
+ " CASE hr.source WHEN 1 THEN 'AI检测' ELSE '个人上报' END source,CASE hr.cough WHEN 0 THEN '否' ELSE '是' END cough "
|
|||
|
|
+ " FROM green_healthy_record hr WHERE hr.is_deleted = 'N' AND hr.user_type = 0 "
|
|||
|
|
+ " AND hr.user_id = ? AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') > ? AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') < ? "
|
|||
|
|
+ " GROUP BY hr.user_name, DATE_FORMAT(hr.commit_time,'%Y-%m-%d') order by hr.cough DESC, MIN(DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T')) desc";
|
|||
|
|
|
|||
|
|
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
|
|||
|
|
String startTime = DateUtil.addDays(-6,DateUtil.strToDateLong(now+" 00:00:01", "yyyy-MM-dd HH:mm:ss")).toString();
|
|||
|
|
list = hibernateDao.queryForListWithSql(querySql.toString(), new Object[]{ map.get("userId"),startTime,now+" 23:59:59"});
|
|||
|
|
HashMap<String, Object> rMap = new HashMap<String, Object>();
|
|||
|
|
HashMap<String, Object> categoriesmap = new HashMap<String, Object>();
|
|||
|
|
HashMap<String, Object> datamap = new HashMap<String, Object>();
|
|||
|
|
List<String> categoriesList = new ArrayList<String>();
|
|||
|
|
List<String> dataList = new ArrayList<String>();
|
|||
|
|
|
|||
|
|
List<Object> dataList2 = new ArrayList<Object>();
|
|||
|
|
|
|||
|
|
List<Object> seriesList = new ArrayList<Object>();
|
|||
|
|
for (int i = 0; i < list.size(); i++) {
|
|||
|
|
categoriesList.add(DateTime.dateToStr(DateTime.strToDateLong4(list.get(list.size()-1-i).get("commitTime").toString()),"MM-dd"));
|
|||
|
|
dataList.add(list.get(list.size()-1-i).get("temperature").toString());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
categoriesmap.put("categories", categoriesList);
|
|||
|
|
|
|||
|
|
datamap.put("name", "体温");
|
|||
|
|
datamap.put("data", dataList);
|
|||
|
|
datamap.put("color", "green");
|
|||
|
|
dataList2.add(datamap);
|
|||
|
|
categoriesmap.put("series", dataList2);
|
|||
|
|
rMap.put("tmpV", dictionaryInfo.get(0).get("data_value"));
|
|||
|
|
rMap.put("list", list);
|
|||
|
|
rMap.put("categoriesmap", categoriesmap);
|
|||
|
|
return new RestResult(Constant.SUCCESS, "请求成功",rMap);
|
|||
|
|
|
|||
|
|
} catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
return new RestResult(Constant.FAILED, "请求失败");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取访客统计
|
|||
|
|
*
|
|||
|
|
* @param stime
|
|||
|
|
* @param etime
|
|||
|
|
* @return
|
|||
|
|
*/
|
|||
|
|
@SuppressWarnings({ "unchecked", "unused" })
|
|||
|
|
@RequestMapping(value = "/getMyHealthyStatistics", method = RequestMethod.POST)
|
|||
|
|
public @ResponseBody RestResult getMyHealthyStatistics(String startDate,String endDate,String userId) {
|
|||
|
|
|
|||
|
|
try {
|
|||
|
|
HashMap<String, Object> content = new HashMap<String, Object>();
|
|||
|
|
|
|||
|
|
GreenUserInfo userInfo = getUserInfo(userId);
|
|||
|
|
|
|||
|
|
if (userInfo == null) {
|
|||
|
|
return new RestResult(Constant.FAILED, "非法用户");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
int role = -1;
|
|||
|
|
List<Map<String, Object>> dictionaryInfo = greenDictionaryInfoController.getDictionaryInfo("temperature");
|
|||
|
|
|
|||
|
|
String now = DateUtil.dateToStr(new Date(), "yyyy-MM-dd");
|
|||
|
|
String year = DateUtil.dateToStr(DateTime.strToDate(startDate, "yyyy-MM-dd"), "yyyy-MM-dd");
|
|||
|
|
endDate = DateUtil.dateToStr(DateTime.strToDate(endDate, "yyyy-MM-dd"), "yyyy-MM-dd");
|
|||
|
|
String startTime = year + " 00:00:01";
|
|||
|
|
String endTime = endDate + " 23:59:59";
|
|||
|
|
// String visitorSql = "SELECT count(t.name) total,t.name, 0 yc from (SELECT hr.user_dpm name,hr.user_name FROM green_healthy_record hr "
|
|||
|
|
// + " WHERE hr.is_deleted = 'N' AND hr.user_dpm IS NOT NULL AND hr.user_dpm != '' AND hr.user_company IS NOT NULL "
|
|||
|
|
// + " and hr.user_id is not NULL AND DATE_FORMAT( hr.commit_time, '%Y-%m-%d %T') > ? "
|
|||
|
|
// + "AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') < ? ";
|
|||
|
|
// if(!userInfo.getDepartmentName().equals("新技术应用事业部")){
|
|||
|
|
// visitorSql = visitorSql+ " AND hr.user_dpm = '" +userInfo.getDepartmentName() +"'";
|
|||
|
|
// }
|
|||
|
|
//
|
|||
|
|
// visitorSql = visitorSql+ " GROUP BY hr.user_dpm,DATE_FORMAT(hr.commit_time,'%Y-%m-%d'),hr.user_name )t GROUP BY t.name ";
|
|||
|
|
|
|||
|
|
String userRoleSql = "select t.role_id from green_user_role_rel t where t.user_id=?";
|
|||
|
|
List<HashMap<String, Object>> userRolelist = hibernateDao.queryForListWithSql(userRoleSql,
|
|||
|
|
new Object[] { userId });
|
|||
|
|
|
|||
|
|
role = -1;
|
|||
|
|
if(userRolelist.size()>0){
|
|||
|
|
role = Integer.valueOf(userRolelist.get(0).get("role_id").toString());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
String visitorSql = "";
|
|||
|
|
String visitorSql1 = "";
|
|||
|
|
|
|||
|
|
visitorSql = "SELECT name,if(isnull(tt.total),0,tt.total) as total, 0 yc FROM green_department dp LEFT JOIN "
|
|||
|
|
+ " ( SELECT count(t.dpm) total,t.dpm from (SELECT hr.user_dpm dpm , hr.user_name FROM green_healthy_record hr "
|
|||
|
|
+ " WHERE "
|
|||
|
|
+ " hr.is_deleted = 'N' AND DATE_FORMAT( hr.commit_time, '%Y-%m-%d %T') > ? "
|
|||
|
|
+ " AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') < ? " ;
|
|||
|
|
|
|||
|
|
if(role == 40){
|
|||
|
|
visitorSql = visitorSql+ " AND hr.user_dpm = '" +userInfo.getDepartmentName() +"'";
|
|||
|
|
visitorSql = visitorSql+ " GROUP BY hr.user_dpm,DATE_FORMAT(hr.commit_time,'%Y-%m-%d'),hr.user_name )t GROUP BY t.dpm "
|
|||
|
|
+ ") tt ON tt.dpm = dp.name where dp.parent_id = 40 ";
|
|||
|
|
|
|||
|
|
visitorSql = visitorSql+ " AND dp.name = '" +userInfo.getDepartmentName() +"'";
|
|||
|
|
visitorSql = visitorSql+ " ORDER BY dp.seq ASC ";
|
|||
|
|
|
|||
|
|
|
|||
|
|
visitorSql1 = "SELECT count(t.name) total,t.name from (SELECT hr.user_dpm name,hr.user_name FROM green_healthy_record hr "
|
|||
|
|
+ " WHERE hr.is_deleted = 'N' AND hr.user_dpm IS NOT NULL AND hr.user_dpm != '' AND hr.user_company IS NOT NULL "
|
|||
|
|
+ "AND hr.user_company='国网技术学院'"
|
|||
|
|
+ " AND (hr.temperature > ? or hr.cough = 1 or hr.weak = 1 or hr.breathe = 1 or hr.contact_epidemic_area = 1 or hr.contact_overseas_returning = 1 ) "
|
|||
|
|
+ " and hr.user_id is not NULL AND DATE_FORMAT( hr.commit_time, '%Y-%m-%d %T') > ? "
|
|||
|
|
+ "AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') < ? ";
|
|||
|
|
visitorSql1 = visitorSql1+ " GROUP BY hr.user_dpm,DATE_FORMAT(hr.commit_time,'%Y-%m-%d'),hr.user_name )t GROUP BY t.name ";
|
|||
|
|
|
|||
|
|
}else if(role == 41){
|
|||
|
|
visitorSql = visitorSql+ " GROUP BY hr.user_dpm,DATE_FORMAT(hr.commit_time,'%Y-%m-%d'),hr.user_name )t GROUP BY t.dpm "
|
|||
|
|
+ ") tt ON tt.dpm = dp.name where dp.parent_id = 40 ORDER BY dp.seq ASC ";
|
|||
|
|
visitorSql1 = "SELECT count(t.name) total,t.name from (SELECT hr.user_dpm name,hr.user_name FROM green_healthy_record hr "
|
|||
|
|
+ " WHERE hr.is_deleted = 'N' AND hr.user_dpm IS NOT NULL AND hr.user_dpm != '' AND hr.user_company IS NOT NULL "
|
|||
|
|
+ "AND hr.user_company='国网技术学院'"
|
|||
|
|
+ " AND (hr.temperature > ? or hr.cough = 1 or hr.weak = 1 or hr.breathe = 1 or hr.contact_epidemic_area = 1 or hr.contact_overseas_returning = 1 ) "
|
|||
|
|
+ " and hr.user_id is not NULL AND DATE_FORMAT( hr.commit_time, '%Y-%m-%d %T') > ? "
|
|||
|
|
+ "AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') < ? ";
|
|||
|
|
visitorSql1 = visitorSql1+ " GROUP BY hr.user_dpm,DATE_FORMAT(hr.commit_time,'%Y-%m-%d'),hr.user_name )t GROUP BY t.name ";
|
|||
|
|
|
|||
|
|
}else{
|
|||
|
|
|
|||
|
|
if(!userInfo.getDepartmentName().equals("新技术应用事业部")){
|
|||
|
|
visitorSql = visitorSql+ " AND hr.user_dpm = '" +userInfo.getDepartmentName() +"'";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(role > 20){
|
|||
|
|
visitorSql1 = "SELECT count(t.name) total,t.name from (SELECT hr.user_dpm name,hr.user_name FROM green_healthy_record hr "
|
|||
|
|
+ " WHERE hr.is_deleted = 'N' AND hr.user_dpm IS NOT NULL AND hr.user_dpm != '' AND hr.user_company IS NOT NULL "
|
|||
|
|
+ "AND hr.user_company='安徽公司_xt'"
|
|||
|
|
+ " AND (hr.temperature > ? or hr.cough = 1 or hr.weak = 1 or hr.breathe = 1 or hr.contact_epidemic_area = 1 or hr.contact_overseas_returning = 1 ) "
|
|||
|
|
+ " and hr.user_id is not NULL AND DATE_FORMAT( hr.commit_time, '%Y-%m-%d %T') > ? "
|
|||
|
|
+ "AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') < ? ";
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
visitorSql1 = "SELECT count(t.name) total,t.name from (SELECT hr.user_dpm name,hr.user_name FROM green_healthy_record hr "
|
|||
|
|
+ " WHERE hr.is_deleted = 'N' AND hr.user_dpm IS NOT NULL AND hr.user_dpm != '' AND hr.user_company IS NOT NULL AND"
|
|||
|
|
+ " (hr.temperature > ? or hr.cough = 1 or hr.weak = 1 or hr.breathe = 1 or hr.contact_epidemic_area = 1 or hr.contact_overseas_returning = 1 ) "
|
|||
|
|
+ " and hr.user_id is not NULL AND DATE_FORMAT( hr.commit_time, '%Y-%m-%d %T') > ? "
|
|||
|
|
+ "AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') < ? ";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
if(!userInfo.getDepartmentName().equals("新技术应用事业部") && !userInfo.getDepartmentName().equals("综合管理部")){
|
|||
|
|
visitorSql1 = visitorSql1+ " AND hr.user_dpm = '" +userInfo.getDepartmentName() +"'";
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// dictionaryInfo.get(i).get("data_value");
|
|||
|
|
|
|||
|
|
|
|||
|
|
if(role >20){
|
|||
|
|
visitorSql = visitorSql+ " GROUP BY hr.user_dpm,DATE_FORMAT(hr.commit_time,'%Y-%m-%d'),hr.user_name )t GROUP BY t.dpm "
|
|||
|
|
+ ") tt ON tt.dpm = dp.name where dp.parent_id =2 ORDER BY dp.seq ASC ";
|
|||
|
|
visitorSql1 = visitorSql1+ " GROUP BY hr.user_dpm,DATE_FORMAT(hr.commit_time,'%Y-%m-%d'),hr.user_name )t GROUP BY t.name ";
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
visitorSql = visitorSql+ " GROUP BY hr.user_dpm,DATE_FORMAT(hr.commit_time,'%Y-%m-%d'),hr.user_name )t GROUP BY t.dpm "
|
|||
|
|
+ ") tt ON tt.dpm = dp.name where dp.parent_id =1 ORDER BY dp.seq ASC ";
|
|||
|
|
visitorSql1 = visitorSql1+ " GROUP BY hr.user_dpm,DATE_FORMAT(hr.commit_time,'%Y-%m-%d'),hr.user_name )t GROUP BY t.name ";
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
List<HashMap<String, Object>> visitlist = hibernateDao.queryForListWithSql(visitorSql,
|
|||
|
|
new Object[] { startTime, endTime });
|
|||
|
|
|
|||
|
|
List<HashMap<String, Object>> retinuelist = hibernateDao.queryForListWithSql(visitorSql1,
|
|||
|
|
new Object[] { dictionaryInfo.get(0).get("data_value") ,startTime, endTime });
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
ArrayList<String> depList = new ArrayList<String>();
|
|||
|
|
|
|||
|
|
int total = 0;
|
|||
|
|
int ycTotal = 0;
|
|||
|
|
for (int i = 0; i < visitlist.size(); i++) {
|
|||
|
|
total = total + Integer.valueOf(visitlist.get(i).get("total").toString());
|
|||
|
|
for (int j = 0; j < retinuelist.size(); j++) {
|
|||
|
|
if(visitlist.get(i).get("name").equals(retinuelist.get(j).get("name"))){
|
|||
|
|
visitlist.get(i).put("yc", retinuelist.get(j).get("total").toString());
|
|||
|
|
ycTotal = ycTotal + Integer.valueOf(retinuelist.get(j).get("total").toString());
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
depList.clear();
|
|||
|
|
depList.add("全部");
|
|||
|
|
|
|||
|
|
if(userInfo.getDepartmentName().equals("新技术应用事业部") && !userInfo.getDepartmentName().equals("综合管理部")){
|
|||
|
|
String queryAllDeptSql = "SELECT gd.id,gd.name FROM GREEN_DEPARTMENT gd WHERE 1=1 AND gd.dp_sort!=0 and gd.parent_id = '1' and gd.is_deleted='N' ORDER BY gd.seq ASC";
|
|||
|
|
if(role >= 40){
|
|||
|
|
queryAllDeptSql = "SELECT gd.id,gd.name FROM GREEN_DEPARTMENT gd WHERE 1=1 AND gd.dp_sort!=0 and gd.parent_id = '40' and gd.is_deleted='N' ORDER BY gd.seq ASC";
|
|||
|
|
}else if(role > 20){
|
|||
|
|
queryAllDeptSql = "SELECT gd.id,gd.name FROM GREEN_DEPARTMENT gd WHERE 1=1 AND gd.dp_sort!=0 and gd.parent_id = '2' and gd.is_deleted='N' ORDER BY gd.seq ASC";
|
|||
|
|
}
|
|||
|
|
List<Map<String,Object>> queryAllDeptList = hibernateDao.queryForListWithSql(queryAllDeptSql);
|
|||
|
|
|
|||
|
|
|
|||
|
|
for(int i=0; i<queryAllDeptList.size(); i++){
|
|||
|
|
depList.add(queryAllDeptList.get(i).get("name").toString());
|
|||
|
|
}
|
|||
|
|
} else{
|
|||
|
|
if(role == 41){
|
|||
|
|
|
|||
|
|
String queryAllDeptSql = "SELECT gd.id,gd.name FROM GREEN_DEPARTMENT gd WHERE 1=1 AND gd.dp_sort!=0 and gd.parent_id = '40' and gd.is_deleted='N' ORDER BY gd.seq ASC";
|
|||
|
|
List<Map<String,Object>> queryAllDeptList = hibernateDao.queryForListWithSql(queryAllDeptSql);
|
|||
|
|
for(int i=0; i<queryAllDeptList.size(); i++){
|
|||
|
|
depList.add(queryAllDeptList.get(i).get("name").toString());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}else{
|
|||
|
|
depList.add(userInfo.getDepartmentName());
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// [{name=互联网部, total=5, ty=0}, {name=发展策划部, total=1, ty=0}, {name=后勤工作部, total=2, ty=2}]
|
|||
|
|
Map<String, Object> rMap = new HashMap<String, Object>();
|
|||
|
|
HashMap<String, Object> totalmap = new HashMap<String, Object>();
|
|||
|
|
rMap.put("total", total);
|
|||
|
|
rMap.put("tmpV", dictionaryInfo.get(0).get("data_value"));
|
|||
|
|
rMap.put("ycTotal", ycTotal);
|
|||
|
|
rMap.put("depList", depList);
|
|||
|
|
rMap.put("visitlist", visitlist);
|
|||
|
|
return new RestResult(Constant.SUCCESS, "请求成功", rMap);
|
|||
|
|
|
|||
|
|
} catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
return new RestResult(Constant.FAILED, "请求失败");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
/**
|
|||
|
|
* 查询我的预约申请列表和我的邀约列表
|
|||
|
|
*
|
|||
|
|
* @param result
|
|||
|
|
* @return
|
|||
|
|
*/
|
|||
|
|
@SuppressWarnings("unchecked")
|
|||
|
|
@RequestMapping(value = "/getMyHealthyDetailed", method = RequestMethod.POST)
|
|||
|
|
public @ResponseBody RestResult getMyHealthyDetailed(String startDate,String endDate,String depName,String page,String userId,String type) {
|
|||
|
|
|
|||
|
|
try {
|
|||
|
|
|
|||
|
|
startDate = DateUtil.dateToStr(DateTime.strToDate(startDate, "yyyy-MM-dd"), "yyyy-MM-dd");
|
|||
|
|
endDate = DateUtil.dateToStr(DateTime.strToDate(endDate, "yyyy-MM-dd"), "yyyy-MM-dd");
|
|||
|
|
String startTime = startDate + " 00:00:01";
|
|||
|
|
String endTime = endDate + " 23:59:59";
|
|||
|
|
|
|||
|
|
GreenUserInfo userInfo = getUserInfo(userId);
|
|||
|
|
|
|||
|
|
if (userInfo == null) {
|
|||
|
|
return new RestResult(Constant.FAILED, "非法用户");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
String pageSize = "20";
|
|||
|
|
String userRoleSql = "select t.role_id from green_user_role_rel t where t.user_id=?";
|
|||
|
|
List<HashMap<String, Object>> userRolelist = hibernateDao.queryForListWithSql(userRoleSql,
|
|||
|
|
new Object[] { userId });
|
|||
|
|
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
|
|||
|
|
StringBuffer querySql = new StringBuffer();
|
|||
|
|
ArrayList<Object> params = new ArrayList<Object>();
|
|||
|
|
int role = -1;
|
|||
|
|
if(userRolelist.size()>0){
|
|||
|
|
role = Integer.valueOf(userRolelist.get(0).get("role_id").toString());
|
|||
|
|
}
|
|||
|
|
if(role >= 40){
|
|||
|
|
|
|||
|
|
querySql.append( " SELECT DATE_FORMAT(hr.commit_time,'%m-%d %H:%i') time,hr.user_name name,CASE hr.source WHEN 1 THEN 'AI检测' ELSE '个人上报' END source,"
|
|||
|
|
+ "CASE hr.cough WHEN 0 THEN '否' ELSE '是' END cough "
|
|||
|
|
+ ",hr.temperature,hr.user_name FROM green_healthy_record hr "
|
|||
|
|
+ " WHERE hr.is_deleted = 'N' AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') > ? "
|
|||
|
|
|
|||
|
|
// querySql.append( " SELECT DATE_FORMAT(hr.commit_time,'%m-%d %H:%i') time,hr.user_name name,CASE hr.source WHEN 1 THEN '监测' ELSE '手机' END source,CASE hr.cough WHEN 0 THEN '否' ELSE '是' END cough "
|
|||
|
|
// + ",hr.temperature,hr.user_name FROM green_healthy_record hr WHERE hr.is_deleted = 'N' AND hr.user_dpm IS NOT NULL AND hr.user_dpm != '' "
|
|||
|
|
// + " AND hr.user_company IS NOT NULL AND hr.user_id IS NOT NULL AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') > ? "
|
|||
|
|
//
|
|||
|
|
// querySql.append( " SELECT DATE_FORMAT(hr.commit_time,'%m-%d %H:%i') time,hr.user_name name,CASE hr.source WHEN 1 THEN 'AI检测' ELSE '个人上报' END source,CASE hr.cough WHEN 0 THEN '否' ELSE '是' END cough "
|
|||
|
|
// + ",hr.temperature,hr.user_name FROM green_healthy_record hr WHERE hr.is_deleted = 'N' AND hr.user_dpm IS NOT NULL AND hr.user_dpm != '' "
|
|||
|
|
// + " AND hr.user_company IS NOT NULL AND hr.user_id IS NOT NULL AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') > ? "
|
|||
|
|
|
|||
|
|
+ " AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') <? ");
|
|||
|
|
|
|||
|
|
params.add(startTime);
|
|||
|
|
params.add(endTime);
|
|||
|
|
if(type.equals("异常")){
|
|||
|
|
List<Map<String, Object>> dictionaryInfo = greenDictionaryInfoController.getDictionaryInfo("temperature");
|
|||
|
|
querySql.append(" AND (hr.temperature > ? or hr.cough = 1 or hr.weak = 1 or hr.breathe = 1 or hr.contact_epidemic_area = 1 or hr.contact_overseas_returning = 1) ");
|
|||
|
|
params.add(dictionaryInfo.get(0).get("data_value"));
|
|||
|
|
}
|
|||
|
|
// if(userInfo.getDepartmentName().equals("技术学院")){
|
|||
|
|
if(role == 41){
|
|||
|
|
if(!depName.equals("全部")){
|
|||
|
|
querySql.append(" and hr.user_dpm= ? ");
|
|||
|
|
params.add(depName);
|
|||
|
|
}else{
|
|||
|
|
querySql.append("and hr.user_dpm in (select name FROM green_department WHERE 1 = 1 AND parent_id = '40')");
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}else{
|
|||
|
|
if(!depName.equals("全部")){
|
|||
|
|
querySql.append(" and hr.user_dpm= ? ");
|
|||
|
|
params.add(depName);
|
|||
|
|
} else{
|
|||
|
|
// querySql.append("and hr.user_dpm =" +);
|
|||
|
|
if(!depName.equals("全部")){
|
|||
|
|
querySql.append(" and hr.user_dpm= ? ");
|
|||
|
|
params.add(userInfo.getDepartmentName());
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
// }
|
|||
|
|
// else{
|
|||
|
|
// // if(!depName.equals("全部")){
|
|||
|
|
// querySql.append(" and iu.department_name= ? ");
|
|||
|
|
// params.add(userInfo.getDepartmentName());
|
|||
|
|
// // }
|
|||
|
|
// }
|
|||
|
|
// 排序
|
|||
|
|
if(page.matches("\\d+") && pageSize.matches("\\d+")){
|
|||
|
|
Integer x = Integer.valueOf(page);
|
|||
|
|
Integer y = Integer.valueOf(pageSize);
|
|||
|
|
params.add((x-1)*y);
|
|||
|
|
params.add(y);
|
|||
|
|
querySql.append(" ORDER BY commit_time DESC LIMIT ?,?");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}else{
|
|||
|
|
|
|||
|
|
|
|||
|
|
querySql.append( " SELECT DATE_FORMAT(hr.commit_time,'%m-%d %H:%i') time,hr.user_name name,CASE hr.source WHEN 1 THEN 'AI检测' ELSE '个人上报' END source,"
|
|||
|
|
+ "CASE hr.cough WHEN 0 THEN '否' ELSE '是' END cough "
|
|||
|
|
+ ",hr.temperature,hr.user_name FROM green_healthy_record hr INNER JOIN green_internal_user iu ON hr.user_phone = iu.phone "
|
|||
|
|
+ " WHERE hr.is_deleted = 'N' AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') > ? "
|
|||
|
|
|
|||
|
|
// querySql.append( " SELECT DATE_FORMAT(hr.commit_time,'%m-%d %H:%i') time,hr.user_name name,CASE hr.source WHEN 1 THEN '监测' ELSE '手机' END source,CASE hr.cough WHEN 0 THEN '否' ELSE '是' END cough "
|
|||
|
|
// + ",hr.temperature,hr.user_name FROM green_healthy_record hr WHERE hr.is_deleted = 'N' AND hr.user_dpm IS NOT NULL AND hr.user_dpm != '' "
|
|||
|
|
// + " AND hr.user_company IS NOT NULL AND hr.user_id IS NOT NULL AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') > ? "
|
|||
|
|
//
|
|||
|
|
// querySql.append( " SELECT DATE_FORMAT(hr.commit_time,'%m-%d %H:%i') time,hr.user_name name,CASE hr.source WHEN 1 THEN 'AI检测' ELSE '个人上报' END source,CASE hr.cough WHEN 0 THEN '否' ELSE '是' END cough "
|
|||
|
|
// + ",hr.temperature,hr.user_name FROM green_healthy_record hr WHERE hr.is_deleted = 'N' AND hr.user_dpm IS NOT NULL AND hr.user_dpm != '' "
|
|||
|
|
// + " AND hr.user_company IS NOT NULL AND hr.user_id IS NOT NULL AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') > ? "
|
|||
|
|
|
|||
|
|
+ " AND DATE_FORMAT(hr.commit_time,'%Y-%m-%d %T') <? ");
|
|||
|
|
|
|||
|
|
|
|||
|
|
params.add(startTime);
|
|||
|
|
params.add(endTime);
|
|||
|
|
if(type.equals("异常")){
|
|||
|
|
List<Map<String, Object>> dictionaryInfo = greenDictionaryInfoController.getDictionaryInfo("temperature");
|
|||
|
|
querySql.append(" AND (hr.temperature > ? or hr.cough = 1 or hr.weak = 1 or hr.breathe = 1 or hr.contact_epidemic_area = 1 or hr.contact_overseas_returning = 1) ");
|
|||
|
|
params.add(dictionaryInfo.get(0).get("data_value"));
|
|||
|
|
}
|
|||
|
|
if(userInfo.getDepartmentName().equals("新技术应用事业部")){
|
|||
|
|
// if(!depName.equals("全部")){
|
|||
|
|
// querySql.append(" and iu.department= ? ");
|
|||
|
|
// params.add(depName);
|
|||
|
|
// }else{
|
|||
|
|
// querySql.append("and hr.user_dpm in (select name FROM green_department WHERE 1 = 1 AND parent_id = '2')");
|
|||
|
|
//
|
|||
|
|
// }
|
|||
|
|
if(role >20){
|
|||
|
|
if(!depName.equals("全部")){
|
|||
|
|
querySql.append(" and iu.department_name= ? ");
|
|||
|
|
params.add(depName);
|
|||
|
|
}else{
|
|||
|
|
querySql.append("and hr.user_dpm in (select name FROM green_department WHERE 1 = 1 AND parent_id = '2')");
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}else{
|
|||
|
|
if(!depName.equals("全部")){
|
|||
|
|
querySql.append(" and iu.department_name= ? ");
|
|||
|
|
params.add(depName);
|
|||
|
|
} else{
|
|||
|
|
querySql.append("and hr.user_dpm in (select name FROM green_department WHERE 1 = 1 AND parent_id = '1')");
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}else{
|
|||
|
|
// if(!depName.equals("全部")){
|
|||
|
|
querySql.append(" and iu.department= ? ");
|
|||
|
|
params.add(userInfo.getDepartmentName());
|
|||
|
|
// }
|
|||
|
|
}
|
|||
|
|
// 排序
|
|||
|
|
if(page.matches("\\d+") && pageSize.matches("\\d+")){
|
|||
|
|
Integer x = Integer.valueOf(page);
|
|||
|
|
Integer y = Integer.valueOf(pageSize);
|
|||
|
|
params.add((x-1)*y);
|
|||
|
|
params.add(y);
|
|||
|
|
querySql.append(" ORDER BY commit_time DESC LIMIT ?,?");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
list = hibernateDao.queryForListWithSql(querySql.toString(),params.toArray());
|
|||
|
|
return new RestResult(Constant.SUCCESS, "查询成功", list);
|
|||
|
|
}catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
return new RestResult(Constant.FAILED, "查询失败!");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|