diff --git a/Dockerfile b/Dockerfile
index 9d96d6c..496c781 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,6 @@
 FROM openjdk:8
 
-COPY restaurant-1.0.jar /opt/restaurant/restaurant.jar
+COPY restaurant-1.3.jar /opt/restaurant/restaurant.jar
 
 EXPOSE 8080
 
diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index 4fb1de8..95c58ac 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -39,5 +39,5 @@
 payapi.logintime= 0 0/5 * * * ? 
 
 restaurant.check_discount_expire.cron=-
-restaurant.customercheck.cron=0 0/1 * * * ?
+restaurant.customercheck.cron=0 0/5 * * * ?
 auditsys.url=http://172.28.43.20:8082/collect/device/
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index 000a115..513d57e 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,4 +1,4 @@
 springbootVersion = 2.1.3.RELEASE
 kotlinVersion = 1.3.20
-restaurantVersion = 1.0
+restaurantVersion = 1.3
 jdkVersion = 1.8
\ No newline at end of file
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/bean/CustomerSearchBean.java b/src/main/java/com/supwisdom/dlpay/restaurant/bean/CustomerSearchBean.java
index 990cf3f..bc2062b 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/bean/CustomerSearchBean.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/bean/CustomerSearchBean.java
@@ -11,6 +11,8 @@
     private String deptcode;
     private Integer custtypeid;
 
+    private String status;  //同步时添加状态异常的人员
+
     public String getCardno() {
         return cardno;
     }
@@ -58,4 +60,12 @@
     public void setCusttypeid(Integer custtypeid) {
         this.custtypeid = custtypeid;
     }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
 }
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceDiscountRuleController.java b/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceDiscountRuleController.java
index 6e26cf7..221631a 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceDiscountRuleController.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceDiscountRuleController.java
@@ -135,10 +135,10 @@
                                     @RequestParam(value = "ruleid", required = false) Integer ruleid) {
         try {
             if (StringUtil.isEmpty(rulename)) {
-                return JsonResult.error("餐补规则名称不能为空");
+                return JsonResult.error("劳务费规则名称不能为空");
             }
             if (deviceDiscountRuleService.checkDiscountRulenameExist(rulename.trim(), ruleid)) {
-                return JsonResult.error("餐补规则名称已存在");
+                return JsonResult.error("劳务费规则名称已存在");
             } else {
                 return JsonResult.ok("success");
             }
@@ -175,7 +175,7 @@
             } else if (limitcnt < 1) {
                 return JsonResult.error("使用次数必须大于零");
             } else if (StringUtil.isEmpty(listid) ) {
-                return JsonResult.error("请选择餐补名单");
+                return JsonResult.error("请选择劳务费名单");
             }
 
             TOperator oper = (TOperator) operUser;
@@ -204,7 +204,7 @@
         try {
             String[] title = {"市民卡号", "姓名"}; //表头
             String[][] infos = {{"19045632", "张三"}}; // 示例内容
-            ExportExcel.queryexcel("餐补导入名单模板", title, infos, request, response);
+            ExportExcel.queryexcel("劳务费导入名单模板", title, infos, request, response);
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -258,7 +258,7 @@
 
     /**
      * ====================================================
-     * 餐补规则审核
+     * 劳务费规则审核
      * ====================================================
      */
     @GetMapping("/discountrule/check")
@@ -342,7 +342,7 @@
 
     /**
      * ====================================================
-     * 餐补规则绑定设备
+     * 劳务费规则绑定设备
      * ====================================================
      */
     @GetMapping("/discountrule/devbind")
@@ -404,7 +404,7 @@
             if (null == ruleid && null == devgroupid && StringUtil.isEmpty(searchkey)) {
                 return new PageResult<>(99, "请填写条件查询设备");
             } else if (null == ruleid) {
-                return new PageResult<>(99, "请选择餐补规则");
+                return new PageResult<>(99, "请选择劳务费规则");
             }
 
             return deviceDiscountRuleService.searchRuleBindDevices(devgroupid, searchkey, ruleid);
@@ -514,7 +514,7 @@
         try {
             String[] title = {"市民卡号", "姓名","过期日期"}; //表头
             String[][] infos = {{"19045632", "张三","20200805"}}; // 示例内容
-            ExportExcel.queryexcel("餐补过期导入名单模板", title, infos, request, response);
+            ExportExcel.queryexcel("劳务费过期导入名单模板", title, infos, request, response);
         } catch (Exception e) {
             e.printStackTrace();
         }
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/controller/WhitelistController.java b/src/main/java/com/supwisdom/dlpay/restaurant/controller/WhitelistController.java
index 2ec1d62..1996e67 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/controller/WhitelistController.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/controller/WhitelistController.java
@@ -100,7 +100,7 @@
                 return JsonResult.error("参数传递错误");
             }
             if (null == file) {
-                return JsonResult.error("请选择餐补名单");
+                return JsonResult.error("请选择劳务费名单");
             }
 
 
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustReportServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustReportServiceImpl.java
index 02798d6..d21a439 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustReportServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustReportServiceImpl.java
@@ -280,7 +280,7 @@
         ExcelPoiUtil.createCell(row4, 17, headStyle, "交易笔数小计");
         ExcelPoiUtil.createCell(row4, 18, headStyle, "交易金额小计");
 
-        ExcelPoiUtil.createCell(row3, 19, headStyle, "餐补金额");
+        ExcelPoiUtil.createCell(row3, 19, headStyle, "劳务费金额");
         ExcelPoiUtil.createCell(row3, 20, headStyle, null);
         ExcelPoiUtil.createCell(row3, 21, headStyle, null);
 
@@ -344,8 +344,8 @@
 
         //TODO: 审核信息
         HSSFRow signRow10 = ExcelPoiUtil.createRow(sheet, rowNum + 3, 400);
-        ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "大理州公安局警务保障处审核盖章：");
-        ExcelPoiUtil.createCell(signRow10, 6, textStyle3, "苍山饭店审核盖章：");
+        ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "结算方审核盖章：");
+        ExcelPoiUtil.createCell(signRow10, 6, textStyle3, "经营方审核盖章：");
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 0, 5));  //合并列
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 6, columns - 1));  //合并列
         HSSFRow signRow11 = ExcelPoiUtil.createRow(sheet, rowNum + 4, 400);
@@ -354,10 +354,13 @@
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 4, rowNum + 4, 0, 5));  //合并列
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 4, rowNum + 4, 6, columns - 1));  //合并列
 
-        HSSFRow signRow12 = ExcelPoiUtil.createRow(sheet, rowNum + 5, 400);
-        ExcelPoiUtil.createCell(signRow12, 0, textStyle3, "审核人：");
-        sheet.addMergedRegion(new CellRangeAddress(rowNum + 5, rowNum + 5, 0, 5));  //合并列
+        HSSFRow signRow13 = ExcelPoiUtil.createRow(sheet, rowNum + 7, 400);
+        ExcelPoiUtil.createCell(signRow13, 0, textStyle3, "复核方审核盖章：");
+        sheet.addMergedRegion(new CellRangeAddress(rowNum + 7, rowNum + 7, 0, 5));  //合并列
 
+        HSSFRow signRow14 = ExcelPoiUtil.createRow(sheet, rowNum + 8, 400);
+        ExcelPoiUtil.createCell(signRow14, 0, textStyle3, "复核人：");
+        sheet.addMergedRegion(new CellRangeAddress(rowNum + 8, rowNum + 8, 0, 5));  //合并列
 
         try {
             response.setContentType("application/x-msdownload");
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 ecb13a2..2fdc766 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
@@ -82,8 +82,10 @@
             countSql.append(" and  c.custname like :str ");
         }
         if (!StringUtil.isEmpty(param.getCheckstatus())) {
-            querySql.append(" and  c.checkstatus = :checkstatus ");
-            countSql.append(" and  c.checkstatus = :checkstatus ");
+            querySql.append(" and  c.checkstatus = :checkstatus or t.status !='normal'");
+            countSql.append(" and  c.checkstatus = :checkstatus or t.status !='normal'");
+
+
         }
         if (!StringUtil.isEmpty(param.getCardno())) {
             querySql.append(" and  t.cardno like :cardno ");
@@ -93,6 +95,7 @@
             querySql.append(" and  t.bankcardno like :bankcardno ");
             countSql.append(" and  t.bankcardno like :bankcardno ");
         }
+
         Integer i=param.getCusttypeid();
         if (null!=i&&-1!=i){
             querySql.append(" and c.custtype = :custtypeid ");
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CusttypeReportServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CusttypeReportServiceImpl.java
index a09d7a1..4eac58b 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CusttypeReportServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CusttypeReportServiceImpl.java
@@ -136,7 +136,7 @@
         ExcelPoiUtil.createCell(row2, 0, headStyle, "序号");
         ExcelPoiUtil.createCell(row2, 1, headStyle, "食堂");
 
-        ExcelPoiUtil.createCell(row2, 2, headStyle, "含餐补消费支付");
+        ExcelPoiUtil.createCell(row2, 2, headStyle, "含劳务费消费支付");
         ExcelPoiUtil.createCell(row2, 3, headStyle, null);
         ExcelPoiUtil.createCell(row2, 4, headStyle, null);
         ExcelPoiUtil.createCell(row2, 5, headStyle, null);
@@ -145,14 +145,14 @@
 
         sheet.addMergedRegion(new CellRangeAddress(2, 2, 2, 7)); //合并单元格CellRangeAddress构造参数依次表示 起始行，截至行，起始列， 截至列
 
-        ExcelPoiUtil.createCell(row2, 8, headStyle, "无餐补消费支付");
+        ExcelPoiUtil.createCell(row2, 8, headStyle, "无劳务费消费支付");
         ExcelPoiUtil.createCell(row2, 9, headStyle, null);
         ExcelPoiUtil.createCell(row2, 10, headStyle, null);
         sheet.addMergedRegion(new CellRangeAddress(2, 2, 8, 10)); //合并单元格CellRangeAddress构造参数依次表示 起始行，截至行，起始列， 截至列
 
-
-        ExcelPoiUtil.createCell(row2, 11, headStyle, "合计 消费金额");
         ExcelPoiUtil.createCell(row2, 12, headStyle, "合计 消费笔数");
+        ExcelPoiUtil.createCell(row2, 11, headStyle, "合计 消费金额");
+
         HSSFRow row3 = ExcelPoiUtil.createRow(sheet, 3, 800); //表头第二行
         ExcelPoiUtil.createCell(row3, 0, headStyle, null);
         sheet.addMergedRegion(new CellRangeAddress(2, 3, 0, 0)); //合并列
@@ -165,19 +165,16 @@
 
         ExcelPoiUtil.createCell(row3, 12, headStyle, null);
         sheet.addMergedRegion(new CellRangeAddress(2, 3, 12, 12)); //合并列
-
-        ExcelPoiUtil.createCell(row3, 2, headStyle, "早餐 金额");
         ExcelPoiUtil.createCell(row3, 3, headStyle, "早餐 份数");
-        ExcelPoiUtil.createCell(row3, 4, headStyle, "午餐 金额");
+        ExcelPoiUtil.createCell(row3, 2, headStyle, "早餐 金额");
         ExcelPoiUtil.createCell(row3, 5, headStyle, "午餐 份数");
-        ExcelPoiUtil.createCell(row3, 6, headStyle, "晚餐 金额");
+        ExcelPoiUtil.createCell(row3, 4, headStyle, "午餐 金额");
         ExcelPoiUtil.createCell(row3, 7, headStyle, "晚餐 份数");
+        ExcelPoiUtil.createCell(row3, 6, headStyle, "晚餐 金额");
 
- //       ExcelPoiUtil.createCell(row3, 8, headStyle, "早餐 金额");
+
         ExcelPoiUtil.createCell(row3, 8, headStyle, "早餐 份数");
-   //     ExcelPoiUtil.createCell(row3, 10, headStyle, "午餐 金额");
         ExcelPoiUtil.createCell(row3, 9, headStyle, "午餐 份数");
- //       ExcelPoiUtil.createCell(row3, 12, headStyle, "晚餐 金额");
         ExcelPoiUtil.createCell(row3, 10, headStyle, "晚餐 份数");
 
         //TODO: 数据
@@ -203,12 +200,13 @@
                 HSSFRow row = ExcelPoiUtil.createRow(sheet, rowNum++, 500);
                 ExcelPoiUtil.createCell(row, 0, textStyle1,""+ detail.getRownum());
                 ExcelPoiUtil.createCell(row, 1, textStyle1, detail.getGroupname());
-                ExcelPoiUtil.createCell(row, 2, textStyle1, MoneyUtil.formatYuanToString(detail.getIbtotalamt()));
                 ExcelPoiUtil.createCell(row, 3, textStyle1, detail.getIbtotalcnt().toString());
-                ExcelPoiUtil.createCell(row, 4, textStyle1, MoneyUtil.formatYuanToString(detail.getIltotalamt())); //午餐
+                ExcelPoiUtil.createCell(row, 2, textStyle1, MoneyUtil.formatYuanToString(detail.getIbtotalamt()));
                 ExcelPoiUtil.createCell(row, 5, textStyle1, detail.getIltotalcnt().toString());
-                ExcelPoiUtil.createCell(row, 6, textStyle1, MoneyUtil.formatYuanToString(detail.getIdtotalamt())); //晚餐
+                ExcelPoiUtil.createCell(row, 4, textStyle1, MoneyUtil.formatYuanToString(detail.getIltotalamt())); //午餐
                 ExcelPoiUtil.createCell(row, 7, textStyle1, detail.getIdtotalcnt().toString());
+                ExcelPoiUtil.createCell(row, 6, textStyle1, MoneyUtil.formatYuanToString(detail.getIdtotalamt())); //晚餐
+
 
          //       ExcelPoiUtil.createCell(row, 8, textStyle1, MoneyUtil.formatYuanToString(detail.getObtotalamt())); //早餐
                 ExcelPoiUtil.createCell(row, 8, textStyle1, detail.getObtotalcnt().toString());
@@ -216,9 +214,9 @@
                 ExcelPoiUtil.createCell(row, 9, textStyle1, detail.getOltotalcnt().toString());
          //       ExcelPoiUtil.createCell(row, 12, textStyle1, MoneyUtil.formatYuanToString(detail.getOdtotalamt())); //晚餐
                 ExcelPoiUtil.createCell(row, 10, textStyle1, detail.getOdtotalcnt().toString());
+                ExcelPoiUtil.createCell(row, 12, textStyle1, detail.getIdtotalcnt()+detail.getIbtotalcnt()+detail.getIltotalcnt()+detail.getOdtotalcnt()+detail.getOltotalcnt()+detail.getObtotalcnt()+"");
 
                 ExcelPoiUtil.createCell(row, 11, textStyle1, MoneyUtil.formatYuanToString(detail.getIdtotalamt()+detail.getIbtotalamt()+detail.getIltotalamt())); //总计
-                ExcelPoiUtil.createCell(row, 12, textStyle1, detail.getIdtotalcnt()+detail.getIbtotalcnt()+detail.getIltotalcnt()+detail.getOdtotalcnt()+detail.getOltotalcnt()+detail.getObtotalcnt()+"");
 
 
             }
