diff --git a/sql/restarant_create_table.sql b/sql/restarant_create_table.sql
index f537970..247c2cb 100644
--- a/sql/restarant_create_table.sql
+++ b/sql/restarant_create_table.sql
@@ -196,7 +196,7 @@
 CREATE TABLE tb_custtype (
   custtypeid int4 NOT NULL,
   custtypename varchar(20),
-  feetype int4
+  feetype int4,
   expireday int4
 );
 ALTER TABLE tb_custtype ADD CONSTRAINT tb_custtype_pkey PRIMARY KEY (custtypeid);
diff --git a/src/main/java/com/supwisdom/dlpay/api/service/impl/PosPayServiceImpl.java b/src/main/java/com/supwisdom/dlpay/api/service/impl/PosPayServiceImpl.java
index f572850..f2a34a2 100644
--- a/src/main/java/com/supwisdom/dlpay/api/service/impl/PosPayServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/api/service/impl/PosPayServiceImpl.java
@@ -430,9 +430,16 @@
             DiscountBean bean = deviceDiscountRuleService.getCustomerDiscount(tDevice.getId(), req.getTermtime(), cus.getCustid());
             if (null != bean) {
                 cntamount = getDiscountAmount(req.getTermdate(), cus.getCustid(), amount, bean);
+                if(cntamount<0){
+                    resp.setRetcode(ErrorCode.ERRIF_POSDTL_NOTEXIST);
+                    resp.setRetmsg("折扣不得大于实付金额");
+
+                    return resp;
+                }
                 if(cntamount!=amount){
                     tTransdtl.setRuleid(bean.getRuleid());
                 }
+
                 tTransdtl.setManagefee(amount - cntamount);
                 tTransdtl.setManagefeetype(bean.getRuletype());
                 tTransdtl.setAmount(cntamount);
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/bean/CusttypeReportShowBean.java b/src/main/java/com/supwisdom/dlpay/restaurant/bean/CusttypeReportShowBean.java
index a365df8..29039e9 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/bean/CusttypeReportShowBean.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/bean/CusttypeReportShowBean.java
@@ -14,11 +14,11 @@
   private Integer idtotalcnt;//晚餐份数
 
   //外部
-  private Double obtotalamt; //早餐总金额
+ // private Double obtotalamt; //早餐总金额
   private Integer obtotalcnt;//早餐份数
-  private Double oltotalamt; //午餐总金额
+ // private Double oltotalamt; //午餐总金额
   private Integer oltotalcnt;//午餐份数
-  private Double odtotalamt; //晚餐总金额
+ // private Double odtotalamt; //晚餐总金额
   private Integer odtotalcnt;//晚餐份数
 
   private Integer sumcnt;
@@ -88,13 +88,6 @@
     this.idtotalcnt = idtotalcnt;
   }
 
-  public Double getObtotalamt() {
-    return obtotalamt;
-  }
-
-  public void setObtotalamt(Double obtotalamt) {
-    this.obtotalamt = obtotalamt;
-  }
 
   public Integer getObtotalcnt() {
     return obtotalcnt;
@@ -104,13 +97,6 @@
     this.obtotalcnt = obtotalcnt;
   }
 
-  public Double getOltotalamt() {
-    return oltotalamt;
-  }
-
-  public void setOltotalamt(Double oltotalamt) {
-    this.oltotalamt = oltotalamt;
-  }
 
   public Integer getOltotalcnt() {
     return oltotalcnt;
@@ -120,13 +106,6 @@
     this.oltotalcnt = oltotalcnt;
   }
 
