From 08a552f66deb92aedd974d03ee4239776ae15127 Mon Sep 17 00:00:00 2001
From: 10191 <506754232@qq.com>
Date: Wed, 4 Jun 2025 09:11:41 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E5=A1=94=E5=90=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
DataBase/版本日志/SGGLDB_WH_2025-06-03.sql | 58 +++++
SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 24 ++
.../HSSE/TowerCrane/TowerCrane.aspx | 142 +++++++++++
.../HSSE/TowerCrane/TowerCrane.aspx.cs | 235 ++++++++++++++++++
.../TowerCrane/TowerCrane.aspx.designer.cs | 161 ++++++++++++
.../HSSE/TowerCrane/TowerCraneEdit.aspx | 70 ++++++
.../HSSE/TowerCrane/TowerCraneEdit.aspx.cs | 171 +++++++++++++
.../TowerCraneEdit.aspx.designer.cs | 143 +++++++++++
.../HSSE/TowerCrane/TowerCraneState.aspx | 52 ++++
.../HSSE/TowerCrane/TowerCraneState.aspx.cs | 89 +++++++
.../TowerCraneState.aspx.designer.cs | 89 +++++++
.../APIItem/HSSE/TowerCraneRecordItem.cs | 54 ++++
SGGL/Model/Model.csproj | 1 +
.../Controllers/HSSE/TowerCraneController.cs | 64 +++++
SGGL/WebAPI/WebAPI.csproj | 2 +
SGGL/WebAPI/WebAPI.csproj.user | 2 +-
16 files changed, 1356 insertions(+), 1 deletion(-)
create mode 100644 DataBase/版本日志/SGGLDB_WH_2025-06-03.sql
create mode 100644 SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCrane.aspx
create mode 100644 SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCrane.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCrane.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneEdit.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneState.aspx
create mode 100644 SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneState.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneState.aspx.designer.cs
create mode 100644 SGGL/Model/APIItem/HSSE/TowerCraneRecordItem.cs
create mode 100644 SGGL/WebAPI/Controllers/HSSE/TowerCraneController.cs
diff --git a/DataBase/版本日志/SGGLDB_WH_2025-06-03.sql b/DataBase/版本日志/SGGLDB_WH_2025-06-03.sql
new file mode 100644
index 00000000..1b2b0029
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_WH_2025-06-03.sql
@@ -0,0 +1,58 @@
+
+CREATE TABLE [dbo].[HSSE_TowerCrane](
+ [TowerCraneId] [nvarchar](50) NOT NULL,
+ [ProjectId] [nvarchar](50) NULL,
+ [TowerCraneName] [nvarchar](50) NULL,
+ [TowerCraneCode] [nvarchar](50) NULL,
+ [MaxHoist] [float] NULL,
+ [MaxMoment] [float] NULL,
+ [FrontArmLength] [float] NULL,
+ [BackArmLength] [float] NULL,
+ [TowerCap] [nvarchar](2) NULL,
+ [ArmHeigh] [float] NULL,
+ [Remark] [nvarchar](50) NULL,
+ [CreateDate] [datetime] NULL,
+ CONSTRAINT [PK_HSSE_TowerCrane] PRIMARY KEY CLUSTERED
+(
+ [TowerCraneId] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+
+GO
+
+
+CREATE TABLE [dbo].[HSSE_TowerCraneRecord](
+ [TowerCraneRecordId] [nvarchar](50) NOT NULL,
+ [AlarmType] [nvarchar](50) NULL,
+ [AmountHoist] [float] NULL,
+ [Camber] [float] NULL,
+ [Height] [float] NULL,
+ [Hoist] [float] NULL,
+ [Moment] [float] NULL,
+ [Range] [float] NULL,
+ [RotationAngle] [float] NULL,
+ [WindSpeed] [float] NULL,
+ [Date] [datetime] NULL,
+ [TowerCraneId] [nvarchar](50) NULL,
+ [Remark] [nvarchar](50) NULL,
+ CONSTRAINT [PK_HSSE_TowerCraneRecord] PRIMARY KEY CLUSTERED
+(
+ [TowerCraneRecordId] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+
+GO
+
+INSERT INTO [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed], [MenuEnName]) VALUES
+ (N'9DE9B74A-0823-4857-8B50-2DAA5E635EC4', N'', NULL, N'HSSE/TowerCrane/TowerCrane.aspx', '70', N'28C8EDB9-F1C2-4287-8013-28A976B093E2', N'Menu_HSSE', '1', '1', '1', NULL);
+
+
+INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) VALUES (N'DB9951FE-07B7-406E-9574-9A14C30F267F', N'9DE9B74A-0823-4857-8B50-2DAA5E635EC4', N'ɾ', '3');
+INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) VALUES (N'249C8227-035A-419C-84B7-49BF75B0CC9D', N'9DE9B74A-0823-4857-8B50-2DAA5E635EC4', N'', '1');
+INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) VALUES (N'739FEA2A-EDCC-4212-BA6E-52BF16F692EE', N'9DE9B74A-0823-4857-8B50-2DAA5E635EC4', N'', '2');
+INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) VALUES (N'5B819DF9-9076-4BEF-8404-F6A75D9B9633', N'9DE9B74A-0823-4857-8B50-2DAA5E635EC4', N'', '4');
+
+
+
+INSERT INTO [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed], [MenuEnName])
+VALUES (N'960812BA-ADE3-41C2-AE4A-BF24A58DE4CB', N'״̬', NULL, N'HSSE/TowerCrane/TowerCraneState.aspx', '120', N'28C8EDB9-F1C2-4287-8013-28A976B093E2', N'Menu_HSSE', '1', '1', '1', NULL);
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index 6ac1f9ec..377a01c6 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -1424,6 +1424,9 @@
+
+
+
@@ -14383,6 +14386,27 @@
SpecialSchemeSelectCloumn.aspx
+
+ TowerCrane.aspx
+ ASPXCodeBehind
+
+
+ TowerCrane.aspx
+
+
+ TowerCraneEdit.aspx
+ ASPXCodeBehind
+
+
+ TowerCraneEdit.aspx
+
+
+ TowerCraneState.aspx
+ ASPXCodeBehind
+
+
+ TowerCraneState.aspx
+
indexProject.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCrane.aspx b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCrane.aspx
new file mode 100644
index 00000000..c589962a
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCrane.aspx
@@ -0,0 +1,142 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TowerCrane.aspx.cs" Inherits="FineUIPro.Web.HSSE.TowerCrane.TowerCrane" %>
+
+
+
+
+
+
+ 塔吊
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCrane.aspx.cs b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCrane.aspx.cs
new file mode 100644
index 00000000..d0ae5297
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCrane.aspx.cs
@@ -0,0 +1,235 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using BLL;
+using AspNet = System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.HSSE.TowerCrane
+{
+ public partial class TowerCrane : PageBase
+ {
+ #region 定义项
+ ///
+ /// 主键
+ ///
+ public string ProjectId
+ {
+ get
+ {
+ return (string)ViewState["ProjectId"];
+ }
+ set
+ {
+ ViewState["ProjectId"] = value;
+ }
+ }
+ #endregion
+
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ 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.btnNew.OnClientClick = Window1.GetShowReference("TowerCraneEdit.aspx") + "return false;";
+ if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
+ {
+ Grid1.PageSize = this.CurrUser.PageSize.Value;
+ }
+ this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
+ // 绑定表格
+ this.BindGrid();
+ }
+ }
+ ///
+ /// 绑定数据
+ ///
+ private void BindGrid()
+ {
+ string strSql = @"SELECT * from HSSE_TowerCrane WHERE ";
+ List listStr = new List();
+ strSql += " ProjectId = @ProjectId";
+ listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
+
+ if (!string.IsNullOrEmpty(txtName.Text))
+ {
+ if (!string.IsNullOrEmpty(txtName.Text))
+ {
+ strSql += " and Name like '%"+ txtName.Text + "%' ";
+ }
+ }
+ strSql += " order by CreateDate desc";
+ 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();
+ }
+
+ #region 分页 排序
+ ///
+ /// 改变索引事件
+ ///
+ ///
+ ///
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 分页下拉选择事件
+ ///
+ ///
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ ///
+ ///
+ protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
+ {
+ this.BindGrid();
+ }
+ #endregion
+ #endregion
+
+ #region 查询
+ ///
+ /// 查询
+ ///
+ ///
+ ///
+ protected void TextBox_TextChanged(object sender, EventArgs e)
+ {
+ this.BindGrid();
+ }
+ #endregion
+
+ #region 编辑
+ ///
+ /// 双击事件
+ ///
+ ///
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ this.EditData();
+ }
+
+ ///
+ /// 右键编辑事件
+ ///
+ ///
+ ///
+ protected void btnMenuEdit_Click(object sender, EventArgs e)
+ {
+ this.EditData();
+ }
+
+ ///
+ /// 编辑数据方法
+ ///
+ private void EditData()
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ string id = Grid1.SelectedRowID;
+ var meeting = Funs.DB.HSSE_TowerCrane.FirstOrDefault(x => x.TowerCraneId == id);
+ if (meeting != null)
+ {
+
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TowerCraneEdit.aspx?TowerCraneId={0}", id, "编辑 - ")));
+
+ }
+ }
+ #endregion
+
+ #region 删除
+ ///
+ /// 右键删除事件
+ ///
+ ///
+ ///
+ 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 towerCrane = Funs.DB.HSSE_TowerCrane.FirstOrDefault(x=>x.TowerCraneId== rowID);
+ if (towerCrane != null)
+ {
+ Funs.DB.HSSE_TowerCrane.DeleteOnSubmit(towerCrane);
+ BLL.LogService.AddSys_Log(this.CurrUser, towerCrane.TowerCraneCode, towerCrane.TowerCraneId, BLL.Const.TowerCraneMenuId, BLL.Const.BtnDelete);
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ this.BindGrid();
+ ShowNotify("删除数据成功!", MessageBoxIcon.Success);
+ }
+ }
+ #endregion
+
+ #region 获取按钮权限
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ if (Request.Params["value"] == "0")
+ {
+ return;
+ }
+ var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectContactListMenuId);
+ if (buttonList.Count() > 0)
+ {
+ if (buttonList.Contains(BLL.Const.BtnAdd))
+ {
+ this.btnNew.Hidden = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnModify))
+ {
+ this.btnMenuEdit.Hidden = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnDelete))
+ {
+ this.btnMenuDelete.Hidden = false;
+ }
+ }
+ }
+ #endregion
+
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCrane.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCrane.aspx.designer.cs
new file mode 100644
index 00000000..172492eb
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCrane.aspx.designer.cs
@@ -0,0 +1,161 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.HSSE.TowerCrane
+{
+
+
+ public partial class TowerCrane
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar2;
+
+ ///
+ /// txtName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtName;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnNew 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnNew;
+
+ ///
+ /// lblNumber 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblNumber;
+
+ ///
+ /// ToolbarSeparator1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+
+ ///
+ /// Menu1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Menu Menu1;
+
+ ///
+ /// btnMenuEdit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuEdit;
+
+ ///
+ /// btnMenuDelete 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuDelete;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneEdit.aspx b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneEdit.aspx
new file mode 100644
index 00000000..e9775c33
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneEdit.aspx
@@ -0,0 +1,70 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TowerCraneEdit.aspx.cs" Inherits="FineUIPro.Web.HSSE.TowerCrane.TowerCraneEdit" %>
+
+
+
+
+ 编辑安全隐患类型
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneEdit.aspx.cs b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneEdit.aspx.cs
new file mode 100644
index 00000000..83801e4c
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneEdit.aspx.cs
@@ -0,0 +1,171 @@
+using BLL;
+using System;
+using System.Linq;
+
+namespace FineUIPro.Web.HSSE.TowerCrane
+{
+ public partial class TowerCraneEdit : PageBase
+ {
+ #region 定义变量
+ ///
+ /// 主键
+ ///
+ public string TowerCraneId
+ {
+ get
+ {
+ return (string)ViewState["TowerCraneId"];
+ }
+ set
+ {
+ ViewState["TowerCraneId"] = value;
+ }
+ }
+
+
+ #endregion
+
+ #region 加载页面
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ ////权限按钮方法
+ this.GetButtonPower();
+
+
+ this.TowerCraneId = Request.Params["TowerCraneId"];
+ if (!string.IsNullOrEmpty(this.TowerCraneId))
+ {
+ Model.HSSE_TowerCrane rectify = Funs.DB.HSSE_TowerCrane.FirstOrDefault(x=>x.TowerCraneId==this.TowerCraneId);
+ if (rectify != null)
+ {
+ this.txtTowerCraneName.Text = rectify.TowerCraneName;
+ this.txtTowerCraneCode.Text = rectify.TowerCraneCode;
+ if (rectify.MaxHoist.HasValue)
+ {
+ this.txtMaxHoist.Text = rectify.MaxHoist.Value.ToString("#.##");
+ }
+ if (rectify.MaxMoment.HasValue)
+ {
+ this.txtMaxMoment.Text = rectify.MaxMoment.Value.ToString("#.##");
+ }
+ if (rectify.FrontArmLength.HasValue)
+ {
+ this.txtFrontArmLength.Text = rectify.FrontArmLength.Value.ToString("#.##");
+ }
+ if (rectify.BackArmLength.HasValue)
+ {
+ this.txtBackArmLength.Text = rectify.BackArmLength.Value.ToString("#.##");
+ }
+ if (rectify.ArmHeigh.HasValue)
+ {
+ this.txtArmHeigh.Text = rectify.ArmHeigh.Value.ToString("#.##");
+ }
+ if (rectify.MaxMoment.HasValue)
+ {
+ this.txtMaxMoment.Text = rectify.MaxMoment.Value.ToString("#.##");
+ }
+ if (rectify.TowerCap=="是")
+ {
+ this.isTowerCap.Checked = true;
+ }
+ else
+ {
+ this.isTowerCap.Checked = false;
+ }
+ this.txtRemark.Text = rectify.Remark;
+
+ }
+ }
+ }
+ }
+ #endregion
+
+ #region 保存
+ ///
+ /// 保存按钮
+ ///
+ ///
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ Model.HSSE_TowerCrane towerCrane = null;
+
+ if (!string.IsNullOrEmpty(TowerCraneId))
+ {
+ towerCrane = Funs.DB.HSSE_TowerCrane.FirstOrDefault(x => x.TowerCraneId == this.TowerCraneId);
+ }
+ else
+ {
+ towerCrane = new Model.HSSE_TowerCrane();
+ towerCrane.TowerCraneId = SQLHelper.GetNewID(typeof(Model.HSSE_TowerCrane));
+ towerCrane.ProjectId = CurrUser.LoginProjectId;
+ towerCrane.CreateDate = DateTime.Now;
+ Funs.DB.HSSE_TowerCrane.InsertOnSubmit(towerCrane);
+ }
+ towerCrane.TowerCraneCode = this.txtTowerCraneCode.Text.Trim();
+ towerCrane.TowerCraneName = this.txtTowerCraneName.Text.Trim();
+
+ if (!string.IsNullOrEmpty(this.txtMaxHoist.Text))
+ {
+ towerCrane.MaxHoist = double.Parse(this.txtMaxHoist.Text);
+ }
+ if (!string.IsNullOrEmpty(this.txtMaxMoment.Text))
+ {
+ towerCrane.MaxMoment = double.Parse(this.txtMaxMoment.Text);
+ }
+ if (!string.IsNullOrEmpty(this.txtFrontArmLength.Text))
+ {
+ towerCrane.FrontArmLength = double.Parse(this.txtFrontArmLength.Text);
+ }
+ if (!string.IsNullOrEmpty(this.txtBackArmLength.Text))
+ {
+ towerCrane.BackArmLength = double.Parse(this.txtBackArmLength.Text);
+ }
+ if (!string.IsNullOrEmpty(this.txtArmHeigh.Text))
+ {
+ towerCrane.ArmHeigh = double.Parse(this.txtArmHeigh.Text);
+ }
+ if (isTowerCap.Checked)
+ {
+ towerCrane.TowerCap = "是";
+ }
+ else
+ {
+ towerCrane.TowerCap = "否";
+ }
+ towerCrane.Remark = this.txtRemark.Text.Trim();
+ Funs.DB.SubmitChanges();
+
+
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ #endregion
+
+ #region 获取按钮权限
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.TowerCraneMenuId);
+ if (buttonList.Count() > 0)
+ {
+
+ if (buttonList.Contains(BLL.Const.BtnSave))
+ {
+ this.btnSave.Hidden = false;
+ }
+ }
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneEdit.aspx.designer.cs
new file mode 100644
index 00000000..6705f5e9
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneEdit.aspx.designer.cs
@@ -0,0 +1,143 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.HSSE.TowerCrane
+{
+
+
+ public partial class TowerCraneEdit
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// txtTowerCraneCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtTowerCraneCode;
+
+ ///
+ /// txtTowerCraneName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtTowerCraneName;
+
+ ///
+ /// txtMaxHoist 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox txtMaxHoist;
+
+ ///
+ /// txtMaxMoment 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox txtMaxMoment;
+
+ ///
+ /// txtFrontArmLength 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox txtFrontArmLength;
+
+ ///
+ /// txtBackArmLength 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox txtBackArmLength;
+
+ ///
+ /// isTowerCap 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.CheckBox isTowerCap;
+
+ ///
+ /// txtArmHeigh 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox txtArmHeigh;
+
+ ///
+ /// txtRemark 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtRemark;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneState.aspx b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneState.aspx
new file mode 100644
index 00000000..92a22103
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneState.aspx
@@ -0,0 +1,52 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TowerCraneState.aspx.cs" Inherits="FineUIPro.Web.HSSE.TowerCrane.TowerCraneState" %>
+
+
+
+
+
+
+ 塔吊状态
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneState.aspx.cs b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneState.aspx.cs
new file mode 100644
index 00000000..68e3e7b6
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneState.aspx.cs
@@ -0,0 +1,89 @@
+using BLL;
+using System;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+using Newtonsoft.Json.Linq;
+using System.IO;
+using NPOI.XSSF.UserModel;
+using NPOI.SS.UserModel;
+using System.Runtime.Serialization;
+using FineUIPro.Web.ProjectData;
+using System.Configuration;
+
+namespace FineUIPro.Web.HSSE.TowerCrane
+{
+ public partial class TowerCraneState : PageBase
+ {
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.InitTreeMenu();//加载树
+ //显示列
+
+ }
+ }
+ #endregion
+
+ #region 加载树装置-单位-工作区
+ ///
+ /// 加载树
+ ///
+ private void InitTreeMenu()
+ {
+ this.tvControlItem.Nodes.Clear();
+
+ ////塔吊
+ var towerCranes = (from x in Funs.DB.HSSE_TowerCrane where x.ProjectId == this.CurrUser.LoginProjectId
+ && ( string.IsNullOrEmpty(txtIsono.Text) || x.TowerCraneName.Contains(txtIsono.Text))
+ orderby x.CreateDate select x ).ToList();
+
+ foreach(var item in towerCranes )
+ {
+ TreeNode rootNode = new TreeNode();
+ rootNode.Text = item.TowerCraneName;
+ rootNode.NodeID = item.TowerCraneId;
+ this.tvControlItem.Nodes.Add(rootNode);
+ }
+
+ }
+ #endregion
+
+ #region 绑定树节点
+ ///
+ /// 查询
+ ///
+ ///
+ ///
+ protected void Tree_TextChanged(object sender, EventArgs e)
+ {
+ this.InitTreeMenu();
+
+ }
+
+ #region 树展开事件
+ ///
+ /// 树展开事件
+ ///
+ ///
+ ///
+ protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
+ {
+
+ }
+ #endregion
+ #endregion
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneState.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneState.aspx.designer.cs
new file mode 100644
index 00000000..bf2509f3
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HSSE/TowerCrane/TowerCraneState.aspx.designer.cs
@@ -0,0 +1,89 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.HSSE.TowerCrane
+{
+
+
+ public partial class TowerCraneState
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// panelLeftRegion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panelLeftRegion;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// txtIsono 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtIsono;
+
+ ///
+ /// tvControlItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Tree tvControlItem;
+
+ ///
+ /// panelCenterRegion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panelCenterRegion;
+ }
+}
diff --git a/SGGL/Model/APIItem/HSSE/TowerCraneRecordItem.cs b/SGGL/Model/APIItem/HSSE/TowerCraneRecordItem.cs
new file mode 100644
index 00000000..95470fc9
--- /dev/null
+++ b/SGGL/Model/APIItem/HSSE/TowerCraneRecordItem.cs
@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Model.APIItem.HSSE
+{
+ public class TowerCraneRecordItem
+ {
+ ///
+ /// 报警数据类型(正常 为空) 若未多个则为[111,112]
+ ///
+ public string AlarmType { get; set; }
+ ///
+ /// /额度吊重
+ ///
+ public double? AmountHoist { get; set; }
+ ///
+ /// 前倾角
+ ///
+ public double? Camber { get; set; }
+ ///
+ /// 高度
+ ///
+ public double? Height { get; set; }
+ ///
+ /// 吊重
+ ///
+ public double? Hoist { get; set; }
+ ///
+ /// 力矩
+ ///
+ public double? Moment { get; set; }
+ ///
+ /// 幅度
+ ///
+ public double? Range { get; set; }
+ ///
+ /// /回转角度
+ ///
+ public double? RotationAngle { get; set; }
+ ///
+ /// 风速
+ ///
+ public double? WindSpeed { get; set; }
+ public DateTime Date { get; set; }
+ public string TowerCraneId { get; set; }
+ public string Id { get; set; }
+
+
+ }
+}
+
diff --git a/SGGL/Model/Model.csproj b/SGGL/Model/Model.csproj
index 7273d033..d5bf4d5c 100644
--- a/SGGL/Model/Model.csproj
+++ b/SGGL/Model/Model.csproj
@@ -132,6 +132,7 @@
+
diff --git a/SGGL/WebAPI/Controllers/HSSE/TowerCraneController.cs b/SGGL/WebAPI/Controllers/HSSE/TowerCraneController.cs
new file mode 100644
index 00000000..f8e8d5d8
--- /dev/null
+++ b/SGGL/WebAPI/Controllers/HSSE/TowerCraneController.cs
@@ -0,0 +1,64 @@
+using BLL;
+using Model;
+using Model.APIItem.HSSE;
+using System;
+using System.Linq;
+using System.Web.Http;
+
+namespace WebAPI.Controllers
+{
+ ///
+ /// 塔吊分信息
+ ///
+ public class TowerCraneController : ApiController
+ {
+ #region 根据类型获取图型数据
+ ///
+ /// 根据类型获取图型数据
+ ///
+ ///
+ [HttpPost]
+ public Model.ResponeData saveTowerCraneRecord([FromBody] TowerCraneRecordItem recordItem)
+ {
+ var responeData = new Model.ResponeData();
+ try
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var towerCrane = db.HSSE_TowerCrane.FirstOrDefault(x => x.TowerCraneCode == recordItem.Id);
+ if (towerCrane != null)
+ {
+ HSSE_TowerCraneRecord record = new HSSE_TowerCraneRecord();
+ record.TowerCraneRecordId = Guid.NewGuid().ToString();
+ record.TowerCraneId = towerCrane.TowerCraneId;
+ record.AlarmType = recordItem.AlarmType;
+ record.AmountHoist = recordItem.AmountHoist;
+ record.Camber = recordItem.Camber;
+ record.Height = recordItem.Height;
+ record.Hoist = recordItem.Hoist;
+ record.Moment = recordItem.Moment;
+ record.Range = recordItem.Range;
+ record.RotationAngle = recordItem.RotationAngle;
+ record.WindSpeed = recordItem.WindSpeed;
+ record.Hoist = recordItem.Hoist;
+
+
+
+ record.Date = DateTime.Now;
+
+ db.HSSE_TowerCraneRecord.InsertOnSubmit(record);
+ db.SubmitChanges();
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ responeData.code = 0;
+ responeData.message = ex.Message;
+ }
+
+ return responeData;
+ }
+ #endregion
+ }
+}
diff --git a/SGGL/WebAPI/WebAPI.csproj b/SGGL/WebAPI/WebAPI.csproj
index 7b3fb804..4b77560a 100644
--- a/SGGL/WebAPI/WebAPI.csproj
+++ b/SGGL/WebAPI/WebAPI.csproj
@@ -165,6 +165,7 @@
+
@@ -274,6 +275,7 @@
+
diff --git a/SGGL/WebAPI/WebAPI.csproj.user b/SGGL/WebAPI/WebAPI.csproj.user
index 556827c1..17978b44 100644
--- a/SGGL/WebAPI/WebAPI.csproj.user
+++ b/SGGL/WebAPI/WebAPI.csproj.user
@@ -12,7 +12,7 @@
G:\公司项目\五环\SGGL\WebAPI\Properties\PublishProfiles\FolderProfile.pubxml
MvcControllerEmptyScaffolder
root/Common/MVC/Controller
- 600
+ 1440
True
False
True
From 4ab607d858d3a5775255f1a3d378417cbfda5ebe Mon Sep 17 00:00:00 2001
From: 10191 <506754232@qq.com>
Date: Wed, 4 Jun 2025 09:18:18 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E5=A1=94=E5=90=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
SGGL/WebAPI/Filter/TestPermissionAttribute.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/SGGL/WebAPI/Filter/TestPermissionAttribute.cs b/SGGL/WebAPI/Filter/TestPermissionAttribute.cs
index dcfe827d..f097202d 100644
--- a/SGGL/WebAPI/Filter/TestPermissionAttribute.cs
+++ b/SGGL/WebAPI/Filter/TestPermissionAttribute.cs
@@ -86,7 +86,7 @@ namespace WebAPI.Filter
///
///
///
- public static List lists = new List { "PMP*SynPMPProjectData", "GJSX*OverdueWarningSendEmail", "User*postLoginOn", "get*token", "HazardRegister*getHazardRegisterTotalCount",
+ public static List lists = new List { "TowerCrane*saveTowerCraneRecord","PMP*SynPMPProjectData", "GJSX*OverdueWarningSendEmail", "User*postLoginOn", "get*token", "HazardRegister*getHazardRegisterTotalCount",
"HazardRegister*getHazardRegisterByProjectIdStates",
"JGZL*getUserList",
"JGZL*getProjedtList",