ZHJA_HJGL/HJGL_ZH/FineUIPro.Web/HJGLServer/BaseInfo/Material.aspx.cs

537 lines
21 KiB
C#

namespace FineUIPro.Web.HJGLServer.BaseInfo
{
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using BLL;
public partial class Material : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (CurrUser.Account == Const.Gly)
{
cbIsUse.Enabled = true;
}
else
{
cbIsUse.Enabled = false;
}
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
this.ddlSteType.DataTextField = "Text";
this.ddlSteType.DataValueField = "Value";
this.ddlSteType.DataSource = BLL.DropListService.HJGL_GetSteTypeList();
this.ddlSteType.DataBind();
Funs.FineUIPleaseSelect(this.ddlSteType);
this.drpSteType.DataTextField = "Text";
this.drpSteType.DataValueField = "Value";
this.drpSteType.DataSource = BLL.DropListService.HJGL_GetSteTypeList();
this.drpSteType.DataBind();
Funs.FineUIPleaseSelect(this.drpSteType);
this.drpMaterialClass.DataTextField = "MaterialClass";
this.drpMaterialClass.DataValueField = "MaterialClassId";
this.drpMaterialClass.DataSource = BLL.HJGL_MaterialClassService.GetMaterialClassList();
this.drpMaterialClass.DataBind();
Funs.FineUIPleaseSelect(this.drpMaterialClass);
this.drpMaterialGroup.DataTextField = "MaterialGroup";
this.drpMaterialGroup.DataValueField = "MaterialGroupId";
this.drpMaterialGroup.DataSource = (from x in Funs.DB.HJGL_BS_MaterialGroup orderby x.MaterialGroupCode select x).ToList();
this.drpMaterialGroup.DataBind();
Funs.FineUIPleaseSelect(this.drpMaterialGroup);
// 绑定表格
BindGrid();
}
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT Steel.STE_ID,Steel.STE_Code,Steel.STE_Name,Steel.STE_SteelType,Steel.STE_Remark,
Steel.MaterialType,Steel.MaterialGroup,MaterialClas.MaterialClass as MaterialClassName,
MaterialGroup.MaterialGroup as MaterialGroupName,Steel.HardQuaStandard,Steel.IsUse
FROM HJGL_BS_Steel AS Steel
LEFT JOIN HJGL_BS_MaterialClass AS MaterialClas ON Steel.MaterialType=MaterialClas.MaterialClassId
LEFT JOIN HJGL_BS_MaterialGroup AS MaterialGroup ON Steel.MaterialGroup=MaterialGroup.MaterialGroupId
WHERE 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.txtCode.Text.Trim()))
{
strSql += " AND STE_Code LIKE @STE_Code";
listStr.Add(new SqlParameter("@STE_Code", "%" + this.txtCode.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtName.Text.Trim()))
{
strSql += " AND STE_Name LIKE @STE_Name";
listStr.Add(new SqlParameter("@STE_Name", "%" + this.txtName.Text.Trim() + "%"));
}
if (this.drpSteType.SelectedValue != BLL.Const._Null)
{
strSql += " AND STE_SteelType = @STE_SteelType";
listStr.Add(new SqlParameter("@STE_SteelType", this.drpSteType.SelectedValue));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
protected void Grid1_RowClick(object sender, GridRowClickEventArgs e)
{
object[] keys = Grid1.DataKeys[e.RowIndex];
var q = BLL.HJGL_MaterialService.GetSteelBySteID(keys[0].ToString());
if (q.IsUse == true)
{
cbIsUse.Checked = true;
}
else
{
cbIsUse.Checked = false;
}
}
#region
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 分页下拉选择
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_FilterChange(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelete_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_MaterialMenuId, Const.BtnDelete))
{
if (judgementDelete(hfFormID.Text, true))
{
BLL.HJGL_MaterialService.DeleteSteel(hfFormID.Text);
BLL.Sys_LogService.AddLog(BLL.Const.System_2, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "删除材质信息");
// 重新绑定表格,并模拟点击[新增按钮]
BindGrid();
PageContext.RegisterStartupScript("onNewButtonClick();");
}
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
}
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_MaterialMenuId, Const.BtnDelete))
{
this.DeleteData();
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
}
/// <summary>
/// 删除方法
/// </summary>
private void DeleteData()
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
bool isShow = true;
if (Grid1.SelectedRowIndexArray.Length > 1)
{
isShow = false;
}
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
if (judgementDelete(rowID, isShow))
{
BLL.HJGL_MaterialService.DeleteSteel(rowID);
BLL.Sys_LogService.AddLog(BLL.Const.System_2, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "删除材质信息");
Alert.ShowInTop("删除完成!", MessageBoxIcon.Success);
}
}
BindGrid();
PageContext.RegisterStartupScript("onNewButtonClick();");
}
}
#endregion
#region
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_MaterialMenuId, Const.BtnModify))
{
this.EditData();
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!",MessageBoxIcon.Warning);
return;
}
string Id = Grid1.SelectedRowID;
var Material = BLL.HJGL_MaterialService.GetSteelBySteID(Id);
if (Material != null)
{
this.txtSte_Code.Text = Material.STE_Code;
this.txtSte_Name.Text = Material.STE_Name;
this.txtRemark.Text = Material.STE_Remark;
if (Material.STE_SteelType!=null)
{
this.ddlSteType.SelectedValue = Material.STE_SteelType;
}
this.drpMaterialClass.SelectedValue = Material.MaterialType;
this.drpMaterialGroup.SelectedValue = Material.MaterialGroup;
this.txtHardQuaStandard.Text = Material.HardQuaStandard;
hfFormID.Text = Id;
this.btnDelete.Enabled = true;
}
}
#endregion
#region
/// <summary>
/// 提交按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_MaterialMenuId, Const.BtnSave))
{
string strRowID = hfFormID.Text;
if (BLL.HJGL_MaterialService.IsExitSteelCode(this.txtSte_Code.Text.Trim(), strRowID))
{
Alert.ShowInTop("此材质代号已存在!", MessageBoxIcon.Warning);
return;
}
Model.HJGL_BS_Steel steel = new Model.HJGL_BS_Steel();
steel.STE_Code = this.txtSte_Code.Text.Trim();
steel.STE_Name = this.txtSte_Name.Text.Trim();
steel.STE_Remark = this.txtRemark.Text.Trim();
steel.HardQuaStandard = this.txtHardQuaStandard.Text.Trim();
if (this.ddlSteType.SelectedValue != BLL.Const._Null)
{
steel.STE_SteelType = this.ddlSteType.SelectedValue;
}
if (this.drpMaterialClass.SelectedValue != BLL.Const._Null)
{
steel.MaterialType = this.drpMaterialClass.SelectedValue;
}
if (this.drpMaterialGroup.SelectedValue != BLL.Const._Null)
{
steel.MaterialGroup = this.drpMaterialGroup.SelectedValue;
}
if (cbIsUse.Checked)
{
steel.IsUse = true;
}
else
{
steel.IsUse = false;
}
if (string.IsNullOrEmpty(strRowID))
{
BLL.HJGL_MaterialService.AddSteel(steel);
BLL.Sys_LogService.AddLog(BLL.Const.System_2, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "添加材质信息");
}
else
{
steel.STE_ID = strRowID;
BLL.HJGL_MaterialService.UpdateSteel(steel);
BLL.Sys_LogService.AddLog(BLL.Const.System_2, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "修改材质信息");
}
// 重新绑定表格,并点击当前编辑或者新增的行
BindGrid();
Alert.ShowInTop("提交成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript("onNewButtonClick();");
//PageContext.RegisterStartupScript(String.Format("F('{0}').selectRow('{1}');", Grid1.ClientID, UnitQualitySort.UnitQualitySortId));
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
deleteDoule();
}
#endregion
/// <summary>
///
/// </summary>
private void deleteDoule()
{
List<string> steIdList = new List<string>();
var steels = from x in Funs.DB.HJGL_BS_Steel select x;
foreach (var item in steels)
{
var isCodeDoule = from x in Funs.DB.HJGL_BS_Steel where x.STE_Code == item.STE_Code select x;
if (isCodeDoule.Count() > 1)
{
foreach (var itemcode in isCodeDoule)
{
if (!steIdList.Contains(itemcode.STE_ID))
{
steIdList.Add(itemcode.STE_ID);
}
}
}
}
if (steIdList.Count() > 0)
{
foreach (var item in steIdList)
{
var a = Funs.DB.HJGL_BS_MaterialCompare.FirstOrDefault(x => x.STE_ID == item);
var b = Funs.DB.HJGL_PW_IsoInfo.FirstOrDefault(x => x.STE_ID == item);
var c = Funs.DB.HJGL_WeldingProcedure_WeldingProcedure.FirstOrDefault(x => x.STE_ID1 == item || x.STE_ID2 == item);
if (a == null && b == null && c == null)
{
BLL.HJGL_MaterialService.DeleteSteel(item);
}
//else
//{
// var steel = Funs.DB.HJGL_BS_Steel.FirstOrDefault(x => x.STE_ID == item);
// if (steel != null)
// {
// var isSteelD = from x in Funs.DB.HJGL_BS_Steel where x.STE_Code == steel.STE_Code select x;
// foreach (var itemD in isSteelD)
// {
// var compare = from x in Funs.DB.HJGL_BS_MaterialCompare where x.STE_ID == itemD.STE_ID select x;
// foreach (var itemCompare in compare)
// {
// itemCompare.STE_ID = item;
// BLL.HJGL_MaterialCompareService.updateMaterialCompare(itemCompare);
// }
// var isoInfo = from x in Funs.DB.HJGL_PW_IsoInfo where x.STE_ID == itemD.STE_ID select x;
// foreach (var itemisoInfo in isoInfo)
// {
// itemisoInfo.STE_ID = item;
// BLL.HJGL_PW_IsoInfoService.UpdateIsoInfo(itemisoInfo);
// }
// var weldingProcedure = from x in Funs.DB.HJGL_WeldingProcedure_WeldingProcedure where x.STE_ID1 == itemD.STE_ID select x;
// foreach (var itemweldingProcedure in weldingProcedure)
// {
// itemweldingProcedure.STE_ID1 = item;
// BLL.HJGL_WeldingManage_WeldingProcedureService.UpdateWeldingProcedure(itemweldingProcedure);
// }
// var weldingProcedure2 = from x in Funs.DB.HJGL_WeldingProcedure_WeldingProcedure where x.STE_ID2 == itemD.STE_ID select x;
// foreach (var itemweldingProcedure2 in weldingProcedure2)
// {
// itemweldingProcedure2.STE_ID2 = item;
// BLL.HJGL_WeldingManage_WeldingProcedureService.UpdateWeldingProcedure(itemweldingProcedure2);
// }
// deleteDoule();
// }
// }
//}
}
}
}
#region
/// <summary>
/// 判断是否可以删除
/// </summary>
/// <returns></returns>
private bool judgementDelete(string id, bool isShow)
{
string content = string.Empty;
if (BLL.HJGL_PW_IsoInfoService.GetIsoInfoBySteId(id) > 0)
{
content = "管线中已经使用了该材质,不能删除!";
}
if (BLL.HJGL_PW_JointInfoService.GetJointInfoBySTEID(id) > 0)
{
content = "焊口中已经使用了该材质,不能删除!";
}
if (BLL.HJGL_PW_JointInfoService.GetJointInfoBySTEID2(id) > 0)
{
content = "焊口中已经使用了该材质,不能删除!";
}
if (BLL.HJGL_MaterialCompareService.GetMaterialCompareCountByste(id) > 0)
{
content = "材质对照表已经使用了该材质,不能删除!";
}
if (string.IsNullOrEmpty(content))
{
return true;
}
else
{
if (isShow)
{
Alert.ShowInTop(content, MessageBoxIcon.Error);
}
return false;
}
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 获取工作阶段
/// </summary>
/// <param name="WorkStage"></param>
/// <returns></returns>
protected string ConvertMaterialType(object MaterialType)
{
string name = string.Empty;
if (MaterialType != null)
{
var type = BLL.HJGL_MaterialClassService.GetMaterialClassById(MaterialType.ToString());
if (type != null)
{
name =type.MaterialClass;
}
}
return name;
}
/// <summary>
/// 获取工作阶段
/// </summary>
/// <param name="WorkStage"></param>
/// <returns></returns>
protected string ConvertMaterialGroup(object MaterialType)
{
string name = string.Empty;
if (MaterialType != null)
{
var group = BLL.HJGL_MaterialGroupService.GetMaterialGroupById(MaterialType.ToString());
if (group != null)
{
name = group.MaterialGroup;
}
}
return name;
}
#endregion
protected void drpMaterialClass_SelectedIndexChanged(object sender, EventArgs e)
{
this.drpMaterialGroup.Items.Clear();
this.drpMaterialGroup.DataTextField = "MaterialGroup";
this.drpMaterialGroup.DataValueField = "MaterialGroupId";
this.drpMaterialGroup.DataSource = BLL.HJGL_MaterialGroupService.GetMaterialGroupByMaterialClassId(this.drpMaterialClass.SelectedValue);
this.drpMaterialGroup.DataBind();
Funs.FineUIPleaseSelect(this.drpMaterialGroup);
}
}
}