From 67a0042c5f29e4bb0e0b82f6190f2bc51480b45c Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期二, 28 二月 2023 13:25:09 +0800
Subject: [PATCH] 工资绩效改版

---
 zhengcaioa/zhengcaioa/Controllers/BusinessOrder/OrderBanciOrderController.cs |  353 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 323 insertions(+), 30 deletions(-)

diff --git a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/OrderBanciOrderController.cs b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/OrderBanciOrderController.cs
index 693edfd..83c6d9d 100644
--- a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/OrderBanciOrderController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/OrderBanciOrderController.cs
@@ -18,6 +18,10 @@
 using CommonToolsCore;
 using Services;
 using System.Transactions;
+using Microsoft.Extensions.Configuration;
+using Newtonsoft.Json.Linq;
+using System.Net.Http.Headers;
+using System.IdentityModel.Tokens.Jwt;
 
 namespace zhengcaioa.Controllers.BusinessOrder
 {
@@ -30,11 +34,17 @@
         private readonly IOrderBanciOrderService _orderBanciOrderService;
         private readonly IFiOrderrecievemoneyService _fiOrderrecievemoneyService;
         private readonly ICooperOrderService _cooperOrderService;
+        private readonly IConfiguration _configuration;
+        private readonly IHttpClientFactory _clientFactory;
+        private readonly IPltPageService _pltPageService;
 
         public OrderBanciOrderController(ILogger<OrderBanciOrderController> logger, ILiaotianService liaotianService, IOrderBanciService orderBanciService, IOrderBanciDtlService orderBanciDtlService
             ,IOrderBanciOrderService orderBanciOrderService
             , IFiOrderrecievemoneyService fiOrderrecievemoneyService
-            , ICooperOrderService cooperOrderService)
+            , ICooperOrderService cooperOrderService
+            , IConfiguration configuration
+              , IHttpClientFactory clientFactory
+             , IPltPageService pltPageService)
         {
             _logger = logger;
             _liaotianService = liaotianService;
@@ -43,6 +53,9 @@
             _fiOrderrecievemoneyService = fiOrderrecievemoneyService;
             _orderBanciOrderService = orderBanciOrderService;
             _cooperOrderService = cooperOrderService;
+            _configuration = configuration;
+            _clientFactory = clientFactory;
+            _pltPageService = pltPageService;
         }
 
         [CheckLogin]
@@ -65,22 +78,34 @@
             //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);
+            var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/OrderBanciOrder/Index/");
+            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;
 
@@ -119,26 +144,42 @@
             //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);
+
+            var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/OrderBanciOrder/Indexzhuanjia/");
+            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.kechengleixing = _liaotianService.GetSYScode("order_banci_order", "kechengleixing_id").Where(x => x.CodeSn != "3").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
+            var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList();
+            ViewData["ActionInfo2"] = pageEntities2;
+
+            ViewBag.kechengleixing = _liaotianService.GetSYScode("order_banci_order", "kechengleixing_id").Where(x => x.CodeSn != "3" && x.CodeSn != "7").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
 
             ViewBag.Baomingtimebegin = DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd");
             ViewBag.Baomingtimeend = DateTime.Now.ToString("yyyy-MM-dd");
@@ -146,6 +187,68 @@
             return View();
 
         }
+
+
+        [CheckLogin]
+        public IActionResult IndexGuwen()
+        {
+            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 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);
+            var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/OrderBanciOrder/IndexGuwen/");
+            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.kechengleixing = _liaotianService.GetSYScode("order_banci_order", "kechengleixing_id").Where(x => x.CodeSn == "7").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
+
+            ViewBag.Baomingtimebegin = DateTime.Now.AddYears(-1).ToString("yyyy-MM-dd");
+            ViewBag.Baomingtimeend = DateTime.Now.ToString("yyyy-MM-dd");
+
+            return View();
+
+        }
+
 
         [CheckLogin]
         public IActionResult Printhetong(string id = null)
