This commit is contained in:
李鹏飞 2025-05-26 17:16:13 +08:00
commit 456b2927b5
73 changed files with 3434 additions and 1105 deletions

View File

@ -0,0 +1,37 @@
--
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
--1
IF NOT EXISTS (SELECT * FROM Sys_Menu WHERE MenuId = '09E6A03F-65C8-4FAC-9659-7A0B56D8CC19')
BEGIN
--
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('09E6A03F-65C8-4FAC-9659-7A0B56D8CC19','指挥调度中心','ZHDD/ZHDD.aspx',10,'0','Menu_CommandDispatchCenter',0,1,1)
END
GO
--1
IF NOT EXISTS (SELECT * FROM Sys_Const WHERE ID = '182BC982-F98F-41B3-A2D2-9DD834BF5833')
BEGIN
--
INSERT INTO dbo.Sys_Const(ID,ConstText,ConstValue,SortIndex,GroupId)
VALUES('182BC982-F98F-41B3-A2D2-9DD834BF5833','指挥调度中心','Menu_CommandDispatchCenter',11,'MenuType_P')
END
GO
--
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Check_CheckControl' AND COLUMN_NAME = 'CCManIds')
BEGIN
ALTER TABLE Check_CheckControl ADD CCManIds nvarchar(2000);
END
GO

View File

@ -0,0 +1,37 @@
--
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
--1
IF NOT EXISTS (SELECT * FROM Sys_Menu WHERE MenuId = '09E6A03F-65C8-4FAC-9659-7A0B56D8CC19')
BEGIN
--
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('09E6A03F-65C8-4FAC-9659-7A0B56D8CC19','指挥调度中心','ZHDD/ZHDD.aspx',10,'0','Menu_CommandDispatchCenter',0,1,1)
END
GO
--1
IF NOT EXISTS (SELECT * FROM Sys_Const WHERE ID = '182BC982-F98F-41B3-A2D2-9DD834BF5833')
BEGIN
--
INSERT INTO dbo.Sys_Const(ID,ConstText,ConstValue,SortIndex,GroupId)
VALUES('182BC982-F98F-41B3-A2D2-9DD834BF5833','指挥调度中心','Menu_CommandDispatchCenter',11,'MenuType_P')
END
GO
--
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Check_CheckControl' AND COLUMN_NAME = 'CCManIds')
BEGIN
ALTER TABLE Check_CheckControl ADD CCManIds nvarchar(2000);
END
GO

View File

@ -96,6 +96,7 @@ namespace BLL
newCheckControl.ReAttachUrl = CheckControl.ReAttachUrl;
newCheckControl.State = CheckControl.State;
newCheckControl.SaveHandleMan = CheckControl.SaveHandleMan;
newCheckControl.CCManIds = CheckControl.CCManIds;
db.Check_CheckControl.InsertOnSubmit(newCheckControl);
db.SubmitChanges();
@ -128,17 +129,19 @@ namespace BLL
else
{
x.ProposeUnitId = x.ProposeUnitId + "$" + "$";
}
Sys_User checkMen = UserService.GetUserByUserId(x.CheckMan);
x.CheckMan = (checkMen != null ? checkMen.UserName : "") + "$" + UnitWorkService.GetNameById(x.UnitWorkId) + "$" + ConvertManAndID(x.CheckControlCode);
x.CNProfessionalCode = x.CNProfessionalCode + "$" + CNProfessionalService.GetCNProfessionalNameByCode(x.CNProfessionalCode);
var ccManNames = UserService.getUserNamesUserIds(x.CCManIds);
x.CCManIds = (x.CCManIds != null ? x.CCManIds : "") + "$" + ccManNames;
return x;
}
}
/// <summary>
/// 根据状态选择下一步办理类型
/// </summary>
@ -616,6 +619,8 @@ namespace BLL
newCheckControl.State = CheckControl.State;
if (!string.IsNullOrEmpty(CheckControl.ProposeUnitId))
newCheckControl.ProposeUnitId = CheckControl.ProposeUnitId;
if (!string.IsNullOrEmpty(CheckControl.CCManIds))
newCheckControl.CCManIds = CheckControl.CCManIds;
db.SubmitChanges();
}
}

View File

@ -546,7 +546,7 @@ namespace BLL
/// <summary>
/// 木工岗位Id
/// </summary>
public static string WorkPost_Carpentry = "4ACC633F-BD81-4CBB-9058-A4E4DFFE7881";
public static string WorkPost_Carpentry = "e72ce3da-c3e3-45cc-9575-a82dbb2ca2aa";
/// <summary>
/// 钢筋工岗位Id
@ -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>
@ -791,6 +796,10 @@ namespace BLL
/// </summary>
public const string Menu_Opinion = "Menu_Opinion";
/// <summary>
/// 指挥调度中心
/// </summary>
public const string Menu_CommandDispatchCenter = "Menu_CommandDispatchCenter";
/// <summary>
/// 文档管理
/// </summary>
public const string Menu_Doc = "Menu_Doc";

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

@ -281,7 +281,8 @@ namespace BLL
var getInouts = from x in db.SitePerson_PersonInOut
where x.ProjectId == projectId && x.ChangeTime.Value >= dateS
select x;
int SafeHours = 0;
//int SafeHours = 0;
int SafeHours = db.SitePerson_PersonInOutNumber.Where(x => x.ProjectId == projectId && x.InOutDate < dateS).Max(x => x.WorkHours) ?? 0;
foreach (var itemNum in getNums)
{
DateTime date = Funs.GetNewDateTimeOrNow(itemNum.InOutDate.ToShortDateString());

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();

File diff suppressed because one or more lines are too long

View File

@ -205,9 +205,13 @@
<value>user</value>
<comment>用户</comment>
</data>
<data name="VideoSurveillance" xml:space="preserve">
<data name="VideoSurveillance" xml:space="preserve">
<value>Video surveillance</value>
<comment>视频监控</comment>
</data>
<data name="CommandDispatchCenter" xml:space="preserve">
<value>Command dispatch center</value>
<comment>指挥调度中心</comment>
</data>
<data name="WeldingManage" xml:space="preserve">
<value>Welding manage</value>
@ -260,6 +264,10 @@
<data name="completed" xml:space="preserve">
<value>Completed</value>
<comment>已完成</comment>
</data>
<data name="qualified" xml:space="preserve">
<value>Qualified</value>
<comment>合格数</comment>
</data>
<data name="ConstructionUnit" xml:space="preserve">
<value>Construction unit</value>

File diff suppressed because it is too large Load Diff

View File

@ -186,6 +186,9 @@
<data name="VideoSurveillance" xml:space="preserve">
<value>视频监控</value>
</data>
<data name="CommandDispatchCenter" xml:space="preserve">
<value>指挥调度中心</value>
</data>
<data name="WeldingManage" xml:space="preserve">
<value>焊接管理</value>
</data>
@ -224,6 +227,9 @@
</data>
<data name="completed" xml:space="preserve">
<value>已完成</value>
</data>
<data name="qualified" xml:space="preserve">
<value>合格数</value>
</data>
<data name="ConstructionUnit" xml:space="preserve">
<value>施工单位</value>
@ -1083,7 +1089,7 @@
<data name="main_new1_QualityInspection_AllInspectionManagement_Label" xml:space="preserve">
<value>共检总数</value>
</data>
<data name="main_new1_QualityInspection_IsOnceInspectionManagement_Label" xml:space="preserve">
<data name="main_new1_QualityInspection_IsOnceInspectionManagement_Label" xml:space="preserve">
<value>一次合格数量</value>
</data>
<data name="main_new1_QualityInspection_InspectionManagementZgl_Label" xml:space="preserve">

View File

@ -177,6 +177,15 @@ namespace Resources {
}
}
/// <summary>
/// 查找类似 指挥调度中心 的本地化字符串。
/// </summary>
internal static string CommandDispatchCenter {
get {
return ResourceManager.GetString("CommandDispatchCenter", resourceCulture);
}
}
/// <summary>
/// 查找类似 已完成 的本地化字符串。
/// </summary>
@ -2796,6 +2805,15 @@ namespace Resources {
}
}
/// <summary>
/// 查找类似 合格数 的本地化字符串。
/// </summary>
internal static string qualified {
get {
return ResourceManager.GetString("qualified", resourceCulture);
}
}
/// <summary>
/// 查找类似 质量管理 的本地化字符串。
/// </summary>

View File

@ -39,7 +39,6 @@ namespace FineUIPro.Web.CQMS.BaseInfo
this.txtEndTime.Text = "24";
}
}
}
protected void btnSave_Click(object sender, EventArgs e)

View File

@ -25,6 +25,11 @@
<f:DropDownList ID="sdrpUnitId" runat="server" Label="报验单位" LabelAlign="Right">
</f:DropDownList>
<f:DropDownList ID="drpCNPr" runat="server" Label="专业" LabelAlign="Right" LabelWidth="60px"></f:DropDownList>
<f:DropDownList ID="drpSchemeType" runat="server" Label="方案类型" LabelAlign="Right" LabelWidth="100px">
<f:ListItem Text="- 请选择 -" Value="" />
<f:ListItem Text="危大工程" Value="危大工程" />
<f:ListItem Text="超危大工程" Value="超危大工程" />
</f:DropDownList>
<f:TextBox runat="server" ID="txtPlanName" Label="方案名称" LabelAlign="Right"></f:TextBox>
<f:Button ID="btnSearch" Icon="SystemSearch"
EnablePostBack="true" runat="server" ToolTip="查询" OnClick="btnSearch_Click">
@ -51,10 +56,10 @@
HeaderTextAlign="Center" Width="200px">
</f:RenderField>
<f:RenderField ColumnID="SchemeType" DataField="SchemeType" FieldType="String" HeaderText="方案类型" TextAlign="Center"
HeaderTextAlign="Center" Width="200px">
HeaderTextAlign="Center" Width="200px">
</f:RenderField>
<f:RenderField ColumnID="TypeName" DataField="TypeName" FieldType="String" HeaderText="类型" TextAlign="Center"
HeaderTextAlign="Center" Width="200px">
HeaderTextAlign="Center" Width="200px">
</f:RenderField>
<f:RenderField ColumnID="ProfessionalName" DataField="ProfessionalName" FieldType="String" HeaderText="专业" TextAlign="Center"
HeaderTextAlign="Center" Width="150px">
@ -82,10 +87,10 @@
<f:RenderField ColumnID="ApprovalMan" DataField="ApprovalMan" FieldType="String" HeaderText="批准人" TextAlign="Center"
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="IsReview" DataField="IsReview" FieldType="String" HeaderText="是否通过专家评审" TextAlign="Center"
<f:RenderField ColumnID="IsReview" DataField="IsReview" FieldType="String" HeaderText="是否通过专家评审" TextAlign="Center"
HeaderTextAlign="Center" Width="150px">
</f:RenderField>
<%-- <f:RenderField ColumnID="ImplementationDeviation" DataField="ImplementationDeviation" FieldType="String" HeaderText="施工总结" TextAlign="Center"
<%-- <f:RenderField ColumnID="ImplementationDeviation" DataField="ImplementationDeviation" FieldType="String" HeaderText="施工总结" TextAlign="Center"
HeaderTextAlign="Center" Width="220px">
</f:RenderField>--%>
<%-- <f:TemplateField ColumnID="AttachFile" Width="150px" HeaderText="附件" HeaderTextAlign="Center" TextAlign="Left" > --%>
@ -97,7 +102,7 @@
<f:TemplateField ColumnID="AttachFile" Width="150px" HeaderText="附件" HeaderTextAlign="Center" TextAlign="Center">
<ItemTemplate>
<asp:LinkButton ID="lbtnFileUrl" runat="server" CssClass="ItemLink" OnClick="attchUrl_Click"
Text='查看' ToolTip="附件查看">
Text='查看' ToolTip="附件查看">
</asp:LinkButton>
</ItemTemplate>
</f:TemplateField>
@ -128,8 +133,8 @@
Width="1200px" Height="660px">
</f:Window>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>

View File

