五环大屏;进度管理;等

This commit is contained in:
夏菊 2025-05-24 14:48:16 +08:00
parent 3e6008ee29
commit f135a948da
42 changed files with 1513 additions and 122 deletions

View File

@ -0,0 +1,13 @@
--
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'JDGL_MonthPlan' AND COLUMN_NAME = 'IsOK')
BEGIN
ALTER TABLE JDGL_MonthPlan ADD IsOK bit;
END
GO
update JDGL_MonthPlan set IsOK =1 where RealDate is not null
update JDGL_MonthPlan set IsOK =0 where RealDate is null
GO

View File

@ -574,35 +574,40 @@ namespace BLL
public static string WorkPost_Fitter2 = "F49B8430-AC71-40B2-86A3-6825C73F59E5"; public static string WorkPost_Fitter2 = "F49B8430-AC71-40B2-86A3-6825C73F59E5";
/// <summary> /// <summary>
/// 焊工岗位Id /// 焊工岗位Id——管道焊工
/// </summary> /// </summary>
public static string WorkPost_Welder = "97afac2d-7ffb-49de-bf15-4b49ef24df63"; public static string WorkPost_Welder = "97afac2d-7ffb-49de-bf15-4b49ef24df63";
/// <summary> /// <summary>
/// 焊工岗位Id /// 焊工岗位Id——结构焊工
/// </summary> /// </summary>
public static string WorkPost_Welder1 = "16c736b6-7ee1-4069-8b57-1a658e6a615f"; public static string WorkPost_Welder1 = "16c736b6-7ee1-4069-8b57-1a658e6a615f";
/// <summary> /// <summary>
/// 焊工岗位Id /// 焊工岗位Id——设备焊工
/// </summary> /// </summary>
public static string WorkPost_Welder2 = "36644e8c-0593-4ca7-880f-6a55510c51a1"; public static string WorkPost_Welder2 = "36644e8c-0593-4ca7-880f-6a55510c51a1";
/// <summary> /// <summary>
/// 焊工岗位Id /// 焊工岗位Id——电焊工
/// </summary> /// </summary>
public static string WorkPost_Welder3 = "5383f797-da4a-4547-b2aa-905a99c1bcfa"; public static string WorkPost_Welder3 = "5383f797-da4a-4547-b2aa-905a99c1bcfa";
/// <summary> /// <summary>
/// 焊工岗位Id /// 焊工岗位Id——管道焊工
/// </summary> /// </summary>
public static string WorkPost_Welder4 = "97afac2d-7ffb-49de-bf15-4b49ef24df63"; public static string WorkPost_Welder4 = "97afac2d-7ffb-49de-bf15-4b49ef24df63";
/// <summary> /// <summary>
/// 焊工岗位Id /// 焊工岗位Id——其他焊工
/// </summary> /// </summary>
public static string WorkPost_Welder5 = "F8CD2EB0-1D46-422B-A21C-331669B2CF6C"; public static string WorkPost_Welder5 = "F8CD2EB0-1D46-422B-A21C-331669B2CF6C";
/// <summary>
/// 焊工岗位Id——工艺焊工
/// </summary>
public static string WorkPost_Welder6 = "4ACC633F-BD81-4CBB-9058-A4E4DFFE7881";
/// <summary> /// <summary>
/// 铆工岗位Id /// 铆工岗位Id
/// </summary> /// </summary>

View File

