209 lines
6.9 KiB
C#
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
|
|
|
|
}
|
|
}
|