username@email.com
2021-07-23 00446e5e764fd57ea0f28b30921f4a5daa60c890
流程  费用申请,物品申领
11个文件已修改
9个文件已添加
2352 ■■■■■ 已修改文件
zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/AdmAskGoodDTO.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/DTO/AdmAskcostDTO.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IAskService.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/IServices/IWfRunProcessService.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/AdmAskGood.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/AdmAskcost.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Model/zhengcaioaContext.cs 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/AskService.cs 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/WfHistoryService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/WfNeeddeelService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/WfRunProcessService.cs 877 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/HR/SalaryCheckController.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs 276 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Startup.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/AdmAsk/AskGood.cshtml 318 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/AdmAsk/Askcost.cshtml 289 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/WorkFlowTask/Index.cshtml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/WorkFlowTask/IndexYiBan.cshtml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
表修改.sql 197 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs
@@ -228,6 +228,12 @@
            CreateMap<AdmEvaluate, AdmEvaluateDTO>();
            CreateMap<AdmEvaluateDTO, AdmEvaluate>();
            CreateMap<AdmAskcost, AdmAskcostDTO>();
            CreateMap<AdmAskcostDTO, AdmAskcost>();
            CreateMap<AdmAskGood, AdmAskGoodDTO>();
            CreateMap<AdmAskGoodDTO, AdmAskGood>();
        }
    }
}
zhengcaioa/DTO/AdmAskGoodDTO.cs
New file
@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace DTO
{
   public class AdmAskGoodDTO
    {
        public string Id { get; set; }
        public string GoodsId { get; set; }
        public decimal? Shuliang { get; set; }
        public string ShuliangName { get; set; }
        public string Remark { get; set; }
        public string ShenpiStatus { get; set; }
        public string RecStatus { get; set; }
        public string Creater { get; set; }
        public DateTime Createtime { get; set; }
        public string Modifier { get; set; }
        public DateTime Modifytime { get; set; }
        public string CreaterName { get; set; }
        public string Tittle { get; set; }
        public string Content { get; set; }
        public string Tongguojujue { get; set; }
        public string Step { get; set; }
    }
}
zhengcaioa/DTO/AdmAskcostDTO.cs
New file
@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace DTO
{
   public class AdmAskcostDTO
    {
        public string Id { get; set; }
        public decimal? Cost { get; set; }
        public string CostName { get; set; }
        public string Remark { get; set; }
        public string ShenpiStatus { get; set; }
        public string RecStatus { get; set; }
        public string Creater { get; set; }
        public DateTime Createtime { get; set; }
        public string Modifier { get; set; }
        public DateTime Modifytime { get; set; }
        public string CreaterName { get; set; }
        public string Tittle { get; set; }
        public string Content { get; set; }
        public string Tongguojujue { get; set; }
        public string Step { get; set; }
    }
}
zhengcaioa/IServices/IAskService.cs
New file
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Text;
using DTO;
namespace IServices
{
    public interface IAskService
    {
        //费用申请
        ResultEntity SaveAskcost(AdmAskcostDTO admAsk);
        AdmAskcostDTO GetAskcost(string Id);
        //物品申领
        ResultEntity SaveAskGood(AdmAskGoodDTO admAsk);
        AdmAskGoodDTO GetAskGood(string Id);
    }
}
zhengcaioa/IServices/IWfRunProcessService.cs
@@ -22,5 +22,9 @@
        ResultEntity WfAskLeaveOff(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version);
        ResultEntity WfSalaryAppeal(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version);
        ResultEntity WfAskcost(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version);
        ResultEntity WfAskGood(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version);
    }
}
zhengcaioa/Model/AdmAskGood.cs
New file
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
#nullable disable
namespace zhengcaioa.Models
{
    public partial class AdmAskGood
    {
        public string Id { get; set; }
        public string GoodsId { get; set; }
        public decimal? Shuliang { get; set; }
        public string Remark { get; set; }
        public string ShenpiStatus { get; set; }
        public string RecStatus { get; set; }
        public string Creater { get; set; }
        public DateTime Createtime { get; set; }
        public string Modifier { get; set; }
        public DateTime Modifytime { get; set; }
        public string CreaterName { get; set; }
        public string Tittle { get; set; }
    }
}
zhengcaioa/Model/AdmAskcost.cs
New file
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
#nullable disable
namespace zhengcaioa.Models
{
    public partial class AdmAskcost
    {
        public string Id { get; set; }
        public decimal? Cost { get; set; }
        public string Remark { get; set; }
        public string ShenpiStatus { get; set; }
        public string RecStatus { get; set; }
        public string Creater { get; set; }
        public DateTime Createtime { get; set; }
        public string Modifier { get; set; }
        public DateTime Modifytime { get; set; }
        public string CreaterName { get; set; }
        public string Tittle { get; set; }
    }
}
zhengcaioa/Model/zhengcaioaContext.cs
@@ -24,7 +24,8 @@
        public virtual DbSet<HrSalaryAppeal> HrSalaryAppeal { get; set; }
        public virtual DbSet<SimCostYearView> SimCostYearView { get; set; }
        public virtual DbSet<AdmAskcost> AdmAskcosts { get; set; }
        public virtual DbSet<AdmAskGood> AdmAskGoods { get; set; }
        public virtual DbSet<AdmAskLeave> AdmAskLeaves { get; set; }
        public virtual DbSet<AdmAskLeaveOff> AdmAskLeaveOffs { get; set; }
        public virtual DbSet<AdmAttendance> AdmAttendances { get; set; }
