148 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			148 lines
		
	
	
		
			5.5 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.SUBQHSEDB db = new Model.SUBQHSEDB(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.SUBQHSEDB db = new Model.SUBQHSEDB(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; | |||
|  |                 return new List<Model.TestPackageItem>(); | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region  获取具备试压条件的试压包提醒 | |||
|  |         /// <summary> | |||
|  |         /// 获取具备试压条件的试压包提醒 | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.BaseInfoItem> GetCanTestPackageWarning(string projectId) | |||
|  |         { | |||
|  |             using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(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 | |||
|  |     } | |||
|  | } |