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

359 lines
16 KiB
C#
Raw 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.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();
}
}
}