380 lines
17 KiB
C#
380 lines
17 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.PipelineCode = item.PipelineCode;
|
|
newWeldReportItem.MaterialCode = item.Material1Code;
|
|
newWeldReportItem.CoverWelderCode = item.CoverWelderCode;
|
|
newWeldReportItem.CoverWelderId = item.CoverWelderId;
|
|
newWeldReportItem.BackingWelderCode = item.BackingWelderCode;
|
|
newWeldReportItem.BackingWelderId = item.BackingWelderId;
|
|
newWeldReportItem.WeldTypeId = item.WeldTypeId;
|
|
newWeldReportItem.WeldTypeCode = item.WeldTypeCode;
|
|
newWeldReportItem.JointArea = item.JointArea;
|
|
newWeldReportItem.WeldingLocationId = item.WeldingLocationId;
|
|
newWeldReportItem.WeldingLocationCode = item.WeldingLocationCode;
|
|
newWeldReportItem.JointAttribute = item.JointAttribute;
|
|
newWeldReportItem.Size = item.Size;
|
|
newWeldReportItem.Dia = item.Dia;
|
|
newWeldReportItem.Thickness = item.Thickness;
|
|
newWeldReportItem.WeldingMethodCode = item.WeldingMethodCode;
|
|
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> jotlist = Funs.GetStrListByStr(hdItemsString, '@');
|
|
|
|
// 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 jotlist)
|
|
{
|
|
string coverWelderCode = string.Empty; //盖面焊工号
|
|
string backingWelderCode = string.Empty; //打底焊工号
|
|
string coverWelderId = null; //盖面焊工号
|
|
string backingWelderId = null; //打底焊工号
|
|
string jointAttribute = null; //7列
|
|
string weldingLocationCode = null; //8列
|
|
string weldingLocationId = null;
|
|
decimal? size = null; //9列
|
|
decimal? dia = null; //10列
|
|
decimal? thickness = null; //11列
|
|
string weldingMethodCode = null; //12列
|
|
string weldingMethodId = null;
|
|
|
|
var jotInto = weldlineItem.Split('|');
|
|
var weldline = BLL.Pipeline_WeldJointService.GetViewWeldJointById(jotInto[0]);
|
|
|
|
if (jotInto[1] != "null")
|
|
{
|
|
coverWelderId = jotInto[1];
|
|
var welder = BLL.WelderService.GetWelderById(jotInto[1]);
|
|
coverWelderCode = welder.WelderCode;
|
|
}
|
|
if (jotInto[2] != "null")
|
|
{
|
|
backingWelderId = jotInto[2];
|
|
var welder = BLL.WelderService.GetWelderById(jotInto[2]);
|
|
backingWelderCode = welder.WelderCode;
|
|
}
|
|
if (jotInto[3] != "null")
|
|
{
|
|
jointAttribute = jotInto[3];
|
|
}
|
|
else
|
|
{
|
|
jointAttribute = weldline.JointAttribute;
|
|
}
|
|
|
|
if (jotInto[4] != "null")
|
|
{
|
|
weldingLocationCode = jotInto[4];
|
|
var q = from x in Funs.DB.Base_WeldingLocation where x.WeldingLocationCode == weldingLocationCode select x;
|
|
weldingLocationId = q.FirstOrDefault().WeldingLocationId;
|
|
}
|
|
else
|
|
{
|
|
weldingLocationCode = weldline.WeldingLocationCode;
|
|
weldingLocationId = weldline.WeldingLocationId;
|
|
}
|
|
|
|
if (jotInto[5] != "null")
|
|
{
|
|
size = Funs.GetNewDecimalOrZero(jotInto[5]);
|
|
}
|
|
else
|
|
{
|
|
size = weldline.Size;
|
|
}
|
|
|
|
if (jotInto[6] != "null")
|
|
{
|
|
dia = Funs.GetNewDecimalOrZero(jotInto[6]);
|
|
}
|
|
else
|
|
{
|
|
dia = weldline.Dia ;
|
|
}
|
|
|
|
if (jotInto[7] != "null")
|
|
{
|
|
thickness = Funs.GetNewDecimalOrZero(jotInto[7]);
|
|
}
|
|
else
|
|
{
|
|
thickness = weldline.Thickness;
|
|
}
|
|
|
|
if (jotInto[8] != "null")
|
|
{
|
|
weldingMethodCode = jotInto[8];
|
|
var q = from x in Funs.DB.Base_WeldingMethod where x.WeldingMethodCode == weldingMethodCode select x;
|
|
weldingMethodId = q.FirstOrDefault().WeldingMethodId;
|
|
}
|
|
else
|
|
{
|
|
weldingMethodCode = weldline.WeldingMethodCode;
|
|
weldingMethodId = weldline.WeldingMethodId;
|
|
}
|
|
|
|
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 = coverWelderId;
|
|
newWeldReportItem.BackingWelderCode = backingWelderCode;
|
|
newWeldReportItem.BackingWelderId = backingWelderId;
|
|
newWeldReportItem.WeldTypeId = weldline.WeldTypeId;
|
|
newWeldReportItem.MaterialCode = weldline.Material1Code;
|
|
newWeldReportItem.WeldTypeCode = weldline.WeldTypeCode;
|
|
newWeldReportItem.JointArea = weldline.JointArea;
|
|
newWeldReportItem.WeldingLocationId = weldingLocationId;
|
|
newWeldReportItem.WeldingLocationCode = weldingLocationCode;
|
|
newWeldReportItem.JointAttribute = jointAttribute;
|
|
newWeldReportItem.Size = size;
|
|
newWeldReportItem.Dia = dia;
|
|
newWeldReportItem.Thickness = thickness;
|
|
newWeldReportItem.WeldingMethodCode = weldingMethodCode;
|
|
newWeldReportItem.WeldingMethodId = weldingMethodId;
|
|
// 如存在日报,默认还是原日报焊工
|
|
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)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
List<Model.SpWeldingDailyItem> returnViewMatch = new List<Model.SpWeldingDailyItem>();
|
|
|
|
var weldlineLists = from x in Funs.DB.View_WeldJoint_Find
|
|
where x.PipelineId == pipelineId &&
|
|
(x.WeldingDailyId == null || x.WeldingDailyId == weldingDailyId)
|
|
&& (x.IsCancel == null || x.IsCancel == false)
|
|
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.Dia = item.Dia;
|
|
newWeldReportItem.Thickness = item.Thickness;
|
|
newWeldReportItem.WeldingMethodCode = item.WeldingMethodCode;
|
|
newWeldReportItem.MaterialCode = item.MaterialCode;
|
|
newWeldReportItem.WeldTypeCode = item.WeldTypeCode;
|
|
newWeldReportItem.WeldingLocationCode = item.WeldingLocationCode;
|
|
newWeldReportItem.Sheet = item.Sheet;
|
|
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;
|
|
}
|
|
|
|
#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
|
|
}
|
|
}
|