Files
SGGL_HBAZ/SGGL/BLL/API/HSSE/APISafetyPatrolService.cs
T

208 lines
8.4 KiB
C#
Raw Normal View History

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,
Code = x.Code,
ProjectId = x.ProjectId,
HazardProjectId = x.HazardProjectId,
HazardProjectName = x.HazardProjectName,
PatrolDate = x.PatrolDate,
PatrolMan = x.PatrolMan,
PatrolManId = x.PatrolManId,
PatrolStatus = x.PatrolStatus,
Content = x.Content,
Problems = x.Problems,
Receiver = x.Receiver,
ReceiverId = x.ReceiverId,
HandleRequire = x.HandleRequire,
RectifyReview = x.RectifyReview,
Remarks = x.Remarks
};
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,
Code = x.Code,
ProjectId = x.ProjectId,
HazardProjectId = x.HazardProjectId,
HazardProjectName = x.HazardProjectName,
PatrolDate = x.PatrolDate,
PatrolMan = x.PatrolMan,
PatrolManId = x.PatrolManId,
PatrolStatus = x.PatrolStatus,
Content = x.Content,
Problems = x.Problems,
Receiver = x.Receiver,
ReceiverId = x.ReceiverId,
HandleRequire = x.HandleRequire,
RectifyReview = x.RectifyReview,
Remarks = x.Remarks
};
}
}
/// <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))
{
////编码为空时自动生成(全局唯一)
if (string.IsNullOrEmpty(item.Code))
{
item.Code = GetNewCode(db);
}
Model.HSSE_SafetyPatrol newItem = new Model.HSSE_SafetyPatrol
{
PatrolId = item.PatrolId,
Code = item.Code,
ProjectId = item.ProjectId,
HazardProjectId = item.HazardProjectId,
HazardProjectName = item.HazardProjectName,
PatrolDate = item.PatrolDate,
PatrolMan = item.PatrolMan,
PatrolManId = item.PatrolManId,
PatrolStatus = item.PatrolStatus,
Content = item.Content,
Problems = item.Problems,
Receiver = item.Receiver,
ReceiverId = item.ReceiverId,
HandleRequire = item.HandleRequire,
RectifyReview = item.RectifyReview,
Remarks = item.Remarks
};
db.HSSE_SafetyPatrol.InsertOnSubmit(newItem);
db.SubmitChanges();
}
////保存巡检图片附件
if (!string.IsNullOrEmpty(item.AttachUrl))
{
APIUpLoadFileService.SaveAttachUrl(Const.SafetyPatrolMenuId, item.PatrolId, item.AttachUrl, "0");
}
////保存整改图片附件
if (!string.IsNullOrEmpty(item.RectifyAttachUrl))
{
APIUpLoadFileService.SaveAttachUrl(Const.SafetyPatrolRectifyMenuId, item.PatrolId, item.RectifyAttachUrl, "0");
}
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;
newItem.PatrolManId = item.PatrolManId;
newItem.PatrolStatus = item.PatrolStatus;
newItem.Content = item.Content;
newItem.Problems = item.Problems;
newItem.Receiver = item.Receiver;
newItem.ReceiverId = item.ReceiverId;
newItem.HandleRequire = item.HandleRequire;
newItem.RectifyReview = item.RectifyReview;
newItem.Remarks = item.Remarks;
db.SubmitChanges();
}
////保存巡检图片附件
if (!string.IsNullOrEmpty(item.AttachUrl))
{
APIUpLoadFileService.SaveAttachUrl(Const.SafetyPatrolMenuId, item.PatrolId, item.AttachUrl, "0");
}
////保存整改图片附件
if (!string.IsNullOrEmpty(item.RectifyAttachUrl))
{
APIUpLoadFileService.SaveAttachUrl(Const.SafetyPatrolRectifyMenuId, item.PatrolId, item.RectifyAttachUrl, "0");
}
return true;
}
/// <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);
}
}
}