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; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Text; using System.Threading.Tasks; using zhengcaioa.IService; using zhengcaioa.Models; using System.IdentityModel.Tokens.Jwt; using CommonToolsCore; using System.Transactions; using DTO.WebCrawler; using System.Net.Http.Headers; using Microsoft.Extensions.Configuration; namespace zhengcaioa.Controllers { public class ProjectController : Controller { private readonly ILogger _logger; private readonly IProjectService _projectService; private readonly ILiaotianService _liaotianService; private readonly IIntentionCustomerService _intentionCustomerService; private readonly IUserService _userService; private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService; private readonly ISysBaimingdanService _sysBaimingdanService; private readonly IFiOrderrecievemoneyService _fiOrderrecievemoneyService; private readonly IAreaService _areaService; private readonly IPltPageService _pltPageService; private readonly IConfiguration _configuration; public ProjectController(ILogger logger, IProjectService projectService, ILiaotianService liaotianService,IIntentionCustomerService intentionCustomerService, IUserService userService , ICooperatecustomCustomerService cooperatecustomCustomerService , ISysBaimingdanService sysBaimingdanService , IFiOrderrecievemoneyService fiOrderrecievemoneyService , IAreaService areaService , IPltPageService pltPageService , IConfiguration configuration) { _logger = logger; _projectService = projectService; _liaotianService = liaotianService; _intentionCustomerService = intentionCustomerService; _userService = userService; _cooperatecustomCustomerService = cooperatecustomCustomerService; _sysBaimingdanService = sysBaimingdanService; _fiOrderrecievemoneyService = fiOrderrecievemoneyService; _areaService = areaService; _pltPageService = pltPageService; _configuration = configuration; } [CheckLogin] public IActionResult Index() { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; List actionlist = new List(); 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); ViewData["ActionInfo"] = actionlist; return View(); } [CheckLogin] public IActionResult Add(string id = null) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/Project/Select"); var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList(); ViewData["ActionInfo2"] = pageEntities2; ProjectDTO projectDTO = new ProjectDTO(); if (!String.IsNullOrEmpty(id)) { projectDTO = _projectService.GetLiaotianEntity(id); var intentionCustomerDTOs = _intentionCustomerService.GetList(); var cooperatecustomCustomerDTOs = _cooperatecustomCustomerService.GetList(); if (projectDTO.Projectzhongbiaos!=null && projectDTO.Projectzhongbiaos.Count > 0) { for(int i=0;i< projectDTO.Projectzhongbiaos.Count; i++) { var intt = intentionCustomerDTOs.Count(x=>x.Name == projectDTO.Projectzhongbiaos[i].Names); if (intt > 0) { projectDTO.Projectzhongbiaos[i].ProjectId = "yes"; } intt = cooperatecustomCustomerDTOs.Count(x => x.Name == projectDTO.Projectzhongbiaos[i].Names); if (intt > 0) { projectDTO.Projectzhongbiaos[i].ProjectId = "yes"; } } } if (!string.IsNullOrWhiteSpace(projectDTO.Drhx)) { var intt = intentionCustomerDTOs.Count(x => x.Name == projectDTO.Drhx); if (intt > 0) { projectDTO.Drcunzai = "yes"; } intt = cooperatecustomCustomerDTOs.Count(x => x.Name == projectDTO.Drhx); if (intt > 0) { projectDTO.Drcunzai = "yes"; } } if (!string.IsNullOrWhiteSpace(projectDTO.Dshx)) { var intt = intentionCustomerDTOs.Count(x => x.Name == projectDTO.Dshx); if (intt > 0) { projectDTO.Dscunzai = "yes"; } intt = cooperatecustomCustomerDTOs.Count(x => x.Name == projectDTO.Dshx); if (intt > 0) { projectDTO.Dscunzai = "yes"; } } if (projectDTO.projectreasons != null && projectDTO.projectreasons.Count > 0) { for (int i = 0; i < projectDTO.projectreasons.Count; i++) { var intt = intentionCustomerDTOs.Count(x => x.Name == projectDTO.projectreasons[i].Reasonname); if (intt > 0) { projectDTO.projectreasons[i].ProjectId = "yes"; } intt = cooperatecustomCustomerDTOs.Count(x => x.Name == projectDTO.projectreasons[i].Reasonname); if (intt > 0) { projectDTO.projectreasons[i].ProjectId = "yes"; } } } if (projectDTO.Projectyouxiaos != null && projectDTO.Projectyouxiaos.Count > 0) { for (int i = 0; i < projectDTO.Projectyouxiaos.Count; i++) { var intt = intentionCustomerDTOs.Count(x => x.Name == projectDTO.Projectyouxiaos[i].Namesyouxiao); if (intt > 0) { projectDTO.Projectyouxiaos[i].ProjectId = "yes"; } intt = cooperatecustomCustomerDTOs.Count(x => x.Name == projectDTO.Projectyouxiaos[i].Namesyouxiao); if (intt > 0) { projectDTO.Projectyouxiaos[i].ProjectId = "yes"; } } } if (!string.IsNullOrWhiteSpace(projectDTO.Caigourenname)) { var intt = intentionCustomerDTOs.Count(x => x.Name == projectDTO.Caigourenname); if (intt > 0) { projectDTO.Caigourennamecunzai = "yes"; } intt = cooperatecustomCustomerDTOs.Count(x => x.Name == projectDTO.Caigourenname); if (intt > 0) { projectDTO.Caigourennamecunzai = "yes"; } } if (!string.IsNullOrWhiteSpace(projectDTO.Dailiname)) { var intt = intentionCustomerDTOs.Count(x => x.Name == projectDTO.Dailiname); if (intt > 0) { projectDTO.Dailinamecunzai = "yes"; } intt = cooperatecustomCustomerDTOs.Count(x => x.Name == projectDTO.Dailiname); if (intt > 0) { projectDTO.Dailinamecunzai = "yes"; } } } else { projectDTO.Sheng = "510000"; projectDTO.City = "510100"; projectDTO.AreaId = "510107"; var Projectreasonlist = new List(); Projectreasonlist.Add(new Projectreason()); projectDTO.projectreasons = Projectreasonlist; var Projectyouxiaolist = new List(); Projectyouxiaolist.Add(new Projectyouxiao()); projectDTO.Projectyouxiaos = Projectyouxiaolist; var Projectzhongbiaoslist = new List(); Projectzhongbiaoslist.Add(new ProjectzhongbiaoDTO()); projectDTO.Projectzhongbiaos = Projectzhongbiaoslist; projectDTO.StartTime = DateTime.Now; } var zhuanjia = _projectService.Getzhuanjie(); var cgfs = _projectService.GetCgfs(); 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(projectDTO.Sheng); var quxian = _projectService.Getquxian(projectDTO.City); ViewBag.flbx = _liaotianService.GetSYScode("Project", "flbx"); ViewBag.zhuanjia = zhuanjia; ViewBag.cgfs = cgfs; ViewBag.sheng = sheng; ViewBag.shi = shi; ViewBag.quxian = quxian; ViewData.Model = projectDTO; return View(); } /// /// 获取区县 /// /// 市id /// [CheckLogin] public string getAreaId(string cityid = "") { var quxian = _projectService.Getquxian(cityid); return JsonConvert.SerializeObject(quxian); } /// /// 获取市 /// /// 省id /// /// [CheckLogin] public string getCity(string shengid = "") { var shi = _projectService.Getshi(shengid); return JsonConvert.SerializeObject(shi); } /// /// 保存 /// /// 岗位实体类对象 /// /// [CheckLogin] [HttpPost] public string Save(ProjectDTO data) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; data.RecStatus = "A"; if (String.IsNullOrEmpty(data.Id)) { data.Creater = curentuser.Id; data.Createtime = DateTime.Now; } data.Modifier = curentuser.Id; data.Modifytime = DateTime.Now; ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = false; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted, Timeout = TransactionManager.MaximumTimeout } )) { resultEntity = _projectService.saveLiaotian(data); scope.Complete(); } return JsonConvert.SerializeObject(resultEntity); } [CheckLogin] public IActionResult Select() { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; List actionlist = new List(); //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); var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/Project/Select"); 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["Creater11"] = curentuser.Id; } 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; ViewBag.ProjectDropDown = _projectService.AllcgfsDropDown().Select(x => new { code = x.Value, label = x.Text }).ToList(); //ViewBag.flbx = _liaotianService.GetSYScode("Project", "flbx").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.Creater = _userService.GetList().Select(x => new { code = x.Id, label = x.UserName }).ToList(); ViewBag.flbx = _liaotianService.GetSYScode("system", "shifou").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.ShiFouyReasonname = _liaotianService.GetSYScode("Project", "ShiFouyReasonname").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.Baomingtimebegin = DateTime.Now.AddMonths(-6).ToString("yyyy-MM-dd"); ViewBag.Baomingtimeend = DateTime.Now.ToString("yyyy-MM-dd"); ViewBag.wanshan = _liaotianService.GetSYScode("Project", "wanshan").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); return View(); } [CheckLogin] public string GetLiaotianList(ProjectDTOSearch search) { //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return JsonConvert.SerializeObject(_projectService.SearchByPaging(search)); } /// /// 删除主信息 /// /// 实体 /// /// [CheckLogin] public string Nullify(string Id = "") { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; return JsonConvert.SerializeObject(_projectService.ModifyStatus(Id, curentuser.Id)); } /// /// 获取项目信息 /// /// 项目网址 /// /// public string getProjectxinxi(string address = "") { ProjectDTO projectDTO = new ProjectDTO(); var parser = new HtmlParser(); using (HttpClient client = new HttpClient()) { HttpResponseMessage response = client.GetAsync(address).Result; var res = response.Content.ReadAsStringAsync().Result; var document = parser.ParseDocument(res); if (address.StartsWith("https://zfcg.scsczt.cn/")) { //新招标网站 var contentList = document.All.Where(m => m.Id == "print-content"); if (contentList != null) { var cDocumet = contentList.First(); var title = cDocumet.QuerySelector("h1"); if (title != null) projectDTO.Name = title.TextContent.Replace("\n", "").Trim(); var time = contentList.Where(m => m.Id == "noticeTime"); if (time != null) { var time1 = contentList.First(); var timestr = time1.QuerySelector("i"); if (timestr != null) { projectDTO.StartTimestr = timestr.TextContent; } } var feibiaoliyous = cDocumet.QuerySelectorAll("div").Where(m => m.Id == "_notice_content_reason-reason"); if (feibiaoliyous != null && feibiaoliyous.ToList().Count > 0) { var feibiaoliyou = feibiaoliyous.First(); projectDTO.Fbyy = feibiaoliyou.TextContent.Replace("\n", "").Replace("\t", ""); projectDTO.Fblx = "终止采购"; } var Numbers = cDocumet.QuerySelectorAll("h4"); foreach(var Number in Numbers ) { if(Number!=null&& Number.TextContent.Contains("项目编号")) { projectDTO.Number = Number.TextContent.Replace("一、项目编号:", "").Trim(); } } var Numberss = cDocumet.QuerySelectorAll("p"); foreach (var Number in Numberss) { if (Number != null && Number.TextContent.Contains("项目编号")) { projectDTO.Number = Number.TextContent.Replace("项目编号:", "").Trim(); } if (Number != null && Number.TextContent.Contains("预算金额")) { decimal caigouyusuanName = 0; decimal.TryParse(Number.TextContent.Replace("预算金额:", "").Replace("元", "").Replace(",", "").Trim(), out caigouyusuanName); projectDTO.CaigouyusuanName = (caigouyusuanName/new decimal(10000)).ToString(); } if (Number != null && Number.TextContent.Contains("废标理由")) { var Fbyy = Number.QuerySelector("span"); projectDTO.Fbyy = Fbyy.TextContent.Trim(); projectDTO.Fblx = "停止评审"; } if (Number != null && Number.TextContent.Contains("终止原因")) { var Fbyy = Number.QuerySelector("span"); projectDTO.Fbyy = Fbyy.TextContent.Trim(); projectDTO.Fblx = "停止评审"; } } var Caigourennames = cDocumet.QuerySelectorAll("span").Where(m => m.Id == "_notice_content_noticePurchase-purchaserOrgName"); if (Caigourennames != null && Caigourennames.ToList().Count > 0) { var Caigourenname = Caigourennames.First(); projectDTO.Caigourenname = Caigourenname.TextContent; } var Caigourenaddresss = cDocumet.QuerySelectorAll("span").Where(m => m.Id == "_notice_content_noticePurchase-purchaserOrgAddress"); if (Caigourenaddresss != null && Caigourenaddresss.ToList().Count > 0) { var Caigourenaddress = Caigourenaddresss.First(); projectDTO.Caigourenaddress = Caigourenaddress.TextContent; } var Caigourencontacts = cDocumet.QuerySelectorAll("span").Where(m => m.Id == "_notice_content_noticePurchase-purchaserLinkTel"); if (Caigourencontacts != null && Caigourencontacts.ToList().Count > 0) { var Caigourencontact = Caigourencontacts.First(); projectDTO.Caigourencontact = Caigourencontact.TextContent; } var Dailinames = cDocumet.QuerySelectorAll("span").Where(m => m.Id == "_notice_content_noticeAgency-agencyName"); if (Dailinames != null && Dailinames.ToList().Count > 0) { var Dailiname = Dailinames.First(); projectDTO.Dailiname = Dailiname.TextContent; } var Dailiaddresss = cDocumet.QuerySelectorAll("span").Where(m => m.Id == "_notice_content_noticeAgency-agentAddress"); if (Dailiaddresss != null && Dailiaddresss.ToList().Count > 0) { var Dailiaddress = Dailiaddresss.First(); projectDTO.Dailiaddress = Dailiaddress.TextContent; } var Dailicontacts = cDocumet.QuerySelectorAll("span").Where(m => m.Id == "_notice_content_noticeAgency-agentLinkTel"); if (Dailicontacts != null && Dailicontacts.ToList().Count > 0) { var Dailicontact = Dailicontacts.First(); projectDTO.Dailicontact = Dailicontact.TextContent; } var table1 = cDocumet.QuerySelectorAll("div").Where(m => m.Id == "_notice_content_noticeBidResult-noticeBidResult"); if (table1 != null && table1.ToList().Count > 0) { var table = table1.First().QuerySelectorAll("table"); if (table != null && table.ToList().Count > 0) { projectDTO.Projectzhongbiaos = new List(); for (int i = 0; i < table.Length; i++) { var td = table[i].QuerySelectorAll("td"); if (td.Length >= 3) { var projectzhongbiao = new ProjectzhongbiaoDTO(); projectzhongbiao.Names = td[0].TextContent.Trim(); projectzhongbiao.Price = td[2].TextContent.Trim(); projectDTO.Projectzhongbiaos.Add(projectzhongbiao); } } } } var zhuanjias = cDocumet.QuerySelectorAll("div").Where(m => m.ClassName == "noticeBidResult-noticeBidResult _notice_content_noticeBidResult-noticeBidResult expert dynamic-form-editor"); if (zhuanjias != null && zhuanjias.ToList().Count > 0) { var zhuanjia = zhuanjias.First(); projectDTO.Zhuanjia = zhuanjia.TextContent.Trim();//OuterHtml } } } else { //旧招标网站 var time = document.QuerySelector("p"); if (time != null) { string timestr = time.TextContent; if (timestr.IndexOf("系统发布时间:") >= 0) { timestr = timestr.Replace("系统发布时间:", ""); } projectDTO.StartTimestr = timestr; } var tittle = document.QuerySelector("h1"); if (tittle != null) { string tittlestr = tittle.TextContent; projectDTO.Name = tittlestr; } var table = document.QuerySelector("table").QuerySelectorAll("tr"); if (table != null) { for (int i = 0; i < table.Length; i++) { var select = table[i].QuerySelector("td"); if (select != null && select.TextContent.IndexOf("项目编号") >= 0) { if (table[i + 1] != null) { var td1 = table[i + 1].QuerySelector("td"); if (td1 != null) { projectDTO.Number = table[i + 1].QuerySelector("td").TextContent.Trim();//OuterHtml } } } //else if (select != null && select.TextContent.IndexOf("项目名称") >= 0) //{ // if (table[i + 1] != null) // { // var td1 = table[i + 1].QuerySelector("td"); // if (td1 != null) // { // projectDTO.Name = table[i + 1].QuerySelector("td").TextContent.Trim();//OuterHtml // } // } //} else if (select != null && select.TextContent.IndexOf("项目终止的原因") >= 0) { if (table[i + 1] != null) { var td1 = table[i + 1].QuerySelector("td"); if (td1 != null) { projectDTO.Fbyy = table[i + 1].QuerySelector("td").TextContent.Trim();//OuterHtml if (projectDTO.Fbyy.IndexOf("终止")<0) { projectDTO.Fblx = "停止评审"; } else { projectDTO.Fblx = "终止采购"; } } } } else if (select != null && select.TextContent.IndexOf("中标(成交)信息") >= 0) { projectDTO.Projectzhongbiaos = new List(); if (table[i + 1] != null) { var tds = table[i + 1].QuerySelectorAll("td"); if (tds != null) { if (tds.Length > 1) { string surpliername = table[i + 1].QuerySelectorAll("td")[1].TextContent.Trim();//OuterHtml var surpliernames = surpliername.Split(','); for (int j = 0; j < surpliernames.Length; j++) { var projectzhongbiao = new ProjectzhongbiaoDTO(); projectzhongbiao.Names = surpliernames[j].Trim(); //if (table[i + 2] != null) //{ // var tds2 = table[i + 2].QuerySelectorAll("td"); // if (tds2 != null) // { // if (tds2.Length > 1) // { // string adress = table[i + 2].QuerySelectorAll("td")[1].TextContent.Trim();//OuterHtml // var adresss = adress.Split(';'); // if (adresss.Length == surpliernames.Length) // { // projectzhongbiao.Names += " " + adresss[j].Trim(); // } // else if (adresss.Length < surpliernames.Length) // { // if (j < adresss.Length) // { // projectzhongbiao.Names += " " + adresss[j].Trim(); // } // else // { // projectzhongbiao.Names += " "; // } // } // else if (adresss.Length % surpliernames.Length == 0) // { // projectzhongbiao.Names += " " + adresss[(j + 1) * (adresss.Length / surpliernames.Length) - 1].Trim(); // } // else // { // projectzhongbiao.Names += " " + adresss[j + (adresss.Length - surpliernames.Length)].Trim(); // } // } // } //} if (table[i + 3] != null) { var tds3 = table[i + 3].QuerySelectorAll("td"); if (tds3 != null) { if (tds3.Length > 1) { string jine = table[i + 3].QuerySelectorAll("td")[1].TextContent.Trim();//OuterHtml var jines = jine.Split(';'); if (jines.Length == surpliernames.Length) { projectzhongbiao.Price = jines[j].Trim().Replace("中标金额", "").Replace(":", "").Replace(":", "");//OuterHtml } else if (jines.Length < surpliernames.Length) { if (j < jines.Length) { projectzhongbiao.Price = jines[j].Trim().Replace("中标金额", "").Replace(":", "").Replace(":", ""); } else { projectzhongbiao.Price = " "; } } else { if (j == 0) { projectzhongbiao.Price = jine.Trim().Replace("中标金额", "").Replace(":", "").Replace(":", ""); } else { projectzhongbiao.Price = jines[j + (jines.Length - surpliernames.Length)].Trim().Replace("中标金额", "").Replace(":", "").Replace(":", ""); } } } } } projectDTO.Projectzhongbiaos.Add(projectzhongbiao); } } } } } else if (select != null && select.TextContent.IndexOf("评审专家") >= 0) { if (table[i + 1] != null) { var td1 = table[i + 1].QuerySelector("td"); if (td1 != null) { string ssss = table[i + 1].QuerySelector("td").TextContent.Trim(); ssss = ssss.Replace("(组长)", "").Replace("(组长)", "").Replace(",", "、").Replace("(评审组长)", "").Replace("(评审组长)", "").Replace(";", "、").Replace("评审组长:", "").Replace("组长:", "").Replace("组员:", ""); projectDTO.Zhuanjia = ssss;//OuterHtml } } } else if (table[i] != null && table[i].TextContent.IndexOf("采购人信息") >= 0) { //StringBuilder remark = new StringBuilder(); // remark.Append("采购人信息:"); if (table[i + 1] != null) { var tds = table[i + 1].QuerySelectorAll("td"); if (tds != null) { // remark.Append(table[i + 1].QuerySelectorAll("td")[0].TextContent.Trim());//OuterHtml) if (tds.Length > 1) { // remark.Append(table[i + 1].QuerySelectorAll("td")[1].TextContent.Trim());//OuterHtml) projectDTO.Caigourenname = table[i + 1].QuerySelectorAll("td")[1].TextContent.Trim(); } } // remark.Append(" "); } if (table[i + 2] != null) { var tds = table[i + 2].QuerySelectorAll("td"); if (tds != null) { // remark.Append(table[i + 2].QuerySelectorAll("td")[0].TextContent.Trim());//OuterHtml) if (tds.Length > 1) { // remark.Append(table[i + 2].QuerySelectorAll("td")[1].TextContent.Trim());//OuterHtml) projectDTO.Caigourenaddress = table[i + 2].QuerySelectorAll("td")[1].TextContent.Trim(); } } // remark.Append(" "); } if (table[i + 3] != null) { var tds = table[i + 3].QuerySelectorAll("td"); if (tds != null) { // remark.Append(table[i + 3].QuerySelectorAll("td")[0].TextContent.Trim());//OuterHtml) if (tds.Length > 1) { // remark.Append(table[i + 3].QuerySelectorAll("td")[1].TextContent.Trim());//OuterHtml) projectDTO.Caigourencontact = table[i + 3].QuerySelectorAll("td")[1].TextContent.Trim(); } } // remark.Append(" "); } // remark.Append(" \n"); // projectDTO.Remark = remark.ToString(); } else if (table[i] != null && table[i].TextContent.IndexOf("采购代理机构信息") >= 0) { // StringBuilder remark = new StringBuilder(); // remark.Append("采购代理机构信息:"); if (table[i + 1] != null) { var tds = table[i + 1].QuerySelectorAll("td"); if (tds != null) { // remark.Append(table[i + 1].QuerySelectorAll("td")[0].TextContent.Trim());//OuterHtml) if (tds.Length > 1) { // remark.Append(table[i + 1].QuerySelectorAll("td")[1].TextContent.Trim());//OuterHtml) projectDTO.Dailiname = table[i + 1].QuerySelectorAll("td")[1].TextContent.Trim(); } // remark.Append(" "); } } if (table[i + 2] != null) { var tds = table[i + 2].QuerySelectorAll("td"); if (tds != null) { // remark.Append(table[i + 2].QuerySelectorAll("td")[0].TextContent.Trim());//OuterHtml) if (tds.Length > 1) { // remark.Append(table[i + 2].QuerySelectorAll("td")[1].TextContent.Trim());//OuterHtml) projectDTO.Dailiaddress = table[i + 2].QuerySelectorAll("td")[1].TextContent.Trim(); } } // remark.Append(" "); } if (table[i + 3] != null) { var tds = table[i + 3].QuerySelectorAll("td"); if (tds != null) { //remark.Append(table[i + 3].QuerySelectorAll("td")[0].TextContent.Trim());//OuterHtml) if (tds.Length > 1) { // remark.Append(table[i + 3].QuerySelectorAll("td")[1].TextContent.Trim());//OuterHtml) projectDTO.Dailicontact = table[i + 3].QuerySelectorAll("td")[1].TextContent.Trim(); } } //remark.Append(" "); } // remark.Append(" \n"); //if (string.IsNullOrEmpty(projectDTO.Remark)) //{ // projectDTO.Remark = remark.ToString(); //} //else //{ // projectDTO.Remark += remark.ToString(); //} } } } } return JsonConvert.SerializeObject(projectDTO); } } //获取对手分析 public IActionResult GetProjectFenxi([FromBody] ProjectDTOSearch search) { ReturnMsg> returnMsg = new ReturnMsg>(); returnMsg.code = 2; var sysBaimingdanDTOs = _sysBaimingdanService.GetList(); if (!string.IsNullOrEmpty(search.Zhuanjia)) { var sss = sysBaimingdanDTOs.Where(x => x.PostType == "01" && search.Zhuanjia.Contains(x.BaimingdanName)).Count(); if (sss > 0) { returnMsg.code = 2; returnMsg.error = "该专家请直接联系政采咨询"; returnMsg.count = 0; return new JsonResult(returnMsg); } } if (!string.IsNullOrEmpty(search.Names)) { var sss = sysBaimingdanDTOs.Where(x => x.PostType == "02" && search.Names.Contains(x.BaimingdanName)).Count(); if (sss > 0) { returnMsg.code = 11; returnMsg.error = "该供应商请直接联系政采咨询"; returnMsg.count = 0; return new JsonResult(returnMsg); } } if (!string.IsNullOrEmpty(search.NamesToubiao)) { var sss = sysBaimingdanDTOs.Where(x => x.PostType == "02" && search.NamesToubiao.Contains(x.BaimingdanName)).Count(); if (sss > 0) { returnMsg.code = 11; returnMsg.error = "该供应商请直接联系政采咨询"; returnMsg.count = 0; return new JsonResult(returnMsg); } } if (!string.IsNullOrEmpty(search.Reasonname)) { var sss = sysBaimingdanDTOs.Where(x => x.PostType == "02" && search.Reasonname.Contains(x.BaimingdanName)).Count(); if (sss > 0) { returnMsg.code = 11; returnMsg.error = "该供应商请直接联系政采咨询"; returnMsg.count = 0; return new JsonResult(returnMsg); } } try { string userid = ""; var headers = Request.Headers; if (headers != null) { //string SecurityKey = _configuration.GetSection("SecurityKey").Value; var keyId = headers["Authorization"].FirstOrDefault(); if (string.IsNullOrEmpty(keyId)) { returnMsg.code = 2; returnMsg.error = "没有获取到权限信息"; returnMsg.count = 0; return new JsonResult(returnMsg); } JwtSecurityToken jwt = null; var handler = new JwtSecurityTokenHandler(); var key1 = keyId.Replace("Bearer", "").Trim(); jwt = handler.ReadJwtToken(key1); System.Security.Claims.Claim sss = jwt.Claims.Where(x => x.Type == "id").FirstOrDefault(); userid = sss.Value; System.Security.Claims.Claim act = jwt.Claims.Where(x => x.Type == "act").FirstOrDefault(); AesClass aesClass = new AesClass(); RuleCollection ruleCollection = aesClass.DecryptRules(act.Value); //判断是否有永久对手分析权限 FiOrderrecievemoneyDTOSearch searchs = new FiOrderrecievemoneyDTOSearch(); searchs.page = 1; searchs.rows = 10000; searchs.Fkzt = "03"; searchs.OrderType = "02"; searchs.StartTime = DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd HH:mm:ss"); searchs.EndTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); searchs.HuiyuanId = userid; searchs.OrderType1 = "竞争对手和评审专家参加政府采购数据信息查询"; ResultDataEntity resultDataEntitys = _fiOrderrecievemoneyService.SearchByPaging(searchs); if (resultDataEntitys.DataList ==null || resultDataEntitys.DataList.Count == 0) //if (resultDataEntitys.DataList.Count > 0) { string token = key1.Length > 100 ? key1.Substring(key1.Length - 100) : key1; if (ruleCollection.PrivilegeService.Count(x=>x== "ZXDSFXLS")>0) //if (ruleCollection.ZXDSFXLS == 0) { DateTime yuechu = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); var zxdsfxlDTOs = _projectService.GetListZxdsfxl(userid, yuechu, yuechu.AddMonths(1),"1").OrderByDescending(x => x.Visittime).ToList(); if (zxdsfxlDTOs.Count > 30) { returnMsg.code = 2; returnMsg.error = "你本月30次测试机会已经用完!"; returnMsg.count = 0; return new JsonResult(returnMsg); } else if (zxdsfxlDTOs.Count == 30 && zxdsfxlDTOs[0].Visittime.Value.Day != DateTime.Now.Day) { returnMsg.code = 2; returnMsg.error = "你本月30次测试机会已经用完!"; returnMsg.count = 0; return new JsonResult(returnMsg); } var zxdsfxlDTOsnowdate = zxdsfxlDTOs.Where(x => x.Visittime >= DateTime.Now.Date && x.Visittime < DateTime.Now.AddDays(1).Date).OrderByDescending(x=>x.Visittime).ToList(); if (zxdsfxlDTOsnowdate.Count > 2) { returnMsg.code = 2; returnMsg.error = "你本日2次测试机会已经用完!"; returnMsg.count = 0; return new JsonResult(returnMsg); } else if (zxdsfxlDTOsnowdate.Count == 2) { TimeSpan ts2 = new TimeSpan(zxdsfxlDTOsnowdate[0].Visittime.Value.Ticks); TimeSpan ts1 = new TimeSpan(DateTime.Now.Ticks); TimeSpan timeLoop = ts1.Subtract(ts2).Duration(); if (timeLoop.TotalMinutes > 15) { returnMsg.code = 2; returnMsg.error = "你本日2次测试机会已经用完!"; returnMsg.count = 0; return new JsonResult(returnMsg); } else if (token != zxdsfxlDTOsnowdate[0].Token/* && zxdsfxlDTOs.Count == 30*/) { returnMsg.code = 2; returnMsg.error = "你本日2次测试机会已经用完!"; returnMsg.count = 0; return new JsonResult(returnMsg); } } else if(zxdsfxlDTOsnowdate.Count == 1) { TimeSpan ts2 = new TimeSpan(zxdsfxlDTOsnowdate[0].Visittime.Value.Ticks); TimeSpan ts1 = new TimeSpan(DateTime.Now.Ticks); TimeSpan timeLoop = ts1.Subtract(ts2).Duration(); if (token== zxdsfxlDTOsnowdate[0].Token && timeLoop.TotalMinutes > 15) { Response.StatusCode = 401;//重新登陆 returnMsg.code = 2; returnMsg.error = "你本次访问时间已经超过15分钟,请重新登陆!"; returnMsg.count = 0; return new JsonResult(returnMsg); } else if(token != zxdsfxlDTOsnowdate[0].Token && zxdsfxlDTOs.Count == 30) { returnMsg.code = 2; returnMsg.error = "你本月30次测试机会已经用完!"; returnMsg.count = 0; return new JsonResult(returnMsg); } } if (zxdsfxlDTOsnowdate.Count == 0 || token != zxdsfxlDTOsnowdate[0].Token) { //存储本次的访问信息 ZxdsfxlDTO zxdsfxlDTO = new ZxdsfxlDTO(); //zxdsfxlDTO.Id = Guid.NewGuid().ToString() ; zxdsfxlDTO.Huiyuanid = userid; zxdsfxlDTO.Huiyuanname = ruleCollection.User; zxdsfxlDTO.Visittime = DateTime.Now; zxdsfxlDTO.Token = key1.Length > 100 ? key1.Substring(key1.Length - 100) : key1; zxdsfxlDTO.Leixing = "1"; zxdsfxlDTO.RecStatus = "A"; zxdsfxlDTO.Creater = "1"; zxdsfxlDTO.Createtime = zxdsfxlDTO.Visittime.Value; zxdsfxlDTO.Modifier = "1"; zxdsfxlDTO.Modifytime = zxdsfxlDTO.Visittime.Value; ResultEntity resultEntity = _projectService.saveZxdsfxl(zxdsfxlDTO); if (resultEntity.Result == false) { returnMsg.code = 2; returnMsg.error = "访问失败"; returnMsg.count = 0; return new JsonResult(returnMsg); } } } else { returnMsg.code = 2; returnMsg.error = "你没有权限访问竞争对手分析"; returnMsg.count = 0; return new JsonResult(returnMsg); } } } else { returnMsg.code = 2; returnMsg.error = "你没有登录!"; returnMsg.count = 0; return new JsonResult(returnMsg); } //search.page = 1; //search.rows = 1; ResultDataEntity resultDataEntity = _projectService.SearchByPaging(search); returnMsg.code = 1; returnMsg.count = search.totalrows; returnMsg.returnObj = resultDataEntity.DataList; } catch (Exception ex) { returnMsg.code = 2; returnMsg.error = "系统发生错误"; returnMsg.count = 0; } return new JsonResult(returnMsg); } //获取项目详细信息 public IActionResult GetProjectFenxiDtl(string id = null) { ReturnMsg returnMsg = new ReturnMsg(); returnMsg.code = 2; var projectDTO = _projectService.GetLiaotianEntity(id); var cgfs = _projectService.GetCgfs().Where(x=>x.Id == projectDTO.Cgfs).FirstOrDefault(); var areaDTOs = _areaService.GetList(); var flbx = _liaotianService.GetSYScode("Project", "flbx").Where(x => x.Id == projectDTO.Fblx).FirstOrDefault(); projectDTO.StartTimestr = projectDTO.StartTime.ToString("yyyy-MM-dd HH:mm:ss"); var shengname = areaDTOs.Where(x => x.CodeId == projectDTO.Sheng).FirstOrDefault(); if (shengname != null) { projectDTO.ShengName = shengname.Name; } var cityname = areaDTOs.Where(x => x.CodeId == projectDTO.City).FirstOrDefault(); if (cityname != null) { projectDTO.CityName = cityname.Name; } var areaIdName = areaDTOs.Where(x => x.CodeId == projectDTO.AreaId).FirstOrDefault(); if (areaIdName != null) { projectDTO.AreaIdName = areaIdName.Name; } if (cgfs != null) { projectDTO.CgfsName = cgfs.Name; } if (flbx != null) { projectDTO.FblxName = flbx.Comments; } returnMsg.code = 1; returnMsg.count = 1; returnMsg.returnObj = projectDTO; return new JsonResult(returnMsg); } /// /// 质疑 /// /// 岗位实体类对象 /// /// [CheckLogin] public IActionResult Zhiyi(string projectid, string mingid, string type) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; ViewData["projectid"] = projectid; ViewData["mingid"] = mingid; ViewData["type"] = type; var zhiyistatus = ""; var zhiyishijian = ""; var zhiyichengli = ""; var projectDTO = _projectService.GetLiaotianEntity(projectid); if (type == "1") { var projectzhongbiaoDTO = projectDTO.Projectzhongbiaos.Where(x => x.ZhongbiaoId == mingid).FirstOrDefault(); if (projectzhongbiaoDTO != null) { zhiyistatus = projectzhongbiaoDTO.ZbZhiyistatus; zhiyishijian = projectzhongbiaoDTO.ZbZhiyishijian.HasValue? projectzhongbiaoDTO.ZbZhiyishijian.Value.ToString("yyyy-MM-dd"):""; zhiyichengli = projectzhongbiaoDTO.ZbZhiyichengli; } } else if (type == "2") { zhiyistatus = projectDTO.DehxZhiyistatus; zhiyishijian = projectDTO.DehxZhiyishijian.HasValue ? projectDTO.DehxZhiyishijian.Value.ToString("yyyy-MM-dd") : ""; zhiyichengli = projectDTO.DehxZhiyichengli; } else if (type == "3") { zhiyistatus = projectDTO.DshxZhiyistatus; zhiyishijian = projectDTO.DshxZhiyishijian.HasValue ? projectDTO.DshxZhiyishijian.Value.ToString("yyyy-MM-dd") : ""; zhiyichengli = projectDTO.DshxZhiyichengli; } else if (type == "4") { var projectyouxiao = projectDTO.Projectyouxiaos.Where(x => x.YouxiaoId == mingid).FirstOrDefault(); if (projectyouxiao != null) { zhiyistatus = projectyouxiao.YxZhiyistatus; zhiyishijian = projectyouxiao.YxZhiyishijian.HasValue ? projectyouxiao.YxZhiyishijian.Value.ToString("yyyy-MM-dd") : ""; zhiyichengli = projectyouxiao.YxZhiyichengli; } } else if (type == "5") { var projectreason = projectDTO.projectreasons.Where(x => x.ReasonId == mingid).FirstOrDefault(); if (projectreason != null) { zhiyistatus = projectreason.WxZhiyistatus; zhiyishijian = projectreason.WxZhiyishijian.HasValue ? projectreason.WxZhiyishijian.Value.ToString("yyyy-MM-dd") : ""; zhiyichengli = projectreason.WxZhiyichengli; } } if (string.IsNullOrWhiteSpace(zhiyishijian)) { zhiyishijian = DateTime.Now.ToString("yyyy-MM-dd"); } ViewData["zhiyistatus"] = zhiyistatus; ViewData["zhiyishijian"] = zhiyishijian; ViewData["zhiyichengli"] = zhiyichengli; ViewData.Model = new ProjectDTO(); return View(); } [CheckLogin] public IActionResult Zhiyibaocun(ProjectDTO dto) { ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = true; var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; resultEntity = _projectService.savezhiyi("A", dto.Zhiyishijian, dto.Zhiyichengli, dto.Id, dto.MingxiId,dto.Type); return new JsonResult(resultEntity); } /// /// 投诉 /// /// 岗位实体类对象 /// /// [CheckLogin] public IActionResult Tousu(string projectid, string mingid, string type) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; ViewData["projectid"] = projectid; ViewData["mingid"] = mingid; ViewData["type"] = type; var tousustatus = ""; var tousushijian = ""; var tousuchengli = ""; var projectDTO = _projectService.GetLiaotianEntity(projectid); if (type == "1") { var projectzhongbiaoDTO = projectDTO.Projectzhongbiaos.Where(x => x.ZhongbiaoId == mingid).FirstOrDefault(); if (projectzhongbiaoDTO != null) { tousustatus = projectzhongbiaoDTO.ZbTousustatus; tousushijian = projectzhongbiaoDTO.ZbTousushijian.HasValue ? projectzhongbiaoDTO.ZbTousushijian.Value.ToString("yyyy-MM-dd") : ""; ; tousuchengli = projectzhongbiaoDTO.ZbTousuchengli; } } else if (type == "2") { tousustatus = projectDTO.DehxTousustatus; tousushijian = projectDTO.DehxTousushijian.HasValue ? projectDTO.DehxTousushijian.Value.ToString("yyyy-MM-dd") : ""; ; tousuchengli = projectDTO.DehxTousuchengli; } else if (type == "3") { tousustatus = projectDTO.DshxTousustatus; tousushijian = projectDTO.DshxTousushijian.HasValue ? projectDTO.DshxTousushijian.Value.ToString("yyyy-MM-dd") : ""; ; tousuchengli = projectDTO.DshxTousuchengli; } else if (type == "4") { var projectyouxiao = projectDTO.Projectyouxiaos.Where(x => x.YouxiaoId == mingid).FirstOrDefault(); if (projectyouxiao != null) { tousustatus = projectyouxiao.YxTousustatus; tousushijian = projectyouxiao.YxTousushijian.HasValue ? projectyouxiao.YxTousushijian.Value.ToString("yyyy-MM-dd") : ""; ; tousuchengli = projectyouxiao.YxTousuchengli; } } else if (type == "5") { var projectreason = projectDTO.projectreasons.Where(x => x.ReasonId == mingid).FirstOrDefault(); if (projectreason != null) { tousustatus = projectreason.WxTousustatus; tousushijian = projectreason.WxTousushijian.HasValue ? projectreason.WxTousushijian.Value.ToString("yyyy-MM-dd") : ""; ; tousuchengli = projectreason.WxTousuchengli; } } if (string.IsNullOrWhiteSpace(tousushijian)) { tousushijian = DateTime.Now.ToString("yyyy-MM-dd"); } ViewData["tousustatus"] = tousustatus; ViewData["tousushijian"] = tousushijian; ViewData["tousuchengli"] = tousuchengli; ViewData.Model = new ProjectDTO(); return View(); } [CheckLogin] public IActionResult Tousubaocun(ProjectDTO dto) { ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = true; var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; resultEntity = _projectService.savetousu("A", dto.Tousushijian, dto.Tousuchengli, dto.Id, dto.MingxiId, dto.Type); return new JsonResult(resultEntity); } [CheckLogin] public IActionResult indexZhengfuProject() { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; List actionlist = new List(); //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); var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/Project/indexZhengfuProject"); 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["Creater11"] = curentuser.Id; } 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; ViewBag.ProjectDropDown = _projectService.AllcgfsDropDown().Select(x => new { code = x.Value, label = x.Text }).ToList(); //ViewBag.flbx = _liaotianService.GetSYScode("Project", "flbx").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.Creater = _userService.GetList().Select(x => new { code = x.Id, label = x.UserName }).ToList(); ViewBag.gglx = _liaotianService.GetSYScode("zhengfu_Project", "gglx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.cgfs = _liaotianService.GetSYScode("zhengfu_Project", "cgfs").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.Baomingtimebegin = DateTime.Now.AddMonths(-6).ToString("yyyy-MM-dd"); ViewBag.Baomingtimeend = DateTime.Now.ToString("yyyy-MM-dd"); return View(); } [CheckLogin] public string GetZhengfuProjectList(ZhengfuProjectDTOSearch search) { //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return JsonConvert.SerializeObject(_projectService.SearchByPagingCaigougonggao(search)); } public IActionResult ADDZhengfuProject(string id = null) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/Project/indexZhengfuProject"); var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList(); ViewData["ActionInfo2"] = pageEntities2; ZhengfuProjectDTO zhengfuProjectDTO = new ZhengfuProjectDTO(); if (!String.IsNullOrEmpty(id)) { zhengfuProjectDTO = _projectService.GetZhengfuProjectDTO(id); } else { zhengfuProjectDTO.Sheng = "510000"; zhengfuProjectDTO.City = "510100"; zhengfuProjectDTO.RegionCode = "510107"; zhengfuProjectDTO.NoticeTime = DateTime.Now; zhengfuProjectDTO.Gglx = "02"; //zhengfuProjectDTO.NoticeTime = DateTime.Now; //zhengfuProjectDTO.NoticeTime = DateTime.Now; } 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(zhengfuProjectDTO.Sheng); var quxian = _projectService.Getquxian(zhengfuProjectDTO.City); ViewBag.gglx = _liaotianService.GetSYScode("zhengfu_Project", "gglx"); ViewBag.cgfs = _liaotianService.GetSYScode("zhengfu_Project", "cgfs"); ViewBag.hyfl = _liaotianService.GetSYScode("CooperatecustomCustomer", "hyfl"); ViewBag.sheng = sheng; ViewBag.shi = shi; ViewBag.quxian = quxian; ViewData.Model = zhengfuProjectDTO; return View(); } /// /// 保存 /// /// 岗位实体类对象 /// /// [CheckLogin] [HttpPost] public string SaveZhengfuProject(ZhengfuProjectDTO data) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; data.RecStatus = "A"; if (String.IsNullOrEmpty(data.Id)) { data.Creater = curentuser.Id; data.Createtime = DateTime.Now; } if (string.IsNullOrWhiteSpace(data.Content)) { data.Content = data.Content1; } data.Shorttitle = data.Title; data.Modifier = curentuser.Id; data.Modifytime = DateTime.Now; ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = false; resultEntity = _projectService.saveZhengfuProjectDTO(data); if (resultEntity.Result) { var areaDTOs = _areaService.GetList(); string api_domain = _configuration.GetSection("Elasticsearchurl").Value; string url = $"{api_domain}/webcrawler/_doc/" + data.Id; string result = string.Empty; Uri postUrl = new Uri(url); eswebcrawler eswebcrawler1 = new eswebcrawler(); eswebcrawler1.Id = data.Id; eswebcrawler1.noticeTime = data.NoticeTime.ToString("yyyy-MM-dd HH:mm:ss"); eswebcrawler1.openTenderTime = data.OpenTenderTime.HasValue ? data.OpenTenderTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : null; eswebcrawler1.sheng = data.Sheng; if (!string.IsNullOrWhiteSpace(data.Sheng)) { var areaDTO = areaDTOs.Where(x => x.CodeId == data.Sheng).FirstOrDefault(); if (areaDTO != null) { eswebcrawler1.shengName = areaDTO.Name; } } eswebcrawler1.city = data.City; if (!string.IsNullOrWhiteSpace(data.City)) { var areaDTO = areaDTOs.Where(x => x.CodeId == data.City).FirstOrDefault(); if (areaDTO != null) { eswebcrawler1.cityName = areaDTO.Name; } } eswebcrawler1.regionCode = data.RegionCode; if (!string.IsNullOrWhiteSpace(data.RegionCode)) { var areaDTO = areaDTOs.Where(x => x.CodeId == data.RegionCode).FirstOrDefault(); if (areaDTO != null) { eswebcrawler1.regionName = areaDTO.Name; } } eswebcrawler1.cgfs = data.Cgfs; if (!string.IsNullOrWhiteSpace(data.Cgfs)) { var sysCodeDtl = _liaotianService.GetSYScode("zhengfu_Project", "cgfs").Where(x => x.CodeSn == data.Cgfs).FirstOrDefault(); if (sysCodeDtl != null) { eswebcrawler1.cgfsName = sysCodeDtl.Comments; } } eswebcrawler1.gglx = data.Gglx; if (!string.IsNullOrWhiteSpace(data.Gglx)) { var sysCodeDtl = _liaotianService.GetSYScode("zhengfu_Project", "gglx").Where(x => x.CodeSn == data.Gglx).FirstOrDefault(); if (sysCodeDtl != null) { eswebcrawler1.gglxName = sysCodeDtl.Comments; } } eswebcrawler1.openTenderCode = data.OpenTenderCode; eswebcrawler1.title = data.Title; eswebcrawler1.shorttitle = data.Shorttitle; eswebcrawler1.pageurl = data.Pageurl; eswebcrawler1.pingmu = data.Pingmu; eswebcrawler1.pingmuName = ""; eswebcrawler1.purchaser = data.Purchaser; eswebcrawler1.budget = data.Budget.HasValue ? data.Budget.Value.ToString() : ""; eswebcrawler1.agency = data.Agency; eswebcrawler1.agencyCode = data.AgencyCode; eswebcrawler1.modifyTime = data.Modifytime.ToString("yyyy-MM-dd HH:mm:ss"); string requestJson = JsonConvert.SerializeObject(eswebcrawler1); using (HttpContent httpContent = new StringContent(requestJson)) { httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); using (HttpClient httpClient = new HttpClient()) { httpClient.Timeout = TimeSpan.FromSeconds(60); HttpResponseMessage responseMessage = httpClient.PutAsync(postUrl, httpContent).Result; result = responseMessage.Content.ReadAsStringAsync().Result; } } Newtonsoft.Json.Linq.JObject jobject = (Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(result); if (jobject["error"] == null && jobject["_shards"]["successful"].ToString() == "1") { } else { resultEntity.Result = false; resultEntity.Message = "保存数据库出错!"; } } return JsonConvert.SerializeObject(resultEntity); } /// /// 获取项目是否已经录入 /// /// 市id /// [CheckLogin] public string getPageurl(string Pageurl, string Id) { var quxian = _projectService.GetZhengfuProjectDTOByPageurl(Pageurl, Id); return JsonConvert.SerializeObject(quxian); } /// /// 获取项目是否已经录入 /// /// 市id /// [CheckLogin] public string getTitle(string Title, string Id, DateTime? NoticeTime) { var quxian = _projectService.GetZhengfuProjectDTOByTitle(Title, Id, NoticeTime); return JsonConvert.SerializeObject(quxian); } } }