265 lines
12 KiB
C#
265 lines
12 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace BLL
|
|
{
|
|
/// <summary>
|
|
/// 违规人员记录
|
|
/// </summary>
|
|
public static class ViolationPersonService
|
|
{
|
|
public static Model.SUBQHSEDB db = Funs.DB;
|
|
|
|
/// <summary>
|
|
/// 根据主键获取违规人员记录
|
|
/// </summary>
|
|
/// <param name="violationPersonId"></param>
|
|
/// <returns></returns>
|
|
public static Model.Check_ViolationPerson GetViolationPersonById(string violationPersonId)
|
|
{
|
|
return Funs.DB.Check_ViolationPerson.FirstOrDefault(e => e.ViolationPersonId == violationPersonId);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取一段时间内人员违规人员次数
|
|
/// </summary>
|
|
/// <param name="startTime">开始时间</param>
|
|
/// <param name="endTime">结束时间</param>
|
|
/// <param name="handleStep">违规类型</param>
|
|
/// <returns></returns>
|
|
public static int GetViolationPersonNum(DateTime startTime, DateTime endTime, string handleStep, string projectId)
|
|
{
|
|
return (from x in Funs.DB.Check_ViolationPerson where x.ViolationDate >= startTime && x.ViolationDate < endTime && x.HandleStep == handleStep && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x).Count();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 添加违规人员记录
|
|
/// </summary>
|
|
/// <param name="violationPerson"></param>
|
|
public static void AddViolationPerson(Model.Check_ViolationPerson violationPerson)
|
|
{
|
|
Model.SUBQHSEDB db = Funs.DB;
|
|
Model.Check_ViolationPerson newViolationPerson = new Model.Check_ViolationPerson
|
|
{
|
|
ViolationPersonId = violationPerson.ViolationPersonId,
|
|
ProjectId = violationPerson.ProjectId,
|
|
ViolationPersonCode = violationPerson.ViolationPersonCode,
|
|
UnitId = violationPerson.UnitId,
|
|
PersonId = violationPerson.PersonId,
|
|
WorkPostId = violationPerson.WorkPostId,
|
|
ViolationDate = violationPerson.ViolationDate,
|
|
ViolationName = violationPerson.ViolationName,
|
|
ViolationType = violationPerson.ViolationType,
|
|
CompileMan = violationPerson.CompileMan
|
|
};
|
|
newViolationPerson.ViolationDate = violationPerson.ViolationDate;
|
|
newViolationPerson.States = violationPerson.States;
|
|
newViolationPerson.HandleStep = violationPerson.HandleStep;
|
|
newViolationPerson.ViolationDef = violationPerson.ViolationDef;
|
|
db.Check_ViolationPerson.InsertOnSubmit(newViolationPerson);
|
|
db.SubmitChanges();
|
|
CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectViolationPersonMenuId, violationPerson.ProjectId, null, violationPerson.ViolationPersonId, violationPerson.CompileDate);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改违规人员记录
|
|
/// </summary>
|
|
/// <param name="violationPerson"></param>
|
|
public static void UpdateViolationPerson(Model.Check_ViolationPerson violationPerson)
|
|
{
|
|
Model.SUBQHSEDB db = Funs.DB;
|
|
Model.Check_ViolationPerson newViolationPerson = db.Check_ViolationPerson.FirstOrDefault(e => e.ViolationPersonId == violationPerson.ViolationPersonId);
|
|
if (newViolationPerson != null)
|
|
{
|
|
//newViolationPerson.ProjectId = violationPerson.ProjectId;
|
|
newViolationPerson.ViolationPersonCode = violationPerson.ViolationPersonCode;
|
|
newViolationPerson.UnitId = violationPerson.UnitId;
|
|
newViolationPerson.PersonId = violationPerson.PersonId;
|
|
newViolationPerson.WorkPostId = violationPerson.WorkPostId;
|
|
newViolationPerson.ViolationDate = violationPerson.ViolationDate;
|
|
newViolationPerson.ViolationName = violationPerson.ViolationName;
|
|
newViolationPerson.ViolationType = violationPerson.ViolationType;
|
|
newViolationPerson.CompileMan = violationPerson.CompileMan;
|
|
newViolationPerson.ViolationDate = violationPerson.ViolationDate;
|
|
newViolationPerson.States = violationPerson.States;
|
|
newViolationPerson.HandleStep = violationPerson.HandleStep;
|
|
newViolationPerson.ViolationDef = violationPerson.ViolationDef;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据主键删除违规人员记录
|
|
/// </summary>
|
|
/// <param name="violationPersonId"></param>
|
|
public static void DeleteViolationPersonById(string violationPersonId)
|
|
{
|
|
Model.SUBQHSEDB db = Funs.DB;
|
|
Model.Check_ViolationPerson violationPerson = db.Check_ViolationPerson.FirstOrDefault(e => e.ViolationPersonId == violationPersonId);
|
|
if (violationPerson != null)
|
|
{
|
|
CodeRecordsService.DeleteCodeRecordsByDataId(violationPersonId);
|
|
CommonService.DeleteFlowOperateByID(violationPersonId);
|
|
db.Check_ViolationPerson.DeleteOnSubmit(violationPerson);
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
#region api
|
|
/// <summary>
|
|
/// 列表
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="EqName"></param>
|
|
/// <param name="State"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.ViolationPersonItem> getList(string projectId)
|
|
{
|
|
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
|
|
{
|
|
var list = (from x in db.Check_ViolationPerson
|
|
|
|
join a in db.Base_Unit on x.UnitId equals a.UnitId
|
|
into bn
|
|
from a in bn.DefaultIfEmpty()
|
|
|
|
join c in db.SitePerson_Person on x.PersonId equals c.PersonId
|
|
into su
|
|
from c in su.DefaultIfEmpty()
|
|
|
|
join b in db.Base_WorkPost on x.WorkPostId equals b.WorkPostId
|
|
into bw
|
|
from b in bw.DefaultIfEmpty()
|
|
|
|
where x.ProjectId == projectId
|
|
select new Model.ViolationPersonItem
|
|
{
|
|
ViolationPersonId = x.ViolationPersonId,
|
|
ViolationPersonCode =x.ViolationPersonCode,
|
|
ProjectId = x.ProjectId,
|
|
UnitId = x.UnitId,
|
|
UnitName = a.UnitName,
|
|
PersonId = x.PersonId,
|
|
PersonName = c.PersonName,
|
|
WorkPostId=x.WorkPostId,
|
|
WorkPostName=b.WorkPostName,
|
|
ViolationName=x.ViolationName,
|
|
ViolationNameC=db.Sys_Const.FirstOrDefault(sc=> sc.GroupId== "ViolationName" && sc.ConstValue==x.ViolationName).ConstText,
|
|
|
|
ViolationType = x.ViolationType,
|
|
ViolationTypeC= x.ViolationName=="1"?
|
|
db.Sys_Const.FirstOrDefault(sc => sc.GroupId == "ViolationType" && sc.ConstValue == x.ViolationType).ConstText:
|
|
db.Sys_Const.FirstOrDefault(sc => sc.GroupId == "ViolationTypeOther" && sc.ConstValue == x.ViolationType).ConstText,
|
|
|
|
ViolationDate= string.Format("{0:yyyy-MM-dd}", x.ViolationDate),
|
|
HandleStep=x.HandleStep,
|
|
HandleStepName= db.Sys_Const.FirstOrDefault(sc => sc.GroupId == "ViolationPersonHandleStep" && sc.ConstValue == x.ViolationName).ConstText,
|
|
ViolationDef=x.ViolationDef
|
|
}
|
|
).ToList();
|
|
|
|
return list;
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 加载详细
|
|
/// </summary>
|
|
/// <param name="Id"></param>
|
|
/// <returns></returns>
|
|
|
|
public static Model.ViolationPersonItem getDetail(string Id)
|
|
{
|
|
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
|
|
{
|
|
var list = (from x in db.Check_ViolationPerson
|
|
|
|
join a in db.Base_Unit on x.UnitId equals a.UnitId
|
|
into bn
|
|
from a in bn.DefaultIfEmpty()
|
|
|
|
join c in db.SitePerson_Person on x.PersonId equals c.PersonId
|
|
into su
|
|
from c in su.DefaultIfEmpty()
|
|
|
|
join b in db.Base_WorkPost on x.WorkPostId equals b.WorkPostId
|
|
into bw
|
|
from b in bw.DefaultIfEmpty()
|
|
|
|
where x.ViolationPersonId == Id
|
|
select new Model.ViolationPersonItem
|
|
{
|
|
ViolationPersonId = x.ViolationPersonId,
|
|
ViolationPersonCode = x.ViolationPersonCode,
|
|
ProjectId = x.ProjectId,
|
|
UnitId = x.UnitId,
|
|
UnitName = a.UnitName,
|
|
PersonId = x.PersonId,
|
|
PersonName = c.PersonName,
|
|
WorkPostId = x.WorkPostId,
|
|
WorkPostName = b.WorkPostName,
|
|
ViolationName = x.ViolationName,
|
|
ViolationNameC = db.Sys_Const.FirstOrDefault(sc => sc.GroupId == "ViolationName" && sc.ConstValue == x.ViolationName).ConstText,
|
|
|
|
ViolationType = x.ViolationType,
|
|
ViolationTypeC = x.ViolationName == "1" ?
|
|
db.Sys_Const.FirstOrDefault(sc => sc.GroupId == "ViolationType" && sc.ConstValue == x.ViolationType).ConstText :
|
|
db.Sys_Const.FirstOrDefault(sc => sc.GroupId == "ViolationTypeOther" && sc.ConstValue == x.ViolationType).ConstText,
|
|
|
|
ViolationDate = string.Format("{0:yyyy-MM-dd}", x.ViolationDate),
|
|
HandleStep = x.HandleStep,
|
|
HandleStepName = db.Sys_Const.FirstOrDefault(sc => sc.GroupId == "ViolationPersonHandleStep" && sc.ConstValue == x.HandleStep).ConstText,
|
|
ViolationDef = x.ViolationDef
|
|
}
|
|
).FirstOrDefault();
|
|
|
|
return list;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 编辑
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public static string SaveOrEdit(Model.ViolationPersonItem model)
|
|
{
|
|
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
|
|
{
|
|
Model.Check_ViolationPerson result = new Model.Check_ViolationPerson();
|
|
result.ViolationPersonId = model.ViolationPersonId;
|
|
result.ProjectId = model.ProjectId;
|
|
result.ViolationPersonCode = model.ViolationPersonCode;
|
|
result.UnitId = model.UnitId;
|
|
result.PersonId = model.PersonId;
|
|
result.WorkPostId = model.WorkPostId;
|
|
result.ViolationDate = Funs.GetNewDateTime(model.ViolationDate);
|
|
result.ViolationName = model.ViolationName;
|
|
result.ViolationType = model.ViolationType;
|
|
result.States = "2";
|
|
|
|
|
|
result.CompileMan = model.CompileMan;
|
|
result.HandleStep = model.HandleStep;
|
|
result.ViolationDef = model.ViolationDef;
|
|
|
|
if (string.IsNullOrEmpty(result.ViolationPersonId))
|
|
{
|
|
result.ViolationPersonId = Guid.NewGuid().ToString();
|
|
AddViolationPerson(result);
|
|
}
|
|
else
|
|
{
|
|
UpdateViolationPerson(result);
|
|
}
|
|
|
|
return "编辑成功";
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|