diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/controller/CustomerController.java b/src/main/java/com/supwisdom/dlpay/restaurant/controller/CustomerController.java
index d6a30a0..c1a3027 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/controller/CustomerController.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/controller/CustomerController.java
@@ -110,9 +110,9 @@
     @PreAuthorize("hasPermission('/customer/download','')")
     @ResponseBody
     public JsonResult downloadfile(HttpServletRequest request, HttpServletResponse response) throws Exception{
-        String[] titles0 = {"姓名",	"市名卡号",	"市名卡银行卡号","手机（选填）"
+        String[] titles0 = {"姓名",	"市名卡号",	"市名卡银行卡号","人员类别号","手机（选填）"
         }; //表头
-        String[][] info0 = {{"张三",	"123456",	"3000000","12341234123"
+        String[][] info0 = {{"张三",	"123456",	"3000000","1","12341234123"
         }}; // 示例内容
         String fileName0 = "客户导入模板";// 保存数据
 
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/dao/DeviceDao.java b/src/main/java/com/supwisdom/dlpay/restaurant/dao/DeviceDao.java
index 7362f2c..d50b6fb 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/dao/DeviceDao.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/dao/DeviceDao.java
@@ -21,7 +21,8 @@
 
     List<TDevice> findAllByDevgroupid(Integer devgroupid);
 
-    List<TDevice> findAllByDevicenameContainingOrderById(String name);
+
+    List<TDevice> findAllByDevgroupidIsNullAndDevicenameContainingOrderById(String name);
 
     @Query("select count(*) from TDevice t where t.devgroupid =:id and t.state=1")
     Integer countByDevgroupid(@Param("id") Integer Devgroupid);
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java
index db5ca4d..b48b425 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java
@@ -154,8 +154,10 @@
                     String cardno=(String) data[i][1];
                     d.setCardno(cardno);
                     d.setBankcardno((String) data[i][2]);
-                    if(null!=data[i][3]){
-                        d.setPhone((String) data[i][3]);
+                    String custtype=(String) data[i][3];
+                    d.setCusttype(Integer.parseInt(custtype));
+                    if(null!=data[i][4]){
+                        d.setPhone((String) data[i][4]);
                     }
                     sList.add(d);
                     successCnt+=1;
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DeviceServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DeviceServiceImpl.java
index 51413cb..169e3d2 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DeviceServiceImpl.java
@@ -97,7 +97,7 @@
             devicename="";
         }
         return new PageResult<>(
-                deviceDao.findAllByDevicenameContainingOrderById(devicename));
+                deviceDao.findAllByDevgroupidIsNullAndDevicenameContainingOrderById(devicename));
     }
 
     @Override
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 80c4cf5..5d108ac 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -23,3 +23,7 @@
 # user password
 auth.password.bcrypt.length=10
 server.servlet.context-path=/restaurant
+
+spring.servlet.multipart.max-file-size=10MB
+spring.servlet.multipart.max-request-size=100MB
+
diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql
index 93ab90f..27a53ab 100644
--- a/src/main/resources/data.sql
+++ b/src/main/resources/data.sql
@@ -410,6 +410,10 @@
 INSERT INTO "tb_subject" (subjno,balflag,displayflag,endflag,fsubjno,opendate,subjlevel,subjname,subjtype) VALUES ('660102', 2, 'y', 1, '6601', 20190604, 2, '积分抵扣款', 6);
 INSERT INTO "tb_subject" (subjno,balflag,displayflag,endflag,fsubjno,opendate,subjlevel,subjname,subjtype) VALUES ('6602', 2, 'y', 1, NULL, 20190604, 1, '管理费收入', 6);
 
+INSERT INTO "tb_custtype"(custtypeid,custtypename,feetype) VALUES (2, '外部人员', NULL);
+INSERT INTO "tb_custtype"(custtypeid,custtypename,feetype) VALUES (1, '内部人员', NULL);
+
+
 CREATE SEQUENCE SEQ_REFNO
 INCREMENT BY 1
 START WITH 1
diff --git a/src/main/resources/templates/restaurant/custtype/index.html b/src/main/resources/templates/restaurant/custtype/index.html
index a09bdca..8abc183 100644
--- a/src/main/resources/templates/restaurant/custtype/index.html
+++ b/src/main/resources/templates/restaurant/custtype/index.html
@@ -97,7 +97,7 @@
                     } else {
                         layer.msg(data.msg, {icon: 2});
                     }
-                    table.reload('table', {});
+                    table.reload('custtype-table', {});
                 }, function (ret) {
                     console.log(ret);
                     layer.closeAll('loading');
