集团主数据

This commit is contained in:
2026-05-21 15:58:21 +08:00
parent 225f83a88d
commit f91ad2ca45
14 changed files with 850 additions and 130 deletions
@@ -6,6 +6,7 @@ using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Data;
using FineUIPro.Web.DataShow;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.ProjectData
{
@@ -234,6 +235,7 @@ namespace FineUIPro.Web.ProjectData
}
}
/// <summary>
/// 保存数据
/// </summary>
@@ -241,7 +243,44 @@ namespace FineUIPro.Web.ProjectData
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
SaveData();
if (this.drpUnit.SelectedValue == BLL.Const._Null)
{
Alert.ShowInTop("请选择所属单位!", MessageBoxIcon.Warning);
return;
}
//坐标不能出现汉字
if (HasChinese(this.txtMapCoordinates.Text.Trim()))
{
Alert.ShowInTop("坐标中不允许出现汉字,请输入正确的坐标!", MessageBoxIcon.Warning);
return;
}
string masterSysId = this.drpMasterBox1.Value;
if (!string.IsNullOrWhiteSpace(masterSysId))
{
var obj = Grid1.SelectedRow.Values;
var relatePro = Funs.DB.Base_Project.FirstOrDefault(x => x.MasterSysId == masterSysId && (x.ProjectId != this.ProjectId || (this.ProjectId == null && x.ProjectId != null)));
if (relatePro != null)
{
ShowNotify($"已存在关联此主数据的项目:({relatePro.ProjectCode}{relatePro.ProjectName}", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify($"请选择关联集团主数据项目!", MessageBoxIcon.Warning);
return;
}
this.SaveData();
}
/// <summary>
/// 判断字符串中是否包含中文
/// </summary>
/// <param name="str">需要判断的字符串</param>
/// <returns>判断结果</returns>
public bool HasChinese(string str)
{
return Regex.IsMatch(str, @"[\u4e00-\u9fa5]");
}
private void SaveData()
@@ -530,7 +569,7 @@ namespace FineUIPro.Web.ProjectData
/// </summary>
/// <param name="projectId"></param>
private void SetProjectManager(string projectId)
{
{
string newProjectSupervisor = this.drpProjectSupervisor.SelectedValue;
string newProjectManager = this.drpProjectManager.SelectedValue;
string newConstructionManager = this.drpConstructionManager.SelectedValue;
@@ -1836,6 +1875,26 @@ namespace FineUIPro.Web.ProjectData
#endregion
protected void txtStartDate_Blur(object sender, EventArgs e)
{
ChangeDuration();
//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();
//}
}
/// <summary>
/// 自动计算工期(月)
/// </summary>
private void ChangeDuration()
{
var sDate = Funs.GetNewDateTime(this.txtStartDate.Text);
var eDate = Funs.GetNewDateTime(this.txtEndDate.Text);
@@ -1869,20 +1928,22 @@ namespace FineUIPro.Web.ProjectData
#region
/// <summary>
/// 集团主数据项目下拉加载方法
/// </summary>
private void BindGrid()
{
var list = ProjectService.GetMasterProjectInfos();
var list = ProjectService.GetMasterProjectDataInfos();
string code = ttbCodeSearch.Text.Trim();
string name = ttbNameSearch.Text.Trim();
if (!string.IsNullOrWhiteSpace(code))
{
list = list.Where(x => x.PrjCode.Contains(code)).ToList();
list = list.Where(x => x.Pro_code.Contains(code)).ToList();
}
if (!string.IsNullOrWhiteSpace(name))
{
list = list.Where(x => x.PrjName.Contains(name)).ToList();
list = list.Where(x => x.Pro_name.Contains(name)).ToList();
}
// 1.设置总项数(特别注意:数据库分页一定要设置总记录数RecordCount
Grid1.RecordCount = list.Count();
// 2.获取当前分页数据
@@ -1892,6 +1953,76 @@ namespace FineUIPro.Web.ProjectData
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 集团主数据境内外
/// </summary>
/// <param name="addType"></param>
/// <returns></returns>
protected string ConvertProAddType(object addType)
{
string result = string.Empty;
string addtypeStr = addType.ToString();
if (addType != null)
{
result = addtypeStr == "1" ? "境内" : addtypeStr == "2" ? "境外" : "";
}
return result;
}
/// <summary>
/// 集团主数据选择触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void MasterData_Changed(object sender, EventArgs e)
{
string proName = this.drpMasterBox1.Text.Trim();
string masterSysId = Grid1.SelectedRowID;
if (!string.IsNullOrWhiteSpace(masterSysId))
{
var obj = Grid1.SelectedRow.Values;
string num = obj[0].ToString();
string code = obj[1].ToString();
string name = obj[2].ToString();
string shortname = obj[3].ToString();
string startdate = obj[4].ToString();
string enddate = obj[5].ToString();
string address = obj[6].ToString();
//string proaddtype = obj[7].ToString();
string proaddtype = (Grid1.SelectedRow.FindControl("lblProaddtype") as AspNet.Label).Text;
var relatePro = Funs.DB.Base_Project.FirstOrDefault(x => x.MasterSysId == masterSysId && (x.ProjectId != this.ProjectId || (this.ProjectId == null && x.ProjectId != null)));
if (relatePro != null)
{
ShowNotify($"已存在关联此主数据的项目:({relatePro.ProjectCode}{relatePro.ProjectName}", MessageBoxIcon.Warning);
}
//var existPro = Funs.DB.Base_Project.FirstOrDefault(x => (x.ProjectName == name || x.ProjectName == code) && (x.ProjectId != this.ProjectId || (this.ProjectId == null && x.ProjectId != null)));
//if (existPro != null)
//{
// ShowNotify($"已存在相同名称、编号的项目:({relatePro.ProjectCode}{relatePro.ProjectName}", MessageBoxIcon.Warning);
//}
this.txtProjectCode.Text = code;
this.txtJTProjectCode.Text = code;
//this.txtProjectName.Text = name;
this.txtShortName.Text = shortname;
this.txtProjectAddress.Text = address;
if (!string.IsNullOrWhiteSpace(startdate))
{
this.txtStartDate.Text = startdate;
}
if (!string.IsNullOrWhiteSpace(enddate))
{
this.txtEndDate.Text = enddate;
ChangeDuration();
}
if (proaddtype == "境外")
{
this.ckbIsForeign.Checked = true;
}
}
}
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{