ChengDa_English/SGGL/BLL/API/HJGL/APITestPackageService.cs

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