diff --git a/src/main/java/com/supwisdom/dlpay/conference/api/controller/ConerenceApiController.java b/src/main/java/com/supwisdom/dlpay/conference/api/controller/ConerenceApiController.java
index bb6f838..35634c3 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/api/controller/ConerenceApiController.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/api/controller/ConerenceApiController.java
@@ -55,7 +55,7 @@
             return resp;
         }
 
-        List<ConferenceApiBean> conflist = conferenceService.getConferneceForDevice(confdate);
+        List<ConferenceApiBean> conflist = conferenceService.getConferneceForDevice(confdate,devphyid);
         resp.setConflist(conflist);
         resp.setCount(conflist.size());
         resp.setRetmsg("OK");
diff --git a/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java b/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java
index 88083ae..7fccdf5 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java
@@ -63,7 +63,7 @@
     List<TConfDtl> getUnupdateConfDtl();
 
     @Transactional(rollbackFor = Exception.class, readOnly = true)
-    List<ConferenceApiBean> getConferneceForDevice(String confdate);
+    List<ConferenceApiBean> getConferneceForDevice(String confdate,String deviceid);
 
     @Transactional(rollbackFor = Exception.class)
     TNolistConfPeople saveNolistConfPeople(TNolistConfPeople people) ;
diff --git a/src/main/java/com/supwisdom/dlpay/conference/service/impl/ConferenceServiceImpl.java b/src/main/java/com/supwisdom/dlpay/conference/service/impl/ConferenceServiceImpl.java
index cddfaae..e413d2a 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/service/impl/ConferenceServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/service/impl/ConferenceServiceImpl.java
@@ -457,15 +457,16 @@
     }
 
     @Override
-    public List<ConferenceApiBean> getConferneceForDevice(String confdate) {
+    public List<ConferenceApiBean> getConferneceForDevice(String confdate,String deviceid) {
         StringBuffer querySql=new StringBuffer("select a.confid,a.confname,a.conftype," +
                 "a.confdate,a.status,a.starttime,a.endtime,a.attendtime,c.devname as confarea from tb_conference a " +
                 "left join tb_conference_devbind b on a.confid=b.confid " +
                 "left join t_nc_device c on b.deviceid=c.deviceid " +
-                "where a.confdate=:confdate ");
+                "where a.confdate=:confdate and c.deviceid=:deviceid");
 
         Query query = entityManager.createNativeQuery(querySql.toString());
         query.setParameter("confdate",confdate);
+        query.setParameter("deviceid",deviceid);
         query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(ConferenceApiBean.class));
         List<ConferenceApiBean> list = query.getResultList();
         return list;
