username@email.com
2023-01-16 5701636d0554a89cdb6a06327658de75d74f67ed
zhengcaioa/zhengcaioa/Controllers/Customer/CooperatecustomCustomerController.cs
@@ -15,6 +15,7 @@
using System.Threading.Tasks;
using zhengcaioa.Models;
using zhengcaioa.IService;
using System.Transactions;
namespace zhengcaioa.Controllers.Customer
{
@@ -27,9 +28,14 @@
        private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService;
        private readonly IUserService _userService;
        private readonly IHrDeptService _hrDeptService;
        private readonly ISysAttachmentService _sysAttachmentService;
        private readonly IPltPageService _pltPageService;
        private readonly ICooperVisitService _cooperVisitService;
        public CooperatecustomCustomerController(ILogger<CooperatecustomCustomerController> logger, IProjectService projectService, ILiaotianService liaotianService, ICooperatecustomCustomerService cooperatecustomCustomerService, IUserService userService, IHrDeptService hrDeptService)
        public CooperatecustomCustomerController(ILogger<CooperatecustomCustomerController> logger, IProjectService projectService, ILiaotianService liaotianService, ICooperatecustomCustomerService cooperatecustomCustomerService, IUserService userService, IHrDeptService hrDeptService
            , ISysAttachmentService sysAttachmentService
              , IPltPageService pltPageService
             , ICooperVisitService cooperVisitService)
        {
            _logger = logger;
            _projectService = projectService;
@@ -37,6 +43,9 @@
            _cooperatecustomCustomerService = cooperatecustomCustomerService;
            _userService = userService;
            _hrDeptService = hrDeptService;
            _sysAttachmentService = sysAttachmentService;
            _pltPageService = pltPageService;
            _cooperVisitService = cooperVisitService;
        }
        public IActionResult Index()
@@ -44,69 +53,119 @@
            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 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 actionEntity3 = new ActionEntity();
            actionEntity3.OpenType = 0;
            actionEntity3.ActionUrl = "";
            actionEntity3.ActionFun = "Print";
            actionEntity3.PageIco = "fa fa-print";
            actionEntity3.ActionName = "打印资料";
            actionlist.Add(actionEntity3);
            //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 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 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 actionEntity6 = new ActionEntity();
            //actionEntity6.OpenType = 0;
            //actionEntity6.ActionUrl = "";
            //actionEntity6.ActionFun = "Xinhan";
            //actionEntity6.PageIco = "";
            //actionEntity6.ActionName = "商业信函";
            //actionlist.Add(actionEntity6);
            var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/CooperatecustomCustomer/Index/");
            var pageEntities1 = pageEntities.Where(x => x.PageMethod == "01").ToList();
            if (pageEntities1.Count(x => x.PageShortcut == "Search") <= 0)
            {
                ActionEntity actionEntity = new ActionEntity();
                actionEntity.OpenType = 0;
                actionEntity.ActionUrl = "";
                actionEntity.ActionFun = "Search";
                actionEntity.PageIco = "fa fa-search";
                actionEntity.ActionName = "查询";
                actionlist.Add(actionEntity);
                ViewData["Creater"] = curentuser.Id;
            }
            var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList();
            foreach (var pageEntity in pageEntities1)
            {
                ActionEntity actionEntity1 = new ActionEntity();
                actionEntity1.OpenType = pageEntity.OpenType;
                actionEntity1.ActionUrl = "";
                actionEntity1.ActionFun = pageEntity.PageShortcut;
                actionEntity1.PageIco = pageEntity.PageIco;
                actionEntity1.ActionName = pageEntity.PageName;
                actionlist.Add(actionEntity1);
            }
            ViewData["ActionInfo"] = actionlist;
            ViewData["ActionInfo2"] = pageEntities2;
            ViewBag.khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
            ViewBag.khly = _liaotianService.GetSYScode("CooperatecustomCustomer", "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.shifou = _liaotianService.GetSYScode("system", "shifou").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();
            var users = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList();
            users.Insert(0, new { code = "11111", label = "无业务经理" });
            ViewBag.users = users;
            ViewBag.ShengDropDown = _projectService.Getsheng().Select(x => new { code = x.CodeId, label = x.Name }).ToList();
            var areaDTOs = _projectService.Getsheng().ToList();
            foreach (var areaDTO in areaDTOs)
            {
                if (areaDTO.CodeId == "510000")
                {
                    areaDTOs.Remove(areaDTO);
                    break;
                }
            }
            var areaDTOsic = new Area();
            areaDTOsic.CodeId = "510000";
            areaDTOsic.Name = "四川省";
            areaDTOsic.ParentId = "0     ";
            areaDTOs.Insert(1, areaDTOsic);
            ViewBag.ShengDropDown = areaDTOs.Select(x => new { code = x.CodeId, label = x.Name }).ToList();
            ViewBag.Baomingtimebegin = DateTime.Now.AddMonths(-6).ToString("yyyy-MM-dd");
            ViewBag.Baomingtimeend = DateTime.Now.ToString("yyyy-MM-dd");
            return View();
   
        }
@@ -121,12 +180,21 @@
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/CooperatecustomCustomer/Index/");
            var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList();
            ViewData["ActionInfo2"] = pageEntities2;
            CooperatecustomCustomerDTO cooperatecustomCustomerDTO = new CooperatecustomCustomerDTO();
            if (!String.IsNullOrEmpty(id))
            {
                cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(id);
                CooperVisitDTOSearch searchEntity = new CooperVisitDTOSearch();
                searchEntity.page = 1;
                searchEntity.rows = 1000;
                searchEntity.Viscustomer = id;
                var resultDataEntity = _cooperVisitService.SearchByPaging(searchEntity);
                ViewData["visitlishi"] = resultDataEntity.DataList;
            }
            else
            {
@@ -135,10 +203,26 @@
                cooperatecustomCustomerDTO.Sheng = "510000";
                cooperatecustomCustomerDTO.City = "510100";
                cooperatecustomCustomerDTO.AreaId = "510107";
                ViewData["visitlishi"] = new List<CooperVisitDTO>();
            }
            var sheng = _projectService.Getsheng();
            var areaDTOs = _projectService.Getsheng().ToList();
            foreach (var areaDTO in areaDTOs)
            {
                if (areaDTO.CodeId == "510000")
                {
                    areaDTOs.Remove(areaDTO);
                    break;
                }
            }
            var areaDTOsic = new Area();
            areaDTOsic.CodeId = "510000";
            areaDTOsic.Name = "四川省";
            areaDTOsic.ParentId = "0     ";
            areaDTOs.Insert(1, areaDTOsic);
            var sheng = areaDTOs;
            var shi = _projectService.Getshi(cooperatecustomCustomerDTO.Sheng);
            var quxian = _projectService.Getquxian(cooperatecustomCustomerDTO.City);
            var users = _userService.GetList().Where(x => x.IsYwjl == "A").ToList(); ;
@@ -154,8 +238,52 @@
            ViewData["quxian"] = quxian;
            ViewData["DeptId"] = _hrDeptService.GetList();
            ViewData.Model = cooperatecustomCustomerDTO;
            ResultDataEntity<SysAttachmentDTO> resultsyinyezhizhao = new ResultDataEntity<SysAttachmentDTO>();
            if (!string.IsNullOrEmpty(id))
            {
                SysAttachmentDTOSearch searchEntity = new SysAttachmentDTOSearch();
                searchEntity.page = 1;
                searchEntity.rows = 1000;
                searchEntity.AttObj = "Cooperyinyezhizhao";
                searchEntity.AttObjid = id;
                resultsyinyezhizhao = _sysAttachmentService.SearchByPaging(searchEntity);
            }
            ViewBag.yinyezhizhao = resultsyinyezhizhao;
            ResultDataEntity<SysAttachmentDTO> resultshenfenzheng = new ResultDataEntity<SysAttachmentDTO>();
            if (!string.IsNullOrEmpty(id))
            {
                SysAttachmentDTOSearch searchEntity = new SysAttachmentDTOSearch();
                searchEntity.page = 1;
                searchEntity.rows = 1000;
                searchEntity.AttObj = "Cooperashenfenzheng";
                searchEntity.AttObjid = id;
                resultshenfenzheng = _sysAttachmentService.SearchByPaging(searchEntity);
            }
            ViewBag.shenfenzheng = resultshenfenzheng;
            return View();
        }
        public IActionResult GetCustomer(string id)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
              var  cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(id);
            return new JsonResult(cooperatecustomCustomerDTO);
        }
        /// <summary>
