diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/bean/TDoordtlInfo.java b/src/main/java/com/supwisdom/dlpay/mainservice/bean/TDoordtlInfo.java
index c588233..d40f7d4 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/bean/TDoordtlInfo.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/bean/TDoordtlInfo.java
@@ -9,7 +9,7 @@
 @Entity
 public class TDoordtlInfo implements Serializable{
 	@Id
-	private String listid;
+	private String doorseqno;
 	@Excel(name = "厂商名称")
 	private String factoryname;
 	@Excel(name = "设备编号")
@@ -35,12 +35,12 @@
 	@Excel(name = "采集时间",databaseFormat = "yyyy-MM-dd",width = 20)
 	private String coldate;
 
-	public String getListid() {
-		return listid;
+	public String getDoorseqno() {
+		return doorseqno;
 	}
 
-	public void setListid(String listid) {
-		this.listid = listid;
+	public void setDoorseqno(String doorseqno) {
+		this.doorseqno = doorseqno;
 	}
 
 	public String getDoorid() {
@@ -125,8 +125,11 @@
 		this.coldate = coldate;
 	}
 
-	public TDoordtlInfo(String listid, String factoryname, String doorid, String doorname, String stuempno, String custname, String buildingname, String regionname, String cardphyid, String transdate, String dtldesc, String status, String coldate) {
-		this.listid = listid;
+	public TDoordtlInfo() {
+	}
+
+	public TDoordtlInfo(String doorseqno, String factoryname, String doorid, String doorname, String stuempno, String custname, String buildingname, String regionname, String cardphyid, String transdate, String dtldesc, String status, String coldate) {
+		this.doorseqno = doorseqno;
 		this.factoryname = factoryname;
 		this.doorid = doorid;
 		this.doorname = doorname;
diff --git a/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/DoordtlDaoImpl.java b/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/DoordtlDaoImpl.java
index aead8f2..05e54a9 100644
--- a/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/DoordtlDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/mainservice/dao/impl/DoordtlDaoImpl.java
@@ -20,7 +20,7 @@
     @Override
     public List<TDoordtlInfo> findSystemExportExcelDoordtl(String startTranDate, String endTranDate, String startTranTime, String endTranTime, String stuempno, String custname, String buildingid, String regionid, String doorName, String factoryId, String streamstatus) {
         try {
-            String queryString = "select a.dtldesc , c.factoryname,d.doorname,b.stuempno,b.custname,tb.buildingname,tr.regionname," +
+            String queryString = "select a.doorseqno,a.dtldesc ,a.doorid, a.cardphyid,c.factoryname,d.doorname,b.stuempno,b.custname,tb.buildingname,tr.regionname," +
                     " to_char(to_date(a.transdate||a.transtime ,'yyyymmddhh24miss'),'yyyy-mm-dd hh24:mi:ss') as transdate, "
                     + "case when a.status='0' then '失败' else '成功' end status,to_char(to_date(  a.coldate||a.coltime,'yyyymmddhh24miss'),'yyyy-mm-dd hh24:mi:ss') as coldate  " + "from  "
                     + "t_doordtl a "
diff --git a/src/main/resources/templates/doorlist/searchDoorlist.html b/src/main/resources/templates/doorlist/searchDoorlist.html
index bb02571..a59a02c 100644
--- a/src/main/resources/templates/doorlist/searchDoorlist.html
+++ b/src/main/resources/templates/doorlist/searchDoorlist.html
@@ -489,7 +489,7 @@
                 endStr = searchDoor.allocatEndDate.Format('yyyyMMdd');
             }
         }
-        var url = "[[@{/doorlistMgr/exportExcel?}]]" + "&allocatStartDate=" + startStr + "&allocatEndDate=" + endStr +
+        var url = "[[@{/doorlistMgr/exportExcel?}]]" + "allocatStartDate=" + startStr + "&allocatEndDate=" + endStr +
             "&doorName=" + searchDoor.doorName + "&custName=" + searchDoor.custName
             + "&stuempNo=" + searchDoor.stuempNo + "&factoryId=" + searchDoor.factoryId
             + "&syncStatus=" + searchDoor.syncStatus + "&operFlag=" + searchDoor.operFlag
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html
index ef30db3..ed7ef23 100755
--- a/src/main/resources/templates/index.html
+++ b/src/main/resources/templates/index.html
@@ -150,7 +150,7 @@
     </div>
 
     <!-- 底部 -->
-    <div class="layui-footer">Copyright © 2018 supwisdom All rights reserved. <span class="pull-right" th:text="${payapiVersion}">Version 1.0</span>
+    <div class="layui-footer">Copyright © 2018 supwisdom All rights reserved. <span class="pull-right" th:text="${doorVersion}">Version 1.0</span>
     </div>
 
     <!-- 手机屏幕遮罩层 -->
diff --git a/src/main/resources/templates/query/tdoorstream.html b/src/main/resources/templates/query/tdoorstream.html
index 4b4e74b..41e6510 100644
--- a/src/main/resources/templates/query/tdoorstream.html
+++ b/src/main/resources/templates/query/tdoorstream.html
@@ -315,7 +315,7 @@
             return;
         }
         //console.log(factoryid+stuempno);
-        var	url =encodeURI( "[[@{/query/exportexcel?&startTranDate=}]]"+starttransdate+"&endTranDate="
+        var	url =encodeURI( "[[@{/query/exportexcel?startTranDate=}]]"+starttransdate+"&endTranDate="
             +endtransdate+"&stuempno="+stuempno+"&custname="+custname+"&buildingid="+buildingid+"&regionid="+regionid+"&doorName="+doorname
             +"&streamstatus="+dtlStatus+"&factoryId="+factoryid)
         window.open(url);
