Parcourir la source

完成,待测试

DuGuYang il y a 3 ans
Parent
commit
9d7d2ecbb4

+ 67 - 1
Areas/Admin/Controllers/MainServer/ToChargeBackRecordController.cs

@@ -7,6 +7,7 @@ using System.Web;
 using System.Collections.Generic;
 using System.Diagnostics;
 using System.Linq;
+using System.Data;
 using System.Threading.Tasks;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.AspNetCore.Http;
@@ -112,8 +113,22 @@ namespace MySystem.Areas.Admin.Controllers
                 if (Status == 1) dic["StatusName"] = "已扣款";
                 if (Status == 2) dic["StatusName"] = "已退还";
                 if (Status == 3) dic["StatusName"] = "暂停扣款";
-
             }
+            Dictionary<string, object> other = new Dictionary<string, object>();
+            string SuccessAmount = "0.00";//已扣款总金额
+            string WaitAmount = "0.00";//待扣款总金额
+            string StopAmount = "0.00";//暂停扣款总金额
+            DataTable dt = OtherMySqlConn.dtable("SELECT SUM(if(Status=1,ChargeAmount,0)),SUM(if(Status=0,ChargeAmount,0)),SUM(if(Status=3,ChargeAmount,0)) FROM ToChargeBackRecord WHERE 1=1 " + condition);
+            if (dt.Rows.Count > 0)
+            {
+                SuccessAmount = decimal.Parse(function.CheckNum(dt.Rows[0][0].ToString())).ToString("f2");
+                WaitAmount = decimal.Parse(function.CheckNum(dt.Rows[0][1].ToString())).ToString("f2");
+                StopAmount = decimal.Parse(function.CheckNum(dt.Rows[0][2].ToString())).ToString("f2");
+            }
+            other.Add("SuccessAmount", SuccessAmount);
+            other.Add("WaitAmount", WaitAmount);
+            other.Add("StopAmount", StopAmount);
+            obj.Add("other", other);
             return Json(obj);
         }
 
@@ -653,6 +668,57 @@ namespace MySystem.Areas.Admin.Controllers
         #endregion
 
 
+
+        #region 快捷导出Excel
+        public IActionResult QuickExportExcel(string right)
+        {
+            ViewBag.RightInfo = RightInfo;
+            ViewBag.right = right;
+
+            return View();
+        }
+
+        [HttpPost]
+        public string QuickExportExcelDo(string UserIdMakerCode, string PosSn, string CreateDateData, string ChargeTypeSelect, string StatusSelect)
+        {
+
+            string SqlString = " where 1=1 and a.Status>-1";
+            if (!string.IsNullOrEmpty(CreateDateData))
+            {
+                string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
+                string start = datelist[0];
+                string end = datelist[1];
+                SqlString += " and a.CreateDate>='" + start + " 00:00:00' and a.CreateDate<='" + end + " 23:59:59'";
+            }
+            //创客编号
+            if (!string.IsNullOrEmpty(UserIdMakerCode))
+            {
+                SqlString += " and a.UserId in (select UserId from UserForMakerCode where MakerCode='" + UserIdMakerCode + "')";
+            }
+            if (!string.IsNullOrEmpty(PosSn))
+            {
+                SqlString += " and a.Remark=" + PosSn;
+            }
+            //待扣类型
+            if (!string.IsNullOrEmpty(ChargeTypeSelect))
+            {
+                SqlString += " and a.ChargeType=" + ChargeTypeSelect;
+            }
+            //扣款状态
+            if (!string.IsNullOrEmpty(StatusSelect))
+            {
+                SqlString += " and a.Status=" + StatusSelect;
+            }
+            var Sql = "SELECT b.MakerCode '创客编号',b.RealName '创客真实姓名',b.Mobile '手机号',DATE_FORMAT(a.CreateDate,'%Y-%m-%d %H:%i:%s') '创建时间',a.ChargeAmount '扣款金额',(CASE WHEN a.ChargeType=124 THEN '过期机具扣款' WHEN a.ChargeType=1 THEN '创客预扣款' WHEN a.ChargeType=2 THEN '分期预扣款' ELSE '' end) '扣款类型',DATE_FORMAT(a.UpdateDate,'%Y-%m-%d %H:%i:%s') '扣款/更新时间',(CASE WHEN a.`Status`=0 THEN '待扣款' WHEN a.`Status`=1 THEN '已扣款' WHEN a.`Status`=2 THEN '已退还' WHEN a.`Status`=3 THEN '暂停扣款'  ELSE '' end) '扣款状态',a.Remark '机具Sn',a.SeoDescription '备注',a.SeoTitle '操作人' FROM ToChargeBackRecord a LEFT JOIN Users b ON a.UserId=b.Id " + SqlString + "";
+            var sysAdmin = bsdb.SysAdmin.FirstOrDefault(m => m.AdminName == SysUserName && m.Status > -1);
+            var FileName = "创客预扣款记录" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+            string SendData = "{\"Operater\":\"" + sysAdmin.Id + "\",\"SqlString\":\"" + Sql + "\",\"FileName\":\"" + FileName + "\",\"MaxCount\":\"0\"}";
+            RedisDbconn.Instance.AddList("ExportQueue", SendData);
+            return "success";
+        }
+        #endregion
+
+
         #region 分期扣款
 
         public IActionResult ChangeInfoDo(string right)