@@ -118,6 +119,117 @@
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.HasAnnotation("Relational:Collation", "Chinese_PRC_CI_AS");
            modelBuilder.Entity<AdmAskcost>(entity =>
            {
                entity.ToTable("ADM_Askcost");
                entity.Property(e => e.Id).HasMaxLength(50);
                entity.Property(e => e.Cost)
                    .HasColumnType("money")
                    .HasDefaultValueSql("((0))");
                entity.Property(e => e.Creater)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("creater")
                    .HasDefaultValueSql("('1')");
                entity.Property(e => e.CreaterName)
                    .HasMaxLength(50)
                    .HasColumnName("createrName");
                entity.Property(e => e.Createtime)
                    .HasColumnType("datetime")
                    .HasColumnName("createtime")
                    .HasDefaultValueSql("(getdate())");
                entity.Property(e => e.Modifier)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("modifier")
                    .HasDefaultValueSql("('1')");
                entity.Property(e => e.Modifytime)
                    .HasColumnType("datetime")
                    .HasColumnName("modifytime")
                    .HasDefaultValueSql("(getdate())");
                entity.Property(e => e.RecStatus)
                    .IsRequired()
                    .HasMaxLength(1)
                    .HasColumnName("rec_status")
                    .HasDefaultValueSql("('A')");
                entity.Property(e => e.Remark).HasMaxLength(500);
                entity.Property(e => e.ShenpiStatus)
                    .HasMaxLength(1)
                    .HasColumnName("shenpi_status")
                    .HasDefaultValueSql("('D')");
                entity.Property(e => e.Tittle)
                    .HasMaxLength(50)
                    .HasColumnName("tittle");
            });
            modelBuilder.Entity<AdmAskGood>(entity =>
            {
                entity.ToTable("ADM_AskGoods");
                entity.Property(e => e.Id).HasMaxLength(50);
                entity.Property(e => e.Creater)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("creater")
                    .HasDefaultValueSql("('1')");
                entity.Property(e => e.CreaterName)
                    .HasMaxLength(50)
                    .HasColumnName("createrName");
                entity.Property(e => e.Createtime)
                    .HasColumnType("datetime")
                    .HasColumnName("createtime")
                    .HasDefaultValueSql("(getdate())");
                entity.Property(e => e.GoodsId).HasMaxLength(50);
                entity.Property(e => e.Modifier)
                    .IsRequired()
                    .HasMaxLength(50)
                    .HasColumnName("modifier")
                    .HasDefaultValueSql("('1')");
                entity.Property(e => e.Modifytime)
                    .HasColumnType("datetime")
                    .HasColumnName("modifytime")
                    .HasDefaultValueSql("(getdate())");
                entity.Property(e => e.RecStatus)
                    .IsRequired()
                    .HasMaxLength(1)
                    .HasColumnName("rec_status")
                    .HasDefaultValueSql("('A')");
                entity.Property(e => e.Remark).HasMaxLength(500);
                entity.Property(e => e.ShenpiStatus)
                    .HasMaxLength(1)
                    .HasColumnName("shenpi_status")
                    .HasDefaultValueSql("('D')");
                entity.Property(e => e.Shuliang)
                    .HasColumnType("money")
                    .HasDefaultValueSql("((0))");
                entity.Property(e => e.Tittle)
                    .HasMaxLength(50)
                    .HasColumnName("tittle");
            });
            modelBuilder.Entity<AdmAskLeave>(entity =>
            {
                entity.ToTable("ADM_AskLeave");
zhengcaioa/Services/AskService.cs
New file
@@ -0,0 +1,138 @@
using System;
using System.Collections.Generic;
using System.Text;
using zhengcaioa.Models;
using IServices;
using AutoMapper;
using DTO;
using System.Linq;
namespace Services
{
    public class AskService: IAskService
    {
        private readonly zhengcaioaContext _context;
        private readonly IMapper _mapper;
        public AskService(zhengcaioaContext context, IMapper mapper)
        {
            _context = context;
            _mapper = mapper;
        }
        #region è´¹ç”¨ç”³è¯·
        public ResultEntity SaveAskcost(AdmAskcostDTO admAsk)
        {
            ResultEntity resultEntity = new ResultEntity();
            try
            {
                AdmAskcost ask = _mapper.Map<AdmAskcost>(admAsk);
                if (string.IsNullOrEmpty(admAsk.Id))
                {
                    ask.Id = Guid.NewGuid().ToString();
                    admAsk.Id = ask.Id;
                    _context.AdmAskcosts.Add(ask);
                }
                else
                {
                    var entity = _context.AdmAskcosts.Find(admAsk.Id);
                    entity.Cost = admAsk.Cost;
                    entity.Remark = admAsk.Remark;
                    entity.ShenpiStatus = admAsk.ShenpiStatus;
                    entity.CreaterName = admAsk.CreaterName;
                    entity.Tittle = admAsk.Tittle;
                    entity.Modifier = admAsk.Modifier;
                    entity.Modifytime = DateTime.Now;
                }
                _context.SaveChanges();
                resultEntity.ReturnID = ask.Id;
                resultEntity.Result = true;
            }
            catch (Exception ex)
            {
                resultEntity.Result = false;
                resultEntity.Message = "保存失败,请联系管理员";
                ex.Message.ToString();
            }
            return resultEntity;
        }
        public AdmAskcostDTO GetAskcost(string Id)
        {
            var entity = _context.AdmAskcosts.Where(e => e.RecStatus == "A" && e.Id == Id).FirstOrDefault();
            if (entity == null)
            {
                entity = new AdmAskcost();
            }
            var leaveDTO = _mapper.Map<AdmAskcostDTO>(entity);
            return leaveDTO;
        }
        #endregion
        #region ç‰©å“ç”³é¢†
        public ResultEntity SaveAskGood(AdmAskGoodDTO admAsk)
        {
            ResultEntity resultEntity = new ResultEntity();
            try
            {
                AdmAskGood ask = _mapper.Map<AdmAskGood>(admAsk);
                if (string.IsNullOrEmpty(admAsk.Id))
                {
                    ask.Id = Guid.NewGuid().ToString();
                    admAsk.Id = ask.Id;
                    _context.AdmAskGoods.Add(ask);
                }
                else
                {
                    var entity = _context.AdmAskGoods.Find(admAsk.Id);
                    entity.Shuliang = admAsk.Shuliang;
                    entity.GoodsId = admAsk.GoodsId;
                    entity.Remark = admAsk.Remark;
                    entity.ShenpiStatus = admAsk.ShenpiStatus;
                    entity.CreaterName = admAsk.CreaterName;
                    entity.Tittle = admAsk.Tittle;
                    entity.Modifier = admAsk.Modifier;
                    entity.Modifytime = DateTime.Now;
                }
                _context.SaveChanges();
                resultEntity.ReturnID = ask.Id;
                resultEntity.Result = true;
            }
            catch (Exception ex)
            {
                resultEntity.Result = false;
                resultEntity.Message = "保存失败,请联系管理员";
                ex.Message.ToString();
            }
            return resultEntity;
        }
        public AdmAskGoodDTO GetAskGood(string Id)
        {
            var entity = _context.AdmAskGoods.Where(e => e.RecStatus == "A" && e.Id == Id).FirstOrDefault();
            if (entity == null)
            {
                entity = new AdmAskGood();
            }
            var leaveDTO = _mapper.Map<AdmAskGoodDTO>(entity);
            return leaveDTO;
        }
        #endregion
    }
}
zhengcaioa/Services/WfHistoryService.cs
@@ -200,7 +200,7 @@
                             Modifytime = a.Modifytime,
                         }
                ).OrderBy(x => x.Sort).ThenByDescending(x=>x.Resivetime).ToList();
                ).OrderByDescending(x=>x.Applyno).ThenBy(x => x.Sort).ThenByDescending(x=>x.Resivetime).ToList();
zhengcaioa/Services/WfNeeddeelService.cs
@@ -202,7 +202,7 @@
                             Modifytime = a.Modifytime,
                         }
                 ).OrderBy(x => x.Sort).ThenByDescending(x => x.Resivetime).ToList();
                 ).OrderByDescending(x=>x.Applyno).ThenBy(x => x.Sort).ThenByDescending(x => x.Resivetime).ToList();
