Explorar o código

导出功能时间筛选修复

DuGuYang %!s(int64=3) %!d(string=hai) anos
pai
achega
c62d941ae8

+ 20 - 2
Areas/Admin/Controllers/MainServer/UserAccountRecordController.cs

@@ -412,13 +412,13 @@ namespace MySystem.Areas.Admin.Controllers
         /// 导出Excel
         /// </summary>
         /// <returns></returns>
-        public JsonResult ExportExcel(UserAccountRecord data, string MakerCode, string RealName, int TopUserId, int UserId)
+        public JsonResult ExportExcel(UserAccountRecord data, string MakerCode, string RealName, string CreateDateData, int TopUserId, int UserId)
         {
             Dictionary<string, string> Fields = new Dictionary<string, string>();
             Fields.Add("ChangeType", "1"); //交易类型
             Fields.Add("ProductType", "1"); //产品类型
             Fields.Add("TransRecordNo", "3"); //交易流水编号
-            Fields.Add("CreateDate", "3"); //交易时间
+            // Fields.Add("CreateDate", "3"); //交易时间
 
             string condition = " and Status>-1";
             //创客编号
@@ -440,6 +440,24 @@ namespace MySystem.Areas.Admin.Controllers
             {
                 condition += " and UserId=" + UserId;
             }
+            if (!string.IsNullOrEmpty(CreateDateData))
+            {
+                string[] datelist = CreateDateData.Split(new string[] { " - " }, StringSplitOptions.None);
+                var start = Convert.ToDateTime(Convert.ToDateTime(datelist[0]).ToString("yyyy-MM-dd"));
+                var end = Convert.ToDateTime(Convert.ToDateTime(datelist[1]).ToString("yyyy-MM-dd") + " 23:59:59");
+                var check = db.UserAccountRecord.Any(m => m.CreateDate >= start);
+                var checks = db.UserAccountRecord.Any(m => m.CreateDate <= end);
+                if (check)
+                {
+                    var sId = db.UserAccountRecord.Where(m => m.CreateDate >= start).Min(m => m.Id);
+                    condition += "  and Id >=" + sId;
+                }
+                if (checks)
+                {
+                    var eId = db.UserAccountRecord.Where(m => m.CreateDate <= end).Max(m => m.Id);
+                    condition += " and Id <=" + eId;
+                }
+            }
 
             Dictionary<string, object> obj = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).IndexData("UserAccountRecord", Fields, "Id desc", "0", 1, 20000, condition, "UserId,ProductType,TransRecordNo,ChangeType,ChangeAmount,Remark,BeforeTotalAmount,AfterTotalAmount,BeforeFreezeAmount,AfterFreezeAmount,BeforeBalanceAmount,AfterBalanceAmount,CreateDate", false);
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;