Exemple #1
0
        /// <summary>
        /// 根据ReceiveFileManagerId获取来文详细信息
        /// </summary>
        /// <param name="receiveFileManagerId">来文ID</param>
        /// <param name="fileType">来文类型(0-项目发文;1-公司来文)</param>
        /// <returns>来文详细</returns>
        public static Model.ReceiveFileManagerItem getReceiveFileManagerById(string receiveFileManagerId, string fileType)
        {
            var getReceiveFileManagerItem = (from x in Funs.DB.InformationProject_ReceiveFileManager
                                             where x.ReceiveFileManagerId == receiveFileManagerId && x.FileType == fileType
                                             select new Model.ReceiveFileManagerItem
            {
                ReceiveFileManagerId = x.ReceiveFileManagerId,
                ProjectId = x.ProjectId,
                ReceiveFileCode = x.ReceiveFileCode,
                ReceiveFileName = x.ReceiveFileName,
                Version = x.Version,
                FileUnitId = x.FileUnitId,
                FileUnitName = Funs.DB.Base_Unit.First(u => u.UnitId == x.FileUnitId).UnitName,
                FileCode = x.FileCode,
                FilePageNum = x.FilePageNum,
                GetFileDate = string.Format("{0:yyyy-MM-dd}", x.GetFileDate),
                SendPersonId = x.SendPersonId,
                SendPersonName = Funs.DB.Sys_User.First(u => u.UserId == x.SendPersonId).UserName,
                MainContent = x.MainContent,
                UnitIds = x.UnitIds,
                UnitNames = UnitService.getUnitNamesUnitIds(x.UnitIds),
                FileAttachUrl = APIUpLoadFileService.getFileUrl(x.ReceiveFileManagerId, null),
                ReplyFileAttachUrl = APIUpLoadFileService.getFileUrl(x.ReceiveFileManagerId + "#1", null),
            }).FirstOrDefault();

            return(getReceiveFileManagerItem);
        }
        /// <summary>
        /// 获取工程暂停令列表信息
        /// </summary>
        /// <param name="projectId"></param>
        /// <param name="unitId"></param>
        /// <param name="strParam"></param>
        /// <returns></returns>
        public static List <Model.PauseNoticeItem> getPauseNoticeList(string projectId, string unitId, string strParam, string states)
        {
            var getPauseNotice = from x in Funs.DB.Check_PauseNotice
                                 where x.ProjectId == projectId && (x.UnitId == unitId || unitId == null) && x.States == states
                                 select new Model.PauseNoticeItem
            {
                PauseNoticeId        = x.PauseNoticeId,
                ProjectId            = x.ProjectId,
                PauseNoticeCode      = x.PauseNoticeCode,
                UnitId               = x.UnitId,
                UnitName             = Funs.DB.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
                ProjectPlace         = x.ProjectPlace,
                WrongContent         = x.WrongContent,
                PauseTime            = string.Format("{0:yyyy-MM-dd HH:mm}", x.PauseTime),
                PauseContent         = x.PauseContent,
                IsConfirm            = x.IsConfirm,
                IsConfirmName        = (x.IsConfirm == true ? "已确认" : "待确认"),
                CompileManId         = x.CompileManId,
                CompileManName       = Funs.DB.Sys_User.First(z => z.UserId == x.CompileManId).UserName,
                CompileDate          = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompileDate),
                States               = x.States,
                PauseStates          = x.PauseStates,
                PauseNoticeAttachUrl = APIUpLoadFileService.getFileUrl(x.PauseNoticeId, null),
            };

            if (!string.IsNullOrEmpty(strParam))
            {
                getPauseNotice = getPauseNotice.Where(x => x.PauseNoticeCode.Contains(strParam) || x.WrongContent.Contains(strParam) || x.PauseContent.Contains(strParam));
            }
            return(getPauseNotice.OrderByDescending(x => x.PauseNoticeCode).ToList());
        }
Exemple #3
0
        /// <summary>
        /// 项目图片信息保存方法
        /// </summary>
        /// <param name="picture">图片信息</param>
        public static void SaveProjectPicture(Model.PictureItem picture)
        {
            Model.InformationProject_Picture newPicture = new Model.InformationProject_Picture
            {
                PictureId   = picture.PictureId,
                ProjectId   = picture.ProjectId,
                Title       = picture.Title,
                ContentDef  = picture.ContentDef,
                PictureType = picture.PictureTypeId,
                UploadDate  = System.DateTime.Now,
                States      = Const.State_2,
                CompileMan  = picture.CompileManId,
            };

            if (string.IsNullOrEmpty(newPicture.PictureId))
            {
                newPicture.PictureId = SQLHelper.GetNewID();
                PictureService.AddPicture(newPicture);
            }
            else
            {
                PictureService.UpdatePicture(newPicture);
            }

            CommonService.btnSaveData(newPicture.ProjectId, Const.ProjectPictureMenuId, newPicture.PictureId, newPicture.CompileMan, true, newPicture.Title, "../InformationProject/PictureView.aspx?PictureId={0}");
            //// 保存附件
            APIUpLoadFileService.SaveAttachUrl(Const.ProjectPictureMenuId, newPicture.PictureId, picture.AttachUrl, "0");
        }