@ -54,6 +54,11 @@ namespace FineUIPro.Web.Comprehensive
strSql += " AND C.CNProfessionalId=@CNProfessionalId";
listStr.Add(new SqlParameter("@CNProfessionalId", drpCNPr.SelectedValue));
}
if (drpSchemeType.SelectedValue != BLL.Const._Null && !string.IsNullOrWhiteSpace(drpSchemeType.SelectedValue))
{
strSql += " AND C.SchemeType=@SchemeType";
listStr.Add(new SqlParameter("@SchemeType", drpSchemeType.SelectedValue));
}
if (!string.IsNullOrEmpty(this.txtPlanName.Text.Trim()))
{
strSql += " AND C.PlanName like @PlanName";
@ -433,7 +438,7 @@ namespace FineUIPro.Web.Comprehensive
}
}
#endregion
protected void attchUrl_Click(object sender, EventArgs e)
{
Debug.WriteLine("attchUrl_Click");

View File

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

View File

@ -87,7 +87,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
this.AttachUrl4.InnerHtml = BLL.UploadAttachmentService.ShowAttachment("../../", getUrl(this.MajorPlanApprovalId + "_4"));
this.AttachUrl5.InnerHtml = BLL.UploadAttachmentService.ShowAttachment("../../", getUrl(this.MajorPlanApprovalId + "_5"));
this.AttachUrl6.InnerHtml = BLL.UploadAttachmentService.ShowAttachment("../../", getUrl(this.MajorPlanApprovalId + "_6"));
this.txtTrainPersonNum.Text = majorPlanApproval.TrainPersonNum.HasValue ? majorPlanApproval.TrainPersonNum.ToString() : "";
this.txtAuditMan.Text = majorPlanApproval.AuditMan;
this.txtApprovalMan.Text = majorPlanApproval.ApprovalMan;
@ -130,7 +130,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
Alert.ShowInTop("请选择类型!", MessageBoxIcon.Warning);
return;
}
if (!string.IsNullOrEmpty(this.txtExpectedTime.Text))
{
majorPlanApproval.ExpectedTime = Convert.ToDateTime(this.txtExpectedTime.Text);
@ -157,7 +157,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
majorPlanApproval.TrainPersonNum = Funs.GetNewInt(this.txtTrainPersonNum.Text.Trim());
if (this.drpStates.SelectedValue != "1")
if (this.drpSchemeType.SelectedValue == "超危大工程" && this.drpStates.SelectedValue != "1")
{
//判断附件是否必传
if (!returnFj(this.hdAttachUrl.Text + "_1"))
@ -196,8 +196,8 @@ namespace FineUIPro.Web.CQMS.Comprehensive
return;
}
}
majorPlanApproval.ProjectId = this.CurrUser.LoginProjectId;
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
{
@ -279,7 +279,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format(
"../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/MajorPlanApproval&menuId={1}",
this.hdAttachUrl.Text+"_1", BLL.Const.MajorPlanApprovalMenuId)));
this.hdAttachUrl.Text + "_1", BLL.Const.MajorPlanApprovalMenuId)));
}
protected void btnAttach_Click2(object sender, EventArgs e)
@ -291,7 +291,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format(
"../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/MajorPlanApproval&menuId={1}",
this.hdAttachUrl.Text+"_2", BLL.Const.MajorPlanApprovalMenuId)));
this.hdAttachUrl.Text + "_2", BLL.Const.MajorPlanApprovalMenuId)));
}
protected void btnAttach_Click3(object sender, EventArgs e)
@ -303,7 +303,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format(
"../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/MajorPlanApproval&menuId={1}",
this.hdAttachUrl.Text+"_3", BLL.Const.MajorPlanApprovalMenuId)));
this.hdAttachUrl.Text + "_3", BLL.Const.MajorPlanApprovalMenuId)));
}
protected void btnAttach_Click4(object sender, EventArgs e)
@ -315,7 +315,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format(
"../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/MajorPlanApproval&menuId={1}",
this.hdAttachUrl.Text+"_4", BLL.Const.MajorPlanApprovalMenuId)));
this.hdAttachUrl.Text + "_4", BLL.Const.MajorPlanApprovalMenuId)));
}
protected void btnAttach_Click5(object sender, EventArgs e)
@ -327,7 +327,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format(
"../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/MajorPlanApproval&menuId={1}",
this.hdAttachUrl.Text+"_5", BLL.Const.MajorPlanApprovalMenuId)));
this.hdAttachUrl.Text + "_5", BLL.Const.MajorPlanApprovalMenuId)));
}
protected void btnAttach_Click6(object sender, EventArgs e)
@ -339,13 +339,14 @@ namespace FineUIPro.Web.CQMS.Comprehensive
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format(
"../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/MajorPlanApproval&menuId={1}",
this.hdAttachUrl.Text+"_6", BLL.Const.MajorPlanApprovalMenuId)));
this.hdAttachUrl.Text + "_6", BLL.Const.MajorPlanApprovalMenuId)));
}
private bool returnFj(string id) {
private bool returnFj(string id)
{
bool isT = true;
var model = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == id);
if (model==null)
if (model == null)
{
return false;
}

View File

@ -9,7 +9,7 @@
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="Panel1"/>
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="Panel1" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
@ -59,13 +59,13 @@
<f:RenderField ColumnID="ProfessionalName" DataField="ProfessionalName" FieldType="String" HeaderText="专业" TextAlign="Center"
HeaderTextAlign="Center" Width="110px">
</f:RenderField>
<f:RenderField ColumnID="NoticeCode" DataField="NoticeCode" FieldType="String" HeaderText="共检通知单编号" TextAlign="Center"
<f:RenderField ColumnID="NoticeCode" DataField="NoticeCode" SortField="NoticeCode" FieldType="String" HeaderText="共检通知单编号" TextAlign="Center"
HeaderTextAlign="Center" Width="130px">
</f:RenderField>
<f:RenderField ColumnID="AcceptanceSite" DataField="AcceptanceSite" FieldType="String" HeaderText="验收部位" TextAlign="Center"
HeaderTextAlign="Center" Width="150px">
</f:RenderField>
<%-- <f:RenderField ColumnID="AcceptanceCheckMan" DataField="AcceptanceCheckMan" FieldType="String" HeaderText="检查人" TextAlign="Center"
<%-- <f:RenderField ColumnID="AcceptanceCheckMan" DataField="AcceptanceCheckMan" FieldType="String" HeaderText="检查人" TextAlign="Center"
HeaderTextAlign="Center" Width="120px">
</f:RenderField>--%>
<f:TemplateField ColumnID="AcceptanceCheckMan" Width="280px" HeaderText="检查人" HeaderTextAlign="Center" TextAlign="Center">
@ -79,13 +79,13 @@
<f:RenderField ColumnID="InspectionCode" DataField="InspectionCode" FieldType="String" HeaderText="报检编号" TextAlign="Center"
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="InspectionDate" DataField="InspectionDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="验收日期" TextAlign="Center"
<f:RenderField ColumnID="InspectionDate" DataField="InspectionDate" SortField="InspectionDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="验收日期" TextAlign="Center"
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:TemplateField ColumnID="AttachFile" Width="150px" HeaderText="附件" HeaderTextAlign="Center" TextAlign="Left" >
<f:TemplateField ColumnID="AttachFile" Width="150px" HeaderText="附件" HeaderTextAlign="Center" TextAlign="Left">
<ItemTemplate>
<asp:LinkButton ID="lbtnFileUrl" runat="server" CssClass="ItemLink"
Text='<%# BLL.AttachFileService.GetBtnFileUrl(Eval("InspectionId")+"R") %>' ToolTip="附件查看"></asp:LinkButton>
<asp:LinkButton ID="lbtnFileUrl" runat="server" CssClass="ItemLink"
Text='<%# BLL.AttachFileService.GetBtnFileUrl(Eval("InspectionId")+"R") %>' ToolTip="附件查看"></asp:LinkButton>
</ItemTemplate>
</f:TemplateField>
</Columns>

View File

@ -33,54 +33,40 @@ namespace FineUIPro.Web.CQMS.ProcessControl
/// </summary>
public void BindGrid()
{
string strSql = @"SELECT P.InspectionId,
P.ProjectId,
P.UnitId,
P.CNProfessionalId,
P.UnitWorkId,
U.UnitName,
C.ProfessionalName,
P.NoticeCode,
UnitWork.UnitWorkName,
DP.DivisionName AS Branch,
BP.BreakdownName AS ControlPointType,
BP.Class,
P.AcceptanceSite,
P.AcceptanceCheckMan,
(CASE WHEN IsOnceQualified='False' THEN '否' ELSE '是' END)AS IsOnceQualified,
P.InspectionCode,
P.InspectionDate"
+ @" FROM ProcessControl_InspectionManagement AS P "
+ @" LEFT JOIN Base_Unit AS U ON U.UnitId = P.UnitId"
+ @" LEFT JOIN Base_CNProfessional C ON C.CNProfessionalId = P.CNProfessionalId"
+ @" LEFT JOIN WBS_UnitWork AS UnitWork ON UnitWork.UnitWorkId = P.UnitWorkId"
+ @" LEFT JOIN WBS_DivisionProject AS DP ON DP.DivisionProjectId = P.Branch"
+ @" LEFT JOIN WBS_BreakdownProject AS BP ON BP.BreakdownProjectId = P.ControlPointType"
+ @" WHERE P.ProjectId=@ProjectId ";
StringBuilder sb = new StringBuilder();
sb.Append("SELECT P.InspectionId,P.ProjectId,P.UnitId,P.CNProfessionalId,P.UnitWorkId,U.UnitName,C.ProfessionalName,P.NoticeCode,UnitWork.UnitWorkName,DP.DivisionName AS Branch,BP.BreakdownName AS ControlPointType,BP.Class,P.AcceptanceSite,P.AcceptanceCheckMan,(CASE WHEN IsOnceQualified='False' THEN '否' ELSE '是' END)AS IsOnceQualified,P.InspectionCode,P.InspectionDate ");
sb.Append("FROM ProcessControl_InspectionManagement AS P ");
sb.Append("LEFT JOIN Base_Unit AS U ON U.UnitId = P.UnitId ");
sb.Append("LEFT JOIN Base_CNProfessional C ON C.CNProfessionalId = P.CNProfessionalId ");
sb.Append("LEFT JOIN WBS_UnitWork AS UnitWork ON UnitWork.UnitWorkId = P.UnitWorkId ");
sb.Append("LEFT JOIN WBS_DivisionProject AS DP ON DP.DivisionProjectId = P.Branch ");
sb.Append("LEFT JOIN WBS_BreakdownProject AS BP ON BP.BreakdownProjectId = P.ControlPointType ");
sb.Append("WHERE P.ProjectId=@ProjectId ");
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
if (drpUnit.SelectedValue != BLL.Const._Null)
{
strSql += " AND P.UnitId=@UnitId";
sb.Append("AND P.UnitId=@UnitId ");
listStr.Add(new SqlParameter("@UnitId", drpUnit.SelectedValue));
}
if (drpCNProfessional.SelectedValue != BLL.Const._Null)
{
strSql += " AND P.CNProfessionalId=@CNProfessionalId";
sb.Append("AND P.CNProfessionalId=@CNProfessionalId ");
listStr.Add(new SqlParameter("@CNProfessionalId", drpCNProfessional.SelectedValue));
}
if (!string.IsNullOrEmpty(txtStarTime.Text))
{
strSql += " AND P.InspectionDate >= @startTime";
sb.Append("AND P.InspectionDate >= @startTime ");
listStr.Add(new SqlParameter("@startTime", Funs.GetNewDateTime(txtStarTime.Text)));
}
if (!string.IsNullOrEmpty(txtEndTime.Text))
{
strSql += " AND P.InspectionDate <= @endTime";
sb.Append("AND P.InspectionDate <= @endTim ");
listStr.Add(new SqlParameter("@endTime", Funs.GetNewDateTime(txtEndTime.Text)));
}
sb.Append("ORDER BY P.NoticeCode DESC ");
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
DataTable tb = SQLHelper.GetDataTableRunText(sb.ToString(), parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
@ -246,11 +232,38 @@ namespace FineUIPro.Web.CQMS.ProcessControl
string newUrl = string.Empty;
uploadfilepath = rootPath + initTemplatePath;
var lists = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
join y in Funs.DB.ProcessControl_InspectionManagement
on x.InspectionId equals y.InspectionId
where y.ProjectId == this.CurrUser.LoginProjectId
select y);
//var lists = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
// join y in Funs.DB.ProcessControl_InspectionManagement
// on x.InspectionId equals y.InspectionId
// where y.ProjectId == this.CurrUser.LoginProjectId
// select y);
var db = Funs.DB;
var lists = (from x in db.ProcessControl_InspectionManagement
join bu in db.Base_Unit on x.UnitId equals bu.UnitId into buGroup
from bu in buGroup.DefaultIfEmpty()
join bcn in db.Base_CNProfessional on x.CNProfessionalId equals bcn.CNProfessionalId into bcnGroup
from bcn in bcnGroup.DefaultIfEmpty()
//join wbsuw in db.WBS_UnitWork on x.UnitWorkId equals wbsuw.UnitWorkId into wbsuwGroup
//from wbsuw in wbsuwGroup.DefaultIfEmpty()
//join wbsd in db.WBS_DivisionProject on x.Branch equals wbsd.DivisionProjectId into wbsdGroup
//from wbsd in wbsdGroup.DefaultIfEmpty()
//join wbsbp in db.WBS_BreakdownProject on x.ControlPointType equals wbsbp.BreakdownProjectId into wbsbpGroup
//from wbsbp in wbsbpGroup.DefaultIfEmpty()
where x.ProjectId == this.CurrUser.LoginProjectId
orderby x.NoticeCode descending
select new
{
UnitId = x.UnitId,
UnitName = bu.UnitName,
CNProfessionalId = x.CNProfessionalId,
ProfessionalName = bcn.ProfessionalName,
NoticeCode = x.NoticeCode,
AcceptanceSite = x.AcceptanceSite,
AcceptanceCheckMan = x.AcceptanceCheckMan,
InspectionDate = x.InspectionDate,
IsOnceQualified = x.IsOnceQualified,
InspectionCode = x.InspectionCode
});
if (drpUnit.SelectedValue != BLL.Const._Null)
{
lists = lists.Where(x => x.UnitId == drpUnit.SelectedValue);
@ -307,22 +320,11 @@ namespace FineUIPro.Web.CQMS.ProcessControl
// 添加数据
cell = row.CreateCell(0);
cell.CellStyle = cellStyle;
string unitName = string.Empty;
if (!string.IsNullOrEmpty(item.UnitId))
{
unitName = BLL.UnitService.GetUnitNameByUnitId(item.UnitId);
}
cell.SetCellValue(unitName);//施工分包商
cell.SetCellValue(item.UnitName);//施工分包商
cell = row.CreateCell(1);
cell.CellStyle = cellStyle;
string proName = string.Empty;
var cnp = BLL.CNProfessionalService.GetCNProfessional(item.CNProfessionalId);
if (cnp != null)
{
proName = cnp.ProfessionalName;
}
cell.SetCellValue(proName);//专业
cell.SetCellValue(item.ProfessionalName);//专业
cell = row.CreateCell(2);
cell.CellStyle = cellStyle;
@ -343,7 +345,7 @@ namespace FineUIPro.Web.CQMS.ProcessControl
cell = row.CreateCell(5);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.IsOnceQualified == true ? "是" : "否");//是否一次合格
cell.SetCellValue(item.IsOnceQualified == false ? "否" : "是");//是否一次合格
cell = row.CreateCell(6);
cell.CellStyle = cellStyle;

View File

@ -1,6 +1,7 @@
using Aspose.Words;
using Aspose.Words.Tables;
using BLL;
using FineUIPro.Web.BaseInfo;
using System;
using System.Collections.Generic;
using System.Data;
@ -9,6 +10,7 @@ using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ListView;
namespace FineUIPro.Web.CQMS.ProcessControl
{
@ -47,113 +49,149 @@ namespace FineUIPro.Web.CQMS.ProcessControl
/// </summary>
public void BindGrid()
{
if (this.CurrUser.UserId==BLL.Const.hfnbdId)
{
DataTable tb = BindData();
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
//if (this.CurrUser.UserId == BLL.Const.hfnbdId)
//{
// string strSql = @"SELECT P.InspectionId,P.ProjectId,P.UnitId,
// P.CNProfessionalId,
// P.UnitWorkId,U.UnitName,
// C.DetectionItems as ProfessionalName,
// P.NoticeCode,UnitWork.UnitWorkName,
// DP.DivisionName AS Branch,
// BP.BreakdownName AS ControlPointType,
// BP.Class,P.AcceptanceSite, P.AcceptanceCheckMan"
// + @" FROM ProcessControl_InspectionManagement AS P"
// + @" LEFT JOIN Base_Unit AS U ON U.UnitId = P.UnitId"
// + @" LEFT JOIN Control_PointCropping C ON C.ControlId = P.CNProfessionalId"
// + @" LEFT JOIN WBS_UnitWork AS UnitWork ON UnitWork.UnitWorkId = P.UnitWorkId"
// + @" LEFT JOIN WBS_DivisionProject AS DP ON DP.DivisionProjectId = P.Branch"
// + @" LEFT JOIN WBS_BreakdownProject AS BP ON BP.BreakdownProjectId = P.ControlPointType"
// + @" WHERE P.ProjectId=@ProjectId ";
// List<SqlParameter> listStr = new List<SqlParameter>();
// listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
// if (drpUnit.SelectedValue != BLL.Const._Null)
// {
// strSql += " AND P.UnitId=@UnitId";
// listStr.Add(new SqlParameter("@UnitId", drpUnit.SelectedValue));
// }
// if (drpCNProfessional.SelectedValue != BLL.Const._Null)
// {
// strSql += " AND P.CNProfessionalId=@CNProfessionalId";
// listStr.Add(new SqlParameter("@CNProfessionalId", drpCNProfessional.SelectedValue));
// }
// if (!string.IsNullOrEmpty(txtStarTime.Text.Trim()))
// {
// strSql += " AND P.InspectionDate >= @startTime";
// listStr.Add(new SqlParameter("@startTime", Funs.GetNewDateTime(txtStarTime.Text.Trim())));
// }
// if (!string.IsNullOrEmpty(txtEndTime.Text.Trim()))
// {
// strSql += " AND P.InspectionDate <= @endTime";
// listStr.Add(new SqlParameter("@endTime", Funs.GetNewDateTime(txtEndTime.Text.Trim())));
// }
// SqlParameter[] parameter = listStr.ToArray();
// DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// Grid1.RecordCount = tb.Rows.Count;
// //tb = GetFilteredTable(Grid1.FilteredData, tb);
// var table = this.GetPagedDataTable(Grid1, tb);
// Grid1.DataSource = table;
// Grid1.DataBind();
//}
//else
//{
// string strSql = @"SELECT P.InspectionId,P.ProjectId,P.UnitId,
// P.CNProfessionalId,
// P.UnitWorkId,U.UnitName,
// C.ProfessionalName as ProfessionalName,
// P.NoticeCode,UnitWork.UnitWorkName,
// DP.DivisionName AS Branch,
// BP.BreakdownName AS ControlPointType,
// BP.Class,P.AcceptanceSite,P.AcceptanceCheckMan"
// + @" FROM ProcessControl_InspectionManagement AS P"
// + @" LEFT JOIN Base_Unit AS U ON U.UnitId = P.UnitId"
// + @" left join Base_CNProfessional c on c.CNProfessionalId = P.CNProfessionalId"
// + @" LEFT JOIN WBS_UnitWork AS UnitWork ON UnitWork.UnitWorkId = P.UnitWorkId"
// + @" LEFT JOIN WBS_DivisionProject AS DP ON DP.DivisionProjectId = P.Branch"
// + @" LEFT JOIN WBS_BreakdownProject AS BP ON BP.BreakdownProjectId = P.ControlPointType"
// + @" WHERE P.ProjectId=@ProjectId ";
// List<SqlParameter> listStr = new List<SqlParameter>();
// listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
// if (drpUnit.SelectedValue != BLL.Const._Null)
// {
// strSql += " AND P.UnitId=@UnitId";
// listStr.Add(new SqlParameter("@UnitId", drpUnit.SelectedValue));
// }
// if (drpCNProfessional.SelectedValue != BLL.Const._Null)
// {
// strSql += " AND P.CNProfessionalId=@CNProfessionalId";
// listStr.Add(new SqlParameter("@CNProfessionalId", drpCNProfessional.SelectedValue));
// }
// if (!string.IsNullOrEmpty(txtStarTime.Text.Trim()))
// {
// strSql += " AND P.InspectionDate >= @startTime";
// listStr.Add(new SqlParameter("@startTime", Funs.GetNewDateTime(txtStarTime.Text.Trim())));
// }
// if (!string.IsNullOrEmpty(txtEndTime.Text.Trim()))
// {
// strSql += " AND P.InspectionDate <= @endTime";
// listStr.Add(new SqlParameter("@endTime", Funs.GetNewDateTime(txtEndTime.Text.Trim())));
// }
// SqlParameter[] parameter = listStr.ToArray();
// DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// Grid1.RecordCount = tb.Rows.Count;
// //tb = GetFilteredTable(Grid1.FilteredData, tb);
// var table = this.GetPagedDataTable(Grid1, tb);
// Grid1.DataSource = table;
// Grid1.DataBind();
//}
}
string strSql = @"SELECT P.InspectionId,
P.ProjectId,
P.UnitId,
P.CNProfessionalId,
P.UnitWorkId,
U.UnitName,
C.DetectionItems as ProfessionalName,
P.NoticeCode,
UnitWork.UnitWorkName,
DP.DivisionName AS Branch,
BP.BreakdownName AS ControlPointType,
BP.Class,
P.AcceptanceSite,
P.AcceptanceCheckMan"
+ @" FROM ProcessControl_InspectionManagement AS P"
+ @" LEFT JOIN Base_Unit AS U ON U.UnitId = P.UnitId"
+ @" LEFT JOIN Control_PointCropping C ON C.ControlId = P.CNProfessionalId"
+ @" LEFT JOIN WBS_UnitWork AS UnitWork ON UnitWork.UnitWorkId = P.UnitWorkId"
+ @" LEFT JOIN WBS_DivisionProject AS DP ON DP.DivisionProjectId = P.Branch"
+ @" LEFT JOIN WBS_BreakdownProject AS BP ON BP.BreakdownProjectId = P.ControlPointType"
+ @" WHERE P.ProjectId=@ProjectId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
if (drpUnit.SelectedValue != BLL.Const._Null)
{
strSql += " AND P.UnitId=@UnitId";
listStr.Add(new SqlParameter("@UnitId", drpUnit.SelectedValue));
}
if (drpCNProfessional.SelectedValue != BLL.Const._Null)
{
strSql += " AND P.CNProfessionalId=@CNProfessionalId";
listStr.Add(new SqlParameter("@CNProfessionalId", drpCNProfessional.SelectedValue));
}
if (!string.IsNullOrEmpty(txtStarTime.Text.Trim()))
{
strSql += " AND P.InspectionDate >= @startTime";
listStr.Add(new SqlParameter("@startTime", Funs.GetNewDateTime(txtStarTime.Text.Trim())));
}
if (!string.IsNullOrEmpty(txtEndTime.Text.Trim()))
{
strSql += " AND P.InspectionDate <= @endTime";
listStr.Add(new SqlParameter("@endTime", Funs.GetNewDateTime(txtEndTime.Text.Trim())));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
else
/// <summary>
/// 查询数据
/// </summary>
/// <returns></returns>
public DataTable BindData()
{
StringBuilder sb = new StringBuilder();
sb.Append("SELECT P.InspectionId,P.ProjectId,P.UnitId,P.CNProfessionalId,P.UnitWorkId,U.UnitName,C.ProfessionalName as ProfessionalName,P.NoticeCode,UnitWork.UnitWorkName,DP.DivisionName AS Branch,BP.BreakdownName AS ControlPointType,BP.Class,P.AcceptanceSite,P.AcceptanceCheckMan ");
sb.Append("FROM ProcessControl_InspectionManagement AS P ");
sb.Append("LEFT JOIN Base_Unit AS U ON U.UnitId = P.UnitId ");
sb.Append("LEFT JOIN Base_CNProfessional AS C on c.CNProfessionalId = P.CNProfessionalId ");
sb.Append("LEFT JOIN WBS_UnitWork AS UnitWork ON UnitWork.UnitWorkId = P.UnitWorkId ");
sb.Append("LEFT JOIN WBS_DivisionProject AS DP ON DP.DivisionProjectId = P.Branch ");
sb.Append("LEFT JOIN WBS_BreakdownProject AS BP ON BP.BreakdownProjectId = P.ControlPointType ");
sb.Append("WHERE P.ProjectId=@ProjectId ");
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
if (drpUnit.SelectedValue != BLL.Const._Null)
{
string strSql = @"SELECT P.InspectionId,
P.ProjectId,
P.UnitId,
P.CNProfessionalId,
P.UnitWorkId,
U.UnitName,
C.ProfessionalName as ProfessionalName,
P.NoticeCode,
UnitWork.UnitWorkName,
DP.DivisionName AS Branch,
BP.BreakdownName AS ControlPointType,
BP.Class,
P.AcceptanceSite,
P.AcceptanceCheckMan"
+ @" FROM ProcessControl_InspectionManagement AS P"
+ @" LEFT JOIN Base_Unit AS U ON U.UnitId = P.UnitId"
+ @" left join Base_CNProfessional c on c.CNProfessionalId = P.CNProfessionalId"
+ @" LEFT JOIN WBS_UnitWork AS UnitWork ON UnitWork.UnitWorkId = P.UnitWorkId"
+ @" LEFT JOIN WBS_DivisionProject AS DP ON DP.DivisionProjectId = P.Branch"
+ @" LEFT JOIN WBS_BreakdownProject AS BP ON BP.BreakdownProjectId = P.ControlPointType"
+ @" WHERE P.ProjectId=@ProjectId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
if (drpUnit.SelectedValue != BLL.Const._Null)
{
strSql += " AND P.UnitId=@UnitId";
listStr.Add(new SqlParameter("@UnitId", drpUnit.SelectedValue));
}
if (drpCNProfessional.SelectedValue != BLL.Const._Null)
{
strSql += " AND P.CNProfessionalId=@CNProfessionalId";
listStr.Add(new SqlParameter("@CNProfessionalId", drpCNProfessional.SelectedValue));
}
if (!string.IsNullOrEmpty(txtStarTime.Text.Trim()))
{
strSql += " AND P.InspectionDate >= @startTime";
listStr.Add(new SqlParameter("@startTime", Funs.GetNewDateTime(txtStarTime.Text.Trim())));
}
if (!string.IsNullOrEmpty(txtEndTime.Text.Trim()))
{
strSql += " AND P.InspectionDate <= @endTime";
listStr.Add(new SqlParameter("@endTime", Funs.GetNewDateTime(txtEndTime.Text.Trim())));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
sb.Append("AND P.UnitId=@UnitId ");
listStr.Add(new SqlParameter("@UnitId", drpUnit.SelectedValue));
}
if (drpCNProfessional.SelectedValue != BLL.Const._Null)
{
sb.Append("AND P.CNProfessionalId=@CNProfessionalId ");
listStr.Add(new SqlParameter("@CNProfessionalId", drpCNProfessional.SelectedValue));
}
if (!string.IsNullOrEmpty(txtStarTime.Text.Trim()))
{
sb.Append("AND P.InspectionDate >= @startTime ");
listStr.Add(new SqlParameter("@startTime", Funs.GetNewDateTime(txtStarTime.Text.Trim())));
}
if (!string.IsNullOrEmpty(txtEndTime.Text.Trim()))
{
sb.Append("AND P.InspectionDate <= @endTime ");
listStr.Add(new SqlParameter("@endTime", Funs.GetNewDateTime(txtEndTime.Text.Trim())));
}
sb.Append("ORDER BY P.NoticeCode DESC ");
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(sb.ToString(), parameter);
return tb;
}
#endregion
@ -342,6 +380,142 @@ namespace FineUIPro.Web.CQMS.ProcessControl
string newUrl = string.Empty;
uploadfilepath = rootPath + initTemplatePath;
var db = Funs.DB;
var lists = (from x in db.ProcessControl_InspectionManagement
join bu in db.Base_Unit on x.UnitId equals bu.UnitId into buGroup
from bu in buGroup.DefaultIfEmpty()
join bcn in db.Base_CNProfessional on x.CNProfessionalId equals bcn.CNProfessionalId into bcnGroup
from bcn in bcnGroup.DefaultIfEmpty()
//join wbsuw in db.WBS_UnitWork on x.UnitWorkId equals wbsuw.UnitWorkId into wbsuwGroup
//from wbsuw in wbsuwGroup.DefaultIfEmpty()
//join wbsd in db.WBS_DivisionProject on x.Branch equals wbsd.DivisionProjectId into wbsdGroup
//from wbsd in wbsdGroup.DefaultIfEmpty()
//join wbsbp in db.WBS_BreakdownProject on x.ControlPointType equals wbsbp.BreakdownProjectId into wbsbpGroup
//from wbsbp in wbsbpGroup.DefaultIfEmpty()
where x.ProjectId == this.CurrUser.LoginProjectId
orderby x.NoticeCode descending
select new
{
UnitId = x.UnitId,
UnitName = bu.UnitName,
CNProfessionalId = x.CNProfessionalId,
ProfessionalName = bcn.ProfessionalName,
NoticeCode = x.NoticeCode,
AcceptanceSite = x.AcceptanceSite,
AcceptanceCheckMan = x.AcceptanceCheckMan,
InspectionDate = x.InspectionDate
});
if (drpUnit.SelectedValue != BLL.Const._Null)
{
lists = lists.Where(x => x.UnitId == drpUnit.SelectedValue);
}
if (drpCNProfessional.SelectedValue != BLL.Const._Null)
{
lists = lists.Where(x => x.CNProfessionalId == drpCNProfessional.SelectedValue);
}
if (!string.IsNullOrEmpty(txtStarTime.Text.Trim()))
{
lists = lists.Where(x => x.InspectionDate >= Funs.GetNewDateTime(txtStarTime.Text.Trim()));
}
if (!string.IsNullOrEmpty(txtEndTime.Text.Trim()))
{
lists = lists.Where(x => x.InspectionDate <= Funs.GetNewDateTime(txtEndTime.Text.Trim()));
}
if (lists != null)
{
string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId);
newUrl = uploadfilepath.Replace("共检通知单模板", "共检通知单(" + projectName + DateTime.Now.ToString("yyyyMMdd") + "");
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
File.Copy(uploadfilepath, newUrl);
// 第一步:读取文件流
NPOI.SS.UserModel.IWorkbook workbook;
using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read))
{
//workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream);
workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream);
}
// 创建单元格样式
NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle();
cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
cellStyle.WrapText = true;//自动换行
var font = workbook.CreateFont();
font.FontHeightInPoints = 11;
cellStyle.SetFont(font);
// 第二步:创建新数据行
NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0);
NPOI.SS.UserModel.IRow row = sheet.GetRow(0);
NPOI.SS.UserModel.ICell cell;
int i = 2;
foreach (var item in lists)
{
// 第二步:创建新数据行
row = sheet.CreateRow(i);
// 添加数据
cell = row.CreateCell(0);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.UnitName);//施工分包商
cell = row.CreateCell(1);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.ProfessionalName);//专业
cell = row.CreateCell(2);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.NoticeCode);//共检通知单编号
cell = row.CreateCell(3);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.AcceptanceSite);//验收部位
cell = row.CreateCell(4);
cell.CellStyle = cellStyle;
string userName = string.Empty;
if (!string.IsNullOrEmpty(item.AcceptanceCheckMan))
{
userName = ConvertCheckMan(item.AcceptanceCheckMan);
}
cell.SetCellValue(userName);//检查人
i++;
}
// 第三步:写入文件流
using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write))
{
workbook.Write(stream);
workbook.Close();
}
string fileName = Path.GetFileName(newUrl);
FileInfo info = new FileInfo(newUrl);
long fileSize = info.Length;
Response.Clear();
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", fileSize.ToString());
Response.TransmitFile(newUrl, 0, fileSize);
Response.Flush();
Response.Close();
File.Delete(newUrl);
}
else
{
Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning);
}
}
protected void btnOut_Click2(object sender, EventArgs e)
{
string rootPath = Server.MapPath("~/");
string initTemplatePath = Const.InspectionNoticesTempUrl;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
uploadfilepath = rootPath + initTemplatePath;
var lists = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
join y in Funs.DB.ProcessControl_InspectionManagement
on x.InspectionId equals y.InspectionId
@ -1082,7 +1256,7 @@ namespace FineUIPro.Web.CQMS.ProcessControl
newInspection.UnqualifiedReason = inspection.UnqualifiedReason;
//通知单编号后有字母递增无则加“a”
string fisrtE = inspection.NoticeCode.Substring(0,inspection.NoticeCode.Length - 1);
string fisrtE = inspection.NoticeCode.Substring(0, inspection.NoticeCode.Length - 1);
string lastE = inspection.NoticeCode.Substring(inspection.NoticeCode.Length - 1, 1);
bool b = Regex.IsMatch(lastE, "[a-zA-Z]");
if (b)
@ -1093,7 +1267,7 @@ namespace FineUIPro.Web.CQMS.ProcessControl
else
{
newInspection.NoticeCode = inspection.NoticeCode + "a";
}
}
newInspection.AcceptanceCheckMan = inspection.AcceptanceCheckMan;
newInspection.ParentDivisionProjectId = inspection.ParentDivisionProjectId;

