204 lines
8.5 KiB
C#
204 lines
8.5 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using Model;
|
|||
|
|
|||
|
namespace BLL
|
|||
|
{
|
|||
|
public static class APIJointInfoService
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 保存焊口信息
|
|||
|
/// </summary>
|
|||
|
/// <param name="addItem">焊口项</param>
|
|||
|
public static void SaveJointInfo(JointInfoItem addItem)
|
|||
|
{
|
|||
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|||
|
{
|
|||
|
var p = db.Base_Project.FirstOrDefault(z => z.ProjectCode == addItem.ProjectCode);
|
|||
|
if (p != null)
|
|||
|
{
|
|||
|
var iso = db.HJGL_PW_IsoInfo.FirstOrDefault(z => z.ProjectId == p.ProjectId && z.ISO_IsoNo == addItem.ISO_IsoNo.Trim());
|
|||
|
if (iso != null)
|
|||
|
{
|
|||
|
var jot = db.HJGL_PW_JointInfo.FirstOrDefault(z => z.ProjectId == p.ProjectId && z.ISO_ID == iso.ISO_ID && z.JOT_JointNo==addItem.JOT_JointNo.Trim());
|
|||
|
var ins = db.Project_Installation.FirstOrDefault(x => x.InstallationName == addItem.InstallationName.Trim() && x.ProjectId == p.ProjectId);
|
|||
|
var ste1 = db.HJGL_BS_Steel.FirstOrDefault(z => z.STE_Code == addItem.STE_Name1.Trim());
|
|||
|
var ste2 = db.HJGL_BS_Steel.FirstOrDefault(z => z.STE_Code == addItem.STE_Name2);
|
|||
|
var joty = db.HJGL_BS_JointType.FirstOrDefault(x => x.JOTY_Name == addItem.JOTY_Name.Trim() && x.ProjectSoft == "2");
|
|||
|
var slope = db.HJGL_BS_SlopeType.FirstOrDefault(x => x.JST_Code == addItem.JST_Name.Trim());
|
|||
|
var wme = db.HJGL_BS_WeldMethod.FirstOrDefault(x => x.WME_Code == addItem.WME_Name.Trim());
|
|||
|
|
|||
|
Model.HJGL_PW_JointInfo newJot = new Model.HJGL_PW_JointInfo();
|
|||
|
newJot.ProjectId = p.ProjectId;
|
|||
|
newJot.JOT_JointNo = addItem.JOT_JointNo;
|
|||
|
newJot.ISO_ID = iso.ISO_ID;
|
|||
|
newJot.IS_Proess = iso.IsHot;
|
|||
|
newJot.ProessTypes = iso.IsHotType;
|
|||
|
|
|||
|
if (ins != null)
|
|||
|
{
|
|||
|
newJot.InstallationId = ins.InstallationId;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newJot.InstallationId = null;
|
|||
|
}
|
|||
|
if (joty != null)
|
|||
|
{
|
|||
|
newJot.JOTY_ID = joty.JOTY_ID;
|
|||
|
|
|||
|
if (joty.JOTY_Group == "1")
|
|||
|
{
|
|||
|
newJot.NDTR_ID = iso.Joty_B_Rate;
|
|||
|
newJot.JOT_QualifiedLevel = iso.Joty_B_Level;
|
|||
|
}
|
|||
|
else if (joty.JOTY_Group == "2")
|
|||
|
{
|
|||
|
newJot.NDTR_ID = iso.Joty_C_Rate;
|
|||
|
newJot.JOT_QualifiedLevel = iso.Joty_C_Level;
|
|||
|
}
|
|||
|
else if (joty.JOTY_Group == "3")
|
|||
|
{
|
|||
|
newJot.NDTR_ID = iso.Joty_D_Rate;
|
|||
|
newJot.JOT_QualifiedLevel = iso.Joty_D_Level;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newJot.JOTY_ID = null;
|
|||
|
}
|
|||
|
if (ste1 != null)
|
|||
|
{
|
|||
|
newJot.STE_ID = ste1.STE_ID;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (ste2 != null)
|
|||
|
{
|
|||
|
newJot.STE_ID = ste2.STE_ID;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newJot.STE_ID = null;
|
|||
|
}
|
|||
|
}
|
|||
|
if (ste2 != null)
|
|||
|
{
|
|||
|
newJot.STE_ID2 = ste2.STE_ID;
|
|||
|
}
|
|||
|
|
|||
|
else
|
|||
|
{
|
|||
|
if (ste1 != null)
|
|||
|
{
|
|||
|
newJot.STE_ID2 = ste1.STE_ID;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newJot.STE_ID2 = null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (slope != null)
|
|||
|
{
|
|||
|
newJot.JST_ID = slope.JST_ID;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newJot.JST_ID = null;
|
|||
|
}
|
|||
|
if (addItem.JOT_JointAttribute == "固定" || addItem.JOT_JointAttribute == "活动")
|
|||
|
{
|
|||
|
newJot.JOT_JointAttribute = addItem.JOT_JointAttribute;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newJot.JOT_JointAttribute = "活动";
|
|||
|
}
|
|||
|
|
|||
|
if (wme != null)
|
|||
|
{
|
|||
|
newJot.WME_ID = wme.WME_ID;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newJot.WME_ID = null;
|
|||
|
}
|
|||
|
|
|||
|
newJot.JOT_Dia = addItem.Dia;
|
|||
|
newJot.JOT_Sch = addItem.Sch;
|
|||
|
newJot.IsSpecial = false;
|
|||
|
|
|||
|
if (addItem.Dia != null)
|
|||
|
{
|
|||
|
if (addItem.Dia >= 500)
|
|||
|
{
|
|||
|
newJot.IsSpecial = true;
|
|||
|
}
|
|||
|
var inch = HJGL_ControlService.GetSizeByDia(addItem.Dia.Value);
|
|||
|
if (inch != null)
|
|||
|
{
|
|||
|
newJot.JOT_Size = inch;
|
|||
|
}
|
|||
|
//焊口规格:Φ外径*壁厚
|
|||
|
if (!string.IsNullOrEmpty(addItem.Sch))
|
|||
|
{
|
|||
|
newJot.JOT_JointDesc = "Φ" + addItem.Dia.Value + "×" + addItem.Sch;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (jot != null)
|
|||
|
{
|
|||
|
List<Model.HJGL_CH_HotProessTrustItem> hotProessTrustItems = BLL.HJGL_CH_HotProessTrustService.GetCH_HotProessTrustItemByJOT_ID(jot.JOT_ID);
|
|||
|
var batch = (from x in Funs.DB.HJGL_BO_Batch
|
|||
|
join y in Funs.DB.HJGL_BO_BatchDetail
|
|||
|
on x.BatchId equals y.BatchId
|
|||
|
where y.JOT_ID == jot.JOT_ID
|
|||
|
select x).FirstOrDefault();
|
|||
|
bool batchIsClosed = false;
|
|||
|
if (batch != null && batch.BatchIsClosed == true)
|
|||
|
{
|
|||
|
batchIsClosed = true;
|
|||
|
}
|
|||
|
|
|||
|
//存在热处理委托或者批关闭则不能修改焊口信息
|
|||
|
if (hotProessTrustItems.Count == 0 && batchIsClosed == false)
|
|||
|
{
|
|||
|
newJot.JOT_ID = jot.JOT_ID;
|
|||
|
BLL.HJGL_PW_JointInfoService.UpdateJointInfo(newJot);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newJot.JOT_ID = SQLHelper.GetNewID();
|
|||
|
db.HJGL_PW_JointInfo.InsertOnSubmit(newJot);
|
|||
|
db.SubmitChanges();
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#region 批量保存焊口信息
|
|||
|
/// <summary>
|
|||
|
/// 批量保存焊口信息
|
|||
|
/// </summary>
|
|||
|
/// <param name="addItems"></param>
|
|||
|
public static void SaveBatchJointInfo(List<Model.JointInfoItem> addItems)
|
|||
|
{
|
|||
|
if (addItems.Count() > 0)
|
|||
|
{
|
|||
|
foreach (Model.JointInfoItem addItem in addItems)
|
|||
|
{
|
|||
|
SaveJointInfo(addItem);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|