修改WBS导入

This commit is contained in:
2023-02-19 12:38:35 +08:00
parent 564cd04a44
commit 74a415d211
2 changed files with 102 additions and 81 deletions
+12
View File
@@ -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(); 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();
} }
/// <summary>
/// 根据分部分项名称和单位工程id获取项目分部分项内容
/// </summary>
/// <param name="workPackageCode"></param>
/// <param name="projectId"></param>
/// <returns></returns>
public static Model.WBS_WorkPackage GetWorkPackageByPackageContent(string packageContent, string unitWorkId)
{
return Funs.DB.WBS_WorkPackage.FirstOrDefault(x => x.PackageContent == packageContent && x.UnitWorkId == unitWorkId);
}
/// <summary> /// <summary>
/// 根据单位工程Id获取所有分部信息 /// 根据单位工程Id获取所有分部信息
/// </summary> /// </summary>
@@ -208,31 +208,34 @@ namespace FineUIPro.Web.CQMS.WBS
} }
else 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)), Model.WBS_WorkPackage newWorkPackage = new 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; WorkPackageId = SQLHelper.GetNewID(typeof(Model.WBS_WorkPackage)),
newWorkPackage.WorkPackageCode = item.WorkPackageCode;
};
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)) if (!string.IsNullOrEmpty(result))
{ {
results += result; results += result;
@@ -393,34 +396,37 @@ namespace FineUIPro.Web.CQMS.WBS
} }
else 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)), Model.WBS_WorkPackage newWorkPackage = new 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; WorkPackageId = SQLHelper.GetNewID(typeof(Model.WBS_WorkPackage)),
newWorkPackage.WorkPackageCode = item.WorkPackageCode;
};
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)) if (!string.IsNullOrEmpty(result))
{ {
result += "第" + (i + 2).ToString() + "行," + "分项输入值有误!" + "|"; 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); Model.WBS_WorkPackageProject workPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(workPackageCode2, this.CurrUser.LoginProjectId);
if (oldWorkPackage == null) //新增内容 if (oldWorkPackage == null) //新增内容
{ {
Model.WBS_WorkPackage newWorkPackage = new Model.WBS_WorkPackage(); if (BLL.WorkPackageService.GetWorkPackageByPackageContent(workPackageProject.PackageContent + "-" + txtName, UnitWorkId) == null) //数据库中不存在同样位号记录
if (workPackageCode != workPackageProject.WorkPackageCode) //循环至新的分部
{ {
workPackageCode = workPackageProject.WorkPackageCode; Model.WBS_WorkPackage newWorkPackage = new Model.WBS_WorkPackage();
var oldWorkPackages = BLL.WorkPackageService.GetWorkPackagesByInitWorkPackageCodeAndUnitWorkId(workPackageCode, UnitWorkId); if (workPackageCode != workPackageProject.WorkPackageCode) //循环至新的分部
if (oldWorkPackages.Count > 0) //该工作包已存在内容 {
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) if (num < 10)
{ {
code = "0" + num.ToString(); code = "0" + num.ToString();
@@ -487,36 +512,20 @@ namespace FineUIPro.Web.CQMS.WBS
code = num.ToString(); code = num.ToString();
} }
} }
else 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;
num = 1; newWorkPackage.ProjectId = this.CurrUser.LoginProjectId;
code = "01"; 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()); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());