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

---
 zhengcaioa/Services/WfRunProcessService.cs | 1785 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,773 insertions(+), 12 deletions(-)

diff --git a/zhengcaioa/Services/WfRunProcessService.cs b/zhengcaioa/Services/WfRunProcessService.cs
index 8c7df35..8433957 100644
--- a/zhengcaioa/Services/WfRunProcessService.cs
+++ b/zhengcaioa/Services/WfRunProcessService.cs
@@ -287,6 +287,18 @@
                         model20.Modifier = userid;
                         model20.Modifytime = DateTime.Now;
                         break;
+                    case "21":
+                        var model21 = _context.AdmAskCiZhis.Find(model.DanjuId);
+                        model21.RecStatus = "D";
+                        model21.Modifier = userid;
+                        model21.Modifytime = DateTime.Now;
+                        break;
+                    case "22":
+                        var model22 = _context.AdmAskJiaojies.Find(model.DanjuId);
+                        model22.RecStatus = "D";
+                        model22.Modifier = userid;
+                        model22.Modifytime = DateTime.Now;
+                        break;
                     default:
                         break;
                 }
@@ -361,7 +373,7 @@
                             return result;
                         }
                         //鏌ヨ澶勭悊浜�
-                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "浜轰簨").FirstOrDefault();
+                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂浜轰簨").FirstOrDefault();
                         if (hrPositions == null)
                         {
                             result.Result = false;
@@ -468,7 +480,7 @@
                         _context.SaveChanges();
 
                         //鏌ヨ澶勭悊浜�
-                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "浜轰簨").FirstOrDefault();
+                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂浜轰簨").FirstOrDefault();
                         if (hrPositions == null)
                         {
                             result.Result = false;
@@ -889,7 +901,7 @@
                             return result;
                         }
                         //鏌ヨ澶勭悊浜�
-                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "浜轰簨").FirstOrDefault();
+                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂浜轰簨").FirstOrDefault();
                         if (hrPositions == null)
                         {
                             result.Result = false;
@@ -996,7 +1008,7 @@
                         _context.SaveChanges();
 
                         //鏌ヨ澶勭悊浜�
-                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "浜轰簨").FirstOrDefault();
+                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂浜轰簨").FirstOrDefault();
                         if (hrPositions == null)
                         {
                             result.Result = false;
@@ -1417,7 +1429,7 @@
                             return result;
                         }
                         //鏌ヨ澶勭悊浜�
-                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "浜轰簨").FirstOrDefault();
+                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂浜轰簨").FirstOrDefault();
                         if (hrPositions == null)
                         {
                             result.Result = false;
@@ -1524,7 +1536,7 @@
                         _context.SaveChanges();
 
                         //鏌ヨ澶勭悊浜�
-                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "浜轰簨").FirstOrDefault();
+                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂浜轰簨").FirstOrDefault();
                         if (hrPositions == null)
                         {
                             result.Result = false;
@@ -2473,7 +2485,7 @@
                             return result;
                         }
                         //鏌ヨ澶勭悊浜�
-                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂").FirstOrDefault();
+                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂浜轰簨").FirstOrDefault();
                         if (hrPositions == null)
                         {
                             result.Result = false;
@@ -2580,7 +2592,7 @@
                         _context.SaveChanges();
 
                         //鏌ヨ澶勭悊浜�
-                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂").FirstOrDefault();
+                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂浜轰簨").FirstOrDefault();
                         if (hrPositions == null)
                         {
                             result.Result = false;
@@ -2822,7 +2834,7 @@
                             return result;
                         }
                         //鏌ヨ澶勭悊浜�
-                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "浜轰簨").FirstOrDefault();
+                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂浜轰簨").FirstOrDefault();
                         if (hrPositions == null)
                         {
                             result.Result = false;
@@ -2929,7 +2941,7 @@
                         _context.SaveChanges();
 
                         //鏌ヨ澶勭悊浜�
-                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "浜轰簨").FirstOrDefault();
+                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂浜轰簨").FirstOrDefault();
                         if (hrPositions == null)
                         {
                             result.Result = false;
@@ -3171,7 +3183,7 @@
                             return result;
                         }
                         //鏌ヨ澶勭悊浜�
-                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂").FirstOrDefault();
+                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂浜轰簨").FirstOrDefault();
                         if (hrPositions == null)
                         {
                             result.Result = false;
@@ -3278,7 +3290,7 @@
                         _context.SaveChanges();
 
                         //鏌ヨ澶勭悊浜�
-                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂").FirstOrDefault();
+                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "琛屾斂浜轰簨").FirstOrDefault();
                         if (hrPositions == null)
                         {
                             result.Result = false;
@@ -6444,5 +6456,1754 @@
             return result;
         }
 
