数据穿透

This commit is contained in:
geh
2026-03-06 14:24:20 +08:00
parent 474e208256
commit a05f640047
115 changed files with 14173 additions and 203 deletions
@@ -43,6 +43,12 @@
<f:TextBox runat="server" ID="txtClassMeetingName" EmptyText="按名称查询"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="150px" >
</f:TextBox>
<f:RadioButtonList runat="server" ID="rbSource" Width="220px" Label="来源" LabelWidth="50px"
AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged" AutoColumnWidth="true">
<f:RadioItem Text="全部" Value="0" Selected="true"/>
<f:RadioItem Text="系统内单位" Value="1"/>
</f:RadioButtonList>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" EnablePostBack="false" Hidden="true" Text="新增"
@@ -89,6 +95,9 @@
<asp:Label ID="lblCompileMan" runat="server" Text='<%# ConvertCompileMan(Eval("CompileMan")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="140px" ColumnID="Remark" DataField="Remark" FieldType="String" HeaderText="备注" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<%--<f:RenderField Width="150px" ColumnID="FlowOperateName" DataField="FlowOperateName"
SortField="FlowOperateName" FieldType="String" HeaderText="状态" HeaderTextAlign="Center"
TextAlign="Left">
@@ -4,6 +4,8 @@ using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using Model;
namespace FineUIPro.Web.HSSE.Meeting
{
@@ -87,42 +89,57 @@ namespace FineUIPro.Web.HSSE.Meeting
{
return;
}
if (!string.IsNullOrEmpty(this.ProjectId))
{
string strSql = "SELECT ClassMeeting.ClassMeetingId,ClassMeeting.ProjectId,CodeRecords.Code AS ClassMeetingCode,Unit.UnitId,Unit.UnitName,TeamGroup.TeamGroupName,ClassMeeting.ClassMeetingName,ClassMeeting.ClassMeetingDate,ClassMeeting.CompileMan,ClassMeeting.ClassMeetingContents,ClassMeeting.CompileDate,ClassMeeting.States "
+ @" ,(CASE WHEN ClassMeeting.States = " + BLL.Const.State_0 + " OR ClassMeeting.States IS NULL THEN '待['+ISNULL(OperateUser.UserName,Users.UserName)+']提交' WHEN ClassMeeting.States = " + BLL.Const.State_2 + " THEN '审核/审批完成' ELSE '待['+OperateUser.UserName+']办理' END) AS FlowOperateName,Project.ProjectName"
+ @" FROM Meeting_ClassMeeting AS ClassMeeting "
+ @" LEFT JOIN Base_Project AS Project ON ClassMeeting.ProjectId = Project.ProjectId "
+ @" LEFT JOIN Sys_CodeRecords AS CodeRecords ON ClassMeeting.ClassMeetingId = CodeRecords.DataId "
+ @" LEFT JOIN Sys_FlowOperate AS FlowOperate ON ClassMeeting.ClassMeetingId = FlowOperate.DataId AND FlowOperate.IsClosed <> 1"
+ @" LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId"
+ @" LEFT JOIN Sys_User AS Users ON ClassMeeting.CompileMan = Users.UserId"
+ @" LEFT JOIN ProjectData_TeamGroup AS TeamGroup ON ClassMeeting.TeamGroupId = TeamGroup.TeamGroupId"
+ @" LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=ClassMeeting.UnitId WHERE 1=1 ";
StringBuilder sb = new StringBuilder(); //CodeRecords.Code AS ClassMeetingCode,
sb.AppendFormat(
"SELECT ClassMeeting.ClassMeetingId,ClassMeeting.ProjectId,ClassMeeting.ClassMeetingCode,Unit.UnitId,Unit.UnitName,ClassMeeting.ClassMeetingName,ClassMeeting.ClassMeetingDate,ClassMeeting.CompileMan,ClassMeeting.ClassMeetingContents,ClassMeeting.CompileDate,ClassMeeting.States,(CASE WHEN ClassMeeting.States ='{0}' OR ClassMeeting.States IS NULL THEN '待['+ISNULL(OperateUser.UserName,Users.UserName)+']提交' WHEN ClassMeeting.States = '{1}' THEN '审核/审批完成' ELSE '待['+OperateUser.UserName+']办理' END) AS FlowOperateName,ClassMeeting.Remark ",
BLL.Const.State_0, BLL.Const.State_2);
sb.Append("FROM Meeting_ClassMeeting AS ClassMeeting ");
//sb.Append("LEFT JOIN Sys_CodeRecords AS CodeRecords ON ClassMeeting.ClassMeetingId = CodeRecords.DataId ");
sb.Append(
"LEFT JOIN Sys_FlowOperate AS FlowOperate ON ClassMeeting.ClassMeetingId = FlowOperate.DataId AND FlowOperate.IsClosed <> 1 ");
sb.Append("LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId ");
sb.Append("LEFT JOIN Sys_User AS Users ON ClassMeeting.CompileMan = Users.UserId ");
sb.Append("LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=ClassMeeting.UnitId "); //Users.UnitId
sb.Append("WHERE 1=1 ");
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " AND ClassMeeting.ProjectId = @ProjectId";
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
if (this.drpUnitId.SelectedValue != null && this.drpUnitId.SelectedValue != BLL.Const._Null)
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
strSql += " AND Unit.UnitId = @UnitId";
sb.Append("AND ClassMeeting.ProjectId = @ProjectId ");
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
}
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
{
sb.Append("AND Unit.UnitId = @UnitId ");
listStr.Add(new SqlParameter("@UnitId", this.drpUnitId.SelectedValue.Trim()));
}
if (!string.IsNullOrEmpty(this.txtClassMeetingCode.Text.Trim()))
{
strSql += " AND ClassMeetingCode LIKE @ClassMeetingCode";
listStr.Add(new SqlParameter("@ClassMeetingCode", "%" + this.txtClassMeetingCode.Text.Trim() + "%"));
sb.Append("AND ClassMeetingCode LIKE @ClassMeetingCode ");
listStr.Add(new SqlParameter("@ClassMeetingCode",
"%" + this.txtClassMeetingCode.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtClassMeetingName.Text.Trim()))
{
strSql += " AND ClassMeetingName LIKE @ClassMeetingName";
listStr.Add(new SqlParameter("@ClassMeetingName", "%" + this.txtClassMeetingName.Text.Trim() + "%"));
sb.Append("AND ClassMeetingName LIKE @ClassMeetingName ");
listStr.Add(new SqlParameter("@ClassMeetingName",
"%" + this.txtClassMeetingName.Text.Trim() + "%"));
}
if (this.rbSource.SelectedValue == "1")
{
sb.Append("AND ClassMeeting.Remark LIKE @Remark ");
listStr.Add(new SqlParameter("@Remark", "%#%"));
}
strSql += " order by CodeRecords.SortIndex desc ";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
DataTable tb = SQLHelper.GetDataTableRunText(sb.ToString(), parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
@@ -344,5 +361,31 @@ namespace FineUIPro.Web.HSSE.Meeting
string id = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ClassMeetingView.aspx?ClassMeetingId={0}", id, "查看 - ")));
}
#region
/// <summary>
/// 分包会议数据推送至总包单位
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPush_Click(object sender, EventArgs e)
{
ReturnData responeData = APIMeetingSyncService.PushClassMeetingLists(this.ProjectId, string.Empty);
//if (responeData.code == 0)
//{
// Alert.ShowInTop(responeData.message, MessageBoxIcon.Warning);
//}
//else
//{
// ShowNotify(responeData.message, MessageBoxIcon.Success);
//}
//PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
ShowNotify(responeData.message, responeData.code == 0 ? MessageBoxIcon.Warning : MessageBoxIcon.Success);
return;
}
#endregion
}
}
@@ -122,6 +122,15 @@ namespace FineUIPro.Web.HSSE.Meeting
/// </remarks>
protected global::FineUIPro.TextBox txtClassMeetingName;
/// <summary>
/// rbSource 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rbSource;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
@@ -65,7 +65,9 @@ namespace FineUIPro.Web.HSSE.Meeting
{
this.InitDropDownList();
}
this.txtClassMeetingCode.Text = BLL.CodeRecordsService.ReturnCodeByDataId(this.ClassMeetingId);
this.txtClassMeetingCode.Text = classMeeting.ClassMeetingCode;
//this.txtClassMeetingCode.Text = BLL.CodeRecordsService.ReturnCodeByDataId(this.ClassMeetingId);
this.txtClassMeetingName.Text = classMeeting.ClassMeetingName;
this.txtClassMeetingDate.Text = string.Format("{0:yyyy-MM-dd}", classMeeting.ClassMeetingDate);
if (!string.IsNullOrEmpty(classMeeting.CompileMan))
@@ -123,6 +125,12 @@ namespace FineUIPro.Web.HSSE.Meeting
protected void btnSave_Click(object sender, EventArgs e)
{
this.SaveData(BLL.Const.BtnSave);
var porject = BLL.ProjectService.GetProjectByProjectId(this.ProjectId);
if (!string.IsNullOrWhiteSpace(porject.SubjectUnit) && !string.IsNullOrWhiteSpace(porject.SubjectProject))
{//项目关联了总包单位项目,保存成功后自动推送至总包单位
APIMeetingSyncService.PushClassMeetingLists(this.ProjectId, this.ClassMeetingId);
}
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
@@ -41,7 +41,9 @@ namespace FineUIPro.Web.HSSE.Meeting
Model.Meeting_ClassMeeting classMeeting = BLL.ClassMeetingService.GetClassMeetingById(this.ClassMeetingId);
if (classMeeting != null)
{
this.txtClassMeetingCode.Text = BLL.CodeRecordsService.ReturnCodeByDataId(this.ClassMeetingId);
this.txtClassMeetingCode.Text = classMeeting.ClassMeetingCode;
//this.txtClassMeetingCode.Text = BLL.CodeRecordsService.ReturnCodeByDataId(this.ClassMeetingId);
this.txtClassMeetingName.Text = classMeeting.ClassMeetingName;
if (classMeeting.ClassMeetingDate != null)
{