修改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

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();
}
/// <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>
/// 根据单位工程Id获取所有分部信息
/// </summary>

View File

@ -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());