五环大屏;进度管理;等
This commit is contained in:
parent
3e6008ee29
commit
f135a948da
|
@ -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
|
||||
|
|
@ -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>
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 114 KiB |
Binary file not shown.
Before Width: | Height: | Size: 274 KiB |
Binary file not shown.
Before Width: | Height: | Size: 39 KiB |
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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))
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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="确定删除当前数据?"
|
||||
|
|
|
@ -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++;
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -775,7 +775,7 @@ namespace FineUIPro.Web.JDGL.Check
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// 完成状态
|
||||
/// </summary>
|
||||
/// <param name="registrationId"></param>
|
||||
/// <returns></returns>
|
||||
|
|
|
@ -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>
|
|
@ -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
|
||||
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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("铆工");
|
||||
|
|
|
@ -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') //管理人员数据
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue