From ddd7b8e07e5d7f76e5ee28eaab91e75a419b3750 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期四, 22 七月 2021 14:57:13 +0800
Subject: [PATCH] 今日开发 我的报表中的 新增注册会员 改为非手工几件登记,自动从系统读取 工作报表中的 新增注册会员 改为非手工几件登记,自动从系统读取 工资计算中的 新增注册会员 改为非手工几件登记,自动从系统读取
---
zhengcaioa/Services/WfRunProcessService.cs | 1626 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 1,613 insertions(+), 13 deletions(-)
diff --git a/zhengcaioa/Services/WfRunProcessService.cs b/zhengcaioa/Services/WfRunProcessService.cs
index 6113573..fd21e38 100644
--- a/zhengcaioa/Services/WfRunProcessService.cs
+++ b/zhengcaioa/Services/WfRunProcessService.cs
@@ -2,6 +2,7 @@
using DTO;
using DTO.Models;
using IServices;
+using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -15,10 +16,12 @@
{
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)
{
@@ -29,6 +32,17 @@
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
@@ -42,7 +56,7 @@
updateWfRunProcess.Step = model.Step;
updateWfRunProcess.ShenpiStatus = model.ShenpiStatus;
updateWfRunProcess.Version = model.Version;
-
+ updateWfRunProcess.Deelurl = model.Deelurl;
updateWfRunProcess.RecStatus = model.RecStatus;
// updateWfRunProcess.Creater = WfRunProcess.Creater;
@@ -112,25 +126,21 @@
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
@@ -146,7 +156,7 @@
&& (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
{
@@ -159,10 +169,11 @@
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,
@@ -172,7 +183,7 @@
- if (searchEntity.totalrows == 0)
+ //if (searchEntity.totalrows == 0)
searchEntity.totalrows = query.Count();
var lianlist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
data.LoadData(searchEntity, lianlist);
@@ -203,14 +214,1603 @@
/// 鑾峰彇鎵�鏈夋湁鏁堟祦绋嬬被鍨�
/// </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;
+ }
+
+ public ResultEntity WfSalaryAppeal(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, "03").FirstOrDefault();
+ if (wfRunProcessDTO != null)
+ {
+ version = wfRunProcessDTO.Version;
+ }
+
+
+ if (version == "v1")
+ {
+ if (step == "鎻愪氦")
+ {
+ //鏇存柊娴佺▼瀹炰緥
+ // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "03").FirstOrDefault();
+ if (wfRunProcessDTO == null)
+ {
+ //鎻掑叆娴佺▼瀹炰緥
+ wfRunProcessDTO = new WfRunProcessDTO();
+ //wfRunProcessDTO.Applyno =
+ wfRunProcessDTO.Applytime = DateTime.Now;
+ wfRunProcessDTO.Applytiye = "03";
+ 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 = "/SalaryCheck/Appeal?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 = "/SalaryCheck/Appeal?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 = "/SalaryCheck/Appeal?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 = "/SalaryCheck/Appeal?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, "03").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 = "/SalaryCheck/Appeal?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 = "/SalaryCheck/Appeal?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, "03").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 salaryAppeal = _context.HrSalaryAppeal.Find(DanjuId);
+ if (wfRunProcessDTO == null)
+ {
+ result.Result = false;
+ result.Message = "鏈壘鍒板崟鎹�";
+ return result;
+ }
+ salaryAppeal.shenpi_status = "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 = "/SalaryCheck/Appeal?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