+        public ResultEntity WfAskCiZhi(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, "21").FirstOrDefault();
+            if (wfRunProcessDTO != null)
+            {
+                version = wfRunProcessDTO.Version;
+            }
+
+
+            if (version == "v1")
+            {
+                if (step == "鎻愪氦")
+                {
+                    //鏇存柊娴佺▼瀹炰緥
+                    // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "21").FirstOrDefault();
+                    if (wfRunProcessDTO == null)
+                    {
+                        //鎻掑叆娴佺▼瀹炰緥
+                        wfRunProcessDTO = new WfRunProcessDTO();
+                        //wfRunProcessDTO.Applyno = 
+                        wfRunProcessDTO.Applytime = DateTime.Now;
+                        wfRunProcessDTO.Applytiye = "21";
+                        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/AskCiZhi?id=" + DanjuId;
+                        result = this.save(wfRunProcessDTO);
+                        if (result.Result == false)
+                        {
+                            return result;
+                        }
+                        //鏌ヨ澶勭悊浜�
+                        var user = _context.PltUsers.Find(Userid) ;
+                        var hrDept = _context.HrDepts.Where(x => x.RecStatus == "A" && x.Id == user.DeptId).FirstOrDefault();
+                        if (hrDept == null)
+                        {
+                            result.Result = false;
+                            result.Message = "鏈壘鍒伴儴闂�";
+                            return result;
+                        }
+
+                        var pltUsers = _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" && x.Id == hrDept.Director).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/AskCiZhi?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/AskCiZhi?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 user = _context.PltUsers.Find(Userid);
+                        var hrDept = _context.HrDepts.Where(x => x.RecStatus == "A" && x.Id == user.DeptId).FirstOrDefault();
+                        if (hrDept == null)
+                        {
+                            result.Result = false;
+                            result.Message = "鏈壘鍒伴儴闂�";
+                            return result;
+                        }
+
+                        var pltUsers = _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" && x.Id == hrDept.Director).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/AskCiZhi?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, "21").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/AskCiZhi?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/AskCiZhi?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, "21").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 admAskCiZhi = _context.AdmAskCiZhis.Find(DanjuId);
+                        if (wfRunProcessDTO == null)
+                        {
+                            result.Result = false;
+                            result.Message = "鏈壘鍒板崟鎹�";
+                            return result;
+                        }
+                        admAskCiZhi.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/AskCiZhi?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 WfAskJiaojie(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, "22").FirstOrDefault();
+            if (wfRunProcessDTO != null)
+            {
+                version = wfRunProcessDTO.Version;
+            }
+
+
+            if (version == "v1")
+            {
+                if (step == "淇濆瓨")
+                {
+                    //鏇存柊娴佺▼瀹炰緥
+                    // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "22").FirstOrDefault();
+                    if (wfRunProcessDTO == null)
+                    {
+                        //鎻掑叆娴佺▼瀹炰緥
+                        wfRunProcessDTO = new WfRunProcessDTO();
+                        //wfRunProcessDTO.Applyno = 
+                        wfRunProcessDTO.Applytime = DateTime.Now;
+                        wfRunProcessDTO.Applytiye = "22";
+                        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/AskJiaojie?id=" + DanjuId+ "&JiaojieStatus=D";
+                        result = this.save(wfRunProcessDTO);
+                        if (result.Result == false)
+                        {
+                            return result;
+                        }
+                        //鏌ヨ澶勭悊浜�                      
+
+                        var pltUsers = _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" && x.Id == Userid).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/AskJiaojie?id=" + DanjuId + "&JiaojieStatus=D";
+                            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;
+                            }
+                        }
+
+                        
+                        _context.SaveChanges();
+                    }
+                   
+                }
+
+                if (step == "鎻愪氦")
+                {
+                    //鏇存柊娴佺▼瀹炰緥
+
+
+
+                    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 pltUsers = new List<PltUser>();
+                    //鏌ヨ澶勭悊浜鸿鑹�
+                    var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && (x.RoleName == "璐㈠姟" || x.RoleName == "琛屾斂浜轰簨" || x.RoleName == "鎬荤粡鐞�")).Select(x=>x.Id).ToList();
+                    if (hrPositions == null || hrPositions.Count == 0)
+                    {
+                        result.Result = false;
+                        result.Message = "鏈壘鍒拌亴浣�";
+                        return result;
+                    }
+                    var pltUsersrole = (from a in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A")
+                                    join b in _context.PltUserRoles.Where(x => x.RecStatus == "A" && hrPositions.Contains(x.RoleId)) on a.Id equals b.UserId
+                                    select a
+                                    ).ToList();
+                    foreach (var pltUser1 in pltUsersrole)
+                    {
+                        pltUsers.Add(pltUser1);
+                    }
+
+                    //鏌ヨ澶勭悊浜轰富绠�
+                    var user = _context.PltUsers.Find(Userid);
+                    var hrDept = _context.HrDepts.Where(x => x.RecStatus == "A" && x.Id == user.DeptId).FirstOrDefault();
+                    if (hrDept == null)
+                    {
+                        result.Result = false;
+                        result.Message = "鏈壘鍒伴儴闂�";
+                        return result;
+                    }
+                    var pltUserszhuguan = _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" && x.Id == hrDept.Director).ToList();
+                    foreach (var pltUser1 in pltUserszhuguan)
+                    {
+                        pltUsers.Add(pltUser1);
+                    }
+
+                    //鏌ヨ澶勭悊浜轰氦鎺�
+                    var admAskJiaojie = _context.AdmAskJiaojies.Find(DanjuId);
+                    if (admAskJiaojie != null)
+                    {
+                        var admAskCiZhi = _context.AdmAskCiZhis.Find(admAskJiaojie.CiZhiId);
+                        if (admAskCiZhi != null)
+                        {
+                            var JiaojieUser = admAskCiZhi.JiaojieUser.Split(',');
+                            if (JiaojieUser.Length > 0)
+                            {
+                                var pltUsersJiaojie = _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A" && JiaojieUser.Contains(x.Id)).ToList();
+                                foreach (var pltUser1 in pltUsersJiaojie)
+                                {
+                                    pltUsers.Add(pltUser1);
+                                }
+                            }
+                        }
+                           
+                    }
+
+                    pltUsers = pltUsers.Distinct().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/AskJiaojie?id=" + DanjuId + "&JiaojieStatus=D";
+                        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, "22").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 admAskJiaojie = _context.AdmAskJiaojies.Find(DanjuId);
+                        if (wfRunProcessDTO == null)
+                        {
+                            result.Result = false;
+                            result.Message = "鏈壘鍒板崟鎹�";
+                            return result;
+                        }
+                        admAskJiaojie.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/AskJiaojie?id=" + DanjuId + "&JiaojieStatus=D";
+                        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 WfCustomerRefund(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, "23").FirstOrDefault();
+            if (wfRunProcessDTO != null)
+            {
+                version = wfRunProcessDTO.Version;
+            }
+
+
+            if (version == "v1")
+            {
+                if (step == "鎻愪氦")
+                {
+                    //鏇存柊娴佺▼瀹炰緥
+                    // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "23").FirstOrDefault();
+                    if (wfRunProcessDTO == null)
+                    {
+                        //鎻掑叆娴佺▼瀹炰緥
+                        wfRunProcessDTO = new WfRunProcessDTO();
+                        //wfRunProcessDTO.Applyno = 
+                        wfRunProcessDTO.Applytime = DateTime.Now;
+                        wfRunProcessDTO.Applytiye = "23";
+                        wfRunProcessDTO.DanjuId = DanjuId;
+                        wfRunProcessDTO.Content = title;
+                        wfRunProcessDTO.Step = "瀹℃壒浜�1";
+                        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/CustomerRefund?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 = "瀹℃壒浜�1";
+                            wfNeeddeelDTO.NeeddeelType = "1";
+                            wfNeeddeelDTO.ChuliStatus = "0";
+                            wfNeeddeelDTO.Deelurl = "/AdmAsk/CustomerRefund?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/CustomerRefund?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 = "瀹℃壒浜�1";
+                        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 = "瀹℃壒浜�1";
+                            wfNeeddeelDTO.NeeddeelType = "1";
+                            wfNeeddeelDTO.ChuliStatus = "0";
+                            wfNeeddeelDTO.Deelurl = "/AdmAsk/CustomerRefund?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 == "瀹℃壒浜�1")
+                {
+                    //鏇存柊娴佺▼瀹炰緥
+                    //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "21").FirstOrDefault();
+                    if (wfRunProcessDTO == null)
+                    {
+                        result.Result = false;
+                        result.Message = "鏈壘鍒版祦绋嬪疄渚�";
+                        return result;
+                    }
+                    if (wfRunProcessDTO.Step != "瀹℃壒浜�1")
+                    {
+                        result.Result = false;
+                        result.Message = "褰撳墠姝ラ宸茬粡澶勭悊";
+                        return result;
+                    }
+
+                    if (tongguojujue == "A")
+                    {
+                        wfRunProcessDTO.Step = "瀹℃壒浜�2";
+                        wfRunProcessDTO.Modifier = Userid;
+                        wfRunProcessDTO.Modifytime = DateTime.Now;
+                        result = this.save(wfRunProcessDTO);
+                        if (result.Result == false)
+                        {
+                            return result;
+                        }
+
+                        //鏇存柊寰呭姙
+                        List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "瀹℃壒浜�1");
+
+
+
+                        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
+                                        where a.Id != 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 = "瀹℃壒浜�2";
+                            wfNeeddeelDTO.NeeddeelType = "1";
+                            wfNeeddeelDTO.ChuliStatus = "0";
+                            wfNeeddeelDTO.Deelurl = "/AdmAsk/CustomerRefund?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.ShenpiStatus = "R";
+                        wfRunProcessDTO.Modifier = Userid;
+                        wfRunProcessDTO.Modifytime = DateTime.Now;
+                        result = this.save(wfRunProcessDTO);
+                        if (result.Result == false)
+                        {
+                            return result;
+                        }
+                        //鏇存柊鍗曟嵁
+                        var admCustomerWithdrawal = _context.AdmCustomerWithdrawals.Find(DanjuId);
+                        if (wfRunProcessDTO == null)
+                        {
+                            result.Result = false;
+                            result.Message = "鏈壘鍒板崟鎹�";
+                            return result;
+                        }
+                        admCustomerWithdrawal.ShenpiStatus = "R";
+                        _context.SaveChanges();
+
+                        //鏇存柊寰呭姙
+                        List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "瀹℃壒浜�1");
+                        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();
+                    }
+
+
+
+
+
+                }
+
+                if (step == "瀹℃壒浜�2")
+                {
+                    //鏇存柊娴佺▼瀹炰緥
+                    //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "23").FirstOrDefault();
+                    if (wfRunProcessDTO == null)
+                    {
+                        result.Result = false;
+                        result.Message = "鏈壘鍒版祦绋嬪疄渚�";
+                        return result;
+                    }
+                    if (wfRunProcessDTO.Step != "瀹℃壒浜�2")
+                    {
+                        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 admCustomerWithdrawal = _context.AdmCustomerWithdrawals.Find(DanjuId);
+                        if (wfRunProcessDTO == null)
+                        {
+                            result.Result = false;
+                            result.Message = "鏈壘鍒板崟鎹�";
+                            return result;
+                        }
+                        admCustomerWithdrawal.ShenpiStatus = "A";
+                        _context.SaveChanges();
+
+                        List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "瀹℃壒浜�2");
+
+                        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.ShenpiStatus = "R";
+                        wfRunProcessDTO.Modifier = Userid;
+                        wfRunProcessDTO.Modifytime = DateTime.Now;
+                        result = this.save(wfRunProcessDTO);
+                        if (result.Result == false)
+                        {
+                            return result;
+                        }
+                        //鏇存柊鍗曟嵁
+                        var admCustomerWithdrawal = _context.AdmCustomerWithdrawals.Find(DanjuId);
+                        if (wfRunProcessDTO == null)
+                        {
+                            result.Result = false;
+                            result.Message = "鏈壘鍒板崟鎹�";
+                            return result;
+                        }
+                        admCustomerWithdrawal.ShenpiStatus = "R";
+                        _context.SaveChanges();
+
+                        //鏇存柊寰呭姙
+                        List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "瀹℃壒浜�2");
+                        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();
+
+
+
+
+                    }
+
+
+
+                }
+
+
+            }
+
+
+
+            return result;
+        }
+
+
+
+
+        public ResultEntity WfAskZBXXW(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, "24").FirstOrDefault();
+            if (wfRunProcessDTO != null)
+            {
+                version = wfRunProcessDTO.Version;
+            }
+
+
+            if (version == "v1")
+            {
+                if (step == "鎻愪氦")
+                {
+                    //鏇存柊娴佺▼瀹炰緥
+                    // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "24").FirstOrDefault();
+                    if (wfRunProcessDTO == null)
+                    {
+                        //鎻掑叆娴佺▼瀹炰緥
+                        wfRunProcessDTO = new WfRunProcessDTO();
+                        //wfRunProcessDTO.Applyno = 
+                        wfRunProcessDTO.Applytime = DateTime.Now;
+                        wfRunProcessDTO.Applytiye = "24";
+                        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/AskZBXXW?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/AskZBXXW?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/AskZBXXW?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/AskZBXXW?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, "24").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 admAskzczbwsy = _context.AdmAskzczbwsies.Find(DanjuId);
+                        if (wfRunProcessDTO == null)
+                        {
+                            result.Result = false;
+                            result.Message = "鏈壘鍒板崟鎹�";
+                            return result;
+                        }
+                        admAskzczbwsy.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/AskZBXXW?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