xinjiang/SGGL/BLL/CQMS/WBS/ProjectQualityService.cs

209 lines
6.9 KiB
C#

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;
}
#region API
/// <summary>
/// 根据--1 建筑工程 2 安装工程或者3(全部)分组问题类别 ---何丽梅
/// </summary>
/// <returns></returns>
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
}
;
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>
public static List<dynamic> GetGroupProjectQualityDes(string projectName)
{
var list = db.WBS_ProjectQuality.Where(c => c.ProjectName == 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> 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
}
}