Files
SGGL_HBAZ/SGGL/WebAPI/Controllers/HSSE/HazardousMG/SafetyPatrolController.cs
T
yangjl 192824ea90 安全巡检接入真实数据库:编码字段自动生成、公示牌二维码修复、安全问题统计排除作废
- 安全巡检表新增编码字段(Code,全局唯一 XJ-序号),WebAPI/桌面端新增时自动生成,不可重复
- 修复危大超危工程公示牌二维码不显示:urlName 含非法字符?导致 image.Save 抛异常,改用主键+内容哈希安全文件名
- 安全问题统计(mainProject/main3)排除作废数据(States=4),图表口径与顶部计数一致
- Word 导出文件名改为 监督巡视部位+编号
- Model.cs 由 SqlMetal 重新生成,补齐巡检人ID/签收人ID/发现问题/处理要求等字段;新增 HSSE_SafetyPatrol.Code.cs 补充 Code 列
- 新增安全巡检完整建表脚本(SGGLDB_V2026-08-25-001);删除已过时的接口文档 SafetyPatrol_API.md
2026-08-26 19:13:11 +08:00

144 lines
4.9 KiB
C#

using BLL;
using System;
using System.Linq;
using System.Web.Http;
namespace WebAPI.Controllers.HSSE.HazardousMG
{
/// <summary>
/// 安全巡检
/// </summary>
public class SafetyPatrolController : ApiController
{
#region
/// <summary>
/// 获取安全巡检分页列表(按工程名称搜索,含附件)
/// </summary>
/// <param name="projectId">项目主键</param>
/// <param name="pageNumber">页码</param>
/// <param name="pageSize">每页条数</param>
/// <param name="keyword">工程名称关键字</param>
/// <returns></returns>
public Model.ResponeData getSafetyPatrolList(string projectId, int pageNumber, int pageSize, string keyword)
{
var responeData = new Model.ResponeData();
try
{
var dataList = APISafetyPatrolService.getSafetyPatrolList(projectId, keyword);
int totalCount = dataList.Count;
if (pageNumber > 0 && pageSize > 0)
{
dataList = dataList.Skip((pageNumber - 1) * pageSize).Take(pageSize).ToList();
}
////附件关联
foreach (var item in dataList)
{
item.AttachUrl = AttachFileService.getFileUrl(item.PatrolId, Const.SafetyPatrolMenuId);
item.RectifyAttachUrl = AttachFileService.getFileUrl(item.PatrolId, Const.SafetyPatrolRectifyMenuId);
}
responeData.data = new { totalCount, dataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 根据主键获取安全巡检详情
/// </summary>
/// <param name="patrolId">主键</param>
/// <returns></returns>
public Model.ResponeData getSafetyPatrolById(string patrolId)
{
var responeData = new Model.ResponeData();
try
{
var item = APISafetyPatrolService.getSafetyPatrolById(patrolId);
if (item != null)
{
////附件关联
item.AttachUrl = AttachFileService.getFileUrl(item.PatrolId, Const.SafetyPatrolMenuId);
item.RectifyAttachUrl = AttachFileService.getFileUrl(item.PatrolId, Const.SafetyPatrolRectifyMenuId);
}
responeData.data = item;
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 新增安全巡检
/// </summary>
/// <param name="item">巡检项</param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData addSafetyPatrol([FromBody] Model.SafetyPatrolItem item)
{
var responeData = new Model.ResponeData();
try
{
if (item == null || string.IsNullOrEmpty(item.ProjectId))
{
responeData.code = 0;
responeData.message = "项目主键不能为空!";
}
else
{
string patrolId = APISafetyPatrolService.addSafetyPatrol(item);
responeData.data = new { patrolId };
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 编辑安全巡检
/// </summary>
/// <param name="item">巡检项</param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData updateSafetyPatrol([FromBody] Model.SafetyPatrolItem item)
{
var responeData = new Model.ResponeData();
try
{
if (item == null || string.IsNullOrEmpty(item.PatrolId))
{
responeData.code = 0;
responeData.message = "巡检主键不能为空!";
}
else if (!APISafetyPatrolService.updateSafetyPatrol(item))
{
responeData.code = 0;
responeData.message = "未找到对应记录!";
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
}
}