375 lines
17 KiB
C#
375 lines
17 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
using System.Web.UI.WebControls;
|
|||
|
|
|||
|
namespace BLL
|
|||
|
{
|
|||
|
public class WeldReportService
|
|||
|
{
|
|||
|
public static Model.SGGLDB db = Funs.DB;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 根据检查编号查询焊接日报信息
|
|||
|
/// </summary>
|
|||
|
/// <param name="checkCode">检查编号</param>
|
|||
|
/// <returns>焊接日报信息</returns>
|
|||
|
public static Model.BO_WeldReportMain GetWeldReportByDReportID(string dReportID)
|
|||
|
{
|
|||
|
return Funs.DB.BO_WeldReportMain.FirstOrDefault(x => x.DReportID == dReportID);
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 根据焊接日报主键获取焊接日报信息
|
|||
|
/// </summary>
|
|||
|
/// <param name="weldReportNo">焊接日报编号</param>
|
|||
|
/// <returns>焊接日报信息</returns>
|
|||
|
public static bool IsExistDailyReportNO(string weldReportNo, string dReportID, string projectId)
|
|||
|
{
|
|||
|
var q = Funs.DB.BO_WeldReportMain.FirstOrDefault(x => x.JOT_DailyReportNo == weldReportNo && x.ProjectId == projectId && x.DReportID != dReportID);
|
|||
|
if (q != null)
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 根据焊接日报主键获取焊接日报信息
|
|||
|
/// </summary>
|
|||
|
/// <param name="weldReportNo">焊接日报编号</param>
|
|||
|
/// <returns>焊接日报信息</returns>
|
|||
|
public static bool IsExistDailyReportNO(string weldReportNo)
|
|||
|
{
|
|||
|
var q = from x in Funs.DB.BO_WeldReportMain where x.JOT_DailyReportNo == weldReportNo select x;
|
|||
|
if (q.Count() > 0)
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 增加焊接日报信息
|
|||
|
/// </summary>
|
|||
|
/// <param name="weldReport">焊接日报实体</param>
|
|||
|
public static void AddWeldReport(Model.BO_WeldReportMain weldReport)
|
|||
|
{
|
|||
|
Model.SGGLDB db = Funs.DB;
|
|||
|
Model.BO_WeldReportMain newWeldReport = new Model.BO_WeldReportMain();
|
|||
|
newWeldReport.DReportID = weldReport.DReportID;
|
|||
|
newWeldReport.ProjectId = weldReport.ProjectId;
|
|||
|
newWeldReport.InstallationId = weldReport.InstallationId;
|
|||
|
newWeldReport.UnitId = weldReport.UnitId;
|
|||
|
newWeldReport.JOT_WeldDate = weldReport.JOT_WeldDate;
|
|||
|
newWeldReport.JOT_DailyReportNo = weldReport.JOT_DailyReportNo;
|
|||
|
newWeldReport.CHT_Tabler = weldReport.CHT_Tabler;
|
|||
|
newWeldReport.CHT_TableDate = weldReport.CHT_TableDate;
|
|||
|
newWeldReport.JOT_Remark = weldReport.JOT_Remark;
|
|||
|
|
|||
|
db.BO_WeldReportMain.InsertOnSubmit(newWeldReport);
|
|||
|
db.SubmitChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 修改焊接日报信息
|
|||
|
/// </summary>
|
|||
|
/// <param name="weldReport">焊接日报实体</param>
|
|||
|
public static void UpdateWeldReport(Model.BO_WeldReportMain weldReport)
|
|||
|
{
|
|||
|
Model.SGGLDB db = Funs.DB;
|
|||
|
Model.BO_WeldReportMain newWeldReport = db.BO_WeldReportMain.First(e => e.DReportID == weldReport.DReportID);
|
|||
|
newWeldReport.UnitId = weldReport.UnitId;
|
|||
|
newWeldReport.InstallationId = weldReport.InstallationId;
|
|||
|
newWeldReport.JOT_WeldDate = weldReport.JOT_WeldDate;
|
|||
|
newWeldReport.JOT_DailyReportNo = weldReport.JOT_DailyReportNo;
|
|||
|
newWeldReport.CHT_Tabler = weldReport.CHT_Tabler;
|
|||
|
newWeldReport.CHT_TableDate = weldReport.CHT_TableDate;
|
|||
|
newWeldReport.JOT_Remark = weldReport.JOT_Remark;
|
|||
|
|
|||
|
db.SubmitChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 根据焊接日报主键删除一个焊接日报信息
|
|||
|
/// </summary>
|
|||
|
/// <param name="weldReportCode">焊接日报主键</param>
|
|||
|
public static void DeleteWeldReportByDReportID(string dReportID)
|
|||
|
{
|
|||
|
Model.SGGLDB db = Funs.DB;
|
|||
|
Model.BO_WeldReportMain weldReport = db.BO_WeldReportMain.First(e => e.DReportID == dReportID);
|
|||
|
db.BO_WeldReportMain.DeleteOnSubmit(weldReport);
|
|||
|
db.SubmitChanges();
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 根据日报Id获取日报明细焊口信息
|
|||
|
/// </summary>
|
|||
|
/// <param name="dReportID">日报id</param>
|
|||
|
/// <returns></returns>
|
|||
|
public static List<Model.View_JointInfo> GetWeldReportItem(string dReportID)
|
|||
|
{
|
|||
|
return (from x in Funs.DB.View_JointInfo where x.DReportID == dReportID select x).ToList();
|
|||
|
}
|
|||
|
public static List<Model.View_JointInfo> GetDistinctWeldReportItem(string dReportID)
|
|||
|
{
|
|||
|
// return (from x in Funs.DB.View_JointInfo where x.DReportID == dReportID select x).ToList();
|
|||
|
|
|||
|
List<Model.View_JointInfo> res = new List<Model.View_JointInfo>();
|
|||
|
|
|||
|
var q = (from x in Funs.DB.PW_JointInfo where x.DReportID == dReportID orderby x.ISO_ID, x.JOT_JointNo select x).ToList();
|
|||
|
foreach (var item in q)
|
|||
|
{
|
|||
|
|
|||
|
Model.View_JointInfo jot = new Model.View_JointInfo();
|
|||
|
jot.ISO_ID = item.ISO_ID;
|
|||
|
jot.JOT_ID = item.JOT_ID;
|
|||
|
var iso = Funs.DB.PW_IsoInfo.FirstOrDefault(x => x.ISO_ID == item.ISO_ID);
|
|||
|
if (iso != null)
|
|||
|
{
|
|||
|
var detectionRate = Funs.DB.Base_DetectionRate.FirstOrDefault(x => x.DetectionRateId == iso.DetectionRateId);
|
|||
|
if (detectionRate != null)
|
|||
|
{
|
|||
|
jot.NDTR_Name = detectionRate.DetectionRateValue;
|
|||
|
}
|
|||
|
|
|||
|
jot.ISO_IsoNo = iso.ISO_IsoNo;
|
|||
|
var area = Funs.DB.ProjectData_WorkArea.FirstOrDefault(x => x.WorkAreaId == iso.WorkAreaId);
|
|||
|
if (area != null)
|
|||
|
{
|
|||
|
jot.WorkAreaCode = area.WorkAreaCode;
|
|||
|
}
|
|||
|
}
|
|||
|
jot.JOT_JointNo = item.JOT_JointNo;
|
|||
|
jot.JOTY_ID = item.JOTY_ID;
|
|||
|
jot.WLO_Code = item.WLO_Code;
|
|||
|
jot.JOT_JointAttribute = item.JOT_JointAttribute;
|
|||
|
jot.JOT_Size = item.JOT_Size;
|
|||
|
jot.JOT_JointDesc = item.JOT_JointDesc;
|
|||
|
jot.JOT_Sch = item.JOT_Sch;
|
|||
|
jot.WME_ID = item.WME_ID;
|
|||
|
jot.JOT_HeartNo1 = item.JOT_HeartNo1;
|
|||
|
jot.JOT_HeartNo2 = item.JOT_HeartNo2;
|
|||
|
jot.JOT_BelongPipe = item.JOT_BelongPipe;
|
|||
|
jot.JOT_PrepareTemp = item.JOT_PrepareTemp;
|
|||
|
jot.IS_Proess = item.IS_Proess;
|
|||
|
jot.JOT_HotRpt = item.JOT_HotRpt;
|
|||
|
jot.JOT_Location = item.JOT_Location;
|
|||
|
jot.JOT_Dia = item.JOT_Dia;
|
|||
|
jot.JOT_DoneDin = item.JOT_DoneDin;
|
|||
|
jot.JOT_Electricity = item.JOT_Electricity;
|
|||
|
jot.JOT_Voltage = item.JOT_Voltage;
|
|||
|
jot.WeldingSpeed = item.WeldingSpeed;
|
|||
|
jot.ActualPrepareTemp = item.ActualPrepareTemp;
|
|||
|
jot.JOT_CellTemp = item.JOT_CellTemp;
|
|||
|
jot.JOT_LastTemp = item.JOT_LastTemp;
|
|||
|
var cellWelder = Funs.DB.BS_Welder.FirstOrDefault(x => x.WED_ID == item.JOT_CellWelder);
|
|||
|
if (cellWelder != null)
|
|||
|
{
|
|||
|
jot.WED_Code1 = cellWelder.WED_Code;
|
|||
|
}
|
|||
|
var floorWelder = Funs.DB.BS_Welder.FirstOrDefault(x => x.WED_ID == item.JOT_FloorWelder);
|
|||
|
if (floorWelder != null)
|
|||
|
{
|
|||
|
jot.WED_Code2 = floorWelder.WED_Code;
|
|||
|
}
|
|||
|
jot.DetectionTypeId = item.DetectionTypeId;
|
|||
|
jot.DetectionRateId = item.DetectionRateId;
|
|||
|
|
|||
|
|
|||
|
res.Add(jot);
|
|||
|
}
|
|||
|
return res;// (from x in Funs.DB.View_JointInfo where x.PW_PointID == PW_PointID && x.JOT_JointStatus != "104" orderby x.WorkAreaCode, x.ISO_IsoNo, x.JOT_JointNo select x).ToList();
|
|||
|
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 根据单位Id获取焊接日报数
|
|||
|
/// </summary>
|
|||
|
/// <param name="unitId"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static int GetWeldReportByUnitId(string unitId)
|
|||
|
{
|
|||
|
var q = (from x in Funs.DB.BO_WeldReportMain where x.UnitId == unitId select x).ToList();
|
|||
|
return q.Count();
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 根据装置Id获取焊接日报数
|
|||
|
/// </summary>
|
|||
|
/// <param name="p"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static int GetWeldReportByInstallationId(string installationId)
|
|||
|
{
|
|||
|
var q = (from x in Funs.DB.BO_WeldReportMain where x.InstallationId == installationId select x).ToList();
|
|||
|
return q.Count();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 获取日报
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public static ListItem[] GetWeldReportList()
|
|||
|
{
|
|||
|
var q = (from x in BLL.Funs.DB.BO_WeldReportMain orderby x.JOT_DailyReportNo select x).ToList();
|
|||
|
ListItem[] item = new ListItem[q.Count()];
|
|||
|
for (int i = 0; i < q.Count(); i++)
|
|||
|
{
|
|||
|
item[i] = new ListItem(q[i].JOT_DailyReportNo ?? "", q[i].DReportID.ToString());
|
|||
|
}
|
|||
|
return item;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 查找后返回集合增加到列表集团中
|
|||
|
/// </summary>
|
|||
|
/// <param name="hdItemsString"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static List<Model.View_JointInfo> GetWeldReportAddItem(string hdItemsString)
|
|||
|
{
|
|||
|
List<Model.View_JointInfo> returnViewMatch = new List<Model.View_JointInfo>(); //= getWeldReportItem;
|
|||
|
if (!string.IsNullOrEmpty(hdItemsString))
|
|||
|
{
|
|||
|
List<string> list = Funs.GetStrListByStr(hdItemsString, '#');
|
|||
|
if (list.Count() == 2)
|
|||
|
{
|
|||
|
string CellWelderCode = string.Empty;
|
|||
|
string FloorWelderCode = 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)
|
|||
|
{
|
|||
|
CellWelderCode = welderCell.WED_Code;
|
|||
|
}
|
|||
|
var welderFloor = BLL.WelderService.GetWelderById(welderIds[1]);
|
|||
|
if (welderFloor != null)
|
|||
|
{
|
|||
|
FloorWelderCode = welderFloor.WED_Code;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
string jotIdLists = list[1];
|
|||
|
List<string> jotIds = Funs.GetStrListByStr(jotIdLists, '|');
|
|||
|
foreach (var jotItem in jotIds)
|
|||
|
{
|
|||
|
//if (returnViewMatch.FirstOrDefault(x => x.JOT_ID == jotItem) == null)
|
|||
|
//{
|
|||
|
var jotInfo = BLL.PW_JointInfoService.GetJointInfoByJotID(jotItem);
|
|||
|
if (jotInfo != null)
|
|||
|
{
|
|||
|
Model.View_JointInfo newWeldReportItem = new Model.View_JointInfo();
|
|||
|
newWeldReportItem.JOT_ID = jotInfo.JOT_ID;
|
|||
|
newWeldReportItem.JOT_JointNo = jotInfo.JOT_JointNo;
|
|||
|
var isoInfo = BLL.PW_IsoInfoService.GetIsoInfoByIsoInfoId(jotInfo.ISO_ID);
|
|||
|
if (isoInfo != null)
|
|||
|
{
|
|||
|
newWeldReportItem.ISO_IsoNo = isoInfo.ISO_IsoNo;
|
|||
|
newWeldReportItem.ISO_ID = isoInfo.ISO_ID;
|
|||
|
//Model.ProjectData_WorkArea workArea = BLL.WorkAreaService.getWorkAreaByWorkAreaId(isoInfo.WorkAreaId);
|
|||
|
Model.ProjectData_WorkArea workArea = Funs.DB.ProjectData_WorkArea.Where(x=>x.WorkAreaId==isoInfo.WorkAreaId).FirstOrDefault();
|
|||
|
if (workArea != null)
|
|||
|
{
|
|||
|
newWeldReportItem.WorkAreaCode = workArea.WorkAreaCode;
|
|||
|
}
|
|||
|
Model.Base_DetectionRate rate = BLL.Base_DetectionRateService.GetDetectionRateByDetectionRateId(isoInfo.DetectionRateId);
|
|||
|
if (rate != null)
|
|||
|
{
|
|||
|
newWeldReportItem.NDTR_Name = rate.DetectionRateValue;
|
|||
|
}
|
|||
|
//var rate = BLL.HJGL_DetectionService.GetNDTRateByNDTRID(isoInfo.NDTR_ID);
|
|||
|
//if (rate != null)
|
|||
|
//{
|
|||
|
// newWeldReportItem.NDTR_Name = rate.NDTR_Name;
|
|||
|
//}
|
|||
|
}
|
|||
|
|
|||
|
newWeldReportItem.WED_Code1 = CellWelderCode;
|
|||
|
newWeldReportItem.JOT_CellWelder = welderIds[0];
|
|||
|
newWeldReportItem.WED_Code2 = FloorWelderCode;
|
|||
|
newWeldReportItem.JOT_FloorWelder = welderIds[1];
|
|||
|
|
|||
|
// 如存在日报,默认还是原日报焊工
|
|||
|
if (!string.IsNullOrEmpty(jotInfo.DReportID))
|
|||
|
{
|
|||
|
newWeldReportItem.JOT_CellWelder = jotInfo.JOT_CellWelder;
|
|||
|
newWeldReportItem.JOT_FloorWelder = jotInfo.JOT_FloorWelder;
|
|||
|
var welderCell = BLL.WelderService.GetWelderById(jotInfo.JOT_CellWelder);
|
|||
|
if (welderCell != null)
|
|||
|
{
|
|||
|
newWeldReportItem.WED_Code1 = welderCell.WED_Code;
|
|||
|
}
|
|||
|
var floorCell = BLL.WelderService.GetWelderById(jotInfo.JOT_FloorWelder);
|
|||
|
if (floorCell != null)
|
|||
|
{
|
|||
|
newWeldReportItem.WED_Code2 = floorCell.WED_Code;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (jotInfo.WLO_Code == "F")
|
|||
|
{
|
|||
|
newWeldReportItem.WLO_Code = "安装";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newWeldReportItem.WLO_Code = "预制";
|
|||
|
}
|
|||
|
|
|||
|
newWeldReportItem.JOT_JointAttribute = jotInfo.JOT_JointAttribute;
|
|||
|
newWeldReportItem.JOT_Location = jotInfo.JOT_Location;
|
|||
|
|
|||
|
//var joty = BLL.Base_WeldTypeService.GetWeldTypeByWeldTypeId(jotInfo.JOTY_ID);
|
|||
|
|
|||
|
//if (jotInfo.JOT_JointAttribute == "固定")
|
|||
|
//{
|
|||
|
// if (joty != null && (joty.JOTY_Group == "2" || joty.JOTY_Group == "3"))
|
|||
|
// {
|
|||
|
// newWeldReportItem.JOT_Location = "5F";
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// newWeldReportItem.JOT_Location = "5G";
|
|||
|
// }
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
// if (joty != null && (joty.JOTY_Group == "2" || joty.JOTY_Group == "3"))
|
|||
|
// {
|
|||
|
// newWeldReportItem.JOT_Location = "1F";
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// newWeldReportItem.JOT_Location = "1G";
|
|||
|
// }
|
|||
|
//}
|
|||
|
|
|||
|
newWeldReportItem.JOT_Size = jotInfo.JOT_Size;
|
|||
|
newWeldReportItem.JOT_DoneDin = jotInfo.JOT_Size;
|
|||
|
newWeldReportItem.JOT_Electricity = jotInfo.JOT_Electricity;
|
|||
|
newWeldReportItem.JOT_Voltage = jotInfo.JOT_Voltage;
|
|||
|
newWeldReportItem.WeldingSpeed = jotInfo.WeldingSpeed;
|
|||
|
newWeldReportItem.JOT_PrepareTemp = jotInfo.JOT_PrepareTemp;
|
|||
|
newWeldReportItem.ActualPrepareTemp = jotInfo.ActualPrepareTemp;
|
|||
|
newWeldReportItem.JOT_CellTemp = jotInfo.JOT_CellTemp;
|
|||
|
newWeldReportItem.JOT_LastTemp = jotInfo.JOT_LastTemp;
|
|||
|
returnViewMatch.Add(newWeldReportItem);
|
|||
|
//}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return returnViewMatch;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|