359 lines
16 KiB
C#
359 lines
16 KiB
C#
using BLL;
|
||
using Model;
|
||
using System;
|
||
using System.Data;
|
||
using System.Linq;
|
||
using System.Text.RegularExpressions;
|
||
|
||
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);
|
||
ProjectTypeService.InitProvinceDropDownList(this.drpProvince, true);
|
||
this.ProjectId = Request.QueryString["ProjectId"];
|
||
|
||
UnitService.InitBranchUnitDropDownList(this.drpUnit, true, true);
|
||
BindGrid();
|
||
this.drpUnit.SelectedValue = Const.UnitId_SEDIN;
|
||
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(project.UnitId))
|
||
{
|
||
this.drpUnit.SelectedValue = project.UnitId;
|
||
}
|
||
this.initProjectRoles();
|
||
///项目经理
|
||
this.drpProjectManager.SelectedValue = SitePerson_PersonService.GetPersonIdByProjectIdRoleID(this.ProjectId, Const.ProjectManager);
|
||
///施工经理
|
||
this.drpConstructionManager.SelectedValue = SitePerson_PersonService.GetPersonIdByProjectIdRoleID(this.ProjectId, Const.ConstructionManager);
|
||
////安全经理
|
||
this.drpHSSEManager.SelectedValue = SitePerson_PersonService.GetPersonIdByProjectIdRoleID(this.ProjectId, Const.HSSEManager);
|
||
|
||
this.drpProjectState.SelectedValue = project.ProjectState;
|
||
|
||
|
||
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();
|
||
this.txtConstructionMoney.Text = project.ConstructionMoney.ToString();
|
||
this.txtTelephone.Text = project.Telephone;
|
||
this.txtCountry.Text = project.Country;
|
||
if (!string.IsNullOrEmpty(project.Province))
|
||
{
|
||
this.drpProvince.SelectedValue = project.Province;
|
||
}
|
||
this.txtCity.Text = project.City;
|
||
this.txtEnglishRemark.Text = project.EnglishRemark;
|
||
this.txtProjectRealCode.Text = project.ProjectRealCode;
|
||
if (project.IsCNCECShow == true)
|
||
{
|
||
this.rbIsCNCECShow.SelectedValue = "True";
|
||
}
|
||
else
|
||
{
|
||
this.rbIsCNCECShow.SelectedValue = "False";
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
this.initProjectRoles();
|
||
}
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 保存数据
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnSave_Click(object sender, EventArgs e)
|
||
{
|
||
if (!this.ckbIsForeign.Checked)
|
||
{
|
||
if (this.drpProvince.SelectedValue == BLL.Const._Null)
|
||
{
|
||
ShowNotify("请选择省份!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
}
|
||
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(),
|
||
Country = this.txtCountry.Text.Trim(),
|
||
City = this.txtCity.Text.Trim(),
|
||
EnglishRemark = this.txtEnglishRemark.Text.Trim(),
|
||
ProjectRealCode = this.txtProjectRealCode.Text.Trim(),
|
||
IsCNCECShow = Convert.ToBoolean(this.rbIsCNCECShow.SelectedValue),
|
||
};
|
||
if (!string.IsNullOrWhiteSpace(this.drpMasterBox1.Text))
|
||
{
|
||
project.MasterSysId = this.drpMasterBox1.Value;
|
||
}
|
||
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());
|
||
}
|
||
|
||
project.ShortName = this.txtShortName.Text.Trim();
|
||
if (this.drpProjectType.SelectedValue != BLL.Const._Null)
|
||
{
|
||
project.ProjectType = this.drpProjectType.SelectedValue;
|
||
}
|
||
if (this.drpProvince.SelectedValue != BLL.Const._Null)
|
||
{
|
||
project.Province = this.drpProvince.SelectedValue;
|
||
}
|
||
if (this.drpUnit.SelectedValue != BLL.Const._Null)
|
||
{
|
||
project.UnitId = this.drpUnit.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);/// 设置项目、施工、安全经理
|
||
ShowNotify("保存数据成功!", MessageBoxIcon.Success);
|
||
// 2. 关闭本窗体,然后刷新父窗体
|
||
// PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
|
||
// 2. 关闭本窗体,然后回发父窗体
|
||
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(Request.Params["PageIndex"] + "," + Request.Params["PageSize"]) + ActiveWindow.GetHidePostBackReference());
|
||
//PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(wedId) + ActiveWindow.GetHideReference());
|
||
|
||
}
|
||
|
||
#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)
|
||
{
|
||
////项目经理
|
||
SitePerson_PersonService.SaveSitePersonProjectRole(projectId, Const.ProjectManager, this.drpProjectManager.SelectedValue);
|
||
////施工经理
|
||
SitePerson_PersonService.SaveSitePersonProjectRole(projectId, Const.ConstructionManager, this.drpConstructionManager.SelectedValue);
|
||
////安全经理
|
||
SitePerson_PersonService.SaveSitePersonProjectRole(projectId, Const.HSSEManager, this.drpHSSEManager.SelectedValue);
|
||
}
|
||
#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 ckbIsForeign_CheckedChanged(object sender, CheckedEventArgs e)
|
||
{
|
||
if (this.ckbIsForeign.Checked)
|
||
{
|
||
this.drpProvince.ShowRedStar = false;
|
||
this.drpProvince.Required = false;
|
||
}
|
||
else
|
||
{
|
||
this.drpProvince.ShowRedStar = true;
|
||
this.drpProvince.Required = true;
|
||
}
|
||
}
|
||
|
||
protected void drpUnit_SelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
this.initProjectRoles();
|
||
}
|
||
|
||
protected void initProjectRoles()
|
||
{
|
||
string unitId = this.drpUnit.SelectedValue == Const._Null ? Const.UnitId_SEDIN : this.drpUnit.SelectedValue;
|
||
///项目经理
|
||
Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(this.drpProjectManager, null, unitId, null, true);
|
||
///施工经理
|
||
Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(this.drpConstructionManager, null, unitId, null, true);
|
||
///安全经理
|
||
Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(this.drpHSSEManager, null, unitId, null, true);
|
||
}
|
||
|
||
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();
|
||
}
|
||
}
|
||
} |