426 lines
16 KiB
C#
426 lines
16 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;
|
|
}
|
|
}
|
|
}
|
|
}
|