233 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			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.CNPCDB 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.CNPCDB 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.CNPCDB 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.CNPCDB db = new Model.CNPCDB(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;
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |