This commit is contained in:
jackchenyang 2024-06-14 09:04:50 +08:00
commit d040c1b50e
12 changed files with 155 additions and 52 deletions

Binary file not shown.

View File

@ -162,7 +162,7 @@
</site> </site>
<site name="WebApi" id="2"> <site name="WebApi" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool"> <application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="E:\湛江巴斯夫\Basf_TCC7\HJGL\WebApi" /> <virtualDirectory path="/" physicalPath="E:\MyProject\ZJ_BSF\Basf_TCC7\HJGL\WebApi" />
</application> </application>
<bindings> <bindings>
<binding protocol="http" bindingInformation="*:3862:localhost" /> <binding protocol="http" bindingInformation="*:3862:localhost" />
@ -250,7 +250,7 @@
</site> </site>
<site name="FineUIPro.Web(10)" id="13"> <site name="FineUIPro.Web(10)" id="13">
<application path="/" applicationPool="Clr4IntegratedAppPool"> <application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="E:\湛江巴斯夫\Basf_TCC7\HJGL\FineUIPro.Web" /> <virtualDirectory path="/" physicalPath="E:\MyProject\ZJ_BSF\Basf_TCC7\HJGL\FineUIPro.Web" />
</application> </application>
<bindings> <bindings>
<binding protocol="http" bindingInformation="*:13960:localhost" /> <binding protocol="http" bindingInformation="*:13960:localhost" />

View File

@ -32,7 +32,7 @@ namespace BLL
{ {
return ; return ;
} }
result.WelderId = input.WelderId; //result.WelderId = input.WelderId;
result.WeldMethodId = input.WeldMethodId; result.WeldMethodId = input.WeldMethodId;
result.MaterialId = input.MaterialId; result.MaterialId = input.MaterialId;
result.Remark = input.Remark; result.Remark = input.Remark;

View File

@ -33,9 +33,12 @@
<f:Button ID="btnExport" OnClick="btnExport_Click" runat="server" Text="导出" ToolTip="导出" <f:Button ID="btnExport" OnClick="btnExport_Click" runat="server" Text="导出" ToolTip="导出"
Icon="NoteGo" EnableAjax="false" DisableControlBeforePostBack="false"> Icon="NoteGo" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button> </f:Button>
<f:Button ID="btnExtract" Text="提取可焊焊工" Icon="ChartPie" <f:Button ID="btnExtract" Text="匹配可焊焊工" Icon="ChartPie"
runat="server" OnClick="BtnExtract_Click"> runat="server" OnClick="BtnExtract_Click">
</f:Button> </f:Button>
<f:Button ID="btnBatchExtract" Text="批量匹配可焊焊工"
runat="server" OnClick="BatchExtract_Click">
</f:Button>
</Items> </Items>
</f:Toolbar> </f:Toolbar>
</Toolbars> </Toolbars>

View File

