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 Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Tool;
using CoreFS.CA06;
using Pur.Entity;
using Pur.Entity.pur_planEntity;
using System.Collections;
using Pur.configure;
using Pur.Entity.configureEntity;
using Pur.Pop_upWindow;
using com.hnshituo.pur.vo;
using Infragistics.Win.UltraWinGrid;
using com.hnshituo.bpm.req.vo;
using Bpm;
namespace Pur.pur_plan
{
public partial class frmTaskMApproval : FrmPmsBase
{
public frmTaskMApproval()
{
InitializeComponent();
}
//菜单按钮事件
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query":
GetTaskM(getEnSelContion());
break;
case "TaskMApproval":
TaskMApproval();
break;
case "Process"://流程详情
Process();
break;
}
}
//流程详情
private void Process()
{
UltraGridRow uge = ultraGrid1.ActiveRow;
if (ultraTabControl1.SelectedTab.Text == ultraTabControl1.Tabs[1].Text)
{
uge = ultraGrid3.ActiveRow;
}
if (uge == null)
{
MessageUtil.ShowWarning("请选择一条记录");
return;
}
string taskId = uge.Cells["taskId"].Value.ToString();
ProcInstDetail detail = new ProcInstDetail(BpmFlowConstants.PROCDEF_PUR_TASK_AUDIT, taskId);
detail.ShowDialog();
}
///
/// 查询任务主表
///
public void GetTaskM(PurTaskMEntity M_PurTaskM)
{
dataTable2.Rows.Clear();
dataTable3.Rows.Clear();
dataTable5.Rows.Clear();
M_PurTaskM.BpmUserId = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
// 查询已审批任务主表
DataTable dt1 = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "getAuditedTask", new object[] { M_PurTaskM });
GridHelper.CopyDataToDatatable(ref dt1, ref dataTable4, true);//绑定物料分类表
//查询未审批(审批中)的任务单
M_PurTaskM.Status = "19";
DataTable dt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "getAuditTask", new object[] { M_PurTaskM });
GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);//绑定物料分类表
}
///
/// 查询任务从表
///
public void GetTaskC(string strTaskId)
{
// 查询任务从表
PurTaskCEntity M_PurTaskC = new PurTaskCEntity();
M_PurTaskC.TaskId = strTaskId;
M_PurTaskC.Validflag = "1";
DataTable dt = this.execute("com.hnshituo.pur.purplan.service.TaskCService", "getTaskC", new object[] { M_PurTaskC });
//将空属性的值置为""
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["ITEMATTRID"] == null || dt.Rows[i]["ITEMATTRID"].ToString() == "")
{
dt.Rows[i]["ITEMATTRID"] = " ";
}
}
GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);//绑定物料分类表
}
///
/// 查询供应商
///
public void GetSupp(string strTaskId)
{
// 查询供应商
PurTaskSuppsEntity M_PurTaskSupps = new PurTaskSuppsEntity();
M_PurTaskSupps.TaskId = strTaskId;
M_PurTaskSupps.Validflag = "1";
DataTable dt = this.execute("com.hnshituo.pur.purplan.service.TaskSuppsService", "find", new object[] { M_PurTaskSupps, 0, 0 });
GridHelper.CopyDataToDatatable(ref dt, ref dataTable3, true);//绑定物料分类表
}
///
/// 查询评标人员
///
public void GetEva(string strTaskId)
{
// 查询供应商
PurTaskEvaUsersEntity TaskEvaUsersEntity = new PurTaskEvaUsersEntity();
TaskEvaUsersEntity.TaskId = strTaskId;
TaskEvaUsersEntity.Validflag = "1";
DataTable dt = this.execute("com.hnshituo.pur.purplan.service.TaskEvaUsersService", "find", new object[] { TaskEvaUsersEntity, 0, 0 });
GridHelper.CopyDataToDatatable(ref dt, ref dataTable5, true);//绑定物料分类表
}
///
/// 刷新任务从表,供应商
///
///
///
private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
{
}
///
/// 获取查询条件
///
///
private PurTaskMEntity getEnSelContion()
{
PurTaskMEntity entity = new PurTaskMEntity();
entity.ValidDataPurviewIds = this.ValidDataPurviewIds;
if (txtQue_TASK_ID.Text.Trim() != "")
{
entity.TaskId = txtQue_TASK_ID.Text.Trim();
}
if (ultcmb_STATUS.Value != null && ultcmb_STATUS.Value.ToString() != "")
{
entity.Status = ultcmb_STATUS.Value.ToString();
}
if (txtQue_TASK_NAME.Text.Trim() != "")
{
entity.TaskName = txtQue_TASK_NAME.Text.Trim();
}
entity.Validflag = "1";
return entity;
}
///
/// 审批
///
private void TaskMApproval()
{
UltraGridRow uge = ultraGrid1.ActiveRow;
if (uge == null)
{
MessageUtil.ShowWarning("无审批信息,请检查后操作!");
return;
}
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("没有数据可审批");
return;
}
if (getTaskStatus() != "审批中")
{
MessageUtil.ShowTips("任务单状态为“审批中”时,才能审批");
return;
}
frmExamineShow frm = new frmExamineShow();
frm.ShowDialog();
if (frm.Status != null)
{
//if (frm.Status == "1")
//{
// M_PurTaskM.Status = "21";
// MessageUtil.ShowTips("审批结果:不通过");
//}
//else if (frm.Status == "2")
//{
// M_PurTaskM.Status = "20";
// MessageUtil.ShowTips("审批结果:通过");
//}
//M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();//任务编号
//CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doUpdate", new object[] { M_PurTaskM });
//if (crt.Resultcode != 0)
//{
// MessageUtil.ShowTips("审批失败 " + crt.Resultmsg);
// return;
//}
try
{
ReqCompleteTask req = new ReqCompleteTask();
req.OperatorUserId = UserInfo.GetUserID();
req.TaskId = uge.Cells["BpmTaskId"].Value.ToString();
if (frm.Status.Equals("2"))
{
req.AuditData = true;
req.AuditMessage = frm.ExamineMessage;
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "bpmAudit", new object[] { req });
if (crt.Resultcode == -1)
{
MessageUtil.ShowTips("任务单" + uge.Cells["TaskId"].Value.ToString() + "审批失败!" + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("操作成功");
//刷新任务单
GetTaskM(getEnSelContion());
}
else if (frm.Status.Equals("1"))
{
req.AuditData = false;
req.AuditMessage = frm.ExamineMessage;
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "bpmAudit", new object[] { req });
if (crt.Resultcode == -1)
{
MessageUtil.ShowTips("任务单" + uge.Cells["TaskId"].Value.ToString() + "审批失败!" + crt.Resultmsg);
return;
}
PurTaskMEntity M_PurTaskM = new PurTaskMEntity();
M_PurTaskM.TaskId = uge.Cells["TaskId"].Value.ToString();
M_PurTaskM.Status = "21";
CoreResult rt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doUpdate", new object[] { M_PurTaskM });
if (rt.Resultcode != 0)
{
MessageUtil.ShowTips("任务单" + uge.Cells["TaskId"].Value.ToString() + "审批失败!" + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("操作成功");
GetTaskM(getEnSelContion());
}
}
catch (Exception e)
{
MessageUtil.ShowTips("任务单" + uge.Cells["TaskId"].Value.ToString() + "审批失败!" + e);
}
}
}
//获取 任务单状态
public string getTaskStatus()
{
string strTaskStatus = "";
PurTaskMEntity M_PurTaskM = new PurTaskMEntity();
M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();
M_PurTaskM.Validflag = "1";
DataTable dt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "getTaskM", new object[] { M_PurTaskM });
if (dt.Rows.Count > 0)
{
strTaskStatus = dt.Rows[0]["STATUS"].ToString();
}
return strTaskStatus;
}
///
/// 单击任务单显示评标人员
///
///
///
private void ultraGrid3_ClickCell(object sender, ClickCellEventArgs e)
{
// 查询任务从表
GetTaskC(e.Cell.Row.Cells["TASKID"].Value.ToString());
//查询供应商
GetSupp(e.Cell.Row.Cells["TASKID"].Value.ToString());
//查询评标人员
GetEva(e.Cell.Row.Cells["TASKID"].Value.ToString());
}
private void ultraGrid1_ClickCell(object sender, ClickCellEventArgs e)
{
// 查询任务从表
GetTaskC(e.Cell.Row.Cells["TASKID"].Value.ToString());
//查询供应商
GetSupp(e.Cell.Row.Cells["TASKID"].Value.ToString());
//查询评标人员
GetEva(e.Cell.Row.Cells["TASKID"].Value.ToString());
}
private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
{
dataTable2.Rows.Clear();
dataTable3.Rows.Clear();
dataTable5.Rows.Clear();
}
}
}