zhengcaioa/Services/WfRunProcessService.cs
@@ -1812,5 +1812,882 @@
            return result;
        }
        public ResultEntity WfAskcost(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version)
        {
            ResultEntity result = new ResultEntity();
            result.Result = true;
            WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "04").FirstOrDefault();
            if (wfRunProcessDTO != null)
            {
                version = wfRunProcessDTO.Version;
            }
            if (version == "v1")
            {
                if (step == "提交")
                {
                    //更新流程实例
                    // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "04").FirstOrDefault();
                    if (wfRunProcessDTO == null)
                    {
                        //插入流程实例
                        wfRunProcessDTO = new WfRunProcessDTO();
                        //wfRunProcessDTO.Applyno =
                        wfRunProcessDTO.Applytime = DateTime.Now;
                        wfRunProcessDTO.Applytiye = "04";
                        wfRunProcessDTO.DanjuId = DanjuId;
                        wfRunProcessDTO.Content = title;
                        wfRunProcessDTO.Step = "财务审批";
                        wfRunProcessDTO.ShenpiStatus = "D";
                        wfRunProcessDTO.Version = version;
                        wfRunProcessDTO.RecStatus = "A";
                        wfRunProcessDTO.Creater = Userid;
                        wfRunProcessDTO.Createtime = DateTime.Now;
                        wfRunProcessDTO.Modifier = Userid;
                        wfRunProcessDTO.Modifytime = DateTime.Now;
                        wfRunProcessDTO.Deelurl = "/AdmAsk/Askcost?id=" + DanjuId;
                        result = this.save(wfRunProcessDTO);
                        if (result.Result == false)
                        {
                            return result;
                        }
                        //查询处理人
                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "财务").FirstOrDefault();
                        if (hrPositions == null)
                        {
                            result.Result = false;
                            result.Message = "未找到职位";
                            return result;
                        }
                        var pltUsers = (from a in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A")
                                        join b in _context.PltUserRoles.Where(x => x.RecStatus == "A" && x.RoleId == hrPositions.Id) on a.Id equals b.UserId
                                        select a
                                        ).ToList();
                        if (pltUsers == null || pltUsers.Count == 0)
                        {
                            result.Result = false;
                            result.Message = "未找到处理人";
                            return result;
                        }
                        foreach (var pltUser in pltUsers)
                        {
                            //插入待办
                            WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
                            wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
                            wfNeeddeelDTO.SendUserId = Userid;
                            wfNeeddeelDTO.DeelUserId = pltUser.Id;
                            wfNeeddeelDTO.Sendtime = DateTime.Now;
                            wfNeeddeelDTO.Resivetime = DateTime.Now;
                            wfNeeddeelDTO.Step = "财务审批";
                            wfNeeddeelDTO.NeeddeelType = "1";
                            wfNeeddeelDTO.ChuliStatus = "0";
                            wfNeeddeelDTO.Deelurl = "/AdmAsk/Askcost?id=" + DanjuId;
                            wfNeeddeelDTO.Content = "";
                            wfNeeddeelDTO.Sort = 1;
                            wfNeeddeelDTO.RecStatus = "A";
                            wfNeeddeelDTO.Creater = Userid;
                            wfNeeddeelDTO.Createtime = DateTime.Now;
                            wfNeeddeelDTO.Modifier = Userid;
                            wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime;
                            result = _wfNeeddeelService.save(wfNeeddeelDTO);
                            if (result.Result == false)
                            {
                                return result;
                            }
                        }
                        //插入新的已办
                        WfHistory wfHistoryDTO1 = new WfHistory();
                        wfHistoryDTO1.Id = Guid.NewGuid().ToString();
                        wfHistoryDTO1.RunProcessId = wfRunProcessDTO.Id;
                        wfHistoryDTO1.SendUserId = Userid;
                        wfHistoryDTO1.DeelUserId = wfRunProcessDTO.Creater;
                        wfHistoryDTO1.Sendtime = DateTime.Now;
                        wfHistoryDTO1.Resivetime = DateTime.Now;
                        wfHistoryDTO1.Step = "提交";
                        wfHistoryDTO1.NeeddeelType = "1";
                        wfHistoryDTO1.ChuliStatus = "2";
                        wfHistoryDTO1.Deelurl = "/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 = "/AdmAsk/Askcost?id=" + DanjuId;
                            wfNeeddeelDTO.Content = "";
                            wfNeeddeelDTO.Sort = 2;
                            wfNeeddeelDTO.RecStatus = "A";
                            wfNeeddeelDTO.Creater = Userid;
                            wfNeeddeelDTO.Createtime = DateTime.Now;
                            wfNeeddeelDTO.Modifier = Userid;
                            wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime;
                            result = _wfNeeddeelService.save(wfNeeddeelDTO);
                            if (result.Result == false)
                            {
                                return result;
                            }
                        }
                    }
                }
                if (step == "财务审批")
                {
                    //更新流程实例
                    //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "04").FirstOrDefault();
                    if (wfRunProcessDTO == null)
                    {
                        result.Result = false;
                        result.Message = "未找到流程实例";
                        return result;
                    }
                    if (wfRunProcessDTO.Step != "财务审批")
                    {
                        result.Result = false;
                        result.Message = "当前步骤已经处理";
                        return result;
                    }
                    if (tongguojujue == "A")
                    {
                        wfRunProcessDTO.Step = "总经理审批";
                        wfRunProcessDTO.Modifier = Userid;
                        wfRunProcessDTO.Modifytime = DateTime.Now;
                        result = this.save(wfRunProcessDTO);
                        if (result.Result == false)
                        {
                            return result;
                        }
                        //更新待办
                        List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "财务审批");
                        var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs);
                        var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault();
                        if (wfHistoryDTO == null)
                        {
                            result.Result = false;
                            result.Message = "未找到代办";
                            return result;
                        }
                        wfHistoryDTO.Content = Content;
                        wfHistoryDTO.ChuliStatus = "2";
                        wfHistoryDTO.Modifier = Userid;
                        wfHistoryDTO.Modifytime = DateTime.Now;
                        var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs);
                        foreach (var wfHistory in wfHistories)
                        {
                            _context.WfHistories.Add(wfHistory);
                        }
                        var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs);
                        foreach (var wfNeeddeel in wfNeeddeels)
                        {
                            //_wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid);
                            _context.WfNeeddeels.Remove(wfNeeddeel);
                        }
                        _context.SaveChanges();
                        //查询处理人
                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "总经理").FirstOrDefault();
                        if (hrPositions == null)
                        {
                            result.Result = false;
                            result.Message = "未找到职位";
                            return result;
                        }
                        var pltUsers = (from a in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A")
                                        join b in _context.PltUserRoles.Where(x => x.RecStatus == "A" && x.RoleId == hrPositions.Id) on a.Id equals b.UserId
                                        select a
                                        ).ToList();
                        if (pltUsers == null || pltUsers.Count == 0)
                        {
                            result.Result = false;
                            result.Message = "未找到处理人";
                            return result;
                        }
                        foreach (var pltUser in pltUsers)
                        {
                            //插入新的待办
                            WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
                            wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
                            wfNeeddeelDTO.SendUserId = Userid;
                            wfNeeddeelDTO.DeelUserId = pltUser.Id;
                            wfNeeddeelDTO.Sendtime = DateTime.Now;
                            wfNeeddeelDTO.Resivetime = DateTime.Now;
                            wfNeeddeelDTO.Step = "总经理审批";
                            wfNeeddeelDTO.NeeddeelType = "1";
                            wfNeeddeelDTO.ChuliStatus = "0";
                            wfNeeddeelDTO.Deelurl = "/AdmAsk/Askcost?id=" + DanjuId;
                            wfNeeddeelDTO.Content = "";
                            wfNeeddeelDTO.Sort = 3;
                            wfNeeddeelDTO.RecStatus = "A";
                            wfNeeddeelDTO.Creater = Userid;
                            wfNeeddeelDTO.Createtime = DateTime.Now;
                            wfNeeddeelDTO.Modifier = Userid;
                            wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime;
                            result = _wfNeeddeelService.save(wfNeeddeelDTO);
                            if (result.Result == false)
                            {
                                return result;
                            }
                        }
                    }
                    else
                    {
                        wfRunProcessDTO.Step = "提交";
                        wfRunProcessDTO.Modifier = Userid;
                        wfRunProcessDTO.Modifytime = DateTime.Now;
                        result = this.save(wfRunProcessDTO);
                        if (result.Result == false)
                        {
                            return result;
                        }
                        //更新待办
                        List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "财务审批");
                        var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs);
                        var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault();
                        if (wfHistoryDTO == null)
                        {
                            result.Result = false;
                            result.Message = "未找到代办";
                            return result;
                        }
                        wfHistoryDTO.Content = Content;
                        wfHistoryDTO.ChuliStatus = "1";
                        wfHistoryDTO.Modifier = Userid;
                        wfHistoryDTO.Modifytime = DateTime.Now;
                        var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs);
                        foreach (var wfHistory in wfHistories)
                        {
                            _context.WfHistories.Add(wfHistory);
                        }
                        var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs);
                        foreach (var wfNeeddeel in wfNeeddeels)
                        {
                            //_wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid);
                            _context.WfNeeddeels.Remove(wfNeeddeel);
                        }
                        _context.SaveChanges();
                        //插入新的待办
                        WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
                        wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
                        wfNeeddeelDTO.SendUserId = Userid;
                        wfNeeddeelDTO.DeelUserId = wfRunProcessDTO.Creater;
                        wfNeeddeelDTO.Sendtime = DateTime.Now;
                        wfNeeddeelDTO.Resivetime = DateTime.Now;
                        wfNeeddeelDTO.Step = "提交";
                        wfNeeddeelDTO.NeeddeelType = "1";
                        wfNeeddeelDTO.ChuliStatus = "0";
                        wfNeeddeelDTO.Deelurl = "/AdmAsk/Askcost?id=" + DanjuId;
                        wfNeeddeelDTO.Content = "";
                        wfNeeddeelDTO.Sort = 1;
                        wfNeeddeelDTO.RecStatus = "A";
                        wfNeeddeelDTO.Creater = Userid;
                        wfNeeddeelDTO.Createtime = DateTime.Now;
                        wfNeeddeelDTO.Modifier = Userid;
                        wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime;
                        result = _wfNeeddeelService.save(wfNeeddeelDTO);
                        if (result.Result == false)
                        {
                            return result;
                        }
                    }
                }
                if (step == "总经理审批")
                {
                    //更新流程实例
                    //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "04").FirstOrDefault();
                    if (wfRunProcessDTO == null)
                    {
                        result.Result = false;
                        result.Message = "未找到流程实例";
                        return result;
                    }
                    if (wfRunProcessDTO.Step != "总经理审批")
                    {
                        result.Result = false;
                        result.Message = "当前步骤已经处理";
                        return result;
                    }
                    if (tongguojujue == "A")
                    {
                        wfRunProcessDTO.Step = "完结";
                        wfRunProcessDTO.ShenpiStatus = "A";
                        wfRunProcessDTO.Modifier = Userid;
                        wfRunProcessDTO.Modifytime = DateTime.Now;
                        result = this.save(wfRunProcessDTO);
                        if (result.Result == false)
                        {
                            return result;
                        }
                        //更新单据
                        var admAskcost = _context.AdmAskcosts.Find(DanjuId);
                        if (wfRunProcessDTO == null)
                        {
                            result.Result = false;
                            result.Message = "未找到单据";
                            return result;
                        }
                        admAskcost.ShenpiStatus = "A";
                        _context.SaveChanges();
                        List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "总经理审批");
                        var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs);
                        var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault();
                        if (wfHistoryDTO == null)
                        {
                            result.Result = false;
                            result.Message = "未找到代办";
                            return result;
                        }
                        wfHistoryDTO.Content = Content;
                        wfHistoryDTO.ChuliStatus = "2";
                        wfHistoryDTO.Modifier = Userid;
                        wfHistoryDTO.Modifytime = DateTime.Now;
                        var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs);
                        foreach (var wfHistory in wfHistories)
                        {
                            _context.WfHistories.Add(wfHistory);
                        }
                        var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs);
                        foreach (var wfNeeddeel in wfNeeddeels)
                        {
                            // _wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid);
                            _context.WfNeeddeels.Remove(wfNeeddeel);
                        }
                        _context.SaveChanges();
                    }
                    else
                    {
                        wfRunProcessDTO.Step = "提交";
                        wfRunProcessDTO.Modifier = Userid;
                        wfRunProcessDTO.Modifytime = DateTime.Now;
                        result = this.save(wfRunProcessDTO);
                        if (result.Result == false)
                        {
                            return result;
                        }
                        //更新待办
                        List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "总经理审批");
                        var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs);
                        var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault();
                        if (wfHistoryDTO == null)
                        {
                            result.Result = false;
                            result.Message = "未找到代办";
                            return result;
                        }
                        wfHistoryDTO.Content = Content;
                        wfHistoryDTO.ChuliStatus = "1";
                        wfHistoryDTO.Modifier = Userid;
                        wfHistoryDTO.Modifytime = DateTime.Now;
                        var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs);
                        foreach (var wfHistory in wfHistories)
                        {
                            _context.WfHistories.Add(wfHistory);
                        }
                        var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs);
                        foreach (var wfNeeddeel in wfNeeddeels)
                        {
                            //_wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid);
                            _context.WfNeeddeels.Remove(wfNeeddeel);
                        }
                        _context.SaveChanges();
                        //插入新的待办
                        WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
                        wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
                        wfNeeddeelDTO.SendUserId = Userid;
                        wfNeeddeelDTO.DeelUserId = wfRunProcessDTO.Creater;
                        wfNeeddeelDTO.Sendtime = DateTime.Now;
                        wfNeeddeelDTO.Resivetime = DateTime.Now;
                        wfNeeddeelDTO.Step = "提交";
                        wfNeeddeelDTO.NeeddeelType = "1";
                        wfNeeddeelDTO.ChuliStatus = "0";
                        wfNeeddeelDTO.Deelurl = "/AdmAsk/Askcost?id=" + DanjuId;
                        wfNeeddeelDTO.Content = "";
                        wfNeeddeelDTO.Sort = 1;
                        wfNeeddeelDTO.RecStatus = "A";
                        wfNeeddeelDTO.Creater = Userid;
                        wfNeeddeelDTO.Createtime = DateTime.Now;
                        wfNeeddeelDTO.Modifier = Userid;
                        wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime;
                        result = _wfNeeddeelService.save(wfNeeddeelDTO);
                        if (result.Result == false)
                        {
                            return result;
                        }
                    }
                }
            }
            return result;
        }
        public ResultEntity WfAskGood(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version)
        {
            ResultEntity result = new ResultEntity();
            result.Result = true;
            WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "05").FirstOrDefault();
            if (wfRunProcessDTO != null)
            {
                version = wfRunProcessDTO.Version;
            }
            if (version == "v1")
            {
                if (step == "提交")
                {
                    //更新流程实例
                    // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "05").FirstOrDefault();
                    if (wfRunProcessDTO == null)
                    {
                        //插入流程实例
                        wfRunProcessDTO = new WfRunProcessDTO();
                        //wfRunProcessDTO.Applyno =
                        wfRunProcessDTO.Applytime = DateTime.Now;
                        wfRunProcessDTO.Applytiye = "05";
                        wfRunProcessDTO.DanjuId = DanjuId;
                        wfRunProcessDTO.Content = title;
                        wfRunProcessDTO.Step = "行政审批";
                        wfRunProcessDTO.ShenpiStatus = "D";
                        wfRunProcessDTO.Version = version;
                        wfRunProcessDTO.RecStatus = "A";
                        wfRunProcessDTO.Creater = Userid;
                        wfRunProcessDTO.Createtime = DateTime.Now;
                        wfRunProcessDTO.Modifier = Userid;
                        wfRunProcessDTO.Modifytime = DateTime.Now;
                        wfRunProcessDTO.Deelurl = "/AdmAsk/AskGood?id=" + DanjuId;
                        result = this.save(wfRunProcessDTO);
                        if (result.Result == false)
                        {
                            return result;
                        }
                        //查询处理人
                        var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "行政").FirstOrDefault();
                        if (hrPositions == null)
                        {
                            result.Result = false;
                            result.Message = "未找到职位";
                            return result;
                        }
                        var pltUsers = (from a in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A")
                                        join b in _context.PltUserRoles.Where(x => x.RecStatus == "A" && x.RoleId == hrPositions.Id) on a.Id equals b.UserId
                                        select a
                                        ).ToList();
                        if (pltUsers == null || pltUsers.Count == 0)
                        {
                            result.Result = false;
                            result.Message = "未找到处理人";
                            return result;
                        }
                        foreach (var pltUser in pltUsers)
                        {
                            //插入待办
                            WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
                            wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
                            wfNeeddeelDTO.SendUserId = Userid;
                            wfNeeddeelDTO.DeelUserId = pltUser.Id;
                            wfNeeddeelDTO.Sendtime = DateTime.Now;
                            wfNeeddeelDTO.Resivetime = DateTime.Now;
                            wfNeeddeelDTO.Step = "行政审批";
                            wfNeeddeelDTO.NeeddeelType = "1";
                            wfNeeddeelDTO.ChuliStatus = "0";
                            wfNeeddeelDTO.Deelurl = "/AdmAsk/AskGood?id=" + DanjuId;
                            wfNeeddeelDTO.Content = "";
                            wfNeeddeelDTO.Sort = 1;
                            wfNeeddeelDTO.RecStatus = "A";
                            wfNeeddeelDTO.Creater = Userid;
                            wfNeeddeelDTO.Createtime = DateTime.Now;
                            wfNeeddeelDTO.Modifier = Userid;
                            wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime;
                            result = _wfNeeddeelService.save(wfNeeddeelDTO);
                            if (result.Result == false)
                            {
                                return result;
                            }
                        }
                        //插入新的已办
                        WfHistory wfHistoryDTO1 = new WfHistory();
                        wfHistoryDTO1.Id = Guid.NewGuid().ToString();
                        wfHistoryDTO1.RunProcessId = wfRunProcessDTO.Id;
                        wfHistoryDTO1.SendUserId = Userid;
                        wfHistoryDTO1.DeelUserId = wfRunProcessDTO.Creater;
                        wfHistoryDTO1.Sendtime = DateTime.Now;
                        wfHistoryDTO1.Resivetime = DateTime.Now;
                        wfHistoryDTO1.Step = "提交";
                        wfHistoryDTO1.NeeddeelType = "1";
                        wfHistoryDTO1.ChuliStatus = "2";
                        wfHistoryDTO1.Deelurl = "/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 = "/AdmAsk/AskGood?id=" + DanjuId;
                            wfNeeddeelDTO.Content = "";
                            wfNeeddeelDTO.Sort = 2;
                            wfNeeddeelDTO.RecStatus = "A";
                            wfNeeddeelDTO.Creater = Userid;
                            wfNeeddeelDTO.Createtime = DateTime.Now;
                            wfNeeddeelDTO.Modifier = Userid;
                            wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime;
                            result = _wfNeeddeelService.save(wfNeeddeelDTO);
                            if (result.Result == false)
                            {
                                return result;
                            }
                        }
                    }
                }
                if (step == "行政审批")
                {
                    //更新流程实例
                    //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "05").FirstOrDefault();
                    if (wfRunProcessDTO == null)
                    {
                        result.Result = false;
                        result.Message = "未找到流程实例";
                        return result;
                    }
                    if (wfRunProcessDTO.Step != "行政审批")
                    {
                        result.Result = false;
                        result.Message = "当前步骤已经处理";
                        return result;
                    }
                    if (tongguojujue == "A")
                    {
                        wfRunProcessDTO.Step = "完结";
                        wfRunProcessDTO.ShenpiStatus = "A";
                        wfRunProcessDTO.Modifier = Userid;
                        wfRunProcessDTO.Modifytime = DateTime.Now;
                        result = this.save(wfRunProcessDTO);
                        if (result.Result == false)
                        {
                            return result;
                        }
                        //更新单据
                        var admAskGood = _context.AdmAskGoods.Find(DanjuId);
                        if (wfRunProcessDTO == null)
                        {
                            result.Result = false;
                            result.Message = "未找到单据";
                            return result;
                        }
                        admAskGood.ShenpiStatus = "A";
                        _context.SaveChanges();
                        List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "行政审批");
                        var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs);
                        var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault();
                        if (wfHistoryDTO == null)
                        {
                            result.Result = false;
                            result.Message = "未找到代办";
                            return result;
                        }
                        wfHistoryDTO.Content = Content;
                        wfHistoryDTO.ChuliStatus = "2";
                        wfHistoryDTO.Modifier = Userid;
                        wfHistoryDTO.Modifytime = DateTime.Now;
                        var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs);
                        foreach (var wfHistory in wfHistories)
                        {
                            _context.WfHistories.Add(wfHistory);
                        }
                        var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs);
                        foreach (var wfNeeddeel in wfNeeddeels)
                        {
                            // _wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid);
                            _context.WfNeeddeels.Remove(wfNeeddeel);
                        }
                        _context.SaveChanges();
                    }
                    else
                    {
                        wfRunProcessDTO.Step = "提交";
                        wfRunProcessDTO.Modifier = Userid;
                        wfRunProcessDTO.Modifytime = DateTime.Now;
                        result = this.save(wfRunProcessDTO);
                        if (result.Result == false)
                        {
                            return result;
                        }
                        //更新待办
                        List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "行政审批");
                        var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs);
                        var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault();
                        if (wfHistoryDTO == null)
                        {
                            result.Result = false;
                            result.Message = "未找到代办";
                            return result;
                        }
                        wfHistoryDTO.Content = Content;
                        wfHistoryDTO.ChuliStatus = "1";
                        wfHistoryDTO.Modifier = Userid;
                        wfHistoryDTO.Modifytime = DateTime.Now;
                        var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs);
                        foreach (var wfHistory in wfHistories)
                        {
                            _context.WfHistories.Add(wfHistory);
                        }
                        var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs);
                        foreach (var wfNeeddeel in wfNeeddeels)
                        {
                            //_wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid);
                            _context.WfNeeddeels.Remove(wfNeeddeel);
                        }
                        _context.SaveChanges();
                        //插入新的待办
                        WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO();
                        wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id;
                        wfNeeddeelDTO.SendUserId = Userid;
                        wfNeeddeelDTO.DeelUserId = wfRunProcessDTO.Creater;
                        wfNeeddeelDTO.Sendtime = DateTime.Now;
                        wfNeeddeelDTO.Resivetime = DateTime.Now;
                        wfNeeddeelDTO.Step = "提交";
                        wfNeeddeelDTO.NeeddeelType = "1";
                        wfNeeddeelDTO.ChuliStatus = "0";
                        wfNeeddeelDTO.Deelurl = "/AdmAsk/AskGood?id=" + DanjuId;
                        wfNeeddeelDTO.Content = "";
                        wfNeeddeelDTO.Sort = 1;
                        wfNeeddeelDTO.RecStatus = "A";
                        wfNeeddeelDTO.Creater = Userid;
                        wfNeeddeelDTO.Createtime = DateTime.Now;
                        wfNeeddeelDTO.Modifier = Userid;
                        wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime;
                        result = _wfNeeddeelService.save(wfNeeddeelDTO);
                        if (result.Result == false)
                        {
                            return result;
                        }
                    }
                }
            }
            return result;
        }
    }
}
zhengcaioa/zhengcaioa/Controllers/HR/SalaryCheckController.cs
@@ -240,12 +240,20 @@
                    data.shenpi_status = "D";
                    data.status = "A";
                    resultEntity = _hrSalaryService.CheckAppea(data);
                    if (!resultEntity.Result)
                    {
                        return new JsonResult(resultEntity);
                    }
                }
                   
                //发起流程相关
                resultEntity = _wfRunProcessService.WfSalaryAppeal(data.id, data.Step, data.Tongguojujue, curentuser.Id, data.Content, data.tittle, "v1");
                if (!resultEntity.Result)
                {
                    return new JsonResult(resultEntity);
                }
                scope.Complete();
            }
            return new JsonResult(resultEntity);
zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs
New file
@@ -0,0 +1,276 @@
using DTO;
using IServices;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Transactions;
using zhengcaioa.Models;
namespace zhengcaioa.Controllers.admin
{
    [CheckLogin]
    public class AdmAskController : Controller
    {
        private readonly IHrDeptService _hrDeptService;
        private readonly ILogger<AdmAskController> _logger;
        private readonly IAskService _askService;
        private readonly IWfRunProcessService _wfRunProcessService;
        private readonly IWfHistoryService _wfHistoryService;
        private readonly IWfNeeddeelService _wfNeeddeelService;
        private readonly IAdmGoodsManageService _admGoodsManageService;
        public AdmAskController(ILogger<AdmAskController> logger, IAskService askService, IHrDeptService hrDeptService, IWfRunProcessService wfRunProcessService
            , IWfHistoryService wfHistoryService, IWfNeeddeelService wfNeeddeelService
            , IAdmGoodsManageService admGoodsManageService)
        {
            _logger = logger;
            _hrDeptService = hrDeptService;
            _askService = askService;
            _wfRunProcessService = wfRunProcessService;
            _wfHistoryService = wfHistoryService;
            _wfNeeddeelService = wfNeeddeelService;
            _admGoodsManageService = admGoodsManageService;
        }
        public IActionResult Askcost(string id = "")
        {
            AdmAskcostDTO dto = new AdmAskcostDTO();
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            //流程相关
            string shifoubiaoji = "A";
            string sifoudangqian = "A";
            string dangqianbuzhou = "提交";
            var lishiyijian = new List<WfHistoryDTO>();
            if (string.IsNullOrEmpty(id))
            {
                dto.CreaterName = curentuser.UserName;
                dto.Tittle = "费用申请(" + curentuser.UserName + ")";
            }
            else if (dto != null)
            {
                dto = _askService.GetAskcost(id);
                dto.CostName = dto.Cost.Value.ToString("F2");
                var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "04").FirstOrDefault();
                if (wfRunProcessDTO == null)
                {
                    shifoubiaoji = "D";
                    sifoudangqian = "D";
                }
                else
                {
                    dangqianbuzhou = wfRunProcessDTO.Step;
                    //查询历史意见
                    lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id);
                    if (wfRunProcessDTO.Step != "提交")
                    {
                        shifoubiaoji = "D";
                    }
                    //查询待办
                    var chaxundaiban = _wfNeeddeelService.GetListTracking(wfRunProcessDTO.Id, wfRunProcessDTO.Step).Where(x => x.DeelUserId == curentuser.Id).ToList();
                    if (chaxundaiban != null && chaxundaiban.Count > 0)
                    {
                        sifoudangqian = "A";
                    }
                    else
                    {
                        sifoudangqian = "D";
                    }
                }
            }
            ViewBag.shifoubiaoji = shifoubiaoji;
            ViewBag.sifoudangqian = sifoudangqian;
            ViewBag.lishiyijian = lishiyijian;
            ViewBag.dangqianbuzhou = dangqianbuzhou;
            ViewData.Model = dto;
            return View();
        }
        /// <summary>
        /// ä¿å­˜ç”³è¯‰
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult SaveAskcost(AdmAskcostDTO data)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ResultEntity resultEntity = new ResultEntity();
            using (TransactionScope scope = new TransactionScope())
            {
                if (data.Step == "提交")
                {
                    data.ShenpiStatus = "D";
                    data.RecStatus = "A";
                    data.Creater = curentuser.Id;
                    data.Createtime = DateTime.Now;
                    data.Modifier = data.Creater;
                    data.Modifytime = data.Createtime;
                    resultEntity = _askService.SaveAskcost(data);
                    if (!resultEntity.Result)
                    {
                        return new JsonResult(resultEntity);
                    }
                }
                //发起流程相关
                resultEntity = _wfRunProcessService.WfAskcost(data.Id, data.Step, data.Tongguojujue, curentuser.Id, data.Content, data.Tittle, "v1");
                if (!resultEntity.Result)
                {
                    return new JsonResult(resultEntity);
                }
                scope.Complete();
            }
            return new JsonResult(resultEntity);
        }
        public IActionResult AskGood(string id = "")
        {
            AdmAskGoodDTO dto = new AdmAskGoodDTO();
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            //流程相关
            string shifoubiaoji = "A";
            string sifoudangqian = "A";
            string dangqianbuzhou = "提交";
            var lishiyijian = new List<WfHistoryDTO>();
            if (string.IsNullOrEmpty(id))
            {
                dto.CreaterName = curentuser.UserName;
                dto.Tittle = "物品申领(" + curentuser.UserName + ")";
            }
            else if (dto != null)
            {
                dto = _askService.GetAskGood(id);
                dto.ShuliangName = dto.Shuliang.Value.ToString("F2");
                var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "05").FirstOrDefault();
                if (wfRunProcessDTO == null)
                {
                    shifoubiaoji = "D";
                    sifoudangqian = "D";
                }
                else
                {
                    dangqianbuzhou = wfRunProcessDTO.Step;
                    //查询历史意见
                    lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id);
                    if (wfRunProcessDTO.Step != "提交")
                    {
                        shifoubiaoji = "D";
                    }
                    //查询待办
                    var chaxundaiban = _wfNeeddeelService.GetListTracking(wfRunProcessDTO.Id, wfRunProcessDTO.Step).Where(x => x.DeelUserId == curentuser.Id).ToList();
                    if (chaxundaiban != null && chaxundaiban.Count > 0)
                    {
                        sifoudangqian = "A";
                    }
                    else
                    {
                        sifoudangqian = "D";
                    }
                }
            }
            ViewBag.shifoubiaoji = shifoubiaoji;
            ViewBag.sifoudangqian = sifoudangqian;
            ViewBag.lishiyijian = lishiyijian;
            ViewBag.dangqianbuzhou = dangqianbuzhou;
            ViewBag.Goods = _admGoodsManageService.GetList().Where(x=>x.GoodsStatus == "A").ToList();
            ViewData.Model = dto;
            return View();
        }
        /// <summary>
        /// ä¿å­˜ç”³è¯‰
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult SaveAskGood(AdmAskGoodDTO data)
        {
            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
            ResultEntity resultEntity = new ResultEntity();
            using (TransactionScope scope = new TransactionScope())
            {
                if (data.Step == "提交")
                {
                    data.ShenpiStatus = "D";
                    data.RecStatus = "A";
                    data.Creater = curentuser.Id;
                    data.Createtime = DateTime.Now;
                    data.Modifier = data.Creater;
                    data.Modifytime = data.Createtime;
                    resultEntity = _askService.SaveAskGood(data);
                    if (!resultEntity.Result)
                    {
                        return new JsonResult(resultEntity);
                    }
                }
                else if (data.Step == "行政审批" && data.Tongguojujue == "A")
                {
                    //判断物品数量书否够,够就削减物品数量
                 var admAskGoodDTO = _askService.GetAskGood(data.Id);
                  var admGoodsManageDTO = _admGoodsManageService.Get(admAskGoodDTO.GoodsId);
                    if(admGoodsManageDTO.GoodsLeft.HasValue && admGoodsManageDTO.GoodsLeft.Value>= admAskGoodDTO.Shuliang.Value)
                    {
                        admGoodsManageDTO.GoodsLeft = admGoodsManageDTO.GoodsLeft.Value - admAskGoodDTO.Shuliang.Value;
                        _admGoodsManageService.save(admGoodsManageDTO);
                    }
                    else
                    {
                        resultEntity.Result = false;
                        resultEntity.Message = "物品剩余数量不足";
                        return new JsonResult(resultEntity);
                    }
                }
                //发起流程相关
                resultEntity = _wfRunProcessService.WfAskGood(data.Id, data.Step, data.Tongguojujue, curentuser.Id, data.Content, data.Tittle, "v1");
                if (!resultEntity.Result)
                {
                    return new JsonResult(resultEntity);
                }
                scope.Complete();
            }
            return new JsonResult(resultEntity);
        }
    }
}
zhengcaioa/zhengcaioa/Startup.cs
@@ -145,6 +145,8 @@
            services.AddScoped(typeof(IOrderBanciService), typeof(OrderBanciService));
            services.AddScoped(typeof(IOrderBanciOrderService), typeof(OrderBanciOrderService));
            services.AddScoped(typeof(IAskService), typeof(AskService));
            //zcweb
            services.AddScoped(typeof(IDtChannelArticleNewsService), typeof(DtChannelArticleNewsService)); 
