From 5421f9a6e5e2b28cc32aa8aa6dec9becd0c1eb3c Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期三, 04 一月 2023 10:19:57 +0800
Subject: [PATCH] 业务经理意向和合作客户只能1000,90天意向不转合作就制空业务经理,查询没有业务经理的档案客户和合作客户
---
zhengcaioa/Services/IntentionCustomerService.cs | 140 +++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 129 insertions(+), 11 deletions(-)
diff --git a/zhengcaioa/Services/IntentionCustomerService.cs b/zhengcaioa/Services/IntentionCustomerService.cs
index 3b528fb..8371d13 100644
--- a/zhengcaioa/Services/IntentionCustomerService.cs
+++ b/zhengcaioa/Services/IntentionCustomerService.cs
@@ -3,6 +3,7 @@
using System.Linq;
using System.Text;
using AutoMapper;
+using CommonToolsCore;
using DTO;
using IServices;
using Microsoft.AspNetCore.Mvc.Rendering;
@@ -48,12 +49,43 @@
if (String.IsNullOrEmpty(intentionCustomer.Id))
{
+ if (!string.IsNullOrEmpty(intentionCustomer.Ywjl))
+ {
+ intentionCustomer.Ywjltime = DateTime.Now;
+ var Cooper = _context.CooperatecustomCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == intentionCustomer.Ywjl);
+ var Inten = _context.IntentionCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == intentionCustomer.Ywjl);
+ if(Cooper+ Inten >= 1000)
+ {
+ resultEntity.Result = false;
+ resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�1000锛�";
+ return resultEntity;
+ }
+ }
+
intentionCustomer.Id = Guid.NewGuid().ToString();
_context.IntentionCustomers.Add(intentionCustomer);
}
else
{
- var updateproject = _context.IntentionCustomers.Find(intentionCustomer.Id);
+ var updateproject = _context.IntentionCustomers.Find(intentionCustomer.Id);
+ if (!string.IsNullOrEmpty(intentionCustomer.Ywjl) && (string.IsNullOrEmpty(updateproject.Ywjl) || !string.IsNullOrEmpty(updateproject.Ywjl) && intentionCustomer.Ywjl!= updateproject.Ywjl ))
+ {
+ updateproject.Ywjltime = DateTime.Now;
+ var Cooper = _context.CooperatecustomCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == intentionCustomer.Ywjl);
+ var Inten = _context.IntentionCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == intentionCustomer.Ywjl);
+ if (Cooper + Inten >= 1000)
+ {
+ resultEntity.Result = false;
+ resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�1000锛�";
+ return resultEntity;
+ }
+ }
+
+ if (string.IsNullOrEmpty(intentionCustomer.Ywjl)){
+ updateproject.Ywjltime = null;
+ }
+
+
updateproject.Sheng = intentionCustomer.Sheng;
updateproject.City = intentionCustomer.City;
@@ -100,10 +132,20 @@
updateproject.Weixiner = intentionCustomer.Weixiner;
updateproject.Weixintime = intentionCustomer.Weixintime;
+ if (!string.IsNullOrEmpty(intentionCustomer.HuiyuanId))
+ {
+ updateproject.HuiyuanId = intentionCustomer.HuiyuanId;
+ }
}
_context.SaveChanges();
- resultEntity.ReturnID = intentionCustomer.Id;
+
+ var listPosition = _context.IntentionCustomers.Where(r => r.RecStatus == "A").ToList();
+
+ var intentionCustomerDTOs = _mapper.Map<List<IntentionCustomerDTO>>(listPosition);
+ CacheHelperNetCore.CacheInsert("intentionCustomerDTOs", intentionCustomerDTOs);
+
+ resultEntity.ReturnID = intentionCustomer.Id;
resultEntity.Result = true;
}
catch (Exception ex)
@@ -195,6 +237,13 @@
// Yixiangtimeend = Yixiangtimeend.AddDays(1);
}
+ int aaaa = 0;
+ if (!string.IsNullOrWhiteSpace(searchEntity.Visittimes))
+ {
+ int.TryParse(searchEntity.Visittimes, out aaaa);
+ }
+
+
var query = (from a in _context.IntentionCustomers
join b in listCode.Where(x => x.CodeTable == "IntentionCustomer" && x.CodeField == "khly")
on a.Khly equals b.CodeSn
@@ -216,13 +265,23 @@
join g in _context.Areas on a.City equals g.CodeId
join h in _context.Areas on a.AreaId equals h.CodeId
- where a.RecStatus == "A"
+
+ join l in _context.IntentionVisits.Where(x => x.RecStatus == "A").GroupBy(q => new { q.Viscustomer }).Select(q => new
+ {
+ Viscustomer = q.Key.Viscustomer,
+ Visittimes = q.Count(),
+ })
+ on a.Id equals l.Viscustomer
+ into lsss
+ from lll in lsss.DefaultIfEmpty()
+
+ where a.RecStatus == "A"
&& (string.IsNullOrWhiteSpace(searchEntity.Createtime) || (a.Createtime >= Createtimestart && a.Createtime <= Createtimeend))
&& (string.IsNullOrWhiteSpace(searchEntity.Name) || a.Name.Contains(searchEntity.Name.Trim()))
&& (string.IsNullOrWhiteSpace(searchEntity.Khly) || a.Khly == searchEntity.Khly.Trim())
&& (string.IsNullOrWhiteSpace(searchEntity.Hyfl) || a.Hyfl == searchEntity.Hyfl.Trim())
&& (string.IsNullOrWhiteSpace(searchEntity.Khlx) || a.Khlx == searchEntity.Khlx.Trim())
- && (string.IsNullOrWhiteSpace(searchEntity.Ywjl) || a.Ywjl == searchEntity.Ywjl.Trim())
+ //&& (string.IsNullOrWhiteSpace(searchEntity.Ywjl) || a.Ywjl == searchEntity.Ywjl.Trim())
&& (string.IsNullOrWhiteSpace(searchEntity.Sheng) || a.Sheng == searchEntity.Sheng.Trim())
&& (string.IsNullOrWhiteSpace(searchEntity.City) || a.City == searchEntity.City.Trim())
&& (string.IsNullOrWhiteSpace(searchEntity.AreaId) || a.AreaId == searchEntity.AreaId.Trim())
@@ -232,6 +291,9 @@
&& (string.IsNullOrWhiteSpace(searchEntity.Yixiangtime) || (a.Yixiangtime >= Yixiangtimestart && a.Yixiangtime <= Yixiangtimeend))
&& (string.IsNullOrWhiteSpace(searchEntity.Yixiang) || ( a.Yixiang == searchEntity.Yixiang.Trim() && (a.Ywjl == null || a.Ywjl == searchEntity.YwjlYx) ))
+ && (aaaa <= 0 || lll.Visittimes >= aaaa)
+
+
//&& (string.IsNullOrWhiteSpace(searchEntity.Shifouweixin) || a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim())
select new IntentionCustomerDTO
{
@@ -281,6 +343,7 @@
Modifier = a.Modifier,
Modifytime = a.Modifytime,
CreatetimeName = a.Createtime.ToString("yyyy-MM-dd"),
+ Customertype = "妗f瀹㈡埛",
Yixiangtime = a.Yixiangtime,
YixiangtimeName = a.Yixiangtime.HasValue? a.Yixiangtime.Value.ToString("yyyy-MM-dd"):"",
Yixiang = a.Yixiang,
@@ -288,18 +351,66 @@
DianxiaozhuanyuanName = fff.UserName,
Zuijinzhuizongtime = a.Zuijinzhuizongtime,
ZuijinzhuizongtimeName = a.Zuijinzhuizongtime.HasValue ? a.Zuijinzhuizongtime.Value.ToString("yyyy-MM-dd") : "",
- }
- ).OrderByDescending(x => x.Modifytime).ToList();
+ Visittimes = lll.Visittimes,
+ }
+ );
if (!string.IsNullOrWhiteSpace(searchEntity.Shifouweixin))
{
- query = query.Where( a=>a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim()).ToList();
+ query = query.Where( a=>a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim());
}
- //if (searchEntity.totalrows == 0)
+ if (!string.IsNullOrWhiteSpace(searchEntity.Ywjl))
+ {
+ if(searchEntity.Ywjl != "11111")
+ {
+ query = query.Where(a => a.Ywjl == searchEntity.Ywjl.Trim());
+ }else
+ {
+ query = query.Where(a => a.Ywjl == null );
+ }
+
+
+ }
+
+ if (!string.IsNullOrWhiteSpace(searchEntity.ShifouDianhua))
+ {
+ if (searchEntity.ShifouDianhua != "A")
+ {
+ query = query.Where(a => a.Tel == null || a.Tel == "");
+ }
+ else
+ {
+ query = query.Where(a => a.Tel != null && a.Tel != "");
+ }
+
+ }
+ if (!string.IsNullOrWhiteSpace(searchEntity.Visittimes))
+ {
+ if (searchEntity.ShifouDianhua != "A")
+ {
+ query = query.Where(a => a.Tel == null || a.Tel == "");
+ }
+ else
+ {
+ query = query.Where(a => a.Tel != null && a.Tel != "");
+ }
+
+ }
+
+
+ //if (searchEntity.totalrows == 0)
searchEntity.totalrows = query.Count();
- var lianlist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
- data.LoadData(searchEntity, lianlist);
+ var lianlist = query.OrderByDescending(x => x.Modifytime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+
+
+ //foreach (var intentionCustomerDTO in lianlist)
+ //{
+ // intentionCustomerDTO.Visittimes = _context.IntentionVisits.Count(x => x.RecStatus == "A" && x.Viscustomer == intentionCustomerDTO.Id);
+ //}
+
+
+ data.LoadData(searchEntity, lianlist);
return data;
}
@@ -336,10 +447,17 @@
/// <returns></returns>
public List<IntentionCustomerDTO> GetList()
{
-
+ List<IntentionCustomerDTO> intentionCustomerDTOs = (List<IntentionCustomerDTO>)CacheHelperNetCore.CacheValue("intentionCustomerDTOs");
+ if (intentionCustomerDTOs != null && intentionCustomerDTOs.Count > 0)
+ {
+ return intentionCustomerDTOs;
+ }
var listPosition = _context.IntentionCustomers.Where(r => r.RecStatus == "A").ToList();
+ intentionCustomerDTOs = _mapper.Map<List<IntentionCustomerDTO>>(listPosition);
+ CacheHelperNetCore.CacheInsert("intentionCustomerDTOs", intentionCustomerDTOs);
+
var list = _mapper.Map<List<IntentionCustomerDTO>>(listPosition);
return list;
}
--
Gitblit v1.9.1