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 Pur.require_plan; using Bpm; using com.hnshituo.bpm.req.vo; namespace Pur.pur_plan { public partial class frmTaskMana_MC : FrmPmsBase { public frmTaskMana_MC() { InitializeComponent(); this.IsLoadUserView = true; } /// /// 界面初始化 /// /// /// private void frmTaskMana_MC_Load(object sender, EventArgs e) { ultraGrid1.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand); ultraGrid2.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand); ultraGrid4.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand); GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[0],new string[]{"CHK"}); GridHelper.SetExcludeColumnsActive(ultraGrid3.DisplayLayout.Bands[0], new string[] { "CHK" }); ultraGrid2.DisplayLayout.Bands[0].Columns["askdeliverdate"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Date; txt_CreateTimeStart.Value = DateTime.Now.AddMonths(-2); txt_CreateTimeEnd.Value = DateTime.Now.AddDays(3); ultcmb_STATUS.SelectedIndex = 0; ck_isAlldepart.Checked = true; txt_CreateTimeStart.Enabled = true; txt_CreateTimeEnd.Enabled = true; ck_isCreateT.Checked = true; GetTaskM(getEnSelContion()); } //菜单按钮事件 public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": GetTaskM(getEnSelContion()); break; case "AddMat": AddMat();//新增物料 break; case "AddSupp"://新增供应商 AddSupp(); break; case "AddMatSupp"://新增供应商物料 AddMatSupp(); break; case "cancelMatSupp"://新增供应商物料 cancelMatSupp(); break; case "AddEva"://新增评标人员 AddEva(); break; case "Update": //UpdTaskM();//更新任务单 UpdTask(); break; case "Delete"://删除任务单 DelTaskM(); break; case "QuiteTask"://撤销提报 QuiteTask(); break; case "getBEvaluation"://进入招标系统 getBEvaluation(); break; case "setEvaluation"://定标 setEvaluation(); break; case "setPriceAll"://定价定量 setPriceAll(); break; case "AddOrder"://生成合同 AddOrder(); break; case "allowSpit"://允许一个物料生成多个合同 allowMutilOrder(); break; case "cancelAllowSpit"://取消一个物料生成多个合同 cancelMutilOrder(); break; case "deleteTask"://废标 deleteTask(); break; case "cancelDeleteTask"://取消废标 cancelDeleteTask(); break; case "setTaskPrice"://生成价格审批单 setTaskPrice(); break; case "Report"://提报 Report(); break; case "openRes"://开启报价 openRes(); break; case "examine"://科长审批 examine(); break; case "doClose"://关闭 this.Close(); break; case "doExcel"://关闭 doExcel(); break; } } private void doExcel() { try { this.Cursor = Cursors.WaitCursor; ArrayList alUltraGrid = new ArrayList(); ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"].Hidden = true; alUltraGrid.Add(ultraGrid1); alUltraGrid.Add(ultraGrid2); ArrayList alSheeft = new ArrayList(); alSheeft.Add("任务单头表"); alSheeft.Add("任务单行表"); if (ultraGrid1.Rows.Count > 0) { GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "任务单");//导出excel } } catch (Exception e) { MessageUtil.ShowTips("导出失败" + e.Message); } finally { ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"].Hidden = false; this.Cursor = Cursors.Default; } } /// /// 任务单取消允许拆物料 /// private void cancelMutilOrder() { if (ultraGrid1.ActiveRow == null) { MessageUtil.ShowTips("请选择任务单头"); return; } String strTaskId = ultraGrid1.ActiveRow.GetCellValue("taskId").ToString().Trim(); if (String.IsNullOrEmpty(strTaskId)) { MessageUtil.ShowTips("任务单头的任务单号为空"); } String strStatus = getTaskStatusNum(); if (strStatus == "11") { MessageUtil.ShowTips("任务单已完成合同生成"); return; } PurTaskMEntity task = new PurTaskMEntity(); task.TaskId = strTaskId; task.CreateName = UserInfo.GetUserName(); task.CreateUserid = UserInfo.GetUserID(); task.CreateTime = DateTime.Now; if (MessageUtil.ShowYesNoAndQuestion("禁止物料分拆?") == DialogResult.No) { return; } CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "allowSpit", new object[] { task, "0" }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("操作失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("操作成功"); GetTaskM(getEnSelContion()); comm.doActiveSelRow(ultraGrid1, "taskId", strTaskId); } /// /// 任务单允许拆物料 /// private void allowMutilOrder() { if (ultraGrid1.ActiveRow == null) { MessageUtil.ShowTips("请选择任务单头"); return; } String strTaskId = ultraGrid1.ActiveRow.GetCellValue("taskId").ToString().Trim(); if (String.IsNullOrEmpty(strTaskId)) { MessageUtil.ShowTips("任务单头的任务单号为空"); } String strStatus = getTaskStatusNum(); if (strStatus == "11") { MessageUtil.ShowTips("任务单已完成合同生成"); return; } PurTaskMEntity task = new PurTaskMEntity(); task.TaskId = strTaskId; task.CreateName = UserInfo.GetUserName(); task.CreateUserid = UserInfo.GetUserID(); task.CreateTime = DateTime.Now; if (MessageUtil.ShowYesNoAndQuestion("允许物料分拆?") == DialogResult.No) { return; } CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "allowSpit", new object[] { task,"1"}); if (crt.Resultcode != 0) { MessageUtil.ShowTips("操作失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("操作成功"); GetTaskM(getEnSelContion()); comm.doActiveSelRow(ultraGrid1, "taskId", strTaskId); } /// /// 供应商物料重新绑定 /// private void cancelMatSupp() { if (ultraGrid1.ActiveRow == null) { MessageUtil.ShowTips("请选择任务单头"); return; } String strTaskId = ultraGrid1.ActiveRow.GetCellValue("taskId").ToString().Trim(); if (String.IsNullOrEmpty(strTaskId)) { MessageUtil.ShowTips("任务单头的任务单号为空"); } String strStatus = getTaskStatusNum(); if (strStatus != "18" && strStatus != "19" && strStatus != "20" && strStatus != "21" && strStatus != "2") { MessageUtil.ShowTips("任务单已开标"); return; } ultraGrid2.UpdateData(); ultraGrid3.UpdateData(); ArrayList listMat = new ArrayList(); ArrayList listSupp = new ArrayList(); foreach (UltraGridRow row in ultraGrid2.Rows) { if (Convert.ToBoolean(row.GetCellValue("CHK"))) { String strItemCode=row.GetCellValue("itemCode").ToString().Trim(); if (String.IsNullOrEmpty(strItemCode)) { continue; } PurTaskMatSuppEntity matSupp = new PurTaskMatSuppEntity(); matSupp.ItemCode = strItemCode; listMat.Add(matSupp); } } foreach (UltraGridRow row in ultraGrid3.Rows) { if (Convert.ToBoolean(row.GetCellValue("CHK"))) { String strSuppCode = row.GetCellValue("suppCode").ToString().Trim(); if (String.IsNullOrEmpty(strSuppCode)) { continue; } PurTaskMatSuppEntity matSupp = new PurTaskMatSuppEntity(); matSupp.SuppCode = strSuppCode; listSupp.Add(matSupp); } } if (listMat.Count <= 0) { MessageUtil.ShowTips("请选择任务单行"); return; } if (listSupp.Count <= 0) { MessageUtil.ShowTips("请选择供应商"); return; } PurTaskMEntity task = new PurTaskMEntity(); task.TaskId = strTaskId; task.CreateName = UserInfo.GetUserName(); task.CreateUserid = UserInfo.GetUserID(); task.CreateTime = DateTime.Now; if (MessageUtil.ShowYesNoAndQuestion("确定解除物料供应商挂接关系?") == DialogResult.No) { return; } CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "addMatSupp", new object[] { task, listMat, listSupp, "0" }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("操作失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("操作成功"); // 查询任务从表 GetTaskC(); // 查询供应商 GetSupp(); } /// /// 供应商物料取消绑定 /// private void AddMatSupp() { if (ultraGrid1.ActiveRow == null) { MessageUtil.ShowTips("请选择任务单头"); return; } String strTaskId = ultraGrid1.ActiveRow.GetCellValue("taskId").ToString().Trim(); if (String.IsNullOrEmpty(strTaskId)) { MessageUtil.ShowTips("任务单头的任务单号为空"); } String strStatus = getTaskStatusNum(); if (strStatus != "18" && strStatus != "19" && strStatus != "20" && strStatus != "21" && strStatus != "2") { MessageUtil.ShowTips("任务单已开标"); return; } ultraGrid2.UpdateData(); ultraGrid3.UpdateData(); ArrayList listMat = new ArrayList(); ArrayList listSupp = new ArrayList(); foreach (UltraGridRow row in ultraGrid2.Rows) { if (Convert.ToBoolean(row.GetCellValue("CHK"))) { String strItemCode = row.GetCellValue("itemCode").ToString().Trim(); if (String.IsNullOrEmpty(strItemCode)) { continue; } PurTaskMatSuppEntity matSupp = new PurTaskMatSuppEntity(); matSupp.ItemCode = strItemCode; listMat.Add(matSupp); } } foreach (UltraGridRow row in ultraGrid3.Rows) { if (Convert.ToBoolean(row.GetCellValue("CHK"))) { String strSuppCode = row.GetCellValue("suppCode").ToString().Trim(); if (String.IsNullOrEmpty(strSuppCode)) { continue; } PurTaskMatSuppEntity matSupp = new PurTaskMatSuppEntity(); matSupp.SuppCode = strSuppCode; listSupp.Add(matSupp); } } if (listMat.Count <= 0) { MessageUtil.ShowTips("请选择任务单行"); return; } if (listSupp.Count <= 0) { MessageUtil.ShowTips("请选择供应商"); return; } if (MessageUtil.ShowYesNoAndQuestion("确定新增物料供应商挂接关系?") == DialogResult.No) { return; } PurTaskMEntity task = new PurTaskMEntity(); task.TaskId = strTaskId; task.CreateName = UserInfo.GetUserName(); task.CreateUserid = UserInfo.GetUserID(); task.CreateTime = DateTime.Now; CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "addMatSupp", new object[] { task, listMat, listSupp, "1" }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("添加失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("添加成功"); // 查询任务从表 GetTaskC(); // 查询供应商 GetSupp(); } /// /// 生成合同 /// private void AddOrder() { UltraGridRow uge = ultraGrid1.ActiveRow; if (uge == null) { MessageUtil.ShowTips("请选择一行采购计划信息!"); return; } String strTaskId=uge.GetCellValue("TASKID").ToString(); if (String.IsNullOrEmpty(strTaskId)) { MessageUtil.ShowTips("任务单头的任务单号为空"); } String strStatus = getTaskStatusNum(); if (strStatus != "10") { MessageUtil.ShowTips("任务单不在待生成合同状态"); return; } frmOrderOK Omg = new frmOrderOK(this.ob, uge); Omg.ShowDialog(); GetTaskM(getEnSelContion()); comm.doActiveSelRow(ultraGrid1, "TASKID", strTaskId); } /// /// 开启报价 /// private void openRes() { if (ultraGrid1.ActiveRow == null) { MessageUtil.ShowTips("请选择要操作的任务单"); return; } String strTaskId = ultraGrid1.ActiveRow.GetCellValue("taskId").ToString().Trim(); if (String.IsNullOrEmpty(strTaskId)) { MessageUtil.ShowTips("任务单头的任务单号为空"); } string strFLOWTYPE = ""; PurTaskMEntity M_PurTaskM1 = new PurTaskMEntity(); M_PurTaskM1 = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString() }); if (M_PurTaskM1 != null) { strFLOWTYPE = M_PurTaskM1.FlowType; } if (ultraGrid1.ActiveRow.Cells["FUNCTIONVERSIONNAME"].Value.ToString().Trim() == "" && strFLOWTYPE == "122804") //122804 { MessageUtil.ShowTips("此任务单招标流程为功能性采购,必须选择一个招标方案"); return; } string strStatus = getTaskStatusNum(); if (strStatus == "18" || strStatus == "20") { if (ultraGrid1.ActiveRow.Cells["createUserid"].Value.ToString() != this.UserInfo.GetUserID()) { MessageUtil.ShowTips("此任务单计划不是当前登录用户创建,不能操作开启报价功能"); return; } if (MessageUtil.ShowYesNoAndQuestion("确定开启任务单【" + strTaskId + "】报价?") == DialogResult.No) { return; } PurTaskMEntity M_PurTaskM = new PurTaskMEntity(); M_PurTaskM.TaskId = strTaskId; M_PurTaskM.Status = "2"; M_PurTaskM.UpdateName = this.UserInfo.GetUserName(); M_PurTaskM.UpdateUserid = UserInfo.GetUserID(); CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doUpdate", new object[] { M_PurTaskM }); //PurTaskCEntity M_PurTaskC = new PurTaskCEntity(); //M_PurTaskC.TaskId = M_PurTaskM.TaskId; //M_PurTaskC.DeleteName = UserInfo.GetUserName(); //M_PurTaskC.DeleteUserid = UserInfo.GetUserID(); //M_PurTaskC.DeleteTime = System.DateTime.Now; //M_PurTaskC.Validflag = "0"; //CoreResult crt1 = this.execute("com.hnshituo.pur.purplan.service.TaskCService", "doUpdate", new object[] { M_PurTaskC }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("开启报价 " + crt.Resultmsg); return; } //if (crt1.Resultcode != 0) //{ // MessageUtil.ShowTips("撤销失败 " + crt1.Resultmsg); // return; //} MessageUtil.ShowTips("开启报价!"); //刷新任务单 GetTaskM(getEnSelContion()); comm.doActiveSelRow(ultraGrid1, "TaskId", M_PurTaskM.TaskId); } else { MessageUtil.ShowTips("当前状态无法开启报价"); } } /// /// 查询任务主表 /// public void GetTaskM(PurTaskMEntity M_PurTaskM) { dataTable2.Rows.Clear(); dataTable3.Rows.Clear(); dataTable4.Rows.Clear(); DataTable dt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "getTaskM", new object[] { M_PurTaskM }); //按创建时间降序 if (dt.Rows.Count > 0) { dt.DefaultView.Sort = "CREATETIME DESC"; dt = dt.DefaultView.ToTable(); } GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);//绑定物料分类表 ultraGrid1.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand); } /// /// 增加物料 /// public void AddMat() { if (ultraGrid1.ActiveRow != null) { if (getTaskStatusNum() != "18") { MessageUtil.ShowTips("任务单不为“待提报”,不能添加物料"); return; } FrmMatByMrIdChk frm = new FrmMatByMrIdChk(this.ob, ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString()); frm.ShowDialog(); if (frm.Q_dt != null) { DataTable dt = frm.Q_dt; ArrayList al_PurTaskC = new ArrayList(); // 任务单物料 for (int i = 0; i < dt.Rows.Count; ) { if (!dataTable2.Rows.Contains(new string[] { dt.Rows[i]["ITEMCODE"].ToString(), dt.Rows[i]["ITEMATTRID"].ToString() })) { PurTaskCEntity mod_PurTaskC = new PurTaskCEntity();//采购任务跟踪表 MatEntity mat = new MatEntity(); mat = this.execute("com.hnshituo.pur.configure.service.MatService", "findById", new object[] { dt.Rows[i]["ITEMCODE"].ToString() }); mod_PurTaskC = EntityHelper.CopyEntity(mat); mod_PurTaskC.TaskLineId = Guid.NewGuid().ToString(); mod_PurTaskC.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();//任务编号 mod_PurTaskC.MrLineId = dt.Rows[i]["MRLINEID"].ToString();//采购计划行号 mod_PurTaskC.Validflag = "1"; mod_PurTaskC.CreateName = UserInfo.GetUserName(); mod_PurTaskC.UpdateName = null; mod_PurTaskC.CreateTime = System.DateTime.Now; mod_PurTaskC.UpdateTime = null; mod_PurTaskC.CreateUserid = UserInfo.GetUserID(); al_PurTaskC.Add(mod_PurTaskC); dt.Rows.RemoveAt(i); } else { i++; } } if (al_PurTaskC.Count > 0) { CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "setTaskList", new object[] { null, al_PurTaskC, null, null }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("添加失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("添加成功!"); GetTaskC(); } } } } /// /// 添加供应商 /// public void AddSupp() { if (ultraGrid1.ActiveRow != null) { String strStatus = getTaskStatusNum(); if (strStatus != "18") { MessageUtil.ShowTips("任务单不在“待提报”状态,不能添加供应商 "); return; } ArrayList al = new ArrayList(); for (int i = 0; i < dataTable2.Rows.Count; i++) { al.Add(dataTable2.Rows[i]["ITEMCODE"].ToString()); } frmSuppChk frm = new frmSuppChk(this.ob, al, dataTable3); frm.ShowDialog(); if (frm.Q_dt != null) { DataTable dt = frm.Q_dt; ArrayList al_PurTaskSupps = new ArrayList(); // 采购任务供应商 for (int i = 0; i < dt.Rows.Count; i++) { PurTaskSuppsEntity mod_PurTaskSupps = new PurTaskSuppsEntity();//采购任务供应商 mod_PurTaskSupps.Id = Guid.NewGuid().ToString(); mod_PurTaskSupps.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(); mod_PurTaskSupps.SuppCode = dt.Rows[i]["SUPPCODE"].ToString(); mod_PurTaskSupps.SuppName = dt.Rows[i]["SUPPNAME"].ToString(); mod_PurTaskSupps.Validflag = "1"; mod_PurTaskSupps.CreateUserid = UserInfo.GetUserID(); mod_PurTaskSupps.CreateName = UserInfo.GetUserName(); mod_PurTaskSupps.CreateTime = System.DateTime.Now; al_PurTaskSupps.Add(mod_PurTaskSupps); } CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "setTaskList", new object[] { null, null, al_PurTaskSupps, null }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("添加失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("添加成功"); GetSupp(); } } } /// /// 添加评标人员 /// public void AddEva() { if (ultraGrid1.ActiveRow != null) { String strStatus = getTaskStatusNum(); if (strStatus != "18") { MessageUtil.ShowTips("任务单状态不为“待提报”,不能添加评标人员"); return; } frmPopEvaUsers frm = new frmPopEvaUsers(this.ob, ultraGrid1.ActiveRow.Cells["TaskId"].Value.ToString()); //frm.ShowDialog(); GetEva(); } } private void UpdTask() { string strStatu = getTaskStatusNum(); if (strStatu != "18" && strStatu != "20" && strStatu != "7" && strStatu != "6" && strStatu != "2" && strStatu != "3" && strStatu != "4") { MessageUtil.ShowTips("任务单可能已定标导致无权限修改"); return; } //if (MessageUtil.ShowYesNoAndQuestion("是否确定更新?") == DialogResult.No) //{ //return; //} if (ultraGrid1.ActiveRow == null) { MessageUtil.ShowTips("没有数据可更新"); return; } if (ultraGrid1.ActiveRow.Cells["createUserid"].Value.ToString() != this.UserInfo.GetUserID()) { MessageUtil.ShowTips("此任务单计划不是当前登录用户创建,不能修改"); return; } string strTaskId=ultraGrid1.ActiveRow.Cells["TaskId"].Value.ToString(); frm_PurTaskMUpd frm = new frm_PurTaskMUpd(dataTable2, dataTable3, dataTable4, this.ob, strTaskId); frm.ShowDialog(); //刷新任务单 GetTaskM(getEnSelContion()); ConfigureClassCommon.doActiveSelRow(ultraGrid1, "TASKID", strTaskId);//激活当前行 } /// /// 更新任务主表 /// public void UpdTaskM() { //if (getTaskStatus() != "待提报") //{ // MessageUtil.ShowTips("任务单状态不为“待提报”,不能修改"); // return; //} //if (MessageUtil.ShowYesNoAndQuestion("是否确定更新?") == DialogResult.No) //{ // return; //} //if (ultraGrid1.ActiveRow == null) //{ // MessageUtil.ShowTips("没有数据可更新"); // return; //} //PurTaskMEntity M_PurTaskM = new PurTaskMEntity(); //M_PurTaskM.Remark = txt_REMARK.Text;//备注 //M_PurTaskM.TaskName = txt_TASK_NAME.Text;//任务名称 //M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();//任务编号 //M_PurTaskM.OfferTimeStart = DateTime.Parse(ultDt_OFFER_TIME_START.Value.ToString()); //M_PurTaskM.OfferTimeEnd = DateTime.Parse(ultDt_OFFER_TIME_END.Value.ToString()); //M_PurTaskM.UpdateName = UserInfo.GetUserName(); //M_PurTaskM.UpdateUserid = UserInfo.GetUserID(); //if (ultDt_ASK_DELIVER_DATE.Value != ultraGrid2.ActiveRow.Cells["ASKDELIVERDATE"].Value) //{ // PurTaskCEntity M_PurTaskC = new PurTaskCEntity(); // M_PurTaskC.TaskLineId = ultraGrid2.ActiveRow.Cells["TASKLINEID"].Value.ToString(); // if (ultDt_ASK_DELIVER_DATE.Value != null) // { // M_PurTaskC.AskDeliverDate = (DateTime)ultDt_ASK_DELIVER_DATE.Value; // } // CoreResult crt1 = this.execute("com.hnshituo.pur.purplan.service.TaskCService", "doUpdate", new object[] { M_PurTaskC }); // if (crt1.Resultcode != 0) // { // MessageUtil.ShowTips("修改失败 " + crt1.Resultmsg); // return; // } //} ////M_PurTaskM.UpdateTime = System.DateTime.Now; //CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doUpdate", new object[] { M_PurTaskM }); //if (crt.Resultcode != 0) //{ // MessageUtil.ShowTips("修改失败 " + crt.Resultmsg); // return; //} //MessageUtil.ShowTips("修改成功"); ////刷新任务单 //GetTaskM(getEnSelContion()); //ConfigureClassCommon.doActiveSelRow(ultraGrid1, "TASKID", M_PurTaskM.TaskId);//激活当前行 } /// /// 删除任务主表 /// public void DelTaskM() { if (getTaskStatusNum() != "18" && getTaskStatusNum() != "21") { MessageUtil.ShowTips("当前状态不能删除"); return; } if (ultraGrid1.ActiveRow == null) { MessageUtil.ShowTips("没有数据可删除"); return; } if (ultraGrid1.ActiveRow.Cells["createUserid"].Value.ToString() != this.UserInfo.GetUserID()) { MessageUtil.ShowTips("此任务单计划不是当前登录用户创建,不能删除"); return; } if (MessageUtil.ShowYesNoAndQuestion("确定要删除任务单【" + ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString() + "】?") == DialogResult.No) { return; } PurTaskMEntity M_PurTaskM = new PurTaskMEntity(); M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(); M_PurTaskM.DeleteName = UserInfo.GetUserName(); M_PurTaskM.DeleteUserid = UserInfo.GetUserID(); M_PurTaskM.DeleteTime = System.DateTime.Now; M_PurTaskM.Validflag = "0"; M_PurTaskM.Status = "22"; CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doDeleteTask", new object[] { M_PurTaskM }); //PurTaskCEntity M_PurTaskC = new PurTaskCEntity(); //M_PurTaskC.TaskId = M_PurTaskM.TaskId; //M_PurTaskC.DeleteName = UserInfo.GetUserName(); //M_PurTaskC.DeleteUserid = UserInfo.GetUserID(); //M_PurTaskC.DeleteTime = System.DateTime.Now; //M_PurTaskC.Validflag = "0"; //CoreResult crt1 = this.execute("com.hnshituo.pur.purplan.service.TaskCService", "doUpdate", new object[] { M_PurTaskC }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("删除失败 " + crt.Resultmsg); return; } //if (crt1.Resultcode != 0) //{ // MessageUtil.ShowTips("撤销失败 " + crt1.Resultmsg); // return; //} MessageUtil.ShowTips("删除成功!"); //刷新任务单 GetTaskM(getEnSelContion()); } /// /// 查询任务从表 /// public void GetTaskC() { // 查询任务从表 dataTable2.Clear(); PurTaskCEntity M_PurTaskC = new PurTaskCEntity(); M_PurTaskC.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(); 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);//绑定物料分类表 ultraGrid2.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand); } /// /// 查询供应商 /// public void GetSupp() { dataTable3.Clear(); if (ultraGrid1.ActiveRow != null) { // 查询供应商 PurTaskSuppsEntity M_PurTaskSupps = new PurTaskSuppsEntity(); M_PurTaskSupps.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(); 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() { dataTable4.Clear(); if (ultraGrid1.ActiveRow != null) { // 查询供应商 PurTaskEvaUsersEntity TaskEvaUsersEntity = new PurTaskEvaUsersEntity(); TaskEvaUsersEntity.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(); TaskEvaUsersEntity.Validflag = "1"; DataTable dt = this.execute("com.hnshituo.pur.purplan.service.TaskEvaUsersService", "find", new object[] { TaskEvaUsersEntity, 0, 0 }); GridHelper.CopyDataToDatatable(ref dt, ref dataTable4, true);//绑定物料分类表 ultraGrid4.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand); } } /// /// 刷新任务从表,供应商 /// /// /// private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { try { // 查询任务从表 GetTaskC(); // 查询供应商 GetSupp(); // 评标人员 GetEva(); } catch (Exception ex) { MessageUtil.ShowTips("加载任务单从表异常:"+ex.Message); } } /// /// 删除物料 /// /// /// private void ultraGrid2_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { if (getTaskStatusNum() != "18") { MessageUtil.ShowTips("任务单状态不为“待提报”,不能删除物料"); return; } if (DialogResult.Yes != MessageUtil.ShowYesNoAndQuestion("确定删除吗?")) { return; } PurTaskCEntity M_PurTaskC = new PurTaskCEntity(); M_PurTaskC.TaskLineId = ultraGrid2.ActiveRow.Cells["TASKLINEID"].Value.ToString(); M_PurTaskC.DeleteName = UserInfo.GetUserName(); M_PurTaskC.DeleteUserid = UserInfo.GetUserID(); //M_PurTaskC.DeleteTime = System.DateTime.Now; M_PurTaskC.Validflag = "0"; CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskCService", "doUpdate", new object[] { M_PurTaskC }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("删除失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("删除成功!"); GetTaskC(); } /// /// 删除供应商 /// /// /// private void ultraGrid3_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { if (ultraGrid1.ActiveRow == null) { MessageUtil.ShowTips("请选择任务单记录信息"); return; } if (getTaskStatusNum() != "18") { MessageUtil.ShowTips("任务单状态不为“待提报”,不能删除供应商"); return; } if (DialogResult.Yes != MessageUtil.ShowYesNoAndQuestion("确定删除吗?")) { return; } //string strTaskStatus = getTaskStatusNum(); //if (!string.IsNullOrEmpty(strTaskStatus)) //{ // if (int.Parse(strTaskStatus) > 3) // { // MessageUtil.ShowTips("任务单开标后不能删除"); // return; // } //} CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskSuppsService", "doDelete", new object[] { ultraGrid3.ActiveRow.Cells["ID"].Value.ToString() }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("删除失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("删除成功!"); GetSupp(); } /// /// 删除评标人员 /// /// /// private void ultraGrid4_ClickCellButton(object sender, CellEventArgs e) { if (getTaskStatusNum() != "18") { MessageUtil.ShowTips("任务单状态不为“待提报”,不能删除评标人员"); return; } if (DialogResult.Yes != MessageUtil.ShowYesNoAndQuestion("确定删除吗?")) { return; } PurTaskEvaUsersEntity M_PurTaskC = new PurTaskEvaUsersEntity(); M_PurTaskC.Id = ultraGrid4.ActiveRow.Cells["Id"].Value.ToString(); M_PurTaskC.DeleteName = UserInfo.GetUserName(); M_PurTaskC.DeleteUserId = UserInfo.GetUserID(); //M_PurTaskC.DeleteTime = System.DateTime.Now; M_PurTaskC.Validflag = "0"; CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskEvaUsersService", "doUpdate", new object[] { M_PurTaskC }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("删除失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("删除成功!"); GetEva(); } /// /// 获取查询条件 /// /// private PurTaskMEntity getEnSelContion() { PurTaskMEntity entity = new PurTaskMEntity(); entity.ValidDataPurviewIds = this.ValidDataPurviewIds; //判断当前拥有此页面功能的角色是否启用数据权限,//0未启用 string QstrDataFlag = this.execute("com.hnshituo.pur.utils.service.UtilsService", "getRoleDataFlag", new object[] { UserInfo.GetUserID(), "Pur.pur_plan.frmTaskMana_MC" }); if (QstrDataFlag == "0")//0未启用 { if (ck_isAlldepart.Checked) { entity.CreateUserid = this.UserInfo.GetUserID(); } } 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(); } if (ck_isCreateT.Checked) { if (txt_CreateTimeStart.Value != null)//创建开始时间 { entity.UpdateTime = (((DateTime)txt_CreateTimeStart.Value)).AddDays(-1); } if (txt_CreateTimeEnd.Value != null)//创建结束时间 { entity.CreateTime = ((DateTime)txt_CreateTimeEnd.Value).AddDays(1); } } entity.Validflag = "1"; return entity; } /// /// 进入评标 /// private void getBEvaluation() { if (ultraGrid1.ActiveRow != null) { //if (getTaskStatus() != "评标中") //{ // MessageUtil.ShowTips("任务单状态不在评标中,不能进入评标"); // return; //} //frmInto_Examine frm = new frmInto_Examine(this.ob, ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString()); FrmPopExamine frm = new FrmPopExamine(this.ob, ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString()); frm.ShowDialog(); string strTastId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(); GetTaskM(getEnSelContion()); ConfigureClassCommon.doActiveSelRow(ultraGrid1, "TASKID", strTastId);//激活当前行 } } /// /// 打包询价 /// private void setEvaluation() { if (ultraGrid1.ActiveRow != null) { FrmPop_setPriceAll frm = new FrmPop_setPriceAll(this.ob, ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(), "setEvaluation"); frm.ShowDialog(); string strTastId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(); GetTaskM(getEnSelContion()); ConfigureClassCommon.doActiveSelRow(ultraGrid1, "TASKID", strTastId);//激活当前行 } } /// /// 打包询价 /// private void setPriceAll() { if (ultraGrid1.ActiveRow != null) { FrmPop_setPriceAll frm = new FrmPop_setPriceAll(this.ob, ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(), "setPriceAll"); frm.ShowDialog(); } } /// /// 生成价格审批单 /// private void setTaskPrice() { if (ultraGrid1.ActiveRow != null) { frmSetTaskPrice frm = new frmSetTaskPrice(this.ob, ultraGrid1.ActiveRow); frm.ShowDialog(); } } /// /// 撤销提报 /// private void QuiteTask() { if (ultraGrid1.ActiveRow != null) { if (MessageUtil.ShowYesNoAndQuestion("确认撤销提报?") == DialogResult.Yes) { string strStatus = getTaskStatusNum(); if (strStatus != "19" && strStatus != "20") { MessageUtil.ShowTips("状态不为“审批中”,不能撤销提报"); return; } if (ultraGrid1.ActiveRow.Cells["createUserid"].Value.ToString() != this.UserInfo.GetUserID()) { MessageUtil.ShowTips("此任务单计划不是当前登录用户创建,不能撤销"); return; } PurTaskMEntity mod_PurTaskM = new PurTaskMEntity();//采购任务主表 mod_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(); mod_PurTaskM.Status = "18"; CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doUpdate", new object[] { mod_PurTaskM }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("撤销失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("撤销成功"); //刷新任务单 GetTaskM(getEnSelContion()); comm.doActiveSelRow(ultraGrid1, "TASKID", mod_PurTaskM.TaskId); } } } /// /// 废标功能 /// private void deleteTask() { if (ultraGrid1.ActiveRow != null) { //if (ultraGrid1.ActiveRow.Cells["STATUS"].Value.ToString() != "已定标") //{ // MessageUtil.ShowTips("状态不为“已定标”,不能关闭任务单"); // return; //} if (ultraGrid1.ActiveRow.Cells["createUserid"].Value.ToString() != this.UserInfo.GetUserID()) { MessageUtil.ShowTips("此任务单计划不是当前登录用户创建,不能废标"); return; } String strTaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(); //已生成合同失不能废标 //frmDeleteTask frm = new frmDeleteTask(); PurTaskMEntity mod_PurTaskM = new PurTaskMEntity();//采购任务主表 mod_PurTaskM.TaskId = strTaskId; mod_PurTaskM.Status = "17";//废标 mod_PurTaskM.AbolishName = UserInfo.GetUserName(); mod_PurTaskM.AbolishId = UserInfo.GetUserID(); mod_PurTaskM.AbolishTime = System.DateTime.Now; if (MessageUtil.ShowYesNoAndQuestion("确认废标?") != DialogResult.Yes) { return; } CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doUpdate_Abolish", new object[] { mod_PurTaskM,"1"}); if (crt.Resultcode != 0) { MessageUtil.ShowTips("操作失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("操作成功"); //刷新任务单 GetTaskM(getEnSelContion()); comm.doActiveSelRow(ultraGrid1, "TASKID", mod_PurTaskM.TaskId); } else { MessageUtil.ShowTips("请选择任务单头进行操作"); } } /// /// 废标功能 /// private void cancelDeleteTask() { if (ultraGrid1.ActiveRow != null) { String strTaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(); //已生成合同失不能废标 //frmDeleteTask frm = new frmDeleteTask(); PurTaskMEntity mod_PurTaskM = new PurTaskMEntity();//采购任务主表 mod_PurTaskM.TaskId = strTaskId; mod_PurTaskM.AbolishName = UserInfo.GetUserName(); mod_PurTaskM.AbolishId = UserInfo.GetUserID(); mod_PurTaskM.AbolishTime = System.DateTime.Now; if (MessageUtil.ShowYesNoAndQuestion("确认取消废标?") != DialogResult.Yes) { return; } CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doUpdate_Abolish", new object[] { mod_PurTaskM, "0" }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("操作失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("操作成功"); //刷新任务单 GetTaskM(getEnSelContion()); comm.doActiveSelRow(ultraGrid1, "TASKID", mod_PurTaskM.TaskId); } else { MessageUtil.ShowTips("请选择任务单头进行操作"); } } private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { //ultDt_ASK_DELIVER_DATE.Value = ultraGrid2.ActiveRow.Cells["ASKDELIVERDATE"].Value;//要求交货日期 //将所属供应颜色标记为红色 PurTaskMatSuppEntity p = new PurTaskMatSuppEntity(); p.TaskId = ultraGrid1.ActiveRow.Cells["taskid"].Value.ToString(); p.ItemCode = ultraGrid2.ActiveRow.Cells["ItemCode"].Value.ToString(); p.Validflag = "1"; DataTable dt = this.execute("com.hnshituo.pur.purplan.service.TaskMatSuppService", "find", new object[] { p,0,0 }); foreach(UltraGridRow ugr in ultraGrid3.Rows) { bool isTrue = false; foreach(DataRow dr in dt.Rows) { if (ugr.Cells["suppcode"].Value.ToString() == dr["suppcode"].ToString()) { isTrue = true; break; } } if (isTrue) { ugr.CellAppearance.ForeColor = System.Drawing.Color.Orange; } else { ugr.CellAppearance.ForeColor = Color.Black;// System.Drawing.Color.FromArgb(255, 128, 0); } } } /// /// 提报 /// private void Report() { if (ultraGrid1.ActiveRow == null) { MessageUtil.ShowTips("没有数据可提报"); return; } if (getTaskStatusNum() != "18" && getTaskStatusNum() != "21") { MessageUtil.ShowTips("当前状态不能提报"); return; } if (ultraGrid1.ActiveRow.Cells["createUserid"].Value.ToString() != this.UserInfo.GetUserID()) { MessageUtil.ShowTips("此任务单计划不是当前登录用户创建,不能提报"); return; } if (MessageUtil.ShowYesNoAndQuestion("确定提报任务号【" + ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString() + "】?").Equals(DialogResult.No)) { return; } PurTaskMEntity M_PurTaskM = new PurTaskMEntity(); M_PurTaskM.Status = "20";// M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(); M_PurTaskM.OperatorUserId = UserInfo.GetUserID(); //M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();//任务编号 CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doSubmit", new object[] { M_PurTaskM }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("提报失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("提报成功"); //刷新任务单 GetTaskM(getEnSelContion()); ConfigureClassCommon.doActiveSelRow(ultraGrid1, "TASKID", M_PurTaskM.TaskId);//激活当前行 } /// /// /// /// public string getTaskStatusNum() { string strTaskStatus = ""; PurTaskMEntity M_PurTaskM = new PurTaskMEntity(); M_PurTaskM = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString() }); if (M_PurTaskM != null) { strTaskStatus = M_PurTaskM.Status; } return strTaskStatus; } /// /// 科长审批 /// private void examine() { if (ultraGrid1.ActiveRow == null) { MessageUtil.ShowTips("没有数据可审批"); return; } if (getTaskStatusNum() != "19") { MessageUtil.ShowTips("当前状态不为“审批中”不能审批"); return; } string strTips = ""; PurTaskMEntity M_PurTaskM = new PurTaskMEntity(); M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(); M_PurTaskM.OperatorUserId = UserInfo.GetUserID(); frmExamineShow Fex = new frmExamineShow(); Fex.ShowDialog(); if(Fex.Status=="2")//审批通过 { M_PurTaskM.Status = "20";//去掉审批环节,提报后直接改状态为审批通过 strTips = "通过"; } else if (Fex.Status == "1")//审批不通过 { M_PurTaskM.Status = "21";//去掉审批环节,提报后直接改状态为审批通过 strTips = "不通过"; } //M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();//任务编号 CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doSubmit", new object[] { M_PurTaskM }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("审批失败 " + crt.Resultmsg); return; } MessageUtil.ShowTips("审批结果:" + strTips); //刷新任务单 GetTaskM(getEnSelContion()); ConfigureClassCommon.doActiveSelRow(ultraGrid1, "TASKID", M_PurTaskM.TaskId);//激活当前行 } private void ck_isCreateT_CheckedChanged(object sender, EventArgs e) { txt_CreateTimeStart.Enabled = ck_isCreateT.Checked; txt_CreateTimeEnd.Enabled = ck_isCreateT.Checked; } } }