Exemple #4
0
        /// <summary>
        /// 获取专项检查列表信息
        /// </summary>
        /// <param name="projectId"></param>
        /// <param name="states"></param>
        /// <returns></returns>
        public static List <Model.CheckSpecialItem> getCheckSpecialList(string projectId, string states)
        {
            var getCheckSpecial = from x in Funs.DB.Check_CheckSpecial
                                  where x.ProjectId == projectId && (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2")))
                                  orderby x.CheckSpecialCode descending
                                  select new Model.CheckSpecialItem
            {
                CheckSpecialId     = x.CheckSpecialId,
                ProjectId          = x.ProjectId,
                CheckSpecialCode   = Funs.DB.Sys_CodeRecords.First(y => y.DataId == x.CheckSpecialId).Code ?? x.CheckSpecialCode,
                CheckType          = x.CheckType == "0" ? "周检" : (x.CheckType == "1" ? "月检" : "其他"),
                CheckItemSetId     = x.CheckItemSetId,
                CheckItemSetName   = Funs.DB.Technique_CheckItemSet.First(y => y.CheckItemSetId == x.CheckItemSetId).CheckItemName,
                CheckPersonId      = x.CheckPerson,
                CheckPersonName    = Funs.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     = Funs.DB.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
                States             = x.States,
                AttachUrl1         = APIUpLoadFileService.getFileUrl(x.CheckSpecialId, null),
            };

            return(getCheckSpecial.ToList());
        }
Exemple #5
0
        /// <summary>
        ///  根据主键ID获取应急预案信息
        /// </summary>
        /// <param name="emergencyListId"></param>
        /// <returns></returns>
        public static Model.FileInfoItem getEmergencyListByEmergencyListId(string emergencyListId)
        {
            var getInfo = from x in Funs.DB.Emergency_EmergencyList
                          where x.EmergencyListId == emergencyListId
                          select new Model.FileInfoItem
            {
                FileId         = x.EmergencyListId,
                ProjectId      = x.ProjectId,
                FileCode       = x.EmergencyCode,
                FileName       = x.EmergencyName,
                FileType       = Funs.DB.Base_EmergencyType.First(y => y.EmergencyTypeId == x.EmergencyTypeId).EmergencyTypeName,
                FileTypeId     = x.EmergencyTypeId,
                UnitId         = x.UnitId,
                UnitName       = Funs.DB.Base_Unit.First(y => y.UnitId == x.UnitId).UnitName,
                FileContent    = System.Web.HttpUtility.HtmlDecode(x.EmergencyContents),
                CompileManId   = x.CompileMan,
                CompileManName = Funs.DB.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
                CompileDate    = string.Format("{0:yyyy-MM-dd}", x.CompileDate),
                AuditManId     = x.AuditMan,
                AuditManName   = Funs.DB.Sys_User.First(u => u.UserId == x.AuditMan).UserName,
                ApproveManId   = x.ApproveMan,
                ApproveManName = Funs.DB.Sys_User.First(u => u.UserId == x.ApproveMan).UserName,
                States         = x.States,
                MenuType       = "1",
                AttachUrl      = APIUpLoadFileService.getFileUrl(x.EmergencyListId, x.AttachUrl),
            };

            return(getInfo.FirstOrDefault());
        }
Exemple #6
0
        /// <summary>
        ///  获取专项检查详细
        /// </summary>
        /// <param name="CheckSpecialId"></param>
        /// <returns></returns>
        public static Model.CheckSpecialItem getCheckSpecialById(string CheckSpecialId)
        {
            var getInfo = from x in Funs.DB.Check_CheckSpecial
                          where x.CheckSpecialId == CheckSpecialId
                          select new Model.CheckSpecialItem
            {
                CheckSpecialId          = x.CheckSpecialId,
                ProjectId               = x.ProjectId,
                CheckSpecialCode        = x.CheckSpecialCode,
                CheckType               = x.CheckType == "0"? "周检":(x.CheckType == "1" ? "月检" :"其他"),
                CheckItemSetId          = x.CheckItemSetId,
                CheckItemSetName        = Funs.DB.Technique_CheckItemSet.First(y => y.CheckItemSetId == x.CheckItemSetId).CheckItemName,
                CheckPersonId           = x.CheckPerson,
                CheckPersonName         = Funs.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          = Funs.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());
        }
Exemple #7
0
        /// <summary>
        ///  获取专项检查明细项详细
        /// </summary>
        /// <param name="checkSpecialDetailId"></param>
        /// <returns></returns>
        public static Model.CheckSpecialDetailItem getCheckSpecialDetailById(string checkSpecialDetailId)
        {
            var getInfo = from x in Funs.DB.Check_CheckSpecialDetail
                          where x.CheckSpecialDetailId == checkSpecialDetailId
                          select new Model.CheckSpecialDetailItem
            {
                CheckSpecialDetailId = x.CheckSpecialDetailId,
                CheckSpecialId       = x.CheckSpecialId,
                CheckItemSetId       = x.CheckItem,
                CheckItemSetName     = Funs.DB.Technique_CheckItemSet.First(y => y.CheckItemSetId == x.CheckItem).CheckItemName,
                CheckContent         = x.CheckContent,
                Unqualified          = x.Unqualified,
                Suggestions          = x.Suggestions,
                WorkArea             = Funs.DB.ProjectData_WorkArea.First(y => y.WorkAreaId == x.CheckArea).WorkAreaName,
                WorkAreaId           = x.CheckArea,
                UnitId             = x.UnitId,
                UnitName           = Funs.DB.Base_Unit.First(y => y.UnitId == x.UnitId).UnitName,
                HandleStep         = x.HandleStep,
                HandleStepName     = Funs.DB.Sys_Const.First(y => y.GroupId == ConstValue.Group_HandleStep && y.ConstValue == x.HandleStep).ConstText,
                LimitedDate        = string.Format("{0:yyyy-MM-dd}", x.LimitedDate),
                CompleteStatus     = x.CompleteStatus,
                CompleteStatusName = x.CompleteStatus == true ? "已完成" : "待完成",
                AttachUrl1         = APIUpLoadFileService.getFileUrl(x.CheckSpecialDetailId, null),
            };

            return(getInfo.First());
        }
Exemple #8
0
        /// <summary>
        /// 获取应急预案列表信息
        /// </summary>
        /// <param name="projectId"></param>
        /// <param name="unitId"></param>
        /// <param name="strParam"></param>
        /// <returns></returns>
        public static List <Model.FileInfoItem> getEmergencyList(string projectId, string unitId, string strParam)
        {
            var getDataList = from x in Funs.DB.Emergency_EmergencyList
                              where x.ProjectId == projectId && (x.UnitId == unitId || unitId == null) &&
                              (strParam == null || x.EmergencyName.Contains(strParam) || x.EmergencyCode.Contains(strParam))
                              orderby x.EmergencyCode descending
                              select new Model.FileInfoItem
            {
                FileId         = x.EmergencyListId,
                ProjectId      = x.ProjectId,
                FileCode       = x.EmergencyCode,
                FileName       = x.EmergencyName,
                FileType       = Funs.DB.Base_EmergencyType.First(y => y.EmergencyTypeId == x.EmergencyTypeId).EmergencyTypeName,
                FileTypeId     = x.EmergencyTypeId,
                UnitId         = x.UnitId,
                UnitName       = Funs.DB.Base_Unit.First(y => y.UnitId == x.UnitId).UnitName,
                FileContent    = x.EmergencyContents,
                CompileManId   = x.CompileMan,
                CompileManName = Funs.DB.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
                CompileDate    = string.Format("{0:yyyy-MM-dd}", x.CompileDate),
                AuditManId     = x.AuditMan,
                AuditManName   = Funs.DB.Sys_User.First(u => u.UserId == x.AuditMan).UserName,
                ApproveManId   = x.ApproveMan,
                ApproveManName = Funs.DB.Sys_User.First(u => u.UserId == x.ApproveMan).UserName,
                States         = x.States,
                MenuType       = "1",
                AttachUrl      = APIUpLoadFileService.getFileUrl(x.EmergencyListId, x.AttachUrl),
            };

            return(getDataList.ToList());
        }
Exemple #9
0
        /// <summary>
        /// 项目地图信息保存方法
        /// </summary>
        /// <param name="projectMap">地图信息</param>
        public static void SaveProjectMap(Model.PictureItem projectMap)
        {
            Model.InformationProject_ProjectMap newProjectMap = new Model.InformationProject_ProjectMap
            {
                ProjectMapId = projectMap.PictureId,
                ProjectId    = projectMap.ProjectId,
                Title        = projectMap.Title,
                ContentDef   = projectMap.ContentDef,
                MapType      = projectMap.PictureTypeId,
                UploadDate   = System.DateTime.Now,
                CompileMan   = projectMap.CompileManId,
            };

            if (string.IsNullOrEmpty(newProjectMap.ProjectMapId))
            {
                newProjectMap.ProjectMapId = SQLHelper.GetNewID();
                ProjectMapService.AddProjectMap(newProjectMap);
            }
            else
            {
                ProjectMapService.UpdateProjectMap(newProjectMap);
            }
            //// 保存附件
            APIUpLoadFileService.SaveAttachUrl(Const.ProjectProjectMapMenuId, newProjectMap.ProjectMapId, projectMap.AttachUrl, "0");
        }
        /// <summary>
        ///  根据 PauseNoticeId获取工程暂停令
        /// </summary>
        /// <param name="PauseNoticeId"></param>
        /// <returns></returns>
        public static Model.PauseNoticeItem getPauseNoticeById(string PauseNoticeId)
        {
            var getInfo = from x in Funs.DB.Check_PauseNotice
                          where x.PauseNoticeId == PauseNoticeId
                          select new Model.PauseNoticeItem
            {
                PauseNoticeId            = x.PauseNoticeId,
                ProjectId                = x.ProjectId,
                PauseNoticeCode          = x.PauseNoticeCode,
                UnitId                   = x.UnitId,
                UnitName                 = Funs.DB.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
                ProjectPlace             = x.ProjectPlace,
                WrongContent             = x.WrongContent,
                PauseTime                = string.Format("{0:yyyy-MM-dd HH:mm}", x.PauseTime),
                PauseContent             = x.PauseContent,
                OneContent               = x.OneContent,
                SecondContent            = x.SecondContent,
                ThirdContent             = x.ThirdContent,
                IsConfirm                = x.IsConfirm,
                IsConfirmName            = (x.IsConfirm == true ? "已确认" : "待确认"),
                CompileManId             = x.CompileManId,
                CompileManName           = Funs.DB.Sys_User.First(u => u.UserId == x.CompileManId).UserName,
                CompileDate              = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompileDate),
                SignManId                = x.SignManId,
                SignManName              = Funs.DB.Sys_User.First(u => u.UserId == x.SignManId).UserName,
                SignDate                 = string.Format("{0:yyyy-MM-dd HH:mm}", x.SignDate),
                ApproveManId             = x.ApproveManId,
                ApproveManName           = Funs.DB.Sys_User.First(u => u.UserId == x.ApproveManId).UserName,
                ApproveDate              = string.Format("{0:yyyy-MM-dd HH:mm}", x.ApproveDate),
                DutyPersonId             = x.DutyPersonId,
                DutyPersonName           = Funs.DB.Sys_User.First(u => u.UserId == x.DutyPersonId).UserName,
                DutyPersonDate           = string.Format("{0:yyyy-MM-dd HH:mm}", x.DutyPersonDate),
                ProfessionalEngineerId   = x.ProfessionalEngineerId,
                ProfessionalEngineerName = Funs.DB.Sys_User.First(u => u.UserId == x.ProfessionalEngineerId).UserName,
                ProfessionalEngineerTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.ProfessionalEngineerTime),
                ConstructionManagerId    = x.ConstructionManagerId,
                ConstructionManagerName  = Funs.DB.Sys_User.First(u => u.UserId == x.ConstructionManagerId).UserName,
                ConstructionManagerTime  = string.Format("{0:yyyy-MM-dd HH:mm}", x.ConstructionManagerTime),
                UnitHeadManId            = x.UnitHeadManId,
                UnitHeadManName          = Funs.DB.Sys_User.First(u => u.UserId == x.UnitHeadManId).UserName,
                UnitHeadManTime          = string.Format("{0:yyyy-MM-dd HH:mm}", x.UnitHeadManTime),
                SupervisorManId          = x.SupervisorManId,
                SupervisorManName        = Funs.DB.Sys_User.First(u => u.UserId == x.SupervisorManId).UserName,
                SupervisorManTime        = string.Format("{0:yyyy-MM-dd HH:mm}", x.SupervisorManTime),
                OwnerId                  = x.OwnerId,
                OwnerName                = Funs.DB.Sys_User.First(u => u.UserId == x.OwnerId).UserName,
                OwnerTime                = string.Format("{0:yyyy-MM-dd HH:mm}", x.OwnerTime),
                States                   = x.States,
                PauseStates              = x.PauseStates,
                PauseNoticeAttachUrl     = APIUpLoadFileService.getFileUrl(x.PauseNoticeId, null),
                FlowOperateItem          = getFlowOperateItem(x.PauseNoticeId),
            };

            return(getInfo.FirstOrDefault());
        }
        /// <summary>
        ///  根据通知生成一般来文
        /// </summary>
        public static void CreateReceiveFile(Model.InformationProject_Notice notice)
        {
            var    getProjects = Funs.GetStrListByStr(notice.AccessProjectId, ',');
            string unitId      = CommonService.GetIsThisUnitId();
            var    getAtt      = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == notice.NoticeId);

            foreach (var item in getProjects)
            {
                Model.InformationProject_ReceiveFileManager newFile = new Model.InformationProject_ReceiveFileManager
                {
                    ReceiveFileManagerId = SQLHelper.GetNewID(),
                    ProjectId            = item,
                    ReceiveFileCode      = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ReceiveFileManagerMenuId, item, unitId),
                    ReceiveFileName      = notice.NoticeTitle,
                    Version      = "V1.0",
                    FileUnitId   = unitId,
                    FileCode     = notice.NoticeCode,
                    FilePageNum  = 1,
                    GetFileDate  = DateTime.Now,
                    SendPersonId = notice.CompileMan,
                    MainContent  = notice.MainContent,
                };
                if (!string.IsNullOrEmpty(notice.ProjectId))
                {
                    newFile.FileType = "0";
                }
                else
                {
                    newFile.FileType = "1";
                }
                var getPUnits = Funs.DB.Project_ProjectUnit.Where(x => x.ProjectId == item);
                foreach (var uItem in getPUnits)
                {
                    if (string.IsNullOrEmpty(newFile.UnitIds))
                    {
                        newFile.UnitIds = uItem.UnitId;
                    }
                    else
                    {
                        newFile.UnitIds += "," + uItem.UnitId;
                    }
                }
                newFile.States = Const.State_2;
                ReceiveFileManagerService.AddReceiveFileManager(newFile);
                if (getAtt != null && !string.IsNullOrEmpty(getAtt.AttachUrl))
                {
                    APIUpLoadFileService.SaveAttachUrl(Const.ReceiveFileManagerMenuId, newFile.ReceiveFileManagerId, getAtt.AttachUrl, "0");
                }
                CommonService.btnSaveData(item, Const.ReceiveFileManagerMenuId, newFile.ReceiveFileManagerId, newFile.SendPersonId, true, newFile.ReceiveFileName, "../InformationProject/ReceiveFileManagerView.aspx?ReceiveFileManagerId={0}");
            }
        }
Exemple #12
0
        /// <summary>
        /// 获取公司制度列表
        /// </summary>
        /// <param name="trainingId"></param>
        /// <returns></returns>
        public static List <Model.BaseInfoItem> getCompanySafetyInstitutionList()
        {
            var getDataLists = (from x in Funs.DB.HSSESystem_SafetyInstitution
                                orderby x.EffectiveDate descending
                                select new Model.BaseInfoItem
            {
                BaseInfoId = x.SafetyInstitutionId,
                BaseInfoCode = string.Format("{0:yyyy-MM-dd}", x.EffectiveDate),
                BaseInfoName = x.SafetyInstitutionName,
                ImageUrl = APIUpLoadFileService.getFileUrl(x.SafetyInstitutionId, x.AttachUrl),
            }).ToList();

            return(getDataLists);
        }
Exemple #13
0
        /// <summary>
        /// 获取公司制度详细信息
        /// </summary>
        /// <param name="safetyInstitutionId"></param>
        /// <returns></returns>
        public static Model.BaseInfoItem getCompanySafetyInstitutionInfo(string safetyInstitutionId)
        {
            var getDataInfo = from x in Funs.DB.HSSESystem_SafetyInstitution
                              where x.SafetyInstitutionId == safetyInstitutionId
                              select new Model.BaseInfoItem
            {
                BaseInfoId   = x.SafetyInstitutionId,
                BaseInfoCode = string.Format("{0:yyyy-MM-dd}", x.EffectiveDate),
                BaseInfoName = x.SafetyInstitutionName,
                ImageUrl     = APIUpLoadFileService.getFileUrl(x.SafetyInstitutionId, x.AttachUrl),
            };

            return(getDataInfo.FirstOrDefault());
        }
Exemple #14
0
        /// <summary>
        /// 根据培训教材主键获取培训教材详细信息
        /// </summary>
        /// <param name="trainingId"></param>
        /// <returns></returns>
        public static Model.BaseInfoItem getTrainingItemByTrainingItemId(string trainingItemId)
        {
            var getDataInfo = from x in Funs.DB.Training_TrainingItem
                              where x.TrainingItemId == trainingItemId
                              select new Model.BaseInfoItem
            {
                BaseInfoId   = x.TrainingItemId,
                BaseInfoCode = x.TrainingItemCode,
                BaseInfoName = x.TrainingItemName,
                ImageUrl     = APIUpLoadFileService.getFileUrl(x.TrainingItemId, x.AttachUrl),
            };

            return(getDataInfo.FirstOrDefault());
        }
Exemple #15
0
        /// <summary>
        /// 根据projectId、fileType获取来文列表
        /// </summary>
        /// <param name="projectId"></param>
        /// <param name="fileType">来文类型(0-项目发文;1-公司来文)</param>
        /// <param name="unitId">单位ID</param>
        /// <param name="states">状态(0待提交;1-已提交;2:已回复)</param>
        /// <returns></returns>
        public static List <Model.ReceiveFileManagerItem> getReceiveFileManagerList(string projectId, string fileType, string unitId, string states)
        {
            var getReceiveFileManagerItem = (from x in Funs.DB.InformationProject_ReceiveFileManager
                                             where x.ProjectId == projectId && x.FileType == fileType
                                             select new Model.ReceiveFileManagerItem
            {
                ReceiveFileManagerId = x.ReceiveFileManagerId,
                ProjectId = x.ProjectId,
                FileType = x.FileType,
                ReceiveFileCode = x.ReceiveFileCode,
                ReceiveFileName = x.ReceiveFileName,
                Version = x.Version,
                FileUnitId = x.FileUnitId,
                FileUnitName = Funs.DB.Base_Unit.First(u => u.UnitId == x.FileUnitId).UnitName,
                FileCode = x.FileCode,
                FilePageNum = x.FilePageNum,
                GetFileDate = string.Format("{0:yyyy-MM-dd}", x.GetFileDate),
                SendPersonId = x.SendPersonId,
                SendPersonName = Funs.DB.Sys_User.First(u => u.UserId == x.SendPersonId).UserName,
                MainContent = x.MainContent,
                UnitIds = x.UnitIds,
                UnitNames = UnitService.getUnitNamesUnitIds(x.UnitIds),
                FileAttachUrl = APIUpLoadFileService.getFileUrl(x.ReceiveFileManagerId, null),
                ReplyFileAttachUrl = APIUpLoadFileService.getFileUrl(x.ReceiveFileManagerId + "#1", null),
                States = x.States,
            }).AsEnumerable();

            if (getReceiveFileManagerItem.Count() > 0)
            {
                if (!string.IsNullOrEmpty(unitId) && !CommonService.GetIsThisUnit(unitId))
                {
                    getReceiveFileManagerItem = getReceiveFileManagerItem.Where(x => x.FileUnitId == unitId || (x.UnitIds != null && x.UnitIds.Contains(unitId)));
                }
                if (states == Const.State_0)
                {
                    getReceiveFileManagerItem = getReceiveFileManagerItem.Where(x => x.States == Const.State_0 || x.States == null);
                }
                else if (states == Const.State_1)
                {
                    getReceiveFileManagerItem = getReceiveFileManagerItem.Where(x => x.States == Const.State_2 && (x.ReplyFileAttachUrl == null || x.ReplyFileAttachUrl == ""));
                }
                else if (states == Const.State_2)
                {
                    getReceiveFileManagerItem = getReceiveFileManagerItem.Where(x => x.States == Const.State_2 && x.ReplyFileAttachUrl != null && x.ReplyFileAttachUrl != "");
                }
            }

            return(getReceiveFileManagerItem.OrderByDescending(x => x.ReceiveFileCode).ToList());
        }