zhengcaioa/zhengcaioa/Views/AdmAsk/AskGood.cshtml
New file
@@ -0,0 +1,318 @@
@model AdmAskGoodDTO;
@using DTO;
@using zhengcaioa.Models;
@{
    Layout = null;
    //流程相关
    string shifoubiaoji = ViewBag.shifoubiaoji as string;
    string sifoudangqian = ViewBag.sifoudangqian as string;
    string dangqianbuzhou = ViewBag.dangqianbuzhou as string;
    List<WfHistoryDTO> lishiyijian = ViewData["lishiyijian"] as List<WfHistoryDTO>; //历史意见
    List<AdmGoodsManageDTO> Goods = ViewData["Goods"] as List<AdmGoodsManageDTO>; //历史意见
}
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="ThemeBucket">
    <link href="~/css/bootstrap.min.css" rel="stylesheet">
    <link href="~/css/font-awesome.min.css" rel="stylesheet">
    <link href="~/css/animate.min.css" rel="stylesheet">
    <link href="~/css/style.min.css" rel="stylesheet">
    <link href="~/css/plugins/chosen/chosen.css" rel="stylesheet">
    <link href="~/js/plugins/layer/skin/layer.css" rel="stylesheet">
    <link href="~/css/style.min.css" rel="stylesheet">
    <link href="~/css/plugins/toastr/toastr.min.css" rel="stylesheet" />
    <!-- jqgrid-->
    <script language="javascript" src="~/js/jquery.min.js" type="text/javascript"></script>
    <script src="~/js/bootstrap.min.js"></script>
    <!--容器-->
    <script language="javascript" src="~/js/plugins/chosen/chosen.jquery.js" type="text/javascript"></script>
    <script language="javascript" src="~/js/plugins/layer/layer.js" type="text/javascript"></script>
    <script src="~/js/plugins/toastr/toastr.min.js" type="text/javascript"></script>
    <script language="javascript" src="~/js/common-layout.js" type="text/javascript"></script>
    <script src="~/js/plugins/layer/laydate/laydate.js" type="text/javascript"></script>
    <script src="~/js/TUJS.js"></script>
    <style type="text/css">
        div.clearfix > label {
            padding-top: 8px;
        }
        .col-md-1.control-label {
            padding-right: 0px;
            font-weight: 400;
        }
    </style>