@ -122,7 +122,7 @@ namespace BLL
/// <param name="PageSize">每页数量</param> /// <param name="PageSize">每页数量</param>
/// <returns></returns> /// <returns></returns>
public static IEnumerable getListData(string projectId, string unitId, string personName, string identityCard, string treamGroupId, string workPostIds, public static IEnumerable getListData(string projectId, string unitId, string personName, string identityCard, string treamGroupId, string workPostIds,
bool ckTrain, string postType, bool ckJT, bool ckIdCardInfoNotOK, Grid Grid1,bool isBlack=false) bool ckTrain, string postType, bool ckJT, bool ckIdCardInfoNotOK, bool chManager, Grid Grid1,bool isBlack=false)
{ {
IQueryable<Model.View_SitePerson_Person> getPersonList = getPersonLists.Where(x => x.ProjectId == projectId); IQueryable<Model.View_SitePerson_Person> getPersonList = getPersonLists.Where(x => x.ProjectId == projectId);
if (!string.IsNullOrEmpty(unitId)) if (!string.IsNullOrEmpty(unitId))
@ -180,6 +180,10 @@ namespace BLL
{ {
getPersonList = getPersonList.Where(x => x.RealNameAddTime == null); getPersonList = getPersonList.Where(x => x.RealNameAddTime == null);
} }
if (chManager)
{
getPersonList = getPersonList.Where(x => x.PostType == Const.PostType_1);
}
if (ckIdCardInfoNotOK) if (ckIdCardInfoNotOK)
{ {
getPersonList = getPersonList.Where(x => x.IdentityCard == null || x.HeadImage == null || (x.IdentityCard.Length != 15 && x.IdentityCard.Length != 18)); getPersonList = getPersonList.Where(x => x.IdentityCard == null || x.HeadImage == null || (x.IdentityCard.Length != 15 && x.IdentityCard.Length != 18));

View File

@ -49,6 +49,7 @@ namespace BLL
PlanDate = MonthPlan.PlanDate, PlanDate = MonthPlan.PlanDate,
DutyPerson = MonthPlan.DutyPerson, DutyPerson = MonthPlan.DutyPerson,
RealDate = MonthPlan.RealDate, RealDate = MonthPlan.RealDate,
IsOK = MonthPlan.IsOK,
Remark = MonthPlan.Remark, Remark = MonthPlan.Remark,
CompileMan = MonthPlan.CompileMan, CompileMan = MonthPlan.CompileMan,
CompileDate = MonthPlan.CompileDate, CompileDate = MonthPlan.CompileDate,
@ -73,6 +74,7 @@ namespace BLL
newMonthPlan.PlanDate = MonthPlan.PlanDate; newMonthPlan.PlanDate = MonthPlan.PlanDate;
newMonthPlan.DutyPerson = MonthPlan.DutyPerson; newMonthPlan.DutyPerson = MonthPlan.DutyPerson;
newMonthPlan.RealDate = MonthPlan.RealDate; newMonthPlan.RealDate = MonthPlan.RealDate;
newMonthPlan.IsOK = MonthPlan.IsOK;
newMonthPlan.Remark = MonthPlan.Remark; newMonthPlan.Remark = MonthPlan.Remark;
newMonthPlan.CompileMan = MonthPlan.CompileMan; newMonthPlan.CompileMan = MonthPlan.CompileMan;
newMonthPlan.CompileDate = MonthPlan.CompileDate; newMonthPlan.CompileDate = MonthPlan.CompileDate;

View File

@ -189,7 +189,7 @@ namespace BLL
/// 项目OBS查询接口 /// 项目OBS查询接口
/// </summary> /// </summary>
/// <param name="proId">项目Id</param> /// <param name="proId">项目Id</param>
public static List<Model.PMPOBSOutInput> GetPMPProjectOBSMasterData(string proId) public static List<Model.PMPOBSOutInput> GetPMPProjectOBSData(string proId)
{ {
string url = $"{PmpApiUrl}/api/standard/dis/query_all"; string url = $"{PmpApiUrl}/api/standard/dis/query_all";
var token = GetToken(); var token = GetToken();

View File

@ -31,7 +31,7 @@
<Items> <Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="各项目基本情况" EnableCollapse="true" <f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="各项目基本情况" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ProjectId" DataIDField="ProjectId" AllowSorting="true" MarginRight="15px" runat="server" BoxFlex="1" DataKeyNames="ProjectId" DataIDField="ProjectId" AllowSorting="true" MarginRight="15px"
SortField="ProjectName" SortDirection="ASC" OnSort="Grid1_Sort" EnableColumnLines="true" AllowPaging="true" SortField="ProjectCode" SortDirection="ASC" OnSort="Grid1_Sort" EnableColumnLines="true" AllowPaging="true"
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange" ForceFit="true" IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange" ForceFit="true"
EnableTextSelection="True"> EnableTextSelection="True">
<Toolbars> <Toolbars>
@ -53,7 +53,7 @@
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label> <asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</f:TemplateField> </f:TemplateField>
<f:RenderField Width="120px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left" <f:RenderField Width="100px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left"
HeaderTextAlign="Center"> HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="450px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left" <f:RenderField Width="450px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left"
@ -83,9 +83,9 @@
</f:Tab> </f:Tab>
<f:Tab ID="Tab2" Title="月度计划统计" BodyPadding="5px" Layout="VBox" IconFont="Bookmark" runat="server"> <f:Tab ID="Tab2" Title="月度计划统计" BodyPadding="5px" Layout="VBox" IconFont="Bookmark" runat="server">
<Items> <Items>
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="各项目基本情况" EnableCollapse="true" <f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="月度计划统计" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ProjectId" DataIDField="ProjectId" AllowSorting="true" MarginRight="15px" runat="server" BoxFlex="1" DataKeyNames="ProjectId" DataIDField="ProjectId" AllowSorting="true" MarginRight="15px"
SortField="ProjectName" SortDirection="ASC" OnSort="Grid2_Sort" EnableColumnLines="true" AllowPaging="true" SortField="ProjectCode" SortDirection="ASC" OnSort="Grid2_Sort" EnableColumnLines="true" AllowPaging="true"
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid2_PageIndexChange" ForceFit="true" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid2_RowDoubleClick" IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid2_PageIndexChange" ForceFit="true" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid2_RowDoubleClick"
EnableTextSelection="True"> EnableTextSelection="True">
<Toolbars> <Toolbars>
@ -110,10 +110,10 @@
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center" <f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center"> TextAlign="Center">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label> <asp:Label ID="Label1" runat="server" Text='<%# Grid2.PageIndex * Grid2.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</f:TemplateField> </f:TemplateField>
<f:RenderField Width="150px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left" <f:RenderField Width="100px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left"
HeaderTextAlign="Center"> HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="350px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left" <f:RenderField Width="350px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left"
@ -160,9 +160,9 @@
</f:Tab> </f:Tab>
<f:Tab ID="Tab3" Title="周度计划统计" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server"> <f:Tab ID="Tab3" Title="周度计划统计" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server">
<Items> <Items>
<f:Grid ID="Grid3" ShowBorder="true" ShowHeader="false" Title="各项目基本情况" EnableCollapse="true" <f:Grid ID="Grid3" ShowBorder="true" ShowHeader="false" Title="周度计划统计" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ProjectId" DataIDField="ProjectId" AllowSorting="true" MarginRight="15px" runat="server" BoxFlex="1" DataKeyNames="ProjectId" DataIDField="ProjectId" AllowSorting="true" MarginRight="15px"
SortField="ProjectName" SortDirection="ASC" OnSort="Grid3_Sort" EnableColumnLines="true" AllowPaging="true" SortField="ProjectCode" SortDirection="ASC" OnSort="Grid3_Sort" EnableColumnLines="true" AllowPaging="true"
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid3_PageIndexChange" ForceFit="true" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid3_RowDoubleClick" IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid3_PageIndexChange" ForceFit="true" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid3_RowDoubleClick"
EnableTextSelection="True"> EnableTextSelection="True">
<Toolbars> <Toolbars>
@ -184,10 +184,10 @@
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center" <f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center"> TextAlign="Center">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label> <asp:Label ID="Label2" runat="server" Text='<%# Grid3.PageIndex * Grid3.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</f:TemplateField> </f:TemplateField>
<f:RenderField Width="150px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left" <f:RenderField Width="100px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left"
HeaderTextAlign="Center"> HeaderTextAlign="Center">
</f:RenderField> </f:RenderField>
<f:RenderField Width="350px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left" <f:RenderField Width="350px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left"
@ -232,6 +232,93 @@
</f:Grid> </f:Grid>
</Items> </Items>
</f:Tab> </f:Tab>
<f:Tab ID="Tab4" Title="实物工程量统计" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server">
<Items>
<f:Grid ID="Grid4" ShowBorder="true" ShowHeader="false" Title="实物工程量统计" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="QuantityCompletionId" DataIDField="QuantityCompletionId" AllowSorting="true" MarginRight="15px"
SortField="ProjectCode,Name" SortDirection="ASC" OnSort="Grid4_Sort" EnableColumnLines="true" AllowPaging="true"
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid4_PageIndexChange" ForceFit="true"
EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar4" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList ID="drpProject4" runat="server" Label="项目" Width="400px" LabelWidth="80px" LabelAlign="Right"
EnableEdit="true" OnSelectedIndexChanged="TextBox4_TextChanged" AutoPostBack="true">
</f:DropDownList>
<f:TextBox runat="server" ID="txtTypeName" Label="类型" LabelWidth="150px" LabelAlign="Right" AutoPostBack="true" OnTextChanged="TextBox4_TextChanged"></f:TextBox>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="Button3" EnablePostBack="false" ToolTip="关闭" Text="关闭" runat="server" Icon="SystemClose" OnClientClick="closeNow();">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Grid4.PageIndex * Grid4.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="350px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="Name" ExpandUnusedSpace="true" DataField="Name" FieldType="String" HeaderText="类型" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="Unit" ExpandUnusedSpace="true" DataField="Unit" FieldType="String" HeaderText="单位" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="DesignNum" ExpandUnusedSpace="true" DataField="DesignNum" FieldType="String" HeaderText="设计数量" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:GroupField HeaderText="本期完成情况" TextAlign="Center">
<Columns>
<f:RenderField Width="100px" ColumnID="PlanNum" DataField="PlanNum" FieldType="String" HeaderText="计划项" TextAlign="Right"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealNum" DataField="RealNum" FieldType="String" HeaderText="实际完成" TextAlign="Right"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Rate" DataField="Rate" FieldType="String" HeaderText="完成率(%)" TextAlign="Right"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="NextNum" DataField="NextNum" FieldType="String" HeaderText="下月计划" TextAlign="Right"
HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="累计完成情况" TextAlign="Center">
<Columns>
<f:RenderField Width="100px" ColumnID="TotalPlanNum" DataField="TotalPlanNum" FieldType="String" HeaderText="计划项" TextAlign="Right"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="TotalRealNum" DataField="TotalRealNum" FieldType="String" HeaderText="实际完成" TextAlign="Right"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="TotalRate" DataField="TotalRate" FieldType="String" HeaderText="完成率(%)" TextAlign="Right"
HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:GroupField>
<f:RenderField Width="120px" ColumnID="SumRate" ExpandUnusedSpace="true" DataField="SumRate" FieldType="String" HeaderText="完成率(%)" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
</Columns>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator4" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText4" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize4" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize4_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Tab>
<f:Tab ID="TabOnlineMenuSet" Title="个人完成情况统计" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server" Hidden="True"> <f:Tab ID="TabOnlineMenuSet" Title="个人完成情况统计" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server" Hidden="True">
<Items> <Items>
</Items> </Items>

View File

@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.Data; using System.Data;
using System.Data.SqlClient; using System.Data.SqlClient;
using System.Linq; using System.Linq;
using System.Text;
namespace FineUIPro.Web.DataShow namespace FineUIPro.Web.DataShow
{ {
@ -16,14 +17,17 @@ namespace FineUIPro.Web.DataShow
Funs.DropDownPageSize(this.ddlPageSize); Funs.DropDownPageSize(this.ddlPageSize);
Funs.DropDownPageSize(this.ddlPageSize2); Funs.DropDownPageSize(this.ddlPageSize2);
Funs.DropDownPageSize(this.ddlPageSize3); Funs.DropDownPageSize(this.ddlPageSize3);
Funs.DropDownPageSize(this.ddlPageSize4);
ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
ddlPageSize2.SelectedValue = Grid2.PageSize.ToString(); ddlPageSize2.SelectedValue = Grid2.PageSize.ToString();
ddlPageSize3.SelectedValue = Grid3.PageSize.ToString(); ddlPageSize3.SelectedValue = Grid3.PageSize.ToString();
ddlPageSize4.SelectedValue = Grid4.PageSize.ToString();
BLL.ProjectService.InitProjectDropDownList(this.drpProject, true); BLL.ProjectService.InitProjectDropDownList(this.drpProject, true);
BLL.ProjectService.InitProjectDropDownList(this.drpProject2, true); BLL.ProjectService.InitProjectDropDownList(this.drpProject2, true);
BLL.UserService.InitSGBUser(this.drpDutyPerson2, true); BLL.UserService.InitSGBUser(this.drpDutyPerson2, true);
BLL.ProjectService.InitProjectDropDownList(this.drpProject3, true); BLL.ProjectService.InitProjectDropDownList(this.drpProject3, true);
BLL.UserService.InitSGBUser(this.drpDutyPerson3, true); BLL.UserService.InitSGBUser(this.drpDutyPerson3, true);
BLL.ProjectService.InitProjectDropDownList(this.drpProject4, true);
BindGrid1(); BindGrid1();
//统计月份信息 //统计月份信息
@ -60,7 +64,7 @@ left join (
where w.RealDate is not null and w.RealDate<=w.PlanDate where w.RealDate is not null and w.RealDate<=w.PlanDate
GROUP BY w.ProjectId GROUP BY w.ProjectId
) AS MonthPlanOK ON MonthPlanOK.ProjectId=p.ProjectId ) AS MonthPlanOK ON MonthPlanOK.ProjectId=p.ProjectId
where ProjectState =1 "; where isnull(p.ProjectState,1)=1 ";
List<SqlParameter> listStr = new List<SqlParameter>(); List<SqlParameter> listStr = new List<SqlParameter>();
string cpara = string.Empty; string cpara = string.Empty;
if (this.drpProject.SelectedValue != Const._Null) if (this.drpProject.SelectedValue != Const._Null)
@ -104,11 +108,18 @@ left join (
tb.Columns.Add(new DataColumn("TotalRate", typeof(decimal))); tb.Columns.Add(new DataColumn("TotalRate", typeof(decimal)));
Model.SGGLDB db = Funs.DB; Model.SGGLDB db = Funs.DB;
var projects = from x in db.Base_Project where x.ProjectState == "1" orderby x.ProjectName select x; var projects = from x in db.Base_Project where x.ProjectState == Const.ProjectState_1 || x.ProjectState == null orderby x.ProjectName select x;
if (this.drpProject2.SelectedValue != BLL.Const._Null) if (this.drpProject2.SelectedValue != BLL.Const._Null)
{ {
projects = projects.Where(x => x.ProjectId == this.drpProject2.SelectedValue).OrderBy(x => x.ProjectName); projects = projects.Where(x => x.ProjectId == this.drpProject2.SelectedValue).OrderBy(x => x.ProjectName);
} }
if (this.drpDutyPerson2.SelectedValue != BLL.Const._Null)
{
var lstProject = (from x in db.JDGL_WeekPlan
where x.DutyPerson.Contains(this.drpDutyPerson2.SelectedValue)
select x.ProjectId).ToList();
projects = projects.Where(x => lstProject.Contains(x.ProjectId)).OrderBy(x => x.ProjectName);
}
//////统计月份信息 //////统计月份信息
//DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01"); //DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
//if (DateTime.Now.Day < 26) //if (DateTime.Now.Day < 26)
@ -178,11 +189,18 @@ left join (
tb.Columns.Add(new DataColumn("TotalRate", typeof(decimal))); tb.Columns.Add(new DataColumn("TotalRate", typeof(decimal)));
Model.SGGLDB db = Funs.DB; Model.SGGLDB db = Funs.DB;
var projects = from x in db.Base_Project where x.ProjectState == "1" orderby x.ProjectName select x; var projects = from x in db.Base_Project where x.ProjectState == Const.ProjectState_1 || x.ProjectState == null orderby x.ProjectName select x;
if (this.drpProject3.SelectedValue != BLL.Const._Null) if (this.drpProject3.SelectedValue != BLL.Const._Null)
{ {
projects = projects.Where(x => x.ProjectId == this.drpProject3.SelectedValue).OrderBy(x => x.ProjectName); projects = projects.Where(x => x.ProjectId == this.drpProject3.SelectedValue).OrderBy(x => x.ProjectName);
} }
if (this.drpDutyPerson3.SelectedValue != BLL.Const._Null)
{
var lstProject = (from x in db.JDGL_WeekPlan
where x.DutyPerson.Contains(this.drpDutyPerson3.SelectedValue)
select x.ProjectId).ToList();
projects = projects.Where(x => lstProject.Contains(x.ProjectId)).OrderBy(x => x.ProjectName);
}
//统计月份信息 //统计月份信息
DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01"); DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
if (DateTime.Now.Day < 26) if (DateTime.Now.Day < 26)
@ -234,6 +252,51 @@ left join (
Grid3.DataBind(); Grid3.DataBind();
} }
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid4()
{
StringBuilder strSql = new StringBuilder();
strSql.AppendLine($@"select pro.ProjectId,pro.ProjectCode,pro.ProjectName,qc.QuantityCompletionId,ql.Name,ql.Unit,ql.DesignNum,ql.SortIndex,qco.RealNum as RealNum,qco.NextNum as NextNum,
CONVERT(NVARCHAR(10), ((CAST(CASE ISNULL(qco.PlanNum, 0) WHEN 0 THEN 0 ELSE 100 * ISNULL(qco.RealNum, 0) / (1.0 * qco.PlanNum) END AS DECIMAL(9, 2))))) AS Rate,
CONVERT(FLOAT, (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) as TotalPlanNum,
CONVERT(FLOAT, (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) as TotalRealNum,
CONVERT(NVARCHAR(10), ((CAST(CASE(select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) WHEN 0 THEN 0 ELSE 100 * (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) / (1.0 * (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) END AS DECIMAL(9, 2))))) AS TotalRate,
CONVERT(NVARCHAR(10), ((CAST(CASE ISNULL(ql.DesignNum, 0) WHEN 0 THEN 0 ELSE 100 * (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) / (1.0 * ql.DesignNum) END AS DECIMAL(9, 2))))) AS SumRate,
CONVERT(FLOAT, (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months < qc.Months)) as LastTotalPlanNum,
CONVERT(FLOAT, (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months < qc.Months)) as LastTotalRealNum ");
strSql.AppendLine(@"from JDGL_QuantityList ql
left join JDGL_QuantityCompletion qc on ql.QuantityListId=qc.QuantityListId
left join Base_Project pro on pro.ProjectId=qc.ProjectId
left join (select PlanNum,RealNum,NextNum,QuantityListId from JDGL_QuantityCompletion where Months=@month) qco on qco.QuantityListId=ql.QuantityListId ");
strSql.AppendLine("where isnull(pro.ProjectState,1)=1 and qc.QuantityCompletionId=(select top 1 QuantityCompletionId from JDGL_QuantityCompletion q where q.QuantityListId=qc.QuantityListId and q.Months<=@month order by q.Months desc) ");
List<SqlParameter> listStr = new List<SqlParameter>();
string month = string.Format("{0:yyyy-MM-01}", DateTime.Now);
if (DateTime.Now.Day < 26)
{
month = string.Format("{0:yyyy-MM-01}", DateTime.Now.AddMonths(-1));
}
listStr.Add(new SqlParameter("@month", month));
if (this.drpProject4.SelectedValue != Const._Null)
{
strSql.AppendLine("and qc.ProjectId = @projectId ");
listStr.Add(new SqlParameter("@projectId", this.drpProject4.SelectedValue));
}
if (!string.IsNullOrEmpty(this.txtTypeName.Text.Trim()))
{
strSql.AppendLine("and ql.Name like @typeName ");
listStr.Add(new SqlParameter("@typeName", "%" + this.txtTypeName.Text.Trim() + "%"));
}
strSql.AppendLine("order by pro.ProjectCode,ql.Name ");
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql.ToString(), parameter);
Grid4.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid4, tb);
Grid4.DataSource = table;
Grid4.DataBind();
}
#region #region
/// <summary> /// <summary>
/// 查询 /// 查询
@ -365,6 +428,51 @@ left join (
} }
#endregion #endregion
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox4_TextChanged(object sender, EventArgs e)
{
this.BindGrid4();
}
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid4_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid4();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid4_Sort(object sender, GridSortEventArgs e)
{
BindGrid4();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize4_SelectedIndexChanged(object sender, EventArgs e)
{
Grid4.PageSize = Convert.ToInt32(ddlPageSize4.SelectedValue);
BindGrid4();
}
#endregion
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e) protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
{ {
if (TabStrip1.ActiveTabIndex == 1) if (TabStrip1.ActiveTabIndex == 1)
@ -381,6 +489,13 @@ left join (
BindGrid3(); BindGrid3();
} }
} }
else if (TabStrip1.ActiveTabIndex == 3)
{
if (this.Grid4.Rows.Count == 0)
{
BindGrid4();
}
}
} }
/// <summary> /// <summary>

View File

@ -320,6 +320,96 @@ namespace FineUIPro.Web.DataShow
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize3; protected global::FineUIPro.DropDownList ddlPageSize3;
/// <summary>
/// Tab4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tab Tab4;
/// <summary>
/// Grid4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid4;
/// <summary>
/// Toolbar4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar4;
/// <summary>
/// drpProject4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpProject4;
/// <summary>
/// txtTypeName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTypeName;
/// <summary>
/// Button3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button Button3;
/// <summary>
/// Label3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label3;
/// <summary>
/// ToolbarSeparator4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator4;
/// <summary>
/// ToolbarText4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText4;
/// <summary>
/// ddlPageSize4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize4;
/// <summary> /// <summary>
/// TabOnlineMenuSet 控件。 /// TabOnlineMenuSet 控件。
/// </summary> /// </summary>

View File

@ -0,0 +1,569 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JDStatistics.aspx.cs" Inherits="FineUIPro.Web.DataShow.JDStatistics" Async="true" %>
<!DOCTYPE html>
<html>
<head id="Head1" runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>首页</title>
<link href="../res/index/css/reset.css" rel="stylesheet" />
<link href="../res/index/css/home.css" rel="stylesheet" />
<link href="../res/index/css/swiper-3.4.2.min.css" rel="stylesheet" />
<style type="text/css">
* {
box-sizing: border-box;
}
.flexV {
flex-direction: column;
}
.wrap {
height: 100%;
padding: 15px;
/*background-color: #EEEED1;*/
background-color: #FFFFFF;
}
.iteml {
margin-left: 5px;
}
.itemb {
margin-bottom: 5px;
}
.bottom-wrap {
padding: 0;
margin-bottom: 5px;
}
.bottom-wrap:last-child {
margin-bottom: 0;
}
.bw-b-bottom {
width: 100%;
height: 100%;
}
.bw-b-bottom-up {
border-radius: 0;
height: 100%;
margin: 0;
box-shadow: none;
}
.bw-item-content {
padding: 5px;
}
.top {
width: 100%;
}
.top .item {
}
.bw-b {
width: 50%;
}
.bw-b-bottom-up {
}
.tab-wrap {
left: auto;
right: 15px;
top: 5px;
font-size: 12px;
}
.tab .t-item {
width: auto;
padding: 5px 10px;
color: #363636;
}
.tit-item {
padding: 0 10px;
justify-content: space-between;
font-size: 12px;
}
.tab-wrap .tab .t-item {
color: #1C1C1C;
}
.tip-item {
margin-left: 10px;
align-items: center;
font-size: 10px;
}
.tip {
width: 25px;
height: 13px;
background-color: #258F76;
border-radius: 2px;
margin-right: 5px;
}
.tip-next {
background-color: #4F4F4F;
}
.myTableClass {
width: 100%;
height: 100%;
overflow: auto;
margin: 2px 1px;
border-collapse: collapse; /* 设置表格边框合并 */
border: 1px solid #BEBEBE;
background: #ffffff;
color: #8B8989; /* 设置表格文字颜色 */
text-align: center; /* 设置表格文字居中 */
font-size: 14px;
}
.tab-title {
height: 48px;
color: #3CB371;
font-size: 16px;
font-weight: 700;
}
.tab-header {
height: 36px;
color: #1C86EE;
font-size: 14px;
font-weight: 600;
}
td, th {
border: 1px solid #BEBEBE;
}
</style>
</head>
<body>
<div class="wrap flex flexV">
<div class="bottom-wrap flex1">
<div class="top flex">
<div class="item flex2 iteml">
<div class="bw-b-bottom">
<div class="bw-b-bottom-up">
<div class="bw-item-content">
<div id='jdqk' style="width: 100%; height: 100%;"></div>
</div>
</div>
</div>
</div>
<%-- <div class="item flex2 iteml">
<div class="bw-b-bottom">
<div class="bw-b-bottom-up">
<div class="tab-wrap">
<div class="tab" data-value="2">
<div class="t-item active">月度计划</div>
<div class="spline"></div>
<div class="t-item">周度计划</div>
</div>
</div>
<div class="bw-item-content">
<div id='jdplan' style="width: 100%; height: 100%;"></div>
</div>
</div>
</div>
</div>--%>
</div>
</div>
<div class="bottom-wrap flex1">
<div class="top flex">
<div class="item flex1 iteml">
<div class="bw-b-bottom">
<div class="bw-b-bottom-up">
<div class="tab-wrap">
<div class="tab" data-value="2">
<div class="t-item active">月度计划</div>
<div class="spline"></div>
<div class="t-item">周度计划</div>
</div>
</div>
<div class="bw-item-content">
<div id='jdplan' style="width: 100%; height: 100%;"></div>
</div>
<%--<div class="bw-item-content">
<div id='four' style="width: 100%; height: 100%;"></div>
</div>--%>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
<script type="text/javascript" src="../res/index/js/jquery-3.4.1.min.js"></script>
<script type="text/javascript" src="../res/index/js/swiper-3.4.2.jquery.min.js"></script>
<script type="text/javascript" src="../res/index/js/echarts.min.js"></script>
<script type="text/javascript">
// 进度情况
createJDQK()
function createJDQK() {
let type = [<%=ProjectMc %>]
// 计划月进度
let value = [<%=ProjectJd%>]
let value1 = [<%=ProjectJd%>]
let opt = {
title: [{
text: '进度情况',
textStyle: {
color: '#1C1C1C',
fontSize: 16,
fontWeight: 700
},
show: true
}],
grid: {
top: 48,
left: 48,
right: 48,
bottom: 48,
},
tooltip: {
formatter: '{b}: {c}'
},
legend: {
top: 30,
data: [
{
name: "进度统计",
textStyle: {
color: '#2FC4AC'
}
},
{
name: "进度百分比",
textStyle: {
color: '#E29C18'
}
},
]
},
xAxis: {
type: 'category',
data: type,
axisLine: {
lineStyle: {
color: '#84D7FE'
}
},
axisLabel: {
interval: 0,
rotate: -10, // 如果数据较多时旋转标签以避免重叠
margin: 8, // 设置标签与轴线之间的距离
// align: 'center'
},
axisTick: {
show: false
}
},
yAxis: {
type: 'value',
axisLine: {
lineStyle: {
color: '#84D7FE'
}
},
splitLine: {
lineStyle: {
color: '#2E87AC',
type: 'dashed'
}
}
},
series: [
{
name: '进度统计',
data: value,
type: 'bar',
barWidth: 20,
label: { //柱体上显示数值
show: true,//开启显示
position: "top",//在上方显示
textStyle: {//数值样式
fontSize: '14px',
color: '#363636'
},
formatter: function (params) {
// 当数值为0时返回空字符串不显示标签
return params.value === '0' ? '' : params.value;
},
},
itemStyle: { normal: { color: 'rgba(255,0,0, 0.5)' } }
},
{
name: '进度百分比',
data: value1,
type: 'line',
symbol: 'none',
itemStyle: {
color: '#EDB627'
},
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: 'rgba(237, 182, 39, 1)' // 折线底下区域渐变色
},
{
offset: 0.8,
color: 'rgba(237, 182, 39, 0)' // 折线底下区域渐变色
}
],
false
)
}
}
},
]
};
var myEchart = echarts.init(document.getElementById('jdqk'));
myEchart.setOption(opt);
}
</script>
<script type="text/javascript">
function categoryJDPlan(id, xArr, data, num) {
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById(id))
// 指定图表的配置项和数据
var option = {
title: {
// left:'center',
text: '项目进度计划',
textStyle: {
color: '#1C1C1C',
fontSize: 16,
fontWeight: 700
},
show: true
},
tooltip: {},
legend: {
//left: '80%',
show: true,
textStyle: {//图例文字的样式
color: '#363636',
fontSize: 12,
}
},
xAxis: {
type: 'category',
data: xArr,
axisLine: {
lineStyle: {
color: '#84D7FE'
}
},
axisLabel: {
interval: 0,
rotate: -10, // 如果数据较多时旋转标签以避免重叠
margin: 8, // 设置标签与轴线之间的距离
// align: 'center'
},
axisTick: {
show: false
},
},
yAxis: {
type: 'value',
axisLine: {
//show: false,
lineStyle: {
color: '#84D7FE'
}
},
splitLine: {
lineStyle: {
color: '#2E87AC',
type: 'dashed'
}
},
},
series: data,
grid: {
top: 48,
left: 48,
right: 48,
bottom: 48,
},
}
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option)
}
var jdplan =<%=MonthJD %>;
var xArr = jdplan.categories
var data = [
{
name: '未完成',
type: 'bar',
stack: '总量',
barWidth: 30,
data: jdplan.series[0].data,
label: { //柱体上显示数值
show: true,//开启显示
position: ['35%', '50%'],//在上方显示
textStyle: {//数值样式
fontSize: '20px',
color: '#363636'
},
formatter: function (params) {
// 当数值为0时返回空字符串不显示标签
return params.value === 0 ? '' : params.value;
},
},
itemStyle: { normal: { color: 'rgba(255,0,0, 0.5)' } }
},
{
name: '已完成',
type: 'bar',
stack: '总量',
barWidth: 30,
data: jdplan.series[1].data,
label: { //柱体上显示数值
show: true,//开启显示
position: ['35%', '50%'],//在上方显示
textStyle: {//数值样式
fontSize: '20px',
color: '#363636'
},
formatter: function (params) {
// 当数值为0时返回空字符串不显示标签
return params.value === 0 ? '' : params.value;
},
},
itemStyle: { normal: { color: 'rgba(0,100,0,0.8)' } }
}
]
categoryJDPlan('jdplan', xArr, data, jdplan.xFontNum)
//categoryJDPlan('four', xArr, data, jdplan.xFontNum)
</script>
<script>
$(".tab .t-item").click(function () {
var $this = $(this)
var index = $this.index()
if ($this.hasClass('active') && index == 0) {
return
}
var $tab = $this.closest(".tab")
var value = $tab.attr("data-value")
$tab.find(".t-item").removeClass('active');
$this.addClass('active')
var monthplan =<%=MonthJD %>;
var weekplan =<%=WeekJD %>;
var num = 5;
if (value == 2) {
var xArr = monthplan.categories
var data = [
{
name: '未完成',
type: 'bar',
stack: '总量',
barWidth: 30,
data: monthplan.series[0].data,
label: { //柱体上显示数值
show: true,//开启显示
position: ['35%', '50%'],//在上方显示
textStyle: {//数值样式
fontSize: '20px',
color: '#363636'
},
formatter: function (params) {
// 当数值为0时返回空字符串不显示标签
return params.value === 0 ? '' : params.value;
},
},
itemStyle: { normal: { color: 'rgba(255,0,0, 0.5)' } }
},
{
name: '已完成',
type: 'bar',
stack: '总量',
barWidth: 30,
data: monthplan.series[1].data,
label: { //柱体上显示数值
show: true,//开启显示
position: ['35%', '50%'],//在上方显示
textStyle: {//数值样式
fontSize: '20px',
color: '#363636'
},
formatter: function (params) {
// 当数值为0时返回空字符串不显示标签
return params.value === 0 ? '' : params.value;
},
},
itemStyle: { normal: { color: 'rgba(0,100,0,0.8)' } }
}
]
if (index == 2) {
xArr = weekplan.categories
var data = [
{
name: '未完成',
type: 'bar',
stack: '总量',
barWidth: 30,
data: weekplan.series[0].data,
label: { //柱体上显示数值
show: true,//开启显示
position: ['35%', '50%'],//在上方显示
textStyle: {//数值样式
fontSize: '20px',
color: '#363636'
},
formatter: function (params) {
// 当数值为0时返回空字符串不显示标签
return params.value === 0 ? '' : params.value;
},
},
itemStyle: { normal: { color: 'rgba(255,0,0, 0.5)' } }
},
{
name: '已完成',
type: 'bar',
stack: '总量',
barWidth: 30,
data: weekplan.series[1].data,
label: { //柱体上显示数值
show: true,//开启显示
position: ['35%', '50%'],//在上方显示
textStyle: {//数值样式
fontSize: '20px',
color: '#363636'
},
formatter: function (params) {
// 当数值为0时返回空字符串不显示标签
return params.value === 0 ? '' : params.value;
},
},
itemStyle: { normal: { color: 'rgba(0,100,0,0.8)' } }
}
];
}
categoryJDPlan('jdplan', xArr, data, num);
}
})
</script>
</html>