@@ -167,22 +295,79 @@
        [HttpPost]
        public IActionResult Save(CooperatecustomCustomerDTO data)
        {
            ResultEntity resultEntity = new ResultEntity();
            resultEntity.Result = false;
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            data.RecStatus = "A";
            if (string.IsNullOrEmpty(data.Shifoutianjiaweixin))
            using (TransactionScope scope = new TransactionScope())
            {
                data.Shifoutianjiaweixin = "D";
            }
            if (String.IsNullOrEmpty(data.Id))
            {
                data.Creater = curentuser.Id;
                data.Createtime = DateTime.Now;
            }
            data.Modifier = curentuser.Id;
            data.Modifytime = DateTime.Now;
                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 = _cooperatecustomCustomerService.Get(data.Id);
                        if (string.IsNullOrEmpty(cooperatecustomCustomerDTO.Weixiner))
                        {
                            data.Weixiner = curentuser.Id;
                            data.Weixintime = DateTime.Now;
                        }
            ResultEntity resultEntity = _cooperatecustomCustomerService.save(data);
                    }
                }
                if (String.IsNullOrEmpty(data.Id))
                {
                    data.Creater = curentuser.Id;
                    data.Createtime = DateTime.Now;
                }
                data.Modifier = curentuser.Id;
                data.Modifytime = DateTime.Now;
                resultEntity = _cooperatecustomCustomerService.save(data);
                string[] Filepaths = data.Filepath;
                if (Filepaths != null && Filepaths.Length > 0)
                {
                    for (int i = 0; i < Filepaths.Length; i++)
                    {
                        if (string.IsNullOrEmpty(data.attachmentid[i]))
                        {
                            SysAttachmentDTO sysAttachmentDTO = new SysAttachmentDTO();
                            //sysAttachmentDTO.Id =
                            sysAttachmentDTO.AttObj = data.AttObj[i];
                            sysAttachmentDTO.AttObjid = data.Id;
                            sysAttachmentDTO.Filefullname = data.Filefullname[i];
                            sysAttachmentDTO.Filepath = data.Filepath[i];
                            sysAttachmentDTO.Creater = curentuser.Id;
                            sysAttachmentDTO.Modifier = curentuser.Id;
                            sysAttachmentDTO.Createtime = DateTime.Now;
                            sysAttachmentDTO.Modifytime = sysAttachmentDTO.Createtime;
                            resultEntity = _sysAttachmentService.save(sysAttachmentDTO);
                            if (resultEntity.Result == false)
                            {
                                return new JsonResult(resultEntity);
                            }
                        }
                    }
                }
                scope.Complete();
            }
            return  new JsonResult(resultEntity);
        }
