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, "查询失败!");
|
||
}
|
||
}
|
||
|
||
}
|