@@ -234,19 +232,22 @@
 
         //TODO: 审核信息
         HSSFRow signRow10 = ExcelPoiUtil.createRow(sheet, rowNum + 3, 400);
-        ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "大理州公安局警务保障处审核盖章：");
-        ExcelPoiUtil.createCell(signRow10, 6, textStyle3, "苍山饭店审核盖章：");
+        ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "结算方审核盖章：");
+        ExcelPoiUtil.createCell(signRow10, 6, textStyle3, "经营方审核盖章：");
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 0, 5));  //合并列
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 6, columns - 1));  //合并列
         HSSFRow signRow11 = ExcelPoiUtil.createRow(sheet, rowNum + 4, 400);
         ExcelPoiUtil.createCell(signRow11, 0, textStyle3, "经办人：");
-        ExcelPoiUtil.createCell(signRow11, 6, textStyle3, "审核人：");
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 4, rowNum + 4, 0, 5));  //合并列
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 4, rowNum + 4, 6, columns - 1));  //合并列
 
-        HSSFRow signRow12 = ExcelPoiUtil.createRow(sheet, rowNum + 5, 400);
-        ExcelPoiUtil.createCell(signRow12, 0, textStyle3, "审核人：");
-        sheet.addMergedRegion(new CellRangeAddress(rowNum + 5, rowNum + 5, 0, 5));  //合并列
+        HSSFRow signRow13 = ExcelPoiUtil.createRow(sheet, rowNum + 7, 400);
+        ExcelPoiUtil.createCell(signRow13, 0, textStyle3, "复核方审核盖章：");
+        sheet.addMergedRegion(new CellRangeAddress(rowNum + 7, rowNum + 7, 0, 5));  //合并列
+
+        HSSFRow signRow14 = ExcelPoiUtil.createRow(sheet, rowNum + 8, 400);
+        ExcelPoiUtil.createCell(signRow14, 0, textStyle3, "复核人：");
+        sheet.addMergedRegion(new CellRangeAddress(rowNum + 8, rowNum + 8, 0, 5));  //合并列
 
 
         try {
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DailyReportServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DailyReportServiceImpl.java
index 434ba64..3567aad 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DailyReportServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DailyReportServiceImpl.java
@@ -278,24 +278,24 @@
         ExcelPoiUtil.createCell(row3, 0, headStyle, null);
         sheet.addMergedRegion(new CellRangeAddress(2, 3, 0, 0)); //合并列
 
-
-        ExcelPoiUtil.createCell(row3, 1, headStyle, "早餐\n正价金额");
         ExcelPoiUtil.createCell(row3, 2, headStyle, "早餐\n份数");
-        ExcelPoiUtil.createCell(row3, 3, headStyle, "午餐\n正价金额");
+        ExcelPoiUtil.createCell(row3, 1, headStyle, "早餐\n正价金额");
         ExcelPoiUtil.createCell(row3, 4, headStyle, "午餐\n份数");
-        ExcelPoiUtil.createCell(row3, 5, headStyle, "晚餐\n正价金额");
+        ExcelPoiUtil.createCell(row3, 3, headStyle, "午餐\n正价金额");
         ExcelPoiUtil.createCell(row3, 6, headStyle, "晚餐\n份数");
-        ExcelPoiUtil.createCell(row3, 7, headStyle, "合计\n正价金额");
+        ExcelPoiUtil.createCell(row3, 5, headStyle, "晚餐\n正价金额");
         ExcelPoiUtil.createCell(row3, 8, headStyle, "合计\n份数");
+        ExcelPoiUtil.createCell(row3, 7, headStyle, "合计\n正价金额");
 
-        ExcelPoiUtil.createCell(row3, 9, headStyle, "早餐\n折后金额");
         ExcelPoiUtil.createCell(row3, 10, headStyle, "早餐\n份数");
-        ExcelPoiUtil.createCell(row3, 11, headStyle, "午餐\n折后金额");
+        ExcelPoiUtil.createCell(row3, 9, headStyle, "早餐\n折后金额");
         ExcelPoiUtil.createCell(row3, 12, headStyle, "午餐\n份数");
-        ExcelPoiUtil.createCell(row3, 13, headStyle, "晚餐\n折后金额");
+        ExcelPoiUtil.createCell(row3, 11, headStyle, "午餐\n折后金额");
         ExcelPoiUtil.createCell(row3, 14, headStyle, "晚餐\n份数");
-        ExcelPoiUtil.createCell(row3, 15, headStyle, "合计\n折后金额");
+        ExcelPoiUtil.createCell(row3, 13, headStyle, "晚餐\n折后金额");
         ExcelPoiUtil.createCell(row3, 16, headStyle, "合计\n份数");
+        ExcelPoiUtil.createCell(row3, 15, headStyle, "合计\n折后金额");
+
 
         ExcelPoiUtil.createCell(row3, 17, headStyle, "早餐\n劳务费");
         ExcelPoiUtil.createCell(row3, 18, headStyle, "午餐\n劳务费");
@@ -324,25 +324,27 @@
                 }*/
                 HSSFRow row = ExcelPoiUtil.createRow(sheet, rowNum++, 500);
                 ExcelPoiUtil.createCell(row, 0, textStyle1, detail.getCheckdate());
-                ExcelPoiUtil.createCell(row, 1, textStyle1, MoneyUtil.formatYuanToString(detail.getBtotalamt())); //早餐
-                ExcelPoiUtil.createCell(row, 2, textStyle1, detail.getBtotalcnt().toString());
-                ExcelPoiUtil.createCell(row, 3, textStyle1, MoneyUtil.formatYuanToString(detail.getLtotalamt())); //午餐
-                ExcelPoiUtil.createCell(row, 4, textStyle1, detail.getLtotalcnt().toString());
-                ExcelPoiUtil.createCell(row, 5, textStyle1, MoneyUtil.formatYuanToString(detail.getDtotalamt())); //晚餐
-                ExcelPoiUtil.createCell(row, 6, textStyle1, detail.getDtotalcnt().toString());
-                ExcelPoiUtil.createCell(row, 7, textStyle1, MoneyUtil.formatYuanToString(detail.getDtotalamt() + detail.getLtotalamt() + detail.getBtotalamt())); //晚餐
+                ExcelPoiUtil.createCell(row, 1, textStyle1, detail.getBtotalcnt().toString());
+                ExcelPoiUtil.createCell(row, 2, textStyle1, MoneyUtil.formatYuanToString(detail.getBtotalamt())); //早餐
+                ExcelPoiUtil.createCell(row, 3, textStyle1, detail.getLtotalcnt().toString());
+                ExcelPoiUtil.createCell(row, 4, textStyle1, MoneyUtil.formatYuanToString(detail.getLtotalamt())); //午餐
+                ExcelPoiUtil.createCell(row, 5, textStyle1, detail.getDtotalcnt().toString());
+                ExcelPoiUtil.createCell(row, 6, textStyle1, MoneyUtil.formatYuanToString(detail.getDtotalamt())); //晚餐
                 BigInteger cttotcnt=detail.getDtotalcnt().add(detail.getBtotalcnt()).add(detail.getLtotalcnt()) ;
-                ExcelPoiUtil.createCell(row, 8, textStyle1, (cttotcnt.toString()));
 
-                ExcelPoiUtil.createCell(row, 9, textStyle1, MoneyUtil.formatYuanToString(detail.getBpayamt())); //早餐
-                ExcelPoiUtil.createCell(row, 10, textStyle1, detail.getBpaycnt().toString());
-                ExcelPoiUtil.createCell(row, 11, textStyle1, MoneyUtil.formatYuanToString(detail.getLpayamt())); //午餐
-                ExcelPoiUtil.createCell(row, 12, textStyle1, detail.getLpaycnt().toString());
-                ExcelPoiUtil.createCell(row, 13, textStyle1, MoneyUtil.formatYuanToString(detail.getDpayamt())); //晚餐
-                ExcelPoiUtil.createCell(row, 14, textStyle1, detail.getDpaycnt().toString());
-                ExcelPoiUtil.createCell(row, 15, textStyle1, MoneyUtil.formatYuanToString(detail.getDpayamt() + detail.getBpayamt() + detail.getLpayamt())); //晚餐
+                ExcelPoiUtil.createCell(row, 7, textStyle1, (cttotcnt.toString()));
+                ExcelPoiUtil.createCell(row, 8, textStyle1, MoneyUtil.formatYuanToString(detail.getDtotalamt() + detail.getLtotalamt() + detail.getBtotalamt())); //晚餐
+
+                ExcelPoiUtil.createCell(row, 9, textStyle1, detail.getBpaycnt().toString());
+                ExcelPoiUtil.createCell(row, 10, textStyle1, MoneyUtil.formatYuanToString(detail.getBpayamt())); //早餐
+                ExcelPoiUtil.createCell(row, 11, textStyle1, detail.getLpaycnt().toString());
+                ExcelPoiUtil.createCell(row, 12, textStyle1, MoneyUtil.formatYuanToString(detail.getLpayamt())); //午餐
+                ExcelPoiUtil.createCell(row, 13, textStyle1, detail.getDpaycnt().toString());
+                ExcelPoiUtil.createCell(row, 14, textStyle1, MoneyUtil.formatYuanToString(detail.getDpayamt())); //晚餐
                 BigInteger ctptotcnt=detail.getDpaycnt().add(detail.getLpaycnt()).add( detail.getBpaycnt()) ;
-                ExcelPoiUtil.createCell(row, 16, textStyle1, ctptotcnt.toString());
+                ExcelPoiUtil.createCell(row, 15, textStyle1, ctptotcnt.toString());
+                ExcelPoiUtil.createCell(row, 16, textStyle1, MoneyUtil.formatYuanToString(detail.getDpayamt() + detail.getBpayamt() + detail.getLpayamt())); //晚餐
+
 
                 ExcelPoiUtil.createCell(row, 17, textStyle1, MoneyUtil.formatYuanToString(detail.getBfeeamt())); //早餐
                 ExcelPoiUtil.createCell(row, 18, textStyle1, MoneyUtil.formatYuanToString(detail.getLfeeamt())); //午餐
@@ -356,26 +358,26 @@
             DailyReportShowBean sumBean = datalist.get(datalist.size() - 1);
             HSSFRow sumRow = ExcelPoiUtil.createRow(sheet, rowNum, 500);
             ExcelPoiUtil.createCell(sumRow, 0, textStyle1, sumBean.getCheckdate());
-            ExcelPoiUtil.createCell(sumRow, 0, textStyle1, sumBean.getCheckdate());
-            ExcelPoiUtil.createCell(sumRow, 1, textStyle1, MoneyUtil.formatYuanToString(sumBean.getBtotalamt())); //早餐
-            ExcelPoiUtil.createCell(sumRow, 2, textStyle1, sumBean.getBtotalcnt().toString());
-            ExcelPoiUtil.createCell(sumRow, 3, textStyle1, MoneyUtil.formatYuanToString(sumBean.getLtotalamt())); //午餐
-            ExcelPoiUtil.createCell(sumRow, 4, textStyle1, sumBean.getLtotalcnt().toString());
-            ExcelPoiUtil.createCell(sumRow, 5, textStyle1, MoneyUtil.formatYuanToString(sumBean.getDtotalamt())); //晚餐
-            ExcelPoiUtil.createCell(sumRow, 6, textStyle1, sumBean.getDtotalcnt().toString());
-            ExcelPoiUtil.createCell(sumRow, 7, textStyle1, MoneyUtil.formatYuanToString(sumBean.getDtotalamt() + sumBean.getLtotalamt() + sumBean.getBtotalamt())); //晚餐
+            ExcelPoiUtil.createCell(sumRow, 1, textStyle1, sumBean.getBtotalcnt().toString());
+            ExcelPoiUtil.createCell(sumRow, 2, textStyle1, MoneyUtil.formatYuanToString(sumBean.getBtotalamt())); //早餐
+            ExcelPoiUtil.createCell(sumRow, 3, textStyle1, sumBean.getLtotalcnt().toString());
+            ExcelPoiUtil.createCell(sumRow, 4, textStyle1, MoneyUtil.formatYuanToString(sumBean.getLtotalamt())); //午餐
+            ExcelPoiUtil.createCell(sumRow, 5, textStyle1, sumBean.getDtotalcnt().toString());
+            ExcelPoiUtil.createCell(sumRow, 6, textStyle1, MoneyUtil.formatYuanToString(sumBean.getDtotalamt())); //晚餐
             BigInteger ttotcnt=sumBean.getDtotalcnt().add(sumBean.getBtotalcnt() ).add(sumBean.getLtotalcnt())   ;
