using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using AutoMapper;
|
using AngleSharp.Html.Parser;
|
using DTO;
|
using IServices;
|
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.Bot.Builder.Integration.AspNet.Core;
|
using Microsoft.Extensions.Logging;
|
using Newtonsoft.Json;
|
using System.Net.Http;
|
using System.Threading.Tasks;
|
using zhengcaioa.Models;
|
using zhengcaioa.IService;
|
using System.Transactions;
|
using OfficeOpenXml;
|
using OfficeOpenXml.Drawing;
|
using OfficeOpenXml.Drawing.Chart;
|
using OfficeOpenXml.Style;
|
using System.IO;
|
|
namespace zhengcaioa.Controllers.Customer
|
{
|
[CheckLogin]
|
public class IntentionCustomerController : Controller
|
{
|
private readonly ILogger<IntentionCustomerController> _logger;
|
private readonly IProjectService _projectService;
|
private readonly ILiaotianService _liaotianService;
|
private readonly IIntentionCustomerService _intentionCustomerService;
|
private readonly IUserService _userService;
|
private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService;
|
private readonly IMapper _mapper;
|
private readonly IHrDeptService _hrDeptService;
|
private readonly IPltPageService _pltPageService;
|
|
|
public IntentionCustomerController(ILogger<IntentionCustomerController> logger, IProjectService projectService, ILiaotianService liaotianService, IIntentionCustomerService intentionCustomerService, IUserService userService
|
, ICooperatecustomCustomerService cooperatecustomCustomerService, IMapper mapper, IHrDeptService hrDeptService, IPltPageService pltPageService)
|
{
|
_logger = logger;
|
_projectService = projectService;
|
_liaotianService = liaotianService;
|
_intentionCustomerService = intentionCustomerService;
|
_userService = userService;
|
_cooperatecustomCustomerService = cooperatecustomCustomerService;
|
_mapper = mapper;
|
_hrDeptService = hrDeptService;
|
_pltPageService = pltPageService;
|
}
|
|
public IActionResult Index()
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
List<ActionEntity> actionlist = new List<ActionEntity>();
|
ActionEntity actionEntity = new ActionEntity();
|
actionEntity.OpenType = 0;
|
actionEntity.ActionUrl = "";
|
actionEntity.ActionFun = "Search";
|
actionEntity.PageIco = "fa fa-search";
|
actionEntity.ActionName = "查询";
|
actionlist.Add(actionEntity);
|
ActionEntity actionEntity1 = new ActionEntity();
|
actionEntity1.OpenType = 0;
|
actionEntity1.ActionUrl = "";
|
actionEntity1.ActionFun = "Add";
|
actionEntity1.PageIco = "fa fa-plus";
|
actionEntity1.ActionName = "新增";
|
actionlist.Add(actionEntity1);
|
|
ActionEntity actionEntity2 = new ActionEntity();
|
actionEntity2.OpenType = 0;
|
actionEntity2.ActionUrl = "";
|
actionEntity2.ActionFun = "Zhuanyi";
|
actionEntity2.PageIco = "fa fa-exchange";
|
actionEntity2.ActionName = "转移客户";
|
actionlist.Add(actionEntity2);
|
|
ActionEntity actionEntity3 = new ActionEntity();
|
actionEntity3.OpenType = 0;
|
actionEntity3.ActionUrl = "";
|
actionEntity3.ActionFun = "Print";
|
actionEntity3.PageIco = "fa fa-print";
|
actionEntity3.ActionName = "打印资料";
|
actionlist.Add(actionEntity3);
|
|
|
|
ActionEntity actionEntity4 = new ActionEntity();
|
actionEntity4.OpenType = 0;
|
actionEntity4.ActionUrl = "";
|
actionEntity4.ActionFun = "Duanxin";
|
actionEntity4.PageIco = "";
|
actionEntity4.ActionName = "群发短信";
|
actionlist.Add(actionEntity4);
|
|
|
ActionEntity actionEntity5 = new ActionEntity();
|
actionEntity5.OpenType = 0;
|
actionEntity5.ActionUrl = "";
|
actionEntity5.ActionFun = "Youjian";
|
actionEntity5.PageIco = "";
|
actionEntity5.ActionName = "群发邮件";
|
actionlist.Add(actionEntity5);
|
|
|
|
ActionEntity actionEntity6 = new ActionEntity();
|
actionEntity6.OpenType = 0;
|
actionEntity6.ActionUrl = "";
|
actionEntity6.ActionFun = "Xinhan";
|
actionEntity6.PageIco = "";
|
actionEntity6.ActionName = "商业信函";
|
actionlist.Add(actionEntity6);
|
|
|
ActionEntity actionEntity7 = new ActionEntity();
|
actionEntity7.OpenType = 0;
|
actionEntity7.ActionUrl = "";
|
actionEntity7.ActionFun = "Daochu";
|
actionEntity7.PageIco = "";
|
actionEntity7.ActionName = "导出";
|
actionlist.Add(actionEntity7);
|
|
|
ViewData["ActionInfo"] = actionlist;
|
|
|
ViewBag.khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
|
ViewBag.khly = _liaotianService.GetSYScode("IntentionCustomer", "khly").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
|
ViewBag.hyfl = _liaotianService.GetSYScode("CooperatecustomCustomer", "hyfl").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
|
|
ViewBag.users = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList();
|
|
ViewBag.Creater = _userService.GetList().Select(x => new { code = x.Id, label = x.UserName }).ToList();
|
|
ViewBag.shifou = _liaotianService.GetSYScode("system", "shifou").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
|
|
|
ViewBag.ShengDropDown = _projectService.Getsheng().Select(x => new { code = x.CodeId, label = x.Name }).ToList();
|
return View();
|
|
}
|
|
public IActionResult GetList(IntentionCustomerDTOSearch search)
|
{
|
//JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver());
|
return new JsonResult(_intentionCustomerService.SearchByPaging(search));
|
}
|
|
|
//[HttpGet("excel")]
|
public IActionResult GetDaochu(IntentionCustomerDTOSearch search)
|
{
|
|
search.page = 1;
|
search.rows = 10000;
|
var aaa = _intentionCustomerService.SearchByPaging(search);
|
var data1 = aaa.DataList;
|
|
ExcelPackage.LicenseContext = OfficeOpenXml.LicenseContext.NonCommercial;
|
using var ep = new ExcelPackage();
|
|
//添加sheet
|
using var worksheet = ep.Workbook.Worksheets.Add("档案客户资料");
|
|
|
|
int x = 1;
|
int y = 1;
|
var columnTitles = new List<string>()
|
{
|
"建档时间","客户来源","行业分类","客户类型","客户名称","客户单位","联系人微信"
|
,"客户地址","网址","联系人座机","联系人手机","联系人QQ","联系人邮箱",
|
|
"联系人2姓名","联系人2手机","联系人2QQ"
|
|
};
|
foreach(var columnTitle in columnTitles)
|
{
|
//设置样式
|
var cell = worksheet.Cells[x, y++];
|
cell.Style.Font.Bold = true;
|
cell.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
|
cell.Style.VerticalAlignment = ExcelVerticalAlignment.Center;
|
cell.Value = columnTitle;
|
}
|
foreach (var item in data1)
|
{
|
x++;
|
y = 1;
|
var cell = worksheet.Cells[x, y++];
|
cell.Value = item.CreatetimeName;
|
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.KhlyName;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.HyflName;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.KhlxName;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.Name;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.Name;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.Weixin;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.Address;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.Url;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.Tel;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.Phone;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.Qq;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.Email;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.YwName;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.YwTel;
|
cell = worksheet.Cells[x, y++];
|
cell.Value = item.YwQq;
|
|
|
|
}
|
|
worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns();
|
|
using (var stream = new MemoryStream())
|
{
|
ep.SaveAs(stream);
|
return new FileContentResult(stream.ToArray(),
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
{
|
FileDownloadName = "导出档案客户资料" + DateTime.Now.ToString("yyyyMMdd") + ".xlsx"
|
};
|
}
|
|
|
|
|
}
|
|
|
public IActionResult IndexYiXiang()
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
List<ActionEntity> actionlist = new List<ActionEntity>();
|
|
|
|
|
|
|
|
List<PageEntity> pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/IntentionCustomer/IndexYiXiang/");
|
foreach(var pageEntity in pageEntities)
|
{
|
ActionEntity actionEntity = new ActionEntity();
|
actionEntity.OpenType = pageEntity.OpenType;
|
actionEntity.ActionUrl = "";
|
actionEntity.ActionFun = pageEntity.PageShortcut;
|
actionEntity.PageIco = pageEntity.PageIco;
|
actionEntity.ActionName = pageEntity.PageName;
|
actionlist.Add(actionEntity);
|
}
|
|
ViewData["ActionInfo"] = actionlist;
|
|
|
ViewBag.khly = _liaotianService.GetSYScode("IntentionCustomer", "khly").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
|
|
ViewBag.ywjl = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList();
|
|
ViewBag.Dianxiaozhuanyuan = _userService.GetList().Select(x => new { code = x.Id, label = x.UserName }).ToList();
|
|
|
ViewBag.ywjlId = curentuser.Id;
|
|
//ViewBag.khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
|
|
//ViewBag.hyfl = _liaotianService.GetSYScode("CooperatecustomCustomer", "hyfl").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
|
//ViewBag.ShengDropDown = _projectService.Getsheng().Select(x => new { code = x.CodeId, label = x.Name }).ToList();
|
return View();
|
|
}
|
|
/// <summary>
|
/// 解绑
|
/// </summary>
|
/// <param name="id"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public JsonResult UnBind(string id)
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ResultEntity resultEntity = new ResultEntity();
|
using (TransactionScope scope = new TransactionScope())
|
{
|
string[] ids = id.Split(',');
|
foreach (var iddd in ids)
|
{
|
var intentionCustomerDTO = _intentionCustomerService.Get(iddd);
|
intentionCustomerDTO.Yixiang = null;
|
intentionCustomerDTO.Yixiangtime = null;
|
resultEntity = _intentionCustomerService.save(intentionCustomerDTO);
|
if (!resultEntity.Result)
|
{
|
return new JsonResult(resultEntity);
|
}
|
}
|
|
|
|
scope.Complete();
|
}
|
return new JsonResult(resultEntity);
|
}
|
|
public IActionResult Edit(string id = null,string namecus = null)
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
|
IntentionCustomerDTO intentionCustomerDTO = new IntentionCustomerDTO();
|
if (!String.IsNullOrEmpty(id))
|
{
|
intentionCustomerDTO = _intentionCustomerService.Get(id);
|
|
}
|
else
|
{
|
intentionCustomerDTO.Khly = "01";
|
intentionCustomerDTO.Khlx = "01";
|
intentionCustomerDTO.Sheng = "510000";
|
intentionCustomerDTO.City = "510100";
|
intentionCustomerDTO.AreaId = "510107";
|
intentionCustomerDTO.Name = namecus;
|
|
}
|
|
var sheng = _projectService.Getsheng();
|
var shi = _projectService.Getshi(intentionCustomerDTO.Sheng);
|
var quxian = _projectService.Getquxian(intentionCustomerDTO.City);
|
var users = _userService.GetList().Where(x => x.IsYwjl == "A").ToList(); ;
|
|
ViewData["khlx"] = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx");
|
ViewData["khly"] = _liaotianService.GetSYScode("IntentionCustomer", "khly");
|
ViewData["hyfl"] = _liaotianService.GetSYScode("CooperatecustomCustomer", "hyfl");
|
|
ViewData["users"] = users;
|
|
ViewData["sheng"] = sheng;
|
ViewData["shi"] = shi;
|
ViewData["quxian"] = quxian;
|
ViewData["DeptId"] = _hrDeptService.GetList();
|
ViewData.Model = intentionCustomerDTO;
|
return View();
|
}
|
|
|
|
|
public IActionResult EditByName( string name)
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
|
IntentionCustomerDTO intentionCustomerDTO = new IntentionCustomerDTO();
|
|
intentionCustomerDTO = _intentionCustomerService.GetByName(name);
|
|
|
|
var sheng = _projectService.Getsheng();
|
var shi = _projectService.Getshi(intentionCustomerDTO.Sheng);
|
var quxian = _projectService.Getquxian(intentionCustomerDTO.City);
|
var users = _userService.GetList().Where(x => x.IsYwjl == "A").ToList(); ;
|
|
ViewData["khlx"] = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx");
|
ViewData["khly"] = _liaotianService.GetSYScode("IntentionCustomer", "khly");
|
ViewData["hyfl"] = _liaotianService.GetSYScode("CooperatecustomCustomer", "hyfl");
|
|
ViewData["users"] = users;
|
|
ViewData["sheng"] = sheng;
|
ViewData["shi"] = shi;
|
ViewData["quxian"] = quxian;
|
ViewData["DeptId"] = _hrDeptService.GetList();
|
ViewData.Model = intentionCustomerDTO;
|
return View();
|
}
|
|
|
|
/// <summary>
|
/// 保存
|
/// </summary>
|
/// <param name="data">岗位实体类对象</param>
|
/// <returns></returns>
|
///
|
[HttpPost]
|
public IActionResult Save(IntentionCustomerDTO data)
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
data.RecStatus = "A";
|
if (string.IsNullOrEmpty(data.Shifoutianjiaweixin))
|
{
|
data.Shifoutianjiaweixin = "D";
|
data.Weixiner = null;
|
data.Weixintime = null;
|
}
|
else
|
{
|
if (String.IsNullOrEmpty(data.Id))
|
{
|
data.Weixiner = curentuser.Id;
|
data.Weixintime = DateTime.Now;
|
}
|
else
|
{
|
var cooperatecustomCustomerDTO = _intentionCustomerService.Get(data.Id);
|
if (string.IsNullOrEmpty(cooperatecustomCustomerDTO.Weixiner))
|
{
|
data.Weixiner = curentuser.Id;
|
data.Weixintime = DateTime.Now;
|
}
|
|
}
|
}
|
if (String.IsNullOrEmpty(data.Id))
|
{
|
data.Creater = curentuser.Id;
|
data.Createtime = DateTime.Now;
|
}
|
data.Modifier = curentuser.Id;
|
data.Modifytime = DateTime.Now;
|
|
ResultEntity resultEntity = _intentionCustomerService.save(data);
|
|
return new JsonResult(resultEntity);
|
}
|
|
|
/// <summary>
|
/// 删除主信息
|
/// </summary>
|
/// <param name="info">实体</param>
|
/// <returns></returns>
|
///
|
public IActionResult Nullify(string Id = "")
|
{
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
return new JsonResult(_intentionCustomerService.ModifyStatus(Id, curentuser.Id));
|
}
|
|
|
|
/// <summary>
|
/// 转移客户
|
/// </summary>
|
/// <param name="info">实体</param>
|
/// <returns></returns>
|
///
|
public IActionResult Zhuanyi( string zhuanyiId)
|
{
|
ResultEntity resultEntity = new ResultEntity();
|
resultEntity.Result = true;
|
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
|
ViewData["curentuser"] = curentuser;
|
List<IntentionCustomerDTO> result = new List<IntentionCustomerDTO>();
|
|
if (zhuanyiId != null)
|
{
|
result = _intentionCustomerService.GetList(zhuanyiId.Split(","));
|
}
|
else
|
{
|
resultEntity.Result = false;
|
resultEntity.Message = "没有找到客户!";
|
}
|
using(TransactionScope scope = new TransactionScope())
|
{
|
if (result != null && result.Count > 0)
|
{
|
for (int i = 0; i < result.Count; i++)
|
{
|
|
resultEntity = _intentionCustomerService.ModifyStatus(result[i].Id, curentuser.Id);
|
if (!resultEntity.Result)
|
{
|
return new JsonResult(resultEntity);
|
}
|
|
var dto = _mapper.Map<CooperatecustomCustomerDTO>(result[i]);
|
dto.Id = "";
|
dto.Creater = curentuser.Id;
|
dto.Modifier = curentuser.Id;
|
dto.Createtime = DateTime.Now;
|
dto.Modifytime = dto.Createtime;
|
dto.zhuanyi = true;
|
resultEntity = _cooperatecustomCustomerService.save(dto);
|
if (!resultEntity.Result)
|
{
|
return new JsonResult(resultEntity);
|
}
|
}
|
}
|
|
|
scope.Complete();
|
}
|
|
|
|
|
|
return new JsonResult(resultEntity);
|
}
|
|
|
|
|
[CheckLogin]
|
public IActionResult print(IntentionCustomerDTOSearch search)
|
{
|
//JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver());
|
search.rows = 10000;
|
search.page = 1;
|
ViewBag.listLiaotianDTO = _intentionCustomerService.SearchByPaging(search).DataList as List<IntentionCustomerDTO>;
|
|
|
|
return View();
|
}
|
|
}
|
}
|