From 15eb82df2d6ec539e9d4245bfe08d531e8eb6379 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期日, 27 四月 2025 14:33:26 +0800
Subject: [PATCH] 修改培训订单占多个座位

---
 zhengcaioa/zhengcaioa/Controllers/UserController.cs |  240 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 223 insertions(+), 17 deletions(-)

diff --git a/zhengcaioa/zhengcaioa/Controllers/UserController.cs b/zhengcaioa/zhengcaioa/Controllers/UserController.cs
index 74de376..b0c74ce 100644
--- a/zhengcaioa/zhengcaioa/Controllers/UserController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/UserController.cs
@@ -6,6 +6,7 @@
 using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
+using System.IdentityModel.Tokens.Jwt;
 using System.Linq;
 using System.Text.RegularExpressions;
 using System.Threading.Tasks;
@@ -24,9 +25,17 @@
         private readonly ILiaotianService _liaotianService;
         private readonly IPltJiatingchengyuanService _pltJiatingchengyuanService;
         private readonly ISysAttachmentService _sysAttachmentService;
+        private readonly IPltRoleService _pltRoleService;
+        private readonly IPltPageService _pltPageService;
+        private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService;
+        private readonly IIntentionCustomerService _intentionCustomerService;
 
 
-        public UserController(ILogger<UserController> logger, IUserService userService, IHrDeptService hrDeptService, IHrPositionService hrPositionService, ILiaotianService liaotianService, IPltJiatingchengyuanService pltJiatingchengyuanService, ISysAttachmentService sysAttachmentService)
+        public UserController(ILogger<UserController> logger, IUserService userService, IHrDeptService hrDeptService, IHrPositionService hrPositionService, ILiaotianService liaotianService, IPltJiatingchengyuanService pltJiatingchengyuanService, ISysAttachmentService sysAttachmentService
+            , IPltRoleService pltRoleService
+             , IPltPageService pltPageService
+            , ICooperatecustomCustomerService cooperatecustomCustomerService
+             , IIntentionCustomerService intentionCustomerService)
         {
             _logger = logger;
             _userService = userService;
@@ -35,6 +44,10 @@
             _liaotianService = liaotianService;
             _pltJiatingchengyuanService = pltJiatingchengyuanService;
             _sysAttachmentService = sysAttachmentService;
+            _pltRoleService = pltRoleService;
+            _pltPageService = pltPageService;
+            _cooperatecustomCustomerService = cooperatecustomCustomerService;
+            _intentionCustomerService = intentionCustomerService;
         } 
  
  
@@ -52,14 +65,30 @@
             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);
+            var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/User/Index/");
+            var pageEntities1 = pageEntities.Where(x => x.PageMethod == "01").ToList();
+            var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList();
+
+            foreach (var pageEntity in pageEntities1)
+            {
+                ActionEntity actionEntity1 = new ActionEntity();
+                actionEntity1.OpenType = pageEntity.OpenType;
+                actionEntity1.ActionUrl = "";
+                actionEntity1.ActionFun = pageEntity.PageShortcut;
+                actionEntity1.PageIco = pageEntity.PageIco;
+                actionEntity1.ActionName = pageEntity.PageName;
+                actionlist.Add(actionEntity1);
+            }
             ViewData["ActionInfo"] = actionlist;
+            ViewData["ActionInfo2"] = pageEntities2;
+
             ViewBag.zhiwustatus = _liaotianService.GetSYScode("plt_user", "zhiwustatus").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
             ViewBag.dept = _hrDeptService.GetList().Select(x => new { code = x.Id, label = x.DeptName }).ToList();
             ViewBag.post = _hrPositionService.GetList().Select(x => new { code = x.Id, label = x.PostName }).ToList();
@@ -101,7 +130,15 @@
             actionEntity1.PageIco = "fa fa-remove";
             actionEntity1.ActionName = "鍒犻櫎";
             actionlist.Add(actionEntity1);
+
+
+
             ViewData["ActionInfo"] = actionlist;
+
+            var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/User/Index/");
+            var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList();
+            ViewData["ActionInfo2"] = pageEntities2;
+
             ViewBag.dept = _hrDeptService.GetList();//.Select(x => new { code = x.Id, label = x.DeptName }).ToList();
             ViewBag.post = _hrPositionService.GetList();//.Select(x => new { code = x.Id, label = x.PostName }).ToList();
             ViewBag.shifou = _liaotianService.GetSYScode("system", "shifou");//.Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