-            ExcelPoiUtil.createCell(sumRow, 8, textStyle1, ttotcnt.toString());
+            ExcelPoiUtil.createCell(sumRow, 7, textStyle1, ttotcnt.toString());
 
-            ExcelPoiUtil.createCell(sumRow, 9, textStyle1, MoneyUtil.formatYuanToString(sumBean.getBpayamt())); //早餐
-            ExcelPoiUtil.createCell(sumRow, 10, textStyle1, sumBean.getBpaycnt().toString());
-            ExcelPoiUtil.createCell(sumRow, 11, textStyle1, MoneyUtil.formatYuanToString(sumBean.getLpayamt())); //午餐
-            ExcelPoiUtil.createCell(sumRow, 12, textStyle1, sumBean.getLpaycnt().toString());
-            ExcelPoiUtil.createCell(sumRow, 13, textStyle1, MoneyUtil.formatYuanToString(sumBean.getDpayamt())); //晚餐
-            ExcelPoiUtil.createCell(sumRow, 14, textStyle1, sumBean.getDpaycnt().toString());
-            ExcelPoiUtil.createCell(sumRow, 15, textStyle1, MoneyUtil.formatYuanToString(sumBean.getDpayamt() + sumBean.getLpayamt() + sumBean.getBpayamt())); //晚餐
+            ExcelPoiUtil.createCell(sumRow, 8, textStyle1, MoneyUtil.formatYuanToString(sumBean.getDtotalamt() + sumBean.getLtotalamt() + sumBean.getBtotalamt())); //晚餐
+            ExcelPoiUtil.createCell(sumRow, 9, textStyle1, sumBean.getBpaycnt().toString());
+            ExcelPoiUtil.createCell(sumRow, 10, textStyle1, MoneyUtil.formatYuanToString(sumBean.getBpayamt())); //早餐
+            ExcelPoiUtil.createCell(sumRow, 11, textStyle1, sumBean.getLpaycnt().toString());
+            ExcelPoiUtil.createCell(sumRow, 12, textStyle1, MoneyUtil.formatYuanToString(sumBean.getLpayamt())); //午餐
+            ExcelPoiUtil.createCell(sumRow, 13, textStyle1, sumBean.getDpaycnt().toString());
+            ExcelPoiUtil.createCell(sumRow, 14, textStyle1, MoneyUtil.formatYuanToString(sumBean.getDpayamt())); //晚餐
             BigInteger ptotcnt=sumBean.getDpaycnt().add( sumBean.getLpaycnt()).add(sumBean.getBpaycnt());
-            ExcelPoiUtil.createCell(sumRow, 16, textStyle1, ptotcnt.toString());
+            ExcelPoiUtil.createCell(sumRow, 15, textStyle1, ptotcnt.toString());
+            ExcelPoiUtil.createCell(sumRow, 16, textStyle1, MoneyUtil.formatYuanToString(sumBean.getDpayamt() + sumBean.getLpayamt() + sumBean.getBpayamt())); //晚餐
+
 
             ExcelPoiUtil.createCell(sumRow, 17, textStyle1, MoneyUtil.formatYuanToString(sumBean.getBfeeamt())); //早餐
             ExcelPoiUtil.createCell(sumRow, 18, textStyle1, MoneyUtil.formatYuanToString(sumBean.getLfeeamt())); //午餐
@@ -391,8 +393,8 @@
 
         //TODO: 审核信息
         HSSFRow signRow10 = ExcelPoiUtil.createRow(sheet, rowNum + 3, 400);
-        ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "大理州公安局警务保障处审核盖章：");
-        ExcelPoiUtil.createCell(signRow10, 6, textStyle3, "苍山饭店审核盖章：");
+        ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "结算方审核盖章：");
+        ExcelPoiUtil.createCell(signRow10, 6, textStyle3, "经营方审核盖章：");
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 0, 5));  //合并列
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 6, columns - 1));  //合并列
         HSSFRow signRow11 = ExcelPoiUtil.createRow(sheet, rowNum + 4, 400);
@@ -401,9 +403,13 @@
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 4, rowNum + 4, 0, 5));  //合并列
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 4, rowNum + 4, 6, columns - 1));  //合并列
 
-        HSSFRow signRow12 = ExcelPoiUtil.createRow(sheet, rowNum + 5, 400);
-        ExcelPoiUtil.createCell(signRow12, 0, textStyle3, "审核人：");
-        sheet.addMergedRegion(new CellRangeAddress(rowNum + 5, rowNum + 5, 0, 5));  //合并列
+        HSSFRow signRow12 = ExcelPoiUtil.createRow(sheet, rowNum + 7, 400);
+        ExcelPoiUtil.createCell(signRow12, 0, textStyle3, "复核方审核盖章：");
+        sheet.addMergedRegion(new CellRangeAddress(rowNum + 7, rowNum + 7, 0, 5));  //合并列
+
+        HSSFRow signRow13 = ExcelPoiUtil.createRow(sheet, rowNum + 8, 400);
+        ExcelPoiUtil.createCell(signRow13, 0, textStyle3, "复核人：");
+        sheet.addMergedRegion(new CellRangeAddress(rowNum + 8, rowNum + 8, 0, 5));  //合并列
 
         try {
             response.setContentType("application/x-msdownload");
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DeviceDiscountRuleServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DeviceDiscountRuleServiceImpl.java
index 18255fb..177e044 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DeviceDiscountRuleServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DeviceDiscountRuleServiceImpl.java
@@ -117,9 +117,9 @@
     public boolean deleteDiscountRule(int ruleid) throws WebCheckException {
         TDiscountRule rule = discountRuleDao.findByRuleid(ruleid);
         if (null == rule) {
-            throw new WebCheckException("餐补规则不存在！");
+            throw new WebCheckException("劳务费规则不存在！");
         } else if (!RestaurantConstant.STATUS_DISCOUNTRULE_UNCHECK.equals(rule.getStatus()) && !RestaurantConstant.STATUS_DISCOUNTRULE_REJECT.equals(rule.getStatus())) {
-            throw new WebCheckException("待审核或驳回的餐补规则才能删除！");
+            throw new WebCheckException("待审核或驳回的劳务费规则才能删除！");
         }
 
         discountDetailDao.deleteRuleDetailsByRuleid(ruleid); //名单
@@ -132,7 +132,7 @@
     public boolean changeDiscountRuleLimitCnt(int ruleid, int limitcnt) throws WebCheckException {
         TDiscountRule rule = discountRuleDao.findByRuleid(ruleid);
         if (null == rule) {
-            throw new WebCheckException("餐补规则不存在！");
+            throw new WebCheckException("劳务费规则不存在！");
         }
         rule.setLimitcnt(limitcnt);
         rule.setStatus(RestaurantConstant.STATUS_DISCOUNTRULE_UNCHECK);
@@ -144,15 +144,15 @@
     public boolean closeDiscountRule(int ruleid) throws WebCheckException {
         TDiscountRule rule = discountRuleDao.findByRuleid(ruleid);
         if (null == rule) {
-            throw new WebCheckException("餐补规则不存在！");
+            throw new WebCheckException("劳务费规则不存在！");
         } else if (RestaurantConstant.STATUS_DISCOUNTRULE_CLOSED.equals(rule.getStatus())) {
-            throw new WebCheckException("餐补规则已经失效！");
+            throw new WebCheckException("劳务费规则已经失效！");
         } else if (!RestaurantConstant.STATUS_DISCOUNTRULE_NORMAL.equals(rule.getStatus())) {
-            throw new WebCheckException("餐补规则未审核通过，不能关闭");
+            throw new WebCheckException("劳务费规则未审核通过，不能关闭");
         }
 
 //    if (discountDevbindDao.getBindcntByRuleid(ruleid) > 0) {
-//      throw new WebCheckException("有设备正在使用该餐补规则，请先解绑设备");
+//      throw new WebCheckException("有设备正在使用该劳务费规则，请先解绑设备");
 //    }
 
         rule.setStatus(RestaurantConstant.STATUS_DISCOUNTRULE_CLOSED);
@@ -221,7 +221,7 @@
                                        String endtime, Double amount, Integer limitcnt, String listid, TOperator oper, String rulemode) throws Exception {
         TDiscountRule rule = new TDiscountRule();
         if (discountRuleDao.checkRulenameExists(rulename) > 0) {
-            throw new WebCheckException("餐补名称已经存在！");
+            throw new WebCheckException("劳务费名称已经存在！");
         }
         rule.setRulename(rulename);
         rule.setRuletype(ruletype);
@@ -373,9 +373,9 @@
     public boolean doCheckDiscountRule(int ruleid, boolean passflag, String reason, TOperator oper) throws Exception {
         TDiscountRule rule = discountRuleDao.findByRuleid(ruleid);
         if (null == rule) {
-            throw new WebCheckException("餐补规则不存在！");
+            throw new WebCheckException("劳务费规则不存在！");
         } else if (!RestaurantConstant.STATUS_DISCOUNTRULE_UNCHECK.equals(rule.getStatus())) {
-            throw new WebCheckException("餐补规则非待审核状态");
+            throw new WebCheckException("劳务费规则非待审核状态");
         }
 
         rule.setCheckOperid(oper.getOperid());
@@ -509,9 +509,9 @@
     public boolean saveRuleBindDevices(int ruleid, List<Integer> deviceIds, TOperator oper) throws WebCheckException {
         TDiscountRule rule = discountRuleDao.findByRuleid(ruleid);
         if (null == rule) {
-            throw new WebCheckException("所选餐补规则不存在");
+            throw new WebCheckException("所选劳务费规则不存在");
         } else if (!RestaurantConstant.STATUS_DISCOUNTRULE_NORMAL.equals(rule.getStatus())) {
-            throw new WebCheckException("所选餐补规则状态异常");
+            throw new WebCheckException("所选劳务费规则状态异常");
         }
 
         for (Integer id : deviceIds) {
@@ -536,9 +536,9 @@
     public boolean updateDetailExpiredate(int ruleid, String id, String expiredate, TOperator oper) throws WebCheckException {
         TDiscountRule rule = discountRuleDao.findByRuleid(ruleid);
         if (null == rule) {
-            throw new WebCheckException("所选餐补规则不存在");
+            throw new WebCheckException("所选劳务费规则不存在");
         } else if (!RestaurantConstant.STATUS_DISCOUNTRULE_NORMAL.equals(rule.getStatus())) {
-            throw new WebCheckException("所选餐补规则状态异常");
+            throw new WebCheckException("所选劳务费规则状态异常");
         }
         if(!StringUtil.isEmpty(expiredate)){
             boolean isdate=DateUtil.checkDatetimeValid(expiredate,"yyyyMMdd");
@@ -551,7 +551,7 @@
 
         Optional<TDiscountDetail> detail=discountDetailDao.findById(id);
         if(null==detail){
-            throw new WebCheckException("所选餐补规则不存在");
+            throw new WebCheckException("所选劳务费规则不存在");
         }
         TDiscountDetail discountDetail=detail.get();
         discountDetail.setExpiredate(expiredate);
@@ -596,9 +596,9 @@
         String systime = systemUtilService.getSysdatetime().getHostdatetime();
 
         if (null == rule) {
-            throw new WebCheckException("所选餐补规则不存在");
+            throw new WebCheckException("所选劳务费规则不存在");
         } else if (!RestaurantConstant.STATUS_DISCOUNTRULE_NORMAL.equals(rule.getStatus())) {
-            throw new WebCheckException("所选餐补规则状态异常");
+            throw new WebCheckException("所选劳务费规则状态异常");
         }
 
         for (String id : custids) {
@@ -638,7 +638,7 @@
         ZTreeNode zTreeNode = new ZTreeNode();
         zTreeNode.setpId("-1");
         zTreeNode.setId("0");
-        zTreeNode.setName("餐补列表");
+        zTreeNode.setName("劳务费列表");
         zTreeNode.setChecked(false);
         zTreeNode.setOpen(true);
         ret.add(zTreeNode);
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/StatementReportServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/StatementReportServiceImpl.java
index 871a00d..ecc9d4b 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/StatementReportServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/StatementReportServiceImpl.java
@@ -362,8 +362,8 @@
 
     //TODO: 审核信息
     HSSFRow signRow10 = ExcelPoiUtil.createRow(sheet, rowNum + 3, 400);
-    ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "大理州公安局警务保障处审核盖章：");
-    ExcelPoiUtil.createCell(signRow10, 6, textStyle3, "苍山饭店审核盖章：");
+    ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "结算方审核盖章：");
+    ExcelPoiUtil.createCell(signRow10, 6, textStyle3, "经营方审核盖章：");
     sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 0, 5));  //合并列
     sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 6, columns - 1));  //合并列
     HSSFRow signRow11 = ExcelPoiUtil.createRow(sheet, rowNum + 4, 400);
@@ -372,9 +372,14 @@
     sheet.addMergedRegion(new CellRangeAddress(rowNum + 4, rowNum + 4, 0, 5));  //合并列
     sheet.addMergedRegion(new CellRangeAddress(rowNum + 4, rowNum + 4, 6, columns - 1));  //合并列
 
-    HSSFRow signRow12 = ExcelPoiUtil.createRow(sheet, rowNum + 5, 400);
-    ExcelPoiUtil.createCell(signRow12, 0, textStyle3, "审核人：");
-    sheet.addMergedRegion(new CellRangeAddress(rowNum + 5, rowNum + 5, 0, 5));  //合并列
+
+    HSSFRow signRow13 = ExcelPoiUtil.createRow(sheet, rowNum + 7, 400);
+    ExcelPoiUtil.createCell(signRow13, 0, textStyle3, "复核方审核盖章：");
+    sheet.addMergedRegion(new CellRangeAddress(rowNum + 7, rowNum + 7, 0, 5));  //合并列
+
+    HSSFRow signRow14 = ExcelPoiUtil.createRow(sheet, rowNum + 8, 400);
+    ExcelPoiUtil.createCell(signRow14, 0, textStyle3, "复核人：");
+    sheet.addMergedRegion(new CellRangeAddress(rowNum + 8, rowNum + 8, 0, 5));  //合并列
 
     try {
       response.setContentType("application/x-msdownload");
@@ -638,19 +643,23 @@
 
     //TODO: 审核信息
     HSSFRow signRow10 = ExcelPoiUtil.createRow(sheet, rowNum + 3, 400);
-    ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "大理州公安局警务保障处审核盖章：");
-    ExcelPoiUtil.createCell(signRow10, 5, textStyle3, "苍山饭店审核盖章：");
+    ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "结算方审核盖章：");
+    ExcelPoiUtil.createCell(signRow10, 5, textStyle3, "经营方审核盖章：");
     sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 0, 4));  //合并列
     sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 5, columns - 1));  //合并列
     HSSFRow signRow11 = ExcelPoiUtil.createRow(sheet, rowNum + 4, 400);
     ExcelPoiUtil.createCell(signRow11, 0, textStyle3, "经办人：");
