diff --git a/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java b/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java index 1b5858c..60d5ec7 100644 --- a/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java +++ b/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java @@ -11,6 +11,7 @@ import com.casic.PgInterface.devTable.dto.PgAlarmTjDto; import com.casic.PgInterface.patroler.domain.PgUser; import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; +import com.casic.PgInterface.patroler.manager.PgAlarmRuleManager; import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.apache.poi.util.StringUtil; import org.hibernate.Criteria; @@ -39,6 +40,9 @@ @Resource private PgDeviceManager pgDeviceManager; + @Resource + private PgAlarmRuleManager pgAlarmRuleManager; + public List getAlarmByTypeAndTime(String alarmType,String startTime,String endTime){ try { Criteria criteria = createCriteria(PgAlarm.class); @@ -118,6 +122,21 @@ return Integer.parseInt(String.valueOf(object)); } + public int getDayAlarmNum(String isDevFault) { + + String hql = "select count(distinct pgAlarm.alarmDevId) from PgAlarm pgAlarm where to_char(pgAlarm.alarmDate, 'yyyy-MM-dd') = to_char(sysdate,'yyyy-MM-dd')"; + + if (isDevFault != null) { + if (isDevFault.equals("true")) + hql = hql + " and pgAlarm.alarmTypeId.alarmType = '设备运行状态报警'"; + else { + hql = hql + " and pgAlarm.alarmTypeId.alarmType != '设备运行状态报警'"; + } + } + Object object = getSession().createQuery(hql).uniqueResult(); + return Integer.parseInt(String.valueOf(object)); + } + public List getDayAlarmStatistic() { String today=DateUtils.sdf_day.format(new Date()); String startDay=pgInPgStatusManager.getStartDayString(); @@ -137,11 +156,11 @@ return pgAlarmTjDtoList; } - public List getAlarmList(String isDevFault) { + public List getAlarmList(String isDevFault, String alarmDate) { PgAlarmType pgAlarmType=pgAlarmTypeManager.getAlarmTypeByAlarmType("设备运行状态报警"); - String hql="from PgAlarm a where a.active = 1"; + String hql="from PgAlarm a where a.active = 1 and to_char(a.alarmDate, 'yyyymmdd') = " + alarmDate; if(StringUtils.isNotBlank(isDevFault)) if(isDevFault.equals("true")) diff --git a/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java b/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java index 1b5858c..60d5ec7 100644 --- a/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java +++ b/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java @@ -11,6 +11,7 @@ import com.casic.PgInterface.devTable.dto.PgAlarmTjDto; import com.casic.PgInterface.patroler.domain.PgUser; import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; +import com.casic.PgInterface.patroler.manager.PgAlarmRuleManager; import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.apache.poi.util.StringUtil; import org.hibernate.Criteria; @@ -39,6 +40,9 @@ @Resource private PgDeviceManager pgDeviceManager; + @Resource + private PgAlarmRuleManager pgAlarmRuleManager; + public List getAlarmByTypeAndTime(String alarmType,String startTime,String endTime){ try { Criteria criteria = createCriteria(PgAlarm.class); @@ -118,6 +122,21 @@ return Integer.parseInt(String.valueOf(object)); } + public int getDayAlarmNum(String isDevFault) { + + String hql = "select count(distinct pgAlarm.alarmDevId) from PgAlarm pgAlarm where to_char(pgAlarm.alarmDate, 'yyyy-MM-dd') = to_char(sysdate,'yyyy-MM-dd')"; + + if (isDevFault != null) { + if (isDevFault.equals("true")) + hql = hql + " and pgAlarm.alarmTypeId.alarmType = '设备运行状态报警'"; + else { + hql = hql + " and pgAlarm.alarmTypeId.alarmType != '设备运行状态报警'"; + } + } + Object object = getSession().createQuery(hql).uniqueResult(); + return Integer.parseInt(String.valueOf(object)); + } + public List getDayAlarmStatistic() { String today=DateUtils.sdf_day.format(new Date()); String startDay=pgInPgStatusManager.getStartDayString(); @@ -137,11 +156,11 @@ return pgAlarmTjDtoList; } - public List getAlarmList(String isDevFault) { + public List getAlarmList(String isDevFault, String alarmDate) { PgAlarmType pgAlarmType=pgAlarmTypeManager.getAlarmTypeByAlarmType("设备运行状态报警"); - String hql="from PgAlarm a where a.active = 1"; + String hql="from PgAlarm a where a.active = 1 and to_char(a.alarmDate, 'yyyymmdd') = " + alarmDate; if(StringUtils.isNotBlank(isDevFault)) if(isDevFault.equals("true")) diff --git a/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java b/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java index 735eaa4..20377e7 100644 --- a/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java +++ b/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java @@ -21,10 +21,7 @@ import javax.persistence.ParameterMode; import javax.persistence.criteria.CriteriaBuilder; import java.math.BigDecimal; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service public class PGTagPositionManager extends HibernateEntityDao{ @@ -138,4 +135,41 @@ return result; } + public List> getPersonInPgByAcuList(String acuList) { + List> result = new ArrayList<>(); + try { + //读取定位信息 + tagmacRun.getMacPosition(); + + String[] acus = acuList.split(","); + acuList = ""; + for ( int i = 0; i < acus.length; i++) { + acuList += "'" + acus[i] + "'" + ","; + } + acuList = acuList.substring(0, acuList.length() - 1); + + String sql = "select partition, count(*) from PG_POSITION_TAG_DEV t where partition in (" + + acuList + + ") and parsedtime > sysdate-3 * 365 group by partition"; + + List objects = this.getSession().createSQLQuery(sql).list(); + if (objects.isEmpty() == false) { + for (Object[] item: objects ) { + Map obj = new HashMap<>(); + obj.put("acu", item[0]); + obj.put("person", ((Number) item[1]).intValue() > 0 ? true : false); + + result.add(obj); + } + } + + return result; + + } catch (Exception ex) { + ex.printStackTrace(); + } + + return null; + } + } \ No newline at end of file diff --git a/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java b/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java index 1b5858c..60d5ec7 100644 --- a/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java +++ b/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java @@ -11,6 +11,7 @@ import com.casic.PgInterface.devTable.dto.PgAlarmTjDto; import com.casic.PgInterface.patroler.domain.PgUser; import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; +import com.casic.PgInterface.patroler.manager.PgAlarmRuleManager; import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.apache.poi.util.StringUtil; import org.hibernate.Criteria; @@ -39,6 +40,9 @@ @Resource private PgDeviceManager pgDeviceManager; + @Resource + private PgAlarmRuleManager pgAlarmRuleManager; + public List getAlarmByTypeAndTime(String alarmType,String startTime,String endTime){ try { Criteria criteria = createCriteria(PgAlarm.class); @@ -118,6 +122,21 @@ return Integer.parseInt(String.valueOf(object)); } + public int getDayAlarmNum(String isDevFault) { + + String hql = "select count(distinct pgAlarm.alarmDevId) from PgAlarm pgAlarm where to_char(pgAlarm.alarmDate, 'yyyy-MM-dd') = to_char(sysdate,'yyyy-MM-dd')"; + + if (isDevFault != null) { + if (isDevFault.equals("true")) + hql = hql + " and pgAlarm.alarmTypeId.alarmType = '设备运行状态报警'"; + else { + hql = hql + " and pgAlarm.alarmTypeId.alarmType != '设备运行状态报警'"; + } + } + Object object = getSession().createQuery(hql).uniqueResult(); + return Integer.parseInt(String.valueOf(object)); + } + public List getDayAlarmStatistic() { String today=DateUtils.sdf_day.format(new Date()); String startDay=pgInPgStatusManager.getStartDayString(); @@ -137,11 +156,11 @@ return pgAlarmTjDtoList; } - public List getAlarmList(String isDevFault) { + public List getAlarmList(String isDevFault, String alarmDate) { PgAlarmType pgAlarmType=pgAlarmTypeManager.getAlarmTypeByAlarmType("设备运行状态报警"); - String hql="from PgAlarm a where a.active = 1"; + String hql="from PgAlarm a where a.active = 1 and to_char(a.alarmDate, 'yyyymmdd') = " + alarmDate; if(StringUtils.isNotBlank(isDevFault)) if(isDevFault.equals("true")) diff --git a/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java b/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java index 735eaa4..20377e7 100644 --- a/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java +++ b/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java @@ -21,10 +21,7 @@ import javax.persistence.ParameterMode; import javax.persistence.criteria.CriteriaBuilder; import java.math.BigDecimal; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service public class PGTagPositionManager extends HibernateEntityDao{ @@ -138,4 +135,41 @@ return result; } + public List> getPersonInPgByAcuList(String acuList) { + List> result = new ArrayList<>(); + try { + //读取定位信息 + tagmacRun.getMacPosition(); + + String[] acus = acuList.split(","); + acuList = ""; + for ( int i = 0; i < acus.length; i++) { + acuList += "'" + acus[i] + "'" + ","; + } + acuList = acuList.substring(0, acuList.length() - 1); + + String sql = "select partition, count(*) from PG_POSITION_TAG_DEV t where partition in (" + + acuList + + ") and parsedtime > sysdate-3 * 365 group by partition"; + + List objects = this.getSession().createSQLQuery(sql).list(); + if (objects.isEmpty() == false) { + for (Object[] item: objects ) { + Map obj = new HashMap<>(); + obj.put("acu", item[0]); + obj.put("person", ((Number) item[1]).intValue() > 0 ? true : false); + + result.add(obj); + } + } + + return result; + + } catch (Exception ex) { + ex.printStackTrace(); + } + + return null; + } + } \ No newline at end of file diff --git a/src/main/java/com/casic/PgInterface/rs/PGInOutRecRs.java b/src/main/java/com/casic/PgInterface/rs/PGInOutRecRs.java index 475f1ce..928442c 100644 --- a/src/main/java/com/casic/PgInterface/rs/PGInOutRecRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PGInOutRecRs.java @@ -27,6 +27,7 @@ import javax.ws.rs.core.MediaType; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; @Component @@ -124,7 +125,7 @@ @POST @Path("hasPersonInACU") @Produces(MediaType.APPLICATION_JSON) - public Map hasPersonInACU(@FormParam("String acu") String acu){ + public Map hasPersonInACU(@FormParam("acu") String acu){ Map resultMap = new HashMap<>(); boolean result=false; @@ -139,4 +140,21 @@ return resultMap; } + @POST + @Path("hasPersonInACUList") + @Produces(MediaType.APPLICATION_JSON) + public Map hasPersonInACUList(@FormParam("acuList") String acuList){ + Map resultMap = new HashMap<>(); + List> result = null; + + try { + result = pgTagPositionManager.getPersonInPgByAcuList(acuList); + } + catch(Exception ex){ + ex.printStackTrace(); + } + resultMap.put("msg","success"); + resultMap.put("result", result); + return resultMap; + } } \ No newline at end of file diff --git a/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java b/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java index 1b5858c..60d5ec7 100644 --- a/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java +++ b/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java @@ -11,6 +11,7 @@ import com.casic.PgInterface.devTable.dto.PgAlarmTjDto; import com.casic.PgInterface.patroler.domain.PgUser; import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; +import com.casic.PgInterface.patroler.manager.PgAlarmRuleManager; import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.apache.poi.util.StringUtil; import org.hibernate.Criteria; @@ -39,6 +40,9 @@ @Resource private PgDeviceManager pgDeviceManager; + @Resource + private PgAlarmRuleManager pgAlarmRuleManager; + public List getAlarmByTypeAndTime(String alarmType,String startTime,String endTime){ try { Criteria criteria = createCriteria(PgAlarm.class); @@ -118,6 +122,21 @@ return Integer.parseInt(String.valueOf(object)); } + public int getDayAlarmNum(String isDevFault) { + + String hql = "select count(distinct pgAlarm.alarmDevId) from PgAlarm pgAlarm where to_char(pgAlarm.alarmDate, 'yyyy-MM-dd') = to_char(sysdate,'yyyy-MM-dd')"; + + if (isDevFault != null) { + if (isDevFault.equals("true")) + hql = hql + " and pgAlarm.alarmTypeId.alarmType = '设备运行状态报警'"; + else { + hql = hql + " and pgAlarm.alarmTypeId.alarmType != '设备运行状态报警'"; + } + } + Object object = getSession().createQuery(hql).uniqueResult(); + return Integer.parseInt(String.valueOf(object)); + } + public List getDayAlarmStatistic() { String today=DateUtils.sdf_day.format(new Date()); String startDay=pgInPgStatusManager.getStartDayString(); @@ -137,11 +156,11 @@ return pgAlarmTjDtoList; } - public List getAlarmList(String isDevFault) { + public List getAlarmList(String isDevFault, String alarmDate) { PgAlarmType pgAlarmType=pgAlarmTypeManager.getAlarmTypeByAlarmType("设备运行状态报警"); - String hql="from PgAlarm a where a.active = 1"; + String hql="from PgAlarm a where a.active = 1 and to_char(a.alarmDate, 'yyyymmdd') = " + alarmDate; if(StringUtils.isNotBlank(isDevFault)) if(isDevFault.equals("true")) diff --git a/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java b/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java index 735eaa4..20377e7 100644 --- a/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java +++ b/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java @@ -21,10 +21,7 @@ import javax.persistence.ParameterMode; import javax.persistence.criteria.CriteriaBuilder; import java.math.BigDecimal; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service public class PGTagPositionManager extends HibernateEntityDao{ @@ -138,4 +135,41 @@ return result; } + public List> getPersonInPgByAcuList(String acuList) { + List> result = new ArrayList<>(); + try { + //读取定位信息 + tagmacRun.getMacPosition(); + + String[] acus = acuList.split(","); + acuList = ""; + for ( int i = 0; i < acus.length; i++) { + acuList += "'" + acus[i] + "'" + ","; + } + acuList = acuList.substring(0, acuList.length() - 1); + + String sql = "select partition, count(*) from PG_POSITION_TAG_DEV t where partition in (" + + acuList + + ") and parsedtime > sysdate-3 * 365 group by partition"; + + List objects = this.getSession().createSQLQuery(sql).list(); + if (objects.isEmpty() == false) { + for (Object[] item: objects ) { + Map obj = new HashMap<>(); + obj.put("acu", item[0]); + obj.put("person", ((Number) item[1]).intValue() > 0 ? true : false); + + result.add(obj); + } + } + + return result; + + } catch (Exception ex) { + ex.printStackTrace(); + } + + return null; + } + } \ No newline at end of file diff --git a/src/main/java/com/casic/PgInterface/rs/PGInOutRecRs.java b/src/main/java/com/casic/PgInterface/rs/PGInOutRecRs.java index 475f1ce..928442c 100644 --- a/src/main/java/com/casic/PgInterface/rs/PGInOutRecRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PGInOutRecRs.java @@ -27,6 +27,7 @@ import javax.ws.rs.core.MediaType; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; @Component @@ -124,7 +125,7 @@ @POST @Path("hasPersonInACU") @Produces(MediaType.APPLICATION_JSON) - public Map hasPersonInACU(@FormParam("String acu") String acu){ + public Map hasPersonInACU(@FormParam("acu") String acu){ Map resultMap = new HashMap<>(); boolean result=false; @@ -139,4 +140,21 @@ return resultMap; } + @POST + @Path("hasPersonInACUList") + @Produces(MediaType.APPLICATION_JSON) + public Map hasPersonInACUList(@FormParam("acuList") String acuList){ + Map resultMap = new HashMap<>(); + List> result = null; + + try { + result = pgTagPositionManager.getPersonInPgByAcuList(acuList); + } + catch(Exception ex){ + ex.printStackTrace(); + } + resultMap.put("msg","success"); + resultMap.put("result", result); + return resultMap; + } } \ No newline at end of file diff --git a/src/main/java/com/casic/PgInterface/rs/PgOverViewRs.java b/src/main/java/com/casic/PgInterface/rs/PgOverViewRs.java index 6fdabe1..5be90e9 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgOverViewRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgOverViewRs.java @@ -3,6 +3,7 @@ import com.casic.PgInterface.construction.dto.PgConstructionDto; import com.casic.PgInterface.construction.dto.PgConstructionTypeNumStatisticDto; import com.casic.PgInterface.construction.manager.PgConstructionManager; +import com.casic.PgInterface.core.spring.DateConverter; import com.casic.PgInterface.devTable.domain.PgAlarm; import com.casic.PgInterface.devTable.domain.PgDevice; import com.casic.PgInterface.devTable.dto.PgAlarmDto; @@ -14,6 +15,7 @@ import com.casic.PgInterface.patroler.manager.PgInPgPersonManager; import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.hibernate.event.internal.DefaultEvictEventListener; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -22,10 +24,8 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; /** * Created by yxw on 2018/4/8. @@ -243,6 +243,32 @@ return resultMap; } + /** + * 获取本日报警数 + */ + @POST + @Path("getDayAlarmNum") + @Produces(MediaType.APPLICATION_JSON) + public Map getDayAlarmNum(@FormParam("isDevFault") String isDevFault) throws Exception { + Map resultMap = new HashMap(); + String msg = ""; + String code="0"; + int inNum = 0; + try { + inNum = pgAlarmManager.getDayAlarmNum(isDevFault); + code="200"; + msg = "报警次数获取成功"; + } catch (Exception e) { + e.printStackTrace(); + msg = "报警次数获取失败"; + } + resultMap.put("code",code); + resultMap.put("msg", msg); + resultMap.put("result", String.valueOf(inNum)); + + return resultMap; + } + /* * 按照天统计报警次数 */ @@ -285,7 +311,9 @@ String code="0"; List pgAlarmDtoList=new ArrayList<>(); try{ - pgAlarmDtoList=pgAlarmManager.getAlarmList(isDevFault); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + String today = sdf.format(Calendar.getInstance().getTime()); + pgAlarmDtoList=pgAlarmManager.getAlarmList(isDevFault, today); code="200"; msg="信息获取成功"; } diff --git a/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java b/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java index 1b5858c..60d5ec7 100644 --- a/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java +++ b/src/main/java/com/casic/PgInterface/devTable/manager/PgAlarmManager.java @@ -11,6 +11,7 @@ import com.casic.PgInterface.devTable.dto.PgAlarmTjDto; import com.casic.PgInterface.patroler.domain.PgUser; import com.casic.PgInterface.patroler.dto.PgInPgInfoDto; +import com.casic.PgInterface.patroler.manager.PgAlarmRuleManager; import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.apache.poi.util.StringUtil; import org.hibernate.Criteria; @@ -39,6 +40,9 @@ @Resource private PgDeviceManager pgDeviceManager; + @Resource + private PgAlarmRuleManager pgAlarmRuleManager; + public List getAlarmByTypeAndTime(String alarmType,String startTime,String endTime){ try { Criteria criteria = createCriteria(PgAlarm.class); @@ -118,6 +122,21 @@ return Integer.parseInt(String.valueOf(object)); } + public int getDayAlarmNum(String isDevFault) { + + String hql = "select count(distinct pgAlarm.alarmDevId) from PgAlarm pgAlarm where to_char(pgAlarm.alarmDate, 'yyyy-MM-dd') = to_char(sysdate,'yyyy-MM-dd')"; + + if (isDevFault != null) { + if (isDevFault.equals("true")) + hql = hql + " and pgAlarm.alarmTypeId.alarmType = '设备运行状态报警'"; + else { + hql = hql + " and pgAlarm.alarmTypeId.alarmType != '设备运行状态报警'"; + } + } + Object object = getSession().createQuery(hql).uniqueResult(); + return Integer.parseInt(String.valueOf(object)); + } + public List getDayAlarmStatistic() { String today=DateUtils.sdf_day.format(new Date()); String startDay=pgInPgStatusManager.getStartDayString(); @@ -137,11 +156,11 @@ return pgAlarmTjDtoList; } - public List getAlarmList(String isDevFault) { + public List getAlarmList(String isDevFault, String alarmDate) { PgAlarmType pgAlarmType=pgAlarmTypeManager.getAlarmTypeByAlarmType("设备运行状态报警"); - String hql="from PgAlarm a where a.active = 1"; + String hql="from PgAlarm a where a.active = 1 and to_char(a.alarmDate, 'yyyymmdd') = " + alarmDate; if(StringUtils.isNotBlank(isDevFault)) if(isDevFault.equals("true")) diff --git a/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java b/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java index 735eaa4..20377e7 100644 --- a/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java +++ b/src/main/java/com/casic/PgInterface/overtimeInPG/manager/PGTagPositionManager.java @@ -21,10 +21,7 @@ import javax.persistence.ParameterMode; import javax.persistence.criteria.CriteriaBuilder; import java.math.BigDecimal; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service public class PGTagPositionManager extends HibernateEntityDao{ @@ -138,4 +135,41 @@ return result; } + public List> getPersonInPgByAcuList(String acuList) { + List> result = new ArrayList<>(); + try { + //读取定位信息 + tagmacRun.getMacPosition(); + + String[] acus = acuList.split(","); + acuList = ""; + for ( int i = 0; i < acus.length; i++) { + acuList += "'" + acus[i] + "'" + ","; + } + acuList = acuList.substring(0, acuList.length() - 1); + + String sql = "select partition, count(*) from PG_POSITION_TAG_DEV t where partition in (" + + acuList + + ") and parsedtime > sysdate-3 * 365 group by partition"; + + List objects = this.getSession().createSQLQuery(sql).list(); + if (objects.isEmpty() == false) { + for (Object[] item: objects ) { + Map obj = new HashMap<>(); + obj.put("acu", item[0]); + obj.put("person", ((Number) item[1]).intValue() > 0 ? true : false); + + result.add(obj); + } + } + + return result; + + } catch (Exception ex) { + ex.printStackTrace(); + } + + return null; + } + } \ No newline at end of file diff --git a/src/main/java/com/casic/PgInterface/rs/PGInOutRecRs.java b/src/main/java/com/casic/PgInterface/rs/PGInOutRecRs.java index 475f1ce..928442c 100644 --- a/src/main/java/com/casic/PgInterface/rs/PGInOutRecRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PGInOutRecRs.java @@ -27,6 +27,7 @@ import javax.ws.rs.core.MediaType; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; @Component @@ -124,7 +125,7 @@ @POST @Path("hasPersonInACU") @Produces(MediaType.APPLICATION_JSON) - public Map hasPersonInACU(@FormParam("String acu") String acu){ + public Map hasPersonInACU(@FormParam("acu") String acu){ Map resultMap = new HashMap<>(); boolean result=false; @@ -139,4 +140,21 @@ return resultMap; } + @POST + @Path("hasPersonInACUList") + @Produces(MediaType.APPLICATION_JSON) + public Map hasPersonInACUList(@FormParam("acuList") String acuList){ + Map resultMap = new HashMap<>(); + List> result = null; + + try { + result = pgTagPositionManager.getPersonInPgByAcuList(acuList); + } + catch(Exception ex){ + ex.printStackTrace(); + } + resultMap.put("msg","success"); + resultMap.put("result", result); + return resultMap; + } } \ No newline at end of file diff --git a/src/main/java/com/casic/PgInterface/rs/PgOverViewRs.java b/src/main/java/com/casic/PgInterface/rs/PgOverViewRs.java index 6fdabe1..5be90e9 100644 --- a/src/main/java/com/casic/PgInterface/rs/PgOverViewRs.java +++ b/src/main/java/com/casic/PgInterface/rs/PgOverViewRs.java @@ -3,6 +3,7 @@ import com.casic.PgInterface.construction.dto.PgConstructionDto; import com.casic.PgInterface.construction.dto.PgConstructionTypeNumStatisticDto; import com.casic.PgInterface.construction.manager.PgConstructionManager; +import com.casic.PgInterface.core.spring.DateConverter; import com.casic.PgInterface.devTable.domain.PgAlarm; import com.casic.PgInterface.devTable.domain.PgDevice; import com.casic.PgInterface.devTable.dto.PgAlarmDto; @@ -14,6 +15,7 @@ import com.casic.PgInterface.patroler.manager.PgInPgPersonManager; import com.casic.PgInterface.patroler.manager.PgInPgStatusManager; import org.hibernate.event.internal.DefaultEvictEventListener; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -22,10 +24,8 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; /** * Created by yxw on 2018/4/8. @@ -243,6 +243,32 @@ return resultMap; } + /** + * 获取本日报警数 + */ + @POST + @Path("getDayAlarmNum") + @Produces(MediaType.APPLICATION_JSON) + public Map getDayAlarmNum(@FormParam("isDevFault") String isDevFault) throws Exception { + Map resultMap = new HashMap(); + String msg = ""; + String code="0"; + int inNum = 0; + try { + inNum = pgAlarmManager.getDayAlarmNum(isDevFault); + code="200"; + msg = "报警次数获取成功"; + } catch (Exception e) { + e.printStackTrace(); + msg = "报警次数获取失败"; + } + resultMap.put("code",code); + resultMap.put("msg", msg); + resultMap.put("result", String.valueOf(inNum)); + + return resultMap; + } + /* * 按照天统计报警次数 */ @@ -285,7 +311,9 @@ String code="0"; List pgAlarmDtoList=new ArrayList<>(); try{ - pgAlarmDtoList=pgAlarmManager.getAlarmList(isDevFault); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + String today = sdf.format(Calendar.getInstance().getTime()); + pgAlarmDtoList=pgAlarmManager.getAlarmList(isDevFault, today); code="200"; msg="信息获取成功"; } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index daf99bd..bff37ec 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -14,10 +14,10 @@ # db # ============================================================================ db.default.driverClassName=oracle.jdbc.driver.OracleDriver -db.default.url=jdbc:oracle:thin:@172.17.0.201:1521:szgl +db.default.url=jdbc:oracle:thin:@172.17.0.201:1521:orcl #db.default.url=jdbc:oracle:thin:@119.254.103.80:1521:chengdu -db.default.username=scott -db.default.password=scott +db.default.username=pg +db.default.password=pg #db.default.username=PG #db.default.password=PG