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
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |