fix:质量检查

This commit is contained in:
geh 2025-03-25 22:31:04 +08:00
parent 3e7c5e5804
commit ce081fbf8a
9 changed files with 560 additions and 171 deletions

View File

@ -123,38 +123,59 @@
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label> <asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</f:TemplateField> </f:TemplateField>
<f:RenderField ColumnID="DocCode" DataField="DocCode" <f:RenderField Width="120px" ColumnID="CheckDate" DataField="CheckDate" SortField="CheckDate"
SortField="DocCode" FieldType="String" HeaderText="质量巡检编号" TextAlign="Left" MinWidth="140px" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="检查日期" TextAlign="Center" HeaderTextAlign="Center">
HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
<%-- <f:RenderField ColumnID="DocCode" DataField="DocCode" --%>
<%-- SortField="DocCode" FieldType="String" HeaderText="质量巡检编号" TextAlign="Left" MinWidth="140px" --%>
<%-- HeaderTextAlign="Center"> --%>
<%-- </f:RenderField> --%>
<f:RenderField Width="100px" ColumnID="UnitWorkName" DataField="UnitWorkName" <f:RenderField Width="120px" ColumnID="UnitWorkName" DataField="UnitWorkName"
SortField="UnitWorkName" FieldType="String" HeaderText="单位工程名称" TextAlign="Center" SortField="UnitWorkName" FieldType="String" HeaderText="单位工程名称" TextAlign="Center"
HeaderTextAlign="Center"> HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="100px" ColumnID="UnitName" DataField="UnitName" <f:RenderField Width="120px" ColumnID="UnitName" DataField="UnitName"
SortField="UnitName" FieldType="String" HeaderText="施工单位" TextAlign="Left" SortField="UnitName" FieldType="String" HeaderText="施工单位" TextAlign="Left"
HeaderTextAlign="Center"> HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="80px" ColumnID="ProfessionalName" DataField="ProfessionalName" SortField="ProfessionalName" <f:RenderField Width="80px" ColumnID="ProfessionalName" DataField="ProfessionalName" SortField="ProfessionalName"
FieldType="String" HeaderText="专业" TextAlign="Center" HeaderTextAlign="Center"> FieldType="String" HeaderText="专业" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="90px" ColumnID="QuestionType" DataField="QuestionType" SortField="QuestionType" <f:RenderField Width="120px" ColumnID="QuestionType" DataField="QuestionType" SortField="QuestionType"
FieldType="String" HeaderText="问题类别" TextAlign="Center" HeaderTextAlign="Center"> FieldType="String" HeaderText="问题类别" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="70px" ColumnID="CheckSite" DataField="CheckSite" SortField="CheckSite" <f:TemplateField ColumnID="tfImageUrl1" Width="120px" HeaderText="整改前(照片)" HeaderTextAlign="Center"
FieldType="String" HeaderText="部位" TextAlign="Center" HeaderTextAlign="Center"> TextAlign="Left">
<ItemTemplate>
<asp:Label ID="lbImageUrl" runat="server" Text='<%# ConvertImageUrlByImage(Eval("CheckControlCode")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:TemplateField ColumnID="tfImageUrl2" Width="120px" HeaderText="整改后(照片)" HeaderTextAlign="Center"
TextAlign="Left">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# ConvertImgUrlByImage(Eval("CheckControlCode")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="120px" ColumnID="QuestionDef" DataField="QuestionDef" SortField="QuestionDef"
FieldType="String" HeaderText="问题描述" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="95px" ColumnID="CheckDate" DataField="CheckDate" SortField="CheckDate" <f:RenderField Width="120px" ColumnID="RectifyOpinion" DataField="RectifyOpinion" SortField="RectifyOpinion"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="巡检日期" TextAlign="Center" HeaderTextAlign="Center"> FieldType="String" HeaderText="整改意见" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="95px" ColumnID="LimitDate" DataField="LimitDate" SortField="LimitDate" <%-- <f:RenderField Width="70px" ColumnID="CheckSite" DataField="CheckSite" SortField="CheckSite" --%>
<%-- FieldType="String" HeaderText="部位" TextAlign="Center" HeaderTextAlign="Center"> --%>
<%-- </f:RenderField> --%>
<%-- <f:RenderField Width="95px" ColumnID="CheckDate" DataField="CheckDate" SortField="CheckDate" --%>
<%-- FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="巡检日期" TextAlign="Center" HeaderTextAlign="Center"> --%>
<%-- </f:RenderField> --%>
<f:RenderField Width="120px" ColumnID="LimitDate" DataField="LimitDate" SortField="LimitDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="整改日期" TextAlign="Center" HeaderTextAlign="Center"> FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="整改日期" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="95px" ColumnID="userName" DataField="userName" SortField="userName" <f:RenderField Width="120px" ColumnID="userName" DataField="userName" SortField="userName"
FieldType="String" HeaderText="检查人" TextAlign="Center" HeaderTextAlign="Center"> FieldType="String" HeaderText="检查人" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
<f:TemplateField ColumnID="State" Width="100px" HeaderText="审批状态" HeaderTextAlign="Center" TextAlign="Center" <f:TemplateField ColumnID="State" Width="120px" HeaderText="审批状态" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False"> EnableLock="true" Locked="False">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblState" runat="server" Text='<%# ConvertState(Eval("State")) %>'></asp:Label> <asp:Label ID="lblState" runat="server" Text='<%# ConvertState(Eval("State")) %>'></asp:Label>
@ -166,7 +187,7 @@
<asp:Label ID="lblAuditMan" runat="server" Text='<%# ConvertMan(Eval("CheckControlCode")) %>'></asp:Label> <asp:Label ID="lblAuditMan" runat="server" Text='<%# ConvertMan(Eval("CheckControlCode")) %>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</f:TemplateField> </f:TemplateField>
<f:TemplateField ColumnID="State2" Width="80px" HeaderText="整改状态" HeaderTextAlign="Center" TextAlign="Center" <f:TemplateField ColumnID="State2" HeaderText="整改状态" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False"> EnableLock="true" Locked="False">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblState2" runat="server" Text='<%# Convertstatus(Eval("CheckControlCode")) %>'></asp:Label> <asp:Label ID="lblState2" runat="server" Text='<%# Convertstatus(Eval("CheckControlCode")) %>'></asp:Label>

View File

@ -107,7 +107,7 @@ namespace FineUIPro.Web.CQMS.Check
protected DataTable ChecklistData() protected DataTable ChecklistData()
{ {
string strSql = @"SELECT chec.CheckControlCode,chec.CheckSite,chec.ProjectId,chec.unitId,cNProfessional.ProfessionalName," string strSql = @"SELECT chec.CheckControlCode,chec.CheckSite,chec.ProjectId,chec.unitId,cNProfessional.ProfessionalName,"
+ @" QualityQuestionType.QualityQuestionType as QuestionType,chec.LimitDate," + @" QualityQuestionType.QualityQuestionType as QuestionType,chec.LimitDate,chec.QuestionDef,chec.RectifyOpinion,"
+ @" chec.checkman,chec.CheckDate,chec.DocCode,chec.submitman,chec.state,chec.CNProfessionalCode," + @" chec.checkman,chec.CheckDate,chec.DocCode,chec.submitman,chec.state,chec.CNProfessionalCode,"
+ @" unit.UnitName,unitWork.UnitWorkName,u.userName " + @" unit.UnitName,unitWork.UnitWorkName,u.userName "
+ @" FROM Check_CheckControl chec" + @" FROM Check_CheckControl chec"
@ -337,15 +337,17 @@ namespace FineUIPro.Web.CQMS.Check
{ {
if (checks.State.Equals(Const.CheckControl_Complete)) if (checks.State.Equals(Const.CheckControl_Complete))
{ {
Alert.ShowInTop("您不是当前办理人,无法编辑,请右键查看!", MessageBoxIcon.Warning); Alert.ShowInTop("当前数据已闭环,无法编辑,请右键查看!", MessageBoxIcon.Warning);
return; return;
} }
//验证当前登录人是否是质量经理/施工经理
bool isAuthenticated = authenticatedUser();
Model.Check_CheckControlApprove approve = BLL.CheckControlApproveService.GetCheckControlApproveByCheckControlId(codes); Model.Check_CheckControlApprove approve = BLL.CheckControlApproveService.GetCheckControlApproveByCheckControlId(codes);
if (approve != null) if (approve != null)
{ {
if (!string.IsNullOrEmpty(approve.ApproveMan)) if (!string.IsNullOrEmpty(approve.ApproveMan))
{ {
if (this.CurrUser.UserId == approve.ApproveMan || CurrUser.UserId == Const.sysglyId) if (this.CurrUser.UserId == approve.ApproveMan || CurrUser.UserId == Const.sysglyId || CurrUser.UserId == Const.hfnbdId || isAuthenticated)
{ {
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckListEdit.aspx?CheckControlCode={0}", codes, "编辑 - "))); PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckListEdit.aspx?CheckControlCode={0}", codes, "编辑 - ")));
return; return;
@ -374,6 +376,11 @@ namespace FineUIPro.Web.CQMS.Check
} }
} }
else if (isAuthenticated)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckListEdit.aspx?CheckControlCode={0}", codes, "编辑 - ")));
return;
}
else else
{ {
Alert.ShowInTop("您不是当前办理人,无法编辑,请右键查看!", MessageBoxIcon.Warning); Alert.ShowInTop("您不是当前办理人,无法编辑,请右键查看!", MessageBoxIcon.Warning);
@ -386,7 +393,57 @@ namespace FineUIPro.Web.CQMS.Check
return; return;
} }
} }
/// <summary>
/// 验证当前登录人是否是质量经理/施工经理
/// </summary>
/// <returns></returns>
public bool authenticatedUser()
{
bool isAuthenticated = false;
var query = (from pu in Funs.DB.Project_ProjectUser
join u in Funs.DB.Sys_User on pu.UserId equals u.UserId into userGroup
from u in userGroup.DefaultIfEmpty()
join projectUnit in Funs.DB.Project_ProjectUnit on new { pu.UnitId, pu.ProjectId }
equals new { projectUnit.UnitId, projectUnit.ProjectId } into projectUnitJoin
from projectUnit in projectUnitJoin.DefaultIfEmpty()
join person in Funs.DB.SitePerson_Person on new { pu.ProjectId, u.IdentityCard } equals new
{ person.ProjectId, person.IdentityCard } into personGroup
from person in personGroup.DefaultIfEmpty()
join wp in Funs.DB.Base_WorkPost on person.WorkPostId equals wp.WorkPostId into workPostGroup
from wp in workPostGroup.DefaultIfEmpty()
join sysConst in Funs.DB.Sys_Const on new
{ GroupId = "ProjectUnitType", ConstValue = projectUnit.UnitType } equals new
{ sysConst.GroupId, sysConst.ConstValue } into sysConstJoin
from sysConst in sysConstJoin.DefaultIfEmpty()
where pu.ProjectId == this.ProjectId && pu.UserId == this.CurrUser.UserId && sysConst.ConstText == "总包"
select new
{
pu.RoleId,
wp.WorkPostName,
}).FirstOrDefault();
List<string> names = new List<string>();
if (query != null)
{
string roleIds = query.RoleId;
List<string> ids = roleIds.Split(',').ToList();
ids.ForEach(id =>
{
string name = Funs.DB.Sys_Role.Where(r2 => r2.RoleId == id).Select(r2 => r2.RoleName).FirstOrDefault();
names.Add(name);
});
var RoleName = string.Join(",", names);
if (RoleName.Contains("质量") || RoleName.Contains("施工") )
{
isAuthenticated = true;
}
}
return isAuthenticated;
}
#endregion #endregion
#region #region
@ -796,5 +853,45 @@ namespace FineUIPro.Web.CQMS.Check
} }
} }
#endregion #endregion
/// <summary>
/// 获取整改前图片(放于Img中)
/// </summary>
/// <param name="CheckControlCode"></param>
/// <returns></returns>
protected string ConvertImageUrlByImage(object CheckControlCode)
{
string url = string.Empty;
if (CheckControlCode != null)
{
var registration = AttachFileService.GetAttachFile(CheckControlCode.ToString(), BLL.Const.CheckListMenuId);
if (registration != null)
{
url = BLL.UploadAttachmentService.ShowImage("../../", registration.AttachUrl);
}
}
return url;
}
/// <summary>
/// 获取整改后图片(放于Img中)
/// </summary>
/// <param name="CheckControlCode"></param>
/// <returns></returns>
protected string ConvertImgUrlByImage(object CheckControlCode)
{
string url = string.Empty;
if (CheckControlCode != null)
{
var registration = AttachFileService.GetAttachFile(CheckControlCode.ToString() + "r", BLL.Const.CheckListMenuId);
if (registration != null)
{
url = BLL.UploadAttachmentService.ShowImage("../../", registration.AttachUrl);
}
}
return url;
}
} }
} }

View File

