diff --git a/src/main/java/com/supwisdom/dlpay/atte/bean/AtteRestInfo.java b/src/main/java/com/supwisdom/dlpay/atte/bean/AtteRestInfo.java
index c7392b2..c8fc799 100644
--- a/src/main/java/com/supwisdom/dlpay/atte/bean/AtteRestInfo.java
+++ b/src/main/java/com/supwisdom/dlpay/atte/bean/AtteRestInfo.java
@@ -6,7 +6,7 @@
 
 public class AtteRestInfo {
 
-    private String id; //请假条编号
+    private Integer id; //请假条编号
     private String custid;
     private String custname;
     private Integer custtypeid;
@@ -127,11 +127,11 @@
         this.updatetime = updatetime;
     }
 
-    public String getId() {
+    public Integer getId() {
         return id;
     }
 
-    public void setId(String id) {
+    public void setId(Integer id) {
         this.id = id;
     }
 
diff --git a/src/main/java/com/supwisdom/dlpay/atte/dao/AtteRestDao.java b/src/main/java/com/supwisdom/dlpay/atte/dao/AtteRestDao.java
index 93facb2..2b7a4bf 100644
--- a/src/main/java/com/supwisdom/dlpay/atte/dao/AtteRestDao.java
+++ b/src/main/java/com/supwisdom/dlpay/atte/dao/AtteRestDao.java
@@ -10,10 +10,16 @@
 public interface AtteRestDao {
     public boolean  saveAtteRest(TAtteRest bean);
     public boolean  updateAtteRest(TAtteRest bean);
-    public TAtteRest getAtteRestById(String id);
+    public TAtteRest getAtteRestById(Integer id);
 
     public Pagination getRestInfo(RestSearchBean searchBean,int pageNo,int pageSize);
 
     //是否可以申请
     public boolean canask(String custid,String startdate,String enddate);
+
+    //查询请假单
+    public TAtteRest getRest(String custid,String attedate);
+
+    //是否审核人
+    public boolean isreview(String custid);
 }
diff --git a/src/main/java/com/supwisdom/dlpay/atte/dao/impl/AtteRestDaoImpl.java b/src/main/java/com/supwisdom/dlpay/atte/dao/impl/AtteRestDaoImpl.java
index 3e61c17..15a0ad3 100644
--- a/src/main/java/com/supwisdom/dlpay/atte/dao/impl/AtteRestDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/atte/dao/impl/AtteRestDaoImpl.java
@@ -49,9 +49,9 @@
     }
 
     @Override
-    public TAtteRest getAtteRestById(String id) {
+    public TAtteRest getAtteRestById(Integer id) {
         String sql=" select bean from TAtteRest bean ";
-        if(!StringUtil.isEmpty(id)){
+        if(id!=null){
             sql+=" where bean.id = :sid ";
             TypedQuery<TAtteRest> query=entityManager.createQuery(sql,TAtteRest.class);
             query.setParameter("sid",id);
@@ -214,4 +214,26 @@
         }
         return true;
     }
+    @Transactional
+    @Override
+    public TAtteRest getRest(String custid, String attedate) {
+        if(StringUtil.isEmpty(custid)||StringUtil.isEmpty(attedate)){
+            return null;
+        }
+        String sql=" select bean from TAtteRest bean where bean.custid = :cid and " +
+                " bean.status = 1 and :adate between bean.startdate and bean.enddate ";
+        TypedQuery<TAtteRest> query=entityManager.createQuery(sql,TAtteRest.class);
+        query.setParameter("adate",attedate);
+        query.setParameter("cid",custid);
+        List<TAtteRest> list=query.getResultList();
+        return list.size()==0?null:list.get(0);
+    }
+
+    @Transactional
+    @Override
+    public boolean isreview(String custid) {
+        String sql= " select bean from TAtteReview bean where bean.custid= :cid ";
+
+        return false;
+    }
 }
diff --git a/src/main/java/com/supwisdom/dlpay/atte/domain/TAtteRest.java b/src/main/java/com/supwisdom/dlpay/atte/domain/TAtteRest.java
index dbef9b8..d475f02 100644
--- a/src/main/java/com/supwisdom/dlpay/atte/domain/TAtteRest.java
+++ b/src/main/java/com/supwisdom/dlpay/atte/domain/TAtteRest.java
@@ -8,7 +8,7 @@
     @Id
     @Column(name = "ID", unique = true,  nullable = false, length = 32)
     @GeneratedValue( strategy = GenerationType.AUTO)
-    private String id;
+    private Integer id;
     @Column(name="custid",length = 32)
     private String custid;
     @Column(name="rtype",length = 4)
@@ -26,11 +26,11 @@
     @Column(name="re_custid",length = 32)
     private String recustid;
 
-    public String getId() {
+    public Integer getId() {
         return id;
     }
 
-    public void setId(String id) {
+    public void setId(Integer id) {
         this.id = id;
     }
 
diff --git a/src/main/java/com/supwisdom/dlpay/atte/service/AtteRestService.java b/src/main/java/com/supwisdom/dlpay/atte/service/AtteRestService.java
index 8a38436..b52a048 100644
--- a/src/main/java/com/supwisdom/dlpay/atte/service/AtteRestService.java
+++ b/src/main/java/com/supwisdom/dlpay/atte/service/AtteRestService.java
@@ -15,7 +15,7 @@
     public boolean  updateAtteRest(TAtteRest bean);
 
     @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})
-    public TAtteRest getAtteRestById(String id);
+    public TAtteRest getAtteRestById(Integer id);
 
     //是否可以申请
     @Transactional(propagation = Propagation.REQUIRED,rollbackFor = {Exception.class})
diff --git a/src/main/java/com/supwisdom/dlpay/atte/service/impl/AtteClassServiceImpl.java b/src/main/java/com/supwisdom/dlpay/atte/service/impl/AtteClassServiceImpl.java
index cbeb19b..8b8fe2f 100644
--- a/src/main/java/com/supwisdom/dlpay/atte/service/impl/AtteClassServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/atte/service/impl/AtteClassServiceImpl.java
@@ -5,6 +5,7 @@
 import com.supwisdom.dlpay.atte.bean.AttedtlSearchBean;
 import com.supwisdom.dlpay.atte.bean.CustSearchBean;
 import com.supwisdom.dlpay.atte.dao.AtteClassDao;
+import com.supwisdom.dlpay.atte.dao.AtteRestDao;
 import com.supwisdom.dlpay.atte.dao.CustseaDao;
 import com.supwisdom.dlpay.atte.dao.SeasonDao;
 import com.supwisdom.dlpay.atte.domain.*;
@@ -48,6 +49,8 @@
     @Autowired
     NcTimeDao ncTimeDao;
     @Autowired
+    AtteRestDao atteRestDao;
+    @Autowired
     private SystemService systemService;
     @Autowired
     private BusinessparaDao businessparaDao;
@@ -207,7 +210,12 @@
                     dtl.setAttedate(attedate);
                     dtl.setAtteno(atteClassDao.getAtteNo(attedate));
                     dtl.setCustid(cust.getCustid());
-                    dtl.setState(0);
+                    TAtteRest rest=atteRestDao.getRest(cust.getCustid(),attedate);
+                    if(rest!=null){  //查询假条
+                        dtl.setState(rest.getRtype());
+                    }else{
+                        dtl.setState(0);
+                    }
                     dtl.setStatus(1);
                     dtl.setTimeid(timeid);
                     dtl.setUpdatetime(DateUtil.getNow());
diff --git a/src/main/java/com/supwisdom/dlpay/atte/service/impl/AtteRestServiceImpl.java b/src/main/java/com/supwisdom/dlpay/atte/service/impl/AtteRestServiceImpl.java
index 669b7ad..71237b7 100644
--- a/src/main/java/com/supwisdom/dlpay/atte/service/impl/AtteRestServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/atte/service/impl/AtteRestServiceImpl.java
@@ -24,7 +24,7 @@
     }
 
     @Override
-    public TAtteRest getAtteRestById(String id) {
+    public TAtteRest getAtteRestById(Integer id) {
         return atteRestDao.getAtteRestById(id);
     }
 
diff --git a/src/main/resources/templates/atte/app/error.html b/src/main/resources/templates/atte/app/error.html
new file mode 100644
index 0000000..e4aa07c
--- /dev/null
+++ b/src/main/resources/templates/atte/app/error.html
@@ -0,0 +1,44 @@
+
+<!DOCTYPE html>
+<html style="height: 100%" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
+
+<head>
+    <title>错误页面</title>
+    <meta name="_csrf_header" th:content="${_csrf.headerName}" />
+    <meta name="_csrf_token" th:content="${_csrf.parameterName}" th:value="${_csrf.token}" />
+    <meta charset="utf-8"/>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="/static/libs/layui/css/layui.css" th:href="@{/static/libs/layui/css/layui.css}"/>
+
+    <link rel="stylesheet" href="/static/res/assets/plugins/element-ui/theme-default/index.css" th:href="@{/static/res/assets/plugins/element-ui/theme-default/index.css}"/>
+
+    <!--<script type="text/javascript" th:src="@{/static/libs/jquery/jquery-3.2.1.min.js}"></script>-->
+    <script type="text/javascript" th:src="@{/static/res/assets/plugins/jquery/jquery.min.js}"></script>
+    <!--<script type="text/javascript" th:src="@{/static/libs/layui/layui.js}"></script>-->
+    <script type="text/javascript" th:src="@{/static/res/assets/plugins/jquery/jquery.form.js}"></script>
+    <script type="text/javascript" th:src="@{/static/res/assets/plugins/layer/layer.js}"></script>
+    <script type="text/javascript" th:src="@{/static/res/assets/js/vue.min.js}"></script>
+    <script type="text/javascript" th:src="@{/static/res/assets/plugins/element-ui/index.js}"></script>
+
+
+    <link rel="stylesheet" th:href="@{/static/libs/weui/weui.min.css}" media="all"/>
+</head>
+
+<body style="height: 100%;background:#f0f0ff">
+
+    <p style="text-align: center;display: block;color:red;font-size:20px">客户编号[[${custid}]]不存在</p>
+
+
+
+</body>
+
+<script>
+
+
+
+</script>
+
+<style>
+
+</style>
\ No newline at end of file