Exemple #16
0
        /// <summary>
        ///  根据 PunishNoticeId获取处罚通知单
        /// </summary>
        /// <param name="PunishNoticeId"></param>
        /// <returns></returns>
        public static Model.PunishNoticeItem getPunishNoticeById(string PunishNoticeId)
        {
            var getInfo = from x in Funs.DB.Check_PunishNotice
                          where x.PunishNoticeId == PunishNoticeId
                          select new Model.PunishNoticeItem
            {
                PunishNoticeId           = x.PunishNoticeId,
                ProjectId                = x.ProjectId,
                PunishNoticeCode         = x.PunishNoticeCode,
                UnitId                   = x.UnitId,
                UnitName                 = Funs.DB.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
                ContractNum              = x.ContractNum,
                PunishNoticeDate         = string.Format("{0:yyyy-MM-dd}", x.PunishNoticeDate),
                BasicItem                = x.BasicItem,
                IncentiveReason          = x.IncentiveReason,
                PunishMoney              = x.PunishMoney ?? 0,
                Currency                 = x.Currency,
                FileContents             = System.Web.HttpUtility.HtmlDecode(x.FileContents),
                CompileManId             = x.CompileMan,
                CompileManName           = Funs.DB.Sys_User.First(u => u.UserId == x.CompileMan).UserName,
                CompileDate              = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompileDate),
                SignManId                = x.SignMan,
                SignManName              = Funs.DB.Sys_User.First(u => u.UserId == x.SignMan).UserName,
                SignDate                 = string.Format("{0:yyyy-MM-dd HH:mm}", x.SignDate),
                ApproveManId             = x.ApproveMan,
                ApproveManName           = Funs.DB.Sys_User.First(u => u.UserId == x.ApproveMan).UserName,
                ApproveDate              = string.Format("{0:yyyy-MM-dd HH:mm}", x.ApproveDate),
                DutyPersonId             = x.DutyPersonId,
                DutyPersonName           = Funs.DB.Sys_User.First(u => u.UserId == x.DutyPersonId).UserName,
                DutyPersonDate           = string.Format("{0:yyyy-MM-dd HH:mm}", x.DutyPersonDate),
                ProfessionalEngineerId   = x.ProfessionalEngineerId,
                ProfessionalEngineerName = Funs.DB.Sys_User.First(u => u.UserId == x.ProfessionalEngineerId).UserName,
                ProfessionalEngineerTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.ProfessionalEngineerTime),
                ConstructionManagerId    = x.ConstructionManagerId,
                ConstructionManagerName  = Funs.DB.Sys_User.First(u => u.UserId == x.ConstructionManagerId).UserName,
                ConstructionManagerTime  = string.Format("{0:yyyy-MM-dd HH:mm}", x.ConstructionManagerTime),
                UnitHeadManId            = x.UnitHeadManId,
                UnitHeadManName          = Funs.DB.Sys_User.First(u => u.UserId == x.UnitHeadManId).UserName,
                UnitHeadManTime          = string.Format("{0:yyyy-MM-dd HH:mm}", x.UnitHeadManTime),
                States                   = x.States,
                PunishStates             = x.PunishStates,
                PunishUrl                = APIUpLoadFileService.getFileUrl(Const.ProjectPunishNoticeStatisticsMenuId, x.PunishNoticeId, null),
                ReceiptUrl               = APIUpLoadFileService.getFileUrl(Const.ProjectPunishNoticeMenuId, x.PunishNoticeId, null),
                FlowOperateItem          = getFlowOperateItem(x.PunishNoticeId),
            };

            return(getInfo.FirstOrDefault());
        }
Exemple #17
0
        /// <summary>
        ///
        /// </summary>
        public static void SaveMeetUrl(string meetingId, string menuId, string url, string url1, string url2)
        {
            Model.ToDoItem toDoItem = new Model.ToDoItem
            {
                MenuId = menuId,
                DataId = meetingId,
                UrlStr = url,
            };
            APIUpLoadFileService.SaveAttachUrl(toDoItem);

            toDoItem.DataId = meetingId + "#1";
            toDoItem.UrlStr = url1;
            APIUpLoadFileService.SaveAttachUrl(toDoItem);

            toDoItem.DataId = meetingId + "#2";
            toDoItem.UrlStr = url2;
            APIUpLoadFileService.SaveAttachUrl(toDoItem);
        }
        /// <summary>
        ///  根据隐患整改单ID 获取整改单明细信息
        /// </summary>
        /// <returns></returns>
        public static List <Model.RectifyNoticesItemItem> getRectifyNoticesItemItem(string rectifyNoticesId)
        {
            var getInfo = from x in Funs.DB.Check_RectifyNoticesItem
                          where x.RectifyNoticesId == rectifyNoticesId
                          orderby x.LimitTime descending
                          select new Model.RectifyNoticesItemItem
            {
                RectifyNoticesItemId = x.RectifyNoticesItemId,
                RectifyNoticesId     = x.RectifyNoticesId,
                WrongContent         = x.WrongContent,
                Requirement          = x.Requirement,
                LimitTime            = string.Format("{0:yyyy-MM-dd HH:mm:ss}", x.LimitTime),
                RectifyResults       = x.RectifyResults,
                IsRectify            = x.IsRectify,
                PhotoBeforeUrl       = APIUpLoadFileService.getFileUrl(x.RectifyNoticesItemId + "#1", null),
                PhotoAfterUrl        = APIUpLoadFileService.getFileUrl(x.RectifyNoticesItemId + "#2", null),
            };

            return(getInfo.ToList());
        }
Exemple #19
0
        /// <summary>
        ///  根据ID 获取审核信息
        /// </summary>
        /// <returns></returns>
        public static List <Model.FlowOperateItem> getFlowOperateItem(string punishNoticeId)
        {
            var getInfo = from x in Funs.DB.Check_PunishNoticeFlowOperate
                          where x.PunishNoticeId == punishNoticeId
                          orderby x.OperateTime descending
                          select new Model.FlowOperateItem
            {
                FlowOperateId = x.FlowOperateId,
                DataId        = x.PunishNoticeId,
                AuditFlowName = x.OperateName,
                OperaterId    = x.OperateManId,
                OperaterName  = Funs.DB.Sys_User.First(z => z.UserId == x.OperateManId).UserName,
                OperaterTime  = string.Format("{0:yyyy-MM-dd HH:mm:ss}", x.OperateTime),
                IsAgree       = x.IsAgree,
                Opinion       = x.Opinion,
                SignatureUrl  = APIUpLoadFileService.getFileUrl(string.Empty, x.SignatureUrl),
            };

            return(getInfo.ToList());
        }
Exemple #20
0
        /// <summary>
        /// 保存emergencyInfo
        /// </summary>
        /// <param name="emergencyInfo">会议信息</param>
        /// <returns></returns>
        public static void SaveEmergency(Model.FileInfoItem emergencyInfo)
        {
            using (Model.SUBHSSEDB db = new Model.SUBHSSEDB(Funs.ConnString))
            {
                string menuId = string.Empty;
                if (emergencyInfo.MenuType == "1")
                {
                    Model.Emergency_EmergencyList newEmergency = new Model.Emergency_EmergencyList
                    {
                        EmergencyListId   = emergencyInfo.FileId,
                        ProjectId         = emergencyInfo.ProjectId,
                        UnitId            = emergencyInfo.UnitId == "" ? null : emergencyInfo.UnitId,
                        EmergencyTypeId   = emergencyInfo.FileType == "" ? null : emergencyInfo.FileType,
                        EmergencyCode     = emergencyInfo.FileCode,
                        EmergencyName     = emergencyInfo.FileName,
                        EmergencyContents = emergencyInfo.FileContent,
                        CompileMan        = emergencyInfo.CompileManId,
                        CompileDate       = Funs.GetNewDateTime(emergencyInfo.CompileDate),
                        States            = Const.State_2,
                    };
                    if (!string.IsNullOrEmpty(emergencyInfo.AuditManId))
                    {
                        newEmergency.AuditMan = emergencyInfo.AuditManId;
                    }
                    if (!string.IsNullOrEmpty(emergencyInfo.ApproveManId))
                    {
                        newEmergency.ApproveMan = emergencyInfo.ApproveManId;
                    }
                    if (emergencyInfo.States != Const.State_1)
                    {
                        newEmergency.States = Const.State_0;
                    }
                    var updateEmergency = db.Emergency_EmergencyList.FirstOrDefault(x => x.EmergencyListId == emergencyInfo.FileId);
                    if (updateEmergency == null)
                    {
                        newEmergency.CompileDate   = DateTime.Now;
                        emergencyInfo.FileId       = newEmergency.EmergencyListId = SQLHelper.GetNewID();
                        newEmergency.EmergencyCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectClassMeetingMenuId, newEmergency.ProjectId, null);
                        db.Emergency_EmergencyList.InsertOnSubmit(newEmergency);
                        db.SubmitChanges();
                        ////增加一条编码记录
                        CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectEmergencyListMenuId, newEmergency.ProjectId, null, newEmergency.EmergencyListId, newEmergency.CompileDate);
                    }
                    else
                    {
                        updateEmergency.EmergencyName     = newEmergency.EmergencyName;
                        updateEmergency.UnitId            = newEmergency.UnitId;
                        updateEmergency.EmergencyTypeId   = newEmergency.EmergencyTypeId;
                        updateEmergency.EmergencyContents = newEmergency.EmergencyContents;
                        updateEmergency.AuditMan          = newEmergency.AuditMan;
                        updateEmergency.ApproveMan        = newEmergency.ApproveMan;
                        db.SubmitChanges();
                    }
                    if (emergencyInfo.States == Const.State_1)
                    {
                        CommonService.btnSaveData(newEmergency.ProjectId, Const.ProjectEmergencyListMenuId, newEmergency.EmergencyListId, newEmergency.CompileMan, true, newEmergency.EmergencyName, "../Emergency/EmergencyListView.aspx?EmergencyListId={0}");
                    }

                    menuId = Const.ProjectEmergencyListMenuId;
                }
                else if (emergencyInfo.MenuType == "2")
                {
                    Model.Emergency_EmergencySupply newEmergency = new Model.Emergency_EmergencySupply
                    {
                        FileId      = emergencyInfo.FileId,
                        ProjectId   = emergencyInfo.ProjectId,
                        UnitId      = emergencyInfo.UnitId == "" ? null : emergencyInfo.UnitId,
                        FileCode    = emergencyInfo.FileCode,
                        FileName    = emergencyInfo.FileName,
                        FileContent = emergencyInfo.FileContent,
                        CompileMan  = emergencyInfo.CompileManId,
                        CompileDate = Funs.GetNewDateTime(emergencyInfo.CompileDate),
                        States      = Const.State_2,
                    };

                    if (emergencyInfo.States != Const.State_1)
                    {
                        newEmergency.States = Const.State_0;
                    }
                    var updateEmergency = db.Emergency_EmergencySupply.FirstOrDefault(x => x.FileId == emergencyInfo.FileId);
                    if (updateEmergency == null)
                    {
                        newEmergency.CompileDate = DateTime.Now;
                        emergencyInfo.FileId     = newEmergency.FileId = SQLHelper.GetNewID();
                        newEmergency.FileCode    = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectEmergencySupplyMenuId, newEmergency.ProjectId, null);
                        db.Emergency_EmergencySupply.InsertOnSubmit(newEmergency);
                    }
                    else
                    {
                        updateEmergency.UnitId      = newEmergency.UnitId;
                        updateEmergency.FileCode    = newEmergency.FileCode;
                        updateEmergency.FileName    = newEmergency.FileName;
                        updateEmergency.FileContent = newEmergency.FileContent;
                        db.SubmitChanges();
                    }
                    if (emergencyInfo.States == Const.State_1)
                    {
                        CommonService.btnSaveData(newEmergency.ProjectId, Const.ProjectEmergencySupplyMenuId, newEmergency.FileId, newEmergency.CompileMan, true, newEmergency.FileName, "../Emergency/EmergencySupplyView.aspx?FileId={0}");
                    }
                    menuId = Const.ProjectEmergencySupplyMenuId;
                }
                else if (emergencyInfo.MenuType == "3")
                {
                    Model.Emergency_EmergencyTeamAndTrain newEmergency = new Model.Emergency_EmergencyTeamAndTrain
                    {
                        FileId      = emergencyInfo.FileId,
                        ProjectId   = emergencyInfo.ProjectId,
                        UnitId      = emergencyInfo.UnitId == "" ? null : emergencyInfo.UnitId,
                        FileCode    = emergencyInfo.FileCode,
                        FileName    = emergencyInfo.FileName,
                        FileContent = emergencyInfo.FileContent,
                        CompileMan  = emergencyInfo.CompileManId,
                        CompileDate = Funs.GetNewDateTime(emergencyInfo.CompileDate),
                        States      = Const.State_2,
                    };

                    if (emergencyInfo.States != Const.State_1)
                    {
                        newEmergency.States = Const.State_0;
                    }

                    var updateEmergency = db.Emergency_EmergencyTeamAndTrain.FirstOrDefault(x => x.FileId == emergencyInfo.FileId);
                    if (updateEmergency == null)
                    {
                        newEmergency.CompileDate = DateTime.Now;
                        emergencyInfo.FileId     = newEmergency.FileId = SQLHelper.GetNewID();
                        newEmergency.FileCode    = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectEmergencyTeamAndTrainMenuId, newEmergency.ProjectId, null);
                        db.Emergency_EmergencyTeamAndTrain.InsertOnSubmit(newEmergency);
                    }
                    else
                    {
                        updateEmergency.UnitId      = newEmergency.UnitId;
                        updateEmergency.FileCode    = newEmergency.FileCode;
                        updateEmergency.FileName    = newEmergency.FileName;
                        updateEmergency.FileContent = newEmergency.FileContent;
                        db.SubmitChanges();
                        var delItem = from x in db.Emergency_EmergencyTeamItem where x.FileId == updateEmergency.FileId select x;
                        if (delItem.Count() > 0)
                        {
                            db.Emergency_EmergencyTeamItem.DeleteAllOnSubmit(delItem);
                            db.SubmitChanges();
                        }
                    }
                    if (emergencyInfo.EmergencyTeamItem != null && emergencyInfo.EmergencyTeamItem.Count() > 0)
                    {
                        var getItems = from x in emergencyInfo.EmergencyTeamItem
                                       select new Model.Emergency_EmergencyTeamItem
                        {
                            EmergencyTeamItemId = x.EmergencyTeamItemId,
                            FileId   = x.FileId,
                            PersonId = x.PersonId,
                            Job      = x.Job,
                            Tel      = x.Tel,
                        };
                        if (getItems.Count() > 0)
                        {
                            Funs.DB.Emergency_EmergencyTeamItem.InsertAllOnSubmit(getItems);
                            Funs.DB.SubmitChanges();
                        }
                    }

                    if (emergencyInfo.States == Const.State_1)
                    {
                        CommonService.btnSaveData(newEmergency.ProjectId, Const.ProjectEmergencyTeamAndTrainMenuId, newEmergency.FileId, newEmergency.CompileMan, true, newEmergency.FileName, "../Emergency/EmergencyTeamAndTrainView.aspx?FileId={0}");
                    }
                    menuId = Const.ProjectEmergencyTeamAndTrainMenuId;
                }
                else
                {
                }
                ///// 附件保存
                if (!string.IsNullOrEmpty(menuId) && !string.IsNullOrEmpty(emergencyInfo.FileId))
                {
                    APIUpLoadFileService.SaveAttachUrl(menuId, emergencyInfo.FileId, emergencyInfo.AttachUrl, "0");
                }
            }
        }
