集团主数据在建项目使用情况

This commit is contained in:
geh
2026-05-26 15:48:00 +08:00
parent b3b3334466
commit 5d423fdcc5
19 changed files with 3580 additions and 408 deletions
@@ -6,6 +6,7 @@ using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Data;
using Model.Customization;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.ProjectData
{
@@ -210,20 +211,22 @@ namespace FineUIPro.Web.ProjectData
}
}
/// <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.获取当前分页数据
@@ -234,6 +237,7 @@ namespace FineUIPro.Web.ProjectData
Grid1.DataBind();
}
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
@@ -299,9 +303,25 @@ namespace FineUIPro.Web.ProjectData
Alert.ShowInTop("坐标中不允许出现汉字,请输入正确的坐标!", MessageBoxIcon.Warning);
return;
}
string masterSysId = this.drpMasterBox1.Value;
if (!string.IsNullOrWhiteSpace(masterSysId))
{
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>
@@ -891,6 +911,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);
@@ -907,6 +947,7 @@ namespace FineUIPro.Web.ProjectData
}
}
protected void drpCountry_SelectedIndexChanged(object sender, EventArgs e)
{
this.drpProvince.Items.Clear();
@@ -990,5 +1031,85 @@ namespace FineUIPro.Web.ProjectData
}
#endregion
/// <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;
}
#region
/// <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.txtProjectName.Text = name;
this.txtProjectCode.Text = code;
if (!string.IsNullOrWhiteSpace(shortname))
{
this.txtShortName.Text = shortname;
}
if (!string.IsNullOrWhiteSpace(address))
{
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;
}
}
}
#endregion
}
}