274 lines
12 KiB
C#
274 lines
12 KiB
C#
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
|
||
}
|
||
}
|