View File

@ -0,0 +1,180 @@
using BLL;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
//using FineUIPro.Web.DataShow;
using Model;
//using System.Runtime.Caching;
using System.Threading.Tasks;
//using System.Web;
//using System.Web.UI;
//using System.Web.UI.WebControls;
//using Org.BouncyCastle.Ocsp;
//using FineUIPro.Web.HJGL.FL;
namespace FineUIPro.Web.DataShow
{
public partial class JDStatistics : PageBase
{
List<Model.Base_Project> allProjects;
#region
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
protected async void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
allProjects = ProjectService.GetAllProjectDropDownList();
this.ProjectId = string.Empty;
if (this.CurrUser != null && !string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
this.ProjectId = this.CurrUser.LoginProjectId;
}
//GetJdAsync();
var projectJDQKTask = GetJdAsync();
var otherTasks = new List<Task>
{
//GetJdAsync(),// 进度情况
GetMonthJDAsync(),// 月进度
GetWeekJDAsync(),// 周进度
};
await Task.WhenAll(otherTasks.Concat(new[] { projectJDQKTask }));
}
}
#region
//protected string ProjectAllJd;
protected string ProjectJd;
protected string ProjectMc;
protected async Task GetJdAsync()
{
var list = allProjects;
if (list.Any())
{
var progressCompletions = from x in Funs.DB.JDGL_ProgressCompletion select x;
foreach (var item in list)
{
var pCs = progressCompletions.Where(x => x.ProjectId == item.ProjectId).ToList();
//ProjectAllJd += "'" + pCs.Sum(x => x.PlanNum ?? 0).ToString("0.##") + "',";
ProjectJd += "'" + pCs.Sum(x => x.RealNum ?? 0).ToString("0.##") + "',";
ProjectMc += "'" + item.ShortName + "',";
}
//ProjectAllJd = ProjectAllJd.TrimEnd(',');
ProjectJd = ProjectJd.TrimEnd(',');
ProjectMc = ProjectMc.TrimEnd(',');
}
}
#endregion
#region
protected string MonthJD;
/// <summary>
/// 月进度
/// </summary>
protected async Task GetMonthJDAsync()
{
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
List<string> listCategories = new List<string>();
businessColumn.title = "月进度完成情况";
businessColumn.xFontNum = 8;
var date = DateTime.Now.AddMonths(1);
var allItems = from x in Funs.DB.JDGL_MonthPlan
where x.Months < new DateTime(date.Year, date.Month, 1)
select x;
Model.SingleSerie s = new Model.SingleSerie();
Model.SingleSerie s2 = new Model.SingleSerie();
List<double> listdata = new List<double>();
List<double> listdata2 = new List<double>();
int okNum = 0;
foreach (var pro in allProjects)
{
listCategories.Add(pro.ShortName);
var proItems = allItems.Where(x => x.ProjectId == pro.ProjectId);
okNum = proItems.Where(x => x.RealDate.HasValue).Count();
listdata.Add(proItems.Count() - okNum);
listdata2.Add(okNum);
}
s.data = listdata;
s2.data = listdata2;
series.Add(s);
series.Add(s2);
businessColumn.categories = listCategories;
businessColumn.series = series;
MonthJD = JsonConvert.SerializeObject(businessColumn);
}
#endregion
#region
protected string WeekJD;
/// <summary>
/// 周进度
/// </summary>
protected async Task GetWeekJDAsync()
{
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
List<string> listCategories = new List<string>();
businessColumn.title = "周进度完成情况";
businessColumn.xFontNum = 8;
var date = DateTime.Now.AddMonths(1);
var allItems = from x in Funs.DB.JDGL_WeekPlan
where x.EndDate < new DateTime(date.Year, date.Month, 1)
select x;
Model.SingleSerie s = new Model.SingleSerie();
Model.SingleSerie s2 = new Model.SingleSerie();
List<double> listdata = new List<double>();
List<double> listdata2 = new List<double>();
int okNum = 0;
foreach (var pro in allProjects)
{
listCategories.Add(pro.ShortName);
var proItems = allItems.Where(x => x.ProjectId == pro.ProjectId);
okNum = proItems.Where(x => x.IsOK.HasValue && x.IsOK == true).Count();
listdata.Add(proItems.Count() - okNum);
listdata2.Add(okNum);
}
s.data = listdata;
s2.data = listdata2;
series.Add(s);
series.Add(s2);
businessColumn.categories = listCategories;
businessColumn.series = series;
WeekJD = JsonConvert.SerializeObject(businessColumn);
}
#endregion
}
}

