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(); } } }