五环大屏;进度管理;等

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";
/// <summary>
/// 焊工岗位Id
/// 焊工岗位Id——管道焊工
/// </summary>
public static string WorkPost_Welder = "97afac2d-7ffb-49de-bf15-4b49ef24df63";
/// <summary>
/// 焊工岗位Id
/// 焊工岗位Id——结构焊工
/// </summary>
public static string WorkPost_Welder1 = "16c736b6-7ee1-4069-8b57-1a658e6a615f";
/// <summary>
/// 焊工岗位Id
/// 焊工岗位Id——设备焊工
/// </summary>
public static string WorkPost_Welder2 = "36644e8c-0593-4ca7-880f-6a55510c51a1";
/// <summary>
/// 焊工岗位Id
/// 焊工岗位Id——电焊工
/// </summary>
public static string WorkPost_Welder3 = "5383f797-da4a-4547-b2aa-905a99c1bcfa";
/// <summary>
/// 焊工岗位Id
/// 焊工岗位Id——管道焊工
/// </summary>
public static string WorkPost_Welder4 = "97afac2d-7ffb-49de-bf15-4b49ef24df63";
/// <summary>
/// 焊工岗位Id
/// 焊工岗位Id——其他焊工
/// </summary>
public static string WorkPost_Welder5 = "F8CD2EB0-1D46-422B-A21C-331669B2CF6C";
/// <summary>
/// 焊工岗位Id——工艺焊工
/// </summary>
public static string WorkPost_Welder6 = "4ACC633F-BD81-4CBB-9058-A4E4DFFE7881";
/// <summary>
/// 铆工岗位Id
/// </summary>

View File