View File

@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.DataShow
{
public partial class JDStatistics
{
/// <summary>
/// Head1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlHead Head1;
}
}

View File

@ -706,6 +706,7 @@
<Content Include="DataShow\HJGLWeldingItem.aspx" /> <Content Include="DataShow\HJGLWeldingItem.aspx" />
<Content Include="DataShow\InspectionManagement.aspx" /> <Content Include="DataShow\InspectionManagement.aspx" />
<Content Include="DataShow\InspectionManagementItem.aspx" /> <Content Include="DataShow\InspectionManagementItem.aspx" />
<Content Include="DataShow\JDStatistics.aspx" />
<Content Include="DataShow\JDWeekDetail.aspx" /> <Content Include="DataShow\JDWeekDetail.aspx" />
<Content Include="DataShow\JDMonthDetail.aspx" /> <Content Include="DataShow\JDMonthDetail.aspx" />
<Content Include="DataShow\JD.aspx" /> <Content Include="DataShow\JD.aspx" />
@ -2160,6 +2161,7 @@
<Content Include="Video\Video.aspx" /> <Content Include="Video\Video.aspx" />
<Content Include="WorkBench.aspx" /> <Content Include="WorkBench.aspx" />
<Content Include="Work\ToDoList.aspx" /> <Content Include="Work\ToDoList.aspx" />
<Content Include="ZHDD\ZHDD.aspx" />
<Content Include="ZHGL\DataIn\AccidentCauseReportBar.aspx" /> <Content Include="ZHGL\DataIn\AccidentCauseReportBar.aspx" />
<Content Include="ZHGL\DataIn\AccidentCauseReportBarIn.aspx" /> <Content Include="ZHGL\DataIn\AccidentCauseReportBarIn.aspx" />
<Content Include="ZHGL\DataIn\AccidentCauseReportImport.aspx" /> <Content Include="ZHGL\DataIn\AccidentCauseReportImport.aspx" />
@ -9354,6 +9356,13 @@
<Compile Include="DataShow\InspectionManagementItem.aspx.designer.cs"> <Compile Include="DataShow\InspectionManagementItem.aspx.designer.cs">
<DependentUpon>InspectionManagementItem.aspx</DependentUpon> <DependentUpon>InspectionManagementItem.aspx</DependentUpon>
</Compile> </Compile>
<Compile Include="DataShow\JDStatistics.aspx.cs">
<DependentUpon>JDStatistics.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="DataShow\JDStatistics.aspx.designer.cs">
<DependentUpon>JDStatistics.aspx</DependentUpon>
</Compile>
<Compile Include="DataShow\JDWeekDetail.aspx.cs"> <Compile Include="DataShow\JDWeekDetail.aspx.cs">
<DependentUpon>JDWeekDetail.aspx</DependentUpon> <DependentUpon>JDWeekDetail.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType> <SubType>ASPXCodeBehind</SubType>
@ -18499,6 +18508,13 @@
<Compile Include="Work\ToDoList.aspx.designer.cs"> <Compile Include="Work\ToDoList.aspx.designer.cs">
<DependentUpon>ToDoList.aspx</DependentUpon> <DependentUpon>ToDoList.aspx</DependentUpon>
</Compile> </Compile>
<Compile Include="ZHDD\ZHDD.aspx.cs">
<DependentUpon>ZHDD.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ZHDD\ZHDD.aspx.designer.cs">
<DependentUpon>ZHDD.aspx</DependentUpon>
</Compile>
<Compile Include="ZHGL\DataIn\AccidentCauseReportBar.aspx.cs"> <Compile Include="ZHGL\DataIn\AccidentCauseReportBar.aspx.cs">
<DependentUpon>AccidentCauseReportBar.aspx</DependentUpon> <DependentUpon>AccidentCauseReportBar.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType> <SubType>ASPXCodeBehind</SubType>

