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

View File

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

View File

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

View File

@ -342,7 +342,28 @@ namespace FineUIPro.Web.PublicInfo.WPQ
string wpsId = Grid1.SelectedRowID;
var wps=BLL.WPQListServiceService.GetWPQById(wpsId);
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)
{
string testWelder = string.Empty;
@ -354,14 +375,81 @@ namespace FineUIPro.Web.PublicInfo.WPQ
{
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+"|";
break;
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)
{
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)
{
@ -370,6 +458,9 @@ namespace FineUIPro.Web.PublicInfo.WPQ
Funs.DB.SubmitChanges();
}
}
BindGrid();
ShowNotify("所有WPS可焊焊工已匹配!", MessageBoxIcon.Success);
}
#endregion

View File

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

View File

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

View File

@ -134,14 +134,12 @@ namespace FineUIPro.Web.WelderManage
this.lblCode.Text = welder.WelderCode;
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 ,
convert(varchar,A.CreatedDate,23) as TestDate
FROM Welder_TestInfo AS A
inner join Base_WeldingMethod as B
on A.WeldMethodId=B.WeldingMethodId
inner join Base_Material as C on
A.MaterialId=C.MaterialId
WHERE A.WelderId=@WelderId";
List<SqlParameter> listStr = new List<SqlParameter>();
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 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.WeldMethodId = methodId;
model.MaterialId = materId;
model.MaterialId = weldMeatrail;
model.IsPass = isPass == "是" ? true : false;
model.ProjectId = this.CurrUser.LoginProjectId;
model.ProjectId = "0";
model.WelderId = welderId;
model.CreatedDate = DateTime.Parse(testDate);
model.Remark = remark;
@ -563,16 +561,7 @@ namespace FineUIPro.Web.WelderManage
model.isSuccess = false;
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))
{
var model = new Model.ViewModels.ImportErrorViewModel();
@ -637,17 +626,25 @@ namespace FineUIPro.Web.WelderManage
model.isSuccess = false;
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)
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "焊接材质";
model.errMsg = "焊接材质不存在";
model.isSuccess = false;
listData.Add(model);
if (!type.Contains(item))
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "焊接材质";
model.errMsg = "材质应为Fe,FeⅡ,FeⅢ,FeⅣ,其他,多个用','隔开";
model.isSuccess = false;
listData.Add(model);
break;
}
}
}
return listData;
}

View File

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

View File

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

View File

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

View File

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