wzp
2021-09-16 f73f7f06ed1cbdca4a1d7c127ca89829b6f2433c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
<%@ Page Language="C#"  masterpagefile="~/Main.master"  AutoEventWireup="true" CodeFile="GwStatisRefund.aspx.cs" Inherits="_GwStatisRefund" %>
 <asp:Content runat="server" ID="Content1" ContentPlaceHolderID="head">
    
    <script type="text/javascript">
        $(document).ready(function () {
            $(".input-daterange").datepicker({ keyboardNavigation: !1, forceParse: !1, autoclose: !0 });
            $(".action-return").hide();
 
            function loadPageList() {
                var spid = $("#spid").val();
                var begintime = $("#begintime").val();
                var endtime = $("#endtime").val();
                var statistype = $("#statistype").val();
                var statusunknown = $(".statusunknown").is(":checked") ? 1 : 0;
                var statisoption = 0;
                $(".statusoption").each(function () {
                    var me = $(this);
                    if (me.is(":checked")) {
                        $(".action-return").show();
                        statisoption += parseInt(me.val());
                    } else {
                        $(".action-return").hide();
                    }
 
                });
 
                $.post("GwStatisRefund.ashx", {
                    action: "loadStatisReturn",
                    spid: spid, statistype: statistype, statusunknown: statusunknown, statisoption: statisoption, begintime: begintime, endtime: endtime
                }, function (result) {
                    if (!result.OK)
                        mytek.alert(result.Message);
                    else {
                        $("#resultTable").html(result.Message);
                    }
                }, "json");
            }
 
            $(".action-query").on("click", function () {
                loadPageList();
            });
 
            $(document).on("click", "#checkAll", function () {
                $("input[name='checkbox']").prop("checked", $(this).is(":checked"));
            });
 
            $(document).on("click", ".action-return", function () {
                var title = "";
                var spid = "";
                var aptotal = "";
                var refund = "";
                var price = "";
                var txtfund = "";
                $("input[name='checkbox']:checkbox:checked").each(function () {
                    title = title + $(this).data("title") + ",";
                    spid = spid + $(this).data("spid") + ",";
                    aptotal = aptotal + $(this).data("aptotal") + ",";
                    refund = refund + $(this).data("refund") + ",";
                    price = price + $(this).data("price") + ",";
 
                    var t_this = $(this);
                    var list = $(t_this).parent().parent().find("td :input[type='text']");
                    $.each(list, function (i, obj) {
                        txtfund = txtfund + $(obj).val() + ",";
                    });
 
                });
 
                if (title == "") {
                    mytek.alert("请至少选中一个选项!");
                    return false;
                }
 
                title = title.substring(0, title.length - 1);
                spid = spid.substring(0, spid.length - 1);
                aptotal = aptotal.substring(0, aptotal.length - 1);
                refund = refund.substring(0, refund.length - 1);
                price = price.substring(0, price.length - 1);
                txtfund = txtfund.substring(0, txtfund.length - 1);
                mytek.confirm("你确定要返还吗?", "返还后将无法还原", function (b) {
                    if (b) {
                        $.ajax({
                            url: "GwStatisRefund.ashx",
                            type: "POST",
                            data: { action: "statisReturn", title: title, spid: spid, aptotal: aptotal, refund: refund, price: price, txtfund: txtfund },
                            success: function (result) {
                                if (result.OK) {
                                    mytek.alert(result.Message, result.OK, function () {
                                        loadPageList();
                                    });
                                } else {
                                    mytek.alert(result.Message, result.False);
                                }
                            }
                        });
                    }
                })
            })
        });
    </script>
 </asp:Content> 
