AI识别接收
This commit is contained in:
parent
a52ecd996d
commit
afa4976828
|
@ -0,0 +1,24 @@
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE [dbo].[HSSE_AIAlarmEvent](
|
||||||
|
[AIAlarmEventId] [nvarchar](50) NOT NULL,
|
||||||
|
[DeviceId] [nvarchar](50) NULL,
|
||||||
|
[DeviceVersion] [varchar](50) NULL,
|
||||||
|
[Date] [datetime] NULL,
|
||||||
|
[TimeStamp] [timestamp] NULL,
|
||||||
|
[Label] [nvarchar](50) NULL,
|
||||||
|
[Alias] [nvarchar](50) NULL,
|
||||||
|
[Count] [int] NULL,
|
||||||
|
[Extend] [nvarchar](max) NULL,
|
||||||
|
CONSTRAINT [PK_HSSE_AIAlarmEvent] PRIMARY KEY CLUSTERED
|
||||||
|
(
|
||||||
|
[AIAlarmEventId] ASC
|
||||||
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||||
|
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) VALUES (N'3D3AB427-FA89-4863-9E66-402FE3D46095', N'AIÉãÏñÍ·±¨¾¯', NULL, N'HSSE/AlarmEvent/AIAlarmEvent.aspx', '10', N'8F0FB635-75C7-472D-B423-B7B886E632FF', N'Menu_HSSE', '0', '1', '1');
|
|
@ -11,6 +11,12 @@ namespace BLL
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static DateTime DtmarkTime = DateTime.Parse("2020-01-01");
|
public static DateTime DtmarkTime = DateTime.Parse("2020-01-01");
|
||||||
public static int CacheMinutes = 10;
|
public static int CacheMinutes = 10;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// AI摄像头报警
|
||||||
|
/// </summary>
|
||||||
|
public const string AIAlarmEventMenuId = "3D3AB427-FA89-4863-9E66-402FE3D46095";
|
||||||
|
|
||||||
#region 查询字段:系统设置
|
#region 查询字段:系统设置
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 系统管理员ID
|
/// 系统管理员ID
|
||||||
|
@ -6246,5 +6252,7 @@ namespace BLL
|
||||||
/// 施工工程师(总包)
|
/// 施工工程师(总包)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string SGEngineer = "F7302DA3-B522-43F9-98CC-6317622A884E";
|
public const string SGEngineer = "F7302DA3-B522-43F9-98CC-6317622A884E";
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -295,7 +295,57 @@ namespace BLL
|
||||||
public const string HSEAgreementUrlFilePath = "FileUpload\\HSEAgreementUrl\\";
|
public const string HSEAgreementUrlFilePath = "FileUpload\\HSEAgreementUrl\\";
|
||||||
#endregion
|
#endregion
|
||||||
#endregion
|
#endregion
|
||||||
|
public static void SaveAttachUrlForApi(string source, string attachUrl, string menuId, string toKeyId)
|
||||||
|
{
|
||||||
|
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
|
||||||
|
{
|
||||||
|
|
||||||
|
string rootUrl = ConfigurationManager.AppSettings["localRoot"];
|
||||||
|
if (string.IsNullOrEmpty(rootUrl))
|
||||||
|
{
|
||||||
|
rootUrl = Funs.RootPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Model.AttachFile> sour = (from x in db.AttachFile
|
||||||
|
where x.MenuId == menuId && x.ToKeyId == toKeyId
|
||||||
|
select x).ToList();
|
||||||
|
if (sour.Count() == 0)
|
||||||
|
{
|
||||||
|
Model.AttachFile att = new Model.AttachFile
|
||||||
|
{
|
||||||
|
AttachFileId = SQLHelper.GetNewID(),
|
||||||
|
ToKeyId = toKeyId,
|
||||||
|
AttachSource = source.ToString(),
|
||||||
|
AttachUrl = attachUrl,
|
||||||
|
MenuId = menuId,
|
||||||
|
// ImageByte= imageByte,
|
||||||
|
//AttachPath= attachPath,
|
||||||
|
};
|
||||||
|
if (menuId == BLL.Const.PersonListMenuId)
|
||||||
|
{
|
||||||
|
att.ImageByte = AttachFileService.SetImageToByteArray(rootUrl + attachUrl.Split(',')[0]);
|
||||||
|
}
|
||||||
|
db.AttachFile.InsertOnSubmit(att);
|
||||||
|
db.SubmitChanges();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Model.AttachFile att = db.AttachFile.FirstOrDefault(x => x.MenuId == menuId && x.AttachFileId == sour.First().AttachFileId);
|
||||||
|
if (att != null)
|
||||||
|
{
|
||||||
|
att.ToKeyId = toKeyId;
|
||||||
|
att.AttachSource = source.ToString();
|
||||||
|
att.AttachUrl = attachUrl;
|
||||||
|
att.MenuId = menuId;
|
||||||
|
if (menuId == BLL.Const.PersonListMenuId)
|
||||||
|
{
|
||||||
|
att.ImageByte = AttachFileService.SetImageToByteArray(rootUrl + attachUrl.Split(',')[0]);
|
||||||
|
}
|
||||||
|
db.SubmitChanges();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 保存附件
|
/// 保存附件
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -954,6 +954,7 @@
|
||||||
<Content Include="HSSE\Administrative\DriverManager.aspx" />
|
<Content Include="HSSE\Administrative\DriverManager.aspx" />
|
||||||
<Content Include="HSSE\Administrative\DriverManagerEdit.aspx" />
|
<Content Include="HSSE\Administrative\DriverManagerEdit.aspx" />
|
||||||
<Content Include="HSSE\Administrative\DriverManagerView.aspx" />
|
<Content Include="HSSE\Administrative\DriverManagerView.aspx" />
|
||||||
|
<Content Include="HSSE\AlarmEvent\AIAlarmEvent.aspx" />
|
||||||
<Content Include="HSSE\Check\CheckColligation.aspx" />
|
<Content Include="HSSE\Check\CheckColligation.aspx" />
|
||||||
<Content Include="HSSE\Check\CheckColligationDetailEdit.aspx" />
|
<Content Include="HSSE\Check\CheckColligationDetailEdit.aspx" />
|
||||||
<Content Include="HSSE\Check\CheckColligationEdit.aspx" />
|
<Content Include="HSSE\Check\CheckColligationEdit.aspx" />
|
||||||
|
@ -11124,6 +11125,13 @@
|
||||||
<Compile Include="HSSE\Administrative\DriverManagerView.aspx.designer.cs">
|
<Compile Include="HSSE\Administrative\DriverManagerView.aspx.designer.cs">
|
||||||
<DependentUpon>DriverManagerView.aspx</DependentUpon>
|
<DependentUpon>DriverManagerView.aspx</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="HSSE\AlarmEvent\AIAlarmEvent.aspx.cs">
|
||||||
|
<DependentUpon>AIAlarmEvent.aspx</DependentUpon>
|
||||||
|
<SubType>ASPXCodeBehind</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="HSSE\AlarmEvent\AIAlarmEvent.aspx.designer.cs">
|
||||||
|
<DependentUpon>AIAlarmEvent.aspx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="HSSE\Check\CheckColligation.aspx.cs">
|
<Compile Include="HSSE\Check\CheckColligation.aspx.cs">
|
||||||
<DependentUpon>CheckColligation.aspx</DependentUpon>
|
<DependentUpon>CheckColligation.aspx</DependentUpon>
|
||||||
<SubType>ASPXCodeBehind</SubType>
|
<SubType>ASPXCodeBehind</SubType>
|
||||||
|
|
|
@ -0,0 +1,127 @@
|
||||||
|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AIAlarmEvent.aspx.cs" Inherits="FineUIPro.Web.HSSE.AlarmEvent.AIAlarmEvent" %>
|
||||||
|
|
||||||
|
<%@ Register Src="~/Controls/UnitProjectTControl.ascx" TagName="UnitProjectTControl" TagPrefix="uc1" %>
|
||||||
|
|
||||||
|
<!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>AI摄像头报警</title>
|
||||||
|
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="form1" runat="server">
|
||||||
|
|
||||||
|
|
||||||
|
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
|
||||||
|
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
|
||||||
|
<Items>
|
||||||
|
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
|
||||||
|
Layout="VBox" ShowHeader="false" BodyPadding="5px" IconFont="PlusCircle" AutoScroll="true">
|
||||||
|
<Items>
|
||||||
|
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="摄像头报警" EnableCollapse="true"
|
||||||
|
runat="server" BoxFlex="1" EnableColumnLines="true" DataKeyNames="AIAlarmEventId"
|
||||||
|
AllowCellEditing="true" ClicksToEdit="2" DataIDField="AIAlarmEventId" AllowSorting="true"
|
||||||
|
SortField="Date" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true"
|
||||||
|
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
|
||||||
|
EnableTextSelection="True">
|
||||||
|
<Toolbars>
|
||||||
|
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
|
||||||
|
<Items>
|
||||||
|
<f:TextBox ID="txtCarManagerCode" runat="server" Label="编号" EmptyText="输入查询条件" LabelAlign="Right"
|
||||||
|
Width="320px" AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
|
||||||
|
</f:TextBox>
|
||||||
|
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||||
|
</f:ToolbarFill>
|
||||||
|
|
||||||
|
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp" Text="导出"
|
||||||
|
EnableAjax="false" DisableControlBeforePostBack="false">
|
||||||
|
</f:Button>
|
||||||
|
</Items>
|
||||||
|
</f:Toolbar>
|
||||||
|
</Toolbars>
|
||||||
|
<Columns>
|
||||||
|
<f:TemplateField ColumnID="tfNumber" Width="50px" 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:RenderField Width="150px" ColumnID="DeviceVersion" DataField="DeviceVersion" SortField="DeviceVersion"
|
||||||
|
FieldType="String" HeaderText="设备版本" HeaderTextAlign="Center" TextAlign="Center" ExpandUnusedSpace="true">
|
||||||
|
</f:RenderField>
|
||||||
|
|
||||||
|
<f:RenderField Width="150px" ColumnID="Date" DataField="Date" SortField="Date"
|
||||||
|
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm" HeaderText="报警时间" ExpandUnusedSpace="true"
|
||||||
|
HeaderTextAlign="Center" TextAlign="Center">
|
||||||
|
</f:RenderField>
|
||||||
|
<f:RenderField Width="150px" ColumnID="Label" DataField="Label" SortField="Label"
|
||||||
|
FieldType="String" HeaderText="报警类型" HeaderTextAlign="Center" TextAlign="Center" ExpandUnusedSpace="true">
|
||||||
|
</f:RenderField>
|
||||||
|
<f:RenderField Width="150px" ColumnID="Alias" DataField="Alias" SortField="Alias"
|
||||||
|
FieldType="String" HeaderText="报警类型" HeaderTextAlign="Center" TextAlign="Center" ExpandUnusedSpace="true">
|
||||||
|
</f:RenderField>
|
||||||
|
<f:RenderField Width="150px" ColumnID="Count" DataField="Count" SortField="Count"
|
||||||
|
FieldType="String" HeaderText="报警次数" HeaderTextAlign="Center" TextAlign="Center" ExpandUnusedSpace="true">
|
||||||
|
</f:RenderField>
|
||||||
|
|
||||||
|
<f:TemplateField ColumnID="tfImageUrl1" Width="180px" HeaderText="图片" HeaderTextAlign="Center"
|
||||||
|
TextAlign="Left">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Label ID="lbImageUrl" runat="server" Text='<%# ConvertImageUrlByImage(Eval("AIAlarmEventId")) %>'></asp:Label>
|
||||||
|
</ItemTemplate>
|
||||||
|
</f:TemplateField>
|
||||||
|
|
||||||
|
</Columns>
|
||||||
|
<Listeners>
|
||||||
|
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||||
|
</Listeners>
|
||||||
|
<PageItems>
|
||||||
|
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
||||||
|
</f:ToolbarSeparator>
|
||||||
|
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
|
||||||
|
</f:ToolbarText>
|
||||||
|
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
|
||||||
|
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
|
||||||
|
<f:ListItem Text="10" Value="10" />
|
||||||
|
<f:ListItem Text="15" Value="15" />
|
||||||
|
<f:ListItem Text="20" Value="20" />
|
||||||
|
<f:ListItem Text="25" Value="25" />
|
||||||
|
<f:ListItem Text="所有行" Value="10000" />
|
||||||
|
</f:DropDownList>
|
||||||
|
</PageItems>
|
||||||
|
</f:Grid>
|
||||||
|
</Items>
|
||||||
|
</f:Panel>
|
||||||
|
</Items>
|
||||||
|
</f:Panel>
|
||||||
|
|
||||||
|
|
||||||
|
<f:Window ID="Window1" Title="现场车辆管理" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||||
|
Target="Parent" EnableResize="true" runat="server" OnClose="Window1_Close" IsModal="true"
|
||||||
|
Width="900px" Height="500px">
|
||||||
|
</f:Window>
|
||||||
|
<f:Menu ID="Menu1" runat="server">
|
||||||
|
|
||||||
|
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
|
||||||
|
Hidden="true" Icon="Delete" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server"
|
||||||
|
Text="删除">
|
||||||
|
</f:MenuButton>
|
||||||
|
</f:Menu>
|
||||||
|
</form>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var menuID = '<%= Menu1.ClientID %>';
|
||||||
|
// 返回false,来阻止浏览器右键菜单
|
||||||
|
function onRowContextMenu(event, rowId) {
|
||||||
|
F(menuID).show(); //showAt(event.pageX, event.pageY);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function reloadGrid() {
|
||||||
|
__doPostBack(null, 'reloadGrid');
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,264 @@
|
||||||
|
using BLL;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using AspNet = System.Web.UI.WebControls;
|
||||||
|
|
||||||
|
namespace FineUIPro.Web.HSSE.AlarmEvent
|
||||||
|
{
|
||||||
|
public partial class AIAlarmEvent : PageBase
|
||||||
|
{
|
||||||
|
#region 项目主键
|
||||||
|
/// <summary>
|
||||||
|
/// 项目主键
|
||||||
|
/// </summary>
|
||||||
|
public string ProjectId
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return (string)ViewState["ProjectId"];
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
ViewState["ProjectId"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
#region 加载
|
||||||
|
/// <summary>
|
||||||
|
/// 加载页面
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!IsPostBack)
|
||||||
|
{
|
||||||
|
Funs.DropDownPageSize(this.ddlPageSize);
|
||||||
|
this.ProjectId = this.CurrUser.LoginProjectId;
|
||||||
|
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId)
|
||||||
|
{
|
||||||
|
this.ProjectId = Request.Params["projectId"];
|
||||||
|
}
|
||||||
|
this.GetButtonPower();
|
||||||
|
// 绑定表格
|
||||||
|
this.BindGrid();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 绑定数据
|
||||||
|
/// </summary>
|
||||||
|
private void BindGrid()
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(this.ProjectId))
|
||||||
|
{
|
||||||
|
string strSql = "SELECT * FROM HSSE_AIAlarmEvent ";
|
||||||
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(this.txtCarManagerCode.Text.Trim()))
|
||||||
|
{
|
||||||
|
strSql += " WHERE Alias LIKE @Alias ";
|
||||||
|
listStr.Add(new SqlParameter("@Alias", "%" + this.txtCarManagerCode.Text.Trim() + "%"));
|
||||||
|
}
|
||||||
|
SqlParameter[] parameter = listStr.ToArray();
|
||||||
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||||
|
|
||||||
|
Grid1.RecordCount = tb.Rows.Count;
|
||||||
|
//tb = GetFilteredTable(Grid1.FilteredData, tb);
|
||||||
|
var table = this.GetPagedDataTable(Grid1, tb);
|
||||||
|
Grid1.DataSource = table;
|
||||||
|
Grid1.DataBind();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查询
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
Grid1.PageIndex = e.NewPageIndex;
|
||||||
|
BindGrid();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 分页下拉选择事件
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
|
||||||
|
BindGrid();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 排序
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
|
||||||
|
{
|
||||||
|
Grid1.SortDirection = e.SortDirection;
|
||||||
|
Grid1.SortField = e.SortField;
|
||||||
|
BindGrid();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 关闭弹出窗口
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
protected void Window1_Close(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
BindGrid();
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
protected string ConvertImageUrlByImage(object registrationId)
|
||||||
|
{
|
||||||
|
string url = string.Empty;
|
||||||
|
string httpUrl = "../../";
|
||||||
|
|
||||||
|
if (registrationId != null)
|
||||||
|
{
|
||||||
|
IList<Model.AttachFile> sourlist = AttachFileService.GetBeforeFileList(registrationId.ToString(), BLL.Const.AIAlarmEventMenuId);
|
||||||
|
|
||||||
|
if (sourlist != null && sourlist.Count > 0)
|
||||||
|
{
|
||||||
|
string AttachUrl = "";
|
||||||
|
foreach (var item in sourlist)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(item.AttachUrl) && item.AttachUrl.ToLower().EndsWith(".jpg") || item.AttachUrl.ToLower().EndsWith(".jpeg") || item.AttachUrl.ToLower().EndsWith(".png"))
|
||||||
|
AttachUrl += item.AttachUrl.TrimEnd(',') + ",";
|
||||||
|
}
|
||||||
|
url = BLL.UploadAttachmentService.ShowImage(httpUrl, AttachUrl.TrimEnd(','));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#region 删除
|
||||||
|
/// <summary>
|
||||||
|
/// 右键删除事件
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
protected void btnMenuDelete_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (Grid1.SelectedRowIndexArray.Length > 0)
|
||||||
|
{
|
||||||
|
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
|
||||||
|
{
|
||||||
|
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
|
||||||
|
var getV = BLL.CarManagerService.GetCarManagerById(rowID);
|
||||||
|
if (getV != null)
|
||||||
|
{
|
||||||
|
BLL.LogService.AddSys_Log(this.CurrUser, getV.CarManagerCode, getV.CarManagerId, BLL.Const.AIAlarmEventMenuId, BLL.Const.BtnDelete);
|
||||||
|
BLL.CarManagerService.DeleteCarManagerById(rowID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.BindGrid();
|
||||||
|
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 获取按钮权限
|
||||||
|
/// <summary>
|
||||||
|
/// 获取按钮权限
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="button"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private void GetButtonPower()
|
||||||
|
{
|
||||||
|
if (Request.Params["value"] == "0")
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var buttonList = BLL.CommonService.GetAllButtonList(this.ProjectId, this.CurrUser.UserId, BLL.Const.AIAlarmEventMenuId);
|
||||||
|
if (buttonList.Count() > 0)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
if (buttonList.Contains(BLL.Const.BtnDelete))
|
||||||
|
{
|
||||||
|
this.btnMenuDelete.Hidden = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 导出按钮
|
||||||
|
/// 导出按钮
|
||||||
|
/// </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 = 500;
|
||||||
|
this.BindGrid();
|
||||||
|
Response.Write(GetGridTableHtml(Grid1));
|
||||||
|
Response.End();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 导出方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="grid"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private string GetGridTableHtml(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;\">");
|
||||||
|
sb.Append("<tr>");
|
||||||
|
foreach (GridColumn column in grid.Columns)
|
||||||
|
{
|
||||||
|
sb.AppendFormat("<td style=\"vnd.ms-excel.numberformat:@\">{0}</td>", column.HeaderText);
|
||||||
|
}
|
||||||
|
sb.Append("</tr>");
|
||||||
|
foreach (GridRow row in grid.Rows)
|
||||||
|
{
|
||||||
|
sb.Append("<tr>");
|
||||||
|
foreach (GridColumn column in grid.Columns)
|
||||||
|
{
|
||||||
|
string html = row.Values[column.ColumnIndex].ToString();
|
||||||
|
if (column.ColumnID == "tfNumber")
|
||||||
|
{
|
||||||
|
html = (row.FindControl("lblNumber") as AspNet.Label).Text;
|
||||||
|
}
|
||||||
|
sb.AppendFormat("<td style=\"vnd.ms-excel.numberformat:@\">{0}</td>", html);
|
||||||
|
}
|
||||||
|
|
||||||
|
sb.Append("</tr>");
|
||||||
|
}
|
||||||
|
|
||||||
|
sb.Append("</table>");
|
||||||
|
|
||||||
|
return sb.ToString();
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,170 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <自动生成>
|
||||||
|
// 此代码由工具生成。
|
||||||
|
//
|
||||||
|
// 对此文件的更改可能导致不正确的行为,如果
|
||||||
|
// 重新生成代码,则所做更改将丢失。
|
||||||
|
// </自动生成>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace FineUIPro.Web.HSSE.AlarmEvent
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
public partial class AIAlarmEvent
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <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>
|
||||||
|
/// panelCenterRegion 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.Panel panelCenterRegion;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Grid1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.Grid Grid1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Toolbar2 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.Toolbar Toolbar2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// txtCarManagerCode 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.TextBox txtCarManagerCode;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ToolbarFill1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnOut 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.Button btnOut;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lblNumber 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lblNumber;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// lbImageUrl 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label lbImageUrl;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ToolbarSeparator1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ToolbarText1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.ToolbarText ToolbarText1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ddlPageSize 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.DropDownList ddlPageSize;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Window1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.Window Window1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Menu1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.Menu Menu1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnMenuDelete 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUIPro.MenuButton btnMenuDelete;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Model.APIItem
|
||||||
|
{
|
||||||
|
public class AIAlarmEventItem
|
||||||
|
{
|
||||||
|
public string device_id { get; set; }
|
||||||
|
public string device_version { get; set; }
|
||||||
|
public DateTime? date { get; set; }
|
||||||
|
public string timestamp { get; set; }
|
||||||
|
public string label { get; set; }
|
||||||
|
public string alias { get; set; }
|
||||||
|
public int? count { get; set; }
|
||||||
|
public object extend { get; set; }
|
||||||
|
public string img_base64 { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -71,6 +71,7 @@
|
||||||
<Compile Include="APIItem\BaseProjectItem.cs" />
|
<Compile Include="APIItem\BaseProjectItem.cs" />
|
||||||
<Compile Include="APIItem\ChemicalReport.cs" />
|
<Compile Include="APIItem\ChemicalReport.cs" />
|
||||||
<Compile Include="APIItem\ChemicalReportItem.cs" />
|
<Compile Include="APIItem\ChemicalReportItem.cs" />
|
||||||
|
<Compile Include="APIItem\AIAlarmEventItem.cs" />
|
||||||
<Compile Include="APIItem\CNCEC\ActionWorkLedger.cs" />
|
<Compile Include="APIItem\CNCEC\ActionWorkLedger.cs" />
|
||||||
<Compile Include="APIItem\CNCEC\ActionWorkLedgerItem.cs" />
|
<Compile Include="APIItem\CNCEC\ActionWorkLedgerItem.cs" />
|
||||||
<Compile Include="APIItem\CNCEC\CheckRectifyItem.cs" />
|
<Compile Include="APIItem\CNCEC\CheckRectifyItem.cs" />
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
using BLL;
|
||||||
|
using Model.APIItem;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Configuration;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.Http;
|
||||||
|
|
||||||
|
namespace WebAPI.Controllers
|
||||||
|
{
|
||||||
|
|
||||||
|
public class AIAlarmEventController : ApiController
|
||||||
|
{
|
||||||
|
[HttpPost]
|
||||||
|
public Model.ResponeData alarmEvent([FromBody] AIAlarmEventItem item)
|
||||||
|
{
|
||||||
|
var responeData = new Model.ResponeData();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||||
|
{
|
||||||
|
Model.HSSE_AIAlarmEvent newInOut = new Model.HSSE_AIAlarmEvent
|
||||||
|
{
|
||||||
|
AIAlarmEventId = Guid.NewGuid().ToString(),
|
||||||
|
DeviceId = item.device_id,
|
||||||
|
DeviceVersion = item.device_version,
|
||||||
|
Date = item.date,
|
||||||
|
Label = item.label,
|
||||||
|
Alias = item.alias,
|
||||||
|
Count = item.count,
|
||||||
|
Extend = item.extend.ToString(),
|
||||||
|
};
|
||||||
|
db.HSSE_AIAlarmEvent.InsertOnSubmit(newInOut);
|
||||||
|
db.SubmitChanges();
|
||||||
|
if (!string.IsNullOrEmpty(item.img_base64))
|
||||||
|
{
|
||||||
|
var image = Convert.FromBase64String(item.img_base64);
|
||||||
|
string rootPath = ConfigurationManager.AppSettings["localRoot"];
|
||||||
|
string path = "FileUpLoad/HSSE/AIAlarmEvent/" + DateTime.Now.ToString("yyyy-MM") + "/";
|
||||||
|
string fileUrl = (rootPath + path).Replace('/', '\\');
|
||||||
|
string flieName = Funs.GetNewFileName() + ".jpg";
|
||||||
|
if (!Directory.Exists(fileUrl))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(fileUrl);
|
||||||
|
}
|
||||||
|
System.IO.File.WriteAllBytes((fileUrl + flieName), image);
|
||||||
|
UploadFileService.SaveAttachUrlForApi(UploadFileService.GetSourceByAttachUrl(path + flieName, 10, null), path + flieName, BLL.Const.AIAlarmEventMenuId, newInOut.AIAlarmEventId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
responeData.code = 0;
|
||||||
|
responeData.message = ex.Message;
|
||||||
|
ErrLogInfo.WriteLog(ex, "接口-插入智能识别记录", "AIAlarmEventController.alarmEvent");
|
||||||
|
}
|
||||||
|
return responeData;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -101,7 +101,8 @@ namespace WebAPI.Filter
|
||||||
"upload*attendance" ,
|
"upload*attendance" ,
|
||||||
"CNCECServer*PostGetHSSEData",
|
"CNCECServer*PostGetHSSEData",
|
||||||
"CNCECServer*PostGetCQMSData",
|
"CNCECServer*PostGetCQMSData",
|
||||||
"CNCECServer*PostGetHJGLData"
|
"CNCECServer*PostGetHJGLData",
|
||||||
|
"AIAlarmEvent*alarmEvent"
|
||||||
};
|
};
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -148,6 +148,7 @@
|
||||||
<Compile Include="App_Start\RouteConfig.cs" />
|
<Compile Include="App_Start\RouteConfig.cs" />
|
||||||
<Compile Include="App_Start\SwaggerConfig.cs" />
|
<Compile Include="App_Start\SwaggerConfig.cs" />
|
||||||
<Compile Include="App_Start\WebApiConfig.cs" />
|
<Compile Include="App_Start\WebApiConfig.cs" />
|
||||||
|
<Compile Include="Controllers\AIAlarmEventController.cs" />
|
||||||
<Compile Include="Controllers\AnBangToolController.cs" />
|
<Compile Include="Controllers\AnBangToolController.cs" />
|
||||||
<Compile Include="Controllers\BaseInfoController.cs" />
|
<Compile Include="Controllers\BaseInfoController.cs" />
|
||||||
<Compile Include="Controllers\CommonController.cs" />
|
<Compile Include="Controllers\CommonController.cs" />
|
||||||
|
|
Loading…
Reference in New Issue