using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace BLL { /// /// 违规人员记录 /// public static class ViolationPersonService { public static Model.SUBQHSEDB db = Funs.DB; /// /// 根据主键获取违规人员记录 /// /// /// public static Model.Check_ViolationPerson GetViolationPersonById(string violationPersonId) { return Funs.DB.Check_ViolationPerson.FirstOrDefault(e => e.ViolationPersonId == violationPersonId); } /// /// 获取一段时间内人员违规人员次数 /// /// 开始时间 /// 结束时间 /// 违规类型 /// 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(); } /// /// 添加违规人员记录 /// /// 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); } /// /// 修改违规人员记录 /// /// 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(); } } /// /// 根据主键删除违规人员记录 /// /// 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 /// /// 列表 /// /// /// /// /// public static List 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; } } /// /// 加载详细 /// /// /// 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; } } /// /// 编辑 /// /// /// 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 } }