</head>
<body class="gray-bg" style="overflow:auto">
    <form id="fm" method="post">
        <div class="wrapper wrapper-content" id="ibox-content" style="padding:15px;">
            <div class="row">
                <div class="col-sm-12">
                    <div class="ibox float-e-margins">
                        <div id="div_content" class="ibox-content" style="background-color:white;">
                            <div class="row">
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <label class="text-right col-sm-1 col-md-1 control-label">单据名称<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2">
                                        <input type="text" class="form-control" value="@Model.Tittle" name="tittle" id="tittle" validate="RequiredField" autocomplete="off" readonly="readonly">
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <label class="text-right col-sm-1 col-md-1 control-label">申请人<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2">
                                        <input type="text" class="form-control" value="@Model.CreaterName" name="createrName" id="createrName" validate="RequiredField" autocomplete="off" readonly="readonly">
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <label class="text-right col-sm-1 col-md-1 control-label">物品名称<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2">
                                        <select id="GoodsId" class="form-control" name="GoodsId" data-placeholder="选择 åºåˆ— ...">
                                            <option value="" hassubinfo="true">请选择</option>
                                            @foreach (var item in Goods)
                                            {
                                                @if (!item.Id.Equals(Model.GoodsId))
                                                {
                                                    <option value="@item.Id" hassubinfo="true">
                                                        @item.GoodsName
                                                    </option>
                                                }
                                                else
                                                {
                                                    <option value="@item.Id" hassubinfo="true" selected="selected">
                                                        @item.GoodsName
                                                    </option>
                                                }
                                            }
                                        </select>
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <label class="text-right col-sm-1 col-md-1 control-label">申请数量<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2">
                                        <input class="form-control" id="Shuliang" name="Shuliang" type="text" value="@Model.ShuliangName" oninput="if(value.length>10)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <label class="text-right col-sm-1 col-md-1 control-label">申请说明</label>
                                    <div class="col-sm-6 col-md-6">
                                        <textarea class="form-control bt" id="Remark" name="Remark" maxlength="4000" length="long" style="resize:none;overflow-y:hidden; height:80px;">@Model.Remark</textarea>
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;" id="shenpiyijian">
                                    <label class="text-right col-sm-1 col-md-1 control-label">审批意见</label>
                                    <div class="col-sm-6 col-md-6">
                                        <textarea class="form-control data" id="Content" name="Content" style="resize:none;overflow-y:hidden; height:80px;" maxlength="500"></textarea>
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <label class="text-right col-sm-1 col-md-1 control-label">历史意见</label>
                                    <div class="col-sm-6 col-md-6">
                                        <table>
                                            @if (lishiyijian.Count > 0)
                                            {
                                                <tr>
                                                    <td style="border:1px solid #ccc;width:150px;">步骤 </td>
                                                    <td style="border:1px solid #ccc;width:150px;"> æ‰¹å¤çŠ¶æ€</td>
                                                    <td style="border:1px solid #ccc;width:150px;">批复时间</td>
                                                    <td style="border:1px solid #ccc;width:300px;"> å®¡æ‰¹æ„è§</td>
                                                    <td style="border:1px solid #ccc;width:100px;"> æ‰¹å¤äºº</td>
                                                </tr>
                                            }
                                            @foreach (var wfHistory in lishiyijian)
                                            {
                                                <tr>
                                                    <td style="border:1px solid #ccc;width:150px;">@wfHistory.Step</td>
                                                    <td style="border:1px solid #ccc;width:150px;">@wfHistory.ChuliStatusName</td>
                                                    <td style="border:1px solid #ccc;width:150px;">@wfHistory.ModifytimeName</td>
                                                    <td style="border:1px solid #ccc;width:300px;">@wfHistory.Content</td>
                                                    <td style="border:1px solid #ccc;width:100px;">@wfHistory.DeelUserIdName</td>
                                                </tr>
                                            }
                                        </table>
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:60px;">
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="ibox-content" id="top" style="z-index:100; position:fixed; height:50px; width:100%;bottom:0; text-align: right; padding-top:8px ">
            <div class="" style="float:right;" data-bootstro-width="500px">
                <a class="btn btn-success" href="javascript:void(0)" onclick="_pageAutoClose();" style="margin-left:4px; border-radius:4px;">
                    <i class="glyphicon glyphicon-remove"></i>&nbsp;&nbsp;<span class="bold">取消</span>
                </a>
                <a class="btn btn-success" id="tijiao" href="javascript:void(0)" onclick="saveSimCost('');" style="margin-left:4px; border-radius:4px;">
                    <i class="glyphicon glyphicon-ok"></i>&nbsp;&nbsp;<span class="bold">提交</span>
                </a>
                <a class="btn btn-success" id="tongyi" href="javascript:void(0)" onclick="saveSimCost('A');" style="margin-left:4px; border-radius:4px;">
                    <span class="bold">同意</span>
                </a>
                <a class="btn btn-success" id="jujue" href="javascript:void(0)" onclick="saveSimCost('D');" style="margin-left:4px; border-radius:4px;">
                    <span class="bold">拒绝</span>
                </a>
                <input type="hidden" id="id" name="id" value="@Model.Id" />
                <input type="hidden" id="Tongguojujue" name="Tongguojujue" value="" />
                <input type="hidden" id="Step" name="Step" value="@dangqianbuzhou" />
            </div>
        </div>
    </form>
    <script type="text/javascript">
        var hh = document.body.clientHeight -  $("#top").height() * 2 - 50;
        $("#div_content").height(hh);
        toastr.options = {
            "closeButton": true,
            "debug": false,
            "progressBar": true,
            "positionClass": "toast-bottom-right",
            "onclick": null,
            "showDuration": "300",
            "hideDuration": "600",
            "timeOut": "4500",
            "extendedTimeOut": "600",
            "showEasing": "swing",
            "hideEasing": "linear",
            "showMethod": "fadeIn",
            "hideMethod": "fadeOut"
        };
        $(function () {
             if ("@shifoubiaoji" != "A") {
                $("input").attr('readonly', true);
                $("textarea").attr('readonly', true);
                $(':radio').attr('disabled', true);
                $(':checkbox').attr('disabled', true);
                $(':button').attr('disabled', true);
                //$('a').removeAttr('onclick');
                 $('select').attr('disabled', true);
                 $("#fileUp").attr('disabled', true);
                 $('.fujianshanchu').removeAttr('onclick');
                 if ("@sifoudangqian" == "A") {
                     $("#Content").attr('readonly', false);
                      $('#tijiao').hide();
                 } else {
                     $('#tongyi').hide();
                      $('#jujue').hide();
                     $('#tijiao').hide();
                     $('#shenpiyijian').hide();
                 }
            } else {
                  //审批相关
                 $('#shenpiyijian').hide();
                 if ("@sifoudangqian" == "A") {
                     $('#tongyi').hide();
                     $('#jujue').hide();
                    $('#GoodsId').chosen();
                 } else {
                     $('#tongyi').hide();
                      $('#jujue').hide();
                      $('#tijiao').hide();
                 }
            }
        })
        // ä¿å­˜
        function saveSimCost(tongyi) {
            if ($.trim($("#GoodsId").val()) == '') {
                toastr.warning("物品名称不能为空");
                return;
            }
            if ($.trim($("#Shuliang").val()) == '') {
                toastr.warning("申请数量不能为空");
                return;
            }
            $("#Tongguojujue").val(tongyi);
            $.ajax({
                type: "POST",
                url: "/AdmAsk/SaveAskGood",
                dataType: "json",
                global: false,
                data: $('#fm').serialize(),
                success: function (data) {
                        if (data.Result) {
                            parent.layer.msg('提交成功', { icon: 6 });
                            try {
                                _pageAutoClose();//自动关闭页面方法
                            }
                            catch (err) {
                                var pathname = window.location.pathname;
                                var search = window.location.search;
                                parent._CloseTab1(pathname + search);
                            }
                        }
                        else {
                            parent.layer.msg(data.Message, { icon: 5 });
                        }
                },
                error: function () {
                    parent.layer.msg('失败', { icon: 5 });
                }
            });
        }
        function _pageAutoClose() {
            parent.window._reloadPageData();
            var index = parent.layer.getFrameIndex(window.name);
            parent.layer.isRefresh = true;
            parent.layer.closeAll('loading');
            parent.layer.close(index);
            return false;
        }
    </script>
