376 lines
18 KiB
C#
376 lines
18 KiB
C#
using Model;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace BLL
|
|
{
|
|
public partial class Pipeline_WeldingDailyService
|
|
{
|
|
/// <summary>
|
|
///获取焊接日报信息
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static Model.Pipeline_WeldingDaily GetPipeline_WeldingDailyByWeldingDailyId(string WeldingDailyId)
|
|
{
|
|
return Funs.DB.Pipeline_WeldingDaily.FirstOrDefault(e => e.WeldingDailyId == WeldingDailyId);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据焊接日报主键获取焊接日报信息
|
|
/// </summary>
|
|
/// <param name="weldReportNo">焊接日报编号</param>
|
|
/// <returns>焊接日报信息</returns>
|
|
public static bool IsExistWeldingDailyCode(string weldingDailyCode, string weldingDailyId, string projectId)
|
|
{
|
|
var q = Funs.DB.Pipeline_WeldingDaily.FirstOrDefault(x => x.WeldingDailyCode == weldingDailyCode && x.ProjectId == projectId && x.WeldingDailyId != weldingDailyId);
|
|
if (q != null)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据焊接日报Id获取焊接日报明细信息
|
|
/// </summary>
|
|
/// <param name="ManagerTotalId"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.SpWeldingDailyItem> GetWeldingDailyItem(string weldingDailyId)
|
|
{
|
|
List<Model.SpWeldingDailyItem> returnViewMatch = new List<Model.SpWeldingDailyItem>();
|
|
var weldlineLists = from x in Funs.DB.View_Pipeline_WeldJoint
|
|
where x.WeldingDailyId == weldingDailyId
|
|
select x;
|
|
if (weldlineLists.Count() > 0)
|
|
{
|
|
foreach (var item in weldlineLists)
|
|
{
|
|
Model.SpWeldingDailyItem newWeldReportItem = new Model.SpWeldingDailyItem();
|
|
newWeldReportItem.WeldJointId = item.WeldJointId;
|
|
newWeldReportItem.WeldJointCode = item.WeldJointCode;
|
|
newWeldReportItem.ConvertWeldJoint = item.ConvertWeldJoint;
|
|
newWeldReportItem.PipelineCode = item.PipelineCode;
|
|
newWeldReportItem.CoverWelderCode = item.CoverWelderCode;
|
|
newWeldReportItem.CoverWelderId = item.CoverWelderId;
|
|
newWeldReportItem.BackingWelderCode = item.BackingWelderCode;
|
|
newWeldReportItem.BackingWelderId = item.BackingWelderId;
|
|
newWeldReportItem.WeldTypeId = item.WeldTypeCode;
|
|
newWeldReportItem.JointArea = item.JointArea;
|
|
newWeldReportItem.WeldingLocationId = item.WeldingLocationId;
|
|
newWeldReportItem.WeldingLocationCode = item.WeldingLocationCode;
|
|
newWeldReportItem.JointAttribute = item.JointAttribute;
|
|
newWeldReportItem.DoneDin = item.DoneDin;
|
|
newWeldReportItem.Dia = item.Dia;
|
|
newWeldReportItem.Thickness = item.Thickness;
|
|
newWeldReportItem.Specification = item.Specification;
|
|
//newWeldReportItem.WeldingMethodCode = item.WeldingMethodCode;
|
|
newWeldReportItem.HeartNo1 = item.HeartNo1;
|
|
newWeldReportItem.HeartNo2 = item.HeartNo2;
|
|
newWeldReportItem.Components1Code = item.ComponentsCode1;
|
|
newWeldReportItem.Components2Code = item.ComponentsCode2;
|
|
newWeldReportItem.Material1Code = item.Material1Code;
|
|
newWeldReportItem.Material2Code = item.Material2Code;
|
|
//if (!string.IsNullOrEmpty(item.WeldSilkId))
|
|
//{
|
|
// newWeldReportItem.WeldSilkCode = GetWeldSilkCode(item.WeldSilkId);
|
|
//}
|
|
//newWeldReportItem.WeldSilkCode = item.WeldSilkCode;
|
|
//newWeldReportItem.WeldMatCode = item.WeldMatCode;
|
|
newWeldReportItem.PipeSegment = item.PipeSegment;
|
|
newWeldReportItem.WPQCode = item.WPQCode;
|
|
newWeldReportItem.ANSISCH = item.ANSISCH;
|
|
returnViewMatch.Add(newWeldReportItem);
|
|
}
|
|
}
|
|
|
|
return returnViewMatch;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查找后返回集合增加到列表集团中
|
|
/// </summary>
|
|
/// <param name="hdItemsString"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.SpWeldingDailyItem> GetWeldReportAddItem(string hdItemsString)
|
|
{
|
|
List<Model.SpWeldingDailyItem> returnViewMatch = new List<Model.SpWeldingDailyItem>(); //= getWeldReportItem;
|
|
if (!string.IsNullOrEmpty(hdItemsString))
|
|
{
|
|
List<string> list = Funs.GetStrListByStr(hdItemsString, '#');
|
|
if (list.Count() == 2)
|
|
{
|
|
string CoverWelderCode = string.Empty; //盖面焊工号
|
|
string BackingWelderCode = string.Empty; //打底焊工号
|
|
|
|
string welderLists = list[0];
|
|
List<string> welderIds = Funs.GetStrListByStr(welderLists, '|');
|
|
if (welderIds.Count() == 2)
|
|
{
|
|
var welderCell = BLL.WelderService.GetWelderById(welderIds[0]);
|
|
if (welderCell != null)
|
|
{
|
|
CoverWelderCode = welderCell.WelderCode;
|
|
}
|
|
var welderFloor = BLL.WelderService.GetWelderById(welderIds[1]);
|
|
if (welderFloor != null)
|
|
{
|
|
BackingWelderCode = welderFloor.WelderCode;
|
|
}
|
|
}
|
|
|
|
string weldlineIdLists = list[1];
|
|
List<string> weldlineIds = Funs.GetStrListByStr(weldlineIdLists, '|');
|
|
foreach (var weldlineItem in weldlineIds)
|
|
{
|
|
//if (returnViewMatch.FirstOrDefault(x => x.JOT_ID == jotItem) == null)
|
|
//{
|
|
var weldline = BLL.Pipeline_WeldJointService.GetViewWeldJointById(weldlineItem);
|
|
if (weldline != null)
|
|
{
|
|
Model.SpWeldingDailyItem newWeldReportItem = new Model.SpWeldingDailyItem();
|
|
newWeldReportItem.WeldJointId = weldline.WeldJointId;
|
|
newWeldReportItem.WeldJointCode = weldline.WeldJointCode;
|
|
newWeldReportItem.PipelineCode = weldline.PipelineCode;
|
|
newWeldReportItem.CoverWelderCode = CoverWelderCode;
|
|
newWeldReportItem.CoverWelderId = welderIds[0];
|
|
newWeldReportItem.BackingWelderCode = BackingWelderCode;
|
|
newWeldReportItem.BackingWelderId = welderIds[1];
|
|
newWeldReportItem.WeldTypeId = weldline.WeldTypeCode;
|
|
newWeldReportItem.JointArea = weldline.JointArea;
|
|
newWeldReportItem.WeldingLocationId = weldline.WeldingLocationId;
|
|
newWeldReportItem.WeldingLocationCode = weldline.WeldingLocationCode;
|
|
newWeldReportItem.JointAttribute = weldline.JointAttribute;
|
|
|
|
newWeldReportItem.HeartNo1 = weldline.HeartNo1;
|
|
newWeldReportItem.HeartNo2 = weldline.HeartNo2;
|
|
newWeldReportItem.Components1Code = weldline.ComponentsCode1;
|
|
newWeldReportItem.Components2Code = weldline.ComponentsCode2;
|
|
newWeldReportItem.Material1Code = weldline.Material1Code;
|
|
newWeldReportItem.Material2Code = weldline.Material2Code;
|
|
//if (!string.IsNullOrEmpty(weldline.WeldSilkId))
|
|
//{
|
|
// newWeldReportItem.WeldSilkCode = GetWeldSilkCode(weldline.WeldSilkId);
|
|
//}
|
|
|
|
//newWeldReportItem.WeldMatCode = weldline.WeldMatCode;
|
|
|
|
if (weldline.DoneDin == null)
|
|
{
|
|
newWeldReportItem.DoneDin = weldline.Size;
|
|
}
|
|
else
|
|
{
|
|
newWeldReportItem.DoneDin = weldline.DoneDin;
|
|
}
|
|
newWeldReportItem.Dia = weldline.Dia;
|
|
newWeldReportItem.Thickness = weldline.Thickness;
|
|
newWeldReportItem.Specification = weldline.Specification;
|
|
//newWeldReportItem.WeldingMethodCode = weldline.WeldingMethodCode;
|
|
newWeldReportItem.PipeSegment = weldline.PipeSegment;
|
|
newWeldReportItem.WPQCode = weldline.WPQCode;
|
|
newWeldReportItem.ANSISCH = weldline.ANSISCH;
|
|
|
|
// 如存在日报,默认还是原日报焊工
|
|
if (!string.IsNullOrEmpty(weldline.WeldingDailyId))
|
|
{
|
|
newWeldReportItem.CoverWelderId = weldline.CoverWelderId;
|
|
newWeldReportItem.BackingWelderId = weldline.BackingWelderId;
|
|
var welderCover = BLL.WelderService.GetWelderById(weldline.CoverWelderId);
|
|
if (welderCover != null)
|
|
{
|
|
newWeldReportItem.CoverWelderCode = welderCover.WelderCode;
|
|
}
|
|
var welderBacking = BLL.WelderService.GetWelderById(weldline.BackingWelderId);
|
|
if (welderBacking != null)
|
|
{
|
|
newWeldReportItem.BackingWelderCode = welderBacking.WelderCode;
|
|
}
|
|
}
|
|
returnViewMatch.Add(newWeldReportItem);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return returnViewMatch;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取未焊接焊口信息,不用
|
|
/// </summary>
|
|
/// <param name="ManagerTotalId"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.SpWeldingDailyItem> GetWeldReportItemFind(string projectId, string weldingDailyId, string pipelineId)
|
|
{
|
|
List<Model.SpWeldingDailyItem> returnViewMatch = new List<Model.SpWeldingDailyItem>();
|
|
// 组批条件的字段不能为空
|
|
//var jotLists = from x in Funs.DB.HJGL_PW_JointInfo
|
|
// join y in Funs.DB.HJGL_PW_IsoInfo on x.ISO_ID equals y.ISO_ID
|
|
// where x.InstallationId != null && x.JOTY_ID != null && x.NDTR_ID != null && x.IsSpecial != null
|
|
// && y.ISC_ID != null && y.SER_ID != null && y.STE_ID != null && y.ISO_Executive != null
|
|
// && x.ProjectId == projectId && x.ISO_ID == pipelineId
|
|
// && (x.DReportID == null || x.DReportID == weldingDailyId)
|
|
// select x;
|
|
|
|
// 预提交焊口
|
|
var preJotId = (from x in Funs.DB.Pipeline_PreWeldingDaily
|
|
join y in Funs.DB.Pipeline_WeldJoint on x.WeldJointId equals y.WeldJointId
|
|
where x.ProjectId == projectId && y.PipelineId == pipelineId
|
|
select x.WeldJointId).Distinct();
|
|
|
|
|
|
var weldlineLists = from x in Funs.DB.Pipeline_WeldJoint
|
|
join y in Funs.DB.Base_WeldingMethod on x.WeldingMethodId equals y.WeldingMethodId
|
|
where x.PipelineId == pipelineId &&
|
|
(x.WeldingDailyId == null || x.WeldingDailyId == weldingDailyId)
|
|
&& (x.IsCancel == null || x.IsCancel == false)
|
|
select new
|
|
{
|
|
x.WeldJointId,
|
|
x.WeldJointCode,
|
|
x.Dia,
|
|
x.Thickness,
|
|
y.WeldingMethodCode
|
|
};
|
|
if (weldlineLists.Count() > 0)
|
|
{
|
|
foreach (var item in weldlineLists)
|
|
{
|
|
if (!preJotId.Contains(item.WeldJointId))
|
|
{
|
|
Model.SpWeldingDailyItem newWeldReportItem = new Model.SpWeldingDailyItem();
|
|
newWeldReportItem.WeldJointId = item.WeldJointId;
|
|
newWeldReportItem.WeldJointCode = item.WeldJointCode;
|
|
newWeldReportItem.Dia = item.Dia;
|
|
newWeldReportItem.Thickness = item.Thickness;
|
|
newWeldReportItem.WeldingMethodCode = item.WeldingMethodCode;
|
|
returnViewMatch.Add(newWeldReportItem);
|
|
}
|
|
}
|
|
}
|
|
return returnViewMatch;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 增加焊接日报信息
|
|
/// </summary>
|
|
/// <param name="WeldingDaily"></param>
|
|
public static void AddPipeline_WeldingDaily(Model.Pipeline_WeldingDaily WeldingDaily)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
Model.Pipeline_WeldingDaily newWeldingDaily = new Pipeline_WeldingDaily
|
|
{
|
|
WeldingDailyId = WeldingDaily.WeldingDailyId,
|
|
WeldingDailyCode = WeldingDaily.WeldingDailyCode,
|
|
ProjectId = WeldingDaily.ProjectId,
|
|
InstallationId = WeldingDaily.InstallationId,
|
|
UnitId = WeldingDaily.UnitId,
|
|
WeldingDate = WeldingDaily.WeldingDate,
|
|
Tabler = WeldingDaily.Tabler,
|
|
TableDate = WeldingDaily.TableDate,
|
|
Remark = WeldingDaily.Remark,
|
|
};
|
|
|
|
db.Pipeline_WeldingDaily.InsertOnSubmit(newWeldingDaily);
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改焊接日报信息
|
|
/// </summary>
|
|
/// <param name="WeldingDaily"></param>
|
|
public static void UpdatePipeline_WeldingDaily(Model.Pipeline_WeldingDaily WeldingDaily)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
Model.Pipeline_WeldingDaily newWeldingDaily = db.Pipeline_WeldingDaily.FirstOrDefault(e => e.WeldingDailyId == WeldingDaily.WeldingDailyId);
|
|
if (newWeldingDaily != null)
|
|
{
|
|
newWeldingDaily.WeldingDailyCode = WeldingDaily.WeldingDailyCode;
|
|
newWeldingDaily.InstallationId = WeldingDaily.InstallationId;
|
|
newWeldingDaily.UnitId = WeldingDaily.UnitId;
|
|
newWeldingDaily.WeldingDate = WeldingDaily.WeldingDate;
|
|
newWeldingDaily.Tabler = WeldingDaily.Tabler;
|
|
newWeldingDaily.TableDate = WeldingDaily.TableDate;
|
|
newWeldingDaily.Remark = WeldingDaily.Remark;
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据焊接日报Id删除一个焊接日报信息
|
|
/// </summary>
|
|
/// <param name="WeldingDailyId"></param>
|
|
public static void DeleteWeldingDailyByWeldingDailyId(string WeldingDailyId)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
Model.Pipeline_WeldingDaily delWeldingDaily = db.Pipeline_WeldingDaily.FirstOrDefault(e => e.WeldingDailyId == WeldingDailyId);
|
|
if (delWeldingDaily != null)
|
|
{
|
|
db.Pipeline_WeldingDaily.DeleteOnSubmit(delWeldingDaily);
|
|
db.SubmitChanges();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 按类型获取焊接日报项
|
|
/// </summary>
|
|
/// <param name="WeldingDailyType"></param>
|
|
/// <returns></returns>
|
|
public static List<Model.Pipeline_WeldingDaily> GetPipeline_WeldingDailyList(string unitId)
|
|
{
|
|
var list = (from x in Funs.DB.Pipeline_WeldingDaily
|
|
where x.UnitId == unitId
|
|
orderby x.WeldingDailyCode
|
|
select x).ToList();
|
|
|
|
return list;
|
|
}
|
|
|
|
// 获取焊丝名称
|
|
public static string GetWeldSilkCode(string weldSilkId)
|
|
{
|
|
string weldSilkCode = string.Empty;
|
|
if (!string.IsNullOrEmpty(weldSilkId))
|
|
{
|
|
string[] weldSilkIds = weldSilkId.Split(',');
|
|
if (weldSilkIds.Count() > 0)
|
|
{
|
|
foreach (string s in weldSilkIds)
|
|
{
|
|
var silk = BLL.Base_ConsumablesService.GetConsumablesByConsumablesId(s);
|
|
weldSilkCode = weldSilkCode + silk.ConsumablesCode + ',';
|
|
}
|
|
if (weldSilkCode.Length > 0)
|
|
{
|
|
weldSilkCode = weldSilkCode.Substring(0, weldSilkCode.Length - 1);
|
|
}
|
|
}
|
|
}
|
|
return weldSilkCode;
|
|
}
|
|
|
|
#region 焊接日报下拉项
|
|
/// <summary>
|
|
/// 焊接日报下拉项
|
|
/// </summary>
|
|
/// <param name="dropName">下拉框名称</param>
|
|
/// <param name="isShowPlease">是否显示请选择</param>
|
|
/// <param name="WeldingDailyType">耗材类型</param>
|
|
public static void InitWeldingDailyDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease, string unitId)
|
|
{
|
|
dropName.DataValueField = "WeldingDailyId";
|
|
dropName.DataTextField = "WeldingDailyCode";
|
|
dropName.DataSource = GetPipeline_WeldingDailyList(unitId);
|
|
dropName.DataBind();
|
|
if (isShowPlease)
|
|
{
|
|
Funs.FineUIPleaseSelect(dropName);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|