diff --git a/src/main/java/com/supwisdom/dlpay/atte/bean/ExcelReport.java b/src/main/java/com/supwisdom/dlpay/atte/bean/ExcelReport.java
index 2a397a0..9a8a35c 100644
--- a/src/main/java/com/supwisdom/dlpay/atte/bean/ExcelReport.java
+++ b/src/main/java/com/supwisdom/dlpay/atte/bean/ExcelReport.java
@@ -11,20 +11,20 @@
     private float cnt1; //正常
     @Excel(name = "异常(天)")
     private float cnt2;  //迟到并早退
-    @Excel(name = "请假(天)")
-    private float cnt3; // 请假
+//    @Excel(name = "请假(天)")
+//    private float cnt3; // 请假
     @Excel(name = "旷工(天)")
     private float cnt4; //旷工
     @Excel(name = "总考勤天数")
     private float cnts;//
 //    @Excel(name = "姓名")
 //    private float cnt5;//迟到或早退
-    @Excel(name = "补休(天)")
-    private float cnt7;//补休
-    @Excel(name = "外出办公(天)")
-    private float cnt8;//外出办案
-    @Excel(name = "出差(天)")
-    private float cnt9;//出差
+//    @Excel(name = "补休(天)")
+//    private float cnt7;//补休
+//    @Excel(name = "外出办公(天)")
+//    private float cnt8;//外出办案
+//    @Excel(name = "出差(天)")
+//    private float cnt9;//出差
     @Excel(name = "人员类别")
     private String custtypename;
     @Excel(name = "部门")
@@ -194,13 +194,13 @@
         this.cnt2 = cnt2;
     }
 
