using FineUIPro; using MiniExcelLibs.Attributes; using System.Collections; using System.Collections.Generic; using System.Linq; namespace BLL { /// /// 合同基本信息 /// public static class ContractStandingBookService { public static Model.SGGLDB db = Funs.DB; #region 获取列表 /// /// 记录数 /// public static int count { get; set; } public static List GetPHTGL_ContractStandingBookByModle(Model.PHTGL_ContractStandingBook table) { var q = from x in Funs.DB.PHTGL_ContractStandingBook where (string.IsNullOrEmpty(table.ContractId) || x.ContractId.Contains(table.ContractId)) && (string.IsNullOrEmpty(table.ProjectId) || x.ProjectId.Contains(table.ProjectId)) && (string.IsNullOrEmpty(table.ContractName) || x.ContractName.Contains(table.ContractName)) && (string.IsNullOrEmpty(table.ContractNum) || x.ContractNum.Contains(table.ContractNum)) && (string.IsNullOrEmpty(table.Parties) || x.Parties.Contains(table.Parties)) && (string.IsNullOrEmpty(table.Currency) || x.Currency.Contains(table.Currency)) && (string.IsNullOrEmpty(table.DepartId) || x.DepartId.Contains(table.DepartId)) && (string.IsNullOrEmpty(table.Agent) || x.Agent.Contains(table.Agent)) && (string.IsNullOrEmpty(table.ContractType) || x.ContractType.Contains(table.ContractType)) && (string.IsNullOrEmpty(table.Remarks) || x.Remarks.Contains(table.Remarks)) && (string.IsNullOrEmpty(table.CreatUser) || x.CreatUser.Contains(table.CreatUser)) && (string.IsNullOrEmpty(table.ContractCode) || x.ContractCode.Contains(table.ContractCode)) && (string.IsNullOrEmpty(table.IsPassBid) || x.IsPassBid.Contains(table.IsPassBid)) && (string.IsNullOrEmpty(table.PassBidCode) || x.PassBidCode.Contains(table.PassBidCode)) && (string.IsNullOrEmpty(table.BuildUnit) || x.BuildUnit.Contains(table.BuildUnit)) && (string.IsNullOrEmpty(table.NoUseStandardtxtRemark) || x.NoUseStandardtxtRemark.Contains(table.NoUseStandardtxtRemark)) && (string.IsNullOrEmpty(table.EPCCode) || x.EPCCode.Contains(table.EPCCode)) && (string.IsNullOrEmpty(table.ProjectShortName) || x.ProjectShortName.Contains(table.ProjectShortName)) && (string.IsNullOrEmpty(table.ContractAttribute) || x.ContractAttribute.Contains(table.ContractAttribute)) && (string.IsNullOrEmpty(table.ContractAttributeRemark) || x.ContractAttributeRemark.Contains(table.ContractAttributeRemark)) && (string.IsNullOrEmpty(table.ConfirmWay) || x.ConfirmWay.Contains(table.ConfirmWay)) && (string.IsNullOrEmpty(table.SetSubReviewCode) || x.SetSubReviewCode.Contains(table.SetSubReviewCode)) && (string.IsNullOrEmpty(table.ActionPlanCode) || x.ActionPlanCode.Contains(table.ActionPlanCode)) && (string.IsNullOrEmpty(table.SituationRemark) || x.SituationRemark.Contains(table.SituationRemark)) && (string.IsNullOrEmpty(table.OpeningBank_TT) || x.OpeningBank_TT.Contains(table.OpeningBank_TT)) && (string.IsNullOrEmpty(table.OpeningBank_Electrophore) || x.OpeningBank_Electrophore.Contains(table.OpeningBank_Electrophore)) && (string.IsNullOrEmpty(table.BankAccount_TT) || x.BankAccount_TT.Contains(table.BankAccount_TT)) && (string.IsNullOrEmpty(table.BankAccount_Electrophore) || x.BankAccount_Electrophore.Contains(table.BankAccount_Electrophore)) && (string.IsNullOrEmpty(table.LineNumber_Electrophore) || x.LineNumber_Electrophore.Contains(table.LineNumber_Electrophore)) && (string.IsNullOrEmpty(table.Retentionmoney) || x.Retentionmoney.Contains(table.Retentionmoney)) && (string.IsNullOrEmpty(table.CreateDate) || x.CreateDate.Contains(table.CreateDate)) && (string.IsNullOrEmpty(table.Status) || x.Status.Contains(table.Status)) && (table.States == null || x.States==table.States) && (string.IsNullOrEmpty(table.ContactUnitOfPartyA) || x.ContactUnitOfPartyA.Contains(table.ContactUnitOfPartyA)) && (string.IsNullOrEmpty(table.ContactPersonOfPartyA) || x.ContactPersonOfPartyA.Contains(table.ContactPersonOfPartyA)) && (string.IsNullOrEmpty(table.ContactPersonOfPartyB) || x.ContactPersonOfPartyB.Contains(table.ContactPersonOfPartyB)) && (string.IsNullOrEmpty(table.ContactPersonPhoneOfPartyB) || x.ContactPersonPhoneOfPartyB.Contains(table.ContactPersonPhoneOfPartyB)) && (string.IsNullOrEmpty(table.ContactPersonEmailOfPartyB) || x.ContactPersonEmailOfPartyB.Contains(table.ContactPersonEmailOfPartyB)) && (string.IsNullOrEmpty(table.PriceMethod) || x.PriceMethod.Contains(table.PriceMethod)) && (string.IsNullOrEmpty(table.SignedOnDate) || x.SignedOnDate.Contains(table.SignedOnDate)) && (string.IsNullOrEmpty(table.ContractStartDate) || x.ContractStartDate.Contains(table.ContractStartDate)) && (string.IsNullOrEmpty(table.ContractEndDate) || x.ContractEndDate.Contains(table.ContractEndDate)) && (string.IsNullOrEmpty(table.PricingBasis) || x.PricingBasis.Contains(table.PricingBasis)) && (string.IsNullOrEmpty(table.SubcontractingMethod) || x.SubcontractingMethod.Contains(table.SubcontractingMethod)) && (string.IsNullOrEmpty(table.IsItACentralizedPurchaseSupplier) || x.IsItACentralizedPurchaseSupplier.Contains(table.IsItACentralizedPurchaseSupplier)) && (string.IsNullOrEmpty(table.Clause) || x.Clause.Contains(table.Clause)) && (string.IsNullOrEmpty(table.MainContent) || x.MainContent.Contains(table.MainContent)) select x ; return q.ToList(); } /// 获取分页列表 /// /// 页码 /// 每页数量 /// public static IEnumerable getListData(Model.PHTGL_ContractStandingBook table, Grid Grid1) { var q = GetPHTGL_ContractStandingBookByModle(table); count = q.Count(); if (count == 0) { return null; } q= q.Take(Grid1.PageSize * Grid1.PageIndex).Skip(Grid1.PageSize * (Grid1.PageIndex)).ToList(); // q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize); return from x in q select new { x.ContractId, x.ProjectId, x.ContractName, x.ContractNum, x.Parties, x.Currency, x.ContractAmount, x.DepartId, x.Agent, x.ContractType, x.Remarks, x.ApproveState, x.CreatUser, x.ContractCode, x.IsPassBid, x.PassBidCode, x.BuildUnit, x.IsUseStandardtxt, x.NoUseStandardtxtRemark, x.EPCCode, x.ProjectShortName, x.ContractAttribute, x.ContractAttributeRemark, x.ConfirmWay, x.SetSubReviewCode, x.ActionPlanCode, x.SituationRemark, x.OpeningBank_TT, x.OpeningBank_Electrophore, x.BankAccount_TT, x.BankAccount_Electrophore, x.LineNumber_Electrophore, x.Retentionmoney, x.CreateDate, x.Status, x.States, x.ContactUnitOfPartyA, x.ContactPersonOfPartyA, x.ContactPersonOfPartyB, x.ContactPersonPhoneOfPartyB, x.ContactPersonEmailOfPartyB, x.ContractAmountExcludingTax, x.PriceMethod, x.SignedOnDate, x.ContractStartDate, x.ContractEndDate, x.PricingBasis, x.SubcontractingMethod, x.IsItACentralizedPurchaseSupplier, x.Clause, x.MainContent, }; } #endregion /// /// 根据主键获取合同基本信息 /// /// /// public static Model.PHTGL_ContractStandingBook GetContractById(string contractId) { return Funs.DB.PHTGL_ContractStandingBook.FirstOrDefault(e => e.ContractId == contractId); } /// /// 根据总包合同编号 /// /// /// public static Model.PHTGL_ContractStandingBook GetContractByProjectId(string ProjectId) { return Funs.DB.PHTGL_ContractStandingBook.FirstOrDefault(e => e.ProjectId == ProjectId); } /// /// 根据合同编号 /// /// /// public static Model.PHTGL_ContractStandingBook GetContractByContractNum(string ContractNum) { return Funs.DB.PHTGL_ContractStandingBook.FirstOrDefault(e => e.ContractNum == ContractNum); } public static List GetProjectDropDownList() { var list = (from x in Funs.DB.PHTGL_ContractStandingBook join y in Funs.DB.Base_Project on x.ProjectId equals y.ProjectId where x.ApproveState > 0 select y).ToList(); return list; } public static void InitAllProjectCodeDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataValueField = "ProjectId"; dropName.DataTextField = "ProjectCode"; var projectlist = BLL.ContractService.GetProjectDropDownList(); dropName.DataSource = projectlist; dropName.DataBind(); if (projectlist.Count() == 0) { isShowPlease = true; } if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } /// /// 增加合同基本信息 /// /// public static void AddContract(Model.PHTGL_ContractStandingBook newtable) { Model.PHTGL_ContractStandingBook table = new Model.PHTGL_ContractStandingBook { ContractId = newtable.ContractId, ProjectId = newtable.ProjectId, ProjectName= newtable.ProjectName, ProjectCode= newtable.ProjectCode, ContractName = newtable.ContractName, ContractNum = newtable.ContractNum, Parties = newtable.Parties, Currency = newtable.Currency, ContractAmount = newtable.ContractAmount, DepartId = newtable.DepartId, Agent = newtable.Agent, ContractType = newtable.ContractType, Remarks = newtable.Remarks, ApproveState = newtable.ApproveState, CreatUser = newtable.CreatUser, ContractCode = newtable.ContractCode, IsPassBid = newtable.IsPassBid, PassBidCode = newtable.PassBidCode, BuildUnit = newtable.BuildUnit, IsUseStandardtxt = newtable.IsUseStandardtxt, NoUseStandardtxtRemark = newtable.NoUseStandardtxtRemark, EPCCode = newtable.EPCCode, ProjectShortName = newtable.ProjectShortName, ContractAttribute = newtable.ContractAttribute, ContractAttributeRemark = newtable.ContractAttributeRemark, ConfirmWay = newtable.ConfirmWay, SetSubReviewCode = newtable.SetSubReviewCode, ActionPlanCode = newtable.ActionPlanCode, SituationRemark = newtable.SituationRemark, OpeningBank_TT = newtable.OpeningBank_TT, OpeningBank_Electrophore = newtable.OpeningBank_Electrophore, BankAccount_TT = newtable.BankAccount_TT, BankAccount_Electrophore = newtable.BankAccount_Electrophore, LineNumber_Electrophore = newtable.LineNumber_Electrophore, Retentionmoney = newtable.Retentionmoney, CreateDate = newtable.CreateDate, Status = newtable.Status, States = newtable.States, ContactPersonOfPartyA = newtable.ContactPersonOfPartyA, ContactPersonOfPartyB = newtable.ContactPersonOfPartyB, ContactPersonPhoneOfPartyB = newtable.ContactPersonPhoneOfPartyB, ContactPersonEmailOfPartyB = newtable.ContactPersonEmailOfPartyB, ContractAmountExcludingTax = newtable.ContractAmountExcludingTax, PriceMethod = newtable.PriceMethod, SignedOnDate = newtable.SignedOnDate, ContractStartDate = newtable.ContractStartDate, ContractEndDate = newtable.ContractEndDate, PricingBasis = newtable.PricingBasis, SubcontractingMethod = newtable.SubcontractingMethod, IsItACentralizedPurchaseSupplier = newtable.IsItACentralizedPurchaseSupplier, ContactUnitOfPartyA = newtable.ContactUnitOfPartyA, Clause = newtable.Clause, MainContent = newtable.MainContent, }; Funs.DB.PHTGL_ContractStandingBook.InsertOnSubmit(table); Funs.DB.SubmitChanges(); } /// /// 修改合同基本信息 /// /// public static void UpdateContract(Model.PHTGL_ContractStandingBook contract) { Model.PHTGL_ContractStandingBook newContract = Funs.DB.PHTGL_ContractStandingBook.FirstOrDefault(e => e.ContractId == contract.ContractId); if (newContract != null) { newContract.ProjectId = contract.ProjectId; newContract.ProjectName=contract.ProjectName; newContract.ProjectCode=contract.ProjectCode; newContract.ContractCode = contract.ContractCode; newContract.ContractName = contract.ContractName; newContract.ContractNum = contract.ContractNum; newContract.Parties = contract.Parties; newContract.Currency = contract.Currency; newContract.ContractAmount = contract.ContractAmount; newContract.DepartId = contract.DepartId; newContract.Agent = contract.Agent; newContract.ContractType = contract.ContractType; newContract.Remarks = contract.Remarks; newContract.ApproveState = contract.ApproveState; newContract.CreatUser = contract.CreatUser; newContract.IsPassBid = contract.IsPassBid; newContract.PassBidCode = contract.PassBidCode; newContract.BuildUnit = contract.BuildUnit; newContract.EPCCode = contract.EPCCode; newContract.IsUseStandardtxt = contract.IsUseStandardtxt; newContract.NoUseStandardtxtRemark = contract.NoUseStandardtxtRemark; newContract.ProjectShortName = contract.ProjectShortName; newContract.ContractAttribute = contract.ContractAttribute; newContract.ContractAttributeRemark = contract.ContractAttributeRemark; newContract.ConfirmWay = contract.ConfirmWay; newContract.SetSubReviewCode = contract.SetSubReviewCode; newContract.ActionPlanCode = contract.ActionPlanCode; newContract.SituationRemark = contract.SituationRemark; newContract.OpeningBank_TT = contract.OpeningBank_TT; newContract.OpeningBank_Electrophore = contract.OpeningBank_Electrophore; newContract.BankAccount_TT = contract.BankAccount_TT; newContract.BankAccount_Electrophore = contract.BankAccount_Electrophore; newContract.LineNumber_Electrophore = contract.LineNumber_Electrophore; newContract.Retentionmoney = contract.Retentionmoney; newContract.CreateDate = contract.CreateDate; newContract.Status = contract.Status; newContract.States = contract.States; newContract.ContactPersonOfPartyA = contract.ContactPersonOfPartyA; newContract.ContactPersonOfPartyB = contract.ContactPersonOfPartyB; newContract.ContactPersonPhoneOfPartyB = contract.ContactPersonPhoneOfPartyB; newContract.ContactPersonEmailOfPartyB = contract.ContactPersonEmailOfPartyB; newContract.ContractAmountExcludingTax = contract.ContractAmountExcludingTax; newContract.PriceMethod = contract.PriceMethod; newContract.SignedOnDate = contract.SignedOnDate; newContract.ContractStartDate = contract.ContractStartDate; newContract.ContractEndDate = contract.ContractEndDate; newContract.PricingBasis = contract.PricingBasis; newContract.SubcontractingMethod = contract.SubcontractingMethod; newContract.IsItACentralizedPurchaseSupplier = contract.IsItACentralizedPurchaseSupplier; newContract.ContactUnitOfPartyA = contract.ContactUnitOfPartyA; newContract.Clause = contract.Clause; newContract.MainContent = contract.MainContent; Funs.DB.SubmitChanges(); } } /// /// 根据主键删除合同基本信息 /// /// public static void DeleteContractById(string contractId) { Model.PHTGL_ContractStandingBook contract = Funs.DB.PHTGL_ContractStandingBook.FirstOrDefault(e => e.ContractId == contractId); if (contract != null) { Funs.DB.PHTGL_ContractStandingBook.DeleteOnSubmit(contract); Funs.DB.SubmitChanges(); } } public static void AddBulkPHTGL_ContractStandingBook(List newtables) { Funs.DB.PHTGL_ContractStandingBook.InsertAllOnSubmit(newtables); Funs.DB.SubmitChanges(); } } public class ContractStandingBooKDtoIn { /// /// 合同名称 /// [ExcelColumnName("合同名称")] public string ContractName { get; set; } /// /// 合同编号 /// [ExcelColumnName("合同编号")] public string ContractNum { get; set; } [ExcelColumnName("项目名称")] public string ProjectName { get; set; } [ExcelColumnName("项目代码")] public string ProjectCode { get; set; } /// /// 签约方 /// [ExcelColumnName("签约方")] public string Parties { get; set; } /// /// 币种(人民币、美元、欧元、印尼盾) /// [ExcelColumnName("币种")] public string Currency { get; set; } /// /// 合同金额 /// [ExcelColumnName("合同金额")] public string ContractAmount { get; set; } /// /// 合同类型(1-施工总承包分包合同、2-施工专业分包合同、3-上官红劳务分包合同、4-试车服务合同、5-租赁合同) /// [ExcelColumnName("合同类型")] public string ContractType { get; set; } /// /// /// [ExcelColumnName("总承包合同编号")] public string EPCCode { get; set; } /// /// /// [ExcelColumnName("项目名称")] public string ProjectShortName { get; set; } /// /// /// [ExcelColumnName("合同属性")] public string ContractAttribute { get; set; } /// /// /// [ExcelColumnName("开户行电汇")] public string OpeningBankTT { get; set; } /// /// /// [ExcelColumnName("开户行电承")] public string OpeningBankelectrophore { get; set; } /// /// /// [ExcelColumnName("银行账号电汇")] public string BankAccountTT { get; set; } /// /// /// [ExcelColumnName("银行账号电承")] public string BankAccountelectrophore { get; set; } /// /// /// [ExcelColumnName("行号电承")] public string LineNumberelectrophore { get; set; } /// /// /// [ExcelColumnName("质保金")] public string Retentionmoney { get; set; } /// /// 合同状态 /// [ExcelColumnName("合同状态")] public string Status { get; set; } /// /// 甲方联系单位 /// [ExcelColumnName("甲方联系单位")] public string ContactUnitOfPartyA { get; set; } /// /// 甲方联系人 /// [ExcelColumnName("甲方联系人")] public string ContactPersonOfPartyA { get; set; } /// /// 乙方联系人 /// [ExcelColumnName("乙方联系人")] public string ContactPersonOfPartyB { get; set; } /// /// 乙方联系人电话 /// [ExcelColumnName("乙方联系人电话")] public string ContactPersonPhoneOfPartyB { get; set; } /// /// 乙方联系人邮箱 /// [ExcelColumnName("乙方联系人邮箱")] public string ContactPersonEmailOfPartyB { get; set; } /// /// 合同不含税金额 /// [ExcelColumnName("合同不含税金额")] public string ContractAmountExcludingTax { get; set; } /// /// 计价方式 /// [ExcelColumnName("计价方式")] public string PriceMethod { get; set; } /// /// 签订日期 /// [ExcelColumnName("签订日期")] public string SignedOnDate { get; set; } /// /// 合同起始日期 /// [ExcelColumnName("合同起始日期")] public string ContractStartDate { get; set; } /// /// 合同终止日期 /// [ExcelColumnName("合同终止日期")] public string ContractEndDate { get; set; } /// /// 计价依据 /// [ExcelColumnName("计价依据")] public string PricingBasis { get; set; } /// /// 分包模式 1-内部分包,2-外部分包 /// [ExcelColumnName("分包模式")] public string SubcontractingMethod { get; set; } /// /// 乙方是否为集采供应商/分包商 0-否,1-是 /// [ExcelColumnName("乙方是否为集采供应商/分包商")] public string IsItACentralizedPurchaseSupplier { get; set; } } }