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();//刷新报销登记单
}
}
}
}