453 lines
17 KiB
C#
453 lines
17 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace BLL
|
|
{
|
|
/// <summary>
|
|
/// 点口主表
|
|
/// </summary>
|
|
public static class Batch_PointBatchService
|
|
{
|
|
/// <summary>
|
|
/// 根据主键获取点口主表
|
|
/// </summary>
|
|
/// <param name="pointBatchId"></param>
|
|
/// <returns></returns>
|
|
public static Model.Batch_PointBatch GetPointBatchById(string pointBatchId)
|
|
{
|
|
return Funs.DB.Batch_PointBatch.FirstOrDefault(e => e.PointBatchId == pointBatchId);
|
|
}
|
|
|
|
#region 点口单维护
|
|
/// <summary>
|
|
/// 添加点口
|
|
/// </summary>
|
|
/// <param name="pointBatch"></param>
|
|
public static void AddPointBatch(Model.Batch_PointBatch pointBatch)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
Model.Batch_PointBatch newPointBatch = new Model.Batch_PointBatch
|
|
{
|
|
PointBatchId = pointBatch.PointBatchId,
|
|
PointBatchCode = pointBatch.PointBatchCode,
|
|
ProjectId = pointBatch.ProjectId,
|
|
UnitId = pointBatch.UnitId,
|
|
InstallationId = pointBatch.InstallationId,
|
|
PipelineId=pointBatch.PipelineId,
|
|
DetectionTypeId = pointBatch.DetectionTypeId,
|
|
DetectionRateId = pointBatch.DetectionRateId,
|
|
WelderId = pointBatch.WelderId,
|
|
MediumId = pointBatch.MediumId,
|
|
MaterialId = pointBatch.MaterialId,
|
|
WeldTypeId = pointBatch.WeldTypeId,
|
|
StartDate = pointBatch.StartDate,
|
|
EndDate = pointBatch.EndDate,
|
|
ClearDate = pointBatch.ClearDate,
|
|
IsTrust = pointBatch.IsTrust,
|
|
IsCheck = pointBatch.IsCheck
|
|
};
|
|
db.Batch_PointBatch.InsertOnSubmit(newPointBatch);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改点口主表
|
|
/// </summary>
|
|
/// <param name="pointBatch"></param>
|
|
public static void UpdatePointBatch(Model.Batch_PointBatch pointBatch)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
Model.Batch_PointBatch newPointBatch = db.Batch_PointBatch.FirstOrDefault(e => e.PointBatchId == pointBatch.PointBatchId);
|
|
if (newPointBatch != null)
|
|
{
|
|
newPointBatch.PointBatchCode = pointBatch.PointBatchCode;
|
|
newPointBatch.ProjectId = pointBatch.ProjectId;
|
|
newPointBatch.UnitId = pointBatch.UnitId;
|
|
newPointBatch.InstallationId = pointBatch.InstallationId;
|
|
newPointBatch.PipelineId = pointBatch.PipelineId;
|
|
newPointBatch.DetectionTypeId = pointBatch.DetectionTypeId;
|
|
newPointBatch.DetectionRateId = pointBatch.DetectionRateId;
|
|
newPointBatch.WelderId = pointBatch.WelderId;
|
|
newPointBatch.MediumId = pointBatch.MediumId;
|
|
newPointBatch.MaterialId = pointBatch.MaterialId;
|
|
newPointBatch.WeldTypeId = pointBatch.WeldTypeId;
|
|
newPointBatch.StartDate = pointBatch.StartDate;
|
|
newPointBatch.EndDate = pointBatch.EndDate;
|
|
newPointBatch.ClearDate = pointBatch.ClearDate;
|
|
newPointBatch.IsTrust = pointBatch.IsTrust;
|
|
newPointBatch.IsCheck = pointBatch.IsCheck;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据主键删除点口主表
|
|
/// </summary>
|
|
/// <param name="pointBatchId"></param>
|
|
public static void DeletePointBatchById(string pointBatchId)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
Model.Batch_PointBatch pointBatch = db.Batch_PointBatch.FirstOrDefault(e => e.PointBatchId == pointBatchId);
|
|
if (pointBatch!=null)
|
|
{
|
|
db.Batch_PointBatch.DeleteOnSubmit(pointBatch);
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 更新批主表信息-委托状态
|
|
/// <summary>
|
|
/// 更新批主表委托状态
|
|
/// </summary>
|
|
/// <param name="pointBatchId"></param>
|
|
/// <param name="isTrust"></param>
|
|
public static void UpdatePointTrustState(string pointBatchId, bool? isTrust)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
Model.Batch_PointBatch update = db.Batch_PointBatch.FirstOrDefault(e => e.PointBatchId == pointBatchId);
|
|
if (update != null)
|
|
{
|
|
update.IsTrust = isTrust;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 生成批号
|
|
/// <summary>
|
|
/// 生成批号
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="pipeCode"></param>
|
|
/// <param name="detectionTypeCode"></param>
|
|
/// <param name="detectionRateCode"></param>
|
|
/// <returns></returns>
|
|
public static string GetNewPointBatchCode(string projectId, string pipeCode, string detectionTypeCode, string detectionRateCode)
|
|
{
|
|
string prefix = null;
|
|
if (!string.IsNullOrEmpty(pipeCode))
|
|
{
|
|
prefix = pipeCode + "-";
|
|
}
|
|
if (!string.IsNullOrEmpty(detectionTypeCode))
|
|
{
|
|
prefix = prefix + detectionTypeCode + "-";
|
|
}
|
|
if (!string.IsNullOrEmpty(detectionRateCode))
|
|
{
|
|
prefix = prefix + detectionRateCode + "-";
|
|
}
|
|
|
|
return BLL.SQLHelper.RunProcNewId("SpGetThreeNumber", "Batch_PointBatch", "PointBatchCode", projectId, prefix);
|
|
}
|
|
#endregion
|
|
|
|
#region 更新批主表信息-开\关闭
|
|
/// <summary>
|
|
/// 更新批主表信息
|
|
/// </summary>
|
|
/// <param name="pointBatch">批主表实体</param>
|
|
public static void UpdatePointBatch(string pointBatchId, DateTime? endDate)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
Model.Batch_PointBatch newPointBatch = db.Batch_PointBatch.FirstOrDefault(e => e.PointBatchId == pointBatchId);
|
|
if (newPointBatch != null)
|
|
{
|
|
newPointBatch.EndDate = endDate;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 更新批主表信息-批结束日期
|
|
/// <summary>
|
|
/// 更新批主表信息-批结束日期
|
|
/// </summary>
|
|
/// <param name="pointBatch">批主表实体</param>
|
|
public static void UpdatePointBatchClearDate(string pointBatchId, DateTime? clearDate)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
Model.Batch_PointBatch newPointBatch = db.Batch_PointBatch.FirstOrDefault(e => e.PointBatchId == pointBatchId);
|
|
if (newPointBatch != null)
|
|
{
|
|
newPointBatch.ClearDate = clearDate;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 是否显示返修\切除页面通过批id
|
|
/// <summary>
|
|
/// 是否显示返修\切除页面
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static bool GetIsShowPointRepairByPointBatchId(string pointBatchId)
|
|
{
|
|
////判断该焊口是否点口\扩透 是显示链接
|
|
var pointBatchItem = Funs.DB.Batch_PointBatchItem.FirstOrDefault(x => x.PointBatchId == pointBatchId
|
|
&& !x.CutDate.HasValue && x.PointDate.HasValue && x.IsCheckRepair.HasValue && x.IsCheckRepair.Value);
|
|
if (pointBatchItem != null)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 是否 取消扩透
|
|
/// <summary>
|
|
/// 是否显示取消扩透
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static bool GetIsShowCancellation(string pointBatchItemId, string pointState)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
bool isShow = false;
|
|
////判断该焊口是否点口\扩透 是显示链接
|
|
var pointBatchItem = Funs.DB.Batch_PointBatchItem.FirstOrDefault(x => x.PointBatchItemId == pointBatchItemId
|
|
&& (x.IsCheckRepair == null || x.IsCheckRepair == false) && (x.PointState == pointState || x.CutDate.HasValue));
|
|
if (pointBatchItem != null)
|
|
{
|
|
var trust = db.Batch_BatchTrustItem.Where(p => p.PointBatchItemId == pointBatchItemId);
|
|
if (trust.Count() == 1)
|
|
{
|
|
var checkItem = db.Batch_NDEItem.FirstOrDefault(x => x.TrustBatchItemId == trust.First().TrustBatchItemId);
|
|
if (checkItem == null)
|
|
{
|
|
isShow = true;
|
|
}
|
|
|
|
}
|
|
if (trust.Count() == 0)
|
|
{
|
|
isShow = true;
|
|
}
|
|
}
|
|
|
|
return isShow;
|
|
}
|
|
#endregion
|
|
|
|
#region 是否满足生成委托条件
|
|
/// <summary>
|
|
/// 是否满足生成委托条件
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static bool GetIsGenerateTrust(string pointBatchItemId)
|
|
{
|
|
bool isShow = true;
|
|
var trustBatchItem = Funs.DB.Batch_BatchTrustItem.FirstOrDefault(x => x.PointBatchItemId == pointBatchItemId);
|
|
if (trustBatchItem != null)
|
|
{
|
|
var checkItem = Funs.DB.Batch_NDEItem.FirstOrDefault(x => x.TrustBatchItemId == trustBatchItem.TrustBatchItemId && x.CheckResult == "1");
|
|
if (checkItem != null)
|
|
{
|
|
isShow = false;
|
|
}
|
|
}
|
|
|
|
return isShow;
|
|
}
|
|
#endregion
|
|
|
|
#region 判断批次主键判断批是否关闭
|
|
/// <summary>
|
|
/// 判断批次主键判断批是否关闭
|
|
/// </summary>
|
|
/// <param name="pointBatchId">批次主键</param>
|
|
/// <returns></returns>
|
|
public static bool IsPointBatchClose(string pointBatchId)
|
|
{
|
|
bool isColse = false;
|
|
var pointBatch = Funs.DB.Batch_PointBatch.FirstOrDefault(x => x.PointBatchId == pointBatchId);
|
|
if (pointBatch.EndDate.HasValue)
|
|
{
|
|
isColse = true;
|
|
}
|
|
else
|
|
{
|
|
isColse = false;
|
|
}
|
|
return isColse;
|
|
}
|
|
#endregion
|
|
|
|
#region 更新返修焊口号
|
|
/// <summary>
|
|
/// 返修\切除更新焊口号
|
|
/// </summary>
|
|
/// <param name="WeldJointId"></param>
|
|
/// <param name="value"></param>
|
|
public static void UpdateNewRepairJointNo(string WeldJointId)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
var jointInfo = db.Pipeline_WeldJoint.FirstOrDefault(x => x.WeldJointId == WeldJointId);
|
|
if (jointInfo != null)
|
|
{
|
|
string jointNo = jointInfo.WeldJointCode;
|
|
string lastNo = jointNo;
|
|
string startNo = jointNo;
|
|
string newjointNo = string.Empty;
|
|
////焊口字符串长度
|
|
int noLength = jointNo.Length;
|
|
if (noLength > 2)
|
|
{
|
|
lastNo = jointNo.Substring(noLength - 2); ////截取最后两位
|
|
startNo = jointNo.Substring(0, noLength - 2);
|
|
////焊口包含R的索引
|
|
int indexR = lastNo.LastIndexOf("R");
|
|
if (indexR >= 0)
|
|
{
|
|
string rString = string.Empty;
|
|
////截取R 前的字符串
|
|
rString = lastNo.Substring(0, indexR + 1);
|
|
////截取R 后的字符
|
|
string subNo = lastNo.Substring(indexR + 1);
|
|
if (!string.IsNullOrEmpty(subNo))
|
|
{
|
|
subNo = (Convert.ToInt32(subNo) + 1).ToString();
|
|
}
|
|
else
|
|
{
|
|
subNo = "1";
|
|
}
|
|
|
|
newjointNo = startNo + rString + subNo;
|
|
}
|
|
else
|
|
{
|
|
newjointNo = jointNo + "R1";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
newjointNo = jointNo + "R1";
|
|
}
|
|
|
|
jointInfo.WeldJointCode = newjointNo;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 撤消返修焊口号
|
|
/// <summary>
|
|
/// 撤消返修焊口号
|
|
/// </summary>
|
|
/// <param name="WeldJointId"></param>
|
|
/// <param name="value"></param>
|
|
public static void CancelRepairJointNo(string WeldJointId)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
var jointInfo = db.Pipeline_WeldJoint.FirstOrDefault(x => x.WeldJointId == WeldJointId);
|
|
if (jointInfo != null)
|
|
{
|
|
string jointNo = jointInfo.WeldJointCode;
|
|
string lastNo = jointNo;
|
|
string startNo = jointNo;
|
|
string newjointNo = string.Empty;
|
|
|
|
//焊口字符串长度
|
|
int noLength = jointNo.Length;
|
|
if (noLength > 2)
|
|
{
|
|
lastNo = jointNo.Substring(noLength - 2); ////截取最后两位
|
|
startNo = jointNo.Substring(0, noLength - 2);
|
|
// 焊口包含R的索引
|
|
int indexR = lastNo.LastIndexOf("R");
|
|
if (indexR >= 0)
|
|
{
|
|
string rString = string.Empty;
|
|
// 截取R 前的字符串
|
|
rString = lastNo.Substring(0, indexR + 1);
|
|
// 截取R 后的字符
|
|
string subNo = lastNo.Substring(indexR + 1);
|
|
|
|
if (!string.IsNullOrEmpty(subNo) && Convert.ToInt32(subNo) > 1)
|
|
{
|
|
subNo = (Convert.ToInt32(subNo) - 1).ToString();
|
|
newjointNo = startNo + rString + subNo;
|
|
}
|
|
else
|
|
{
|
|
newjointNo = startNo;
|
|
}
|
|
}
|
|
}
|
|
|
|
jointInfo.WeldJointCode = newjointNo;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 更新扩透或切除焊口号
|
|
/// <summary>
|
|
/// 更新扩透或切除焊口号
|
|
/// </summary>
|
|
/// <param name="WeldJointId"></param>
|
|
/// <param name="value"></param>
|
|
public static void UpdateNewKuoOrCutJointNo(string pointBatchItemId, string value)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
var pointBatchItem = db.Batch_PointBatchItem.FirstOrDefault(x => x.PointBatchItemId == pointBatchItemId);
|
|
var jointInfo = db.Pipeline_WeldJoint.FirstOrDefault(x => x.WeldJointId == pointBatchItem.WeldJointId);
|
|
if (jointInfo != null)
|
|
{
|
|
jointInfo.OldWeldJointCode = jointInfo.WeldJointCode;
|
|
string jointNo = jointInfo.WeldJointCode;
|
|
//// 焊口字符串长度
|
|
//int noLength = jointNo.Length;
|
|
//if (noLength > 2 && value == "C")
|
|
//{
|
|
// // 焊口包含K的索引
|
|
// int indexK = jointNo.LastIndexOf("K");
|
|
// if (indexK >= 0)
|
|
// {
|
|
// // 截取K 前的字符串
|
|
// jointNo = jointNo.Substring(0, indexK);
|
|
// }
|
|
// else
|
|
// {
|
|
// // 焊口包含R的索引
|
|
// int indexR = jointNo.LastIndexOf("R");
|
|
// if (indexR >= 0)
|
|
// {
|
|
// jointNo = jointNo.Substring(0, indexR);
|
|
// }
|
|
// }
|
|
//}
|
|
|
|
jointInfo.WeldJointCode = jointNo + value;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 撤销扩透或切除焊口号
|
|
/// <summary>
|
|
/// 撤销扩透或切除焊口号
|
|
/// </summary>
|
|
/// <param name="WeldJointId"></param>
|
|
/// <param name="value"></param>
|
|
public static void CancellationJointNo(string WeldJointId)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
var jointInfo = db.Pipeline_WeldJoint.FirstOrDefault(x => x.WeldJointId == WeldJointId);
|
|
if (jointInfo != null && !string.IsNullOrEmpty(jointInfo.OldWeldJointCode))
|
|
{
|
|
jointInfo.WeldJointCode = jointInfo.OldWeldJointCode;
|
|
jointInfo.OldWeldJointCode = null;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|