ZHJA_HJGL/HJGL_ZH/FineUIPro.Web/YLRQ/ConstructionManagement/WeldingManagementBatchEdit....

222 lines
9.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.YLRQ.ConstructionManagement
{
public partial class WeldingManagementBatchEdit : PageBase
{
/// <summary>
/// 项目主键
/// </summary>
private string ProjectId
{
get { return (string)ViewState["ProjectId"]; }
set { ViewState["ProjectId"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ProjectId = Request.Params["ProjectId"];
LoadData();
}
}
/// <summary>
/// 首次加载绑定
/// </summary>
public void LoadData()
{
///材质1
this.ddlTextureMaterial1.DataTextField = "STE_Code";
this.ddlTextureMaterial1.DataValueField = "STE_ID";
this.ddlTextureMaterial1.DataSource = BLL.HJGL_MaterialService.GetSteelList();
this.ddlTextureMaterial1.DataBind();
Funs.FineUIPleaseSelect(this.ddlTextureMaterial1);
///材质2
this.ddlTextureMaterial2.DataTextField = "STE_Code";
this.ddlTextureMaterial2.DataValueField = "STE_ID";
this.ddlTextureMaterial2.DataSource = BLL.HJGL_MaterialService.GetSteelList();
this.ddlTextureMaterial2.DataBind();
Funs.FineUIPleaseSelect(this.ddlTextureMaterial2);
///坡口类型
this.ddlGrooveType.DataTextField = "JST_Name";
this.ddlGrooveType.DataValueField = "JST_ID";
this.ddlGrooveType.DataSource = BLL.HJGL_GrooveService.GetSlopeTypeNameList();
this.ddlGrooveType.DataBind();
Funs.FineUIPleaseSelect(this.ddlGrooveType);
///创建人
this.drpCreate.DataTextField = "UserName";
this.drpCreate.DataValueField = "UserId";
this.drpCreate.DataSource = BLL.Sys_UserService.GetUserList();
this.drpCreate.DataBind();
Funs.FineUIPleaseSelect(this.drpCreate);
this.drpCreate.SelectedValue = this.CurrUser.UserId;
//施工单位
this.ddlUnit.DataTextField = "UnitName";
this.ddlUnit.DataValueField = "UnitId";
this.ddlUnit.DataSource = Funs.DB.View_Common_Project_UnitList.Where(p => p.ProjectId == this.ProjectId && p.UnitType.Contains("4")).ToList();
this.ddlUnit.DataBind();
Funs.FineUIPleaseSelect(this.ddlUnit);
}
/// <summary>
/// 提交
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
try
{
if (this.ddlTextureMaterial1.SelectedValue == BLL.Const._Null)
{
Alert.ShowInTop("请选择材质1", MessageBoxIcon.Warning);
return;
}
if (this.ddlTextureMaterial2.SelectedValue == BLL.Const._Null)
{
Alert.ShowInTop("请选择材质2", MessageBoxIcon.Warning);
return;
}
if (this.ddlGrooveType.SelectedValue == BLL.Const._Null)
{
Alert.ShowInTop("请选择坡口类型!", MessageBoxIcon.Warning);
return;
}
if (this.ddlUnit.SelectedValue == BLL.Const._Null)
{
Alert.ShowInTop("请选择施工单位!", MessageBoxIcon.Warning);
return;
}
if (!IsInt(this.txtStart.Text.Trim()))
{
Alert.ShowInTop("开始编号非数字!", MessageBoxIcon.Warning);
return;
}
if (!IsInt(this.txtEnd.Text.Trim()))
{
Alert.ShowInTop("结束编号非数字!", MessageBoxIcon.Warning);
return;
}
int startInt = Funs.GetNewIntOrZero(this.txtStart.Text.Trim());
int endInt = Funs.GetNewIntOrZero(this.txtEnd.Text.Trim());
if (endInt < startInt)
{
Alert.ShowInTop("起编号应小于等于止编号!", MessageBoxIcon.Warning);
return;
}
List<PV_WeldInformation> woldInfos = new List<PV_WeldInformation>();
for (int i = startInt; i <= endInt; i++)
{
var sAddStr = this.txtStart.Text.Trim().Replace(startInt.ToString(), "");
var eAddStr = this.txtEnd.Text.Trim().Replace(endInt.ToString(), "");
PV_WeldInformation woldInfo = new PV_WeldInformation();
woldInfo.ProjectId = this.ProjectId;
woldInfo.TextureMaterial1 = ddlTextureMaterial1.SelectedValue;
woldInfo.TextureMaterial2 = ddlTextureMaterial2.SelectedValue;
woldInfo.WeldLength = txtWeldLength.Text;
woldInfo.WeldUnit = int.Parse(ddlWeldUnit.SelectedValue);
woldInfo.GrooveType = ddlGrooveType.SelectedValue;
woldInfo.Thickness = txtThickness.Text;
woldInfo.HeatTreatmentType = ddlHeatTreatmentType.Values.Length > 0 ? string.Join("|", ddlHeatTreatmentType.Values) : null;
woldInfo.CreateId = drpCreate.SelectedValue;
woldInfo.CreateTime = DateTime.Now;
woldInfo.WeldingId = Guid.NewGuid().ToString();
var code = i == endInt ? eAddStr + i.ToString() : sAddStr + i.ToString();
woldInfo.WeldingCode = string.Format("{0}{1}", txtWeldingCode.Text, code);
woldInfo.UnitId = ddlUnit.SelectedValue;
if (ddlWeldUnit.SelectedValue == "1")
{
woldInfo.JointDesc = $"{woldInfo.WeldLength}x{woldInfo.Thickness}";
}
else
{
woldInfo.JointDesc = $"Φ{woldInfo.WeldLength}x{woldInfo.Thickness}";
}
woldInfos.Add(woldInfo);
}
if (Funs.DB.PV_WeldInformation.Count(p => woldInfos.ConvertAll(x => x.WeldingCode).Contains(p.WeldingCode) && p.ProjectId == this.ProjectId) > 0)
{
Alert.ShowInTop("焊缝编号已存在!", MessageBoxIcon.Warning);
return;
}
Funs.DB.PV_WeldInformation.InsertAllOnSubmit(woldInfos);
BLL.Sys_LogService.AddLog(BLL.Const.System_4, this.CurrUser.Account, this.CurrUser.UserId, "批量添加焊缝信息!");
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
ShowNotify("提交成功!", MessageBoxIcon.Success);
}
catch (Exception ex)
{
Alert.ShowInTop(ex.Message, MessageBoxIcon.Warning);
return;
}
}
/// <summary>
/// 引用
/// </summary>
protected void btnCopy_Click(object sender, EventArgs e)
{
var woldInfo = Funs.DB.PV_WeldInformation.FirstOrDefault(p => p.WeldingCode == txtWeldingCodeS.Text.Trim());
if (woldInfo != null)
{
ddlTextureMaterial1.SelectedValue = woldInfo.TextureMaterial1;
ddlTextureMaterial2.SelectedValue = woldInfo.TextureMaterial2;
txtWeldLength.Text = woldInfo.WeldLength;
ddlWeldUnit.SelectedValue = woldInfo.WeldUnit != null ? woldInfo.WeldUnit.ToString() : "1";
ddlGrooveType.SelectedValue = woldInfo.GrooveType;
txtThickness.Text = woldInfo.Thickness;
ddlUnit.SelectedValue = woldInfo.UnitId;
if (!string.IsNullOrEmpty(woldInfo.HeatTreatmentType))
{
string[] proessTypes = woldInfo.HeatTreatmentType.Split('|');
this.ddlHeatTreatmentType.Values = proessTypes;
}
}
}
/// <summary>
/// 材质1
/// </summary>
protected void ddlTextureMaterial1_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.ddlTextureMaterial1.SelectedValue != BLL.Const._Null)
{
ddlTextureMaterial2.SelectedValue = ddlTextureMaterial1.SelectedValue;
}
}
/// <summary>
/// 判断是否为数字
/// </summary>
/// <returns></returns>
public bool IsInt(string value)
{
var result = true;
try
{
Convert.ToInt32(value);
}
catch (Exception ex)
{
result = false;
}
return result;
}
}
}