@ -122,7 +122,7 @@ namespace BLL
/// <param name="PageSize">每页数量</param>
/// <returns></returns>
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);
if (!string.IsNullOrEmpty(unitId))
@ -180,6 +180,10 @@ namespace BLL
{
getPersonList = getPersonList.Where(x => x.RealNameAddTime == null);
}
if (chManager)
{
getPersonList = getPersonList.Where(x => x.PostType == Const.PostType_1);
}
if (ckIdCardInfoNotOK)
{
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,
DutyPerson = MonthPlan.DutyPerson,
RealDate = MonthPlan.RealDate,
IsOK = MonthPlan.IsOK,
Remark = MonthPlan.Remark,
CompileMan = MonthPlan.CompileMan,
CompileDate = MonthPlan.CompileDate,
@ -73,6 +74,7 @@ namespace BLL
newMonthPlan.PlanDate = MonthPlan.PlanDate;
newMonthPlan.DutyPerson = MonthPlan.DutyPerson;
newMonthPlan.RealDate = MonthPlan.RealDate;
newMonthPlan.IsOK = MonthPlan.IsOK;
newMonthPlan.Remark = MonthPlan.Remark;
newMonthPlan.CompileMan = MonthPlan.CompileMan;
newMonthPlan.CompileDate = MonthPlan.CompileDate;

View File

@ -189,7 +189,7 @@ namespace BLL
/// 项目OBS查询接口
/// </summary>
/// <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";
var token = GetToken();

View File

@ -31,7 +31,7 @@
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="各项目基本情况" EnableCollapse="true"
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"
EnableTextSelection="True">
<Toolbars>
@ -53,7 +53,7 @@
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</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">
</f:RenderField>
<f:RenderField Width="450px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left"
@ -83,9 +83,9 @@
</f:Tab>
<f:Tab ID="Tab2" Title="月度计划统计" BodyPadding="5px" Layout="VBox" IconFont="Bookmark" runat="server">
<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"
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"
EnableTextSelection="True">
<Toolbars>
@ -110,10 +110,10 @@
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<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>
</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">
</f:RenderField>
<f:RenderField Width="350px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left"
@ -160,9 +160,9 @@
</f:Tab>
<f:Tab ID="Tab3" Title="周度计划统计" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server">
<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"
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"
EnableTextSelection="True">
<Toolbars>
@ -184,10 +184,10 @@
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<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>
</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">
</f:RenderField>
<f:RenderField Width="350px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left"
@ -232,6 +232,93 @@
</f:Grid>
</Items>
</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">
<Items>
</Items>

View File

@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
namespace FineUIPro.Web.DataShow
{
@ -16,14 +17,17 @@ namespace FineUIPro.Web.DataShow
Funs.DropDownPageSize(this.ddlPageSize);
Funs.DropDownPageSize(this.ddlPageSize2);
Funs.DropDownPageSize(this.ddlPageSize3);
Funs.DropDownPageSize(this.ddlPageSize4);
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
ddlPageSize2.SelectedValue = Grid2.PageSize.ToString();
ddlPageSize3.SelectedValue = Grid3.PageSize.ToString();
ddlPageSize4.SelectedValue = Grid4.PageSize.ToString();
BLL.ProjectService.InitProjectDropDownList(this.drpProject, true);
BLL.ProjectService.InitProjectDropDownList(this.drpProject2, true);
BLL.UserService.InitSGBUser(this.drpDutyPerson2, true);
BLL.ProjectService.InitProjectDropDownList(this.drpProject3, true);
BLL.UserService.InitSGBUser(this.drpDutyPerson3, true);
BLL.ProjectService.InitProjectDropDownList(this.drpProject4, true);
BindGrid1();
//统计月份信息
@ -60,7 +64,7 @@ left join (
where w.RealDate is not null and w.RealDate<=w.PlanDate
GROUP BY w.ProjectId
) AS MonthPlanOK ON MonthPlanOK.ProjectId=p.ProjectId
where ProjectState =1 ";
where isnull(p.ProjectState,1)=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
string cpara = string.Empty;
if (this.drpProject.SelectedValue != Const._Null)
@ -104,11 +108,18 @@ left join (
tb.Columns.Add(new DataColumn("TotalRate", typeof(decimal)));
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)
{
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");
//if (DateTime.Now.Day < 26)
@ -178,11 +189,18 @@ left join (
tb.Columns.Add(new DataColumn("TotalRate", typeof(decimal)));
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)
{
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");
if (DateTime.Now.Day < 26)
@ -234,6 +252,51 @@ left join (
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
/// <summary>
/// 查询
@ -365,6 +428,51 @@ left join (
}
#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)
{
if (TabStrip1.ActiveTabIndex == 1)
@ -381,6 +489,13 @@ left join (
BindGrid3();
}
}
else if (TabStrip1.ActiveTabIndex == 3)
{
if (this.Grid4.Rows.Count == 0)
{
BindGrid4();
}
}
}
/// <summary>

View File

@ -320,6 +320,96 @@ namespace FineUIPro.Web.DataShow
/// </remarks>
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>
/// TabOnlineMenuSet 控件。
/// </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\InspectionManagement.aspx" />
<Content Include="DataShow\InspectionManagementItem.aspx" />
<Content Include="DataShow\JDStatistics.aspx" />
<Content Include="DataShow\JDWeekDetail.aspx" />
<Content Include="DataShow\JDMonthDetail.aspx" />
<Content Include="DataShow\JD.aspx" />
@ -2160,6 +2161,7 @@
<Content Include="Video\Video.aspx" />
<Content Include="WorkBench.aspx" />
<Content Include="Work\ToDoList.aspx" />
<Content Include="ZHDD\ZHDD.aspx" />
<Content Include="ZHGL\DataIn\AccidentCauseReportBar.aspx" />
<Content Include="ZHGL\DataIn\AccidentCauseReportBarIn.aspx" />
<Content Include="ZHGL\DataIn\AccidentCauseReportImport.aspx" />
@ -9354,6 +9356,13 @@
<Compile Include="DataShow\InspectionManagementItem.aspx.designer.cs">
<DependentUpon>InspectionManagementItem.aspx</DependentUpon>
</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">
<DependentUpon>JDWeekDetail.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -18499,6 +18508,13 @@
<Compile Include="Work\ToDoList.aspx.designer.cs">
<DependentUpon>ToDoList.aspx</DependentUpon>
</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">
<DependentUpon>AccidentCauseReportBar.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

View File

@ -48,6 +48,9 @@
<f:RadioItem Value="1" Text="在岗" />
<f:RadioItem Value="0" Text="不在岗" />
</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"
AutoPostBack="true" OnCheckedChanged="TextBox_TextChanged">
</f:CheckBox>

View File

@ -59,7 +59,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
}
////权限按钮方法
this.GetButtonPower();
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
BLL.WorkPostService.InitWorkPostDropDownList(this.drpPost, true);
BindGrid();
@ -74,10 +74,10 @@ namespace FineUIPro.Web.HSSE.SitePerson
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
string unitId = string.Empty;
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,
false, Grid1,true);
false, this.chManager.Checked, Grid1, true);
Grid1.RecordCount = PersonService.count;
Grid1.DataSource = getData;
Grid1.DataBind();
@ -213,17 +213,17 @@ namespace FineUIPro.Web.HSSE.SitePerson
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
btnMenuBlack.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
}
}
}

View File

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

View File

