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>
</ItemTemplate>
</f:TemplateField>
<f:RenderField ColumnID="DocCode" DataField="DocCode"
SortField="DocCode" FieldType="String" HeaderText="质量巡检编号" TextAlign="Left" MinWidth="140px"
HeaderTextAlign="Center">
<f:RenderField Width="120px" ColumnID="CheckDate" DataField="CheckDate" SortField="CheckDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="检查日期" TextAlign="Center" HeaderTextAlign="Center">
</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"
HeaderTextAlign="Center">
</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"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="ProfessionalName" DataField="ProfessionalName" SortField="ProfessionalName"
FieldType="String" HeaderText="专业" TextAlign="Center" HeaderTextAlign="Center">
</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">
</f:RenderField>
<f:RenderField Width="70px" ColumnID="CheckSite" DataField="CheckSite" SortField="CheckSite"
FieldType="String" HeaderText="部位" TextAlign="Center" HeaderTextAlign="Center">
<f:TemplateField ColumnID="tfImageUrl1" Width="120px" HeaderText="整改前(照片)" 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 Width="95px" ColumnID="CheckDate" DataField="CheckDate" SortField="CheckDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="巡检日期" TextAlign="Center" HeaderTextAlign="Center">
<f:RenderField Width="120px" ColumnID="RectifyOpinion" DataField="RectifyOpinion" SortField="RectifyOpinion"
FieldType="String" HeaderText="整改意见" TextAlign="Center" HeaderTextAlign="Center">
</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">
</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">
</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">
<ItemTemplate>
<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>
</ItemTemplate>
</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">
<ItemTemplate>
<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()
{
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,"
+ @" unit.UnitName,unitWork.UnitWorkName,u.userName "
+ @" FROM Check_CheckControl chec"
@ -337,15 +337,17 @@ namespace FineUIPro.Web.CQMS.Check
{
if (checks.State.Equals(Const.CheckControl_Complete))
{
Alert.ShowInTop("您不是当前办理人,无法编辑,请右键查看!", MessageBoxIcon.Warning);
Alert.ShowInTop("当前数据已闭环,无法编辑,请右键查看!", MessageBoxIcon.Warning);
return;
}
//验证当前登录人是否是质量经理/施工经理
bool isAuthenticated = authenticatedUser();
Model.Check_CheckControlApprove approve = BLL.CheckControlApproveService.GetCheckControlApproveByCheckControlId(codes);
if (approve != null)
{
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, "编辑 - ")));
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
{
Alert.ShowInTop("您不是当前办理人,无法编辑,请右键查看!", MessageBoxIcon.Warning);
@ -386,7 +393,57 @@ namespace FineUIPro.Web.CQMS.Check
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
#region
@ -796,5 +853,45 @@ namespace FineUIPro.Web.CQMS.Check
}
}
#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 {
public partial class CheckList {
namespace FineUIPro.Web.CQMS.Check
{
public partial class CheckList
{
/// <summary>
/// form1 控件。
/// </summary>
@ -20,7 +22,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@ -29,7 +31,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
@ -38,7 +40,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
@ -47,7 +49,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
@ -56,7 +58,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// drpSponsorUnit 控件。
/// </summary>
@ -65,7 +67,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpSponsorUnit;
/// <summary>
/// drpUnitWork 控件。
/// </summary>
@ -74,7 +76,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnitWork;
/// <summary>
/// drpCNProfessional 控件。
/// </summary>
@ -83,7 +85,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpCNProfessional;
/// <summary>
/// drpQuestionType 控件。
/// </summary>
@ -92,7 +94,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpQuestionType;
/// <summary>
/// Toolbar2 控件。
/// </summary>
@ -101,7 +103,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// dpHandelStatus 控件。
/// </summary>
@ -110,7 +112,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList dpHandelStatus;
/// <summary>
/// txtStartTime 控件。
/// </summary>
@ -119,7 +121,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime;
/// <summary>
/// txtEndTime 控件。
/// </summary>
@ -128,7 +130,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime;
/// <summary>
/// btnQuery 控件。
/// </summary>
@ -137,7 +139,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// btnRset 控件。
/// </summary>
@ -146,7 +148,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnRset;
/// <summary>
/// btnNew 控件。
/// </summary>
@ -155,7 +157,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnOut 控件。
/// </summary>
@ -164,7 +166,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
@ -173,7 +175,25 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
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>
/// lblState 控件。
/// </summary>
@ -182,7 +202,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblState;
/// <summary>
/// lblAuditMan 控件。
/// </summary>
@ -191,7 +211,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblAuditMan;
/// <summary>
/// lblState2 控件。
/// </summary>
@ -200,7 +220,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblState2;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
@ -209,7 +229,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
@ -218,7 +238,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
@ -227,7 +247,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
@ -236,7 +256,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
@ -245,7 +265,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuModify 控件。
/// </summary>
@ -254,7 +274,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuModify;
/// <summary>
/// btnMenuView 控件。
/// </summary>
@ -263,7 +283,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuView;
/// <summary>
/// btnMenuDel 控件。
/// </summary>

View File

@ -170,7 +170,7 @@
</f:FormRow>
<f:FormRow>
<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">
<f:Form ID="Form5" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
@ -187,9 +187,9 @@
<f:FormRow>
<Items>
<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 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>
</Items>
</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)
{
this.drpUnit.Enabled = false;
this.drpProposeUnit.Enabled = false;
this.drpUnitWork.Enabled = false;
this.drpCNProfessional.Enabled = false;
this.drpQuestionType.Enabled = false;
this.txtCheckSite.Enabled = false;
this.txtCheckDate.Enabled = false;
this.txtQuestionDef.Enabled = false;
this.txtRectifyOpinion.Enabled = false;
this.txtLimitDate.Enabled = false;
txtDocCode.Enabled = false;
txtProjectName.Enabled = false;
// this.drpUnit.Enabled = false;
// this.drpProposeUnit.Enabled = false;
// this.drpUnitWork.Enabled = false;
// this.drpCNProfessional.Enabled = false;
// this.drpQuestionType.Enabled = false;
// this.txtCheckSite.Enabled = false;
// this.txtCheckDate.Enabled = false;
// this.txtQuestionDef.Enabled = false;
// this.txtRectifyOpinion.Enabled = false;
// this.txtLimitDate.Enabled = false;
// txtDocCode.Enabled = false;
// txtProjectName.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)
{
this.txtHandleWay.Enabled = false;
this.txtRectifyDate.Enabled = false;
if (State == BLL.Const.CheckControl_ReCompile)
{
this.btnAttach.Enabled = false;
}
// this.txtHandleWay.Enabled = false;
// this.txtRectifyDate.Enabled = false;
// if (State == BLL.Const.CheckControl_ReCompile)
// {
// this.btnAttach.Enabled = false;
// }
//btnAttach.Enabled = false;
//lblAttach.Enabled = false;
}
if (State == BLL.Const.CheckControl_Audit4 || State == BLL.Const.CheckControl_Audit5)
{
this.txtHandleWay.Enabled = false;
this.txtRectifyDate.Enabled = false;
// this.txtHandleWay.Enabled = false;
// this.txtRectifyDate.Enabled = false;
//btnAttach.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)
{
this.rblIsAgree.Visible = false;
txtDocCode.Enabled = false;
// this.rblIsAgree.Visible = false;
// txtDocCode.Enabled = false;
}
//设置流程上是否有同意不同意
@ -347,6 +347,35 @@ namespace FineUIPro.Web.CQMS.Check
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)
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)
{
//判断是否上传整改前后图片
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))
{
SavePauseNotice("submit");

View File

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

View File

@ -25,12 +25,21 @@
<Items>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="质量问题统计" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="JointCheckDetailId" AllowCellEditing="true"
ClicksToEdit="2" DataIDField="JointCheckDetailId" AllowSorting="true" SortField="CheckDate"
runat="server" BoxFlex="1" AllowCellEditing="true"
ClicksToEdit="2" AllowSorting="true" SortField="CheckDate"
SortDirection="DESC" EnableColumnLines="true" ForceFit="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="10"
EnableRowDoubleClickEvent="true" AllowFilters="true" EnableTextSelection="True" OnRowCommand="Grid1_RowCommand" OnPageIndexChange="Grid1_PageIndexChange">
<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">
<Items>
<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>
</ItemTemplate>
</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"
HeaderTextAlign="Center">
</f:RenderField>
@ -105,7 +114,7 @@
</f:RenderField>
<f:LinkButtonField HeaderText="问题图片" ConfirmTarget="Top" Width="80" CommandName="attchUrl" ColumnID="AttchUrl"
TextAlign="Center" ToolTip="问题图片" Text="问题图片" />
<f:RenderField Width="110px" ColumnID="HandleWay" DataField="HandleWay"
FieldType="String" HeaderText="整改方案" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
@ -116,7 +125,31 @@
<ItemTemplate>
<asp:Label ID="lbState" runat="server" Text='<%# ConvertState(Eval("JointCheckDetailId")) %>'></asp:Label>
</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>
<%--<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />

View File

@ -103,11 +103,135 @@ namespace FineUIPro.Web.CQMS.Check
}
SqlParameter[] parameter = listStr.ToArray();
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();
}
/// <summary>
@ -118,6 +242,7 @@ namespace FineUIPro.Web.CQMS.Check
protected string ConvertState(object JointCheckDetailId)
{
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 (!string.IsNullOrEmpty(jointCheckDetail.State))
@ -489,5 +614,25 @@ namespace FineUIPro.Web.CQMS.Check
// return sb.ToString();
// }
#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 {
public partial class JointCheckStatistics {
namespace FineUIPro.Web.CQMS.Check
{
public partial class JointCheckStatistics
{
/// <summary>
/// form1 控件。
/// </summary>
@ -20,7 +22,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@ -29,7 +31,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
@ -38,7 +40,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
@ -47,7 +49,25 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
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>
/// Toolbar1 控件。
/// </summary>
@ -56,7 +76,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// drpSponsorUnit 控件。
/// </summary>
@ -65,7 +85,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpSponsorUnit;
/// <summary>
/// txtStartTime 控件。
/// </summary>
@ -74,7 +94,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime;
/// <summary>
/// txtEndTime 控件。
/// </summary>
@ -83,7 +103,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime;
/// <summary>
/// drpUnitWork 控件。
/// </summary>
@ -92,7 +112,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnitWork;
/// <summary>
/// Toolbar2 控件。
/// </summary>
@ -101,7 +121,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// drpCNProfessional 控件。
/// </summary>
@ -110,7 +130,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpCNProfessional;
/// <summary>
/// drpCheckType 控件。
/// </summary>
@ -119,7 +139,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpCheckType;
/// <summary>
/// drpState 控件。
/// </summary>
@ -128,7 +148,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpState;
/// <summary>
/// drpQuestionType 控件。
/// </summary>
@ -137,7 +157,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpQuestionType;
/// <summary>
/// btnSearch 控件。
/// </summary>
@ -146,7 +166,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSearch;
/// <summary>
/// btnRset 控件。
/// </summary>
@ -155,7 +175,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnRset;
/// <summary>
/// btnOut 控件。
/// </summary>
@ -164,7 +184,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
@ -173,16 +193,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// lbState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbState;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
@ -191,7 +202,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
@ -200,7 +211,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
@ -209,7 +220,7 @@ namespace FineUIPro.Web.CQMS.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>