@ -7,11 +7,13 @@
// </自动生成> // </自动生成>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.Check { namespace FineUIPro.Web.CQMS.Check
{
public partial class CheckList {
public partial class CheckList
{
/// <summary> /// <summary>
/// form1 控件。 /// form1 控件。
/// </summary> /// </summary>
@ -20,7 +22,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1; protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary> /// <summary>
/// PageManager1 控件。 /// PageManager1 控件。
/// </summary> /// </summary>
@ -29,7 +31,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.PageManager PageManager1; protected global::FineUIPro.PageManager PageManager1;
/// <summary> /// <summary>
/// Panel1 控件。 /// Panel1 控件。
/// </summary> /// </summary>
@ -38,7 +40,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Panel Panel1; protected global::FineUIPro.Panel Panel1;
/// <summary> /// <summary>
/// Grid1 控件。 /// Grid1 控件。
/// </summary> /// </summary>
@ -47,7 +49,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Grid Grid1; protected global::FineUIPro.Grid Grid1;
/// <summary> /// <summary>
/// Toolbar1 控件。 /// Toolbar1 控件。
/// </summary> /// </summary>
@ -56,7 +58,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Toolbar Toolbar1; protected global::FineUIPro.Toolbar Toolbar1;
/// <summary> /// <summary>
/// drpSponsorUnit 控件。 /// drpSponsorUnit 控件。
/// </summary> /// </summary>
@ -65,7 +67,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpSponsorUnit; protected global::FineUIPro.DropDownList drpSponsorUnit;
/// <summary> /// <summary>
/// drpUnitWork 控件。 /// drpUnitWork 控件。
/// </summary> /// </summary>
@ -74,7 +76,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpUnitWork; protected global::FineUIPro.DropDownList drpUnitWork;
/// <summary> /// <summary>
/// drpCNProfessional 控件。 /// drpCNProfessional 控件。
/// </summary> /// </summary>
@ -83,7 +85,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpCNProfessional; protected global::FineUIPro.DropDownList drpCNProfessional;
/// <summary> /// <summary>
/// drpQuestionType 控件。 /// drpQuestionType 控件。
/// </summary> /// </summary>
@ -92,7 +94,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpQuestionType; protected global::FineUIPro.DropDownList drpQuestionType;
/// <summary> /// <summary>
/// Toolbar2 控件。 /// Toolbar2 控件。
/// </summary> /// </summary>
@ -101,7 +103,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Toolbar Toolbar2; protected global::FineUIPro.Toolbar Toolbar2;
/// <summary> /// <summary>
/// dpHandelStatus 控件。 /// dpHandelStatus 控件。
/// </summary> /// </summary>
@ -110,7 +112,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList dpHandelStatus; protected global::FineUIPro.DropDownList dpHandelStatus;
/// <summary> /// <summary>
/// txtStartTime 控件。 /// txtStartTime 控件。
/// </summary> /// </summary>
@ -119,7 +121,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DatePicker txtStartTime; protected global::FineUIPro.DatePicker txtStartTime;
/// <summary> /// <summary>
/// txtEndTime 控件。 /// txtEndTime 控件。
/// </summary> /// </summary>
@ -128,7 +130,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DatePicker txtEndTime; protected global::FineUIPro.DatePicker txtEndTime;
/// <summary> /// <summary>
/// btnQuery 控件。 /// btnQuery 控件。
/// </summary> /// </summary>
@ -137,7 +139,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Button btnQuery; protected global::FineUIPro.Button btnQuery;
/// <summary> /// <summary>
/// btnRset 控件。 /// btnRset 控件。
/// </summary> /// </summary>
@ -146,7 +148,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Button btnRset; protected global::FineUIPro.Button btnRset;
/// <summary> /// <summary>
/// btnNew 控件。 /// btnNew 控件。
/// </summary> /// </summary>
@ -155,7 +157,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Button btnNew; protected global::FineUIPro.Button btnNew;
/// <summary> /// <summary>
/// btnOut 控件。 /// btnOut 控件。
/// </summary> /// </summary>
@ -164,7 +166,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Button btnOut; protected global::FineUIPro.Button btnOut;
/// <summary> /// <summary>
/// lblPageIndex 控件。 /// lblPageIndex 控件。
/// </summary> /// </summary>
@ -173,7 +175,25 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex; protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// lbImageUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbImageUrl;
/// <summary>
/// Label2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label2;
/// <summary> /// <summary>
/// lblState 控件。 /// lblState 控件。
/// </summary> /// </summary>
@ -182,7 +202,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblState; protected global::System.Web.UI.WebControls.Label lblState;
/// <summary> /// <summary>
/// lblAuditMan 控件。 /// lblAuditMan 控件。
/// </summary> /// </summary>
@ -191,7 +211,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblAuditMan; protected global::System.Web.UI.WebControls.Label lblAuditMan;
/// <summary> /// <summary>
/// lblState2 控件。 /// lblState2 控件。
/// </summary> /// </summary>
@ -200,7 +220,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblState2; protected global::System.Web.UI.WebControls.Label lblState2;
/// <summary> /// <summary>
/// ToolbarSeparator1 控件。 /// ToolbarSeparator1 控件。
/// </summary> /// </summary>
@ -209,7 +229,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary> /// <summary>
/// ToolbarText1 控件。 /// ToolbarText1 控件。
/// </summary> /// </summary>
@ -218,7 +238,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1; protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary> /// <summary>
/// ddlPageSize 控件。 /// ddlPageSize 控件。
/// </summary> /// </summary>
@ -227,7 +247,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize; protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary> /// <summary>
/// Window1 控件。 /// Window1 控件。
/// </summary> /// </summary>
@ -236,7 +256,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Window Window1; protected global::FineUIPro.Window Window1;
/// <summary> /// <summary>
/// Menu1 控件。 /// Menu1 控件。
/// </summary> /// </summary>
@ -245,7 +265,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Menu Menu1; protected global::FineUIPro.Menu Menu1;
/// <summary> /// <summary>
/// btnMenuModify 控件。 /// btnMenuModify 控件。
/// </summary> /// </summary>
@ -254,7 +274,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.MenuButton btnMenuModify; protected global::FineUIPro.MenuButton btnMenuModify;
/// <summary> /// <summary>
/// btnMenuView 控件。 /// btnMenuView 控件。
/// </summary> /// </summary>
@ -263,7 +283,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.MenuButton btnMenuView; protected global::FineUIPro.MenuButton btnMenuView;
/// <summary> /// <summary>
/// btnMenuDel 控件。 /// btnMenuDel 控件。
/// </summary> /// </summary>

View File

@ -170,7 +170,7 @@
</f:FormRow> </f:FormRow>
<f:FormRow> <f:FormRow>
<Items> <Items>
<f:ContentPanel ID="ContentPanel5" Title="工程联络单审批流程设置" runat="server" ShowHeader="true" EnableCollapse="true" <f:ContentPanel ID="ContentPanel5" Title="流程进展情况" runat="server" ShowHeader="true" EnableCollapse="true"
BodyPadding="0px"> BodyPadding="0px">
<f:Form ID="Form5" ShowBorder="false" ShowHeader="false" AutoScroll="true" <f:Form ID="Form5" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right"> BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
@ -187,9 +187,9 @@
<f:FormRow> <f:FormRow>
<Items> <Items>
<f:DropDownList ID="drpHandleType" OnSelectedIndexChanged="drpHandleType_SelectedIndexChanged" <f:DropDownList ID="drpHandleType" OnSelectedIndexChanged="drpHandleType_SelectedIndexChanged"
AutoPostBack="true" runat="server" Label="办理步骤" LabelAlign="Right" EnableEdit="true"> AutoPostBack="true" runat="server" Label="下一步" LabelAlign="Right" EnableEdit="true">
</f:DropDownList> </f:DropDownList>
<f:DropDownList ID="drpHandleMan" runat="server" Label="办理人员" Required="true" LabelAlign="Right" EnableEdit="true"> <f:DropDownList ID="drpHandleMan" ShowRedStar="true" runat="server" Label="办理人员" Required="true" LabelAlign="Right" EnableEdit="true">
</f:DropDownList> </f:DropDownList>
</Items> </Items>
</f:FormRow> </f:FormRow>

View File

@ -217,36 +217,36 @@ namespace FineUIPro.Web.CQMS.Check
if (State == BLL.Const.CheckControl_Audit2 || State == BLL.Const.CheckControl_Audit3 || State == BLL.Const.CheckControl_ReCompile2 || State == BLL.Const.CheckControl_Audit4 || State == BLL.Const.CheckControl_Audit5) if (State == BLL.Const.CheckControl_Audit2 || State == BLL.Const.CheckControl_Audit3 || State == BLL.Const.CheckControl_ReCompile2 || State == BLL.Const.CheckControl_Audit4 || State == BLL.Const.CheckControl_Audit5)
{ {
this.drpUnit.Enabled = false; // this.drpUnit.Enabled = false;
this.drpProposeUnit.Enabled = false; // this.drpProposeUnit.Enabled = false;
this.drpUnitWork.Enabled = false; // this.drpUnitWork.Enabled = false;
this.drpCNProfessional.Enabled = false; // this.drpCNProfessional.Enabled = false;
this.drpQuestionType.Enabled = false; // this.drpQuestionType.Enabled = false;
this.txtCheckSite.Enabled = false; // this.txtCheckSite.Enabled = false;
this.txtCheckDate.Enabled = false; // this.txtCheckDate.Enabled = false;
this.txtQuestionDef.Enabled = false; // this.txtQuestionDef.Enabled = false;
this.txtRectifyOpinion.Enabled = false; // this.txtRectifyOpinion.Enabled = false;
this.txtLimitDate.Enabled = false; // this.txtLimitDate.Enabled = false;
txtDocCode.Enabled = false; // txtDocCode.Enabled = false;
txtProjectName.Enabled = false; // txtProjectName.Enabled = false;
//imgBtnFile.Enabled = false; //imgBtnFile.Enabled = false;
} }
if (State == BLL.Const.CheckControl_Compile || State == BLL.Const.CheckControl_ReCompile || State == BLL.Const.CheckControl_Audit1 || State == BLL.Const.CheckControl_Audit4 || State == BLL.Const.CheckControl_Audit5) if (State == BLL.Const.CheckControl_Compile || State == BLL.Const.CheckControl_ReCompile || State == BLL.Const.CheckControl_Audit1 || State == BLL.Const.CheckControl_Audit4 || State == BLL.Const.CheckControl_Audit5)
{ {
this.txtHandleWay.Enabled = false; // this.txtHandleWay.Enabled = false;
this.txtRectifyDate.Enabled = false; // this.txtRectifyDate.Enabled = false;
if (State == BLL.Const.CheckControl_ReCompile) // if (State == BLL.Const.CheckControl_ReCompile)
{ // {
this.btnAttach.Enabled = false; // this.btnAttach.Enabled = false;
} // }
//btnAttach.Enabled = false; //btnAttach.Enabled = false;
//lblAttach.Enabled = false; //lblAttach.Enabled = false;
} }
if (State == BLL.Const.CheckControl_Audit4 || State == BLL.Const.CheckControl_Audit5) if (State == BLL.Const.CheckControl_Audit4 || State == BLL.Const.CheckControl_Audit5)
{ {
this.txtHandleWay.Enabled = false; // this.txtHandleWay.Enabled = false;
this.txtRectifyDate.Enabled = false; // this.txtRectifyDate.Enabled = false;
//btnAttach.Enabled = false; //btnAttach.Enabled = false;
//lblAttach.Enabled = false; //lblAttach.Enabled = false;
@ -254,8 +254,8 @@ namespace FineUIPro.Web.CQMS.Check
} }
if (State == BLL.Const.CheckControl_Audit2 || State == BLL.Const.CheckControl_ReCompile2) if (State == BLL.Const.CheckControl_Audit2 || State == BLL.Const.CheckControl_ReCompile2)
{ {
this.rblIsAgree.Visible = false; // this.rblIsAgree.Visible = false;
txtDocCode.Enabled = false; // txtDocCode.Enabled = false;
} }
//设置流程上是否有同意不同意 //设置流程上是否有同意不同意
@ -347,6 +347,35 @@ namespace FineUIPro.Web.CQMS.Check
protected void btnSave_Click(object sender, EventArgs e) protected void btnSave_Click(object sender, EventArgs e)
{ {
//判断是否上传整改前后图片
if (this.QuestionImg == 0)
{
var QuestionImg = AttachFileService.GetAttachFile(this.hdCheckControlCode.Text, BLL.Const.CheckListMenuId);
if (QuestionImg == null)
{
Alert.ShowInTop("请先上传问题图片!", MessageBoxIcon.Warning);
return;
}
}
if (this.HandleImg == 0 && !string.IsNullOrEmpty(this.hdCheckControlCode.Text))
{
Model.Check_CheckControl checkControl = CheckControlService.GetCheckControl(CheckControlCode);
if (checkControl != null)
{
var HandleImg = AttachFileService.GetAttachFile(this.hdCheckControlCode.Text + "r", BLL.Const.CheckListMenuId);
if (HandleImg == null)
{
Alert.ShowInTop("请先上传整改图片!", MessageBoxIcon.Warning);
return;
}
}
}
if (drpHandleType.SelectedValue != BLL.Const.CheckControl_Complete && (this.drpHandleMan.SelectedValue == "0" || this.drpHandleMan.SelectedValue == null))
{
Alert.ShowInTop("请先选择办理人员!", MessageBoxIcon.Warning);
return;
}
//string projectId, string userId, string menuId, string buttonName) //string projectId, string userId, string menuId, string buttonName)
if (BLL.CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.CheckListMenuId, BLL.Const.BtnSave)) if (BLL.CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.CheckListMenuId, BLL.Const.BtnSave))
{ {
@ -371,6 +400,37 @@ namespace FineUIPro.Web.CQMS.Check
protected void btnSubmit_Click(object sender, EventArgs e) protected void btnSubmit_Click(object sender, EventArgs e)
{ {
//判断是否上传整改前后图片
if (this.QuestionImg == 0)
{
var QuestionImg = AttachFileService.GetAttachFile(this.hdCheckControlCode.Text, BLL.Const.CheckListMenuId);
if (QuestionImg == null)
{
Alert.ShowInTop("请先上传问题图片!", MessageBoxIcon.Warning);
return;
}
}
if (this.HandleImg == 0 && !string.IsNullOrEmpty(this.hdCheckControlCode.Text))
{
Model.Check_CheckControl checkControl = CheckControlService.GetCheckControl(CheckControlCode);
if (checkControl != null)
{
var HandleImg = AttachFileService.GetAttachFile(this.hdCheckControlCode.Text + "r", BLL.Const.CheckListMenuId);
if (HandleImg == null)
{
Alert.ShowInTop("请先上传整改图片!", MessageBoxIcon.Warning);
return;
}
}
}
if (drpHandleType.SelectedValue != BLL.Const.CheckControl_Complete && (this.drpHandleMan.SelectedValue == "0" || this.drpHandleMan.SelectedValue == null))
{
Alert.ShowInTop("请先选择办理人员!", MessageBoxIcon.Warning);
return;
}
if (BLL.CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.CheckListMenuId, BLL.Const.BtnSubmit)) if (BLL.CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.CheckListMenuId, BLL.Const.BtnSubmit))
{ {
SavePauseNotice("submit"); SavePauseNotice("submit");

View File

@ -7,11 +7,13 @@
// </自动生成> // </自动生成>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.Check { namespace FineUIPro.Web.CQMS.Check
{
public partial class ChecklistEdit {
public partial class ChecklistEdit
{
/// <summary> /// <summary>
/// form1 控件。 /// form1 控件。
/// </summary> /// </summary>
@ -20,7 +22,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1; protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary> /// <summary>
/// PageManager1 控件。 /// PageManager1 控件。
/// </summary> /// </summary>
@ -29,7 +31,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.PageManager PageManager1; protected global::FineUIPro.PageManager PageManager1;
/// <summary> /// <summary>
/// SimpleForm1 控件。 /// SimpleForm1 控件。
/// </summary> /// </summary>
@ -38,7 +40,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Form SimpleForm1; protected global::FineUIPro.Form SimpleForm1;
/// <summary> /// <summary>
/// ContentPanel2 控件。 /// ContentPanel2 控件。
/// </summary> /// </summary>
@ -47,7 +49,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel2; protected global::FineUIPro.ContentPanel ContentPanel2;
/// <summary> /// <summary>
/// Form2 控件。 /// Form2 控件。
/// </summary> /// </summary>
@ -56,7 +58,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Form Form2; protected global::FineUIPro.Form Form2;
/// <summary> /// <summary>
/// txtProjectName 控件。 /// txtProjectName 控件。
/// </summary> /// </summary>
@ -65,7 +67,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.TextBox txtProjectName; protected global::FineUIPro.TextBox txtProjectName;
/// <summary> /// <summary>
/// txtDocCode 控件。 /// txtDocCode 控件。
/// </summary> /// </summary>
@ -74,7 +76,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.TextBox txtDocCode; protected global::FineUIPro.TextBox txtDocCode;
/// <summary> /// <summary>
/// drpUnit 控件。 /// drpUnit 控件。
/// </summary> /// </summary>
@ -83,7 +85,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpUnit; protected global::FineUIPro.DropDownList drpUnit;
/// <summary> /// <summary>
/// drpUnitWork 控件。 /// drpUnitWork 控件。
/// </summary> /// </summary>
@ -92,7 +94,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpUnitWork; protected global::FineUIPro.DropDownList drpUnitWork;
/// <summary> /// <summary>
/// drpCNProfessional 控件。 /// drpCNProfessional 控件。
/// </summary> /// </summary>
@ -101,7 +103,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpCNProfessional; protected global::FineUIPro.DropDownList drpCNProfessional;
/// <summary> /// <summary>
/// drpQuestionType 控件。 /// drpQuestionType 控件。
/// </summary> /// </summary>
@ -110,7 +112,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpQuestionType; protected global::FineUIPro.DropDownList drpQuestionType;
/// <summary> /// <summary>
/// txtCheckSite 控件。 /// txtCheckSite 控件。
/// </summary> /// </summary>
@ -119,7 +121,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.TextBox txtCheckSite; protected global::FineUIPro.TextBox txtCheckSite;
/// <summary> /// <summary>
/// txtCheckDate 控件。 /// txtCheckDate 控件。
/// </summary> /// </summary>
@ -128,7 +130,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DatePicker txtCheckDate; protected global::FineUIPro.DatePicker txtCheckDate;
/// <summary> /// <summary>
/// drpProposeUnit 控件。 /// drpProposeUnit 控件。
/// </summary> /// </summary>
@ -137,7 +139,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpProposeUnit; protected global::FineUIPro.DropDownList drpProposeUnit;
/// <summary> /// <summary>
/// txtLimitDate 控件。 /// txtLimitDate 控件。
/// </summary> /// </summary>
@ -146,7 +148,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DatePicker txtLimitDate; protected global::FineUIPro.DatePicker txtLimitDate;
/// <summary> /// <summary>
/// txtQuestionDef 控件。 /// txtQuestionDef 控件。
/// </summary> /// </summary>
@ -155,7 +157,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.TextArea txtQuestionDef; protected global::FineUIPro.TextArea txtQuestionDef;
/// <summary> /// <summary>
/// txtRectifyOpinion 控件。 /// txtRectifyOpinion 控件。
/// </summary> /// </summary>
@ -164,7 +166,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.TextArea txtRectifyOpinion; protected global::FineUIPro.TextArea txtRectifyOpinion;
/// <summary> /// <summary>
/// Panel1 控件。 /// Panel1 控件。
/// </summary> /// </summary>
@ -173,7 +175,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Panel Panel1; protected global::FineUIPro.Panel Panel1;
/// <summary> /// <summary>
/// imgBtnFile 控件。 /// imgBtnFile 控件。
/// </summary> /// </summary>
@ -182,7 +184,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Button imgBtnFile; protected global::FineUIPro.Button imgBtnFile;
/// <summary> /// <summary>
/// ContentPanel3 控件。 /// ContentPanel3 控件。
/// </summary> /// </summary>
@ -191,7 +193,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel3; protected global::FineUIPro.ContentPanel ContentPanel3;
/// <summary> /// <summary>
/// For 控件。 /// For 控件。
/// </summary> /// </summary>
@ -200,7 +202,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Form For; protected global::FineUIPro.Form For;
/// <summary> /// <summary>
/// txtHandleWay 控件。 /// txtHandleWay 控件。
/// </summary> /// </summary>
@ -209,7 +211,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.TextArea txtHandleWay; protected global::FineUIPro.TextArea txtHandleWay;
/// <summary> /// <summary>
/// txtRectifyDate 控件。 /// txtRectifyDate 控件。
/// </summary> /// </summary>
@ -218,7 +220,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DatePicker txtRectifyDate; protected global::FineUIPro.DatePicker txtRectifyDate;
/// <summary> /// <summary>
/// Panel2 控件。 /// Panel2 控件。
/// </summary> /// </summary>
@ -227,7 +229,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Panel Panel2; protected global::FineUIPro.Panel Panel2;
/// <summary> /// <summary>
/// lblAttach 控件。 /// lblAttach 控件。
/// </summary> /// </summary>
@ -236,7 +238,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Label lblAttach; protected global::FineUIPro.Label lblAttach;
/// <summary> /// <summary>
/// btnAttach 控件。 /// btnAttach 控件。
/// </summary> /// </summary>
@ -245,7 +247,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Button btnAttach; protected global::FineUIPro.Button btnAttach;
/// <summary> /// <summary>
/// ContentPanel5 控件。 /// ContentPanel5 控件。
/// </summary> /// </summary>
@ -254,7 +256,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel5; protected global::FineUIPro.ContentPanel ContentPanel5;
/// <summary> /// <summary>
/// Form5 控件。 /// Form5 控件。
/// </summary> /// </summary>
@ -263,7 +265,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Form Form5; protected global::FineUIPro.Form Form5;
/// <summary> /// <summary>
/// rblIsAgree 控件。 /// rblIsAgree 控件。
/// </summary> /// </summary>
@ -272,7 +274,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.RadioButtonList rblIsAgree; protected global::FineUIPro.RadioButtonList rblIsAgree;
/// <summary> /// <summary>
/// drpHandleType 控件。 /// drpHandleType 控件。
/// </summary> /// </summary>
@ -281,7 +283,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpHandleType; protected global::FineUIPro.DropDownList drpHandleType;
/// <summary> /// <summary>
/// drpHandleMan 控件。 /// drpHandleMan 控件。
/// </summary> /// </summary>
@ -290,7 +292,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpHandleMan; protected global::FineUIPro.DropDownList drpHandleMan;
/// <summary> /// <summary>
/// plApprove1 控件。 /// plApprove1 控件。
/// </summary> /// </summary>
@ -299,7 +301,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.FormRow plApprove1; protected global::FineUIPro.FormRow plApprove1;
/// <summary> /// <summary>
/// txtOpinions 控件。 /// txtOpinions 控件。
/// </summary> /// </summary>
@ -308,7 +310,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.TextArea txtOpinions; protected global::FineUIPro.TextArea txtOpinions;
/// <summary> /// <summary>
/// plApprove2 控件。 /// plApprove2 控件。
/// </summary> /// </summary>
@ -317,7 +319,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.FormRow plApprove2; protected global::FineUIPro.FormRow plApprove2;
/// <summary> /// <summary>
/// gvApprove 控件。 /// gvApprove 控件。
/// </summary> /// </summary>
@ -326,7 +328,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Grid gvApprove; protected global::FineUIPro.Grid gvApprove;
/// <summary> /// <summary>
/// lbtype 控件。 /// lbtype 控件。
/// </summary> /// </summary>
@ -335,7 +337,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lbtype; protected global::System.Web.UI.WebControls.Label lbtype;
/// <summary> /// <summary>
/// Toolbar1 控件。 /// Toolbar1 控件。
/// </summary> /// </summary>
@ -344,7 +346,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Toolbar Toolbar1; protected global::FineUIPro.Toolbar Toolbar1;
/// <summary> /// <summary>
/// hdCheckControlCode 控件。 /// hdCheckControlCode 控件。
/// </summary> /// </summary>
@ -353,7 +355,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.HiddenField hdCheckControlCode; protected global::FineUIPro.HiddenField hdCheckControlCode;
/// <summary> /// <summary>
/// ToolbarFill1 控件。 /// ToolbarFill1 控件。
/// </summary> /// </summary>
@ -362,7 +364,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1; protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary> /// <summary>
/// btnSave 控件。 /// btnSave 控件。
/// </summary> /// </summary>
@ -371,7 +373,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Button btnSave; protected global::FineUIPro.Button btnSave;
/// <summary> /// <summary>
/// btnSubmit 控件。 /// btnSubmit 控件。
/// </summary> /// </summary>
@ -380,7 +382,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Button btnSubmit; protected global::FineUIPro.Button btnSubmit;
/// <summary> /// <summary>
/// hdId 控件。 /// hdId 控件。
/// </summary> /// </summary>
@ -389,7 +391,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.HiddenField hdId; protected global::FineUIPro.HiddenField hdId;
/// <summary> /// <summary>
/// hdAttachUrl 控件。 /// hdAttachUrl 控件。
/// </summary> /// </summary>
@ -398,7 +400,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.HiddenField hdAttachUrl; protected global::FineUIPro.HiddenField hdAttachUrl;
/// <summary> /// <summary>
/// Window1 控件。 /// Window1 控件。
/// </summary> /// </summary>
@ -407,7 +409,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Window Window1; protected global::FineUIPro.Window Window1;
/// <summary> /// <summary>
/// WindowAtt 控件。 /// WindowAtt 控件。
/// </summary> /// </summary>
@ -416,7 +418,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Window WindowAtt; protected global::FineUIPro.Window WindowAtt;
/// <summary> /// <summary>
/// Menu1 控件。 /// Menu1 控件。
/// </summary> /// </summary>
@ -425,7 +427,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Menu Menu1; protected global::FineUIPro.Menu Menu1;
/// <summary> /// <summary>
/// btnMenuEdit 控件。 /// btnMenuEdit 控件。
/// </summary> /// </summary>
@ -434,7 +436,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit; protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary> /// <summary>
/// btnMenuDelete 控件。 /// btnMenuDelete 控件。
/// </summary> /// </summary>

View File

@ -25,12 +25,21 @@
<Items> <Items>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="质量问题统计" EnableCollapse="true" <f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="质量问题统计" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="JointCheckDetailId" AllowCellEditing="true" runat="server" BoxFlex="1" AllowCellEditing="true"
ClicksToEdit="2" DataIDField="JointCheckDetailId" AllowSorting="true" SortField="CheckDate" ClicksToEdit="2" AllowSorting="true" SortField="CheckDate"
SortDirection="DESC" EnableColumnLines="true" ForceFit="true" SortDirection="DESC" EnableColumnLines="true" ForceFit="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowPaging="true" IsDatabasePaging="true" PageSize="10"
EnableRowDoubleClickEvent="true" AllowFilters="true" EnableTextSelection="True" OnRowCommand="Grid1_RowCommand" OnPageIndexChange="Grid1_PageIndexChange"> EnableRowDoubleClickEvent="true" AllowFilters="true" EnableTextSelection="True" OnRowCommand="Grid1_RowCommand" OnPageIndexChange="Grid1_PageIndexChange">
<Toolbars> <Toolbars>
<f:Toolbar ID="Toolbar0" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:RadioButtonList ID="rbType" Label="类型" runat="server" AutoPostBack="True" OnSelectedIndexChanged="TextBox_TextChanged" LabelAlign="right" Width="300px" LabelWidth="110px">
<f:RadioItem Text="年份" Value="0" Selected="true"/>
<f:RadioItem Text="月份" Value="1"/>
<f:RadioItem Text="专业" Value="2"/>
</f:RadioButtonList>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left"> <f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items> <Items>
<f:DropDownList ID="drpSponsorUnit" runat="server" Label="施工单位" Width="300px" EnableEdit="true" LabelAlign="right" LabelWidth="110px"> <f:DropDownList ID="drpSponsorUnit" runat="server" Label="施工单位" Width="300px" EnableEdit="true" LabelAlign="right" LabelWidth="110px">
@ -78,7 +87,7 @@
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label> <asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</f:TemplateField> </f:TemplateField>
<f:RenderField Width="180px" ColumnID="UnitName" DataField="UnitName" <%--<f:RenderField Width="180px" ColumnID="UnitName" DataField="UnitName"
SortField="UnitName" FieldType="String" HeaderText="施工单位" TextAlign="center" SortField="UnitName" FieldType="String" HeaderText="施工单位" TextAlign="center"
HeaderTextAlign="Center"> HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
@ -105,7 +114,7 @@
</f:RenderField> </f:RenderField>
<f:LinkButtonField HeaderText="问题图片" ConfirmTarget="Top" Width="80" CommandName="attchUrl" ColumnID="AttchUrl" <f:LinkButtonField HeaderText="问题图片" ConfirmTarget="Top" Width="80" CommandName="attchUrl" ColumnID="AttchUrl"
TextAlign="Center" ToolTip="问题图片" Text="问题图片" /> TextAlign="Center" ToolTip="问题图片" Text="问题图片" />
<f:RenderField Width="110px" ColumnID="HandleWay" DataField="HandleWay" <f:RenderField Width="110px" ColumnID="HandleWay" DataField="HandleWay"
FieldType="String" HeaderText="整改方案" TextAlign="Center" HeaderTextAlign="Center"> FieldType="String" HeaderText="整改方案" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
@ -116,7 +125,31 @@
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lbState" runat="server" Text='<%# ConvertState(Eval("JointCheckDetailId")) %>'></asp:Label> <asp:Label ID="lbState" runat="server" Text='<%# ConvertState(Eval("JointCheckDetailId")) %>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</f:TemplateField> </f:TemplateField>--%>
<f:RenderField Width="180px" ColumnID="TypeName" DataField="TypeName"
SortField="TypeName" FieldType="String" HeaderText="类型名称" TextAlign="center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="AllNumber" DataField="AllNumber"
SortField="AllNumber" FieldType="String" HeaderText="总数" TextAlign="center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="CompleteNumber" DataField="CompleteNumber"
SortField="CompleteNumber" FieldType="String" HeaderText="已闭合" TextAlign="center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="NCompleteNumber" DataField="NCompleteNumber"
SortField="NCompleteNumber" FieldType="String" HeaderText="处理中" TextAlign="center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="Probability" DataField="Probability"
SortField="Probability" FieldType="String" HeaderText="整改率" TextAlign="center"
HeaderTextAlign="Center">
</f:RenderField>
</Columns> </Columns>
<%--<Listeners> <%--<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" /> <f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />

View File

@ -103,11 +103,135 @@ namespace FineUIPro.Web.CQMS.Check
} }
SqlParameter[] parameter = listStr.ToArray(); SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table; // 创建一个列表来存储CheckStatisc对象
var checkStatiscList = new List<CheckStatisc>();
if (this.rbType.SelectedValue == "0")
{
// 使用LINQ对DataTable进行分组统计----年份
var query = from row in tb.AsEnumerable()
let checkDate = row.Field<DateTime>("CheckDate")
let state = row.Field<int>("OK")
group row by new { checkDate.Year, state }
into g
select new
{
Year = g.Key.Year,
State = g.Key.state,
Count = g.Count()
};
// 计算每个年份的总记录数
var yearlyTotals = query.GroupBy(q => q.Year).ToDictionary(g => g.Key, g => g.Sum(q => q.Count));
// 创建一个包含年度总数和不同State计数的结果集
var result = query.GroupBy(q => q.Year).Select(g => new
{
Year = g.Key,
YearlyTotal = yearlyTotals[g.Key],
CompleteNumber = g.Where(q => q.State == 1).Sum(q => q.Count),
NCompleteNumber = g.Where(q => q.State == 0).Sum(q => q.Count)
}).ToList();
// 遍历结果集并创建CheckStatisc对象
foreach (var item in result)
{
var checkStatisc = new CheckStatisc
{
TypeName = item.Year.ToString(),
AllNumber = item.YearlyTotal,
CompleteNumber = item.CompleteNumber,
NCompleteNumber = item.NCompleteNumber,
Probability = ((double)item.CompleteNumber / item.YearlyTotal * 100).ToString("F2") + "%"
};
checkStatiscList.Add(checkStatisc);
}
}
else if (this.rbType.SelectedValue == "1")
{
// 使用LINQ对DataTable进行分组统计----年月
var queryByMonth = from row in tb.AsEnumerable()
let checkDate = row.Field<DateTime>("CheckDate")
let state = row.Field<int>("OK")
group row by new { checkDate.Year, checkDate.Month, state }
into g
select new
{
Year = g.Key.Year,
Month = g.Key.Month,
State = g.Key.state,
Count = g.Count()
};
// 计算每个月的总记录数
var monthlyTotals = queryByMonth.GroupBy(q => new { q.Year, q.Month }).ToDictionary(
g => new { g.Key.Year, g.Key.Month },
g => g.Sum(q => q.Count));
// 创建一个包含月度总数和不同State计数的结果集
var resultByMonth = queryByMonth.GroupBy(q => new { q.Year, q.Month }).Select(g => new
{
Year = g.Key.Year,
Month = g.Key.Month,
MonthlyTotal = monthlyTotals[g.Key],
CompleteNumber = g.Where(q => q.State == 1).Sum(q => q.Count),
NCompleteNumber = g.Where(q => q.State == 0).Sum(q => q.Count)
}).ToList();
// 遍历结果集并创建CheckStatisc对象
foreach (var item in resultByMonth)
{
var checkStatisc = new CheckStatisc
{
TypeName = $"{item.Year}年{item.Month:D2}月",
AllNumber = item.MonthlyTotal,
CompleteNumber = item.CompleteNumber,
NCompleteNumber = item.NCompleteNumber,
Probability = ((double)item.CompleteNumber / item.MonthlyTotal * 100).ToString("F2") + "%"
};
checkStatiscList.Add(checkStatisc);
}
}
else if (this.rbType.SelectedValue == "2")
{
// 使用LINQ对DataTable进行分组统计----专业名称
var queryByProfessionalName = from row in tb.AsEnumerable()
let professionalName = row.Field<string>("ProfessionalName")
let state = row.Field<int>("OK")
group row by professionalName
into g
select new
{
ProfessionalName = g.Key,
TotalCount = g.Count(),
CompleteCount = g.Count(q => q.Field<int>("OK") == 1),
IncompleteCount = g.Count(q => q.Field<int>("OK") != 0)
};
// 遍历结果集并创建CheckStatisc对象
foreach (var item in queryByProfessionalName)
{
var checkStatisc = new CheckStatisc
{
TypeName = item.ProfessionalName,
AllNumber = item.TotalCount,
CompleteNumber = item.CompleteCount,
NCompleteNumber = item.IncompleteCount,
Probability = ((double)item.CompleteCount / item.TotalCount * 100).ToString("F2") + "%"
};
checkStatiscList.Add(checkStatisc);
}
}
checkStatiscList = checkStatiscList.OrderBy(cs => cs.TypeName).ToList();
Grid1.RecordCount = checkStatiscList.Count;
Grid1.DataSource = checkStatiscList;
// Grid1.RecordCount = tb.Rows.Count;
// tb = GetFilteredTable(Grid1.FilteredData, tb);
// var table = this.GetPagedDataTable(Grid1, tb);
//
// Grid1.DataSource = table;
Grid1.DataBind(); Grid1.DataBind();
} }
/// <summary> /// <summary>
@ -118,6 +242,7 @@ namespace FineUIPro.Web.CQMS.Check
protected string ConvertState(object JointCheckDetailId) protected string ConvertState(object JointCheckDetailId)
{ {
Model.Check_JointCheckDetail jointCheckDetail = BLL.JointCheckDetailService.GetJointCheckDetailByJointCheckDetailId(JointCheckDetailId.ToString()); Model.Check_JointCheckDetail jointCheckDetail = BLL.JointCheckDetailService.GetJointCheckDetailByJointCheckDetailId(JointCheckDetailId.ToString());
// Model.View_Check_JointCheckDetail jointCheckDetail = Funs.DB.View_Check_JointCheckDetail.Where(x => x.JointCheckDetailId == JointCheckDetailId).FirstOrDefault();
if (jointCheckDetail != null) if (jointCheckDetail != null)
{ {
if (!string.IsNullOrEmpty(jointCheckDetail.State)) if (!string.IsNullOrEmpty(jointCheckDetail.State))
@ -489,5 +614,25 @@ namespace FineUIPro.Web.CQMS.Check
// return sb.ToString(); // return sb.ToString();
// } // }
#endregion #endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
public class CheckStatisc
{
public string TypeName { get; set; }//年份
public int AllNumber { get; set; }//总数
public int CompleteNumber { get; set; }//已完成数
public int NCompleteNumber { get; set; }//未完成数
public string Probability { get; set; }//百分比
}
} }
} }

View File

@ -7,11 +7,13 @@
// </自动生成> // </自动生成>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace FineUIPro.Web.CQMS.Check { namespace FineUIPro.Web.CQMS.Check
{
public partial class JointCheckStatistics {
public partial class JointCheckStatistics
{
/// <summary> /// <summary>
/// form1 控件。 /// form1 控件。
/// </summary> /// </summary>
@ -20,7 +22,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1; protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary> /// <summary>
/// PageManager1 控件。 /// PageManager1 控件。
/// </summary> /// </summary>
@ -29,7 +31,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.PageManager PageManager1; protected global::FineUIPro.PageManager PageManager1;
/// <summary> /// <summary>
/// Panel1 控件。 /// Panel1 控件。
/// </summary> /// </summary>
@ -38,7 +40,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Panel Panel1; protected global::FineUIPro.Panel Panel1;
/// <summary> /// <summary>
/// Grid1 控件。 /// Grid1 控件。
/// </summary> /// </summary>
@ -47,7 +49,25 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Grid Grid1; protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar0 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar0;
/// <summary>
/// rbType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rbType;
/// <summary> /// <summary>
/// Toolbar1 控件。 /// Toolbar1 控件。
/// </summary> /// </summary>
@ -56,7 +76,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Toolbar Toolbar1; protected global::FineUIPro.Toolbar Toolbar1;
/// <summary> /// <summary>
/// drpSponsorUnit 控件。 /// drpSponsorUnit 控件。
/// </summary> /// </summary>
@ -65,7 +85,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpSponsorUnit; protected global::FineUIPro.DropDownList drpSponsorUnit;
/// <summary> /// <summary>
/// txtStartTime 控件。 /// txtStartTime 控件。
/// </summary> /// </summary>
@ -74,7 +94,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DatePicker txtStartTime; protected global::FineUIPro.DatePicker txtStartTime;
/// <summary> /// <summary>
/// txtEndTime 控件。 /// txtEndTime 控件。
/// </summary> /// </summary>
@ -83,7 +103,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DatePicker txtEndTime; protected global::FineUIPro.DatePicker txtEndTime;
/// <summary> /// <summary>
/// drpUnitWork 控件。 /// drpUnitWork 控件。
/// </summary> /// </summary>
@ -92,7 +112,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpUnitWork; protected global::FineUIPro.DropDownList drpUnitWork;
/// <summary> /// <summary>
/// Toolbar2 控件。 /// Toolbar2 控件。
/// </summary> /// </summary>
@ -101,7 +121,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Toolbar Toolbar2; protected global::FineUIPro.Toolbar Toolbar2;
/// <summary> /// <summary>
/// drpCNProfessional 控件。 /// drpCNProfessional 控件。
/// </summary> /// </summary>
@ -110,7 +130,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpCNProfessional; protected global::FineUIPro.DropDownList drpCNProfessional;
/// <summary> /// <summary>
/// drpCheckType 控件。 /// drpCheckType 控件。
/// </summary> /// </summary>
@ -119,7 +139,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpCheckType; protected global::FineUIPro.DropDownList drpCheckType;
/// <summary> /// <summary>
/// drpState 控件。 /// drpState 控件。
/// </summary> /// </summary>
@ -128,7 +148,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpState; protected global::FineUIPro.DropDownList drpState;
/// <summary> /// <summary>
/// drpQuestionType 控件。 /// drpQuestionType 控件。
/// </summary> /// </summary>
@ -137,7 +157,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpQuestionType; protected global::FineUIPro.DropDownList drpQuestionType;
/// <summary> /// <summary>
/// btnSearch 控件。 /// btnSearch 控件。
/// </summary> /// </summary>
@ -146,7 +166,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Button btnSearch; protected global::FineUIPro.Button btnSearch;
/// <summary> /// <summary>
/// btnRset 控件。 /// btnRset 控件。
/// </summary> /// </summary>
@ -155,7 +175,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Button btnRset; protected global::FineUIPro.Button btnRset;
/// <summary> /// <summary>
/// btnOut 控件。 /// btnOut 控件。
/// </summary> /// </summary>
@ -164,7 +184,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.Button btnOut; protected global::FineUIPro.Button btnOut;
/// <summary> /// <summary>
/// lblPageIndex 控件。 /// lblPageIndex 控件。
/// </summary> /// </summary>
@ -173,16 +193,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex; protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// lbState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbState;
/// <summary> /// <summary>
/// ToolbarSeparator1 控件。 /// ToolbarSeparator1 控件。
/// </summary> /// </summary>
@ -191,7 +202,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary> /// <summary>
/// ToolbarText1 控件。 /// ToolbarText1 控件。
/// </summary> /// </summary>
@ -200,7 +211,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1; protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary> /// <summary>
/// ddlPageSize 控件。 /// ddlPageSize 控件。
/// </summary> /// </summary>
@ -209,7 +220,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize; protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary> /// <summary>
/// Window1 控件。 /// Window1 控件。
/// </summary> /// </summary>