-    public float getCnt3() {
-        return cnt3;
-    }
-
-    public void setCnt3(float cnt3) {
-        this.cnt3 = cnt3;
-    }
+//    public float getCnt3() {
+//        return cnt3;
+//    }
+//
+//    public void setCnt3(float cnt3) {
+//        this.cnt3 = cnt3;
+//    }
 
     public float getCnts() {
         return cnts;
@@ -242,29 +242,29 @@
 //        this.cnt5 = cnt5;
 //    }
 
-    public float getCnt7() {
-        return cnt7;
-    }
-
-    public void setCnt7(float cnt7) {
-        this.cnt7 = cnt7;
-    }
-
-    public float getCnt8() {
-        return cnt8;
-    }
-
-    public void setCnt8(float cnt8) {
-        this.cnt8 = cnt8;
-    }
-
-    public float getCnt9() {
-        return cnt9;
-    }
-
-    public void setCnt9(float cnt9) {
-        this.cnt9 = cnt9;
-    }
+//    public float getCnt7() {
+//        return cnt7;
+//    }
+//
+//    public void setCnt7(float cnt7) {
+//        this.cnt7 = cnt7;
+//    }
+//
+//    public float getCnt8() {
+//        return cnt8;
+//    }
+//
+//    public void setCnt8(float cnt8) {
+//        this.cnt8 = cnt8;
+//    }
+//
+//    public float getCnt9() {
+//        return cnt9;
+//    }
+//
+//    public void setCnt9(float cnt9) {
+//        this.cnt9 = cnt9;
+//    }
 
     public String getA1() {
         return a1;
diff --git a/src/main/java/com/supwisdom/dlpay/atte/controller/CustAtteController.java b/src/main/java/com/supwisdom/dlpay/atte/controller/CustAtteController.java
index ce8948d..947f1a4 100644
--- a/src/main/java/com/supwisdom/dlpay/atte/controller/CustAtteController.java
+++ b/src/main/java/com/supwisdom/dlpay/atte/controller/CustAtteController.java
@@ -1255,13 +1255,13 @@
                 er.setDeptname(at.getDeptname());
                 er.setCusttypename(at.getCusttypename());
                 er.setCardno(at.getCardno());
-                er.setCnt1(at.getCnt1());
+                er.setCnt1(at.getCnt1()+at.getCnt3()+at.getCnt7()+at.getCnt8()+at.getCnt9());
                 er.setCnt2(at.getCnt2());
-                er.setCnt3(at.getCnt3());
+               // er.setCnt3(at.getCnt3());
                 er.setCnt4(at.getCnt4());
-                er.setCnt7(at.getCnt7());
-                er.setCnt8(at.getCnt8());
-                er.setCnt9(at.getCnt9());
+//                er.setCnt7(at.getCnt7());
+//                er.setCnt8(at.getCnt8());
+//                er.setCnt9(at.getCnt9());
                 er.setCnts(at.getCnts());
                 er.setA1(getState(at.getA1()));
                 er.setP1(getState(at.getP1()));
@@ -1342,7 +1342,7 @@
 
     public String getState(Integer num){
         if(num==null) {
-            return "";
+            return "休";
         }
         switch (num){
             case 0:
@@ -1351,16 +1351,20 @@
                 return "正常";
             case 2:
                 return "异常";
+            case 3:
+                return "正常";  // 请假
+            case 4:
+                return "未打卡";
+            case 5:
+                return "异常";
             case 7:
-                return "补休";
+                return "正常";  // 补休
             case 8:
-            return "外出办公";
+            return "正常";   //外出办公
             case 9:
-                return "出差";
-            case 11:
-                return "请假";
+                return "正常";   // 出差
             default:
-                return "";
+                return "休";
         }
 
     }
diff --git a/src/main/resources/templates/atte/newreport/index.html b/src/main/resources/templates/atte/newreport/index.html
index ce97309..1aaabb5 100644
--- a/src/main/resources/templates/atte/newreport/index.html
+++ b/src/main/resources/templates/atte/newreport/index.html
@@ -135,7 +135,7 @@
                     <el-table-column
                             prop="cnt1"
                             label="正常(天)"
-
+                            :formatter="sumdays"
                             >
                     </el-table-column>
                         <el-table-column
@@ -143,31 +143,31 @@
                                 label="异常(天)"
                         >
                     </el-table-column>
-                    <el-table-column
-                            prop="cnt3"
-                            label="请假(天)"
-                    >
-                    </el-table-column>
+                    <!--<el-table-column-->
+                            <!--prop="cnt3"-->
+                            <!--label="请假(天)"-->
+                    <!--&gt;-->
+                    <!--</el-table-column>-->
                     <el-table-column
                             prop="cnt4"
                             label="旷工(天)"
                     >
                     </el-table-column>
-                    <el-table-column
-                            prop="cnt7"
-                            label="补休(天)"
-                    >
-                    </el-table-column>
-                    <el-table-column
-                            prop="cnt8"
-                            label="外出办公(天)"
-                    >
-                    </el-table-column>
-                    <el-table-column
-                            prop="cnt9"
-                            label="出差(天)"
-                    >
-                    </el-table-column>
+                    <!--<el-table-column-->
+                            <!--prop="cnt7"-->
+                            <!--label="补休(天)"-->
+                    <!--&gt;-->
+                    <!--</el-table-column>-->
+                    <!--<el-table-column-->
+                            <!--prop="cnt8"-->
+                            <!--label="外出办公(天)"-->
+                    <!--&gt;-->
+                    <!--</el-table-column>-->
+                    <!--<el-table-column-->
+                            <!--prop="cnt9"-->
+                            <!--label="出差(天)"-->
+                    <!--&gt;-->
+                    <!--</el-table-column>-->
                     <el-table-column
                             prop="cnts"
                             label="总考勤天数"
@@ -645,6 +645,8 @@
             closeDialog:function(formName) {
                 this.$refs[formName].resetFields();
                 this.dialogFormVisible = false
+            },sumdays:function (row,column, cellValue){
+                return row.cnt1+row.cnt3+row.cnt7+row.cnt8+row.cnt9;
             },
             stateTypeform:function(row, column, cellValue){
               //  alert(cellValue)
@@ -654,16 +656,20 @@
                     return '正常';
                 }else if(cellValue == 2){
                     return '异常';
+                }else if(cellValue == 3){
+                    return '正常';
+                }else if(cellValue == 4){
+                    return '未打卡';
+                }else if(cellValue == 5){
+                    return '异常';
                 }else if(cellValue == 7){
-                    return '补休';
-                }else if(row.cellValue == 8){
-                    return '外出办公';
+                    return '正常';
+                }else if(cellValue == 8){
+                    return '正常';
                 }else if(cellValue == 9){
-                    return '出差';
-                }else if(cellValue == 11){
-                    return '请假';
+                    return '正常';
                 }else {
-                    return '';
+                    return '休';
                 }
 
             },