View File

@ -72,8 +72,8 @@
<f:RenderField ColumnID="TotalRate" DataField="TotalRate" FieldType="String" HeaderText="累计一次合格率(%" TextAlign="Center"
HeaderTextAlign="Center" Width="160px">
</f:RenderField>
<f:RenderField ColumnID="CreateDate" DataField="CreateDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="创建日期" TextAlign="Center"
HeaderTextAlign="Center" Width="120px">
<f:RenderField ColumnID="CreateDate" DataField="CreateDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="创建日期" TextAlign="Center"
HeaderTextAlign="Center" Width="160px">
</f:RenderField>
<f:TemplateField ColumnID="AttachFile" Width="150px" HeaderText="附件" HeaderTextAlign="Center" TextAlign="Left" >
<ItemTemplate>

View File

@ -321,7 +321,7 @@ namespace FineUIPro.Web.CQMS.ProcessControl
cell = row.CreateCell(6);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.CreateDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.CreateDate) : "");//创建日期
cell.SetCellValue(item.CreateDate.HasValue ? string.Format("{0:yyyy-MM-dd HH:mm:ss}", item.CreateDate) : "");//创建日期
i++;
}

View File

@ -88,7 +88,6 @@ namespace FineUIPro.Web.CQMS.Solution
}
protected DataTable ChecklistData()
{
string strSql = @"SELECT chec.ConstructSolutionId,chec.ProjectId,chec.UnitId,chec.UnitWorkIds,chec.CNProfessionalCodes,"
+ @" chec.CompileMan,chec.CompileDate,chec.code,chec.state,chec.SolutionType,chec.SolutionName,"
+ @" unit.UnitName,u.userName as CompileManName,chec.SpecialSchemeTypeId,s.SolutionTempleteTypeName,"

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

@ -73,7 +73,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit
+ @" LEFT JOIN QualityAudit_SafePersonQuality AS PersonQuality ON Person.PersonId = PersonQuality.PersonId "
+ @" LEFT JOIN Base_WorkPost AS WorkPost ON WorkPost.WorkPostId = Person.WorkPostId "
+ @" LEFT JOIN Sys_User AS Users ON PersonQuality.CompileMan = Users.UserId "
+ @" WHERE WorkPost.IsHsse =1";
+ @" WHERE WorkPost.IsHsse =1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " AND Person.ProjectId = @ProjectId";
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
@ -102,11 +102,11 @@ namespace FineUIPro.Web.HSSE.QualityAudit
{
if (this.rblIsPost.SelectedValue == "1")
{
strSql += " AND Person.OutTime is null ";
strSql += " AND Person.IsUsed ='1' AND (Person.OutTime is null OR Person.OutTime > getdate()) ";
}
else if (this.rblIsPost.SelectedValue == "0")
{
strSql += " AND Person.OutTime is not null ";
strSql += " AND Person.OutTime is not null AND Person.OutTime < getdate() ";
}
}
SqlParameter[] parameter = listStr.ToArray();

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

@ -8,75 +8,86 @@
</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:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="现场人员统计" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Number" DataIDField="Number" AllowSorting="true" ForceFit="true"
SortField="Number" SortDirection="ASC" EnableColumnLines="true" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList runat="server" ID="drpUnit" Label="单位"
Width="300px" LabelAlign="Right" LabelWidth="50px"></f:DropDownList>
<f:DropDownList runat="server" ID="drpWorkPost" Label="岗位"
Width="220px" LabelAlign="Right" LabelWidth="50px"></f:DropDownList>
<f:DatePicker ID="txtStartDate" runat="server" Label="开始日期" LabelWidth="80px" Width="220px">
</f:DatePicker>
<f:DatePicker ID="txtEndDate" runat="server" Label="结束日期" LabelWidth="80px" Width="220px">
</f:DatePicker>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:RadioButtonList ID="rblIsUsed" runat="server" Label="进出场" LabelAlign="Right" Width="300px">
<f:RadioItem Value="0" Text="全部" Selected="true"/>
<f:RadioItem Value="True" Text="进场" />
<f:RadioItem Value="False" Text="出场" />
</f:RadioButtonList>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSearch" runat="server" Icon="BrickMagnify" ToolTip="查询" OnClick="btnSearch_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<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:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="现场人员统计" EnableCollapse="true" AllowPaging="true" IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange"
runat="server" BoxFlex="1" DataKeyNames="Number" DataIDField="Number" AllowSorting="true" ForceFit="true"
SortField="UnitName,WorkPostName" SortDirection="ASC" EnableColumnLines="true" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList runat="server" ID="drpUnit" Label="单位"
Width="300px" LabelAlign="Right" LabelWidth="50px">
</f:DropDownList>
<f:DropDownList runat="server" ID="drpWorkPost" Label="岗位"
Width="220px" LabelAlign="Right" LabelWidth="50px">
</f:DropDownList>
<f:DatePicker ID="txtStartDate" runat="server" Label="开始日期" LabelWidth="80px" Width="220px">
</f:DatePicker>
<f:DatePicker ID="txtEndDate" runat="server" Label="结束日期" LabelWidth="80px" Width="220px">
</f:DatePicker>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="240px" ColumnID="UnitName" DataField="UnitName"
SortField="UnitName" FieldType="String" HeaderText="单位名称" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="WorkAreaName" DataField="WorkAreaName"
SortField="WorkAreaName" FieldType="String" HeaderText="区域名称" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="WorkPostName" DataField="WorkPostName"
SortField="WorkPostName" FieldType="String" HeaderText="岗位名称" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PersonCount" DataField="PersonCount"
SortField="PersonCount" FieldType="Int" HeaderText="出入人次" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<%-- <f:TemplateField Width="120px" HeaderText="总人数" HeaderTextAlign="Center" TextAlign="Center">
</f:Toolbar>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:RadioButtonList ID="rblIsUsed" runat="server" Label="进出场" LabelAlign="Right" Width="300px">
<f:RadioItem Value="0" Text="全部" Selected="true" />
<f:RadioItem Value="True" Text="进场" />
<f:RadioItem Value="False" Text="出场" />
</f:RadioButtonList>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSearch" runat="server" Icon="BrickMagnify" ToolTip="查询" OnClick="btnSearch_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="240px" ColumnID="UnitName" DataField="UnitName"
SortField="UnitName" FieldType="String" HeaderText="单位名称" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="WorkAreaName" DataField="WorkAreaName"
SortField="WorkAreaName" FieldType="String" HeaderText="区域名称" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="WorkPostName" DataField="WorkPostName"
SortField="WorkPostName" FieldType="String" HeaderText="岗位名称" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PersonCount" DataField="PersonCount"
SortField="PersonCount" FieldType="Int" HeaderText="出入人次" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<%-- <f:TemplateField Width="120px" HeaderText="总人数" HeaderTextAlign="Center" TextAlign="Center">
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Bind("PersonCount") %>' ToolTip='<%#Bind("PersonCount") %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>--%>
</Columns>
</f:Grid>
</Items>
</f:Panel>
</Columns>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</form>
</body>
</html>

View File

@ -28,6 +28,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.ProjectId)
{
@ -44,7 +45,7 @@ namespace FineUIPro.Web.HSSE.SitePerson
var project = BLL.ProjectService.GetProjectByProjectId(this.ProjectId);
if (project != null)
{
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", project.StartDate);
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);//project.StartDate
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now.AddDays(1));
GetPersonStatistic();
}
@ -126,6 +127,32 @@ namespace FineUIPro.Web.HSSE.SitePerson
GetPersonStatistic();
}
#region
/// <summary>
/// 页索引改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
GetPersonStatistic();
}
#endregion
#region
/// <summary>
/// 分页选择下拉改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
GetPersonStatistic();
}
#endregion
#region
/// 导出按钮
/// </summary>

