1113 lines
53 KiB
C#
1113 lines
53 KiB
C#
|
using BLL;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Data;
|
|||
|
using System.Data.OleDb;
|
|||
|
using System.IO;
|
|||
|
using System.Linq;
|
|||
|
using System.Web.UI.WebControls;
|
|||
|
|
|||
|
namespace FineUIPro.Web.HJGL.WeldingManage
|
|||
|
{
|
|||
|
public partial class CheckManageDataIn : PageBase
|
|||
|
{
|
|||
|
#region 定义变量
|
|||
|
/// <summary>
|
|||
|
/// 检测方法
|
|||
|
/// </summary>
|
|||
|
public string DetectionTypeId
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (string)ViewState["DetectionTypeId"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
ViewState["DetectionTypeId"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 检测方法代号
|
|||
|
/// </summary>
|
|||
|
public string DetectionTypeCode
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (string)ViewState["DetectionTypeCode"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
ViewState["DetectionTypeCode"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 上传预设的虚拟路径
|
|||
|
/// </summary>
|
|||
|
private string initPath = Const.ExcelUrl;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 导入模版文件原始的虚拟路径
|
|||
|
/// </summary>
|
|||
|
private string initTemplatePath = string.Empty;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 错误集合
|
|||
|
/// </summary>
|
|||
|
public static List<Model.ErrorInfo> errorInfos = new List<Model.ErrorInfo>();
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 加载
|
|||
|
/// <summary>
|
|||
|
/// 加载页面
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void Page_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!IsPostBack)
|
|||
|
{
|
|||
|
this.DetectionTypeId = Request.Params["detectionTypeId"];
|
|||
|
if (!string.IsNullOrEmpty(this.DetectionTypeId))
|
|||
|
{
|
|||
|
var deectionType = BLL.Base_DetectionTypeService.GetDetectionTypeByDetectionTypeId(this.DetectionTypeId);
|
|||
|
if (deectionType != null)
|
|||
|
{
|
|||
|
this.DetectionTypeCode = deectionType.DetectionTypeCode;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (errorInfos != null)
|
|||
|
{
|
|||
|
errorInfos.Clear();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 模板下载
|
|||
|
/// <summary>
|
|||
|
/// 模板下载
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void imgbtnUpload_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
var detectionType = BLL.Base_DetectionTypeService.GetDetectionTypeByDetectionTypeId(this.DetectionTypeId);
|
|||
|
if (detectionType != null)
|
|||
|
{
|
|||
|
if (detectionType.DetectionTypeCode == "RT")
|
|||
|
{
|
|||
|
initTemplatePath = Const.RTCheckManageDataInTemplateUrl;
|
|||
|
}
|
|||
|
else if (detectionType.DetectionTypeCode == "PT")
|
|||
|
{
|
|||
|
initTemplatePath = Const.PTCheckManageDataInTemplateUrl;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
string uploadfilepath = Server.MapPath("~/") + initTemplatePath;
|
|||
|
string fileName = Path.GetFileName(initTemplatePath);
|
|||
|
FileInfo info = new FileInfo(uploadfilepath);
|
|||
|
if (info.Exists)
|
|||
|
{
|
|||
|
long fileSize = info.Length;
|
|||
|
Response.Clear();
|
|||
|
Response.ContentType = "application/x-zip-compressed";
|
|||
|
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
|
|||
|
Response.AddHeader("Content-Length", fileSize.ToString());
|
|||
|
Response.TransmitFile(uploadfilepath, 0, fileSize);
|
|||
|
Response.Flush();
|
|||
|
Response.Close();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ShowNotify("文件不存在!", MessageBoxIcon.Warning);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 审核
|
|||
|
/// <summary>
|
|||
|
/// 审核
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void btnAudit_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.FileExcel.HasFile == false)
|
|||
|
{
|
|||
|
Alert.ShowInTop("请您选择Excel文件!", MessageBoxIcon.Warning);
|
|||
|
return;
|
|||
|
}
|
|||
|
string IsXls = Path.GetExtension(FileExcel.FileName).ToString().Trim().ToLower();
|
|||
|
if (IsXls != ".xls")
|
|||
|
{
|
|||
|
Alert.ShowInTop("只可以选择Excel文件!", MessageBoxIcon.Warning);
|
|||
|
return;
|
|||
|
}
|
|||
|
if (errorInfos != null)
|
|||
|
{
|
|||
|
errorInfos.Clear();
|
|||
|
}
|
|||
|
string rootPath = Server.MapPath("~/");
|
|||
|
string initFullPath = rootPath + initPath;
|
|||
|
if (!Directory.Exists(initFullPath))
|
|||
|
{
|
|||
|
Directory.CreateDirectory(initFullPath);
|
|||
|
}
|
|||
|
|
|||
|
this.hdfileName.Text = BLL.Funs.GetNewFileName() + IsXls;
|
|||
|
string filePath = initFullPath + this.hdfileName.Text;
|
|||
|
FileExcel.PostedFile.SaveAs(filePath);
|
|||
|
ImportXlsToData(filePath);
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
Alert.ShowInTop(ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#region 读Excel提取数据
|
|||
|
/// <summary>
|
|||
|
/// 从Excel提取数据--》Dataset
|
|||
|
/// </summary>
|
|||
|
/// <param name="filename">Excel文件路径名</param>
|
|||
|
private void ImportXlsToData(string fileName)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
string oleDBConnString = String.Empty;
|
|||
|
oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
|
|||
|
oleDBConnString += "Data Source=";
|
|||
|
oleDBConnString += fileName;
|
|||
|
oleDBConnString += ";Extended Properties=Excel 8.0;";
|
|||
|
OleDbConnection oleDBConn = null;
|
|||
|
OleDbDataAdapter oleAdMaster = null;
|
|||
|
DataTable m_tableName = new DataTable();
|
|||
|
DataSet ds = new DataSet();
|
|||
|
|
|||
|
oleDBConn = new OleDbConnection(oleDBConnString);
|
|||
|
oleDBConn.Open();
|
|||
|
m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
|
|||
|
|
|||
|
if (m_tableName != null && m_tableName.Rows.Count > 0)
|
|||
|
{
|
|||
|
|
|||
|
m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
|
|||
|
|
|||
|
}
|
|||
|
string sqlMaster;
|
|||
|
sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
|
|||
|
oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
|
|||
|
oleAdMaster.SelectCommand.CommandTimeout = 1200;
|
|||
|
oleAdMaster.Fill(ds, "m_tableName");
|
|||
|
oleAdMaster.Dispose();
|
|||
|
oleDBConn.Close();
|
|||
|
oleDBConn.Dispose();
|
|||
|
|
|||
|
if (this.DetectionTypeCode == "RT")
|
|||
|
{
|
|||
|
AddDatasetToSQL(ds.Tables[0], 35);
|
|||
|
}
|
|||
|
else if (this.DetectionTypeCode == "PT")
|
|||
|
{
|
|||
|
AddDatasetToSQL(ds.Tables[0], 34);
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw ex;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
#endregion
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 将Dataset的数据导入数据库
|
|||
|
/// </summary>
|
|||
|
/// <param name="pds">数据集</param>
|
|||
|
/// <param name="Cols">数据集列数</param>
|
|||
|
/// <returns></returns>
|
|||
|
private bool AddDatasetToSQL(DataTable pds, int Cols)
|
|||
|
{
|
|||
|
string result = string.Empty;
|
|||
|
int ic, ir;
|
|||
|
ic = pds.Columns.Count;
|
|||
|
if (ic < Cols)
|
|||
|
{
|
|||
|
throw new Exception("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列");
|
|||
|
}
|
|||
|
//委托单位
|
|||
|
var trustUnits = from x in Funs.DB.Project_ProjectUnit
|
|||
|
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
|
|||
|
where x.ProjectId == this.CurrUser.LoginProjectId //&& x.UnitType == "2"
|
|||
|
select y;
|
|||
|
//装置
|
|||
|
var installations = from x in Funs.DB.Project_Installation
|
|||
|
where x.ProjectId == this.CurrUser.LoginProjectId
|
|||
|
select x;
|
|||
|
//区域
|
|||
|
var workareas = from x in Funs.DB.ProjectData_WorkArea
|
|||
|
where x.ProjectId == this.CurrUser.LoginProjectId
|
|||
|
select x;
|
|||
|
//委托
|
|||
|
var trusts = from x in Funs.DB.CH_Trust
|
|||
|
where x.ProjectId == this.CurrUser.LoginProjectId
|
|||
|
select x;
|
|||
|
//管线
|
|||
|
var isoInfos = from x in Funs.DB.PW_IsoInfo
|
|||
|
where x.ProjectId == this.CurrUser.LoginProjectId
|
|||
|
select x;
|
|||
|
//焊口
|
|||
|
var jointInfos = from x in Funs.DB.PW_JointInfo where x.ProjectId == this.CurrUser.LoginProjectId select x;
|
|||
|
|
|||
|
//焊工号
|
|||
|
var welders = from x in Funs.DB.BS_Welder where x.ProjectId == this.CurrUser.LoginProjectId select x;
|
|||
|
//材质
|
|||
|
var materials = from x in Funs.DB.Base_Material select x;
|
|||
|
//检测比例
|
|||
|
var detectionRates = from x in Funs.DB.Base_DetectionRate select x;
|
|||
|
//焊接方法
|
|||
|
var weldingMotheds = from x in Funs.DB.Base_WeldingMethod select x;
|
|||
|
//坡口形式
|
|||
|
var grooveTypes = from x in Funs.DB.Base_GrooveType select x;
|
|||
|
|
|||
|
ir = pds.Rows.Count;
|
|||
|
if (pds != null && ir > 0)
|
|||
|
{
|
|||
|
for (int i = 0; i < ir; i++)
|
|||
|
{
|
|||
|
//string unitId = string.Empty;
|
|||
|
string installationId = string.Empty;
|
|||
|
string workareaId = string.Empty;
|
|||
|
string isoid = string.Empty;
|
|||
|
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][0].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "委托单位" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var unit = trustUnits.FirstOrDefault(e => e.UnitName == pds.Rows[i][0].ToString().Trim());
|
|||
|
if (unit == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "委托单位[" + pds.Rows[i][0].ToString().Trim() + "],不存在|";
|
|||
|
}
|
|||
|
//else
|
|||
|
//{
|
|||
|
// unitId = unit.UnitId;
|
|||
|
//}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][1].ToString()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "承包单位" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "单元/装置名称" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var installation = installations.FirstOrDefault(e => e.InstallationName == pds.Rows[i][2].ToString().Trim());
|
|||
|
if (installation == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "单元/装置名称[" + pds.Rows[i][2].ToString().Trim() + "],不存在|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
installationId = installation.InstallationId;
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][3].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "区号" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var workarea = workareas.FirstOrDefault(e => e.InstallationId == installationId && e.WorkAreaCode == pds.Rows[i][3].ToString().Trim());
|
|||
|
if (workarea == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "区号[" + pds.Rows[i][3].ToString().Trim() + "],该装置下不存在|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
workareaId = workarea.WorkAreaId;
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][4].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "委托编号" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var trust = trusts.FirstOrDefault(e => e.CH_TrustCode == pds.Rows[i][4].ToString().Trim());
|
|||
|
if (trust == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "委托编号[" + pds.Rows[i][4].ToString().Trim() + "],不存在|";
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][5].ToString()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "委托日期" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "委托日期" + "," + "格式不正确!" + "|";
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][6].ToString()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "检件名称" + "," + "此项为必填项!" + "|";
|
|||
|
|
|||
|
}
|
|||
|
if (this.DetectionTypeCode == "RT")
|
|||
|
{
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][7].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "检测批号" + "," + "此项为必填项!" + "|";
|
|||
|
|
|||
|
//}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][8].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "检件编号(管线号)" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var iso = isoInfos.FirstOrDefault(e => e.WorkAreaId == workareaId && e.ISO_IsoNo == pds.Rows[i][8].ToString().Trim());
|
|||
|
if (iso == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "检件编号(管线号)[" + pds.Rows[i][8].ToString().Trim() + "],该区域下不存在|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
isoid = iso.ISO_ID;
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][9].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "焊口号" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var joint = jointInfos.FirstOrDefault(e => e.ISO_ID == isoid && e.JOT_JointNo == pds.Rows[i][9].ToString().Trim());
|
|||
|
if (joint == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "焊口号[" + pds.Rows[i][9].ToString().Trim() + "],该管线下不存在|";
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][10].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "焊工号" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var welder = welders.FirstOrDefault(e => e.WED_Code == pds.Rows[i][11].ToString().Trim());
|
|||
|
if (welder == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "焊工号[" + pds.Rows[i][11].ToString().Trim() + "],不存在|";
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][12].ToString()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "检件规格" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][13].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "检件材质" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var material = materials.FirstOrDefault(e => e.MaterialCode == pds.Rows[i][13].ToString().Trim());
|
|||
|
if (material == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "检件材质[" + pds.Rows[i][13].ToString().Trim() + "],不存在|";
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][14].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "比例(%)" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var rate = detectionRates.FirstOrDefault(e => e.DetectionRate == pds.Rows[i][14].ToString());
|
|||
|
if (rate == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "比例(%)[" + pds.Rows[i][14].ToString().Trim() + "],不存在|";
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][15].ToString()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "合格级别" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][15].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "焊口数" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][17].ToString()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "拍片性质" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][18].ToString()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "片位号" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][18].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "缺陷性质" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][19].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "缺陷定量" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][20].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "评定级别" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][22].ToString()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "是否合格" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][22].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "备注" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][24].ToString()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "拍片日期" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][24].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "拍片人" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][25].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "源种类" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][26].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "底片规格" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][27].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "结果单编号" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][28].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "结果单日期" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][29].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "报告编号" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][30].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "报告日期" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][31].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "合格数量" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
//if (string.IsNullOrEmpty(pds.Rows[i][32].ToString()))
|
|||
|
//{
|
|||
|
// result += (i + 2).ToString() + "," + "不合格数" + "," + "此项为必填项!" + "|";
|
|||
|
//}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][34].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "焊接方法" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var weldthoed = weldingMotheds.FirstOrDefault(e => e.WeldingMethodCode == pds.Rows[i][34].ToString().Trim());
|
|||
|
if (weldthoed == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "焊接方法[" + pds.Rows[i][34].ToString().Trim() + "],不存在|";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else if (this.DetectionTypeCode == "PT")
|
|||
|
{
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][9].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "检件编号(管线号)" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var iso = isoInfos.FirstOrDefault(e => e.WorkAreaId == workareaId && e.ISO_IsoNo == pds.Rows[i][9].ToString().Trim());
|
|||
|
if (iso == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "检件编号(管线号)[" + pds.Rows[i][9].ToString().Trim() + "],该区域下不存在|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
isoid = iso.ISO_ID;
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][10].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "焊口号" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var joint = jointInfos.FirstOrDefault(e => e.ISO_ID == isoid && e.JOT_JointNo == pds.Rows[i][10].ToString().Trim());
|
|||
|
if (joint == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "焊口号[" + pds.Rows[i][10].ToString().Trim() + "],该管线下不存在|";
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][12].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "焊工号" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var welder = welders.FirstOrDefault(e => e.WED_Code == pds.Rows[i][12].ToString().Trim());
|
|||
|
if (welder == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "焊工号[" + pds.Rows[i][12].ToString().Trim() + "],不存在|";
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][14].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "检件材质" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var material = materials.FirstOrDefault(e => e.MaterialCode == pds.Rows[i][14].ToString().Trim());
|
|||
|
if (material == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "检件材质[" + pds.Rows[i][14].ToString().Trim() + "],不存在|";
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][15].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "比例(%)" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var rate = detectionRates.FirstOrDefault(e => e.DetectionRate == pds.Rows[i][15].ToString());
|
|||
|
if (rate == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "比例(%)[" + pds.Rows[i][15].ToString().Trim() + "],不存在|";
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][16].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "焊接方法" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
var weldthoed = weldingMotheds.FirstOrDefault(e => e.WeldingMethodCode == pds.Rows[i][16].ToString().Trim());
|
|||
|
if (weldthoed == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "焊接方法[" + pds.Rows[i][16].ToString().Trim() + "],不存在|";
|
|||
|
}
|
|||
|
}
|
|||
|
if (!string.IsNullOrEmpty(pds.Rows[i][17].ToString().Trim()))
|
|||
|
{
|
|||
|
var groove = grooveTypes.FirstOrDefault(e => e.GrooveTypeCode == pds.Rows[i][17].ToString().Trim());
|
|||
|
if (groove == null)
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "坡口形式[" + pds.Rows[i][17].ToString().Trim() + "],不存在|";
|
|||
|
}
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(pds.Rows[i][28].ToString().Trim()))
|
|||
|
{
|
|||
|
result += (i + 2).ToString() + "," + "结果" + "," + "此项为必填项!" + "|";
|
|||
|
}
|
|||
|
}
|
|||
|
//a++;
|
|||
|
}
|
|||
|
|
|||
|
if (!string.IsNullOrEmpty(result))
|
|||
|
{
|
|||
|
result = result.Substring(0, result.LastIndexOf("|"));
|
|||
|
}
|
|||
|
errorInfos.Clear();
|
|||
|
if (!string.IsNullOrEmpty(result))
|
|||
|
{
|
|||
|
string results = result;
|
|||
|
List<string> errorInfoList = results.Split('|').ToList();
|
|||
|
foreach (var item in errorInfoList)
|
|||
|
{
|
|||
|
string[] errors = item.Split(',');
|
|||
|
Model.ErrorInfo errorInfo = new Model.ErrorInfo();
|
|||
|
errorInfo.Row = errors[0];
|
|||
|
errorInfo.Column = errors[1];
|
|||
|
errorInfo.Reason = errors[2];
|
|||
|
errorInfos.Add(errorInfo);
|
|||
|
}
|
|||
|
if (errorInfos.Count > 0)
|
|||
|
{
|
|||
|
Grid1.DataSource = errorInfos;
|
|||
|
Grid1.DataBind();
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
throw new Exception("导入数据为空!");
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
#region 导入
|
|||
|
/// <summary>
|
|||
|
/// 导入
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void btnSave_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (errorInfos.Count <= 0)
|
|||
|
{
|
|||
|
string rootPath = Server.MapPath("~/");
|
|||
|
string initFullPath = rootPath + initPath;
|
|||
|
if (!Directory.Exists(initFullPath))
|
|||
|
{
|
|||
|
Directory.CreateDirectory(initFullPath);
|
|||
|
}
|
|||
|
|
|||
|
string filePath = initFullPath + this.hdfileName.Text;
|
|||
|
ImportXlsToData2(filePath);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#region 读Excel提取数据
|
|||
|
/// <summary>
|
|||
|
/// 从Excel提取数据--》Dataset
|
|||
|
/// </summary>
|
|||
|
/// <param name="filename">Excel文件路径名</param>
|
|||
|
private void ImportXlsToData2(string fileName)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
string oleDBConnString = String.Empty;
|
|||
|
oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;";
|
|||
|
oleDBConnString += "Data Source=";
|
|||
|
oleDBConnString += fileName;
|
|||
|
oleDBConnString += ";Extended Properties=Excel 8.0;";
|
|||
|
OleDbConnection oleDBConn = null;
|
|||
|
OleDbDataAdapter oleAdMaster = null;
|
|||
|
DataTable m_tableName = new DataTable();
|
|||
|
DataSet ds = new DataSet();
|
|||
|
|
|||
|
oleDBConn = new OleDbConnection(oleDBConnString);
|
|||
|
oleDBConn.Open();
|
|||
|
m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
|
|||
|
|
|||
|
if (m_tableName != null && m_tableName.Rows.Count > 0)
|
|||
|
{
|
|||
|
|
|||
|
m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim();
|
|||
|
|
|||
|
}
|
|||
|
string sqlMaster;
|
|||
|
sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]";
|
|||
|
oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn);
|
|||
|
oleAdMaster.SelectCommand.CommandTimeout = 1200;
|
|||
|
oleAdMaster.Fill(ds, "m_tableName");
|
|||
|
oleAdMaster.Dispose();
|
|||
|
oleDBConn.Close();
|
|||
|
oleDBConn.Dispose();
|
|||
|
|
|||
|
if (this.DetectionTypeCode == "RT")
|
|||
|
{
|
|||
|
AddDatasetToSQL2(ds.Tables[0], 35);
|
|||
|
}
|
|||
|
else if (this.DetectionTypeCode == "PT")
|
|||
|
{
|
|||
|
AddDatasetToSQL2(ds.Tables[0], 34);
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw ex;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 将Dataset的数据导入数据库
|
|||
|
/// </summary>
|
|||
|
/// <param name="pds">数据集</param>
|
|||
|
/// <param name="Cols">数据集列数</param>
|
|||
|
/// <returns></returns>
|
|||
|
private bool AddDatasetToSQL2(DataTable pds, int Cols)
|
|||
|
{
|
|||
|
string result = string.Empty;
|
|||
|
string dReportID = string.Empty;
|
|||
|
string dateStr = string.Empty;
|
|||
|
int ic, ir;
|
|||
|
ic = pds.Columns.Count;
|
|||
|
if (ic < Cols)
|
|||
|
{
|
|||
|
throw new Exception("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列");
|
|||
|
}
|
|||
|
List<Model.CH_CheckStatic> checkStaticList = new List<Model.CH_CheckStatic>();
|
|||
|
//委托单位
|
|||
|
var trustUnits = from x in Funs.DB.Project_ProjectUnit
|
|||
|
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
|
|||
|
where x.ProjectId == this.CurrUser.LoginProjectId //&& x.UnitType == "2"
|
|||
|
select y;
|
|||
|
//装置
|
|||
|
var installations = from x in Funs.DB.Project_Installation
|
|||
|
where x.ProjectId == this.CurrUser.LoginProjectId
|
|||
|
select x;
|
|||
|
//区域
|
|||
|
var workareas = from x in Funs.DB.ProjectData_WorkArea
|
|||
|
where x.ProjectId == this.CurrUser.LoginProjectId
|
|||
|
select x;
|
|||
|
//委托
|
|||
|
var trusts = from x in Funs.DB.CH_Trust
|
|||
|
where x.ProjectId == this.CurrUser.LoginProjectId
|
|||
|
select x;
|
|||
|
//管线
|
|||
|
var isoInfos = from x in Funs.DB.PW_IsoInfo
|
|||
|
where x.ProjectId == this.CurrUser.LoginProjectId
|
|||
|
select x;
|
|||
|
//焊口
|
|||
|
var jointInfos = from x in Funs.DB.PW_JointInfo where x.ProjectId == this.CurrUser.LoginProjectId select x;
|
|||
|
|
|||
|
//焊工号
|
|||
|
var welders = from x in Funs.DB.BS_Welder where x.ProjectId == this.CurrUser.LoginProjectId select x;
|
|||
|
//材质
|
|||
|
var materials = from x in Funs.DB.Base_Material select x;
|
|||
|
//检测比例
|
|||
|
var detectionRates = from x in Funs.DB.Base_DetectionRate select x;
|
|||
|
//焊接方法
|
|||
|
var weldingMotheds = from x in Funs.DB.Base_WeldingMethod select x;
|
|||
|
//坡口形式
|
|||
|
var grooveTypes = from x in Funs.DB.Base_GrooveType select x;
|
|||
|
ir = pds.Rows.Count;
|
|||
|
if (pds != null && ir > 0)
|
|||
|
{
|
|||
|
for (int i = 0; i < ir; i++)
|
|||
|
{
|
|||
|
string row8 = string.Empty;
|
|||
|
string row9 = string.Empty;
|
|||
|
string row10 = string.Empty;
|
|||
|
string row11 = string.Empty;
|
|||
|
string row12 = string.Empty;
|
|||
|
string row13 = string.Empty;
|
|||
|
string row14 = string.Empty;
|
|||
|
string row15 = string.Empty;
|
|||
|
string row16 = string.Empty;
|
|||
|
string row17 = string.Empty;
|
|||
|
string row18 = string.Empty;
|
|||
|
string row19 = string.Empty;
|
|||
|
string row20 = string.Empty;
|
|||
|
string row21 = string.Empty;
|
|||
|
string row22 = string.Empty;
|
|||
|
string row23 = string.Empty;
|
|||
|
string row24 = string.Empty;
|
|||
|
string row25 = string.Empty;
|
|||
|
string row26 = string.Empty;
|
|||
|
string row27 = string.Empty;
|
|||
|
string row28 = string.Empty;
|
|||
|
string row29 = string.Empty;
|
|||
|
string row30 = string.Empty;
|
|||
|
string row31 = string.Empty;
|
|||
|
string row32 = string.Empty;
|
|||
|
string row33 = string.Empty;
|
|||
|
string row34 = string.Empty;
|
|||
|
|
|||
|
string row0= pds.Rows[i][0].ToString().Trim();//委托单位
|
|||
|
string row1 = pds.Rows[i][1].ToString().Trim();//承包单位
|
|||
|
string row2 = pds.Rows[i][2].ToString().Trim();//单元/装置名称
|
|||
|
string row3 = pds.Rows[i][3].ToString().Trim();//区号
|
|||
|
string row4 = pds.Rows[i][4].ToString().Trim();// 委托编号
|
|||
|
string row5 = pds.Rows[i][5].ToString().Trim();//委托日期
|
|||
|
string row6 = pds.Rows[i][6].ToString().Trim();//检件名称
|
|||
|
string row7 = pds.Rows[i][7].ToString().Trim();//检测批号
|
|||
|
if (this.DetectionTypeCode == "RT")
|
|||
|
{
|
|||
|
row8 = pds.Rows[i][8].ToString().Trim();//检件编号(管线号)
|
|||
|
row9 = pds.Rows[i][9].ToString().Trim();//焊口号
|
|||
|
row10 = pds.Rows[i][10].ToString().Trim();//焊口标志
|
|||
|
row11 = pds.Rows[i][11].ToString().Trim();//焊工号
|
|||
|
row12 = pds.Rows[i][12].ToString().Trim();//检件规格
|
|||
|
row13 = pds.Rows[i][13].ToString().Trim();//检件材质
|
|||
|
row14 = pds.Rows[i][14].ToString().Trim();//比例(%)
|
|||
|
row15 = pds.Rows[i][15].ToString().Trim();//合格级别
|
|||
|
row16 = pds.Rows[i][16].ToString().Trim();//焊口数
|
|||
|
row17= pds.Rows[i][17].ToString().Trim();//拍片性质
|
|||
|
row18 = pds.Rows[i][18].ToString().Trim();//片位号
|
|||
|
row19 = pds.Rows[i][19].ToString().Trim();//缺陷性质
|
|||
|
row20 = pds.Rows[i][20].ToString().Trim();//缺陷定量
|
|||
|
row21 = pds.Rows[i][21].ToString().Trim();//评定级别
|
|||
|
row22 = pds.Rows[i][22].ToString().Trim();//是否合格
|
|||
|
row23 = pds.Rows[i][23].ToString().Trim();//备注
|
|||
|
row24 = pds.Rows[i][24].ToString().Trim();//拍片日期
|
|||
|
row25 = pds.Rows[i][25].ToString().Trim();//拍片人
|
|||
|
row26 = pds.Rows[i][26].ToString().Trim();//源种类
|
|||
|
row27 = pds.Rows[i][27].ToString().Trim();//底片规格
|
|||
|
row28 = pds.Rows[i][28].ToString().Trim();//结果单编号
|
|||
|
row29 = pds.Rows[i][29].ToString().Trim();//结果单日期
|
|||
|
row30 = pds.Rows[i][30].ToString().Trim();//报告编号
|
|||
|
row31 = pds.Rows[i][31].ToString().Trim();//报告日期
|
|||
|
row32 = pds.Rows[i][32].ToString().Trim();//合格数量
|
|||
|
row33 = pds.Rows[i][33].ToString().Trim();//不合格数
|
|||
|
row34 = pds.Rows[i][34].ToString().Trim();//焊接方法
|
|||
|
}
|
|||
|
else if (this.DetectionTypeCode=="PT")
|
|||
|
{
|
|||
|
row8 = pds.Rows[i][8].ToString().Trim();//检测时机
|
|||
|
row9 = pds.Rows[i][9].ToString().Trim();//检件编号(管线号)
|
|||
|
row10 = pds.Rows[i][10].ToString().Trim();//焊口号
|
|||
|
row11 = pds.Rows[i][11].ToString().Trim();//焊口标志
|
|||
|
row12 = pds.Rows[i][12].ToString().Trim();//焊工号
|
|||
|
row13 = pds.Rows[i][13].ToString().Trim();//检件规格
|
|||
|
row14 = pds.Rows[i][14].ToString().Trim();//检件材质
|
|||
|
row15 = pds.Rows[i][15].ToString().Trim();//比例(%)
|
|||
|
row16 = pds.Rows[i][16].ToString().Trim();//焊接方法
|
|||
|
row17 = pds.Rows[i][17].ToString().Trim();//坡口形式
|
|||
|
row18 = pds.Rows[i][18].ToString().Trim();//级别
|
|||
|
row19 = pds.Rows[i][19].ToString().Trim();//工艺卡序号
|
|||
|
row20 = pds.Rows[i][20].ToString().Trim();//工作量米
|
|||
|
row21 = pds.Rows[i][21].ToString().Trim();//工作量道
|
|||
|
row22 = pds.Rows[i][22].ToString().Trim();//检测日期
|
|||
|
row23 = pds.Rows[i][23].ToString().Trim();//检测面
|
|||
|
row24 = pds.Rows[i][24].ToString().Trim();//检测人
|
|||
|
row25 = pds.Rows[i][25].ToString().Trim();//缺陷情况或缺陷示意图编号
|
|||
|
row26 = pds.Rows[i][26].ToString().Trim();//评定级别
|
|||
|
row27 = pds.Rows[i][27].ToString().Trim();//结果
|
|||
|
row28 = pds.Rows[i][28].ToString().Trim();//结果单编号
|
|||
|
row29 = pds.Rows[i][29].ToString().Trim();//结果单日期
|
|||
|
row30 = pds.Rows[i][30].ToString().Trim();//报告编号
|
|||
|
row31 = pds.Rows[i][31].ToString().Trim();//报告日期
|
|||
|
row32 = pds.Rows[i][32].ToString().Trim();//工作量
|
|||
|
row33 = pds.Rows[i][33].ToString().Trim();//工程进度款
|
|||
|
}
|
|||
|
|
|||
|
Model.CH_CheckStatic checkStatic = new Model.CH_CheckStatic();
|
|||
|
checkStatic.CheckStaticId = Guid.NewGuid().ToString();
|
|||
|
checkStatic.ProjectId = this.CurrUser.LoginProjectId;
|
|||
|
checkStatic.ProjectName = BLL.ProjectService.GetProjectNameByProjectId(this.CurrUser.LoginProjectId);
|
|||
|
checkStatic.DetectionTypeCode = this.DetectionTypeCode;
|
|||
|
checkStatic.CreateDate = DateTime.Now;
|
|||
|
var trustUnit = trustUnits.FirstOrDefault(e => e.UnitName == row0);//委托单位
|
|||
|
if (trustUnit != null)
|
|||
|
{
|
|||
|
checkStatic.TrustUnitId = trustUnit.UnitId;
|
|||
|
checkStatic.TrustUnitName = trustUnit.UnitName;
|
|||
|
}
|
|||
|
checkStatic.UnitName= row1;//承包单位
|
|||
|
var unit = BLL.UnitService.getUnitByUnitName(row1);
|
|||
|
if (unit != null)
|
|||
|
{
|
|||
|
checkStatic.UnidId = unit.UnitId;
|
|||
|
}
|
|||
|
//单元/装置名称
|
|||
|
var insta = installations.FirstOrDefault(e => e.InstallationName == row2);
|
|||
|
if (insta!=null)
|
|||
|
{
|
|||
|
checkStatic.InstallationName = row2;
|
|||
|
checkStatic.Installation_ID = insta.InstallationId;
|
|||
|
}
|
|||
|
//区域
|
|||
|
var workarea = workareas.FirstOrDefault(e => e.WorkAreaCode == row3);
|
|||
|
if (workarea!=null)
|
|||
|
{
|
|||
|
checkStatic.WorkAreaCode = row3;
|
|||
|
checkStatic.WorkAreaId = workarea.WorkAreaId;
|
|||
|
}
|
|||
|
var trust = trusts.FirstOrDefault(e => e.CH_TrustCode == row4);
|
|||
|
if (trust != null)
|
|||
|
{
|
|||
|
checkStatic.CH_TrustCode = row4;
|
|||
|
checkStatic.CH_TrustID = trust.CH_TrustID;
|
|||
|
if (!string.IsNullOrEmpty(row5))
|
|||
|
{
|
|||
|
checkStatic.Trust_Date = Funs.GetNewDateTime(row5);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
checkStatic.Trust_Date = trust.CH_TrustDate;
|
|||
|
}
|
|||
|
}
|
|||
|
checkStatic.ItemName = row6;//检件名称
|
|||
|
checkStatic.BatchNum = row7;//检测批号
|
|||
|
if (this.DetectionTypeCode == "RT")
|
|||
|
{
|
|||
|
var iso = isoInfos.FirstOrDefault(e => e.ISO_IsoNo == row8);
|
|||
|
if (iso != null)
|
|||
|
{
|
|||
|
checkStatic.ISO_IsoNo = row8;
|
|||
|
checkStatic.ISO_ID = iso.ISO_ID;
|
|||
|
}
|
|||
|
var joint = jointInfos.FirstOrDefault(e => e.JOT_JointNo == row9);
|
|||
|
if (joint != null)
|
|||
|
{
|
|||
|
checkStatic.JOT_JointNo = row9;
|
|||
|
checkStatic.JOT_ID = joint.JOT_ID;
|
|||
|
}
|
|||
|
checkStatic.JointNoFlag = row10;//焊口标志
|
|||
|
var welder = welders.FirstOrDefault(e => e.WED_Code == row11);
|
|||
|
if (welder != null)
|
|||
|
{
|
|||
|
checkStatic.WED_ID = welder.WED_ID;
|
|||
|
checkStatic.WED_Code = row11;
|
|||
|
}
|
|||
|
checkStatic.JOT_JointDesc = row12;//检件规格
|
|||
|
//检件材质
|
|||
|
var material = materials.FirstOrDefault(e => e.MaterialCode == row13);
|
|||
|
if (material != null)
|
|||
|
{
|
|||
|
checkStatic.MaterialId = material.MaterialId;
|
|||
|
checkStatic.MaterialCode = row13;
|
|||
|
}
|
|||
|
//比例(%)
|
|||
|
var rate = detectionRates.FirstOrDefault(e => e.DetectionRate == row14);
|
|||
|
if (rate != null)
|
|||
|
{
|
|||
|
checkStatic.DetectionRateId = rate.DetectionRateId;
|
|||
|
checkStatic.DetectionRateCode = row14;
|
|||
|
}
|
|||
|
checkStatic.QualificationLevel = row15;//合格级别
|
|||
|
checkStatic.JointCount = Funs.GetNewInt(row16);//焊口数
|
|||
|
checkStatic.FilmingNature = row17;//拍片性质
|
|||
|
checkStatic.FilmNum = row18;//片位号
|
|||
|
checkStatic.DefectType = row19;//缺陷性质
|
|||
|
checkStatic.DefectNum = row20;//缺陷定量
|
|||
|
checkStatic.EvaluateLevel = row21;//评定级别
|
|||
|
checkStatic.CheckResult = row22;//是否合格
|
|||
|
checkStatic.Remark = row23;//备注
|
|||
|
checkStatic.CheckDate = Funs.GetNewDateTime(row24);//拍片日期
|
|||
|
checkStatic.FilmMan = row25;//拍片人
|
|||
|
checkStatic.SourceCategory = row26;//源种类
|
|||
|
checkStatic.FilmSpecifications = row27;//底片规格
|
|||
|
checkStatic.CheckResultNum = row28;//结果单编号
|
|||
|
checkStatic.CheckResultDate = Funs.GetNewDateTime(row29);//结果单日期
|
|||
|
checkStatic.ReportNo = row30;//报告编号
|
|||
|
if (!string.IsNullOrEmpty(row31))
|
|||
|
{
|
|||
|
checkStatic.ReportDate = Funs.GetNewDateTime(row31);//报告日期
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
checkStatic.ReportDate = DateTime.Now;
|
|||
|
}
|
|||
|
checkStatic.PassCount = Funs.GetNewInt(row32);//合格数量
|
|||
|
checkStatic.NoPassCount = Funs.GetNewInt(row33);//不合格数
|
|||
|
//焊接方法
|
|||
|
var weldingMethod = weldingMotheds.FirstOrDefault(e => e.WeldingMethodCode == row34);
|
|||
|
if (weldingMethod != null)
|
|||
|
{
|
|||
|
checkStatic.WME_ID = weldingMethod.WeldingMethodId;
|
|||
|
checkStatic.WeldingMethodCode = row34;
|
|||
|
}
|
|||
|
}
|
|||
|
else if (this.DetectionTypeCode=="PT")
|
|||
|
{
|
|||
|
checkStatic.DetectionTime = row8;
|
|||
|
var iso = isoInfos.FirstOrDefault(e => e.ISO_IsoNo == row9);
|
|||
|
if (iso != null)
|
|||
|
{
|
|||
|
checkStatic.ISO_IsoNo = row9;
|
|||
|
checkStatic.ISO_ID = iso.ISO_ID;
|
|||
|
}
|
|||
|
var joint = jointInfos.FirstOrDefault(e => e.JOT_JointNo == row10);
|
|||
|
if (joint != null)
|
|||
|
{
|
|||
|
checkStatic.JOT_JointNo = row10;
|
|||
|
checkStatic.JOT_ID = joint.JOT_ID;
|
|||
|
}
|
|||
|
checkStatic.JointNoFlag = row11;//焊口号标志
|
|||
|
var welder = welders.FirstOrDefault(e => e.WED_Code == row12);
|
|||
|
if (welder != null)
|
|||
|
{
|
|||
|
checkStatic.WED_ID = welder.WED_ID;
|
|||
|
checkStatic.WED_Code = row12;
|
|||
|
}
|
|||
|
checkStatic.JOT_JointDesc = row13;//检件规格
|
|||
|
//检件材质
|
|||
|
var material = materials.FirstOrDefault(e => e.MaterialCode == row14);
|
|||
|
if (material != null)
|
|||
|
{
|
|||
|
checkStatic.MaterialId = material.MaterialId;
|
|||
|
checkStatic.MaterialCode = row14;
|
|||
|
}
|
|||
|
//比例(%)
|
|||
|
var rate = detectionRates.FirstOrDefault(e => e.DetectionRate == row15);
|
|||
|
if (rate != null)
|
|||
|
{
|
|||
|
checkStatic.DetectionRateId = rate.DetectionRateId;
|
|||
|
checkStatic.DetectionRateCode = row15;
|
|||
|
}
|
|||
|
//焊接方法
|
|||
|
var weldingMethod = weldingMotheds.FirstOrDefault(e => e.WeldingMethodCode == row16);
|
|||
|
if (weldingMethod != null)
|
|||
|
{
|
|||
|
checkStatic.WME_ID = weldingMethod.WeldingMethodId;
|
|||
|
checkStatic.WeldingMethodCode = row16;
|
|||
|
}
|
|||
|
//坡口形式
|
|||
|
var grooveType = grooveTypes.FirstOrDefault(e => e.GrooveTypeCode == row17);
|
|||
|
if (grooveType!=null)
|
|||
|
{
|
|||
|
checkStatic.GrooveTypeId = grooveType.GrooveTypeId;
|
|||
|
checkStatic.GrooveTypeCode = row17;
|
|||
|
}
|
|||
|
checkStatic.QualificationLevel = row18;//级别
|
|||
|
checkStatic.ProcessCardNum = row19;//工艺卡序号
|
|||
|
checkStatic.WorkMeter = row20;//工作量米
|
|||
|
checkStatic.WorkloadTrack = row21;//工作量道
|
|||
|
checkStatic.CheckDate = Funs.GetNewDateTime(row22);//检测日期
|
|||
|
checkStatic.DetectionSurface = row23;//检测面
|
|||
|
checkStatic.FilmMan = row24;//检测人
|
|||
|
checkStatic.DefectCode = row25;//缺陷情况或缺陷示意图编号
|
|||
|
checkStatic.EvaluateLevel = row26;//评定级别
|
|||
|
checkStatic.CheckResult = row27;//结果
|
|||
|
checkStatic.CheckResultNum = row28;//结果单编号
|
|||
|
checkStatic.CheckResultDate = Funs.GetNewDateTime(row29);//结果单日期
|
|||
|
checkStatic.ReportNo = row30;//报告编号
|
|||
|
if (!string.IsNullOrEmpty(row31))
|
|||
|
{
|
|||
|
checkStatic.ReportDate = Funs.GetNewDateTime(row31);//报告日期
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
checkStatic.ReportDate = DateTime.Now;
|
|||
|
}
|
|||
|
checkStatic.Workloads = row32;//工作量
|
|||
|
checkStatic.ProgressMoney = row33;//工程进度款
|
|||
|
}
|
|||
|
|
|||
|
checkStaticList.Add(checkStatic);
|
|||
|
}
|
|||
|
|
|||
|
Funs.DB.CH_CheckStatic.InsertAllOnSubmit(checkStaticList);
|
|||
|
Funs.DB.SubmitChanges();
|
|||
|
|
|||
|
ShowNotify("导入成功!", MessageBoxIcon.Success);
|
|||
|
|
|||
|
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
throw new Exception("导入数据为空!");
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|