View File

@ -48,6 +48,9 @@
<f:RadioItem Value="1" Text="在岗" /> <f:RadioItem Value="1" Text="在岗" />
<f:RadioItem Value="0" Text="不在岗" /> <f:RadioItem Value="0" Text="不在岗" />
</f:RadioButtonList> </f:RadioButtonList>
<f:CheckBox runat="server" ID="chManager" Label="管理人员" LabelAlign="right" LabelWidth="80px"
AutoPostBack="true" OnCheckedChanged="TextBox_TextChanged">
</f:CheckBox>
<f:CheckBox runat="server" ID="ckJT" Label="未同步" LabelAlign="right" LabelWidth="70px" <f:CheckBox runat="server" ID="ckJT" Label="未同步" LabelAlign="right" LabelWidth="70px"
AutoPostBack="true" OnCheckedChanged="TextBox_TextChanged"> AutoPostBack="true" OnCheckedChanged="TextBox_TextChanged">
</f:CheckBox> </f:CheckBox>

View File

@ -77,7 +77,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
var getData = PersonService.getListData(this.ProjectId, unitId, this.txtPersonName.Text.Trim(), this.txtIdentityCard.Text.Trim(), var getData = PersonService.getListData(this.ProjectId, unitId, this.txtPersonName.Text.Trim(), this.txtIdentityCard.Text.Trim(),
"", Funs.GetStringByArray(this.drpPost.SelectedValueArray), this.ckTrain.Checked, this.rblPost.SelectedValue, this.ckJT.Checked, "", Funs.GetStringByArray(this.drpPost.SelectedValueArray), this.ckTrain.Checked, this.rblPost.SelectedValue, this.ckJT.Checked,
false, Grid1,true); false, this.chManager.Checked, Grid1, true);
Grid1.RecordCount = PersonService.count; Grid1.RecordCount = PersonService.count;
Grid1.DataSource = getData; Grid1.DataSource = getData;
Grid1.DataBind(); Grid1.DataBind();

View File

@ -113,6 +113,15 @@ namespace FineUIPro.Web.HSSE.SitePerson
/// </remarks> /// </remarks>
protected global::FineUIPro.RadioButtonList rblPost; protected global::FineUIPro.RadioButtonList rblPost;
/// <summary>
/// chManager 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox chManager;
/// <summary> /// <summary>
/// ckJT 控件。 /// ckJT 控件。
/// </summary> /// </summary>

View File

@ -82,6 +82,9 @@
<f:RadioItem Value="1" Text="在岗" /> <f:RadioItem Value="1" Text="在岗" />
<f:RadioItem Value="0" Text="不在岗" /> <f:RadioItem Value="0" Text="不在岗" />
</f:RadioButtonList> </f:RadioButtonList>
<f:CheckBox runat="server" ID="chManager" Label="管理人员" LabelAlign="right" LabelWidth="80px"
AutoPostBack="true" OnCheckedChanged="TextBox_TextChanged">
</f:CheckBox>
<f:CheckBox runat="server" ID="ckJT" Label="未同步" LabelAlign="right" LabelWidth="70px" <f:CheckBox runat="server" ID="ckJT" Label="未同步" LabelAlign="right" LabelWidth="70px"
AutoPostBack="true" OnCheckedChanged="TextBox_TextChanged"> AutoPostBack="true" OnCheckedChanged="TextBox_TextChanged">
</f:CheckBox> </f:CheckBox>

View File

@ -182,7 +182,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
var getData = PersonService.getListData(this.ProjectId, unitId, this.txtPersonName.Text.Trim(), this.txtIdentityCard.Text.Trim(), var getData = PersonService.getListData(this.ProjectId, unitId, this.txtPersonName.Text.Trim(), this.txtIdentityCard.Text.Trim(),
this.drpTreamGroup.SelectedValue, Funs.GetStringByArray(this.drpPost.SelectedValueArray), this.ckTrain.Checked, this.rblPost.SelectedValue, this.ckJT.Checked, this.drpTreamGroup.SelectedValue, Funs.GetStringByArray(this.drpPost.SelectedValueArray), this.ckTrain.Checked, this.rblPost.SelectedValue, this.ckJT.Checked,
this.ckIdCardInfoNotOK.Checked, Grid1); this.ckIdCardInfoNotOK.Checked, this.chManager.Checked, Grid1);
Grid1.RecordCount = PersonService.count; Grid1.RecordCount = PersonService.count;
Grid1.DataSource = getData; Grid1.DataSource = getData;
Grid1.DataBind(); Grid1.DataBind();

View File

@ -176,6 +176,15 @@ namespace FineUIPro.Web.HSSE.SitePerson
/// </remarks> /// </remarks>
protected global::FineUIPro.RadioButtonList rblPost; protected global::FineUIPro.RadioButtonList rblPost;
/// <summary>
/// chManager 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox chManager;
/// <summary> /// <summary>
/// ckJT 控件。 /// ckJT 控件。
/// </summary> /// </summary>

View File

@ -72,6 +72,10 @@
<f:RenderField Width="95px" ColumnID="RealDate" DataField="RealDate" SortField="RealDate" <f:RenderField Width="95px" ColumnID="RealDate" DataField="RealDate" SortField="RealDate"
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="100px" ColumnID="IsOKStr" DataField="IsOKStr"
SortField="IsOKStr" FieldType="String" HeaderText="完成状态" TextAlign="Center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Remark" DataField="Remark" <f:RenderField Width="100px" ColumnID="Remark" DataField="Remark"
SortField="Remark" FieldType="String" HeaderText="备注" TextAlign="Center" SortField="Remark" FieldType="String" HeaderText="备注" TextAlign="Center"
HeaderTextAlign="Center"> HeaderTextAlign="Center">

View File

