就餐规则提供按月计算功能
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 7d42137..828f338 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
@@ -345,7 +345,13 @@
     }
 
     private Double getDiscountAmount(String termdate, String custid, Double amount, DiscountBean bean) {
-        Integer limit = transDtlService.getDiscountLimitToday(termdate, custid, bean.getRuleid());
+        Integer limit;
+        if(RestaurantConstant.RULEMODE_MONTH.equals(bean.getRulemode())){
+            limit=transDtlService.getDiscountLimitMonth(termdate.substring(0,6),custid,bean.getRuleid());
+        }else{
+            limit=transDtlService.getDiscountLimitToday(termdate,custid,bean.getRuleid());
+        }
+
         if (bean.getLimitcnt() > limit) {
 
             if (RestaurantConstant.RULETYPE_REDUCTION.equals(bean.getRuletype())) {
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/bean/DiscountBean.java b/src/main/java/com/supwisdom/dlpay/restaurant/bean/DiscountBean.java
index 2da979b..3b5ad3e 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/bean/DiscountBean.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/bean/DiscountBean.java
@@ -6,16 +6,18 @@
     private Integer limitcnt;
     private Double amount;
     private Integer ruleid;
+    private String rulemode;
 
     public DiscountBean(){
 
     }
 
-    public DiscountBean(String ruletype, Integer limitcnt, Double amount, Integer ruleid) {
+    public DiscountBean(String ruletype, Integer limitcnt, Double amount, Integer ruleid, String rulemode) {
         this.ruletype = ruletype;
         this.limitcnt = limitcnt;
         this.amount = amount;
         this.ruleid = ruleid;
+        this.rulemode = rulemode;
     }
 
     public Integer getRuleid() {
@@ -49,4 +51,12 @@
     public void setAmount(Double amount) {
         this.amount = amount;
     }
+
+    public String getRulemode() {
+        return rulemode;
+    }
+
+    public void setRulemode(String rulemode) {
+        this.rulemode = rulemode;
+    }
 }
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/bean/DiscountRuleShowBean.java b/src/main/java/com/supwisdom/dlpay/restaurant/bean/DiscountRuleShowBean.java
index bcdd42e..080e8ff 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/bean/DiscountRuleShowBean.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/bean/DiscountRuleShowBean.java
@@ -12,6 +12,7 @@
   private String remark;
   private String starttime;
   private String endtime;
+  private String rulemode;
 
   public Integer getRuleid() {
     return ruleid;
@@ -100,4 +101,12 @@
   public void setEndtime(String endtime) {
     this.endtime = endtime;
   }
+
+  public String getRulemode() {
+    return rulemode;
+  }
+
+  public void setRulemode(String rulemode) {
+    this.rulemode = rulemode;
+  }
 }
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 e62d925..0cfc2cd 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceDiscountRuleController.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceDiscountRuleController.java
@@ -140,6 +140,7 @@
                                        @RequestParam("amount") String amount,
                                        @RequestParam("limitcnt") Integer limitcnt,
                                        @RequestParam("listid") String listid,
+                                       @RequestParam("rulemode") String rulemode,
                                   //     @RequestParam(value = "file", required = false) MultipartFile file,
                                        @AuthenticationPrincipal UserDetails operUser) {
         try {
@@ -164,7 +165,7 @@
                 return JsonResult.error("登录过期,请重新登录");
             }
 
-            if (deviceDiscountRuleService.saveNewDiscountRule(rulename.trim(), ruletype, DateUtil.unParseToDateFormat(starttime), DateUtil.unParseToDateFormat(endtime), Double.parseDouble(amount), limitcnt, listid, oper)) {
+            if (deviceDiscountRuleService.saveNewDiscountRule(rulename.trim(), ruletype, DateUtil.unParseToDateFormat(starttime), DateUtil.unParseToDateFormat(endtime), Double.parseDouble(amount), limitcnt, listid, oper,rulemode)) {
                 return JsonResult.ok("新增成功");
             } else {
                 return JsonResult.error("新增失败");
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/dao/CustTypeDao.java b/src/main/java/com/supwisdom/dlpay/restaurant/dao/CustTypeDao.java
index 22208ed..7beb09c 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/dao/CustTypeDao.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/dao/CustTypeDao.java
@@ -1,7 +1,6 @@
 package com.supwisdom.dlpay.restaurant.dao;
 
 
-import com.supwisdom.dlpay.restaurant.domain.TArea;
 import com.supwisdom.dlpay.restaurant.domain.TCustType;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/dao/TransDtlDao.java b/src/main/java/com/supwisdom/dlpay/restaurant/dao/TransDtlDao.java
index 1c5f920..5df3122 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/dao/TransDtlDao.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/dao/TransDtlDao.java
@@ -44,10 +44,14 @@
 
     List<TTransDtl> findAllByStatusAndTransdate(String status,String date);
 
+
     TTransDtl getByTransdateAndTermidAndTermsqlno(String transdate,Integer termid,Integer termsqlno);
 
     Integer countByAccdateAndCustidAndRuleid(String accdate,String custid,Integer ruleid);
 
+    @Query(value = "select count(refno) from tb_transdtl where substr(accdate,1,6)=?1 and custid=?2 and ruleid=?3",nativeQuery = true)
+    Integer countTrandtlByAccdateAndCustidAndRuleidWithMonth(String accdate,String custid,Integer ruleid);
+
     @Query("select min(accdate) from TTransDtl")
     String getMinTransdate();
 
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/domain/TDiscountRule.java b/src/main/java/com/supwisdom/dlpay/restaurant/domain/TDiscountRule.java
index 7ada260..df03d6d 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/domain/TDiscountRule.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/domain/TDiscountRule.java
@@ -55,6 +55,9 @@
   @Column(name = "REMARK", length = 600)
   private String remark;
 
+  @Column(name = "RULEMODE", length = 10)
+  private String rulemode;
+
   public Integer getRuleid() {
     return ruleid;
   }
@@ -174,4 +177,12 @@
   public void setDetailStatus(Integer detailStatus) {
     this.detailStatus = detailStatus;
   }
+
+  public String getRulemode() {
+    return rulemode;
+  }
+
+  public void setRulemode(String rulemode) {
+    this.rulemode = rulemode;
+  }
 }
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/DeviceDiscountRuleService.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/DeviceDiscountRuleService.java
index bf3baef..5feeb1c 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/DeviceDiscountRuleService.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/DeviceDiscountRuleService.java
@@ -26,7 +26,7 @@
 
   @Transactional(rollbackFor = Exception.class)
   boolean saveNewDiscountRule(String rulename, String ruletype, String starttime,
-                                   String endtime, Double amount, Integer limitcnt, String listid, TOperator oper) throws Exception;
+                                   String endtime, Double amount, Integer limitcnt, String listid, TOperator oper,String rulemode) throws Exception;
 
   @Transactional(rollbackFor = Exception.class, readOnly = true)
   PageResult<TDiscountDetail> getDiscountRuleDetails(String searchkey, int ruleid, int pageNo, int pageSize);
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/TransDtlService.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/TransDtlService.java
index cb9be96..35e48fd 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/TransDtlService.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/TransDtlService.java
@@ -53,4 +53,7 @@
 
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true)
     Integer getDiscountLimitToday(String termdate,String custid,Integer ruleid);
+
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true)
+    Integer getDiscountLimitMonth(String termdate,String custid,Integer ruleid);
 }
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 39a7177..934e8b5 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
@@ -96,6 +96,7 @@
                 bean.setStarttime(rule.getStarttime().substring(0, 2) + ":" + rule.getStarttime().substring(2));
                 bean.setEndtime(rule.getEndtime().substring(0, 2) + ":" + rule.getEndtime().substring(2));
                 bean.setTimeperiod(bean.getStarttime() + " ~ " + bean.getEndtime());
+                bean.setRulemode(rule.getRulemode());
                 result.add(bean);
             }
         }
@@ -174,7 +175,7 @@
 
     @Override
     public boolean saveNewDiscountRule(String rulename, String ruletype, String starttime,
-                                       String endtime, Double amount, Integer limitcnt, String listid, TOperator oper) throws Exception {
+                                       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("餐补名称已经存在!");
@@ -192,6 +193,7 @@
         rule.setCreatetime(systime);
         rule.setLastsaved(systime);
         rule.setVerno(1);
+        rule.setRulemode(rulemode);
         rule = discountRuleDao.save(rule);
 
         /*String filename = file.getOriginalFilename();
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TransDtlServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TransDtlServiceImpl.java
index f5f5344..a8731bc 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TransDtlServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TransDtlServiceImpl.java
@@ -299,5 +299,10 @@
         return transDtlDao.countByAccdateAndCustidAndRuleid(termdate,custid,ruleid);
     }
 
+    @Override
+    public Integer getDiscountLimitMonth(String termdate, String custid, Integer ruleid) {
+        return transDtlDao.countTrandtlByAccdateAndCustidAndRuleidWithMonth(termdate,custid,ruleid);
+    }
+
 
 }
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/util/RestaurantConstant.java b/src/main/java/com/supwisdom/dlpay/restaurant/util/RestaurantConstant.java
index d5732cc..a231f87 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/util/RestaurantConstant.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/util/RestaurantConstant.java
@@ -78,6 +78,9 @@
     public static final String CHKDTL_RESOLVED_FAIL = "fail"; //补账失败
     public static final String CHKDTL_RESOLVED_HANGUP="hangup"; //挂起
 
+    public static final String RULEMODE_MONTH="month"; //按月
+    public static final String RULEMODE_DAY="day"; //按日
+
 
     public static final String TRANSDTL_STATEMENT_LASTDATE = "transdtl.statement.lastdate"; //统计日期
 }
diff --git a/src/main/resources/templates/restaurant/discountrule/rule.html b/src/main/resources/templates/restaurant/discountrule/rule.html
index 7d4706c..55a2568 100644
--- a/src/main/resources/templates/restaurant/discountrule/rule.html
+++ b/src/main/resources/templates/restaurant/discountrule/rule.html
@@ -66,6 +66,18 @@
                         }
                     },
                     {
+                        field: 'rulemode', title: '餐补模式', align: 'center', width: 120,  sort: true, templet: function (d) {
+                            console.log(d);
+                            if ('day' == d.rulemode) {
+                                return '按日';
+                            } else if ('month' == d.rulemode) {
+                                return '按月';
+                            } else {
+                                return '按日';
+                            }
+                        }
+                    },
+                    {
                         field: 'amount', title: '金额/折率', align: 'center', sort: true, templet: function (d) {
                             if ('discount' == d.ruletype) {
                                 return d.amount + '折';
@@ -89,7 +101,7 @@
                             }
                         }
                     },
-                    {field: 'remark', title: '备注',  align: 'center'},
+                  /*  {field: 'remark', title: '备注',  align: 'center'},*/
                     {align: 'center', title: '操作', width: 250, toolbar: '#discountrule-table-bar',  fixed: 'right'}
                 ]
             ]
diff --git a/src/main/resources/templates/restaurant/discountrule/ruleform.html b/src/main/resources/templates/restaurant/discountrule/ruleform.html
index 0eed2ad..b521c85 100644
--- a/src/main/resources/templates/restaurant/discountrule/ruleform.html
+++ b/src/main/resources/templates/restaurant/discountrule/ruleform.html
@@ -10,6 +10,15 @@
     </div>
 
     <div class="layui-form-item">
+        <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="按月" />
+
+        </div>
+    </div>
+
+    <div class="layui-form-item">
         <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%;"
@@ -172,7 +181,7 @@
             formData.append("endtime", vdata.endtime);
             formData.append("amount", vdata.amount);
             formData.append("limitcnt", vdata.limitcnt);
-
+            formData.append("rulemode", vdata.rulemode);
             formData.append("listid",vdata.listid);
         //    var flag = false;
        //     var files = $('#form-discountrule-records').prop('files');