Просмотр исходного кода

Merge branch 'feature-dgy-查询商户达标明细调整' into DuGuYang

DuGuYang 3 лет назад
Родитель
Сommit
e5a99e42cb
1 измененных файлов с 63 добавлено и 17 удалено
  1. 63 17
      Areas/Admin/Controllers/MainServer/SysToolsController.cs

+ 63 - 17
Areas/Admin/Controllers/MainServer/SysToolsController.cs

@@ -4731,33 +4731,79 @@ namespace MySystem.Areas.Admin.Controllers
                 var mer = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PosMerchantInfo();
                 if (mer.Id > 0)
                 {
+                    var info = "";
+                    var IsFirst = "";//是否首台机具
+                    if (function.CheckNull(mer.MerIdcardNo).Contains("*") || function.CheckNull(mer.MerchantMobile).Contains("*") || function.CheckNull(mer.MerRealName).Contains("*") || string.IsNullOrEmpty(mer.MerRealName))
+                    {
+                        info = "机具" + PosSn + "所对应的商户未认证";
+                    }
+                    var merchantId = db.PosMerchantInfo.Where(m => m.MerIdcardNo == mer.MerIdcardNo && m.MerRealName == mer.MerRealName && m.MerchantMobile == mer.MerchantMobile).Min(m => m.Id);
+                    if (mer.Id <= merchantId)
+                    {
+                        IsFirst = "首台";
+                    }
+                    else
+                    {
+                        IsFirst = "非首台";
+                    }
+                    var depositRreturn = db.MerchantDepositReturns.Where(m => m.MerchantId == mer.Id).OrderByDescending(m => m.CreateDate).FirstOrDefault() ?? new MerchantDepositReturns();
                     var IsOk = "";//是否达标
                     var timeInfo = "";
-                    if (mer.StandardMonths == 10)
+                    if (mer.StandardStatus == -2)
                     {
-                        IsOk = "已达标";
+                        IsOk = "人工已退";
                     }
                     else
                     {
-                        IsOk = "未达标";
+                        if (mer.StandardMonths < 10)
+                        {
+                            IsOk = "未达标";
+                        }
+                        if (mer.StandardMonths == 10)
+                        {
+                            IsOk = "已达标";
+                        }
+                        if (mer.StandardMonths >= 0 && mer.StandardStatus == -1)
+                        {
+                            IsOk = "达标失败";
+                        }
+                        if (mer.StandardStatus == 1 && depositRreturn.Status == 1)
+                        {
+                            IsOk = "已返还";
+                        }
+                        if (mer.StandardStatus == 101)
+                        {
+                            IsOk = "待领取达标奖";
+                        }
+                        if (mer.StandardStatus == 1 && depositRreturn.Status == 0)
+                        {
+                            IsOk = "达标奖发放中";
+                        }
                     }
+                    result += info + "\n";
+                    result += IsFirst + "\n";
                     result += IsOk + "\n";
-                    result += "开机时间:" + DateTime.Parse(pos.BindingTime.ToString()).ToString("yyyy-MM-dd HH:mm:ss") + "\n";
-                    result += "激活时间:" + DateTime.Parse(pos.ActivationTime.ToString()).ToString("yyyy-MM-dd HH:mm:ss") + "\n";
+                    var BindingTime = pos.BindingTime == null ? "" : pos.BindingTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
+                    var ActivationTime = pos.ActivationTime == null ? "" : pos.BindingTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
+                    result += "开机时间:" + BindingTime + "\n";
+                    result += "激活时间:" + ActivationTime + "\n";
                     result += "商户姓名:" + mer.MerRealName + "\n";
-                    result += "明细:\n";
-                    for (int i = 0; i < 12; i++)
+                    if (pos.ActivationTime != null)
                     {
-                        var time = DateTime.Parse(pos.ActivationTime.ToString()).AddMonths(i + 1).ToString("yyyyMM");//达标计算开始时间
-                        timeInfo += "," + time;
-                    }
-                    timeInfo = timeInfo + ",";
-                    var merTradeInfo = db.PosMerchantTradeSummay.Where(m => m.MerchantId == mer.Id && timeInfo.Contains("," + m.TradeMonth + ",")).ToList();
-                    string[] month = timeInfo.TrimStart(',').TrimEnd(',').Split(',');
-                    foreach (var item in month)
-                    {
-                        var tradeAmount = merTradeInfo.Where(m => m.TradeMonth == item).Sum(m => m.TradeAmount);
-                        result += item + "交易额:" + tradeAmount + "\n";
+                        result += "明细:\n";
+                        for (int i = 0; i < 12; i++)
+                        {
+                            var time = pos.ActivationTime.Value.AddMonths(i + 1).ToString("yyyyMM");//达标计算开始时间
+                            timeInfo += "," + time;
+                        }
+                        timeInfo = timeInfo + ",";
+                        var merTradeInfo = db.PosMerchantTradeSummay.Where(m => m.MerchantId == mer.Id && timeInfo.Contains("," + m.TradeMonth + ",")).ToList();
+                        string[] month = timeInfo.TrimStart(',').TrimEnd(',').Split(',');
+                        foreach (var item in month)
+                        {
+                            var tradeAmount = merTradeInfo.Where(m => m.TradeMonth == item).Sum(m => m.TradeAmount);
+                            result += item + "交易额:" + tradeAmount + "\n";
+                        }
                     }
                 }
                 else