| | |
| | | using DTO; |
| | | using DTO.Models; |
| | | using IServices; |
| | | using Microsoft.EntityFrameworkCore; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | |
| | | { |
| | | private readonly zhengcaioaContext _context; |
| | | private readonly IMapper _mapper; |
| | | public WfRunProcessService(zhengcaioaContext context, IMapper mapper) |
| | | private readonly IWfNeeddeelService _wfNeeddeelService; |
| | | public WfRunProcessService(zhengcaioaContext context, IMapper mapper, IWfNeeddeelService wfNeeddeelService) |
| | | { |
| | | _context = context; |
| | | _mapper = mapper; |
| | | _wfNeeddeelService = wfNeeddeelService; |
| | | } |
| | | public ResultEntity save(WfRunProcessDTO dto) |
| | | { |
| | |
| | | if (String.IsNullOrEmpty(model.Id)) |
| | | { |
| | | model.Id = Guid.NewGuid().ToString(); |
| | | dto.Id = model.Id; |
| | | var datestreing = DateTime.Now.ToString("yyyyMMdd"); |
| | | var Applyno = _context.WfRunProcesses.Where(x => x.Applyno.Contains(datestreing)).Max(x => x.Applyno); |
| | | if (string.IsNullOrEmpty(Applyno)) |
| | | { |
| | | model.Applyno = datestreing + 1.ToString().PadLeft(4, '0'); |
| | | } |
| | | else |
| | | { |
| | | model.Applyno = datestreing + (int.Parse(Applyno.Substring(Applyno.Length - 4)) + 1).ToString().PadLeft(4, '0'); |
| | | } |
| | | _context.WfRunProcesses.Add(model); |
| | | } |
| | | else |
| | |
| | | updateWfRunProcess.Step = model.Step; |
| | | updateWfRunProcess.ShenpiStatus = model.ShenpiStatus; |
| | | updateWfRunProcess.Version = model.Version; |
| | | |
| | | updateWfRunProcess.Deelurl = model.Deelurl; |
| | | |
| | | updateWfRunProcess.RecStatus = model.RecStatus; |
| | | // updateWfRunProcess.Creater = WfRunProcess.Creater; |
| | |
| | | string[] Applytimes = searchEntity.Applytime.Split("|"); |
| | | DateTime.TryParse(Applytimes[0], out Applytimestart); |
| | | DateTime.TryParse(Applytimes[1], out Applytimeend); |
| | | //Applytimeend = Applytimeend.AddDays(1); |
| | | Applytimeend = Applytimeend.AddDays(1); |
| | | } |
| | | |
| | | ///WfRunProcesses |
| | | var query = (from a in _context.WfRunProcesses |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | join e in listCode.Where(x => x.CodeTable == "wf_run_process" && x.CodeField == "shenpi_status") |
| | | on a.ShenpiStatus equals e.CodeSn |
| | | into esssss |
| | | from eee in esssss.DefaultIfEmpty() |
| | | |
| | | join d in _context.WfApplytypes |
| | | on a.Applytiye equals d.Id |
| | | on a.Applytiye equals d.Applyno |
| | | |
| | | join b in _context.PltUsers |
| | | on a.Creater equals b.Id |
| | |
| | | && (string.IsNullOrWhiteSpace(searchEntity.ShenpiStatus) || a.ShenpiStatus == searchEntity.ShenpiStatus.Trim()) |
| | | |
| | | && (string.IsNullOrWhiteSpace(searchEntity.Applyno) || a.Applyno == searchEntity.Applyno.Trim()) |
| | | |
| | | && (string.IsNullOrWhiteSpace(searchEntity.Creater) || a.Creater == searchEntity.Creater.Trim()) |
| | | |
| | | select new WfRunProcessDTO |
| | | { |
| | |
| | | Content = a.Content, |
| | | ShenpiStatusName = eee.Comments, |
| | | ShenpiStatus = a.ShenpiStatus, |
| | | Step = a.Step, |
| | | |
| | | Version = a.Version, |
| | | Createtime = a.Createtime, |
| | | |
| | | Deelurl = a.Deelurl, |
| | | RecStatus = a.RecStatus, |
| | | Modifier = a.Modifier, |
| | | Modifytime = a.Modifytime, |
| | |
| | | /// 获取所有有效流程类型 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<WfRunProcessDTO> GetList() |
| | | public List<WfRunProcessDTO> GetList(string DanjuId = "",string Applytiye = "") |
| | | { |
| | | |
| | | |
| | | var listRole = _context.WfRunProcesses.Where(r => r.RecStatus == "A").ToList(); |
| | | if(!string.IsNullOrEmpty(DanjuId) && !string.IsNullOrEmpty(Applytiye)) |
| | | { |
| | | listRole = listRole.Where(x=>x.DanjuId == DanjuId && x.Applytiye == Applytiye).ToList(); |
| | | } |
| | | |
| | | var list = _mapper.Map<List<WfRunProcessDTO>>(listRole); |
| | | return list; |
| | | } |
| | | |
| | | |
| | | public ResultEntity WfAskLeave(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, "01").FirstOrDefault(); |
| | | if (wfRunProcessDTO != null) |
| | | { |
| | | version = wfRunProcessDTO.Version; |
| | | } |
| | | |
| | | |
| | | if (version == "v1") |
| | | { |
| | | if (step == "提交") |
| | | { |
| | | //更新流程实例 |
| | | // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "01").FirstOrDefault(); |
| | | if (wfRunProcessDTO == null) |
| | | { |
| | | //插入流程实例 |
| | | wfRunProcessDTO = new WfRunProcessDTO(); |
| | | //wfRunProcessDTO.Applyno = |
| | | wfRunProcessDTO.Applytime = DateTime.Now; |
| | | wfRunProcessDTO.Applytiye = "01"; |
| | | 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 = "/Signin/AskLeave?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 = "/Signin/AskLeave?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 = "/Signin/AskLeave?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 = "/Signin/AskLeave?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, "01").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 = "/Signin/AskLeave?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 = "/Signin/AskLeave?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, "01").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 askLeave = _context.AdmAskLeaves.Find(DanjuId); |
| | | if (wfRunProcessDTO == null) |
| | | { |
| | | result.Result = false; |
| | | result.Message = "未找到单据"; |
| | | return result; |
| | | } |
| | | askLeave.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 = "/Signin/AskLeave?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 WfAskLeaveOff(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, "02").FirstOrDefault(); |
| | | if (wfRunProcessDTO != null) |
| | | { |
| | | version = wfRunProcessDTO.Version; |
| | | } |
| | | |
| | | |
| | | if (version == "v1") |
| | | { |
| | | if (step == "提交") |
| | | { |
| | | //更新流程实例 |
| | | // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "02").FirstOrDefault(); |
| | | if (wfRunProcessDTO == null) |
| | | { |
| | | //插入流程实例 |
| | | wfRunProcessDTO = new WfRunProcessDTO(); |
| | | //wfRunProcessDTO.Applyno = |
| | | wfRunProcessDTO.Applytime = DateTime.Now; |
| | | wfRunProcessDTO.Applytiye = "02"; |
| | | 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 = "/Signin/AskLeaveOff?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 = "/Signin/AskLeaveOff?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 = "/Signin/AskLeaveOff?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 = "/Signin/AskLeaveOff?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, "02").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 = "/Signin/AskLeaveOff?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 = "/Signin/AskLeaveOff?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, "02").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 askLeaveOff = _context.AdmAskLeaveOffs.Find(DanjuId); |
| | | if (wfRunProcessDTO == null) |
| | | { |
| | | result.Result = false; |
| | | result.Message = "未找到单据"; |
| | | return result; |
| | | } |
| | | askLeaveOff.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 = "/Signin/askLeaveOff?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; |
| | | } |
| | | } |
| | | } |