@ -342,6 +342,27 @@ namespace FineUIPro.Web.PublicInfo.WPQ
string wpsId = Grid1.SelectedRowID; string wpsId = Grid1.SelectedRowID;
var wps=BLL.WPQListServiceService.GetWPQById(wpsId); var wps=BLL.WPQListServiceService.GetWPQById(wpsId);
var welderList = from x in Funs.DB.Welder_ProjectWelder where x.ProjectId == this.CurrUser.LoginProjectId select x; var welderList = from x in Funs.DB.Welder_ProjectWelder where x.ProjectId == this.CurrUser.LoginProjectId select x;
string materialStr = string.Empty;
if (wps.MaterialId1 != null)
{
string[] matList = wps.MaterialId1.Split('|');
foreach (var matId in matList)
{
var mat = from x in Funs.DB.Base_Material where x.MaterialId == matId select x;
if (mat.Count() > 0 && !materialStr.Contains(mat.First().MaterialType))
{
materialStr += mat.First().MaterialType + ",";
}
}
}
if (materialStr != null)
{
materialStr = materialStr.Substring(0, materialStr.Length - 1);
}
string[] wpsMaterial = materialStr.Split(',');
if (welderList.Count() > 0) if (welderList.Count() > 0)
{ {
@ -354,14 +375,81 @@ namespace FineUIPro.Web.PublicInfo.WPQ
{ {
foreach (var t in welderTestList) foreach (var t in welderTestList)
{ {
if (wps.MaterialId1.Contains(t.MaterialId) && wps.WeldingMethodId != null && wps.WeldingMethodId.Contains(t.WeldMethodId) && t.IsPass == true) if (t.MaterialId != null && wps.WeldingMethodId != null)
{ {
testWelder += welder.WelderId+"|"; string[] testMaterial = t.MaterialId.Split(',');
if (wpsMaterial.All(x => testMaterial.Contains(x)) && wps.WeldingMethodId.Contains(t.WeldMethodId) && t.IsPass == true)
{
testWelder += welder.WelderId + "|";
break; break;
} }
} }
} }
}
}
if (testWelder != string.Empty)
{
testWelder = testWelder.Substring(0, testWelder.Length - 1);
wps.WelderIds = testWelder;
Funs.DB.SubmitChanges();
ShowNotify("该WPS的可焊焊工已匹配!", MessageBoxIcon.Success);
BindGrid();
}
else
{
ShowNotify("没有可匹配的焊工!", MessageBoxIcon.Success);
}
}
}
protected void BatchExtract_Click(object sender, EventArgs e)
{
var wpsList = from x in Funs.DB.WPQ_WPQList where x.ProjectId == CurrUser.LoginProjectId select x;
var welderList = from x in Funs.DB.Welder_ProjectWelder where x.ProjectId == this.CurrUser.LoginProjectId select x;
foreach (var wps in wpsList)
{
string testWelder = string.Empty;
string materialStr = string.Empty;
if (wps.MaterialId1 != null)
{
string[] matList = wps.MaterialId1.Split('|');
foreach (var matId in matList)
{
var mat = from x in Funs.DB.Base_Material where x.MaterialId == matId select x;
if (mat.Count() > 0 && !materialStr.Contains(mat.First().MaterialType))
{
materialStr += mat.First().MaterialType + ",";
}
}
}
if (materialStr != null)
{
materialStr = materialStr.Substring(0, materialStr.Length - 1);
}
string[] wpsMaterial = materialStr.Split(',');
// 焊工考试情况
foreach (var welder in welderList)
{
var welderTestList = from x in Funs.DB.Welder_TestInfo where x.WelderId == welder.WelderId select x;
if (welderTestList.Count() > 0)
{
foreach (var t in welderTestList)
{
if (t.MaterialId != null && wps.WeldingMethodId != null)
{
string[] testMaterial = t.MaterialId.Split(',');
if (wpsMaterial.All(x => testMaterial.Contains(x)) && wps.WeldingMethodId.Contains(t.WeldMethodId) && t.IsPass == true)
{
testWelder += welder.WelderId + "|";
break;
}
}
}
}
} }
if (testWelder != string.Empty) if (testWelder != string.Empty)
{ {
@ -370,6 +458,9 @@ namespace FineUIPro.Web.PublicInfo.WPQ
Funs.DB.SubmitChanges(); Funs.DB.SubmitChanges();
} }
} }
BindGrid();
ShowNotify("所有WPS可焊焊工已匹配!", MessageBoxIcon.Success);
} }
#endregion #endregion

View File

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

View File

@ -81,7 +81,7 @@
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" HeaderText="焊接方法" Locked="true"> FieldType="String" HeaderTextAlign="Center" TextAlign="Center" HeaderText="焊接方法" Locked="true">
</f:RenderField> </f:RenderField>
<f:RenderField Width="160px" ColumnID="MaterialCode" DataField="MaterialCode" SortField="MaterialCode" <f:RenderField Width="160px" ColumnID="MaterialId" DataField="MaterialId" SortField="MaterialId"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" HeaderText="焊接材质"> FieldType="String" HeaderTextAlign="Center" TextAlign="Center" HeaderText="焊接材质">
</f:RenderField> </f:RenderField>
<f:RenderField Width="150px" ColumnID="TestDate" DataField="TestDate" SortField="TestDate" <f:RenderField Width="150px" ColumnID="TestDate" DataField="TestDate" SortField="TestDate"
@ -120,7 +120,7 @@
</f:Window> </f:Window>
<f:Window ID="Window2" Title="导入错误日志" Hidden="true" EnableIFrame="true" EnableMaximize="true" <f:Window ID="Window2" Title="导入错误日志" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="top" EnableResize="true" runat="server" OnClose="Window2_Close" IsModal="true" Target="top" EnableResize="true" runat="server" OnClose="Window2_Close" IsModal="true"
Width="700" Height="420px"> Width="900" Height="520px">
</f:Window> </f:Window>
<f:Menu ID="Menu1" runat="server"> <f:Menu ID="Menu1" runat="server">

View File