Exemple #21
0
        /// <summary>
        /// 保存Check_PunishNotice
        /// </summary>
        /// <param name="newItem">处罚通知单</param>
        /// <returns></returns>
        public static void SavePunishNotice(Model.PunishNoticeItem newItem)
        {
            using (Model.SUBHSSEDB db = new Model.SUBHSSEDB(Funs.ConnString))
            {
                Model.Check_PunishNotice newPunishNotice = new Model.Check_PunishNotice
                {
                    PunishNoticeId   = newItem.PunishNoticeId,
                    PunishNoticeCode = newItem.PunishNoticeCode,
                    ProjectId        = newItem.ProjectId,
                    PunishNoticeDate = Funs.GetNewDateTime(newItem.PunishNoticeDate),
                    UnitId           = newItem.UnitId,
                    ContractNum      = newItem.ContractNum,
                    IncentiveReason  = newItem.IncentiveReason,
                    BasicItem        = newItem.BasicItem,
                    PunishMoney      = newItem.PunishMoney,
                    Currency         = newItem.Currency,
                    FileContents     = System.Web.HttpUtility.HtmlEncode(newItem.FileContents),
                    States           = Const.State_0,
                    PunishStates     = newItem.PunishStates,
                };

                if (!string.IsNullOrEmpty(newItem.CompileManId))
                {
                    newPunishNotice.CompileMan = newItem.CompileManId;
                }
                if (newPunishNotice.PunishStates == Const.State_1)
                {
                    newPunishNotice.SignMan = newItem.SignManId;
                }

                var getUpdate = db.Check_PunishNotice.FirstOrDefault(x => x.PunishNoticeId == newItem.PunishNoticeId);
                if (getUpdate == null)
                {
                    newPunishNotice.CompileDate      = DateTime.Now;
                    newPunishNotice.PunishNoticeId   = SQLHelper.GetNewID();
                    newPunishNotice.PunishNoticeCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectPunishNoticeMenuId, newPunishNotice.ProjectId, newPunishNotice.UnitId);
                    db.Check_PunishNotice.InsertOnSubmit(newPunishNotice);
                    db.SubmitChanges();
                    CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectPunishNoticeMenuId, newPunishNotice.ProjectId, newPunishNotice.UnitId, newPunishNotice.PunishNoticeId, newPunishNotice.CompileDate);

                    //// 回写巡检记录表
                    if (!string.IsNullOrEmpty(newItem.HazardRegisterId))
                    {
                        List <string> listIds = Funs.GetStrListByStr(newItem.HazardRegisterId, ',');
                        foreach (var item in listIds)
                        {
                            var getHazardRegister = db.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.HazardRegisterId == item);
                            if (getHazardRegister != null)
                            {
                                getHazardRegister.States      = "3";
                                getHazardRegister.HandleIdea += "已下发处罚通知单:" + newPunishNotice.PunishNoticeCode;
                                getHazardRegister.ResultId    = newPunishNotice.PunishNoticeId;
                                getHazardRegister.ResultType  = "2";
                                db.SubmitChanges();
                            }
                        }
                    }

                    //// 回写专项检查明细表
                    if (!string.IsNullOrEmpty(newItem.CheckSpecialDetailId))
                    {
                        List <string> listIds = Funs.GetStrListByStr(newItem.CheckSpecialDetailId, ',');
                        foreach (var item in listIds)
                        {
                            var getCheckSpecialDetail = db.Check_CheckSpecialDetail.FirstOrDefault(x => x.CheckSpecialDetailId == item);
                            if (getCheckSpecialDetail != null)
                            {
                                getCheckSpecialDetail.DataType = "2";
                                getCheckSpecialDetail.DataId   = newPunishNotice.PunishNoticeId;
                                db.SubmitChanges();
                            }
                        }
                    }
                }
                else
                {
                    newPunishNotice.PunishNoticeId = getUpdate.PunishNoticeId;
                    getUpdate.PunishStates         = newItem.PunishStates;
                    if (newPunishNotice.PunishStates == "0" || newPunishNotice.PunishStates == "1")  ////编制人 修改或提交
                    {
                        getUpdate.PunishNoticeDate = newPunishNotice.PunishNoticeDate;
                        getUpdate.UnitId           = newPunishNotice.UnitId;
                        getUpdate.ContractNum      = newPunishNotice.ContractNum;
                        getUpdate.IncentiveReason  = newPunishNotice.IncentiveReason;
                        getUpdate.BasicItem        = newPunishNotice.BasicItem;
                        getUpdate.PunishMoney      = newPunishNotice.PunishMoney;
                        getUpdate.Currency         = newPunishNotice.Currency;
                        getUpdate.FileContents     = newPunishNotice.FileContents;
                        if (newPunishNotice.PunishStates == "1" && !string.IsNullOrEmpty(newItem.SignManId))
                        {
                            getUpdate.SignMan = newItem.SignManId;
                        }
                        else
                        {
                            newPunishNotice.PunishStates = getUpdate.PunishStates = "0";
                        }
                        db.SubmitChanges();
                    }
                    else if (newPunishNotice.PunishStates == "2") ////【签发】总包安全经理
                    {
                        /// 不同意 打回 同意抄送专业工程师、施工经理、相关施工分包单位并提交【批准】总包项目经理
                        if (newItem.IsAgree == false)
                        {
                            newPunishNotice.PunishStates = getUpdate.PunishStates = "0";
                        }
                        else
                        {
                            if (!string.IsNullOrEmpty(newItem.ProfessionalEngineerId))
                            {
                                getUpdate.ProfessionalEngineerId = newItem.ProfessionalEngineerId;
                            }
                            if (!string.IsNullOrEmpty(newItem.ConstructionManagerId))
                            {
                                getUpdate.ConstructionManagerId = newItem.ConstructionManagerId;
                            }
                            if (!string.IsNullOrEmpty(newItem.UnitHeadManId))
                            {
                                getUpdate.UnitHeadManId = newItem.UnitHeadManId;
                            }
                            if (!string.IsNullOrEmpty(newItem.ApproveManId))
                            {
                                getUpdate.ApproveMan = newItem.ApproveManId;
                                getUpdate.SignDate   = DateTime.Now;
                            }
                            else
                            {
                                newPunishNotice.PunishStates = getUpdate.States = "1";
                            }
                        }
                        db.SubmitChanges();
                    }
                    else if (newPunishNotice.PunishStates == "3") ////【批准】总包项目经理
                    {
                        /// 不同意 打回 同意下发【回执】施工分包单位
                        if (newItem.IsAgree == false || string.IsNullOrEmpty(newItem.DutyPersonId))
                        {
                            newPunishNotice.PunishStates = getUpdate.PunishStates = "1";
                        }
                        else
                        {
                            getUpdate.DutyPersonId = newItem.DutyPersonId;
                            getUpdate.ApproveDate  = DateTime.Now;
                        }
                        db.SubmitChanges();
                    }
                    else if (newPunishNotice.PunishStates == "4") ////【批准】总包项目经理
                    {
                        /// 不同意 打回 同意下发【回执】施工分包单位
                        if (string.IsNullOrEmpty(newItem.ReceiptUrl))
                        {
                            newPunishNotice.PunishStates = getUpdate.PunishStates = "3";
                        }
                        else
                        {
                            getUpdate.DutyPersonDate = DateTime.Now;
                            getUpdate.States         = Const.State_2;
                        }
                        db.SubmitChanges();
                    }
                }

                if (newItem.PunishStates == Const.State_0 || newItem.PunishStates == Const.State_1)
                {     //// 通知单附件
                    APIUpLoadFileService.SaveAttachUrl(Const.ProjectPunishNoticeStatisticsMenuId, newPunishNotice.PunishNoticeId, newItem.PunishUrl, "0");
                }
                if (newItem.PunishStates == Const.State_4)
                {     //// 回执单附件
                    APIUpLoadFileService.SaveAttachUrl(Const.ProjectPunishNoticeMenuId, newPunishNotice.PunishNoticeId, newItem.ReceiptUrl, "0");
                }
                if (getUpdate != null && getUpdate.States == Const.State_2)
                {
                    CommonService.btnSaveData(newPunishNotice.ProjectId, Const.ProjectPunishNoticeMenuId, newPunishNotice.PunishNoticeId, newPunishNotice.CompileMan, true, newPunishNotice.PunishNoticeCode, "../Check/PunishNoticeView.aspx?PunishNoticeId={0}");
                    var getcheck = from x in db.Check_CheckSpecialDetail where x.DataId == getUpdate.PunishNoticeId select x;
                    if (getcheck.Count() > 0)
                    {
                        foreach (var item in getcheck)
                        {
                            item.CompleteStatus = true;
                            item.CompletedDate  = DateTime.Now;
                            db.SubmitChanges();
                        }
                    }
                }
            }
        }
        /// <summary>
        /// 根据identityCard获取人员资质信息
        /// </summary>
        /// <param name="identityCard"></param>
        /// <returns></returns>
        public static Model.PersonQualityItem getPersonQualityInfo(string type, string dataId)
        {
            Model.PersonQualityItem getQualityItem = new Model.PersonQualityItem();
            if (type == "1")
            {
                ////特种作业人员
                getQualityItem = (from x in Funs.DB.QualityAudit_PersonQuality
                                  join y in Funs.DB.SitePerson_Person on x.PersonId equals y.PersonId
                                  where x.PersonQualityId == dataId || x.PersonId == dataId
                                  orderby y.CardNo
                                  select new Model.PersonQualityItem
                {
                    PersonQualityId = x.PersonQualityId,
                    QualityType = type,
                    PersonId = x.PersonId,
                    PersonName = y.PersonName,
                    CardNo = y.CardNo,
                    IdentityCard = y.IdentityCard,
                    ProjectId = y.ProjectId,
                    UnitId = y.UnitId,
                    UnitName = Funs.DB.Base_Unit.First(z => z.UnitId == y.UnitId).UnitName,
                    UnitCode = Funs.DB.Base_Unit.First(z => z.UnitId == y.UnitId).UnitCode,
                    WorkPostId = y.WorkPostId,
                    WorkPostName = Funs.DB.Base_WorkPost.First(z => z.WorkPostId == y.WorkPostId).WorkPostName,
                    CertificateId = x.CertificateId,
                    CertificateName = Funs.DB.Base_Certificate.First(z => z.CertificateId == x.CertificateId).CertificateName,
                    CertificateNo = x.CertificateNo,
                    Grade = x.Grade,
                    SendUnit = x.SendUnit,
                    SendDate = string.Format("{0:yyyy-MM-dd}", x.SendDate),
                    LimitDate = string.Format("{0:yyyy-MM-dd}", x.LimitDate),
                    LateCheckDate = string.Format("{0:yyyy-MM-dd}", x.LateCheckDate),
                    Remark = x.Remark,
                    CompileMan = x.CompileMan,
                    CompileManName = Funs.DB.Sys_User.First(z => z.UserId == x.CompileMan).UserName,
                    CompileDate = string.Format("{0:yyyy-MM-dd}", x.CompileDate),
                    AuditDate = string.Format("{0:yyyy-MM-dd}", x.AuditDate),
                    AuditorId = x.AuditorId,
                    AuditorName = Funs.DB.Sys_User.First(z => z.UserId == x.AuditorId).UserName,
                    AuditOpinion = x.AuditOpinion,
                    States = x.States,
                    AttachUrl = APIUpLoadFileService.getFileUrl(x.PersonQualityId, null),
                }).FirstOrDefault();
            }
            //// 安管人员
            else if (type == "2")
            {
                getQualityItem = (from x in Funs.DB.QualityAudit_SafePersonQuality
                                  join y in Funs.DB.SitePerson_Person on x.PersonId equals y.PersonId
                                  where x.SafePersonQualityId == dataId || x.PersonId == dataId
                                  orderby y.CardNo
                                  select new Model.PersonQualityItem
                {
                    PersonQualityId = x.SafePersonQualityId,
                    QualityType = type,
                    PersonId = x.PersonId,
                    PersonName = y.PersonName,
                    CardNo = y.CardNo,
                    IdentityCard = y.IdentityCard,
                    ProjectId = y.ProjectId,
                    UnitId = y.UnitId,
                    UnitName = Funs.DB.Base_Unit.First(z => z.UnitId == y.UnitId).UnitName,
                    UnitCode = Funs.DB.Base_Unit.First(z => z.UnitId == y.UnitId).UnitCode,
                    WorkPostId = y.WorkPostId,
                    WorkPostName = Funs.DB.Base_WorkPost.First(z => z.WorkPostId == y.WorkPostId).WorkPostName,
                    //CertificateId = x.CertificateId,
                    CertificateName = x.CertificateName,
                    CertificateNo = x.CertificateNo,
                    Grade = x.Grade,
                    SendUnit = x.SendUnit,
                    SendDate = string.Format("{0:yyyy-MM-dd}", x.SendDate),
                    LimitDate = string.Format("{0:yyyy-MM-dd}", x.LimitDate),
                    LateCheckDate = string.Format("{0:yyyy-MM-dd}", x.LateCheckDate),
                    Remark = x.Remark,
                    CompileMan = x.CompileMan,
                    CompileManName = Funs.DB.Sys_User.First(z => z.UserId == x.CompileMan).UserName,
                    CompileDate = string.Format("{0:yyyy-MM-dd}", x.CompileDate),
                    AuditDate = string.Format("{0:yyyy-MM-dd}", x.AuditDate),
                    AuditorId = x.AuditorId,
                    AuditorName = Funs.DB.Sys_User.First(z => z.UserId == x.AuditorId).UserName,
                    AuditOpinion = x.AuditOpinion,
                    States = x.States,
                    AttachUrl = APIUpLoadFileService.getFileUrl(x.SafePersonQualityId, null),
                }).FirstOrDefault();
            }
            else if (type == "3")
            {
                ////特种设备作业人员
                getQualityItem = (from x in Funs.DB.QualityAudit_EquipmentPersonQuality
                                  join y in Funs.DB.SitePerson_Person on x.PersonId equals y.PersonId
                                  where x.EquipmentPersonQualityId == dataId || x.PersonId == dataId
                                  orderby y.CardNo
                                  select new Model.PersonQualityItem
                {
                    PersonQualityId = x.EquipmentPersonQualityId,
                    QualityType = type,
                    PersonId = x.PersonId,
                    PersonName = y.PersonName,
                    CardNo = y.CardNo,
                    IdentityCard = y.IdentityCard,
                    ProjectId = y.ProjectId,
                    UnitId = y.UnitId,
                    UnitName = Funs.DB.Base_Unit.First(z => z.UnitId == y.UnitId).UnitName,
                    UnitCode = Funs.DB.Base_Unit.First(z => z.UnitId == y.UnitId).UnitCode,
                    WorkPostId = y.WorkPostId,
                    WorkPostName = Funs.DB.Base_WorkPost.First(z => z.WorkPostId == y.WorkPostId).WorkPostName,
                    CertificateId = x.CertificateId,
                    CertificateName = Funs.DB.Base_Certificate.First(z => z.CertificateId == x.CertificateId).CertificateName,
                    CertificateNo = x.CertificateNo,
                    Grade = x.Grade,
                    SendUnit = x.SendUnit,
                    SendDate = string.Format("{0:yyyy-MM-dd}", x.SendDate),
                    LimitDate = string.Format("{0:yyyy-MM-dd}", x.LimitDate),
                    LateCheckDate = string.Format("{0:yyyy-MM-dd}", x.LateCheckDate),
                    Remark = x.Remark,
                    CompileMan = x.CompileMan,
                    CompileManName = Funs.DB.Sys_User.First(z => z.UserId == x.CompileMan).UserName,
                    CompileDate = string.Format("{0:yyyy-MM-dd}", x.CompileDate),
                    AuditDate = string.Format("{0:yyyy-MM-dd}", x.AuditDate),
                    AuditorId = x.AuditorId,
                    AuditorName = Funs.DB.Sys_User.First(z => z.UserId == x.AuditorId).UserName,
                    AuditOpinion = x.AuditOpinion,
                    States = x.States,
                    AttachUrl = APIUpLoadFileService.getFileUrl(x.EquipmentPersonQualityId, null),
                }).FirstOrDefault();
            }

            return(getQualityItem);
        }
        /// <summary>
        /// 根据projectId、unitid获取特岗人员资质信息
        /// </summary>
        /// <param name="projectId">项目ID</param>
        /// <param name="unitId">单位ID</param>
        /// <param name="qualityType">资质类型</param>
        /// <param name="states">0-待提交;1-待审核;2-已审核;-1打回</param>
        /// <param name="unitIdQ">查询单位ID</param>
        /// <returns></returns>
        public static List <Model.PersonQualityItem> getPersonQualityList(string projectId, string unitId, string qualityType, string states, string unitIdQ)
        {
            List <Model.PersonQualityItem> getLists = new List <Model.PersonQualityItem>();

            if (qualityType == "1")
            {
                getLists = (from x in Funs.DB.SitePerson_Person
                            join z in Funs.DB.Base_WorkPost on x.WorkPostId equals z.WorkPostId
                            join y in Funs.DB.QualityAudit_PersonQuality on x.PersonId equals y.PersonId into jonPerson
                            from y in jonPerson.DefaultIfEmpty()
                            where x.ProjectId == projectId && z.PostType == Const.PostType_2 && x.IsUsed == true && (!x.OutTime.HasValue || x.OutTime > DateTime.Now)
                            orderby x.CardNo
                            select new Model.PersonQualityItem
                {
                    PersonQualityId = y.PersonQualityId,
                    QualityType = qualityType,
                    PersonId = x.PersonId,
                    PersonName = x.PersonName,
                    CardNo = x.CardNo,
                    IdentityCard = x.IdentityCard,
                    ProjectId = x.ProjectId,
                    UnitId = x.UnitId,
                    UnitName = Funs.DB.Base_Unit.First(z => z.UnitId == x.UnitId).UnitName,
                    CertificateId = y.CertificateId,
                    CertificateName = Funs.DB.Base_Certificate.First(z => z.CertificateId == y.CertificateId).CertificateName,
                    WorkPostId = x.WorkPostId,
                    WorkPostName = z.WorkPostName,
                    CertificateNo = y.CertificateNo,
                    Grade = y.Grade,
                    SendUnit = y.SendUnit,
                    SendDate = string.Format("{0:yyyy-MM-dd}", y.SendDate),
                    LimitDate = string.Format("{0:yyyy-MM-dd}", y.LimitDate),
                    LimitDateD = y.LimitDate,
                    LateCheckDate = string.Format("{0:yyyy-MM-dd}", y.LateCheckDate),
                    ApprovalPerson = y.ApprovalPerson,
                    Remark = y.Remark,
                    CompileMan = y.CompileMan,
                    CompileManName = Funs.DB.Sys_User.First(z => z.UserId == y.CompileMan).UserName,
                    CompileDate = string.Format("{0:yyyy-MM-dd}", y.CompileDate),
                    AuditDate = string.Format("{0:yyyy-MM-dd}", y.AuditDate),
                    AuditorName = Funs.DB.Sys_User.First(z => z.UserId == y.AuditorId).UserName,
                    AuditOpinion = y.AuditOpinion,
                    States = y.States,
                    AttachUrl = APIUpLoadFileService.getFileUrl(y.PersonQualityId, null),
                }).ToList();
            }
            else if (qualityType == "2")
            {
                getLists = (from x in Funs.DB.SitePerson_Person
                            join z in Funs.DB.Base_WorkPost on x.WorkPostId equals z.WorkPostId
                            join y in Funs.DB.QualityAudit_SafePersonQuality on x.PersonId equals y.PersonId into jonPerson
                            from y in jonPerson.DefaultIfEmpty()
                            where x.ProjectId == projectId && z.IsHsse == true && x.IsUsed == true && (!x.OutTime.HasValue || x.OutTime > DateTime.Now)
                            orderby y.LimitDate
                            select new Model.PersonQualityItem
                {
                    PersonQualityId = y.SafePersonQualityId,
                    QualityType = qualityType,
                    PersonId = x.PersonId,
                    PersonName = x.PersonName,
                    CardNo = x.CardNo,
                    IdentityCard = x.IdentityCard,
                    ProjectId = x.ProjectId,
                    UnitId = x.UnitId,
                    UnitName = Funs.DB.Base_Unit.First(z => z.UnitId == x.UnitId).UnitName,
                    //CertificateId = y.CertificateId,
                    CertificateName = y.CertificateName,
                    WorkPostId = x.WorkPostId,
                    WorkPostName = z.WorkPostName,
                    CertificateNo = y.CertificateNo,
                    Grade = y.Grade,
                    SendUnit = y.SendUnit,
                    SendDate = string.Format("{0:yyyy-MM-dd}", y.SendDate),
                    LimitDate = string.Format("{0:yyyy-MM-dd}", y.LimitDate),
                    LimitDateD = y.LimitDate,
                    LateCheckDate = string.Format("{0:yyyy-MM-dd}", y.LateCheckDate),
                    ApprovalPerson = y.ApprovalPerson,
                    Remark = y.Remark,
                    CompileMan = y.CompileMan,
                    CompileManName = Funs.DB.Sys_User.First(z => z.UserId == y.CompileMan).UserName,
                    CompileDate = string.Format("{0:yyyy-MM-dd}", y.CompileDate),
                    AuditDate = string.Format("{0:yyyy-MM-dd}", y.AuditDate),
                    AuditorName = Funs.DB.Sys_User.First(z => z.UserId == y.AuditorId).UserName,
                    AuditOpinion = y.AuditOpinion,
                    States = y.States,
                    AttachUrl = APIUpLoadFileService.getFileUrl(y.SafePersonQualityId, null),
                }).ToList();
            }
            else if (qualityType == "3")
            {
                getLists = (from x in Funs.DB.SitePerson_Person
                            join z in Funs.DB.Base_WorkPost on x.WorkPostId equals z.WorkPostId
                            join y in Funs.DB.QualityAudit_EquipmentPersonQuality on x.PersonId equals y.PersonId into jonPerson
                            from y in jonPerson.DefaultIfEmpty()
                            where x.ProjectId == projectId && z.PostType == Const.PostType_5 && x.IsUsed == true && (!x.OutTime.HasValue || x.OutTime > DateTime.Now)
                            orderby y.LimitDate
                            select new Model.PersonQualityItem
                {
                    PersonQualityId = y.EquipmentPersonQualityId,
                    QualityType = qualityType,
                    PersonId = x.PersonId,
                    PersonName = x.PersonName,
                    CardNo = x.CardNo,
                    IdentityCard = x.IdentityCard,
                    ProjectId = x.ProjectId,
                    UnitId = x.UnitId,
                    UnitName = Funs.DB.Base_Unit.First(z => z.UnitId == x.UnitId).UnitName,
                    CertificateId = y.CertificateId,
                    CertificateName = Funs.DB.Base_Certificate.First(z => z.CertificateId == y.CertificateId).CertificateName,
                    WorkPostId = x.WorkPostId,
                    WorkPostName = z.WorkPostName,
                    CertificateNo = y.CertificateNo,
                    Grade = y.Grade,
                    SendUnit = y.SendUnit,
                    SendDate = string.Format("{0:yyyy-MM-dd}", y.SendDate),
                    LimitDate = string.Format("{0:yyyy-MM-dd}", y.LimitDate),
                    LimitDateD = y.LimitDate,
                    LateCheckDate = string.Format("{0:yyyy-MM-dd}", y.LateCheckDate),
                    ApprovalPerson = y.ApprovalPerson,
                    Remark = y.Remark,
                    CompileMan = y.CompileMan,
                    CompileManName = Funs.DB.Sys_User.First(z => z.UserId == y.CompileMan).UserName,
                    CompileDate = string.Format("{0:yyyy-MM-dd}", y.CompileDate),
                    AuditDate = string.Format("{0:yyyy-MM-dd}", y.AuditDate),
                    AuditorName = Funs.DB.Sys_User.First(z => z.UserId == y.AuditorId).UserName,
                    AuditOpinion = y.AuditOpinion,
                    States = y.States,
                    AttachUrl = APIUpLoadFileService.getFileUrl(y.EquipmentPersonQualityId, null),
                }).ToList();
            }

            if (ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(projectId, unitId))
            {
                getLists = getLists.Where(x => x.UnitId == unitId).ToList();
            }
            if (!string.IsNullOrEmpty(unitIdQ))
            {
                getLists = getLists.Where(x => x.UnitId == unitIdQ).ToList();
            }
            if (states == Const.State_0)
            {
                getLists = getLists.Where(x => x.States == null || x.States == states || x.PersonQualityId == null || x.LimitDateD < DateTime.Now.AddMonths(1)).ToList();
            }
            else if (states == Const.State_1)
            {
                getLists = getLists.Where(x => x.States == states).ToList();
            }
            else if (states == Const.State_2)
            {
                getLists = getLists.Where(x => x.States == states && x.LimitDateD >= DateTime.Now.AddMonths(1)).ToList();
            }
            else if (states == Const.State_R)
            {
                getLists = getLists.Where(x => x.States == states).ToList();
            }
            return(getLists);
        }
        /// <summary>
        /// 人员资质信息保存方法
        /// </summary>
        /// <param name="personQuality">人员信息</param>
        public static void SavePersonQuality(Model.PersonQualityItem personQuality)
        {
            using (Model.SUBHSSEDB db = new Model.SUBHSSEDB(Funs.ConnString))
            {
                if (personQuality.QualityType == "1")
                {
                    Model.QualityAudit_PersonQuality newPersonQuality = new Model.QualityAudit_PersonQuality
                    {
                        PersonQualityId = personQuality.PersonQualityId,
                        PersonId        = personQuality.PersonId,
                        CertificateNo   = personQuality.CertificateNo,
                        CertificateName = personQuality.CertificateName,
                        Grade           = personQuality.Grade,
                        SendUnit        = personQuality.SendUnit,
                        SendDate        = Funs.GetNewDateTime(personQuality.SendDate),
                        LimitDate       = Funs.GetNewDateTime(personQuality.LimitDate),
                        LateCheckDate   = Funs.GetNewDateTime(personQuality.LateCheckDate),
                        ApprovalPerson  = personQuality.ApprovalPerson,
                        Remark          = personQuality.Remark,
                        CompileDate     = Funs.GetNewDateTime(personQuality.CompileDate),
                        AuditOpinion    = personQuality.AuditOpinion,
                        States          = personQuality.States,
                    };
                    if (newPersonQuality.States == Const.State_2 || newPersonQuality.States == Const.State_R)
                    {
                        newPersonQuality.AuditDate = DateTime.Now;
                    }
                    else
                    {
                        newPersonQuality.AuditDate = null;
                    }
                    if (!string.IsNullOrEmpty(personQuality.CertificateId))
                    {
                        newPersonQuality.CertificateId = personQuality.CertificateId;
                    }
                    if (!string.IsNullOrEmpty(personQuality.CompileMan))
                    {
                        newPersonQuality.CompileMan = personQuality.CompileMan;
                    }
                    if (!string.IsNullOrEmpty(personQuality.AuditorId))
                    {
                        newPersonQuality.AuditorId = personQuality.AuditorId;
                    }
                    var getPersonQuality = db.QualityAudit_PersonQuality.FirstOrDefault(x => x.PersonQualityId == newPersonQuality.PersonQualityId || x.PersonId == newPersonQuality.PersonId);
                    if (getPersonQuality == null)
                    {
                        newPersonQuality.PersonQualityId = SQLHelper.GetNewID();
                        newPersonQuality.CompileDate     = DateTime.Now;
                        db.QualityAudit_PersonQuality.InsertOnSubmit(newPersonQuality);
                        db.SubmitChanges();
                    }
                    else
                    {
                        newPersonQuality.PersonQualityId = getPersonQuality.PersonQualityId;
                        getPersonQuality.CertificateId   = newPersonQuality.CertificateId;
                        getPersonQuality.CertificateNo   = newPersonQuality.CertificateNo;
                        getPersonQuality.CertificateName = newPersonQuality.CertificateName;
                        getPersonQuality.Grade           = newPersonQuality.Grade;
                        getPersonQuality.SendUnit        = newPersonQuality.SendUnit;
                        getPersonQuality.SendDate        = newPersonQuality.SendDate;
                        getPersonQuality.LimitDate       = newPersonQuality.LimitDate;
                        getPersonQuality.LateCheckDate   = newPersonQuality.LateCheckDate;
                        getPersonQuality.Remark          = newPersonQuality.Remark;
                        getPersonQuality.AuditDate       = newPersonQuality.AuditDate;
                        getPersonQuality.AuditorId       = newPersonQuality.AuditorId;
                        getPersonQuality.States          = newPersonQuality.States;
                        db.SubmitChanges();
                    }
                    if (!string.IsNullOrEmpty(newPersonQuality.PersonQualityId))
                    {
                        APIUpLoadFileService.SaveAttachUrl(Const.PersonQualityMenuId, newPersonQuality.PersonQualityId, personQuality.AttachUrl, "0");
                    }
                }
                else if (personQuality.QualityType == "2")
                {
                    Model.QualityAudit_SafePersonQuality newSafeQuality = new Model.QualityAudit_SafePersonQuality
                    {
                        SafePersonQualityId = personQuality.PersonQualityId,
                        PersonId            = personQuality.PersonId,
                        CertificateNo       = personQuality.CertificateNo,
                        CertificateName     = personQuality.CertificateName,
                        Grade          = personQuality.Grade,
                        SendUnit       = personQuality.SendUnit,
                        SendDate       = Funs.GetNewDateTime(personQuality.SendDate),
                        LimitDate      = Funs.GetNewDateTime(personQuality.LimitDate),
                        LateCheckDate  = Funs.GetNewDateTime(personQuality.LateCheckDate),
                        ApprovalPerson = personQuality.ApprovalPerson,
                        Remark         = personQuality.Remark,
                        CompileDate    = Funs.GetNewDateTime(personQuality.CompileDate),
                        AuditDate      = Funs.GetNewDateTime(personQuality.AuditDate),
                        AuditOpinion   = personQuality.AuditOpinion,
                        States         = personQuality.States,
                    };
                    if (newSafeQuality.States == Const.State_2 || newSafeQuality.States == Const.State_R)
                    {
                        newSafeQuality.AuditDate = DateTime.Now;
                    }
                    else
                    {
                        newSafeQuality.AuditDate = null;
                    }
                    //if (!string.IsNullOrEmpty(personQuality.CertificateId))
                    //{
                    //    newSafeQuality.CertificateId = personQuality.CertificateId;
                    //}
                    if (!string.IsNullOrEmpty(personQuality.CompileMan))
                    {
                        newSafeQuality.CompileMan = personQuality.CompileMan;
                    }
                    if (!string.IsNullOrEmpty(personQuality.AuditorId))
                    {
                        newSafeQuality.AuditorId = personQuality.AuditorId;
                    }
                    var getSafePersonQuality = db.QualityAudit_SafePersonQuality.FirstOrDefault(x => x.SafePersonQualityId == newSafeQuality.SafePersonQualityId || x.PersonId == newSafeQuality.PersonId);
                    if (getSafePersonQuality == null)
                    {
                        newSafeQuality.SafePersonQualityId = SQLHelper.GetNewID();
                        newSafeQuality.CompileDate         = DateTime.Now;
                        db.QualityAudit_SafePersonQuality.InsertOnSubmit(newSafeQuality);
                        db.SubmitChanges();
                    }
                    else
                    {
                        newSafeQuality.SafePersonQualityId = getSafePersonQuality.SafePersonQualityId;
                        //getPersonQuality.CertificateId = newSafeQuality.CertificateId;
                        getSafePersonQuality.CertificateNo   = newSafeQuality.CertificateNo;
                        getSafePersonQuality.CertificateName = newSafeQuality.CertificateName;
                        getSafePersonQuality.Grade           = newSafeQuality.Grade;
                        getSafePersonQuality.SendUnit        = newSafeQuality.SendUnit;
                        getSafePersonQuality.SendDate        = newSafeQuality.SendDate;
                        getSafePersonQuality.LimitDate       = newSafeQuality.LimitDate;
                        getSafePersonQuality.LateCheckDate   = newSafeQuality.LateCheckDate;
                        getSafePersonQuality.Remark          = newSafeQuality.Remark;
                        getSafePersonQuality.AuditDate       = newSafeQuality.AuditDate;
                        getSafePersonQuality.AuditorId       = newSafeQuality.AuditorId;
                        getSafePersonQuality.States          = newSafeQuality.States;
                        db.SubmitChanges();
                    }
                    if (!string.IsNullOrEmpty(newSafeQuality.SafePersonQualityId))
                    {
                        APIUpLoadFileService.SaveAttachUrl(Const.SafePersonQualityMenuId, newSafeQuality.SafePersonQualityId, personQuality.AttachUrl, "0");
                    }
                }
                //// 特种设备作业人员
                if (personQuality.QualityType == "3")
                {
                    Model.QualityAudit_EquipmentPersonQuality newEquipmentPersonQuality = new Model.QualityAudit_EquipmentPersonQuality
                    {
                        EquipmentPersonQualityId = personQuality.PersonQualityId,
                        PersonId        = personQuality.PersonId,
                        CertificateNo   = personQuality.CertificateNo,
                        CertificateName = personQuality.CertificateName,
                        Grade           = personQuality.Grade,
                        SendUnit        = personQuality.SendUnit,
                        SendDate        = Funs.GetNewDateTime(personQuality.SendDate),
                        LimitDate       = Funs.GetNewDateTime(personQuality.LimitDate),
                        LateCheckDate   = Funs.GetNewDateTime(personQuality.LateCheckDate),
                        ApprovalPerson  = personQuality.ApprovalPerson,
                        Remark          = personQuality.Remark,
                        CompileDate     = Funs.GetNewDateTime(personQuality.CompileDate),
                        AuditDate       = Funs.GetNewDateTime(personQuality.AuditDate),
                        AuditOpinion    = personQuality.AuditOpinion,
                        States          = personQuality.States,
                    };
                    if (newEquipmentPersonQuality.States == Const.State_2 || newEquipmentPersonQuality.States == Const.State_R)
                    {
                        newEquipmentPersonQuality.AuditDate = DateTime.Now;
                    }
                    else
                    {
                        newEquipmentPersonQuality.AuditDate = null;
                    }
                    if (!string.IsNullOrEmpty(personQuality.CertificateId))
                    {
                        newEquipmentPersonQuality.CertificateId = personQuality.CertificateId;
                    }
                    if (!string.IsNullOrEmpty(personQuality.CompileMan))
                    {
                        newEquipmentPersonQuality.CompileMan = personQuality.CompileMan;
                    }
                    if (!string.IsNullOrEmpty(personQuality.AuditorId))
                    {
                        newEquipmentPersonQuality.AuditorId = personQuality.AuditorId;
                    }
                    var getEquipmentPersonQuality = db.QualityAudit_EquipmentPersonQuality.FirstOrDefault(x => x.EquipmentPersonQualityId == newEquipmentPersonQuality.EquipmentPersonQualityId || x.PersonId == newEquipmentPersonQuality.PersonId);
                    if (getEquipmentPersonQuality == null)
                    {
                        newEquipmentPersonQuality.EquipmentPersonQualityId = SQLHelper.GetNewID();
                        newEquipmentPersonQuality.CompileDate = DateTime.Now;
                        db.QualityAudit_EquipmentPersonQuality.InsertOnSubmit(newEquipmentPersonQuality);
                        db.SubmitChanges();
                    }
                    else
                    {
                        newEquipmentPersonQuality.EquipmentPersonQualityId = getEquipmentPersonQuality.EquipmentPersonQualityId;
                        getEquipmentPersonQuality.CertificateId            = newEquipmentPersonQuality.CertificateId;
                        getEquipmentPersonQuality.CertificateNo            = newEquipmentPersonQuality.CertificateNo;
                        getEquipmentPersonQuality.CertificateName          = newEquipmentPersonQuality.CertificateName;
                        getEquipmentPersonQuality.Grade         = newEquipmentPersonQuality.Grade;
                        getEquipmentPersonQuality.SendUnit      = newEquipmentPersonQuality.SendUnit;
                        getEquipmentPersonQuality.SendDate      = newEquipmentPersonQuality.SendDate;
                        getEquipmentPersonQuality.LimitDate     = newEquipmentPersonQuality.LimitDate;
                        getEquipmentPersonQuality.LateCheckDate = newEquipmentPersonQuality.LateCheckDate;
                        getEquipmentPersonQuality.Remark        = newEquipmentPersonQuality.Remark;
                        getEquipmentPersonQuality.AuditDate     = newEquipmentPersonQuality.AuditDate;
                        getEquipmentPersonQuality.AuditorId     = newEquipmentPersonQuality.AuditorId;
                        getEquipmentPersonQuality.States        = newEquipmentPersonQuality.States;
                        db.SubmitChanges();
                    }
                    if (!string.IsNullOrEmpty(newEquipmentPersonQuality.EquipmentPersonQualityId))
                    {
                        APIUpLoadFileService.SaveAttachUrl(Const.EquipmentPersonQualityMenuId, newEquipmentPersonQuality.EquipmentPersonQualityId, personQuality.AttachUrl, "0");
                    }
                }

                if (!string.IsNullOrEmpty(personQuality.AuditDate) && string.IsNullOrEmpty(personQuality.AuditorId))
                {
                    APICommonService.SendSubscribeMessage(personQuality.AuditorId, "人员资质" + personQuality.PersonName + "待您审核", personQuality.CompileManName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
                }
            }
        }
        /// <summary>
        /// 保存RectifyNotices
        /// </summary>
        /// <param name="userInfo"></param>
        /// <returns></returns>
        public static void SaveRectifyNotices(Model.RectifyNoticesItem rectifyNotices)
        {
            using (Model.SUBHSSEDB db = new Model.SUBHSSEDB(Funs.ConnString))
            {
                bool insertRectifyNoticesItemItem            = false;
                Model.Check_RectifyNotices newRectifyNotices = new Model.Check_RectifyNotices
                {
                    RectifyNoticesId   = rectifyNotices.RectifyNoticesId,
                    ProjectId          = rectifyNotices.ProjectId,
                    RectifyNoticesCode = rectifyNotices.RectifyNoticesCode,
                    UnitId             = rectifyNotices.UnitId,
                    CheckManNames      = rectifyNotices.CheckManNames,
                    CheckManIds        = rectifyNotices.CheckManIds,
                    CheckedDate        = Funs.GetNewDateTime(rectifyNotices.CheckedDate),
                    HiddenHazardType   = rectifyNotices.HiddenHazardType,
                    States             = rectifyNotices.States,
                };
                if (!string.IsNullOrEmpty(rectifyNotices.WorkAreaId))
                {
                    newRectifyNotices.WorkAreaId = rectifyNotices.WorkAreaId;
                }
                if (!string.IsNullOrEmpty(rectifyNotices.CompleteManId))
                {
                    newRectifyNotices.CompleteManId = rectifyNotices.CompleteManId;
                }
                if (newRectifyNotices.States == Const.State_1)
                {
                    newRectifyNotices.SignPerson = rectifyNotices.SignPersonId;
                }
                //// 新增整改单
                var isUpdate = db.Check_RectifyNotices.FirstOrDefault(x => x.RectifyNoticesId == newRectifyNotices.RectifyNoticesId);
                if (isUpdate == null)
                {
                    newRectifyNotices.RectifyNoticesId   = SQLHelper.GetNewID();
                    newRectifyNotices.Isprint            = "0";
                    newRectifyNotices.Isprintf           = "0";
                    newRectifyNotices.RectifyNoticesCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectRectifyNoticesMenuId, newRectifyNotices.ProjectId, newRectifyNotices.UnitId);
                    db.Check_RectifyNotices.InsertOnSubmit(newRectifyNotices);
                    db.SubmitChanges();
                    CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectRectifyNoticesMenuId, newRectifyNotices.ProjectId, newRectifyNotices.UnitId, newRectifyNotices.RectifyNoticesId, newRectifyNotices.CheckedDate);
                    //// 整改单附件
                    if (!string.IsNullOrEmpty(rectifyNotices.BeAttachUrl))
                    {
                        APIUpLoadFileService.SaveAttachUrl(Const.ProjectRectifyNoticesMenuId, newRectifyNotices.RectifyNoticesId + "#0", rectifyNotices.BeAttachUrl, "0");
                    }
                    //// 反馈单附件
                    if (!string.IsNullOrEmpty(rectifyNotices.AfAttachUrl))
                    {
                        APIUpLoadFileService.SaveAttachUrl(Const.ProjectRectifyNoticesMenuId, newRectifyNotices.RectifyNoticesId + "#1", rectifyNotices.AfAttachUrl, "0");
                    }
                    //// 整个单据附件
                    if (!string.IsNullOrEmpty(rectifyNotices.AttachUrl))
                    {
                        APIUpLoadFileService.SaveAttachUrl(Const.ProjectRectifyNoticesMenuId, newRectifyNotices.RectifyNoticesId, rectifyNotices.AttachUrl, "0");
                    }
                    insertRectifyNoticesItemItem = true;

                    //// 回写巡检记录表
                    if (!string.IsNullOrEmpty(rectifyNotices.HazardRegisterId))
                    {
                        List <string> listIds = Funs.GetStrListByStr(rectifyNotices.HazardRegisterId, ',');
                        foreach (var item in listIds)
                        {
                            var getHazardRegister = db.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.HazardRegisterId == item);
                            if (getHazardRegister != null)
                            {
                                getHazardRegister.States      = "3";
                                getHazardRegister.HandleIdea += "已升级为隐患整改单:" + newRectifyNotices.RectifyNoticesCode;
                                getHazardRegister.ResultId    = newRectifyNotices.RectifyNoticesId;
                                getHazardRegister.ResultType  = "1";
                                db.SubmitChanges();
                            }
                        }
                    }
                    //// 回写专项检查明细表
                    if (!string.IsNullOrEmpty(rectifyNotices.CheckSpecialDetailId))
                    {
                        List <string> listIds = Funs.GetStrListByStr(rectifyNotices.CheckSpecialDetailId, ',');
                        foreach (var item in listIds)
                        {
                            var getCheckSpecialDetail = db.Check_CheckSpecialDetail.FirstOrDefault(x => x.CheckSpecialDetailId == item);
                            if (getCheckSpecialDetail != null)
                            {
                                getCheckSpecialDetail.DataType = "1";
                                getCheckSpecialDetail.DataId   = newRectifyNotices.RectifyNoticesId;
                                db.SubmitChanges();
                            }
                        }
                    }
                }
                else
                {
                    newRectifyNotices.RectifyNoticesId = isUpdate.RectifyNoticesId;
                    isUpdate.States = rectifyNotices.States;
                    if (newRectifyNotices.States == "0" || newRectifyNotices.States == "1")  ////编制人 修改或提交
                    {
                        isUpdate.UnitId           = rectifyNotices.UnitId;
                        isUpdate.WorkAreaId       = rectifyNotices.WorkAreaId;
                        isUpdate.CheckManNames    = rectifyNotices.CheckManNames;
                        isUpdate.CheckManIds      = rectifyNotices.CheckManIds;
                        isUpdate.CheckedDate      = Funs.GetNewDateTime(rectifyNotices.CheckedDate);
                        isUpdate.HiddenHazardType = rectifyNotices.HiddenHazardType;
                        if (newRectifyNotices.States == "1" && !string.IsNullOrEmpty(rectifyNotices.SignPersonId))
                        {
                            isUpdate.SignPerson = rectifyNotices.SignPersonId;
                        }
                        else
                        {
                            newRectifyNotices.States = isUpdate.States = "0";
                        }
                        db.SubmitChanges();
                        //// 删除明细表
                        var deleteItem = from x in db.Check_RectifyNoticesItem where x.RectifyNoticesId == isUpdate.RectifyNoticesId select x;
                        if (deleteItem.Count() > 0)
                        {
                            foreach (var cdeleteItem in deleteItem)
                            {
                                CommonService.DeleteAttachFileById(cdeleteItem.RectifyNoticesItemId);
                            }
                            db.Check_RectifyNoticesItem.DeleteAllOnSubmit(deleteItem);
                        }

                        insertRectifyNoticesItemItem = true;
                    }
                    else if (newRectifyNotices.States == "2") ////总包单位项目安全经理 审核
                    {
                        /// 不同意 打回 同意抄送专业工程师、施工经理、项目经理 并下发分包接收人(也就是施工单位项目安全经理)
                        if (rectifyNotices.IsAgree == false)
                        {
                            newRectifyNotices.States = isUpdate.States = "0";
                        }
                        else
                        {
                            if (!string.IsNullOrEmpty(rectifyNotices.ProfessionalEngineerId))
                            {
                                isUpdate.ProfessionalEngineerId = rectifyNotices.ProfessionalEngineerId;
                            }
                            if (!string.IsNullOrEmpty(rectifyNotices.ConstructionManagerId))
                            {
                                isUpdate.ConstructionManagerId = rectifyNotices.ConstructionManagerId;
                            }
                            if (!string.IsNullOrEmpty(rectifyNotices.ProjectManagerId))
                            {
                                isUpdate.ProjectManagerId = rectifyNotices.ProjectManagerId;
                            }
                            if (!string.IsNullOrEmpty(rectifyNotices.DutyPersonId))
                            {
                                isUpdate.DutyPersonId = rectifyNotices.DutyPersonId;
                                isUpdate.SignDate     = DateTime.Now;
                            }
                            else
                            {
                                newRectifyNotices.States = isUpdate.States = "1";
                            }
                        }
                        db.SubmitChanges();
                    }
                    else if (newRectifyNotices.States == "3") /// 施工单位项目安全经理 整改 提交施工单位项目负责人
                    {
                        //// 整改明细反馈
                        if (rectifyNotices.RectifyNoticesItemItem != null && rectifyNotices.RectifyNoticesItemItem.Count() > 0)
                        {
                            foreach (var rItem in rectifyNotices.RectifyNoticesItemItem)
                            {
                                var getUpdateItem = db.Check_RectifyNoticesItem.FirstOrDefault(x => x.RectifyNoticesItemId == rItem.RectifyNoticesItemId);
                                if (getUpdateItem != null)
                                {
                                    getUpdateItem.RectifyResults = rItem.RectifyResults;
                                    if (getUpdateItem.IsRectify != true)
                                    {
                                        getUpdateItem.IsRectify = null;
                                    }
                                    db.SubmitChanges();
                                }
                                if (!string.IsNullOrEmpty(rItem.PhotoAfterUrl))
                                {
                                    APIUpLoadFileService.SaveAttachUrl(Const.ProjectRectifyNoticesMenuId, rItem.RectifyNoticesItemId + "#2", rItem.PhotoAfterUrl, "0");
                                }
                            }
                        }

                        if (!string.IsNullOrEmpty(rectifyNotices.UnitHeadManId))
                        {
                            isUpdate.UnitHeadManId = rectifyNotices.UnitHeadManId;
                            isUpdate.CompleteDate  = DateTime.Now;
                        }
                        else
                        {
                            newRectifyNotices.States = isUpdate.States = "2";
                        }
                        db.SubmitChanges();
                    }
                    else if (newRectifyNotices.States == "4")
                    { /// 施工单位项目负责人不同意 打回施工单位项目安全经理,同意提交安全经理/安全工程师复查
                        if (rectifyNotices.IsAgree == false)
                        {
                            newRectifyNotices.States = isUpdate.States = "2";
                            isUpdate.CompleteDate    = null;
                        }
                        else
                        {
                            if (!string.IsNullOrEmpty(rectifyNotices.CheckPersonId))
                            {
                                isUpdate.UnitHeadManDate = DateTime.Now;
                                isUpdate.CheckPerson     = rectifyNotices.CheckPersonId;
                            }
                            else
                            {
                                newRectifyNotices.States = isUpdate.States = "3";
                            }
                        }
                        db.SubmitChanges();
                    }
                    else if (newRectifyNotices.States == "5")
                    {
                        //// 整改明细反馈 复查 是否合格
                        if (rectifyNotices.RectifyNoticesItemItem != null && rectifyNotices.RectifyNoticesItemItem.Count() > 0)
                        {
                            foreach (var rItem in rectifyNotices.RectifyNoticesItemItem)
                            {
                                var getUpdateItem = db.Check_RectifyNoticesItem.FirstOrDefault(x => x.RectifyNoticesItemId == rItem.RectifyNoticesItemId);
                                if (getUpdateItem != null)
                                {
                                    getUpdateItem.IsRectify = rItem.IsRectify;
                                    db.SubmitChanges();
                                    //// 存在不合格  意见自动不同意
                                    if (!getUpdateItem.IsRectify.HasValue || getUpdateItem.IsRectify == false)
                                    {
                                        rectifyNotices.IsAgree = false;
                                    }
                                }
                            }
                        }

                        ////安全经理/安全工程师 同意关闭,不同意打回施工单位项目安全经理
                        isUpdate.ReCheckOpinion = rectifyNotices.ReCheckOpinion;
                        if (rectifyNotices.IsAgree == false)
                        {
                            newRectifyNotices.States           = isUpdate.States = "2";
                            isUpdate.UnitHeadManDate           = null;
                            isUpdate.CompleteDate              = null;
                            isUpdate.ProfessionalEngineerTime2 = null;
                            isUpdate.ConstructionManagerTime2  = null;
                            isUpdate.ProjectManagerTime2       = null;
                        }
                        else
                        {
                            isUpdate.ReCheckDate = DateTime.Now;
                            //// 回写专项检查明细表
                            var getcheck = from x in db.Check_CheckSpecialDetail where x.DataId == isUpdate.RectifyNoticesId select x;
                            if (getcheck.Count() > 0)
                            {
                                foreach (var item in getcheck)
                                {
                                    item.CompleteStatus = true;
                                    item.CompletedDate  = DateTime.Now;
                                    db.SubmitChanges();
                                }
                            }
                        }
                        db.SubmitChanges();
                    }
                }
                if (insertRectifyNoticesItemItem)
                {
                    //// 新增明细
                    if (rectifyNotices.RectifyNoticesItemItem != null && rectifyNotices.RectifyNoticesItemItem.Count() > 0)
                    {
                        foreach (var rItem in rectifyNotices.RectifyNoticesItemItem)
                        {
                            Model.Check_RectifyNoticesItem newItem = new Model.Check_RectifyNoticesItem
                            {
                                RectifyNoticesItemId = SQLHelper.GetNewID(),
                                RectifyNoticesId     = newRectifyNotices.RectifyNoticesId,
                                WrongContent         = rItem.WrongContent,
                                Requirement          = rItem.Requirement,
                                LimitTime            = Funs.GetNewDateTime(rItem.LimitTime),
                                RectifyResults       = null,
                                IsRectify            = null,
                            };
                            db.Check_RectifyNoticesItem.InsertOnSubmit(newItem);
                            db.SubmitChanges();

                            if (!string.IsNullOrEmpty(rItem.PhotoBeforeUrl))
                            {
                                APIUpLoadFileService.SaveAttachUrl(Const.ProjectRectifyNoticesMenuId, newItem.RectifyNoticesItemId + "#1", rItem.PhotoBeforeUrl, "0");
                            }
                        }
                    }
                }
                //// 增加审核记录
                if (rectifyNotices.RectifyNoticesFlowOperateItem != null && rectifyNotices.RectifyNoticesFlowOperateItem.Count() > 0)
                {
                    var getOperate = rectifyNotices.RectifyNoticesFlowOperateItem.FirstOrDefault();
                    if (getOperate != null && !string.IsNullOrEmpty(getOperate.OperateManId))
                    {
                        Model.Check_RectifyNoticesFlowOperate newOItem = new Model.Check_RectifyNoticesFlowOperate
                        {
                            FlowOperateId    = SQLHelper.GetNewID(),
                            RectifyNoticesId = newRectifyNotices.RectifyNoticesId,
                            OperateName      = getOperate.OperateName,
                            OperateManId     = getOperate.OperateManId,
                            OperateTime      = DateTime.Now,
                            IsAgree          = getOperate.IsAgree,
                            Opinion          = getOperate.Opinion,
                        };
                        db.Check_RectifyNoticesFlowOperate.InsertOnSubmit(newOItem);
                        db.SubmitChanges();
                    }
                }

                if (newRectifyNotices.States == Const.State_1)
                {
                    APICommonService.SendSubscribeMessage(newRectifyNotices.SignPerson, "隐患整改单" + newRectifyNotices.RectifyNoticesCode + "待您签发", rectifyNotices.CheckManNames, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
                }
                else if (newRectifyNotices.States == Const.State_2)
                {
                    APICommonService.SendSubscribeMessage(newRectifyNotices.DutyPersonId, "隐患整改单" + newRectifyNotices.RectifyNoticesCode + "待您整改", rectifyNotices.SignPersonName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
                }
                else if (newRectifyNotices.States == Const.State_3)
                {
                    APICommonService.SendSubscribeMessage(newRectifyNotices.UnitHeadManId, "隐患整改单" + newRectifyNotices.RectifyNoticesCode + "待您审核", rectifyNotices.DutyPersonName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
                }
                else if (newRectifyNotices.States == Const.State_4)
                {
                    APICommonService.SendSubscribeMessage(newRectifyNotices.CheckPerson, "隐患整改单" + newRectifyNotices.RectifyNoticesCode + "待您复查", rectifyNotices.UnitHeadManName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
                }
            }
        }
        /// <summary>
        /// 根据RectifyNoticesId获取风险巡检信息详细信息
        /// </summary>
        /// <param name="rectifyNoticesId"></param>
        /// <returns></returns>
        public static Model.RectifyNoticesItem getRectifyNoticesById(string rectifyNoticesId)
        {
            var getRectifyNotices = from x in Funs.DB.Check_RectifyNotices
                                    where x.RectifyNoticesId == rectifyNoticesId
                                    select new Model.RectifyNoticesItem
            {
                RectifyNoticesId          = x.RectifyNoticesId,
                ProjectId                 = x.ProjectId,
                ProjectName               = Funs.DB.Base_Project.First(z => z.ProjectId == x.ProjectId).ProjectName,
                RectifyNoticesCode        = x.RectifyNoticesCode,
                UnitId                    = x.UnitId,
                UnitName                  = Funs.DB.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName,
                WorkAreaId                = x.WorkAreaId,
                WorkAreaName              = WorkAreaService.getWorkAreaNamesIds(x.WorkAreaId),
                CheckManNames             = x.CheckManNames,
                CheckManIds               = x.CheckManIds,
                CheckManIdNames           = UserService.getUserNamesUserIds(x.CheckManIds),
                CheckManAllNames          = getCheckAllManName(x.CheckManIds, x.CheckManNames),
                CheckedDate               = string.Format("{0:yyyy-MM-dd HH:mm}", x.CheckedDate),
                CheckedDateD              = x.CheckedDate,
                HiddenHazardType          = x.HiddenHazardType,
                HiddenHazardTypeName      = x.HiddenHazardType == "2" ? "较大" : (x.HiddenHazardType == "3" ? "重大" : "一般"),
                CompleteManId             = x.CompleteManId,
                CompleteManName           = Funs.DB.Sys_User.First(u => u.UserId == x.CompleteManId).UserName,
                SignPersonId              = x.SignPerson,
                SignPersonName            = Funs.DB.Sys_User.First(u => u.UserId == x.SignPerson).UserName,
                SignDate                  = string.Format("{0:yyyy-MM-dd HH:mm}", x.SignDate),
                ProfessionalEngineerId    = x.ProfessionalEngineerId,
                ProfessionalEngineerName  = Funs.DB.Sys_User.First(u => u.UserId == x.ProfessionalEngineerId).UserName,
                ProfessionalEngineerTime1 = string.Format("{0:yyyy-MM-dd HH:mm}", x.ProfessionalEngineerTime1),
                ProfessionalEngineerTime2 = string.Format("{0:yyyy-MM-dd HH:mm}", x.ProfessionalEngineerTime2),
                ConstructionManagerId     = x.ConstructionManagerId,
                ConstructionManagerName   = Funs.DB.Sys_User.First(u => u.UserId == x.ConstructionManagerId).UserName,
                ConstructionManagerTime1  = string.Format("{0:yyyy-MM-dd HH:mm}", x.ConstructionManagerTime1),
                ConstructionManagerTime2  = string.Format("{0:yyyy-MM-dd HH:mm}", x.ConstructionManagerTime2),
                ProjectManagerId          = x.ProjectManagerId,
                ProjectManagerName        = Funs.DB.Sys_User.First(u => u.UserId == x.ProjectManagerId).UserName,
                ProjectManagerTime1       = string.Format("{0:yyyy-MM-dd HH:mm}", x.ProjectManagerTime1),
                ProjectManagerTime2       = string.Format("{0:yyyy-MM-dd HH:mm}", x.ProjectManagerTime2),
                DutyPersonId              = x.DutyPersonId,
                DutyPersonName            = Funs.DB.Sys_User.First(u => u.UserId == x.DutyPersonId).UserName,
                DutyPersonTime            = string.Format("{0:yyyy-MM-dd HH:mm}", x.DutyPersonTime),
                CompleteDate              = string.Format("{0:yyyy-MM-dd HH:mm}", x.CompleteDate),
                UnitHeadManId             = x.UnitHeadManId,
                UnitHeadManName           = Funs.DB.Sys_User.First(u => u.UserId == x.UnitHeadManId).UserName,
                UnitHeadManDate           = string.Format("{0:yyyy-MM-dd HH:mm}", x.UnitHeadManDate),
                CheckPersonId             = x.CheckPerson,
                CheckPersonName           = Funs.DB.Sys_User.First(u => u.UserId == x.CheckPerson).UserName,
                ReCheckDate               = string.Format("{0:yyyy-MM-dd HH:mm}", x.ReCheckDate),
                ReCheckOpinion            = x.ReCheckOpinion,
                //WrongContent =x.WrongContent,
                //CompleteStatus=x.CompleteStatus,
                //RectificationName=x.DutyPerson,
                IsRectify                     = x.IsRectify ?? false,
                States                        = x.States,
                AttachUrl                     = APIUpLoadFileService.getFileUrl(x.RectifyNoticesId, null),
                BeAttachUrl                   = APIUpLoadFileService.getFileUrl(x.RectifyNoticesId + "#0", null),
                AfAttachUrl                   = APIUpLoadFileService.getFileUrl(x.RectifyNoticesId + "#1", null),
                RectifyNoticesItemItem        = getRectifyNoticesItemItem(x.RectifyNoticesId),
                RectifyNoticesFlowOperateItem = getRectifyNoticesFlowOperateItem(x.RectifyNoticesId),
            };

            return(getRectifyNotices.FirstOrDefault());
        }