<asp:Content runat="server" ID="Content2" ContentPlaceHolderID="title">系统账号管理</asp:Content> 
<asp:Content ID="Content3" ContentPlaceHolderID="content" runat="Server">
        
    <div class="searchCanvas form-inline">
        <div class="ibox">
            <div class="form-group ">
                <div class="input-group m-b">
                    <span class="input-group-addon">帐号</span>
                    <select name="spid" id="spid" class="form-control">
                        <%=this.GenerateSpIDOptions()%>
                    </select>
                </div>
            </div>
            <div class="form-group "  style="display: none">
                <div class="input-group m-b">
                    <span class="input-group-addon">报表类型</span>
                    <select name="statistype" id="statistype" class="form-control"  >
                        <option value='YYYY"年"MM"月"'selected="selected"><!--<%=(StatisType==@"YYYY""年""MM""月""" ? "selected" : "")%>-->
                            月报表</option>
                    </select>
                </div>
            </div>
            <div class="input-group m-b" style="margin-bottom: 0px;">
                <div class="input-daterange input-group" id="datepicker">
                    <div class="input-group date m-b">
                        <span class="input-group-addon">时间范围&nbsp;<i class="fa fa-calendar"></i></span>
                        <input type="text" class="input-sm form-control" name="begintime" id="begintime"
                            value="<%=this.StartTime.ToString("yyyy-MM-dd")%>" onchange="myRefundBeginTime(this)" />
                        <span class="input-group-addon">到</span>
                    </div>
                    <div class=" input-group date m-b" style="margin-left: -4px;">
                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
                        <input type="text" class="input-sm form-control" name="endtime" id="endtime" value="<%=this.EndTime.ToString("yyyy-MM-dd")%>"
                            onchange="myRefundEndTime(this)" />
                    </div>
                </div>
            </div>
            <div class="form-group "  style="display: none">
                <div class="input-group m-b">
                    <input type="checkbox" class="statusoption icheck-me" data-color="blue" data-skin="minimal"
                        id="chkSpID" checked="checked" disabled="true" name="StatisOption" value="4"/>账号<!-- value="4"代表SpID-->
                </div>
            </div>
            <div class="form-group ">
                <div class="input-group m-b">
                    <input type="checkbox" class="statusunknown icheck-me" data-color="blue" data-skin="minimal"
                        name="statusunknown"  <%__w.Write((this.SelectedOptions & Dao.StatisOption.SpID) == Dao.StatisOption.SpID ? "checked" : "");%> /><span style="color: #FF0000">不返未知</span>
                </div>
            </div>
            <div class="form-group ">
                <div class="input-group m-b">
                    <input type="button" value="查询" class="btn-primary btn action-query" />
                    <input type="button" class="btn btn-info action-return" value="返还" />
                </div>
            </div>
        </div>
    </div>
    <div class="table-responsive">
        <table class="table table-striped table-bordered table-hover" id="resultTable">
        </table>
    </div>
    <div>
        <h4>
            统计说明</h4>
        <ul>
            <li class="text-info">业务统计为非实时统计,由后台进程每小时统计一次。</li>
            <li>报表类型为月报表</li>
            <li>AP接收总量:客户提交到网关的计费总数 </li>
            <li>AP需返还量:AP未知 + AP转发失败 + AP未转发</li>
        </ul>
    </div>
    <script type="text/javascript">
        function myRefund(obj, apRefund, refund, reprice) {
            obj.value = obj.value.replace(/[^0-9]/g, '');
            if (obj.value == "" || obj.value == null || obj.value == undefined) {
                obj.value = parseInt(apRefund) - parseInt(refund);
            }
            if (obj.value > (parseInt(apRefund) - parseInt(refund))) {
                obj.value = parseInt(apRefund) - parseInt(refund);
                mytek.alert("本次返还数量大于总返还量");
            }
        }
 
        function myRefundBeginTime(obj) {
            var now = new Date(obj.value);
            var month = now.getMonth() + 1;
            obj.value = now.getFullYear() + '-' + month + '-01';
        }
 
        function myRefundEndTime(obj) {
            var now = new Date(obj.value);
            var month = now.getMonth() + 1;
            var day = new Date(now.getFullYear(), month, 0);
            obj.value = now.getFullYear() + '-' + month + '-' + day.getDate();
        }
    </script>
 
        <div id="mask" class="mask">
            <span></span>
            <img src="img/spinning-circles.svg" alt="载入中..." /></div>
    </div>
   </asp:Content>