-    ExcelPoiUtil.createCell(signRow11, 6, textStyle3, "审核人：");
     sheet.addMergedRegion(new CellRangeAddress(rowNum + 4, rowNum + 4, 0, 5));  //合并列
     sheet.addMergedRegion(new CellRangeAddress(rowNum + 4, rowNum + 4, 6, columns - 1));  //合并列
 
-    HSSFRow signRow12 = ExcelPoiUtil.createRow(sheet, rowNum + 5, 400);
-    ExcelPoiUtil.createCell(signRow12, 0, textStyle3, "审核人：");
-    sheet.addMergedRegion(new CellRangeAddress(rowNum + 5, rowNum + 5, 0, 5));  //合并列
+
+    HSSFRow signRow13 = ExcelPoiUtil.createRow(sheet, rowNum + 7, 400);
+    ExcelPoiUtil.createCell(signRow13, 0, textStyle3, "复核方审核盖章：");
+    sheet.addMergedRegion(new CellRangeAddress(rowNum + 7, rowNum + 7, 0, 5));  //合并列
+
+    HSSFRow signRow14 = ExcelPoiUtil.createRow(sheet, rowNum + 8, 400);
+    ExcelPoiUtil.createCell(signRow14, 0, textStyle3, "复核人：");
+    sheet.addMergedRegion(new CellRangeAddress(rowNum + 8, rowNum + 8, 0, 5));  //合并列
 
     try {
       response.setContentType("application/x-msdownload");
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TermReportServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TermReportServiceImpl.java
index 2493657..6809e18 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TermReportServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TermReportServiceImpl.java
@@ -86,7 +86,7 @@
             if (null!=searchBean.getRuleid()) {
                 sb.append( " and r.ruleid = :ruleid ");
             }
-            sb.append(" group by t.termid");
+            sb.append(" group by t.termid order by t.termid");
             Query query = entityManager.createNativeQuery(sb.toString());
             query.setParameter("startdate", startdate);
             query.setParameter("enddate", enddate);
@@ -265,7 +265,7 @@
         ExcelPoiUtil.createCell(row4, 15, headStyle, "交易笔数小计");
         ExcelPoiUtil.createCell(row4, 16, headStyle, "交易金额小计");
 
-        ExcelPoiUtil.createCell(row3, 17, headStyle, "餐补金额");
+        ExcelPoiUtil.createCell(row3, 17, headStyle, "劳务费金额");
         ExcelPoiUtil.createCell(row3, 18, headStyle, null);
         ExcelPoiUtil.createCell(row3, 19, headStyle, null);
 
@@ -327,8 +327,8 @@
 
         //TODO: 审核信息
         HSSFRow signRow10 = ExcelPoiUtil.createRow(sheet, rowNum + 3, 400);
-        ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "大理州公安局警务保障处审核盖章：");
-        ExcelPoiUtil.createCell(signRow10, 6, textStyle3, "苍山饭店审核盖章：");
+        ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "结算方审核盖章：");
+        ExcelPoiUtil.createCell(signRow10, 6, textStyle3, "经营方审核盖章：");
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 0, 5));  //合并列
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 6, columns - 1));  //合并列
         HSSFRow signRow11 = ExcelPoiUtil.createRow(sheet, rowNum + 4, 400);
@@ -337,10 +337,13 @@
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 4, rowNum + 4, 0, 5));  //合并列
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 4, rowNum + 4, 6, columns - 1));  //合并列
 
-        HSSFRow signRow12 = ExcelPoiUtil.createRow(sheet, rowNum + 5, 400);
-        ExcelPoiUtil.createCell(signRow12, 0, textStyle3, "审核人：");
-        sheet.addMergedRegion(new CellRangeAddress(rowNum + 5, rowNum + 5, 0, 5));  //合并列
+        HSSFRow signRow12 = ExcelPoiUtil.createRow(sheet, rowNum + 7, 400);
+        ExcelPoiUtil.createCell(signRow12, 0, textStyle3, "复核方审核盖章：");
+        sheet.addMergedRegion(new CellRangeAddress(rowNum + 7, rowNum + 7, 0, 5));  //合并列
 
+        HSSFRow signRow13 = ExcelPoiUtil.createRow(sheet, rowNum + 8, 400);
+        ExcelPoiUtil.createCell(signRow13, 0, textStyle3, "复核人：");
+        sheet.addMergedRegion(new CellRangeAddress(rowNum + 8, rowNum + 8, 0, 5));  //合并列
 
         try {
             response.setContentType("application/x-msdownload");
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TransCountReportServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TransCountReportServiceImpl.java
index cf169ac..be0e809 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TransCountReportServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TransCountReportServiceImpl.java
@@ -234,8 +234,8 @@
 
         //TODO: 审核信息
         HSSFRow signRow10 = ExcelPoiUtil.createRow(sheet, rowNum + 3, 400);
-        ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "大理州公安局警务保障处审核盖章：");
-        ExcelPoiUtil.createCell(signRow10, 6, textStyle3, "苍山饭店审核盖章：");
+        ExcelPoiUtil.createCell(signRow10, 0, textStyle3, "结算方审核盖章：");
+        ExcelPoiUtil.createCell(signRow10, 6, textStyle3, "经营方审核盖章：");
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 0, 5));  //合并列
         sheet.addMergedRegion(new CellRangeAddress(rowNum + 3, rowNum + 3, 6, columns - 1));  //合并列
         HSSFRow signRow11 = ExcelPoiUtil.createRow(sheet, rowNum + 4, 400);
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/task/RestaurantTask.java b/src/main/java/com/supwisdom/dlpay/restaurant/task/RestaurantTask.java
index 9d1b64d..d852115 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/task/RestaurantTask.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/task/RestaurantTask.java
@@ -53,11 +53,11 @@
         logger.debug("=================== 客户信息校验任务开始： ===================");
 
         List<TenantDetails> multiTenantSchemas = multiTenantService.getSystemAllTenantDetails();
-        for (TenantDetails schema : multiTenantSchemas) {
-            TenantContextHolder.getContext().setTenant(schema);  //切换schema
-            logger.debug("开始执行schema=[" + schema.getDbSchema() + "]的客户信息校验任务：");
+//        for (TenantDetails schema : multiTenantSchemas) {
+//            TenantContextHolder.getContext().setTenant(schema);  //切换schema
+//            logger.debug("开始执行schema=[" + schema.getDbSchema() + "]的客户信息校验任务：");
             dealCustomerCheckTask(); //TODO:执行task
-        }
+//        }
 
         long t2 = System.currentTimeMillis();
         logger.debug("=================== 客户信息校验任务结束，耗时 " + (t2 - t1) + " ms ===================");
