diff --git a/src/main/java/com/supwisdom/dlpay/water/pay/WaterPayAsyncTask.java b/src/main/java/com/supwisdom/dlpay/water/pay/WaterPayAsyncTask.java
index 5b2c92a..73d8e69 100644
--- a/src/main/java/com/supwisdom/dlpay/water/pay/WaterPayAsyncTask.java
+++ b/src/main/java/com/supwisdom/dlpay/water/pay/WaterPayAsyncTask.java
@@ -51,7 +51,7 @@
     public void waterPay(Integer cobillno) {
         TCollectdtl collectdtl = collectdtlService.findByCobillnoForUpdate(cobillno);
         if (!TradeDict.DTL_STATUS_WIP.equals(collectdtl.getStatus())) {
-            logger.error("待入账的采集流水"+cobillno+"状态不正确");
+            logger.error("待入账的采集流水" + cobillno + "状态不正确");
             return;
         }
         if (TradeDict.PAY_MODE_CARD.equals(collectdtl.getMode())) {
@@ -85,7 +85,7 @@
             } else if (TradeDict.DTL_STATUS_FAIL.equals(accStatus)) {
                 //  入账流水扣费失败，重新生成入账流水扣费
                 TAccdtl newAccdtl = buildAccdtl(collectdtl);
-                newAccdtl = accdtlService.creatNewAccdtl(newAccdtl,collectdtl.getCobillno());
+                newAccdtl = accdtlService.creatNewAccdtl(newAccdtl, collectdtl.getCobillno());
                 waterPay(newAccdtl);
             } else if (TradeDict.DTL_STATUS_INIT.equals(accStatus) ||
                     TradeDict.DTL_STATUS_WIP.equals(accStatus)) {
@@ -156,20 +156,14 @@
     }
 
     private CitizenCardPayinitParam buildPayInitParam(TAccdtl accdtl) {
-        CitizenCardPayinitParam initParam = null;
-        try {
-            initParam = new CitizenCardPayinitParam();
-            initParam.setBillno(accdtl.getBillno());
-            initParam.setCardNo(accdtl.getCitizenCardno());
-            initParam.setAmount(MoneyUtil.YuanToFen(accdtl.getAmount()));
-            initParam.setDtltype(Constants.DTLTYPE_WATER);
-            initParam.setTransdate(accdtl.getTransDate());
-            initParam.setTranstime(accdtl.getTransTime());
-            initParam.setShopaccno(businessparaService.findByParakey(WaterBudinessConstants.WATER_SHOP_ACCNO).getParaval());
-        } catch (Exception e) {
-            e.printStackTrace();
-            throw new RuntimeException();
-        }
+        CitizenCardPayinitParam initParam = new CitizenCardPayinitParam();
+        initParam.setBillno(accdtl.getBillno());
+        initParam.setCardNo(accdtl.getCitizenCardno());
+        initParam.setAmount(MoneyUtil.YuanToFen(accdtl.getAmount()));
+        initParam.setDtltype(Constants.DTLTYPE_WATER);
+        initParam.setTransdate(accdtl.getTransDate());
+        initParam.setTranstime(accdtl.getTransTime());
+        initParam.setShopaccno(businessparaService.findByParakey(WaterBudinessConstants.WATER_SHOP_ACCNO).getParaval());
         return initParam;
     }
 
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt b/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt
index af9581b..22591b6 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt
@@ -173,46 +173,6 @@
     }
 }
 
