This commit is contained in:
jackchenyang 2024-05-26 08:28:26 +08:00
commit d2a7ce4d35
10 changed files with 494 additions and 325 deletions

View File

@ -30,8 +30,8 @@
</f:Button>
<f:Button ID="btnDownLoad" runat="server" Text="下载模板" Icon="ApplicationGo" ToolTip="下载模板" OnClick="btnDownLoad_Click">
</f:Button>
<%--<f:Button ID="btnOut" Icon="Pencil" runat="server" Text="导出" ToolTip="导出错误列表" ValidateForms="SimpleForm1"
OnClick="btnOut_Click" Hidden="true"></f:Button>--%>
<f:Button ID="btnOut" Icon="Pencil" runat="server" Text="导出" ToolTip="导出错误列表"
EnableAjax="false" DisableControlBeforePostBack="false" OnClick="btnOut_Click" ></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
@ -63,7 +63,7 @@
<f:FormRow>
<Items>
<f:Grid ID="Grid1" ShowBorder="true" Hidden="true" ShowHeader="false" Title="委托单导入错误日志" runat="server" EnableCollapse="false"
DataKeyNames="ID" PageSize="100" AllowPaging="true">
DataKeyNames="ID" PageSize="100" AllowPaging="true" Height="560px">
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="RowID" Width="80px" DataField="RowID" HeaderText="行号" />
@ -77,7 +77,7 @@
<f:RenderField ColumnID="UnitCode" MinWidth="80" DataField="UnitCode" HeaderText="检测单位编号" />
<f:RenderField ColumnID="SurfaceState" MinWidth="80" DataField="SurfaceState" HeaderText="表面状态" />
<f:RenderField ColumnID="Opportunity" MinWidth="80" DataField="Opportunity" HeaderText="检测时机" />
<f:TemplateField HeaderText="错误原因" MinWidth="500">
<f:TemplateField HeaderText="错误原因" MinWidth="500" ColumnID="Remark">
<ItemTemplate>
<asp:Label ID="lablRemark" runat="server" Text='<%#Eval("Remark") %>' ForeColor="Red"></asp:Label>
</ItemTemplate>

View File

@ -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
/// 错误集合
/// </summary>
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<Model.TrustBatchImportErrorLog> logListData = new List<Model.TrustBatchImportErrorLog>();
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
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
}
/// <summary>
/// 导出方法
/// </summary>
/// <param name="grid"></param>
/// <returns></returns>
private string GetGridTableHtml(Grid grid)
{
StringBuilder sb = new StringBuilder();
grid.PageSize = 10000;
BindGrid1(this.BatchCode);
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
sb.AppendFormat("<td>{0}</td>", column.HeaderText);
}
sb.Append("</tr>");
foreach (GridRow row in grid.Rows)
{
sb.Append("<tr>");
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("<td>{0}</td>", html);
}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
/// <summary>

View File

@ -77,6 +77,15 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
/// </remarks>
protected global::FineUIPro.Button btnDownLoad;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// fuAttachUrl 控件。
/// </summary>

View File

@ -227,7 +227,7 @@
</f:Window>
<f:Window ID="Window4" Title="委托单导入" Hidden="true" EnableIFrame="true"
EnableMaximize="true" Target="Parent" EnableResize="true" runat="server" IsModal="false" OnClose="Window4_Close"
CloseAction="HidePostBack" Width="1200px" Height="640px">
CloseAction="HidePostBack" Width="1300px" Height="760px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuCancel" OnClick="btnMenuCancel_Click" EnablePostBack="true"

View File

@ -199,7 +199,7 @@
<f:Label ID="ddlReportCode" Label="<%$ Resources:Lan,DailyNumber %>" runat="server"
LabelWidth="130px">
</f:Label>
<f:Label ID="txtReportDate" Label="<%$ Resources:Lan,DailyDate %>" runat="server"
<f:Label ID="txtWeldingDate" Label="<%$ Resources:Lan,WeldingDate %>" runat="server"
LabelWidth="130px">
</f:Label>
<f:Label ID="ddlJointStatus" Label="<%$ Resources:Lan,WeldingJointStatus %>" runat="server"

View File

@ -180,7 +180,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
if (dReport != null)
{
this.ddlReportCode.Text = dReport.WeldingDailyCode;
this.txtReportDate.Text = string.Format("{0:yyyy-MM-dd}", dReport.WeldingDate);
this.txtWeldingDate.Text = string.Format("{0:yyyy-MM-dd}", dReport.WeldingDate);
this.txtBackingWelder.Text = jointInfo.BackingWelderCode;
this.txtBackingWelderName.Text = jointInfo.BackingWelderName;
this.txtCoverWelder.Text = jointInfo.CoverWelderCode;

View File

@ -474,13 +474,13 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
protected global::FineUIPro.Label ddlReportCode;
/// <summary>
/// txtReportDate 控件。
/// txtWeldingDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label txtReportDate;
protected global::FineUIPro.Label txtWeldingDate;
/// <summary>
/// ddlJointStatus 控件。

View File

@ -489,6 +489,8 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
List<string> pipelineIdList = new List<string>();
// 焊工资质不符合条件信息
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<Model.Welder_WelderQualify> 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<Model.Welder_WelderQualify> 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<Model.Welder_WelderQualify> 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<Model.Welder_WelderQualify> 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
{
// 焊工资质符全条件

View File

@ -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<Model.SpWeldingDailyItem> 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<Model.Welder_WelderQualify> 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<Model.Welder_WelderQualify> 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<Model.Welder_WelderQualify> 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<Model.Welder_WelderQualify> 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);

View File

@ -22510,12 +22510,12 @@ namespace Model
private string _DetectionStandard;
private string _Tabler;
private string _Remark;
private System.Nullable<System.DateTime> _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<System.DateTime> 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<System.DateTime> _CheckTime;
private string _ReportNo;
private System.Nullable<System.DateTime> _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<System.DateTime> value);
partial void OnCheckTimeChanged();
partial void OnReportNoChanging(string value);
partial void OnReportNoChanged();
partial void OnReportTimeChanging(System.Nullable<System.DateTime> 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<System.DateTime> 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<System.DateTime> ReportTime
{
@ -39579,8 +39579,6 @@ namespace Model
private string _ProjectId;
private System.Nullable<bool> _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<bool> 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<bool> _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