CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/TestRun/DriverPrepare/SchemePlanItemSelect.aspx.cs

187 lines
7.3 KiB
C#

using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.TestRun.DriverPrepare
{
public partial class SchemePlanItemSelect : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.hdType.Text = this.rblType2.SelectedValue;
this.BindGrid();
}
}
#endregion
protected void TextBox_TextChanged(object sender, EventArgs e)
{
if (this.rblType.SelectedValue == "合成氨尿素项目")
{
this.Toolbar2.Hidden = false;
}
else
{
this.Toolbar2.Hidden = true;
}
this.BindGrid();
this.hdType.Text = this.rblType2.SelectedValue;
}
#region
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid()
{
string[] selectRowId = Grid1.SelectedRowIDArray;
foreach (GridRow row in Grid1.Rows)
{
if (selectRowId.Contains(row.RowID))
{
if (this.rblType.SelectedValue == "合成氨尿素项目")
{
hdNames.Text += row.DataKeys[1].ToString() + "|" + this.hdType.Text + ",";
}
else
{
hdNames.Text += row.DataKeys[1].ToString() + ",";
}
}
}
string strSql = @"SELECT *
FROM dbo.DriverPrepare_SchemePlanItem
WHERE SchemePlanId=@SchemePlanId";
List<SqlParameter> listStr = new List<SqlParameter>();
if (this.rblType.SelectedValue == "合成氨尿素项目")
{
listStr.Add(new SqlParameter("@SchemePlanId", this.rblType2.SelectedValue));
}
else
{
listStr.Add(new SqlParameter("@SchemePlanId", this.rblType.SelectedValue));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
Model.DriverPrepare_SchemePlan plan = BLL.DriverPrepareSchemePlanService.GetDriverPlanByProjectId(this.CurrUser.LoginProjectId);
if (plan != null)
{
var items = BLL.DriverPrepareSchemePlanItemService.GetSchemePlanItemByschemePlanId(plan.SchemePlanId);
List<string> nameLists = items.Select(x => x.SolutionName).ToList();
List<string> ids = new List<string>();
foreach (GridRow row in Grid1.Rows)
{
if (nameLists.Contains(row.DataKeys[1].ToString()))
{
ids.Add(row.RowID);
}
}
this.Grid1.SelectedRowIDArray = ids.ToArray();
}
}
#endregion
#region
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 确定按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAccept_Click(object sender, EventArgs e)
{
string schemePlanId = Request.Params["SchemePlanId"];
Model.DriverPrepare_SchemePlan newData = new Model.DriverPrepare_SchemePlan();
newData.SchemePlanCode = "001";
newData.SchemePlanName = "开车方案编制计划";
newData.CompileMan = this.CurrUser.UserId;
newData.CompileDate = DateTime.Now;
newData.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(schemePlanId))
{
newData.SchemePlanId = schemePlanId;
BLL.DriverPrepareSchemePlanService.UpdateDriverPrepareDriverPlan(newData);
}
else
{
newData.SchemePlanId = SQLHelper.GetNewID(typeof(Model.DriverPrepare_SchemePlan));
BLL.DriverPrepareSchemePlanService.AddDriverPrepareDriverPlan(newData);
}
var items = BLL.DriverPrepareSchemePlanItemService.GetSchemePlanItemByschemePlanId(newData.SchemePlanId);
List<string> nameLists = items.Select(x => x.SolutionName).ToList();
string[] selectRowId = Grid1.SelectedRowIDArray;
foreach (GridRow row in Grid1.Rows)
{
if (selectRowId.Contains(row.RowID) && !nameLists.Contains(row.DataKeys[1].ToString()) && !hdNames.Text.Contains(row.DataKeys[1].ToString()))
{
Model.DriverPrepare_SchemePlanItem newItem = new Model.DriverPrepare_SchemePlanItem();
newItem.SchemePlanItemId = SQLHelper.GetNewID();
newItem.SchemePlanId = newData.SchemePlanId;
newItem.SolutionName = row.DataKeys[1].ToString();
newItem.SortIndex = row.RowIndex + 1;
if (this.rblType.SelectedValue == "合成氨尿素项目")
{
newItem.SolutionType = this.rblType2.SelectedValue;
}
BLL.DriverPrepareSchemePlanItemService.AddSchemePlanItem(newItem);
}
}
if (!string.IsNullOrEmpty(hdNames.Text))
{
string[] names = hdNames.Text.Split(',');
foreach (var item in names)
{
if (!string.IsNullOrEmpty(item) && !nameLists.Contains(item))
{
Model.DriverPrepare_SchemePlanItem newItem = new Model.DriverPrepare_SchemePlanItem();
newItem.SchemePlanItemId = SQLHelper.GetNewID();
newItem.SchemePlanId = newData.SchemePlanId;
if (this.rblType.SelectedValue == "合成氨尿素项目")
{
newItem.SolutionName = item.Split('|')[0];
newItem.SolutionType = item.Split('|')[1];
}
else
{
newItem.SolutionName = item;
}
Random ra = new Random();
newItem.SortIndex = ra.Next(20, 200);
BLL.DriverPrepareSchemePlanItemService.AddSchemePlanItem(newItem);
}
}
}
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
}
}