diff --git a/DataBase/版本日志/SUBQHSE_V2026-06-10-xiaj(集团主数据在建项目数据分析).sql b/DataBase/版本日志/SUBQHSE_V2026-06-10-xiaj(集团主数据在建项目数据分析).sql
new file mode 100644
index 00000000..2cc52921
--- /dev/null
+++ b/DataBase/版本日志/SUBQHSE_V2026-06-10-xiaj(集团主数据在建项目数据分析).sql
@@ -0,0 +1,77 @@
+
+
+
+
+ --˾ڽĿݷ
+ --ӢĵļӢIJ˵ơMenuEnName
+--Analysis of master data project
+--ע˵ڡڽĿʹ˵棻ݶƵλ봦
+--SELECT SuperMenu,MenuType,* FROM Sys_Menu WHERE MenuName='ڽĿʹ'
+
+
+--˾ڽĿݷ
+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', 16, '75AA6177-8AAD-4AA4-BC4E-3883FB095A65', 'Menu_SysSet', 1,1, 1);
+END
+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
+
+
+
diff --git a/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj
index 257a981d..b5410b5a 100644
--- a/SGGL/BLL/BLL.csproj
+++ b/SGGL/BLL/BLL.csproj
@@ -711,6 +711,7 @@
+
diff --git a/SGGL/BLL/DCGL/ServerCheck/DCGLCheckRectifyService.cs b/SGGL/BLL/DCGL/ServerCheck/DCGLCheckRectifyService.cs
index 01b1c0aa..640c34a9 100644
--- a/SGGL/BLL/DCGL/ServerCheck/DCGLCheckRectifyService.cs
+++ b/SGGL/BLL/DCGL/ServerCheck/DCGLCheckRectifyService.cs
@@ -18,6 +18,22 @@ namespace BLL
return Funs.DB.DCGL_Check_CheckRectify.FirstOrDefault(e => e.CheckRectifyId == checkRectifyId);
}
+ ///
+ /// 根据主表ID撤回整改
+ ///
+ /// 主表ID
+ 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();
+ }
+ }
+
///
/// 添加督查检查整改
///
diff --git a/SGGL/BLL/ProjectData/ProjectMasterDataAnalysisService.cs b/SGGL/BLL/ProjectData/ProjectMasterDataAnalysisService.cs
new file mode 100644
index 00000000..2cbe7874
--- /dev/null
+++ b/SGGL/BLL/ProjectData/ProjectMasterDataAnalysisService.cs
@@ -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
+{
+ ///
+ /// 集团主数据在建项目数据分析
+ ///
+ public static class ProjectMasterDataAnalysisService
+ {
+ ///
+ /// 根据主键获取分析数据
+ ///
+ ///
+ ///
+ public static Model.Project_MasterDataAnalysis GetProjectMasterDataAnalysisById(string Id)
+ {
+ return Funs.DB.Project_MasterDataAnalysis.FirstOrDefault(e => e.Id == Id);
+ }
+
+ ///
+ /// 根据CollCropCode获取分析数据【取最近一条】
+ ///
+ ///
+ ///
+ public static Model.Project_MasterDataAnalysis GetProjectMasterDataAnalysisByCollCropCode(string CollCropCode)
+ {
+ return Funs.DB.Project_MasterDataAnalysis.OrderByDescending(x => x.DataDate).FirstOrDefault(e => e.CollCropCode == CollCropCode);
+ }
+
+ ///
+ /// 获取分析数据【取最近一条】
+ ///
+ ///
+ public static Model.Project_MasterDataAnalysis GetLastProjectMasterDataAnalysis()
+ {
+ return Funs.DB.Project_MasterDataAnalysis.OrderByDescending(x => x.DataDate).FirstOrDefault();
+ }
+
+ ///
+ /// 添加分析数据
+ ///
+ ///
+ public static void AddProjectMasterDataAnalysis(Model.Project_MasterDataAnalysis model)
+ {
+ Model.SGGLDB 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();
+ }
+
+ ///
+ /// 修改分析数据
+ ///
+ ///
+ public static void UpdateProjectMasterDataAnalysis(Model.Project_MasterDataAnalysis model)
+ {
+ Model.SGGLDB 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();
+ }
+ }
+
+ ///
+ /// 根据主键删除分析数据
+ ///
+ ///
+ public static void DeleteProjectMasterDataAnalysisById(string Id)
+ {
+ Model.SGGLDB 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();
+ }
+ }
+
+ ///
+ /// 获取最近的汇总记录【近一小时】
+ ///
+ ///
+ public static List 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 汇总上报
+
+ ///
+ /// 集团主数据在建项目使用情况上报
+ ///
+ ///
+ ///
+ ///
+ public static string ReportProjectMasterDataAnalysis(string userName,ref string message)
+ {
+ string code = "0";
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ #region 汇总数据
+
+ //获取集团在建主数据
+ List masterProDatas = ProjectService.GetMasterProjectDataInfos();
+ //获取集团在建主数据
+ List 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
+ }
+}
diff --git a/SGGL/BLL/ZHGL/Supervise/UnitHazardRegisterItemService.cs b/SGGL/BLL/ZHGL/Supervise/UnitHazardRegisterItemService.cs
index 2e206567..24edb297 100644
--- a/SGGL/BLL/ZHGL/Supervise/UnitHazardRegisterItemService.cs
+++ b/SGGL/BLL/ZHGL/Supervise/UnitHazardRegisterItemService.cs
@@ -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
}
}
+ ///
+ /// 根据主表ID驳回所有明细
+ ///
+ /// 主表ID
+ 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();
+ }
+ }
+
+ ///
+ /// 根据ItemID驳回明细整改
+ ///
+ /// 主表ID
+ 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();
+ }
+ }
+ }
+
///
/// 删除明细记录
///
@@ -214,10 +255,10 @@ namespace BLL
ProjectId = r.ProjectId,
CheckUnitName = u.UnitName,
States = r.States,
- ProblemStatesName = i.CompleteStatus==1 ? "已整改":"未整改",
+ ProblemStatesName = i.CompleteStatus == 1 ? "已整改" : "未整改",
ProblemStates = i.CompleteStatus,
InsResponsibleUserId = r.InsResponsibleUserId,
- InsResponsibleUserName= user.UserName
+ InsResponsibleUserName = user.UserName
};
// 应用检查大类过滤
@@ -281,17 +322,24 @@ namespace BLL
var thisUnit = BLL.CommonService.GetIsThisUnit();
if (thisUnit.UnitId != input.UnitId)
{
- // 先获取用户有权限的项目ID列表
- var projectIds = (from p in Funs.DB.Base_Project
- where p.UnitId == input.UnitId
- select p.ProjectId).ToList();
+ //// 先获取用户有权限的项目ID列表
+ //var projectIds = (from p in Funs.DB.Base_Project
+ // where p.UnitId == input.UnitId
+ // select p.ProjectId).ToList();
+
+ //// 过滤查询结果
+ //query = query.Where(x => Funs.DB.Supervise_UnitHazardRegister
+ // .Any(r => Funs.DB.Supervise_UnitHazardRegisterItem
+ // .Any(i => i.UnitHazardRegisterItemId == x.UnitHazardRegisterItemId &&
+ // i.UnitHazardRegisterId == r.UnitHazardRegisterId &&
+ // projectIds.Contains(r.ProjectId))));
// 过滤查询结果
query = query.Where(x => Funs.DB.Supervise_UnitHazardRegister
.Any(r => Funs.DB.Supervise_UnitHazardRegisterItem
.Any(i => i.UnitHazardRegisterItemId == x.UnitHazardRegisterItemId &&
i.UnitHazardRegisterId == r.UnitHazardRegisterId &&
- projectIds.Contains(r.ProjectId))));
+ input.UnitId == r.CheckUnitId)));
}
}
diff --git a/SGGL/BLL/ZHGL/Supervise/UnitHazardRegisterService.cs b/SGGL/BLL/ZHGL/Supervise/UnitHazardRegisterService.cs
index 3c5116eb..b717a080 100644
--- a/SGGL/BLL/ZHGL/Supervise/UnitHazardRegisterService.cs
+++ b/SGGL/BLL/ZHGL/Supervise/UnitHazardRegisterService.cs
@@ -26,10 +26,10 @@ namespace BLL
public enum StateInt : int
{
- 待提交 = 0,
- 待整改= 1,
- 部分整改 = 2,
- 已闭环 = 3,
+ 待提交 = 0,
+ 待整改 = 1,
+ 部分整改 = 2,
+ 已闭环 = 3,
}
#endregion Enums
@@ -51,6 +51,7 @@ namespace BLL
CheckDate = register.CheckDate,
CheckMainType = register.CheckMainType,
CheckType = register.CheckType,
+ InspectionUnit = register.InspectionUnit,
ProjectId = register.ProjectId,
CheckUnitId = register.CheckUnitId,
CheckTeam = register.CheckTeam,
@@ -59,7 +60,7 @@ namespace BLL
InsResponsibleUserId = register.InsResponsibleUserId,
EvaluationResult = register.EvaluationResult,
AttachUrl = register.AttachUrl,
- States = register.States??0,
+ States = register.States ?? 0,
CompileMan = register.CompileMan,
CreateDate = DateTime.Now
};
@@ -102,6 +103,22 @@ namespace BLL
}
}
}
+ ///
+ /// 驳回企业级检查记录
+ ///
+ /// 检查记录ID
+ public static void RejectUnitHazardRegisterById(string registerId)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var register = db.Supervise_UnitHazardRegister.FirstOrDefault(e => e.UnitHazardRegisterId == registerId);
+ if (register != null)
+ {
+ register.States = (int)StateInt.待整改;
+ db.SubmitChanges();
+ }
+ }
+ }
///
/// 根据项目和时间段获取检查数量
@@ -118,8 +135,8 @@ namespace BLL
}
public static int GetCount(string checkMainType)
{
- return (from x in Funs.DB.Supervise_UnitHazardRegister
- where x.CheckMainType ==checkMainType
+ return (from x in Funs.DB.Supervise_UnitHazardRegister
+ where x.CheckMainType == checkMainType
select x.UnitHazardRegisterId).Count();
}
///
@@ -143,11 +160,27 @@ namespace BLL
if (register == null)
{
return false;
- }
+ }
// 只有"待提交"状态可以删除,其他状态不能删除
return register.States <= (int)StateInt.待提交;
}
+ ///
+ /// 判断是否可以驳回检查记录整改结果
+ ///
+ /// 检查记录ID
+ /// true=可以驳回,false=不能驳回
+ public static bool CanRejectRegister(string registerId)
+ {
+ var register = GetUnitHazardRegisterById(registerId);
+ if (register == null)
+ {
+ return false;
+ }
+ // 只有"已闭环"和"部分整改"状态可以撤回,其他状态不能撤回
+ return register.States == (int)StateInt.已闭环 || register.States == (int)StateInt.部分整改;
+ }
+
///
/// 获取企业级检查列表(使用input对象,返回总数)
///
@@ -171,6 +204,9 @@ namespace BLL
on new { MainType = x.CheckMainType, TypeCode = x.CheckType }
equals new { MainType = ct.CheckMainType, TypeCode = ct.CheckTypeCode } into ctGroup
from ct in ctGroup.DefaultIfEmpty()
+ join inu in db.Base_Unit
+ on x.InspectionUnit equals inu.UnitId into inuGroup
+ from inu in inuGroup.DefaultIfEmpty()
join u in db.Base_Unit
on x.CheckUnitId equals u.UnitId into uGroup
from u in uGroup.DefaultIfEmpty()
@@ -185,7 +221,9 @@ namespace BLL
CheckMainTypeName = x.CheckMainType == "0" ? "安全" : "质量",
CheckType = x.CheckType,
CheckTypeName = ct.CheckTypeName,
+ InspectionUnitName = inu.UnitName,
CheckObjectText = p.ProjectName,
+ CheckUnitId = x.CheckUnitId,
CheckUnitName = u.UnitName,
CheckTeam = x.CheckTeam,
EvaluationResult = x.EvaluationResult,
@@ -219,6 +257,10 @@ namespace BLL
{
query = query.Where(x => x.ProjectId != null && x.ProjectId == input.ProjectId);
}
+ if (input != null && !string.IsNullOrEmpty(input.CheckUnitId) && input.CheckUnitId != CommonService.GetThisUnitId())
+ {
+ query = query.Where(x => x.CheckUnitId != null && x.CheckUnitId == input.CheckUnitId);
+ }
// 获取总数
totalCount = query.Count();
@@ -235,7 +277,7 @@ namespace BLL
.Skip(pageIndex * pageSize)
.Take(pageSize)
.ToList();
- }
+ }
///
/// 更新企业级检查记录
@@ -253,6 +295,7 @@ namespace BLL
newRegister.CheckDate = register.CheckDate;
newRegister.CheckMainType = register.CheckMainType;
newRegister.CheckType = register.CheckType;
+ newRegister.InspectionUnit = register.InspectionUnit;
newRegister.ProjectId = register.ProjectId;
newRegister.CheckUnitId = register.CheckUnitId;
newRegister.CheckTeam = register.CheckTeam;
diff --git a/SGGL/FineUIPro.Web/DCGL/ServerCheck/CheckRectify.aspx b/SGGL/FineUIPro.Web/DCGL/ServerCheck/CheckRectify.aspx
index bd6fe967..d6376f07 100644
--- a/SGGL/FineUIPro.Web/DCGL/ServerCheck/CheckRectify.aspx
+++ b/SGGL/FineUIPro.Web/DCGL/ServerCheck/CheckRectify.aspx
@@ -40,6 +40,8 @@
+
+
diff --git a/SGGL/FineUIPro.Web/DCGL/ServerCheck/CheckRectify.aspx.cs b/SGGL/FineUIPro.Web/DCGL/ServerCheck/CheckRectify.aspx.cs
index dad09ccb..ea2ea3df 100644
--- a/SGGL/FineUIPro.Web/DCGL/ServerCheck/CheckRectify.aspx.cs
+++ b/SGGL/FineUIPro.Web/DCGL/ServerCheck/CheckRectify.aspx.cs
@@ -18,6 +18,10 @@ namespace FineUIPro.Web.DCGL.ServerCheck
{
if (!IsPostBack)
{
+ if (this.CurrUser.UserId == Const.hfnbdId || this.CurrUser.UserId == Const.sysglyId)
+ {//管理员有权限驳回
+ this.btnRevoke.Hidden = false;
+ }
getCheck();
proType = Request.Params["proType"] ?? string.Empty;
this.GetButtonPower();
@@ -27,6 +31,28 @@ namespace FineUIPro.Web.DCGL.ServerCheck
BindGrid();
}
}
+ protected void btnRevoke_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length > 0)
+ {
+ foreach (int rowIndex in Grid1.SelectedRowIndexArray)
+ {
+ string itemId = Grid1.DataKeys[rowIndex][0].ToString();
+ var item = BLL.DCGLCheckRectifyService.GetCheckRectifyByCheckRectifyId(itemId);
+ if (item != null)
+ {
+ BLL.DCGLCheckRectifyService.RevokeByRectifyId(itemId);
+ }
+ }
+ BindGrid();
+ ShowNotify("操作成功!", MessageBoxIcon.Success);
+ }
+ else
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ }
///
/// 绑定数据
diff --git a/SGGL/FineUIPro.Web/DCGL/ServerCheck/CheckRectify.aspx.designer.cs b/SGGL/FineUIPro.Web/DCGL/ServerCheck/CheckRectify.aspx.designer.cs
index 002cc9c5..a71c72f7 100644
--- a/SGGL/FineUIPro.Web/DCGL/ServerCheck/CheckRectify.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/DCGL/ServerCheck/CheckRectify.aspx.designer.cs
@@ -68,6 +68,15 @@ namespace FineUIPro.Web.DCGL.ServerCheck
///
protected global::FineUIPro.Button btnGet;
+ ///
+ /// btnRevoke 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnRevoke;
+
///
/// btnOut 控件。
///
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index d3c9c225..087b40fa 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -1721,6 +1721,7 @@
+
@@ -16250,6 +16251,13 @@
MasterProjectData.aspx
+
+ MasterProjectDataAnalysis.aspx
+ ASPXCodeBehind
+
+
+ MasterProjectDataAnalysis.aspx
+
MasterProjectDataUsage.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/ProjectData/MasterProjectData.aspx b/SGGL/FineUIPro.Web/ProjectData/MasterProjectData.aspx
index 736be566..e6db8919 100644
--- a/SGGL/FineUIPro.Web/ProjectData/MasterProjectData.aspx
+++ b/SGGL/FineUIPro.Web/ProjectData/MasterProjectData.aspx
@@ -19,23 +19,18 @@
}
.ThreeMonthPause {
- /*background-color: darkgray;*/
background-color: blueviolet;
}
.MonthPause {
- /*background-color: darkgray;*/
background-color: red;
}
.WeekPause {
- /*background-color: darkgray;*/
background-color: deeppink;
}
.DayPause {
- /*background-color: darkgray;*/
background-color: hotpink;
}
.Pause {
- /*background-color: darkgray;*/
background-color: red;
}
@@ -170,9 +165,9 @@
-
+ <%--
-
+ --%>
@@ -260,9 +255,9 @@
-
+ <%--
-
+ --%>
@@ -288,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
+ // });
+ // }