项目主数据

This commit is contained in:
geh
2026-06-11 09:52:30 +08:00
parent eb3003bc21
commit 716c838be0
29 changed files with 2957 additions and 212 deletions
@@ -0,0 +1,77 @@
--公司级:集团主数据在建项目数据分析
IF NOT EXISTS (SELECT * FROM Sys_Menu WHERE MenuId = '204ACA82-15B4-4C80-AE9F-ACF25CE79888')
BEGIN
INSERT INTO dbo.Sys_Menu (MenuId, MenuName,Url, SortIndex, SuperMenu, MenuType, IsOffice, IsEnd, IsUsed)
VALUES (N'204ACA82-15B4-4C80-AE9F-ACF25CE79888', N'集团主数据在建项目数据分析', N'ProjectData/MasterProjectDataAnalysis.aspx', 46, 'C2297533-B7C0-441E-B29F-ADE87C6F8978', 'Menu_SysSet', 1,1, 1);
END
GO
--项目表补充:集团展示(穿透页面)
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Base_Project' AND COLUMN_NAME = 'IsCNCECShow')
BEGIN
ALTER TABLE Base_Project ADD IsCNCECShow bit ;
--ALTER TABLE Base_Project ADD IsCNCECShow bit default 1 NOT NULL;
END
GO
UPDATE Base_Project SET IsCNCECShow=1 WHERE IsCNCECShow IS NULL;
GO
--删除已关联项目填写的原因
delete from Project_MasterDataUsage
where pro_id in (select distinct MasterSysId from Base_Project)
GO
--drop table Project_MasterDataAnalysis
--GO
--集团主数据在建项目数据分析
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'Project_MasterDataAnalysis') AND type = N'U')
BEGIN
CREATE TABLE [dbo].[Project_MasterDataAnalysis](
[Id] [nvarchar](50) NOT NULL,
[CollCropCode] [nvarchar](100) NOT NULL,
[UnitId] [nvarchar](50) NOT NULL,
[ReportDate] [datetime] NOT NULL,
[DataDate] [datetime] NOT NULL,
[Total] [int] NOT NULL,
[MasterTotal] [int] NOT NULL,
[QHSETotal] [int] NOT NULL,
[ZhengChang] [int] NOT NULL,
[DaiJian] [int] NOT NULL,
[BuYong] [int] NOT NULL,
[YuLiXiang] [int] NOT NULL,
[CreateUser] [nvarchar](200) NOT NULL,
CONSTRAINT [PK_Project_MasterDataAnalysis] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE [dbo].[Project_MasterDataAnalysis] ADD CONSTRAINT [DF_Project_MasterDataAnalysis_DataDate] DEFAULT (getdate()) FOR [DataDate]
ALTER TABLE [dbo].[Project_MasterDataAnalysis] ADD CONSTRAINT [DF_Project_MasterDataAnalysis_Total] DEFAULT ((0)) FOR [Total]
ALTER TABLE [dbo].[Project_MasterDataAnalysis] ADD CONSTRAINT [DF_Project_MasterDataAnalysis_MasterTotal] DEFAULT ((0)) FOR [MasterTotal]
ALTER TABLE [dbo].[Project_MasterDataAnalysis] ADD CONSTRAINT [DF_Project_MasterDataAnalysis_QHSETotal] DEFAULT ((0)) FOR [QHSETotal]
ALTER TABLE [dbo].[Project_MasterDataAnalysis] ADD CONSTRAINT [DF_Project_MasterDataAnalysis_ZhengChang] DEFAULT ((0)) FOR [ZhengChang]
ALTER TABLE [dbo].[Project_MasterDataAnalysis] ADD CONSTRAINT [DF_Project_MasterDataAnalysis_DaiJian] DEFAULT ((0)) FOR [DaiJian]
ALTER TABLE [dbo].[Project_MasterDataAnalysis] ADD CONSTRAINT [DF_Project_MasterDataAnalysis_BuYong] DEFAULT ((0)) FOR [BuYong]
ALTER TABLE [dbo].[Project_MasterDataAnalysis] ADD CONSTRAINT [DF_Project_MasterDataAnalysis_YuLiXiang] DEFAULT ((0)) FOR [YuLiXiang]
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数据主键Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Project_MasterDataAnalysis', @level2type=N'COLUMN',@level2name=N'Id'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'二级单位信用代码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Project_MasterDataAnalysis', @level2type=N'COLUMN',@level2name=N'CollCropCode'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'二级单位Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Project_MasterDataAnalysis', @level2type=N'COLUMN',@level2name=N'UnitId'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'上报日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Project_MasterDataAnalysis', @level2type=N'COLUMN',@level2name=N'ReportDate'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数据汇总日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Project_MasterDataAnalysis', @level2type=N'COLUMN',@level2name=N'DataDate'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'总数(正常+待建+预立项)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Project_MasterDataAnalysis', @level2type=N'COLUMN',@level2name=N'Total'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主数据在建项目总数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Project_MasterDataAnalysis', @level2type=N'COLUMN',@level2name=N'MasterTotal'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业在建项目总数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Project_MasterDataAnalysis', @level2type=N'COLUMN',@level2name=N'QHSETotal'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'正常' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Project_MasterDataAnalysis', @level2type=N'COLUMN',@level2name=N'ZhengChang'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'待建' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Project_MasterDataAnalysis', @level2type=N'COLUMN',@level2name=N'DaiJian'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'申请不用' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Project_MasterDataAnalysis', @level2type=N'COLUMN',@level2name=N'BuYong'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'预立项' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Project_MasterDataAnalysis', @level2type=N'COLUMN',@level2name=N'YuLiXiang'
END
GO
+1
View File
@@ -848,6 +848,7 @@
<Compile Include="ProjectData\MainItemService.cs" />
<Compile Include="ProjectData\ProjectData_CodeTemplateRuleService.cs" />
<Compile Include="ProjectData\ProjectDeviceService.cs" />
<Compile Include="ProjectData\ProjectMasterDataAnalysisService.cs" />
<Compile Include="ProjectData\ProjectMasterDataUsageService.cs" />
<Compile Include="ProjectData\ProjectSateService.cs" />
<Compile Include="ProjectData\ProjectService.cs" />
@@ -18,6 +18,22 @@ namespace BLL
return Funs.DB.DCGL_Check_CheckRectify.FirstOrDefault(e => e.CheckRectifyId == checkRectifyId);
}
/// <summary>
/// 根据主表ID撤回整改
/// </summary>
/// <param name="checkRectifyId">主表ID</param>
public static void RevokeByRectifyId(string checkRectifyId)
{
var items = (from x in Funs.DB.DCGL_Check_CheckRectify
where x.CheckRectifyId == checkRectifyId && x.HandleState == "3"
select x).ToList();
foreach (var item in items)
{
item.HandleState = "2";
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 添加督查检查整改
/// </summary>
@@ -0,0 +1,244 @@
using Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
/// <summary>
/// 集团主数据在建项目数据分析
/// </summary>
public static class ProjectMasterDataAnalysisService
{
/// <summary>
/// 根据主键获取分析数据
/// </summary>
/// <param name="useId"></param>
/// <returns></returns>
public static Model.Project_MasterDataAnalysis GetProjectMasterDataAnalysisById(string Id)
{
return Funs.DB.Project_MasterDataAnalysis.FirstOrDefault(e => e.Id == Id);
}
/// <summary>
/// 根据CollCropCode获取分析数据【取最近一条】
/// </summary>
/// <param name="CollCropCode"></param>
/// <returns></returns>
public static Model.Project_MasterDataAnalysis GetProjectMasterDataAnalysisByCollCropCode(string CollCropCode)
{
return Funs.DB.Project_MasterDataAnalysis.OrderByDescending(x => x.DataDate).FirstOrDefault(e => e.CollCropCode == CollCropCode);
}
/// <summary>
/// 获取分析数据【取最近一条】
/// </summary>
/// <returns></returns>
public static Model.Project_MasterDataAnalysis GetLastProjectMasterDataAnalysis()
{
return Funs.DB.Project_MasterDataAnalysis.OrderByDescending(x => x.DataDate).FirstOrDefault();
}
/// <summary>
/// 添加分析数据
/// </summary>
/// <param name="model"></param>
public static void AddProjectMasterDataAnalysis(Model.Project_MasterDataAnalysis model)
{
Model.SUBQHSEDB db = Funs.DB;
Model.Project_MasterDataAnalysis newModel = new Model.Project_MasterDataAnalysis
{
Id = model.Id,
CollCropCode = model.CollCropCode,
UnitId = model.UnitId,
ReportDate = model.ReportDate,
DataDate = model.DataDate,
Total = model.Total,
MasterTotal = model.MasterTotal,
QHSETotal = model.QHSETotal,
ZhengChang = model.ZhengChang,
DaiJian = model.DaiJian,
BuYong = model.BuYong,
YuLiXiang = model.YuLiXiang,
//ZiJian = model.ZiJian,
CreateUser = model.CreateUser,
};
db.Project_MasterDataAnalysis.InsertOnSubmit(newModel);
db.SubmitChanges();
}
/// <summary>
/// 修改分析数据
/// </summary>
/// <param name="model"></param>
public static void UpdateProjectMasterDataAnalysis(Model.Project_MasterDataAnalysis model)
{
Model.SUBQHSEDB db = Funs.DB;
Model.Project_MasterDataAnalysis newModel = db.Project_MasterDataAnalysis.FirstOrDefault(e => e.Id == model.Id);
if (newModel != null)
{
//newModel.Id = model.Id;
//newModel.CollCropCode = model.CollCropCode;
//newModel.UnitId = model.UnitId;
//newModel.ReportDate = model.ReportDate;
//newModel.DataDate = model.DataDate;
newModel.Total = model.Total;
newModel.MasterTotal = model.MasterTotal;
newModel.QHSETotal = model.QHSETotal;
newModel.ZhengChang = model.ZhengChang;
newModel.DaiJian = model.DaiJian;
newModel.BuYong = model.BuYong;
newModel.YuLiXiang = model.YuLiXiang;
//newModel.ZiJian = model.ZiJian;
db.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除分析数据
/// </summary>
/// <param name="Id"></param>
public static void DeleteProjectMasterDataAnalysisById(string Id)
{
Model.SUBQHSEDB db = Funs.DB;
Model.Project_MasterDataAnalysis model = db.Project_MasterDataAnalysis.FirstOrDefault(e => e.Id == Id);
if (model != null)
{
db.Project_MasterDataAnalysis.DeleteOnSubmit(model);
db.SubmitChanges();
}
}
/// <summary>
/// 获取最近的汇总记录【近一小时】
/// </summary>
/// <returns></returns>
public static List<Model.Project_MasterDataAnalysis> GetRecentHourAnalysisReportList()
{
var list = (from x in Funs.DB.Project_MasterDataAnalysis
where x.DataDate > DateTime.Now.AddHours(-1)
orderby x.DataDate descending
select x).ToList();
return list;
}
#region
/// <summary>
/// 集团主数据在建项目使用情况上报
/// </summary>
/// <param name="userName"></param>
/// <param name="message"></param>
/// <returns></returns>
public static string ReportProjectMasterDataAnalysis(string userName,ref string message)
{
string code = "0";
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
#region
//获取集团在建主数据
List<Model.Ads_pms_pro_info_build> masterProDatas = ProjectService.GetMasterProjectDataInfos();
//获取集团在建主数据
List<Model.Base_Project> projects = ProjectService.GetProjectWorkList();
int masterTotal = masterProDatas.Count();
int qhseTotal = projects.Count();
//1、正常
int zhengChang = (from x in masterProDatas
join pro in db.Base_Project on x.Pro_id equals pro.MasterSysId into proGroup
from pro in proGroup.DefaultIfEmpty()
where pro != null && pro.MasterSysId != null
//&& pro.ProjectState == Const.ProjectState_1
select x).Count();
//2、待建
int daiJian = (from x in masterProDatas
join pro in db.Base_Project on x.Pro_id equals pro.MasterSysId into proGroup
from pro in proGroup.DefaultIfEmpty()
join use in db.Project_MasterDataUsage on x.Pro_id equals use.Pro_id into useGroup
from use in useGroup.DefaultIfEmpty()
where pro == null && (use == null || (use != null && (use.Reason == null || use.Reason == "")))
select x).Count();
//3、申请不用
int buYong = (from x in masterProDatas
join pro in db.Base_Project on x.Pro_id equals pro.MasterSysId into proGroup
from pro in proGroup.DefaultIfEmpty()
join use in db.Project_MasterDataUsage on x.Pro_id equals use.Pro_id into useGroup
from use in useGroup.DefaultIfEmpty()
where pro == null && use != null && use.Reason != null && use.Reason != ""
select x).Count();
//4、预立项
int yuLiXiang = (from x in projects where x.MasterSysId == null select x).Count();
var thisUnit = CommonService.GetIsThisUnit();
var now = DateTime.Now;
//保存汇总数据
Model.Project_MasterDataAnalysis analysis = new Project_MasterDataAnalysis
{
Id = SQLHelper.GetNewID(typeof(Model.Project_MasterDataAnalysis)),
CollCropCode = thisUnit.CollCropCode,
UnitId = thisUnit.UnitId,
ReportDate = now.Date,
DataDate = now,
Total = zhengChang + daiJian + yuLiXiang,
MasterTotal = masterTotal,
QHSETotal = qhseTotal,
ZhengChang = zhengChang,
DaiJian = daiJian,
BuYong = buYong,
YuLiXiang = yuLiXiang,
CreateUser = userName
};
#endregion
#region
string filePath = Funs.SGGLUrl;
try
{
//var upReport = GetLastProjectMasterDataAnalysis();
var upReport = analysis;
string baseurl = SysConstSetService.CNCECPath + "/api/Common/ProjectMasterDataAnalysis";
string contenttype = "application/json;charset=unicode";
Hashtable newToken = new Hashtable
{
{ "token", ServerService.GetToken().Token }
};
var pushContent = JsonConvert.SerializeObject(upReport);
//ErrLogInfo.WriteLog($"【集团主数据在建项目使用情况上报】:{pushContent}");
var strJosn = APIGetHttpService.Http(baseurl, "Post", contenttype, newToken, pushContent);
if (!string.IsNullOrEmpty(strJosn))
{
//ErrLogInfo.WriteLog($"【集团主数据在建项目使用情况上报】:{strJosn}");
JObject obj = JObject.Parse(strJosn);
code = obj["code"].ToString();
message = obj["message"].ToString();
if (code == "1")
{
AddProjectMasterDataAnalysis(upReport);
}
}
}
catch (Exception ex)
{
ErrLogInfo.WriteLog("【集团主数据在建项目使用情况上报】上传到服务器", ex);
}
#endregion
return code;
}
}
#endregion
}
}
+17 -2
View File
@@ -197,6 +197,7 @@
SubjectProject = project.SubjectProject,
SubjectUnitApiUrl = project.SubjectUnitApiUrl,
SubjectUnitWebUrl = project.SubjectUnitWebUrl,
IsCNCECShow = project.IsCNCECShow,
};
db.Base_Project.InsertOnSubmit(newProject);
@@ -252,13 +253,27 @@
newProject.SubjectProject = project.SubjectProject;
newProject.SubjectUnitApiUrl = project.SubjectUnitApiUrl;
newProject.SubjectUnitWebUrl = project.SubjectUnitWebUrl;
newProject.IsCNCECShow = project.IsCNCECShow;
db.SubmitChanges();
//Project_HSSEData_HSSEService.StatisticalData(project.ProjectId, Project_HSSEData_HSSEService.HSSEDateType.ProjectInformation);
HSEDataCollectService.ProjectHSEDataCollectSubmission(newProject);
}
}
/// <summary>
/// 获取施工中项目集合
/// </summary>
/// <returns></returns>
public static List<Model.Base_Project> GetCNCECShowProjectList()
{
var list = (from x in Funs.DB.Base_Project
where x.IsCNCECShow == true
orderby x.ProjectCode descending
select x).ToList();
return list;
}
/// <summary>
/// 根据项目Id删除一个项目信息
/// </summary>
@@ -282,7 +297,7 @@
public static List<Model.Base_Project> GetProjectWorkList()
{
var list = (from x in Funs.DB.Base_Project
where (x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1) && (x.IsDelete == null || x.IsDelete == false)
where x.IsCNCECShow == true && (x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1)
orderby x.ProjectCode descending
select x).ToList();
return list;
@@ -7334,6 +7334,7 @@
//查询所有在建项目
var upReport = (from x in db.Base_Project
where (x.ProjectState == "1" || x.ProjectState == null) && (x.IsDelete == null || x.IsDelete == false)
&& x.IsCNCECShow == true
select new Model.BaseProjectItem
{
ProjectId = x.ProjectId,
@@ -25,6 +25,7 @@ namespace BLL
join sysConst in Funs.DB.Sys_Const on new { ProjectState2 = project.ProjectState2, GroupId = BLL.ConstValue.GroupId_ProjectState } equals new { ProjectState2 = sysConst.ConstValue, GroupId = sysConst.GroupId } into sysConstJoin
from sysConst in sysConstJoin.DefaultIfEmpty()
where (project.ProjectAttribute == "GONGCHENG" || project.ProjectAttribute == null) && (project.IsDelete == null || project.IsDelete == false) && project.ProjectState == "1"
&& project.IsCNCECShow == true
select new ProjectOutput
{
ProjectId = project.ProjectId,
@@ -71,6 +72,7 @@ namespace BLL
join sysConst in Funs.DB.Sys_Const on new { ProjectState2 = project.ProjectState2, GroupId = BLL.ConstValue.GroupId_ProjectState } equals new { ProjectState2 = sysConst.ConstValue, GroupId = sysConst.GroupId } into sysConstJoin
from sysConst in sysConstJoin.DefaultIfEmpty()
where (project.ProjectAttribute == "GONGCHENG" || project.ProjectAttribute == null) && (project.IsDelete == null || project.IsDelete == false) && project.ProjectState == "2"
&& project.IsCNCECShow == true
select new ProjectOutput
{
ProjectId = project.ProjectId,
@@ -116,6 +118,7 @@ namespace BLL
join sysConst in Funs.DB.Sys_Const on new { ProjectState2 = project.ProjectState2, GroupId = BLL.ConstValue.GroupId_ProjectState } equals new { ProjectState2 = sysConst.ConstValue, GroupId = sysConst.GroupId } into sysConstJoin
from sysConst in sysConstJoin.DefaultIfEmpty()
where (project.ProjectAttribute == "GONGCHENG" || project.ProjectAttribute == null) && (project.IsDelete == null || project.IsDelete == false) && project.ProjectState == "3"
&& project.IsCNCECShow == true
select new ProjectOutput
{
ProjectId = project.ProjectId,
@@ -153,6 +156,7 @@ namespace BLL
join sysConst in Funs.DB.Sys_Const on new { ProjectState2 = project.ProjectState2, GroupId = BLL.ConstValue.GroupId_ProjectState } equals new { ProjectState2 = sysConst.ConstValue, GroupId = sysConst.GroupId } into sysConstJoin
from sysConst in sysConstJoin.DefaultIfEmpty()
where (project.ProjectAttribute == "GONGCHENG" || project.ProjectAttribute == null) && (project.IsDelete == null || project.IsDelete == false)
&& project.IsCNCECShow == true
select new ProjectOutput
{
ProjectId = project.ProjectId,
@@ -1,7 +1,8 @@
using System;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using static BLL.UnitHazardRegisterService;
namespace BLL
{
@@ -38,6 +39,46 @@ namespace BLL
}
}
/// <summary>
/// 根据主表ID驳回所有明细
/// </summary>
/// <param name="registerId">主表ID</param>
public static void RejectItemsByRegisterId(string registerId)
{
var items = (from x in Funs.DB.Supervise_UnitHazardRegisterItem
where x.UnitHazardRegisterId == registerId && x.CompleteStatus == 1
select x).ToList();
foreach (var item in items)
{
item.CompleteStatus = 0;
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 根据ItemID驳回明细整改
/// </summary>
/// <param name="ItemId">主表ID</param>
public static void RejectItemByRegisterItemId(string ItemId)
{
var item = (from x in Funs.DB.Supervise_UnitHazardRegisterItem
where x.UnitHazardRegisterItemId == ItemId && x.CompleteStatus == 1
select x).FirstOrDefault();
if (item != null)
{
item.CompleteStatus = 0;
Funs.DB.SubmitChanges();
var obj = (from x in Funs.DB.Supervise_UnitHazardRegister
where x.UnitHazardRegisterId == item.UnitHazardRegisterId && x.States == (int)StateInt.
select x).FirstOrDefault();
if (obj != null)
{
obj.States = (int)StateInt.;
Funs.DB.SubmitChanges();
}
}
}
/// <summary>
/// 删除明细记录
/// </summary>
@@ -103,6 +103,22 @@ namespace BLL
}
}
}
/// <summary>
/// 驳回企业级检查记录
/// </summary>
/// <param name="registerId">检查记录ID</param>
public static void RejectUnitHazardRegisterById(string registerId)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
var register = db.Supervise_UnitHazardRegister.FirstOrDefault(e => e.UnitHazardRegisterId == registerId);
if (register != null)
{
register.States = (int)StateInt.;
db.SubmitChanges();
}
}
}
/// <summary>
/// 根据项目和时间段获取检查数量
@@ -149,6 +165,22 @@ namespace BLL
return register.States <= (int)StateInt.;
}
/// <summary>
/// 判断是否可以驳回检查记录整改结果
/// </summary>
/// <param name="registerId">检查记录ID</param>
/// <returns>true=可以驳回,false=不能驳回</returns>
public static bool CanRejectRegister(string registerId)
{
var register = GetUnitHazardRegisterById(registerId);
if (register == null)
{
return false;
}
// 只有"已闭环"和"部分整改"状态可以撤回,其他状态不能撤回
return register.States == (int)StateInt. || register.States == (int)StateInt.;
}
/// <summary>
/// 获取企业级检查列表(使用input对象,返回总数)
/// </summary>
@@ -1167,6 +1167,7 @@
<Content Include="indexProjectOld.aspx" />
<Content Include="ProjectData\LocationSelect.aspx" />
<Content Include="ProjectData\MasterProjectData.aspx" />
<Content Include="ProjectData\MasterProjectDataAnalysis.aspx" />
<Content Include="ProjectData\MasterProjectDataUsage.aspx" />
<Content Include="ProjectData\ProjectDevices.aspx" />
<Content Include="ProjectData\ProjectDevicesEdit.aspx" />
@@ -18,8 +18,19 @@
color: red !important;
}
.ThreeMonthPause {
background-color: blueviolet;
}
.MonthPause {
background-color: red;
}
.WeekPause {
background-color: deeppink;
}
.DayPause {
background-color: hotpink;
}
.Pause {
/*background-color: darkgray;*/
background-color: red;
}
</style>
@@ -154,9 +165,9 @@
</Columns>
</f:GroupField>
</Columns>
<Listeners>
<%--<Listeners>
<f:Listener Event="dataload" Handler="onGridDataLoad" />
</Listeners>
</Listeners>--%>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
@@ -173,7 +184,7 @@
<Items>
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="QHSE在建项目清单" Height="720px"
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" EnableSummary="true" SummaryPosition="Bottom"
DataKeyNames="ProjectId" DataIDField="ProjectId" AllowSorting="true" SortField="Usage,StartDate" SortDirection="DESC"
DataKeyNames="ProjectId" DataIDField="ProjectId" AllowSorting="true" SortField="UsageThreeMonth DESC,UsageMonth DESC,UsageWeek DESC,UsageDays DESC,StartDate" SortDirection="DESC"
OnSort="Grid2_Sort" AllowPaging="false" IsDatabasePaging="false" PageSize="1000000" OnPageIndexChange="Grid2_PageIndexChange"
EnableTextSelection="True">
<Toolbars>
@@ -224,13 +235,29 @@
<asp:Label ID="lblStatus" runat="server" Text='<%# ConvertProjectState(Eval("ProjectState")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="120px" ColumnID="Usage" DataField="Usage"
<%--<f:RenderField Width="120px" ColumnID="Usage" DataField="Usage"
FieldType="String" HeaderText="使用情况" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>--%>
<f:GroupField ColumnID="GroupField2" runat="server" HeaderText="使用情况" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="100px" ColumnID="UsageDays" DataField="UsageDays"
FieldType="String" HeaderText="近三天" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="UsageWeek" DataField="UsageWeek"
FieldType="String" HeaderText="近一周" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="UsageMonth" DataField="UsageMonth"
FieldType="String" HeaderText="近一月" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="UsageThreeMonth" DataField="UsageThreeMonth"
FieldType="String" HeaderText="近三个月" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
<Listeners>
</f:GroupField>
</Columns>
<%--<Listeners>
<f:Listener Event="dataload" Handler="onGridDataLoad" />
</Listeners>
</Listeners>--%>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
</f:ToolbarSeparator>
@@ -256,11 +283,11 @@
__doPostBack(null, 'reloadGrid');
}
function onGridDataLoad(event) {
this.mergeColumns(['Pro_name', 'Pro_code', 'Start_date', 'Pro_status'], {
depends: true
});
}
// function onGridDataLoad(event) {
// this.mergeColumns(['Pro_name', 'Pro_code', 'Start_date', 'Pro_status'], {
// depends: true
// });
// }
</script>
</body>
</html>
@@ -1,13 +1,9 @@
using BLL;
using FineUIPro.Web.BaseInfo;
using FineUIPro.Web.DataShow;
using Model;
using Model.Customization;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using AspNet = System.Web.UI.WebControls;
@@ -281,14 +277,14 @@ namespace FineUIPro.Web.ProjectData
var obj = Grid1.SelectedRow.Values;
string num = obj[0].ToString();
string pro_name = obj[2].ToString();
string pro_code = obj[3].ToString();
string startdate = obj[7].ToString();
string prostatus = obj[9].ToString();
string projectName = obj[11].ToString();
string projectCode = obj[12].ToString();
string startDate = obj[13].ToString();
string lblState = (Grid1.SelectedRow.FindControl("lblState") as AspNet.Label).Text;
string pro_name = obj[2].ToString().Trim();
string pro_code = obj[3].ToString().Trim();
string startdate = obj[7].ToString().Trim();
string prostatus = obj[9].ToString().Trim();
string projectName = obj[11].ToString().Trim();
string projectCode = obj[12].ToString().Trim();
string startDate = obj[13].ToString().Trim();
string lblState = (Grid1.SelectedRow.FindControl("lblState") as AspNet.Label).Text.Trim();
if (!string.IsNullOrWhiteSpace(pro_id))
{
@@ -304,7 +300,7 @@ namespace FineUIPro.Web.ProjectData
model.Id = useId;
model.Pro_id = pro_id;
model.Pro_code = pro_code;
model.Pro_name = pro_name;
model.Pro_name = pro_name.Replace("&#183;", ".").Replace("&#215;", "/").Replace("&", "").Replace("#", "").Replace(";", "");
model.Is_relate = !string.IsNullOrWhiteSpace(projectId);
model.Is_use = !string.IsNullOrWhiteSpace(projectId);
model.Projectid = projectId;
@@ -417,37 +413,63 @@ namespace FineUIPro.Web.ProjectData
}
var dateNow = DateTime.Now.Date;//现在
var dateMonthAgo = dateNow.AddMonths(-1);//一个月
var dateDays = dateNow.AddDays(-3);//三天
var dateWeek = dateNow.AddDays(-7);//一周前
var dateMonth = dateNow.AddMonths(-1);//一个月前
var dateThreeMonth = dateNow.AddMonths(-3);//三个月前
var datas = (from x in db.Project_HSSEData_HSSE
where x.ReportDate == dateNow || x.ReportDate == dateMonthAgo
where x.ReportDate == dateNow || x.ReportDate == dateDays || x.ReportDate == dateWeek || x.ReportDate == dateMonth || x.ReportDate == dateThreeMonth
select new QHSEProjectHSSEData
{
ProjectId = x.ProjectId,
ReportDate = x.ReportDate,
DataMetricsSum = (x.JoinConstructionPersonNum ?? 0) + (x.GeneralClosedNum ?? 0) + (x.GeneralNotClosedNum ?? 0) + (x.SafeWorkingHour ?? 0)
//DataMetricsSum = (x.JoinConstructionPersonNum ?? 0) + (x.GeneralClosedNum ?? 0) + (x.GeneralNotClosedNum ?? 0) + (x.SafeWorkingHour ?? 0)
DataMetricsSum = (x.JoinConstructionPersonNum ?? 0) + (x.GeneralClosedNum ?? 0) + (x.GeneralNotClosedNum ?? 0) + (x.SafeWorkingHour ?? 0) + (x.LicensesNum ?? 0) + (x.SpecialTrainNum ?? 0)
+ (x.SpecialTrainNum ?? 0) + (x.SpecialOperationTrainNum ?? 0) + (x.ProjectSafetyLeadingGroupMeetingNum ?? 0) + (x.ProjectSafetyMeetingNum ?? 0)
+ (x.GeneralRiskNum ?? 0) + (x.LowRiskNum ?? 0) + (x.MediumRiskNum ?? 0) + (x.HighRiskNum ?? 0)
+ (x.TrainPersonNum ?? 0) + (x.SuperTrainPersonNum ?? 0) + (x.OperativesNum ?? 0) + (x.SuperOperativesNum ?? 0) + (x.ProjectDrillPersonNum ?? 0)
}).ToList();
foreach (var pro in getProjects)
{
string result = "正常";
string threeMonResult = "";
string monResult = "";
string dayResult = "";
string weekResult = "";
var nowData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateNow).FirstOrDefault();
var monthAgoData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateMonthAgo).FirstOrDefault();
if (nowData != null && monthAgoData != null)
var daysData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateDays).FirstOrDefault();
var weekData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateWeek).FirstOrDefault();
var monthData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateMonth).FirstOrDefault();
var threeMonthData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateThreeMonth).FirstOrDefault();
if (nowData != null && daysData != null)
{//两个时间点都有指标数据
if (nowData.DataMetricsSum == monthAgoData.DataMetricsSum)
if (nowData.DataMetricsSum == daysData.DataMetricsSum)
{
result = "异常";
dayResult = "数据无变化";
}
}
if (nowData != null && weekData != null)
{//两个时间点都有指标数据
if (nowData.DataMetricsSum == weekData.DataMetricsSum)
{
weekResult = "数据无变化";
}
}
if (nowData != null && monthData != null)
{//两个时间点都有指标数据
if (nowData.DataMetricsSum == monthData.DataMetricsSum)
{
monResult = "数据无变化";
}
}
if (nowData != null && threeMonthData != null)
{//两个时间点都有指标数据
if (nowData.DataMetricsSum == threeMonthData.DataMetricsSum)
{
threeMonResult = "数据无变化";
}
}
//else if (nowData != null)
//{//现在有指标数据,一个月前没有
// result = "正常";
//}
//else if (monthAgoData != null)
//{//现在没有指标数据,一个月前有
// result = "正常";
//}
list.Add(new QHSEProjectDataInfo
{
@@ -458,7 +480,10 @@ namespace FineUIPro.Web.ProjectData
StartDate = pro.StartDate,
EndDate = pro.EndDate,
ProjectState = pro.ProjectState,
Usage = result
UsageDays = dayResult,
UsageWeek = weekResult,
UsageMonth = monResult,
UsageThreeMonth = threeMonResult,
});
}
@@ -468,19 +493,39 @@ namespace FineUIPro.Web.ProjectData
Grid2.DataSource = table;
Grid2.DataBind();
int exNum = 0;
int exDayNum = 0;
int exWeekNum = 0;
int exMonNum = 0;
int exThreeMonNum = 0;
int allQhseNum = 0;
//int allQhseNum = list.Count();
try
{
for (int i = 0; i < Grid2.Rows.Count; i++)
{
allQhseNum++;
var usage = table.Rows[i]["Usage"].ToString().Trim();
if (usage == "异常")
var usageDays = table.Rows[i]["UsageDays"].ToString().Trim();
var usageWeek = table.Rows[i]["UsageWeek"].ToString().Trim();
var usageMonth = table.Rows[i]["UsageMonth"].ToString().Trim();
var usageThreeMonth = table.Rows[i]["UsageThreeMonth"].ToString().Trim();
if (usageDays == "数据无变化")
{
Grid2.Rows[i].RowCssClass = "Pause";
exNum++;
Grid2.Rows[i].RowCssClass = "DayPause";
exDayNum++;
}
if (usageWeek == "数据无变化")
{
Grid2.Rows[i].RowCssClass = "WeekPause";
exWeekNum++;
}
if (usageMonth == "数据无变化")
{
Grid2.Rows[i].RowCssClass = "MonthPause";
exMonNum++;
}
if (usageThreeMonth == "数据无变化")
{
Grid2.Rows[i].RowCssClass = "ThreeMonthPause";
exThreeMonNum++;
}
}
}
@@ -489,8 +534,12 @@ namespace FineUIPro.Web.ProjectData
JObject summary = new JObject();
summary.Add("tfNumber", "合计");
summary.Add("ProjectCode", allQhseNum);
summary.Add("Usage", $"异常:{exNum}");
summary.Add("Abbreviation", allQhseNum);
summary.Add("StartDate", "数据无变化");
summary.Add("UsageDays", exDayNum);
summary.Add("UsageWeek", exWeekNum);
summary.Add("UsageMonth", exMonNum);
summary.Add("UsageThreeMonth", exThreeMonNum);
Grid2.SummaryData = summary;
}
@@ -0,0 +1,390 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MasterProjectDataAnalysis.aspx.cs" Inherits="FineUIPro.Web.ProjectData.MasterProjectDataAnalysis" %>
<!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 type="text/css">
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
/* 增强合计行样式 - 使用多种选择器确保生效 */
.f-grid-row-summary .f-grid-cell,
.f-grid-summary-row .f-grid-cell-inner {
font-weight: bold !important;
color: red !important;
}
.Pause {
background-color: red;
}
</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:TabStrip ID="TabStrip1" ShowBorder="true" TabPosition="Top"
EnableTabCloseMenu="false" ActiveTabIndex="0" runat="server" OnTabIndexChanged="TabStrip1_TabIndexChanged" AutoPostBack="true">
<Tabs>
<f:Tab Title="已关联" TitleToolTip="主数据有,且单位已关联的项目" BodyPadding="10px" runat="server">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="已关联" Height="720px"
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" EnableSummary="true" SummaryPosition="Bottom"
DataKeyNames="Pid" DataIDField="Pid" AllowSorting="true" SortField="Start_date DESC,StartDate" SortDirection="DESC"
OnSort="Grid1_Sort" AllowPaging="false" IsDatabasePaging="false" PageSize="1000000" OnPageIndexChange="Grid1_PageIndexChange"
EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="主数据编号" ID="txtProCode" EmptyText="输入主数据项目编号"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="100px" LabelAlign="Right">
</f:TextBox>
<f:TextBox runat="server" Label="主数据名称" ID="txtProName" EmptyText="输入主数据项目名称"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="100px">
</f:TextBox>
<f:DatePicker runat="server" Label="主数据开工日期" ID="txtStartTime" EmptyText="开始日期" LabelAlign="Right" LabelWidth="120px" Width="220px" AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
</f:DatePicker>
<f:Label ID="Label5" runat="server" Text="至">
</f:Label>
<f:DatePicker runat="server" ID="txtEndTime" LabelAlign="Right" EmptyText="结束日期" Width="110px" AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
</f:DatePicker>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="项目编号" ID="txtProjectCode" EmptyText="输入QHSE项目编号"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="90px" LabelAlign="Right">
</f:TextBox>
<f:TextBox runat="server" Label="项目名称" ID="txtProjectName" EmptyText="输入QHSE项目名称"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="90px">
</f:TextBox>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<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="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:GroupField ColumnID="GroupField1" runat="server" HeaderText="集团主数据" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="260px" ColumnID="Pro_name" DataField="Pro_name"
FieldType="String" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="Pro_code" DataField="Pro_code"
FieldType="String" HeaderText="项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="Org_name" DataField="Org_name"
FieldType="String" HeaderText="所属单位" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="Con_mode_desc" DataField="Con_mode_desc"
FieldType="String" HeaderText="承包方式" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Pro_nature" DataField="Pro_nature"
FieldType="String" HeaderText="性质" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="Start_date" DataField="Start_date" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="140px" ColumnID="Amount" DataField="Amount"
FieldType="String" HeaderText="合同额/规模(亿)" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Pro_status" DataField="Pro_status"
FieldType="String" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField ColumnID="GroupField2" runat="server" HeaderText="QHSE系统" HeaderTextAlign="Center">
<Columns>
<f:RenderField Width="260px" ColumnID="ProjectName" DataField="ProjectName"
FieldType="String" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="ProjectCode" DataField="ProjectCode"
FieldType="String" HeaderText="项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="StartDate" DataField="StartDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:TemplateField ColumnID="tfState" Width="110px" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblState" runat="server" Text='<%# ConvertProjectState(Eval("ProjectState")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
</Columns>
</f:GroupField>
</Columns>
</f:Grid>
</Items>
</f:Tab>
<f:Tab Title="待建" TitleToolTip="主数据有,单位没建,且没有原因说明" BodyPadding="10px" runat="server">
<Items>
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="待建" Height="720px"
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" EnableSummary="true" SummaryPosition="Bottom"
DataKeyNames="Pid" DataIDField="Pid" AllowSorting="true" SortField="Start_date" SortDirection="DESC"
OnSort="Grid2_Sort" AllowPaging="false" IsDatabasePaging="false" PageSize="1000000" OnPageIndexChange="Grid2_PageIndexChange"
EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="主数据编号" ID="txtProCode2" EmptyText="输入主数据项目编号"
AutoPostBack="true" OnTextChanged="TextBox2_TextChanged" Width="260px" LabelWidth="100px" LabelAlign="Right">
</f:TextBox>
<f:TextBox runat="server" Label="主数据名称" ID="txtProName2" EmptyText="输入主数据项目名称"
AutoPostBack="true" OnTextChanged="TextBox2_TextChanged" Width="260px" LabelWidth="100px">
</f:TextBox>
<f:DatePicker runat="server" Label="主数据开工日期" ID="txtStartTime2" EmptyText="开始日期" LabelAlign="Right" LabelWidth="120px" Width="220px" AutoPostBack="true" OnTextChanged="TextBox2_TextChanged">
</f:DatePicker>
<f:Label ID="Label1" runat="server" Text="至">
</f:Label>
<f:DatePicker runat="server" ID="txtEndTime2" LabelAlign="Right" EmptyText="结束日期" Width="110px" AutoPostBack="true" OnTextChanged="TextBox2_TextChanged">
</f:DatePicker>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnOut2" OnClick="btnOut2_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid2.PageIndex * Grid2.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="260px" ColumnID="Pro_name" DataField="Pro_name" ExpandUnusedSpace="true"
FieldType="String" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="Pro_code" DataField="Pro_code"
FieldType="String" HeaderText="项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="Org_name" DataField="Org_name" ExpandUnusedSpace="true"
FieldType="String" HeaderText="所属单位" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="Con_mode_desc" DataField="Con_mode_desc"
FieldType="String" HeaderText="承包方式" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Pro_nature" DataField="Pro_nature"
FieldType="String" HeaderText="性质" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="Start_date" DataField="Start_date" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="140px" ColumnID="Amount" DataField="Amount"
FieldType="String" HeaderText="合同额/规模(亿)" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Pro_status" DataField="Pro_status"
FieldType="String" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Tab>
<f:Tab Title="申请不用" TitleToolTip="主数据有,单位没建,有原因说明" BodyPadding="10px" runat="server">
<Items>
<f:Grid ID="Grid3" ShowBorder="true" ShowHeader="false" Title="申请不用" Height="720px"
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" EnableSummary="true" SummaryPosition="Bottom"
DataKeyNames="Pid" DataIDField="Pid" AllowSorting="true" SortField="Start_date" SortDirection="DESC"
OnSort="Grid3_Sort" AllowPaging="false" IsDatabasePaging="false" PageSize="1000000" OnPageIndexChange="Grid3_PageIndexChange"
EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar4" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="主数据编号" ID="txtProCode3" EmptyText="输入主数据项目编号"
AutoPostBack="true" OnTextChanged="TextBox3_TextChanged" Width="260px" LabelWidth="100px" LabelAlign="Right">
</f:TextBox>
<f:TextBox runat="server" Label="主数据名称" ID="txtProName3" EmptyText="输入主数据项目名称"
AutoPostBack="true" OnTextChanged="TextBox3_TextChanged" Width="260px" LabelWidth="100px">
</f:TextBox>
<f:DatePicker runat="server" Label="主数据开工日期" ID="txtStartTime3" EmptyText="开始日期" LabelAlign="Right" LabelWidth="120px" Width="220px" AutoPostBack="true" OnTextChanged="TextBox3_TextChanged">
</f:DatePicker>
<f:Label ID="Label2" runat="server" Text="至">
</f:Label>
<f:DatePicker runat="server" ID="txtEndTime3" LabelAlign="Right" EmptyText="结束日期" Width="110px" AutoPostBack="true" OnTextChanged="TextBox3_TextChanged">
</f:DatePicker>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnOut3" OnClick="btnOut3_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageNo" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblPageNo" runat="server" Text='<%# Grid3.PageIndex * Grid3.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField MinWidth="260px" ColumnID="Pro_name" DataField="Pro_name" ExpandUnusedSpace="true"
FieldType="String" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="Pro_code" DataField="Pro_code"
FieldType="String" HeaderText="项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField MinWidth="180px" ColumnID="Org_name" DataField="Org_name" ExpandUnusedSpace="true"
FieldType="String" HeaderText="所属单位" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="Con_mode_desc" DataField="Con_mode_desc"
FieldType="String" HeaderText="承包方式" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="Pro_nature" DataField="Pro_nature"
FieldType="String" HeaderText="性质" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="Start_date" DataField="Start_date" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField MinWidth="140px" ColumnID="Amount" DataField="Amount"
FieldType="String" HeaderText="合同额/规模(亿)" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="Pro_status" DataField="Pro_status"
FieldType="String" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="130px" ColumnID="ReasonType" DataField="ReasonType"
FieldType="String" HeaderText="原因类型" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="330px" ColumnID="Reason" DataField="Reason" ExpandUnusedSpace="true"
FieldType="String" HeaderText="未关联原因情况说明" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Tab>
<f:Tab Title="预立项" TitleToolTip="QHSE没有关联主数据的在建项目" BodyPadding="10px" runat="server">
<Items>
<f:Grid ID="Grid4" ShowBorder="true" ShowHeader="false" Title="预立项" Height="720px"
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" EnableSummary="true" SummaryPosition="Bottom"
DataKeyNames="Pid" DataIDField="Pid" AllowSorting="true" SortField="StartDate" SortDirection="DESC"
OnSort="Grid4_Sort" AllowPaging="false" IsDatabasePaging="false" PageSize="1000000" OnPageIndexChange="Grid4_PageIndexChange"
EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar5" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="项目编号" ID="txtProjectCode4" EmptyText="输入QHSE项目编号"
AutoPostBack="true" OnTextChanged="TextBox4_TextChanged" Width="260px" LabelWidth="90px" LabelAlign="Right">
</f:TextBox>
<f:TextBox runat="server" Label="项目名称" ID="txtProjectName4" EmptyText="输入QHSE项目名称"
AutoPostBack="true" OnTextChanged="TextBox4_TextChanged" Width="260px" LabelWidth="90px">
</f:TextBox>
<f:DatePicker runat="server" Label="开工日期" ID="txtStartTime4" EmptyText="开始日期" LabelAlign="Right" LabelWidth="120px" Width="220px" AutoPostBack="true" OnTextChanged="TextBox4_TextChanged">
</f:DatePicker>
<f:Label ID="Label3" runat="server" Text="至">
</f:Label>
<f:DatePicker runat="server" ID="txtEndTime4" LabelAlign="Right" EmptyText="结束日期" Width="110px" AutoPostBack="true" OnTextChanged="TextBox4_TextChanged">
</f:DatePicker>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnOut4" OnClick="btnOut4_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageNum" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblPageNum" runat="server" Text='<%# Grid4.PageIndex * Grid4.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="220px" ColumnID="ProjectCode" DataField="ProjectCode"
FieldType="String" HeaderText="项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="260px" ColumnID="ProjectName" DataField="ProjectName" ExpandUnusedSpace="true"
FieldType="String" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="StartDate" DataField="StartDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:TemplateField ColumnID="tfProState" Width="120px" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblProState" runat="server" Text='<%# ConvertProjectState(Eval("ProjectState")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
</Columns>
</f:Grid>
</Items>
</f:Tab>
<f:Tab Title="数据汇总" TitleToolTip="每日数据汇总" BodyPadding="10px" runat="server">
<Items>
<f:Grid ID="Grid9" ShowBorder="true" ShowHeader="false" Title="数据汇总" Height="720px"
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" EnableSummary="false" SummaryPosition="Bottom"
DataKeyNames="Id" DataIDField="Id" AllowSorting="true" SortField="ReportDate DESC,DataDate" SortDirection="DESC"
OnSort="Grid9_Sort" AllowPaging="false" IsDatabasePaging="false" PageSize="1000000" OnPageIndexChange="Grid9_PageIndexChange"
EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar6" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DatePicker runat="server" Label="上报日期" ID="txtStartTime9" EmptyText="开始日期" LabelAlign="Right" LabelWidth="120px" Width="240px" AutoPostBack="true" OnTextChanged="TextBox9_TextChanged">
</f:DatePicker>
<f:Label ID="Label4" runat="server" Text="至">
</f:Label>
<f:DatePicker runat="server" ID="txtEndTime9" LabelAlign="Right" EmptyText="结束日期" Width="130px" AutoPostBack="true" OnTextChanged="TextBox9_TextChanged">
</f:DatePicker>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnReport" OnClick="btnReport_Click" runat="server" Text="汇总上报" ToolTip="汇总上报" Icon="WorldGo" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnOut9" OnClick="btnOut9_Click" runat="server" ToolTip="导出" Icon="FolderUp" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNum" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNum" runat="server" Text='<%# Grid9.PageIndex * Grid9.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="140px" ColumnID="ReportDate" DataField="ReportDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="上报日期" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="Total" DataField="Total"
FieldType="String" HeaderText="总数" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<%--<f:RenderField Width="120px" ColumnID="MasterTotal" DataField="MasterTotal"
FieldType="String" HeaderText="主数据在建项目总数" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="QHSETotal" DataField="QHSETotal"
FieldType="String" HeaderText="企业在建项目总数" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>--%>
<f:RenderField Width="120px" ColumnID="ZhengChang" DataField="ZhengChang"
FieldType="String" HeaderText="已关联" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="DaiJian" DataField="DaiJian"
FieldType="String" HeaderText="待建" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="140px" ColumnID="BuYong" DataField="BuYong"
FieldType="String" HeaderText="申请不用" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="YuLiXiang" DataField="YuLiXiang"
FieldType="String" HeaderText="预立项" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="CreateUser" DataField="CreateUser" ExpandUnusedSpace="true"
FieldType="String" HeaderText="上报人" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="DataDate" DataField="DataDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm" HeaderText="汇总时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Tab>
</Tabs>
</f:TabStrip>
</Items>
</f:Panel>
</form>
<script type="text/javascript">
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>
@@ -0,0 +1,857 @@
using BLL;
using Model;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.ProjectData
{
public partial class MasterProjectDataAnalysis : PageBase
{
/// <summary>
/// 集团在建主数据
/// </summary>
public static List<Model.Ads_pms_pro_info_build> masterProDatas = new List<Model.Ads_pms_pro_info_build>();
///// <summary>
///// QHSE施工中项目集合
///// </summary>
//public static List<Model.Base_Project> getProjects = new List<Model.Base_Project>();
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//获取集团在建主数据
masterProDatas = ProjectService.GetMasterProjectDataInfos();
////获取QHSE施工中项目集合
//getProjects = ProjectService.GetProjectWorkList();
TabStrip1_TabIndexChanged(null, null);
}
}
/// <summary>
/// 页签切换事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
{
if (TabStrip1.ActiveTabIndex == 0)
{
this.Panel1.Title = "已关联";
this.BindGrid();
}
else if (TabStrip1.ActiveTabIndex == 1)
{
this.Panel1.Title = "待建";
this.BindGrid2();
}
else if (TabStrip1.ActiveTabIndex == 2)
{
this.Panel1.Title = "申请不用";
this.BindGrid3();
}
else if (TabStrip1.ActiveTabIndex == 3)
{
this.Panel1.Title = "预立项";
this.BindGrid4();
}
else if (TabStrip1.ActiveTabIndex == 4)
{
this.Panel1.Title = "数据汇总";
this.BindGrid9();
}
//else if (TabStrip1.ActiveTabIndex == 4)
//{
// this.Panel1.Title = "自建";
// //this.BindGrid5();
//}
}
#endregion
#region
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
var list = new List<MasterProjectDataInfo>();
var db = Funs.DB;
var query = (from x in masterProDatas
join pro in db.Base_Project on x.Pro_id equals pro.MasterSysId into proGroup
from pro in proGroup.DefaultIfEmpty()
//join use in db.Project_MasterDataUsage on x.Pro_id equals use.Pro_id into useGroup
//from use in useGroup.DefaultIfEmpty()
where pro != null && pro.MasterSysId != null
//&& pro.ProjectState == Const.ProjectState_1
select new MasterProjectDataInfo
{
//Pid = $"{x.Pro_id}|{(pro != null ? $"{pro.ProjectId}" : "")}|{(use != null ? use.Id : "")}",
Pid = $"{x.Pro_id}|{(pro != null ? $"{pro.ProjectId}" : "")}",
Pro_id = x.Pro_id,
Pro_name = x.Pro_name,
Pro_code = x.Pro_code,
Start_date = x.Start_date,
Con_mode_desc = x.Con_mode_desc,
Pro_nature = x.Pro_nature,
Pro_status = x.Pro_status,
Org_name = x.Org_name,
Amount = ConvertAmount(x.Ori_amt_sum_vat_fc, x.Amt_add_sum_vat_fc_local),
ProjectId = pro != null ? pro.ProjectId : null,
ProjectName = pro != null ? pro.ProjectName : "",
ProjectCode = pro != null ? pro.ProjectCode : "",
StartDate = pro != null ? pro.StartDate : null,
ProjectState = pro != null ? pro.ProjectState : "",
Relate = pro != null && pro.MasterSysId != null ? 1 : 2,
RelateName = pro != null && pro.MasterSysId != null ? "已关联" : "未关联",
}).ToList();
string startDate = this.txtStartTime.Text.Trim();
string endDate = this.txtEndTime.Text.Trim();
if (!string.IsNullOrWhiteSpace(startDate))
{
query = query.Where(x => Funs.GetNewDateTime(x.Start_date) >= Funs.GetNewDateTime(startDate)).ToList();
}
if (!string.IsNullOrWhiteSpace(endDate))
{
query = query.Where(x => Funs.GetNewDateTime(x.Start_date) <= Funs.GetNewDateTime(endDate)).ToList();
}
query = query.OrderByDescending(x => x.StartDate).ToList();
list.AddRange(query);
////// 获取施工中的项目
//getProjects = getProjects.Where(x => x.MasterSysId == null).OrderByDescending(x => x.StartDate).ToList();
//foreach (var pro in getProjects)
//{
// list.Add(new MasterProjectDataInfo
// {
// Pid = $"|{pro.ProjectId}",
// Pro_id = "",
// Pro_name = "",
// Pro_code = "",
// Start_date = "",
// Con_mode_desc = "",
// Pro_nature = "",
// Pro_status = "",
// Org_name = "",
// Amount = "",
// ProjectId = pro != null ? pro.ProjectId : null,
// ProjectName = pro != null ? pro.ProjectName : "",
// ProjectCode = pro != null ? pro.ProjectCode : "",
// StartDate = pro != null ? pro.StartDate : null,
// ProjectState = pro != null ? pro.ProjectState : "",
// Relate = 3,
// RelateName = "未对应",
// UseId = null,
// //Use = use == null ? "" : (use != null && use.Is_use == true) ? "已使用" : "未使用",
// ReasonType = "",
// Reason = "",
// //Situation = use != null ? use.Situation : "",
// //Remark = use != null ? use.Remark : "",
// });
//}
string proName = this.txtProName.Text.Trim();
string proCode = this.txtProCode.Text.Trim();
string projectName = this.txtProjectName.Text.Trim();
string projectCode = this.txtProjectCode.Text.Trim();
//int relate = int.Parse(this.rblIsRelate.SelectedValue);
if (!string.IsNullOrEmpty(proName))
{
list = list.Where(x => x.Pro_name.Contains(proName)).ToList();
}
if (!string.IsNullOrEmpty(proCode))
{
list = list.Where(x => x.Pro_code.Contains(proCode)).ToList();
}
if (!string.IsNullOrEmpty(projectName))
{
list = list.Where(x => x.ProjectName.Contains(projectName)).ToList();
}
if (!string.IsNullOrEmpty(projectCode))
{
list = list.Where(x => x.ProjectCode.Contains(projectCode)).ToList();
}
//if (relate > 0)
//{
// list = list.Where(x => x.Relate == relate).ToList();
//}
DataTable tb = Funs.LINQToDataTable(list);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
int totalNum = list.Count();
JObject summary = new JObject();
summary.Add("tfNumber", "合计");
summary.Add("Pro_name", totalNum);
Grid1.SummaryData = summary;
}
/// <summary>
/// 合同额(亿)
/// </summary>
/// <param name="Ori_amt">合同含税金额原始存档(元)</param>
/// <param name="Amt_add">增补合同本币含税金额(元)</param>
/// <returns></returns>
protected string ConvertAmount(decimal? Ori_amt, decimal? Amt_add)
{
string result = string.Empty;
Ori_amt = Ori_amt == null ? 0 : Ori_amt;
Amt_add = Amt_add == null ? 0 : Amt_add;
decimal? all = Amt_add + Ori_amt;
if (all != null)
{
double amount = all == null ? 0 : (Math.Round((double)(all / 100000000m), 2));
result = amount.ToString();
}
return result;
}
/// <summary>
/// 项目状态
/// </summary>
/// <param name="addType"></param>
/// <returns></returns>
protected string ConvertProjectState(object state)
{
string result = string.Empty;
string stateStr = state.ToString();
if (state != null && !string.IsNullOrWhiteSpace(stateStr))
{
result = stateStr == "2" ? "暂停中" : stateStr == "3" ? "已完工" : "施工中";
}
return result;
}
#endregion
#region Grid
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
this.BindGrid();
}
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("集团主数据在建项目数据分析(正常)" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid1.PageSize = this.Grid1.RecordCount;
this.BindGrid();
Response.Write(GetGridMultiHeaderTableHtml2(Grid1));
//Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
#endregion
#endregion
#region
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid2()
{
var list = new List<MasterProjectDataInfo>();
var db = Funs.DB;
var query = (from x in masterProDatas
join pro in db.Base_Project on x.Pro_id equals pro.MasterSysId into proGroup
from pro in proGroup.DefaultIfEmpty()
join use in db.Project_MasterDataUsage on x.Pro_id equals use.Pro_id into useGroup
from use in useGroup.DefaultIfEmpty()
where pro == null && (use == null || (use != null && (use.Reason == null || use.Reason == "")))
select new MasterProjectDataInfo
{
//Pid = $"{x.Pro_id}|{(pro != null ? $"{pro.ProjectId}" : "")}|{(use != null ? use.Id : "")}",
//Pid = $"{x.Pro_id}|{(pro != null ? $"{pro.ProjectId}" : "")}",
Pid = x.Pro_id,
Pro_id = x.Pro_id,
Pro_name = x.Pro_name,
Pro_code = x.Pro_code,
Start_date = x.Start_date,
Con_mode_desc = x.Con_mode_desc,
Pro_nature = x.Pro_nature,
Pro_status = x.Pro_status,
Org_name = x.Org_name,
Amount = ConvertAmount(x.Ori_amt_sum_vat_fc, x.Amt_add_sum_vat_fc_local)
}).ToList();
string startDate = this.txtStartTime2.Text.Trim();
string endDate = this.txtEndTime2.Text.Trim();
if (!string.IsNullOrWhiteSpace(startDate))
{
query = query.Where(x => Funs.GetNewDateTime(x.Start_date) >= Funs.GetNewDateTime(startDate)).ToList();
}
if (!string.IsNullOrWhiteSpace(endDate))
{
query = query.Where(x => Funs.GetNewDateTime(x.Start_date) <= Funs.GetNewDateTime(endDate)).ToList();
}
query = query.OrderByDescending(x => x.StartDate).ToList();
list.AddRange(query);
string proName = this.txtProName2.Text.Trim();
string proCode = this.txtProCode2.Text.Trim();
if (!string.IsNullOrEmpty(proName))
{
list = list.Where(x => x.Pro_name.Contains(proName)).ToList();
}
if (!string.IsNullOrEmpty(proCode))
{
list = list.Where(x => x.Pro_code.Contains(proCode)).ToList();
}
DataTable tb = Funs.LINQToDataTable(list);
Grid2.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid2, tb);
Grid2.DataSource = table;
Grid2.DataBind();
int totalNum = list.Count();
JObject summary = new JObject();
summary.Add("tfPageIndex", "合计");
summary.Add("Pro_name", totalNum);
Grid2.SummaryData = summary;
}
#endregion
#region Grid
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
this.BindGrid2();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e)
{
this.BindGrid2();
}
protected void Grid2_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
this.BindGrid2();
}
#endregion
#region
/// <summary>
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut2_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("集团主数据在建项目数据分析(待建)" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid2.PageSize = this.Grid2.RecordCount;
this.BindGrid2();
Response.Write(GetGridMultiHeaderTableHtml2(Grid2));
//Response.Write(GetGridTableHtml(Grid2));
Response.End();
}
#endregion
#endregion
#region
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid3()
{
var list = new List<MasterProjectDataInfo>();
var db = Funs.DB;
var query = (from x in masterProDatas
join pro in db.Base_Project on x.Pro_id equals pro.MasterSysId into proGroup
from pro in proGroup.DefaultIfEmpty()
join use in db.Project_MasterDataUsage on x.Pro_id equals use.Pro_id into useGroup
from use in useGroup.DefaultIfEmpty()
where pro == null && use != null && use.Reason != null && use.Reason != ""
select new MasterProjectDataInfo
{
//Pid = $"{x.Pro_id}|{(pro != null ? $"{pro.ProjectId}" : "")}|{(use != null ? use.Id : "")}",
//Pid = $"{x.Pro_id}|{(pro != null ? $"{pro.ProjectId}" : "")}",
Pid = x.Pro_id,
Pro_id = x.Pro_id,
Pro_name = x.Pro_name,
Pro_code = x.Pro_code,
Start_date = x.Start_date,
Con_mode_desc = x.Con_mode_desc,
Pro_nature = x.Pro_nature,
Pro_status = x.Pro_status,
Org_name = x.Org_name,
Amount = ConvertAmount(x.Ori_amt_sum_vat_fc, x.Amt_add_sum_vat_fc_local),
ReasonType = use != null ? use.ReasonType : "",
Reason = use != null ? use.Reason : "",
}).ToList();
string startDate = this.txtStartTime3.Text.Trim();
string endDate = this.txtEndTime3.Text.Trim();
if (!string.IsNullOrWhiteSpace(startDate))
{
query = query.Where(x => Funs.GetNewDateTime(x.Start_date) >= Funs.GetNewDateTime(startDate)).ToList();
}
if (!string.IsNullOrWhiteSpace(endDate))
{
query = query.Where(x => Funs.GetNewDateTime(x.Start_date) <= Funs.GetNewDateTime(endDate)).ToList();
}
//query = query.OrderByDescending(x => x.StartDate).ToList();
list.AddRange(query);
string proName = this.txtProName3.Text.Trim();
string proCode = this.txtProCode3.Text.Trim();
if (!string.IsNullOrEmpty(proName))
{
list = list.Where(x => x.Pro_name.Contains(proName)).ToList();
}
if (!string.IsNullOrEmpty(proCode))
{
list = list.Where(x => x.Pro_code.Contains(proCode)).ToList();
}
DataTable tb = Funs.LINQToDataTable(list);
Grid3.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid3, tb);
Grid3.DataSource = table;
Grid3.DataBind();
int totalNum = list.Count();
JObject summary = new JObject();
summary.Add("tfPageNo", "合计");
summary.Add("Pro_name", totalNum);
Grid3.SummaryData = summary;
}
#endregion
#region Grid
protected void TextBox3_TextChanged(object sender, EventArgs e)
{
this.BindGrid3();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid3_PageIndexChange(object sender, GridPageEventArgs e)
{
this.BindGrid3();
}
protected void Grid3_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
this.BindGrid3();
}
#endregion
#region
/// <summary>
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut3_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("集团主数据在建项目数据分析(申请不用)" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid3.PageSize = this.Grid3.RecordCount;
this.BindGrid3();
Response.Write(GetGridMultiHeaderTableHtml2(Grid3));
//Response.Write(GetGridTableHtml(Grid3));
Response.End();
}
#endregion
#endregion
#region
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid4()
{
//var list = new List<MasterProjectDataInfo>();
var db = Funs.DB;
var projects = ProjectService.GetProjectWorkList();
var list = (from x in projects
where x.MasterSysId == null
select new MasterProjectDataInfo
{
Pid = x.ProjectId,
ProjectId = x.ProjectId,
ProjectName = x.ProjectName,
ProjectCode = x.ProjectCode,
StartDate = x.StartDate,
ProjectState = x.ProjectState,
}).ToList();
string projectName = this.txtProjectName4.Text.Trim();
string projectCode = this.txtProjectCode4.Text.Trim();
if (!string.IsNullOrEmpty(projectName))
{
list = list.Where(x => x.ProjectName.Contains(projectName)).ToList();
}
if (!string.IsNullOrEmpty(projectCode))
{
list = list.Where(x => x.ProjectCode.Contains(projectCode)).ToList();
}
string startDate = this.txtStartTime4.Text.Trim();
string endDate = this.txtEndTime4.Text.Trim();
if (!string.IsNullOrWhiteSpace(startDate))
{
list = list.Where(x => x.StartDate >= Funs.GetNewDateTime(startDate)).ToList();
}
if (!string.IsNullOrWhiteSpace(endDate))
{
list = list.Where(x => x.StartDate <= Funs.GetNewDateTime(endDate)).ToList();
}
//list = list.OrderByDescending(x => x.StartDate).ToList();
//list.AddRange(query);
DataTable tb = Funs.LINQToDataTable(list);
Grid4.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid4, tb);
Grid4.DataSource = table;
Grid4.DataBind();
int totalNum = list.Count();
JObject summary = new JObject();
summary.Add("tfPageNum", "合计");
summary.Add("ProjectCode", totalNum);
Grid4.SummaryData = summary;
}
#endregion
#region Grid
protected void TextBox4_TextChanged(object sender, EventArgs e)
{
this.BindGrid4();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid4_PageIndexChange(object sender, GridPageEventArgs e)
{
this.BindGrid4();
}
protected void Grid4_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
this.BindGrid4();
}
#endregion
#region
/// <summary>
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut4_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("集团主数据在建项目数据分析(预立项)" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid4.PageSize = this.Grid4.RecordCount;
this.BindGrid4();
Response.Write(GetGridMultiHeaderTableHtml2(Grid4));
//Response.Write(GetGridTableHtml(Grid4));
Response.End();
}
#endregion
#endregion
#region
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid9()
{
var db = Funs.DB;
var list = (from x in db.Project_MasterDataAnalysis
orderby x.ReportDate descending,x.DataDate descending
select x).ToList().Take(30);
string startDate = this.txtStartTime9.Text.Trim();
string endDate = this.txtEndTime9.Text.Trim();
if (!string.IsNullOrWhiteSpace(startDate))
{
list = list.Where(x => x.ReportDate >= Funs.GetNewDateTime(startDate)).ToList();
}
if (!string.IsNullOrWhiteSpace(endDate))
{
list = list.Where(x => x.ReportDate <= Funs.GetNewDateTime(endDate)).ToList();
}
DataTable tb = Funs.LINQToDataTable(list);
Grid9.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid9, tb);
Grid9.DataSource = table;
Grid9.DataBind();
}
#endregion
#region Grid
protected void TextBox9_TextChanged(object sender, EventArgs e)
{
this.BindGrid9();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid9_PageIndexChange(object sender, GridPageEventArgs e)
{
this.BindGrid9();
}
protected void Grid9_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
this.BindGrid9();
}
#endregion
#region
/// <summary>
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut9_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("集团主数据在建项目数据分析(数据汇总)" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid9.PageSize = this.Grid9.RecordCount;
this.BindGrid9();
Response.Write(GetGridMultiHeaderTableHtml2(Grid9));
//Response.Write(GetGridTableHtml(Grid9));
Response.End();
}
#endregion
#region
/// <summary>
/// 汇总上报
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnReport_Click(object sender, EventArgs e)
{
var reportList = ProjectMasterDataAnalysisService.GetRecentHourAnalysisReportList();
if (reportList.Any())
{
Alert.ShowInTop("近一小时内已汇总上报,请勿频繁上报!", MessageBoxIcon.Warning);
return;
}
else
{
string message = string.Empty;
string code = ProjectMasterDataAnalysisService.ReportProjectMasterDataAnalysis(this.CurrUser.UserName,ref message);
if (code == "1")
{
this.BindGrid9();
ShowNotify(message, MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
return;
}
else
{
Alert.ShowInParent(message, MessageBoxIcon.Error);
}
}
}
#endregion
#endregion
#region
/// <summary>
/// 多表头导出方法
/// </summary>
/// <param name="grid"></param>
/// <returns></returns>
public string GetGridMultiHeaderTableHtml2(Grid grid)
{
StringBuilder sb = new StringBuilder();
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
MultiHeaderTable mht = new MultiHeaderTable();
mht.ResolveMultiHeaderTable(grid.Columns);
foreach (List<object[]> rows in mht.MultiTable)
{
sb.Append("<tr>");
foreach (object[] cell in rows)
{
int rowspan = Convert.ToInt32(cell[0]);
int colspan = Convert.ToInt32(cell[1]);
GridColumn column = cell[2] as GridColumn;
if (column.Hidden == false)
{
sb.AppendFormat("<th{0}{1}{2}>{3}</th>",
rowspan != 1 ? " rowspan=\"" + rowspan + "\"" : "",
colspan != 1 ? " colspan=\"" + colspan + "\"" : "",
colspan != 1 ? " style=\"text-align:center;\"" : "",
column.HeaderText);
}
}
sb.Append("</tr>");
}
foreach (GridRow row in grid.Rows)
{
sb.Append("<tr>");
//if (row.Grid.gr.Hidden == false) {
foreach (GridColumn column in mht.Columns)
{
if (column.ColumnID != "ckbIsSelected" && column.ColumnID != "Punish" && column.ColumnID != "Del")
{
string html = row.Values[column.ColumnIndex].ToString();
if (column.ColumnID == "tfNumber")
{
html = (row.FindControl("lblNumber") as AspNet.Label).Text;
}
else if (column.ColumnID == "tfPageIndex")
{
html = (row.FindControl("lblPageIndex") as AspNet.Label).Text;
}
else if (column.ColumnID == "tfPageNo")
{
html = (row.FindControl("lblPageNo") as AspNet.Label).Text;
}
else if (column.ColumnID == "tfPageNum")
{
html = (row.FindControl("lblPageNum") as AspNet.Label).Text;
}
else if (column.ColumnID == "tfNum")
{
html = (row.FindControl("lblNum") as AspNet.Label).Text;
}
else if (column.ColumnID == "tfState")
{
html = (row.FindControl("lblState") as AspNet.Label).Text;
}
else if (column.ColumnID == "tfProState")
{
html = (row.FindControl("lblProState") as AspNet.Label).Text;
}
else if (column.ColumnID == "tfStatus")
{
html = (row.FindControl("lblStatus") as AspNet.Label).Text;
}
sb.AppendFormat("<td>{0}</td>", html);
}
}
//}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
#endregion
}
}
@@ -0,0 +1,494 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.ProjectData
{
public partial class MasterProjectDataAnalysis
{
/// <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>
/// TabStrip1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TabStrip TabStrip1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtProCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProCode;
/// <summary>
/// txtProName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProName;
/// <summary>
/// txtStartTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime;
/// <summary>
/// Label5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label5;
/// <summary>
/// txtEndTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtProjectCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectCode;
/// <summary>
/// txtProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// lblNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// lblState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblState;
/// <summary>
/// Grid2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid2;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// txtProCode2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProCode2;
/// <summary>
/// txtProName2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProName2;
/// <summary>
/// txtStartTime2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime2;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// txtEndTime2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime2;
/// <summary>
/// btnOut2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut2;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// Grid3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid3;
/// <summary>
/// Toolbar4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar4;
/// <summary>
/// txtProCode3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProCode3;
/// <summary>
/// txtProName3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProName3;
/// <summary>
/// txtStartTime3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime3;
/// <summary>
/// Label2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label2;
/// <summary>
/// txtEndTime3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime3;
/// <summary>
/// btnOut3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut3;
/// <summary>
/// lblPageNo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageNo;
/// <summary>
/// Grid4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid4;
/// <summary>
/// Toolbar5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar5;
/// <summary>
/// txtProjectCode4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectCode4;
/// <summary>
/// txtProjectName4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName4;
/// <summary>
/// txtStartTime4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime4;
/// <summary>
/// Label3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label3;
/// <summary>
/// txtEndTime4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime4;
/// <summary>
/// btnOut4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut4;
/// <summary>
/// lblPageNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageNum;
/// <summary>
/// lblProState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblProState;
/// <summary>
/// Grid9 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid9;
/// <summary>
/// Toolbar6 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar6;
/// <summary>
/// txtStartTime9 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime9;
/// <summary>
/// Label4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label4;
/// <summary>
/// txtEndTime9 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime9;
/// <summary>
/// btnReport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnReport;
/// <summary>
/// btnOut9 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut9;
/// <summary>
/// lblNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNum;
}
}
@@ -76,6 +76,7 @@
<f:FormRow>
<Items>
<f:RadioButtonList runat="server" ID="rblReasonType" Label="原因类型" LabelWidth="120px" LabelAlign="Right" Required="true" ShowRedStar="true">
<f:RadioItem Text="已完工" Value="已完工" />
<f:RadioItem Text="业主统筹" Value="业主统筹" />
<f:RadioItem Text="工期短/规模小" Value="工期短/规模小" />
<f:RadioItem Text="网络受限" Value="网络受限" />
@@ -106,7 +107,7 @@
</f:FormRow>--%>
<f:FormRow ID="Next">
<Items>
<f:RadioButtonList ID="cbNext" runat="server" Label="下一步" AutoPostBack="true" OnSelectedIndexChanged="cbNext_SelectedIndexChanged" LabelWidth="120px" >
<f:RadioButtonList ID="cbNext" runat="server" Label="下一步" AutoPostBack="true" OnSelectedIndexChanged="cbNext_SelectedIndexChanged" LabelWidth="120px">
<f:RadioItem Text="已完成" Value="0" Selected="true" />
<f:RadioItem Text="下一步审批人" Value="1" />
</f:RadioButtonList>
@@ -153,7 +154,7 @@
</f:FormRow>
<f:FormRow ID="Audit" Hidden="true">
<Items>
<f:RadioButtonList ID="rblHandleState" runat="server" Label="审核结果" LabelWidth="120px" >
<f:RadioButtonList ID="rblHandleState" runat="server" Label="审核结果" LabelWidth="120px">
<f:RadioItem Text="通过" Value="1" />
<f:RadioItem Text="不通过" Value="0" />
</f:RadioButtonList>
@@ -4,7 +4,6 @@ using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.ProjectData
{
@@ -73,6 +73,10 @@
<f:TextBox runat="server" Label="" ID="txtProjectName" EmptyText="按名称查询"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="180px" LabelWidth="50px">
</f:TextBox>
<f:CheckBox runat="server" ID="rbIsCNCECShow" Label="集团穿透展示" LabelWidth="110px"
AutoPostBack="true" OnCheckedChanged="rbIsCNCECShow_CheckedChanged">
</f:CheckBox>
<f:ToolbarSeparator runat="server"></f:ToolbarSeparator>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSearch" Icon="SystemSearch" Text="查询" EnablePostBack="true" runat="server" OnClick="btnSearch_Click">
</f:Button>
@@ -161,6 +165,9 @@
TextAlign="Center" ToolTip="项目单位" Text="详情" />
<f:LinkButtonField HeaderText="项目用户" ConfirmTarget="Top" Width="60px" CommandName="ProjectUser" ColumnID="ProjectUser"
TextAlign="Center" ToolTip="项目用户" Text="详情" />
<f:CheckBoxField Width="90px" SortField="IsCNCECShow" RenderAsStaticField="true" DataField="IsCNCECShow"
HeaderText="集团展示" HeaderTextAlign="Center" TextAlign="Center">
</f:CheckBoxField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
@@ -117,7 +117,7 @@ namespace FineUIPro.Web.ProjectData
/// </summary>
private void BindGrid()
{
string strSql = "SELECT Project.ProjectId,Project.ProjectCode,Project.ProjectName,unit.UnitName,Project.StartDate,Project.EndDate,Project.ProjectAddress,ProjectType.ProjectTypeName AS ProjectTypeName,ShortName, "
string strSql = "SELECT Project.ProjectId,Project.IsCNCECShow,Project.ProjectCode,Project.ProjectName,unit.UnitName,Project.StartDate,Project.EndDate,Project.ProjectAddress,ProjectType.ProjectTypeName AS ProjectTypeName,ShortName, "
+ @" (CASE WHEN ProjectState='" + BLL.Const.ProjectState_2 + "' THEN '暂停中' WHEN ProjectState='" + BLL.Const.ProjectState_3 + "' THEN '已完工' ELSE '施工中' END) AS ProjectStateName,Project.ProjectState,sysConst.ConstText as ProjectStateName2,(case ProjectAttribute when 'GONGCHENG' then '工程' when 'SHIYE' then '实业' else '' end) as ProjectAttributeName"
+ @" FROM Base_Project AS Project LEFT JOIN Base_Unit as unit on unit.UnitId=Project.UnitId"
+ @" LEFT JOIN Base_ProjectType AS ProjectType ON Project.ProjectType =ProjectType.ProjectTypeId"
@@ -156,6 +156,11 @@ namespace FineUIPro.Web.ProjectData
listStr.Add(new SqlParameter("@UnitId", this.CurrUser.UnitId));
listStr.Add(new SqlParameter("@UserId", this.CurrUser.UserId));
}
if (this.rbIsCNCECShow.Checked)
{
strSql += " AND IsCNCECShow=1 ";
}
if (this.ckState.SelectedValue != "0")
{
if (this.ckState.SelectedValue == "1")
@@ -687,5 +692,11 @@ namespace FineUIPro.Web.ProjectData
}
}
#endregion
protected void rbIsCNCECShow_CheckedChanged(object sender, CheckedEventArgs e)
{
this.BindGrid();
}
}
}
@@ -131,6 +131,15 @@ namespace FineUIPro.Web.ProjectData
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// rbIsCNCECShow control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.CheckBox rbIsCNCECShow;
/// <summary>
/// btnSearch control.
/// </summary>
@@ -22,7 +22,7 @@
<f:FormRow>
<Items>
<f:DropDownBox runat="server" ID="drpMasterBox1" Label="集团主数据" EmptyText="请从下拉表格中选择集团主数据项目" DataControlID="Grid1"
EnableMultiSelect="false" MatchFieldWidth="false" ShowRedStar="true" AutoPostBack="true" OnTextChanged="MasterData_Changed">
EnableMultiSelect="false" MatchFieldWidth="false" OnTextChanged="MasterData_Changed">
<PopPanel>
<f:Panel ID="Panel7" runat="server" BodyPadding="10px" Width="1280px" Height="520px" Hidden="true"
ShowBorder="true" ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
@@ -70,6 +70,12 @@
</PopPanel>
</f:DropDownBox>
</Items>
<Items>
<f:RadioButtonList runat="server" ID="rbIsCNCECShow" Label="集团展示(穿透页面)" ShowRedStar="true" LabelWidth="150px">
<f:RadioItem Value="True" Text="是" Selected="true"/>
<f:RadioItem Value="False" Text="否"/>
</f:RadioButtonList>
</Items>
</f:FormRow>
<f:FormRow>
@@ -99,6 +99,14 @@ namespace FineUIPro.Web.ProjectData
{
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", project.EndDate);
}
if (project.IsCNCECShow == true)
{
this.rbIsCNCECShow.SelectedValue = "True";
}
else
{
this.rbIsCNCECShow.SelectedValue = "False";
}
this.txtShortName.Text = project.ShortName;
if (!string.IsNullOrEmpty(project.ProjectType))
@@ -349,7 +357,7 @@ namespace FineUIPro.Web.ProjectData
Remark = this.txtRemark.Text.Trim(),
Telephone = this.txtTelephone.Text.Trim(),
ProjectInsurance = this.txtProjectInsurance.Text.Trim(),
IsCNCECShow = Convert.ToBoolean(this.rbIsCNCECShow.SelectedValue),
City = this.txtCity.Text.Trim(),
EnglishRemark = this.txtEnglishRemark.Text.Trim(),
Progress = Funs.GetNewDecimal(this.txtProgress.Text),
@@ -113,6 +113,15 @@ namespace FineUIPro.Web.ProjectData
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblProaddtype;
/// <summary>
/// rbIsCNCECShow control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.RadioButtonList rbIsCNCECShow;
/// <summary>
/// txtProjectName control.
/// </summary>
@@ -15,6 +15,10 @@
<f:FormRow>
<Items>
<f:TextBox ID="txtProjectName" runat="server" Label="项目名称" LabelWidth="150px" Readonly="true"></f:TextBox>
<f:RadioButtonList runat="server" ID="rbIsCNCECShow" Label="集团展示(穿透页面)" ShowRedStar="true">
<f:RadioItem Value="True" Text="是" Selected="true"/>
<f:RadioItem Value="False" Text="否"/>
</f:RadioButtonList>
</Items>
</f:FormRow>
<f:FormRow>
@@ -54,7 +54,14 @@ namespace FineUIPro.Web.ProjectData
{
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", project.EndDate);
}
if (project.IsCNCECShow == true)
{
this.rbIsCNCECShow.SelectedValue = "True";
}
else
{
this.rbIsCNCECShow.SelectedValue = "False";
}
this.txtShortName.Text = project.ShortName;
var projectType = ProjectTypeService.GetProjectTypeById(project.ProjectType);
if (projectType != null)
+117 -106
View File
@@ -1,311 +1,322 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
// <auto-generated>
// This code was generated by a tool.
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.ProjectData {
namespace FineUIPro.Web.ProjectData
{
public partial class ProjectSetView {
public partial class ProjectSetView
{
/// <summary>
/// form1 控件。
/// form1 control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// PageManager1 control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// SimpleForm1 control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtProjectName 控件。
/// txtProjectName control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// txtProjectCode 控件。
/// rbIsCNCECShow control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.RadioButtonList rbIsCNCECShow;
/// <summary>
/// txtProjectCode control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtProjectCode;
/// <summary>
/// txtShortName 控件。
/// txtShortName control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtShortName;
/// <summary>
/// txtProjectType 控件。
/// txtProjectType control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtProjectType;
/// <summary>
/// txtProjectState 控件。
/// txtProjectState control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtProjectState;
/// <summary>
/// txtProjectState2 控件。
/// txtProjectState2 control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtProjectState2;
/// <summary>
/// txtStartDate 控件。
/// txtStartDate control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtStartDate;
/// <summary>
/// txtEndDate 控件。
/// txtEndDate control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtEndDate;
/// <summary>
/// txtDuration 控件。
/// txtDuration control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtDuration;
/// <summary>
/// txtProjectManager 控件。
/// txtProjectManager control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtProjectManager;
/// <summary>
/// txtConstructionManager 控件。
/// txtConstructionManager control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtConstructionManager;
/// <summary>
/// txtHSSEManager 控件。
/// txtHSSEManager control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtHSSEManager;
/// <summary>
/// txtProjectAddress 控件。
/// txtProjectAddress control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtProjectAddress;
/// <summary>
/// txtUnitName 控件。
/// txtUnitName control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtUnitName;
/// <summary>
/// txtWorkRange 控件。
/// txtWorkRange control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextArea txtWorkRange;
/// <summary>
/// txtRemark 控件。
/// txtRemark control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextArea txtRemark;
/// <summary>
/// txtProjectMoney 控件。
/// txtProjectMoney control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtProjectMoney;
/// <summary>
/// txtConstructionMoney 控件。
/// txtConstructionMoney control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtConstructionMoney;
/// <summary>
/// txtTelephone 控件。
/// txtTelephone control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtTelephone;
/// <summary>
/// txtCountry 控件。
/// txtCountry control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtCountry;
/// <summary>
/// txtProvince 控件。
/// txtProvince control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtProvince;
/// <summary>
/// txtCity 控件。
/// txtCity control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtCity;
/// <summary>
/// ckbIsForeign 控件。
/// ckbIsForeign control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.CheckBox ckbIsForeign;
/// <summary>
/// txtMapCoordinates 控件。
/// txtMapCoordinates control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtMapCoordinates;
/// <summary>
/// txtEnglishRemark 控件。
/// txtEnglishRemark control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.TextBox txtEnglishRemark;
/// <summary>
/// txtProgress 控件。
/// txtProgress control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.NumberBox txtProgress;
/// <summary>
/// Toolbar1 控件。
/// Toolbar1 control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnAttachUrl 控件。
/// btnAttachUrl control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.Button btnAttachUrl;
/// <summary>
/// btnClose 控件。
/// btnClose control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// WindowAtt 控件。
/// WindowAtt control.
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
@@ -185,9 +185,21 @@ namespace Model
#endregion
/// <summary>
/// 使用情况
/// 使用情况(近三天)
/// </summary>
public string Usage { get; set; }
public string UsageDays { get; set; }
/// <summary>
/// 使用情况(近一周)
/// </summary>
public string UsageWeek { get; set; }
/// <summary>
/// 使用情况(近一月)
/// </summary>
public string UsageMonth { get; set; }
/// <summary>
/// 使用情况(近三个月)
/// </summary>
public string UsageThreeMonth { get; set; }
}
+385
View File
@@ -2021,6 +2021,9 @@ namespace Model
partial void InsertProject_Installation(Project_Installation instance);
partial void UpdateProject_Installation(Project_Installation instance);
partial void DeleteProject_Installation(Project_Installation instance);
partial void InsertProject_MasterDataAnalysis(Project_MasterDataAnalysis instance);
partial void UpdateProject_MasterDataAnalysis(Project_MasterDataAnalysis instance);
partial void DeleteProject_MasterDataAnalysis(Project_MasterDataAnalysis instance);
partial void InsertProject_MasterDataUsage(Project_MasterDataUsage instance);
partial void UpdateProject_MasterDataUsage(Project_MasterDataUsage instance);
partial void DeleteProject_MasterDataUsage(Project_MasterDataUsage instance);
@@ -8385,6 +8388,14 @@ namespace Model
}
}
public System.Data.Linq.Table<Project_MasterDataAnalysis> Project_MasterDataAnalysis
{
get
{
return this.GetTable<Project_MasterDataAnalysis>();
}
}
public System.Data.Linq.Table<Project_MasterDataUsage> Project_MasterDataUsage
{
get
@@ -28048,6 +28059,8 @@ namespace Model
private string _YunMouGroupId;
private System.Nullable<bool> _IsCNCECShow;
private EntitySet<Accident_AccidentHandle> _Accident_AccidentHandle;
private EntitySet<Accident_AccidentPersonRecord> _Accident_AccidentPersonRecord;
@@ -28812,6 +28825,8 @@ namespace Model
partial void OnIsYunMouChanged();
partial void OnYunMouGroupIdChanging(string value);
partial void OnYunMouGroupIdChanged();
partial void OnIsCNCECShowChanging(System.Nullable<bool> value);
partial void OnIsCNCECShowChanged();
#endregion
public Base_Project()
@@ -30062,6 +30077,26 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsCNCECShow", DbType="Bit")]
public System.Nullable<bool> IsCNCECShow
{
get
{
return this._IsCNCECShow;
}
set
{
if ((this._IsCNCECShow != value))
{
this.OnIsCNCECShowChanging(value);
this.SendPropertyChanging();
this._IsCNCECShow = value;
this.SendPropertyChanged("IsCNCECShow");
this.OnIsCNCECShowChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Accident_AccidentHandle_Base_Project", Storage="_Accident_AccidentHandle", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")]
public EntitySet<Accident_AccidentHandle> Accident_AccidentHandle
{
@@ -327902,6 +327937,356 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Project_MasterDataAnalysis")]
public partial class Project_MasterDataAnalysis : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private string _Id;
private string _CollCropCode;
private string _UnitId;
private System.DateTime _ReportDate;
private System.DateTime _DataDate;
private int _Total;
private int _MasterTotal;
private int _QHSETotal;
private int _ZhengChang;
private int _DaiJian;
private int _BuYong;
private int _YuLiXiang;
private string _CreateUser;
#region
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
partial void OnCreated();
partial void OnIdChanging(string value);
partial void OnIdChanged();
partial void OnCollCropCodeChanging(string value);
partial void OnCollCropCodeChanged();
partial void OnUnitIdChanging(string value);
partial void OnUnitIdChanged();
partial void OnReportDateChanging(System.DateTime value);
partial void OnReportDateChanged();
partial void OnDataDateChanging(System.DateTime value);
partial void OnDataDateChanged();
partial void OnTotalChanging(int value);
partial void OnTotalChanged();
partial void OnMasterTotalChanging(int value);
partial void OnMasterTotalChanged();
partial void OnQHSETotalChanging(int value);
partial void OnQHSETotalChanged();
partial void OnZhengChangChanging(int value);
partial void OnZhengChangChanged();
partial void OnDaiJianChanging(int value);
partial void OnDaiJianChanged();
partial void OnBuYongChanging(int value);
partial void OnBuYongChanged();
partial void OnYuLiXiangChanging(int value);
partial void OnYuLiXiangChanged();
partial void OnCreateUserChanging(string value);
partial void OnCreateUserChanged();
#endregion
public Project_MasterDataAnalysis()
{
OnCreated();
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
public string Id
{
get
{
return this._Id;
}
set
{
if ((this._Id != value))
{
this.OnIdChanging(value);
this.SendPropertyChanging();
this._Id = value;
this.SendPropertyChanged("Id");
this.OnIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CollCropCode", DbType="NVarChar(100) NOT NULL", CanBeNull=false)]
public string CollCropCode
{
get
{
return this._CollCropCode;
}
set
{
if ((this._CollCropCode != value))
{
this.OnCollCropCodeChanging(value);
this.SendPropertyChanging();
this._CollCropCode = value;
this.SendPropertyChanged("CollCropCode");
this.OnCollCropCodeChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string UnitId
{
get
{
return this._UnitId;
}
set
{
if ((this._UnitId != value))
{
this.OnUnitIdChanging(value);
this.SendPropertyChanging();
this._UnitId = value;
this.SendPropertyChanged("UnitId");
this.OnUnitIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReportDate", DbType="DateTime NOT NULL")]
public System.DateTime ReportDate
{
get
{
return this._ReportDate;
}
set
{
if ((this._ReportDate != value))
{
this.OnReportDateChanging(value);
this.SendPropertyChanging();
this._ReportDate = value;
this.SendPropertyChanged("ReportDate");
this.OnReportDateChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DataDate", DbType="DateTime NOT NULL")]
public System.DateTime DataDate
{
get
{
return this._DataDate;
}
set
{
if ((this._DataDate != value))
{
this.OnDataDateChanging(value);
this.SendPropertyChanging();
this._DataDate = value;
this.SendPropertyChanged("DataDate");
this.OnDataDateChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Total", DbType="Int NOT NULL")]
public int Total
{
get
{
return this._Total;
}
set
{
if ((this._Total != value))
{
this.OnTotalChanging(value);
this.SendPropertyChanging();
this._Total = value;
this.SendPropertyChanged("Total");
this.OnTotalChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MasterTotal", DbType="Int NOT NULL")]
public int MasterTotal
{
get
{
return this._MasterTotal;
}
set
{
if ((this._MasterTotal != value))
{
this.OnMasterTotalChanging(value);
this.SendPropertyChanging();
this._MasterTotal = value;
this.SendPropertyChanged("MasterTotal");
this.OnMasterTotalChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_QHSETotal", DbType="Int NOT NULL")]
public int QHSETotal
{
get
{
return this._QHSETotal;
}
set
{
if ((this._QHSETotal != value))
{
this.OnQHSETotalChanging(value);
this.SendPropertyChanging();
this._QHSETotal = value;
this.SendPropertyChanged("QHSETotal");
this.OnQHSETotalChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ZhengChang", DbType="Int NOT NULL")]
public int ZhengChang
{
get
{
return this._ZhengChang;
}
set
{
if ((this._ZhengChang != value))
{
this.OnZhengChangChanging(value);
this.SendPropertyChanging();
this._ZhengChang = value;
this.SendPropertyChanged("ZhengChang");
this.OnZhengChangChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DaiJian", DbType="Int NOT NULL")]
public int DaiJian
{
get
{
return this._DaiJian;
}
set
{
if ((this._DaiJian != value))
{
this.OnDaiJianChanging(value);
this.SendPropertyChanging();
this._DaiJian = value;
this.SendPropertyChanged("DaiJian");
this.OnDaiJianChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BuYong", DbType="Int NOT NULL")]
public int BuYong
{
get
{
return this._BuYong;
}
set
{
if ((this._BuYong != value))
{
this.OnBuYongChanging(value);
this.SendPropertyChanging();
this._BuYong = value;
this.SendPropertyChanged("BuYong");
this.OnBuYongChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_YuLiXiang", DbType="Int NOT NULL")]
public int YuLiXiang
{
get
{
return this._YuLiXiang;
}
set
{
if ((this._YuLiXiang != value))
{
this.OnYuLiXiangChanging(value);
this.SendPropertyChanging();
this._YuLiXiang = value;
this.SendPropertyChanged("YuLiXiang");
this.OnYuLiXiangChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateUser", DbType="NVarChar(200) NOT NULL", CanBeNull=false)]
public string CreateUser
{
get
{
return this._CreateUser;
}
set
{
if ((this._CreateUser != value))
{
this.OnCreateUserChanging(value);
this.SendPropertyChanging();
this._CreateUser = value;
this.SendPropertyChanged("CreateUser");
this.OnCreateUserChanged();
}
}
}
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void SendPropertyChanging()
{
if ((this.PropertyChanging != null))
{
this.PropertyChanging(this, emptyChangingEventArgs);
}
}
protected virtual void SendPropertyChanged(String propertyName)
{
if ((this.PropertyChanged != null))
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Project_MasterDataUsage")]
public partial class Project_MasterDataUsage : INotifyPropertyChanging, INotifyPropertyChanged
{
@@ -3,6 +3,7 @@ using Newtonsoft.Json.Linq;
using System;
using System.Linq;
using System.Web.Http;
using Model;
using Newtonsoft.Json;
using WebAPI.Filter;
@@ -234,6 +235,32 @@ namespace WebAPI.Controllers
return responeData;
}
#region
/// <summary>
/// 汇总上报集团主数据在建项目数据分析
/// </summary>
/// <returns></returns>
[HttpPost]
public ReturnData PushProjectMasterDataAnalysisData()
{
Model.ReturnData responeData = new Model.ReturnData();
string message = string.Empty;
string code = ProjectMasterDataAnalysisService.ReportProjectMasterDataAnalysis("定时任务",ref message);
if (code == "1")
{
responeData.code = 1;
}
else
{
responeData.code = 0;
}
responeData.message = message;
return responeData;
}
#endregion
}
}