@ -82,6 +82,9 @@
<f:RadioItem Value="1" Text="在岗" />
<f:RadioItem Value="0" Text="不在岗" />
</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"
AutoPostBack="true" OnCheckedChanged="TextBox_TextChanged">
</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(),
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.DataSource = getData;
Grid1.DataBind();

View File

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

View File

@ -72,6 +72,10 @@
<f:RenderField Width="95px" ColumnID="RealDate" DataField="RealDate" SortField="RealDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际完成时间" TextAlign="Center" HeaderTextAlign="Center">
</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"
SortField="Remark" FieldType="String" HeaderText="备注" TextAlign="Center"
HeaderTextAlign="Center">
@ -89,7 +93,7 @@
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuModify" EnablePostBack="true" runat="server" Hidden="true" Icon="Pencil" Text="修改"
<f:MenuButton ID="btnMenuModify" EnablePostBack="true" runat="server" Hidden="true" Icon="Pencil" Text="修改"
OnClick="btnMenuModify_Click">
</f:MenuButton>
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Hidden="true" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"

View File

@ -123,7 +123,7 @@ namespace FineUIPro.Web.JDGL.Check
/// <returns></returns>
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,'')
from [dbo].[JDGL_MonthPlan] mp
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 = row.CreateCell(6);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["IsOKStr"].ToString());
cell = row.CreateCell(7);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb.Rows[j]["Remark"].ToString());
i++;
}

View File

@ -22,7 +22,7 @@
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpUnit" runat="server" Label="责任单位" LabelWidth="150px" AutoSelectFirstItem="false" Required="true" ShowRedStar="true">
<f:DropDownList ID="drpUnit" runat="server" Label="责任单位" LabelWidth="150px" AutoSelectFirstItem="false" Required="true" ShowRedStar="true">
</f:DropDownList>
</Items>
</f:FormRow>
@ -37,13 +37,16 @@
<f:TextArea ID="txtNodeContent" runat="server" Label="节点内容" LabelAlign="Right" LabelWidth="150px" Required="true" ShowRedStar="true"></f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker ID="txtPlanDate" runat="server" Label="计划完成时间" LabelAlign="Right" LabelWidth="150px" Required="true" ShowRedStar="true">
</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:DropDownList ID="drpIsOK" runat="server" Label="完成状态" LabelAlign="Right" AutoSelectFirstItem="false" LabelWidth="150px">
<f:ListItem Text="已完成" Value="已完成" />
<f:ListItem Text="未完成" Value="未完成" />
</f:DropDownList>
</Items>
</f:FormRow>

View File

@ -78,7 +78,14 @@ namespace FineUIPro.Web.JDGL.Check
txtMonths.Text = string.Format("{0:yyyy-MM}", model.Months);
txtMonths.Readonly = true;
drpUnit.SelectedValue = model.UnitId;
if (model.IsOK == true)
{
this.drpIsOK.SelectedValue = "已完成";
}
else
{
this.drpIsOK.SelectedValue = "未完成";
}
if (!string.IsNullOrEmpty(model.DutyPerson))
{
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>
@ -118,6 +139,7 @@ namespace FineUIPro.Web.JDGL.Check
CompileMan = this.CurrUser.UserId,
CompileDate = DateTime.Now,
};
model.IsOK = this.drpIsOK.SelectedValue == "已完成";
if (!string.IsNullOrWhiteSpace(this.txtRealDate.Text))
{
model.RealDate = Funs.GetNewDateTime(this.txtRealDate.Text);

View File

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

View File

@ -76,6 +76,12 @@
<f:RenderField Width="95px" ColumnID="RealDate" DataField="RealDate" SortField="RealDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际完成时间" TextAlign="Center" HeaderTextAlign="Center">
</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"
SortField="Remark" FieldType="String" HeaderText="备注" TextAlign="Center"
HeaderTextAlign="Center">

View File

@ -267,8 +267,6 @@ namespace FineUIPro.Web.JDGL.Check
Target = Target.Self
};
alert.Show();
}
else
{
@ -396,6 +394,7 @@ namespace FineUIPro.Web.JDGL.Check
string col3 = pds.Rows[i][3].ToString().Trim();
string col4 = pds.Rows[i][4].ToString().Trim();
string col5 = pds.Rows[i][5].ToString().Trim();
string col6 = pds.Rows[i][6].ToString().Trim();
if (!string.IsNullOrEmpty(col0))//责任单位
{
var projectUnit = projectUnits.FirstOrDefault(x => x.UnitName == col0);
@ -428,13 +427,18 @@ namespace FineUIPro.Web.JDGL.Check
}
MonthPlan.DutyPerson = lstUserIds;
}
if (!string.IsNullOrEmpty(col5))//完成状态
{
MonthPlan.IsOK = col5 == "已完成";
}
if (!string.IsNullOrEmpty(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.MonthPlanId = SQLHelper.GetNewID(typeof(Model.JDGL_MonthPlan));
@ -489,6 +493,7 @@ namespace FineUIPro.Web.JDGL.Check
newMonthPlan.PlanDate = MonthPlans[i].PlanDate;
newMonthPlan.DutyPerson = MonthPlans[i].DutyPerson;
newMonthPlan.RealDate = MonthPlans[i].RealDate;
newMonthPlan.IsOK = MonthPlans[i].IsOK;
newMonthPlan.Remark = MonthPlans[i].Remark;
newMonthPlan.SortIndex = MonthPlans[i].SortIndex;
newMonthPlan.CompileMan = this.CurrUser.UserId;
@ -501,6 +506,7 @@ namespace FineUIPro.Web.JDGL.Check
oldMonthPlan.PlanDate = MonthPlans[i].PlanDate;
oldMonthPlan.DutyPerson = MonthPlans[i].DutyPerson;
oldMonthPlan.RealDate = MonthPlans[i].RealDate;
oldMonthPlan.IsOK = MonthPlans[i].IsOK;
oldMonthPlan.Remark = MonthPlans[i].Remark;
BLL.MonthPlanService.UpdateMonthPlan(oldMonthPlan);
}
@ -593,6 +599,27 @@ namespace FineUIPro.Web.JDGL.Check
}
#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>

View File

@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check {
public partial class MonthPlanIn {
namespace FineUIPro.Web.JDGL.Check
{
public partial class MonthPlanIn
{
/// <summary>
/// form1 控件。
/// </summary>
@ -20,7 +22,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@ -29,7 +31,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
@ -38,7 +40,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
@ -47,7 +49,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtMonth 控件。
/// </summary>
@ -56,7 +58,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtMonth;
/// <summary>
/// btnAudit 控件。
/// </summary>
@ -65,7 +67,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAudit;
/// <summary>
/// btnImport 控件。
/// </summary>
@ -74,7 +76,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnSave 控件。
/// </summary>
@ -83,7 +85,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnDownLoad 控件。
/// </summary>
@ -92,7 +94,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDownLoad;
/// <summary>
/// fuAttachUrl 控件。
/// </summary>
@ -101,7 +103,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FileUpload fuAttachUrl;
/// <summary>
/// Grid1 控件。
/// </summary>
@ -110,7 +112,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Label2 控件。
/// </summary>
@ -119,7 +121,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label2;
/// <summary>
/// lbImageUrl 控件。
/// </summary>
@ -128,7 +130,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbImageUrl;
/// <summary>
/// Label1 控件。
/// </summary>
@ -137,7 +139,16 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// Label5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label5;
/// <summary>
/// hdFileName 控件。
/// </summary>
@ -146,7 +157,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdFileName;
/// <summary>
/// hdCheckResult 控件。
/// </summary>

View File

@ -775,7 +775,7 @@ namespace FineUIPro.Web.JDGL.Check
}
/// <summary>
///
/// 完成状态
/// </summary>
/// <param name="registrationId"></param>
/// <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 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
where x.ProjectId == this.CurrUser.LoginProjectId && x.RecordDate.Value == Convert.ToDateTime("2023-08-28")
select new { x.IDCardNo, z.PostType };
List<string> pids = new List<string>();
pids.Add(this.CurrUser.LoginProjectId);
var getallin = APIPageDataService.getPersonNum(pids, DateTime.Now);
//int AllCount = 0;
//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
// 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 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)
{
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,
(select RealNum from JDGL_QuantityCompletion where QuantityListId=ql.QuantityListId and Months=@month) 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(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 ISNULL(qc.PlanNum, 0) WHEN 0 THEN 0
ELSE 100 * ISNULL(qc.RealNum, 0) / (1.0 * qc.PlanNum) END AS DECIMAL(9, 2))))) + '%'
AS Rate,
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
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";
StringBuilder strSql = new StringBuilder();
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,
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,
--(select NextNum from JDGL_QuantityCompletion where QuantityListId=ql.QuantityListId and Months=@month) as NextNum,
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,QuantityListId from JDGL_QuantityCompletion where Months=@month) qco on qco.QuantityListId=ql.QuantityListId ");
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) ");
strSql.AppendLine("order by ql.SortIndex, ql.Name ");
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@month", month));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
DataTable tb = SQLHelper.GetDataTableRunText(strSql.ToString(), parameter);
StringBuilder sb = new StringBuilder();
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 realNum = Funs.RemoveZero(tb.Rows[j]["RealNum"].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 totalRealNum = Funs.RemoveZero(tb.Rows[j]["TotalRealNum"].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);
//焊工
listCategories.Add("焊工");
int workPostCount6 = persons.Count(x => x.WorkPostId == Const.WorkPost_Welder1 || x.WorkPostId == Const.WorkPost_Welder2 ||
x.WorkPostId == Const.WorkPost_Welder3 || x.WorkPostId == Const.WorkPost_Welder4 || x.WorkPostId == Const.WorkPost_Welder5);
int workPostCount6 = persons.Count(x => x.WorkPostId == Const.WorkPost_Welder1 || x.WorkPostId == Const.WorkPost_Welder2 || x.WorkPostId == Const.WorkPost_Welder3
|| x.WorkPostId == Const.WorkPost_Welder4 || x.WorkPostId == Const.WorkPost_Welder5 || x.WorkPostId == Const.WorkPost_Welder6);
listdata.Add(workPostCount6);
//铆工
listCategories.Add("铆工");

View File

@ -530,9 +530,9 @@
window.open("../DataShow/GJSX.aspx")
}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/JDStatistics.aspx")
}
else if (type == 'ManagerData') {
// $('iframe').attr('src', '../InterfacePopup/CQMS/ManagerData.aspx') //管理人员数据

View File

@ -127,23 +127,38 @@ namespace FineUIPro.Web.common
{
this.divSafeWorkTimeMonth.InnerHtml = countMonthAqrgs.ToString().Split('.')[0];
}
// 安全培训人员(合并数据库查询)
var trainingQuery = db.EduTrain_TrainRecord
.Where(x => pids.Contains(x.ProjectId))
.GroupBy(x => 1)
.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();
//// 安全培训人员(合并数据库查询)
//var trainingQuery = db.EduTrain_TrainRecord
// .Where(x => pids.Contains(x.ProjectId))
// .GroupBy(x => 1)
// .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)
{
getTrainRecord = db.View_EduTrain_TrainFind.Count();
//修改:增加博晟教育中的人数
boShengCount = db.Bo_Sheng_TrainPerson.Count(x => x.DeleteTag == "False" || x.DeleteTag == null);
}
else
{
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";
@ -1237,11 +1252,11 @@ namespace FineUIPro.Web.common
{
var wsAccidentList1 = from x in db.Accident_AccidentPersonRecord
join y in db.Base_AccidentType on x.AccidentTypeId equals y.AccidentTypeId
where y.AccidentTypeName.Contains("未遂")
where y.AccidentTypeName.Contains("未遂")
select x;
var wsAccidentList2 = from x in db.Accident_AccidentReportOther
join y in db.Sys_Const on x.AccidentTypeId equals y.ConstValue
where y.ConstText.Contains("未遂")
where y.ConstText.Contains("未遂")
select x;
result = wsAccidentList1.Count() + wsAccidentList2.Count();
//result = (from x in Funs.DB.Accident_AccidentPersonRecord

View File

@ -252,9 +252,9 @@
</f:DropDownList>
<f:Label ID="lblProjectName" runat="server"></f:Label>
</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="ProjectJGClick();" 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="ProjectJGClick();" style="cursor: pointer; display: none;">竣工</div>
</div>
<div class="nav-btn n-btns-l">
<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();">
</f:Button>
</div>
<%--<div class="t-btn1 iconfont icon-bangzhu" 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"
<div class="t-btn1 " onclick="HelpFunction()" style="cursor: pointer">
<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();">
</f:Button>
</span>
</div>--%>
</div>
<%--<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"
EnablePostBack="false" EnableDefaultState="true" EnableDefaultCorner="false" ID="Button18">

View File

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

View File

@ -220236,6 +220236,8 @@ namespace Model
private System.Nullable<int> _SortIndex;
private System.Nullable<bool> _IsOK;
private EntityRef<Base_Project> _Base_Project;
private EntityRef<Base_Unit> _Base_Unit;
@ -220270,6 +220272,8 @@ namespace Model
partial void OnCompileDateChanged();
partial void OnSortIndexChanging(System.Nullable<int> value);
partial void OnSortIndexChanged();
partial void OnIsOKChanging(System.Nullable<bool> value);
partial void OnIsOKChanged();
#endregion
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)]
public Base_Project Base_Project
{