ZHJA_HJGL/HJGL_ZH/BLL/API/APIJointInfoService.cs

204 lines
8.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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