CNCEC_SUBQHSE_WUHUAN/SGGL/BLL/HJGL/NDT/Batch_NDEItemService.cs

274 lines
12 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
/// <summary>
/// 检测单明细
/// </summary>
public static class Batch_NDEItemService
{
/// <summary>
/// 根据主键获取检测单明细
/// </summary>
/// <param name="NDEItemId"></param>
/// <returns></returns>
public static Model.HJGL_Batch_NDEItem GetNDEItemById(string ndeItemID)
{
return Funs.DB.HJGL_Batch_NDEItem.FirstOrDefault(e => e.NDEItemID == ndeItemID);
}
/// <summary>
/// 根据主键获取检测单明细视图信息
/// </summary>
/// <param name="ndeItemID"></param>
/// <returns></returns>
public static Model.View_Batch_NDEItem GetNDEItemViewById (string ndeItemID)
{
return Funs.DB.View_Batch_NDEItem.FirstOrDefault(e => e.NDEItemID == ndeItemID);
}
/// <summary>
/// 根据检测单Id获取相关明细信息
/// </summary>
/// <param name="hardTrustId"></param>
/// <returns></returns>
public static List<Model.HJGL_Batch_NDEItem> GetNDEItemByNDEID(string NDEID)
{
return (from x in Funs.DB.HJGL_Batch_NDEItem where x.NDEID == NDEID select x).ToList();
}
/// <summary>
/// 添加检测单明细
/// </summary>
/// <param name="NDEItem"></param>
public static void AddNDEItem(Model.HJGL_Batch_NDEItem NDEItem)
{
Model.SGGLDB db = Funs.DB;
Model.HJGL_Batch_NDEItem newNDEItem = new Model.HJGL_Batch_NDEItem();
newNDEItem.NDEItemID = NDEItem.NDEItemID;
newNDEItem.NDEID = NDEItem.NDEID;
newNDEItem.TrustBatchItemId = NDEItem.TrustBatchItemId;
newNDEItem.DetectionTypeId = NDEItem.DetectionTypeId;
newNDEItem.RequestDate = NDEItem.RequestDate;
newNDEItem.RepairLocation = NDEItem.RepairLocation;
newNDEItem.TotalFilm = NDEItem.TotalFilm;
newNDEItem.PassFilm = NDEItem.PassFilm;
newNDEItem.CheckResult = NDEItem.CheckResult;
newNDEItem.NDEReportNo = NDEItem.NDEReportNo;
newNDEItem.FilmDate = NDEItem.FilmDate;
newNDEItem.ReportDate = NDEItem.ReportDate;
newNDEItem.SubmitDate = NDEItem.SubmitDate;
newNDEItem.CheckDefects = NDEItem.CheckDefects;
newNDEItem.JudgeGrade = NDEItem.JudgeGrade;
newNDEItem.Remark = NDEItem.Remark;
db.HJGL_Batch_NDEItem.InsertOnSubmit(newNDEItem);
db.SubmitChanges();
}
/// <summary>
/// 修改检测单
/// </summary>
/// <param name="NDEItem"></param>
public static void UpdateNDEItem(Model.HJGL_Batch_NDEItem NDEItem)
{
Model.SGGLDB db = Funs.DB;
Model.HJGL_Batch_NDEItem newNDEItem = db.HJGL_Batch_NDEItem.FirstOrDefault(e => e.NDEItemID == NDEItem.NDEItemID);
if (newNDEItem != null)
{
newNDEItem.TrustBatchItemId = NDEItem.TrustBatchItemId;
newNDEItem.DetectionTypeId = NDEItem.DetectionTypeId;
newNDEItem.RequestDate = NDEItem.RequestDate;
newNDEItem.RepairLocation = NDEItem.RepairLocation;
newNDEItem.TotalFilm = NDEItem.TotalFilm;
newNDEItem.PassFilm = NDEItem.PassFilm;
newNDEItem.CheckResult = NDEItem.CheckResult;
newNDEItem.NDEReportNo = NDEItem.NDEReportNo;
newNDEItem.FilmDate = NDEItem.FilmDate;
newNDEItem.ReportDate = NDEItem.ReportDate;
newNDEItem.SubmitDate = NDEItem.SubmitDate;
newNDEItem.CheckDefects = NDEItem.CheckDefects;
newNDEItem.JudgeGrade = NDEItem.JudgeGrade;
newNDEItem.Remark = NDEItem.Remark;
db.SubmitChanges();
}
}
public static void NDEItemAudit(string ndeItemId,DateTime? submitDate)
{
Model.SGGLDB db = Funs.DB;
Model.HJGL_Batch_NDEItem audit = db.HJGL_Batch_NDEItem.First(e => e.NDEItemID == ndeItemId);
if (audit != null)
{
audit.SubmitDate = submitDate;
db.SubmitChanges();
}
}
/// <summary>
/// 根据检测单明细主键删除明细信息
/// </summary>
/// <param name="ndeItemID"></param>
public static void DeleteNDEItemByNDEItemID(string ndeItemID)
{
Model.SGGLDB db = Funs.DB;
var ndeItem = (from x in db.HJGL_Batch_NDEItem where x.NDEItemID == ndeItemID select x).FirstOrDefault();
if (ndeItem != null)
{
db.HJGL_Batch_NDEItem.DeleteOnSubmit(ndeItem);
db.SubmitChanges();
}
}
/// <summary>
/// 根据检测单主键删除相关明细信息
/// </summary>
/// <param name="ndeId"></param>
public static void DeleteNDEItemById(string ndeId)
{
Model.SGGLDB db = Funs.DB;
var ndeItem = (from x in db.HJGL_Batch_NDEItem where x.NDEID == ndeId select x).ToList();
if (ndeItem != null)
{
db.HJGL_Batch_NDEItem.DeleteAllOnSubmit(ndeItem);
db.SubmitChanges();
}
}
/// <summary>
/// 根据检测单Id获取相关明细视图信息
/// </summary>
/// <param name="projectId"></param>
/// <param name="hardTrustId"></param>
/// <returns></returns>
public static List<Model.View_Batch_NDEItem> GetViewNDEItem(string NDEID)
{
return (from x in Funs.DB.View_Batch_NDEItem where x.NDEID == NDEID select x).ToList();
}
/// <summary>
/// 根据焊口ID判断该焊口是否已检测并审核
/// </summary>
/// <param name="weldJointId">焊口ID</param>
/// <returns>true-已审核false-未审核</returns>
public static bool IsCheckedByWeldJoint(string weldJointId)
{
Model.SGGLDB db = Funs.DB;
bool isChecked = false;
var ndtItemView = from x in db.View_Batch_NDEItem where x.WeldJointId == weldJointId && x.SubmitDate != null select x;
if(ndtItemView.Count()>0)
{
isChecked = true;
}
return isChecked;
}
/// <summary>
/// 根据日报ID判断该日报下是否有焊口已检测并审核
/// </summary>
/// <param name="weldingDailyId">日报ID</param>
/// <returns>true-已审核false-未审核</returns>
public static bool IsCheckedByWeldingDaily(string weldingDailyId)
{
Model.SGGLDB db = Funs.DB;
bool isChecked = false;
var ndtItemView = from x in db.View_Batch_NDEItem where x.WeldingDailyId == weldingDailyId && x.SubmitDate != null select x;
if (ndtItemView.Count() > 0)
{
isChecked = true;
}
return isChecked;
}
#region
/// <summary>
/// 删除批中焊口信息
/// </summary>
/// <param name="weldJointId">焊口id</param>
public static void DeleteAllNDEInfoToWeldJoint(string weldJointId)
{
//Model.HJGLDB db = Funs.DB;
//var pointBatchItems = from x in db.Batch_PointBatchItem where x.WeldJointId == weldJointId select x;
//if (pointBatchItems.Count() > 0)
//{
// foreach (var pointBatchItem in pointBatchItems)
// {
// Model.Batch_BatchTrustItem trustItem = db.Batch_BatchTrustItem.FirstOrDefault(x => x.PointBatchItemId == pointBatchItem.PointBatchItemId);
// string pointBatchItemId = pointBatchItem.PointBatchItemId;
// string pointBatchId = pointBatchItem.PointBatchId;
// if (trustItem != null)
// {
// Model.Batch_NDEItem checkItem = db.Batch_NDEItem.FirstOrDefault(x => x.TrustBatchItemId == trustItem.TrustBatchItemId);
// if (checkItem != null)
// {
// // 删除检测单里明细
// DeleteNDEItemByNDEItemID(checkItem.NDEItemID);
// var ndeItem = from y in db.Batch_NDEItem where y.NDEID == checkItem.NDEID select y;
// // 当检测单没有明细时,删除检测单
// if (ndeItem.Count() == 0)
// {
// BLL.Batch_NDEService.DeleteNDEById(checkItem.NDEID);
// }
// }
// // 删除委托单里明细
// BLL.Batch_BatchTrustItemService.DeleteTrustItemByTrustBatchItemId(trustItem.TrustBatchItemId);
// var t = from y in db.Batch_BatchTrustItem where y.TrustBatchId == trustItem.TrustBatchId select y;
// // 当委托单只有没有明细时,删除委托单
// if (t.Count() == 0)
// {
// BLL.Batch_BatchTrustService.DeleteBatchTrustById(trustItem.TrustBatchId);
// }
// else
// { // 去掉委托单里包含的点口单
// string topoint = (from x in db.Batch_BatchTrust where x.TrustBatchId == trustItem.TrustBatchId select x.TopointBatch).FirstOrDefault();
// if (!String.IsNullOrEmpty(topoint))
// {
// topoint = topoint.Replace(pointBatchId + ",", "").Replace("," + pointBatchId, "");
// Model.Batch_BatchTrust trust = db.Batch_BatchTrust.FirstOrDefault(x => x.TrustBatchId == trustItem.TrustBatchId);
// trust.TopointBatch = topoint;
// db.SubmitChanges();
// }
// }
// }
// // 批明细
// var pointBatchItemnews = from x in db.Batch_PointBatchItem where x.PointBatchId == pointBatchId select x;
// int count = pointBatchItemnews.Count();
// BLL.Batch_PointBatchItemService.DeletePointBatchItemById(pointBatchItemId);// 删除此条明细
// if (count == 1) ////批明细中只有一条焊口时
// {
// BLL.Batch_PointBatchService.DeletePointBatchById(pointBatchId); // 删除批信息
// }
// else // 批明细中存在多条时
// {
// // 所在批
// var pointBatch = db.Batch_PointBatch.FirstOrDefault(x => x.PointBatchId == pointBatchId && x.ClearDate == null);
// if (pointBatch != null)
// {
// var pointBatchItemUpdate = from x in Funs.DB.Batch_PointBatchItem
// where x.PointBatchId == pointBatchId
// && x.PointState != null && x.PointDate.HasValue
// select x;
// if (pointBatchItemUpdate.Count() == 0)
// {
// // 如果批里没有口被点中,则修改主表委托状态,这样就可重新生成委托
// BLL.Batch_PointBatchService.UpdatePointTrustState(pointBatch.PointBatchId, null);
// }
// }
// }
// }
//}
}
#endregion
}
}