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.CNPCDB 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
 | 
						|
 | 
						|
    }
 | 
						|
}
 |