Forráskód Böngészése

机器属性完整,定时清洗规则

李天标 5 éve
szülő
commit
cf53b8f26d

+ 34 - 0
app-backend-web/src/main/java/com/hboxs/control/admin/EquipmentController.java

@@ -22,7 +22,9 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpSession;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Controller - 设备管理器
@@ -74,6 +76,19 @@ public class EquipmentController extends BaseController {
 
         Equipment equipment = equipmentService.find(id);
         model.addAttribute("equipment", equipment);
+        String rule = equipment.getRule();
+        if(rule.length()>1){
+            String[] split = rule.split(",");
+            List<String> list = new ArrayList<>(Arrays.asList(split));
+            model.addAttribute("rules", list);
+            if(list.size()<10){
+                List<String> lis = new ArrayList<>();
+                for(int i = 0;i<(10-list.size());i++){
+                    lis.add("a");
+                }
+                model.addAttribute("rulesCkche", lis);
+            }
+        }
         List<TimeRule> timeRules = timeRuleService.findAll();
         model.addAttribute("timeRules", timeRules);
         String type = adminService.getCurrent().getType().toValue();
@@ -288,6 +303,10 @@ public class EquipmentController extends BaseController {
             case "block":
                 PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("block", eqeStatus).toString());
                 break;
+            //远程锁机
+            case "clean":
+                PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("clean", eqeStatus).toString());
+                break;
             //远程开启设备睡眠状态
             case "sleep":
                 PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("is_sleep", eqeStatus).toString());
@@ -298,6 +317,21 @@ public class EquipmentController extends BaseController {
         addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);
         return SUCCESS_MESSAGE;
     }
