username@email.com
2024-01-12 0e5c4a8e17dcefcc10b2507da61b099be12451d8
zhengcaioa/zhengcaioa/Controllers/LiaotianController.cs
@@ -54,7 +54,7 @@
            List<LiaotianElasticsearchDTO> liaotianElasticsearchDTOs = new List<LiaotianElasticsearchDTO>();
            string api_domain = _configuration.GetSection("Elasticsearchurl").Value;
            string url = $"{api_domain}/liaotian/person/_search";
            string url = $"{api_domain}/liaotian/_doc/_search";
            string question = info;
@@ -122,31 +122,42 @@
            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 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 = "Print";
            actionEntity2.PageIco = "fa fa-print";
            actionEntity2.ActionName = "打印";
            actionlist.Add(actionEntity2);
            //ActionEntity actionEntity2 = new ActionEntity();
            //actionEntity2.OpenType = 0;
            //actionEntity2.ActionUrl = "";
            //actionEntity2.ActionFun = "Print";
            //actionEntity2.PageIco = "fa fa-print";
            //actionEntity2.ActionName = "打印";
            //actionlist.Add(actionEntity2);
            ActionEntity actionEntity3 = new ActionEntity();
            actionEntity3.OpenType = 0;
            actionEntity3.ActionUrl = "";
            actionEntity3.ActionFun = "Zhuanyi";
            actionEntity3.PageIco = "fa fa-plus";
            actionEntity3.ActionName = "数据转移";
            actionlist.Add(actionEntity3);
            //ActionEntity actionEntity3 = new ActionEntity();
            //actionEntity3.OpenType = 0;
            //actionEntity3.ActionUrl = "";
            //actionEntity3.ActionFun = "Zhuanyi";
            //actionEntity3.PageIco = "fa fa-plus";
            //actionEntity3.ActionName = "数据转移";
            //actionlist.Add(actionEntity3);
            var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/Liaotian/Indexcheck");
            var pageEntities1 = pageEntities.Where(x => x.PageMethod == "01").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;
            ViewBag.problemtype = _liaotianService.GetSYScode("Liaotian", "problemtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
@@ -172,15 +183,17 @@
            ResultEntity resultEntity = new ResultEntity();
            resultEntity.Result = false;
           List <LiaotianDTO> liaotianDTOs =_liaotianService.SearchForPrint(new LiaotianDTOSearch()).Where(x=>x.Clientid =="A").ToList();
           List <LiaotianDTO> liaotianDTOs =_liaotianService.SearchForPrint(new LiaotianDTOSearch()).ToList();//.Where(x=>x.Clientid =="A")
            try
            {
                int i = 0;
                foreach (var liaotianDTO in liaotianDTOs)
                {
                    i = i + 1;
                    string api_domain = _configuration.GetSection("Elasticsearchurl").Value;
                    string url = $"{api_domain}/liaotian/person/" + liaotianDTO.Id;
                    string url = $"{api_domain}/liaotian/_doc/" + liaotianDTO.Id;
                    LiaotianElasticsearchDTO liaotianElasticsearchDTO = new LiaotianElasticsearchDTO();
                    liaotianElasticsearchDTO.id = liaotianDTO.Id;
@@ -261,32 +274,64 @@
        [CheckLogin]
        public string GetLiaotianList(LiaotianDTOSearch search)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            search.ShouCangCreater = curentuser.Id;
            //JsonResult jsonResult =   new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver());
            return  JsonConvert.SerializeObject(_liaotianService.SearchByPaging(search)); 
        }
        #region 编辑
        [CheckLogin]
        public ActionResult Edit(string id = null)
        public ActionResult Edit(string id = null, string Questiontype = null, string Problemtype = null)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/Liaotian/Indexcheck");
            var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList();
            ViewData["ActionInfo2"] = pageEntities2;
            LiaotianDTO liaotianDTO = new LiaotianDTO();
            if (!String.IsNullOrEmpty(id))
            {
                liaotianDTO = _liaotianService.GetLiaotianEntity(id);
                var liaotianShoucangDTOs = _liaotianService.getListLiaotianShoucang(curentuser.Id, id);
                if(liaotianShoucangDTOs!=null&& liaotianShoucangDTOs.Count > 0)
                {
                    liaotianDTO.ShouCangStatus = "A";
                }
                else
                {
                    liaotianDTO.ShouCangStatus = "D";
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(Questiontype))
                {
                    liaotianDTO.Questiontype = Questiontype;
                }
                if (!string.IsNullOrEmpty(Problemtype))
                {
                    liaotianDTO.Problemtype = Problemtype;
                }
            }
            ViewData.Model = liaotianDTO;
            List<PageEntity> pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/Liaotian/Indexcheck");
            ViewData["pageEntities"] = pageEntities;
            ViewData["questiontype"] = _liaotianService.GetSYScode("Liaotian", "questiontype");
            ViewData["problemtype"] = _liaotianService.GetSYScode("Liaotian", "problemtype").Where(x=>x.Contents == liaotianDTO.Questiontype).ToList();
            //ViewData["Questiontypesel"] = Questiontype;
            //ViewData["Problemtypesel"] = Problemtype;
            return View();
        }
@@ -314,12 +359,16 @@
        [CheckLogin]
        public async Task<string> SaveAsync(LiaotianDTO data)
        {
            ResultEntity resultEntity = new ResultEntity();
            resultEntity.Result = false;
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            data.RecStatus = "A";
            data.Clientid = "D";
            data.Shenheer = null;
            data.Shenhetime = null;
            if (String.IsNullOrEmpty(data.Id))
            {
                data.Creater= curentuser.Id;
@@ -327,11 +376,16 @@
            }
            data.Modifier = curentuser.Id;
            data.Modifytime = DateTime.Now;
              resultEntity = _liaotianService.saveLiaotian(data);
            if (!string.IsNullOrEmpty(data.Id))
            {
                string api_domain = _configuration.GetSection("Elasticsearchurl").Value;
                string url = $"{api_domain}/liaotian/person/" + data.Id;
                string url = $"{api_domain}/liaotian/_doc/" + data.Id;
                //string requestJson = "{\"id\": \"" + Id + "\",\"question\": \"" + data.Question + "\",\"anwser\": \"" + data.Anwser + "\"}";
                try
                {
@@ -366,13 +420,12 @@
                }
            }
              resultEntity = _liaotianService.saveLiaotian(data);
            //string api_domain = _configuration.GetSection("Elasticsearchurl").Value;
            //string url = $"{api_domain}/liaotian/person/"+ data.Id;
            //string url = $"{api_domain}/liaotian/_doc/"+ data.Id;
            //LiaotianElasticsearchDTO liaotianElasticsearchDTO = new LiaotianElasticsearchDTO();
            //liaotianElasticsearchDTO.id = data.Id;
            //liaotianElasticsearchDTO.question = data.Question;
@@ -401,7 +454,7 @@
            //    }
            //    Newtonsoft.Json.Linq.JObject jobject = (Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(result);
            //    if (jobject["error"]==null&& jobject["_shards"]["successful"].ToString() == "1")
            //    {  
            //        resultEntity.Result = true;
@@ -417,7 +470,7 @@
            //    resultEntity.Result = false;
            //    throw e;
            //}
@@ -427,9 +480,138 @@
            return JsonConvert.SerializeObject(resultEntity);
        }
        /// <summary>
        /// 提交并审核
        /// </summary>
        /// <param name="data">岗位实体类对象</param>
        /// <returns></returns>
        [HttpPost]
        [CheckLogin]
        public IActionResult  ShouCang(LiaotianDTO data)
        {
            ResultEntity resultEntity = new ResultEntity();
            resultEntity.Result = false;
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            var liaotianShoucangDTOs = _liaotianService.getListLiaotianShoucang(curentuser.Id, data.Id);
            if (data.ShouCangStatus == "A")
            {
                if (liaotianShoucangDTOs == null || liaotianShoucangDTOs.Count == 0)
                {
                    LiaotianShoucangDTO liaotianShoucangDTO = new LiaotianShoucangDTO();
                    liaotianShoucangDTO.LiaotianId = data.Id;
                    liaotianShoucangDTO.RecStatus = "A";
                    liaotianShoucangDTO.Creater = curentuser.Id;
                    liaotianShoucangDTO.Createtime = DateTime.Now;
                    liaotianShoucangDTO.Modifier = curentuser.Id;
                    liaotianShoucangDTO.Modifytime = DateTime.Now;
                    resultEntity =  _liaotianService.saveLiaotianShoucang(liaotianShoucangDTO);
                }
            }
            else
            {
                if (liaotianShoucangDTOs != null || liaotianShoucangDTOs.Count > 0)
                {
                    foreach (var liaotianShoucangDTO in liaotianShoucangDTOs)
                    {
                        resultEntity = _liaotianService.ModifyStatusLiaotianShoucang(liaotianShoucangDTO.Id, curentuser.Id);
                    }
                }
            }
            return new JsonResult(resultEntity); ;
        }
        /// <summary>
        /// 保存
        /// 提交并审核
        /// </summary>
        /// <param name="data">岗位实体类对象</param>
        /// <returns></returns>
        [HttpPost]
        [CheckLogin]
        public async Task<string> TijiaobingshenheAsync(LiaotianDTO data)
        {
            ResultEntity resultEntity = new ResultEntity();
            resultEntity.Result = false;
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ViewData["curentuser"] = curentuser;
            data.RecStatus = "A";
            data.Clientid = "A";
            data.Shenheer = curentuser.Id;
            data.Shenhetime = DateTime.Now;
            if (String.IsNullOrEmpty(data.Id))
            {
                data.Creater = curentuser.Id;
                data.Createtime = DateTime.Now;
            }
            data.Modifier = curentuser.Id;
            data.Modifytime = DateTime.Now;
            resultEntity = _liaotianService.saveLiaotian(data);
            string api_domain = _configuration.GetSection("Elasticsearchurl").Value;
            string url = $"{api_domain}/liaotian/_doc/" + data.Id;
            LiaotianElasticsearchDTO liaotianElasticsearchDTO = new LiaotianElasticsearchDTO();
            liaotianElasticsearchDTO.id = data.Id;
            liaotianElasticsearchDTO.question = data.Question;
            liaotianElasticsearchDTO.anwser = data.Anwser;
            string requestJson = JsonConvert.SerializeObject(liaotianElasticsearchDTO); ;
            try
            {
                string result = string.Empty;
                Uri postUrl = new Uri(url);
                using (HttpContent httpContent = new StringContent(requestJson))
                {
                    httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                    var httpClient = _clientFactory.CreateClient();
                    httpClient.Timeout = new TimeSpan(0, 0, 60);
                    var Result = await httpClient.PutAsync(postUrl, httpContent);
                    result = Result.Content.ReadAsStringAsync().Result;
                }
                Newtonsoft.Json.Linq.JObject jobject = (Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(result);
                if (jobject["error"] == null && jobject["_shards"]["successful"].ToString() == "1")
                {
                    resultEntity.Result = true;
                }
                else
                {
                    resultEntity.Result = false;
                }
            }
            catch (Exception e)
            {
                resultEntity.Result = false;
                throw e;
            }
            return JsonConvert.SerializeObject(resultEntity);
        }
        /// <summary>
        /// 审核
        /// </summary>
        /// <param name="data">岗位实体类对象</param>
        /// <returns></returns>
@@ -446,13 +628,16 @@
            LiaotianDTO data = _liaotianService.GetLiaotianEntity(Id);
            data.Shenheer = curentuser.Id;
            data.Shenhetime = DateTime.Now;
            data.Clientid = "A";
            data.Modifier = curentuser.Id;
            data.Modifytime = DateTime.Now;
            resultEntity =  _liaotianService.saveLiaotian(data);
            string api_domain = _configuration.GetSection("Elasticsearchurl").Value;
            string url = $"{api_domain}/liaotian/person/" + data.Id;
            string url = $"{api_domain}/liaotian/_doc/" + data.Id;
            LiaotianElasticsearchDTO liaotianElasticsearchDTO = new LiaotianElasticsearchDTO();
            liaotianElasticsearchDTO.id = data.Id;
            liaotianElasticsearchDTO.question = data.Question;
@@ -524,7 +709,7 @@
            ResultEntity resultEntity = _liaotianService.ModifyStatus(Id, curentuser.Id);
            string api_domain = _configuration.GetSection("Elasticsearchurl").Value;
            string url = $"{api_domain}/liaotian/person/" + Id;
            string url = $"{api_domain}/liaotian/_doc/" + Id;
            //string requestJson = "{\"id\": \"" + Id + "\",\"question\": \"" + data.Question + "\",\"anwser\": \"" + data.Anwser + "\"}";
            try
            {