@ -123,7 +123,7 @@ namespace FineUIPro.Web.JDGL.Check
/// <returns></returns> /// <returns></returns>
private DataTable BindData() private DataTable BindData()
{ {
string strSql = @"select mp.*,u.UnitName string strSql = @"select mp.*,u.UnitName,case mp.IsOK when 1 then '已完成' when 0 then '未完成' else '' end as IsOKStr
,DutyPersonName = STUFF((SELECT ',' + p.UserName FROM dbo.Sys_User as p where PATINDEX('%,' + RTRIM(p.UserId) + ',%', ',' + mp.DutyPerson + ',') > 0 FOR XML PATH('')), 1, 1,'') ,DutyPersonName = STUFF((SELECT ',' + p.UserName FROM dbo.Sys_User as p where PATINDEX('%,' + RTRIM(p.UserId) + ',%', ',' + mp.DutyPerson + ',') > 0 FOR XML PATH('')), 1, 1,'')
from [dbo].[JDGL_MonthPlan] mp from [dbo].[JDGL_MonthPlan] mp
left join Base_Unit u on u.UnitId=mp.UnitId left join Base_Unit u on u.UnitId=mp.UnitId
@ -318,6 +318,9 @@ where mp.ProjectId=@ProjectId and mp.Months=@month order by mp.SortIndex";
cell.SetCellValue(realDate); cell.SetCellValue(realDate);
cell = row.CreateCell(6); cell = row.CreateCell(6);
cell.CellStyle = cellStyle; cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["IsOKStr"].ToString());
cell = row.CreateCell(7);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["Remark"].ToString()); cell.SetCellValue(tb.Rows[j]["Remark"].ToString());
i++; i++;
} }

View File

@ -37,13 +37,16 @@
<f:TextArea ID="txtNodeContent" runat="server" Label="节点内容" LabelAlign="Right" LabelWidth="150px" Required="true" ShowRedStar="true"></f:TextArea> <f:TextArea ID="txtNodeContent" runat="server" Label="节点内容" LabelAlign="Right" LabelWidth="150px" Required="true" ShowRedStar="true"></f:TextArea>
</Items> </Items>
</f:FormRow> </f:FormRow>
<f:FormRow> <f:FormRow>
<Items> <Items>
<f:DatePicker ID="txtPlanDate" runat="server" Label="计划完成时间" LabelAlign="Right" LabelWidth="150px" Required="true" ShowRedStar="true"> <f:DatePicker ID="txtPlanDate" runat="server" Label="计划完成时间" LabelAlign="Right" LabelWidth="150px" Required="true" ShowRedStar="true">
</f:DatePicker> </f:DatePicker>
<f:DatePicker ID="txtRealDate" runat="server" Label="实际完成时间" LabelAlign="Right" LabelWidth="150px"> <f:DatePicker ID="txtRealDate" runat="server" Label="实际完成时间" LabelAlign="Right" LabelWidth="150px" AutoPostBack="true" OnTextChanged="RealDate_TextChanged" >
</f:DatePicker> </f:DatePicker>
<f:DropDownList ID="drpIsOK" runat="server" Label="完成状态" LabelAlign="Right" AutoSelectFirstItem="false" LabelWidth="150px">
<f:ListItem Text="已完成" Value="已完成" />
<f:ListItem Text="未完成" Value="未完成" />
</f:DropDownList>
</Items> </Items>
</f:FormRow> </f:FormRow>

View File

@ -78,7 +78,14 @@ namespace FineUIPro.Web.JDGL.Check
txtMonths.Text = string.Format("{0:yyyy-MM}", model.Months); txtMonths.Text = string.Format("{0:yyyy-MM}", model.Months);
txtMonths.Readonly = true; txtMonths.Readonly = true;
drpUnit.SelectedValue = model.UnitId; drpUnit.SelectedValue = model.UnitId;
if (model.IsOK == true)
{
this.drpIsOK.SelectedValue = "已完成";
}
else
{
this.drpIsOK.SelectedValue = "未完成";
}
if (!string.IsNullOrEmpty(model.DutyPerson)) if (!string.IsNullOrEmpty(model.DutyPerson))
{ {
List<string> listPersonId = model.DutyPerson.Split(',').ToList(); List<string> listPersonId = model.DutyPerson.Split(',').ToList();
@ -100,6 +107,20 @@ namespace FineUIPro.Web.JDGL.Check
} }
} }
/// <summary>
/// 完成时间选择后触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void RealDate_TextChanged(object sender, EventArgs e)
{
var txtRealDate = this.txtRealDate.Text.Trim();
if (!string.IsNullOrWhiteSpace(txtRealDate))
{
this.drpIsOK.SelectedValue = "已完成";
}
}
/// <summary> /// <summary>
/// 保存 /// 保存
/// </summary> /// </summary>
@ -118,6 +139,7 @@ namespace FineUIPro.Web.JDGL.Check
CompileMan = this.CurrUser.UserId, CompileMan = this.CurrUser.UserId,
CompileDate = DateTime.Now, CompileDate = DateTime.Now,
}; };
model.IsOK = this.drpIsOK.SelectedValue == "已完成";
if (!string.IsNullOrWhiteSpace(this.txtRealDate.Text)) if (!string.IsNullOrWhiteSpace(this.txtRealDate.Text))
{ {
model.RealDate = Funs.GetNewDateTime(this.txtRealDate.Text); model.RealDate = Funs.GetNewDateTime(this.txtRealDate.Text);

View File

@ -95,6 +95,15 @@ namespace FineUIPro.Web.JDGL.Check
/// </remarks> /// </remarks>
protected global::FineUIPro.DatePicker txtRealDate; protected global::FineUIPro.DatePicker txtRealDate;
/// <summary>
/// drpIsOK 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpIsOK;
/// <summary> /// <summary>
/// txtRemark 控件。 /// txtRemark 控件。
/// </summary> /// </summary>

View File

@ -76,6 +76,12 @@
<f:RenderField Width="95px" ColumnID="RealDate" DataField="RealDate" SortField="RealDate" <f:RenderField Width="95px" ColumnID="RealDate" DataField="RealDate" SortField="RealDate"
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:TemplateField ColumnID="IsOK" Width="100px" HeaderText="完成状态" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# ConvertIsOK(Eval("IsOK")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="Remark" DataField="Remark" <f:RenderField Width="100px" ColumnID="Remark" DataField="Remark"
SortField="Remark" FieldType="String" HeaderText="备注" TextAlign="Center" SortField="Remark" FieldType="String" HeaderText="备注" TextAlign="Center"
HeaderTextAlign="Center"> HeaderTextAlign="Center">

View File

@ -267,8 +267,6 @@ namespace FineUIPro.Web.JDGL.Check
Target = Target.Self Target = Target.Self
}; };
alert.Show(); alert.Show();
} }
else else
{ {
@ -396,6 +394,7 @@ namespace FineUIPro.Web.JDGL.Check
string col3 = pds.Rows[i][3].ToString().Trim(); string col3 = pds.Rows[i][3].ToString().Trim();
string col4 = pds.Rows[i][4].ToString().Trim(); string col4 = pds.Rows[i][4].ToString().Trim();
string col5 = pds.Rows[i][5].ToString().Trim(); string col5 = pds.Rows[i][5].ToString().Trim();
string col6 = pds.Rows[i][6].ToString().Trim();
if (!string.IsNullOrEmpty(col0))//责任单位 if (!string.IsNullOrEmpty(col0))//责任单位
{ {
var projectUnit = projectUnits.FirstOrDefault(x => x.UnitName == col0); var projectUnit = projectUnits.FirstOrDefault(x => x.UnitName == col0);
@ -428,13 +427,18 @@ namespace FineUIPro.Web.JDGL.Check
} }
MonthPlan.DutyPerson = lstUserIds; MonthPlan.DutyPerson = lstUserIds;
} }
if (!string.IsNullOrEmpty(col5))//完成状态
{
MonthPlan.IsOK = col5 == "已完成";
}
if (!string.IsNullOrEmpty(col4))//实际完成时间 if (!string.IsNullOrEmpty(col4))//实际完成时间
{ {
MonthPlan.RealDate = Funs.GetNewDateTime(col4); MonthPlan.RealDate = Funs.GetNewDateTime(col4);
MonthPlan.IsOK = true;
} }
if (!string.IsNullOrEmpty(col5))//备注 if (!string.IsNullOrEmpty(col6))//备注
{ {
MonthPlan.Remark = col5; MonthPlan.Remark = col6;
} }
MonthPlan.SortIndex = i + 1; MonthPlan.SortIndex = i + 1;
MonthPlan.MonthPlanId = SQLHelper.GetNewID(typeof(Model.JDGL_MonthPlan)); MonthPlan.MonthPlanId = SQLHelper.GetNewID(typeof(Model.JDGL_MonthPlan));
@ -489,6 +493,7 @@ namespace FineUIPro.Web.JDGL.Check
newMonthPlan.PlanDate = MonthPlans[i].PlanDate; newMonthPlan.PlanDate = MonthPlans[i].PlanDate;
newMonthPlan.DutyPerson = MonthPlans[i].DutyPerson; newMonthPlan.DutyPerson = MonthPlans[i].DutyPerson;
newMonthPlan.RealDate = MonthPlans[i].RealDate; newMonthPlan.RealDate = MonthPlans[i].RealDate;
newMonthPlan.IsOK = MonthPlans[i].IsOK;
newMonthPlan.Remark = MonthPlans[i].Remark; newMonthPlan.Remark = MonthPlans[i].Remark;
newMonthPlan.SortIndex = MonthPlans[i].SortIndex; newMonthPlan.SortIndex = MonthPlans[i].SortIndex;
newMonthPlan.CompileMan = this.CurrUser.UserId; newMonthPlan.CompileMan = this.CurrUser.UserId;
@ -501,6 +506,7 @@ namespace FineUIPro.Web.JDGL.Check
oldMonthPlan.PlanDate = MonthPlans[i].PlanDate; oldMonthPlan.PlanDate = MonthPlans[i].PlanDate;
oldMonthPlan.DutyPerson = MonthPlans[i].DutyPerson; oldMonthPlan.DutyPerson = MonthPlans[i].DutyPerson;
oldMonthPlan.RealDate = MonthPlans[i].RealDate; oldMonthPlan.RealDate = MonthPlans[i].RealDate;
oldMonthPlan.IsOK = MonthPlans[i].IsOK;
oldMonthPlan.Remark = MonthPlans[i].Remark; oldMonthPlan.Remark = MonthPlans[i].Remark;
BLL.MonthPlanService.UpdateMonthPlan(oldMonthPlan); BLL.MonthPlanService.UpdateMonthPlan(oldMonthPlan);
} }
@ -593,6 +599,27 @@ namespace FineUIPro.Web.JDGL.Check
} }
#endregion #endregion
/// <summary>
/// 完成状态
/// </summary>
/// <param name="registrationId"></param>
/// <returns></returns>
protected string ConvertIsOK(object IsOK)
{
string name = string.Empty;
if (IsOK != null)
{
if (IsOK.ToString() == "True")
{
name = "已完成";
}
else
{
name = "未完成";
}
}
return name;
}
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>

View File