+
+    /**
+     * 更新清洗规则
+     */
+    @RequestMapping(value = "/updateRule", method = RequestMethod.POST)
+    @ResponseBody
+    public Message updateRule(@RequestBody CommonParamVo commonParamVo, RedirectAttributes redirectAttributes) {
+        String rule = commonParamVo.getVal();
+        Long id = Long.valueOf(commonParamVo.getId());
+        Equipment equipment = equipmentService.find(id);
+        equipment.setRule(rule);
+        equipmentService.update(equipment);
+        PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("updateRule", rule).toString());
+        return SUCCESS_MESSAGE;
+    }
     /**
      * 远程开门
      *

+ 26 - 26
app-backend-web/src/main/webapp/WEB-INF/template/admin/common/main.ftl

@@ -231,12 +231,12 @@
                                 class="iconfont icon-shebei"></i> 设备管理</a>
                     </dd>
                 [/@shiro.hasPermission]
-                [@shiro.hasPermission name="admin:promoCode"]
-                    <dd>
-                        <a href="javascript:void(0)" data-url="../promoCode/list.htm"  data-id="admin:promoCode"><i
-                                    class="iconfont icon-shebei"></i> 优惠码</a>
-                    </dd>
-                [/@shiro.hasPermission]
+                [#--[@shiro.hasPermission name="admin:promoCode"]--]
+                    [#--<dd>--]
+                        [#--<a href="javascript:void(0)" data-url="../promoCode/list.htm"  data-id="admin:promoCode"><i--]
+                                    [#--class="iconfont icon-shebei"></i> 优惠码</a>--]
+                    [#--</dd>--]
+                [#--[/@shiro.hasPermission]--]
             [#--  [@shiro.hasPermission name="admin:trusteeship"]
                   <dd>
                       <a href="javascript:void(0)"
@@ -263,20 +263,20 @@
                                 class="iconfont icon-weihu"></i> 维护历史</a>
                     </dd>
                 [/@shiro.hasPermission]
-                [@shiro.hasPermission name="admin:ad"]
-                    <dd>
-                        <a href="javascript:void(0)" data-url="../ad/list.htm"
-                           data-id="admin:ad"><i
-                                class="iconfont icon-guanggao"></i> 广告管理</a>
-                    </dd>
-                [/@shiro.hasPermission]
-                [@shiro.hasPermission name="admin:timeRule"]
-                    <dd>
-                        <a href="javascript:void(0)" data-url="../timeRule/list.htm"
-                           data-id="admin:timeRule"><i
-                                class="iconfont icon-guize"></i> 广告规则</a>
-                    </dd>
-                [/@shiro.hasPermission]
+                [#--[@shiro.hasPermission name="admin:ad"]--]
+                    [#--<dd>--]
+                        [#--<a href="javascript:void(0)" data-url="../ad/list.htm"--]
+                           [#--data-id="admin:ad"><i--]
+                                [#--class="iconfont icon-guanggao"></i> 广告管理</a>--]
+                    [#--</dd>--]
+                [#--[/@shiro.hasPermission]--]
+                [#--[@shiro.hasPermission name="admin:timeRule"]--]
+                    [#--<dd>--]
+                        [#--<a href="javascript:void(0)" data-url="../timeRule/list.htm"--]
+                           [#--data-id="admin:timeRule"><i--]
+                                [#--class="iconfont icon-guize"></i> 广告规则</a>--]
+                    [#--</dd>--]
+                [#--[/@shiro.hasPermission]--]
             </dl>
             <dl id="order">
                 <dt>订单管理</dt>
@@ -286,12 +286,12 @@
                                 class="iconfont icon-wenjian"></i> 线上订单管理</a>
                     </dd>
                 [/@shiro.hasPermission]
-                [@shiro.hasPermission name="admin:offlineOrder"]
-                    <dd>
-                        <a href="javascript:void(0)" data-url="../coinOrder/list.htm" data-id="admin:offlineOrder"><i
-                                class="iconfont icon-xianxiadingdan"></i> 线下订单管理</a>
-                    </dd>
-                [/@shiro.hasPermission]
+                [#--[@shiro.hasPermission name="admin:offlineOrder"]--]
+                    [#--<dd>--]
+                        [#--<a href="javascript:void(0)" data-url="../coinOrder/list.htm" data-id="admin:offlineOrder"><i--]
+                                [#--class="iconfont icon-xianxiadingdan"></i> 线下订单管理</a>--]
+                    [#--</dd>--]
+                [#--[/@shiro.hasPermission]--]
             </dl>
             <dl id="statistics">
                 <dt>统计</dt>

+ 249 - 113
app-backend-web/src/main/webapp/WEB-INF/template/admin/equipment/edit.ftl

@@ -47,7 +47,8 @@
         <input type="button" value="管理员"/>
     </li>
     <li>
-        <input type="button" value="商品管理"/>
+        [#--<input type="button" value="商品管理"/>--]
+        <input type="button" value="清洗规则"/>
     </li>
     <li>
         <input type="button" value="报警记录"/>
@@ -93,92 +94,124 @@
                     <input type="text" value="${equipment.sn}" name="sn"  class="text" required/>
                 </td>
             </tr>
+            [#--<tr>--]
+                [#--<th>--]
+                    [#--<span class="requiredField">*</span>广告规则--]
+                [#--</th>--]
+                [#--<td>--]
+                     [#--[#if type!="管理员"]--]
+                         [#--<input type="hidden" name="timeRuleId" value="${equipment.timeRuleId}"/>--]
+                         [#--<input type="text" class="text" value="${ruleName}" readonly/>--]
+                     [#--[#else ]--]
+                        [#--<select name="timeRuleId">--]
+                        [#--[#list timeRules as timeRule]--]
+                            [#--<option value="${timeRule.id}"--]
+                                    [#--[#if timeRule.id == equipment.timeRuleId ]selected[/#if]>${timeRule.name}</option>--]
+                        [#--[/#list]--]
+                        [#--</select>--]
+                     [#--[/#if]--]
+
+                [#--</td>--]
+
+            [#--</tr>--]
             <tr>
                 <th>
-                    <span class="requiredField">*</span>广告规则
+                    <span class="requiredField"></span>所属商家:
                 </th>
                 <td>
-                     [#if type!="管理员"]
-                         <input type="hidden" name="timeRuleId" value="${equipment.timeRuleId}"/>
-                         <input type="text" class="text" value="${ruleName}" readonly/>
-                     [#else ]
-                        <select name="timeRuleId">
-                        [#list timeRules as timeRule]
-                            <option value="${timeRule.id}"
-                                    [#if timeRule.id == equipment.timeRuleId ]selected[/#if]>${timeRule.name}</option>
-                        [/#list]
-                        </select>
-                     [/#if]
-
+                ${equipment.adminLevel}
                 </td>
+            </tr>
 
+            [#--<tr>--]
+                [#--<th>--]
+                    [#--<span class="requiredField"></span>经销商:--]
+                [#--</th>--]
+                [#--<td>--]
+                [#--${equipment.adminUserName}--]
+                    [#--[#if type=="管理员"]--]
+                        [#--&nbsp &nbsp <button type="button" id="touji" >系统脱机</button>--]
+                    [#--[/#if]--]
+                [#--</td>--]
+            [#--</tr>--]
+            <tr>
+                <th>
+                    <span class="requiredField"></span>地区:
+                </th>
+                <td>
+                    <input type="hidden" id="areaId" name="areaId" value="${(equipment.areaId)!}"
+                           treePath="${(_Area(equipment.areaId).treePath)!}"/>
+                </td>
             </tr>
             <tr>
                 <th>
-                    <span class="requiredField"></span>所属商家:
+                    <span class="requiredField"></span>机器联系人:
                 </th>
                 <td>
-                ${equipment.adminLevel}
+                    <input type="text" name="contactName" class="text" maxlength="200" required
+                           value="${equipment.contactName}"/>
                 </td>
             </tr>
-
             <tr>
                 <th>
-                    <span class="requiredField"></span>经销商:
+                    <span class="requiredField"></span>机器联系方式:
                 </th>
                 <td>
-                ${equipment.adminUserName}
-                    [#if type=="管理员"]
-                        &nbsp &nbsp <button type="button" id="touji" >系统脱机</button>
-                    [/#if]
+                    <input type="text" name="contactPhone" class="text" maxlength="11" required
+                           value="${equipment.contactPhone} "/>
                 </td>
             </tr>
+            [#--<tr>--]
+                [#--<th>--]
+                    [#--<span class="requiredField"></span>远程开门:--]
+                [#--</th>--]
+                [#--<td>--]
+                    [#--<button type="button" id="openDoor" >远程开门</button>--]
+                [#--</td>--]
+            [#--</tr>--]
+            [#if type=="管理员"]
             <tr>
                 <th>
-                    <span class="requiredField"></span>地区:
+                    <span class="requiredField"></span>获取日志:
                 </th>
                 <td>
-                    <input type="hidden" id="areaId" name="areaId" value="${(equipment.areaId)!}"
-                           treePath="${(_Area(equipment.areaId).treePath)!}"/>
+                    <input type="text" class="text" maxlength="20" id="day" placeholder="20200101" value=""/>
+                    &nbsp &nbsp <button type="button" id="rizhi" >上传</button>
                 </td>
             </tr>
+            [/#if]
             <tr>
                 <th>
-                    <span class="requiredField"></span>机器联系人:
+                    <span class=""></span>到期时间
                 </th>
                 <td>
-                    <input type="text" name="contactName" class="text" maxlength="200" required
-                           value="${equipment.contactName}"/>
+                    <span class="green">${(equipment.overdueDate?string("yyyy-MM-dd HH:mm:ss"))!""}</span>
                 </td>
             </tr>
             <tr>
                 <th>
-                    <span class="requiredField"></span>机器联系方式:
+                    <span class=""></span>剩余使用次数
                 </th>
                 <td>
-                    <input type="text" name="contactPhone" class="text" maxlength="11" required
-                           value="${equipment.contactPhone} "/>
+                    <span class="green">${equipment.remaining}</span>
                 </td>
             </tr>
             <tr>
                 <th>
-                    <span class="requiredField"></span>远程开门:
+                    <span class=""></span>清洁剂余量
                 </th>
                 <td>
-                    <button type="button" id="openDoor" >远程开门</button>
+                    <span class="green">${equipment.cleaner}</span>
                 </td>
             </tr>
-            [#if type=="管理员"]
             <tr>
                 <th>
-                    <span class="requiredField"></span>获取日志:
+                    <span class=""></span>消毒水余量
                 </th>
                 <td>
-                    <input type="text" class="text" maxlength="20" id="day" placeholder="20200101" value=""/>
-                    &nbsp &nbsp <button type="button" id="rizhi" >上传</button>
+                    <span class="green">${equipment.disinfectant}</span>
                 </td>
             </tr>
-            [/#if]
             <tr>
                 <th>
                     <span class="requiredField">*</span>支付方式:
@@ -243,13 +276,13 @@
                     <span class="requiredField"></span>参数
                 </th>
                 <td>
-                    <span>内温度:${equipment.cabinetTm}</span>
+                    <span>内温度:${equipment.cabinetTm}</span>
                     &nbsp;&nbsp;
-                    <span>内湿度:${equipment.cabinetHd}</span>
+                    <span>内湿度:${equipment.cabinetHd}</span>
                     &nbsp;&nbsp;
-                    <span>炉头温度:${equipment.furnaceTm}</span>
+                    <span>机器温度:${equipment.furnaceTm}</span>
                     &nbsp;&nbsp;
-                    <span>炉头转速:${equipment.furnaceSp}</span>
+                    [#--<span>炉头转速:${equipment.furnaceSp}</span>--]
                 </td>
             </tr>
             <tr>
@@ -347,50 +380,50 @@
 
             <tr>
                 <th>
-                    <a href="javascript:" class="sort" name="productName">产品名称</a>
-                </th>
-                <th>
-                    <a href="javascript:" class="sort" name="rmbPrice">人民币价格</a>
-                </th>
-                <th>
-                    <a href="javascript:" class="sort" name="CodePrice">投币价格</a>
-                </th>
-                <th>
-                    <a href="javascript:" class="sort" name="sellStatus">销售状态</a>
+                    <a href="javascript:" class="sort" name="rule">清洗规则</a>
                 </th>
+                [#--<th>--]
+                    [#--<a href="javascript:" class="sort" name="rmbPrice">人民币价格</a>--]
+                [#--</th>--]
+                [#--<th>--]
+                    [#--<a href="javascript:" class="sort" name="CodePrice">投币价格</a>--]
+                [#--</th>--]
+                [#--<th>--]
+                    [#--<a href="javascript:" class="sort" name="sellStatus">销售状态</a>--]
+                [#--</th>--]
             </tr>
-                    [#list products.content as product]
+            <input type="hidden" name="id" value="${equipment.id}"/>
+                <div class="layui-inline">
+                    <td>
+                       <span style="color: #af0000">00:00:01为无效时间</span>
+                    [#--class="layui-input"--]
+                 </td>
+              </div>
+                    [#list rules as list]
                     <tr>
-                        <input type="hidden" name="productId" value="${product.id}" lay-verify="required|productId"
-                               value="${product.id}"/>
-                        <input type="hidden" name="equipmentId" value="${product.equipmentId}"/>
+                        <input type="hidden" name="equipmentId" value="${equipment.id}"/>
                         <div class="layui-inline">
                             <td>
-                                <input type="text" name="productName" lay-verify="required|productName"
-                                       value="${product.productName}" class="layui-input" readonly/>
+                                <input type="time" name="signalRule" lay-verify="required|sgnalRule"
+                                       value="${list}"  class="text"/>
+                                [#--class="layui-input"--]
                             </td>
                         </div>
-
-                        <td>
-                            <div class="layui-inline"></div>
-                            <input type="text" name="rmbPrice"
-                                   value="${product.rmbPrice}" class="layui-input" required/>
-                        </td>
-                        <td>
-                            <input type="text" name="codePrice"
-                                   value="${product.codePrice}" class="layui-input" required/>
-                        </td>
-                        <td>
-                            [#if product.sellStatus=="true"]
-
-                                <span>正常销售</span>
-                            [#else]
-                               <span class="red">已售罄</span>
-                            [/#if]
-                        </td>
                     </tr>
                     [/#list]
-
+                    [#if rules.length<10]
+                        [#list rulesCkche as lis]
+                            <tr>
+                                <input type="hidden" name="equipmentId" value="${equipment.id}"/>
+                             <div class="layui-inline">
+                                    <td>
+                                        <input type="time" name="signalRule" lay-verify="required|sgnalRule"
+                                                 value="00:00:01" class="text"/>
+                                    </td>
+                                </div>
+                            </tr>
+                        [/#list]
+                    [/#if]
         </table>
         <div class="layui-form-item">
             <div class="layui-input-block ">
@@ -407,6 +440,73 @@
         </div>
     </form>
 </div>
+[#--<div class="input tabContent">--]
+    [#--<form class="layui-form layui-form-pane" id="editProductForm">--]
+
+        [#--<table id="listTable" class="list">--]
+
+            [#--<tr>--]
+                [#--<th>--]
+                    [#--<a href="javascript:" class="sort" name="productName">产品名称</a>--]
+                [#--</th>--]
+                [#--<th>--]
+                    [#--<a href="javascript:" class="sort" name="rmbPrice">人民币价格</a>--]
+                [#--</th>--]
+                [#--<th>--]
+                    [#--<a href="javascript:" class="sort" name="CodePrice">投币价格</a>--]
+                [#--</th>--]
+                [#--<th>--]
+                    [#--<a href="javascript:" class="sort" name="sellStatus">销售状态</a>--]
+                [#--</th>--]
+            [#--</tr>--]
+                    [#--[#list products.content as product]--]
+                    [#--<tr>--]
+                        [#--<input type="hidden" name="productId" value="${product.id}" lay-verify="required|productId"--]
+                               [#--value="${product.id}"/>--]
+                        [#--<input type="hidden" name="equipmentId" value="${product.equipmentId}"/>--]
+                        [#--<div class="layui-inline">--]
+                            [#--<td>--]
+                                [#--<input type="text" name="productName" lay-verify="required|productName"--]
+                                       [#--value="${product.productName}" class="layui-input" readonly/>--]
+                            [#--</td>--]
+                        [#--</div>--]
+
+                        [#--<td>--]
+                            [#--<div class="layui-inline"></div>--]
+                            [#--<input type="text" name="rmbPrice"--]
+                                   [#--value="${product.rmbPrice}" class="layui-input" required/>--]
+                        [#--</td>--]
+                        [#--<td>--]
+                            [#--<input type="text" name="codePrice"--]
+                                   [#--value="${product.codePrice}" class="layui-input" required/>--]
+                        [#--</td>--]
+                        [#--<td>--]
+                            [#--[#if product.sellStatus=="true"]--]
+
+                                [#--<span>正常销售</span>--]
+                            [#--[#else]--]
+                               [#--<span class="red">已售罄</span>--]
+                            [#--[/#if]--]
+                        [#--</td>--]
+                    [#--</tr>--]
+                    [#--[/#list]--]
+
+        [#--</table>--]
+        [#--<div class="layui-form-item">--]
+            [#--<div class="layui-input-block ">--]
+
+            [#--<td><input id="editProduct" type="submit" value="提交" /></td>--]
+            [#--<td><input  type="reset" value="重置" /></td>--]
+                [#--<td align="center">--]
+                    [#--<input id="editProduct" class="button" type="submit" value="提交并推送设备更新"/>--]
+                    [#--<input type="button" class="button" value="取消"--]
+                           [#--onclick="location.href='list.htm'"/>--]
+                [#--</td>--]
+
+            [#--</div>--]
+        [#--</div>--]
+    [#--</form>--]
+[#--</div>--]
 <div class="input tabContent">
     <form class="layui-form layui-upload-list" id="editProductForm">
 
@@ -1339,53 +1439,55 @@
     $(document).ready(function () {
         $("#editProductForm").validate({
             rules: {
-                rmbPrice: {
-                    required: true,
-                    number: true,
-                    min: 0
-                },
-                codePrice: {
-                    required: true,
-                    number: true,
-                    min: 0
-                }
+                // rmbPrice: {
+                //     required: true,
+                //     number: true,
+                //     min: 0
+                // },
+                // codePrice: {
+                //     required: true,
+                //     number: true,
+                //     min: 0
+                // }
 
             },
             messages: {
-                rmbPrice: {
-                    required: "人民币价格不能为空",
-                    number: "格式不对",
-                    min: "不能小于零"
-                },
-                codePrice: {
-                    required: "投币价格不能为空",
-                    number: "格式不对",
-                    min: "不能小于零"
-                }
+                // rmbPrice: {
+                //     required: "人民币价格不能为空",
+                //     number: "格式不对",
+                //     min: "不能小于零"
+                // },
+                // codePrice: {
+                //     required: "投币价格不能为空",
+                //     number: "格式不对",
+                //     min: "不能小于零"
+                // }
             },
             onsubmit: true,
             submitHandler: function (form) {
-                var leng = $(":text[name='productName']").length;
-                var products = new Array();
+                // var leng = $(":time[name='signalRule']").length;
+                debugger;
+                var leng = document.getElementsByName("signalRule").length;
+                var equip = new Array();
+                var commonParam = {};
                 for (var i = 0; i < leng; i++) {
-                    var productId = $("input:hidden[name='productId']").eq(i).val();
-                    var rPrice = $(":text[name='rmbPrice']").eq(i).val();
-                    var cPrice = $(":text[name='codePrice']").eq(i).val();
-                    var productName = $(":text[name='productName']").eq(i).val();
-                    var equipmentId = $("input:hidden[name='equipmentId']").eq(i).val();
-                    products.push({
-                        id: productId,
-                        rmbPrice: rPrice,
-                        codePrice: cPrice,
-                        productName: productName,
-                        equipmentId: equipmentId
-                    });
+                    if(i==0){
+                        commonParam.id =  $("input:hidden[name='equipmentId']").eq(i).val();
+                    }
+                    // var signalRule = $(":time[name='signalRule']").eq(i).val();
+                    var signalRule =document.getElementsByName("signalRule")[i].value;
+                    var a=signalRule.length;
+                    if(signalRule.length>6&&signalRule!="00:00:01"){
+                        equip[i]=signalRule;
+                    }
                 }
+                // commonParam.id =  $("input:hidden[name='equipmentId']").eq(i).val();
+                commonParam.val = equip.join(",");
 
                 $.ajax({
-                    url: '/asl-admin/product/update.htm',
+                    url: '/asl-admin/equipment/updateRule.htm',
                     type: 'post',
-                    data: JSON.stringify(products),
+                    data: JSON.stringify(commonParam),
                     contentType: 'application/json;charset=utf-8',
                     success: function (msg) {
                         if (msg.type == "success") {
@@ -1398,6 +1500,40 @@
                 return false;
 
             }
+            // submitHandler: function (form) {
+            //     var leng = $(":text[name='productName']").length;
+            //     var products = new Array();
+            //     for (var i = 0; i < leng; i++) {
+            //         var productId = $("input:hidden[name='productId']").eq(i).val();
+            //         var rPrice = $(":text[name='rmbPrice']").eq(i).val();
+            //         var cPrice = $(":text[name='codePrice']").eq(i).val();
+            //         var productName = $(":text[name='productName']").eq(i).val();
+            //         var equipmentId = $("input:hidden[name='equipmentId']").eq(i).val();
+            //         products.push({
+            //             id: productId,
+            //             rmbPrice: rPrice,
+            //             codePrice: cPrice,
+            //             productName: productName,
+            //             equipmentId: equipmentId
+            //         });
+            //     }
+            //
+            //     $.ajax({
+            //         url: '/asl-admin/product/update.htm',
+            //         type: 'post',
+            //         data: JSON.stringify(products),
+            //         contentType: 'application/json;charset=utf-8',
+            //         success: function (msg) {
+            //             if (msg.type == "success") {
+            //                 layer.msg("修改成功");
+            //             } else {
+            //                 layer.msg("修改失败!"+msg.content);
+            //             }
+            //         }
+            //     });
+            //     return false;
+            //
+            // }
         });
     });
 

+ 13 - 6
app-backend-web/src/main/webapp/WEB-INF/template/admin/equipment/list.ftl

@@ -154,9 +154,9 @@
             <th>
                 <a href="javascript:" class="sort" name="">报警记录</a>
             </th>
-            <th>
-                <a href="javascript:" class="sort" name="pushUpdateTime">广告推送失败时间</a>
-            </th>
+            [#--<th>--]
+                [#--<a href="javascript:" class="sort" name="pushUpdateTime">广告推送失败时间</a>--]
+            [#--</th>--]
             <th>
                 <a href="javascript:">锁机控制</a>
             </th>
@@ -169,6 +169,9 @@
                 <a href="javascript:">睡眠控制</a>
             </th>
             <th>
+                <a href="javascript:">清洗控制</a>
+            </th>
+            <th>
                 <a href="javascript:">心跳状态</a>
             </th>
             <th>
@@ -213,9 +216,9 @@
                     <td>
                         ${_alarmRecordId(equipment.id)}
                     </td>
-                    <td>
-                        ${(equipment.pushUpdateTime?string("yyyy-MM-dd HH:mm:ss"))!""}
-                    </td>
+                    [#--<td>--]
+                        [#--${(equipment.pushUpdateTime?string("yyyy-MM-dd HH:mm:ss"))!""}--]
+                    [#--</td>--]
                     <td>
                         [#if equipment.is_blocked]
                         <div id="j${equipment.id}">
@@ -263,6 +266,10 @@
                         [/#if]
                     </td>
                     <td>
+                        <a class="status" href="#" data-id="${equipment.id}" data-url="clean.htm" data-status="1"><span
+                                class="green">一键清洗</span></a>
+                    </td>
+                    <td>
 						[#if !equipment.getIsOpen()]
                             <span class="red">关机</span>
                         [#else]

+ 61 - 0
app-entity/src/main/java/com/hboxs/entity/Equipment.java

@@ -389,6 +389,67 @@ public class Equipment extends BaseEntity {
     private String commonParameters;
 
     /**
+     * 清洁剂余量
+     */
+    private String cleaner;
+    /**
+     * 消毒水余量
+     */
+    private String  disinfectant;
+    /**
+     * 过期时间;
+     */
+    private String  overdueDate;
+    /**
+     * 剩余使用次
+     */
+    private String  remaining;
+    /**
+     * 定时清洗时间规则
+     */
+    private String  rule;
+
+    public String getCleaner() {
+        return cleaner;
+    }
+
+    public void setCleaner(String cleaner) {
+        this.cleaner = cleaner;
+    }
+
+    public String getDisinfectant() {
+        return disinfectant;
+    }
+
+    public void setDisinfectant(String disinfectant) {
+        this.disinfectant = disinfectant;
+    }
+
+    public String getOverdueDate() {
+        return overdueDate;
+    }
+
+    public void setOverdueDate(String overdueDate) {
+        this.overdueDate = overdueDate;
+    }
+
+    public String getRemaining() {
+        return remaining;
+    }
+
+    public void setRemaining(String remaining) {
+        this.remaining = remaining;
+    }
+
+    public String getRule() {
+        return rule;
+    }
+
+    public void setRule(String rule) {
+        this.rule = rule;
+    }
+
+    /**
      * 进阶参数
      */
     private String advancedParameters;