147 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			147 lines
		
	
	
		
			5.4 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 static class APITestPackageService
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        #region 获取试压包号
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取试压包号
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="unitWorkId">单位工程</param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="isFinish">是否完成</param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="testPackageNo">试压包号</param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static List<Model.BaseInfoItem> getTestPackageNo(string unitWorkId, bool isFinish, string testPackageNo)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var dataList = from x in db.PTP_TestPackage
							 | 
						|||
| 
								 | 
							
								                               where x.UnitWorkId == unitWorkId
							 | 
						|||
| 
								 | 
							
								                               select x;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if (!string.IsNullOrEmpty(testPackageNo))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    dataList = dataList.Where(e => e.TestPackageNo.Contains(testPackageNo));
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if (isFinish == true)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    dataList = dataList.Where(e => e.FinishDate.HasValue == true);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    dataList = dataList.Where(e => e.FinishDate.HasValue == false);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var getDataLists = (from x in dataList
							 | 
						|||
| 
								 | 
							
								                                    orderby x.TestPackageNo
							 | 
						|||
| 
								 | 
							
								                                    select new Model.BaseInfoItem
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        BaseInfoId = x.PTP_ID,
							 | 
						|||
| 
								 | 
							
								                                        BaseInfoCode = x.TestPackageNo,
							 | 
						|||
| 
								 | 
							
								                                    }).ToList();
							 | 
						|||
| 
								 | 
							
								                return getDataLists;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region 根据试压包ID获取明细
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据试压包ID获取明细
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="ptp_Id"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static List<Model.TestPackageItem> GetTestPackageDetail(string ptp_Id)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var getDataLists = (from x in db.View_PTP_TestPackageAudit
							 | 
						|||
| 
								 | 
							
								                                    where x.PTP_ID == ptp_Id
							 | 
						|||
| 
								 | 
							
								                                    orderby x.PipelineCode
							 | 
						|||
| 
								 | 
							
								                                    select new Model.TestPackageItem
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        PipelineCode = x.PipelineCode,
							 | 
						|||
| 
								 | 
							
								                                        WeldJointCount = x.WeldJointCount,
							 | 
						|||
| 
								 | 
							
								                                        WeldJointCountT = x.WeldJointCountT,
							 | 
						|||
| 
								 | 
							
								                                        CountS = x.CountS,
							 | 
						|||
| 
								 | 
							
								                                        CountU = x.CountU,
							 | 
						|||
| 
								 | 
							
								                                        NDTR_Name = x.NDTR_Name,
							 | 
						|||
| 
								 | 
							
								                                        Ratio = x.Ratio
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                                    }).ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                return getDataLists;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region  获取具备试压条件的试压包提醒
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取具备试压条件的试压包提醒
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="projectId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static List<Model.BaseInfoItem> GetCanTestPackageWarning(string projectId)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                List<Model.BaseInfoItem> canTest = new List<Model.BaseInfoItem>();
							 | 
						|||
| 
								 | 
							
								                // 获取项目中未完成的试压包
							 | 
						|||
| 
								 | 
							
								                var testPackage = from x in db.PTP_TestPackage
							 | 
						|||
| 
								 | 
							
								                                  where x.ProjectId == projectId && !x.FinishDate.HasValue
							 | 
						|||
| 
								 | 
							
								                                  select x;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                foreach (var t in testPackage)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    string strSql = @"SELECT ProjectId,PTP_ID,WeldJointCount,WeldJointCountT,CountU 
							 | 
						|||
| 
								 | 
							
								                              FROM dbo.View_PTP_TestPackageAudit
							 | 
						|||
| 
								 | 
							
								                             WHERE PTP_ID=@PTP_ID";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    List<SqlParameter> listStr = new List<SqlParameter>();
							 | 
						|||
| 
								 | 
							
								                    listStr.Add(new SqlParameter("@PTP_ID", t.PTP_ID));
							 | 
						|||
| 
								 | 
							
								                    SqlParameter[] parameter = listStr.ToArray();
							 | 
						|||
| 
								 | 
							
								                    DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if(IsCanTest(dt))
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        Model.BaseInfoItem item = new Model.BaseInfoItem();
							 | 
						|||
| 
								 | 
							
								                        item.BaseInfoId = t.PTP_ID;
							 | 
						|||
| 
								 | 
							
								                        item.BaseInfoCode ="具备试压条件:"+ t.TestPackageNo;
							 | 
						|||
| 
								 | 
							
								                        canTest.Add(item);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                return canTest;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        private static bool IsCanTest(DataTable dt)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            bool isPass = true;
							 | 
						|||
| 
								 | 
							
								            foreach (DataRow row in dt.Rows)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                int totalJoint = Convert.ToInt32(row["WeldJointCount"]);
							 | 
						|||
| 
								 | 
							
								                int compJoint = Convert.ToInt32(row["WeldJointCountT"]);
							 | 
						|||
| 
								 | 
							
								                int noPassJoint = Convert.ToInt32(row["CountU"]);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if (totalJoint != compJoint || noPassJoint != 0)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    isPass = false;
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            return isPass;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |