ChengDa_English/SGGL/BLL/CQMS/Information/StatementService.cs

233 lines
8.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls;
namespace BLL
{
public class StatementService
{
public static string IsAgree(Object type, Object res)
{
string result = string.Empty;
if (type.ToString().Equals(Const.Statement_Compile) || type.ToString().Equals(Const.Statement_ReCompile))
{
res = null;
}
if (res != null)
{
if (Convert.ToBoolean(res))
{
result = "是";
}
else
{
result = "否";
}
}
return result;
}
/// <summary>
/// 根据工程签证结算单Id删除一个工程签证结算单信息
/// </summary>
/// <param name="statementCode">工程签证结算单Id</param>
public static void DeleteStatement(string statementId)
{
Model.SGGLDB db = Funs.DB;
Model.CQMS_Statement statement = db.CQMS_Statement.First(e => e.StatementId == statementId);
db.CQMS_Statement.DeleteOnSubmit(statement);
db.SubmitChanges();
}
/// <summary>
/// 增加工程签证结算单信息
/// </summary>
/// <param name="statement">工程签证结算单实体</param>
public static void AddStatement(Model.CQMS_Statement statement)
{
Model.SGGLDB db = Funs.DB;
Model.CQMS_Statement newStatement = new Model.CQMS_Statement();
newStatement.StatementId = statement.StatementId;
newStatement.ProjectId = statement.ProjectId;
newStatement.SecretLevelId = statement.SecretLevelId;
newStatement.StatementCode = statement.StatementCode;
newStatement.Edition = statement.Edition;
newStatement.ConfirmFormId = statement.ConfirmFormId;
newStatement.UnitId = statement.UnitId;
newStatement.ContractNo = statement.ContractNo;
newStatement.TaskTheme = statement.TaskTheme;
newStatement.ProductionSource = statement.ProductionSource;
newStatement.JobContent = statement.JobContent;
newStatement.PlanCost = statement.PlanCost;
newStatement.AuditCost = statement.AuditCost;
newStatement.RealCost = statement.RealCost;
newStatement.CompileMan = statement.CompileMan;
newStatement.CompileDate = statement.CompileDate;
newStatement.State = statement.State;
db.CQMS_Statement.InsertOnSubmit(newStatement);
db.SubmitChanges();
}
/// <summary>
/// 修改工程签证结算单信息
/// </summary>
/// <param name="statement">工程签证结算单实体</param>
public static void UpdateStatement(Model.CQMS_Statement statement)
{
Model.SGGLDB db = Funs.DB;
Model.CQMS_Statement newStatement = db.CQMS_Statement.First(e => e.StatementId == statement.StatementId);
newStatement.SecretLevelId = statement.SecretLevelId;
newStatement.StatementCode = statement.StatementCode;
newStatement.Edition = statement.Edition;
newStatement.ConfirmFormId = statement.ConfirmFormId;
newStatement.UnitId = statement.UnitId;
newStatement.ContractNo = statement.ContractNo;
newStatement.TaskTheme = statement.TaskTheme;
newStatement.ProductionSource = statement.ProductionSource;
newStatement.JobContent = statement.JobContent;
newStatement.PlanCost = statement.PlanCost;
newStatement.AuditCost = statement.AuditCost;
newStatement.RealCost = statement.RealCost;
newStatement.State = statement.State;
db.SubmitChanges();
}
/// <summary>
/// 把状态转换代号为文字形式
/// </summary>
/// <param name="state"></param>
/// <returns></returns>
///
public static string ConvertState(object state)
{
if (state != null)
{
if (state.ToString() == BLL.Const.Statement_ReCompile)
{
return "重报";
}
else if (state.ToString() == BLL.Const.Statement_Compile)
{
return "编制";
}
else if (state.ToString() == BLL.Const.Statement_Audit1)
{
return "分包项目经理审核";
}
else if (state.ToString() == BLL.Const.Statement_Audit2)
{
return "费控工程师审核";
}
else if (state.ToString() == BLL.Const.Statement_Audit3)
{
return "控制经理审核";
}
else if (state.ToString() == BLL.Const.Statement_Audit4)
{
return "项目经理审核";
}
else if (state.ToString() == BLL.Const.Statement_Complete)
{
return "审批完成";
}
}
return "";
}
/// <summary>
/// 根据工程签证结算单Id获取一个工程签证结算单信息
/// </summary>
/// <param name="statementCode">工程签证结算单Id</param>
/// <returns>一个工程签证结算单实体</returns>
public static Model.CQMS_Statement GetStatementByStatementId(string statementId)
{
return Funs.DB.CQMS_Statement.FirstOrDefault(x => x.StatementId == statementId);
}
/// <summary>
/// 根据工程签证结算单Id获取一个工程签证结算单信息
/// </summary>
/// <param name="statementCode">工程签证结算单Id</param>
/// <returns>一个工程签证结算单实体</returns>
public static Model.CQMS_Statement GetStatementByConfirmFormId(string confirmFormId)
{
return Funs.DB.CQMS_Statement.FirstOrDefault(x => x.ConfirmFormId == confirmFormId);
}
public static void Init(FineUIPro.DropDownList dropName, string state, bool isShowPlease)
{
dropName.DataValueField = "Value";
dropName.DataTextField = "Text";
dropName.DataSource = GetDHandleTypeByState(state);
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}
/// <summary>
/// 根据状态选择下一步办理类型
/// </summary>
/// <param name="state"></param>
/// <returns></returns>
public static ListItem[] GetDHandleTypeByState(string state)
{
if (state == Const.Statement_Compile || state == Const.Statement_ReCompile) //无是否同意
{
ListItem[] lis = new ListItem[1];
lis[0] = new ListItem("分包项目经理审核", Const.Statement_Audit1);
return lis;
}
else if (state == Const.Statement_Audit1)//有是否同意
{
ListItem[] lis = new ListItem[2];
lis[0] = new ListItem("费控工程师审核", Const.Statement_Audit2);//是 加载
lis[1] = new ListItem("重新编制", Const.Statement_ReCompile);//是 加载
return lis;
}
else
return null;
}
/// <summary>
/// 根据项目id获取工程签证结算单下拉框
/// </summary>
/// <param name="dropName">下拉框名字</param>
/// <param name="isShowPlease">是否显示请选择</param>
public static void InitStatementList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
{
dropName.DataValueField = "StatementId";
dropName.DataTextField = "StatementCode";
dropName.DataSource = GetStatementList(projectId);
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}
/// <summary>
/// 根据项目Id获取单位名称下拉选择项
/// </summary>
/// <param name="projectId"></param>
/// <returns></returns>
public static List<Model.CQMS_Statement> GetStatementList(string projectId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var q = (from x in db.CQMS_Statement
where x.ProjectId == projectId && x.State == BLL.Const.Statement_Complete
orderby x.StatementCode
select x).ToList();
return q;
}
}
}
}