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
144 lines
4.9 KiB
C#
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
|
|
}
|
|
}
|