From c063ecbd8e498d88dd2be38ced8707baa39bf851 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期四, 29 七月 2021 14:14:43 +0800 Subject: [PATCH] 今日开发 工作建议 其他请示 处罚申诉 --- zhengcaioa/Services/AskService.cs | 1 zhengcaioa/DTO/AdmAskMarketingCostDTO.cs | 1 zhengcaioa/Services/WfRunProcessService.cs | 349 +++++++++++++++++++++ zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs | 130 +++++++ zhengcaioa/DTO/AdmBreakPrecedentDTO.cs | 1 zhengcaioa/IServices/IWfRunProcessService.cs | 2 zhengcaioa/zhengcaioa/Controllers/admin/AdmBreakPrecedentController.cs | 20 + zhengcaioa/zhengcaioa/Views/AdmAsk/AskPunishAppeal.cshtml | 401 +++++++++++++++++++++++++ zhengcaioa/Model/AdmAskMarketingCost.cs | 1 zhengcaioa/Model/zhengcaioaContext.cs | 4 表修改.sql | 15 11 files changed, 922 insertions(+), 3 deletions(-) diff --git a/zhengcaioa/DTO/AdmAskMarketingCostDTO.cs b/zhengcaioa/DTO/AdmAskMarketingCostDTO.cs index 7807707..0fbc911 100644 --- a/zhengcaioa/DTO/AdmAskMarketingCostDTO.cs +++ b/zhengcaioa/DTO/AdmAskMarketingCostDTO.cs @@ -22,5 +22,6 @@ public string Tongguojujue { get; set; } public string Step { get; set; } public string ToUserId { get; set; } + public string BreakPrecedentId { get; set; } } } diff --git a/zhengcaioa/DTO/AdmBreakPrecedentDTO.cs b/zhengcaioa/DTO/AdmBreakPrecedentDTO.cs index 7590214..b93d761 100644 --- a/zhengcaioa/DTO/AdmBreakPrecedentDTO.cs +++ b/zhengcaioa/DTO/AdmBreakPrecedentDTO.cs @@ -16,6 +16,7 @@ public string BreakPrecedent { get; set; } public string BreakThing { get; set; } public decimal? Chufajine { get; set; } + public string ChufajineName { get; set; } public string QianfaUserId { get; set; } public string QianfaUserName { get; set; } public string RecStatus { get; set; } diff --git a/zhengcaioa/IServices/IWfRunProcessService.cs b/zhengcaioa/IServices/IWfRunProcessService.cs index db5441c..8dbe3e9 100644 --- a/zhengcaioa/IServices/IWfRunProcessService.cs +++ b/zhengcaioa/IServices/IWfRunProcessService.cs @@ -36,5 +36,7 @@ ResultEntity WfAskSuggestion(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version); ResultEntity WfAskOther(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version); + + ResultEntity WfAskPunishAppeal(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version); } } diff --git a/zhengcaioa/Model/AdmAskMarketingCost.cs b/zhengcaioa/Model/AdmAskMarketingCost.cs index f47fe4f..7b8bc7c 100644 --- a/zhengcaioa/Model/AdmAskMarketingCost.cs +++ b/zhengcaioa/Model/AdmAskMarketingCost.cs @@ -19,5 +19,6 @@ public string CreaterName { get; set; } public string Tittle { get; set; } public string ToUserId { get; set; } + public string BreakPrecedentId { get; set; } } } diff --git a/zhengcaioa/Model/zhengcaioaContext.cs b/zhengcaioa/Model/zhengcaioaContext.cs index 5b551f4..39f2cf5 100644 --- a/zhengcaioa/Model/zhengcaioaContext.cs +++ b/zhengcaioa/Model/zhengcaioaContext.cs @@ -488,6 +488,10 @@ entity.Property(e => e.Id).HasMaxLength(50); + entity.Property(e => e.BreakPrecedentId) + .HasMaxLength(50) + .HasColumnName("break_precedentId"); + entity.Property(e => e.Creater) .IsRequired() .HasMaxLength(50) diff --git a/zhengcaioa/Services/AskService.cs b/zhengcaioa/Services/AskService.cs index cde172e..2e45284 100644 --- a/zhengcaioa/Services/AskService.cs +++ b/zhengcaioa/Services/AskService.cs @@ -282,6 +282,7 @@ entity.Feiyong = admAsk.Feiyong; entity.Remark = admAsk.Remark; entity.ToUserId = admAsk.ToUserId; + entity.BreakPrecedentId = admAsk.BreakPrecedentId; entity.ShenpiStatus = admAsk.ShenpiStatus; entity.CreaterName = admAsk.CreaterName; diff --git a/zhengcaioa/Services/WfRunProcessService.cs b/zhengcaioa/Services/WfRunProcessService.cs index c8e2598..b99eece 100644 --- a/zhengcaioa/Services/WfRunProcessService.cs +++ b/zhengcaioa/Services/WfRunProcessService.cs @@ -4971,5 +4971,354 @@ return result; } + public ResultEntity WfAskPunishAppeal(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version) + { + + ResultEntity result = new ResultEntity(); + result.Result = true; + + + WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "09").FirstOrDefault(); + if (wfRunProcessDTO != null) + { + version = wfRunProcessDTO.Version; + } + + + if (version == "v1") + { + if (step == "鎻愪氦") + { + //鏇存柊娴佺▼瀹炰緥 + // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "09").FirstOrDefault(); + if (wfRunProcessDTO == null) + { + //鎻掑叆娴佺▼瀹炰緥 + wfRunProcessDTO = new WfRunProcessDTO(); + //wfRunProcessDTO.Applyno = + wfRunProcessDTO.Applytime = DateTime.Now; + wfRunProcessDTO.Applytiye = "09"; + wfRunProcessDTO.DanjuId = DanjuId; + wfRunProcessDTO.Content = title; + wfRunProcessDTO.Step = "澶勭綒绛惧彂浜�"; + wfRunProcessDTO.ShenpiStatus = "D"; + wfRunProcessDTO.Version = version; + wfRunProcessDTO.RecStatus = "A"; + wfRunProcessDTO.Creater = Userid; + wfRunProcessDTO.Createtime = DateTime.Now; + wfRunProcessDTO.Modifier = Userid; + wfRunProcessDTO.Modifytime = DateTime.Now; + wfRunProcessDTO.Deelurl = "/AdmAsk/AskPunishAppeal?id=" + DanjuId; + result = this.save(wfRunProcessDTO); + if (result.Result == false) + { + return result; + } + //鏌ヨ澶勭悊浜� + var danju = _context.AdmAskMarketingCosts.Where(x => x.RecStatus == "A" && x.Id == DanjuId).FirstOrDefault(); + if (danju == null) + { + result.Result = false; + result.Message = "鏈壘鍒板崟鎹�"; + return result; + } + //var pltUsers = (from a in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A") + // join b in _context.PltUserRoles.Where(x => x.RecStatus == "A" && x.RoleId == hrPositions.Id) on a.Id equals b.UserId + // select a + // ).ToList(); + var admBreakPrecedent = _context.AdmBreakPrecedents.Where(x => x.RecStatus == "A" && x.Id == danju.BreakPrecedentId).FirstOrDefault(); + if (admBreakPrecedent == null) + { + result.Result = false; + result.Message = "鏈壘鍒板缃氬喅瀹�"; + return result; + } + else + { + //鎻掑叆寰呭姙 + WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO(); + wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id; + wfNeeddeelDTO.SendUserId = Userid; + wfNeeddeelDTO.DeelUserId = admBreakPrecedent.QianfaUserId; + wfNeeddeelDTO.Sendtime = DateTime.Now; + wfNeeddeelDTO.Resivetime = DateTime.Now; + wfNeeddeelDTO.Step = "澶勭綒绛惧彂浜�"; + wfNeeddeelDTO.NeeddeelType = "1"; + wfNeeddeelDTO.ChuliStatus = "0"; + wfNeeddeelDTO.Deelurl = "/AdmAsk/AskPunishAppeal?id=" + DanjuId; + wfNeeddeelDTO.Content = ""; + wfNeeddeelDTO.Sort = 1; + wfNeeddeelDTO.RecStatus = "A"; + wfNeeddeelDTO.Creater = Userid; + wfNeeddeelDTO.Createtime = DateTime.Now; + wfNeeddeelDTO.Modifier = Userid; + wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime; + result = _wfNeeddeelService.save(wfNeeddeelDTO); + if (result.Result == false) + { + return result; + } + } + + //鎻掑叆鏂扮殑宸插姙 + WfHistory wfHistoryDTO1 = new WfHistory(); + wfHistoryDTO1.Id = Guid.NewGuid().ToString(); + wfHistoryDTO1.RunProcessId = wfRunProcessDTO.Id; + wfHistoryDTO1.SendUserId = Userid; + wfHistoryDTO1.DeelUserId = wfRunProcessDTO.Creater; + wfHistoryDTO1.Sendtime = DateTime.Now; + wfHistoryDTO1.Resivetime = DateTime.Now; + wfHistoryDTO1.Step = "鎻愪氦"; + wfHistoryDTO1.NeeddeelType = "1"; + wfHistoryDTO1.ChuliStatus = "2"; + wfHistoryDTO1.Deelurl = "/AdmAsk/AskPunishAppeal?id=" + DanjuId; + wfHistoryDTO1.Content = ""; + wfHistoryDTO1.Sort = 1; + wfHistoryDTO1.RecStatus = "A"; + wfHistoryDTO1.Creater = Userid; + wfHistoryDTO1.Createtime = DateTime.Now; + wfHistoryDTO1.Modifier = Userid; + wfHistoryDTO1.Modifytime = wfHistoryDTO1.Createtime; + _context.WfHistories.Add(wfHistoryDTO1); + _context.SaveChanges(); + } + else + { + wfRunProcessDTO.Step = "澶勭綒绛惧彂浜�"; + wfRunProcessDTO.Modifier = Userid; + wfRunProcessDTO.Modifytime = DateTime.Now; + result = this.save(wfRunProcessDTO); + if (result.Result == false) + { + return result; + } + + //鏇存柊寰呭姙 + List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "鎻愪氦"); + var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs); + + var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault(); + if (wfHistoryDTO == null) + { + result.Result = false; + result.Message = "鏈壘鍒颁唬鍔�"; + return result; + } + wfHistoryDTO.Content = Content; + wfHistoryDTO.ChuliStatus = "2"; + wfHistoryDTO.Modifier = Userid; + wfHistoryDTO.Modifytime = DateTime.Now; + var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs); + foreach (var wfHistory in wfHistories) + { + _context.WfHistories.Add(wfHistory); + } + var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs); + foreach (var wfNeeddeel in wfNeeddeels) + { + //_wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid); + _context.WfNeeddeels.Remove(wfNeeddeel); + } + _context.SaveChanges(); + + //鏌ヨ澶勭悊浜� + //鏌ヨ澶勭悊浜� + var danju = _context.AdmAskMarketingCosts.Where(x => x.RecStatus == "A" && x.Id == DanjuId).FirstOrDefault(); + if (danju == null) + { + result.Result = false; + result.Message = "鏈壘鍒板崟鎹�"; + return result; + } + //var pltUsers = (from a in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A") + // join b in _context.PltUserRoles.Where(x => x.RecStatus == "A" && x.RoleId == hrPositions.Id) on a.Id equals b.UserId + // select a + // ).ToList(); + var admBreakPrecedent = _context.AdmBreakPrecedents.Where(x => x.RecStatus == "A" && x.Id == danju.BreakPrecedentId).FirstOrDefault(); + if (admBreakPrecedent == null) + { + result.Result = false; + result.Message = "鏈壘鍒板缃氬喅瀹�"; + return result; + } + else + { + //鎻掑叆鏂扮殑寰呭姙 + WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO(); + wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id; + wfNeeddeelDTO.SendUserId = Userid; + wfNeeddeelDTO.DeelUserId = admBreakPrecedent.QianfaUserId; + wfNeeddeelDTO.Sendtime = DateTime.Now; + wfNeeddeelDTO.Resivetime = DateTime.Now; + wfNeeddeelDTO.Step = "澶勭綒绛惧彂浜�"; + wfNeeddeelDTO.NeeddeelType = "1"; + wfNeeddeelDTO.ChuliStatus = "0"; + wfNeeddeelDTO.Deelurl = "/AdmAsk/AskPunishAppeal?id=" + DanjuId; + wfNeeddeelDTO.Content = ""; + wfNeeddeelDTO.Sort = 2; + wfNeeddeelDTO.RecStatus = "A"; + wfNeeddeelDTO.Creater = Userid; + wfNeeddeelDTO.Createtime = DateTime.Now; + wfNeeddeelDTO.Modifier = Userid; + wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime; + result = _wfNeeddeelService.save(wfNeeddeelDTO); + if (result.Result == false) + { + return result; + } + } + } + + + + + } + + + if (step == "澶勭綒绛惧彂浜�") + { + //鏇存柊娴佺▼瀹炰緥 + //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "09").FirstOrDefault(); + if (wfRunProcessDTO == null) + { + result.Result = false; + result.Message = "鏈壘鍒版祦绋嬪疄渚�"; + return result; + } + if (wfRunProcessDTO.Step != "澶勭綒绛惧彂浜�") + { + result.Result = false; + result.Message = "褰撳墠姝ラ宸茬粡澶勭悊"; + return result; + } + if (tongguojujue == "A") + { + + wfRunProcessDTO.Step = "瀹岀粨"; + wfRunProcessDTO.ShenpiStatus = "A"; + wfRunProcessDTO.Modifier = Userid; + wfRunProcessDTO.Modifytime = DateTime.Now; + result = this.save(wfRunProcessDTO); + if (result.Result == false) + { + return result; + } + //鏇存柊鍗曟嵁 + var admAskMarketingCost = _context.AdmAskMarketingCosts.Find(DanjuId); + if (wfRunProcessDTO == null) + { + result.Result = false; + result.Message = "鏈壘鍒板崟鎹�"; + return result; + } + admAskMarketingCost.ShenpiStatus = "A"; + _context.SaveChanges(); + + List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "澶勭綒绛惧彂浜�"); + + var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs); + + var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault(); + if (wfHistoryDTO == null) + { + result.Result = false; + result.Message = "鏈壘鍒颁唬鍔�"; + return result; + } + wfHistoryDTO.Content = Content; + wfHistoryDTO.ChuliStatus = "2"; + wfHistoryDTO.Modifier = Userid; + wfHistoryDTO.Modifytime = DateTime.Now; + var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs); + foreach (var wfHistory in wfHistories) + { + _context.WfHistories.Add(wfHistory); + } + var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs); + foreach (var wfNeeddeel in wfNeeddeels) + { + // _wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid); + _context.WfNeeddeels.Remove(wfNeeddeel); + } + _context.SaveChanges(); + } + else + { + wfRunProcessDTO.Step = "鎻愪氦"; + wfRunProcessDTO.Modifier = Userid; + wfRunProcessDTO.Modifytime = DateTime.Now; + result = this.save(wfRunProcessDTO); + if (result.Result == false) + { + return result; + } + + //鏇存柊寰呭姙 + List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "澶勭綒绛惧彂浜�"); + var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs); + + var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault(); + if (wfHistoryDTO == null) + { + result.Result = false; + result.Message = "鏈壘鍒颁唬鍔�"; + return result; + } + wfHistoryDTO.Content = Content; + wfHistoryDTO.ChuliStatus = "1"; + wfHistoryDTO.Modifier = Userid; + wfHistoryDTO.Modifytime = DateTime.Now; + var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs); + foreach (var wfHistory in wfHistories) + { + _context.WfHistories.Add(wfHistory); + } + var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs); + foreach (var wfNeeddeel in wfNeeddeels) + { + //_wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid); + _context.WfNeeddeels.Remove(wfNeeddeel); + } + _context.SaveChanges(); + + + //鎻掑叆鏂扮殑寰呭姙 + WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO(); + wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id; + wfNeeddeelDTO.SendUserId = Userid; + wfNeeddeelDTO.DeelUserId = wfRunProcessDTO.Creater; + wfNeeddeelDTO.Sendtime = DateTime.Now; + wfNeeddeelDTO.Resivetime = DateTime.Now; + wfNeeddeelDTO.Step = "鎻愪氦"; + wfNeeddeelDTO.NeeddeelType = "1"; + wfNeeddeelDTO.ChuliStatus = "0"; + wfNeeddeelDTO.Deelurl = "/AdmAsk/AskPunishAppeal?id=" + DanjuId; + wfNeeddeelDTO.Content = ""; + wfNeeddeelDTO.Sort = 1; + wfNeeddeelDTO.RecStatus = "A"; + wfNeeddeelDTO.Creater = Userid; + wfNeeddeelDTO.Createtime = DateTime.Now; + wfNeeddeelDTO.Modifier = Userid; + wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime; + result = _wfNeeddeelService.save(wfNeeddeelDTO); + if (result.Result == false) + { + return result; + } + + } + + + + } + + + } + + + + return result; + } + } } diff --git a/zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs b/zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs index 419d05e..60ca79c 100644 --- a/zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs @@ -26,12 +26,14 @@ private readonly IAdmGoodsManageService _admGoodsManageService; private readonly ILiaotianService _liaotianService; private readonly IUserService _userService; + private readonly IAdmBreakPrecedentService _aAdmBreakPrecedentService; public AdmAskController(ILogger<AdmAskController> logger, IAskService askService, IHrDeptService hrDeptService, IWfRunProcessService wfRunProcessService , IWfHistoryService wfHistoryService, IWfNeeddeelService wfNeeddeelService , IAdmGoodsManageService admGoodsManageService , ILiaotianService liaotianService - , IUserService userService) + , IUserService userService + , IAdmBreakPrecedentService aAdmBreakPrecedentService) { _logger = logger; _hrDeptService = hrDeptService; @@ -42,6 +44,7 @@ _admGoodsManageService = admGoodsManageService; _liaotianService = liaotianService; _userService = userService; + _aAdmBreakPrecedentService = aAdmBreakPrecedentService; } public IActionResult Askcost(string id = "") @@ -689,7 +692,7 @@ /// <summary> - /// 淇濆瓨鐢ㄨ溅鐢宠 + /// 淇濆瓨宸ヤ綔寤鸿 /// </summary> /// <param name="data"></param> /// <returns></returns> @@ -801,7 +804,7 @@ /// <summary> - /// 淇濆瓨閿�鍞垂鐢ㄧ敵璇� + /// 淇濆瓨鍏朵粬璇风ず /// </summary> /// <param name="data"></param> /// <returns></returns> @@ -842,5 +845,126 @@ } return new JsonResult(resultEntity); } + + + public IActionResult AskPunishAppeal(string id = "") + { + AdmAskMarketingCostDTO dto = new AdmAskMarketingCostDTO(); + var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); + + + //娴佺▼鐩稿叧 + string shifoubiaoji = "A"; + string sifoudangqian = "A"; + string dangqianbuzhou = "鎻愪氦"; + var lishiyijian = new List<WfHistoryDTO>(); + + if (string.IsNullOrEmpty(id)) + { + dto.CreaterName = curentuser.UserName; + dto.Tittle = "澶勭綒鐢宠瘔锛�" + curentuser.UserName + "锛�"; + } + else if (dto != null) + { + dto = _askService.GetAskMarketingCost(id); + //dto.FeiyongName = dto.Feiyong.Value.ToString("F2"); + + var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "09").FirstOrDefault(); + if (wfRunProcessDTO == null) + { + shifoubiaoji = "D"; + sifoudangqian = "D"; + } + else + { + dangqianbuzhou = wfRunProcessDTO.Step; + //鏌ヨ瀹℃壒杩涘害 + lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id); + if (wfRunProcessDTO.Step != "鎻愪氦") + { + shifoubiaoji = "D"; + } + + //鏌ヨ寰呭姙 + var chaxundaiban = _wfNeeddeelService.GetListTracking(wfRunProcessDTO.Id, wfRunProcessDTO.Step).Where(x => x.DeelUserId == curentuser.Id).ToList(); + if (chaxundaiban != null && chaxundaiban.Count > 0) + { + sifoudangqian = "A"; + } + else + { + sifoudangqian = "D"; + } + + } + + + + + } + + ViewBag.shifoubiaoji = shifoubiaoji; + ViewBag.sifoudangqian = sifoudangqian; + ViewBag.lishiyijian = lishiyijian; + ViewBag.dangqianbuzhou = dangqianbuzhou; + if (string.IsNullOrEmpty(id)) + { + ViewBag.AdmBreakPrecedentDTOs = _aAdmBreakPrecedentService.GetList(curentuser.Id, DateTime.Now.Date.AddYears(-20), DateTime.Now.Date.AddDays(1)).ToList(); + } + else + { + ViewBag.AdmBreakPrecedentDTOs = _aAdmBreakPrecedentService.GetList(dto.Creater, DateTime.Now.Date.AddYears(-20), DateTime.Now.Date.AddDays(1)).ToList(); + } + + + + + ViewData.Model = dto; + return View(); + } + + + /// <summary> + /// 淇濆瓨澶勭綒鐢宠瘔 + /// </summary> + /// <param name="data"></param> + /// <returns></returns> + [HttpPost] + public IActionResult SaveAskPunishAppeal(AdmAskMarketingCostDTO data) + { + var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); + ResultEntity resultEntity = new ResultEntity(); + using (TransactionScope scope = new TransactionScope()) + { + if (data.Step == "鎻愪氦") + { + + data.ShenpiStatus = "D"; + data.RecStatus = "A"; + data.Creater = curentuser.Id; + data.Createtime = DateTime.Now; + data.Modifier = data.Creater; + data.Modifytime = data.Createtime; + + resultEntity = _askService.SaveAskMarketingCost(data); + if (!resultEntity.Result) + { + return new JsonResult(resultEntity); + } + } + + + + //鍙戣捣娴佺▼鐩稿叧 + + resultEntity = _wfRunProcessService.WfAskPunishAppeal(data.Id, data.Step, data.Tongguojujue, curentuser.Id, data.Content, data.Tittle, "v1"); + if (!resultEntity.Result) + { + return new JsonResult(resultEntity); + } + scope.Complete(); + } + return new JsonResult(resultEntity); + } } } diff --git a/zhengcaioa/zhengcaioa/Controllers/admin/AdmBreakPrecedentController.cs b/zhengcaioa/zhengcaioa/Controllers/admin/AdmBreakPrecedentController.cs index a9d96c0..c67cb86 100644 --- a/zhengcaioa/zhengcaioa/Controllers/admin/AdmBreakPrecedentController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/admin/AdmBreakPrecedentController.cs @@ -153,5 +153,25 @@ ViewData["curentuser"] = curentuser; return new JsonResult(_admBreakPrecedentService.ModifyStatus(Id, curentuser.Id)); } + + + + public IActionResult GetBreakPrecedent(string id) + { + var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); + ViewData["curentuser"] = curentuser; + ResultEntity<AdmBreakPrecedentDTO> resultEntity = new ResultEntity<AdmBreakPrecedentDTO>(); + resultEntity.Result = false; + + AdmBreakPrecedentDTO dto = _admBreakPrecedentService.Get(id); + dto.UserName = _userService.GetPltUserEntity(dto.UserId).UserName; + dto.QianfaUserName = _userService.GetPltUserEntity(dto.QianfaUserId).UserName; + dto.BreakTimeName = dto.BreakTime.ToString("yyyy-MM-dd"); + dto.ChufajineName = dto.Chufajine.HasValue ? dto.Chufajine.Value.ToString("F2") : ""; + resultEntity.Result = true; + resultEntity.DataInfo = dto; + + return new JsonResult(resultEntity); + } } } diff --git a/zhengcaioa/zhengcaioa/Views/AdmAsk/AskPunishAppeal.cshtml b/zhengcaioa/zhengcaioa/Views/AdmAsk/AskPunishAppeal.cshtml new file mode 100644 index 0000000..25110f0 --- /dev/null +++ b/zhengcaioa/zhengcaioa/Views/AdmAsk/AskPunishAppeal.cshtml @@ -0,0 +1,401 @@ +锘緻model AdmAskMarketingCostDTO; +@using DTO; +@using zhengcaioa.Models; +@{ + Layout = null; + + //娴佺▼鐩稿叧 + string shifoubiaoji = ViewBag.shifoubiaoji as string; + string sifoudangqian = ViewBag.sifoudangqian as string; + string dangqianbuzhou = ViewBag.dangqianbuzhou as string; + + List<WfHistoryDTO> lishiyijian = ViewData["lishiyijian"] as List<WfHistoryDTO>; //瀹℃壒杩涘害 + + List<AdmBreakPrecedentDTO> AdmBreakPrecedentDTOs = ViewData["AdmBreakPrecedentDTOs"] as List<AdmBreakPrecedentDTO>; +} + +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="ThemeBucket"> + <link href="~/css/bootstrap.min.css" rel="stylesheet"> + <link href="~/css/font-awesome.min.css" rel="stylesheet"> + <link href="~/css/animate.min.css" rel="stylesheet"> + <link href="~/css/style.min.css" rel="stylesheet"> + <link href="~/css/plugins/chosen/chosen.css" rel="stylesheet"> + <link href="~/js/plugins/layer/skin/layer.css" rel="stylesheet"> + <link href="~/css/style.min.css" rel="stylesheet"> + <link href="~/css/plugins/toastr/toastr.min.css" rel="stylesheet" /> + + <!-- jqgrid--> + <script language="javascript" src="~/js/jquery.min.js" type="text/javascript"></script> + <script src="~/js/bootstrap.min.js"></script> + + <!--瀹瑰櫒--> + <script language="javascript" src="~/js/plugins/chosen/chosen.jquery.js" type="text/javascript"></script> + <script language="javascript" src="~/js/plugins/layer/layer.js" type="text/javascript"></script> + <script src="~/js/plugins/toastr/toastr.min.js" type="text/javascript"></script> + <script language="javascript" src="~/js/common-layout.js" type="text/javascript"></script> + <script src="~/js/plugins/layer/laydate/laydate.js" type="text/javascript"></script> + <script src="~/js/TUJS.js"></script> + + <style type="text/css"> + + div.clearfix > label { + padding-top: 8px; + } + + .col-md-1.control-label { + padding-right: 0px; + font-weight: 400; + } + </style> + + +</head> + +<body class="gray-bg" style="overflow:auto"> + <form id="fm" method="post"> + <div class="wrapper wrapper-content" id="ibox-content" style="padding:15px;"> + <div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div id="div_content" class="ibox-content" style="background-color:white;"> + <div class="row"> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">鍗曟嵁鍚嶇О<i class="red">*</i></label> + <div class="col-sm-2 col-md-2"> + <input type="text" class="form-control" value="@Model.Tittle" name="tittle" id="tittle" validate="RequiredField" autocomplete="off" readonly="readonly"> + + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">鐢宠浜�<i class="red">*</i></label> + <div class="col-sm-2 col-md-2"> + <input type="text" class="form-control" value="@Model.CreaterName" name="createrName" id="createrName" validate="RequiredField" autocomplete="off" readonly="readonly"> + + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">杩濈邯淇℃伅<i class="red">*</i></label> + <div class="col-sm-2 col-md-2"> + <select id="BreakPrecedentId" class="form-control" name="BreakPrecedentId" data-placeholder="閫夋嫨 搴忓垪 ..."> + <option value="" hassubinfo="true">璇烽�夋嫨</option> + @foreach (var item in AdmBreakPrecedentDTOs) + { + @if (!item.Id.Equals(Model.BreakPrecedentId)) + { + <option value="@item.Id" hassubinfo="true"> + @item.BreakThing + </option> + } + else + { + <option value="@item.Id" hassubinfo="true" selected="selected"> + @item.BreakThing + </option> + } + + } + + + </select> + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">澶勭綒鏃堕棿</label> + <div class="col-sm-2 col-md-2" id="BreakTimeName"> + + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">鍛樺伐</label> + <div class="col-sm-2 col-md-2" id="UserName"> + + </div> + </div> + + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">杩濆弽鍒跺害</label> + <div class="col-sm-6 col-md-6" id="BreakPrecedent"> + + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">杩濈邯浜嬬敱</label> + <div class="col-sm-6 col-md-6" id="BreakThing"> + + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">澶勭綒閲戦(鍏�)</label> + <div class="col-sm-2 col-md-2" id="ChufajineName"> + + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">澶勭綒绛惧彂</label> + <div class="col-sm-2 col-md-2" id="QianfaUserName"> + + </div> + </div> + + + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">鐢宠瘔鐞嗙敱<i class="red">*</i></label> + <div class="col-sm-6 col-md-6"> + <textarea class="form-control bt" id="Remark" name="Remark" maxlength="500" length="long" style="resize:none;overflow-y:hidden; height:80px;">@Model.Remark</textarea> + </div> + </div> + + + + + + + <div class="clearfix layer-area" style="padding-bottom:15px;" id="shenpiyijian"> + <label class="text-right col-sm-1 col-md-1 control-label">瀹℃壒鎰忚</label> + <div class="col-sm-6 col-md-6"> + <textarea class="form-control data" id="Content" name="Content" style="resize:none;overflow-y:hidden; height:80px;" maxlength="500"></textarea> + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:15px;"> + <label class="text-right col-sm-1 col-md-1 control-label">瀹℃壒杩涘害</label> + <div class="col-sm-6 col-md-6"> + <table> + @if (lishiyijian.Count > 0) + { + <tr> + <td style="border:1px solid #ccc;width:150px;">姝ラ </td> + <td style="border:1px solid #ccc;width:150px;"> 鎵瑰鐘舵��</td> + <td style="border:1px solid #ccc;width:150px;">鎵瑰鏃堕棿</td> + <td style="border:1px solid #ccc;width:300px;"> 瀹℃壒鎰忚</td> + <td style="border:1px solid #ccc;width:100px;"> 鎵瑰浜�</td> + </tr> + } + + @foreach (var wfHistory in lishiyijian) + { + <tr> + <td style="border:1px solid #ccc;width:150px;">@wfHistory.Step</td> + <td style="border:1px solid #ccc;width:150px;">@wfHistory.ChuliStatusName</td> + <td style="border:1px solid #ccc;width:150px;">@wfHistory.ModifytimeName</td> + <td style="border:1px solid #ccc;width:300px;">@wfHistory.Content</td> + <td style="border:1px solid #ccc;width:100px;">@wfHistory.DeelUserIdName</td> + </tr> + } + </table> + </div> + </div> + <div class="clearfix layer-area" style="padding-bottom:60px;"> + + </div> + </div> + </div> + </div> + </div> + </div> + </div> + <div class="ibox-content" id="top" style="z-index:100; position:fixed; height:50px; width:100%;bottom:0; text-align: right; padding-top:8px "> + <div class="" style="float:right;" data-bootstro-width="500px"> + <a class="btn btn-success" href="javascript:void(0)" onclick="_pageAutoClose();" style="margin-left:4px; border-radius:4px;"> + <i class="glyphicon glyphicon-remove"></i> <span class="bold">鍙栨秷</span> + </a> + <a class="btn btn-success" id="tijiao" href="javascript:void(0)" onclick="saveSimCost('');" style="margin-left:4px; border-radius:4px;"> + <i class="glyphicon glyphicon-ok"></i> <span class="bold">鎻愪氦</span> + </a> + + <a class="btn btn-success" id="tongyi" href="javascript:void(0)" onclick="saveSimCost('A');" style="margin-left:4px; border-radius:4px;"> + <span class="bold">鍚屾剰</span> + </a> + + <a class="btn btn-success" id="jujue" href="javascript:void(0)" onclick="saveSimCost('D');" style="margin-left:4px; border-radius:4px;"> + <span class="bold">鎷掔粷</span> + </a> + <input type="hidden" id="id" name="id" value="@Model.Id" /> + <input type="hidden" id="Tongguojujue" name="Tongguojujue" value="" /> + <input type="hidden" id="Step" name="Step" value="@dangqianbuzhou" /> + </div> + </div> + + </form> + + <script type="text/javascript"> + + var hh = document.body.clientHeight - $("#top").height() * 2 - 50; + $("#div_content").height(hh); + + toastr.options = { + "closeButton": true, + "debug": false, + "progressBar": true, + "positionClass": "toast-bottom-right", + "onclick": null, + "showDuration": "300", + "hideDuration": "600", + "timeOut": "4500", + "extendedTimeOut": "600", + "showEasing": "swing", + "hideEasing": "linear", + "showMethod": "fadeIn", + "hideMethod": "fadeOut" + }; + + + $(function () { + + if ("@shifoubiaoji" != "A") { + $("input").attr('readonly', true); + $("textarea").attr('readonly', true); + $(':radio').attr('disabled', true); + $(':checkbox').attr('disabled', true); + $(':button').attr('disabled', true); + //$('a').removeAttr('onclick'); + $('select').attr('disabled', true); + $("#fileUp").attr('disabled', true); + + $('.fujianshanchu').removeAttr('onclick'); + + + if ("@sifoudangqian" == "A") { + $("#Content").attr('readonly', false); + $('#tijiao').hide(); + } else { + $('#tongyi').hide(); + $('#jujue').hide(); + $('#tijiao').hide(); + $('#shenpiyijian').hide(); + } + + } else { + + + //瀹℃壒鐩稿叧 + $('#shenpiyijian').hide(); + if ("@sifoudangqian" == "A") { + $('#tongyi').hide(); + $('#jujue').hide(); + $('#BreakPrecedentId').chosen(); + } else { + $('#tongyi').hide(); + $('#jujue').hide(); + $('#tijiao').hide(); + } + + + } + + }) + + + // 淇濆瓨 + function saveSimCost(tongyi) { + + + if ($.trim($("#BreakPrecedentId").val()) == '') { + toastr.warning("杩濈邯淇℃伅涓嶈兘涓虹┖"); + return; + } + if ($.trim($("#Remark").val()) == '') { + toastr.warning("鐢宠瘔鐞嗙敱涓嶈兘涓虹┖"); + return; + } + + $("#Tongguojujue").val(tongyi); + + $.ajax({ + type: "POST", + url: "/AdmAsk/SaveAskPunishAppeal", + dataType: "json", + global: false, + data: $('#fm').serialize(), + success: function (data) { + + if (data.Result) { + parent.layer.msg('鎻愪氦鎴愬姛', { icon: 6 }); + try { + _pageAutoClose();//鑷姩鍏抽棴椤甸潰鏂规硶 + } + catch (err) { + var pathname = window.location.pathname; + var search = window.location.search; + parent._CloseTab1(pathname + search); + } + } + else { + parent.layer.msg(data.Message, { icon: 5 }); + } + + }, + error: function () { + parent.layer.msg('澶辫触', { icon: 5 }); + } + }); + } + + + + + $("#BreakPrecedentId").change(function () { + + var BreakPrecedentId = $("#BreakPrecedentId").val(); + if (BreakPrecedentId != "") { + $.ajax({ + type: "GET", + url: "/AdmBreakPrecedent/GetBreakPrecedent?id=" + BreakPrecedentId, + dataType: "json", + global: false, + data: "", + success: function (data) { + if (data.Result) { + var DataInfo = data.DataInfo; + + + $("#BreakTimeName").html(DataInfo.BreakTimeName); + $("#UserName").html(DataInfo.UserName); + $("#BreakPrecedent").html(DataInfo.BreakPrecedent); + $("#BreakThing").html(DataInfo.BreakThing); + $("#ChufajineName").html(DataInfo.ChufajineName); + $("#QianfaUserName").html(DataInfo.QianfaUserName); + + } else { + parent.layer.msg('澶辫触', { icon: 5 }); + } + + + }, + error: function () { + + + parent.layer.msg('澶辫触', { icon: 5 }); + } + }); + } else { + $("#BreakTimeName").html(""); + $("#UserName").html(""); + $("#BreakPrecedent").html(""); + $("#BreakThing").html(""); + $("#ChufajineName").html(""); + $("#QianfaUserName").html(""); + } + + }); + + $("#BreakPrecedentId").trigger("change"); + + + + function _pageAutoClose() { + parent.window._reloadPageData(); + var index = parent.layer.getFrameIndex(window.name); + parent.layer.isRefresh = true; + parent.layer.closeAll('loading'); + parent.layer.close(index); + return false; + } + </script> +</body> +</html> \ No newline at end of file diff --git "a/\350\241\250\344\277\256\346\224\271.sql" "b/\350\241\250\344\277\256\346\224\271.sql" index 625f86c..82e0866 100644 --- "a/\350\241\250\344\277\256\346\224\271.sql" +++ "b/\350\241\250\344\277\256\346\224\271.sql" @@ -3,6 +3,21 @@ GO +ALTER TABLE [dbo].[ADM_AskMarketingCost] ADD [break_precedentId] [nvarchar](50) NULL; +GO + + + + + + + + + +USE [zhengcaioa] +GO + + ALTER TABLE [dbo].[ADM_AskMarketingCost] ADD [ToUserId] [nvarchar](50) NULL; GO -- Gitblit v1.9.1