From f0226fac55f50b362d145ce969e66d41606a8b06 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期五, 30 七月 2021 14:13:16 +0800
Subject: [PATCH] 今日开发 订单优惠 下订单的时候计算优惠 访问申请
---
zhengcaioa/Services/WfRunProcessService.cs | 4208 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 4,207 insertions(+), 1 deletions(-)
diff --git a/zhengcaioa/Services/WfRunProcessService.cs b/zhengcaioa/Services/WfRunProcessService.cs
index 33a5338..5541884 100644
--- a/zhengcaioa/Services/WfRunProcessService.cs
+++ b/zhengcaioa/Services/WfRunProcessService.cs
@@ -183,7 +183,7 @@
- if (searchEntity.totalrows == 0)
+ //if (searchEntity.totalrows == 0)
searchEntity.totalrows = query.Count();
var lianlist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
data.LoadData(searchEntity, lianlist);
@@ -1812,5 +1812,4211 @@
return result;
}
+
+ public ResultEntity WfAskcost(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, "04").FirstOrDefault();
+ if (wfRunProcessDTO != null)
+ {
+ version = wfRunProcessDTO.Version;
+ }
+
+
+ if (version == "v1")
+ {
+ if (step == "鎻愪氦")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "04").FirstOrDefault();
+ if (wfRunProcessDTO == null)
+ {
+ //鎻掑叆娴佺▼瀹炰緥
+ wfRunProcessDTO = new WfRunProcessDTO();
+ //wfRunProcessDTO.Applyno =
+ wfRunProcessDTO.Applytime = DateTime.Now;
+ wfRunProcessDTO.Applytiye = "04";
+ 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/Askcost?id=" + DanjuId;
+ result = this.save(wfRunProcessDTO);
+ if (result.Result == false)
+ {
+ return result;
+ }
+ //鏌ヨ澶勭悊浜�
+ var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "璐㈠姟").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "璐㈠姟瀹℃壒";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/Askcost?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/Askcost?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 hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "璐㈠姟").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆鏂扮殑寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "璐㈠姟瀹℃壒";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/Askcost?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, "04").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.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 hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "鎬荤粡鐞�").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆鏂扮殑寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "鎬荤粡鐞嗗鎵�";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/Askcost?id=" + DanjuId;
+ wfNeeddeelDTO.Content = "";
+ wfNeeddeelDTO.Sort = 3;
+ 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;
+ }
+ }
+ }
+ 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/Askcost?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;
+ }
+
+ }
+
+
+
+
+
+ }
+
+ if (step == "鎬荤粡鐞嗗鎵�")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "04").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 admAskcost = _context.AdmAskcosts.Find(DanjuId);
+ if (wfRunProcessDTO == null)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板崟鎹�";
+ return result;
+ }
+ admAskcost.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/Askcost?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;
+ }
+
+ public ResultEntity WfAskGood(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, "05").FirstOrDefault();
+ if (wfRunProcessDTO != null)
+ {
+ version = wfRunProcessDTO.Version;
+ }
+
+
+ if (version == "v1")
+ {
+ if (step == "鎻愪氦")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "05").FirstOrDefault();
+ if (wfRunProcessDTO == null)
+ {
+ //鎻掑叆娴佺▼瀹炰緥
+ wfRunProcessDTO = new WfRunProcessDTO();
+ //wfRunProcessDTO.Applyno =
+ wfRunProcessDTO.Applytime = DateTime.Now;
+ wfRunProcessDTO.Applytiye = "05";
+ 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/AskGood?id=" + DanjuId;
+ result = this.save(wfRunProcessDTO);
+ if (result.Result == false)
+ {
+ return result;
+ }
+ //鏌ヨ澶勭悊浜�
+ var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "琛屾斂瀹℃壒";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskGood?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/AskGood?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 hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆鏂扮殑寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "琛屾斂瀹℃壒";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskGood?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, "05").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 admAskGood = _context.AdmAskGoods.Find(DanjuId);
+ if (wfRunProcessDTO == null)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板崟鎹�";
+ return result;
+ }
+ admAskGood.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/AskGood?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;
+ }
+
+ public ResultEntity WfAskovertime(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, "10").FirstOrDefault();
+ if (wfRunProcessDTO != null)
+ {
+ version = wfRunProcessDTO.Version;
+ }
+
+
+ if (version == "v1")
+ {
+ if (step == "鎻愪氦")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "10").FirstOrDefault();
+ if (wfRunProcessDTO == null)
+ {
+ //鎻掑叆娴佺▼瀹炰緥
+ wfRunProcessDTO = new WfRunProcessDTO();
+ //wfRunProcessDTO.Applyno =
+ wfRunProcessDTO.Applytime = DateTime.Now;
+ wfRunProcessDTO.Applytiye = "10";
+ 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/Askovertime?id=" + DanjuId;
+ result = this.save(wfRunProcessDTO);
+ if (result.Result == false)
+ {
+ return result;
+ }
+ //鏌ヨ澶勭悊浜�
+ var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "浜轰簨").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "浜轰簨瀹℃壒";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/Askovertime?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/Askovertime?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 hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "浜轰簨").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆鏂扮殑寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "浜轰簨瀹℃壒";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/Askovertime?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, "10").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 admAskovertime = _context.AdmAskovertimes.Find(DanjuId);
+ if (wfRunProcessDTO == null)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板崟鎹�";
+ return result;
+ }
+ admAskovertime.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/Askovertime?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;
+ }
+
+ public ResultEntity WfAskCar(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, "06").FirstOrDefault();
+ if (wfRunProcessDTO != null)
+ {
+ version = wfRunProcessDTO.Version;
+ }
+
+
+ if (version == "v1")
+ {
+ if (step == "鎻愪氦")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "06").FirstOrDefault();
+ if (wfRunProcessDTO == null)
+ {
+ //鎻掑叆娴佺▼瀹炰緥
+ wfRunProcessDTO = new WfRunProcessDTO();
+ //wfRunProcessDTO.Applyno =
+ wfRunProcessDTO.Applytime = DateTime.Now;
+ wfRunProcessDTO.Applytiye = "06";
+ 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/AskCar?id=" + DanjuId;
+ result = this.save(wfRunProcessDTO);
+ if (result.Result == false)
+ {
+ return result;
+ }
+ //鏌ヨ澶勭悊浜�
+ var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "琛屾斂瀹℃壒";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskCar?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/AskCar?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 hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆鏂扮殑寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "琛屾斂瀹℃壒";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskCar?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, "06").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.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 hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "鎬荤粡鐞�").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆鏂扮殑寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "鎬荤粡鐞嗗鎵�";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskCar?id=" + DanjuId;
+ wfNeeddeelDTO.Content = "";
+ wfNeeddeelDTO.Sort = 3;
+ 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;
+ }
+ }
+ }
+ 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/AskCar?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;
+ }
+
+ }
+
+
+
+
+
+ }
+
+ if (step == "鎬荤粡鐞嗗鎵�")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "06").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 admAskCar = _context.AdmAskCars.Find(DanjuId);
+ if (wfRunProcessDTO == null)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板崟鎹�";
+ return result;
+ }
+ admAskCar.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/AskCar?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;
+ }
+
+ public ResultEntity WfAskMarketingCost(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, "07").FirstOrDefault();
+ if (wfRunProcessDTO != null)
+ {
+ version = wfRunProcessDTO.Version;
+ }
+
+
+ if (version == "v1")
+ {
+ if (step == "鎻愪氦")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "07").FirstOrDefault();
+ if (wfRunProcessDTO == null)
+ {
+ //鎻掑叆娴佺▼瀹炰緥
+ wfRunProcessDTO = new WfRunProcessDTO();
+ //wfRunProcessDTO.Applyno =
+ wfRunProcessDTO.Applytime = DateTime.Now;
+ wfRunProcessDTO.Applytiye = "07";
+ 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/AskMarketingCost?id=" + DanjuId;
+ result = this.save(wfRunProcessDTO);
+ if (result.Result == false)
+ {
+ return result;
+ }
+ //鏌ヨ澶勭悊浜�
+ var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "璐㈠姟").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "璐㈠姟瀹℃壒";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskMarketingCost?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/AskMarketingCost?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 hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "璐㈠姟").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆鏂扮殑寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "璐㈠姟瀹℃壒";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskMarketingCost?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, "07").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.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 hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "鎬荤粡鐞�").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆鏂扮殑寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "鎬荤粡鐞嗗鎵�";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskMarketingCost?id=" + DanjuId;
+ wfNeeddeelDTO.Content = "";
+ wfNeeddeelDTO.Sort = 3;
+ 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;
+ }
+ }
+ }
+ 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/AskMarketingCost?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;
+ }
+
+ }
+
+
+
+
+
+ }
+
+ if (step == "鎬荤粡鐞嗗鎵�")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "07").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/AskMarketingCost?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;
+ }
+
+ public ResultEntity WfAskSuggestion(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, "08").FirstOrDefault();
+ if (wfRunProcessDTO != null)
+ {
+ version = wfRunProcessDTO.Version;
+ }
+
+
+ if (version == "v1")
+ {
+ if (step == "鎻愪氦")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "08").FirstOrDefault();
+ if (wfRunProcessDTO == null)
+ {
+ //鎻掑叆娴佺▼瀹炰緥
+ wfRunProcessDTO = new WfRunProcessDTO();
+ //wfRunProcessDTO.Applyno =
+ wfRunProcessDTO.Applytime = DateTime.Now;
+ wfRunProcessDTO.Applytiye = "08";
+ 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/AskSuggestion?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();
+
+ if (string.IsNullOrEmpty(danju.ToUserId))
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+ else
+ {
+ //鎻掑叆寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = danju.ToUserId;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "琚缓璁汉";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskSuggestion?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/AskSuggestion?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();
+
+ if (string.IsNullOrEmpty(danju.ToUserId))
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+ else
+ {
+ //鎻掑叆鏂扮殑寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = danju.ToUserId;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "琚缓璁汉";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskSuggestion?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, "08").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/AskSuggestion?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;
+ }
+
+ public ResultEntity WfAskOther(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, "11").FirstOrDefault();
+ if (wfRunProcessDTO != null)
+ {
+ version = wfRunProcessDTO.Version;
+ }
+
+
+ if (version == "v1")
+ {
+ if (step == "鎻愪氦")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "11").FirstOrDefault();
+ if (wfRunProcessDTO == null)
+ {
+ //鎻掑叆娴佺▼瀹炰緥
+ wfRunProcessDTO = new WfRunProcessDTO();
+ //wfRunProcessDTO.Applyno =
+ wfRunProcessDTO.Applytime = DateTime.Now;
+ wfRunProcessDTO.Applytiye = "11";
+ 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/AskOther?id=" + DanjuId;
+ result = this.save(wfRunProcessDTO);
+ if (result.Result == false)
+ {
+ return result;
+ }
+ //鏌ヨ澶勭悊浜�
+ var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "璐㈠姟").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "璐㈠姟瀹℃壒";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskOther?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/AskOther?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 hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "璐㈠姟").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆鏂扮殑寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "璐㈠姟瀹℃壒";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskOther?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, "11").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.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 hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "鎬荤粡鐞�").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆鏂扮殑寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "鎬荤粡鐞嗗鎵�";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskOther?id=" + DanjuId;
+ wfNeeddeelDTO.Content = "";
+ wfNeeddeelDTO.Sort = 3;
+ 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;
+ }
+ }
+ }
+ 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/AskOther?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;
+ }
+
+ }
+
+
+
+
+
+ }
+
+ if (step == "鎬荤粡鐞嗗鎵�")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "11").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/AskOther?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;
+ }
+
+ 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;
+ }
+
+ public ResultEntity WfAskYouHui(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, "12").FirstOrDefault();
+ if (wfRunProcessDTO != null)
+ {
+ version = wfRunProcessDTO.Version;
+ }
+
+
+ if (version == "v1")
+ {
+ if (step == "鎻愪氦")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "12").FirstOrDefault();
+ if (wfRunProcessDTO == null)
+ {
+ //鎻掑叆娴佺▼瀹炰緥
+ wfRunProcessDTO = new WfRunProcessDTO();
+ //wfRunProcessDTO.Applyno =
+ wfRunProcessDTO.Applytime = DateTime.Now;
+ wfRunProcessDTO.Applytiye = "12";
+ 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/AskYouHui?id=" + DanjuId;
+ result = this.save(wfRunProcessDTO);
+ if (result.Result == false)
+ {
+ return result;
+ }
+ //鏌ヨ澶勭悊浜�
+ var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "鎬荤粡鐞�").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "鎬荤粡鐞嗗鎵�";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskYouHui?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/AskYouHui?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 hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "鎬荤粡鐞�").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆鏂扮殑寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "鎬荤粡鐞嗗鎵�";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskYouHui?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, "12").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 admAskYouHui = _context.AdmAskYouHuis.Find(DanjuId);
+ if (wfRunProcessDTO == null)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板崟鎹�";
+ return result;
+ }
+ admAskYouHui.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/AskYouHui?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;
+ }
+
+ public ResultEntity WfAskBaiFang(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, "13").FirstOrDefault();
+ if (wfRunProcessDTO != null)
+ {
+ version = wfRunProcessDTO.Version;
+ }
+
+
+ if (version == "v1")
+ {
+ if (step == "鎻愪氦")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "13").FirstOrDefault();
+ if (wfRunProcessDTO == null)
+ {
+ //鎻掑叆娴佺▼瀹炰緥
+ wfRunProcessDTO = new WfRunProcessDTO();
+ //wfRunProcessDTO.Applyno =
+ wfRunProcessDTO.Applytime = DateTime.Now;
+ wfRunProcessDTO.Applytiye = "13";
+ 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/AskBaiFang?id=" + DanjuId;
+ result = this.save(wfRunProcessDTO);
+ if (result.Result == false)
+ {
+ return result;
+ }
+ //鏌ヨ澶勭悊浜�
+ var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "鎬荤粡鐞�").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "鎬荤粡鐞嗗鎵�";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskBaiFang?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/AskBaiFang?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 hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "鎬荤粡鐞�").FirstOrDefault();
+ if (hrPositions == 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();
+
+ if (pltUsers == null || pltUsers.Count == 0)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板鐞嗕汉";
+ return result;
+ }
+
+ foreach (var pltUser in pltUsers)
+ {
+ //鎻掑叆鏂扮殑寰呭姙
+ WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
+ wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
+ wfNeeddeelDTO.SendUserId = Userid;
+ wfNeeddeelDTO.DeelUserId = pltUser.Id;
+ wfNeeddeelDTO.Sendtime = DateTime.Now;
+ wfNeeddeelDTO.Resivetime = DateTime.Now;
+ wfNeeddeelDTO.Step = "鎬荤粡鐞嗗鎵�";
+ wfNeeddeelDTO.NeeddeelType = "1";
+ wfNeeddeelDTO.ChuliStatus = "0";
+ wfNeeddeelDTO.Deelurl = "/AdmAsk/AskBaiFang?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, "13").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 admAskBaiFang = _context.AdmAskBaiFangs.Find(DanjuId);
+ if (wfRunProcessDTO == null)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板崟鎹�";
+ return result;
+ }
+ admAskBaiFang.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/AskBaiFang?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;
+ }
+
}
}
--
Gitblit v1.9.1