结算整理和结算日志查询
diff --git a/payapi/src/main/resources/data-postgresql.sql b/payapi/src/main/resources/data-postgresql.sql
index 89ba0ee..4298c90 100644
--- a/payapi/src/main/resources/data-postgresql.sql
+++ b/payapi/src/main/resources/data-postgresql.sql
@@ -1,6 +1,6 @@
--pg--
-INSERT INTO "tb_period" ("period_year", "period_month", "startdate", "enddate", "settleflag" , "tenantid")
-VALUES (to_number(to_char(CURRENT_TIMESTAMP,'yyyy'),'9999'),to_number(to_char(CURRENT_TIMESTAMP,'MM'),'99'), to_char(CURRENT_TIMESTAMP,'yyyyMM')||'01', to_char((to_date(to_char(CURRENT_TIMESTAMP+'1 month','yyyyMM')||'01','yyyyMMdd')-1)::Timestamp,'yyyyMMdd'), 0, '{tenantid}');
+INSERT INTO "tb_period" ("id", "period_year", "period_month", "startdate", "enddate", "settleflag" , "tenantid")
+VALUES ('8a53b7826c65b925016c65bfa7c3001c',to_number(to_char(CURRENT_TIMESTAMP,'yyyy'),'9999'),to_number(to_char(CURRENT_TIMESTAMP,'MM'),'99'), to_char(CURRENT_TIMESTAMP,'yyyyMM')||'01', to_char((to_date(to_char(CURRENT_TIMESTAMP+'1 month','yyyyMM')||'01','yyyyMMdd')-1)::Timestamp,'yyyyMMdd'), 0, '{tenantid}');
insert into TB_SETTLECTL(BOOKSETNO,PERIODYEAR,PERIODMONTH,STATDATE,SETTLEDATE,STATUS,updtime, "tenantid")
values (1,to_number(to_char(CURRENT_TIMESTAMP,'yyyy'),'9999'),to_number(to_char(CURRENT_TIMESTAMP,'MM'),'99'),to_number(to_char(CURRENT_TIMESTAMP,'yyyyMMdd'),'99999999'),to_number(to_char(CURRENT_TIMESTAMP,'yyyyMMdd'),'99999999'),0,to_char(CURRENT_TIMESTAMP,'yyyyMMddhh24miss'), '{tenantid}');
diff --git a/payapi/src/main/resources/data.sql b/payapi/src/main/resources/data.sql
index c177115..80a95a2 100644
--- a/payapi/src/main/resources/data.sql
+++ b/payapi/src/main/resources/data.sql
@@ -63,6 +63,8 @@
VALUES (30, NULL, 1, NULL, '', '/report/subjectdetail', '科目明细账', 2, 20, '{tenantid}');
INSERT INTO "tb_function" ("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid", tenantid)
VALUES (31, NULL, 1, NULL, '', '/report/shopbusiness', '商户营业情况表', 3, 20, '{tenantid}');
+INSERT INTO "tb_function" ("id", "createtime", "isleaf", "lastsaved", "menuicon", "menuurl", "name", "ordernum", "parentid", tenantid)
+VALUES (32, NULL, 1, NULL, '', '/settlelog/index', '结算日志', 5, 3, '{tenantid}');
INSERT INTO "tb_role_function" ("id", "functionid", "roleid", tenantid)
@@ -117,6 +119,8 @@
VALUES ('ff8080816b7947ed016b79557736007b', 12, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '{tenantid}');
INSERT INTO "tb_role_function" ("id", "functionid", "roleid", tenantid)
VALUES ('ff8080816b7947ed016b795577370081', 18, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '{tenantid}');
+INSERT INTO "tb_role_function" ("id", "functionid", "roleid", tenantid)
+VALUES ('ff8080816c8468e8016c846d7a570017', 32, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '{tenantid}');
INSERT INTO "tb_resource" ("id", "code", "function_id", "name", "uri", tenantid)
VALUES (4, '1', 4, '添加功能', '/function/add', '{tenantid}');
@@ -244,6 +248,10 @@
VALUES (74, '', 31, '查询', '/report/shopbusiness', '{tenantid}');
INSERT INTO "tb_resource" ("id", "code", "function_id", "name", "uri", tenantid)
VALUES (76, '', 18, '新增', '/param/addsourcetype', '{tenantid}');
+INSERT INTO "tb_resource" ("id", "code", "function_id", "name", "uri", tenantid)
+VALUES (77, '', 32, '查询', '/settlelog/index', '{tenantid}');
+INSERT INTO "tb_resource" ("id", "code", "function_id", "name", "uri", tenantid)
+VALUES (78, '', 32, '查询', '/settlelog/dosettle', '{tenantid}');
INSERT INTO "tb_permission" ("id", "resid", "role_func_id", "roleid", tenantid)
VALUES ('ff8080816b7947ed016b795577300036', 16, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '{tenantid}');
@@ -371,7 +379,10 @@
VALUES ('ff8080816bbb130c016bbb6ea2f700c9', 76, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '{tenantid}');
INSERT INTO "tb_permission" ("id", "resid", "role_func_id", "roleid", "tenantid")
VALUES ('ff8080816bbb130c016bbb6ea2f600b3', 26, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '{tenantid}');
-
+INSERT INTO "tb_permission" ("id", "resid", "role_func_id", "roleid", "tenantid")
+VALUES ('ff8080816c8468e8016c846d7a5d0018', 77, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '{tenantid}');
+INSERT INTO "tb_permission" ("id", "resid", "role_func_id", "roleid", "tenantid")
+VALUES ('ff8080816c85279d016c852aa829000d', 78, NULL, 'd1yctWs5+ks0iQN3m9bUvRHus6HbKbrs', '{tenantid}');
INSERT INTO "tb_subject" ("subjid","subjno", "balflag", "displayflag", "endflag", "fsubjno", "opendate", "subjlevel", "subjname", "subjtype", "tenantid")
VALUES (1, '1001', 1, 'y', 1, NULL, 20190430, 1, '库存现金', 1, '{tenantid}');
diff --git a/payapi/src/main/resources/templates/system/settlelog/index.html b/payapi/src/main/resources/templates/system/settlelog/index.html
new file mode 100644
index 0000000..3ba86e1
--- /dev/null
+++ b/payapi/src/main/resources/templates/system/settlelog/index.html
@@ -0,0 +1,152 @@
+<div class="layui-card">
+ <div class="layui-card-header">
+ <h2 class="header-title">结算日志</h2>
+ <span class="layui-breadcrumb pull-right">
+ <a href="#">系统中心</a>
+ <a><cite>结算日志</cite></a>
+ </span>
+ </div>
+ <div class="layui-card-body">
+ <div class="layui-form toolbar">
+ 搜索:
+ <input id="search-settlelog-accdate" class="layui-input search-input" type="text" style="width: 150px;"
+ placeholder="输入执行日期查询"/> 
+ <select id="search-settlelog-status" class="layui-select search-input">
+ <option value="">--请选择状态--</option>
+ <option value="success">成功</option>
+ <option value="error">失败</option>
+ </select>
+ <button id="search-settlelog-search" class="layui-btn icon-btn" data-type="search"><i class="layui-icon"></i>搜索
+ </button>
+ <button id="search-settlelog-deal" class="layui-btn icon-btn layui-btn-normal" data-type="add"><i
+ class="layui-icon"></i>执行结算
+ </button>
+ <button id="search-settlelog-reset" class="layui-btn layui-btn-primary" data-type="reset"><i
+ class="layui-icon"></i>清 空
+ </button>
+ </div>
+ <table class="layui-table" id="settlementLogTable" lay-filter="settlementLogTable-filter"></table>
+ </div>
+</div>
+
+<script>
+ layui.use(['form', 'table', 'layer', 'admin', 'element', 'laydate'], function () {
+ var form = layui.form;
+ var table = layui.table;
+ var admin = layui.admin;
+ var laydate = layui.laydate;
+
+ form.render("select");
+ laydate.render({
+ elem: '#search-settlelog-accdate',
+ trigger: 'click'
+ });
+
+ // 渲染表格
+ table.render({
+ elem: '#settlementLogTable',
+ url: '[[@{/settlelog/datalist}]]',
+ page: true,
+ cols: [
+ [
+ {
+ field: 'starttime',
+ title: '开始时间',
+ width: 200,
+ align: 'center',
+ fixed: 'left',
+ sort: true,
+ templet: function (e) {
+ return admin.formatDate(e.starttime);
+ }
+ },
+ {
+ field: 'endtime',
+ title: '结束时间',
+ width: 200,
+ align: 'center',
+ fixed: 'left',
+ sort: true,
+ templet: function (e) {
+ return admin.formatDate(e.endtime);
+ }
+ },
+ {
+ field: 'errcode', title: '状态', width: 100, align: 'center', sort: true, templet: function (e) {
+ if (null == e.errcode) {
+ return '';
+ } else if ('0' == e.errcode) {
+ return '<span class="layui-badge layui-bg-green">成功</span>';
+ } else if('-99' == e.errcode){
+ return '<span class="layui-badge layui-bg-gray">无效</span>';
+ } else {
+ return '<span class="layui-badge">失败</span>';
+ }
+ }
+ },
+ {
+ align: 'center', title: '执行时间', width: 120, templet: function (e) {
+ if (null == e.endtime) {
+ return '-';
+ }
+ var seconds = moment(e.endtime, 'YYYYMMDDHHmmss').diff(moment(e.starttime, 'YYYYMMDDHHmmss'), 'seconds');
+ if (seconds > 0) {
+ var h = parseInt(seconds / 3600);
+ var m = parseInt((seconds - 3600 * h) / 60);
+ var s = seconds % 60;
+ var msg = '';
+ if (h > 0) {
+ msg = msg + h + '时';
+ }
+ if (m > 0) {
+ msg = msg + m + '分';
+ }
+ if (s > 0) {
+ msg = msg + s + '秒';
+ }
+ return msg;
+ } else {
+ return '0';
+ }
+ }
+ },
+ {field: 'errcode', title: '错误码', width: 100, align: 'center'},
+ {field: 'errmsg', title: '错误信息', align: 'left'}
+ ]
+ ]
+ });
+ // 搜索按钮点击事件
+ $('#search-settlelog-search').click(function () {
+ var accdate = $("#search-settlelog-accdate").val();
+ var status = $("#search-settlelog-status").val();
+ table.reload('settlementLogTable', {where: {accdate: accdate, status: status}, page: {curr: 1}});
+ });
+
+ $('#search-settlelog-deal').click(function () {
+ var token = $("meta[name='_csrf_token']").attr("value");
+ admin.go('[[@{/settlelog/dosettle}]]', {
+ _csrf: token
+ }, function (data) {
+ if (data.code === 200) {
+ layer.msg(data.msg, {icon: 1, time: 1000});
+ table.reload('settlementLogTable');
+ } else if (data.code === 401) {
+ layer.msg(data.msg, {icon: 2, time: 1500}, function () {
+ location.replace('[[@{/login}]]');
+ }, 1000);
+ } else {
+ layer.msg(data.msg, {icon: 2});
+ return;
+ }
+ }, function (err) {
+ admin.errorBack(err);
+ });
+ });
+
+ $('#search-settlelog-reset').click(function () {
+ $("#search-settlelog-accdate").val("");
+ $("#search-settlelog-status").val("");
+ form.render("select");
+ });
+ });
+</script>
\ No newline at end of file