| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using CoreFS.CA06;
- using Core.Mes.Client.Comm.Server;
- using Infragistics.Win.UltraWinGrid;
- using System.Collections;
- using Core.Mes.Client.Comm.Tool;
- using Core.Mes.Client.Comm.Control;
- namespace Core.StlMes.Client.SaleBase
- {
- public partial class FrmStation : FrmBase
- {
- string strShift = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserOrder();
- string strTerm = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserGroup();
- string strOperator = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
- string regIonID = "";
- public FrmStation()
- {
- InitializeComponent();
- this.ComBelongsCity.AfterExpand += new TreeViewEventHandler(ComBelongsCity_AfterExpand);
- this.ComBelongsCity.AfterCollapse += new TreeViewEventHandler(ComBelongsCity_AfterCollapse);
- }
- //刷新Tree
- public void QueryTree()
- {
- this.ComBelongsCity.Nodes.Clear();
- DataTable dt = new DataTable();
- dt = ServerHelper.GetData("com.steering.pss.sale.base.CoreStation.GetTivCode", new Object[] { }, this.ob);
- //树控件递归绑定方法。
- Bind_Tv(dt, ComBelongsCity.Nodes, null, "REGION_NO", "P_REGION_NO", "REGION_NM");
- }
- protected override void OnLoad(EventArgs e)
- {
- try
- {
- base.OnLoad(e);
- ultraGridRegion.DisplayLayout.Override.FilterUIType = Infragistics.Win.UltraWinGrid.FilterUIType.FilterRow;
- ultraGridRegion.DisplayLayout.Override.FilterOperatorDefaultValue = Infragistics.Win.UltraWinGrid.FilterOperatorDefaultValue.Contains;
- //ultraGridRegion.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.RowSelect;
- }
- catch (System.Exception ex)
- { }
- }
- private void Bind_Tv(DataTable dt, TreeNodeCollection tnc, string pid_val, string id, string pid, string text)
- {
- DataView dv = new DataView(dt);//将DataTable存到DataView中,以便于筛选数据
- TreeNode tn;//建立TreeView的节点(TreeNode),以便将取出的数据添加到节点中
- //以下为三元运算符,如果父id为空,则为构建“父id字段 is null”的查询条件,否则构建“父id字段=父id字段值”的查询条件
- string filter = string.IsNullOrEmpty(pid_val) ? pid + " is null" : string.Format(pid + "='{0}'", pid_val);
- dv.RowFilter = filter;//利用DataView将数据进行筛选,选出相同 父id值 的数据
- foreach (DataRowView drv in dv)
- {
- tn = new TreeNode();//建立一个新节点(学名叫:一个实例)
- tn.Tag = drv[id].ToString();//节点的Value值,一般为数据库的id值
- tn.Text = drv[text].ToString();//节点的Text,节点的文本显示
- tn.Name = drv["REGION_LVL_NO"].ToString();//区域属性代码
- tn.ImageKey = drv["REGION_LVL_NM"].ToString();
- if (!string.IsNullOrEmpty(drv["P_REGION_NO"].ToString()))
- {
- tn.ToolTipText = drv["P_REGION_NO"].ToString();
- }
- else
- {
- tn.ImageIndex = 0;
- }
- tnc.Add(tn);//将该节点加入到TreeNodeCollection(节点集合)中
- Bind_Tv(dt, tn.Nodes, tn.Tag.ToString(), id, pid, text);//递归(反复调用这个方法,直到把数据取完为止)
- }
- }
- void ComBelongsCity_AfterCollapse(object sender, TreeViewEventArgs e)
- {
- if (e.Node.ImageIndex == 1)
- e.Node.ImageIndex = e.Node.SelectedImageIndex = 0;
- }
- void ComBelongsCity_AfterExpand(object sender, TreeViewEventArgs e)
- {
- if (e.Node.ImageIndex == 0)
- e.Node.ImageIndex = e.Node.SelectedImageIndex = 1;
- }
- //展开下拉列表树节点,
- public void treeSelect(string Name)
- {
- if (!string.IsNullOrEmpty(Name))
- {
- for (int e = 0; e < this.ComBelongsCity.Nodes.Count; e++)
- {
- ComBelongsCity.Nodes[e].Collapse();
- //展开一级节点
- //if (this.ComBelongsCity.Nodes[e].Name.Equals(tNode.Name))
- //{
- // this.ComBelongsCity.Nodes[e].Expand();
- // return;
- //}
- //展开二级节点
- for (int w = 0; w < this.ComBelongsCity.Nodes[e].Nodes.Count; w++)
- {
- if (this.ComBelongsCity.Nodes[e].Nodes[w].Tag.Equals(Name))
- {
- this.ComBelongsCity.Nodes[e].Expand();
- this.ComBelongsCity.Nodes[e].Nodes[w].ExpandAll();
- return;
- }
- }
- //展开三级子节点
- for (int w = 0; w < this.ComBelongsCity.Nodes[e].Nodes.Count; w++)
- {
- for (int r = 0; r < this.ComBelongsCity.Nodes[e].Nodes[w].Nodes.Count; r++)
- {
- if (this.ComBelongsCity.Nodes[e].Nodes[w].Nodes[r].Tag.Equals(Name))
- {
- this.ComBelongsCity.Nodes[e].Expand();
- this.ComBelongsCity.Nodes[e].Nodes[w].Expand();
- this.ComBelongsCity.Nodes[e].Nodes[w].Nodes[r].ExpandAll();
- return;
- }
- }
- }
- //展开四级子节点
- for (int w = 0; w < this.ComBelongsCity.Nodes[e].Nodes.Count; w++)
- {
- for (int r = 0; r < this.ComBelongsCity.Nodes[e].Nodes[w].Nodes.Count; r++)
- {
- for (int x = 0; x < this.ComBelongsCity.Nodes[e].Nodes[w].Nodes[r].Nodes.Count; x++)
- {
- if (this.ComBelongsCity.Nodes[e].Nodes[w].Nodes[r].Nodes[x].Tag.Equals(Name))
- {
- this.ComBelongsCity.Nodes[e].Expand();
- this.ComBelongsCity.Nodes[e].Nodes[w].Expand();
- this.ComBelongsCity.Nodes[e].Nodes[w].Nodes[r].Expand();
- this.ComBelongsCity.Nodes[e].Nodes[w].Nodes[r].Nodes[x].ExpandAll();
- return;
- }
- }
- }
- }
- }
- }
- }
- /// <summary>
- /// 重写基类方法
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="ToolbarKey"></param>
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "doQuery":
- doQuery();
- break;
- case "doAdd":
- if (MessageUtil.ShowQuestion("是否新增数据?").ToString().ToLower().Equals("yes"))
- {
- string dosave = doSave();
- if (dosave.Equals("SetAddStation"))
- {
- MessageUtil.ShowTips("添加成功!");
- }
- else if (dosave.Equals("doAddFalse"))
- {
- MessageUtil.ShowTips("添加失败!");
- }
- else if (dosave.Equals("saveCoint"))
- {
- MessageUtil.ShowTips("已经存在该到站名称!");
- }
- doQuery();
- }
- break;
- case "doDelete":
- if (MessageUtil.ShowQuestion("是否作废数据?").ToString().ToLower().Equals("yes"))
- {
- if (doDelete())
- {
- MessageUtil.ShowTips("作废成功!");
- }
- else
- {
- MessageUtil.ShowTips("作废失败!");
- }
- doQuery();
- }
- break;
- case "doRecovery":
- if (MessageUtil.ShowQuestion("是否恢复数据?").ToString().ToLower().Equals("yes"))
- {
- if (doResume())
- {
- MessageUtil.ShowTips("恢复成功!");
- }
- else
- {
- MessageUtil.ShowTips("恢复失败!");
- }
- doQuery();
- }
- break;
- case "doUpdate":
- if (doUpdate())
- {
- MessageUtil.ShowTips("修改成功!");
- doQuery();
- }
- break;
- case "doLoad":
- DataTable isx = new DataTable();
- DataTable unLoad = new DataTable();
- unLoad.Columns.Add("Name", typeof(System.String));
- unLoad.Columns.Add("Code", typeof(System.String));
- isx = ServerHelper.GetData("com.steering.pss.sale.base.CoreStation.GetRegIonCode", new Object[] { }, this.ob);
- for (int i = 0; i < isx.Rows.Count; i++)
- {
- unLoad.Rows.Add(isx.Rows[i]["STATION_NM"].ToString(), isx.Rows[i]["RAWY_BURU"].ToString());
- }
- TextEditorTLJ.DataSource = unLoad;
- TextEditorTLJ.DisplayMember = "Name";
- TextEditorTLJ.ValueMember = "Code";
- cobxRailroadOf.DataSource = unLoad;
- cobxRailroadOf.DisplayMember = "Name";
- cobxRailroadOf.ValueMember = "Code";
- QueryTree();
- break;
- case "doClose":
- this.Close();
- break;
- }
- }
- /// <summary>
- /// 查询
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="ToolbarKey"></param>
- public void doQuery()
- {
- string sqlTjl = "";
- string sqlDz = "";
- string sqllike = "";
- bool validTJLNameFlag = CheckEditorTJLName.Checked;
- bool validDzFlag = CheckEditorDzName.Checked;
- bool validLikeFlag = CheckEditorLike.Checked;
- //铁路局
- if (validTJLNameFlag)
- {
- if (string.IsNullOrEmpty(TextEditorTLJ.Text))
- {
- MessageUtil.ShowTips("铁路局已经勾选,铁路局不能为空,请选择铁路局!");
- return;
- }
- else
- {
- sqlTjl = " and RAWY_BURU='" + TextEditorTLJ.Value + "'";
- }
- }
- //到站
- if (validDzFlag)
- {
- if (string.IsNullOrEmpty(TextEditorDz.Text))
- {
- MessageUtil.ShowTips("到站已经勾选,到站不能为空,请选择铁到站!");
- return;
- }
- else
- {
- sqlDz = " and STATION_NM='" + TextEditorDz.Text + "'";
- }
- }
- //是否包含有效
- if (!validLikeFlag)
- {
- sqllike = " and VALIDFLAG='" + "1" + "'";
- }
- DataTable dts = ServerHelper.GetData("com.steering.pss.sale.base.CoreStation.ToQuery", new Object[] { sqlTjl, sqlDz, sqllike }, this.ob);
- GridHelper.CopyDataToDatatable(ref dts, ref this.dataTableRegion, true);
- if (dts.Rows.Count > 0)
- {
- foreach (UltraGridRow ugr in this.ultraGridRegion.Rows)
- {
- if (ugr.Cells["VALIDFLAG"].Value.ToString().ToLower() == "0")
- {
- ugr.Cells["VALIDFLAG"].Value = false;
- this.ultraGridRegion.Rows[ugr.Index].CellAppearance.ForeColor = Color.Red;
- }
- if (ugr.Cells["VALIDFLAG"].Value.ToString().ToLower() == "1")
- {
- ugr.Cells["VALIDFLAG"].Value = true;
- }
- }
- ////内容自适应
- //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridRegion, new UltraGridColumn[] {
- //ultraGridRegion.DisplayLayout.Bands[0].Columns["MEMO"]
- //});
- }
- else
- {
- uldtsCoupling.Tables[0].Clear();
- }
- foreach(UltraGridRow row in this.ultraGridRegion.Rows)
- {
- if (row.Cells["STATION_NM"].Value.ToString() == txtArrival.Text)
- {
- row.Selected = true;
- row.Activated = true;
- break;
- }
- }
- }
- //保存
- public string doSave()
- {
- if (string.IsNullOrEmpty(txtArrival.Text))
- {
- MessageUtil.ShowTips("到站名称不能为空!");
- return "no";
- }
- //if (string.IsNullOrEmpty(telegraphCode.Text))
- //{
- // MessageUtil.ShowTips("电报码不能为空!");
- // return "no";
- //}
- //if (string.IsNullOrEmpty(textFee.Text))
- //{
- // MessageUtil.ShowTips("费用不能为空!");
- // return "no";
- //}
- //if (string.IsNullOrEmpty(kilometerSum.Text))
- //{
- // MessageUtil.ShowTips("公里数不能为空!");
- // return "no";
- //}
- if (string.IsNullOrEmpty(cobxRailroadOf.Text))
- {
- MessageUtil.ShowTips("属性铁路局不能为空,请选择!");
- return "no";
- }
- if (string.IsNullOrEmpty(ComBelongsCity.Text))
- {
- MessageUtil.ShowTips("所属城市不能为空,请选择!");
- return "no";
- }
- //到站名称
- string regName = txtArrival.Text;
- //电报码
- string teleCode = "";
- //费用
- string fee = "";
- //公里数
- string kilometer = "";
- //备注
- string memo = textBoxMeMo.Text;
- //属性铁路局
- string regionnm = cobxRailroadOf.Text;
- string regionno = cobxRailroadOf.Value.ToString();
- //所属城市
- string pregionnm = ComBelongsCity.Text;
- string pregionno = ComBelongsCity.SelectedNode == null ? ComBelongsCity.Tag.ToString() : ComBelongsCity.SelectedNode.Tag.ToString();
- DataTable dts = ServerHelper.GetData("com.steering.pss.sale.base.CoreStation.GetQuerySave", new Object[] { regName }, this.ob);
- if (dts.Rows.Count > 0)
- {
- return "saveCoint";
- }
- //if (MessageUtil.ShowYesNoAndQuestion("是否保存数据?") == DialogResult.No) return "no";
- ArrayList parm = new ArrayList();
- parm.Add(regionno);
- parm.Add(regionno);
- parm.Add(regName);
- parm.Add(pregionno);
- parm.Add(kilometer);
- parm.Add(fee);
- parm.Add(teleCode);
- parm.Add(regionno);
- parm.Add(memo);
- parm.Add(strOperator);
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.sale.base.CoreStation";
- ccp.MethodName = "SetAddStation";
- ccp.ServerParams = new object[] { parm };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode == -1)
- {
- return "doAddFalse";
- }
- return "doAddTrue";
- }
- //修改
- public bool doUpdate()
- {
- if (string.IsNullOrEmpty(regIonID))
- {
- MessageUtil.ShowTips("请选择需要修改的数据!");
- return false;
- }
- if (string.IsNullOrEmpty(txtArrival.Text))
- {
- MessageUtil.ShowTips("到站名称不能为空!");
- return false;
- }
- //if (string.IsNullOrEmpty(telegraphCode.Text))
- //{
- // MessageUtil.ShowTips("电报码不能为空!");
- // return false;
- //}
- //if (string.IsNullOrEmpty(textFee.Text))
- //{
- // MessageUtil.ShowTips("费用不能为空!");
- // return false;
- //}
- //if (string.IsNullOrEmpty(kilometerSum.Text))
- //{
- // MessageUtil.ShowTips("公里数不能为空!");
- // return false;
- //}
- if (string.IsNullOrEmpty(cobxRailroadOf.Text))
- {
- MessageUtil.ShowTips("属性铁路局不能为空,请选择!");
- return false;
- }
- if (string.IsNullOrEmpty(ComBelongsCity.Text))
- {
- MessageUtil.ShowTips("所属城市不能为空,请选择!");
- return false;
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否修改数据?") == DialogResult.No) return false;
- ArrayList parm = new ArrayList();
- parm.Add(txtArrival.Text); //到站名称
- parm.Add(ComBelongsCity.SelectedNode == null ? ComBelongsCity.Tag.ToString() : ComBelongsCity.SelectedNode.Tag.ToString()); //所属城市ID
- parm.Add("");//公里数
- parm.Add("");//费用
- parm.Add("");//电报码
- parm.Add(cobxRailroadOf.Value);//所属铁路ID
- parm.Add(textBoxMeMo.Text);//备注
- parm.Add(strOperator);//修改人
- parm.Add(regIonID);//ID
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.sale.base.CoreStation";
- ccp.MethodName = "SetUpdateStation";
- ccp.ServerParams = new object[] { parm };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode == -1)
- {
- return false;
- }
- return true;
- }
- //作废
- public bool doDelete()
- {
- if (string.IsNullOrEmpty(regIonID))
- {
- MessageUtil.ShowTips("请选择需要修改的数据!");
- return false;
- }
- ArrayList parm = new ArrayList();
- parm.Add("0"); //0删除
- parm.Add(strOperator);//删除人
- parm.Add(regIonID); //ID
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.sale.base.CoreStation";
- ccp.MethodName = "SetDeleteStation";
- ccp.ServerParams = new object[] { parm };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode == -1)
- {
- return false;
- }
- return true;
- }
- //恢复
- public bool doResume()
- {
- if (string.IsNullOrEmpty(regIonID))
- {
- MessageUtil.ShowTips("请选择需要修改的数据!");
- return false;
- }
- ArrayList parm = new ArrayList();
- parm.Add("1"); //0恢复
- parm.Add(regIonID); //ID
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.sale.base.CoreStation";
- ccp.MethodName = "SetRecoveryStation";
- ccp.ServerParams = new object[] { parm };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode == -1)
- {
- return false;
- }
- return true;
- }
- private void frmStation_Load(object sender, EventArgs e)
- {
- DataTable isx = new DataTable();
- DataTable unLoad = new DataTable();
- unLoad.Columns.Add("Name", typeof(System.String));
- unLoad.Columns.Add("Code", typeof(System.String));
- isx = ServerHelper.GetData("com.steering.pss.sale.base.CoreStation.GetRegIonCode", new Object[] { }, this.ob);
- for (int i = 0; i < isx.Rows.Count; i++)
- {
- unLoad.Rows.Add(isx.Rows[i]["STATION_NM"].ToString(), isx.Rows[i]["RAWY_BURU"].ToString());
- }
- TextEditorTLJ.DataSource = unLoad;
- TextEditorTLJ.DisplayMember = "Name";
- TextEditorTLJ.ValueMember = "Code";
- cobxRailroadOf.DataSource = unLoad;
- cobxRailroadOf.DisplayMember = "Name";
- cobxRailroadOf.ValueMember = "Code";
- QueryTree();
- doQuery();
- }
- private void CheckEditorTJLName_CheckedChanged(object sender, EventArgs e)
- {
- if (this.TextEditorTLJ.ReadOnly)
- {
- this.TextEditorTLJ.ReadOnly = false;
- }
- else
- {
- this.TextEditorTLJ.ReadOnly = true;
- }
- }
- private void CheckEditorDzName_CheckedChanged(object sender, EventArgs e)
- {
- if (this.TextEditorDz.ReadOnly)
- {
- this.TextEditorDz.ReadOnly = false;
- }
- else
- {
- this.TextEditorDz.ReadOnly = true;
- }
- }
- private void ultraGridRegion_AfterRowActivate(object sender, EventArgs e)
- {
- DataTable unLoad = new DataTable();
- unLoad.Columns.Add("Name", typeof(System.String));
- unLoad.Columns.Add("Code", typeof(System.String));
- Infragistics.Win.UltraWinGrid.UltraGridRow row = ultraGridRegion.ActiveRow;
- if (row != null)
- {
- //到站名称
- txtArrival.Text = row.Cells["STATION_NM"].Text.Trim();
- //到站ID
- regIonID = row.Cells["STATION_NO"].Value.ToString();
- //所属铁路局
- cobxRailroadOf.Text = row.Cells["RAWY_BURU"].Value.ToString();
- cobxRailroadOf.Value = row.Cells["RAWY_BURU_NO"].Text.ToString();
- treeSelect(row.Cells["RAWY_BURU"].Value.ToString());
- ////所属城市
- //unLoad.Rows.Add(row.Cells["REGION_NM"].Value.ToString(), row.Cells["REGION_NO"].Value.ToString());
- treeSelect(row.Cells["REGION_NO"].Value.ToString());
- ComBelongsCity.Text = row.Cells["REGION_NM"].Value.ToString();
- ComBelongsCity.Tag = row.Cells["REGION_NO"].Value.ToString();
- if (ComBelongsCity.SelectedNode != null)
- {
- ComBelongsCity.SelectedNode.Tag = row.Cells["REGION_NO"].Value.ToString();
- }
- ////公里数
- //kilometerSum.Text = row.Cells["DISTANCE"].Value.ToString();
- ////费用
- //textFee.Text = row.Cells["FREIGHT"].Value.ToString();
- ////电报码
- //telegraphCode.Text = row.Cells["TELEGRP_NO"].Value.ToString();
- //备注
- textBoxMeMo.Text = row.Cells["MEMO"].Value.ToString();
- }
- }
- }
- }
|