</body>
</html>
zhengcaioa/zhengcaioa/Views/AdmAsk/Askcost.cshtml
New file
@@ -0,0 +1,289 @@
@model AdmAskcostDTO;
@using DTO;
@using zhengcaioa.Models;
@{
    Layout = null;
    //流程相关
    string shifoubiaoji = ViewBag.shifoubiaoji as string;
    string sifoudangqian = ViewBag.sifoudangqian as string;
    string dangqianbuzhou = ViewBag.dangqianbuzhou as string;
    List<WfHistoryDTO> lishiyijian = ViewData["lishiyijian"] as List<WfHistoryDTO>; //历史意见
}
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="ThemeBucket">
    <link href="~/css/bootstrap.min.css" rel="stylesheet">
    <link href="~/css/font-awesome.min.css" rel="stylesheet">
    <link href="~/css/animate.min.css" rel="stylesheet">
    <link href="~/css/style.min.css" rel="stylesheet">
    <link href="~/css/plugins/chosen/chosen.css" rel="stylesheet">
    <link href="~/js/plugins/layer/skin/layer.css" rel="stylesheet">
    <link href="~/css/style.min.css" rel="stylesheet">
    <link href="~/css/plugins/toastr/toastr.min.css" rel="stylesheet" />
    <!-- jqgrid-->
    <script language="javascript" src="~/js/jquery.min.js" type="text/javascript"></script>
    <script src="~/js/bootstrap.min.js"></script>
    <!--容器-->
    <script language="javascript" src="~/js/plugins/chosen/chosen.jquery.js" type="text/javascript"></script>
    <script language="javascript" src="~/js/plugins/layer/layer.js" type="text/javascript"></script>
    <script src="~/js/plugins/toastr/toastr.min.js" type="text/javascript"></script>
    <script language="javascript" src="~/js/common-layout.js" type="text/javascript"></script>
    <script src="~/js/plugins/layer/laydate/laydate.js" type="text/javascript"></script>
    <script src="~/js/TUJS.js"></script>
    <style type="text/css">
        div.clearfix > label {
            padding-top: 8px;
        }
        .col-md-1.control-label {
            padding-right: 0px;
            font-weight: 400;
        }
    </style>