-  public Double getOdtotalamt() {
-    return odtotalamt;
-  }
-
-  public void setOdtotalamt(Double odtotalamt) {
-    this.odtotalamt = odtotalamt;
-  }
 
   public Integer getOdtotalcnt() {
     return odtotalcnt;
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CheckTransdtlServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CheckTransdtlServiceImpl.java
index d177ff6..9d9adf0 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CheckTransdtlServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CheckTransdtlServiceImpl.java
@@ -396,7 +396,7 @@
         TRptMealsDtl tmd = new TRptMealsDtl();
         tmd.setCheckdate(bean.getAccdate());
         tmd.setDeptcode(bean.getDeptcode() == null ? "unknow" : bean.getDeptcode());
-        tmd.setCusttype(bean.getCusttype() == null ? 1 : bean.getCusttype());
+        tmd.setCusttype(bean.getCusttype() == null ? 99 : bean.getCusttype());
         tmd.setDevgroupid(bean.getGroupid() == null ? -1 : bean.getGroupid());
         tmd.setDeviceid(bean.getTermid() == null ? -1 : bean.getTermid());
         tmd.setMealtype(bean.getMealtype() == null ? "unknow" : bean.getMealtype());
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 e0f461f..1b6cd72 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
@@ -66,15 +66,15 @@
                     " cast(sum(case when t.mealtype='breakfast'  then t.feecnt else 0 end) as int4) as ibtotalcnt," +
                     " cast(sum(case when t.mealtype='lunch'  then t.feecnt else 0 end) as int4) as iltotalcnt," +
                     " cast(sum(case when t.mealtype='dinner'  then t.feecnt else 0 end) as int4) as idtotalcnt," +
-                    " sum(case when t.mealtype='breakfast' then t.feeamt else 0 end) as ibtotalamt," +
-                    " sum(case when t.mealtype='lunch'   then t.feeamt else 0 end) as iltotalamt," +
-                    " sum(case when t.mealtype='dinner'  then t.feeamt else 0 end) as idtotalamt," +
+                    " sum(case when t.mealtype='breakfast' then  +t.totalamt else 0 end) as ibtotalamt," +
+                    " sum(case when t.mealtype='lunch'   then  +t.totalamt else 0 end) as iltotalamt," +
+                    " sum(case when t.mealtype='dinner'  then  +t.totalamt else 0 end) as idtotalamt," +
                     " cast(sum(case when t.mealtype='breakfast'   then t.totalcnt-t.feecnt else 0 end) as int4) as obtotalcnt," +
                     " cast(sum(case when t.mealtype='lunch'   then t.totalcnt-t.feecnt else 0 end) as int4) as oltotalcnt," +
-                    " cast(sum(case when t.mealtype='dinner'   then t.totalcnt-t.feecnt else 0 end) as int4) as odtotalcnt," +
-                    " sum(case when t.mealtype='breakfast'   then t.totalamt-t.feeamt else 0 end) as obtotalamt," +
-                    " sum(case when t.mealtype='lunch'   then  t.totalamt-t.feeamt else 0 end) as oltotalamt," +
-                    " sum(case when t.mealtype='dinner'  then  t.totalamt-t.feeamt else 0 end) as odtotalamt " +
+                    " cast(sum(case when t.mealtype='dinner'   then t.totalcnt-t.feecnt else 0 end) as int4) as odtotalcnt " +
+                //    " sum(case when t.mealtype='breakfast'   then t.totalamt  else 0 end) as obtotalamt," +
+                //    " sum(case when t.mealtype='lunch'   then  t.totalamt  else 0 end) as oltotalamt," +
+                //    " sum(case when t.mealtype='dinner'  then  t.totalamt  else 0 end) as odtotalamt " +
                     " from tb_rpt_mealsdtl t   " +
                     " left join tb_devicegroup a1 on t.devgroupid=a1.devgroupid" +
                     " where t.checkdate>=:startdate and t.checkdate<=:enddate") ;
@@ -114,7 +114,7 @@
         HSSFWorkbook workbook = new HSSFWorkbook();
         HSSFSheet sheet = workbook.createSheet("客户类别消费报表");
 
