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 Pur.Entity.configureEntity; using Pur.Pop_upWindow; using Pur.configure; using Infragistics.Win; namespace Pur.balance { public partial class FrmBalanceRegmMana : FrmPmsBase { public FrmBalanceRegmMana() { InitializeComponent(); 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": getBalanceRegM(); break; case "Update": //UpdPUR_MAT(); break; case "ToSend": ToSend();// 送审 break; case "BackSend": BackSend();// 驳回 break; case "RegMExamine": RegmExamine();// 审批 break; } } /// /// 获取报销单信息 /// private void getBalanceRegM() { PurBalanceRegMEntity entity = getEnSelContion(); DataTable dt = this.execute("com.hnshituo.pur.balance.service.BalanceRegMService", "getBalanceRegM", new object[] { entity }); //按创建时间降序 if (dt.Rows.Count > 0) { dt.DefaultView.Sort = "CREATETIME DESC"; dt = dt.DefaultView.ToTable(); } GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);//结算信息 if (dt.Rows.Count < 1) { dataTable1.Rows.Clear(); } } /// /// 获取报销单对应结算单信息 /// private void getBalancemFromRegmId(string strREGM_ID) { DataTable dt = this.execute("com.hnshituo.pur.balance.service.BalanceRegCService", "getBalancemFromRegmId", new object[] { strREGM_ID }); //按创建时间降序 if (dt.Rows.Count > 0) { dt.DefaultView.Sort = "CREATETIME DESC"; dt = dt.DefaultView.ToTable(); GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);//结算信息 } else { dataTable1.Clear(); } } /// /// 获取报销单查询条件 /// /// private PurBalanceRegMEntity getEnSelContion() { PurBalanceRegMEntity entity = new PurBalanceRegMEntity(); if (txt_STATUS.Value != null && txt_STATUS.Value.ToString().Trim() != "") { entity.Status = txt_STATUS.Value.ToString();//状态 } if (txt_ORDER_ID.Text != null) { entity.OrderId = txt_ORDER_ID.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 ultraGrid2_AfterRowActivate(object sender, EventArgs e) { getBalancemFromRegmId(ultraGrid2.ActiveRow.Cells["REGMID"].Value.ToString()); } /// /// 送审 /// private void ToSend() { ultraGrid2.UpdateData(); ArrayList al_RegmId = new ArrayList(); for (int i = 0; i < ultraGrid2.Rows.Count; i++) { if ((Boolean)ultraGrid2.Rows[i].Cells["Check"].Value) { string strREGMID = ultraGrid2.Rows[i].Cells["REGMID"].Value.ToString(); if (ultraGrid2.Rows[i].Cells["STATUS"].Value.ToString() != "待提报")//判断状态是否适合当前操作 { MessageUtil.ShowTips("报销单【" + strREGMID + "】的状态必须处在“待提报”才能进行送审操作"); return; } al_RegmId.Add(ultraGrid2.Rows[i].Cells["REGMID"].Value.ToString()); } } if (al_RegmId.Count < 1) { MessageUtil.ShowTips("请选择审批的数据"); return; } CoreResult crt = this.execute("com.hnshituo.pur.balance.service.BalanceRegMService", "ToSend", new object[] { al_RegmId }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("送审失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("送审成功!"); getBalanceRegM();//刷新报销登记单 } /// /// 驳回 /// private void BackSend() { ultraGrid2.UpdateData(); ArrayList al_RegmId = new ArrayList(); for (int i = 0; i < ultraGrid2.Rows.Count; i++) { if ((Boolean)ultraGrid2.Rows[i].Cells["Check"].Value) { string strREGMID = ultraGrid2.Rows[i].Cells["REGMID"].Value.ToString(); if (ultraGrid2.Rows[i].Cells["STATUS"].Value.ToString() != "审批中")//判断状态是否适合当前操作 { MessageUtil.ShowTips("报销单【" + strREGMID + "】的状态必须处在“审批中”才能进行驳回操作"); return; } al_RegmId.Add(strREGMID); } } if (al_RegmId.Count < 1) { MessageUtil.ShowTips("请选择审批的数据"); return; } CoreResult crt = this.execute("com.hnshituo.pur.balance.service.BalanceRegMService", "BackSend", new object[] { al_RegmId }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("驳回失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("驳回成功!"); getBalanceRegM();//刷新报销登记单 } /// /// 报销单审批 /// private void RegmExamine() { ultraGrid2.UpdateData(); if (ultraGrid2.ActiveRow == null) { MessageUtil.ShowTips("请选择审批的数据"); return; } ArrayList al_RegmId = new ArrayList(); for (int i = 0; i < ultraGrid2.Rows.Count; i++) { if ((Boolean)ultraGrid2.Rows[i].Cells["Check"].Value) { string strREGMID = ultraGrid2.Rows[i].Cells["REGMID"].Value.ToString(); if (ultraGrid2.Rows[i].Cells["STATUS"].Value.ToString() != "审批中")//判断状态是否适合当前操作 { MessageUtil.ShowTips("报销单【" + strREGMID + "】的状态必须处在“审批中”才能进行审批"); return; } al_RegmId.Add(strREGMID); } } if (al_RegmId.Count < 1) { MessageUtil.ShowTips("请选择审批的数据"); return; } frmExamineShow frm = new frmExamineShow(); frm.ShowDialog(); if (frm.Status != null) { //审批状态 if (frm.Status == "2") { CoreResult crt = this.execute("com.hnshituo.pur.balance.service.BalanceRegMService", "RegmExamine", new object[] { al_RegmId, true }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("审核失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("审核通过"); } else { CoreResult crt = this.execute("com.hnshituo.pur.balance.service.BalanceRegMService", "RegmExamine", new object[] { al_RegmId, false }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("审核失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("审核不通过"); } getBalanceRegM();//刷新报销登记单 } } } }