@@ -67,7 +67,6 @@
         try {
             CustomerSearchBean searchBean = new CustomerSearchBean();
             searchBean.setCheckstatus(RestaurantConstant.STATUS_CHECKSTATUS_UNCHECK);
-
             List<CustomerShowBean> dtls = customerService.getCustomerPage(searchBean,"notpage").getData();
             logger.debug("正同步" + dtls.size() + "名人员");
             if (dtls.size() > 0) {
@@ -107,7 +106,7 @@
     @SchedulerLock(name = "RestaurantCheckCustomerTask", lockAtMostForString = "PT20M")
     public void checkDiscountExpire() {
         long t1 = System.currentTimeMillis();
-        logger.info("=================== 检查餐补过期任务开始： ===================");
+        logger.info("=================== 检查劳务费过期任务开始： ===================");
         List<TenantDetails> multiTenantSchemas = multiTenantService.getSystemAllTenantDetails();
         for (TenantDetails schema : multiTenantSchemas) {
             TenantContextHolder.getContext().setTenant(schema);  //切换schema
@@ -117,7 +116,7 @@
 
 
         long t2 = System.currentTimeMillis();
-        logger.info("=================== 检查餐补过期任务结束，耗时 " + (t2 - t1) + " ms ===================");
+        logger.info("=================== 检查劳务费过期任务结束，耗时 " + (t2 - t1) + " ms ===================");
     }
 
     /*private void doCheckDiscountExpire() {
diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql
index 6916521..1d54108 100644
--- a/src/main/resources/data.sql
+++ b/src/main/resources/data.sql
@@ -101,10 +101,10 @@
 INSERT INTO "tb_function" VALUES (20, NULL, 1, NULL, '', '/device/devpara', '设备参数组管理', 4, 14);
 INSERT INTO "tb_function" VALUES (21, NULL, 1, NULL, '', '/device/devparabind', '设备参数组绑定', 5, 14);
 INSERT INTO "tb_function" VALUES (22, NULL, 0, NULL, 'layui-icon-username', '#', '客户管理', 9, -1);
-INSERT INTO "tb_function" VALUES (24, NULL, 0, NULL, 'layui-icon-face-smile', '#', '餐补规则管理', 3, -1);
-INSERT INTO "tb_function" VALUES (26, NULL, 1, NULL, '', '/discountrule/check', '餐补规则审核', 2, 24);
-INSERT INTO "tb_function" VALUES (25, NULL, 1, NULL, '', '/discountrule/index', '餐补规则维护', 1, 24);
-INSERT INTO "tb_function" VALUES (27, NULL, 1, NULL, '', '/discountrule/devbind', '餐补规则设备绑定', 3, 24);
+INSERT INTO "tb_function" VALUES (24, NULL, 0, NULL, 'layui-icon-face-smile', '#', '劳务费规则管理', 3, -1);
+INSERT INTO "tb_function" VALUES (26, NULL, 1, NULL, '', '/discountrule/check', '劳务费规则审核', 2, 24);
+INSERT INTO "tb_function" VALUES (25, NULL, 1, NULL, '', '/discountrule/index', '劳务费规则维护', 1, 24);
+INSERT INTO "tb_function" VALUES (27, NULL, 1, NULL, '', '/discountrule/devbind', '劳务费规则设备绑定', 3, 24);
 INSERT INTO "tb_function" VALUES (28, NULL, 0, NULL, 'layui-icon-home', '#', '流水管理', 9, -1);
 INSERT INTO "tb_function" VALUES (29, NULL, 1, NULL, '', '/transdtl/index', '食堂消费流水表', 1, 28);
 INSERT INTO "tb_function" VALUES (30, NULL, 1, NULL, '', '/transdtlrev/index', '申请退款', NULL, 28);
@@ -119,7 +119,7 @@
 INSERT INTO "tb_function" VALUES (31, NULL, 1, NULL, '', '/whitelistbind/devbind', '就餐白名单设备绑定', 3, 11);
 INSERT INTO "tb_function" VALUES (11, NULL, 0, NULL, 'layui-icon-util', '#', '就餐白名单管理', 7, -1);
 INSERT INTO "tb_function" VALUES (32, NULL, 1, NULL, '', '/shopsettlement/index', '商户管理', 2, 22);
-INSERT INTO "tb_function" VALUES (34, NULL, 1, NULL, '', '/customerlist/index', '餐补人员名单管理', 1, 24);
+INSERT INTO "tb_function" VALUES (34, NULL, 1, NULL, '', '/customerlist/index', '劳务费人员名单管理', 1, 24);
 INSERT INTO "tb_function" VALUES (35, NULL, 0, NULL, 'layui-icon-rmb', '#', '报表中心', 10, -1);
 INSERT INTO "tb_function" VALUES (36, NULL, 1, NULL, '', '/report/laborfee', '商户劳务费报表', 1, 35);
 INSERT INTO "tb_function" VALUES (37, NULL, 1, NULL, '', '/report/laborcount', '商户劳务费人次统计表', 2, 35);
diff --git a/src/main/resources/templates/restaurant/customer/index.html b/src/main/resources/templates/restaurant/customer/index.html
index 01e2f5f..fe0e37f 100644
--- a/src/main/resources/templates/restaurant/customer/index.html
+++ b/src/main/resources/templates/restaurant/customer/index.html
@@ -94,7 +94,7 @@
                     {field: 'bankcardno', align: 'center', title: '银行卡号', width: 160},
                     {field: 'custtypename', align: 'center', title: '客户类别', width: 160},
                     {
-                        field: 'discnt', title: '有无餐补', align: 'center', width: 120, sort: true, templet: function (d) {
+                        field: 'discnt', title: '有无劳务费', align: 'center', width: 120, sort: true, templet: function (d) {
                             if (0 < d.discnt) {
                                 return '<span class="layui-badge layui-bg-green">有</span>';
                             } else {
@@ -150,7 +150,7 @@
                         fixed: 'right',
                         templet: function (item) {
                             return ' <a class="layui-btn  layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a> ' +
-                                ' <a class="layui-btn  layui-btn-xs" lay-event="discount"><i class="layui-icon layui-icon-edit"></i>设置餐补</a> ' +
+                                ' <a class="layui-btn  layui-btn-xs" lay-event="discount"><i class="layui-icon layui-icon-edit"></i>设置劳务费</a> ' +
                                 ' <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>';
                         }
                     }
@@ -223,7 +223,7 @@
             }
         });
         let showDiscount = function (data) {
-            let title = '分配餐补';
+            let title = '分配劳务费';
             admin.putTempData('custid', data.custid);
             admin.popupCenter({
                 title: title,
diff --git a/src/main/resources/templates/restaurant/custreport/index.html b/src/main/resources/templates/restaurant/custreport/index.html
index 56fe8de..a9cd83c 100644
--- a/src/main/resources/templates/restaurant/custreport/index.html
+++ b/src/main/resources/templates/restaurant/custreport/index.html
@@ -21,7 +21,7 @@
                     </div>
                 </div>
                 <div class="layui-inline">
-                    <label class="layui-form-label">餐补规则：</label>
+                    <label class="layui-form-label"  style="width: 130px">劳务费规则：</label>
                     <div class="layui-input-inline" style="height: 38px">
                         <select class="layui-select"   id="custreport-search-ruleid">
                             <option value=""  selected>全部</option>
@@ -98,7 +98,7 @@
                 <th rowspan="3" style="text-align: center;min-width: 60px;">晚餐累计<br/>交易笔数</th>
                 <th rowspan="3" style="text-align: center;min-width: 60px;">晚餐累计<br/>交易金额</th>
                 <th colspan="2" style="text-align: center;min-width: 60px;">折扣交易小计</th>
-                <th rowspan="3" style="text-align: center;min-width: 60px;">餐补金额</th>
+                <th rowspan="3" style="text-align: center;min-width: 60px;">劳务费金额</th>
             </tr>
             <tr>
                 <th style="text-align: center;min-width: 60px;">交易笔数<br/>小计</th>
diff --git a/src/main/resources/templates/restaurant/custreport/print/report.html b/src/main/resources/templates/restaurant/custreport/print/report.html
index fd6c031..77e5bb6 100644
--- a/src/main/resources/templates/restaurant/custreport/print/report.html
+++ b/src/main/resources/templates/restaurant/custreport/print/report.html
@@ -43,7 +43,7 @@
                 <th rowspan="3" style="text-align: center;min-width: 60px;">晚餐累计<br/>交易笔数</th>
                 <th rowspan="3" style="text-align: center;min-width: 60px;">晚餐累计<br/>交易金额</th>
                 <th colspan="2" style="text-align: center;min-width: 60px;">折扣交易小计</th>
-                <th rowspan="3" style="text-align: center;min-width: 60px;">餐补金额</th>
+                <th rowspan="3" style="text-align: center;min-width: 60px;">劳务费金额</th>
             </tr>
             <tr>
                 <th style="text-align: center;min-width: 60px;">交易笔数<br/>小计</th>
@@ -92,8 +92,8 @@
     <div class="layui-card-body" style="margin-top: 25px;">
         <table class="sw-print-sign">
             <tr>
-                <td width="50%">大理州公安局警务保障处审核盖章：</td>
-                <td width="50%">苍山饭店审核盖章：</td>
+                <td width="50%">结算方审核盖章：</td>
+                <td width="50%">经营方审核盖章：</td>
             </tr>
             <tr>
                 <td>经办人：</td>
@@ -103,6 +103,18 @@
                 <td>审核人：</td>
 
             </tr>
+            <tr>
+                <td colspan="2">&nbsp;</td>
+            </tr>
+            <tr>
+                <td colspan="2">&nbsp;</td>
+            </tr>
+            <tr>
+                <td width="50%">复核方审核盖章：</td>
+            </tr>
+            <tr>
+                <td>复核人：</td>
+            </tr>
         </table>
     </div>
 </div>
diff --git a/src/main/resources/templates/restaurant/custtypereport/index.html b/src/main/resources/templates/restaurant/custtypereport/index.html
index 3197913..c9b1e8c 100644
--- a/src/main/resources/templates/restaurant/custtypereport/index.html
+++ b/src/main/resources/templates/restaurant/custtypereport/index.html
@@ -8,18 +8,20 @@
     </div>
     <div class="layui-card-body">
         <div class="layui-form" lay-filter="custtypereport-search-form">
-            <input type="hidden" id="custtypereport-hidden-maxdate" th:value="${maxdate}" />
+            <input type="hidden" id="custtypereport-hidden-maxdate" th:value="${maxdate}"/>
             <input type="hidden" id="custtypereport-hidden-devgroupid" th:value="${devgroupid}"/>
             <div class="layui-form-item" style="margin-bottom: 0;">
                 <div class="layui-inline">
                     <label class="layui-form-label">记账日期</label>
                     <div class="layui-input-inline">
-                        <input type="text" name="startdate" id="custtypereport-search-startdate" placeholder="起始日期" th:value="${maxdate}"
+                        <input type="text" name="startdate" id="custtypereport-search-startdate" placeholder="起始日期"
+                               th:value="${maxdate}"
                                autocomplete="off" class="layui-input"/>
                     </div>
                     <div class="layui-form-mid">-</div>
                     <div class="layui-input-inline">
-                        <input type="text" name="enddate" id="custtypereport-search-enddate" placeholder="截止日期" th:value="${maxdate}"
+                        <input type="text" name="enddate" id="custtypereport-search-enddate" placeholder="截止日期"
+                               th:value="${maxdate}"
                                autocomplete="off" class="layui-input"/>
                     </div>
                 </div>
@@ -27,7 +29,8 @@
                 <div class="layui-inline">
                     <label class="layui-form-label">选择设备组</label>
                     <div class="layui-input-block">
-                        <input type="text" name="groupid" id="custtypereport-search-devgroup" lay-filter="custtypereport-search-devgroup-filter"
+                        <input type="text" name="groupid" id="custtypereport-search-devgroup"
+                               lay-filter="custtypereport-search-devgroup-filter"
                                autocomplete="off" class="layui-input"/>
                     </div>
                 </div>
@@ -43,8 +46,14 @@
     <div class="layui-card-body">
         <div class="layui-form toolbar">
             <div class="layui-btn-group">
-                <button id="shopreport-custtypereport-export-excel" class="layui-btn layui-btn-sm layui-btn-primary sw-print"><i class="layui-icon layui-icon-export"></i>导出</button>
-                <button id="shopreport-custtypereport-print-table" class="layui-btn layui-btn-sm layui-btn-primary sw-print"><i class="layui-icon layui-icon-print"></i>打印</button>
+                <button id="shopreport-custtypereport-export-excel"
+                        class="layui-btn layui-btn-sm layui-btn-primary sw-print"><i
+                        class="layui-icon layui-icon-export"></i>导出
+                </button>
+                <button id="shopreport-custtypereport-print-table"
+                        class="layui-btn layui-btn-sm layui-btn-primary sw-print"><i
+                        class="layui-icon layui-icon-print"></i>打印
+                </button>
             </div>
         </div>
         <table class="layui-table sw-table" id="shopreport-custtypereport-table" th:fragment="custtypereportTable">
@@ -52,51 +61,55 @@
             <tr>
                 <th rowspan="3" style="text-align: center;min-width: 60px;">序号</th>
                 <th rowspan="3" style="text-align: center;min-width: 100px;">食堂</th>
-                <th colspan="6" style="text-align: center;">含餐补消费支付</th>
-                <th colspan="3" style="text-align: center;">无餐补消费支付</th>
-                <th  rowspan="3" style="text-align: center;">消费金额</th>
-                <th  rowspan="3" style="text-align: center;">合计消费次数</th>
+                <th colspan="6" style="text-align: center;">含劳务费消费支付</th>
+                <th colspan="3" style="text-align: center;">无劳务费消费支付</th>
+
+                <th rowspan="3" style="text-align: center;">合计消费次数</th>
+                <th rowspan="3" style="text-align: center;">消费金额</th>
             </tr>
             <tr>
+
+                <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>份数</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>金额</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>份数</th>
+
+                <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>份数</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>金额</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>份数</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>金额</th>
+
                 <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>份数</th>
-                <!--<th rowspan="2" style="text-align: center;min-width: 60px;">正价金额<br/>小计</th>-->
-              <!--  <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>金额</th>-->
+                <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>金额</th>
+
                 <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>份数</th>
-             <!--   <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>金额</th>-->
                 <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>份数</th>
-          <!--      <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>金额</th>-->
                 <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>份数</th>
 
             </tr>
             </thead>
-            <tbody id="shopreport-custtypereport-tbody" th:data-startdate="${searchBean.startdate}" th:data-enddate="${searchBean.enddate}"  th:data-opercode="${opercode}">
+            <tbody id="shopreport-custtypereport-tbody" th:data-startdate="${searchBean.startdate}"
+                   th:data-enddate="${searchBean.enddate}" th:data-opercode="${opercode}">
             <tr th:if="${null==showlist || showlist.size()==0}">
                 <td colspan="13">无数据</td>
             </tr>
-            <div th:remove="tag" th:if="${null!=showlist && showlist.size()>0}" th:each="data:${showlist}" >
+            <div th:remove="tag" th:if="${null!=showlist && showlist.size()>0}" th:each="data:${showlist}">
 
                 <tr>
                     <td style="font-weight: bold;" th:text="${data.rownum}"></td>
                     <td style="font-weight: bold;" th:text="${data.groupname}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.ibtotalamt,1,2)}"></td>
+
                     <td style="font-weight: bold;" th:text="${data.ibtotalcnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.iltotalamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.ibtotalamt,1,2)}"></td>
+
                     <td style="font-weight: bold;" th:text="${data.iltotalcnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.idtotalamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.iltotalamt,1,2)}"></td>
+
                     <td style="font-weight: bold;" th:text="${data.idtotalcnt}"></td>
-               <!--     <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.obtotalamt,1,2)}"></td>-->
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.idtotalamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.obtotalcnt}"></td>
-            <!--        <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.oltotalamt,1,2)}"></td>-->
                     <td style="font-weight: bold;" th:text="${data.oltotalcnt}"></td>
-                 <!--   <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.odtotalamt,1,2)}"></td>-->
                     <td style="font-weight: bold;" th:text="${data.odtotalcnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.ibtotalamt+data.iltotalamt+data.idtotalamt,1,2)}"></td>
-                    <td style="font-weight: bold;" th:text="${data.ibtotalcnt+data.iltotalcnt+data.idtotalcnt+data.obtotalcnt+data.oltotalcnt+data.odtotalcnt}"></td>
+                    <td style="font-weight: bold;"
+                        th:text="${data.ibtotalcnt+data.iltotalcnt+data.idtotalcnt+data.obtotalcnt+data.oltotalcnt+data.odtotalcnt}"></td>
+                    <td style="font-weight: bold;"
+                        th:text="${#numbers.formatDecimal(data.ibtotalamt+data.iltotalamt+data.idtotalamt,1,2)}"></td>
 
                 </tr>
             </div>
@@ -107,7 +120,7 @@
 
 
 <script>
-    layui.use(['form', 'layer',  'element', 'laydate','treeSelect'], function () {
+    layui.use(['form', 'layer', 'element', 'laydate', 'treeSelect'], function () {
         var laydate = layui.laydate;
         var layer = layui.layer;
         var $ = layui.jquery;
@@ -131,8 +144,8 @@
             click: function (d) {
                 var treeNode = d.current;
                 console.log(treeNode);
-                if(treeNode.grouptype == 'branch'){
-                    layer.msg("请选择末级商户", {icon: 2, time:1500});
+                if (treeNode.grouptype == 'branch') {
+                    layer.msg("请选择末级商户", {icon: 2, time: 1500});
                     $("#dailyreport-search-devgroup").val("");
                     treeSelect.revokeNode('custtypereport-search-devgroup-filter');
                     return false;
@@ -140,7 +153,7 @@
                 return true;
             },
             success: function (d) {
-                let limit= $("#custtypereport-hidden-devgroupid").val();
+                let limit = $("#custtypereport-hidden-devgroupid").val();
                 treeSelect.checkNode(
                     'custtypereport-search-devgroup-filter',
                     limit);
@@ -192,12 +205,12 @@
             });
         });
 
-        $("#shopreport-custtypereport-export-excel").click(function(){
-            var startdate= $("#shopreport-custtypereport-tbody").attr("data-startdate");
-            var enddate= $("#shopreport-custtypereport-tbody").attr("data-enddate");
+        $("#shopreport-custtypereport-export-excel").click(function () {
+            var startdate = $("#shopreport-custtypereport-tbody").attr("data-startdate");
+            var enddate = $("#shopreport-custtypereport-tbody").attr("data-enddate");
             var groupid = $("#custtypereport-search-devgroup").val();
 
-            var dataUrl='[[@{/custtypereport/excelexport}]]?startdate='+startdate+'&enddate='+enddate+'&groupid='+groupid;
+            var dataUrl = '[[@{/custtypereport/excelexport}]]?startdate=' + startdate + '&enddate=' + enddate + '&groupid=' + groupid;
             var xhr = new XMLHttpRequest();
             xhr.responseType = "blob"; //设置响应类型为blob类型
             xhr.onload = function () {
@@ -216,7 +229,7 @@
                     aElem.click();
                     $(aElem).remove();
 
-                }else if(this.status == "403"){
+                } else if (this.status == "403") {
                     layer.msg('无导出资源权限', {icon: 2});
                 } else {
                     layer.msg('导出excel失败了', {icon: 2});
@@ -227,24 +240,24 @@
         });
 
         var LODOP; //声明为全局变量
-        $("#shopreport-custtypereport-print-table").click(function(){
-            var startdate= $("#shopreport-custtypereport-tbody").attr("data-startdate");
-            var enddate= $("#shopreport-custtypereport-tbody").attr("data-enddate");
+        $("#shopreport-custtypereport-print-table").click(function () {
+            var startdate = $("#shopreport-custtypereport-tbody").attr("data-startdate");
+            var enddate = $("#shopreport-custtypereport-tbody").attr("data-enddate");
             var groupid = $("#custtypereport-search-devgroup").val();
 
             var opercode = $("#shopreport-custtypereport-tbody").attr("data-opercode");
-            var url = '/custtypereport/print/printcusttypereport?startdate=' + startdate + '&enddate=' + enddate +'&groupid=' + groupid+  '&opercode=' + opercode;
+            var url = '/custtypereport/print/printcusttypereport?startdate=' + startdate + '&enddate=' + enddate + '&groupid=' + groupid + '&opercode=' + opercode;
 
             LODOP = getLodop();
             LODOP.PRINT_INIT("客户类别消费报表");
-            LODOP.SET_PRINT_PAGESIZE(2, 0, 0,"A4");
+            LODOP.SET_PRINT_PAGESIZE(2, 0, 0, "A4");
             LODOP.ADD_PRINT_URL(30, 20, "95%", "90%", encodeURI(url));
             LODOP.ADD_PRINT_HTM("95%", "48%", 150, 50, "<font style='font-size:12px'><span tdata='pageNO'>##</span>/<span tdata='pageCount'>&nbsp;&nbsp;##</span></font>");
             LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
             LODOP.SET_PRINT_STYLEA(0, "HOrient", 3);
             LODOP.SET_PRINT_STYLEA(0, "VOrient", 3);
             LODOP.SET_SHOW_MODE("NP_NO_RESULT", true);
-            LODOP.SET_PRINT_MODE("FULL_WIDTH_FOR_OVERFLOW",true);
+            LODOP.SET_PRINT_MODE("FULL_WIDTH_FOR_OVERFLOW", true);
             LODOP.PREVIEW();
         });
 
diff --git a/src/main/resources/templates/restaurant/custtypereport/print/printcusttypereport.html b/src/main/resources/templates/restaurant/custtypereport/print/printcusttypereport.html
index db3c0b2..c6a684e 100644
--- a/src/main/resources/templates/restaurant/custtypereport/print/printcusttypereport.html
+++ b/src/main/resources/templates/restaurant/custtypereport/print/printcusttypereport.html
@@ -20,25 +20,25 @@
         <table class="layui-table sw-table sw-print">
             <thead>
             <tr>
-                <th rowspan="3" style="text-align: center;min-width: 60px;">序号<br/> <br/> </th>
-                <th rowspan="3" style="text-align: center;min-width: 160px;">食堂<br/> <br/> </th>
-                <th colspan="6" style="text-align: center;">含餐补消费支付</th>
-                <th colspan="6" style="text-align: center;">无餐补消费支付</th>
-                <th  rowspan="3" style="text-align: center;min-width: 60px;">合计<br/>消费<br/>金额</th>
-                <th  rowspan="3" style="text-align: center;min-width: 60px;">合计<br/>消费<br/>次数</th>
+                <th rowspan="3" style="text-align: center;min-width: 60px;">序号<br/> <br/></th>
+                <th rowspan="3" style="text-align: center;min-width: 160px;">食堂<br/> <br/></th>
+                <th colspan="6" style="text-align: center;">含劳务费消费支付</th>
+                <th colspan="6" style="text-align: center;">无劳务费消费支付</th>
+
+                <th rowspan="3" style="text-align: center;min-width: 60px;">合计<br/>消费<br/>次数</th>
+                <th rowspan="3" style="text-align: center;min-width: 60px;">合计<br/>消费<br/>金额</th>
             </tr>
             <tr>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>份数</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>金额</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>份数</th>
+
+                <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>份数</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>金额</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>份数</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>金额</th>
+
                 <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>份数</th>
-              <!--  <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>金额</th>-->
+                <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>金额</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>份数</th>
-             <!--   <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>金额</th>-->
                 <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>份数</th>
-              <!--  <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>金额</th>-->
                 <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>份数</th>
 
             </tr>
@@ -47,39 +47,42 @@
             <tr th:if="${null==showlist || showlist.size()==0}">
                 <td colspan="16">无数据</td>
             </tr>
-            <div th:remove="tag" th:if="${null!=showlist && showlist.size()>0}" th:each="data:${showlist}" >
+            <div th:remove="tag" th:if="${null!=showlist && showlist.size()>0}" th:each="data:${showlist}">
 
                 <tr>
                     <td style="font-weight: bold;" th:text="${data.rownum}"></td>
                     <td style="font-weight: bold;" th:text="${data.groupname}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.ibtotalamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.ibtotalcnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.iltotalamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.ibtotalamt,1,2)}"></td>
+
                     <td style="font-weight: bold;" th:text="${data.iltotalcnt}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.iltotalamt,1,2)}"></td>
+
+                    <td style="font-weight: bold;" th:text="${data.idtotalcnt}"></td>
                     <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.idtotalamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.idtotalcnt}"></td>
-                  <!--  <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.obtotalamt,1,2)}"></td>-->
                     <td style="font-weight: bold;" th:text="${data.obtotalcnt}"></td>
-                 <!--   <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.oltotalamt,1,2)}"></td>-->
                     <td style="font-weight: bold;" th:text="${data.oltotalcnt}"></td>
-                  <!--  <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.odtotalamt,1,2)}"></td>-->
                     <td style="font-weight: bold;" th:text="${data.odtotalcnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.ibtotalamt+data.iltotalamt+data.idtotalamt,1,2)}"></td>
-                    <td style="font-weight: bold;" th:text="${data.ibtotalcnt+data.iltotalcnt+data.idtotalcnt+data.obtotalcnt+data.oltotalcnt+data.odtotalcnt}"></td>
+                    <td style="font-weight: bold;"
+                        th:text="${data.ibtotalcnt+data.iltotalcnt+data.idtotalcnt+data.obtotalcnt+data.oltotalcnt+data.odtotalcnt}"></td>
+                    <td style="font-weight: bold;"
+                        th:text="${#numbers.formatDecimal(data.ibtotalamt+data.iltotalamt+data.idtotalamt,1,2)}"></td>
 
                 </tr>
             </div>
             </tbody>
         </table>
         <div class="layui-form toolbar">
-            <div style="float: left;padding-left: 3px;" th:text="${'制表人：'+opername+' &nbsp;&nbsp; '+ printdatetime}"></div>
+            <div style="float: left;padding-left: 3px;"
+                 th:text="${'制表人：'+opername+' &nbsp;&nbsp; '+ printdatetime}"></div>
         </div>
     </div>
     <div class="layui-card-body" style="margin-top: 25px;">
         <table class="sw-print-sign">
             <tr>
-                <td width="50%">大理州公安局警务保障处审核盖章：</td>
-                <td width="50%">苍山饭店审核盖章：</td>
+                <td width="50%">结算方审核盖章：</td>
+                <td width="50%">经营方审核盖章：</td>
             </tr>
             <tr>
                 <td>经办人：</td>
@@ -95,14 +98,12 @@
             <tr>
                 <td colspan="2">&nbsp;</td>
             </tr>
-            <!--            <tr>-->
-            <!--                <td>市民卡公司审核盖章：</td>-->
-            <!--                <td>建桥园审核盖章：</td>-->
-            <!--            </tr>-->
-            <!--            <tr>-->
-            <!--                <td>审核人：</td>-->
-            <!--                <td>审核人：</td>-->
-            <!--            </tr>-->
+            <tr>
+                <td width="50%">复核方审核盖章：</td>
+            </tr>
+            <tr>
+                <td>复核人：</td>
+            </tr>
         </table>
     </div>
 </div>
diff --git a/src/main/resources/templates/restaurant/dailyreport/index.html b/src/main/resources/templates/restaurant/dailyreport/index.html
index 0ab457f..628c617 100644
--- a/src/main/resources/templates/restaurant/dailyreport/index.html
+++ b/src/main/resources/templates/restaurant/dailyreport/index.html
@@ -55,24 +55,24 @@
                 <th colspan="4" style="text-align: center;">应支付劳务费</th>
             </tr>
             <tr>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>份数</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>正价金额</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>份数</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>份数</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>正价金额</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>份数</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>份数</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>正价金额</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>份数</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">合计<br/>份数</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">合计<br/>正价金额</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">合计<br/>份数</th>
-                <!--<th rowspan="2" style="text-align: center;min-width: 60px;">正价金额<br/>小计</th>-->
 
-                <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>折后金额</th>
+                <!--<th rowspan="2" style="text-align: center;min-width: 60px;">正价金额<br/>小计</th>-->
                 <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>份数</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>折后金额</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>折后金额</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>份数</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>折后金额</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>折后金额</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>份数</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">合计<br/>折后金额</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>折后金额</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">合计<br/>份数</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">合计<br/>折后金额</th>
 
                 <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>劳务费</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>劳务费</th>
@@ -86,47 +86,27 @@
             </tr>
 
             <div th:remove="tag" th:if="${null!=showlist && showlist.size()>0}" th:each="data:${showlist}" >
-               <!-- <tr th:if=${!dataStat.last}>
-                    <td th:text="${childCount>0}?${data.datalist[0].checkdate}:''"></td>
-                    <td th:text="${childCount>0}?${#numbers.formatDecimal(data.datalist[0].btotalamt,1,2)}:''"></td>
-                    <td th:text="${childCount>0}?${data.datalist[0].btotalcnt}:''"></td>
-                    <td th:text="${childCount>0}?${#numbers.formatDecimal(data.datalist[0].ltotalamt,1,2)}:''"></td>
-                    <td th:text="${childCount>0}?${data.datalist[0].ltotalcnt}:''"></td>
-                    <td th:text="${childCount>0}?${#numbers.formatDecimal(data.datalist[0].dtotalamt,1,2)}:''"></td>
-                    <td th:text="${childCount>0}?${data.datalist[0].dtotalcnt}:''"></td>
-                    <td th:text="${childCount>0}?${#numbers.formatDecimal(data.datalist[0].ttotalamt,1,2)}:''"></td>
-                    <td th:text="${childCount>0}?${data.datalist[0].ttotalcnt}:''"></td>
-                    <td th:text="${childCount>0}?${#numbers.formatDecimal(data.datalist[0].bpayamt,1,2)}:''"></td>
-                    <td th:text="${childCount>0}?${data.datalist[0].bpaycnt}:''"></td>
-                    <td th:text="${childCount>0}?${#numbers.formatDecimal(data.datalist[0].lpayamt,1,2)}:''"></td>
-                    <td th:text="${childCount>0}?${data.datalist[0].lpaycnt}:''"></td>
-                    <td th:text="${childCount>0}?${#numbers.formatDecimal(data.datalist[0].dpayamt,1,2)}:''"></td>
-                    <td th:text="${childCount>0}?${data.datalist[0].dpaycnt}:''"></td>
-                    <td th:text="${childCount>0}?${#numbers.formatDecimal(data.datalist[0].tpayamt,1,2)}:''"></td>
-                    <td th:text="${childCount>0}?${data.datalist[0].tpaycnt}:''"></td>
-                    <td th:text="${childCount>0}?${#numbers.formatDecimal(data.datalist[0].bfeeamt,1,2)}:''"></td>
-                    <td th:text="${childCount>0}?${#numbers.formatDecimal(data.datalist[0].lfeeamt,1,2)}:''"></td>
-                    <td th:text="${childCount>0}?${#numbers.formatDecimal(data.datalist[0].dfeeamt,1,2)}:''"></td>
-                    <td th:text="${childCount>0}?${#numbers.formatDecimal(data.datalist[0].bfeeamt+data.datalist[0].lfeeamt+data.datalist[0].dfeeamt,1,2)}:''"></td>
-                </tr>-->
+
+
                 <tr th:if="${!dataStat.last}">
                     <td th:text="${data.checkdate}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.btotalamt,1,2)}"></td>
                     <td th:text="${data.btotalcnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.ltotalamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.btotalamt,1,2)}"></td>
                     <td th:text="${data.ltotalcnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.dtotalamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.ltotalamt,1,2)}"></td>
                     <td th:text="${data.dtotalcnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.btotalamt+data.ltotalamt+data.dtotalamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.dtotalamt,1,2)}"></td>
                     <td th:text="${data.btotalcnt+data.ltotalcnt+data.dtotalcnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.bpayamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.btotalamt+data.ltotalamt+data.dtotalamt,1,2)}"></td>
                     <td th:text="${data.bpaycnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.lpayamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.bpayamt,1,2)}"></td>
                     <td th:text="${data.lpaycnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.dpayamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.lpayamt,1,2)}"></td>
                     <td th:text="${data.dpaycnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.bpayamt+data.lpayamt+data.dpayamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.dpayamt,1,2)}"></td>
                     <td th:text="${data.bpaycnt+data.lpaycnt+data.dpaycnt}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.bpayamt+data.lpayamt+data.dpayamt,1,2)}"></td>
+
                     <td th:text="${#numbers.formatDecimal(data.bfeeamt,1,2)}"></td>
                     <td th:text="${#numbers.formatDecimal(data.lfeeamt,1,2)}"></td>
                     <td th:text="${#numbers.formatDecimal(data.dfeeamt,1,2)}"></td>
@@ -134,22 +114,23 @@
                 </tr>
                 <tr th:if="${dataStat.last}">
                     <td style="font-weight: bold;" th:text="${data.checkdate}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.btotalamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.btotalcnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.ltotalamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.btotalamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.ltotalcnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.dtotalamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.ltotalamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.dtotalcnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.btotalamt+data.ltotalamt+data.dtotalamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.dtotalamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.btotalcnt+data.ltotalcnt+data.dtotalcnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.bpayamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.btotalamt+data.ltotalamt+data.dtotalamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.bpaycnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.lpayamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.bpayamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.lpaycnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.dpayamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.lpayamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.dpaycnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.bpayamt+data.lpayamt+data.dpayamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.dpayamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.bpaycnt+data.lpaycnt+data.dpaycnt}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.bpayamt+data.lpayamt+data.dpayamt,1,2)}"></td>
+
                     <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.bfeeamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.lfeeamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.dfeeamt,1,2)}"></td>
diff --git a/src/main/resources/templates/restaurant/dailyreport/print/printdailyreport.html b/src/main/resources/templates/restaurant/dailyreport/print/printdailyreport.html
index e9908e1..bbf41b8 100644
--- a/src/main/resources/templates/restaurant/dailyreport/print/printdailyreport.html
+++ b/src/main/resources/templates/restaurant/dailyreport/print/printdailyreport.html
@@ -26,24 +26,25 @@
                 <th colspan="4" style="text-align: center;">应支付劳务费</th>
             </tr>
             <tr>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>份数</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>正价金额</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>份数</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>份数</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>正价金额</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>份数</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>份数</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>正价金额</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>份数</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">合计<br/>份数</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">合计<br/>正价金额</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">合计<br/>份数</th>
-                <!--<th rowspan="2" style="text-align: center;min-width: 60px;">正价金额<br/>小计</th>-->
 
-                <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>折后金额</th>
+                <!--<th rowspan="2" style="text-align: center;min-width: 60px;">正价金额<br/>小计</th>-->
                 <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>份数</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>折后金额</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>折后金额</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>份数</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>折后金额</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>折后金额</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>份数</th>
-                <th rowspan="2" style="text-align: center;min-width: 60px;">合计<br/>折后金额</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">晚餐<br/>折后金额</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">合计<br/>份数</th>
+                <th rowspan="2" style="text-align: center;min-width: 60px;">合计<br/>折后金额</th>
+
 
                 <th rowspan="2" style="text-align: center;min-width: 60px;">早餐<br/>劳务费</th>
                 <th rowspan="2" style="text-align: center;min-width: 60px;">午餐<br/>劳务费</th>
@@ -82,22 +83,23 @@
                  </tr>-->
                 <tr th:if="${!dataStat.last}">
                     <td th:text="${data.checkdate}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.btotalamt,1,2)}"></td>
                     <td th:text="${data.btotalcnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.ltotalamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.btotalamt,1,2)}"></td>
                     <td th:text="${data.ltotalcnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.dtotalamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.ltotalamt,1,2)}"></td>
                     <td th:text="${data.dtotalcnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.btotalamt+data.ltotalamt+data.dtotalamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.dtotalamt,1,2)}"></td>
                     <td th:text="${data.btotalcnt+data.ltotalcnt+data.dtotalcnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.bpayamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.btotalamt+data.ltotalamt+data.dtotalamt,1,2)}"></td>
                     <td th:text="${data.bpaycnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.lpayamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.bpayamt,1,2)}"></td>
                     <td th:text="${data.lpaycnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.dpayamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.lpayamt,1,2)}"></td>
                     <td th:text="${data.dpaycnt}"></td>
-                    <td th:text="${#numbers.formatDecimal(data.bpayamt+data.lpayamt+data.dpayamt,1,2)}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.dpayamt,1,2)}"></td>
                     <td th:text="${data.bpaycnt+data.lpaycnt+data.dpaycnt}"></td>
+                    <td th:text="${#numbers.formatDecimal(data.bpayamt+data.lpayamt+data.dpayamt,1,2)}"></td>
+
                     <td th:text="${#numbers.formatDecimal(data.bfeeamt,1,2)}"></td>
                     <td th:text="${#numbers.formatDecimal(data.lfeeamt,1,2)}"></td>
                     <td th:text="${#numbers.formatDecimal(data.dfeeamt,1,2)}"></td>
@@ -105,22 +107,23 @@
                 </tr>
                 <tr th:if="${dataStat.last}">
                     <td style="font-weight: bold;" th:text="${data.checkdate}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.btotalamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.btotalcnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.ltotalamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.btotalamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.ltotalcnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.dtotalamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.ltotalamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.dtotalcnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.btotalamt+data.ltotalamt+data.dtotalamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.dtotalamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.btotalcnt+data.ltotalcnt+data.dtotalcnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.bpayamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.btotalamt+data.ltotalamt+data.dtotalamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.bpaycnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.lpayamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.bpayamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.lpaycnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.dpayamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.lpayamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.dpaycnt}"></td>
-                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.bpayamt+data.lpayamt+data.dpayamt,1,2)}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.dpayamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${data.bpaycnt+data.lpaycnt+data.dpaycnt}"></td>
+                    <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.bpayamt+data.lpayamt+data.dpayamt,1,2)}"></td>
+
                     <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.bfeeamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.lfeeamt,1,2)}"></td>
                     <td style="font-weight: bold;" th:text="${#numbers.formatDecimal(data.dfeeamt,1,2)}"></td>
@@ -136,17 +139,28 @@
     <div class="layui-card-body" style="margin-top: 25px;">
         <table class="sw-print-sign">
             <tr>
-                <td width="50%">大理州公安局警务保障处审核盖章：</td>
-                <td width="50%">苍山饭店审核盖章：</td>
+                <td width="50%">结算方审核盖章：</td>
+                <td width="50%">经营方审核盖章：</td>
             </tr>
             <tr>
                 <td>经办人：</td>
-                <td>审核人：</td>
             </tr>
             <tr>
                 <td>审核人：</td>
 
             </tr>
+            <tr>
+                <td colspan="2">&nbsp;</td>
+            </tr>
+            <tr>
+                <td colspan="2">&nbsp;</td>
+            </tr>
+            <tr>
+                <td width="50%">复核方审核盖章：</td>
+            </tr>
+            <tr>
+                <td>复核人：</td>
+            </tr>
         </table>
     </div>
 </div>
diff --git a/src/main/resources/templates/restaurant/deptreport/print/printdeptreport.html b/src/main/resources/templates/restaurant/deptreport/print/printdeptreport.html
index 6bb83cd..fbb1347 100644
--- a/src/main/resources/templates/restaurant/deptreport/print/printdeptreport.html
+++ b/src/main/resources/templates/restaurant/deptreport/print/printdeptreport.html
@@ -136,8 +136,8 @@
     <div class="layui-card-body" style="margin-top: 25px;">
         <table class="sw-print-sign">
             <tr>
-                <td width="50%">大理州公安局警务保障处审核盖章：</td>
-                <td width="50%">苍山饭店审核盖章：</td>
+                <td width="50%">结算方审核盖章：</td>
+                <td width="50%">经营方审核盖章：</td>
             </tr>
             <tr>
                 <td>经办人：</td>
@@ -147,6 +147,18 @@
                 <td>审核人：</td>
 
             </tr>
+            <tr>
+                <td colspan="2">&nbsp;</td>
+            </tr>
+            <tr>
+                <td colspan="2">&nbsp;</td>
+            </tr>
+            <tr>
+                <td width="50%">复核方审核盖章：</td>
+            </tr>
+            <tr>
+                <td>复核人：</td>
+            </tr>
         </table>
     </div>
 </div>
diff --git a/src/main/resources/templates/restaurant/discountrule/rule.html b/src/main/resources/templates/restaurant/discountrule/rule.html
index beb9f43..b252598 100644
--- a/src/main/resources/templates/restaurant/discountrule/rule.html
+++ b/src/main/resources/templates/restaurant/discountrule/rule.html
@@ -1,16 +1,16 @@
 <div class="layui-card">
     <div class="layui-card-header">
-        <h2 class="header-title">餐补规则维护</h2>
+        <h2 class="header-title">劳务费规则维护</h2>
         <span class="layui-breadcrumb pull-right">
-          <a href="#">餐补规则管理</a>
-          <a><cite>餐补规则维护</cite></a>
+          <a href="#">劳务费规则管理</a>
+          <a><cite>劳务费规则维护</cite></a>
         </span>
     </div>
     <div class="layui-card-body">
         <div class="layui-form toolbar">
             搜索：
             <select id="search-discountrule-ruletype">
-                <option value=""> 选择餐补类型 </option>
+                <option value=""> 选择劳务费类型 </option>
                 <option value="quota"> 定额 </option>
                 <option value="reduction"> 减免 </option>
                 <option value="discount"> 折扣 </option>
@@ -53,10 +53,10 @@
             page: true,
             cols: [
                 [
-                    {field: 'rulename', title: '餐补名称', align: 'center', fixed: 'left' },
+                    {field: 'rulename', title: '劳务费名称', align: 'center', fixed: 'left' },
                     {field: 'timeperiod',width:150, title: '优惠时间段',  align: 'center'},
                     {
-                        field: 'ruletype', title: '餐补类型', align: 'center', width: 120,  sort: true, templet: function (d) {
+                        field: 'ruletype', title: '劳务费类型', align: 'center', width: 120,  sort: true, templet: function (d) {
                             if ('quota' == d.ruletype) {
                                 return '定额';
                             } else if ('reduction' == d.ruletype) {
@@ -69,7 +69,7 @@
                         }
                     },
                     {
-                        field: 'rulemode', title: '餐补模式', align: 'center', width: 120,  sort: true, templet: function (d) {
+                        field: 'rulemode', title: '劳务费模式', align: 'center', width: 120,  sort: true, templet: function (d) {
                             if ('day' == d.rulemode) {
                                 return '按日';
                             } else if ('month' == d.rulemode) {
@@ -118,7 +118,7 @@
 
         $('#btn-discountrule-add').click(function () {
             admin.popupCenter({
-                title: "新增餐补规则",
+                title: "新增劳务费规则",
                 path: '[[@{/discountrule/load4addrule}]]',
                 area: '500px',
                 finish: function () {
@@ -171,7 +171,7 @@
         table.on('tool(discountruleTable-filter)', function (obj) {
             var data = obj.data;
             if('del' == obj.event){
-                layer.confirm('确定直接删除餐补规则【'+data.rulename+'】吗?', {
+                layer.confirm('确定直接删除劳务费规则【'+data.rulename+'】吗?', {
                     btn: ['确定', '取消']
                 },function(){
                     layer.load(2);
@@ -198,7 +198,7 @@
                 });
 
             }else if('closed' == obj.event){
-                layer.confirm('确定关闭餐补规则【'+data.rulename+'】吗?', {
+                layer.confirm('确定关闭劳务费规则【'+data.rulename+'】吗?', {
                     btn: ['确定', '取消']
                 },function(){
                     layer.load(2);
diff --git a/src/main/resources/templates/restaurant/discountrule/rulebind.html b/src/main/resources/templates/restaurant/discountrule/rulebind.html
index 15b3d4e..f5fc87b 100644
--- a/src/main/resources/templates/restaurant/discountrule/rulebind.html
+++ b/src/main/resources/templates/restaurant/discountrule/rulebind.html
@@ -2,7 +2,7 @@
      style="padding: 30px 25px 10px 25px;">
     <div class="layui-form-item">
         <div class="layui-input-inline" style="width: 450px;">
-            <label class="layui-form-label">餐补规则</label>
+            <label class="layui-form-label">劳务费规则</label>
             <div class="layui-input-block">
                 <select lay-verify="required" class="layui-select" id="discountrule-devbind-form-select-ruleid">
                     <option th:each="rl:${rulelist}" th:value="${rl.ruleid}"
@@ -130,7 +130,7 @@
             var data = checkStatus.data;
             var deviceids = [];
             if ("" == ruleid) {
-                layer.msg("请选择餐补规则", {icon: 2, time: 1500});
+                layer.msg("请选择劳务费规则", {icon: 2, time: 1500});
                 return;
             }
             for (var i = 0; i < data.length; i++) {
diff --git a/src/main/resources/templates/restaurant/discountrule/rulecheck.html b/src/main/resources/templates/restaurant/discountrule/rulecheck.html
index cc42109..1acbfb4 100644
--- a/src/main/resources/templates/restaurant/discountrule/rulecheck.html
+++ b/src/main/resources/templates/restaurant/discountrule/rulecheck.html
@@ -1,16 +1,16 @@
 <div class="layui-card">
     <div class="layui-card-header">
-        <h2 class="header-title">餐补规则审核</h2>
+        <h2 class="header-title">劳务费规则审核</h2>
         <span class="layui-breadcrumb pull-right">
-          <a href="#">餐补规则管理</a>
-          <a><cite>餐补规则审核</cite></a>
+          <a href="#">劳务费规则管理</a>
+          <a><cite>劳务费规则审核</cite></a>
         </span>
     </div>
     <div class="layui-card-body">
         <div class="layui-form toolbar">
             搜索：
             <select id="search-discountrule-check-status">
-                <option value=""> 选择餐补规则状态</option>
+                <option value=""> 选择劳务费规则状态</option>
                 <option value="uncheck" selected> 待审核</option>
                 <option value="normal"> 有效</option>
                 <option value="closed"> 无效</option>
@@ -50,11 +50,11 @@
                 page: true,
                 cols: [
                     [
-                        {field: 'rulename', title: '餐补名称', align: 'center', fixed: 'left'},
+                        {field: 'rulename', title: '劳务费名称', align: 'center', fixed: 'left'},
                         {field: 'timeperiod', title: '优惠时间段',width:150,align: 'center'},
                         {
                             field: 'ruletype',
-                            title: '餐补类型',
+                            title: '劳务费类型',
                             align: 'center',
                             width: 120,
                             sort: true,
@@ -71,7 +71,7 @@
                             }
                         },
                         {
-                            field: 'rulemode', title: '餐补模式', align: 'center', width: 120,  sort: true, templet: function (d) {
+                            field: 'rulemode', title: '劳务费模式', align: 'center', width: 120,  sort: true, templet: function (d) {
                                 if ('day' == d.rulemode) {
                                     return '按日';
                                 } else if ('month' == d.rulemode) {
diff --git a/src/main/resources/templates/restaurant/discountrule/ruledevbind.html b/src/main/resources/templates/restaurant/discountrule/ruledevbind.html
index 71cb26f..55932fd 100644
--- a/src/main/resources/templates/restaurant/discountrule/ruledevbind.html
+++ b/src/main/resources/templates/restaurant/discountrule/ruledevbind.html
@@ -1,9 +1,9 @@
 <div class="layui-card">
     <div class="layui-card-header">
-        <h2 class="header-title">餐补规则设备绑定</h2>
+        <h2 class="header-title">劳务费规则设备绑定</h2>
         <span class="layui-breadcrumb pull-right">
-          <a href="#">餐补规则管理</a>
-          <a><cite>餐补规则设备绑定</cite></a>
+          <a href="#">劳务费规则管理</a>
+          <a><cite>劳务费规则设备绑定</cite></a>
         </span>
     </div>
     <div class="layui-card-body">
@@ -39,9 +39,9 @@
                     {field: 'deviceid', title: '设备编号', align: 'center', fixed: 'left', sort: true},
                     {field: 'devicename', title: '设备名称', align: 'center', fixed: 'left'},
                     {field: 'devphyid', title: '设备物理ID', align: 'center'},
-                    {field: 'rulename', title: '餐补规则名称', align: 'center', sort: true},
+                    {field: 'rulename', title: '劳务费规则名称', align: 'center', sort: true},
                     {
-                        field: 'rulestatus', title: '餐补规则状态', align: 'center', templet: function (d) {
+                        field: 'rulestatus', title: '劳务费规则状态', align: 'center', templet: function (d) {
                             if ('uncheck' == d.rulestatus) {
                                 return '<span class="layui-badge layui-bg-orange">待审核</span>'
                             } else if ('normal' == d.rulestatus) {
@@ -73,7 +73,7 @@
 
         $('#btn-discountrule-devbind-add').click(function () {
             admin.popupCenter({
-                title: "新增餐补规则绑定关系",
+                title: "新增劳务费规则绑定关系",
                 path: '[[@{/discountrule/load4binddev}]]',
                 area: '900px',
                 finish: function () {
@@ -87,7 +87,7 @@
             var data = obj.data;
 
             if('del' == obj.event){
-                layer.confirm('确定要删除设备绑定的餐补规则【'+data.rulename+'】吗?', {
+                layer.confirm('确定要删除设备绑定的劳务费规则【'+data.rulename+'】吗?', {
                     btn: ['确定', '取消']
                 },function(){
                     layer.closeAll('dialog');
diff --git a/src/main/resources/templates/restaurant/discountrule/ruleform.html b/src/main/resources/templates/restaurant/discountrule/ruleform.html
index b521c85..4628edf 100644
--- a/src/main/resources/templates/restaurant/discountrule/ruleform.html
+++ b/src/main/resources/templates/restaurant/discountrule/ruleform.html
@@ -1,6 +1,6 @@
 <div id="discountrule-form" lay-filter="discountrule-form-filter" class="layui-form model-form" style="padding: 10px 25px;">
     <div class="layui-form-item">
-        <label class="layui-form-label">餐补类型</label>
+        <label class="layui-form-label">劳务费类型</label>
         <div class="layui-input-block">
             <input type="radio" name="ruletype" id="form-discountrule-ruletype-discount" lay-filter="discountrule-ruletype-filter" value="discount" title="折扣" checked/>
             <input type="radio" name="ruletype" id="form-discountrule-ruletype-quota" lay-filter="discountrule-ruletype-filter" value="quota" title="定额" />
@@ -10,7 +10,7 @@
     </div>
 
     <div class="layui-form-item">
-        <label class="layui-form-label">餐补模式</label>
+        <label class="layui-form-label">劳务费模式</label>
         <div class="layui-input-block">
             <input type="radio" name="rulemode" id="form-discountrule-rulemode-day" lay-filter="discountrule-rulemode-filter" value="day" title="按日" checked/>
             <input type="radio" name="rulemode" id="form-discountrule-rulemode-month" lay-filter="discountrule-rulemode-filter" value="month" title="按月" />
@@ -19,7 +19,7 @@
     </div>
 
     <div class="layui-form-item">
-        <label class="layui-form-label"><span style="color: red">* </span>餐补名称</label>
+        <label class="layui-form-label"><span style="color: red">* </span>劳务费名称</label>
         <div class="layui-input-block">
            <input type="text" class="layui-input" name="rulename" id="form-discountrule-rulename" maxlength="20" style="width: 90%;"
                   autocomplete="off" lay-verify="required|Rulename"/>
@@ -56,7 +56,7 @@
     </div>
 
     <div class="layui-form-item">
-        <label class="layui-form-label"><span style="color: red">* </span>餐补对象</label>
+        <label class="layui-form-label"><span style="color: red">* </span>劳务费对象</label>
         <div class="layui-input-block">
             <select lay-verify="required" name="listid" class="layui-select" id="discountrule-form-select-listid">
                 <option th:each="lst:${listbeans}" th:value="${lst.listid}"
@@ -117,7 +117,7 @@
             },
             "Rulename": function (e) {
                 if(""==e|| ""==$.trim(e)){
-                    return "餐补名称不能为空";
+                    return "劳务费名称不能为空";
                 }
 
                 var msg = "";
@@ -186,7 +186,7 @@
         //    var flag = false;
        //     var files = $('#form-discountrule-records').prop('files');
             if(!vdata.listid){
-                layer.msg("请选择餐补名单", {icon: 2, time: 1500});
+                layer.msg("请选择劳务费名单", {icon: 2, time: 1500});
                 return;
             }
 
diff --git a/src/main/resources/templates/restaurant/report/print/printlaborcount.html b/src/main/resources/templates/restaurant/report/print/printlaborcount.html
index 3b34ca7..c30b019 100644
--- a/src/main/resources/templates/restaurant/report/print/printlaborcount.html
+++ b/src/main/resources/templates/restaurant/report/print/printlaborcount.html
@@ -98,19 +98,31 @@
     <div class="layui-card-body" style="margin-top: 25px;">
         <table class="sw-print-sign">
             <tr>
-                <td width="50%">大理州公安局警务保障处审核盖章：</td>
-                <td width="50%">苍山饭店审核盖章：</td>
+                <td width="50%">结算方审核盖章：</td>
+                <td width="50%">经营方审核盖章：</td>
             </tr>
             <tr>
                 <td>经办人：</td>
-                <td>审核人：</td>
             </tr>
             <tr>
                 <td>审核人：</td>
 
             </tr>
+            <tr>
+                <td colspan="2">&nbsp;</td>
+            </tr>
+            <tr>
+                <td colspan="2">&nbsp;</td>
+            </tr>
+            <tr>
+                <td width="50%">复核方审核盖章：</td>
+            </tr>
+            <tr>
+                <td>复核人：</td>
+            </tr>
         </table>
     </div>
+
 </div>
 </body>
 </html>
\ No newline at end of file
diff --git a/src/main/resources/templates/restaurant/report/print/printlaborfee.html b/src/main/resources/templates/restaurant/report/print/printlaborfee.html
index f1c5eb4..394e569 100644
--- a/src/main/resources/templates/restaurant/report/print/printlaborfee.html
+++ b/src/main/resources/templates/restaurant/report/print/printlaborfee.html
@@ -117,12 +117,11 @@
     <div class="layui-card-body" style="margin-top: 25px;">
         <table class="sw-print-sign">
             <tr>
-                <td width="50%">大理州公安局警务保障处审核盖章：</td>
-                <td width="50%">苍山饭店审核盖章：</td>
+                <td width="50%">结算方审核盖章：</td>
+                <td width="50%">经营方审核盖章：</td>
             </tr>
             <tr>
                 <td>经办人：</td>
-                <td>审核人：</td>
             </tr>
             <tr>
                 <td>审核人：</td>
@@ -134,14 +133,12 @@
             <tr>
                 <td colspan="2">&nbsp;</td>
             </tr>
-<!--            <tr>-->
-<!--                <td>市民卡公司审核盖章：</td>-->
-<!--                <td>建桥园审核盖章：</td>-->
-<!--            </tr>-->
-<!--            <tr>-->
-<!--                <td>审核人：</td>-->
-<!--                <td>审核人：</td>-->
-<!--            </tr>-->
+            <tr>
+                <td width="50%">复核方审核盖章：</td>
+            </tr>
+            <tr>
+                <td>复核人：</td>
+            </tr>
         </table>
     </div>
 </div>
diff --git a/src/main/resources/templates/restaurant/termreport/index.html b/src/main/resources/templates/restaurant/termreport/index.html
index 45b1bd5..a64efd2 100644
--- a/src/main/resources/templates/restaurant/termreport/index.html
+++ b/src/main/resources/templates/restaurant/termreport/index.html
@@ -21,7 +21,7 @@
                     </div>
                 </div>
                 <div class="layui-inline">
-                    <label class="layui-form-label">餐补规则：</label>
+                    <label class="layui-form-label">规则：</label>
                     <div class="layui-input-inline" style="height: 38px">
                         <select class="layui-select"   id="termreport-search-ruleid">
                             <option value=""  selected>全部</option>
@@ -96,7 +96,7 @@
                 <th rowspan="3" style="text-align: center;min-width: 60px;">晚餐累计<br/>交易笔数</th>
                 <th rowspan="3" style="text-align: center;min-width: 60px;">晚餐累计<br/>交易金额</th>
                 <th colspan="2" style="text-align: center;min-width: 60px;">折扣交易小计</th>
-                <th rowspan="3" style="text-align: center;min-width: 60px;">餐补金额</th>
+                <th rowspan="3" style="text-align: center;min-width: 60px;">劳务费金额</th>
             </tr>
             <tr>
                 <th style="text-align: center;min-width: 60px;">交易笔数<br/>小计</th>
diff --git a/src/main/resources/templates/restaurant/termreport/print/report.html b/src/main/resources/templates/restaurant/termreport/print/report.html
index 7184207..9911ea9 100644
--- a/src/main/resources/templates/restaurant/termreport/print/report.html
+++ b/src/main/resources/templates/restaurant/termreport/print/report.html
@@ -41,7 +41,7 @@
                 <th rowspan="3" style="text-align: center;min-width: 60px;">晚餐累计<br/>交易笔数</th>
                 <th rowspan="3" style="text-align: center;min-width: 60px;">晚餐累计<br/>交易金额</th>
                 <th colspan="2" style="text-align: center;min-width: 60px;">折扣交易小计</th>
-                <th rowspan="3" style="text-align: center;min-width: 60px;">餐补金额</th>
+                <th rowspan="3" style="text-align: center;min-width: 60px;">劳务费金额</th>
             </tr>
             <tr>
                 <th style="text-align: center;min-width: 60px;">交易笔数<br/>小计</th>
@@ -88,15 +88,26 @@
     <div class="layui-card-body" style="margin-top: 25px;">
         <table class="sw-print-sign">
             <tr>
-                <td width="50%">大理州公安局警务保障处审核盖章：</td>
-                <td width="50%">苍山饭店审核盖章：</td>
+                <td width="50%">结算方审核盖章：</td>
+                <td width="50%">经营方审核盖章：</td>
             </tr>
             <tr>
                 <td>经办人：</td>
                 <td>审核人：</td>
             </tr>
+
+
+        </table>
+    </div>
+
+    <div class="layui-card-body" style="margin-top: 25px;">
+        <table class="sw-print-sign">
             <tr>
-                <td>审核人：</td>
+                <td width="50%">复核方审核盖章：</td>
+            </tr>
+
+            <tr>
+                <td>复核人：</td>
 
             </tr>
         </table>
diff --git a/src/main/resources/templates/restaurant/transcountreport/print/printtranscountreport.html b/src/main/resources/templates/restaurant/transcountreport/print/printtranscountreport.html
index 44a2ab0..bc70a22 100644
--- a/src/main/resources/templates/restaurant/transcountreport/print/printtranscountreport.html
+++ b/src/main/resources/templates/restaurant/transcountreport/print/printtranscountreport.html
@@ -49,8 +49,8 @@
     <div class="layui-card-body" style="margin-top: 25px;">
         <table class="sw-print-sign">
             <tr>
-                <td width="50%">大理州公安局警务保障处审核盖章：</td>
-                <td width="50%">苍山饭店审核盖章：</td>
+                <td width="50%">结算方审核盖章：</td>
+                <td width="50%">经营方审核盖章：</td>
             </tr>
             <tr>
                 <td>经办人：</td>
@@ -66,14 +66,12 @@
             <tr>
                 <td colspan="2">&nbsp;</td>
             </tr>
-            <!--            <tr>-->
-            <!--                <td>市民卡公司审核盖章：</td>-->
-            <!--                <td>建桥园审核盖章：</td>-->
-            <!--            </tr>-->
-            <!--            <tr>-->
-            <!--                <td>审核人：</td>-->
-            <!--                <td>审核人：</td>-->
-            <!--            </tr>-->
+            <tr>
+                <td width="50%">复核方审核盖章：</td>
+            </tr>
+            <tr>
+                <td>复核人：</td>
+            </tr>
         </table>
     </div>
 </div>
