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>
|
||||
public static DateTime DtmarkTime = DateTime.Parse("2020-01-01");
|
||||
public static int CacheMinutes = 10;
|
||||
|
||||
/// <summary>
|
||||
/// AI摄像头报警
|
||||
/// </summary>
|
||||
public const string AIAlarmEventMenuId = "3D3AB427-FA89-4863-9E66-402FE3D46095";
|
||||
|
||||
#region 查询字段:系统设置
|
||||
/// <summary>
|
||||
/// 系统管理员ID
|
||||
|
@ -6246,5 +6252,7 @@ namespace BLL
|
|||
/// 施工工程师(总包)
|
||||
/// </summary>
|
||||
public const string SGEngineer = "F7302DA3-B522-43F9-98CC-6317622A884E";
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -295,7 +295,57 @@ namespace BLL
|
|||
public const string HSEAgreementUrlFilePath = "FileUpload\\HSEAgreementUrl\\";
|
||||
#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>
|
||||
|
|
|
@ -954,6 +954,7 @@
|
|||
<Content Include="HSSE\Administrative\DriverManager.aspx" />
|
||||
<Content Include="HSSE\Administrative\DriverManagerEdit.aspx" />
|
||||
<Content Include="HSSE\Administrative\DriverManagerView.aspx" />
|
||||
<Content Include="HSSE\AlarmEvent\AIAlarmEvent.aspx" />
|
||||
<Content Include="HSSE\Check\CheckColligation.aspx" />
|
||||
<Content Include="HSSE\Check\CheckColligationDetailEdit.aspx" />
|
||||
<Content Include="HSSE\Check\CheckColligationEdit.aspx" />
|
||||
|
@ -11124,6 +11125,13 @@
|
|||
<Compile Include="HSSE\Administrative\DriverManagerView.aspx.designer.cs">
|
||||
<DependentUpon>DriverManagerView.aspx</DependentUpon>
|
||||
</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">
|
||||
<DependentUpon>CheckColligation.aspx</DependentUpon>
|
||||
<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\ChemicalReport.cs" />
|
||||
<Compile Include="APIItem\ChemicalReportItem.cs" />
|
||||
<Compile Include="APIItem\AIAlarmEventItem.cs" />
|
||||
<Compile Include="APIItem\CNCEC\ActionWorkLedger.cs" />
|
||||
<Compile Include="APIItem\CNCEC\ActionWorkLedgerItem.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" ,
|
||||
"CNCECServer*PostGetHSSEData",
|
||||
"CNCECServer*PostGetCQMSData",
|
||||
"CNCECServer*PostGetHJGLData"
|
||||
"CNCECServer*PostGetHJGLData",
|
||||
"AIAlarmEvent*alarmEvent"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -148,6 +148,7 @@
|
|||
<Compile Include="App_Start\RouteConfig.cs" />
|
||||
<Compile Include="App_Start\SwaggerConfig.cs" />
|
||||
<Compile Include="App_Start\WebApiConfig.cs" />
|
||||
<Compile Include="Controllers\AIAlarmEventController.cs" />
|
||||
<Compile Include="Controllers\AnBangToolController.cs" />
|
||||
<Compile Include="Controllers\BaseInfoController.cs" />
|
||||
<Compile Include="Controllers\CommonController.cs" />
|
||||
|
|
Loading…
Reference in New Issue