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