@ -7,10 +7,12 @@
// </自动生成> // </自动生成>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check { namespace FineUIPro.Web.JDGL.Check
{
public partial class MonthPlanIn { public partial class MonthPlanIn
{
/// <summary> /// <summary>
/// form1 控件。 /// form1 控件。
@ -138,6 +140,15 @@ namespace FineUIPro.Web.JDGL.Check {
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label Label1; protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// Label5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label5;
/// <summary> /// <summary>
/// hdFileName 控件。 /// hdFileName 控件。
/// </summary> /// </summary>

View File

@ -775,7 +775,7 @@ namespace FineUIPro.Web.JDGL.Check
} }
/// <summary> /// <summary>
/// /// 完成状态
/// </summary> /// </summary>
/// <param name="registrationId"></param> /// <param name="registrationId"></param>
/// <returns></returns> /// <returns></returns>

View File

@ -0,0 +1,29 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ZHDD.aspx.cs" Inherits="FineUIPro.Web.ZHDD.ZHDD" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>意见收集</title>
<link href="~/res/css/common.css" rel="stylesheet" type="text/css" />
<style>
container-title-tt {
display: none !important
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:ContentPanel ID="ContentPanel1" CssClass="bodyregion" ShowBorder="false" ShowHeader="false" runat="server" Height="800">
<iframe id="ifZHDD" runat="server" allow="microphone;camera;midi;encrypted-media;" allowfullscreen="true" width="100%" height="878" frameborder="0" style="margin-top: -78px"></iframe>
</f:ContentPanel>
</Items>
</f:Panel>
</form>
</body>
</html>

View File

@ -0,0 +1,42 @@
using BLL;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.ZHDD
{
public partial class ZHDD : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string username = "rdys_test";
string password = "Runde.2024";
var res1 = APIGetHttpService.Http("https://caps.runde.pro/api/index.php?ctl=tool&act=get_pkey&user_name=" + username + "&pwd=" + password, "POST");
var j1 = JsonConvert.DeserializeObject<dynamic>(res1);
string data = j1.data;
var res2 = APIGetHttpService.Http("https://caps.runde.pro/api/index.php?ctl=tool&act=get_token&user_name=" + username + "&pkey=" + j1.data, "POST");
var j2 = JsonConvert.DeserializeObject<dynamic>(res2);
string session_id = j2.session_id;
string token = j2.token;
ifZHDD.Src = "https://caps.runde.pro/login/#token=" + session_id + "&user_name=" + username + "target=home";
}
}
#endregion
}
}

View File

@ -0,0 +1,62 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.ZHDD
{
public partial class ZHDD
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// ifZHDD 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlIframe ifZHDD;
}
}

View File

