300 lines
12 KiB
C#
300 lines
12 KiB
C#
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using System.Linq;
|
|
|
|
namespace BLL
|
|
{
|
|
|
|
public static class PHTGL_ApproveService
|
|
{
|
|
public const string ActionPlanReview = "ActionPlanReview";
|
|
public const string ApproveUserReview = "ApproveUserReview";
|
|
public const string BidDocumentsReview = "BidDocumentsReview";
|
|
public const string SetSubReview = "SetSubReview";
|
|
public const string ContractReview = "ContractReview";
|
|
public const string ContractReview_Countersign = "ContractReview_Countersign";
|
|
|
|
public static Model.PHTGL_Approve GetPHTGL_ApproveById(string ApproveId)
|
|
{
|
|
|
|
return Funs.DB.PHTGL_Approve.FirstOrDefault(e => e.ApproveId == ApproveId);
|
|
}
|
|
|
|
public static List<Model.PHTGL_Approve> GetPHTGL_ApproveByContractId(string contractId)
|
|
{
|
|
var q = (from x in Funs.DB.PHTGL_Approve where x.ContractId == contractId && x.State == 0 select x).ToList();
|
|
|
|
return q;
|
|
}
|
|
/// <summary>
|
|
///获取当前人员的所有审批信息
|
|
/// </summary>
|
|
/// <param name="contractId"></param>
|
|
/// <param name="approveMan"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.PHTGL_Approve> GetListPHTGL_ApproveByUserId(string contractId, string approveMan)
|
|
{
|
|
var q = (from x in Funs.DB.PHTGL_Approve where x.ContractId == contractId && x.ApproveMan == approveMan select x).ToList();
|
|
|
|
return q;
|
|
}
|
|
public static Model.PHTGL_Approve GetPHTGL_ApproveByContractIdandUserId(string contractId, string UserID)
|
|
{
|
|
var q=(from x in Funs.DB.PHTGL_Approve where x.ContractId==contractId && x.ApproveMan==UserID orderby x.ApproveDate descending select x ).FirstOrDefault();
|
|
//return Funs.DB.PHTGL_Approve.FirstOrDefault(e => e.ContractId == contractId && e.ApproveMan == UserID );
|
|
return q;
|
|
}
|
|
|
|
public static Model.PHTGL_Approve GetPHTGL_ApproveByContractIdAndType(string contractId, string approveType)
|
|
|
|
{
|
|
return Funs.DB.PHTGL_Approve.FirstOrDefault(e => e.ContractId == contractId && e.ApproveType == approveType);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取当前人员正在审批的信息
|
|
/// </summary>
|
|
/// <param name="contractId"></param>
|
|
/// <param name="approveMan"></param>
|
|
/// <returns></returns>
|
|
public static Model.PHTGL_Approve GetPHTGL_ApproveByUserId(string contractId, string approveMan)
|
|
{
|
|
return Funs.DB.PHTGL_Approve.FirstOrDefault(e => e.ContractId == contractId && e.ApproveMan == approveMan && e.State == 0);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 判断当前人员是否是审批相关人员
|
|
/// </summary>
|
|
/// <param name="contractId"></param>
|
|
/// <param name="approveMan"></param>
|
|
/// <returns></returns>
|
|
public static bool IsApproveMan(string contractId, string approveMan)
|
|
{
|
|
bool IsExit = false;
|
|
var q = (from x in Funs.DB.PHTGL_Approve where x.ContractId == contractId && x.ApproveMan == approveMan select x).ToList();
|
|
if (q != null)
|
|
{
|
|
IsExit = true;
|
|
}
|
|
return IsExit;
|
|
}
|
|
/// <summary>
|
|
/// 添加审批人员记录
|
|
/// </summary>
|
|
/// <param name="newtable"></param>
|
|
public static void AddPHTGL_Approve(Model.PHTGL_Approve newtable)
|
|
{
|
|
Model.PHTGL_Approve table = new Model.PHTGL_Approve();
|
|
table.ApproveId = newtable.ApproveId;
|
|
table.ContractId = newtable.ContractId;
|
|
table.ApproveMan = newtable.ApproveMan;
|
|
table.ApproveDate = newtable.ApproveDate;
|
|
table.State = newtable.State;
|
|
table.IsAgree = newtable.IsAgree;
|
|
table.ApproveIdea = newtable.ApproveIdea;
|
|
table.ApproveType = newtable.ApproveType;
|
|
table.ApproveForm = newtable.ApproveForm;
|
|
table.IsPushOa = newtable.IsPushOa;
|
|
Funs.DB.PHTGL_Approve.InsertOnSubmit(table);
|
|
Funs.DB.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改审批人员记录
|
|
/// </summary>
|
|
/// <param name="newtable"></param>
|
|
public static void UpdatePHTGL_Approve(Model.PHTGL_Approve newtable)
|
|
{
|
|
Model.PHTGL_Approve table = Funs.DB.PHTGL_Approve.FirstOrDefault(e => e.ApproveId == newtable.ApproveId);
|
|
|
|
if (table != null)
|
|
{
|
|
table.ApproveId = newtable.ApproveId;
|
|
table.ContractId = newtable.ContractId;
|
|
table.ApproveMan = newtable.ApproveMan;
|
|
table.ApproveDate = newtable.ApproveDate;
|
|
table.State = newtable.State;
|
|
table.IsAgree = newtable.IsAgree;
|
|
table.ApproveIdea = newtable.ApproveIdea;
|
|
table.ApproveType = newtable.ApproveType;
|
|
table.ApproveForm = newtable.ApproveForm;
|
|
table.IsPushOa = newtable.IsPushOa;
|
|
Funs.DB.SubmitChanges();
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除记录
|
|
/// </summary>
|
|
/// <param name="contractId"></param>
|
|
public static void DeletePHTGL_ApproveBycontractId(string contractId)
|
|
{
|
|
var q = (from x in Funs.DB.PHTGL_Approve where x.ContractId == contractId select x).ToList();
|
|
if (q != null)
|
|
{
|
|
Funs.DB.PHTGL_Approve.DeleteAllOnSubmit(q);
|
|
Funs.DB.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取未推送oa 的审批记录
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static List<Model.PHTGL_Approve> GetApproves_NopushOa()
|
|
{
|
|
var q = (from x in Funs.DB.PHTGL_Approve where x.IsPushOa == 0 && x.ApproveMan != "" select x).ToList();
|
|
return q;
|
|
}
|
|
/// <summary>
|
|
/// 获取当前审批合同所以人员的最后一次审批记录
|
|
/// </summary>
|
|
/// <param name="ContractId"></param>
|
|
/// <returns></returns>
|
|
public static DataTable GetFinalApproveData(string ContractId)
|
|
{
|
|
string strSql = @" select a.ApproveId ,a.ApproveMan, Users.PersonName,
|
|
users.SignatureUrl,a.ApproveType,a.ApproveDate ,a.ApproveIdea,a.ApproveForm
|
|
from PHTGL_Approve a "
|
|
+ @" LEFT JOIN dbo.Person_Persons AS Users ON a.ApproveMan=Users.PersonId"
|
|
+ @" where not exists (select 1 from PHTGL_Approve b where a.ApproveType=b.ApproveType and a.ContractId=b.ContractId and a.ApproveDate<b.ApproveDate ) and ContractId=@ContractId and a.State=1"
|
|
+ @" order by CONVERT(datetime,a.ApproveDate) ASC ";
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
listStr.Add(new SqlParameter("@ContractId", ContractId));
|
|
|
|
SqlParameter[] parameter = listStr.ToArray();
|
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
return tb;
|
|
}
|
|
/// <summary>
|
|
/// 获取当前审批人在审批流中的审批记录
|
|
/// </summary>
|
|
/// <param name="ContractId"></param>
|
|
/// <param name="ApproveMan"></param>
|
|
/// <returns></returns>
|
|
public static string GetApproveManIdea(string ContractId, string ApproveMan, string ApproveType)
|
|
{
|
|
string AllApproveIdea = "";
|
|
string strSql = @" select a.ApproveId ,a.ApproveMan,a.ApproveType,a.ApproveDate ,a.ApproveIdea,a.ApproveForm
|
|
from PHTGL_Approve a "
|
|
+ @" where ContractId=@ContractId and a.State=1 and a.ApproveMan=@ApproveMan and a.ApproveType=@ApproveType "
|
|
+ @" order by CONVERT(datetime,a.ApproveDate) desc ";
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
listStr.Add(new SqlParameter("@ContractId", ContractId));
|
|
listStr.Add(new SqlParameter("@ApproveMan", ApproveMan));
|
|
listStr.Add(new SqlParameter("@ApproveType", ApproveType));
|
|
|
|
SqlParameter[] parameter = listStr.ToArray();
|
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
foreach (DataRow dr in tb.Rows)
|
|
{
|
|
string ApproveIdea = dr["ApproveIdea"].ToString().Replace("其他会签人员已经拒绝", "");
|
|
if (ApproveIdea.Length > 4)
|
|
{
|
|
AllApproveIdea += ApproveIdea;
|
|
}
|
|
}
|
|
if (AllApproveIdea == "")
|
|
{
|
|
AllApproveIdea = "同意";
|
|
}
|
|
return AllApproveIdea;
|
|
}
|
|
/// <summary>
|
|
/// 获取当前审批合同所全部审批记录
|
|
/// </summary>
|
|
/// <param name="ContractId"></param>
|
|
/// <returns></returns>
|
|
public static DataTable GetAllApproveData(string ContractId)
|
|
{
|
|
string strSql = @" select u.PersonName as ApproveMan,
|
|
App.ApproveDate,
|
|
(CASE App.IsAgree WHEN '1' THEN '不同意'
|
|
WHEN '2' THEN '同意' END) AS IsAgree,
|
|
App.ApproveIdea,
|
|
App.ApproveId,
|
|
App.ApproveType
|
|
from PHTGL_Approve as App"
|
|
+ @" left join Person_Persons AS U ON U.PersonId = App.ApproveMan WHERE 1=1 and App.IsAgree <>0 and app.ContractId= @ContractId order by convert(datetime ,App.ApproveDate) ";
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
listStr.Add(new SqlParameter("@ContractId", ContractId));
|
|
SqlParameter[] parameter = listStr.ToArray();
|
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
return tb;
|
|
}
|
|
/// <summary>
|
|
/// 获取最后拒绝的人员
|
|
/// </summary>
|
|
/// <param name="ContractId"></param>
|
|
/// <returns></returns>
|
|
public static DataTable GetRefuseEndMan(string ContractId)
|
|
{
|
|
string strSql = @" select top 1 a.ApproveId ,a.ApproveMan,a.ApproveType,a.ApproveDate ,a.ApproveIdea,a.ApproveForm
|
|
from PHTGL_Approve a "
|
|
+ @" where ContractId=@ContractId and a.State=1 and a.IsAgree=1"
|
|
+ @" order by CONVERT(datetime,a.ApproveDate) desc ";
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
listStr.Add(new SqlParameter("@ContractId", ContractId));
|
|
|
|
SqlParameter[] parameter = listStr.ToArray();
|
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
return tb;
|
|
}
|
|
}
|
|
public class ApproveManModel
|
|
{
|
|
public int Number
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
public string userid
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
public string Rolename
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
}
|
|
public class PrintModel
|
|
{
|
|
public int Number
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
public string Rolename
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
public string UserName
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
public string Image
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
public string ApproveIdea
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
public string ApproveDate
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
}
|
|
}
|