2025-03-27 15:05:14 +08:00

176 lines
7.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SuperMap.RealEstate.Web.UI.WebControls;
using SuperMap.RealEstate.CoreFrameWork;
using SuperMap.RealEstate.ServiceModel;
using SuperMap.RealEstate.Utility;
using SuperMap.RealEstate.Web.UI;
using SuperMap.RealEstate.Web.Utility;
using MSB = SuperMap.RealEstate.MainTenance.Storage.Business;
using System.Data;
namespace SuperMap.RealEstate.MainTenance.Storage.Modules.Proinst
{
public partial class Equipment : SuperMap.RealEstate.Web.UI.PageValid
{
#region
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) return;
//初始化并加载列表
GridViewEx1.SelectingWithInit<Business.EQUIPMENT>(ObjectDataSource1, GridPageEx1);
//设置回车焦点按钮
SetControlClientAction(ButtonSearch);
}
#endregion
#region
protected void ButtonSearch_CallBackClick(object sender, ClientSetEventArgs e)
{
GridViewEx1.Selecting<Business.EQUIPMENT>(ObjectDataSource1, GridPageEx1);
//设置UI变化
e.SetValue(GridViewEx1);
e.SetValue(GridPageEx1);
}
#endregion
#region
protected void GridPageEx1_CallBackPageChanged(object src, ClientSetEventArgs e)
{
GridViewEx1.Pagging<Business.EQUIPMENT>(ObjectDataSource1, GridPageEx1);
//设置UI变化
e.SetValue(GridViewEx1);
}
#endregion
#region
protected void GridViewEx1_SelectMethodParameters(object sender, SelectMethodParametersArgs e)
{
//搜索选项的搜索条件过滤
if (!string.IsNullOrEmpty(TextBox_Search.Text))
e.AddOrParams(GridViewSearch1, TextBox_Search.Text);
if (EQUIPMENT_TYPE.SelectedValue != "")
{
e.AddAndParams("EQUIPMENT_TYPE", EQUIPMENT_TYPE.SelectedValue);
}
//且搜索条件
//e.AddAndParams(字段名, 值);
//或搜索条件
//e.AddOrParams(字段名, 值);
//排序
e.AddAndParams("EQUIPMENT_STATE", 0);
e.AddOrderByParams(GridViewOrderBy1);
}
#endregion
#region
protected void ButtonSeave_Click(object sender, EventArgs e)
{
bool _checked = false;//变量判断是否有项被选中
bool counttxt = false;//变量用来判断数量是否被输入
for (int j = 0; j < this.GridViewEx1.Rows.Count; j++)
{
bool check = ((CheckBoxEx)GridViewEx1.Rows[j].FindControl("Checked")).Checked;
if (check)
{
string count = ((TextBoxEx)GridViewEx1.Rows[j].Cells[5].
FindControl("TextMumber")).Text;
if (count == "")
{
counttxt = true;
}
else if (count == "0")
{
counttxt = true;
}
}
}
if (counttxt == false)
{
//循环获取被选中的行
for (int i = 0; i < this.GridViewEx1.Rows.Count; i++)
{
string EQUIPMENT_ID = GridViewEx1.DataKeys[i].Value.ToString();
bool check = ((CheckBoxEx)GridViewEx1.Rows[i].FindControl("Checked")).Checked;
if (check)
{
//当被选中时获取输入的数量并保存
MSB.EQUIPMENT _EQUIPMENT = new MSB.EQUIPMENT(Transaction);
DataTable dt = _EQUIPMENT.ExecuteDataTable(
"SELECT EQUIPMENT_TYPE FROM MAINTENANCE_STORAGE.T_EQUIPMENT WHERE EQUIPMENT_ID=" + EQUIPMENT_ID + "");
string EQUIPMENT_TYPE = dt.Rows[0][0].ToString();
string PROINST_ID = Request.QueryString["ID"].ToString().ToDecrypt();
TextBoxEx txt = (TextBoxEx)this.GridViewEx1.Rows[i].FindControl("TextMumber");
string number = txt.Text.ToString();
for (int j = 0; j < int.Parse(number); j++)
{
MSB.PROINSTDETAIL _PROINSTDETAIL = new MSB.PROINSTDETAIL(Transaction);
string sql = string.Format(
"INSERT INTO MAINTENANCE_STORAGE.T_PROINSTDETAIL VALUES" +
" (MAINTENANCE_STORAGE.SEQ_PROINSTDETAIL.nextval,'{0}','{1}','{2}'," +
"null,null,null,sysdate,null)", PROINST_ID, EQUIPMENT_ID, EQUIPMENT_TYPE);
_PROINSTDETAIL.ExecuteNonQuery(sql, null);
}
_checked = true;
}
}
if (_checked == false)
{
Alert("请选择设备!");
}
else
{
Alert("选择成功!");
string PROINST_ID = Request.QueryString["ID"].ToString();
//三级页面刷新二级页面
ExecClientScript("$('#pop-dialog-frame-GridViewEx1Page',parent.parent.document).attr('src', " +
"'/MainTenance/Modules/Proinst/ProinstDetailList.aspx?ID=" + PROINST_ID + "" +
"&PopDialogPageName=F_R_GridPageEx1&PopDialogName=GridViewEx1Page&r=0.5539873951065308')");
ClosePopDialog();
}
}
else
{
Alert("选择的设备数量不能为空和0");
counttxt = false;
}
}
#endregion
#region Gridview数据格式化
protected void GridViewEx1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
//根据业务类型格式化表头字段名
string PROINST_ID = Request.QueryString["ID"].ToString();
MSB.PROINST _PROINST = new MSB.PROINST(Transaction);
DataTable dt = _PROINST.ExecuteDataTable(
"SELECT PROINST_TYPE FROM MAINTENANCE_STORAGE.T_PROINST WHERE PROINST_ID="+ PROINST_ID.ToDecrypt() + "");
if (dt.Rows[0][0].ToString() == "2000")
{
e.Row.Cells[5].Text = "出库数量";
}
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
//循环格式化设备类型字段
foreach (ListItemEx it in EQUIPMENT_TYPE.Items)
{
if (it.Value == e.Row.Cells[2].Text)
{
e.Row.Cells[2].Text = it.Text;
break;
}
}
}
}
#endregion
}
}