@@ -215,5 +400,182 @@
            return View();
        }
        [CheckLogin]
        public IActionResult IndexCustomerGuanlian(string CustomerId,string Customertype)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            CustomerGuanlianDTO customerGuanlianDTO = new CustomerGuanlianDTO();
            customerGuanlianDTO.CustomerId = CustomerId;
            customerGuanlianDTO.Customertype = Customertype;
            customerGuanlianDTO.cooperatecustomCustomerDTOs = _cooperatecustomCustomerService.GetListCustomerGuanlian(CustomerId);
            ViewData.Model = customerGuanlianDTO;
            return View();
        }
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="data">岗位实体类对象</param>
        /// <returns></returns>
        ///
        [HttpPost]
        public IActionResult DelCustomerGuanlian(CustomerGuanlianDTO dTO)
        {
            ResultEntity resultEntity = new ResultEntity();
            resultEntity.Result = false;
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            resultEntity = _cooperatecustomCustomerService.DeleteCustomerGuanlian(dTO.CustomerId, dTO.SecCustomerId);
            return new JsonResult(resultEntity);
        }
        public IActionResult IndexSelect(string Id, string Customertype)
        {
            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 actionEntity2 = new ActionEntity();
            actionEntity2.OpenType = 0;
            actionEntity2.ActionUrl = "";
            actionEntity2.ActionFun = "Zhuanyi";
            actionEntity2.PageIco = "fa fa-exchange";
            actionEntity2.ActionName = "确认关联";
            actionlist.Add(actionEntity2);
            ViewData["ActionInfo"] = actionlist;
            //ViewData["ActionInfo2"] = pageEntities2;
            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();
            var areaDTOs = _projectService.Getsheng().ToList();
            foreach (var areaDTO in areaDTOs)
            {
                if (areaDTO.CodeId == "510000")
                {
                    areaDTOs.Remove(areaDTO);
                    break;
                }
            }
            var areaDTOsic = new Area();
            areaDTOsic.CodeId = "510000";
            areaDTOsic.Name = "四川省";
            areaDTOsic.ParentId = "0     ";
            areaDTOs.Insert(1, areaDTOsic);
            ViewBag.ShengDropDown = areaDTOs.Select(x => new { code = x.CodeId, label = x.Name }).ToList();
            ViewBag.Baomingtimebegin = DateTime.Now.AddMonths(-6).ToString("yyyy-MM-dd");
            ViewBag.Baomingtimeend = DateTime.Now.ToString("yyyy-MM-dd");
            ViewBag.Id = Id;
            ViewBag.Customertype1 = Customertype;
            ViewBag.Customertype = _liaotianService.GetSYScode("ADM_Askzczbwsydtl", "Customertype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
            return View();
        }
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="data">岗位实体类对象</param>
        /// <returns></returns>
        ///
        [HttpPost]
        public IActionResult SaveCustomerGuanlian(CustomerGuanlianDTO dTO)
        {
            ResultEntity resultEntity = new ResultEntity();
            resultEntity.Result = true;
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
           new TransactionOptions
           {
               IsolationLevel = IsolationLevel.ReadCommitted,
               Timeout = TransactionManager.MaximumTimeout
           }
           ))
            {
                if (!string.IsNullOrWhiteSpace(dTO.SecCustomerId))
                {
                    var SecCustomerId = dTO.SecCustomerId.Split(',');
                    var SecCustomertype = dTO.SecCustomertype.Split(',');
                    for (int i = 0; i < SecCustomerId.Length; i++)
                    {
                        var customerGuanlianDTO = _cooperatecustomCustomerService.GetCustomerGuanlian(dTO.CustomerId, SecCustomerId[i]);
                        if (string.IsNullOrEmpty(customerGuanlianDTO.Id))
                        {
                            customerGuanlianDTO.CustomerId = dTO.CustomerId;
                            customerGuanlianDTO.Customertype = dTO.Customertype;
                            customerGuanlianDTO.SecCustomerId = SecCustomerId[i];
                            customerGuanlianDTO.SecCustomertype = SecCustomertype[i];
                            resultEntity = _cooperatecustomCustomerService.saveCustomerGuanlian(customerGuanlianDTO);
                        }
                    }
                    scope.Complete();
                }
                else
                {
                    resultEntity.Result = true;
                }
            }
            return new JsonResult(resultEntity);
        }
    }
}