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);
}
}
}
}