431 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			431 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Linq;
 | |
| using System.Text;
 | |
| using System.Collections;
 | |
| using System.Web.UI.WebControls;
 | |
| 
 | |
| namespace BLL
 | |
| {
 | |
|     public class BreakdownProjectService
 | |
|     {
 | |
|         public static Model.SGGLDB db = Funs.DB;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 记录数
 | |
|         /// </summary>
 | |
|         public static int count
 | |
|         {
 | |
|             get;
 | |
|             set;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 记录数2
 | |
|         /// </summary>
 | |
|         public static int count2
 | |
|         {
 | |
|             get;
 | |
|             set;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 记录数3
 | |
|         /// </summary>
 | |
|         public static int count3
 | |
|         {
 | |
|             get;
 | |
|             set;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 定义变量
 | |
|         /// </summary>                  
 | |
|         private static IQueryable<Model.WBS_BreakdownProject> qq = from x in db.WBS_BreakdownProject orderby x.SortIndex select x;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取项目列表
 | |
|         /// </summary>
 | |
|         /// <param name="searchItem"></param>
 | |
|         /// <param name="searchValue"></param>
 | |
|         /// <param name="startRowIndex"></param>
 | |
|         /// <param name="maximumRows"></param>
 | |
|         /// <returns></returns>
 | |
|         public static IEnumerable getListData(string projectId, string divisionProjectId, string name, int startRowIndex, int maximumRows)
 | |
|         {
 | |
|             IQueryable<Model.WBS_BreakdownProject> q = qq;
 | |
|             if (!string.IsNullOrEmpty(projectId))
 | |
|             {
 | |
|                 q = q.Where(e => e.ProjectId == projectId);
 | |
|             }
 | |
|             if (!string.IsNullOrEmpty(divisionProjectId))
 | |
|             {
 | |
|                 q = q.Where(e => e.DivisionProjectId == divisionProjectId);
 | |
|             }
 | |
|             if (!string.IsNullOrEmpty(name))
 | |
|             {
 | |
|                 q = q.Where(e => e.BreakdownName.Contains(name));
 | |
|             }
 | |
|             count = q.Count();
 | |
|             if (count == 0)
 | |
|             {
 | |
|                 return new object[] { "" };
 | |
|             }
 | |
|             return from x in q.Skip(startRowIndex).Take(maximumRows)
 | |
|                    select new
 | |
|                    {
 | |
|                        x.BreakdownProjectId,
 | |
|                        x.BreakdownCode,
 | |
|                        x.BreakdownName,
 | |
|                        x.DivisionProjectId,
 | |
|                        x.Basis,
 | |
|                        x.CheckPoints,
 | |
|                        x.RecordAndCode,
 | |
|                        x.Class,
 | |
|                        x.Remark,
 | |
|                        x.FenBao,
 | |
|                        x.YeZhu,
 | |
|                        x.WuHuan,
 | |
|                        x.JianLi,
 | |
|                        CheckPointsDef = Funs.GetSubStr(x.CheckPoints, 15),
 | |
|                        RecordAndCodeDef = Funs.GetSubStr(x.RecordAndCode, 15),
 | |
|                        x.AttachUrl,
 | |
|                        x.ModelURL
 | |
|                    };
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取列表数
 | |
|         /// </summary>
 | |
|         /// <param name="searchItem"></param>
 | |
|         /// <param name="searchValue"></param>
 | |
|         /// <returns></returns>
 | |
|         public static int getListCount(string projectId, string divisionProjectId, string name)
 | |
|         {
 | |
|             return count;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 定义变量
 | |
|         /// </summary>                  
 | |
|         private static IQueryable<Model.View_WBS> qq2 = from x in db.View_WBS select x;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取项目已选择的WBS列表
 | |
|         /// </summary>
 | |
|         /// <param name="searchItem"></param>
 | |
|         /// <param name="searchValue"></param>
 | |
|         /// <param name="startRowIndex"></param>
 | |
|         /// <param name="maximumRows"></param>
 | |
|         /// <returns></returns>
 | |
|         public static IEnumerable getListData2(string projectId, int startRowIndex, int maximumRows)
 | |
|         {
 | |
|             IQueryable<Model.View_WBS> q = qq2;
 | |
|             if (!string.IsNullOrEmpty(projectId))
 | |
|             {
 | |
|                 q = q.Where(e => e.ProjectId == projectId);
 | |
|             }
 | |
|             count2 = q.Count();
 | |
|             if (count2 == 0)
 | |
|             {
 | |
|                 return new object[] { "" };
 | |
|             }
 | |
|             return from x in q.Skip(startRowIndex).Take(maximumRows)
 | |
|                    select new
 | |
|                    {
 | |
|                        x.ProfessionalName,
 | |
|                        x.DivisionName3,
 | |
|                        x.DivisionName2,
 | |
|                        x.DivisionName1,
 | |
|                        x.ProjectId,
 | |
|                        x.BreakdownCode,
 | |
|                        x.BreakdownName,
 | |
|                        x.Basis,
 | |
|                        x.CheckPoints,
 | |
|                        x.RecordAndCode,
 | |
|                        x.Class,
 | |
|                        x.Remark,
 | |
| 
 | |
| 
 | |
|                    };
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取列表数
 | |
|         /// </summary>
 | |
|         /// <param name="searchItem"></param>
 | |
|         /// <param name="searchValue"></param>
 | |
|         /// <returns></returns>
 | |
|         public static int getListCount2(string projectId)
 | |
|         {
 | |
|             return count2;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 定义变量
 | |
|         /// </summary>                  
 | |
|         private static IQueryable<Model.View_WBS_BreakdownProject> qq3 = from x in db.View_WBS_BreakdownProject orderby x.SortIndex select x;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取项目列表
 | |
|         /// </summary>
 | |
|         /// <param name="searchItem"></param>
 | |
|         /// <param name="searchValue"></param>
 | |
|         /// <param name="startRowIndex"></param>
 | |
|         /// <param name="maximumRows"></param>
 | |
|         /// <returns></returns>
 | |
|         public static IEnumerable getListData3(string projectId, string divisionProjectId, string name, int startRowIndex, int maximumRows)
 | |
|         {
 | |
|             IQueryable<Model.View_WBS_BreakdownProject> q = qq3;
 | |
|             if (!string.IsNullOrEmpty(projectId))
 | |
|             {
 | |
|                 q = q.Where(e => e.ProjectId == projectId);
 | |
|             }
 | |
|             if (!string.IsNullOrEmpty(divisionProjectId))
 | |
|             {
 | |
|                 q = q.Where(e => e.DivisionProjectId == divisionProjectId);
 | |
|             }
 | |
|             if (!string.IsNullOrEmpty(name))
 | |
|             {
 | |
|                 q = q.Where(e => e.BreakdownName.Contains(name));
 | |
|             }
 | |
|             count3 = q.Count();
 | |
|             if (count3 == 0)
 | |
|             {
 | |
|                 return new object[] { "" };
 | |
|             }
 | |
|             return from x in q.Skip(startRowIndex).Take(maximumRows)
 | |
|                    select new
 | |
|                    {
 | |
|                        x.BreakdownProjectId,
 | |
|                        x.BreakdownCode,
 | |
|                        x.BreakdownName,
 | |
|                        x.DivisionProjectId,
 | |
|                        x.Basis,
 | |
|                        x.CheckPoints,
 | |
|                        x.RecordAndCode,
 | |
|                        x.Class,
 | |
|                        x.Remark,
 | |
|                        x.FenBao,
 | |
|                        x.YeZhu,
 | |
|                        x.WuHuan,
 | |
|                        x.JianLi,
 | |
|                        CheckPointsDef = Funs.GetSubStr(x.CheckPoints, 15),
 | |
|                        RecordAndCodeDef = Funs.GetSubStr(x.RecordAndCode, 15),
 | |
|                        x.AttachUrl,
 | |
|                    };
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取列表数
 | |
|         /// </summary>
 | |
|         /// <param name="searchItem"></param>
 | |
|         /// <param name="searchValue"></param>
 | |
|         /// <returns></returns>
 | |
|         public static int getListCount3(string projectId, string divisionProjectId, string name)
 | |
|         {
 | |
|             return count3;
 | |
|         }
 | |
| 
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 添加分项
 | |
|         /// </summary>
 | |
|         /// <param name="Installation"></param>
 | |
|         public static void AddBreakdownProject(Model.WBS_BreakdownProject breakdownProject)
 | |
|         {
 | |
|             Model.SGGLDB db = Funs.DB;
 | |
|             Model.WBS_BreakdownProject newBreakdownProject = new Model.WBS_BreakdownProject();
 | |
| 
 | |
|             newBreakdownProject.BreakdownProjectId = breakdownProject.BreakdownProjectId;
 | |
|             newBreakdownProject.ProjectId = breakdownProject.ProjectId;
 | |
|             newBreakdownProject.BreakdownCode = breakdownProject.BreakdownCode;
 | |
|             newBreakdownProject.BreakdownName = breakdownProject.BreakdownName;
 | |
|             newBreakdownProject.DivisionProjectId = breakdownProject.DivisionProjectId;
 | |
|             newBreakdownProject.Basis = breakdownProject.Basis;
 | |
|             newBreakdownProject.CheckPoints = breakdownProject.CheckPoints;
 | |
|             newBreakdownProject.RecordAndCode = breakdownProject.RecordAndCode;
 | |
|             newBreakdownProject.Class = breakdownProject.Class;
 | |
|             newBreakdownProject.SortIndex = breakdownProject.SortIndex;
 | |
|             newBreakdownProject.Remark = breakdownProject.Remark;
 | |
|             newBreakdownProject.AttachUrl = breakdownProject.AttachUrl;
 | |
|             newBreakdownProject.ModelURL = breakdownProject.ModelURL;
 | |
|             newBreakdownProject.UnitWorkId = breakdownProject.UnitWorkId;
 | |
|             newBreakdownProject.IsAcceptance = breakdownProject.IsAcceptance;
 | |
|             newBreakdownProject.CompileMan = breakdownProject.CompileMan;
 | |
|             newBreakdownProject.CompileDate = breakdownProject.CompileDate;
 | |
|             newBreakdownProject.IsYellow = breakdownProject.IsYellow;
 | |
|             newBreakdownProject.WuHuan = breakdownProject.WuHuan;
 | |
|             newBreakdownProject.JianLi = breakdownProject.JianLi;
 | |
|             newBreakdownProject.YeZhu = breakdownProject.YeZhu;
 | |
|             newBreakdownProject.FenBao = breakdownProject.FenBao;
 | |
|             newBreakdownProject.SourceBreakdownId = breakdownProject.SourceBreakdownId;
 | |
|             newBreakdownProject.CheckAcceptType = breakdownProject.CheckAcceptType;
 | |
| 
 | |
|             db.WBS_BreakdownProject.InsertOnSubmit(newBreakdownProject);
 | |
|             db.SubmitChanges();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 修改分项
 | |
|         /// </summary>
 | |
|         /// <param name="breakdownProject"></param>
 | |
|         public static void UpdateBreakdownProject(Model.WBS_BreakdownProject breakdownProject)
 | |
|         {
 | |
|             Model.SGGLDB db = Funs.DB;
 | |
|             Model.WBS_BreakdownProject newBreakdownProject = db.WBS_BreakdownProject.First(e => e.BreakdownProjectId == breakdownProject.BreakdownProjectId);
 | |
|             newBreakdownProject.BreakdownCode = breakdownProject.BreakdownCode;
 | |
|             newBreakdownProject.BreakdownName = breakdownProject.BreakdownName;
 | |
|             newBreakdownProject.DivisionProjectId = breakdownProject.DivisionProjectId;
 | |
|             newBreakdownProject.Basis = breakdownProject.Basis;
 | |
|             newBreakdownProject.CheckPoints = breakdownProject.CheckPoints;
 | |
|             newBreakdownProject.RecordAndCode = breakdownProject.RecordAndCode;
 | |
|             newBreakdownProject.Class = breakdownProject.Class;
 | |
|             newBreakdownProject.SortIndex = breakdownProject.SortIndex;
 | |
|             newBreakdownProject.Remark = breakdownProject.Remark;
 | |
|             newBreakdownProject.AttachUrl = breakdownProject.AttachUrl;
 | |
|             newBreakdownProject.IsSelected = breakdownProject.IsSelected;
 | |
|             newBreakdownProject.WuHuan = breakdownProject.WuHuan;
 | |
|             newBreakdownProject.JianLi = breakdownProject.JianLi;
 | |
|             newBreakdownProject.YeZhu = breakdownProject.YeZhu;
 | |
|             newBreakdownProject.FenBao = breakdownProject.FenBao;
 | |
|             newBreakdownProject.CheckAcceptType = breakdownProject.CheckAcceptType;
 | |
|             db.SubmitChanges();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据一个分项信息
 | |
|         /// </summary>
 | |
|         /// <param name="breakdownCode"></param>
 | |
|         public static void DeleteBreakdown(string breakdownProjectId)
 | |
|         {
 | |
|             Model.SGGLDB db = Funs.DB;
 | |
|             Model.WBS_BreakdownProject breakdownProject = db.WBS_BreakdownProject.First(e => e.BreakdownProjectId == breakdownProjectId);
 | |
|             db.WBS_BreakdownProject.DeleteOnSubmit(breakdownProject);
 | |
|             db.SubmitChanges();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据一个子分部信息删除所有对应分项信息
 | |
|         /// </summary>
 | |
|         /// <param name="breakdownCode"></param>
 | |
|         public static void DeleteAllBreakdown(string divisionProjectId)
 | |
|         {
 | |
|             Model.SGGLDB db = Funs.DB;
 | |
|             var q = from x in db.WBS_BreakdownProject where x.DivisionProjectId == divisionProjectId select x;
 | |
|             if (q.Count() > 0)
 | |
|             {
 | |
|                 db.WBS_BreakdownProject.DeleteAllOnSubmit(q);
 | |
|                 db.SubmitChanges();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据一个单位工程信息删除所有对应分项信息
 | |
|         /// </summary>
 | |
|         /// <param name="breakdownCode"></param>
 | |
|         public static void DeleteAllBreakdownByUnitWorkId(string unitWorkId)
 | |
|         {
 | |
|             Model.SGGLDB db = Funs.DB;
 | |
|             var q = from x in db.WBS_BreakdownProject where x.UnitWorkId == unitWorkId select x;
 | |
|             db.WBS_BreakdownProject.DeleteAllOnSubmit(q);
 | |
|             db.SubmitChanges();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取施工分项项
 | |
|         /// </summary>
 | |
|         /// <returns></returns>
 | |
|         public static ListItem[] GetBreakdownNameList()
 | |
|         {
 | |
|             var q = (from x in Funs.DB.WBS_BreakdownProject orderby x.SortIndex select x).ToList();
 | |
|             ListItem[] list = new ListItem[q.Count()];
 | |
|             for (int i = 0; i < q.Count(); i++)
 | |
|             {
 | |
|                 list[i] = new ListItem(q[i].BreakdownName ?? "", q[i].BreakdownProjectId.ToString());
 | |
|             }
 | |
|             return list;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据主键返回一个分项信息
 | |
|         /// </summary>
 | |
|         /// <param name="cnProfessionalCode">分项编号</param>
 | |
|         /// <returns></returns>
 | |
|         public static Model.WBS_BreakdownProject GetBreakdownProjectById(string breakdownProjectId)
 | |
|         {
 | |
|             return Funs.DB.WBS_BreakdownProject.FirstOrDefault(x => x.BreakdownProjectId == breakdownProjectId);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据子分部Id返回所有分项信息
 | |
|         /// </summary>
 | |
|         /// <param name="cnProfessionalCode">分项编号</param>
 | |
|         /// <returns></returns>
 | |
|         public static List<Model.WBS_BreakdownProject> GetBreakdownProjectsByDivisionProjectId(string divisionProjectId)
 | |
|         {
 | |
|             return (from x in Funs.DB.WBS_BreakdownProject where x.DivisionProjectId == divisionProjectId select x).ToList();
 | |
|         }
 | |
|         public static List<Model.WBS_BreakdownProject> GetBreakdownProjectsBySourceBreakdownId(string projectId, string unitWorkId, string sourceBreakdownId)
 | |
|         {
 | |
|             if (!string.IsNullOrEmpty(sourceBreakdownId))
 | |
|             {
 | |
|                 string[] ids = sourceBreakdownId.Split(',');
 | |
|                 return (from x in Funs.DB.WBS_BreakdownProject where x.ProjectId == projectId && x.UnitWorkId == unitWorkId && ids.Contains(x.SourceBreakdownId) select x).ToList();
 | |
| 
 | |
|             }
 | |
|             return (from x in Funs.DB.WBS_BreakdownProject where x.ProjectId == projectId && x.UnitWorkId == unitWorkId && x.SourceBreakdownId == sourceBreakdownId select x).ToList();
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 根据单元Id返回所有分项信息
 | |
|         /// </summary>
 | |
|         /// <param name="cnProfessionalCode">分项编号</param>
 | |
|         /// <returns></returns>
 | |
|         public static List<Model.WBS_BreakdownProject> GetBreakdownProjectsByInstallationId(string unitWorkId)
 | |
|         {
 | |
|             return (from x in Funs.DB.WBS_BreakdownProject where x.UnitWorkId == unitWorkId select x).ToList();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 判断分项编号是否存在
 | |
|         /// </summary>
 | |
|         /// <param name="breakdownCode"></param>
 | |
|         /// <returns></returns>
 | |
|         public static bool IsExistBreakdownCode(string breakdownCode, string breakdownProjectId)
 | |
|         {
 | |
|             Model.WBS_BreakdownProject m = Funs.DB.WBS_BreakdownProject.FirstOrDefault(e => e.BreakdownCode == breakdownCode && e.BreakdownProjectId != breakdownProjectId);
 | |
|             if (m != null)
 | |
|             {
 | |
|                 return true;
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 return false;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 判断分项名称是否存在
 | |
|         /// </summary>
 | |
|         /// <param name="professionalName"></param>
 | |
|         /// <returns></returns>
 | |
|         public static bool IsExistProfessionalName(string breakdownName, string breakdownProjectId)
 | |
|         {
 | |
|             Model.WBS_BreakdownProject m = Funs.DB.WBS_BreakdownProject.FirstOrDefault(e => e.BreakdownName == breakdownName && e.BreakdownProjectId != breakdownProjectId);
 | |
|             if (m != null)
 | |
|             {
 | |
|                 return true;
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 return false;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public static Model.WBS_BreakdownProject GetBreakdownProjectByName(string divisionProjectId, string breakdownName)
 | |
|         {
 | |
|             return Funs.DB.WBS_BreakdownProject.FirstOrDefault(x => x.DivisionProjectId == divisionProjectId && x.BreakdownName == breakdownName);
 | |
|         }
 | |
|     }
 | |
| }
 |