2026-08-24 11:07:59 +08:00
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
|
|
|
|
namespace BLL
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 安全巡检API服务
|
|
|
|
|
/// </summary>
|
|
|
|
|
public static class APISafetyPatrolService
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据项目获取安全巡检列表(按工程名称搜索)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="projectId">项目主键</param>
|
|
|
|
|
/// <param name="keyword">工程名称关键字</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static List<Model.SafetyPatrolItem> getSafetyPatrolList(string projectId, string keyword)
|
|
|
|
|
{
|
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
|
|
|
{
|
|
|
|
|
IQueryable<Model.HSSE_SafetyPatrol> query = db.HSSE_SafetyPatrol.Where(x => x.ProjectId == projectId);
|
|
|
|
|
if (!string.IsNullOrEmpty(keyword))
|
|
|
|
|
{
|
|
|
|
|
query = query.Where(x => x.HazardProjectName.Contains(keyword));
|
|
|
|
|
}
|
|
|
|
|
var list = from x in query
|
|
|
|
|
orderby x.PatrolDate descending
|
|
|
|
|
select new Model.SafetyPatrolItem
|
|
|
|
|
{
|
|
|
|
|
PatrolId = x.PatrolId,
|
2026-08-26 19:13:11 +08:00
|
|
|
Code = x.Code,
|
2026-08-24 11:07:59 +08:00
|
|
|
ProjectId = x.ProjectId,
|
|
|
|
|
HazardProjectId = x.HazardProjectId,
|
|
|
|
|
HazardProjectName = x.HazardProjectName,
|
|
|
|
|
PatrolDate = x.PatrolDate,
|
|
|
|
|
PatrolMan = x.PatrolMan,
|
2026-08-26 19:13:11 +08:00
|
|
|
PatrolManId = x.PatrolManId,
|
2026-08-24 11:07:59 +08:00
|
|
|
PatrolStatus = x.PatrolStatus,
|
2026-08-26 19:13:11 +08:00
|
|
|
Content = x.Content,
|
|
|
|
|
Problems = x.Problems,
|
|
|
|
|
Receiver = x.Receiver,
|
|
|
|
|
ReceiverId = x.ReceiverId,
|
|
|
|
|
HandleRequire = x.HandleRequire,
|
|
|
|
|
RectifyReview = x.RectifyReview,
|
|
|
|
|
Remarks = x.Remarks
|
2026-08-24 11:07:59 +08:00
|
|
|
};
|
|
|
|
|
return list.ToList();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据主键获取安全巡检详情
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="patrolId">主键</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static Model.SafetyPatrolItem getSafetyPatrolById(string patrolId)
|
|
|
|
|
{
|
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
|
|
|
{
|
|
|
|
|
var x = db.HSSE_SafetyPatrol.FirstOrDefault(e => e.PatrolId == patrolId);
|
|
|
|
|
if (x == null)
|
|
|
|
|
{
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
return new Model.SafetyPatrolItem
|
|
|
|
|
{
|
|
|
|
|
PatrolId = x.PatrolId,
|
2026-08-26 19:13:11 +08:00
|
|
|
Code = x.Code,
|
2026-08-24 11:07:59 +08:00
|
|
|
ProjectId = x.ProjectId,
|
|
|
|
|
HazardProjectId = x.HazardProjectId,
|
|
|
|
|
HazardProjectName = x.HazardProjectName,
|
|
|
|
|
PatrolDate = x.PatrolDate,
|
|
|
|
|
PatrolMan = x.PatrolMan,
|
2026-08-26 19:13:11 +08:00
|
|
|
PatrolManId = x.PatrolManId,
|
2026-08-24 11:07:59 +08:00
|
|
|
PatrolStatus = x.PatrolStatus,
|
2026-08-26 19:13:11 +08:00
|
|
|
Content = x.Content,
|
|
|
|
|
Problems = x.Problems,
|
|
|
|
|
Receiver = x.Receiver,
|
|
|
|
|
ReceiverId = x.ReceiverId,
|
|
|
|
|
HandleRequire = x.HandleRequire,
|
|
|
|
|
RectifyReview = x.RectifyReview,
|
|
|
|
|
Remarks = x.Remarks
|
2026-08-24 11:07:59 +08:00
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 新增安全巡检(返回主键)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="item">巡检项</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static string addSafetyPatrol(Model.SafetyPatrolItem item)
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrEmpty(item.PatrolId))
|
|
|
|
|
{
|
|
|
|
|
item.PatrolId = Guid.NewGuid().ToString();
|
|
|
|
|
}
|
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
|
|
|
{
|
2026-08-26 19:13:11 +08:00
|
|
|
////编码为空时自动生成(全局唯一)
|
|
|
|
|
if (string.IsNullOrEmpty(item.Code))
|
|
|
|
|
{
|
|
|
|
|
item.Code = GetNewCode(db);
|
|
|
|
|
}
|
2026-08-24 11:07:59 +08:00
|
|
|
Model.HSSE_SafetyPatrol newItem = new Model.HSSE_SafetyPatrol
|
|
|
|
|
{
|
|
|
|
|
PatrolId = item.PatrolId,
|
2026-08-26 19:13:11 +08:00
|
|
|
Code = item.Code,
|
2026-08-24 11:07:59 +08:00
|
|
|
ProjectId = item.ProjectId,
|
|
|
|
|
HazardProjectId = item.HazardProjectId,
|
|
|
|
|
HazardProjectName = item.HazardProjectName,
|
|
|
|
|
PatrolDate = item.PatrolDate,
|
|
|
|
|
PatrolMan = item.PatrolMan,
|
2026-08-26 19:13:11 +08:00
|
|
|
PatrolManId = item.PatrolManId,
|
2026-08-24 11:07:59 +08:00
|
|
|
PatrolStatus = item.PatrolStatus,
|
2026-08-26 19:13:11 +08:00
|
|
|
Content = item.Content,
|
|
|
|
|
Problems = item.Problems,
|
|
|
|
|
Receiver = item.Receiver,
|
|
|
|
|
ReceiverId = item.ReceiverId,
|
|
|
|
|
HandleRequire = item.HandleRequire,
|
|
|
|
|
RectifyReview = item.RectifyReview,
|
|
|
|
|
Remarks = item.Remarks
|
2026-08-24 11:07:59 +08:00
|
|
|
};
|
|
|
|
|
db.HSSE_SafetyPatrol.InsertOnSubmit(newItem);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
////保存巡检图片附件
|
|
|
|
|
if (!string.IsNullOrEmpty(item.AttachUrl))
|
|
|
|
|
{
|
|
|
|
|
APIUpLoadFileService.SaveAttachUrl(Const.SafetyPatrolMenuId, item.PatrolId, item.AttachUrl, "0");
|
|
|
|
|
}
|
2026-08-26 19:13:11 +08:00
|
|
|
////保存整改图片附件
|
|
|
|
|
if (!string.IsNullOrEmpty(item.RectifyAttachUrl))
|
|
|
|
|
{
|
|
|
|
|
APIUpLoadFileService.SaveAttachUrl(Const.SafetyPatrolRectifyMenuId, item.PatrolId, item.RectifyAttachUrl, "0");
|
|
|
|
|
}
|
2026-08-24 11:07:59 +08:00
|
|
|
return item.PatrolId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 更新安全巡检
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="item">巡检项</param>
|
|
|
|
|
/// <returns>是否更新成功</returns>
|
|
|
|
|
public static bool updateSafetyPatrol(Model.SafetyPatrolItem item)
|
|
|
|
|
{
|
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
|
|
|
{
|
|
|
|
|
Model.HSSE_SafetyPatrol newItem = db.HSSE_SafetyPatrol.FirstOrDefault(x => x.PatrolId == item.PatrolId);
|
|
|
|
|
if (newItem == null)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
newItem.ProjectId = item.ProjectId;
|
|
|
|
|
newItem.HazardProjectId = item.HazardProjectId;
|
|
|
|
|
newItem.HazardProjectName = item.HazardProjectName;
|
|
|
|
|
newItem.PatrolDate = item.PatrolDate;
|
|
|
|
|
newItem.PatrolMan = item.PatrolMan;
|
2026-08-26 19:13:11 +08:00
|
|
|
newItem.PatrolManId = item.PatrolManId;
|
2026-08-24 11:07:59 +08:00
|
|
|
newItem.PatrolStatus = item.PatrolStatus;
|
|
|
|
|
newItem.Content = item.Content;
|
2026-08-26 19:13:11 +08:00
|
|
|
newItem.Problems = item.Problems;
|
|
|
|
|
newItem.Receiver = item.Receiver;
|
|
|
|
|
newItem.ReceiverId = item.ReceiverId;
|
|
|
|
|
newItem.HandleRequire = item.HandleRequire;
|
|
|
|
|
newItem.RectifyReview = item.RectifyReview;
|
|
|
|
|
newItem.Remarks = item.Remarks;
|
2026-08-24 11:07:59 +08:00
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
////保存巡检图片附件
|
|
|
|
|
if (!string.IsNullOrEmpty(item.AttachUrl))
|
|
|
|
|
{
|
|
|
|
|
APIUpLoadFileService.SaveAttachUrl(Const.SafetyPatrolMenuId, item.PatrolId, item.AttachUrl, "0");
|
|
|
|
|
}
|
2026-08-26 19:13:11 +08:00
|
|
|
////保存整改图片附件
|
|
|
|
|
if (!string.IsNullOrEmpty(item.RectifyAttachUrl))
|
|
|
|
|
{
|
|
|
|
|
APIUpLoadFileService.SaveAttachUrl(Const.SafetyPatrolRectifyMenuId, item.PatrolId, item.RectifyAttachUrl, "0");
|
|
|
|
|
}
|
2026-08-24 11:07:59 +08:00
|
|
|
return true;
|
|
|
|
|
}
|
2026-08-26 19:13:11 +08:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 生成新的巡检编码(全局唯一,前缀 XJ-,三位递增序号)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="db">数据库上下文</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
private static string GetNewCode(Model.SGGLDB db)
|
|
|
|
|
{
|
|
|
|
|
int max = 0;
|
|
|
|
|
foreach (Model.HSSE_SafetyPatrol item in db.HSSE_SafetyPatrol.ToList())
|
|
|
|
|
{
|
|
|
|
|
string code = item.Code;
|
|
|
|
|
if (!string.IsNullOrEmpty(code) && code.StartsWith("XJ-"))
|
|
|
|
|
{
|
|
|
|
|
int num = 0;
|
|
|
|
|
if (int.TryParse(code.Substring(3), out num) && num > max)
|
|
|
|
|
{
|
|
|
|
|
max = num;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return string.Format("XJ-{0:D3}", max + 1);
|
|
|
|
|
}
|
2026-08-24 11:07:59 +08:00
|
|
|
}
|
|
|
|
|
}
|