From ce222173a9f29ca8291530f9da7ba5d9ecacbe39 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期五, 06 一月 2023 09:49:24 +0800
Subject: [PATCH] 提交
---
zhengcaioa/Services/IntentionCustomerService.cs | 267 ++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 242 insertions(+), 25 deletions(-)
diff --git a/zhengcaioa/Services/IntentionCustomerService.cs b/zhengcaioa/Services/IntentionCustomerService.cs
index c4d47ee..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;
@@ -26,25 +27,65 @@
ResultEntity resultEntity = new ResultEntity();
try
{
- var checkUserSn = _context.IntentionCustomers.Where(x => x.Name == intentionCustomerDTO.Name && x.RecStatus == "A" && x.Id != intentionCustomerDTO.Id).FirstOrDefault();
- if (checkUserSn != null && (string.IsNullOrWhiteSpace(intentionCustomerDTO.Id) || (!string.IsNullOrWhiteSpace(intentionCustomerDTO.Id) && checkUserSn.Id != intentionCustomerDTO.Id)))
- {
- resultEntity.Result = false;
- resultEntity.Message = "瀹㈡埛鍗曚綅閲嶅";
- return resultEntity;
- }
+ var checkUserSn = _context.IntentionCustomers.Where(x => x.Name == intentionCustomerDTO.Name && x.RecStatus == "A" && x.Id != intentionCustomerDTO.Id).FirstOrDefault();
+ if (checkUserSn != null && (string.IsNullOrWhiteSpace(intentionCustomerDTO.Id) || (!string.IsNullOrWhiteSpace(intentionCustomerDTO.Id) && checkUserSn.Id != intentionCustomerDTO.Id)))
+ {
+ resultEntity.Result = false;
+ resultEntity.Message = "瀹㈡埛鍗曚綅閲嶅";
+ return resultEntity;
+ }
- var intentionCustomer = _mapper.Map<IntentionCustomer>(intentionCustomerDTO);
+ var checkcooper = _context.CooperatecustomCustomers.Where(x => x.Name == intentionCustomerDTO.Name && x.RecStatus == "A" ).FirstOrDefault();
+ if (checkcooper != null )
+ {
+ resultEntity.Result = false;
+ resultEntity.Message = "宸插瓨鍦ㄥ悎浣滃鎴�";
+ return resultEntity;
+ }
+
+
+ var intentionCustomer = _mapper.Map<IntentionCustomer>(intentionCustomerDTO);
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;
@@ -81,10 +122,30 @@
updateproject.Modifier = intentionCustomer.Modifier;
updateproject.Modifytime = intentionCustomer.Modifytime;
- }
+ updateproject.Yixiangtime = intentionCustomer.Yixiangtime;
+ updateproject.Yixiang = intentionCustomer.Yixiang;
+ updateproject.Dianxiaozhuanyuan = intentionCustomer.Dianxiaozhuanyuan;
+ updateproject.Zuijinzhuizongtime = intentionCustomer.Zuijinzhuizongtime;
+
+ updateproject.Weixin = intentionCustomer.Weixin;
+ updateproject.Shifoutianjiaweixin = intentionCustomer.Shifoutianjiaweixin;
+ 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)
@@ -112,6 +173,23 @@
return intentionCustomerDTO;
}
+ public IntentionCustomerDTO GetByName(string name)
+ {
+
+ var entity = _context.IntentionCustomers.Where(x=>x.Name == name).FirstOrDefault();
+
+ if (entity==null || entity.RecStatus != "A")
+ {
+ entity = new IntentionCustomer();
+ }
+
+ var intentionCustomerDTO = _mapper.Map<IntentionCustomerDTO>(entity);
+
+
+ return intentionCustomerDTO;
+ }
+
+
public ResultDataEntity<IntentionCustomerDTO> SearchByPaging(IntentionCustomerDTOSearch searchEntity)
{
@@ -149,10 +227,25 @@
DateTime.TryParse(Createtimes[1], out Createtimeend);
Createtimeend = Createtimeend.AddDays(1);
}
-
+ DateTime Yixiangtimestart = DateTime.Now;
+ DateTime Yixiangtimeend = DateTime.Now;
+ if (!string.IsNullOrWhiteSpace(searchEntity.Yixiangtime))
+ {
+ string[] Yixiangtimes = searchEntity.Yixiangtime.Split("|");
+ DateTime.TryParse(Yixiangtimes[0], out Yixiangtimestart);
+ DateTime.TryParse(Yixiangtimes[1], out Yixiangtimeend);
+ // Yixiangtimeend = Yixiangtimeend.AddDays(1);
+ }
- var query = (from a in _context.IntentionCustomers
- join b in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khly")
+ 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
join c in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl")
on a.Hyfl equals c.CodeSn
@@ -162,23 +255,47 @@
on a.Ywjl equals e.Id
into esss
from abi in esss.DefaultIfEmpty()
- join f in _context.Areas on a.Sheng equals f.CodeId
+
+ join f in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" )
+ on a.Dianxiaozhuanyuan equals f.Id
+ into fsss
+ from fff in fsss.DefaultIfEmpty()
+
+ join f in _context.Areas on a.Sheng equals f.CodeId
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())
&& (string.IsNullOrWhiteSpace(searchEntity.Creater) || a.Creater == searchEntity.Creater.Trim())
- select new IntentionCustomerDTO
+ && (string.IsNullOrWhiteSpace(searchEntity.Dianxiaozhuanyuan) || a.Dianxiaozhuanyuan == searchEntity.Dianxiaozhuanyuan.Trim())
+
+ && (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
{
Id = a.Id,
Sheng = a.Sheng,
@@ -218,20 +335,82 @@
ShrTel = a.ShrTel,
ShrAddress = a.ShrAddress,
Remark = a.Remark,
-
+ Weixin = a.Weixin,
+ Shifoutianjiaweixin = a.Shifoutianjiaweixin,
+ Weixiner = a.Weixiner,
+ Weixintime = a.Weixintime,
RecStatus = a.RecStatus,
Modifier = a.Modifier,
Modifytime = a.Modifytime,
CreatetimeName = a.Createtime.ToString("yyyy-MM-dd"),
- }
- ).OrderByDescending(x => x.Modifytime).ToList();
+ Customertype = "妗f瀹㈡埛",
+ Yixiangtime = a.Yixiangtime,
+ YixiangtimeName = a.Yixiangtime.HasValue? a.Yixiangtime.Value.ToString("yyyy-MM-dd"):"",
+ Yixiang = a.Yixiang,
+ Dianxiaozhuanyuan = a.Dianxiaozhuanyuan,
+ DianxiaozhuanyuanName = fff.UserName,
+ Zuijinzhuizongtime = a.Zuijinzhuizongtime,
+ ZuijinzhuizongtimeName = a.Zuijinzhuizongtime.HasValue ? a.Zuijinzhuizongtime.Value.ToString("yyyy-MM-dd") : "",
+ Visittimes = lll.Visittimes,
+ }
+ );
+ if (!string.IsNullOrWhiteSpace(searchEntity.Shifouweixin))
+ {
+ query = query.Where( a=>a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim());
+ }
+ 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 (searchEntity.totalrows == 0)
+
+ }
+
+ 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;
}
@@ -268,9 +447,16 @@
/// <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;
@@ -296,5 +482,36 @@
return result;
}
+
+ public List<IntentionCustomerDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax)
+ {
+
+
+ var listPosition = _context.IntentionCustomers.Where(r => r.RecStatus == "A" && r.Creater == userid && r.Createtime >= datemin && r.Createtime < datemax).ToList();
+
+ var list = _mapper.Map<List<IntentionCustomerDTO>>(listPosition);
+ return list;
+ }
+
+ public List<IntentionCustomerDTO> GetListsalaryweixin(string userid, DateTime datemin, DateTime datemax)
+ {
+
+
+ var listPosition = _context.IntentionCustomers.Where(r => r.RecStatus == "A" && r.Weixiner == userid && r.Weixintime >= datemin && r.Weixintime < datemax).ToList();
+
+ var list = _mapper.Map<List<IntentionCustomerDTO>>(listPosition);
+ return list;
+ }
+
+ public List<IntentionCustomerDTO> GetListsalaryyixiang(string userid, DateTime datemin, DateTime datemax)
+ {
+
+
+ var listPosition = _context.IntentionCustomers.Where(r => r.RecStatus == "A" && r.Dianxiaozhuanyuan == userid && r.Yixiangtime >= datemin && r.Yixiangtime < datemax).ToList();
+
+ var list = _mapper.Map<List<IntentionCustomerDTO>>(listPosition);
+ return list;
+ }
+
}
}
--
Gitblit v1.9.1