username@email.com
2022-11-24 e1064dd08bba4326d19c81a0b9f4da18c2fa462d
zhengcaioa/zhengcaioa/Controllers/ProjectController.cs
@@ -16,6 +16,7 @@
using zhengcaioa.Models;
using System.IdentityModel.Tokens.Jwt;
using CommonToolsCore;
using System.Transactions;
namespace zhengcaioa.Controllers
{
@@ -29,11 +30,15 @@
        private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService;
        private readonly ISysBaimingdanService _sysBaimingdanService;
        private readonly IFiOrderrecievemoneyService _fiOrderrecievemoneyService;
        private readonly IAreaService _areaService;
        private readonly IPltPageService _pltPageService;
        public ProjectController(ILogger<ProjectController> logger, IProjectService projectService, ILiaotianService liaotianService,IIntentionCustomerService intentionCustomerService, IUserService userService
            , ICooperatecustomCustomerService cooperatecustomCustomerService
            , ISysBaimingdanService sysBaimingdanService
            , IFiOrderrecievemoneyService fiOrderrecievemoneyService)
            , IFiOrderrecievemoneyService fiOrderrecievemoneyService
            , IAreaService areaService
              , IPltPageService pltPageService)
        {
            _logger = logger;
            _projectService = projectService;
@@ -43,6 +48,8 @@
            _cooperatecustomCustomerService = cooperatecustomCustomerService;
            _sysBaimingdanService = sysBaimingdanService;
            _fiOrderrecievemoneyService = fiOrderrecievemoneyService;
            _areaService = areaService;
            _pltPageService = pltPageService;
        }
        [CheckLogin]
        public IActionResult Index()
@@ -72,7 +79,9 @@
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(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))
            {
@@ -291,8 +300,21 @@
            }
            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();
            }
            ResultEntity resultEntity = _projectService.saveLiaotian(data);
            return JsonConvert.SerializeObject(resultEntity);
        }
@@ -302,20 +324,45 @@
            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);
            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();
@@ -338,6 +385,13 @@
            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();
        }
@@ -401,6 +455,15 @@
                            }
                        }
                        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 )
                        {
@@ -428,7 +491,15 @@
                            {
                                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)
@@ -516,6 +587,14 @@
                        }
                        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)
                    {
@@ -536,14 +615,34 @@
                                }
                            }
                            else if (select != null && select.TextContent.IndexOf("项目名称") >= 0)
                            //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.Name = table[i + 1].QuerySelector("td").TextContent.Trim();//OuterHtml
                                        projectDTO.Fbyy = table[i + 1].QuerySelector("td").TextContent.Trim();//OuterHtml
                                        if (projectDTO.Fbyy.IndexOf("终止")<0)
                                        {
                                            projectDTO.Fblx = "停止评审";
                                        }
                                        else
                                        {
                                            projectDTO.Fblx = "终止采购";
                                        }
                                    }
                                }
@@ -903,7 +1002,7 @@
                    //if (resultDataEntitys.DataList.Count > 0)
                    {
                        string token = key1.Length > 100 ? key1.Substring(key1.Length - 100) : key1;
                        if (ruleCollection.ZXDSFXLS > 0)
                        if (ruleCollection.PrivilegeService.Count(x=>x== "ZXDSFXLS")>0)
                        //if (ruleCollection.ZXDSFXLS == 0)
                        {
                            DateTime yuechu = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
@@ -974,7 +1073,7 @@
                                    return new JsonResult(returnMsg);
                                }
                            }
                            if ( token != zxdsfxlDTOsnowdate[0].Token)
                            if (zxdsfxlDTOsnowdate.Count == 0 || token != zxdsfxlDTOsnowdate[0].Token)
                            {
                                //存储本次的访问信息
                                ZxdsfxlDTO zxdsfxlDTO = new ZxdsfxlDTO();
@@ -1034,5 +1133,241 @@
            }
            return new JsonResult(returnMsg);
        }
        //获取项目详细信息
        public IActionResult GetProjectFenxiDtl(string id = null)
        {
            ReturnMsg<ProjectDTO> returnMsg = new ReturnMsg<ProjectDTO>();
            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);
        }
        /// <summary>
        /// 质疑
        /// </summary>
        /// <param name="data">岗位实体类对象</param>
        /// <returns></returns>
        ///
        [CheckLogin]
        public IActionResult Zhiyi(string projectid, string mingid, string type)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(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<PltUser>(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);
        }
        /// <summary>
        /// 投诉
        /// </summary>
        /// <param name="data">岗位实体类对象</param>
        /// <returns></returns>
        ///
        [CheckLogin]
        public IActionResult Tousu(string projectid, string mingid, string type)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(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<PltUser>(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);
        }
    }
}