@@ -138,6 +175,10 @@
             if (PltUserDTO.Shebaodate.HasValue)
             {
                 PltUserDTO.ShebaodateName = PltUserDTO.Shebaodate.Value.ToString("yyyy-MM-dd");
+            }
+            if (PltUserDTO.HetongDateEnd.HasValue)
+            {
+                PltUserDTO.HetongDateEndName = PltUserDTO.HetongDateEnd.Value.ToString("yyyy-MM-dd");
             }
             if (PltUserDTO.ShiyongDate.HasValue)
             {
@@ -259,16 +300,17 @@
 
             string s = @"^([A-Fa-f0-9]{2}[-,:]){5}[A-Fa-f0-9]{2}$";
             Regex rStr = new Regex(s);
-            if (rStr.IsMatch(userdata.IpMac))
-            {
+            //if (rStr.IsMatch(userdata.IpMac))
+            //{
                 using (TransactionScope scope = new TransactionScope())
                 {
-
+                    bool charujues = false;
                     userdata.RecStatus = "A";
                     if (String.IsNullOrEmpty(userdata.Id))
                     {
                         userdata.Creater = curentuser.Id;
                         userdata.Createtime = DateTime.Now;
+                        charujues = true;
                     }
                     userdata.Modifier = curentuser.Id;
                     userdata.Modifytime = DateTime.Now;
@@ -278,6 +320,21 @@
                     {
                         return JsonConvert.SerializeObject(resultEntity);
                     }
+                    if (charujues)
+                    {
+                       var  pltRoleDTO = _pltRoleService.listRole().Where(x => x.RoleName == "鍛樺伐").FirstOrDefault();
+
+                        if (pltRoleDTO != null)
+                        {
+                            resultEntity = _pltRoleService.SaveUserRole(pltRoleDTO.Id,userdata.Id, curentuser.Id);
+                            if (resultEntity.Result == false)
+                            {
+                                return JsonConvert.SerializeObject(resultEntity);
+                            }
+                        }
+                       
+                    }
+
                     string[] JiatingchengyuanId = userdata.JiatingchengyuanId;
                     string[] Name = userdata.Name;
                     string[] Guanxi = userdata.Guanxi;
@@ -336,11 +393,11 @@
                     }
                     scope.Complete();
                 }
-            }
-            else
-            {
-                resultEntity.Message = "MAC鍦板潃鏍煎紡閿欒";
-            }
+            //}
+            //else
+            //{
+            //    resultEntity.Message = "MAC鍦板潃鏍煎紡閿欒";
+            //}
             return JsonConvert.SerializeObject(resultEntity);
         }
         #endregion
@@ -454,6 +511,16 @@
             return View();
         }
 
+        [CheckLogin]
+        public string GetUserListJiBenGongZi(PltUserDTOSearch search)
+        {
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ViewData["curentuser"] = curentuser;
+            search.Zhiwustatus = "A";
+            //JsonResult jsonResult =   new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver());
+            return JsonConvert.SerializeObject(_userService.SearchByPaging(search));
+        }
+
 
         #region 淇敼澶囨敞
         [CheckLogin]
@@ -462,8 +529,10 @@
 
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
             ViewData["curentuser"] = curentuser;
-            
 
+            var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/User/JiBenGongZi");
+            var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList();
+            ViewData["ActionInfo2"] = pageEntities2;
             ViewBag.shifou = _liaotianService.GetSYScode("system", "shifou");//.Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
 
             PltUserDTO PltUserDTO = new PltUserDTO();
@@ -523,7 +592,144 @@
             return JsonConvert.SerializeObject(resultEntity);
         }
         #endregion
