187 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			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 | |||
|  |     } | |||
|  | } |