197 lines
9.4 KiB
C#
197 lines
9.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Collections;
|
|
|
|
namespace BLL
|
|
{
|
|
/// <summary>
|
|
/// 无损检测管理
|
|
/// </summary>
|
|
public static class NondestructiveTestService
|
|
{
|
|
public static Model.SGGLDB db = Funs.DB;
|
|
|
|
/// <summary>
|
|
/// 记录数
|
|
/// </summary>
|
|
private static int count
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取分页列表数
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="UnitWorkId"></param>
|
|
/// <param name="unitId"></param>
|
|
/// <param name="welderCode"></param>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="endDate"></param>
|
|
/// <param name="startRowIndex"></param>
|
|
/// <param name="maximumRows"></param>
|
|
/// <returns></returns>
|
|
public static IEnumerable GetListData(string projectId, string UnitWorkId, string unitId, string welderCode, string startDate, string endDate, int startRowIndex, int maximumRows)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
IQueryable<Model.ProcessControl_NondestructiveTest> q = from x in db.ProcessControl_NondestructiveTest
|
|
where x.ProjectId == projectId
|
|
orderby x.NondestructiveTestDate descending
|
|
select x;
|
|
if (UnitWorkId != "0")
|
|
{
|
|
q = q.Where(e => e.UnitWorkId == UnitWorkId);
|
|
}
|
|
if (unitId != "0")
|
|
{
|
|
q = q.Where(e => e.UnitId == unitId);
|
|
}
|
|
if (!string.IsNullOrEmpty(welderCode))
|
|
{
|
|
q = q.Where(e => e.WelderCode.Contains(welderCode));
|
|
}
|
|
if (!string.IsNullOrEmpty(startDate) && !string.IsNullOrEmpty(endDate))
|
|
{
|
|
q = q.Where(e => e.NondestructiveTestDate >= Funs.GetNewDateTime(startDate) && e.NondestructiveTestDate <= Funs.GetNewDateTime(endDate));
|
|
}
|
|
count = q.Count();
|
|
if (count == 0)
|
|
{
|
|
return new object[] { "" };
|
|
}
|
|
return from x in q.Skip(startRowIndex).Take(maximumRows)
|
|
select new
|
|
{
|
|
x.NondestructiveTestId,
|
|
x.ProjectId,
|
|
InstallationName = (from y in db.WBS_UnitWork where y.UnitWorkId == x.UnitWorkId select y.UnitWorkName).FirstOrDefault(),
|
|
UnitName = (from y in db.Base_Unit where y.UnitId == x.UnitId select y.UnitName).FirstOrDefault(),
|
|
//ProfessionalName = (from y in db.WBS_CNProfessional where y.CNProfessionalId == x.CNProfessionalId select y.ProfessionalName).FirstOrDefault(),
|
|
x.WelderCode,
|
|
x.NondestructiveTestCode,
|
|
x.PieceCount,
|
|
x.OnceQualifiedCount,
|
|
x.NondestructiveTestDate,
|
|
InspectionAreaName = (from y in db.Base_InspectionArea where y.InspectionAreaId == x.InspectionAreaId select y.InspectionAreaName).FirstOrDefault(),
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取分页列表数
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="UnitWorkId"></param>
|
|
/// <param name="unitId"></param>
|
|
/// <param name="welderCode"></param>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="endDate"></param>
|
|
/// <returns></returns>
|
|
public static int GetListCount(string projectId, string UnitWorkId, string unitId, string welderCode, string startDate, string endDate)
|
|
{
|
|
return count;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据主键获取无损检测管理
|
|
/// </summary>
|
|
/// <param name="nondestructiveTestId"></param>
|
|
/// <returns></returns>
|
|
public static Model.ProcessControl_NondestructiveTest GetNondestructiveTestById(string nondestructiveTestId)
|
|
{
|
|
return Funs.DB.ProcessControl_NondestructiveTest.FirstOrDefault(e => e.NondestructiveTestId == nondestructiveTestId);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 添加无损检测管理
|
|
/// </summary>
|
|
/// <param name="nondestructiveTest"></param>
|
|
public static void AddNondestructiveTest(Model.ProcessControl_NondestructiveTest nondestructiveTest)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.ProcessControl_NondestructiveTest newNondestructiveTest = new Model.ProcessControl_NondestructiveTest();
|
|
newNondestructiveTest.NondestructiveTestId = nondestructiveTest.NondestructiveTestId;
|
|
newNondestructiveTest.ProjectId = nondestructiveTest.ProjectId;
|
|
newNondestructiveTest.UnitWorkId = nondestructiveTest.UnitWorkId;
|
|
newNondestructiveTest.UnitId = nondestructiveTest.UnitId;
|
|
//newNondestructiveTest.CNProfessionalId = nondestructiveTest.CNProfessionalId;
|
|
newNondestructiveTest.WelderCode = nondestructiveTest.WelderCode;
|
|
newNondestructiveTest.NondestructiveTestCode = nondestructiveTest.NondestructiveTestCode;
|
|
newNondestructiveTest.PieceCount = nondestructiveTest.PieceCount;
|
|
newNondestructiveTest.OnceQualifiedCount = nondestructiveTest.OnceQualifiedCount;
|
|
newNondestructiveTest.NondestructiveTestDate = nondestructiveTest.NondestructiveTestDate;
|
|
newNondestructiveTest.WED_ID = nondestructiveTest.WED_ID;
|
|
newNondestructiveTest.STE_ID = nondestructiveTest.STE_ID;
|
|
newNondestructiveTest.CompileMan = nondestructiveTest.CompileMan;
|
|
newNondestructiveTest.InspectionAreaId = nondestructiveTest.InspectionAreaId;
|
|
|
|
db.ProcessControl_NondestructiveTest.InsertOnSubmit(newNondestructiveTest);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改无损检测管理
|
|
/// </summary>
|
|
/// <param name="nondestructiveTest"></param>
|
|
public static void UpdateNondestructiveTest(Model.ProcessControl_NondestructiveTest nondestructiveTest)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.ProcessControl_NondestructiveTest newNondestructiveTest = db.ProcessControl_NondestructiveTest.FirstOrDefault(e => e.NondestructiveTestId == nondestructiveTest.NondestructiveTestId);
|
|
if (newNondestructiveTest != null)
|
|
{
|
|
newNondestructiveTest.ProjectId = nondestructiveTest.ProjectId;
|
|
newNondestructiveTest.UnitWorkId = nondestructiveTest.UnitWorkId;
|
|
newNondestructiveTest.UnitId = nondestructiveTest.UnitId;
|
|
//newNondestructiveTest.CNProfessionalId = nondestructiveTest.CNProfessionalId;
|
|
newNondestructiveTest.WelderCode = nondestructiveTest.WelderCode;
|
|
newNondestructiveTest.NondestructiveTestCode = nondestructiveTest.NondestructiveTestCode;
|
|
newNondestructiveTest.PieceCount = nondestructiveTest.PieceCount;
|
|
newNondestructiveTest.OnceQualifiedCount = nondestructiveTest.OnceQualifiedCount;
|
|
newNondestructiveTest.NondestructiveTestDate = nondestructiveTest.NondestructiveTestDate;
|
|
newNondestructiveTest.WED_ID = nondestructiveTest.WED_ID;
|
|
newNondestructiveTest.STE_ID = nondestructiveTest.STE_ID;
|
|
newNondestructiveTest.InspectionAreaId = nondestructiveTest.InspectionAreaId;
|
|
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据主键删除无损检测管理
|
|
/// </summary>
|
|
/// <param name="nondestructiveTestId"></param>
|
|
public static void DeleteNondestructiveTest(string nondestructiveTestId)
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
Model.ProcessControl_NondestructiveTest nondestructiveTest = db.ProcessControl_NondestructiveTest.FirstOrDefault(e => e.NondestructiveTestId == nondestructiveTestId);
|
|
if (nondestructiveTest != null)
|
|
{
|
|
db.ProcessControl_NondestructiveTest.DeleteOnSubmit(nondestructiveTest);
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据单位获取对应时间内的集合
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="unitId"></param>
|
|
/// <param name="startDate"></param>
|
|
/// <param name="SoptDate"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.ProcessControl_NondestructiveTest> GetNondestructiveTestListByUnitIdAndDate(string projectId, string unitId, DateTime startDate, DateTime SoptDate)
|
|
{
|
|
List<Model.ProcessControl_NondestructiveTest> NondestructiveTestList = (from x in Funs.DB.ProcessControl_NondestructiveTest where x.ProjectId == projectId select x).ToList();
|
|
NondestructiveTestList = (from x in NondestructiveTestList where x.UnitId == unitId select x).ToList();
|
|
if (startDate != null && SoptDate != null)
|
|
{
|
|
NondestructiveTestList = (from x in NondestructiveTestList where x.NondestructiveTestDate >= startDate && x.NondestructiveTestDate <= SoptDate select x).ToList();
|
|
}
|
|
|
|
return NondestructiveTestList;
|
|
}
|
|
}
|
|
}
|