View File

@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.SitePerson {
public partial class PersonStatistic {
namespace FineUIPro.Web.HSSE.SitePerson
{
public partial class PersonStatistic
{
/// <summary>
/// form1 控件。
/// </summary>
@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
@ -47,7 +49,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
@ -56,7 +58,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// drpUnit 控件。
/// </summary>
@ -65,7 +67,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnit;
/// <summary>
/// drpWorkPost 控件。
/// </summary>
@ -74,7 +76,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpWorkPost;
/// <summary>
/// txtStartDate 控件。
/// </summary>
@ -83,7 +85,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartDate;
/// <summary>
/// txtEndDate 控件。
/// </summary>
@ -92,7 +94,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndDate;
/// <summary>
/// Toolbar1 控件。
/// </summary>
@ -101,7 +103,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// rblIsUsed 控件。
/// </summary>
@ -110,7 +112,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblIsUsed;
/// <summary>
/// btnSearch 控件。
/// </summary>
@ -119,7 +121,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSearch;
/// <summary>
/// btnOut 控件。
/// </summary>
@ -128,7 +130,7 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// labNumber 控件。
/// </summary>
@ -137,5 +139,32 @@ namespace FineUIPro.Web.HSSE.SitePerson {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label labNumber;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
}
}

View File

@ -43,18 +43,23 @@
AutoPostBack="true" OnTextChanged="TextBox_TextChanged"
LabelAlign="right" Width="150px">
</f:TextBox>
<f:DropDownList ID="drpIsSuperLargerHazard" runat="server" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
<f:ListItem Text="- 请选择 -" Value="" />
<f:ListItem Text="危大工程" Value="0" />
<f:ListItem Text="超危大工程" Value="1" />
</f:DropDownList>
<f:TextBox runat="server" ID="txtTypeName" EmptyText="按类型查询"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="150px"
LabelAlign="right">
</f:TextBox>
<f:TextBox runat="server" ID="txtAddress" EmptyText="按地点查询"
<f:TextBox runat="server" ID="txtAddress" EmptyText="按地点查询"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="150px"
LabelAlign="right">
</f:TextBox>
<f:DatePicker runat="server" ID="txtStartDate" AutoPostBack="true" Width="150px"
<f:DatePicker runat="server" ID="txtStartDate" AutoPostBack="true" Width="150px"
OnTextChanged="TextBox_TextChanged" LabelAlign="right" EmptyText="预计开始时间">
</f:DatePicker>
<f:DatePicker runat="server" ID="txtEndDate" EmptyText="结束时间" AutoPostBack="true" Width="150px"
<f:DatePicker runat="server" ID="txtEndDate" EmptyText="结束时间" AutoPostBack="true" Width="150px"
OnTextChanged="TextBox_TextChanged" LabelAlign="right">
</f:DatePicker>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
@ -81,6 +86,10 @@
SortField="HazardCode" FieldType="String" HeaderText="文件编号" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="IsSuperLargerHazard" DataField="IsSuperLargerHazard"
SortField="IsSuperLargerHazard" FieldType="String" HeaderText="方案类型" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="TypeName" DataField="TypeName"
SortField="TypeName" FieldType="String" HeaderText="类型" TextAlign="Left"
HeaderTextAlign="Center">

View File

@ -43,7 +43,7 @@ namespace FineUIPro.Web.HSSE.Solution
this.ucTree.UnitId = this.CurrUser.UnitId;
this.ucTree.ProjectId = this.ProjectId;
btnNew.OnClientClick = Window1.GetShowReference("LargerHazardEdit.aspx") + "return false;";
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
@ -78,6 +78,7 @@ namespace FineUIPro.Web.HSSE.Solution
when '0' then ''
else '' end as StatesStr"
+ @", case when LargerHazard.IsArgument=1 then '是' else '否' end as IsArgumentStr,Const.ConstText as TypeName,Project.ProjectName"
+ @", case when LargerHazard.IsSuperLargerHazard=1 then '超危大工程' else '危大工程' end as IsSuperLargerHazard "
+ @" FROM Solution_LargerHazard AS LargerHazard "
+ @" LEFT JOIN Base_Project AS Project ON LargerHazard.ProjectId = Project.ProjectId "
+ @" LEFT JOIN Sys_FlowOperate AS FlowOperate ON LargerHazard.HazardId=FlowOperate.DataId AND FlowOperate.IsClosed <> 1"
@ -94,6 +95,12 @@ namespace FineUIPro.Web.HSSE.Solution
strSql += " AND LargerHazard.HazardCode LIKE @HazardCode";
listStr.Add(new SqlParameter("@HazardCode", "%" + this.txtHazardCode.Text.Trim() + "%"));
}
if (drpIsSuperLargerHazard.SelectedValue != BLL.Const._Null && !string.IsNullOrWhiteSpace(drpIsSuperLargerHazard.SelectedValue))
{
strSql += " AND LargerHazard.IsSuperLargerHazard=@IsSuperLargerHazard";
listStr.Add(new SqlParameter("@IsSuperLargerHazard", drpIsSuperLargerHazard.SelectedValue));
}
if (!string.IsNullOrEmpty(this.txtTypeName.Text.Trim()))
{
strSql += " AND Const.ConstText LIKE @TypeName";

View File

@ -104,6 +104,15 @@ namespace FineUIPro.Web.HSSE.Solution
/// </remarks>
protected global::FineUIPro.TextBox txtHazardCode;
/// <summary>
/// drpIsSuperLargerHazard 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpIsSuperLargerHazard;
/// <summary>
/// txtTypeName 控件。
/// </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,44 @@
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";
string username = "合肥诺必达";
string password = "Hf123456@";
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

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Tree>
<TreeNode id="09E6A03F-65C8-4FAC-9659-7A0B56D8CC19" Text="指挥调度中心" NavigateUrl="ZHDD/ZHDD.aspx">
</TreeNode>
</Tree>

View File

@ -327,7 +327,7 @@
},
axisLabel: {
show: true,
interval: 0,
/*interval: 0,*/
textStyle: {
color: 'rgba(255, 255, 255, 0.8)'
}
@ -380,30 +380,30 @@
name: '累计人工时',
type: 'line',
data: two.series[0].data,
label: { //柱体上显示数值
show: true,//开启显示
position: 'top',//在上方显示
textStyle: {//数值样式
fontSize: '20px',
color: '#fff'
},
formatter: '{c}',
},
//label: { //柱体上显示数值
// show: true,//开启显示
// position: 'top',//在上方显示
// textStyle: {//数值样式
// fontSize: '20px',
// color: '#fff'
// },
// formatter: '{c}',
// },
itemStyle: { normal: { color: '#00c771' } }
},{
name: '当月人工时',
type: 'bar',
barWidth: 40,
type: 'bar',
/* barWidth: 40,*/
data: two.series[1].data,
label: { //柱体上显示数值
show: true,//开启显示
position: 'inside',//内部
textStyle: {//数值样式
fontSize: '20px',
color: '#fff'
},
formatter: '{c}',
},
//label: { //柱体上显示数值
// show: true,//开启显示
// position: 'inside',//内部
// textStyle: {//数值样式
// fontSize: '20px',
// color: '#fff'
// },
// formatter: '{c}',
// },
}]
category_Two('two', xArr, data)
</script>

View File

@ -226,7 +226,7 @@
</div>
<div class="zyp">
<div class="lab">
<asp:Literal runat="server" Text="<%$ Resources:Lan,altitude %>" />
<asp:Literal runat="server" Text="<%$ Resources:Lan,lifting %>" />
</div>
<div class="num"><%=WrokCount2 %>/<%=AllWrokCount2 %></div>
</div>
@ -499,10 +499,10 @@
<div class="main" style="padding: .1875rem .25rem;">
<div class="cl-tab">
<div class="cl-btn cl-btn-act" id="span_gdcl" onclick="clOnclick(0)" style="cursor: pointer">
<asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_MaterialLabel %>" />
<asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_PipeMaterials %>" />
</div>
<div class="cl-btn" onclick="clOnclick(1)" id="span_sbcl" style="cursor: pointer">
<asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_PipeMaterials %>" />
<asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_EquipmentMaterials %>" />
</div>
</div>
<div class="table">
@ -1968,7 +1968,7 @@
})--%>
createZL({ name: '<%=QualityRate%>', value1: <%=zlallNumber%>, value2: <%=zlfinishNumber%>, el: 'zl-map1' })
createZL({ name: '<%=OnePassRate%>', value1: <%=zlgjallNumber%>, value2: <%=zlgjfinishNumber%>, el: 'zl-map2' })
createZL({ name: '<%=OnePassRateOfWelding%>', value1: <%=hjallNumber%>, value2: <%=hjfinishNumber%>, el: 'zl-map3' })
createZL3({ name: '<%=OnePassRateOfWelding%>', value1: <%=hjallNumber%>, value2: <%=hjfinishNumber%>, el: 'zl-map3' })
function createZL(obj) {
let AOption1 = {
title: [{
@ -1988,20 +1988,20 @@
textStyle: {
rich: {
a: {
fontSize: 14,
fontSize: 12,
color: '#DADADA',
},
b: {
color: '#FFFFFF',
fontSize: 14,
fontSize: 12,
},
c: {
padding: [0, 6],
fontSize: 14,
padding: [0, 3],
fontSize: 12,
color: '#FFFFFF',
},
d: {
fontSize: 14,
fontSize: 12,
color: '#12CDA2',
}
}
@ -2131,6 +2131,168 @@
var aPassChart = echarts.init(document.getElementById(obj.el));
aPassChart.setOption(AOption1);
}
function createZL3(obj) {
let AOption1 = {
title: [{
text: obj.name || '',
top: '62%',
left: 'center',
textStyle: {
color: '#FFFFFF',
fontSize: 14,
fontWeight: 100
}
}, {
// text: `总计:${obj.value1} | 合格数:${obj.value2}`,
text: [`{a|<%=total%>}{b|${obj.value1}}{c||}{a|<%=qualified%>}{d|${obj.value2}}`],
top: '80%',
left: 'center',
textStyle: {
rich: {
a: {
fontSize: 12,
color: '#DADADA',
},
b: {
color: '#FFFFFF',
fontSize: 12,
},
c: {
padding: [0, 3],
fontSize: 12,
color: '#FFFFFF',
},
d: {
fontSize: 12,
color: '#12CDA2',
}
}
}
},
],
series: [
{
name: '',
type: 'gauge',
radius: "60%",
center: ["50%", "30%"],
startAngle: 360,
endAngle: 0,
splitNumber: 20,
progress: {
show: false
},
axisLine: {
roundCap: true,
lineStyle: {
width: 20,
color: [[1, new echarts.graphic.LinearGradient(
0, 0, 0, 1, // 这四个参数分别表示渐变的起点 (x1, y1) 与终点 (x2, y2)
[
{ offset: 0, color: 'RGBA(38, 223, 235, .4)' }, // 0% 处的颜色
{ offset: 1, color: '#29F1FA' } // 100% 处的颜色
]
)]]
}
},
detail: {
valueAnimation: true,
formatter: function (value) {
if (obj.value1 == 0) {
str = `{a|0}{b|%}`
} else {
str = `{a|${(obj.value2 / obj.value1 * 100).toFixed(2)}}{b|%}`
}
return str;
},
color: 'inherit',
offsetCenter: [0, 0],
rich: {
a: {
fontSize: 20,
color: '#FFFFFF'
},
b: {
fontSize: 12,
color: '#FFFFFF'
}
}
},
pointer: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
distance: -20,
length: 20,
lineStyle: {
color: '#021837',
width: 4,
}
},
axisTick: {
show: false
},
anchor: {
show: false
},
data: [
{ value: obj.value1 },
],
},
{
name: '',
type: 'gauge',
radius: "68%",
center: ["50%", "30%"],
startAngle: 20,
endAngle: 200,
splitNumber: 20,
progress: {
show: false
},
axisLine: {
roundCap: true,
lineStyle: {
width: 1,
color: [[1, new echarts.graphic.LinearGradient(
0, 0, 0, 1, // 这四个参数分别表示渐变的起点 (x1, y1) 与终点 (x2, y2)
[
{ offset: 0, color: 'RGBA(38, 223, 235, .4)' }, // 0% 处的颜色
{ offset: 1, color: '#29F1FA' } // 100% 处的颜色
]
)]]
}
},
pointer: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
show: false
},
axisTick: {
show: false
},
anchor: {
show: false
},
}
]
};
var aPassChart = echarts.init(document.getElementById(obj.el));
aPassChart.setOption(AOption1);
}
// 风险巡检图标
createFXMap()

View File

@ -1,9 +1,11 @@
using BLL;
using FineUIPro.Web.BaseInfo;
using FineUIPro.Web.DataShow;
using FineUIPro.Web.OfficeCheck.Check;
using FineUIPro.Web.SysManage;
using Model;
using Newtonsoft.Json;
using NPOI.HSSF.Record;
using NPOI.Util;
using System;
using System.Collections;
@ -28,6 +30,8 @@ namespace FineUIPro.Web.common
protected string completed = string.Empty;
protected string qualified = string.Empty;
protected string Cumulative_actual_value = string.Empty;
//实际值
@ -171,7 +175,10 @@ namespace FineUIPro.Web.common
getGjsx();
}
// 质量统计模块封装
/// <summary>
/// 质量统计模块封装
/// </summary>
/// <returns></returns>
private async Task BindQualityStatisticsAsync()
{
await Task.Run(() =>
@ -199,7 +206,8 @@ namespace FineUIPro.Web.common
//int wHours = db.SitePerson_PersonInOutNumber.Where(x => x.ProjectId == ProjectId).Max(x => x.WorkHours) ?? 0;
int wHours = 0;
DateTime? sDate = Funs.GetNewDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString());
wHours = (from x in db.T_d_EmployInOutRecord where x.ProjectId == ProjectId select x.ManHours ?? 0).ToList().Sum();
//wHours = (from x in db.T_d_EmployInOutRecord where x.ProjectId == ProjectId select x.ManHours ?? 0).ToList().Sum();
wHours = (from x in db.SitePerson_PersonInOutNumber where x.ProjectId == ProjectId orderby x.InOutDate descending select x.WorkHours ?? 0).ToList().FirstOrDefault();
this.divSafeWorkTime.InnerHtml = wHours.ToString();
//本月安全人工时
@ -212,19 +220,20 @@ namespace FineUIPro.Web.common
this.divSafeWorkTimeMonth.InnerHtml = wHoursMonth.ToString();
//安全培训累计人员
var getTrainRecord = db.EduTrain_TrainRecord.Where(x => x.ProjectId == ProjectId).Sum(x => x.TrainPersonNum) ?? 0;
//var getTrainRecord = db.EduTrain_TrainRecord.Where(x => x.ProjectId == ProjectId).Sum(x => x.TrainPersonNum) ?? 0;
var getTrainRecord = db.View_EduTrain_TrainFind.Where(x => x.ProjectId == ProjectId).Count();
//修改:增加博晟教育中的人数
var boShengCount = db.Bo_Sheng_TrainPerson.Count(x => x.ProjectId == ProjectId && (x.DeleteTag == "False" || x.DeleteTag == null));
this.divSafePersonNum.InnerHtml = (getTrainRecord + boShengCount).ToString();
//安全管理人员
var allSum = from x in Funs.DB.SitePerson_Person
var allSum = from x in db.SitePerson_Person
where x.ProjectId == ProjectId && x.IsUsed == true && x.InTime <= DateTime.Now && (!x.OutTime.HasValue || x.OutTime.Value > DateTime.Now)
select x;
var glAllPerson = from x in allSum
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
join y in db.Base_WorkPost on x.WorkPostId equals y.WorkPostId
where y.IsHsse == true && x.ProjectId == ProjectId //安管人员
select x;
this.divSafeManagePersonNum.InnerHtml = glAllPerson.Count().ToString();
@ -254,14 +263,36 @@ namespace FineUIPro.Web.common
{
int AllCount = 0;
int MCount = 0;
//修改日期2024-10-30 16:53:50 为了和另一个看板相同
//Funs.DB.T_d_EmployInOutRecord.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.RecordDate.Value == DateTime.Now.Date)
//var getallin = APIPageDataService.getPersonNum(ProjectId, DateTime.Now);
List<string> pids = new List<string>();
pids.Add(this.CurrUser.LoginProjectId);
var getallin = APIPageDataService.getPersonNum(pids, DateTime.Now);
var getallin = from x in Funs.DB.T_d_EmployInOutRecord
join z in Funs.DB.Base_WorkPost on x.PostId equals z.WorkPostId
where x.ProjectId == this.CurrUser.LoginProjectId && x.RecordDate.Value == DateTime.Now.Date
select new { z.PostType };
//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
// from z in zGroup.DefaultIfEmpty()
// //join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId into yGroup
// //from y in yGroup.DefaultIfEmpty()
// join w in Funs.DB.Base_WorkPost on z.WorkPostId equals w.WorkPostId into wGroup
// from w in wGroup.DefaultIfEmpty()
// where x.ProjectId == this.CurrUser.LoginProjectId && x.IntoOut == "1" && x.IntoOutTime >= DateTime.Now.Date
// select new { x.PersonId, w.PostType }).Union
// (from x in Funs.DB.SitePerson_PersonInOut
// join z in Funs.DB.SitePerson_Person on x.PersonId equals z.PersonId into zGroup
// from z in zGroup.DefaultIfEmpty()
// //join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId into yGroup
// //from y in yGroup.DefaultIfEmpty()
// join w in Funs.DB.Base_WorkPost on z.WorkPostId equals w.WorkPostId into wGroup
// from w in wGroup.DefaultIfEmpty()
// where x.ProjectId == this.CurrUser.LoginProjectId && x.IsIn == true && x.ChangeTime >= DateTime.Now.Date
// select new { x.PersonId, w.PostType });
AllCount = getallin.Count();
if (AllCount > 0)
@ -505,7 +536,8 @@ namespace FineUIPro.Web.common
int allCount = 0;
var getPersonQualitys = from x in Funs.DB.QualityAudit_PersonQuality
join y in Funs.DB.SitePerson_Person on x.PersonId equals y.PersonId
where x.LimitDate.HasValue && x.LimitDate < DateTime.Now && y.ProjectId == ProjectId
join z in Funs.DB.Base_WorkPost on y.WorkPostId equals z.WorkPostId
where x.LimitDate.HasValue && x.LimitDate < DateTime.Now && y.ProjectId == ProjectId && y.OutTime == null && z.PostType == Const.PostType_2
select x;
//// 预警人数
allCount = getPersonQualitys.Count();
@ -864,19 +896,19 @@ namespace FineUIPro.Web.common
select x).Count().ToString();
var num2 = (from x in db.ProcessControl_InspectionManagement
where x.IsOnceQualified == true && x.ProjectId == ProjectId
where (x.IsOnceQualified == null || x.IsOnceQualified == true) && x.ProjectId == ProjectId
select x).Count();
zlgjfinishNumber = num2.ToString();
var num3 = (from x in db.ProcessControl_InspectionManagement
where (x.IsOnceQualified == false || x.IsOnceQualified == null) && x.ProjectId == ProjectId
select x).Count();
var allnum = (from x in db.ProcessControl_InspectionManagement
where x.ProjectId == ProjectId
select x).Count();
var zgl = "0";
if (num2 != 0)
{
zgl = String.Format("{0:N2}", 100.0 * num2 / (num2 + num3));
zgl = String.Format("{0:N2}", 100.0 * num2 / allnum);
zlgjzgl = zgl.ToString();
zggjzglDataValue = (100 - (100.0 * num2 / (num2 + num3))).ToString();
zggjzglDataValue = (100 - (100.0 * num2 / allnum)).ToString();
}
else
{
@ -940,45 +972,42 @@ namespace FineUIPro.Web.common
// }
// }
// }
var ndtList =
(from x in db.ProcessControl_NondestructiveTest_New
where x.ProjectId == ProjectId
select x).ToList();
var ndtList = (from x in db.ProcessControl_NondestructiveTest_New where x.ProjectId == ProjectId select x).ToList();
decimal a = 0, b = 0;
if (ndtList.Count > 0)
{
foreach (var item in ndtList)
//取每个单位、专业最新的一条数据
var datalist = ndtList.GroupBy(r => new { r.UnitId, r.ProfessionalName }).Select(g => g.OrderByDescending(r => r.CreateDate).First()).ToList();
foreach (var item in datalist)
{
if (item.TotalQuantity.HasValue)
{
a += Math.Floor(item.TotalQuantity.Value * Funs.GetNewDecimalOrZero(item.TotalRate) /
100);
a += Math.Floor(item.TotalQuantity.Value * Funs.GetNewDecimalOrZero(item.TotalRate) / 100);
b += item.TotalQuantity.Value;
}
}
result = Convert.ToDouble(Convert.ToDecimal(100.0) * b / a);
}
else
{
var hjglData =
(from x in db.HJGL_FL_Data
where x.ProjectId == ProjectId
orderby x.CompileDate descending
select x).FirstOrDefault();
if (hjglData != null)
{
a = Funs.GetNewDecimalOrZero(hjglData.OneTimeFilmQualifiedAmount);
b = Funs.GetNewDecimalOrZero(hjglData.OneTimeFilmAmount);
if (a > 0 && b > 0)
{
result = Convert.ToDouble(Convert.ToDecimal(100.0) * b / a);
}
}
}
//else
//{
// var hjglData =
// (from x in db.HJGL_FL_Data
// where x.ProjectId == ProjectId
// orderby x.CompileDate descending
// select x).FirstOrDefault();
// if (hjglData != null)
// {
// a = Funs.GetNewDecimalOrZero(hjglData.OneTimeFilmQualifiedAmount);
// b = Funs.GetNewDecimalOrZero(hjglData.OneTimeFilmAmount);
// if (a > 0 && b > 0)
// {
// result = Convert.ToDouble(Convert.ToDecimal(100.0) * b / a);
// }
// }
//}
if (b > 0)
{
hjallNumber = b.ToString();
@ -1244,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++)
@ -1290,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();
@ -1481,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("铆工");
@ -1657,8 +1676,9 @@ where qc.QuantityCompletionId=(select top 1 QuantityCompletionId from[JDGL_Quant
SqlParameter[] Staticparameter = listStaticListStr.ToArray();
DataTable statcitbDataTable = SQLHelper.GetDataTableRunProc("Sp_GJSXStatistic", Staticparameter);
var list = from x in Funs.DB.GJSX where x.ProjectId == this.CurrUser.LoginProjectId && x.State!="1" select x;
var allcount = list.Count(x => x.State == "0") + list.Count(x => x.State != "0" && x.CompleteDate < DateTime.Now);
var list = from x in Funs.DB.GJSX where x.ProjectId == this.CurrUser.LoginProjectId && x.State != "1" select x;
//var allcount = list.Count(x => x.State == "0") + list.Count(x => x.State != "0" && x.CompleteDate < DateTime.Now);
var allcount = list.Count();
var closecount = list.Count(x => x.State == "0");
gjsxRate = String.Format("{0:N2}", 100.0 * closecount / allcount);
gjsxRate = gjsxRate.ToString().Replace("NaN", "0") + "%";
@ -1747,7 +1767,7 @@ where qc.QuantityCompletionId=(select top 1 QuantityCompletionId from[JDGL_Quant
}
//设备材料
var SbclList = Funs.DB.CLGL_ContractListSum.Where(x => x.C1 == "管道" && x.ProjectId == pid);
var SbclList = Funs.DB.CLGL_ContractListSum.Where(x => x.C1 == "设备" && x.ProjectId == pid);
foreach (var item in SbclList)
{
sbclHtml += "<div class=\"row\">";
@ -1769,9 +1789,13 @@ where qc.QuantityCompletionId=(select top 1 QuantityCompletionId from[JDGL_Quant
sbclHtml += "<div class=\"tr\" >" + Sbdhs + "</div>";
//百分比
var dhbfb = "0%";
if (SbcllCgl + Sbdhs != 0)
//if (SbcllCgl + Sbdhs != 0)
//{
// dhbfb = String.Format("{0:N2}", 100.0 * Sbdhs / (Sbdhs + SbcllCgl), 2) + "%";
//}
if (SbcllCgl != 0)
{
dhbfb = String.Format("{0:N2}", 100.0 * Sbdhs / (Sbdhs + SbcllCgl), 2) + "%";
dhbfb = String.Format("{0:N2}", 100.0 * Sbdhs / SbcllCgl, 2) + "%";
}
sbclHtml += "<div class=\"tr\" >" + dhbfb + "</div>";
sbclHtml += "</div>";
@ -1797,6 +1821,7 @@ where qc.QuantityCompletionId=(select top 1 QuantityCompletionId from[JDGL_Quant
OnePassRateOfWelding = Resources.Lan.OnePassRateOfWelding;
total = Resources.Lan.total;
completed = Resources.Lan.completed;
qualified = Resources.Lan.qualified;
majorRisk = Resources.Lan.MajorRisk;
LowRisk = Resources.Lan.LowRisk;
GeneralRisk = Resources.Lan.GeneralRisk;

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') //管理人员数据
@ -1902,7 +1902,7 @@
]--%>
createZL({ name: '<%=main_new_qualityIssuesRectificationRate%>', value1: <%=zlallNumber%>, value2: <%=zlfinishNumber%>, el: 'zl-map1' })
createZL({ name: '<%=OnePassRate%>', value1: <%=zlgjallNumber%>, value2: <%=zlgjfinishNumber%>, el: 'zl-map2' })
createZL({ name: '<%=OnePassRateOfWelding%>', value1: <%=hjallNumber%>, value2: <%=hjfinishNumber%>, el: 'zl-map3' })
createZL3({ name: '<%=OnePassRateOfWelding%>', value1: <%=hjallNumber%>, value2: <%=hjfinishNumber%>, el: 'zl-map3' })
function createZL(obj) {
let AOption1 = {
@ -1916,32 +1916,189 @@
fontWeight: 100
}
}, {
// text: `总计:${obj.value1} | 完成:${obj.value2}`,
text: [`{a|<%=total%>}{b|${obj.value1}}{c||}{a|<%=completed%>}{d|${obj.value2}}`],
top: '80%',
left: 'center',
textStyle: {
rich: {
a: {
fontSize: 12,
color: '#DADADA',
// text: `总计:${obj.value1} | 完成:${obj.value2}`,
text: [`{a|<%=total%>}{b|${obj.value1}}{c||}{a|<%=completed%>}{d|${obj.value2}}`],
top: '80%',
left: 'center',
textStyle: {
rich: {
a: {
fontSize: 12,
color: '#DADADA',
},
b: {
color: '#FFFFFF',
fontSize: 12,
},
c: {
padding: [0, 3],
fontSize: 12,
color: '#FFFFFF',
},
d: {
fontSize: 12,
color: '#12CDA2',
}
},
b: {
color: '#FFFFFF',
fontSize: 12,
},
c: {
padding: [0, 6],
fontSize: 12,
color: '#FFFFFF',
},
d: {
fontSize: 12,
color: '#12CDA2',
}
},
],
series: [
{
name: '',
type: 'gauge',
radius: "60%",
center: ["50%", "30%"],
startAngle: 360,
endAngle: 0,
splitNumber: 20,
progress: {
show: false
},
axisLine: {
roundCap: true,
lineStyle: {
width: 20,
color: [[1, new echarts.graphic.LinearGradient(
0, 0, 0, 1, // 这四个参数分别表示渐变的起点 (x1, y1) 与终点 (x2, y2)
[
{ offset: 0, color: 'RGBA(38, 223, 235, .4)' }, // 0% 处的颜色
{ offset: 1, color: '#29F1FA' } // 100% 处的颜色
]
)]]
}
},
detail: {
valueAnimation: true,
formatter: function (value) {
//str = `{a|${(obj.value2 / obj.value1 * 100).toFixed(2)}}{b|%}`
str = `{a|${parseFloat((obj.value2 / obj.value1 * 100).toFixed(2))}}{b|%}`
return str;
},
color: 'inherit',
offsetCenter: [0, 0],
rich: {
a: {
fontSize: 20,
color: '#FFFFFF'
},
b: {
fontSize: 12,
color: '#FFFFFF'
}
}
},
pointer: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
distance: -20,
length: 20,
lineStyle: {
color: '#021837',
width: 4,
}
},
axisTick: {
show: false
},
anchor: {
show: false
},
data: [
{ value: obj.value1 },
],
},
{
name: '',
type: 'gauge',
radius: "68%",
center: ["50%", "30%"],
startAngle: 20,
endAngle: 200,
splitNumber: 20,
progress: {
show: false
},
axisLine: {
roundCap: true,
lineStyle: {
width: 1,
color: [[1, new echarts.graphic.LinearGradient(
0, 0, 0, 1, // 这四个参数分别表示渐变的起点 (x1, y1) 与终点 (x2, y2)
[
{ offset: 0, color: 'RGBA(38, 223, 235, .4)' }, // 0% 处的颜色
{ offset: 1, color: '#29F1FA' } // 100% 处的颜色
]
)]]
}
},
pointer: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
show: false
},
axisTick: {
show: false
},
anchor: {
show: false
},
}
},
]
};
var aPassChart = echarts.init(document.getElementById(obj.el));
aPassChart.setOption(AOption1);
}
function createZL3(obj) {
let AOption1 = {
title: [{
text: obj.name || '',
top: '62%',
left: 'center',
textStyle: {
color: '#FFFFFF',
fontSize: 14,
fontWeight: 100
}
}, {
// text: `总计:${obj.value1} | 完成:${obj.value2}`,
text: [`{a|<%=total%>}{b|${obj.value1}}{c||}{a|<%=qualified%>}{d|${obj.value2}}`],
top: '80%',
left: 'center',
textStyle: {
rich: {
a: {
fontSize: 12,
color: '#DADADA',
},
b: {
color: '#FFFFFF',
fontSize: 12,
},
c: {
padding: [0, 3],
fontSize: 12,
color: '#FFFFFF',
},
d: {
fontSize: 12,
color: '#12CDA2',
}
},
}
},
],
series: [
{

View File

@ -12,6 +12,7 @@ using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Org.BouncyCastle.Ocsp;
using FineUIPro.Web.HJGL.FL;
namespace FineUIPro.Web.common
{
@ -29,6 +30,7 @@ namespace FineUIPro.Web.common
protected string OnePassRateOfWelding = string.Empty;
protected string total = string.Empty;
protected string completed = string.Empty;
protected string qualified = string.Empty;
protected string mainI_progressStatistics = string.Empty;
protected string Percentage_of_progress = string.Empty;
@ -75,7 +77,7 @@ namespace FineUIPro.Web.common
: db.Base_Project
.Where(x => x.ProjectState == "1")
.Select(x => x.ProjectId)
.ToArray();
.ToArray();
//在建项目
if (pids == null)
{
@ -102,7 +104,6 @@ namespace FineUIPro.Web.common
if (countAqrgsSum > 10000)
{
countAqrgsSum = countAqrgsSum / Convert.ToDecimal(10000.00);
this.divSafeWorkTime.InnerHtml = Math.Round(countAqrgsSum, 2).ToString() + "万";
}
else
@ -112,8 +113,8 @@ namespace FineUIPro.Web.common
// 当月安全人工时
var countMonthAqrgs = pids?.Any() == true
? CountAqrgs(getStartMonth(), getEndMonth(), pids)
: CountAqrgs(getStartMonth(), getEndMonth());
? CountAqrgs(getLastMonthEndDay(), getEndMonth(), pids)
: CountAqrgs(getLastMonthEndDay(), getEndMonth());
if (countMonthAqrgs > 10000)
@ -126,109 +127,127 @@ 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";
// 安全管理人员(优化关联查询)
var safetyStaffCount = db.SitePerson_Person
.Where(x=> x.IsUsed == true && x.InTime < DateTime.Now && (x.OutTime == null || x.OutTime > DateTime.Now))
.Where(x => x.IsUsed == true && x.InTime < DateTime.Now && (x.OutTime == null || x.OutTime > DateTime.Now))
.Where(x => pids.Contains(x.ProjectId))
.Join(db.Base_WorkPost.Where(x => x.IsHsse==true),
.Join(db.Base_WorkPost.Where(x => x.IsHsse == true),
person => person.WorkPostId,
post => post.WorkPostId,
(person, post) => person)
.Count();
divSafeManagePersonNum.InnerText = safetyStaffCount.ToString();
});
});
}
// 质量统计模块封装
private async Task BindQualityStatisticsAsync()
{
await Task.Run(() => {
await Task.Run(() =>
{
var db = Funs.DB;
var db = Funs.DB;
// 质量管理人员(合并公司+项目级查询)
var qualityQuery = db.Base_WorkPost
.Where(x => x.IsCQMS == true)
.GroupJoin(db.SitePerson_Person.Where(x=> x.IsUsed == true),
.GroupJoin(db.SitePerson_Person.Where(x => x.IsUsed == true),
post => post.WorkPostId,
person => person.WorkPostId,
(post, persons) => new { post, persons })
.SelectMany(x => x.persons.DefaultIfEmpty(),
(x, person) => new { x.post, person })
.Where(x => pids.Contains(x.person.ProjectId));
//企业总部人员和分支机构人员
var query = (from person in db.Person_CompanyBranchPerson
join unit in db.Base_Unit on person.UnitId equals unit.UnitId into unitJoin
from unit in unitJoin.DefaultIfEmpty() // 左连接
join workPost in db.Base_WorkPost on person.WorkPostId equals workPost.WorkPostId into workPostJoin
from workPost in workPostJoin.DefaultIfEmpty() // 左连接
where person.IsOnJob == true && workPost.IsCQMS == true
select new
{
ID = person.CompanyBranchPersonId,
UnitName = unit.UnitName,
PersonName = person.PersonName,
SexStr = person.Sex == "1" ? "男" : "女",
IdentityCard = person.IdentityCard,
WorkPostName = workPost.WorkPostName,
Telephone = person.Telephone,
IsOnJob = person.IsOnJob,
Remark = person.Remark,
ProjectName = ""
}).ToList();
join unit in db.Base_Unit on person.UnitId equals unit.UnitId into unitJoin
from unit in unitJoin.DefaultIfEmpty() // 左连接
join workPost in db.Base_WorkPost on person.WorkPostId equals workPost.WorkPostId into workPostJoin
from workPost in workPostJoin.DefaultIfEmpty() // 左连接
where person.IsOnJob == true && workPost.IsCQMS == true
select new
{
ID = person.CompanyBranchPersonId,
UnitName = unit.UnitName,
PersonName = person.PersonName,
SexStr = person.Sex == "1" ? "男" : "女",
IdentityCard = person.IdentityCard,
WorkPostName = workPost.WorkPostName,
Telephone = person.Telephone,
IsOnJob = person.IsOnJob,
Remark = person.Remark,
ProjectName = ""
}).ToList();
divCqmsManageNum.InnerText = (qualityQuery.Count() + query.Count()).ToString();
// 质量培训人员
divCqmsPxNum.InnerText = db.Comprehensive_InspectionPerson
.Where(x => pids.Contains(x.ProjectId))
.Count(x => x.IsTrain == true).ToString();
divCqmsPxNum.InnerText = db.Comprehensive_InspectionPerson
.Where(x => pids.Contains(x.ProjectId))
.Count(x => x.IsTrain == true).ToString();
});
}
// 项目统计优化
private async Task BindProjectStatisticsAsync()
{
await Task.Run(() => {
var db = Funs.DB;
int acount = allProjects.Count();
int pcount1 = 0;
int pcount2 = 0;
int pcount3 = 0;
if (acount > 0)
await Task.Run(() =>
{
pcount1 = allProjects.Where(x => x.ProjectState == Const.ProjectState_1 || x.ProjectState == null).Select( x => x.ProjectId).Count();
var pidzjsg = string.Join(",", allProjects.Where(x => x.ProjectState == Const.ProjectState_1 || x.ProjectState == null).Select(x => x.ProjectId)).Split(',');
if (pids == null)
var db = Funs.DB;
int acount = allProjects.Count();
int pcount1 = 0;
int pcount2 = 0;
int pcount3 = 0;
if (acount > 0)
{
pcount2 = (from x in Funs.DB.SitePerson_Person where x.IsUsed == true && pidzjsg.Contains(x.ProjectId) select x.ProjectId).Count();
pcount1 = allProjects.Where(x => x.ProjectState == Const.ProjectState_1 || x.ProjectState == null).Select(x => x.ProjectId).Count();
var pidzjsg = string.Join(",", allProjects.Where(x => x.ProjectState == Const.ProjectState_1 || x.ProjectState == null).Select(x => x.ProjectId)).Split(',');
if (pids == null)
{
pcount2 = (from x in Funs.DB.SitePerson_Person where x.IsUsed == true && pidzjsg.Contains(x.ProjectId) select x.ProjectId).Count();
}
else
{
pidzjsg = pids;
pcount2 = (from x in Funs.DB.SitePerson_Person where x.IsUsed == true && pids.Contains(x.ProjectId) select x.ProjectId).Count();
}
pcount3 = Count3(pidzjsg);
}
else
{
pidzjsg = pids;
pcount2 = (from x in Funs.DB.SitePerson_Person where x.IsUsed == true && pids.Contains(x.ProjectId) select x.ProjectId).Count();
}
pcount3 = Count3(pidzjsg);
}
div_zjxmCount.InnerHtml = pcount1.ToString() + "<div class=\"th\">个</div>";
div_cjrsCount.InnerHtml = pcount2.ToString() + "<div class=\"th\">人</div>";
div_wdgcCount.InnerHtml = pcount3.ToString() + "<div class=\"th\">个</div>";
div_zjxmCount.InnerHtml = pcount1.ToString() + "<div class=\"th\">个</div>";
div_cjrsCount.InnerHtml = pcount2.ToString() + "<div class=\"th\">人</div>";
div_wdgcCount.InnerHtml = pcount3.ToString() + "<div class=\"th\">个</div>";
});
}
@ -236,16 +255,31 @@ namespace FineUIPro.Web.common
#region
/// <summary>
/// 获取上月的月末日期
/// </summary>
/// <returns></returns>
public static DateTime getLastMonthEndDay()
{
// 获取当前日期
DateTime currentDate = DateTime.Now.AddMonths(-1);
// 获取当前月的最后一天
DateTime lastDayOfMonth = new DateTime(currentDate.Year, currentDate.Month, DateTime.DaysInMonth(currentDate.Year, currentDate.Month));
return lastDayOfMonth;
}
/// <summary>
/// 获取当前月的月末日期
/// </summary>
/// <returns></returns>
public static DateTime getEndMonth()
{
// 获取当前日期
DateTime currentDate = DateTime.Now;
// 获取当前月的最后一天
DateTime lastDayOfMonth = new DateTime(currentDate.Year, currentDate.Month, DateTime.DaysInMonth(currentDate.Year, currentDate.Month));
int span = Convert.ToInt32(System.DateTime.Now.Day);
System.DateTime dateEnd = System.DateTime.Now.AddMonths(1).AddDays(-span);
return dateEnd;
return lastDayOfMonth;
}
/// <summary>
/// 获取当前月初日期
@ -253,10 +287,11 @@ namespace FineUIPro.Web.common
/// <returns></returns>
public static DateTime getStartMonth()
{
int span = Convert.ToInt32(System.DateTime.Now.Day);
span = span - 1;
System.DateTime dateStart = System.DateTime.Now.AddDays(-span);
return dateStart;
// 获取当前日期
DateTime currentDate = DateTime.Now;
// 获取当前月的月初日期
DateTime firstDayOfMonth = new DateTime(currentDate.Year, currentDate.Month, 1);
return firstDayOfMonth;
}
//安全人工时(穿透)
@ -272,8 +307,7 @@ namespace FineUIPro.Web.common
var datetime1 = d1;
var datetime2 = d2;
var getAllPersonInOutList = from x in Funs.DB.SitePerson_PersonInOutNumber
select new { x.ProjectId, x.InOutDate, x.WorkHours };
select new { x.ProjectId, x.InOutDate, x.WorkHours };
if (pids != null)
{
getAllPersonInOutList = getAllPersonInOutList.Where(x => pids.Contains(x.ProjectId));
@ -286,18 +320,20 @@ namespace FineUIPro.Web.common
{
getAllPersonInOutList = getAllPersonInOutList.Where(x => x.InOutDate <= datetime2);
}
var projects = getAllPersonInOutList
.GroupBy(x => x.ProjectId)
.Select(g => new
{
Project = g.Key,
Items = g.OrderBy(x => x.InOutDate).ToList()
})
.Where(g => g.Items.Any());
cout1 = projects.ToList().Sum(g =>
(g.Items.Last().WorkHours ?? 0) -
(g.Items.First().WorkHours ?? 0));
var projects = getAllPersonInOutList.GroupBy(x => x.ProjectId).Select(g => new
{
Project = g.Key,
Items = g.OrderBy(x => x.InOutDate).ToList()
}).Where(g => g.Items.Any());
if (!datetime1.HasValue && !datetime2.HasValue)
{//查累计人工时
cout1 = projects.ToList().Sum(g => (g.Items.Last().WorkHours ?? 0));
}
else
{//查当月人工时
cout1 = projects.ToList().Sum(g => (g.Items.Last().WorkHours ?? 0) - (g.Items.First().WorkHours ?? 0));
}
var getD1 = from x in Funs.DB.Accident_AccidentHandle
join y in Funs.DB.Base_Project on x.ProjectId equals y.ProjectId
@ -322,7 +358,7 @@ namespace FineUIPro.Web.common
{
getD1 = getD1.Where(x => x.AccidentDate <= datetime2);
getD2 = getD2.Where(x => x.CompileDate <= datetime2);
}
}
if (getD1.Any())
{
cout1 = cout1 - getD1.Sum(x => x.WorkHoursLoss ?? 0);
@ -388,7 +424,7 @@ namespace FineUIPro.Web.common
return await Task.Run(() =>
{
Model.SingleSerie series = new Model.SingleSerie();
var project1s = allProjects.Where(x => x.ProjectState == Const.ProjectState_1 || x.ProjectState == null).Select(x=> new { x.ProjectId, x.ProjectName, x.ProjectState2, x.Province, x.ShortName }).ToList();
var project1s = allProjects.Where(x => x.ProjectState == Const.ProjectState_1 || x.ProjectState == null).Select(x => new { x.ProjectId, x.ProjectName, x.ProjectState2, x.Province, x.ShortName }).ToList();
var consts = Funs.DB.Sys_Const.Where(x => x.GroupId == ConstValue.GroupId_ProjectState).ToList();
string name = string.Empty;
if (project1s.Any())
@ -456,25 +492,25 @@ namespace FineUIPro.Web.common
var accidentList1 = from x in db.Accident_AccidentPersonRecord
join y in db.Base_AccidentType on x.AccidentTypeId equals y.AccidentTypeId
where y.AccidentTypeName.Contains("未遂")
select new { x.ProjectId, x.AccidentDate } ;
select new { x.ProjectId, x.AccidentDate };
var accidentList2 = from x in db.Accident_AccidentReportOther
join y in db.Sys_Const on x.AccidentTypeId equals y.ConstValue
where y.ConstText.Contains("未遂")
select new { x.ProjectId, x.AccidentDate };
var allProvinceProjectList = (from x in allProjects
join y in provinceDic on x.Province equals y.ProvinceCode
where provinces.Contains(y.CnShortName )
select new { x,y.CnShortName}).ToList();
var allProvinces= allProvinceProjectList.Select(x =>x.CnShortName ).Distinct().ToList();
join y in provinceDic on x.Province equals y.ProvinceCode
where provinces.Contains(y.CnShortName)
select new { x, y.CnShortName }).ToList();
var allProvinces = allProvinceProjectList.Select(x => x.CnShortName).Distinct().ToList();
foreach (var province in allProvinces)
{
int accidentNum = 0;
DateTime date = DateTime.Now;
decimal money1 = 0, money2 = 0;
/* var projects = from x in allProjects
join y in provinceDic on x.Province equals y.ProvinceCode
where y.CnShortName == province
select x;*/
/* var projects = from x in allProjects
join y in provinceDic on x.Province equals y.ProvinceCode
where y.CnShortName == province
select x;*/
var projects = allProvinceProjectList.Where(x => x.CnShortName == province);
listdata.Add(projects.Count());
decimal progress = 0;
@ -699,7 +735,7 @@ namespace FineUIPro.Web.common
select x).Count().ToString();
var num2 = (from x in Funs.DB.Check_CheckControl
where x.State == "7"
where x.State == "7"
select x).Count();
zlfinishNumber = num2.ToString();
@ -716,11 +752,11 @@ namespace FineUIPro.Web.common
else
{
zlallNumber = (from x in Funs.DB.Check_CheckControl
where pids.Contains(x.ProjectId)
where pids.Contains(x.ProjectId)
select x).Count().ToString();
var num2 = (from x in Funs.DB.Check_CheckControl
where x.State == "7" && pids.Contains(x.ProjectId)
where x.State == "7" && pids.Contains(x.ProjectId)
select x).Count();
zlfinishNumber = num2.ToString();
@ -755,7 +791,7 @@ namespace FineUIPro.Web.common
zlgjallNumber = num1.ToString();
var num2 = (from x in Funs.DB.ProcessControl_InspectionManagement
where x.IsOnceQualified == true
where (x.IsOnceQualified == null || x.IsOnceQualified == true)
select x).Count();
zlgjfinishNumber = num2.ToString();
@ -771,7 +807,7 @@ namespace FineUIPro.Web.common
zlgjallNumber = num1.ToString();
var num2 = (from x in Funs.DB.ProcessControl_InspectionManagement
where x.IsOnceQualified == true && pids.Contains(x.ProjectId)
where (x.IsOnceQualified == null || x.IsOnceQualified == true) && pids.Contains(x.ProjectId)
select x).Count();
zlgjfinishNumber = num2.ToString();
@ -799,40 +835,83 @@ namespace FineUIPro.Web.common
List<double> listdata = new List<double>();
double result = 0;
Model.SGGLDB db = Funs.DB;
var ndtLists = from x in db.ProcessControl_NondestructiveTest_New select x;
var ndtLists = (from x in db.ProcessControl_NondestructiveTest_New select x).ToList();
if (pids != null)
{
ndtLists = ndtLists.Where(x=>pids.Contains(x.ProjectId));
ndtLists = ndtLists.Where(x => pids.Contains(x.ProjectId)).ToList();
}
decimal a = 0, b = 0;
var sumResult = ndtLists
.GroupBy(x => x.ProjectId)
.Select(g => new {
TotalQ = g.OrderByDescending(x => x.CreateDate)
.Select(x => x.TotalQuantity)
.FirstOrDefault(),
Rate = g.OrderByDescending(x => x.CreateDate)
.Select(x => x.TotalRate)
.FirstOrDefault()
})
.Where(x => x.TotalQ.HasValue).ToList()
.Select(x => new {
A = Math.Floor(x.TotalQ.Value * (decimal.Parse(x.Rate)) / 100),
B = x.TotalQ.Value
});
a = sumResult.Sum(x=>x.A);
b = sumResult.Sum(x => x.B);
if (ndtLists.Count > 0)
{
//取每个单位、专业最新的一条数据
var datalist = ndtLists.GroupBy(r => new { r.UnitId, r.ProfessionalName }).Select(g => g.OrderByDescending(r => r.CreateDate).First()).ToList();
foreach (var item in datalist)
{
if (item.TotalQuantity.HasValue)
{
a += Math.Floor(item.TotalQuantity.Value * Funs.GetNewDecimalOrZero(item.TotalRate) / 100);
b += item.TotalQuantity.Value;
}
}
result = Convert.ToDouble(Convert.ToDecimal(100.0) * b / a);
}
//else
//{
// var hjglData =
// (from x in db.HJGL_FL_Data
// where x.ProjectId == ProjectId
// orderby x.CompileDate descending
// select x).FirstOrDefault();
// if (hjglData != null)
// {
// a = Funs.GetNewDecimalOrZero(hjglData.OneTimeFilmQualifiedAmount);
// b = Funs.GetNewDecimalOrZero(hjglData.OneTimeFilmAmount);
// if (a > 0 && b > 0)
// {
// result = Convert.ToDouble(Convert.ToDecimal(100.0) * b / a);
// }
// }
//}
if (b > 0)
{
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 2));
hjallNumber = b.ToString();
hjfinishNumber = a.ToString();
hjzgl = result.ToString();
hjDataValue = (100 - result).ToString();
}
//var sumResult = ndtLists
// .GroupBy(x => x.ProjectId)
// .Select(g => new
// {
// TotalQ = g.OrderByDescending(x => x.CreateDate)
// .Select(x => x.TotalQuantity)
// .FirstOrDefault(),
// Rate = g.OrderByDescending(x => x.CreateDate)
// .Select(x => x.TotalRate)
// .FirstOrDefault()
// })
// .Where(x => x.TotalQ.HasValue).ToList()
// .Select(x => new
// {
// A = Math.Floor(x.TotalQ.Value * (decimal.Parse(x.Rate)) / 100),
// B = x.TotalQ.Value
// });
//a = sumResult.Sum(x => x.A);
//b = sumResult.Sum(x => x.B);
//if (b > 0)
//{
// result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 2));
// hjallNumber = b.ToString();
// hjfinishNumber = a.ToString();
// hjzgl = result.ToString();
// hjDataValue = (100 - result).ToString();
//}
});
}
@ -906,7 +985,7 @@ namespace FineUIPro.Web.common
var getallin = new List<Model.PageDataPersonInOutItem>();
if (pids == null)
{
getallin = APIPageDataService.getPersonNum(new List<string>(),DateTime.Now);
getallin = APIPageDataService.getPersonNum(new List<string>(), DateTime.Now);
}
else
{
@ -928,8 +1007,8 @@ namespace FineUIPro.Web.common
ProjectPersonMc += "'" + item.ShortName + "',";
ProjectPersonCount += "'" + getallin.Count(x => x.ProjectId == item.ProjectId) + "',";
}
ProjectPersonMc = ProjectPersonMc.TrimEnd(',');
ProjectPersonCount = ProjectPersonCount.TrimEnd(',');
ProjectPersonMc = !string.IsNullOrWhiteSpace(ProjectPersonMc) ? ProjectPersonMc.TrimEnd(',') : string.Empty;
ProjectPersonCount = !string.IsNullOrWhiteSpace(ProjectPersonCount) ? ProjectPersonCount.TrimEnd(',') : string.Empty;
});
}
#endregion
@ -947,7 +1026,7 @@ namespace FineUIPro.Web.common
foreach (var item in allProjects)
{
ProjectPersonMc += "'" + item.ShortName + "',";
ProjectPersonCount += "'" + allperson.Count(x=>x.ProjectId==item.ProjectId) + "',";
ProjectPersonCount += "'" + allperson.Count(x => x.ProjectId == item.ProjectId) + "',";
}
ProjectPersonMc = ProjectPersonMc.TrimEnd(',');
ProjectPersonCount = ProjectPersonCount.TrimEnd(',');
@ -963,7 +1042,7 @@ namespace FineUIPro.Web.common
var list = allProjects;
if (list.Any())
{
var progressCompletions = from x in Funs.DB.JDGL_ProgressCompletion select x ;
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();
@ -989,7 +1068,7 @@ namespace FineUIPro.Web.common
div_zgwwc.InnerHtml = GeneralNotClosedNum.ToString();
div_zgwcl.InnerHtml = (100.0 * GeneralClosedNum / (GeneralNotClosedNum + GeneralClosedNum)).ToString("0.##") + "%";
});
}
/// <summary>
@ -1112,13 +1191,11 @@ namespace FineUIPro.Web.common
#endregion
#region
sbclHtml += " <div class=\"row\">";
pname = item.ShortName;
if (item.ShortName.Length > 5)
{
pname = item.ShortName.Substring(0, 5) + "...";
}
sbclHtml += "<div class=\"th-p\" title=\"" + item.ShortName + "\">" + pname + "</div>";
//采购量
var SbcllCglList = SbclList.Where(x => x.ProjectId == pid).ToList();
double SbcllCgl = 0.0;
@ -1137,22 +1214,25 @@ namespace FineUIPro.Web.common
}
}
sbclHtml += "<div class=\"row\">";
sbclHtml += "<div class=\"th-p\" title=\"" + item.ShortName + "\">" + pname + "</div>";
sbclHtml += "<div class=\"th-p\">" + SbcllCgl + "</div>";
sbclHtml += "<div class=\"th-p\">" + Sbdhs + "</div>";
//百分比
if (SbcllCgl + Sbdhs != 0)
//if (SbcllCgl + Sbdhs != 0)
//{
// var dhbfb = String.Format("{0:N2}", 100.0 * Sbdhs / (Sbdhs + SbcllCgl), 2) + "%";
// sbclHtml += "<div class=\"th-p\">" + dhbfb + "</div>";
//}
if (SbcllCgl != 0)
{
var dhbfb = String.Format("{0:N2}", 100.0 * Sbdhs / (Sbdhs + SbcllCgl), 2) + "%";
var dhbfb = String.Format("{0:N2}", 100.0 * Sbdhs / SbcllCgl, 2) + "%";
sbclHtml += "<div class=\"th-p\">" + dhbfb + "</div>";
}
else
{
sbclHtml += "<div class=\"th-p\">0%</div>";
}
sbclHtml += " </div>";
#endregion
}
@ -1165,7 +1245,8 @@ namespace FineUIPro.Web.common
/// <returns></returns>
private int GetNearMissNum()
{
string cacheKey = "NearMissNum_" + string.Join("_",pids);
Model.SGGLDB db = Funs.DB;
string cacheKey = "NearMissNum_" + string.Join("_", pids);
var memoryCache = MemoryCache.Default;
if (memoryCache.Get(cacheKey) != null)
{
@ -1174,18 +1255,36 @@ namespace FineUIPro.Web.common
int result = 0;
if (pids == null)
{
result = (from x in Funs.DB.Accident_AccidentPersonRecord
join y in Funs.DB.Base_AccidentType on x.AccidentTypeId equals y.AccidentTypeId
where x.IsAttempt == "1" && x.CompileDate > Const.DtmarkTime
select x).Count();
var wsAccidentList1 = from x in db.Accident_AccidentPersonRecord
join y in db.Base_AccidentType on x.AccidentTypeId equals y.AccidentTypeId
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("未遂")
select x;
result = wsAccidentList1.Count() + wsAccidentList2.Count();
//result = (from x in Funs.DB.Accident_AccidentPersonRecord
// join y in Funs.DB.Base_AccidentType on x.AccidentTypeId equals y.AccidentTypeId
// where x.IsAttempt == "1" && x.CompileDate > Const.DtmarkTime
// select x).Count();
}
else
{
result = (from x in Funs.DB.Accident_AccidentPersonRecord
join y in Funs.DB.Base_AccidentType on x.AccidentTypeId equals y.AccidentTypeId
where x.IsAttempt == "1" && x.CompileDate > Const.DtmarkTime
&& pids.Contains(x.ProjectId)
select x).Count();
var wsAccidentList1 = from x in db.Accident_AccidentPersonRecord
join y in db.Base_AccidentType on x.AccidentTypeId equals y.AccidentTypeId
where y.AccidentTypeName.Contains("未遂") && pids.Contains(x.ProjectId)
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("未遂") && pids.Contains(x.ProjectId)
select x;
result = wsAccidentList1.Count() + wsAccidentList2.Count();
//result = (from x in Funs.DB.Accident_AccidentPersonRecord
// join y in Funs.DB.Base_AccidentType on x.AccidentTypeId equals y.AccidentTypeId
// where x.IsAttempt == "1" && x.CompileDate > Const.DtmarkTime
// && pids.Contains(x.ProjectId)
// select x).Count();
}
var policy = new CacheItemPolicy
@ -1210,6 +1309,7 @@ namespace FineUIPro.Web.common
OnePassRateOfWelding = Resources.Lan.OnePassRateOfWelding;
total = Resources.Lan.total;
completed = Resources.Lan.completed;
qualified = Resources.Lan.qualified;
mainI_progressStatistics = Resources.Lan.mainI_progressStatistics;
Percentage_of_progress = Resources.Lan.Percentage_of_progress;
});

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">
@ -359,6 +358,9 @@
<div class="n-btn-r c-n-btn-r" onclick="DigitalSiteClick();" style="cursor: pointer">
<asp:Literal runat="server" Text="<%$ Resources:Lan,VideoSurveillance %>" />
</div>
<div class="n-btn-r c-n-btn-r" onclick="CommandDispatchClick();" style="cursor: pointer; width: 1.475rem; height: .305rem; line-height: .35rem;">
<asp:Literal runat="server" Text="<%$ Resources:Lan,CommandDispatchCenter %>" />
</div>
<div class="n-btn-r c-n-btn-r" onclick="PDigDataClick();" style="cursor: pointer">
<asp:Literal runat="server" Text="<%$ Resources:Lan,OnSiteAttendance %>" />
</div>
@ -533,6 +535,12 @@
<f:Button runat="server" CssClass="bgbtn" Text="视频监控" OnClick="btnDigitalSite_Click" OnClientClick="openVideo();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnDigitalSite" Hidden="true">
</f:Button>
<%-- <f:Button runat="server" CssClass="bgbtn" Text="指挥调度中心" OnClick="btnCommandDispatch_Click" OnClientClick="openCommandDispatchCenter();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnCommandDispatch" Hidden="true">
</f:Button>--%>
<f:Button runat="server" CssClass="bgbtn" Text="指挥调度中心" OnClick="btnCommandDispatch_Click" OnClientClick="parent.removeActiveTab();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnCommandDispatch" Hidden="true">
</f:Button>
<f:Button runat="server" CssClass="bgbtn" Text="现场考勤" OnClick="btnPDigData_Click" OnClientClick="parent.removeActiveTab();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnPDigData" Hidden="true">
</f:Button>
@ -574,6 +582,7 @@
var btnTransferClientID = '<%= btnTransfer.ClientID %>';
var btnPGJSXClientID = '<%= btnPGJSX.ClientID %>';
var btnDigitalSiteClientID = '<%= btnDigitalSite.ClientID %>';
var btnCommandDispatchClientID = '<%= btnCommandDispatch.ClientID %>';
var btnPDigDataClientID = '<%= btnPDigData.ClientID %>';
var btnOpinionClientID = '<%= btnOpinion.ClientID %>';
var btnDocClientID = '<%= btnDoc.ClientID %>';
@ -653,6 +662,12 @@
var $item = $('.f-tabstrip-header')
$item.attr('style', ";display:block !important;")
}
function CommandDispatchClick() {
parent.removeActiveTab();
F(btnCommandDispatchClientID).click();
var $item = $('.f-tabstrip-header')
$item.attr('style', ";display:block !important;")
}
// 点击标题栏工具图标 - 查看源代码
var videoURL ='<%=VideoURL %>'
@ -670,6 +685,18 @@
alert("您没有权限!");
}
}
<%--// 点击标题栏工具图标 - 查看源代码
var dispatchCenterURL = '<%=CommandDispatchCenterURL %>'
function openCommandDispatchCenter() {
if (dispatchCenterURL) {
window.open(dispatchCenterURL, '_blank');
}
else {
alert("您没有权限!");
}
}--%>
function PDigDataClick() {
parent.removeActiveTab();
F(btnPDigDataClientID).click();

View File

@ -10,6 +10,7 @@ using System.Web;
using System.Web.UI.WebControls;
using System.Xml;
using System.Linq;
using FineUIPro.Web.ZHDD;
namespace FineUIPro.Web
{
@ -321,7 +322,7 @@ namespace FineUIPro.Web
var getproject = ProjectService.GetProjectByProjectName(Request.Params["projectName"]);
if (getproject != null)
{
if (getproject.ProjectState!="1")
if (getproject.ProjectState != "1")
{
ProjectService.InitProjectShortNameByStateDropDownList(this.drpProject, this.CurrUser.UserId, getproject.ProjectState, false, "1");
}
@ -356,30 +357,30 @@ namespace FineUIPro.Web
this.InitLangMenuButton();
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == this.drpProject.SelectedValue);
if (project != null && !string.IsNullOrEmpty(project.ProjectCode))
{
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == this.drpProject.SelectedValue);
if (project != null && !string.IsNullOrEmpty(project.ProjectCode))
{
this.lblProjectName.Text = project.ProjectName;
this.hfProjectCode.Text = project.ProjectCode;
}
if (project != null && !string.IsNullOrEmpty(project.MonitorPW))
{
this.hfMonitorPW.Text = Funs.EncryptionPassword(project.MonitorPW);
}
else
{
this.hfMonitorPW.Text = "";
}
this.hfProjectCode.Text = project.ProjectCode;
}
if (project != null && !string.IsNullOrEmpty(project.MonitorPW))
{
this.hfMonitorPW.Text = Funs.EncryptionPassword(project.MonitorPW);
}
else
{
this.hfMonitorPW.Text = "";
}
if (CurrUser.UserId == Const.hfnbdId)
{
var sysSet17 = (from x in Funs.DB.Sys_Set where x.SetName == "视频监控密码" select x).ToList().FirstOrDefault();
if (sysSet17 != null)
{
this.hfProjectCode.Text = "admin";
this.hfMonitorPW.Text = Funs.EncryptionPassword(sysSet17.SetValue);
}
}
if (CurrUser.UserId == Const.hfnbdId)
{
var sysSet17 = (from x in Funs.DB.Sys_Set where x.SetName == "视频监控密码" select x).ToList().FirstOrDefault();
if (sysSet17 != null)
{
this.hfProjectCode.Text = "admin";
this.hfMonitorPW.Text = Funs.EncryptionPassword(sysSet17.SetValue);
}
}
//GetWeather();
if (Request.Cookies["SelectLan"] != null)
@ -738,6 +739,12 @@ namespace FineUIPro.Web
this.Tab1.IFrameUrl = "~/Opinion/OpinionCollection.aspx";
this.Tab1.Title = "意见收集";
}
else if (type == Const.Menu_CommandDispatchCenter)
{
this.leftPanel.Hidden = true;
this.Tab1.IFrameUrl = "~/ZHDD/ZHDD.aspx";
this.Tab1.Title = "指挥调度中心";
}
else if (type == Const.Menu_Doc)
{
this.Tab1.IFrameUrl = "~/DocManage/DocManage.aspx";
@ -852,6 +859,26 @@ namespace FineUIPro.Web
return ConfigurationManager.AppSettings["Video_URL"] + "#/screen";
}
}
//protected string CommandDispatchCenterURL
//{
// get
// {
// //string username = "rdys_test";
// //string password = "Runde.2024";
// string username = "合肥诺必达";
// string password = "Hf123456@";
// 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;
// string url = "https://caps.runde.pro/login/#token=" + session_id + "&user_name=" + username + "target=home";
// return url;
// }
//}
protected void btnPDigData_Click(object sender, EventArgs e)
{
@ -867,6 +894,15 @@ namespace FineUIPro.Web
{
this.MenuSwitchMethod(Const.Menu_Opinion);
}
protected void btnCommandDispatch_Click(object sender, EventArgs e)
{
this.MenuSwitchMethod(Const.Menu_CommandDispatchCenter);
}
//protected void btnCommandDispatch_Click(object sender, EventArgs e)
//{
// string url = "ZHDD/ZHDD.aspx";
// Response.Write("<script>window.open(" + url + "'',''_blank'')</script>");
//}
protected void btnTodo_Click(object sender, EventArgs e)
{
@ -905,9 +941,9 @@ namespace FineUIPro.Web
protected void btnHelp_Click(object sender, EventArgs e)
{
if (this.CurrUser.UserId==Const.hfnbdId)
if (this.CurrUser.UserId == Const.hfnbdId)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/Help&menuId={1}",Const.UnitId_CWCEC, BLL.Const.SysConstSetMenuId)));
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/Help&menuId={1}", Const.UnitId_CWCEC, BLL.Const.SysConstSetMenuId)));
}
else
@ -923,7 +959,8 @@ namespace FineUIPro.Web
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPhoneClick(object sender, EventArgs e) {
protected void btnPhoneClick(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("~/ProjectData/ProjectUserContact.aspx")));
}

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>
@ -491,6 +500,15 @@ namespace FineUIPro.Web
/// </remarks>
protected global::FineUIPro.Button btnDigitalSite;
/// <summary>
/// btnCommandDispatch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnCommandDispatch;
/// <summary>
/// btnPDigData 控件。
/// </summary>

View File

@ -56366,6 +56366,8 @@ namespace Model
private string _SaveHandleMan;
private string _CCManIds;
private EntityRef<Base_Project> _Base_Project;
private EntityRef<Sys_User> _Sys_User;
@ -56422,6 +56424,8 @@ namespace Model
partial void OnProposeUnitIdChanged();
partial void OnSaveHandleManChanging(string value);
partial void OnSaveHandleManChanged();
partial void OnCCManIdsChanging(string value);
partial void OnCCManIdsChanged();
#endregion
public Check_CheckControl()
@ -56900,6 +56904,26 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CCManIds", DbType="NVarChar(2000)")]
public string CCManIds
{
get
{
return this._CCManIds;
}
set
{
if ((this._CCManIds != value))
{
this.OnCCManIdsChanging(value);
this.SendPropertyChanging();
this._CCManIds = value;
this.SendPropertyChanged("CCManIds");
this.OnCCManIdsChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Check_CheckControl_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)]
public Base_Project Base_Project
{
@ -220236,6 +220260,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 +220296,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 +220560,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
{

View File

@ -86,14 +86,18 @@ namespace WebAPI.Filter
/// <summary>
///
/// </summary>
public static List<string> lists = new List<string> { "PMP*SynPMPProjectData", "GJSX*OverdueWarningSendEmail", "User*postLoginOn", "get*token", "HazardRegister*getHazardRegisterTotalCount",
"HazardRegister*getHazardRegisterByProjectIdStates",
"JGZL*getUserList",
"JGZL*getProjedtList",
"JGZL*getUnitWorkListByProjectId",
"JGZL*getInstallationListByProjectId",
"JGZL*getUnitList",
"upload*attendance" };
public static List<string> lists = new List<string> { "PMP*SynPMPProjectData", "GJSX*OverdueWarningSendEmail", "User*postLoginOn", "get*token", "HazardRegister*getHazardRegisterTotalCount",
"HazardRegister*getHazardRegisterByProjectIdStates",
"JGZL*getUserList",
"JGZL*getProjedtList",
"JGZL*getUnitWorkListByProjectId",
"JGZL*getInstallationListByProjectId",
"JGZL*getUnitList",
"upload*attendance" ,
"CNCECServer*PostGetHSSEData",
"CNCECServer*PostGetCQMSData",
"CNCECServer*PostGetHJGLData"
};
/// <summary>
///

View File

@ -12,7 +12,7 @@
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<ExcludeApp_Data>false</ExcludeApp_Data>
<publishUrl>E:\诺必达合肥\发布\五环WebApi</publishUrl>
<publishUrl>G:\发布\五环WebApi</publishUrl>
<DeleteExistingFiles>true</DeleteExistingFiles>
<PrecompileBeforePublish>true</PrecompileBeforePublish>
<EnableUpdateable>true</EnableUpdateable>

View File

@ -5,7 +5,7 @@
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PublishTargetUrl>E:\诺必达合肥\发布\五环WebApi</_PublishTargetUrl>
<_PublishTargetUrl>G:\发布\五环WebApi</_PublishTargetUrl>
<History>True|2025-04-07T08:11:44.5172315Z||;True|2025-04-02T18:10:22.8695984+08:00||;True|2025-04-02T17:59:51.2978116+08:00||;True|2025-04-02T17:50:55.8630437+08:00||;True|2025-04-02T17:49:22.5114405+08:00||;True|2025-04-02T17:47:11.0650205+08:00||;True|2025-04-02T17:39:09.8576853+08:00||;True|2025-04-02T17:38:15.3079030+08:00||;True|2025-04-02T17:22:03.6735964+08:00||;True|2025-04-02T17:19:04.4220913+08:00||;True|2025-04-02T17:17:14.0244636+08:00||;True|2025-04-02T17:11:09.6583011+08:00||;True|2025-04-02T17:07:23.6330597+08:00||;True|2025-04-02T16:58:45.4070649+08:00||;True|2025-04-02T16:50:20.5907511+08:00||;True|2025-04-02T16:44:18.5351224+08:00||;True|2025-04-02T16:31:11.1297141+08:00||;True|2025-04-02T16:18:43.1126995+08:00||;True|2025-04-02T14:50:42.5384021+08:00||;True|2025-04-01T10:53:08.9403414+08:00||;True|2025-04-01T10:52:08.7646389+08:00||;True|2025-04-01T09:52:56.3095742+08:00||;True|2025-03-13T16:44:25.3220313+08:00||;True|2025-03-13T15:31:10.3223071+08:00||;True|2025-03-13T10:58:17.1401575+08:00||;True|2025-01-23T23:10:37.9664637+08:00||;True|2024-09-24T09:51:10.8028974+08:00||;True|2024-09-20T17:30:59.6144803+08:00||;True|2024-09-20T15:28:40.2547949+08:00||;True|2024-09-19T16:30:51.3047517+08:00||;True|2024-09-19T15:53:23.2431713+08:00||;True|2024-09-19T15:48:55.0571748+08:00||;True|2024-09-19T15:06:29.5748482+08:00||;True|2024-09-19T14:55:42.1477578+08:00||;True|2024-09-19T10:07:53.8666329+08:00||;True|2024-09-03T16:26:17.4985546+08:00||;True|2024-07-17T10:29:15.9472548+08:00||;</History>
<LastFailureDetails />
</PropertyGroup>
@ -86,22 +86,22 @@
<publishTime>10/28/2024 14:02:50</publishTime>
</File>
<File Include="bin/App_global.asax.compiled">
<publishTime>04/07/2025 16:11:41</publishTime>
<publishTime>05/26/2025 16:55:20</publishTime>
</File>
<File Include="bin/App_global.asax.dll">
<publishTime>04/07/2025 16:11:41</publishTime>
<publishTime>05/26/2025 16:55:20</publishTime>
</File>
<File Include="bin/Aspose.Words.dll">
<publishTime>12/06/2024 20:13:58</publishTime>
</File>
<File Include="bin/BLL.dll">
<publishTime>04/07/2025 16:11:19</publishTime>
<publishTime>05/26/2025 16:55:06</publishTime>
</File>
<File Include="bin/BLL.dll.config">
<publishTime>12/26/2024 09:46:52</publishTime>
</File>
<File Include="bin/BLL.pdb">
<publishTime>04/07/2025 16:11:19</publishTime>
<publishTime>05/26/2025 16:55:06</publishTime>
</File>
<File Include="bin/BouncyCastle.Crypto.dll">
<publishTime>12/18/2020 05:32:28</publishTime>
@ -128,10 +128,10 @@
<publishTime>07/25/2012 19:48:56</publishTime>
</File>
<File Include="bin/Model.dll">
<publishTime>04/07/2025 16:11:13</publishTime>
<publishTime>05/26/2025 16:27:23</publishTime>
</File>
<File Include="bin/Model.pdb">
<publishTime>04/07/2025 16:11:13</publishTime>
<publishTime>05/26/2025 16:27:23</publishTime>
</File>
<File Include="bin/netstandard.dll">
<publishTime>07/04/2024 14:13:01</publishTime>
@ -389,13 +389,13 @@
<publishTime>02/09/2013 00:42:28</publishTime>
</File>
<File Include="bin/WebAPI.dll">
<publishTime>04/07/2025 16:11:22</publishTime>
<publishTime>05/26/2025 16:55:11</publishTime>
</File>
<File Include="bin/WebAPI.pdb">
<publishTime>04/07/2025 16:11:22</publishTime>
<publishTime>05/26/2025 16:55:11</publishTime>
</File>
<File Include="bin/WebAPI.xml">
<publishTime>04/07/2025 16:11:22</publishTime>
<publishTime>05/26/2025 16:55:11</publishTime>
</File>
<File Include="bin/WebGrease.dll">
<publishTime>01/23/2014 21:57:34</publishTime>
@ -479,7 +479,7 @@
<publishTime>10/28/2024 14:02:50</publishTime>
</File>
<File Include="PrecompiledApp.config">
<publishTime>04/07/2025 16:11:23</publishTime>
<publishTime>05/26/2025 16:55:12</publishTime>
</File>
<File Include="Scripts/bootstrap.js">
<publishTime>10/28/2024 14:02:50</publishTime>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort />