|
@ -35,7 +35,9 @@ import org.springframework.data.domain.PageRequest;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.persistence.Transient;
|
|
|
import javax.persistence.criteria.CriteriaBuilder;
|
|
|
import java.awt.print.Pageable;
|
|
|
import java.text.DecimalFormat;
|
|
@ -74,6 +76,8 @@ public class StatisticsService {
|
|
|
private SystemMessageDao messageDao;
|
|
|
@Autowired
|
|
|
private PatientDeviceDao patientDeviceDao;
|
|
|
@Autowired
|
|
|
private SystemMessageDao systemMessageDao;
|
|
|
|
|
|
private static final String defalutArea = "330100";
|
|
|
|
|
@ -1112,10 +1116,29 @@ public class StatisticsService {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public Page<SystemMessageDO> getAllDeviceLostMessage(String area,Integer page,Integer size){
|
|
|
PageRequest pageRequest = new PageRequest(page - 1, size);
|
|
|
Page<SystemMessageDO> systemMessageDOS = messageDao.getByType("43",pageRequest);
|
|
|
return systemMessageDOS;
|
|
|
public PageEnvelop getAllDeviceLostMessage(String area,Integer page,Integer size){
|
|
|
page = page>0?page-1:0;
|
|
|
String sql ="select GROUP_CONCAT(id) id,type,title,sender,sender_name senderName,\n" +
|
|
|
"receiver,receiver_name receiverName,relation_code relationCode,\n" +
|
|
|
"data,is_read isRead,create_time createTime,sender_photo\n" +
|
|
|
"from base_system_message where type=43 and del=1 GROUP BY relation_code order by createTime desc ";
|
|
|
|
|
|
Long count = jdbcTemplate.queryForObject(" select count(id) from ("+sql+")A ",Long.class);
|
|
|
sql +=" limit "+page*size+","+size ;
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
|
|
|
return PageEnvelop.getSuccessListWithPage("查询成功",list,page++,size,count);
|
|
|
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
|
public void delMessageRead(String msgId){
|
|
|
if (StringUtils.isNotBlank(msgId)){
|
|
|
String[] ids = msgId.split(",");
|
|
|
if (ids.length>0){
|
|
|
systemMessageDao.delMessage(ids);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public JSONObject deviceUsingInfo(String area){
|
|
@ -1142,6 +1165,7 @@ public class StatisticsService {
|
|
|
}
|
|
|
|
|
|
public PageEnvelop getSecurityOrderList(String area,String status, String svrDesc,String topicItem, Integer page, Integer pageSize){
|
|
|
page = page>1?page-1:0;
|
|
|
JSONArray result = new JSONArray();
|
|
|
|
|
|
String sqlCount = "select count(ord.id) from base_security_monitoring_order ord INNER JOIN base_patient p on p.id = ord.patient " +
|
|
@ -1215,6 +1239,56 @@ public class StatisticsService {
|
|
|
return PageEnvelop.getSuccessListWithPage("success",result,page,pageSize,count);
|
|
|
}
|
|
|
|
|
|
public JSONObject getSecurityTab(String area,String status,String svrDesc,String topicItem){
|
|
|
|
|
|
if (StringUtils.isNotBlank(area)){
|
|
|
|
|
|
}
|
|
|
|
|
|
JSONObject result = new JSONObject();
|
|
|
result.put("status_-2",0);//误报警
|
|
|
result.put("status_-1",0);//已取消
|
|
|
result.put("status_0",0);//已完成
|
|
|
result.put("status_1",0);//预警中
|
|
|
result.put("status_all",0);//
|
|
|
result.put("svr_all",0);//
|
|
|
|
|
|
Map<String,String> serverTmp = new HashMap<>();
|
|
|
|
|
|
String sql = " select py_code,dict_value from wlyy_hospital_sys_dict where dict_name='security_server_dict' ";
|
|
|
List<Map<String,Object>> servers = jdbcTemplate.queryForList(sql);
|
|
|
for (Map<String,Object> server:servers){
|
|
|
result.put("svr_"+server.get("py_code").toString(),0);
|
|
|
serverTmp.put(server.get("dict_value").toString(),server.get("py_code").toString());
|
|
|
}
|
|
|
sql = "select ord.status,ord.serve_desc,count(ord.id) count from base_security_monitoring_order ord INNER JOIN base_patient p on p.id = ord.patient " +
|
|
|
"where 1=1 ";
|
|
|
String fliter = " ";
|
|
|
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(status)){
|
|
|
fliter+=" and ord.status='"+Integer.parseInt(status)+"' ";
|
|
|
}
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(svrDesc)){
|
|
|
fliter+=" and ord.serve_desc='"+svrDesc+"' ";
|
|
|
}
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(topicItem)){
|
|
|
fliter+=" and ord.topic_item='"+topicItem+"' ";
|
|
|
}
|
|
|
fliter+=" group by ord.status,ord.serve_desc ";
|
|
|
List<Map<String,Object>> sqlResult = jdbcTemplate.queryForList(sql+fliter);
|
|
|
String pyCode = "";
|
|
|
for (Map<String,Object> map:sqlResult){
|
|
|
result.put("status_"+map.get("status"),result.getInteger("status_"+map.get("status"))+Integer.parseInt(map.get("count").toString()));
|
|
|
pyCode = serverTmp.get(map.get("serve_desc"))==null?null:serverTmp.get(map.get("serve_desc")).toString();
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(pyCode)){
|
|
|
result.put("svr_"+pyCode,result.getInteger("svr_"+pyCode)+Integer.parseInt(map.get("count").toString()));
|
|
|
result.put("status_all",result.getInteger("status_all")+Integer.parseInt(map.get("count").toString()));
|
|
|
result.put("svr_all",result.getInteger("svr_all")+Integer.parseInt(map.get("count").toString()));
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public JSONObject statisticsSecurityWarnInfo(String endDate,String area,Integer level,String index) throws Exception {
|
|
|
JSONObject res = new JSONObject();
|
|
|
String[] indexes = index.split(",");
|
|
@ -1264,7 +1338,7 @@ public class StatisticsService {
|
|
|
|
|
|
public JSONArray statisticsSecurityTrend(String startDate,String endDate,String area,Integer level,String index) throws Exception {
|
|
|
//安防总数
|
|
|
List<SaveModel> saveModels = elasticsearchUtil.findDateQuotaLevel0(startDate,endDate,area,level,index,SaveModel.timeLevel_ZL,SaveModel.interval_day,null);
|
|
|
List<SaveModel> saveModels = elasticsearchUtil.findDateQuotaLevel0(startDate,endDate,area,level,index,SaveModel.timeLevel_DDL,SaveModel.interval_day,null);
|
|
|
JSONArray jsonArray = new JSONArray();
|
|
|
for (SaveModel tmp:saveModels){
|
|
|
JSONObject jsonTmp = new JSONObject();
|