SGGL_SGY/SGGL/FineUIPro.Web/ProjectData/ProjectSetSave.aspx.cs

834 lines
42 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using BLL;
using Model;
using System;
using System.Linq;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Data;
namespace FineUIPro.Web.ProjectData
{
public partial class ProjectSetSave : PageBase
{
/// <summary>
/// 定义项
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
ProjectTypeService.InitProjectTypeDropDownList(this.drpProjectType, true);
CountryService.InitCountryDropDownList(this.drpCountry, true);
ProjectService.ProjectAttributeDropDownList(this.drpProjectAttribute, true);
Funs.FineUIPleaseSelect(this.drpProvince);
this.ProjectId = Request.QueryString["ProjectId"];
///项目经理
UserService.InitUserDropDownList(this.drpProjectManager, string.Empty, true);
///施工经理
UserService.InitUserDropDownList(this.drpConstructionManager, string.Empty, true);
///安全经理
UserService.InitUserDropDownList(this.drpHSSEManager, string.Empty, true);
///质量经理
UserService.InitUserDropDownList(this.drpQAManager, string.Empty, true);
///开车经理
UserService.InitUserDropDownList(this.drpDriveManager, string.Empty, true);
UnitService.InitBranchUnitDropDownList(this.drpUnit, true, true);
ConstValue.InitConstValueDropDownList(this.drpProjectState2, ConstValue.GroupId_ProjectState, true);
this.drpUnit.SelectedValue = Const.UnitId_TCC;
if (!String.IsNullOrEmpty(this.ProjectId))
{
var project = BLL.ProjectService.GetProjectByProjectId(this.ProjectId);
if (project != null)
{
if (!string.IsNullOrEmpty(project.MasterSysId))
{
this.drpMasterBox1.Value = project.MasterSysId;
}
this.txtProjectCode.Text = project.ProjectCode;
this.txtProjectName.Text = project.ProjectName;
this.txtProjectAddress.Text = project.ProjectAddress;
this.txtWorkRange.Text = project.WorkRange;
this.txtContractNo.Text = project.ContractNo;
this.txtRemark.Text = project.Remark;
if (project.Duration != null)
{
this.txtDuration.Text = project.Duration.ToString();
}
if (project.StartDate.HasValue)
{
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", project.StartDate);
}
if (project.EndDate.HasValue)
{
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", project.EndDate);
}
this.txtShortName.Text = project.ShortName;
if (!string.IsNullOrEmpty(project.ProjectType))
{
this.drpProjectType.SelectedValue = project.ProjectType;
}
if (!string.IsNullOrEmpty(value: project.ProjectAttribute))
{
this.drpProjectAttribute.SelectedValue = project.ProjectAttribute;
}
var getPUser = Funs.DB.Project_ProjectUser.Where(x => x.ProjectId == this.ProjectId);
if (getPUser.Count() > 0)
{
///项目经理
var m = getPUser.FirstOrDefault(x => x.RoleId.Contains(BLL.Const.ProjectManager));
if (m != null)
{
this.drpProjectManager.SelectedValue = m.UserId;
}
///施工经理
var c = getPUser.FirstOrDefault(x => x.RoleId.Contains(BLL.Const.ConstructionManager));
if (c != null)
{
this.drpConstructionManager.SelectedValue = c.UserId;
}
////安全经理
var h = getPUser.FirstOrDefault(x => x.RoleId.Contains(BLL.Const.HSSEManager));
if (h != null)
{
this.drpHSSEManager.SelectedValue = h.UserId;
}
////质量经理
var qa = getPUser.FirstOrDefault(x => x.RoleId.Contains(BLL.Const.QAManager));
if (qa != null)
{
this.drpQAManager.SelectedValue = qa.UserId;
}
////开车经理
var Drive = getPUser.FirstOrDefault(x => x.RoleId.Contains(BLL.Const.DriveManager));
if (Drive != null)
{
this.drpDriveManager.SelectedValue = Drive.UserId;
}
}
this.drpProjectState.SelectedValue = project.ProjectState;
if (!string.IsNullOrEmpty(project.ProjectState2))
{
this.drpProjectState2.SelectedValue = project.ProjectState2;
}
//if (project.ProjectState == BLL.Const.ProjectState_2)
//{
// this.txtProjectState.Text = "暂停中";
//}
//else if (project.ProjectState == BLL.Const.ProjectState_3)
//{
// this.txtProjectState.Text = "已完工";
//}
//else
//{
// this.txtProjectState.Text = "施工中";
//}
if (!string.IsNullOrEmpty(project.UnitId))
{
this.drpUnit.SelectedValue = project.UnitId;
}
if (project.IsUpTotalMonth != null)
{
this.ckIsUpTotalMonth.Checked = project.IsUpTotalMonth.Value;
}
if (project.IsForeign == true)
{
this.ckbIsForeign.Checked = true;
}
this.txtMapCoordinates.Text = project.MapCoordinates;
this.txtProjectMoney.Text = project.ProjectMoney.ToString();
if (project.ConstructionMoney != null)
{
this.txtConstructionMoney.Text = project.ConstructionMoney.ToString();
}
this.txtTelephone.Text = project.Telephone;
if (!string.IsNullOrEmpty(project.Country))
{
this.drpCountry.SelectedValue = project.Country;
this.drpProvince.Items.Clear();
CityService.InitCityDropDownList(this.drpProvince, this.drpCountry.SelectedValue, true);
if (!string.IsNullOrEmpty(project.Province))
{
this.drpProvince.SelectedValue = project.Province;
}
}
this.txtCity.Text = project.City;
this.txtEnglishRemark.Text = project.EnglishRemark;
if (project.Progress != null)
{
this.txtProgress.Text = project.Progress.ToString();
}
}
}
}
}
/// <summary>
/// 保存数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
this.SaveData();
ShowNotify("保存数据成功!", MessageBoxIcon.Success);
// 2. 关闭本窗体,然后刷新父窗体
// PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
// 2. 关闭本窗体,然后回发父窗体
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
//PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(wedId) + ActiveWindow.GetHideReference());
}
private void SaveData()
{
Base_Project project = new Base_Project
{
ProjectCode = this.txtProjectCode.Text.Trim(),
ProjectName = Regex.Replace(this.txtProjectName.Text, @"\s", ""),
ProjectAddress = this.txtProjectAddress.Text.Trim(),
WorkRange = this.txtWorkRange.Text.Trim(),
ContractNo = this.txtContractNo.Text.Trim(),
Duration = Funs.GetNewDecimal(this.txtDuration.Text.Trim()),
MapCoordinates = this.txtMapCoordinates.Text.Trim(),
ProjectState = this.drpProjectState.SelectedValue,
ProjectMoney = Funs.GetNewDecimal(this.txtProjectMoney.Text),
ConstructionMoney = Funs.GetNewDecimal(this.txtConstructionMoney.Text),
Remark = this.txtRemark.Text.Trim(),
Telephone = this.txtTelephone.Text.Trim(),
City = this.txtCity.Text.Trim(),
EnglishRemark = this.txtEnglishRemark.Text.Trim(),
Progress = Funs.GetNewDecimal(this.txtProgress.Text),
};
//Country = this.txtCountry.Text.Trim(),
/// Province = this.drpProvince.SelectedValue,
if (this.drpCountry.SelectedValue != Const._Null)
{
project.Country = this.drpCountry.SelectedValue;
}
if (this.drpProvince.SelectedValue != Const._Null && !string.IsNullOrEmpty(this.drpProvince.SelectedValue))
{
project.Province = this.drpProvince.SelectedValue;
}
if (!string.IsNullOrEmpty(txtStartDate.Text.Trim()))
{
project.StartDate = Funs.GetNewDateTime(this.txtStartDate.Text.Trim());
}
if (!string.IsNullOrEmpty(txtEndDate.Text.Trim()))
{
project.EndDate = Funs.GetNewDateTime(this.txtEndDate.Text.Trim());
}
if (!string.IsNullOrWhiteSpace(this.drpMasterBox1.Text))
{
project.MasterSysId = this.drpMasterBox1.Value;
}
project.ShortName = this.txtShortName.Text.Trim();
if (this.drpProjectType.SelectedValue != BLL.Const._Null)
{
project.ProjectType = this.drpProjectType.SelectedValue;
}
if (this.drpProjectAttribute.SelectedValue != BLL.Const._Null)
{
project.ProjectAttribute = this.drpProjectAttribute.SelectedValue;
}
if (this.drpUnit.SelectedValue != BLL.Const._Null)
{
project.UnitId = this.drpUnit.SelectedValue;
}
if (this.drpProjectState2.SelectedValue != BLL.Const._Null)
{
project.ProjectState2 = this.drpProjectState2.SelectedValue;
}
//project.PostCode = this.txtPostCode.Text.Trim();
project.IsUpTotalMonth = Convert.ToBoolean(this.ckIsUpTotalMonth.Checked);
project.IsForeign = Convert.ToBoolean(this.ckbIsForeign.Checked);
if (String.IsNullOrEmpty(this.ProjectId))
{
project.ProjectId = SQLHelper.GetNewID();
project.ProjectState = BLL.Const.ProjectState_1;
this.ProjectId = project.ProjectId;
ProjectService.AddProject(project);
// 初始化焊接环境变量设置
BLL.Project_SysSetService.InsertHjglInit(project.ProjectId);
LogService.AddSys_Log(this.CurrUser, project.ProjectCode, project.ProjectId, BLL.Const.ProjectSetMenuId, BLL.Const.BtnAdd);
}
else
{
var getProject = BLL.ProjectService.GetProjectByProjectId(this.ProjectId);
if (getProject != null)
{
project.FromProjectId = getProject.FromProjectId;
}
project.ProjectId = this.ProjectId;
ProjectService.UpdateProject(project);
LogService.AddSys_Log(this.CurrUser, project.ProjectCode, project.ProjectId, BLL.Const.ProjectSetMenuId, BLL.Const.BtnModify);
}
this.SetProjectManager(project.ProjectId);/// 设置项目、施工、安全经理
this.InsertDataTypeToProject(project.ProjectId);////初始化资料类别数据
this.InsertConstructionStandardListToProject(project.ProjectId); ////初始化项目标准规范清单
this.InsertITPListProject(project.ProjectId); // 初始化ITP列表
this.InsertZT(project); //初始化总图
}
#region id增加资料类别初始化数据
/// <summary>
/// 根据新增项目id增加资料类别初始化数据
/// </summary>
/// <param name="projectId"></param>
private void InsertDataTypeToProject(string projectId)
{
var dataTypeProject = Funs.DB.DataBase_DataTypeProject.FirstOrDefault(x => x.ProjectId == projectId);
if (dataTypeProject == null) //项目还未拷贝资料库数据
{
////增加到项目一级类别
var dataType1 = from x in Funs.DB.DataBase_DataType where x.SuperDataTypeId == "0" select x;
foreach (var d1 in dataType1)
{
if (d1.SuperDataTypeId != Const.DataTypeNewConstructId && d1.DataTypeId != Const.DataTypeConstructId)
{
Model.DataBase_DataTypeProject newDataTypeProject = new Model.DataBase_DataTypeProject();
newDataTypeProject.DataTypeProjectId = SQLHelper.GetNewID(typeof(Model.DataBase_DataTypeProject));
newDataTypeProject.ProjectId = projectId;
newDataTypeProject.DataTypeCode = d1.DataTypeCode;
newDataTypeProject.DataTypeName = d1.DataTypeName;
newDataTypeProject.SuperDataTypeId = "0";
newDataTypeProject.SortIndex = d1.SortIndex;
newDataTypeProject.Pages = d1.Pages;
newDataTypeProject.Remark = d1.Remark;
newDataTypeProject.IsRelatedWBS = d1.IsRelatedWBS;
newDataTypeProject.SourceDataTypeId = d1.DataTypeId;
BLL.DataTypeProjectService.AddDataTypeProject(newDataTypeProject);
List<Model.DataBase_DataType> dataType2 = (from x in Funs.DB.DataBase_DataType where x.SuperDataTypeId == d1.DataTypeId select x).ToList();
if (dataType2.Count() > 0)
{
this.InsertDataTypeDetail(dataType2, newDataTypeProject.DataTypeProjectId, projectId);
}
}
}
}
}
/// <summary>
/// 循环拷贝子级类别
/// </summary>
/// <param name="dataTypes"></param>
private void InsertDataTypeDetail(List<Model.DataBase_DataType> dataTypes, string superDataTypeId, string projectId)
{
foreach (var d in dataTypes)
{
if (d.SuperDataTypeId != Const.DataTypeNewConstructId && d.DataTypeId != Const.DataTypeConstructId)
{
Model.DataBase_DataTypeProject newDataTypeProject = new Model.DataBase_DataTypeProject();
newDataTypeProject.DataTypeProjectId = SQLHelper.GetNewID(typeof(Model.DataBase_DataTypeProject));
newDataTypeProject.ProjectId = projectId;
newDataTypeProject.DataTypeCode = d.DataTypeCode;
newDataTypeProject.DataTypeName = d.DataTypeName;
newDataTypeProject.SuperDataTypeId = superDataTypeId;
newDataTypeProject.SortIndex = d.SortIndex;
newDataTypeProject.Pages = d.Pages;
newDataTypeProject.Remark = d.Remark;
newDataTypeProject.IsRelatedWBS = d.IsRelatedWBS;
newDataTypeProject.SourceDataTypeId = d.DataTypeId;
BLL.DataTypeProjectService.AddDataTypeProject(newDataTypeProject);
List<Model.DataBase_DataType> childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(d.DataTypeId);
if (childDataTypes.Count > 0)
{
InsertDataTypeDetail(childDataTypes, newDataTypeProject.DataTypeProjectId, projectId);
}
}
}
}
#endregion
#region
/// <summary>
/// 验证项目名称、项目编号是否存在
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
var q = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectCode == this.txtProjectCode.Text.Trim() && (x.ProjectId != this.ProjectId || (this.ProjectId == null && x.ProjectId != null)));
if (q != null)
{
ShowNotify("输入的项目编号已存在!", MessageBoxIcon.Warning);
}
var q2 = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectName == this.txtProjectName.Text.Trim() && (x.ProjectId != this.ProjectId || (this.ProjectId == null && x.ProjectId != null)));
if (q2 != null)
{
ShowNotify("输入的项目名称已存在!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 设置项目、施工、安全经理
/// </summary>
/// <param name="projectId"></param>
private void SetProjectManager(string projectId)
{
string newProjectManager = this.drpProjectManager.SelectedValue;
string newConstructionManager = this.drpConstructionManager.SelectedValue;
string newHSSEManager = this.drpHSSEManager.SelectedValue;
string newQAManager = this.drpQAManager.SelectedValue;
string newDriveManager = this.drpDriveManager.SelectedValue;
var project = BLL.ProjectService.GetProjectByProjectId(projectId);
if (project != null)
{
string OldProjectManager = string.Empty; ////项目经理
var m = Funs.DB.Project_ProjectUser.FirstOrDefault(x => x.ProjectId == projectId && x.RoleId.Contains(BLL.Const.ProjectManager));
if (m != null)
{
OldProjectManager = m.UserId;
}
////此人不在项目中
if (!string.IsNullOrEmpty(newProjectManager) && newProjectManager !=Const._Null && newProjectManager != OldProjectManager)
{
BLL.ProjectUserService.DeleteProjectUserByProjectIdUserId(projectId, newProjectManager);
BLL.ProjectUserService.DeleteProjectUserByProjectIdUserId(projectId, OldProjectManager);
var user = BLL.UserService.GetUserByUserId(newProjectManager);
if (user != null && !string.IsNullOrEmpty(user.UnitId))
{
var punit = BLL.ProjectUnitService.GetProjectUnitByUnitIdProjectId(projectId, user.UnitId);
if (punit == null) ///项目单位为空时要增加项目单位
{
Model.Project_ProjectUnit newProjectUnit = new Project_ProjectUnit
{
ProjectId = projectId,
UnitId = user.UnitId,
InTime = System.DateTime.Now
};
BLL.ProjectUnitService.AddProjectUnit(newProjectUnit);
}
Model.Project_ProjectUser newProjectUser = new Model.Project_ProjectUser
{
ProjectId = projectId,
UserId = newProjectManager,
UnitId = user.UnitId,
RoleId = BLL.Const.ProjectManager,
IsPost = true
};
BLL.ProjectUserService.AddProjectUser(newProjectUser);
}
}
////施工经理
string OldConstructionManager = string.Empty;
var c = Funs.DB.Project_ProjectUser.FirstOrDefault(x => x.ProjectId == projectId && x.RoleId.Contains(BLL.Const.ConstructionManager));
if (c != null)
{
OldConstructionManager = c.UserId;
}
////此人不在项目中
if (!string.IsNullOrEmpty(newConstructionManager) && newConstructionManager != Const._Null && newConstructionManager != BLL.Const._Null && newConstructionManager != OldConstructionManager)
{
BLL.ProjectUserService.DeleteProjectUserByProjectIdUserId(projectId, newConstructionManager);
BLL.ProjectUserService.DeleteProjectUserByProjectIdUserId(projectId, OldConstructionManager);
var user = BLL.UserService.GetUserByUserId(newConstructionManager);
if (user != null && !string.IsNullOrEmpty(user.UnitId))
{
var punit = BLL.ProjectUnitService.GetProjectUnitByUnitIdProjectId(projectId, user.UnitId);
if (punit == null) ///项目单位为空时要增加项目单位
{
Model.Project_ProjectUnit newProjectUnit = new Project_ProjectUnit
{
ProjectId = projectId,
UnitId = user.UnitId,
InTime = System.DateTime.Now
};
BLL.ProjectUnitService.AddProjectUnit(newProjectUnit);
}
Model.Project_ProjectUser newProjectUser = new Model.Project_ProjectUser
{
ProjectId = projectId,
UserId = newConstructionManager,
UnitId = user.UnitId,
RoleId = BLL.Const.ConstructionManager,
IsPost = true
};
BLL.ProjectUserService.AddProjectUser(newProjectUser);
}
}
///安全经理
string OldHSSEManager = string.Empty;
var h = Funs.DB.Project_ProjectUser.FirstOrDefault(x => x.ProjectId == projectId && x.RoleId.Contains(BLL.Const.HSSEManager));
if (h != null)
{
OldHSSEManager = h.UserId;
}
////此人不在项目中
if (!string.IsNullOrEmpty(newHSSEManager) && newHSSEManager != BLL.Const._Null && newHSSEManager != OldHSSEManager)
{
BLL.ProjectUserService.DeleteProjectUserByProjectIdUserId(projectId, newHSSEManager);
BLL.ProjectUserService.DeleteProjectUserByProjectIdUserId(projectId, OldHSSEManager);
var user = BLL.UserService.GetUserByUserId(newHSSEManager);
if (user != null && !string.IsNullOrEmpty(user.UnitId))
{
var punit = BLL.ProjectUnitService.GetProjectUnitByUnitIdProjectId(projectId, user.UnitId);
if (punit == null) ///项目单位为空时要增加项目单位
{
Model.Project_ProjectUnit newProjectUnit = new Project_ProjectUnit
{
ProjectId = projectId,
UnitId = user.UnitId,
InTime = System.DateTime.Now
};
BLL.ProjectUnitService.AddProjectUnit(newProjectUnit);
}
Model.Project_ProjectUser newProjectUser = new Model.Project_ProjectUser
{
ProjectId = projectId,
UserId = newHSSEManager,
UnitId = user.UnitId,
RoleId = BLL.Const.HSSEManager,
IsPost = true
};
BLL.ProjectUserService.AddProjectUser(newProjectUser);
}
}
///质量经理
string OldQAManager = string.Empty;
var qa = Funs.DB.Project_ProjectUser.FirstOrDefault(x => x.ProjectId == projectId && x.RoleId.Contains(BLL.Const.QAManager));
if (qa != null)
{
OldQAManager = qa.UserId;
}
////此人不在项目中
if (!string.IsNullOrEmpty(newQAManager) && newQAManager != BLL.Const._Null && newQAManager != OldQAManager)
{
BLL.ProjectUserService.DeleteProjectUserByProjectIdUserId(projectId, newQAManager);
BLL.ProjectUserService.DeleteProjectUserByProjectIdUserId(projectId, OldQAManager);
var user = BLL.UserService.GetUserByUserId(newQAManager);
if (user != null && !string.IsNullOrEmpty(user.UnitId))
{
var punit = BLL.ProjectUnitService.GetProjectUnitByUnitIdProjectId(projectId, user.UnitId);
if (punit == null) ///项目单位为空时要增加项目单位
{
Model.Project_ProjectUnit newProjectUnit = new Project_ProjectUnit
{
ProjectId = projectId,
UnitId = user.UnitId,
InTime = System.DateTime.Now
};
BLL.ProjectUnitService.AddProjectUnit(newProjectUnit);
}
Model.Project_ProjectUser newProjectUser = new Model.Project_ProjectUser
{
ProjectId = projectId,
UserId = newQAManager,
UnitId = user.UnitId,
RoleId = BLL.Const.QAManager,
IsPost = true
};
BLL.ProjectUserService.AddProjectUser(newProjectUser);
}
}
///开车经理
string OldDriveManager = string.Empty;
var Drive = Funs.DB.Project_ProjectUser.FirstOrDefault(x => x.ProjectId == projectId && x.RoleId.Contains(BLL.Const.DriveManager));
if (Drive != null)
{
OldDriveManager = Drive.UserId;
}
////此人不在项目中
if (!string.IsNullOrEmpty(newDriveManager) && newDriveManager != BLL.Const._Null && newDriveManager != OldDriveManager)
{
BLL.ProjectUserService.DeleteProjectUserByProjectIdUserId(projectId, newDriveManager);
BLL.ProjectUserService.DeleteProjectUserByProjectIdUserId(projectId, OldDriveManager);
var user = BLL.UserService.GetUserByUserId(newDriveManager);
if (user != null && !string.IsNullOrEmpty(user.UnitId))
{
var punit = BLL.ProjectUnitService.GetProjectUnitByUnitIdProjectId(projectId, user.UnitId);
if (punit == null) ///项目单位为空时要增加项目单位
{
Model.Project_ProjectUnit newProjectUnit = new Project_ProjectUnit
{
ProjectId = projectId,
UnitId = user.UnitId,
InTime = System.DateTime.Now
};
BLL.ProjectUnitService.AddProjectUnit(newProjectUnit);
}
Model.Project_ProjectUser newProjectUser = new Model.Project_ProjectUser
{
ProjectId = projectId,
UserId = newDriveManager,
UnitId = user.UnitId,
RoleId = BLL.Const.DriveManager,
IsPost = true
};
BLL.ProjectUserService.AddProjectUser(newProjectUser);
}
}
}
}
#endregion
#region id增加标准规范清单初始化数据
/// <summary>
/// 根据新增项目id增加标准规范清单初始化数据
/// </summary>
/// <param name="projectId"></param>
private void InsertConstructionStandardListToProject(string projectId)
{
var constructionStandardListProject = Funs.DB.CQMS_Law_ConstructionStandardListProject.FirstOrDefault(x => x.ProjectId == projectId);
if (constructionStandardListProject == null) //项目还未拷贝标准规范清单数据
{
////增加到项目一级类别
var constructionStandardLists = from x in Funs.DB.CQMS_Law_ConstructionStandardList select x;
foreach (var c in constructionStandardLists)
{
Model.CQMS_Law_ConstructionStandardListProject newConstructionStandardListProject = new Model.CQMS_Law_ConstructionStandardListProject();
newConstructionStandardListProject.StandardCode = c.StandardCode;
newConstructionStandardListProject.ProjectId = projectId;
newConstructionStandardListProject.StandardGrade = c.StandardGrade;
newConstructionStandardListProject.StandardNo = c.StandardNo;
newConstructionStandardListProject.StandardName = c.StandardName;
newConstructionStandardListProject.AttachUrl = c.AttachUrl;
newConstructionStandardListProject.StandardType = c.StandardType;
newConstructionStandardListProject.Memo = c.Memo;
newConstructionStandardListProject.PubDate = c.PubDate;
newConstructionStandardListProject.ImpDate = c.ImpDate;
newConstructionStandardListProject.UseLevel = c.UseLevel;
newConstructionStandardListProject.Status = c.Status;
newConstructionStandardListProject.ReplaceStandard = c.ReplaceStandard;
newConstructionStandardListProject.IsSelected1 = c.IsSelected1;
newConstructionStandardListProject.IsSelected2 = c.IsSelected2;
newConstructionStandardListProject.IsSelected3 = c.IsSelected3;
newConstructionStandardListProject.IsSelected4 = c.IsSelected4;
newConstructionStandardListProject.IsSelected5 = c.IsSelected5;
newConstructionStandardListProject.IsSelected6 = c.IsSelected6;
newConstructionStandardListProject.IsSelected7 = c.IsSelected7;
newConstructionStandardListProject.IsSelected8 = c.IsSelected8;
newConstructionStandardListProject.IsSelected9 = c.IsSelected9;
newConstructionStandardListProject.IsSelected10 = c.IsSelected10;
BLL.ConstructionStandardListProjectService.AddConstructionStandardListProject(newConstructionStandardListProject);
}
}
}
#endregion
#region ITP信息
/// <summary>
/// 添加ITP信息
/// </summary>
/// <param name="iTP"></param>
private void InsertITPListProject(string projectId)
{
var ITPListProject = Funs.DB.CQMS_Foreign_ITPListProject.FirstOrDefault(x => x.ProjectId == projectId);
if (ITPListProject == null) //项目还未拷贝ITP数据
{
string strSql = @"insert into dbo.CQMS_Foreign_ITPListProject(ITPListId,ProjectId,Name,AttachUrl,CompileMan,CompileDate)
select NEWID(),'" + projectId + "',ITPName,'',CompileMan,CompileDate from dbo.CQMS_Foreign_ITPList";
BLL.SQLHelper.ExecutSql(strSql);
}
}
#endregion
#region
private void InsertZT(Model.Base_Project project)
{
var zt = Funs.DB.Project_Installation.FirstOrDefault(x => x.ProjectId == project.ProjectId && x.InstallationCode == "ZT");
if (zt == null)
{
Model.Project_Installation installation = new Project_Installation();
installation.InstallationId = SQLHelper.GetNewID(typeof(Model.Project_Installation));
installation.ProjectId = project.ProjectId;
installation.InstallationCode = "ZT";
installation.InstallationName = "总图";
installation.SuperInstallationId = "0";
installation.StartDate = project.StartDate;
installation.EndDate = project.EndDate;
BLL.Project_InstallationService.AddInstallation(installation);
// 拷贝总图专业下WBS内容
//拷贝单位工程及子单位工程
var unitProjectInits = from x in Funs.DB.Wbs_UnitProjectInit where x.CnProfessionId == 20 orderby x.SuperUnitProject select x;
foreach (var unitProjectInit in unitProjectInits)
{
Model.Wbs_UnitProject unitProject = new Model.Wbs_UnitProject();
unitProject.UnitProjectId = SQLHelper.GetNewID(typeof(Model.Wbs_UnitProject));
unitProject.UnitProjectCode = unitProjectInit.UnitProjectCode;
unitProject.UnitProjectName = unitProjectInit.UnitProjectName;
if (unitProjectInit.SuperUnitProject == null)
{
unitProject.SuperUnitProjectId = null;
}
else
{
unitProject.SuperUnitProjectId = (from x in Funs.DB.Wbs_UnitProject
where x.UnitProjectCode == unitProjectInit.SuperUnitProject && x.InstallationId == installation.InstallationId
select x.UnitProjectId).FirstOrDefault();
}
unitProject.InstallationId = installation.InstallationId;
unitProject.ProjectId = project.ProjectId;
unitProject.StartDate = project.StartDate;
unitProject.EndDate = project.EndDate;
unitProject.Remark = unitProjectInit.Remark;
unitProject.IsIn = true;
BLL.UnitProjectService.AddUnitProject(unitProject);
}
//拷贝分部/子分部/分项/子分项
var wbsSetInits = (from x in Funs.DB.WBS_WbsSetInit where x.CnProfessionId == 20 orderby x.SuperWbsSetCode select x).ToList();
foreach (var wbsSetInit in wbsSetInits)
{
Model.Wbs_WbsSet wbsSet = new Model.Wbs_WbsSet();
wbsSet.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet));
wbsSet.WbsSetCode = wbsSetInit.WbsSetCode;
wbsSet.WbsSetName = wbsSetInit.WbsSetName;
wbsSet.InstallationId = installation.InstallationId;
wbsSet.UnitProjectId = (from x in Funs.DB.Wbs_UnitProject where x.UnitProjectCode == wbsSetInit.UnitProjectCode && x.InstallationId == installation.InstallationId select x.UnitProjectId).FirstOrDefault();
if (wbsSetInit.SuperWbsSetCode == null)
{
wbsSet.SuperWbsSetId = null;
}
else
{
wbsSet.SuperWbsSetId = (from x in Funs.DB.Wbs_WbsSet
where x.WbsSetCode == wbsSetInit.SuperWbsSetCode && x.InstallationId == installation.InstallationId
select x.WbsSetId).FirstOrDefault();
}
wbsSet.ProjectId = project.ProjectId;
wbsSet.StartDate = project.StartDate;
wbsSet.EndDate = project.EndDate;
wbsSet.Flag = wbsSetInit.Flag;
wbsSet.Way = wbsSetInit.Way;
wbsSet.ControlItemDef = wbsSetInit.ControlItemDef;
wbsSet.ControlPoint = wbsSetInit.ControlPoint;
wbsSet.Remark = wbsSetInit.Remark;
wbsSet.IsIn = true;
BLL.WbsSetService.AddWbsSet(wbsSet);
}
}
}
#endregion
protected void txtStartDate_Blur(object sender, EventArgs e)
{
var sDate = Funs.GetNewDateTime(this.txtStartDate.Text);
var eDate = Funs.GetNewDateTime(this.txtEndDate.Text);
if (sDate.HasValue && eDate.HasValue && eDate.Value > sDate.Value)
{
int m1 = sDate.Value.Year * 12 + sDate.Value.Month;
int m2 = eDate.Value.Year * 12 + eDate.Value.Month;
int a = m2 - m1;
TimeSpan ts1 = new TimeSpan(sDate.Value.Ticks);
TimeSpan ts2 = new TimeSpan(eDate.Value.AddMonths(0 - a).Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
this.txtDuration.Text = (Math.Round((ts.Days * 1.0 / 30), 1) + a).ToString();
}
}
protected void drpCountry_SelectedIndexChanged(object sender, EventArgs e)
{
this.drpProvince.Items.Clear();
CityService.InitCityDropDownList(this.drpProvince, this.drpCountry.SelectedValue, true);
}
#region
/// <summary>
/// 上传附件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttachUrl_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(ProjectId))
{
SaveData();
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/ProjectAttachUrl&menuId={1}", this.ProjectId, BLL.Const.SeverProjectSetMenuId)));
}
#endregion
private void BindGrid()
{
var list = ProjectService.GetMasterProjectInfos();
string code = ttbCodeSearch.Text.Trim();
string name = ttbNameSearch.Text.Trim();
if (!string.IsNullOrWhiteSpace(code))
{
list = list.Where(x => x.PrjCode.Contains(code)).ToList();
}
if (!string.IsNullOrWhiteSpace(name))
{
list = list.Where(x => x.PrjName.Contains(name)).ToList();
}
// 1.设置总项数特别注意数据库分页一定要设置总记录数RecordCount
Grid1.RecordCount = list.Count();
// 2.获取当前分页数据
DataTable table = Funs.LINQToDataTable(list);
// 3.绑定到Grid
Grid1.DataSource = table;
Grid1.DataBind();
}
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
protected void ttbCodeSearch_Trigger1Click(object sender, EventArgs e)
{
ttbCodeSearch.Text = string.Empty;
ttbCodeSearch.ShowTrigger1 = false;
BindGrid();
}
protected void ttbCodeSearch_Trigger2Click(object sender, EventArgs e)
{
ttbCodeSearch.ShowTrigger1 = true;
BindGrid();
}
protected void ttbNameSearch_Trigger1Click(object sender, EventArgs e)
{
ttbNameSearch.Text = string.Empty;
ttbNameSearch.ShowTrigger1 = false;
BindGrid();
}
protected void ttbNameSearch_Trigger2Click(object sender, EventArgs e)
{
ttbNameSearch.ShowTrigger1 = true;
BindGrid();
}
}
}