+ 3 - 0
Areas/Admin/Views/MainServer/ToChargeBackRecord/Index.cshtml

@@ -130,6 +130,9 @@
                         class="layui-icon layui-icon-upload layuiadmin-button-btn"></i>机具回收确认退还</button>
                         } *@
                 </div>
+                 <blockquote class="layui-elem-quote layui-text">
+                    已扣款总金额(元):<span style="color: #f00;" id="SuccessAmount">0.00</span> | 待扣款总金额(元):<span style="color: #f00;" id="WaitAmount">0.00</span> | 暂停扣款总金额(元):<span style="color: #f00;" id="StopAmount">0.00</span>
+                </blockquote>
 
                 <table id="LAY-list-manage" lay-filter="LAY-list-manage"></table>
                 <script type="text/html" id="table-list-tools">

+ 40 - 12
wwwroot/layuiadmin/modules_main/ToChargeBackRecord_Admin.js

@@ -170,6 +170,9 @@ layui.config({
         , height: 'full-220'
         , text: '对不起,加载出现异常!'
         , done: function (res, curr, count) {
+            $("#SuccessAmount").text(res.other.SuccessAmount);
+            $("#WaitAmount").text(res.other.WaitAmount);
+            $("#StopAmount").text(res.other.StopAmount);
             $(".layui-none").text("无数据");
         }
     });
@@ -194,7 +197,7 @@ layui.config({
                     }
                 });
             });
-        }else if (obj.event === 'Break') {
+        } else if (obj.event === 'Break') {
             var index = layer.confirm('确定要暂停扣款吗?', function (index) {
                 $.ajax({
                     type: "POST",
@@ -211,7 +214,7 @@ layui.config({
                     }
                 });
             });
-        }else if (obj.event === 'Start') {
+        } else if (obj.event === 'Start') {
             var index = layer.confirm('确定要恢复扣款吗?', function (index) {
                 $.ajax({
                     type: "POST",
@@ -228,7 +231,7 @@ layui.config({
                     }
                 });
             });
-        }else if (obj.event === 'edit') {
+        } else if (obj.event === 'edit') {
             var tr = $(obj.tr);
             var perContent = layer.open({
                 type: 2
@@ -452,15 +455,40 @@ layui.config({
             $(".layuiadmin-card-header-auto select").each(function (i) {
                 userdata += $(this).attr('name') + '=' + encodeURIComponent($(this).val()) + '&';
             });
-            $.ajax({
-                type: "GET",
-                url: "/Admin/ToChargeBackRecord/ExportExcel?r=" + Math.random(1),
-                data: userdata,
-                dataType: "json",
-                success: function (data) {
-                    data.Obj.unshift(data.Fields);
-                    excel.exportExcel(data.Obj, data.Info, 'xlsx');
-                }
+            // $.ajax({
+            //     type: "GET",
+            //     url: "/Admin/ToChargeBackRecord/ExportExcel?r=" + Math.random(1),
+            //     data: userdata,
+            //     dataType: "json",
+            //     success: function (data) {
+            //         data.Obj.unshift(data.Fields);
+            //         excel.exportExcel(data.Obj, data.Info, 'xlsx');
+            //     }
+            // });
+            var index = layer.confirm('确定导出吗?', function (index) {
+                var indexs = layer.load(1, {
+                    shade: [0.5, '#000']
+                });
+                $.ajax({
+                    type: "POST",
+                    url: "/Admin/ToChargeBackRecord/QuickExportExcelDo?r=" + Math.random(1),
+                    data: userdata,
+                    dataType: "text",
+                    success: function (data) {
+                        layer.close(index); //关闭弹层
+                        if (data == "success") {
+                            layer.close(indexs); //关闭弹层
+                            layer.msg('导出成功,请到我的下载中点击下载文件', {
+                                time: 1000
+                            }, function () {
+                                window.location.reload();
+                            });
+                        } else {
+                            layer.close(indexs); //关闭弹层
+                            layer.msg(data);
+                        }
+                    }
+                });
             });
         }
         , Open: function () {