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 Pur.Entity; using Pur.Entity.balanceEntity; using Core.Mes.Client.Comm.Control; using com.hnshituo.pur.vo; using Core.Mes.Client.Comm.Tool; using System.Collections; using Infragistics.Win; using Pur.Entity; namespace Pur.balance { public partial class FrmBlanceMana : FrmPmsBase { public FrmBlanceMana() { InitializeComponent(); bandListValue(); txt_CreateTimeStart.Value = ((DateTime)txt_CreateTimeStart.Value).AddMonths(-1);//将查询的截止日期加一天 GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[0], "Check"); ultraGrid2.DisplayLayout.Bands[0].Override.AllowUpdate = DefaultableBoolean.False; } /// /// toolbar工具栏加载 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": getBalanceM(); break; case "Update": //UpdPUR_MAT(); break; case "DeleteBalanceM": if (ultraGrid1.ActiveRow != null) { DeleteBalanceM(ultraGrid1.ActiveRow.Cells["BALANCEID"].Value.ToString()); } break; case "DeleteBalanceC": if (ultraGrid2.ActiveRow != null) { DeleteBalanceC(ultraGrid2.ActiveRow.Cells["ID"].Value.ToString()); } break; case "DeleteBalanceCD": if (ultraTabControl1.SelectedTab.Key == "0") { if (ultraGrid3.ActiveRow != null) { DeleteBalanceCD(ultraGrid3.ActiveRow.Cells["ID"].Value.ToString()); } } else if (ultraTabControl1.SelectedTab.Key == "1") { if (ultraGrid4.ActiveRow != null) { DeleteBalanceCD(ultraGrid4.ActiveRow.Cells["ID"].Value.ToString()); } } else if (ultraTabControl1.SelectedTab.Key == "2") { if (ultraGrid5.ActiveRow != null) { DeleteBalanceCD(ultraGrid5.ActiveRow.Cells["ID"].Value.ToString()); } } break; case "getBalanceRegM": getBalanceRegM();//生成报销登记单 break; } } /// /// 绑定grid下拉框 /// private void bandListValue() { //参考结算标准类别 Infragistics.Win.ValueList valueList3 = new Infragistics.Win.ValueList(); valueList3.ValueListItems.Add("1", "基准计价"); valueList3.ValueListItems.Add("2", "成分计价"); valueList3.ValueListItems.Add("3", "批量计价"); //设置默认选项 if (valueList3.ValueListItems.Count > 0) { valueList3.SelectedIndex = 0; } Infragistics.Win.ValueList valueList4 = new Infragistics.Win.ValueList(); valueList4.ValueListItems.Add("1", "基准计价"); valueList4.ValueListItems.Add("2", "成分计价"); valueList4.ValueListItems.Add("3", "批量计价"); //设置默认选项 if (valueList4.ValueListItems.Count > 0) { valueList4.SelectedIndex = 0; } Infragistics.Win.ValueList valueList5 = new Infragistics.Win.ValueList(); valueList5.ValueListItems.Add("1", "基准计价"); valueList5.ValueListItems.Add("2", "成分计价"); valueList5.ValueListItems.Add("3", "批量计价"); //设置默认选项 if (valueList5.ValueListItems.Count > 0) { valueList5.SelectedIndex = 0; } ultraGrid3.DisplayLayout.Bands[0].Columns["REFSTANDARDMTYPE"].ValueList = valueList3; ultraGrid4.DisplayLayout.Bands[0].Columns["REFSTANDARDMTYPE"].ValueList = valueList4; ultraGrid5.DisplayLayout.Bands[0].Columns["REFSTANDARDMTYPE"].ValueList = valueList5; } /// /// 获取结算单信息 /// private void getBalanceM() { PurBalanceBillMEntity entity = getEnSelContion(); DataTable dt = this.execute("com.hnshituo.pur.balance.service.BalanceBillMService", "getBalanceM", new object[] { entity }); //按创建时间降序 if (dt.Rows.Count != 0) { dt.DefaultView.Sort = "CREATETIME DESC"; dt = dt.DefaultView.ToTable(); } GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);//结算信息 if (dt.Rows.Count < 1) { dataTable2.Rows.Clear(); dataTable3.Rows.Clear(); dataTable4.Rows.Clear(); dataTable5.Rows.Clear(); } } /// /// 查询结算单详表 /// /// private void getBalanceC(string strBalanceId) { PurBalanceBillCEntity pbbcEntity = new PurBalanceBillCEntity(); pbbcEntity.BalanceId = strBalanceId; pbbcEntity.Validflag = "1"; DataTable dt = this.execute("com.hnshituo.pur.balance.service.BalanceBillCService", "find", new object[] { pbbcEntity, 0, 0 }); GridHelper.CopyDataToDatatable(ref dt, ref dataTable5, true);//结算信息 if (dt.Rows.Count < 1) { dataTable2.Rows.Clear(); dataTable3.Rows.Clear(); dataTable4.Rows.Clear(); } } /// /// 查询结算单详表明细 /// /// private void getBalanceCD(string strBalanceId, string strBalanceCId) { PurBalanceBillCDEntity pbbcdEntity = new PurBalanceBillCDEntity(); pbbcdEntity.BalanceId = strBalanceId; pbbcdEntity.BalanceCId = strBalanceCId; pbbcdEntity.Type = "3";//数量 pbbcdEntity.Validflag = "1"; DataTable dt = this.execute("com.hnshituo.pur.balance.service.BalanceBillCDService", "find", new object[] { pbbcdEntity, 0, 0 }); GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);//数量 pbbcdEntity.Type = "2";//单价 dt = this.execute("com.hnshituo.pur.balance.service.BalanceBillCDService", "find", new object[] { pbbcdEntity, 0, 0 }); GridHelper.CopyDataToDatatable(ref dt, ref dataTable3, true);//单价 pbbcdEntity.Type = "4";//金额 dt = this.execute("com.hnshituo.pur.balance.service.BalanceBillCDService", "find", new object[] { pbbcdEntity, 0, 0 }); GridHelper.CopyDataToDatatable(ref dt, ref dataTable4, true);//金额 } /// /// 删除结算单主表 /// /// private void DeleteBalanceM(string strBalanceId) { if (MessageUtil.ShowYesNoAndQuestion("确定要删除结算单【" + strBalanceId + "】吗") == DialogResult.Yes) { CoreResult crt = this.execute("com.hnshituo.pur.balance.service.BalanceBillMService", "DeleteBalanceM", new object[] { strBalanceId, UserInfo.GetUserName(), UserInfo.GetUserID() }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("删除结算单失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("删除结算单成功!"); getBalanceM(); } } /// /// 删除结算单行表 /// /// private void DeleteBalanceC(string strBalanceCId) { if (MessageUtil.ShowYesNoAndQuestion("确定要删除结算单行号【" + strBalanceCId + "】吗") == DialogResult.Yes) { CoreResult crt = this.execute("com.hnshituo.pur.balance.service.BalanceBillMService", "DeleteBalanceC", new object[] { strBalanceCId, UserInfo.GetUserName(), UserInfo.GetUserID() }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("删除结算行失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("删除结算行成功!"); getBalanceC(ultraGrid1.ActiveRow.Cells["BALANCEID"].Value.ToString()); } } /// /// 删除结算单明细说明表 /// /// private void DeleteBalanceCD(string strBalanceCDId) { if (MessageUtil.ShowYesNoAndQuestion("删除结算明细说明【" + strBalanceCDId + "】吗") == DialogResult.Yes) { PurBalanceBillCDEntity pbbcd = new PurBalanceBillCDEntity(); pbbcd.Id = strBalanceCDId; pbbcd.Validflag = "0"; pbbcd.DeleteName = UserInfo.GetUserName(); pbbcd.DeleteUserid = UserInfo.GetUserID(); CoreResult crt = this.execute("com.hnshituo.pur.balance.service.BalanceBillCDService", "doUpdate", new object[] { pbbcd }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("删除结算明细说明行失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("删除结算明细说明行成功!"); getBalanceCD(ultraGrid1.ActiveRow.Cells["BALANCEID"].Value.ToString(), ultraGrid2.ActiveRow.Cells["ID"].Value.ToString()); } } /// /// 获取查询条件 /// /// private PurBalanceBillMEntity getEnSelContion() { PurBalanceBillMEntity entity = new PurBalanceBillMEntity(); if (txt_STATUS.Value != null && txt_STATUS.Value.ToString() != "") { entity.Status = txt_STATUS.Value.ToString();//状态 } if (txt_BALANCE_ID.Text != "") { entity.BalanceId = txt_BALANCE_ID.Text;//结算单号 } if (txt_SUPP_NAME.Text != null) { entity.SuppName = txt_SUPP_NAME.Text;//供应商名称 } if (txt_CreateTimeStart.Value != null) { entity.CreateTime = (DateTime)txt_CreateTimeStart.Value;//起始时间 } else { entity.CreateTime = DateTime.MinValue; } if (txt_CreateTimeEnd.Value != null) { entity.UpdateTime = (DateTime)txt_CreateTimeEnd.Value;//结束时间 } else { entity.UpdateTime = DateTime.MaxValue; } entity.Validflag = "1";//状态 return entity; } /// /// 结算单主表激活行事件 /// /// /// private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { getBalanceC(ultraGrid1.ActiveRow.Cells["BALANCEID"].Value.ToString()); } /// /// 结算单行表激活行事件 /// /// /// private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { getBalanceCD(ultraGrid1.ActiveRow.Cells["BALANCEID"].Value.ToString(), ultraGrid2.ActiveRow.Cells["ID"].Value.ToString()); } /// /// 生成报销登记单 /// private void getBalanceRegM() { ultraGrid1.UpdateData(); ArrayList al_BalanceId=new ArrayList(); ArrayList al_SUPPCODE=new ArrayList();//保存供应商,判定不能选择同一个供应商的结算单 for (int i = 0; i < ultraGrid1.Rows.Count; i++) { if ((Boolean)ultraGrid1.Rows[i].Cells["Check"].Value) { al_BalanceId.Add(ultraGrid1.Rows[i].Cells["BALANCEID"].Value.ToString()); if (!al_SUPPCODE.Contains(ultraGrid1.Rows[i].Cells["SUPPCODE"].Value.ToString()) && al_SUPPCODE.Count>0) { MessageUtil.ShowTips("请选择同一个供应商的结算单"); return; } else { al_SUPPCODE.Add(ultraGrid1.Rows[i].Cells["SUPPCODE"].Value.ToString()); } } } if (al_BalanceId.Count < 1) { MessageUtil.ShowTips("请勾选结算单"); return; } FrmPop_BalanceRegM frm = new FrmPop_BalanceRegM(al_BalanceId, this.ob); frm.ShowDialog(); } } }