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 | 461 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 383 insertions(+), 78 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Controllers/UserController.cs b/zhengcaioa/zhengcaioa/Controllers/UserController.cs index 754ffbb..b0c74ce 100644 --- a/zhengcaioa/zhengcaioa/Controllers/UserController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/UserController.cs @@ -6,7 +6,9 @@ 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; using System.Transactions; using zhengcaioa.IService; @@ -23,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; @@ -34,6 +44,10 @@ _liaotianService = liaotianService; _pltJiatingchengyuanService = pltJiatingchengyuanService; _sysAttachmentService = sysAttachmentService; + _pltRoleService = pltRoleService; + _pltPageService = pltPageService; + _cooperatecustomCustomerService = cooperatecustomCustomerService; + _intentionCustomerService = intentionCustomerService; } @@ -51,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(); @@ -100,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,9 +176,9 @@ { PltUserDTO.ShebaodateName = PltUserDTO.Shebaodate.Value.ToString("yyyy-MM-dd"); } - if (PltUserDTO.ShiyongDate.HasValue) + if (PltUserDTO.HetongDateEnd.HasValue) { - PltUserDTO.ShiyongDateName = PltUserDTO.ShiyongDate.Value.ToString("yyyy-MM-dd"); + PltUserDTO.HetongDateEndName = PltUserDTO.HetongDateEnd.Value.ToString("yyyy-MM-dd"); } if (PltUserDTO.ShiyongDate.HasValue) { @@ -149,6 +187,14 @@ if (PltUserDTO.ShiyongDate.HasValue) { PltUserDTO.ShiyongDateName = PltUserDTO.ShiyongDate.Value.ToString("yyyy-MM-dd"); + } + if (PltUserDTO.ShiyongDate.HasValue) + { + PltUserDTO.ShiyongDateName = PltUserDTO.ShiyongDate.Value.ToString("yyyy-MM-dd"); + } + if (PltUserDTO.Outdate.HasValue) + { + PltUserDTO.OutdateName = PltUserDTO.Outdate.Value.ToString("yyyy-MM-dd"); } if (pltJiatingchengyuanDTOs.Count == 0) @@ -171,7 +217,6 @@ } ViewBag.shenfenzheng = resultshenfenzheng; - ResultDataEntity<SysAttachmentDTO> resultshenfenzhengbeimian = new ResultDataEntity<SysAttachmentDTO>(); if (!string.IsNullOrEmpty(id)) { @@ -183,8 +228,6 @@ resultshenfenzhengbeimian = _sysAttachmentService.SearchByPaging(searchEntity); } ViewBag.shenfenzhengbeimian = resultshenfenzhengbeimian; - - ResultDataEntity<SysAttachmentDTO> resultsxuelizheng = new ResultDataEntity<SysAttachmentDTO>(); if (!string.IsNullOrEmpty(id)) @@ -226,10 +269,6 @@ } - - - - [CheckLogin] public string Get(string id = null) { @@ -258,85 +297,107 @@ ViewData["curentuser"] = curentuser; ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = false; - using (TransactionScope scope = new TransactionScope()) - { - userdata.RecStatus = "A"; - if (String.IsNullOrEmpty(userdata.Id)) + string s = @"^([A-Fa-f0-9]{2}[-,:]){5}[A-Fa-f0-9]{2}$"; + Regex rStr = new Regex(s); + //if (rStr.IsMatch(userdata.IpMac)) + //{ + using (TransactionScope scope = new TransactionScope()) { - userdata.Creater = curentuser.Id; - userdata.Createtime = DateTime.Now; - } - userdata.Modifier = curentuser.Id; - userdata.Modifytime = DateTime.Now; - - resultEntity = _userService.savePltUser(userdata); - if (resultEntity.Result == false) - { - return JsonConvert.SerializeObject(resultEntity); - } - string[] JiatingchengyuanId = userdata.JiatingchengyuanId; - string[] Name = userdata.Name; - string[] Guanxi = userdata.Guanxi; - string[] Gongzuodanwei = userdata.Gongzuodanwei; - - - for (int i = 0; i < JiatingchengyuanId.Length; i++) - { - PltJiatingchengyuanDTO pltJiatingchengyuanDTO = new PltJiatingchengyuanDTO(); - pltJiatingchengyuanDTO.Id = JiatingchengyuanId[i] == null ? "" : JiatingchengyuanId[i].Trim(); - pltJiatingchengyuanDTO.UserId = userdata.Id; - pltJiatingchengyuanDTO.Name = Name[i] == null ? "" : Name[i].Trim(); - pltJiatingchengyuanDTO.Guanxi = Guanxi[i] == null ? "" : Guanxi[i].Trim(); - pltJiatingchengyuanDTO.Gongzuodanwei = Gongzuodanwei[i] == null ? "" : Gongzuodanwei[i].Trim(); - pltJiatingchengyuanDTO.RecStatus = "A"; - if (String.IsNullOrEmpty(JiatingchengyuanId[i])) + bool charujues = false; + userdata.RecStatus = "A"; + if (String.IsNullOrEmpty(userdata.Id)) { - pltJiatingchengyuanDTO.Creater = curentuser.Id; - pltJiatingchengyuanDTO.Createtime = DateTime.Now; + userdata.Creater = curentuser.Id; + userdata.Createtime = DateTime.Now; + charujues = true; } - pltJiatingchengyuanDTO.Modifier = curentuser.Id; - pltJiatingchengyuanDTO.Modifytime = DateTime.Now; - resultEntity = _pltJiatingchengyuanService.save(pltJiatingchengyuanDTO); + userdata.Modifier = curentuser.Id; + userdata.Modifytime = DateTime.Now; + + resultEntity = _userService.savePltUser(userdata); if (resultEntity.Result == false) { return JsonConvert.SerializeObject(resultEntity); } - } - - string[] Filepaths = userdata.Filepath; - - if (Filepaths != null && Filepaths.Length > 0) - { - for (int i = 0; i < Filepaths.Length; i++) + if (charujues) { - if (string.IsNullOrEmpty(userdata.attachmentid[i])) - { - SysAttachmentDTO sysAttachmentDTO = new SysAttachmentDTO(); - //sysAttachmentDTO.Id = - sysAttachmentDTO.AttObj = userdata.AttObj[i]; - sysAttachmentDTO.AttObjid = userdata.Id; - sysAttachmentDTO.Filefullname = userdata.Filefullname[i]; - sysAttachmentDTO.Filepath = userdata.Filepath[i]; - sysAttachmentDTO.Creater = curentuser.Id; - sysAttachmentDTO.Modifier = curentuser.Id; - sysAttachmentDTO.Createtime = DateTime.Now; - sysAttachmentDTO.Modifytime = sysAttachmentDTO.Createtime; + var pltRoleDTO = _pltRoleService.listRole().Where(x => x.RoleName == "鍛樺伐").FirstOrDefault(); - resultEntity = _sysAttachmentService.save(sysAttachmentDTO); + 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; + string[] Gongzuodanwei = userdata.Gongzuodanwei; + + for (int i = 0; i < JiatingchengyuanId.Length; i++) + { + PltJiatingchengyuanDTO pltJiatingchengyuanDTO = new PltJiatingchengyuanDTO(); + pltJiatingchengyuanDTO.Id = JiatingchengyuanId[i] == null ? "" : JiatingchengyuanId[i].Trim(); + pltJiatingchengyuanDTO.UserId = userdata.Id; + pltJiatingchengyuanDTO.Name = Name[i] == null ? "" : Name[i].Trim(); + pltJiatingchengyuanDTO.Guanxi = Guanxi[i] == null ? "" : Guanxi[i].Trim(); + pltJiatingchengyuanDTO.Gongzuodanwei = Gongzuodanwei[i] == null ? "" : Gongzuodanwei[i].Trim(); + pltJiatingchengyuanDTO.RecStatus = "A"; + if (String.IsNullOrEmpty(JiatingchengyuanId[i])) + { + pltJiatingchengyuanDTO.Creater = curentuser.Id; + pltJiatingchengyuanDTO.Createtime = DateTime.Now; + } + pltJiatingchengyuanDTO.Modifier = curentuser.Id; + pltJiatingchengyuanDTO.Modifytime = DateTime.Now; + resultEntity = _pltJiatingchengyuanService.save(pltJiatingchengyuanDTO); + if (resultEntity.Result == false) + { + return JsonConvert.SerializeObject(resultEntity); + } + } + + string[] Filepaths = userdata.Filepath; + + if (Filepaths != null && Filepaths.Length > 0) + { + for (int i = 0; i < Filepaths.Length; i++) + { + if (string.IsNullOrEmpty(userdata.attachmentid[i])) + { + SysAttachmentDTO sysAttachmentDTO = new SysAttachmentDTO(); + //sysAttachmentDTO.Id = + sysAttachmentDTO.AttObj = userdata.AttObj[i]; + sysAttachmentDTO.AttObjid = userdata.Id; + sysAttachmentDTO.Filefullname = userdata.Filefullname[i]; + sysAttachmentDTO.Filepath = userdata.Filepath[i]; + sysAttachmentDTO.Creater = curentuser.Id; + sysAttachmentDTO.Modifier = curentuser.Id; + sysAttachmentDTO.Createtime = DateTime.Now; + sysAttachmentDTO.Modifytime = sysAttachmentDTO.Createtime; + + resultEntity = _sysAttachmentService.save(sysAttachmentDTO); + if (resultEntity.Result == false) + { + return JsonConvert.SerializeObject(resultEntity); + } + } + } + } + scope.Complete(); } - scope.Complete(); - } - + //} + //else + //{ + // resultEntity.Message = "MAC鍦板潃鏍煎紡閿欒"; + //} return JsonConvert.SerializeObject(resultEntity); } #endregion @@ -423,8 +484,252 @@ ViewData.Model = dto; return View(); } - + + + + + + [CheckLogin] + public IActionResult JiBenGongZi() + { + 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); + + ViewData["ActionInfo"] = actionlist; + + ViewBag.dept = _hrDeptService.GetList().Select(x => new { code = x.Id, label = x.DeptName }).ToList(); + + 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] + public ActionResult EditBeizhu(string id = null) + { + + 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(); + PltUserDTO.Zhiwustatus = "A"; + + if (!String.IsNullOrEmpty(id)) + { + PltUserDTO = _userService.GetPltUserEntity(id); + PltUserDTO.DeptName = _hrDeptService.Get(PltUserDTO.DeptId).DeptName; + + PltUserDTO.ShiyongDateName = PltUserDTO.ShiyongDate.HasValue?PltUserDTO.ShiyongDate.Value.ToString("yyyy-MM-dd") : ""; + PltUserDTO.ShiyongDateEndName = PltUserDTO.ShiyongDateEnd.HasValue ? PltUserDTO.ShiyongDateEnd.Value.ToString("yyyy-MM-dd") : ""; + } + + ViewData.Model = PltUserDTO; + return View(); + } + + + + + + /// <summary> + /// 淇濆瓨 + /// </summary> + /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param> + /// <returns></returns> + [HttpPost] + [CheckLogin] + public string SaveBeizhu(PltUserDTO userdata) + { + var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); + ViewData["curentuser"] = curentuser; + ResultEntity resultEntity = new ResultEntity(); + resultEntity.Result = false; + + + PltUserDTO dTO = _userService.GetPltUserEntity(userdata.Id); + + + + dTO.ShiyongDate = userdata.ShiyongDate; + dTO.ShiyongDateEnd = userdata.ShiyongDateEnd; + dTO.ShiyongPrice = userdata.ShiyongPrice; + dTO.geshuiqizheng = userdata.geshuiqizheng; + dTO.advancewages = userdata.advancewages; + dTO.miniyearsalary = userdata.miniyearsalary; + dTO.senioritywages = userdata.senioritywages; + dTO.Istravelsubsidy = userdata.Istravelsubsidy; + dTO.BasicPrice = userdata.BasicPrice; + + dTO.Modifier = curentuser.Id; + dTO.Modifytime = DateTime.Now; + + resultEntity = _userService.savePltUser(dTO); + + 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