2025-02-12 09:27:47 +08:00
using System ;
using System.Collections.Generic ;
using System.Data ;
using System.Data.SqlClient ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
namespace BLL
{
public class ProjectQualityService
{
public static Model . SGGLDB db = Funs . DB ;
/// <summary>
/// 查询
/// </summary>
/// <param name="ProjectQualityType">类型</param>
/// <returns></returns>
public static DataTable GetProjectQualityList ( int? ProjectQualityType )
{
string strSql = @"SELECT a.* ,b.QualityQuestionType FROM WBS_ProjectQuality a left join Base_QualityQuestionType b on a.ProjectName = b.QualityQuestionTypeId" ;
List < System . Data . SqlClient . SqlParameter > listStr = new List < SqlParameter > ( ) ;
if ( ProjectQualityType ! = null )
{
strSql + = " where a.ProjectQualityType = @ProjectQualityType " ;
listStr . Add ( new SqlParameter ( "@ProjectQualityType" , ProjectQualityType ) ) ;
}
SqlParameter [ ] parameter = listStr . ToArray ( ) ;
DataTable tb = SQLHelper . GetDataTableRunText ( strSql , parameter ) ;
return tb ;
}
/// <summary>
/// 查询
/// </summary>
/// <returns></returns>
public static Model . WBS_ProjectQuality GetProjectQualityModel ( string ProjectQualityId )
{
var model = db . WBS_ProjectQuality . FirstOrDefault ( c = > c . ProjectQualityId = = ProjectQualityId ) ;
return model ;
}
/// <summary>
/// 添加更新操作
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public static bool UpdateProjectQuality ( Model . WBS_ProjectQuality model )
{
bool isok = true ;
try
{
if ( string . IsNullOrEmpty ( model . ProjectQualityId ) )
{
model . ProjectQualityId = SQLHelper . GetNewID ( typeof ( Model . WBS_ProjectQuality ) ) ;
db . WBS_ProjectQuality . InsertOnSubmit ( model ) ;
db . SubmitChanges ( ) ;
}
else
{
var editModel = db . WBS_ProjectQuality . FirstOrDefault ( c = > c . ProjectQualityId = = model . ProjectQualityId ) ;
if ( editModel ! = null )
{
editModel . ProjectName = model . ProjectName ;
editModel . ProjectQualityDes = model . ProjectQualityDes ;
editModel . ProjectQualityResult = model . ProjectQualityResult ;
editModel . ProjectQualityType = model . ProjectQualityType ;
editModel . Remark = model . Remark ;
editModel . ShowIndex = model . ShowIndex ;
db . SubmitChanges ( ) ;
}
}
}
catch ( Exception ex )
{
isok = false ;
}
return isok ;
}
/// <summary>
/// 删除操作
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public static bool DelProjectQuality ( string id )
{
bool isok = true ;
try
{
var delModel = db . WBS_ProjectQuality . FirstOrDefault ( c = > c . ProjectQualityId = = id ) ;
if ( delModel ! = null )
{
db . WBS_ProjectQuality . DeleteOnSubmit ( delModel ) ;
db . SubmitChanges ( ) ;
}
}
catch ( Exception ex )
{
isok = false ;
}
return isok ;
}
2025-04-15 20:48:53 +08:00
#region API
/// <summary>
/// 根据--1 建筑工程 2 安装工程或者3(全部)分组问题类别 ---何丽梅
/// </summary>
/// <returns></returns>
public static List < dynamic > GetGroupProjectName ( int PageNumber , int PageSize , string Keyword )
2025-02-12 09:27:47 +08:00
{
//var list = db.WBS_ProjectQuality.Where(c => c.ProjectQualityType == ProjectQualityType).GroupBy(c => c.ProjectName).Select(c => c.Key).ToList();
//return list;
2025-04-15 20:48:53 +08:00
var list = from y in Funs . DB . Base_QualityQuestionType
where y . Type = = 2 | | y . Type = = 1
2025-02-12 09:27:47 +08:00
select new
{
y . Type ,
y . QualityQuestionType ,
y . QualityQuestionTypeId
}
;
2025-04-15 20:48:53 +08:00
if ( ! string . IsNullOrEmpty ( Keyword ) )
{
list = list . Where ( x = > x . QualityQuestionType . Contains ( Keyword ) ) ;
}
list = list . Skip ( ( PageNumber - 1 ) * PageSize ) . Take ( PageSize ) ;
return list . Distinct ( ) . ToList < dynamic > ( ) ;
2025-02-12 09:27:47 +08:00
2025-04-15 20:48:53 +08:00
}
public static List < dynamic > GetGroupProjectName ( int ProjectQualityType )
{
//var list = db.WBS_ProjectQuality.Where(c => c.ProjectQualityType == ProjectQualityType).GroupBy(c => c.ProjectName).Select(c => c.Key).ToList();
//return list;
var list = from y in Funs . DB . Base_QualityQuestionType
select new
{
y . Type ,
y . QualityQuestionType ,
y . QualityQuestionTypeId
}
;
2025-02-12 09:27:47 +08:00
switch ( ProjectQualityType )
{
case 1 : // 建筑工程
list = list . Where ( e = > e . Type = = 1 ) ;
break ;
case 2 : // 安装工程
list = list . Where ( e = > e . Type = = 2 ) ;
break ;
case 3 : // 全部
list = list . Where ( e = > e . Type = = 2 | | e . Type = = 1 ) ;
break ;
}
return list . Distinct ( ) . ToList < dynamic > ( ) ;
}
/// <summary>
/// 分解1 建筑工程 2 安装工程选择的问题类型 ---何丽梅
/// </summary>
/// <returns></returns>
public static Model . WBS_ProjectQuality GetQualityProjectNameType ( string QualityQuestionTypeId )
{
return Funs . DB . WBS_ProjectQuality . FirstOrDefault ( e = > e . ProjectName = = QualityQuestionTypeId ) ;
}
/// <summary>
/// 分组问题描述
/// </summary>
/// <returns></returns>
2025-04-15 20:48:53 +08:00
public static List < dynamic > GetGroupProjectQualityDes ( string projectName , string keyword = "" )
2025-02-12 09:27:47 +08:00
{
2025-04-15 20:48:53 +08:00
if ( string . IsNullOrEmpty ( keyword ) ) keyword = "" ;
var list = Funs . DB . WBS_ProjectQuality . Where ( c = > c . ProjectName = = projectName & & c . ProjectQualityDes . Contains ( keyword ) ) . Select ( c = > new
2025-02-12 09:27:47 +08:00
{
2025-04-15 20:48:53 +08:00
ProjectQualityResult = c . ProjectQualityResult ,
QuestionDef = c . ProjectQualityDes ,
QuestionDefId = c . ProjectQualityId
2025-02-12 09:27:47 +08:00
} ) . ToList < dynamic > ( ) ;
2025-04-15 20:48:53 +08:00
2025-02-12 09:27:47 +08:00
return list ;
}
/// <summary>
/// 分组问题描述
/// </summary>
/// <returns></returns>
public static List < dynamic > GetGroupProjectQualityDes ( List < string > projectNames )
{
var list = db . WBS_ProjectQuality . Where ( c = > projectNames . Contains ( c . ProjectName ) ) . GroupBy ( c = > c . ProjectQualityDes ) . Select ( c = > new
{
QuestionDef = c . Key ,
QuestionDefId = c . Key
} ) . ToList < dynamic > ( ) ;
return list ;
}
/// <summary>
/// 分组问题描述
/// </summary>
/// <returns></returns>
public static List < dynamic > GetProjectQualityResult ( string projectQualityDes )
{
var list = db . WBS_ProjectQuality . Where ( c = > c . ProjectQualityDes = = projectQualityDes ) . Select ( c = > new
{
RectifyOpinion = c . ProjectQualityResult ,
RectifyOpinionId = c . ProjectQualityResult
} ) . ToList < dynamic > ( ) ;
return list ;
}
#endregion
}
}