From 67a0042c5f29e4bb0e0b82f6190f2bc51480b45c Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期二, 28 二月 2023 13:25:09 +0800
Subject: [PATCH] 工资绩效改版
---
zhengcaioa/Services/CooperatecustomCustomerService.cs | 357 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 338 insertions(+), 19 deletions(-)
diff --git a/zhengcaioa/Services/CooperatecustomCustomerService.cs b/zhengcaioa/Services/CooperatecustomCustomerService.cs
index 368891e..aaef706 100644
--- a/zhengcaioa/Services/CooperatecustomCustomerService.cs
+++ b/zhengcaioa/Services/CooperatecustomCustomerService.cs
@@ -3,6 +3,7 @@
using System.Linq;
using System.Text;
using AutoMapper;
+using CommonToolsCore;
using DTO;
using IServices;
using Microsoft.AspNetCore.Mvc.Rendering;
@@ -16,10 +17,12 @@
{
private readonly zhengcaioaContext _context;
private readonly IMapper _mapper;
- public CooperatecustomCustomerService(zhengcaioaContext context, IMapper mapper)
+ private readonly zcUserInfoN_dbContext _zcUserInfoNcontext;
+ public CooperatecustomCustomerService(zhengcaioaContext context, IMapper mapper, zcUserInfoN_dbContext zcUserInfoNcontext)
{
_context = context;
_mapper = mapper;
+ _zcUserInfoNcontext = zcUserInfoNcontext;
}
public ResultEntity save(CooperatecustomCustomerDTO cooperatecustomCustomerDTO)
@@ -52,12 +55,43 @@
if (String.IsNullOrEmpty(cooperatecustomCustomer.Id))
{
+ if (!string.IsNullOrEmpty(cooperatecustomCustomer.Ywjl))
+ {
+ cooperatecustomCustomer.Ywjltime = DateTime.Now;
+ var Cooper = _context.CooperatecustomCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == cooperatecustomCustomer.Ywjl);
+ var Inten = _context.IntentionCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == cooperatecustomCustomer.Ywjl);
+ if (Cooper + Inten > 2000)
+ {
+ resultEntity.Result = false;
+ resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�2000锛�";
+ return resultEntity;
+ }
+ }
+
cooperatecustomCustomer.Id = Guid.NewGuid().ToString();
_context.CooperatecustomCustomers.Add(cooperatecustomCustomer);
}
else
{
var updateproject = _context.CooperatecustomCustomers.Find(cooperatecustomCustomer.Id);
+
+ if (!string.IsNullOrEmpty(cooperatecustomCustomer.Ywjl) && (string.IsNullOrEmpty(updateproject.Ywjl) || !string.IsNullOrEmpty(updateproject.Ywjl) && cooperatecustomCustomer.Ywjl != updateproject.Ywjl))
+ {
+ updateproject.Ywjltime = DateTime.Now;
+ var Cooper = _context.CooperatecustomCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == cooperatecustomCustomer.Ywjl);
+ var Inten = _context.IntentionCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == cooperatecustomCustomer.Ywjl);
+ if (Cooper + Inten >= 2000)
+ {
+ resultEntity.Result = false;
+ resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�2000锛�";
+ return resultEntity;
+ }
+ }
+ if (string.IsNullOrEmpty(cooperatecustomCustomer.Ywjl))
+ {
+ updateproject.Ywjltime = DateTime.Now;
+ }
+
updateproject.Sheng = cooperatecustomCustomer.Sheng;
updateproject.City = cooperatecustomCustomer.City;
@@ -94,11 +128,55 @@
updateproject.Modifier = cooperatecustomCustomer.Modifier;
updateproject.Modifytime = cooperatecustomCustomer.Modifytime;
updateproject.Weixin = cooperatecustomCustomer.Weixin;
- updateproject.HuiyuanId = cooperatecustomCustomer.HuiyuanId;
+ if (!string.IsNullOrEmpty(cooperatecustomCustomer.HuiyuanId))
+ {
+ updateproject.HuiyuanId = cooperatecustomCustomer.HuiyuanId;
+ }
updateproject.Shifoutianjiaweixin = cooperatecustomCustomer.Shifoutianjiaweixin;
updateproject.Weixintime = cooperatecustomCustomer.Weixintime;
updateproject.Weixiner = cooperatecustomCustomer.Weixiner;
+ updateproject.Shouxinedu = cooperatecustomCustomer.Shouxinedu;
+ updateproject.Taocanjianshu = cooperatecustomCustomer.Taocanjianshu;
}
+
+ _context.SaveChanges();
+
+ var listPosition = _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A").ToList();
+
+ var CooperatecustomCustomerDTOs = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
+ CacheHelperNetCore.CacheInsert("CooperatecustomCustomerDTOs", CooperatecustomCustomerDTOs);
+
+ resultEntity.ReturnID = cooperatecustomCustomer.Id;
+ resultEntity.Result = true;
+ }
+ catch (Exception ex)
+ {
+ resultEntity.Result = false;
+ resultEntity.Message = "淇濆瓨澶辫触锛岃鑱旂郴绠$悊鍛�";
+
+ }
+ return resultEntity;
+ }
+
+
+ public ResultEntity saveyufukuan(CooperatecustomCustomerDTO cooperatecustomCustomerDTO)
+ {
+ ResultEntity resultEntity = new ResultEntity();
+ try
+ {
+
+
+ var cooperatecustomCustomer = _mapper.Map<CooperatecustomCustomer>(cooperatecustomCustomerDTO);
+
+
+
+ var updateproject = _context.CooperatecustomCustomers.Find(cooperatecustomCustomer.Id);
+
+
+ updateproject.Yufukuan = cooperatecustomCustomer.Yufukuan;
+ updateproject.Shenyushouxin = cooperatecustomCustomer.Shenyushouxin;
+ updateproject.Shouxinedu = cooperatecustomCustomer.Shouxinedu;
+
_context.SaveChanges();
resultEntity.ReturnID = cooperatecustomCustomer.Id;
@@ -168,32 +246,59 @@
DateTime.TryParse(Createtimes[1], out Createtimeend);
Createtimeend = Createtimeend.AddDays(1);
}
-
+
var query = (from a in _context.CooperatecustomCustomers
join b in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khly")
on a.Khly equals b.CodeSn
+ into bsss
+ from bbb in bsss.DefaultIfEmpty()
+
join c in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl")
on a.Hyfl equals c.CodeSn
+ into csss
+ from ccc in csss.DefaultIfEmpty()
+
join d in listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx")
on a.Khlx equals d.CodeSn
+ into dsss
+ from ddd in dsss.DefaultIfEmpty()
+
+
join e in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" && x.IsYwjl == "A")
on a.Ywjl equals e.Id
into esss
from abi in esss.DefaultIfEmpty()
- join i in _context.CooperOrders.Where(x => x.RecStatus == "A" && x.ChedanStatus !="A" ).GroupBy(q => new { q.Khdw }).Select(q => new
+
+
+ join i in _context.CooperOrders.Where(x => x.RecStatus == "A" && x.ChedanStatus != "A").GroupBy(q => new { q.Khdw }).Select(q => new
{
Khdw = q.Key.Khdw,
Moneycount = q.Sum(i => i.Money),
Ordercount = q.Count(),
- }
+ }
)
on a.Id equals i.Khdw
into isss
from iii in isss.DefaultIfEmpty()
+
+
+
join f in _context.Areas on a.Sheng equals f.CodeId
+ into fsss
+ from fff in fsss.DefaultIfEmpty()
+
+
join g in _context.Areas on a.City equals g.CodeId
+ into gsss
+ from ggg in gsss.DefaultIfEmpty()
+
+
join h in _context.Areas on a.AreaId equals h.CodeId
+ into hsss
+ from hhh in hsss.DefaultIfEmpty()
+
+
where a.RecStatus == "A"
&& (string.IsNullOrWhiteSpace(searchEntity.Createtime) || (a.Createtime >= Createtimestart && a.Createtime <= Createtimeend))
@@ -201,11 +306,11 @@
&& (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.Shifouweixin) || a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim())
+ && (string.IsNullOrWhiteSpace(searchEntity.Shifouweixin) || a.Shifoutianjiaweixin == searchEntity.Shifouweixin.Trim())
&& (string.IsNullOrWhiteSpace(searchEntity.HuiyuanId) || a.HuiyuanId == searchEntity.HuiyuanId.Trim())
select new CooperatecustomCustomerDTO
@@ -218,12 +323,12 @@
Hyfl = a.Hyfl,
Khlx = a.Khlx,
Ywjl = a.Ywjl,
- ShengName = f.Name + "-" + g.Name+ "-" + h.Name,
- CityName = g.Name,
- AreaIdName = h.Name,
- KhlyName = b.Comments,
- HyflName = c.Comments,
- KhlxName = d.Comments,
+ ShengName = fff.Name + "-" + ggg.Name + "-" + hhh.Name,
+ CityName = ggg.Name,
+ AreaIdName = hhh.Name,
+ KhlyName = bbb.Comments,
+ HyflName = ccc.Comments,
+ KhlxName = ddd.Comments,
YwjlName = abi.UserName,
Name = a.Name,
Postal = a.Postal,
@@ -232,6 +337,7 @@
Tel = a.Tel,
Ordercount = iii.Ordercount.ToString(),
Moneycount = iii.Moneycount.ToString(),
+ Moneycountde = iii.Moneycount,
Phone = a.Phone,
Qq = a.Qq,
Email = a.Email,
@@ -259,14 +365,98 @@
HuiyuanId = a.HuiyuanId,
Weixiner = a.Weixiner,
Weixintime = a.Weixintime,
+ Yufukuan = a.Yufukuan ?? 0,
+ Shouxinedu = a.Shouxinedu ?? 0,
+ Shenyushouxin = a.Shenyushouxin ?? 0,
+ YufukuanName = a.Yufukuan.HasValue ? a.Yufukuan.Value.ToString("f2") : "",
+ ShouxineduName = a.Shouxinedu.HasValue ? a.Shouxinedu.Value.ToString("f2") : "",
+ ShenyushouxinName = a.Shenyushouxin.HasValue ? a.Shenyushouxin.Value.ToString("f2") : "",
+ Taocanjianshu = a.Taocanjianshu ?? 0,
+ Customertype = "鍚堜綔瀹㈡埛",
}
- ).OrderByDescending(x => x.Modifytime).ToList();
+ );
+
+ 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)
- searchEntity.totalrows = query.Count();
- var lianlist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+ searchEntity.totalrows = query.Count();
+ data.Heji1 = Math.Round(query.Sum(x => x.Yufukuan) ?? 0, 2);
+ data.Heji2 = Math.Round(query.Sum(x => x.Shouxinedu) ?? 0, 2);
+ data.Heji3 = Math.Round(query.Sum(x => x.Shenyushouxin) ?? 0, 2);
+ data.Heji4 = Math.Round(query.Sum(x => x.Moneycountde) ?? 0, 2);
+ var lianlist = query.OrderByDescending(x => x.Modifytime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+ data.DangyeHeji1 = Math.Round(lianlist.Sum(x => x.Yufukuan) ?? 0, 2);
+ data.DangyeHeji2 = Math.Round(lianlist.Sum(x => x.Shouxinedu) ?? 0, 2);
+ data.DangyeHeji3 = Math.Round(lianlist.Sum(x => x.Shenyushouxin) ?? 0, 2);
+ data.DangyeHeji4 = Math.Round(lianlist.Sum(x => x.Moneycountde) ?? 0, 2);
+
+ if(lianlist!=null&& lianlist.Count > 0)
+ {
+ var members = _context.FiMembers.ToList();
+ foreach (var cooperatecustomCustomerDTO in lianlist)
+ {
+ cooperatecustomCustomerDTO.Hezuoyewu = "";
+
+ var cooperOrders = _context.CooperOrders.Where(x => x.RecStatus == "A" && x.ShouliStatus != "0" && x.OrderType == "05" && x.Khdw == cooperatecustomCustomerDTO.Id).ToList();
+
+ foreach (var cooperOrder in cooperOrders)
+ {
+ var member = members.Where(x => x.Id == cooperOrder.OrderType1).FirstOrDefault();
+ if (member != null)
+ {
+ if (cooperatecustomCustomerDTO.Hezuoyewu.IndexOf(member.MemberType) < 0)
+ {
+ cooperatecustomCustomerDTO.Hezuoyewu += member.MemberType + " | ";
+ }
+ }
+ }
+
+ if (!string.IsNullOrEmpty(cooperatecustomCustomerDTO.HuiyuanId))
+ {
+ var huiyuanid = new Guid(cooperatecustomCustomerDTO.HuiyuanId);
+
+ var frameworkRoles = (from a in _zcUserInfoNcontext.OderOfVips
+ join b in _zcUserInfoNcontext.FrameworkRoles on a.RoleId equals b.Id
+ where a.IsPayEnd == true && a.IsUserDell == false && a.UserId == huiyuanid
+ select b
+ ).ToList();
+
+ foreach (var frameworkRole in frameworkRoles)
+ {
+ if (cooperatecustomCustomerDTO.Hezuoyewu.IndexOf(frameworkRole.RoleName) < 0)
+ {
+ cooperatecustomCustomerDTO.Hezuoyewu += frameworkRole.RoleName + " | ";
+ }
+ }
+ }
+
+
+
+ if (cooperatecustomCustomerDTO.Hezuoyewu.IndexOf("甯稿勾鏀块噰&娉曞緥椤鹃棶") >=0)
+ {
+ cooperatecustomCustomerDTO.Hezuoyewu += "閲囪喘鍏憡鏉冮檺 | ";
+ }
+
+ cooperatecustomCustomerDTO.Guanliankehushu = _context.CustomerGuanlians.Count(x => x.CustomerId == cooperatecustomCustomerDTO.Id);
+
+ }
+ }
+
+
+
+
data.LoadData(searchEntity, lianlist);
return data;
}
@@ -303,14 +493,46 @@
/// 鑾峰彇鎵�鏈夋湁鏁堝悎浣滃鎴�
/// </summary>
/// <returns></returns>
- public List<CooperatecustomCustomerDTO> GetList()
+ public List<CooperatecustomCustomerDTO> GetList(string HuiyuanId = "", string Name = "")
{
+ List<CooperatecustomCustomerDTO> CooperatecustomCustomerDTOs = (List<CooperatecustomCustomerDTO>)CacheHelperNetCore.CacheValue("CooperatecustomCustomerDTOs");
+ if (CooperatecustomCustomerDTOs != null && CooperatecustomCustomerDTOs.Count > 0)
+ {
+ if (!string.IsNullOrEmpty(HuiyuanId))
+ {
+ CooperatecustomCustomerDTOs = CooperatecustomCustomerDTOs.Where(x => x.HuiyuanId == HuiyuanId).ToList();
+ }
+ if (!string.IsNullOrEmpty(Name))
+ {
+ CooperatecustomCustomerDTOs = CooperatecustomCustomerDTOs.Where(x => x.Name == Name).ToList();
+ }
+
+ return CooperatecustomCustomerDTOs;
+ }
var listPosition = _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A").ToList();
- var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
- return list;
+ CooperatecustomCustomerDTOs = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
+ CacheHelperNetCore.CacheInsert("CooperatecustomCustomerDTOs", CooperatecustomCustomerDTOs);
+
+
+ if (!string.IsNullOrEmpty(HuiyuanId))
+ {
+ CooperatecustomCustomerDTOs = CooperatecustomCustomerDTOs.Where(x => x.HuiyuanId == HuiyuanId).ToList();
+ }
+
+ if (!string.IsNullOrEmpty(Name))
+ {
+ CooperatecustomCustomerDTOs = CooperatecustomCustomerDTOs.Where(x => x.Name == Name).ToList();
+ }
+
+ return CooperatecustomCustomerDTOs;
+
+
+
+
+
}
public List<CooperatecustomCustomerDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax)
@@ -347,5 +569,102 @@
var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
return list;
}
+
+
+ public ResultEntity saveCustomerGuanlian(CustomerGuanlianDTO DTO)
+ {
+ ResultEntity resultEntity = new ResultEntity();
+ resultEntity.Result = false;
+ var customerGuanlian = _mapper.Map<CustomerGuanlian>(DTO);
+
+
+ if (String.IsNullOrEmpty(customerGuanlian.Id))
+ {
+ customerGuanlian.Id = Guid.NewGuid().ToString();
+ DTO.Id = customerGuanlian.Id;
+ _context.CustomerGuanlians.Add(customerGuanlian);
+
+ CustomerGuanlian customerGuanlian1 = new CustomerGuanlian();
+ customerGuanlian1.Id = Guid.NewGuid().ToString();
+ customerGuanlian1.CustomerId = customerGuanlian.SecCustomerId;
+ customerGuanlian1.Customertype = customerGuanlian.SecCustomertype;
+ customerGuanlian1.SecCustomerId = customerGuanlian.CustomerId;
+ customerGuanlian1.SecCustomertype = customerGuanlian.Customertype;
+ _context.CustomerGuanlians.Add(customerGuanlian1);
+ }
+
+ _context.SaveChanges();
+ resultEntity.ReturnID = customerGuanlian.Id;
+ resultEntity.Result = true;
+
+ return resultEntity;
+ }
+
+ public CustomerGuanlianDTO GetCustomerGuanlian(string CustomerId, string SecCustomerId)
+ {
+ var entity = _context.CustomerGuanlians.Where(x=>x.CustomerId == CustomerId && x.SecCustomerId == SecCustomerId).FirstOrDefault();
+ if (entity == null)
+ {
+ entity = new CustomerGuanlian();
+ }
+ var customerGuanlianDTO = _mapper.Map<CustomerGuanlianDTO>(entity);
+ return customerGuanlianDTO;
+ }
+
+ public ResultEntity DeleteCustomerGuanlian(string CustomerId, string SecCustomerId)
+ {
+ ResultEntity resultEntity = new ResultEntity();
+ resultEntity.Result = false;
+
+
+ var entity = _context.CustomerGuanlians.Where(x => x.CustomerId == CustomerId && x.SecCustomerId == SecCustomerId).FirstOrDefault();
+
+ if (entity != null)
+ {
+ var entity1 = _context.CustomerGuanlians.Where(x => x.CustomerId == entity.SecCustomerId && x.SecCustomerId == entity.CustomerId).FirstOrDefault();
+ _context.CustomerGuanlians.Remove(entity);
+ if (entity1 != null)
+ {
+ _context.CustomerGuanlians.Remove(entity1);
+ }
+ }
+ _context.SaveChanges();
+ resultEntity.ReturnID = CustomerId;
+ resultEntity.Result = true;
+ return resultEntity;
+ }
+ public List<CooperatecustomCustomerDTO> GetListCustomerGuanlian(string CustomerId)
+ {
+ var customerGuanlians = _context.CustomerGuanlians.Where(x=>x.CustomerId == CustomerId).ToList();
+ List <CooperatecustomCustomerDTO> cooperatecustomCustomerDTOs = new List<CooperatecustomCustomerDTO>();
+ if (customerGuanlians!=null && customerGuanlians.Count > 0)
+ {
+ var hezuokehu = customerGuanlians/*.Where(x => x.SecCustomertype == "鍚堜綔瀹㈡埛")*/.Select(x => x.SecCustomerId).ToArray();
+ if(hezuokehu!=null&& hezuokehu.Length > 0)
+ {
+ var cooperatecustomCustomers = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && hezuokehu.Contains(x.Id)).ToList();
+ var cooperatecustomCustomerDTOssss = _mapper.Map<List<CooperatecustomCustomerDTO>>(cooperatecustomCustomers);
+ foreach(var cooperatecustomCustomerDTO in cooperatecustomCustomerDTOssss)
+ {
+ cooperatecustomCustomerDTO.Customertype = "鍚堜綔瀹㈡埛";
+ cooperatecustomCustomerDTOs.Add(cooperatecustomCustomerDTO);
+
+ }
+
+ }
+ //var dangankehu = customerGuanlians.Where(x => x.SecCustomertype == "妗f瀹㈡埛").Select(x => x.SecCustomerId).ToArray();
+ if (hezuokehu != null && hezuokehu.Length > 0)
+ {
+ var intentionCustomers = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && hezuokehu.Contains(x.Id)).ToList();
+ var cooperatecustomCustomerDTOssss = _mapper.Map<List<CooperatecustomCustomerDTO>>(intentionCustomers);
+ foreach (var cooperatecustomCustomerDTO in cooperatecustomCustomerDTOssss)
+ {
+ cooperatecustomCustomerDTO.Customertype = "妗f瀹㈡埛";
+ cooperatecustomCustomerDTOs.Add(cooperatecustomCustomerDTO);
+ }
+ }
+ }
+ return cooperatecustomCustomerDTOs;
+ }
}
}
--
Gitblit v1.9.1