@ -134,14 +134,12 @@ namespace FineUIPro.Web.WelderManage
this.lblCode.Text = welder.WelderCode; this.lblCode.Text = welder.WelderCode;
this.lblName.Text = welder.WelderName; this.lblName.Text = welder.WelderName;
} }
string strSql = @"SELECT A.*,b.WeldingMethodCode,C.MaterialCode, string strSql = @"SELECT A.*,b.WeldingMethodCode,
(case when A.IsPass=1 then '是' else '否' end ) As PassName , (case when A.IsPass=1 then '是' else '否' end ) As PassName ,
convert(varchar,A.CreatedDate,23) as TestDate convert(varchar,A.CreatedDate,23) as TestDate
FROM Welder_TestInfo AS A FROM Welder_TestInfo AS A
inner join Base_WeldingMethod as B inner join Base_WeldingMethod as B
on A.WeldMethodId=B.WeldingMethodId on A.WeldMethodId=B.WeldingMethodId
inner join Base_Material as C on
A.MaterialId=C.MaterialId
WHERE A.WelderId=@WelderId"; WHERE A.WelderId=@WelderId";
List<SqlParameter> listStr = new List<SqlParameter>(); List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@WelderId", this.tvControlItem.SelectedNodeID)); listStr.Add(new SqlParameter("@WelderId", this.tvControlItem.SelectedNodeID));
@ -384,12 +382,12 @@ namespace FineUIPro.Web.WelderManage
var welderId = Funs.DB.Welder_Welder.FirstOrDefault(t => t.WelderCode == welderCode)?.WelderId; var welderId = Funs.DB.Welder_Welder.FirstOrDefault(t => t.WelderCode == welderCode)?.WelderId;
var methodId = Funs.DB.Base_WeldingMethod.FirstOrDefault(t => t.WeldingMethodCode == weldMethod)?.WeldingMethodId; var methodId = Funs.DB.Base_WeldingMethod.FirstOrDefault(t => t.WeldingMethodCode == weldMethod)?.WeldingMethodId;
var materId = Funs.DB.Base_Material.FirstOrDefault(t => t.MaterialCode == weldMeatrail)?.MaterialId; //var materId = Funs.DB.Base_Material.FirstOrDefault(t => t.MaterialCode == weldMeatrail)?.MaterialId;
model.Id = SQLHelper.GetNewID(typeof(Model.Welder_TestInfo)); model.Id = SQLHelper.GetNewID(typeof(Model.Welder_TestInfo));
model.WeldMethodId = methodId; model.WeldMethodId = methodId;
model.MaterialId = materId; model.MaterialId = weldMeatrail;
model.IsPass = isPass == "是" ? true : false; model.IsPass = isPass == "是" ? true : false;
model.ProjectId = this.CurrUser.LoginProjectId; model.ProjectId = "0";
model.WelderId = welderId; model.WelderId = welderId;
model.CreatedDate = DateTime.Parse(testDate); model.CreatedDate = DateTime.Parse(testDate);
model.Remark = remark; model.Remark = remark;
@ -563,16 +561,7 @@ namespace FineUIPro.Web.WelderManage
model.isSuccess = false; model.isSuccess = false;
listData.Add(model); listData.Add(model);
} }
if (string.IsNullOrEmpty(weldMeatrail))
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "焊接材质";
model.errMsg = "焊接材质不能为空";
model.isSuccess = false;
listData.Add(model);
}
if (string.IsNullOrEmpty(isPass)) if (string.IsNullOrEmpty(isPass))
{ {
var model = new Model.ViewModels.ImportErrorViewModel(); var model = new Model.ViewModels.ImportErrorViewModel();
@ -637,18 +626,26 @@ namespace FineUIPro.Web.WelderManage
model.isSuccess = false; model.isSuccess = false;
listData.Add(model); listData.Add(model);
} }
var isAnyMeaterail = Funs.DB.Base_Material.Any(t => t.MaterialCode == weldMeatrail);
if (!isAnyMeaterail) string type = "Fe,FeⅡ,FeⅢ,FeⅣ,其他";
var isAnyMeaterail = weldMeatrail.Split(',');
foreach (var item in isAnyMeaterail)
{
if (!type.Contains(item))
{ {
var model = new Model.ViewModels.ImportErrorViewModel(); var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i; model.rowId = i;
model.createdTime = DateTime.Now; model.createdTime = DateTime.Now;
model.columnName = "焊接材质"; model.columnName = "焊接材质";
model.errMsg = "焊接材质不存在"; model.errMsg = "材质应为Fe,FeⅡ,FeⅢ,FeⅣ,其他,多个用','隔开";
model.isSuccess = false; model.isSuccess = false;
listData.Add(model); listData.Add(model);
break;
} }
} }
}
return listData; return listData;
} }

View File

@ -28,9 +28,8 @@
</f:FormRow> </f:FormRow>
<f:FormRow> <f:FormRow>
<Items> <Items>
<f:DropDownList ID="drpMaterial" Required="true" ShowRedStar="true" Label="焊接材质" EmptyText="请选择" runat="server"> <f:DropDownList ID="drpMaterialType" Label="焊接材质" EnableMultiSelect="true" EnableCheckBoxSelect="true"
runat="server" LabelAlign="right"></f:DropDownList>
</f:DropDownList>
</Items> </Items>
</f:FormRow> </f:FormRow>

View File