@ -263,12 +263,17 @@ namespace FineUIPro.Web.common
{ {
int AllCount = 0; int AllCount = 0;
int MCount = 0; int MCount = 0;
var getallin = from x in Funs.DB.T_d_EmployInOutRecord List<string> pids = new List<string>();
join z in Funs.DB.Base_WorkPost on x.PostId equals z.WorkPostId into zGroup pids.Add(this.CurrUser.LoginProjectId);
from z in zGroup.DefaultIfEmpty() var getallin = APIPageDataService.getPersonNum(pids, DateTime.Now);
//where x.ProjectId == this.CurrUser.LoginProjectId && x.RecordDate.Value == DateTime.Now.Date
where x.ProjectId == this.CurrUser.LoginProjectId && x.RecordDate.Value == Convert.ToDateTime("2023-08-28") //int AllCount = 0;
select new { x.IDCardNo, z.PostType }; //int MCount = 0;
//var getallin = from x in Funs.DB.T_d_EmployInOutRecord
// join z in Funs.DB.Base_WorkPost on x.PostId equals z.WorkPostId into zGroup
// from z in zGroup.DefaultIfEmpty()
// where x.ProjectId == this.CurrUser.LoginProjectId && x.RecordDate.Value == DateTime.Now.Date
// select new { x.IDCardNo, z.PostType };
//var getallin = (from x in Funs.DB.SitePerson_Checking //var getallin = (from x in Funs.DB.SitePerson_Checking
// join z in Funs.DB.SitePerson_Person on x.PersonId equals z.PersonId into zGroup // join z in Funs.DB.SitePerson_Person on x.PersonId equals z.PersonId into zGroup
@ -1268,42 +1273,32 @@ namespace FineUIPro.Web.common
{ {
string doneJdtjHtml = string.Empty; string doneJdtjHtml = string.Empty;
string month = string.Format("{0:yyyy-MM-01}", DateTime.Now); string month = string.Format("{0:yyyy-MM-01}", DateTime.Now);
//DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
if (DateTime.Now.Day < 26) if (DateTime.Now.Day < 26)
{ {
month = string.Format("{0:yyyy-MM-01}", DateTime.Now.AddMonths(-1)); month = string.Format("{0:yyyy-MM-01}", DateTime.Now.AddMonths(-1));
//months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.AddMonths(-1).Month.ToString() + "-01");
} }
string strSql = @"select qc.QuantityCompletionId,(select PlanNum from JDGL_QuantityCompletion where QuantityListId=ql.QuantityListId and Months=@month) as PlanNum, StringBuilder strSql = new StringBuilder();
(select RealNum from JDGL_QuantityCompletion where QuantityListId=ql.QuantityListId and Months=@month) as RealNum, strSql.AppendLine($@"select pro.ProjectId,pro.ProjectCode,pro.ProjectName,qc.QuantityCompletionId,ql.Name,ql.Unit,ql.DesignNum,ql.SortIndex,qco.PlanNum as PlanNum,qco.RealNum as RealNum,
(select NextNum from JDGL_QuantityCompletion where QuantityListId=ql.QuantityListId and Months=@month) as NextNum,ql.DesignNum,ql.Name,ql.Unit,ql.SortIndex, CONVERT(NVARCHAR(10), ((CAST(CASE ISNULL(qco.PlanNum, 0) WHEN 0 THEN 0 ELSE 100 * ISNULL(qco.RealNum, 0) / (1.0 * qco.PlanNum) END AS DECIMAL(9, 2))))) AS Rate,
CONVERT(FLOAT, (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) as TotalPlanNum, --(select NextNum from JDGL_QuantityCompletion where QuantityListId=ql.QuantityListId and Months=@month) as NextNum,
CONVERT(FLOAT, (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) as TotalRealNum, CONVERT(FLOAT, (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) as TotalPlanNum,
CONVERT(NVARCHAR(10), ((CAST(CASE ISNULL(qc.PlanNum, 0) WHEN 0 THEN 0 CONVERT(FLOAT, (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) as TotalRealNum,
CONVERT(NVARCHAR(10), ((CAST(CASE(select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) WHEN 0 THEN 0 ELSE 100 * (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) / (1.0 * (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) END AS DECIMAL(9, 2))))) AS TotalRate,
ELSE 100 * ISNULL(qc.RealNum, 0) / (1.0 * qc.PlanNum) END AS DECIMAL(9, 2))))) + '%' CONVERT(NVARCHAR(10), ((CAST(CASE ISNULL(ql.DesignNum, 0) WHEN 0 THEN 0 ELSE 100 * (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) / (1.0 * ql.DesignNum) END AS DECIMAL(9, 2))))) AS SumRate,
CONVERT(FLOAT, (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months < qc.Months)) as LastTotalPlanNum,
AS Rate, CONVERT(FLOAT, (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months < qc.Months)) as LastTotalRealNum ");
CONVERT(NVARCHAR(10), ((CAST(CASE(select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) WHEN 0 THEN 0 strSql.AppendLine(@"from JDGL_QuantityList ql
left join JDGL_QuantityCompletion qc on ql.QuantityListId=qc.QuantityListId
ELSE 100 * (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) / (1.0 * (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) END AS DECIMAL(9, 2)))))+'%' left join Base_Project pro on pro.ProjectId=qc.ProjectId
left join (select PlanNum,RealNum,QuantityListId from JDGL_QuantityCompletion where Months=@month) qco on qco.QuantityListId=ql.QuantityListId ");
AS TotalRate, strSql.AppendLine("where qc.ProjectId=@ProjectId and isnull(pro.ProjectState,1)=1 and qc.QuantityCompletionId=(select top 1 QuantityCompletionId from JDGL_QuantityCompletion q where q.QuantityListId=qc.QuantityListId and q.Months<=@month order by q.Months desc) ");
CONVERT(NVARCHAR(10), ((CAST(CASE ISNULL(ql.DesignNum, 0) WHEN 0 THEN 0 strSql.AppendLine("order by ql.SortIndex, ql.Name ");
ELSE 100 * (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) / (1.0 * ql.DesignNum) END AS DECIMAL(9, 2)))))+'%'
AS SumRate,
CONVERT(FLOAT, (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months < qc.Months)) as LastTotalPlanNum,
CONVERT(FLOAT, (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months < qc.Months)) as LastTotalRealNum
from[dbo].JDGL_QuantityList ql
left join dbo.[JDGL_QuantityCompletion] qc on ql.QuantityListId=qc.QuantityListId
where qc.QuantityCompletionId=(select top 1 QuantityCompletionId from[JDGL_QuantityCompletion] q where q.QuantityListId=qc.QuantityListId and q.Months<=@month order by q.Months desc) and qc.ProjectId=@ProjectId order by ql.SortIndex, ql.Name";
List<SqlParameter> listStr = new List<SqlParameter>(); List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@month", month)); listStr.Add(new SqlParameter("@month", month));
SqlParameter[] parameter = listStr.ToArray(); SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); DataTable tb = SQLHelper.GetDataTableRunText(strSql.ToString(), parameter);
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
for (int j = 0; j < tb.Rows.Count; j++) for (int j = 0; j < tb.Rows.Count; j++)
@ -1314,7 +1309,7 @@ where qc.QuantityCompletionId=(select top 1 QuantityCompletionId from[JDGL_Quant
string planNum = Funs.RemoveZero(tb.Rows[j]["PlanNum"].ToString().Trim()); string planNum = Funs.RemoveZero(tb.Rows[j]["PlanNum"].ToString().Trim());
string realNum = Funs.RemoveZero(tb.Rows[j]["RealNum"].ToString().Trim()); string realNum = Funs.RemoveZero(tb.Rows[j]["RealNum"].ToString().Trim());
string rate = tb.Rows[j]["Rate"].ToString().Trim(); string rate = tb.Rows[j]["Rate"].ToString().Trim();
string nextNum = Funs.RemoveZero(tb.Rows[j]["NextNum"].ToString().Trim()); //string nextNum = Funs.RemoveZero(tb.Rows[j]["NextNum"].ToString().Trim());
string totalPlanNum = Funs.RemoveZero(tb.Rows[j]["TotalPlanNum"].ToString().Trim()); string totalPlanNum = Funs.RemoveZero(tb.Rows[j]["TotalPlanNum"].ToString().Trim());
string totalRealNum = Funs.RemoveZero(tb.Rows[j]["TotalRealNum"].ToString().Trim()); string totalRealNum = Funs.RemoveZero(tb.Rows[j]["TotalRealNum"].ToString().Trim());
string totalRate = tb.Rows[j]["TotalRate"].ToString().Trim(); string totalRate = tb.Rows[j]["TotalRate"].ToString().Trim();
@ -1505,8 +1500,8 @@ where qc.QuantityCompletionId=(select top 1 QuantityCompletionId from[JDGL_Quant
listdata.Add(workPostCount2); listdata.Add(workPostCount2);
//焊工 //焊工
listCategories.Add("焊工"); listCategories.Add("焊工");
int workPostCount6 = persons.Count(x => x.WorkPostId == Const.WorkPost_Welder1 || x.WorkPostId == Const.WorkPost_Welder2 || int workPostCount6 = persons.Count(x => x.WorkPostId == Const.WorkPost_Welder1 || x.WorkPostId == Const.WorkPost_Welder2 || x.WorkPostId == Const.WorkPost_Welder3
x.WorkPostId == Const.WorkPost_Welder3 || x.WorkPostId == Const.WorkPost_Welder4 || x.WorkPostId == Const.WorkPost_Welder5); || x.WorkPostId == Const.WorkPost_Welder4 || x.WorkPostId == Const.WorkPost_Welder5 || x.WorkPostId == Const.WorkPost_Welder6);
listdata.Add(workPostCount6); listdata.Add(workPostCount6);
//铆工 //铆工
listCategories.Add("铆工"); listCategories.Add("铆工");

View File

@ -530,9 +530,9 @@
window.open("../DataShow/GJSX.aspx") window.open("../DataShow/GJSX.aspx")
}else if (type == 'JD') { }else if (type == 'JD') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/QualityProblem.aspx') //关键事项数据 // $('iframe').attr('src', '../InterfacePopup/CQMS/QualityProblem.aspx') //进度管理数据
window.open("../DataShow/JD.aspx") window.open("../DataShow/JD.aspx")
window.open("../DataShow/JDStatistics.aspx")
} }
else if (type == 'ManagerData') { else if (type == 'ManagerData') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/ManagerData.aspx') //管理人员数据 // $('iframe').attr('src', '../InterfacePopup/CQMS/ManagerData.aspx') //管理人员数据

View File

@ -127,24 +127,39 @@ namespace FineUIPro.Web.common
{ {
this.divSafeWorkTimeMonth.InnerHtml = countMonthAqrgs.ToString().Split('.')[0]; this.divSafeWorkTimeMonth.InnerHtml = countMonthAqrgs.ToString().Split('.')[0];
} }
// 安全培训人员(合并数据库查询) //// 安全培训人员(合并数据库查询)
var trainingQuery = db.EduTrain_TrainRecord //var trainingQuery = db.EduTrain_TrainRecord
.Where(x => pids.Contains(x.ProjectId)) // .Where(x => pids.Contains(x.ProjectId))
.GroupBy(x => 1) // .GroupBy(x => 1)
.Select(g => new // .Select(g => new
// {
// TrainCount = g.Sum(x => x.TrainPersonNum) ?? 0,
// BoShengCount = db.Bo_Sheng_TrainPerson
// .Where(x => (x.DeleteTag == "False" || x.DeleteTag == null))
// .Where(x => pids.Contains(x.ProjectId))
// .Count()
// }).FirstOrDefault();
//divSafePersonNum.InnerHtml = trainingQuery != null
// ? (trainingQuery.TrainCount + trainingQuery.BoShengCount).ToString()
// : "0";
int getTrainRecord = 0, boShengCount = 0;
if (pids == null)
{ {
TrainCount = g.Sum(x => x.TrainPersonNum) ?? 0, getTrainRecord = db.View_EduTrain_TrainFind.Count();
BoShengCount = db.Bo_Sheng_TrainPerson //修改:增加博晟教育中的人数
.Where(x => (x.DeleteTag == "False" || x.DeleteTag == null)) boShengCount = db.Bo_Sheng_TrainPerson.Count(x => x.DeleteTag == "False" || x.DeleteTag == null);
.Where(x => pids.Contains(x.ProjectId)) }
.Count() else
}).FirstOrDefault(); {
getTrainRecord = db.View_EduTrain_TrainFind.Where(x => pids.Contains(x.ProjectId)).Count();
//修改:增加博晟教育中的人数
boShengCount = db.Bo_Sheng_TrainPerson.Count(x => pids.Contains(x.ProjectId) && (x.DeleteTag == "False" || x.DeleteTag == null));
}
this.divSafePersonNum.InnerHtml = (getTrainRecord + boShengCount).ToString();
divSafePersonNum.InnerHtml = trainingQuery != null
? (trainingQuery.TrainCount + trainingQuery.BoShengCount).ToString()
: "0";
// 安全管理人员(优化关联查询) // 安全管理人员(优化关联查询)

View File

@ -252,9 +252,9 @@
</f:DropDownList> </f:DropDownList>
<f:Label ID="lblProjectName" runat="server"></f:Label> <f:Label ID="lblProjectName" runat="server"></f:Label>
</div> </div>
<div class="t-btn t-btn-act" onclick="ProjectZJClick();" style="cursor: pointer;display:none;">在建</div> <div class="t-btn t-btn-act" onclick="ProjectZJClick();" style="cursor: pointer; display: none;">在建</div>
<div class="t-btn" onclick="ProjectTGClick();" style="cursor: pointer;display:none;">停工</div> <div class="t-btn" onclick="ProjectTGClick();" style="cursor: pointer; display: none;">停工</div>
<div class="t-btn" onclick="ProjectJGClick();" style="cursor: pointer;display:none;">竣工</div> <div class="t-btn" onclick="ProjectJGClick();" style="cursor: pointer; display: none;">竣工</div>
</div> </div>
<div class="nav-btn n-btns-l"> <div class="nav-btn n-btns-l">
<div class="n-btn-l p-n-btn-l" onclick="CQMSClick();" style="cursor: pointer"> <div class="n-btn-l p-n-btn-l" onclick="CQMSClick();" style="cursor: pointer">
@ -324,12 +324,11 @@
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnProjectSet" OnClientClick="parent.removeActiveTab();"> EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnProjectSet" OnClientClick="parent.removeActiveTab();">
</f:Button> </f:Button>
</div> </div>
<%--<div class="t-btn1 iconfont icon-bangzhu" onclick="HelpFunction()" style="cursor: pointer"> <div class="t-btn1 " onclick="HelpFunction()" style="cursor: pointer">
<span><asp:Literal runat="server" Text="<%$ Resources:Lan,help %>" /><f:Button runat="server" CssClass="bgbtntop" IconFont="Eye" OnClick="btnHelp_Click" ToolTip="<%$ Resources:Lan,help %>" Hidden="true" <f:Button runat="server" CssClass="bgbtntop" IconFont="Question" OnClick="btnHelp_Click" ToolTip="<%$ Resources:Lan,help %>" Hidden="false"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnHelp" OnClientClick="parent.removeActiveTab();"> EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnHelp" OnClientClick="parent.removeActiveTab();">
</f:Button> </f:Button>
</span> </div>
</div>--%>
<%--<div class="t-btn1 iconfont icon-tuichu" onclick="SignOutFunction()" style="cursor: pointer"> <%--<div class="t-btn1 iconfont icon-tuichu" onclick="SignOutFunction()" style="cursor: pointer">
<span><asp:Literal runat="server" Text="<%$ Resources:Lan,quit %>" /><f:Button runat="server" CssClass="bgbtntop" Text="<%$ Resources:Lan,quit %>" ToolTip="<%$ Resources:Lan,quit %>" IconFont="PowerOff" Hidden="true" <span><asp:Literal runat="server" Text="<%$ Resources:Lan,quit %>" /><f:Button runat="server" CssClass="bgbtntop" Text="<%$ Resources:Lan,quit %>" ToolTip="<%$ Resources:Lan,quit %>" IconFont="PowerOff" Hidden="true"
EnablePostBack="false" EnableDefaultState="true" EnableDefaultCorner="false" ID="Button18"> EnablePostBack="false" EnableDefaultState="true" EnableDefaultCorner="false" ID="Button18">

View File

@ -131,6 +131,15 @@ namespace FineUIPro.Web
/// </remarks> /// </remarks>
protected global::FineUIPro.Button btnProjectSet; protected global::FineUIPro.Button btnProjectSet;
/// <summary>
/// btnHelp 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnHelp;
/// <summary> /// <summary>
/// ArrowsAlt 控件。 /// ArrowsAlt 控件。
/// </summary> /// </summary>

View File

@ -220236,6 +220236,8 @@ namespace Model
private System.Nullable<int> _SortIndex; private System.Nullable<int> _SortIndex;
private System.Nullable<bool> _IsOK;
private EntityRef<Base_Project> _Base_Project; private EntityRef<Base_Project> _Base_Project;
private EntityRef<Base_Unit> _Base_Unit; private EntityRef<Base_Unit> _Base_Unit;
@ -220270,6 +220272,8 @@ namespace Model
partial void OnCompileDateChanged(); partial void OnCompileDateChanged();
partial void OnSortIndexChanging(System.Nullable<int> value); partial void OnSortIndexChanging(System.Nullable<int> value);
partial void OnSortIndexChanged(); partial void OnSortIndexChanged();
partial void OnIsOKChanging(System.Nullable<bool> value);
partial void OnIsOKChanged();
#endregion #endregion
public JDGL_MonthPlan() public JDGL_MonthPlan()
@ -220532,6 +220536,26 @@ namespace Model
} }
} }
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsOK", DbType="Bit")]
public System.Nullable<bool> IsOK
{
get
{
return this._IsOK;
}
set
{
if ((this._IsOK != value))
{
this.OnIsOKChanging(value);
this.SendPropertyChanging();
this._IsOK = value;
this.SendPropertyChanged("IsOK");
this.OnIsOKChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_MonthPlan_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_MonthPlan_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)]
public Base_Project Base_Project public Base_Project Base_Project
{ {