using System.Collections.Generic; using System.Linq; namespace BLL { /// /// 专项检查 /// public static class APICheckSpecialService { #region 获取专项检查详细 /// /// 获取专项检查详细 /// /// /// public static Model.CheckSpecialItem getCheckSpecialById(string CheckSpecialId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getInfo = from x in db.Check_CheckSpecial where x.CheckSpecialId == CheckSpecialId select new Model.CheckSpecialItem { CheckSpecialId = x.CheckSpecialId, ProjectId = x.ProjectId, CheckSpecialCode = x.CheckSpecialCode, CheckTypeName = (x.CheckType == "1" ? "联合" : "专项"), CheckType = x.CheckType, CheckItemSetId = x.CheckItemSetId, CheckItemSetName = db.Technique_CheckItemSet.First(y => y.CheckItemSetId == x.CheckItemSetId).CheckItemName, CheckPersonId = x.CheckPerson, CheckPersonName = db.Sys_User.First(u => u.UserId == x.CheckPerson).UserName, CheckTime = string.Format("{0:yyyy-MM-dd}", x.CheckTime), DaySummary = x.DaySummary, PartInUnitIds = x.PartInUnits, PartInUnitNames = UnitService.getUnitNamesUnitIds(x.PartInUnits), PartInPersonIds = x.PartInPersonIds, PartInPersonNames = UserService.getUserNamesUserIds(x.PartInPersonIds), PartInPersonNames2 = x.PartInPersonNames, CompileManId = x.CompileMan, CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName, States = x.States, AttachUrl1 = APIUpLoadFileService.getFileUrl(x.CheckSpecialId, null), CheckSpecialDetailItems = getCheckSpecialDetailList(x.CheckSpecialId), }; return getInfo.FirstOrDefault(); } } #endregion #region 获取专项检查列表信息 /// /// 获取专项检查列表信息 /// /// /// /// public static List getCheckSpecialList(string projectId, string states) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getCheckSpecial = from x in db.Check_CheckSpecial where x.ProjectId == projectId && x.States ==states orderby x.CheckSpecialCode descending select new Model.CheckSpecialItem { CheckSpecialId = x.CheckSpecialId, ProjectId = x.ProjectId, CheckSpecialCode = db.Sys_CodeRecords.First(y => y.DataId == x.CheckSpecialId).Code ?? x.CheckSpecialCode, CheckTypeName = (x.CheckType == "1" ? "联合" : "专项"), CheckType = x.CheckType, CheckItemSetId = x.CheckItemSetId, CheckItemSetName = db.Technique_CheckItemSet.First(y => y.CheckItemSetId == x.CheckItemSetId).CheckItemName, CheckPersonId = x.CheckPerson, CheckPersonName = db.Sys_User.First(u => u.UserId == x.CheckPerson).UserName, CheckTime = string.Format("{0:yyyy-MM-dd}", x.CheckTime), DaySummary = x.DaySummary, PartInUnitIds = x.PartInUnits, PartInUnitNames = UnitService.getUnitNamesUnitIds(x.PartInUnits), PartInPersonIds = x.PartInPersonIds, PartInPersonNames = UserService.getUserNamesUserIds(x.PartInPersonIds), PartInPersonNames2 = x.PartInPersonNames, CompileManId = x.CompileMan, CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName, States = x.States, AttachUrl1 = APIUpLoadFileService.getFileUrl(x.CheckSpecialId, null), }; return getCheckSpecial.ToList(); } } #endregion #region 保存Check_CheckSpecial /// /// 保存Check_CheckSpecial /// /// 处罚通知单 /// public static string SaveCheckSpecial(Model.CheckSpecialItem newItem) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { string message = string.Empty; Model.Check_CheckSpecial newCheckSpecial = new Model.Check_CheckSpecial { CheckSpecialId = newItem.CheckSpecialId, CheckSpecialCode = newItem.CheckSpecialCode, CheckItemSetId=newItem.CheckItemSetId, CheckType = newItem.CheckType, ProjectId = newItem.ProjectId, CheckPerson = newItem.CheckPersonId, CheckTime = Funs.GetNewDateTime(newItem.CheckTime), DaySummary = System.Web.HttpUtility.HtmlEncode(newItem.DaySummary), PartInUnits = newItem.PartInUnitIds, PartInPersonIds = newItem.PartInPersonIds, PartInPersons = UserService.getUserNamesUserIds(newItem.PartInPersonIds), PartInPersonNames = newItem.PartInPersonNames2, CompileMan = newItem.CompileManId, States = Const.State_0, }; //if (newItem.States != Const.State_1) //{ // newCheckSpecial.States = Const.State_0; //} if (newItem.CheckSpecialDetailItems == null || newItem.CheckSpecialDetailItems.Count() == 0) { if (newItem.States == Const.State_1) { newCheckSpecial.States = Const.State_2; } } var updateCheckSpecial = db.Check_CheckSpecial.FirstOrDefault(x => x.CheckSpecialId == newItem.CheckSpecialId); if (updateCheckSpecial == null) { newCheckSpecial.CheckSpecialId = SQLHelper.GetNewID(); newCheckSpecial.CheckSpecialCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectCheckSpecialMenuId, newCheckSpecial.ProjectId, string.Empty); db.Check_CheckSpecial.InsertOnSubmit(newCheckSpecial); db.SubmitChanges(); ////增加一条编码记录 BLL.CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(BLL.Const.ProjectCheckSpecialMenuId, newCheckSpecial.ProjectId, null, newCheckSpecial.CheckSpecialId, newCheckSpecial.CheckTime); } else { Check_CheckSpecialService.UpdateCheckSpecial(newCheckSpecial); //// 删除专项检查明细项 Check_CheckSpecialDetailService.DeleteCheckSpecialDetails(newCheckSpecial.CheckSpecialId); } ////保存附件 if (!string.IsNullOrEmpty(newItem.AttachUrl1)) { UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(newItem.AttachUrl1, 10, null), newItem.AttachUrl1, Const.ProjectCheckSpecialMenuId, newCheckSpecial.CheckSpecialId); } else { CommonService.DeleteAttachFileById(Const.ProjectCheckSpecialMenuId, newCheckSpecial.CheckSpecialId); } ///// 新增检查项 if (newItem.CheckSpecialDetailItems != null && newItem.CheckSpecialDetailItems.Count() > 0) { foreach (var item in newItem.CheckSpecialDetailItems) { item.CheckSpecialId = newCheckSpecial.CheckSpecialId; SaveCheckSpecialDetail(item); } //// 单据完成后 系统自动按照单位 整改要求生成隐患整改单 if (newItem.States == Const.State_1) { var getC = newItem.CheckSpecialDetailItems.FirstOrDefault(x => x.CompleteStatus == false); if (getC == null) { newCheckSpecial.States = Const.State_2; Check_CheckSpecialService.UpdateCheckSpecial(newCheckSpecial); } else { var getNA = newItem.CheckSpecialDetailItems.FirstOrDefault(x => x.CompleteStatus == false && (x.HandleStep== null || x.HandleStep=="")); if (getNA == null) { var detailLists = db.Check_CheckSpecialDetail.Where(x => x.CheckSpecialId == newCheckSpecial.CheckSpecialId && x.CompleteStatus == false); if (detailLists.Count() > 0) { message = Check_CheckSpecialService.IssueRectification(detailLists.ToList(), newCheckSpecial); } } else { message += "存在待整改,没有处理措施的记录!"; } } } } return message; } } #endregion #region 获取专项检查明细项列表 /// /// 获取专项检查明细项 /// /// /// public static List getCheckSpecialDetailList(string checkSpecialId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getInfo = from x in db.Check_CheckSpecialDetail where x.CheckSpecialId == checkSpecialId orderby x.SortIndex select new Model.CheckSpecialDetailItem { CheckSpecialDetailId = x.CheckSpecialDetailId, CheckSpecialId = x.CheckSpecialId, CheckItemSetId = x.CheckItem, CheckItemSetName = db.Technique_CheckItemSet.First(y => y.CheckItemSetId == x.CheckItem).CheckItemName, CheckContent = x.CheckContent, SortIndex = x.SortIndex, Unqualified = x.Unqualified, Suggestions = x.Suggestions, WorkArea = db.WBS_UnitWork.First(y=>y.UnitWorkId ==x.CheckArea).UnitWorkName, WorkAreaId=x.CheckArea, UnitId = x.UnitId, UnitName = db.Base_Unit.First(y => y.UnitId == x.UnitId).UnitName, HandleStep = x.HandleStep, HandleStepName = getNames(x.HandleStep), HiddenHazardType = x.HiddenHazardType, HiddenHazardTypeName = x.HiddenHazardType == "3" ? "重大" : (x.HiddenHazardType == "2" ? "较大" : "一般"), LimitedDate = string.Format("{0:yyyy-MM-dd}", x.LimitedDate), CompleteStatus = x.CompleteStatus, CompleteStatusName = x.CompleteStatus == true ? "已整改" : "待整改", CompletedDate = string.Format("{0:yyyy-MM-dd}", x.CompletedDate), AttachUrl1 = APIUpLoadFileService.getFileUrl(x.CheckSpecialDetailId, null), }; return getInfo.ToList(); } } /// /// /// /// private static string getNames(string constValue) { return ConstValue.getConstTextsConstValues(constValue, ConstValue.Group_HandleStep); } #endregion #region 获取专项检查明细项详细 /// /// 获取专项检查明细项详细 /// /// /// public static Model.CheckSpecialDetailItem getCheckSpecialDetailById(string checkSpecialDetailId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getInfo = from x in db.Check_CheckSpecialDetail where x.CheckSpecialDetailId == checkSpecialDetailId orderby x.SortIndex select new Model.CheckSpecialDetailItem { CheckSpecialDetailId = x.CheckSpecialDetailId, CheckSpecialId = x.CheckSpecialId, CheckItemSetId = x.CheckItem, CheckItemSetName = db.Technique_CheckItemSet.First(y => y.CheckItemSetId == x.CheckItem).CheckItemName, CheckContent = x.CheckContent, Unqualified = x.Unqualified, Suggestions = x.Suggestions, WorkArea = db.WBS_UnitWork.First(y => y.UnitWorkId == x.CheckArea).UnitWorkName, WorkAreaId = x.CheckArea, UnitId = x.UnitId, UnitName = db.Base_Unit.First(y => y.UnitId == x.UnitId).UnitName, HandleStep = x.HandleStep, HandleStepName = getNames(x.HandleStep), HiddenHazardType = x.HiddenHazardType, HiddenHazardTypeName = x.HiddenHazardType == "3" ? "重大" : (x.HiddenHazardType == "2" ? "较大" : "一般"), LimitedDate = string.Format("{0:yyyy-MM-dd}", x.LimitedDate), CompleteStatus = x.CompleteStatus, CompleteStatusName = x.CompleteStatus == true ? "已整改" : "待整改", AttachUrl1 = APIUpLoadFileService.getFileUrl(x.CheckSpecialDetailId, null), CheckItemDetailSetId=x.CheckItemSetId, CheckItemDetailContent=x.CheckItemSetContent, Rectification_Date=x.Rectification_Date }; return getInfo.First(); } } #endregion #region 保存专项检查明细项 /// /// 保存专项检查明细项 /// /// public static void SaveCheckSpecialDetail(Model.CheckSpecialDetailItem newDetail) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { if (!string.IsNullOrEmpty(newDetail.CheckSpecialId)) { Model.Check_CheckSpecialDetail newCheckSpecialDetail = new Model.Check_CheckSpecialDetail { CheckSpecialId = newDetail.CheckSpecialId, SortIndex = newDetail.SortIndex, CheckItemType = newDetail.CheckItemSetName, Unqualified = newDetail.Unqualified, UnitId = newDetail.UnitId, HandleStep = newDetail.HandleStep, HiddenHazardType = newDetail.HiddenHazardType, CompleteStatus = newDetail.CompleteStatus ?? false, RectifyNoticeId = newDetail.RectifyNoticeId, LimitedDate = Funs.GetNewDateTime(newDetail.LimitedDate), CompletedDate = Funs.GetNewDateTime(newDetail.CompletedDate), Suggestions = newDetail.Suggestions, WorkArea = newDetail.WorkArea, CheckArea = newDetail.WorkAreaId, CheckContent = newDetail.CheckContent, //整改日期、检查内容、检查内容id CheckItemSetId= newDetail.CheckItemDetailSetId, CheckItemSetContent= newDetail.CheckItemDetailContent, Rectification_Date=newDetail.Rectification_Date }; if (newCheckSpecialDetail.CompleteStatus == false && newCheckSpecialDetail.HandleStep.Contains("1") && string.IsNullOrEmpty(newCheckSpecialDetail.HiddenHazardType)) { newCheckSpecialDetail.HiddenHazardType = "1"; } var getUnit = UnitService.GetUnitByUnitId(newDetail.UnitId); if (getUnit != null) { newCheckSpecialDetail.UnitId = newDetail.UnitId; } var getCheckItem = db.Technique_CheckItemSet.FirstOrDefault(x => x.CheckItemSetId == newDetail.CheckItemSetId); if (getCheckItem != null) { newCheckSpecialDetail.CheckItem = newDetail.CheckItemSetId; } var updateDetail = db.Check_CheckSpecialDetail.FirstOrDefault(x => x.CheckSpecialDetailId == newDetail.CheckSpecialDetailId); if (updateDetail == null) { newCheckSpecialDetail.CheckSpecialDetailId = SQLHelper.GetNewID(); db.Check_CheckSpecialDetail.InsertOnSubmit(newCheckSpecialDetail); db.SubmitChanges(); } else { newCheckSpecialDetail.CheckSpecialDetailId = updateDetail.CheckSpecialDetailId; updateDetail.CheckItem = newCheckSpecialDetail.CheckItem; updateDetail.CheckItemType = newCheckSpecialDetail.CheckItemType; updateDetail.SortIndex = newCheckSpecialDetail.SortIndex; updateDetail.Unqualified = newCheckSpecialDetail.Unqualified; updateDetail.UnitId = newCheckSpecialDetail.UnitId; updateDetail.HandleStep = newCheckSpecialDetail.HandleStep; updateDetail.HiddenHazardType = newCheckSpecialDetail.HiddenHazardType; updateDetail.CompleteStatus = newCheckSpecialDetail.CompleteStatus; updateDetail.RectifyNoticeId = newCheckSpecialDetail.RectifyNoticeId; updateDetail.LimitedDate = newCheckSpecialDetail.LimitedDate; updateDetail.CompletedDate = newCheckSpecialDetail.CompletedDate; updateDetail.Suggestions = newCheckSpecialDetail.Suggestions; updateDetail.WorkArea = newCheckSpecialDetail.WorkArea; updateDetail.CheckArea = newCheckSpecialDetail.CheckArea; updateDetail.CheckContent = newCheckSpecialDetail.CheckContent; //整改日期、检查内容、检查内容id updateDetail.CheckItemSetId = newDetail.CheckItemDetailSetId; updateDetail.CheckItemSetContent = newDetail.CheckItemDetailContent; updateDetail.Rectification_Date = newDetail.Rectification_Date; db.SubmitChanges(); } ////保存附件 if (!string.IsNullOrEmpty(newDetail.AttachUrl1)) { UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(newDetail.AttachUrl1, 10, null), newDetail.AttachUrl1, Const.ProjectCheckSpecialMenuId, newCheckSpecialDetail.CheckSpecialDetailId); } else { CommonService.DeleteAttachFileById(Const.ProjectCheckSpecialMenuId, newCheckSpecialDetail.CheckSpecialDetailId); } } } } #endregion } }