YZ_BSF/HJGL/BLL/WeldingProcess/WeldingManage/Pipeline_WeldingDailyServic...

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
}
}