From e1a0c2d934a85c40f3abd31e2b02edbaf2b3af7c Mon Sep 17 00:00:00 2001 From: shecs <408299694@qq.com> Date: Sat, 25 May 2024 17:32:16 +0800 Subject: [PATCH] 11 --- HJGL/.vs/HJGL/v17/.suo | Bin 1370624 -> 1391104 bytes .../WeldingManage/JointInfoEdit.aspx | 2 +- .../WeldingManage/JointInfoEdit.aspx.cs | 2 +- .../JointInfoEdit.aspx.designer.cs | 4 +- .../WeldingManage/WeldReport.aspx.cs | 214 ++++++++--------- .../WeldingManage/WeldReportEdit.aspx.cs | 224 +++++++++--------- 6 files changed, 217 insertions(+), 229 deletions(-) diff --git a/HJGL/.vs/HJGL/v17/.suo b/HJGL/.vs/HJGL/v17/.suo index f90389382656426e9caa429325abd1dcde698906..4deefdbdacd554d964f6b119e2245991c7cb4c8e 100644 GIT binary patch delta 15989 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 J-4=OJ-aq!P8tDK4 diff --git a/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/JointInfoEdit.aspx b/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/JointInfoEdit.aspx index 9a42eb8..2969d39 100644 --- a/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/JointInfoEdit.aspx +++ b/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/JointInfoEdit.aspx @@ -199,7 +199,7 @@ - - /// txtReportDate 控件。 + /// txtWeldingDate 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - 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);