客户类别报表修改
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>