@ -33,7 +33,7 @@ namespace FineUIPro.Web.WelderManage
return; return;
} }
drpIsPass.SelectedValue = result.IsPass.ToString(); drpIsPass.SelectedValue = result.IsPass.ToString();
drpMaterial.SelectedValue=result.MaterialId.ToString(); drpMaterialType.SelectedValueArray=result.MaterialId.Split(',');
drpWeldMethod.SelectedValue = result.WeldMethodId.ToString(); drpWeldMethod.SelectedValue = result.WeldMethodId.ToString();
txtCheckDate.Text = result.CreatedDate.Value.ToString("yyyy-MM-dd"); txtCheckDate.Text = result.CreatedDate.Value.ToString("yyyy-MM-dd");
txtRemark.Text = result.Remark.ToString(); txtRemark.Text = result.Remark.ToString();
@ -57,12 +57,11 @@ namespace FineUIPro.Web.WelderManage
drpWeldMethod.DataBind(); drpWeldMethod.DataBind();
drpWeldMethod.Items.Insert(0, new ListItem("请选择", "")); drpWeldMethod.Items.Insert(0, new ListItem("请选择", ""));
var materList = Funs.DB.Base_Material.OrderBy(t=>t.MaterialCode).ToList(); this.drpMaterialType.DataTextField = "Text";
drpMaterial.DataSource= materList; this.drpMaterialType.DataValueField = "Value";
drpMaterial.DataTextField = "MaterialCode"; this.drpMaterialType.DataSource = BLL.DropListService.MaterialTypeList();
drpMaterial.DataValueField = "MaterialId"; this.drpMaterialType.DataBind();
drpMaterial.DataBind(); Funs.FineUIPleaseSelect(this.drpMaterialType);
drpMaterial.Items.Insert(0, new ListItem("请选择", ""));
} }
protected void btnSave_Click(object sender, EventArgs e) protected void btnSave_Click(object sender, EventArgs e)
{ {
@ -88,15 +87,20 @@ namespace FineUIPro.Web.WelderManage
var input = new Model.Welder_TestInfo(); var input = new Model.Welder_TestInfo();
input.CreatedDate = System.Convert.ToDateTime(txtCheckDate.Text); input.CreatedDate = System.Convert.ToDateTime(txtCheckDate.Text);
input.ProjectId = this.CurrUser.LoginProjectId; input.ProjectId = "0";
input.WeldMethodId = drpWeldMethod.SelectedValue; input.WeldMethodId = drpWeldMethod.SelectedValue;
input.WelderId = this.welderId;
input.MaterialId = drpMaterial.SelectedValue; if (drpMaterialType.SelectedValue != Const._Null)
{
input.MaterialId = string.Join(",", drpMaterialType.SelectedValueArray);
}
input.Remark = txtRemark.Text.Trim(); input.Remark = txtRemark.Text.Trim();
input.IsPass = drpIsPass.SelectedValue == "是" ? true : false; input.IsPass = drpIsPass.SelectedValue == "是" ? true : false;
if (string.IsNullOrEmpty(this.Id)) if (string.IsNullOrEmpty(this.Id))
{ {
input.WelderId = this.welderId;
BLL.WelderTestService.Add(input); BLL.WelderTestService.Add(input);
} }
else else

View File

@ -69,13 +69,13 @@ namespace FineUIPro.Web.WelderManage
protected global::FineUIPro.DropDownList drpWeldMethod; protected global::FineUIPro.DropDownList drpWeldMethod;
/// <summary> /// <summary>
/// drpMaterial 控件。 /// drpMaterialType 控件。
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// 自动生成的字段。 /// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks> /// </remarks>
protected global::FineUIPro.DropDownList drpMaterial; protected global::FineUIPro.DropDownList drpMaterialType;
/// <summary> /// <summary>
/// txtCheckDate 控件。 /// txtCheckDate 控件。

View File

@ -16,7 +16,7 @@
<f:RenderField ColumnID="rowId" MinWidth="80" DataField="rowId" HeaderText="行号" /> <f:RenderField ColumnID="rowId" MinWidth="80" DataField="rowId" HeaderText="行号" />
<f:RenderField ColumnID="columnName" MinWidth="80" DataField="columnName" HeaderText="列名称" /> <f:RenderField ColumnID="columnName" MinWidth="80" DataField="columnName" HeaderText="列名称" />
<f:TemplateField MinWidth="200" HeaderText="错误原因"> <f:TemplateField MinWidth="400" HeaderText="错误原因">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lablRemark" runat="server" Text='<%#Eval("errMsg") %>' ForeColor="Red"></asp:Label> <asp:Label ID="lablRemark" runat="server" Text='<%#Eval("errMsg") %>' ForeColor="Red"></asp:Label>
</ItemTemplate> </ItemTemplate>