20231206新增获取全部安全巡检接口

This commit is contained in:
杨红卫 2023-12-06 14:41:12 +08:00
parent 88d09e2602
commit 4ba87f6ffd
6 changed files with 178 additions and 19 deletions

View File

@ -0,0 +1,10 @@
/****** Object: Index [NonClusteredIndex-20231205-165427] Script Date: 2023/12/5 16:55:24 ******/
CREATE NONCLUSTERED INDEX [NonClusteredIndex-20231205-165427] ON [dbo].[HSSE_Hazard_HazardRegister]
(
[ProjectId] ASC,
[states] ASC,
[CheckTime] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO

View File

@ -131,5 +131,53 @@ namespace BLL
}
}
}
/// <summary>
/// 安全巡检
/// </summary>
/// <param name="pageIndex"></param>
/// <returns></returns>
public static List<Model.HazardRegisterItem> getHazardRegisterByProjectIdStates(int pageIndex)
{
string unitName = null, unitId = null;
var getUnit = CommonService.GetIsThisUnit();
if (getUnit != null)
{
unitId = getUnit.UnitId;
unitName = getUnit.UnitName;
}
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var hazardRegisters = (from x in db.HSSE_Hazard_HazardRegister
join y in db.Base_Project on x.ProjectId equals y.ProjectId
join u in db.Base_Unit on x.ResponsibleUnit equals u.UnitId
join user in db.Sys_User on x.ResponsibleMan equals user.UserId
where x.ProjectId != null && x.States != null
select new Model.HazardRegisterItem
{
HazardRegisterId = x.HazardRegisterId,
ProjectId = x.ProjectId,
ProjectName = y.ProjectName,
ProjectAddress = y.ProjectAddress,
UnitId = unitId,
UnitName = unitName,
PUnitId = y.UnitId,
PUnitName = db.Base_Unit.First(U => y.UnitId == U.UnitId).UnitName,
States = x.States,
WorkAreaName = db.WBS_UnitWork.First(w => x.Place == w.UnitWorkId).UnitWorkName,
CheckTime = x.CheckTime,
RegisterDef = x.RegisterDef,
RegisterTypesName = db.HSSE_Hazard_HazardRegisterTypes.First(T => x.RegisterTypesId == T.RegisterTypesId).RegisterTypesName,
Rectification = x.Rectification,
ResponsibilityUnitName = db.Base_Unit.First(U => x.ResponsibleUnit == U.UnitId).UnitName,
ResponsibilityManName = db.Sys_User.First(User => x.ResponsibleMan == User.UserId).UserName,
RectificationTime = x.RectificationTime,
Risk_Level = x.Risk_Level,
}).OrderBy(x => x.CheckTime).Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
return hazardRegisters;
}
}
}
}

View File

@ -31,6 +31,46 @@ namespace Model
get;
set;
}
/// <summary>
/// 单位ID
/// </summary>
public string UnitId
{
get;
set;
}
/// <summary>
/// 单位名称
/// </summary>
public string UnitName
{
get;
set;
}
/// <summary>
/// 项目单位ID
/// </summary>
public string PUnitId
{
get;
set;
}
/// <summary>
/// 项目单位名称
/// </summary>
public string PUnitName
{
get;
set;
}
/// <summary>
/// 项目名称
/// </summary>
public string ProjectAddress
{
get;
set;
}
/// <summary>
/// 状态
@ -320,5 +360,13 @@ namespace Model
get;
set;
}
/// <summary>
/// 风险等级
/// </summary>
public string Risk_Level
{
get;
set;
}
}
}

View File

@ -125,5 +125,51 @@ namespace WebAPI.Controllers
return responeData;
}
#endregion
#region
/// <summary>
/// 获取总安全巡检
/// </summary>
/// <returns></returns>
public Model.ResponeData getHazardRegisterTotalCount()
{
var responeData = new Model.ResponeData();
try
{
//总数
responeData.data = Funs.DB.HSSE_Hazard_HazardRegister.Where(x => x.ProjectId != null && x.States != null).Count();
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 获取总安全巡检
/// </summary>
/// <param name="pageIndex">页码</param>
/// <returns></returns>
public Model.ResponeData getHazardRegisterByProjectIdStates(int pageIndex)
{
var responeData = new Model.ResponeData();
try
{
responeData.data = APIHazardRegisterService.getHazardRegisterByProjectIdStates(pageIndex);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
}
}

View File

@ -23,9 +23,11 @@ namespace WebAPI.Filter
bool isOk = false;
actionContext.Request.Headers.TryGetValues("token", out IEnumerable<string> token);
string strValues = actionContext.ActionDescriptor.ControllerDescriptor.ControllerName + "*" + ((ReflectedHttpActionDescriptor)actionContext.ActionDescriptor).ActionName;
bool isWithOut = false;
if (lists.FirstOrDefault(x => x == strValues) != null)
{
isOk = true;
isWithOut = true;
}
if (!isOk && token != null)
@ -46,24 +48,29 @@ namespace WebAPI.Filter
}
// base.OnActionExecuting(actionContext);
if (isOk)
{ // 在调用 Action 方法之前执行的代码,可获取请求的接口名称和参数
IDictionary<string, object> arguments = actionContext.ActionArguments; // 获取参数
foreach (KeyValuePair<string, object> item in arguments)
{
if (!isWithOut)
{
if (item.Key == "projectid" || item.Key == "ProjectId" || item.Key == "projectId" || item.Key == "Projectid")
{
var ProjectItems = APIProjectService.geProjectsByUserId(token.FirstOrDefault());
List<string> projects = new List<string>();
if (ProjectItems.Count > 0)
{
projects = ProjectItems.Select(x => x.ProjectId).ToList();
}
if (item.Value != null && !projects.Contains(item.Value.ToString()))
{
actionContext.Response = actionContext.Request.CreateResponse(System.Net.HttpStatusCode.OK,
new { code = "0", message = "您没有该项目权限!" }, actionContext.ControllerContext.Configuration.Formatters.JsonFormatter);
return;
// 在调用 Action 方法之前执行的代码,可获取请求的接口名称和参数
IDictionary<string, object> arguments = actionContext.ActionArguments; // 获取参数
foreach (KeyValuePair<string, object> item in arguments)
{
if (item.Key == "projectid" || item.Key == "ProjectId" || item.Key == "projectId" || item.Key == "Projectid")
{
var ProjectItems = APIProjectService.geProjectsByUserId(token.FirstOrDefault());
List<string> projects = new List<string>();
if (ProjectItems.Count > 0)
{
projects = ProjectItems.Select(x => x.ProjectId).ToList();
}
if (item.Value != null && !projects.Contains(item.Value.ToString()))
{
actionContext.Response = actionContext.Request.CreateResponse(System.Net.HttpStatusCode.OK,
new { code = "0", message = "您没有该项目权限!" }, actionContext.ControllerContext.Configuration.Formatters.JsonFormatter);
return;
}
}
}
}
@ -79,7 +86,7 @@ namespace WebAPI.Filter
/// <summary>
///
/// </summary>
public static List<string> lists = new List<string> { "User*postLoginOn", "get*token" };
public static List<string> lists = new List<string> { "User*postLoginOn", "get*token", "HazardRegister*getHazardRegisterTotalCount", "HazardRegister*getHazardRegisterByProjectIdStates" };
/// <summary>
///

View File

@ -322,9 +322,9 @@
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>7040</DevelopmentServerPort>
<DevelopmentServerPort>0</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:7040/</IISUrl>
<IISUrl>http://localhost:10684/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>