/// <summary> /// 保存Check_CheckSpecial /// </summary> /// <param name="newItem">处罚通知单</param> /// <returns></returns> public static string SaveCheckSpecial(Model.CheckSpecialItem newItem) { using (Model.SUBHSSEDB db = new Model.SUBHSSEDB(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_2, }; if (newItem.States != "1") { newCheckSpecial.States = Const.State_0; } 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 (newCheckSpecial.States == "1") { CommonService.btnSaveData(newCheckSpecial.ProjectId, Const.ProjectCheckSpecialMenuId, newCheckSpecial.CheckSpecialId, newCheckSpecial.CompileMan, true, newCheckSpecial.CheckSpecialCode, "../Check/CheckSpecialView.aspx?CheckSpecialId={0}"); } ////保存附件 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 (newCheckSpecial.States == Const.State_2) { SaveNewRectifyNotices(newItem); message = "已生成整改单,请在隐患整改单待提交中签发!"; } } return(message); } }
/// <summary> /// 生成隐患整改单 /// </summary> /// <param name="newItem"></param> public static void SaveNewRectifyNotices(Model.CheckSpecialItem newItem) { var newDetail = newItem.CheckSpecialDetailItems.Where(x => x.HandleStep == "3" && (!x.CompleteStatus.HasValue || x.CompleteStatus == false)); if (newDetail.Count() > 0) { var getUnitIdList = newDetail.Select(x => x.UnitId).Distinct(); foreach (var uItem in getUnitIdList) { Model.RectifyNoticesItem newRectifyNotices = new Model.RectifyNoticesItem { ProjectId = newItem.ProjectId, UnitId = uItem, CheckManNames = newItem.PartInPersonNames, CheckManIds = newItem.CheckPersonId, CheckedDate = newItem.CheckTime, HiddenHazardType = "1", CompleteManId = newItem.CompileManId, States = Const.State_0, AttachUrl = newItem.AttachUrl1, }; if (!string.IsNullOrEmpty(newItem.PartInPersonIds)) { newRectifyNotices.CheckManIds += (',' + newItem.PartInPersonIds); } var getDetails = newDetail.Where(x => x.UnitId == uItem); if (getDetails.Count() > 0) { string workAreaIds = null; newRectifyNotices.RectifyNoticesItemItem = new List <Model.RectifyNoticesItemItem>(); foreach (var dItem in getDetails) { Model.RectifyNoticesItemItem newRectifyNoticesItem = new Model.RectifyNoticesItemItem { WrongContent = dItem.CheckItemSetName + dItem.CheckContent + dItem.Unqualified, Requirement = dItem.Suggestions, LimitTime = dItem.LimitedDate, PhotoBeforeUrl = dItem.AttachUrl1, }; if (string.IsNullOrEmpty(workAreaIds)) { workAreaIds = dItem.WorkAreaId; } else { workAreaIds += "," + dItem.WorkAreaId; } if (string.IsNullOrEmpty(dItem.CheckSpecialDetailId)) { newRectifyNotices.CheckSpecialDetailId = dItem.CheckSpecialDetailId; } else { newRectifyNotices.CheckSpecialDetailId += "," + dItem.CheckSpecialDetailId; } newRectifyNotices.RectifyNoticesItemItem.Add(newRectifyNoticesItem); } newRectifyNotices.WorkAreaId = workAreaIds; APIRectifyNoticesService.SaveRectifyNotices(newRectifyNotices); } } } }