using System; using System.Collections.Generic; using System.Linq; namespace BLL { public static class APIBaseInfoService { #region 获取常量 /// /// 获取培训级别 /// /// public static List getSysConst(string groupId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Sys_Const where x.GroupId == groupId orderby x.SortIndex select new Model.BaseInfoItem { BaseInfoId = x.ConstValue, BaseInfoCode = x.SortIndex.ToString(), BaseInfoName = x.ConstText }).ToList(); return getDataLists; } } #endregion #region 获取项目列表 /// /// 获取项目列表 /// /// public static List getProjectList() { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Base_Project orderby x.ProjectCode select new Model.BaseInfoItem { BaseInfoId = x.ProjectId, BaseInfoCode = x.ProjectCode, BaseInfoName = x.ShortName ?? x.ProjectName, } ).ToList(); return getDataLists; } } #endregion #region 根据项目号获取项目信息 /// /// 根据项目号获取项目信息 /// /// /// public static Model.BaseInfoItem getProjectByCode(string projectCode) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Base_Project where x.ProjectCode == projectCode select new Model.BaseInfoItem { BaseInfoId = x.ProjectId, BaseInfoCode = x.ProjectCode, BaseInfoName = x.ProjectName } ).FirstOrDefault(); return getDataLists; } } #endregion #region 根据项目id获取区域表 /// /// 根据项目id获取区域表 /// /// /// public static List getProjectWorkArea(string projectId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.WBS_UnitWork where x.ProjectId == projectId && x.SuperUnitWork == null orderby x.UnitWorkCode select new Model.BaseInfoItem { BaseInfoId = x.UnitWorkId, BaseInfoCode = x.UnitWorkCode, BaseInfoName = BLL.UnitWorkService.GetUnitWorkALLName(x.UnitWorkId) } ).ToList(); return getDataLists; } } /// /// + /// /// /// public static List getProjectWBSByUnitWorkId(string projectId, string unitWorkId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.WBS_WorkPackage where x.ProjectId == projectId && x.SuperWorkPack == null && x.UnitWorkId == unitWorkId orderby x.WorkPackageCode select new Model.BaseInfoItem { BaseInfoId = x.WorkPackageId, BaseInfoCode = x.WorkPackageCode, BaseInfoName = x.PackageContent, } ).ToList(); return getDataLists; } } /// /// 根据项目、单位ID获取单位工程 /// /// /// /// public static List GetProjecUnitWorkByUnitId(string projectId, string unitId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.WBS_UnitWork where x.ProjectId == projectId && x.UnitId == unitId && x.SuperUnitWork == null orderby x.UnitWorkCode select new Model.BaseInfoItem { BaseInfoId = x.UnitWorkId, BaseInfoCode = x.UnitWorkCode, BaseInfoName = BLL.UnitWorkService.GetUnitWorkALLName(x.UnitWorkId) } ).ToList(); return getDataLists; } } #endregion #region 获取材质列表 /// /// 获取材质列表 /// /// public static List GetMaterial() { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Base_Material orderby x.MaterialCode select new Model.BaseInfoItem { BaseInfoId = x.MaterialId, BaseInfoCode = x.MaterialCode, BaseInfoName = x.MetalType } ).ToList(); return getDataLists; } } #endregion #region 焊接方法、焊缝类型、探伤类型、探伤比例 /// /// 获取焊接方法 /// /// public static List GetWeldingMethod() { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Base_WeldingMethod orderby x.WeldingMethodCode select new Model.BaseInfoItem { BaseInfoId = x.WeldingMethodId, BaseInfoCode = x.WeldingMethodCode, BaseInfoName = x.WeldingMethodName } ).ToList(); return getDataLists; } } /// /// 获取焊缝类型 /// /// public static List GetWeldType() { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Base_WeldType orderby x.WeldTypeCode select new Model.BaseInfoItem { BaseInfoId = x.WeldTypeId, BaseInfoCode = x.WeldTypeCode, BaseInfoName = x.WeldTypeName } ).ToList(); return getDataLists; } } /// /// 按焊材类型获取焊接耗材,1为焊丝,2为焊条。 /// /// 焊材类型:1焊丝,2焊条 /// 焊接耗材基础项 public static List GetWeldingConsumables(string consumablesType) { if (consumablesType != "1" && consumablesType != "2") { throw new ArgumentException("焊材类型只能为1(焊丝)或2(焊条)"); } using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { // 与PC端焊材下拉框保持一致:ID作为值,名称作为显示文本,并按名称排序。 return db.Base_Consumables .Where(x => x.ConsumablesType == consumablesType) .OrderBy(x => x.ConsumablesName) .ThenBy(x => x.ConsumablesCode) .ThenBy(x => x.ConsumablesId) .Select(x => new Model.BaseInfoItem { BaseInfoId = x.ConsumablesId, BaseInfoCode = x.ConsumablesCode, BaseInfoName = x.ConsumablesName, Remark = x.Remark }).ToList(); } } /// /// 获取探伤类型 /// /// public static List getDetectionType() { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Base_DetectionType orderby x.DetectionTypeCode select new Model.BaseInfoItem { BaseInfoId = x.DetectionTypeId, BaseInfoCode = x.DetectionTypeCode, BaseInfoName = x.DetectionTypeName } ).ToList(); return getDataLists; } } /// /// 获取探伤比例 /// /// public static List getDetectionRate() { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Base_DetectionRate orderby x.DetectionRateCode select new Model.BaseInfoItem { BaseInfoId = x.DetectionRateId, BaseInfoCode = x.DetectionRateCode, BaseInfoName = x.DetectionRateValue.Value.ToString() + "%" } ).ToList(); return getDataLists; } } /// /// 获取坡口类型 /// /// public static List getGrooveType() { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Base_GrooveType orderby x.GrooveTypeCode select new Model.BaseInfoItem { BaseInfoId = x.GrooveTypeId, BaseInfoCode = x.GrooveTypeCode, BaseInfoName = x.GrooveTypeName } ).ToList(); return getDataLists; } } #endregion #region 获取通知通告 /// /// 根据项目id获取通知通告 /// /// /// public static List getNoticesList(string projectId, string strParam) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.InformationProject_Notice where x.AccessProjectId.Contains(projectId) && x.IsRelease == true && (strParam == null || x.NoticeTitle.Contains(strParam)) orderby x.ReleaseDate descending select new Model.NoticeItem { NoticeId = x.NoticeId, NoticeCode = x.NoticeCode, NoticeTitle = x.NoticeTitle, ReleaseDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.ReleaseDate) }).ToList(); return getDataLists; } } /// /// 根据项目id获取通知通告 /// /// /// public static List getNoticesList(string projectId, string userId, string strParam) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.InformationProject_Notice where x.AccessProjectId.Contains(projectId) && x.IsRelease == true && (strParam == null || x.NoticeTitle.Contains(strParam)) select new Model.NoticeItem { NoticeId = x.NoticeId, NoticeCode = x.NoticeCode, NoticeTitle = x.NoticeTitle, ReleaseDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.ReleaseDate), IsRead = db.Sys_UserRead.FirstOrDefault(y => y.DataId == x.NoticeId && y.ProjectId == projectId && y.UserId == userId) == null ? false : true, }).ToList(); return getDataLists.OrderBy(x => x.IsRead).ThenByDescending(x => x.ReleaseDate).ToList(); } } /// /// 根据项目id获取通知通告 /// /// /// public static Model.NoticeItem getNoticesByNoticeId(string noticeId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.InformationProject_Notice where x.NoticeId == noticeId select new Model.NoticeItem { NoticeId = x.NoticeId, NoticeCode = x.NoticeCode, NoticeTitle = x.NoticeTitle, ReleaseDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.ReleaseDate), MainContent = x.MainContent, AttachUrl = db.AttachFile.FirstOrDefault(y => y.ToKeyId == x.NoticeId).AttachUrl.Replace("\\", "/"), }).FirstOrDefault(); return getDataLists; } } #endregion #region 获取岗位信息 /// /// 获取岗位信息 /// /// public static List getWorkPost(string strParam) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Base_WorkPost where strParam == null || x.WorkPostName.Contains(strParam) orderby x.WorkPostName select new Model.BaseInfoItem { BaseInfoId = x.WorkPostId, BaseInfoCode = x.WorkPostCode, BaseInfoName = x.WorkPostName }).ToList(); return getDataLists; } } #endregion #region 获取培训类别 /// /// 获取培训类别 /// /// public static List getTrainType() { var getDataLists = (from x in Funs.DB.Base_TrainType orderby x.TrainTypeCode select new Model.BaseInfoItem { BaseInfoId = x.TrainTypeId, BaseInfoCode = x.TrainTypeCode, BaseInfoName = x.TrainTypeName }).ToList(); return getDataLists; } #endregion #region 获取培训级别 /// /// 获取培训级别 /// /// public static List getTrainLevel() { var getDataLists = (from x in Funs.DB.Base_TrainLevel orderby x.TrainLevelCode select new Model.BaseInfoItem { BaseInfoId = x.TrainLevelId, BaseInfoCode = x.TrainLevelCode, BaseInfoName = x.TrainLevelName }).ToList(); return getDataLists; } #endregion #region 获取机具设备类型 /// /// 获取机具设备类型 /// /// public static List getSpecialEquipment(bool isSpecial) { var getDataLists = (from x in Funs.DB.Base_SpecialEquipment where x.IsSpecial == isSpecial orderby x.SpecialEquipmentCode select new Model.BaseInfoItem { BaseInfoId = x.SpecialEquipmentId, BaseInfoCode = x.SpecialEquipmentCode, BaseInfoName = x.SpecialEquipmentName }).ToList(); return getDataLists; } #endregion #region 获取工作阶段 /// /// 获取工作阶段 /// /// public static List getWorkStage() { var getDataLists = (from x in Funs.DB.Base_WorkStage orderby x.WorkStageCode select new Model.BaseInfoItem { BaseInfoId = x.WorkStageId, BaseInfoCode = x.WorkStageCode, BaseInfoName = x.WorkStageName }).ToList(); return getDataLists; } #endregion #region 获取项目班组 /// /// 获取项目班组 /// /// /// /// public static List getTeamGroup(string projectId, string unitId) { var getDataLists = (from x in Funs.DB.ProjectData_TeamGroup where x.ProjectId == projectId && (unitId == null || x.UnitId == unitId) orderby x.TeamGroupCode select new Model.BaseInfoItem { BaseInfoId = x.TeamGroupId, BaseInfoCode = x.TeamGroupCode, BaseInfoName = x.TeamGroupName }).ToList(); return getDataLists; } /// /// 获取项目班组组长 /// /// /// /// public static Model.BaseInfoItem getTeamGroupLeader(string teamGroupId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.ProjectData_TeamGroup join y in db.SitePerson_Person on x.GroupLeaderId equals y.PersonId where x.TeamGroupId == teamGroupId && y.PersonId != null select new Model.BaseInfoItem { BaseInfoId = y.PersonId, BaseInfoCode = y.CardNo, BaseInfoName = y.PersonName }).FirstOrDefault(); return getDataLists; } } #endregion #region 获取项目区域 /// /// 获取项目区域 /// /// public static List getWorkArea(string projectId, string unitId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.WBS_UnitWork where x.ProjectId == projectId && (unitId == null || x.UnitId == unitId) orderby x.UnitWorkCode select new Model.BaseInfoItem { BaseInfoId = x.UnitWorkId, BaseInfoCode = x.UnitWorkCode, BaseInfoName = x.UnitWorkName }).ToList(); return getDataLists; } } #endregion #region 获取图片分类 /// /// 获取图片分类 /// /// public static List getPictureType(string menuType) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Base_PictureType where menuType == null || x.MenuType == menuType orderby x.Code select new Model.BaseInfoItem { BaseInfoId = x.PictureTypeId, BaseInfoCode = x.Code, BaseInfoName = x.Name }).ToList(); return getDataLists; } } #endregion #region 获取特岗证书 /// /// 获取图片分类 /// /// public static List getCertificate() { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Base_Certificate orderby x.CertificateCode select new Model.BaseInfoItem { BaseInfoId = x.CertificateId, BaseInfoCode = x.CertificateCode, BaseInfoName = x.CertificateName }).ToList(); return getDataLists; } } #endregion #region 获取部门 /// /// 获取图片分类 /// /// public static List getDepart() { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Base_Depart orderby x.DepartCode select new Model.BaseInfoItem { BaseInfoId = x.DepartId, BaseInfoCode = x.DepartCode, BaseInfoName = x.DepartName }).ToList(); return getDataLists; } } #endregion #region 获取国家基础数据 /// /// 获取国家基础数据 /// /// public static List getCountry() { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.RealName_Country orderby x.Name select new Model.BaseInfoItem { BaseInfoId = x.CountryId, BaseInfoCode = x.Name, BaseInfoName = x.Cname }).ToList(); return getDataLists; } } #endregion #region 获取省份基础数据 /// /// 获取省份基础数据 /// /// public static List getProvinceByCountry(string countryId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.RealName_City where countryId == null || countryId == "" || x.CountryId == countryId orderby x.ProvinceCode select new Model.BaseInfoItem { BaseInfoId = x.ProvinceCode, BaseInfoCode = x.Name, BaseInfoName = x.Cname }).ToList(); return getDataLists; } } #endregion #region 获取实名制数据字典信息 /// /// 获取实名制数据字典信息 /// /// public static List getBasicDataByDictTypeCode(string dictTypeCode) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.RealName_BasicData where x.DictTypeCode == dictTypeCode orderby x.DictCode select new Model.BaseInfoItem { BaseInfoId = x.DictCode, BaseInfoCode = x.DictCode, BaseInfoName = x.DictName }).ToList(); return getDataLists; } } #endregion #region 获取焊接位置 /// /// 获取焊接位置 /// /// public static List GetWeldingLocationList() { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDataLists = (from x in db.Base_WeldingLocation orderby x.WeldingLocationCode select new Model.BaseInfoItem { BaseInfoId = x.WeldingLocationId, BaseInfoCode = x.WeldingLocationCode, BaseInfoName = x.WeldingLocationName }).ToList(); return getDataLists; } } #endregion /// /// 按条码关键字查询入库条码明细。空关键字不返回全表数据。 /// public static Tuple, int> GetInputDetailBarCodes( string barCodeKeyword, int pageIndex, int pageSize) { if (string.IsNullOrWhiteSpace(barCodeKeyword)) { return Tuple.Create(new List(), 0); } string keyword = barCodeKeyword.Trim(); using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var query = db.Tw_InputDetailBarCode .Where(x => x.BarCode != null && x.BarCode.Contains(keyword)); int totalCount = query.Count(); var data = query .OrderBy(x => x.BarCode) .ThenBy(x => x.Id) .Skip((pageIndex - 1) * pageSize) .Take(pageSize) .ToList(); return Tuple.Create(data, totalCount); } } } }