@@ -332,6 +435,196 @@
         }
 
 
+        /// <summary>
+        /// 淇濆瓨
+        /// </summary>
+        /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param>
+        /// <returns></returns>
+        /// 
+        [HttpPost]
+        public  IActionResult JifenSave([FromBody] OrderBanciOrderDTO data)
+        {
+            //var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            //ViewData["curentuser"] = curentuser;
+            ReturnMsg<OrderBanciOrderDTO> returnMsg = new ReturnMsg<OrderBanciOrderDTO>();
+            returnMsg.code = 2;
+            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 = "娌℃湁鑾峰彇鍒皌oken";
+                        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;
+
+                }
+                else
+                {
+                    returnMsg.code = 2;
+                    returnMsg.error = "娌℃湁鑾峰彇鍒皌oken";
+                    returnMsg.count = 0;
+                    return new JsonResult(returnMsg);
+                }
+
+                using (TransactionScope scope = new TransactionScope())
+                {
+                    data.RecStatus = "A";
+                    if (String.IsNullOrEmpty(data.Id))
+                    {
+                        data.Creater = "1";
+                        data.Createtime = DateTime.Now;
+                    }
+                    data.Modifier = "1";
+                    data.Modifytime = DateTime.Now;
+                    data.PersonId = userid;
+                    //OrderBanciOrderDTOSearch search = new OrderBanciOrderDTOSearch();
+                    //search.page = 1;
+                    //search.rows = 1000;
+                    //search.BanciId = data.BanciId;
+                    //ResultDataEntity<OrderBanciOrderDTO> resultDataEntity = _orderBanciOrderService.SearchByPaging(search);
+
+                    if (data.Baomingrenshu.HasValue)
+                    {
+                        //if (resultDataEntity.DataList.Count > 0)
+                        //{
+                        //  var orderBanciOrderDTO =   resultDataEntity.DataList.OrderByDescending(x => x.Baomingrenshu).FirstOrDefault();
+
+                        //    data.Baomingrenshu += orderBanciOrderDTO.Baomingrenshu;
+                        //}
+                    }
+                    else
+                    {
+                        //if (resultDataEntity.DataList.Count > 0)
+                        //{
+                        //    var orderBanciOrderDTO = resultDataEntity.DataList.OrderByDescending(x => x.Baomingrenshu).FirstOrDefault();
+
+                        //    data.Baomingrenshu = orderBanciOrderDTO.Baomingrenshu+1;
+                        //}
+                        //else
+                        //{
+                        data.Baomingrenshu = 1;
+                        //}   
+                    }
+                    //data.Jine = resultDataEntity.DataList.Sum(x => x.Xuefei);
+                    //data.Jine += data.Xuefei;
+                    ResultEntity resultEntity = _orderBanciOrderService.save(data);
+                    if (resultEntity.Result)
+                    {
+                        returnMsg.code = 1;
+                        returnMsg.count = 1;
+                        returnMsg.returnObj = data;
+                    }
+                    else
+                    {
+                        returnMsg.error = resultEntity.Message;
+                    }
+                    int OnePorints = 0;
+                   var orderBanciDTO = _orderBanciService.Get(data.BanciId);
+                   var  orderBanciDtlDTO = _orderBanciDtlService.GetList(data.BanciId).Where(x=>x.Shangxiawu == data.KechengleixingId).FirstOrDefault();
+                    if(orderBanciDtlDTO!=null&& orderBanciDtlDTO.Jifen.HasValue)
+                    {
+                        OnePorints = decimal.ToInt32(orderBanciDtlDTO.Jifen.Value); ;
+                    }
+                    else
+                    {
+                        returnMsg.code = 2;
+                        returnMsg.error = "璇ョ彮娆′笉鑳界Н鍒嗗厬鎹�";
+                        returnMsg.count = 0;
+                        return new JsonResult(returnMsg);
+                    }
+                    string huiyuanurl = _configuration.GetSection("huiyuanurl").Value;
+                    string GetYGYaoQingYonghu = _configuration.GetSection("PassPoints").Value;
+                    Uri postUrl2 = new Uri(huiyuanurl + GetYGYaoQingYonghu);
+                    JObject questions2 = new JObject();
+                    questions2.Add("UserID", data.PersonId);
+                    questions2.Add("GoodsName", data.Peixunbanci);
+                    questions2.Add("Content", data.Peixunbanci);
+                    questions2.Add("ToatlPorints", data.Baomingrenshu.Value* OnePorints);//璁$畻
+                    questions2.Add("OnePorints", OnePorints);//璁$畻
+                    questions2.Add("Count", data.Baomingrenshu);
+                    questions2.Add("OderID", data.Id);
+                    questions2.Add("describe", data.Peixunbanci +"绉垎鎶ュ悕");
+
+                    string requestJson2 = questions2.ToString();
+                    string result2 = string.Empty;
+
+                    result2 = HttpClientRequest.HttpClientPost(postUrl2.ToString(), "POST", requestJson2);
+
+                    //using (HttpContent httpContent = new StringContent(requestJson2))
+                    //{
+                    //    httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
+
+                    //    var httpClient2 = _clientFactory.CreateClient();
+                    //    httpClient2.Timeout = new TimeSpan(0, 0, 60);
+                    //    var Result2 = await httpClient2.PostAsync(postUrl2, httpContent);
+                    //    result2 = Result2.Content.ReadAsStringAsync().Result;
+                    //}
+
+                    _logger.LogInformation("result2:" + result2);
+                    JObject jobjectresult = (JObject)JsonConvert.DeserializeObject(result2);
+
+                    if (jobjectresult["code"] != null && jobjectresult["code"].ToString() == "1")
+                    {
+                        string OaWriteTrainClassOder = _configuration.GetSection("OaWriteTrainClassOder").Value;
+                        Uri postUrl = new Uri(huiyuanurl + OaWriteTrainClassOder);
+                        JObject questions = new JObject();
+                        questions.Add("UserID", data.PersonId);
+                        questions.Add("TrainClass", data.Peixunbanci);
+                        questions.Add("TrainClassType", int.Parse(data.KechengleixingId));
+                        questions.Add("Name", data.Xingming);//璁$畻
+                        questions.Add("IdentificationNumber", data.Shenfenzheng);//璁$畻
+                        questions.Add("PhoneNo", data.Lianxidianhua);
+                        questions.Add("StartTime", orderBanciDTO.Shijian.Value.ToString("yyyy-MM-dd HH:mm:ss"));
+                        questions.Add("BanciId", data.BanciId);
+                        questions.Add("BanciAddr", orderBanciDTO.Didian);
+                        questions.Add("PersonCount", data.Baomingrenshu);
+                        questions.Add("Ptions", data.Baomingrenshu.Value * OnePorints);
+                        string requestJson = questions.ToString();
+                        string result = string.Empty;
+
+                        result = HttpClientRequest.HttpClientPost(postUrl.ToString(), "POST", requestJson);
+                        _logger.LogInformation("result:" + result);
+                        scope.Complete();
+                    }
+                    else
+                    {
+                        returnMsg.code = 2;
+                        returnMsg.error = jobjectresult["msg"].ToString();
+                        returnMsg.count = 0;
+                        return new JsonResult(returnMsg);
+                    }
+
+                  
+                }
+            }
+            catch (Exception ex)
+            {
+                returnMsg.code = 2;
+                returnMsg.error = "娌℃湁鑾峰彇鍒皌oken";
+                returnMsg.count = 0;
+
+            }
+
+            return new JsonResult(returnMsg);
+        }
+
+
 
         //鑾峰彇褰撳墠鐨勬姤鍚嶇殑浜烘暟
         public IActionResult GetBaoMingRenShu([FromBody] OrderBanciOrderDTOSearch search)

--
Gitblit v1.9.1