diff --git a/SGGL/BLL/CQMS/WBS/WorkPackageService.cs b/SGGL/BLL/CQMS/WBS/WorkPackageService.cs index 40d99246..abe97a70 100644 --- a/SGGL/BLL/CQMS/WBS/WorkPackageService.cs +++ b/SGGL/BLL/CQMS/WBS/WorkPackageService.cs @@ -84,6 +84,18 @@ namespace BLL { return (from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == null && x.UnitWorkId.ToString() == unitWorkId && x.IsApprove == true orderby x.WorkPackageCode select x).ToList(); } + + /// + /// 根据分部分项名称和单位工程id获取项目分部分项内容 + /// + /// + /// + /// + public static Model.WBS_WorkPackage GetWorkPackageByPackageContent(string packageContent, string unitWorkId) + { + return Funs.DB.WBS_WorkPackage.FirstOrDefault(x => x.PackageContent == packageContent && x.UnitWorkId == unitWorkId); + } + /// /// 根据单位工程Id获取所有分部信息 /// diff --git a/SGGL/FineUIPro.Web/CQMS/WBS/WorkPackageSet2In.aspx.cs b/SGGL/FineUIPro.Web/CQMS/WBS/WorkPackageSet2In.aspx.cs index 9c68d8c2..d5d3e983 100644 --- a/SGGL/FineUIPro.Web/CQMS/WBS/WorkPackageSet2In.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/WBS/WorkPackageSet2In.aspx.cs @@ -208,31 +208,34 @@ namespace FineUIPro.Web.CQMS.WBS } else { - Model.WBS_WorkPackage newWorkPackage = new Model.WBS_WorkPackage + if (BLL.WorkPackageService.GetWorkPackageByPackageContent(col0 + "-" + col1 + "-" + col2, UnitWorkId) == null) //数据库中不存在同样位号记录 { - WorkPackageId = SQLHelper.GetNewID(typeof(Model.WBS_WorkPackage)), - - - }; - if (!string.IsNullOrEmpty(col1) && !string.IsNullOrEmpty(col2)) - { - newWorkPackage.SuperWorkPack = col1 + "-" + col2; - } - foreach (var item in workPackageProjects) - { - if (col0 == item.PackageContent) + Model.WBS_WorkPackage newWorkPackage = new Model.WBS_WorkPackage { - newWorkPackage.PackageContent = col0; - newWorkPackage.WorkPackageCode = item.WorkPackageCode; + WorkPackageId = SQLHelper.GetNewID(typeof(Model.WBS_WorkPackage)), + + + }; + if (!string.IsNullOrEmpty(col1) && !string.IsNullOrEmpty(col2)) + { + newWorkPackage.SuperWorkPack = col1 + "-" + col2; + } + foreach (var item in workPackageProjects) + { + if (col0 == item.PackageContent) + { + newWorkPackage.PackageContent = col0; + newWorkPackage.WorkPackageCode = item.WorkPackageCode; + } + + } + if (string.IsNullOrEmpty(newWorkPackage.PackageContent)) + { + result += "第" + (i + 2).ToString() + "行," + "分项输入值有误!" + "|"; } + ViewWorkPackages.Add(newWorkPackage); } - if (string.IsNullOrEmpty(newWorkPackage.PackageContent)) - { - result += "第" + (i + 2).ToString() + "行," + "分项输入值有误!" + "|"; - } - - ViewWorkPackages.Add(newWorkPackage); if (!string.IsNullOrEmpty(result)) { results += result; @@ -393,34 +396,37 @@ namespace FineUIPro.Web.CQMS.WBS } else { - Model.WBS_WorkPackage newWorkPackage = new Model.WBS_WorkPackage + if (BLL.WorkPackageService.GetWorkPackageByPackageContent(col0 + "-" + col1 + "-" + col2, UnitWorkId) == null) //数据库中不存在同样位号记录 { - WorkPackageId = SQLHelper.GetNewID(typeof(Model.WBS_WorkPackage)), - - - }; - if (!string.IsNullOrEmpty(col1) && !string.IsNullOrEmpty(col2)) - { - newWorkPackage.SuperWorkPack = col1 + "-" + col2; - } - foreach (var item in workPackageProjects) - { - if (col0 == item.PackageContent) + Model.WBS_WorkPackage newWorkPackage = new Model.WBS_WorkPackage { - newWorkPackage.PackageContent = col0; - newWorkPackage.WorkPackageCode = item.WorkPackageCode; + WorkPackageId = SQLHelper.GetNewID(typeof(Model.WBS_WorkPackage)), + + + }; + if (!string.IsNullOrEmpty(col1) && !string.IsNullOrEmpty(col2)) + { + newWorkPackage.SuperWorkPack = col1 + "-" + col2; + } + foreach (var item in workPackageProjects) + { + if (col0 == item.PackageContent) + { + newWorkPackage.PackageContent = col0; + newWorkPackage.WorkPackageCode = item.WorkPackageCode; + } + + } + if (string.IsNullOrEmpty(newWorkPackage.PackageContent)) + { + result += "第" + (i + 2).ToString() + "行," + "分项输入值有误!" + "|"; } - } - if (string.IsNullOrEmpty(newWorkPackage.PackageContent)) - { - result += "第" + (i + 2).ToString() + "行," + "分项输入值有误!" + "|"; - } - - ViewWorkPackages.Add(newWorkPackage); - if (!string.IsNullOrEmpty(result)) - { - results += result; + ViewWorkPackages.Add(newWorkPackage); + if (!string.IsNullOrEmpty(result)) + { + results += result; + } } } } @@ -468,16 +474,35 @@ namespace FineUIPro.Web.CQMS.WBS Model.WBS_WorkPackageProject workPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(workPackageCode2, this.CurrUser.LoginProjectId); if (oldWorkPackage == null) //新增内容 { - Model.WBS_WorkPackage newWorkPackage = new Model.WBS_WorkPackage(); - if (workPackageCode != workPackageProject.WorkPackageCode) //循环至新的分部 + if (BLL.WorkPackageService.GetWorkPackageByPackageContent(workPackageProject.PackageContent + "-" + txtName, UnitWorkId) == null) //数据库中不存在同样位号记录 { - workPackageCode = workPackageProject.WorkPackageCode; - var oldWorkPackages = BLL.WorkPackageService.GetWorkPackagesByInitWorkPackageCodeAndUnitWorkId(workPackageCode, UnitWorkId); - if (oldWorkPackages.Count > 0) //该工作包已存在内容 + Model.WBS_WorkPackage newWorkPackage = new Model.WBS_WorkPackage(); + if (workPackageCode != workPackageProject.WorkPackageCode) //循环至新的分部 + { + workPackageCode = workPackageProject.WorkPackageCode; + var oldWorkPackages = BLL.WorkPackageService.GetWorkPackagesByInitWorkPackageCodeAndUnitWorkId(workPackageCode, UnitWorkId); + if (oldWorkPackages.Count > 0) //该工作包已存在内容 + { + var old = oldWorkPackages.First(); + string oldStr = old.WorkPackageCode.Substring(old.WorkPackageCode.Length - 2); + num = Convert.ToInt32(oldStr) + 1; + if (num < 10) + { + code = "0" + num.ToString(); + } + else + { + code = num.ToString(); + } + } + else + { + num = 1; + code = "01"; + } + } + else { - var old = oldWorkPackages.First(); - string oldStr = old.WorkPackageCode.Substring(old.WorkPackageCode.Length - 2); - num = Convert.ToInt32(oldStr) + 1; if (num < 10) { code = "0" + num.ToString(); @@ -487,36 +512,20 @@ namespace FineUIPro.Web.CQMS.WBS code = num.ToString(); } } - else - { - num = 1; - code = "01"; - } + newWorkPackage.WorkPackageId = SQLHelper.GetNewID(typeof(Model.WBS_WorkPackage)); + newWorkPackage.WorkPackageCode = parentWorkPackage.WorkPackageCode + workPackageCode.Substring(workPackageCode.IndexOf(parentWorkPackage.InitWorkPackageCode) + parentWorkPackage.InitWorkPackageCode.Length).Replace("00", "0000") + code; + newWorkPackage.ProjectId = this.CurrUser.LoginProjectId; + newWorkPackage.UnitWorkId = UnitWorkId; + newWorkPackage.PackageContent = workPackageProject.PackageContent + "-" + txtName; + newWorkPackage.SuperWorkPack = workPackageProject.SuperWorkPack; + newWorkPackage.SuperWorkPackageId = WorkPackageId; + newWorkPackage.PackageCode = code; + newWorkPackage.ProjectType = workPackageProject.ProjectType; + newWorkPackage.InitWorkPackageCode = workPackageProject.WorkPackageCode; + newWorkPackage.IsApprove = true; + BLL.WorkPackageService.AddWorkPackage(newWorkPackage); + num++; } - else - { - if (num < 10) - { - code = "0" + num.ToString(); - } - else - { - code = num.ToString(); - } - } - newWorkPackage.WorkPackageId = SQLHelper.GetNewID(typeof(Model.WBS_WorkPackage)); - newWorkPackage.WorkPackageCode = parentWorkPackage.WorkPackageCode + workPackageCode.Substring(workPackageCode.IndexOf(parentWorkPackage.InitWorkPackageCode) + parentWorkPackage.InitWorkPackageCode.Length).Replace("00", "0000") + code; - newWorkPackage.ProjectId = this.CurrUser.LoginProjectId; - newWorkPackage.UnitWorkId = UnitWorkId; - newWorkPackage.PackageContent = workPackageProject.PackageContent + "-" + txtName; - newWorkPackage.SuperWorkPack = workPackageProject.SuperWorkPack; - newWorkPackage.SuperWorkPackageId = WorkPackageId; - newWorkPackage.PackageCode = code; - newWorkPackage.ProjectType = workPackageProject.ProjectType; - newWorkPackage.InitWorkPackageCode = workPackageProject.WorkPackageCode; - newWorkPackage.IsApprove = true; - BLL.WorkPackageService.AddWorkPackage(newWorkPackage); - num++; } } PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());