-        int columns = 13; //
+        int columns = 10; //
         sheet.setColumnWidth(0, ExcelPoiUtil.columnWidth(25)); //日期
         for (int i = 3; i < columns; i++) {
             sheet.setColumnWidth(i, ExcelPoiUtil.columnWidth(12));
@@ -162,14 +162,11 @@
         ExcelPoiUtil.createCell(row2, 8, headStyle, "无餐补消费支付");
         ExcelPoiUtil.createCell(row2, 9, headStyle, null);
         ExcelPoiUtil.createCell(row2, 10, headStyle, null);
-        ExcelPoiUtil.createCell(row2, 11, headStyle, null);
-        ExcelPoiUtil.createCell(row2, 12, headStyle, null);
-        ExcelPoiUtil.createCell(row2, 13, headStyle, null);
-        sheet.addMergedRegion(new CellRangeAddress(2, 2, 8, 13)); //合并单元格CellRangeAddress构造参数依次表示 起始行，截至行，起始列， 截至列
+        sheet.addMergedRegion(new CellRangeAddress(2, 2, 8, 10)); //合并单元格CellRangeAddress构造参数依次表示 起始行，截至行，起始列， 截至列
 
 
-        ExcelPoiUtil.createCell(row2, 14, headStyle, "合计 消费金额");
-        ExcelPoiUtil.createCell(row2, 15, headStyle, "合计 消费笔数");
+        ExcelPoiUtil.createCell(row2, 11, headStyle, "合计 消费金额");
+        ExcelPoiUtil.createCell(row2, 12, headStyle, "合计 消费笔数");
         HSSFRow row3 = ExcelPoiUtil.createRow(sheet, 3, 800); //表头第二行
         ExcelPoiUtil.createCell(row3, 0, headStyle, null);
         sheet.addMergedRegion(new CellRangeAddress(2, 3, 0, 0)); //合并列
@@ -177,11 +174,11 @@
         ExcelPoiUtil.createCell(row3, 1, headStyle, null);
         sheet.addMergedRegion(new CellRangeAddress(2, 3, 1, 1)); //合并列
 
-        ExcelPoiUtil.createCell(row3, 14, headStyle, null);
-        sheet.addMergedRegion(new CellRangeAddress(2, 3, 14, 14)); //合并列
+        ExcelPoiUtil.createCell(row3, 11, headStyle, null);
+        sheet.addMergedRegion(new CellRangeAddress(2, 3, 11, 11)); //合并列
 
-        ExcelPoiUtil.createCell(row3, 15, headStyle, null);
-        sheet.addMergedRegion(new CellRangeAddress(2, 3, 15, 15)); //合并列
+        ExcelPoiUtil.createCell(row3, 12, headStyle, null);
+        sheet.addMergedRegion(new CellRangeAddress(2, 3, 12, 12)); //合并列
 
         ExcelPoiUtil.createCell(row3, 2, headStyle, "早餐 金额");
         ExcelPoiUtil.createCell(row3, 3, headStyle, "早餐 份数");
@@ -190,12 +187,12 @@
         ExcelPoiUtil.createCell(row3, 6, headStyle, "晚餐 金额");
         ExcelPoiUtil.createCell(row3, 7, headStyle, "晚餐 份数");
 
-        ExcelPoiUtil.createCell(row3, 8, headStyle, "早餐 金额");
-        ExcelPoiUtil.createCell(row3, 9, headStyle, "早餐 份数");
-        ExcelPoiUtil.createCell(row3, 10, headStyle, "午餐 金额");
-        ExcelPoiUtil.createCell(row3, 11, headStyle, "午餐 份数");
-        ExcelPoiUtil.createCell(row3, 12, headStyle, "晚餐 金额");
-        ExcelPoiUtil.createCell(row3, 13, 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: 数据
         int rowNum = 4;
@@ -227,15 +224,15 @@
                 ExcelPoiUtil.createCell(row, 6, textStyle1, MoneyUtil.formatYuanToString(detail.getIdtotalamt())); //晚餐
                 ExcelPoiUtil.createCell(row, 7, textStyle1, detail.getIdtotalcnt().toString());
 
-                ExcelPoiUtil.createCell(row, 8, textStyle1, MoneyUtil.formatYuanToString(detail.getObtotalamt())); //早餐
-                ExcelPoiUtil.createCell(row, 9, textStyle1, detail.getObtotalcnt().toString());
-                ExcelPoiUtil.createCell(row, 10, textStyle1, MoneyUtil.formatYuanToString(detail.getOltotalamt())); //午餐
-                ExcelPoiUtil.createCell(row, 11, textStyle1, detail.getOltotalcnt().toString());
-                ExcelPoiUtil.createCell(row, 12, textStyle1, MoneyUtil.formatYuanToString(detail.getOdtotalamt())); //晚餐
-                ExcelPoiUtil.createCell(row, 13, textStyle1, detail.getOdtotalcnt().toString());
+         //       ExcelPoiUtil.createCell(row, 8, textStyle1, MoneyUtil.formatYuanToString(detail.getObtotalamt())); //早餐
+                ExcelPoiUtil.createCell(row, 8, textStyle1, detail.getObtotalcnt().toString());
+         //       ExcelPoiUtil.createCell(row, 10, textStyle1, MoneyUtil.formatYuanToString(detail.getOltotalamt())); //午餐
+                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, 14, textStyle1, MoneyUtil.formatYuanToString(detail.getIdtotalamt()+detail.getIbtotalamt()+detail.getIltotalamt()+detail.getOdtotalamt()+detail.getOltotalamt()+detail.getObtotalamt())); //总计
-                ExcelPoiUtil.createCell(row, 15, 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()+"");
 
 
             }
diff --git a/src/main/resources/templates/restaurant/custtypereport/index.html b/src/main/resources/templates/restaurant/custtypereport/index.html
index b445e3d..8a42ce1 100644
--- a/src/main/resources/templates/restaurant/custtypereport/index.html
+++ b/src/main/resources/templates/restaurant/custtypereport/index.html
@@ -52,8 +52,8 @@
                 <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="6" style="text-align: center;">无餐补消费支付</th>
-                <th  rowspan="3" 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>
@@ -64,18 +64,18 @@
                 <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}">
             <tr th:if="${null==showlist || showlist.size()==0}">
-                <td colspan="16">无数据</td>
+                <td colspan="13">无数据</td>
             </tr>
             <div th:remove="tag" th:if="${null!=showlist && showlist.size()>0}" th:each="data:${showlist}" >
 
@@ -88,13 +88,13 @@
                     <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="${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.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="${#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="${#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+data.obtotalamt+data.oltotalamt+data.odtotalamt,1,2)}"></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>
 
                 </tr>
diff --git a/src/main/resources/templates/restaurant/custtypereport/print/printcusttypereport.html b/src/main/resources/templates/restaurant/custtypereport/print/printcusttypereport.html
index 8196bcc..db3c0b2 100644
--- a/src/main/resources/templates/restaurant/custtypereport/print/printcusttypereport.html
+++ b/src/main/resources/templates/restaurant/custtypereport/print/printcusttypereport.html
@@ -34,11 +34,11 @@
                 <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>
@@ -58,13 +58,13 @@
                     <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="${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.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="${#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="${#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+data.obtotalamt+data.oltotalamt+data.odtotalamt,1,2)}"></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>
 
                 </tr>
