diff --git a/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchIn.aspx b/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchIn.aspx
index 8815dce..7f045f4 100644
--- a/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchIn.aspx
+++ b/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchIn.aspx
@@ -30,8 +30,8 @@
- <%----%>
+
@@ -63,7 +63,7 @@
+ DataKeyNames="ID" PageSize="100" AllowPaging="true" Height="560px">
@@ -77,7 +77,7 @@
-
+
diff --git a/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchIn.aspx.cs b/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchIn.aspx.cs
index ee51105..b0d72fe 100644
--- a/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchIn.aspx.cs
+++ b/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchIn.aspx.cs
@@ -4,11 +4,14 @@ using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Linq;
+using System.Text;
using System.Web.UI;
using BLL;
-using FineUIPro.Web.common.ProjectSet;
-using FineUIPro.Web.Common.ProjectSet;
+using AspNet = System.Web.UI.WebControls;
using Model;
+using NPOI.HSSF.Util;
+using NPOI.SS.UserModel;
+using NPOI.XSSF.UserModel;
namespace FineUIPro.Web.WeldingProcess.TrustManage
{
@@ -24,6 +27,19 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
/// 错误集合
///
public static string errorInfos = string.Empty;
+
+ public string BatchCode
+ {
+ get
+ {
+ return (string)ViewState["BatchCode"];
+ }
+ set
+ {
+ ViewState["BatchCode"] = value;
+ }
+ }
+
#endregion
#region 加载页面
@@ -98,6 +114,7 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
var pipeList = from x in Funs.DB.Pipeline_Pipeline where x.ProjectId == this.CurrUser.LoginProjectId select x;
List logListData = new List();
string BatchNo = DateTime.Now.ToString("yyyyMMddHHmmss");
+ BatchCode = BatchNo;
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string result = string.Empty;
@@ -376,7 +393,7 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
}
- void BindGrid1(string batchNo)
+ private void BindGrid1(string batchNo)
{
var result = Funs.DB.TrustBatchImportErrorLog.Where(t => t.BatchNo == batchNo).OrderBy(t => t.RowID).ToList();
this.Grid1.DataSource = result;
@@ -572,9 +589,182 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
///
///
///
+
protected void btnOut_Click(object sender, EventArgs e)
{
-
+ string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
+ //模板文件
+ string TempletFileName = rootPath + "TrustErrorOut.xlsx";
+ //导出文件
+ string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
+ if (!Directory.Exists(filePath))
+ {
+ Directory.CreateDirectory(filePath);
+ }
+ string ReportFileName = filePath + "out.xlsx";
+
+ FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read);
+ XSSFWorkbook hssfworkbook = new XSSFWorkbook(file);
+
+ #region JointComprehensive
+ XSSFSheet reportModel = (XSSFSheet)hssfworkbook.GetSheet("Sheet1");
+
+ XSSFFont cs_content_Font1 = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
+ cs_content_Font1.FontName = "sans-serif";//字体
+ cs_content_Font1.FontHeightInPoints = 9; //字体大小
+
+ ICellStyle style = hssfworkbook.CreateCellStyle();
+ style.SetFont(cs_content_Font1);
+
+ XSSFFont cs_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
+ cs_content_Font.FontName = "sans-serif";//字体
+ cs_content_Font.FontHeightInPoints = 10; //字体大小
+ cs_content_Font.Color = HSSFColor.Red.Index;
+
+ IDataFormat dataformat = hssfworkbook.CreateDataFormat();
+ ICellStyle styleDate = hssfworkbook.CreateCellStyle();
+ styleDate.SetFont(cs_content_Font1);
+ styleDate.DataFormat = dataformat.GetFormat("yyyy-mm-dd");
+
+ // 排序
+ var result = Funs.DB.TrustBatchImportErrorLog.Where(t => t.BatchNo == this.BatchCode).OrderBy(t => t.RowID).ToList();
+
+ if (result.Count > 0)
+ {
+ var rowIndex = 1;
+ foreach (var itemOver in result)
+ {
+ if (reportModel.GetRow(rowIndex) == null) reportModel.CreateRow(rowIndex);
+
+ #region 列赋值
+ //行号
+ if (reportModel.GetRow(rowIndex).GetCell(0) == null) reportModel.GetRow(rowIndex).CreateCell(0);
+ reportModel.GetRow(rowIndex).GetCell(0).SetCellValue(itemOver.RowID.ToString());
+ reportModel.GetRow(rowIndex).GetCell(0).CellStyle = style; //将字体绑定到样式
+
+ //委托单
+ if (reportModel.GetRow(rowIndex).GetCell(1) == null) reportModel.GetRow(rowIndex).CreateCell(1);
+ reportModel.GetRow(rowIndex).GetCell(1).SetCellValue(itemOver.TrustBatchCode);
+ reportModel.GetRow(rowIndex).GetCell(1).CellStyle = style;
+ //装置
+ if (reportModel.GetRow(rowIndex).GetCell(2) == null) reportModel.GetRow(rowIndex).CreateCell(2);
+ reportModel.GetRow(rowIndex).GetCell(2).SetCellValue(itemOver.InstallCode);
+ reportModel.GetRow(rowIndex).GetCell(2).CellStyle = style;
+ //区域
+ if (reportModel.GetRow(rowIndex).GetCell(3) == null) reportModel.GetRow(rowIndex).CreateCell(3);
+ reportModel.GetRow(rowIndex).GetCell(3).SetCellValue(itemOver.AreaCode);
+ reportModel.GetRow(rowIndex).GetCell(3).CellStyle = style;
+ //管线号
+ if (reportModel.GetRow(rowIndex).GetCell(4) == null) reportModel.GetRow(rowIndex).CreateCell(4);
+ reportModel.GetRow(rowIndex).GetCell(4).SetCellValue(itemOver.PipelineCode);
+ reportModel.GetRow(rowIndex).GetCell(4).CellStyle = style;
+
+ //焊口号
+ if (reportModel.GetRow(rowIndex).GetCell(5) == null) reportModel.GetRow(rowIndex).CreateCell(5);
+ reportModel.GetRow(rowIndex).GetCell(5).SetCellValue(itemOver.WeldJointCode);
+ reportModel.GetRow(rowIndex).GetCell(5).CellStyle = style;
+
+ //探伤类型
+ if (reportModel.GetRow(rowIndex).GetCell(6) == null) reportModel.GetRow(rowIndex).CreateCell(6);
+ reportModel.GetRow(rowIndex).GetCell(6).SetCellValue(itemOver.DetectionType);
+ reportModel.GetRow(rowIndex).GetCell(6).CellStyle = style;
+
+ //委托日期
+ if (reportModel.GetRow(rowIndex).GetCell(7) == null) reportModel.GetRow(rowIndex).CreateCell(7);
+ reportModel.GetRow(rowIndex).GetCell(7).SetCellValue(itemOver.TrustDate);
+ reportModel.GetRow(rowIndex).GetCell(7).CellStyle = style;
+
+ //检测单位
+ if (reportModel.GetRow(rowIndex).GetCell(8) == null) reportModel.GetRow(rowIndex).CreateCell(8);
+ reportModel.GetRow(rowIndex).GetCell(8).SetCellValue(itemOver.UnitCode);
+ reportModel.GetRow(rowIndex).GetCell(8).CellStyle = style;
+ //表面
+ if (reportModel.GetRow(rowIndex).GetCell(9) == null) reportModel.GetRow(rowIndex).CreateCell(9);
+ reportModel.GetRow(rowIndex).GetCell(9).SetCellValue(itemOver.SurfaceState);
+ reportModel.GetRow(rowIndex).GetCell(9).CellStyle = style;
+
+ //检测时机
+ if (reportModel.GetRow(rowIndex).GetCell(10) == null) reportModel.GetRow(rowIndex).CreateCell(10);
+ reportModel.GetRow(rowIndex).GetCell(10).SetCellValue(itemOver.Opportunity);
+ reportModel.GetRow(rowIndex).GetCell(10).CellStyle = style;
+ //错误
+ if (reportModel.GetRow(rowIndex).GetCell(11) == null) reportModel.GetRow(rowIndex).CreateCell(11);
+ reportModel.GetRow(rowIndex).GetCell(11).SetCellValue(itemOver.Remark.Replace("|",","));
+ reportModel.GetRow(rowIndex).GetCell(11).CellStyle = style;
+
+ #endregion
+
+ rowIndex++;
+ }
+ }
+ #endregion
+ reportModel.ForceFormulaRecalculation = true;
+
+ using (FileStream filess = System.IO.File.OpenWrite(ReportFileName))
+ {
+ hssfworkbook.Write(filess);
+ }
+ FileInfo filet = new FileInfo(ReportFileName);
+ Response.Clear();
+ Response.Charset = "GB2312";
+ Response.ContentEncoding = System.Text.Encoding.UTF8;
+ // 添加头信息,为"文件下载/另存为"对话框指定默认文件名
+ Response.AddHeader("Content-Disposition", "attachment; filename=委托单错误日志_" + Server.UrlEncode(DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx"));
+ // 添加头信息,指定文件大小,让浏览器能够显示下载进度
+ Response.AddHeader("Content-Length", filet.Length.ToString());
+ // 指定返回的是一个不能被客户端读取的流,必须被下载
+ Response.ContentType = "application/ms-excel";
+ // 把文件流发送到客户端
+ Response.WriteFile(filet.FullName);
+ // 停止页面的执行
+ Response.End();
+
+ //Response.ClearContent();
+ //string filename = Funs.GetNewFileName();
+ //Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(Resources.Lan.JointComprehensive + filename, System.Text.Encoding.UTF8) + ".xls");
+ //Response.ContentType = "application/excel";
+ //Response.ContentEncoding = System.Text.Encoding.UTF8;
+ //Response.Write(GetGridTableHtml(Grid1));
+ //Response.End();
+ }
+
+ ///
+ /// 导出方法
+ ///
+ ///
+ ///
+ private string GetGridTableHtml(Grid grid)
+ {
+ StringBuilder sb = new StringBuilder();
+ grid.PageSize = 10000;
+ BindGrid1(this.BatchCode);
+ sb.Append("");
+ sb.Append("");
+ sb.Append("");
+ foreach (GridColumn column in grid.Columns)
+ {
+ sb.AppendFormat("{0} | ", column.HeaderText);
+ }
+ sb.Append("
");
+ foreach (GridRow row in grid.Rows)
+ {
+ sb.Append("");
+ foreach (GridColumn column in grid.Columns)
+ {
+ string html = row.Values[column.ColumnIndex].ToString();
+ if (column.ColumnID == "Remark")
+ {
+ html = (row.FindControl("lablRemark") as AspNet.Label).Text;
+ }
+ sb.AppendFormat("{0} | ", html);
+ }
+
+ sb.Append("
");
+ }
+
+ sb.Append("
");
+
+ return sb.ToString();
}
///
diff --git a/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchIn.aspx.designer.cs b/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchIn.aspx.designer.cs
index a33067c..ff417ae 100644
--- a/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchIn.aspx.designer.cs
+++ b/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchIn.aspx.designer.cs
@@ -77,6 +77,15 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
///
protected global::FineUIPro.Button btnDownLoad;
+ ///
+ /// btnOut 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnOut;
+
///
/// fuAttachUrl 控件。
///
diff --git a/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchManage.aspx b/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchManage.aspx
index 4d07f97..f95fcc7 100644
--- a/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchManage.aspx
+++ b/HJGL/FineUIPro.Web/WeldingProcess/TrustManage/TrustBatchManage.aspx
@@ -227,7 +227,7 @@
+ CloseAction="HidePostBack" Width="1300px" Height="760px">
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.Label txtReportDate;
+ protected global::FineUIPro.Label txtWeldingDate;
///
/// ddlJointStatus 控件。
diff --git a/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/WeldReport.aspx.cs b/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/WeldReport.aspx.cs
index 1d834ac..ae4f339 100644
--- a/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/WeldReport.aspx.cs
+++ b/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/WeldReport.aspx.cs
@@ -489,6 +489,8 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
List pipelineIdList = new List();
// 焊工资质不符合条件信息
string eventArg = string.Empty;
+ // 焊工WPS验证
+ string errorCheck = string.Empty;
string installationId = string.Empty;
string workAreaId = string.Empty;
string unitId = string.Empty;
@@ -593,7 +595,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
{
var pipeline = from x in Funs.DB.Pipeline_Pipeline
where x.ProjectId == this.CurrUser.LoginProjectId
- && x.InstallationId == insId && x.WorkAreaId==areaId && x.PipelineCode == ds.Tables[0].Rows[i]["管线号"].ToString()
+ && x.InstallationId == insId && x.WorkAreaId == areaId && x.PipelineCode == ds.Tables[0].Rows[i]["管线号"].ToString()
select x;
if (pipeline.Count() > 0)
@@ -1040,7 +1042,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
}
else
{
- if ((!string.IsNullOrEmpty(d.Material2Id) && steel.MaterialId!=d.Material2Id)
+ if ((!string.IsNullOrEmpty(d.Material2Id) && steel.MaterialId != d.Material2Id)
&& (!string.IsNullOrEmpty(d.Material1Id) && steel.MaterialId != d.Material1Id))
{
errorInfos += (i + 2) + "行,材质2[" + ds.Tables[0].Rows[i]["材质2"].ToString() + "]验证不一至;";
@@ -1228,135 +1230,118 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
dayList.Add(d);
-
- // 判断资质
- //if (welderQueIsUse == true)
- //{
+ // WPS焊工判断资质
if (isExistFloor && isExistCell)
{
var wps = BLL.WPQListServiceService.GetWPQById(d.WPQId);
if (!wps.WelderIds.Contains(cellWelderId))
{
- if (!eventArg.Contains(ds.Tables[0].Rows[i]["盖面焊工号"].ToString()))
- {
- eventArg = eventArg + ds.Tables[0].Rows[i]["盖面焊工号"].ToString() + ",";
- }
-
+ errorCheck += (i + 2) + "行,盖面焊工号:[" + ds.Tables[0].Rows[i]["盖面焊工号"].ToString() + "]验证无焊WPS资质;";
}
-
+
if (!wps.WelderIds.Contains(floorWelderId))
{
- if (!eventArg.Contains(ds.Tables[0].Rows[i]["打底焊工号"].ToString()))
- {
- eventArg = eventArg + ds.Tables[0].Rows[i]["打底焊工号"].ToString() + ",";
- }
+ errorCheck += (i + 2) + "行,打底焊工号:[" + ds.Tables[0].Rows[i]["打底焊工号"].ToString() + "]验证无焊WPS资质;";
}
- //}
+
}
- #region 焊工资质判断 ,暂不用,改为和WPS的焊工判断
- //if (!string.IsNullOrEmpty(errorInfos))
- //{
- // ShowNotify(errorInfos, MessageBoxIcon.Warning, 10000);
- // return;
- //}
- //else
- //{
- // // 判断资质
- // if (welderQueIsUse == true)
- // {
- // if (isExistFloor && isExistCell)
- // {
- // bool canSave = false;
- // var jot = BLL.Pipeline_WeldJointService.GetWeldJointByWeldJointId(jotId);
- // var joty = BLL.Base_WeldTypeService.GetWeldTypeByWeldTypeId(jot.WeldTypeId);
- // string weldTypeGroup = joty.Flag;
- // string weldTypeCode = joty.WeldTypeCode;
- // string floorWelder = floorWelderId;
- // string cellWelder = cellWelderId;
- // //decimal? dia = jot.Dia;
- // //decimal? sch = jot.Thickness;
+ #region 焊工合格项资质判断
+ // 判断资质
+ if (welderQueIsUse == true)
+ {
+ if (isExistFloor && isExistCell)
+ {
+ bool canSave = false;
+ var jot = BLL.Pipeline_WeldJointService.GetWeldJointByWeldJointId(jotId);
+ var joty = BLL.Base_WeldTypeService.GetWeldTypeByWeldTypeId(jot.WeldTypeId);
+ string weldTypeGroup = joty.Flag;
+ string weldTypeCode = joty.WeldTypeCode;
+ string floorWelder = floorWelderId;
+ string cellWelder = cellWelderId;
+ //decimal? dia = jot.Dia;
+ //decimal? sch = jot.Thickness;
- // string weldingMethodCode = string.Empty;
- // var wm = BLL.Base_WeldingMethodService.GetWeldingMethodByWeldingMethodId(jot.WeldingMethodId);
- // if (wm != null)
- // {
- // weldingMethodCode = wm.WeldingMethodCode;
- // }
- // string[] wmeCodes = weldingMethodCode.Split('+');
+ string weldingMethodCode = string.Empty;
+ var wm = BLL.Base_WeldingMethodService.GetWeldingMethodByWeldingMethodId(jot.WeldingMethodId);
+ if (wm != null)
+ {
+ weldingMethodCode = wm.WeldingMethodCode;
+ }
+ string[] wmeCodes = weldingMethodCode.Split('+');
- // string location = string.Empty;
- // var loc = BLL.Base_WeldingLocationServie.GetWeldingLocationById(jot.WeldingLocationId);
- // if (loc != null)
- // {
- // location = loc.WeldingLocationCode;
- // }
+ string location = string.Empty;
+ var loc = BLL.Base_WeldingLocationServie.GetWeldingLocationById(jot.WeldingLocationId);
+ if (loc != null)
+ {
+ location = loc.WeldingLocationCode;
+ }
- // string ste = jot.Material1Id;
+ string ste = jot.Material1Id;
- // List floorWelderQualifys = (from x in Funs.DB.Welder_WelderQualify
- // where x.WelderId == floorWelder && x.WeldingMethodId != null
- // && x.WeldingLocationId != null && x.MaterialType != null
- // && x.WeldType != null
- // && x.ThicknessMax != null && x.SizesMin != null
- // select x).ToList();
+ List floorWelderQualifys = (from x in Funs.DB.Welder_WelderQualify
+ where x.WelderId == floorWelder && x.WeldingMethodId != null
+ && x.WeldingLocationId != null && x.MaterialType != null
+ && x.WeldType != null
+ && x.ThicknessMax != null && x.SizesMin != null
+ select x).ToList();
- // List cellWelderQualifys = (from x in Funs.DB.Welder_WelderQualify
- // where x.WelderId == cellWelder && x.WeldingMethodId != null
- // && x.WeldingLocationId != null && x.MaterialType != null
- // && x.WeldType != null
- // && x.ThicknessMax != null && x.SizesMin != null
- // select x).ToList();
+ List cellWelderQualifys = (from x in Funs.DB.Welder_WelderQualify
+ where x.WelderId == cellWelder && x.WeldingMethodId != null
+ && x.WeldingLocationId != null && x.MaterialType != null
+ && x.WeldType != null
+ && x.ThicknessMax != null && x.SizesMin != null
+ select x).ToList();
- // // 打底和盖面同一焊工
- // if (floorWelder == cellWelder)
- // {
- // if (floorWelderQualifys != null && floorWelderQualifys.Count() > 0)
- // {
- // if (wmeCodes.Count() <= 1) // 一种焊接方法
- // {
- // canSave = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
- // }
- // else // 大于一种焊接方法,如氩电联焊
- // {
- // canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
- // }
- // }
- // }
- // // 打底和盖面焊工不同
- // else
- // {
- // bool isok1 = false;
- // bool isok2 = false;
+ // 打底和盖面同一焊工
+ if (floorWelder == cellWelder)
+ {
+ if (floorWelderQualifys != null && floorWelderQualifys.Count() > 0)
+ {
+ if (wmeCodes.Count() <= 1) // 一种焊接方法
+ {
+ canSave = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
+ }
+ else // 大于一种焊接方法,如氩电联焊
+ {
+ canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
+ }
+ }
+ }
+ // 打底和盖面焊工不同
+ else
+ {
+ bool isok1 = false;
+ bool isok2 = false;
- // if (wmeCodes.Count() <= 1) // 一种焊接方法
- // {
- // if (floorWelderQualifys != null && floorWelderQualifys.Count() > 0)
- // {
- // isok1 = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
- // }
- // if (cellWelderQualifys != null && cellWelderQualifys.Count() > 0)
- // {
- // isok2 = IsOK(cellWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
- // }
- // if (isok1 && isok2)
- // {
- // canSave = true;
- // }
- // }
- // else
- // {
- // canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
- // }
- // }
+ if (wmeCodes.Count() <= 1) // 一种焊接方法
+ {
+ if (floorWelderQualifys != null && floorWelderQualifys.Count() > 0)
+ {
+ isok1 = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
+ }
+ if (cellWelderQualifys != null && cellWelderQualifys.Count() > 0)
+ {
+ isok2 = IsOK(cellWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
+ }
+ if (isok1 && isok2)
+ {
+ canSave = true;
+ }
+ }
+ else
+ {
+ canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
+ }
+ }
+
+ if (canSave == false)
+ {
+ eventArg = eventArg + jot.WeldJointCode + ",";
+ }
+ }
+ }
- // if (canSave == false)
- // {
- // eventArg = eventArg + jot.WeldJointCode + ",";
- // }
- // }
- // }
- //}
#endregion
}
@@ -1366,6 +1351,11 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
ShowNotify(errorInfos, MessageBoxIcon.Warning, 10000);
return;
}
+ else if (!string.IsNullOrEmpty(errorCheck))
+ {
+ ShowNotify(errorCheck+ "请更正后再提交保存", MessageBoxIcon.Warning, 10000);
+ return;
+ }
else
{
// 焊工资质符全条件
diff --git a/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/WeldReportEdit.aspx.cs b/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/WeldReportEdit.aspx.cs
index c3bbec5..e43ef3d 100644
--- a/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/WeldReportEdit.aspx.cs
+++ b/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/WeldReportEdit.aspx.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Data;
using System.Linq;
using BLL;
+using Model;
using Newtonsoft.Json.Linq;
namespace FineUIPro.Web.WeldingProcess.WeldingManage
@@ -323,14 +324,15 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
return;
}
- // 焊工资质
+ // 焊工合格项资质错误信息
string eventArg = string.Empty;
-
- // 验证错误
+ // 焊工WPS验证错误信息
string errorCheck = string.Empty;
+ // 日报信息验证错误信息
+ string errorInfos = string.Empty;
List GetWeldingDailyItem = this.CollectGridJointInfo();
- #region 和焊口信息及所能焊的WPS验证
+ #region 焊工所能焊的WPS验证
int rowIndex = 1;
foreach (var item in GetWeldingDailyItem)
{
@@ -342,38 +344,29 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
{
if (!wps.WelderIds.Contains(item.BackingWelderId))
{
- if (!eventArg.Contains(item.BackingWelderId))
- {
- eventArg += rowIndex + "行,焊工:" + item.BackingWelderCode + "无资质,";
- }
+ errorCheck += rowIndex + "行,焊工:" + item.BackingWelderCode + "无WPS焊接资质,";
}
}
else
{
if (!wps.WelderIds.Contains(item.BackingWelderId))
{
- if (!eventArg.Contains(item.BackingWelderId))
- {
- eventArg += rowIndex + "行,焊工:" + item.BackingWelderCode + "无资质,";
- }
+ errorCheck += rowIndex + "行,焊工:" + item.BackingWelderCode + "无WPS焊接资质,";
}
if (!wps.WelderIds.Contains(item.CoverWelderId))
{
- if (!eventArg.Contains(item.CoverWelderId))
- {
- eventArg += rowIndex + "行,焊工:" + item.CoverWelderId + "无资质,";
- }
+ errorCheck += rowIndex + "行,焊工:" + item.CoverWelderId + "无WPS焊接资质,";
}
}
// 验证数据是否一至
if (!string.IsNullOrEmpty(item.WeldTypeId) && !string.IsNullOrEmpty(jot.WeldTypeId) && item.WeldTypeId != jot.WeldTypeId)
{
- errorCheck += rowIndex + "行,焊缝类型:" + item.WeldTypeId + "验证不一至,";
+ errorInfos += rowIndex + "行,焊缝类型:" + item.WeldTypeId + "验证不一至,";
}
if (!string.IsNullOrEmpty(item.JointAttribute) && !string.IsNullOrEmpty(jot.JointAttribute) && item.JointAttribute != jot.JointAttribute)
{
- errorCheck += rowIndex + "行,焊口属性:" + item.JointAttribute + "验证不一至,";
+ errorInfos += rowIndex + "行,焊口属性:" + item.JointAttribute + "验证不一至,";
}
//if (!string.IsNullOrEmpty(item.WeldingLocationId) && !string.IsNullOrEmpty(jot.WeldingLocationId) && item.WeldingLocationId != jot.WeldingLocationId)
@@ -383,12 +376,12 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
if (item.Size!=null && jot.Size!=null && item.Size != jot.Size)
{
- errorCheck += rowIndex + "行,管径:" + item.JointAttribute + "验证不一至,";
+ errorInfos += rowIndex + "行,管径:" + item.JointAttribute + "验证不一至,";
}
if (!string.IsNullOrEmpty(item.ANSISCH) && !string.IsNullOrEmpty(jot.ANSISCH) && item.ANSISCH != jot.ANSISCH)
{
- errorCheck += rowIndex + "行,美标壁厚:" + item.ANSISCH + "验证不一至,";
+ errorInfos += rowIndex + "行,美标壁厚:" + item.ANSISCH + "验证不一至,";
}
//if (!string.IsNullOrEmpty(item.MaterialId1) && !string.IsNullOrEmpty(jot.Material1Id) && jot.Material1Id != item.MaterialId1)
@@ -401,11 +394,11 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
//}
if (!string.IsNullOrEmpty(item.Components1Id) && !string.IsNullOrEmpty(jot.PipeAssembly1Id) && jot.PipeAssembly1Id != item.Components1Id)
{
- errorCheck += rowIndex + "行,组件1:" + item.Components1Code + "验证不一至,";
+ errorInfos += rowIndex + "行,组件1:" + item.Components1Code + "验证不一至,";
}
if (!string.IsNullOrEmpty(item.Components2Id) && !string.IsNullOrEmpty(jot.PipeAssembly2Id) && jot.PipeAssembly2Id != item.Components2Id)
{
- errorCheck += rowIndex + "行,组件2:" + item.Components2Code + "验证不一至,";
+ errorInfos += rowIndex + "行,组件2:" + item.Components2Code + "验证不一至,";
}
//if (!string.IsNullOrEmpty(item.HeartNo1) && !string.IsNullOrEmpty(jot.HeartNo1) && jot.HeartNo1 != item.HeartNo1)
@@ -418,7 +411,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
//}
if (!string.IsNullOrEmpty(item.PipeSegment) && !string.IsNullOrEmpty(jot.PipeSegment) && jot.PipeSegment != item.PipeSegment)
{
- errorCheck += rowIndex + "行,所属管段:" + item.PipeSegment + "验证不一至,";
+ errorInfos += rowIndex + "行,所属管段:" + item.PipeSegment + "验证不一至,";
}
//if (!string.IsNullOrEmpty(item.WPQId) && !string.IsNullOrEmpty(jot.WPQId) && jot.WPQId != item.WPQId)
//{
@@ -429,99 +422,99 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
}
#endregion
- #region 焊工资质判断,暂不用
- //// 焊工资质
- //foreach (var item in GetWeldingDailyItem)
- //{
- // bool canSave = false;
- // var jot = BLL.Pipeline_WeldJointService.GetWeldJointByWeldJointId(item.WeldJointId);
- // var joty = BLL.Base_WeldTypeService.GetWeldTypeByWeldTypeId(jot.WeldTypeId);
- // string weldTypeGroup = joty.Flag;
- // string weldTypeCode = joty.WeldTypeCode;
- // string floorWelder = item.BackingWelderId;
- // string cellWelder = item.CoverWelderId;
- // decimal? dia = item.Dia;
- // decimal? sch = item.Thickness;
- // //string wme = item.WeldingMethodCode;
- // //string wmeCode = string.Empty;
- // //var wm = BLL.HJGL_WeldingMethodService.GetWeldMethodByWMEID(item.WME_ID);
- // //if (wm != null)
- // //{
- // // wmeCode = wm.WME_Code;
- // //}
+ #region 焊工资质判断
+ // 焊工资质
+ foreach (var item in GetWeldingDailyItem)
+ {
+ bool canSave = false;
+ var jot = BLL.Pipeline_WeldJointService.GetWeldJointByWeldJointId(item.WeldJointId);
+ var joty = BLL.Base_WeldTypeService.GetWeldTypeByWeldTypeId(jot.WeldTypeId);
+ string weldTypeGroup = joty.Flag;
+ string weldTypeCode = joty.WeldTypeCode;
+ string floorWelder = item.BackingWelderId;
+ string cellWelder = item.CoverWelderId;
+ decimal? dia = item.Dia;
+ decimal? sch = item.Thickness;
+ //string wme = item.WeldingMethodCode;
+ //string wmeCode = string.Empty;
+ //var wm = BLL.HJGL_WeldingMethodService.GetWeldMethodByWMEID(item.WME_ID);
+ //if (wm != null)
+ //{
+ // wmeCode = wm.WME_Code;
+ //}
- // string[] wmeCodes = item.WeldingMethodCode.Split('+');
- // string location = item.WeldingLocationCode;
- // string ste = jot.Material1Id;
- // var projectWelder = BLL.Welder_ProjectWelderService.GetProjectWelderByProjectIdAndWelderId(this.ProjectId,item.BackingWelderId);
- // var projectUnit = BLL.Project_UnitService.GetProject_UnitByProjectIdUnitId(this.ProjectId,projectWelder.UnitId);
- // if (projectUnit != null && projectUnit.WelderQueIsUse == true)
- // {
- // List floorWelderQualifys = (from x in Funs.DB.Welder_WelderQualify
- // where x.WelderId == floorWelder && x.WeldingMethodId != null
- // && x.WeldingLocationId != null && x.MaterialType != null
- // && x.WeldType != null
- // && x.ThicknessMax != null && x.SizesMin != null
- // select x).ToList();
+ string[] wmeCodes = item.WeldingMethodCode.Split('+');
+ string location = item.WeldingLocationCode;
+ string ste = jot.Material1Id;
+ var projectWelder = BLL.Welder_ProjectWelderService.GetProjectWelderByProjectIdAndWelderId(this.ProjectId, item.BackingWelderId);
+ var projectUnit = BLL.Project_UnitService.GetProject_UnitByProjectIdUnitId(this.ProjectId, projectWelder.UnitId);
+ if (projectUnit != null && projectUnit.WelderQueIsUse == true)
+ {
+ List floorWelderQualifys = (from x in Funs.DB.Welder_WelderQualify
+ where x.WelderId == floorWelder && x.WeldingMethodId != null
+ && x.WeldingLocationId != null && x.MaterialType != null
+ && x.WeldType != null
+ && x.ThicknessMax != null && x.SizesMin != null
+ select x).ToList();
- // List cellWelderQualifys = (from x in Funs.DB.Welder_WelderQualify
- // where x.WelderId == cellWelder && x.WeldingMethodId != null
- // && x.WeldingLocationId != null && x.MaterialType != null
- // && x.WeldType != null
- // && x.ThicknessMax != null && x.SizesMin != null
- // select x).ToList();
- // // 打底和盖面同一焊工
- // if (floorWelder == cellWelder)
- // {
- // if (floorWelderQualifys != null && floorWelderQualifys.Count() > 0)
- // {
- // if (wmeCodes.Count() <= 1) // 一种焊接方法
- // {
- // canSave = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
- // }
- // else // 大于一种焊接方法,如氩电联焊
- // {
- // canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
- // }
- // }
- // }
- // // 打底和盖面焊工不同
- // else
- // {
- // bool isok1 = false;
- // bool isok2 = false;
+ List cellWelderQualifys = (from x in Funs.DB.Welder_WelderQualify
+ where x.WelderId == cellWelder && x.WeldingMethodId != null
+ && x.WeldingLocationId != null && x.MaterialType != null
+ && x.WeldType != null
+ && x.ThicknessMax != null && x.SizesMin != null
+ select x).ToList();
+ // 打底和盖面同一焊工
+ if (floorWelder == cellWelder)
+ {
+ if (floorWelderQualifys != null && floorWelderQualifys.Count() > 0)
+ {
+ if (wmeCodes.Count() <= 1) // 一种焊接方法
+ {
+ canSave = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
+ }
+ else // 大于一种焊接方法,如氩电联焊
+ {
+ canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
+ }
+ }
+ }
+ // 打底和盖面焊工不同
+ else
+ {
+ bool isok1 = false;
+ bool isok2 = false;
- // if (wmeCodes.Count() <= 1) // 一种焊接方法
- // {
- // if (floorWelderQualifys != null && floorWelderQualifys.Count() > 0)
- // {
- // isok1 = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
- // }
- // if (cellWelderQualifys != null && cellWelderQualifys.Count() > 0)
- // {
- // isok2 = IsOK(cellWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
- // }
- // if (isok1 && isok2)
- // {
- // canSave = true;
- // }
- // }
- // else
- // {
- // canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
- // }
- // }
- // }
- // else
- // {
- // canSave = true;
- // }
+ if (wmeCodes.Count() <= 1) // 一种焊接方法
+ {
+ if (floorWelderQualifys != null && floorWelderQualifys.Count() > 0)
+ {
+ isok1 = IsOK(floorWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
+ }
+ if (cellWelderQualifys != null && cellWelderQualifys.Count() > 0)
+ {
+ isok2 = IsOK(cellWelderQualifys, wmeCodes[0], location, weldTypeGroup, ste, dia, sch);
+ }
+ if (isok1 && isok2)
+ {
+ canSave = true;
+ }
+ }
+ else
+ {
+ canSave = TwoWmeIsOK(floorWelderQualifys, cellWelderQualifys, wmeCodes[0], wmeCodes[1], location, weldTypeGroup, ste, dia, sch);
+ }
+ }
+ }
+ else
+ {
+ canSave = true;
+ }
- // if (canSave == false)
- // {
- // eventArg = eventArg + jot.WeldJointCode + ",";
- // }
- //}
+ if (canSave == false)
+ {
+ eventArg = eventArg + jot.WeldJointCode + ",";
+ }
+ }
#endregion
#region 生成管线的随机数 不用了
@@ -725,7 +718,12 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
//}
#endregion
- if (!string.IsNullOrEmpty(errorCheck))
+ if (!string.IsNullOrEmpty(errorInfos))
+ {
+ ShowNotify(errorInfos, MessageBoxIcon.Warning, 10000);
+ return;
+ }
+ else if (!string.IsNullOrEmpty(errorCheck))
{
errorCheck = errorCheck + "请更正后再提交保存";
ShowNotify(errorCheck, MessageBoxIcon.Warning, 10000);
diff --git a/HJGL/Model/Model.cs b/HJGL/Model/Model.cs
index 8841de2..7de5b22 100644
--- a/HJGL/Model/Model.cs
+++ b/HJGL/Model/Model.cs
@@ -22510,12 +22510,12 @@ namespace Model
private string _DetectionStandard;
+ private string _Tabler;
+
private string _Remark;
private System.Nullable _CreatedTime;
- private string _Tabler;
-
#region 可扩展性方法定义
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
@@ -22534,12 +22534,12 @@ namespace Model
partial void OnUnitIdChanged();
partial void OnDetectionStandardChanging(string value);
partial void OnDetectionStandardChanged();
+ partial void OnTablerChanging(string value);
+ partial void OnTablerChanged();
partial void OnRemarkChanging(string value);
partial void OnRemarkChanged();
partial void OnCreatedTimeChanging(System.Nullable value);
partial void OnCreatedTimeChanged();
- partial void OnTablerChanging(string value);
- partial void OnTablerChanged();
#endregion
public PMI_Delegation()
@@ -22607,7 +22607,7 @@ namespace Model
}
}
- [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")]
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string ProjectId
{
get
@@ -22687,6 +22687,26 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Tabler", DbType="NVarChar(50)")]
+ public string Tabler
+ {
+ get
+ {
+ return this._Tabler;
+ }
+ set
+ {
+ if ((this._Tabler != value))
+ {
+ this.OnTablerChanging(value);
+ this.SendPropertyChanging();
+ this._Tabler = value;
+ this.SendPropertyChanged("Tabler");
+ this.OnTablerChanged();
+ }
+ }
+ }
+
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remark", DbType="NVarChar(255)")]
public string Remark
{
@@ -22727,26 +22747,6 @@ namespace Model
}
}
- [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Tabler", DbType="NVarChar(50)")]
- public string Tabler
- {
- get
- {
- return this._Tabler;
- }
- set
- {
- if ((this._Tabler != value))
- {
- this.OnTablerChanging(value);
- this.SendPropertyChanging();
- this._Tabler = value;
- this.SendPropertyChanged("Tabler");
- this.OnTablerChanged();
- }
- }
- }
-
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
@@ -22786,10 +22786,10 @@ namespace Model
private int _Status;
- private string _ReportNo;
-
private System.Nullable _CheckTime;
+ private string _ReportNo;
+
private System.Nullable _ReportTime;
private string _WorkAreaId;
@@ -22810,10 +22810,10 @@ namespace Model
partial void OnAcceptanceChanged();
partial void OnStatusChanging(int value);
partial void OnStatusChanged();
- partial void OnReportNoChanging(string value);
- partial void OnReportNoChanged();
partial void OnCheckTimeChanging(System.Nullable value);
partial void OnCheckTimeChanged();
+ partial void OnReportNoChanging(string value);
+ partial void OnReportNoChanged();
partial void OnReportTimeChanging(System.Nullable value);
partial void OnReportTimeChanged();
partial void OnWorkAreaIdChanging(string value);
@@ -22925,7 +22925,7 @@ namespace Model
}
}
- [global::System.Data.Linq.Mapping.ColumnAttribute(Name="status", Storage="_Status", DbType="Int NOT NULL")]
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="Int NOT NULL")]
public int Status
{
get
@@ -22945,26 +22945,6 @@ namespace Model
}
}
- [global::System.Data.Linq.Mapping.ColumnAttribute(Name="reportNo", Storage="_ReportNo", DbType="NVarChar(50)")]
- public string ReportNo
- {
- get
- {
- return this._ReportNo;
- }
- set
- {
- if ((this._ReportNo != value))
- {
- this.OnReportNoChanging(value);
- this.SendPropertyChanging();
- this._ReportNo = value;
- this.SendPropertyChanged("ReportNo");
- this.OnReportNoChanged();
- }
- }
- }
-
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="checkTime", Storage="_CheckTime", DbType="DateTime")]
public System.Nullable CheckTime
{
@@ -22985,6 +22965,26 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Name="reportNo", Storage="_ReportNo", DbType="NVarChar(50)")]
+ public string ReportNo
+ {
+ get
+ {
+ return this._ReportNo;
+ }
+ set
+ {
+ if ((this._ReportNo != value))
+ {
+ this.OnReportNoChanging(value);
+ this.SendPropertyChanging();
+ this._ReportNo = value;
+ this.SendPropertyChanged("ReportNo");
+ this.OnReportNoChanged();
+ }
+ }
+ }
+
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="reportTime", Storage="_ReportTime", DbType="DateTime")]
public System.Nullable ReportTime
{
@@ -39579,8 +39579,6 @@ namespace Model
private string _ProjectId;
- private System.Nullable _IsPMI;
-
private string _PipelineCode;
private string _PipelineId;
@@ -39711,22 +39709,6 @@ namespace Model
}
}
- [global::System.Data.Linq.Mapping.ColumnAttribute(Name="isPMI", Storage="_IsPMI", DbType="Bit")]
- public System.Nullable IsPMI
- {
- get
- {
- return this._IsPMI;
- }
- set
- {
- if ((this._IsPMI != value))
- {
- this._IsPMI = value;
- }
- }
- }
-
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PipelineCode", DbType="NVarChar(100)")]
public string PipelineCode
{
@@ -41735,6 +41717,8 @@ namespace Model
private string _PipingClassCode;
+ private string _PIPClassCode;
+
private string _WeldingDate;
private System.Nullable _IsCancel;
@@ -41749,8 +41733,6 @@ namespace Model
private string _DetectionType;
- private string _PIPClassCode;
-
private string _PageNum;
public View_Pipeline_WeldJoint()
@@ -42845,6 +42827,22 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PIPClassCode", DbType="NVarChar(50)")]
+ public string PIPClassCode
+ {
+ get
+ {
+ return this._PIPClassCode;
+ }
+ set
+ {
+ if ((this._PIPClassCode != value))
+ {
+ this._PIPClassCode = value;
+ }
+ }
+ }
+
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WeldingDate", DbType="VarChar(100)")]
public string WeldingDate
{
@@ -42957,22 +42955,6 @@ namespace Model
}
}
- [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PIPClassCode", DbType="NVarChar(50)")]
- public string PIPClassCode
- {
- get
- {
- return this._PIPClassCode;
- }
- set
- {
- if ((this._PIPClassCode != value))
- {
- this._PIPClassCode = value;
- }
- }
- }
-
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageNum", DbType="NVarChar(10)")]
public string PageNum
{
@@ -47536,7 +47518,7 @@ namespace Model
}
}
- [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WelderIds", DbType="VarChar(1000)")]
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WelderIds", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)]
public string WelderIds
{
get