+        //鎻愰棶
+        public IActionResult GetHuiYuanYwjl(string change = "D")
+        {
+            ReturnMsg<PltUserDTO> returnMsg = new ReturnMsg<PltUserDTO>();
+            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;
+
+                }
+
+
+
+                //鏌ユ壘鐢ㄦ埛瀵瑰簲鐨勪笟鍔$粡鐞嗭紝娌℃湁鐨勮瘽灏卞垎閰嶄竴涓笟鍔$粡鐞�
+                PltUserDTO dTO = new PltUserDTO();
+
+                var cooperatecustomCustomerDTOs = _cooperatecustomCustomerService.GetList(userid);
+                //鍚堜綔瀹㈡埛鏄惁瀛樺湪涓氬姟缁忕悊
+                if (cooperatecustomCustomerDTOs.Count > 0)
+                {
+                    var cooperatecustomCustomerDTO = cooperatecustomCustomerDTOs.Where(x => x.Ywjl != null).FirstOrDefault();
+                    if (cooperatecustomCustomerDTO != null)
+                    {
+                        dTO = _userService.GetPltUserEntity(cooperatecustomCustomerDTO.Ywjl);
+                        if (!string.IsNullOrEmpty(dTO.Id) && dTO.IsYwjl == "A" && dTO.Zhiwustatus == "A")
+                        {
+                            returnMsg.code = 1;
+                            returnMsg.returnObj = dTO;
+                            return new JsonResult(returnMsg);
+                        }
+                    }
+
+                }
+
+                var intentionCustomerDTOs = _intentionCustomerService.GetList(userid);
+                //妗f瀹㈡埛鏄惁瀛樺湪涓氬姟缁忕悊
+                if (intentionCustomerDTOs.Count > 0)
+                {
+                    var intentionCustomerDTO = intentionCustomerDTOs.Where(x => x.Ywjl != null).FirstOrDefault();
+                    if (intentionCustomerDTO != null)
+                    {
+                        dTO = _userService.GetPltUserEntity(intentionCustomerDTO.Ywjl);
+                        if (!string.IsNullOrEmpty(dTO.Id) && dTO.IsYwjl == "A" && dTO.Zhiwustatus == "A")
+                        {
+                            returnMsg.code = 1;
+                            returnMsg.returnObj = dTO;
+                            return new JsonResult(returnMsg);
+                        }
+                    }
+                }
+                //鏄惁鏇剧粡鍒嗛厤杩囦笟鍔$粡鐞�
+                var customerYwjls = _userService.GetListCustomerYwjl(userid);
+                if (customerYwjls.Count > 0)
+                {
+                    if (change != "A")
+                    {
+
+                        dTO = _userService.GetPltUserEntity(customerYwjls.First().YwjlId);
+                        if (!string.IsNullOrEmpty(dTO.Id) && dTO.IsYwjl == "A" && dTO.Zhiwustatus == "A")
+                        {
+                            returnMsg.code = 1;
+                            returnMsg.returnObj = dTO;
+                            return new JsonResult(returnMsg);
+                        }
+                    }
+                    else
+                    {
+                        var pltUserDTOs = _userService.GetList(null, "A").Where(x => x.Id != customerYwjls.First().YwjlId).OrderBy(x => x.FenpeiDate).ToList();
+                        if (pltUserDTOs.Count > 0)
+                        {
+                            dTO = pltUserDTOs.First();
+                            _userService.savePltUserFenpeiDate(DateTime.Now, dTO.Id);
+                            CustomerYwjl customerYwjl = new CustomerYwjl();
+                            customerYwjl.UserId = userid;
+                            customerYwjl.YwjlId = dTO.Id;
+                            customerYwjl.Createtime = DateTime.Now;
+                            _userService.saveCustomerYwjl(customerYwjl);
+                            returnMsg.code = 1;
+                            returnMsg.returnObj = dTO;
+                            return new JsonResult(returnMsg);
+                        }
+
+                    }
+
+                }
+
+
+                //鍒嗛厤瀹㈡埛缁忕悊
+                var userDTOs = _userService.GetList(null, "A").OrderBy(x => x.FenpeiDate).ToList();
+                if (userDTOs.Count > 0)
+                {
+                    dTO = userDTOs.First();
+                    _userService.savePltUserFenpeiDate(DateTime.Now, dTO.Id);
+                    CustomerYwjl customerYwjl = new CustomerYwjl();
+                    customerYwjl.UserId = userid;
+                    customerYwjl.YwjlId = dTO.Id;
+                    customerYwjl.Createtime = DateTime.Now;
+                    _userService.saveCustomerYwjl(customerYwjl);
+                    returnMsg.code = 1;
+                    returnMsg.returnObj = dTO;
+                    return new JsonResult(returnMsg);
+                }
+
+
+                returnMsg.code = 2;
+                returnMsg.error = "娌℃湁鎵惧埌涓氬姟缁忕悊";
+                returnMsg.count = 0;
+            }
+            catch (Exception ex)
+            {
+                returnMsg.code = 2;
+                returnMsg.error = "娌℃湁鑾峰彇鍒皌oken";
+                returnMsg.count = 0;
+
+            }
+            return new JsonResult(returnMsg);
+        }
     }
 }
  
\ No newline at end of file

--
Gitblit v1.9.1