using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using AutoMapper;
|
using CommonToolsCore;
|
using DTO;
|
using DTO.zcUserInfoN_db;
|
using IServices;
|
using Microsoft.AspNetCore.Mvc.Rendering;
|
using Microsoft.EntityFrameworkCore;
|
using zhengcaioa.Models;
|
|
|
namespace Services
|
{
|
public class CooperatecustomCustomerService: ICooperatecustomCustomerService
|
{
|
private readonly zhengcaioaContext _context;
|
private readonly 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)
|
{
|
ResultEntity resultEntity = new ResultEntity();
|
try
|
{
|
var checkUserSn = _context.CooperatecustomCustomers.Where(x => x.Name == cooperatecustomCustomerDTO.Name && x.RecStatus == "A" && x.Id != cooperatecustomCustomerDTO.Id).FirstOrDefault();
|
if (checkUserSn != null && (string.IsNullOrWhiteSpace(cooperatecustomCustomerDTO.Id) || (!string.IsNullOrWhiteSpace(cooperatecustomCustomerDTO.Id) && checkUserSn.Id != cooperatecustomCustomerDTO.Id)))
|
{
|
resultEntity.Result = false;
|
resultEntity.Message = "客户单位重复";
|
return resultEntity;
|
}
|
|
if(!cooperatecustomCustomerDTO.zhuanyi && string.IsNullOrWhiteSpace(cooperatecustomCustomerDTO.Id))
|
{
|
var checkyixiang = _context.IntentionCustomers.Where(x => x.Name == cooperatecustomCustomerDTO.Name && x.RecStatus == "A").FirstOrDefault();
|
if (checkyixiang != null)
|
{
|
resultEntity.Result = false;
|
resultEntity.Message = "已存在意向客户,请转移客户!";
|
return resultEntity;
|
}
|
}
|
|
|
var cooperatecustomCustomer = _mapper.Map<CooperatecustomCustomer>(cooperatecustomCustomerDTO);
|
|
|
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();
|
cooperatecustomCustomerDTO.Id = cooperatecustomCustomer.Id;
|
_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;
|
updateproject.AreaId = cooperatecustomCustomer.AreaId;
|
updateproject.Khly = cooperatecustomCustomer.Khly;
|
updateproject.Hyfl = cooperatecustomCustomer.Hyfl;
|
updateproject.Khlx = cooperatecustomCustomer.Khlx;
|
updateproject.Ywjl = cooperatecustomCustomer.Ywjl;
|
updateproject.Name = cooperatecustomCustomer.Name;
|
updateproject.Postal = cooperatecustomCustomer.Postal;
|
updateproject.Address = cooperatecustomCustomer.Address;
|
updateproject.Url = cooperatecustomCustomer.Url;
|
updateproject.Tel = cooperatecustomCustomer.Tel;
|
|
updateproject.Phone = cooperatecustomCustomer.Phone;
|
updateproject.Qq = cooperatecustomCustomer.Qq;
|
updateproject.Email = cooperatecustomCustomer.Email;
|
updateproject.FName = cooperatecustomCustomer.FName;
|
updateproject.FTel = cooperatecustomCustomer.FTel;
|
|
updateproject.FQq = cooperatecustomCustomer.FQq;
|
updateproject.YwName = cooperatecustomCustomer.YwName;
|
updateproject.YwTel = cooperatecustomCustomer.YwTel;
|
updateproject.YwQq = cooperatecustomCustomer.YwQq;
|
updateproject.JgCode = cooperatecustomCustomer.JgCode;
|
updateproject.Khh = cooperatecustomCustomer.Khh;
|
updateproject.Count = cooperatecustomCustomer.Count;
|
updateproject.ShrName = cooperatecustomCustomer.ShrName;
|
updateproject.ShrTel = cooperatecustomCustomer.ShrTel;
|
updateproject.ShrAddress = cooperatecustomCustomer.ShrAddress;
|
updateproject.Remark = cooperatecustomCustomer.Remark;
|
|
updateproject.RecStatus = cooperatecustomCustomer.RecStatus;
|
updateproject.Modifier = cooperatecustomCustomer.Modifier;
|
updateproject.Modifytime = cooperatecustomCustomer.Modifytime;
|
updateproject.Weixin = cooperatecustomCustomer.Weixin;
|
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();
|
|
CacheHelperNetCore.CacheNull("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;
|
resultEntity.Result = true;
|
}
|
catch (Exception ex)
|
{
|
resultEntity.Result = false;
|
resultEntity.Message = "保存失败,请联系管理员";
|
|
}
|
return resultEntity;
|
}
|
|
public CooperatecustomCustomerDTO Get(string id)
|
{
|
|
var entity = _context.CooperatecustomCustomers.Find(id);
|
if(entity == null || entity.RecStatus != "A")
|
{
|
entity = new CooperatecustomCustomer();
|
}
|
|
|
var cooperatecustomCustomerDTO = _mapper.Map<CooperatecustomCustomerDTO>(entity);
|
|
|
return cooperatecustomCustomerDTO;
|
}
|
|
public ResultDataEntity<CooperatecustomCustomerDTO> SearchByPaging(CooperatecustomCustomerDTOSearch searchEntity)
|
{
|
|
|
|
ResultDataEntity<CooperatecustomCustomerDTO> data = new ResultDataEntity<CooperatecustomCustomerDTO>();
|
List<CooperatecustomCustomerDTO> list = new List<CooperatecustomCustomerDTO>();
|
|
|
|
|
var listCode = (from a in _context.SysCodeDtls
|
join b in _context.SysCodes
|
on a.CodeId equals b.Id
|
where a.RecStatus == "A"
|
&& b.RecStatus == "A"
|
select new CodeDataEntity()
|
{
|
CodeId = b.Id,
|
CodeTable = b.CodeTable,
|
CodeField = b.CodeField,
|
CodeSn = a.CodeSn,
|
Comments = a.Comments,
|
Contents = a.Contents,
|
RecStatus = a.RecStatus,
|
Sort = a.Sort
|
}
|
);
|
|
|
DateTime Createtimestart = DateTime.Now;
|
DateTime Createtimeend = DateTime.Now;
|
if (!string.IsNullOrWhiteSpace(searchEntity.Createtime))
|
{
|
string[] Createtimes = searchEntity.Createtime.Split("|");
|
DateTime.TryParse(Createtimes[0], out Createtimestart);
|
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
|
{
|
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))
|
&& (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.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.HuiyuanId) || a.HuiyuanId == searchEntity.HuiyuanId.Trim())
|
|
select new CooperatecustomCustomerDTO
|
{
|
Id = a.Id,
|
Sheng = a.Sheng,
|
City = a.City,
|
AreaId = a.AreaId,
|
Khly = a.Khly,
|
Hyfl = a.Hyfl,
|
Khlx = a.Khlx,
|
Ywjl = a.Ywjl,
|
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,
|
Address = a.Address,
|
Url = a.Url,
|
Tel = a.Tel,
|
Ordercount = iii.Ordercount.ToString(),
|
Moneycount = iii.Moneycount.ToString(),
|
Moneycountde = iii.Moneycount,
|
Phone = a.Phone,
|
Qq = a.Qq,
|
Email = a.Email,
|
FName = a.FName,
|
FTel = a.FTel,
|
|
FQq = a.FQq,
|
YwName = a.YwName,
|
YwTel = a.YwTel,
|
YwQq = a.YwQq,
|
JgCode = a.JgCode,
|
Khh = a.Khh,
|
Count = a.Count,
|
ShrName = a.ShrName,
|
ShrTel = a.ShrTel,
|
ShrAddress = a.ShrAddress,
|
Remark = a.Remark,
|
|
RecStatus = a.RecStatus,
|
Modifier = a.Modifier,
|
Modifytime = a.Modifytime,
|
CreatetimeName = a.Createtime.ToString("yyyy-MM-dd"),
|
Weixin = a.Weixin,
|
Shifoutianjiaweixin = a.Shifoutianjiaweixin,
|
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 = "合作客户",
|
Kuaidistatus = a.Kuaidistatus,
|
Kuaiditime = a.Kuaiditime,
|
}
|
);
|
|
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.Kuaidistatus))
|
{
|
if (searchEntity.Kuaidistatus == "A")
|
{
|
query = query.Where(a => a.Kuaidistatus == searchEntity.Kuaidistatus.Trim());
|
}
|
else
|
{
|
query = query.Where(a => a.Kuaidistatus == searchEntity.Kuaidistatus.Trim() || a.Kuaidistatus == null);
|
}
|
|
}
|
|
//if (searchEntity.totalrows == 0)
|
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;
|
}
|
|
|
|
|
|
|
/// <summary>
|
/// 修改主表状态
|
/// </summary>
|
/// <param name="id">主id</param>
|
/// <param name="userid">用户</param>
|
/// <returns></returns>
|
public ResultEntity ModifyStatus(string id, string userid)
|
{
|
ResultEntity result = new ResultEntity();
|
result.Result = true;
|
|
var model = _context.CooperatecustomCustomers.Find(id);
|
if (model != null)
|
{
|
model.RecStatus = "D";
|
model.Modifier = userid;
|
model.Modifytime = DateTime.Now;
|
_context.SaveChanges();
|
}
|
|
return result;
|
}
|
|
/// <summary>
|
/// 获取所有有效合作客户
|
/// </summary>
|
/// <returns></returns>
|
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();
|
CooperatecustomCustomerDTOs = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
|
CacheHelperNetCore.CacheInsert("CooperatecustomCustomerDTOs", CooperatecustomCustomerDTOs);
|
|
if (!string.IsNullOrEmpty(HuiyuanId))
|
{
|
listPosition = listPosition.Where(x => x.HuiyuanId == HuiyuanId).ToList();
|
}
|
if (!string.IsNullOrEmpty(Name))
|
{
|
listPosition = listPosition.Where(x => x.Name == Name).ToList();
|
}
|
CooperatecustomCustomerDTOs = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
|
return CooperatecustomCustomerDTOs;
|
|
|
|
|
|
}
|
|
public List<CooperatecustomCustomerDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax)
|
{
|
|
|
var listPosition = _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A" && r.Creater == userid && r.Createtime >= datemin && r.Createtime < datemax).ToList();
|
|
var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
|
return list;
|
}
|
|
public List<CooperatecustomCustomerDTO> GetListsalaryqiandan(string userid, DateTime datemin, DateTime datemax)
|
{
|
|
|
var listPosition =( from a in _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A" && r.Creater == userid)
|
join b in _context.CooperOrders.Where(x => x.RecStatus == "A" && x.Createtime >= datemin && x.Createtime < datemax)
|
on a.Id equals b.Khdw
|
|
select a
|
).Distinct().ToList();
|
|
var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
|
return list;
|
}
|
|
public List<CooperatecustomCustomerDTO> GetListsalaryweixin(string userid, DateTime datemin, DateTime datemax)
|
{
|
|
|
var listPosition = _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A" && r.Weixiner == userid && r.Weixintime >= datemin && r.Weixintime < datemax).ToList();
|
|
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 == "档案客户").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 = "档案客户";
|
cooperatecustomCustomerDTOs.Add(cooperatecustomCustomerDTO);
|
}
|
}
|
}
|
return cooperatecustomCustomerDTOs;
|
}
|
|
|
public ResultDataEntity<CooperatecustomCustomerDTO> SearchByPagingAll(CooperatecustomCustomerDTOSearch searchEntity)
|
{
|
|
|
|
ResultDataEntity<CooperatecustomCustomerDTO> data = new ResultDataEntity<CooperatecustomCustomerDTO>();
|
List<CooperatecustomCustomerDTO> list = new List<CooperatecustomCustomerDTO>();
|
|
|
|
|
var listCode = (from a in _context.SysCodeDtls
|
join b in _context.SysCodes
|
on a.CodeId equals b.Id
|
where a.RecStatus == "A"
|
&& b.RecStatus == "A"
|
select new CodeDataEntity()
|
{
|
CodeId = b.Id,
|
CodeTable = b.CodeTable,
|
CodeField = b.CodeField,
|
CodeSn = a.CodeSn,
|
Comments = a.Comments,
|
Contents = a.Contents,
|
RecStatus = a.RecStatus,
|
Sort = a.Sort
|
}
|
);
|
|
|
DateTime Createtimestart = DateTime.Now;
|
DateTime Createtimeend = DateTime.Now;
|
if (!string.IsNullOrWhiteSpace(searchEntity.Createtime))
|
{
|
string[] Createtimes = searchEntity.Createtime.Split("|");
|
DateTime.TryParse(Createtimes[0], out Createtimestart);
|
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 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))
|
&& (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.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.HuiyuanId) || a.HuiyuanId == searchEntity.HuiyuanId.Trim())
|
|
select new CooperatecustomCustomerDTO
|
{
|
Id = a.Id,
|
Sheng = a.Sheng,
|
City = a.City,
|
AreaId = a.AreaId,
|
Khly = a.Khly,
|
Hyfl = a.Hyfl,
|
Khlx = a.Khlx,
|
Ywjl = a.Ywjl,
|
//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,
|
Address = a.Address,
|
Url = a.Url,
|
Tel = a.Tel,
|
|
Phone = a.Phone,
|
Qq = a.Qq,
|
Email = a.Email,
|
FName = a.FName,
|
FTel = a.FTel,
|
|
FQq = a.FQq,
|
YwName = a.YwName,
|
YwTel = a.YwTel,
|
YwQq = a.YwQq,
|
JgCode = a.JgCode,
|
Khh = a.Khh,
|
Count = a.Count,
|
ShrName = a.ShrName,
|
ShrTel = a.ShrTel,
|
ShrAddress = a.ShrAddress,
|
Remark = a.Remark,
|
|
RecStatus = a.RecStatus,
|
Modifier = a.Modifier,
|
Modifytime = a.Modifytime,
|
CreatetimeName = a.Createtime.ToString("yyyy-MM-dd"),
|
Weixin = a.Weixin,
|
Shifoutianjiaweixin = a.Shifoutianjiaweixin,
|
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 = "合作客户",
|
}
|
);
|
|
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);
|
}
|
}
|
|
|
|
var queryinter = (from a in _context.IntentionCustomers
|
|
|
|
|
// 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 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))
|
&& (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.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.HuiyuanId) || a.HuiyuanId == searchEntity.HuiyuanId.Trim())
|
|
select new CooperatecustomCustomerDTO
|
{
|
Id = a.Id,
|
Sheng = a.Sheng,
|
City = a.City,
|
AreaId = a.AreaId,
|
Khly = a.Khly,
|
Hyfl = a.Hyfl,
|
Khlx = a.Khlx,
|
Ywjl = a.Ywjl,
|
//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,
|
Address = a.Address,
|
Url = a.Url,
|
Tel = a.Tel,
|
|
Phone = a.Phone,
|
Qq = a.Qq,
|
Email = a.Email,
|
FName = a.FName,
|
FTel = a.FTel,
|
|
FQq = a.FQq,
|
YwName = a.YwName,
|
YwTel = a.YwTel,
|
YwQq = a.YwQq,
|
JgCode = a.JgCode,
|
Khh = a.Khh,
|
Count = a.Count,
|
ShrName = a.ShrName,
|
ShrTel = a.ShrTel,
|
ShrAddress = a.ShrAddress,
|
Remark = a.Remark,
|
|
RecStatus = a.RecStatus,
|
Modifier = a.Modifier,
|
Modifytime = a.Modifytime,
|
CreatetimeName = a.Createtime.ToString("yyyy-MM-dd"),
|
Weixin = a.Weixin,
|
Shifoutianjiaweixin = a.Shifoutianjiaweixin,
|
HuiyuanId = a.HuiyuanId,
|
Weixiner = a.Weixiner,
|
Weixintime = a.Weixintime,
|
Customertype = "档案客户",
|
}
|
);
|
|
if (!string.IsNullOrWhiteSpace(searchEntity.Ywjl))
|
{
|
if (searchEntity.Ywjl != "11111")
|
{
|
queryinter = queryinter.Where(a => a.Ywjl == searchEntity.Ywjl.Trim());
|
}
|
else
|
{
|
queryinter = queryinter.Where(a => a.Ywjl == null);
|
}
|
}
|
var chaxun = query.ToList().Union(queryinter.ToList());
|
|
|
|
searchEntity.totalrows = chaxun.Count();
|
|
var lianlist = chaxun.OrderByDescending(x => x.Modifytime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
|
|
|
if(lianlist!=null&& lianlist.Count > 0)
|
{
|
var khlys= listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khly").ToList();
|
|
|
var hyfls = listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "hyfl").ToList();
|
|
var khlxs = listCode.Where(x => x.CodeTable == "CooperatecustomCustomer" && x.CodeField == "khlx").ToList();
|
|
var pltUsers = _context.PltUsers.ToList();
|
var areas = _context.Areas.ToList();
|
var yx = listCode.Where(x => x.CodeTable == "CooperVisit" && x.CodeField == "yx").ToList();
|
foreach (var cooperatecustomCustomerDTO in lianlist)
|
{
|
var khly = khlys.Where(x=>x.CodeSn == cooperatecustomCustomerDTO.Khly).FirstOrDefault();
|
if (khly != null)
|
{
|
cooperatecustomCustomerDTO.KhlyName = khly.Comments;
|
}
|
var hyfl = hyfls.Where(x => x.CodeSn == cooperatecustomCustomerDTO.Hyfl).FirstOrDefault();
|
if (hyfl != null)
|
{
|
cooperatecustomCustomerDTO.HyflName = hyfl.Comments;
|
}
|
var khlx = khlxs.Where(x => x.CodeSn == cooperatecustomCustomerDTO.Khlx).FirstOrDefault();
|
if (khlx != null)
|
{
|
cooperatecustomCustomerDTO.KhlxName = khlx.Comments;
|
}
|
var ywjl = pltUsers.Where(x => x.Id == cooperatecustomCustomerDTO.Ywjl).FirstOrDefault();
|
if (ywjl != null)
|
{
|
cooperatecustomCustomerDTO.YwjlName = ywjl.UserName;
|
}
|
|
|
var city = areas.Where(x => x.CodeId == cooperatecustomCustomerDTO.City).FirstOrDefault();
|
if (city != null)
|
{
|
cooperatecustomCustomerDTO.CityName = city.Name;
|
}
|
|
var areaId = areas.Where(x => x.CodeId == cooperatecustomCustomerDTO.AreaId).FirstOrDefault();
|
if (areaId != null)
|
{
|
cooperatecustomCustomerDTO.AreaIdName = areaId.Name;
|
}
|
|
|
var sheng = areas.Where(x => x.CodeId == cooperatecustomCustomerDTO.Sheng).FirstOrDefault();
|
if (sheng != null)
|
{
|
cooperatecustomCustomerDTO.ShengName = sheng.Name + "-" + cooperatecustomCustomerDTO.CityName + "-" + cooperatecustomCustomerDTO.AreaIdName;
|
}
|
|
|
if (cooperatecustomCustomerDTO.Customertype == "合作客户")
|
{
|
var kehuyx = _context.CooperVisits.Where(x => x.RecStatus == "A" && x.Viscustomer == cooperatecustomCustomerDTO.Id).OrderByDescending(x => x.Vistime).FirstOrDefault();
|
if (kehuyx != null)
|
{
|
cooperatecustomCustomerDTO.Yx = kehuyx.Yx;
|
var yxname = yx.Where(x => x.CodeSn == kehuyx.Yx).FirstOrDefault();
|
if (yxname != null)
|
{
|
cooperatecustomCustomerDTO.YxName = yxname.Comments;
|
}
|
}
|
|
}
|
else
|
{
|
var kehuyx = _context.IntentionVisits.Where(x => x.RecStatus == "A" && x.Viscustomer == cooperatecustomCustomerDTO.Id).OrderByDescending(x => x.Vistime).FirstOrDefault();
|
if (kehuyx != null)
|
{
|
cooperatecustomCustomerDTO.Yx = kehuyx.Yx;
|
var yxname = yx.Where(x => x.CodeSn == kehuyx.Yx).FirstOrDefault();
|
if (yxname != null)
|
{
|
cooperatecustomCustomerDTO.YxName = yxname.Comments;
|
}
|
}
|
}
|
|
|
|
}
|
}
|
data.LoadData(searchEntity, lianlist);
|
return data;
|
}
|
|
|
public ResultEntity saveKhlx(CooperatecustomCustomerDTO cooperatecustomCustomerDTO)
|
{
|
ResultEntity resultEntity = new ResultEntity();
|
try
|
{
|
|
|
|
|
|
|
var updateproject = _context.CooperatecustomCustomers.Find(cooperatecustomCustomerDTO.Id);
|
|
|
updateproject.Khlx = cooperatecustomCustomerDTO.Khlx;
|
|
updateproject.Modifier = cooperatecustomCustomerDTO.Modifier;
|
updateproject.Modifytime = cooperatecustomCustomerDTO.Modifytime;
|
|
|
_context.SaveChanges();
|
|
|
resultEntity.ReturnID = cooperatecustomCustomerDTO.Id;
|
resultEntity.Result = true;
|
}
|
catch (Exception ex)
|
{
|
resultEntity.Result = false;
|
resultEntity.Message = "保存失败,请联系管理员";
|
|
}
|
return resultEntity;
|
}
|
|
|
|
|
public ResultDataEntity<FrameworkUserDTO> SearchByPagingGuanlianHuiyuan(FrameworkUserSearch searchEntity)
|
{
|
|
|
|
ResultDataEntity<FrameworkUserDTO> data = new ResultDataEntity<FrameworkUserDTO>();
|
|
|
|
|
|
var listCode = (from a in _context.SysCodeDtls
|
join b in _context.SysCodes
|
on a.CodeId equals b.Id
|
where a.RecStatus == "A"
|
&& b.RecStatus == "A"
|
select new CodeDataEntity()
|
{
|
CodeId = b.Id,
|
CodeTable = b.CodeTable,
|
CodeField = b.CodeField,
|
CodeSn = a.CodeSn,
|
Comments = a.Comments,
|
Contents = a.Contents,
|
RecStatus = a.RecStatus,
|
Sort = a.Sort
|
}
|
);
|
|
|
|
|
|
|
|
DateTime Createtimestart = DateTime.Now;
|
DateTime Createtimeend = DateTime.Now;
|
if (!string.IsNullOrWhiteSpace(searchEntity.Createtime))
|
{
|
string[] Createtimes = searchEntity.Createtime.Split("|");
|
DateTime.TryParse(Createtimes[0], out Createtimestart);
|
DateTime.TryParse(Createtimes[1], out Createtimeend);
|
Createtimeend = Createtimeend.AddDays(1);
|
}
|
|
|
var query = (from a in _zcUserInfoNcontext.FrameworkUsers
|
|
|
|
|
where a.IsValid == true && a.Itcode.Length<=20 && a.Itcode.Length > 8
|
&& (string.IsNullOrWhiteSpace(searchEntity.Createtime) || (a.CreateTime >= Createtimestart && a.CreateTime <= Createtimeend))
|
&& (string.IsNullOrWhiteSpace(searchEntity.Name) || a.Name.Contains(searchEntity.Name.Trim()))
|
&& (string.IsNullOrWhiteSpace(searchEntity.Itcode) || a.Itcode.Contains(searchEntity.Itcode.Trim()))
|
|
select new FrameworkUserDTO
|
{
|
Id = a.Id,
|
Email = a.Email,
|
Gender = a.Gender,
|
CellPhone = a.CellPhone,
|
HomePhone = a.HomePhone,
|
Address = a.Address,
|
ZipCode = a.ZipCode,
|
IsIndividual = a.IsIndividual,
|
CreateTime = a.CreateTime,
|
CreateTimeName = a.CreateTime.HasValue? a.CreateTime.Value.ToString("yyyy-MM-dd"):"",
|
CreateBy = a.CreateBy,
|
UpdateTime = a.UpdateTime,
|
UpdateBy = a.UpdateBy,
|
Itcode = a.Itcode,
|
Password = a.Password,
|
Name = a.Name,
|
IsValid = a.IsValid,
|
PhotoId = a.PhotoId,
|
TenantCode = a.TenantCode,
|
WxOpenid = a.WxOpenid,
|
Agent = a.Agent,
|
|
}
|
);
|
|
if (!string.IsNullOrWhiteSpace(searchEntity.ShifouGuanluan))
|
{
|
var customerGuanlianhuiyuans = _context.CustomerGuanlianhuiyuans.Where(x => x.RecStatus == "A").ToList();
|
var id = new List<Guid>();
|
foreach(var customerGuanlianhuiyuan in customerGuanlianhuiyuans)
|
{
|
id.Add(Guid.Parse(customerGuanlianhuiyuan.Huiyuanid));
|
}
|
if (searchEntity.ShifouGuanluan == "A")
|
{
|
query = query.Where(a => id.Contains(a.Id));
|
}
|
else
|
{
|
query = query.Where(a => !id.Contains(a.Id));
|
}
|
}
|
|
//if (searchEntity.totalrows == 0)
|
searchEntity.totalrows = query.Count();
|
|
var lianlist = query.OrderByDescending(x => x.CreateTime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
|
|
if (lianlist.Count > 0)
|
{
|
var customerGuanlianhuiyuans = _context.CustomerGuanlianhuiyuans.Where(x => x.RecStatus == "A").ToList();
|
foreach (var lian in lianlist)
|
{
|
var customerGuanlianhuiyuan = customerGuanlianhuiyuans.Where(x => x.Huiyuanid == lian.Id.ToString().ToLower()).FirstOrDefault();
|
if (customerGuanlianhuiyuan != null)
|
{
|
var cooperatecustomCustomer = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && x.Id == customerGuanlianhuiyuan.Customerid).FirstOrDefault();
|
if (cooperatecustomCustomer != null)
|
{
|
lian.CustomerId = cooperatecustomCustomer.Id;
|
lian.CustomerName = cooperatecustomCustomer.Name;
|
}
|
else
|
{
|
var intentionCustomer = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && x.Id == customerGuanlianhuiyuan.Customerid).FirstOrDefault();
|
if (intentionCustomer != null)
|
{
|
lian.CustomerId = intentionCustomer.Id;
|
lian.CustomerName = intentionCustomer.Name;
|
}
|
}
|
}
|
}
|
}
|
|
|
|
data.LoadData(searchEntity, lianlist);
|
return data;
|
}
|
|
public ResultEntity saveCustomerGuanlian(CustomerGuanlianhuiyuan DTO,string CustomerIddel)
|
{
|
ResultEntity resultEntity = new ResultEntity();
|
try
|
{
|
if (!string.IsNullOrEmpty(CustomerIddel))
|
{
|
var cooperatecustomCustomer = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && x.Id == CustomerIddel && x.HuiyuanId == DTO.Huiyuanid).FirstOrDefault();
|
if (cooperatecustomCustomer != null)
|
{
|
cooperatecustomCustomer.HuiyuanId = null;
|
}
|
var intentionCustomer = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && x.Id == CustomerIddel && x.HuiyuanId == DTO.Huiyuanid).FirstOrDefault();
|
if (intentionCustomer != null)
|
{
|
intentionCustomer.HuiyuanId = null;
|
}
|
|
|
var customerGuanlianhuiyuan = _context.CustomerGuanlianhuiyuans.Where(x => x.RecStatus == "A" && x.Huiyuanid == DTO.Huiyuanid && x.Customerid == CustomerIddel).FirstOrDefault();
|
if (customerGuanlianhuiyuan != null)
|
{
|
_context.CustomerGuanlianhuiyuans.Remove(customerGuanlianhuiyuan);
|
}
|
}
|
if (String.IsNullOrEmpty(DTO.Id))
|
{
|
DTO.Id = Guid.NewGuid().ToString();
|
_context.CustomerGuanlianhuiyuans.Add(DTO);
|
}
|
else
|
{
|
var updateproject = _context.CustomerGuanlianhuiyuans.Find(DTO.Id);
|
updateproject.Huiyuanid = DTO.Huiyuanid;
|
updateproject.Customerid = DTO.Customerid;
|
updateproject.Customertype = DTO.Customertype;
|
|
|
updateproject.RecStatus = DTO.RecStatus;
|
updateproject.Modifier = DTO.Modifier;
|
updateproject.Modifytime = DTO.Modifytime;
|
|
}
|
|
_context.SaveChanges();
|
|
|
|
resultEntity.ReturnID = DTO.Id;
|
resultEntity.Result = true;
|
}
|
catch (Exception ex)
|
{
|
resultEntity.Result = false;
|
resultEntity.Message = "保存失败,请联系管理员";
|
|
}
|
return resultEntity;
|
}
|
public List<FrameworkUserDTO> GetListFrameworkUser(string CustomerId)
|
{
|
var frameworkUsers = new List<FrameworkUser>();
|
var listPositiontongshi = _context.CustomerGuanlianhuiyuans.Where(r => r.RecStatus == "A" && r.Customerid == CustomerId).ToList();
|
var huiyuanids = new List<Guid>();
|
foreach (var customerGuanlianhuiyuan in listPositiontongshi)
|
{
|
huiyuanids.Add(Guid.Parse(customerGuanlianhuiyuan.Huiyuanid));
|
}
|
frameworkUsers = _zcUserInfoNcontext.FrameworkUsers.Where(x => x.IsValid == true && huiyuanids.Contains(x.Id)).ToList();
|
|
|
var res = _mapper.Map<List<FrameworkUserDTO>>(frameworkUsers);
|
if (res.Count > 0)
|
{
|
|
foreach (var lian in res)
|
{
|
lian.CreateTimeName = lian.CreateTime.HasValue ? lian.CreateTime.Value.ToString("yyyy-MM-dd") : "";
|
|
var customerGuanlianhuiyuan = listPositiontongshi.Where(x => x.Huiyuanid == lian.Id.ToString().ToLower()).FirstOrDefault();
|
if (customerGuanlianhuiyuan != null)
|
{
|
var cooperatecustomCustomer = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && x.Id == customerGuanlianhuiyuan.Customerid).FirstOrDefault();
|
if (cooperatecustomCustomer != null)
|
{
|
lian.CustomerId = cooperatecustomCustomer.Id;
|
lian.CustomerName = cooperatecustomCustomer.Name;
|
}
|
else
|
{
|
var intentionCustomer = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && x.Id == customerGuanlianhuiyuan.Customerid).FirstOrDefault();
|
if (intentionCustomer != null)
|
{
|
lian.CustomerId = intentionCustomer.Id;
|
lian.CustomerName = intentionCustomer.Name;
|
}
|
}
|
}
|
}
|
}
|
|
|
|
return res;
|
}
|
}
|
}
|