-class CitizenCardPayinitParam : APIRequestParam() {
-    @Sign
-    var cardNo: String = "" //必传
-    @Sign
-    var shopaccno: String = "" //必传
-    @Sign
-    var amount: Int = 0 //必传
-
-    var feelist: List<ConsumeFeetype>? = null //TODO: 怎么拼接签名字符串？？
-    @Sign
-    var billno: String = "" //必传
-    @Sign
-    var transdate: String = "" //必传
-    @Sign
-    var transtime: String = "" //必传
-    @Sign
-    var dtltype: String = ""
-
-    override fun checkParam(): Boolean {
-        if (StringUtil.isEmpty(cardNo)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "卡唯一号不能为空")
-        if (StringUtil.isEmpty(shopaccno)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "请指定交易商户")
-        if (amount <= 0) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "交易金额必须大于零")
-        if (StringUtil.isEmpty(billno)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "对接系统唯一订单号不能为空")
-        if (!DateUtil.checkDatetimeValid(transdate, DateUtil.DATE_FMT)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "交易日期错误[yyyyMMdd]")
-        if (!DateUtil.checkDatetimeValid(transtime, DateUtil.TIME_FMT)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "交易时间错误[HHmmss]")
-
-        return true
-    }
-}
-
-class CitizenCardPayfinishParam : APIRequestParam() {
-    @Sign
-    var refno: String = ""
-
-    override fun checkParam(): Boolean {
-        if (StringUtil.isEmpty(refno)) throw RequestParamCheckException(TradeErrorCode.REQUEST_PARAM_ERROR, "交易参考号不能为空")
-
-        return true
-    }
-}
 
 class YktCardPayinitParam : APIRequestParam() {
     @Sign
diff --git a/src/main/kotlin/com/supwisdom/dlpay/water/async_tasks.kt b/src/main/kotlin/com/supwisdom/dlpay/water/async_tasks.kt
index 2f27350..3a017ba 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/water/async_tasks.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/water/async_tasks.kt
@@ -30,6 +30,7 @@
 class MyAsyncUncaughtExceptionHandler : AsyncUncaughtExceptionHandler {
     private val logger = KotlinLogging.logger { }
     override fun handleUncaughtException(ex: Throwable, method: Method, vararg params: Any?) {
+        ex.printStackTrace()
         logger.error { "Async Task execute error: <${method.name}>, exception <${ex.message}>" }
     }
 }
diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql
index 65b8569..296df08 100644
--- a/src/main/resources/data.sql
+++ b/src/main/resources/data.sql
@@ -22,16 +22,18 @@
 --Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('1','1','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
 --Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('2','2','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
 
-Insert into TB_FUNCTION (ID,CREATETIME,ISLEAF,LASTSAVED,MENUICON,MENUURL,NAME,ORDERNUM,PARENTID) values ('1',null,0,null,'layui-icon-home','#','主页',1,'-1');
-Insert into TB_FUNCTION (ID,CREATETIME,ISLEAF,LASTSAVED,MENUICON,MENUURL,NAME,ORDERNUM,PARENTID) values ('2',null,1,null,'layui-icon-home','/home/console','控制台',1,'1');
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (6, NULL, 1, NULL, 'layui-icon-set', '/region/index', '区域管理', 2, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (7, NULL, 1, NULL, 'layui-icon-set', '/device/index', '设备管理', 3, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (8, NULL, 1, NULL, 'layui-icon-set', '/collectdtl/index', '采集流水查询', 4, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (9, NULL, 1, NULL, 'layui-icon-set', '/dtlcount/index', '流水统计', 6, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (10, NULL, 1, NULL, 'layui-icon-set', '/areapara/index', '设备参数组管理', 7, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (11, NULL, 1, NULL, 'layui-icon-set', '/areaparabind/index', '水控参数区域绑定', 8, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (12, NULL, 1, NULL, 'layui-icon-set', '/accdtl/index', '入账流水查询', 5, 1);
-INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (13, NULL, 1, NULL, 'layui-icon-set', '/useracc/index', '用户账户查询', 9, 1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (1, NULL, 0, NULL, 'layui-icon-home', '#', '区域管理', 1, -1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (2, NULL, 1, NULL, NULL, '/region/index', '区域信息管理', 1, 1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (3, NULL, 1, NULL, NULl, '/areapara/index', '区域设备参数组管理', 2, 1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (4, NULL, 1, NULL, NULl, '/areaparabind/index', '区域参数组绑定', 3, 1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (5, NULL, 0, NULL, 'layui-icon-app', '#', '设备管理', 1, -1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (6, NULL, 1, NULL, NULL, '/device/index', '设备信息管理', 1, 5);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (7, NULL, 0, NULL, 'layui-icon-chart-screen', '#', '流水管理', 1, -1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (8, NULL, 1, NULL, NULL, '/collectdtl/index', '采集流水查询', 1, 7);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (9, NULL, 1, NULL, NULL, '/accdtl/index', '入账流水查询', 2, 7);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (10, NULL, 1, NULL, NULL, '/dtlcount/index', '流水统计', 3, 7);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (11, NULL, 0, NULL, 'layui-icon-username', '#', '用户管理', 1, -1);
+INSERT INTO "tb_function"("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid") VALUES (12, NULL, 1, NULL, NULl, '/useracc/index', '用户信息管理', 1, 11);
 
 Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('5','5','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
 Insert into TB_ROLE_FUNCTION (ID,FUNCTIONID,ROLEID) values ('1','1','d1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
@@ -45,7 +47,6 @@
 INSERT INTO "tb_role_function"("id", "functionid", "permissions", "roleid") VALUES ('10', 10, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
 INSERT INTO "tb_role_function"("id", "functionid", "permissions", "roleid") VALUES ('11', 11, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
 INSERT INTO "tb_role_function"("id", "functionid", "permissions", "roleid") VALUES ('12', 12, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
-INSERT INTO "tb_role_function"("id", "functionid", "permissions", "roleid") VALUES ('13', 13, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs');
 
 
 