</head>
<body class="gray-bg" style="overflow:auto">
    <form id="fm" method="post">
        <div class="wrapper wrapper-content" id="ibox-content" style="padding:15px;">
            <div class="row">
                <div class="col-sm-12">
                    <div class="ibox float-e-margins">
                        <div id="div_content" class="ibox-content" style="background-color:white;">
                            <div class="row">
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <label class="text-right col-sm-1 col-md-1 control-label">单据名称<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2">
                                        <input type="text" class="form-control" value="@Model.Tittle" name="tittle" id="tittle" validate="RequiredField" autocomplete="off" readonly="readonly">
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <label class="text-right col-sm-1 col-md-1 control-label">申请人<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2">
                                        <input type="text" class="form-control" value="@Model.CreaterName" name="createrName" id="createrName" validate="RequiredField" autocomplete="off" readonly="readonly">
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <label class="text-right col-sm-1 col-md-1 control-label">事由<i class="red">*</i></label>
                                    <div class="col-sm-6 col-md-6">
                                        <textarea class="form-control bt" id="Remark" name="Remark" maxlength="4000" length="long" style="resize:none;overflow-y:hidden; height:80px;">@Model.Remark</textarea>
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <label class="text-right col-sm-1 col-md-1 control-label">申请费用<i class="red">*</i></label>
                                    <div class="col-sm-2 col-md-2">
                                        <input class="form-control" id="Cost" name="Cost" type="text" value="@Model.CostName" oninput="if(value.length>10)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;" id="shenpiyijian">
                                    <label class="text-right col-sm-1 col-md-1 control-label">审批意见</label>
                                    <div class="col-sm-6 col-md-6">
                                        <textarea class="form-control data" id="Content" name="Content" style="resize:none;overflow-y:hidden; height:80px;" maxlength="500"></textarea>
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:15px;">
                                    <label class="text-right col-sm-1 col-md-1 control-label">历史意见</label>
                                    <div class="col-sm-6 col-md-6">
                                        <table>
                                            @if (lishiyijian.Count > 0)
                                            {
                                                <tr>
                                                    <td style="border:1px solid #ccc;width:150px;">步骤 </td>
                                                    <td style="border:1px solid #ccc;width:150px;"> æ‰¹å¤çŠ¶æ€</td>
                                                    <td style="border:1px solid #ccc;width:150px;">批复时间</td>
                                                    <td style="border:1px solid #ccc;width:300px;"> å®¡æ‰¹æ„è§</td>
                                                    <td style="border:1px solid #ccc;width:100px;"> æ‰¹å¤äºº</td>
                                                </tr>
                                            }
                                            @foreach (var wfHistory in lishiyijian)
                                            {
                                                <tr>
                                                    <td style="border:1px solid #ccc;width:150px;">@wfHistory.Step</td>
                                                    <td style="border:1px solid #ccc;width:150px;">@wfHistory.ChuliStatusName</td>
                                                    <td style="border:1px solid #ccc;width:150px;">@wfHistory.ModifytimeName</td>
                                                    <td style="border:1px solid #ccc;width:300px;">@wfHistory.Content</td>
                                                    <td style="border:1px solid #ccc;width:100px;">@wfHistory.DeelUserIdName</td>
                                                </tr>
                                            }
                                        </table>
                                    </div>
                                </div>
                                <div class="clearfix layer-area" style="padding-bottom:60px;">
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="ibox-content" id="top" style="z-index:100; position:fixed; height:50px; width:100%;bottom:0; text-align: right; padding-top:8px ">
            <div class="" style="float:right;" data-bootstro-width="500px">
                <a class="btn btn-success" href="javascript:void(0)" onclick="_pageAutoClose();" style="margin-left:4px; border-radius:4px;">
                    <i class="glyphicon glyphicon-remove"></i>&nbsp;&nbsp;<span class="bold">取消</span>
                </a>
                <a class="btn btn-success" id="tijiao" href="javascript:void(0)" onclick="saveSimCost('');" style="margin-left:4px; border-radius:4px;">
                    <i class="glyphicon glyphicon-ok"></i>&nbsp;&nbsp;<span class="bold">提交</span>
                </a>
                <a class="btn btn-success" id="tongyi" href="javascript:void(0)" onclick="saveSimCost('A');" style="margin-left:4px; border-radius:4px;">
                    <span class="bold">同意</span>
                </a>
                <a class="btn btn-success" id="jujue" href="javascript:void(0)" onclick="saveSimCost('D');" style="margin-left:4px; border-radius:4px;">
                    <span class="bold">拒绝</span>
                </a>
                <input type="hidden" id="id" name="id" value="@Model.Id" />
                <input type="hidden" id="Tongguojujue" name="Tongguojujue" value="" />
                <input type="hidden" id="Step" name="Step" value="@dangqianbuzhou" />
            </div>
        </div>
    </form>
    <script type="text/javascript">
        var hh = document.body.clientHeight -  $("#top").height() * 2 - 50;
        $("#div_content").height(hh);
        toastr.options = {
            "closeButton": true,
            "debug": false,
            "progressBar": true,
            "positionClass": "toast-bottom-right",
            "onclick": null,
            "showDuration": "300",
            "hideDuration": "600",
            "timeOut": "4500",
            "extendedTimeOut": "600",
            "showEasing": "swing",
            "hideEasing": "linear",
            "showMethod": "fadeIn",
            "hideMethod": "fadeOut"
        };
        $(function () {
             if ("@shifoubiaoji" != "A") {
                $("input").attr('readonly', true);
                $("textarea").attr('readonly', true);
                $(':radio').attr('disabled', true);
                $(':checkbox').attr('disabled', true);
                $(':button').attr('disabled', true);
                //$('a').removeAttr('onclick');
                 $('select').attr('disabled', true);
                 $("#fileUp").attr('disabled', true);
                 $('.fujianshanchu').removeAttr('onclick');
                 if ("@sifoudangqian" == "A") {
                     $("#Content").attr('readonly', false);
                      $('#tijiao').hide();
                 } else {
                     $('#tongyi').hide();
                      $('#jujue').hide();
                     $('#tijiao').hide();
                     $('#shenpiyijian').hide();
                 }
            } else {
                  //审批相关
                 $('#shenpiyijian').hide();
                 if ("@sifoudangqian" == "A") {
                     $('#tongyi').hide();
                     $('#jujue').hide();
                 } else {
                     $('#tongyi').hide();
                      $('#jujue').hide();
                      $('#tijiao').hide();
                 }
            }
        })
        // ä¿å­˜
        function saveSimCost(tongyi) {
            if ($.trim($("#Remark").val()) == '') {
                toastr.warning("事由不能为空");
                return;
            }
            if ($.trim($("#Cost").val()) == '') {
                toastr.warning("申请费用不能为空");
                return;
            }
            $("#Tongguojujue").val(tongyi);
            $.ajax({
                type: "POST",
                url: "/AdmAsk/SaveAskcost",
                dataType: "json",
                global: false,
                data: $('#fm').serialize(),
                success: function (data) {
                        if (data.Result) {
                            parent.layer.msg('提交成功', { icon: 6 });
                            try {
                                _pageAutoClose();//自动关闭页面方法
                            }
                            catch (err) {
                                var pathname = window.location.pathname;
                                var search = window.location.search;
                                parent._CloseTab1(pathname + search);
                            }
                        }
                        else {
                            parent.layer.msg(data.Message, { icon: 5 });
                        }
                },
                error: function () {
                    parent.layer.msg('失败', { icon: 5 });
                }
            });
        }
        function _pageAutoClose() {
            parent.window._reloadPageData();
            var index = parent.layer.getFrameIndex(window.name);
            parent.layer.isRefresh = true;
            parent.layer.closeAll('loading');
            parent.layer.close(index);
            return false;
        }
    </script>
</body>
</html>
zhengcaioa/zhengcaioa/Views/WorkFlowTask/Index.cshtml
@@ -20,7 +20,7 @@
            { label: '申请人', name: 'CreaterName', labtype: 'txt', hidden: false, width: 100 },
            { label: '请示名称', name: 'Content', labtype: 'txt', hidden: false, width: 100 },
            { label: '步骤', name: 'Step', labtype: 'txt', hidden: false, width: 100 },
            //{ label: '批复状态', name: 'ShenpiStatusName', labtype: 'txt', hidden: false, width: 100 },
            {
                label: '审批', name: 'Remark', labtype: 'txt', hidden: false, width: 100,
                formatter: function (cellvalue, options, rowObject) {
zhengcaioa/zhengcaioa/Views/WorkFlowTask/IndexYiBan.cshtml
@@ -20,6 +20,7 @@
            { label: '申请人', name: 'CreaterName', labtype: 'txt', hidden: false, width: 100 },
            { label: '请示名称', name: 'Content', labtype: 'txt', hidden: false, width: 100 },
            { label: '步骤', name: 'Step', labtype: 'txt', hidden: false, width: 100 },
            { label: '批复状态', name: 'ShenpiStatusName', labtype: 'txt', hidden: false, width: 100 },
            {
                label: '查看', name: 'Remark', labtype: 'txt', hidden: false, width: 100,
                formatter: function (cellvalue, options, rowObject) {
±íÐÞ¸Ä.sql
@@ -1,5 +1,202 @@
USE [zhengcaioa]
GO
/****** Object:  Table [dbo].[ADM_AskGoods]    Script Date: 2021/7/23 8:54:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ADM_AskGoods](
    [Id] [nvarchar](50) NOT NULL,
    [GoodsId] [nvarchar](50)   NULL,
    [Shuliang] [money] NULL,
    [Remark] [nvarchar](500) NULL,
    [shenpi_status] [nvarchar](1) NULL,
    [rec_status] [nvarchar](1) NOT NULL,
    [creater] [nvarchar](50) NOT NULL,
    [createtime] [datetime] NOT NULL,
    [modifier] [nvarchar](50) NOT NULL,
    [modifytime] [datetime] NOT NULL,
    [createrName] [nvarchar](50) NULL,
    [tittle] [nvarchar](50) NULL,
 CONSTRAINT [PK__AskGoods__3214EC077AC5FA48] PRIMARY KEY CLUSTERED
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ADM_AskGoods] ADD  DEFAULT ((0)) FOR [Shuliang]
GO
ALTER TABLE [dbo].[ADM_AskGoods] ADD  DEFAULT ('D') FOR [shenpi_status]
GO
ALTER TABLE [dbo].[ADM_AskGoods] ADD  DEFAULT ('A') FOR [rec_status]
GO
ALTER TABLE [dbo].[ADM_AskGoods] ADD  DEFAULT ('1') FOR [creater]
GO
ALTER TABLE [dbo].[ADM_AskGoods] ADD  DEFAULT (getdate()) FOR [createtime]
GO
ALTER TABLE [dbo].[ADM_AskGoods] ADD  DEFAULT ('1') FOR [modifier]
GO
ALTER TABLE [dbo].[ADM_AskGoods] ADD  DEFAULT (getdate()) FOR [modifytime]
GO
USE [zhengcaioa]
GO
/****** Object:  Table [dbo].[ADM_Askcost]    Script Date: 2021/7/23 8:54:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ADM_Askcost](
    [Id] [nvarchar](50) NOT NULL,
    [Cost] [money] NULL,
    [Remark] [nvarchar](500) NULL,
    [shenpi_status] [nvarchar](1) NULL,
    [rec_status] [nvarchar](1) NOT NULL,
    [creater] [nvarchar](50) NOT NULL,
    [createtime] [datetime] NOT NULL,
    [modifier] [nvarchar](50) NOT NULL,
    [modifytime] [datetime] NOT NULL,
    [createrName] [nvarchar](50) NULL,
    [tittle] [nvarchar](50) NULL,
 CONSTRAINT [PK__Askcost__3214EC077AC5FA48] PRIMARY KEY CLUSTERED
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ADM_Askcost] ADD  DEFAULT ((0)) FOR [Cost]
GO
ALTER TABLE [dbo].[ADM_Askcost] ADD  DEFAULT ('D') FOR [shenpi_status]
GO
ALTER TABLE [dbo].[ADM_Askcost] ADD  DEFAULT ('A') FOR [rec_status]
GO
ALTER TABLE [dbo].[ADM_Askcost] ADD  DEFAULT ('1') FOR [creater]
GO
ALTER TABLE [dbo].[ADM_Askcost] ADD  DEFAULT (getdate()) FOR [createtime]
GO
ALTER TABLE [dbo].[ADM_Askcost] ADD  DEFAULT ('1') FOR [modifier]
GO
ALTER TABLE [dbo].[ADM_Askcost] ADD  DEFAULT (getdate()) FOR [modifytime]
GO
USE [zhengcaioa]
GO
ALTER TABLE [dbo].[plt_user] ADD  [yaoqingma] [nvarchar](50)   NULL
GO