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 Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm; using Pur.Entity.configureEntity; using Infragistics.Win.UltraWinGrid; using System.Collections; using Pur.Entity.pur_orderEntiy; using Pur.configure; using Pur.Pop_upWindow; using Pur.require_plan; using Core.Mes.Client.Comm.Tool; using com.hnshituo.pur.vo; using Bpm; using com.hnshituo.bpm.req.vo; using Core.Mes.Client.Comm.Server; using Infragistics.Win.UltraWinEditors; using Pur.PublicTools; namespace Pur.order { public partial class FrmPurOrderApproval : FrmPmsBase { protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle |= 0x02000000;//用双缓冲绘制窗口的所有子控件 return cp; } } //合同上传 String fileName = ""; String strIsbatch = ""; public FrmPurOrderApproval() { InitializeComponent(); this.IsLoadUserView = true; } private void FrmPurOrderApproval_Load(object sender, EventArgs e) { ultraTabControl2.Tabs["change"].Visible = false; strIsbatch=this.CustomInfo == null ? "" : this.CustomInfo.ToString();//1:为批量审批 if (strIsbatch == "1") { ultraGrid1.DisplayLayout.Bands[0].Columns["CHK"].Hidden = true; } txt_createTimeStart.Value = DateTime.Now.AddMonths(-1); txt_createTimeEnd.Value = DateTime.Now.AddDays(1); txt_createTimeEnd.Enabled = true; txt_createTimeStart.Enabled = true; CK_Ctime.Checked = true; txt_Status.SelectedIndex = 1; //加载合同类别 //合同类别 DataTable dt1 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1200" }, this.ob); comm.FilComboboxAdd(COP_OrderType, dt1, "baseCode", "baseName", "validflag NOT in ('0')", true, "全部", ""); COP_OrderType.SelectedIndex = 0; DataTable dt2 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1235" }, this.ob); comm.FilComboboxAdd(order_from_combo, dt2, "baseCode", "baseName", "validflag NOT in ('0')", true, "全部", ""); order_from_combo.SelectedIndex = 0; GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[0], new string[] { "CHK" }); //加载待审批和已审批的合同头 GetPUR_ORDER_M(); ultraExpandableGroupBox1.Expanded = false; } #region toolbar菜单按钮事件 public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": GetPUR_ORDER_M(); break; case "Approval"://单个审批 AppPUR_ORDER_M(); //AppPUR_ORDER_M_all(); break; case "ApprovalBatch": AppPUR_ORDER_M_all();//批量审批 break; case "Process": Process(); break; case "FinishedAuditOutline": FinishedAuditOutline(); break; case "getReportReview": getReportHTReview(); break; case "doExcel": doExcel(); break; } } /// /// 导出Excel /// private void doExcel() { try { ArrayList alUltraGrid = new ArrayList(); alUltraGrid.Add(ultraGrid1); alUltraGrid.Add(ultraGrid2); alUltraGrid.Add(ultraGrid3); ArrayList alSheeft = new ArrayList(); alSheeft.Add("合同主表"); alSheeft.Add("合同行表"); alSheeft.Add("合同条款"); if (ultraGrid1.Rows.Count > 0) { GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "合同");//导出excel } //MessageUtil.ShowTips("导出成功"); } catch (Exception e) { MessageUtil.ShowTips("导出失败" + e.Message); } finally { } } /// /// 转入线下审批 /// private void FinishedAuditOutline() { try { UltraGridRow uge = ultraGrid1.ActiveRow; if (uge == null) { MessageUtil.ShowTips("请选择合同头!"); return; } String strOrderId = uge.Cells["OrderId"].Value.ToString().Trim(); OrderM Odm = new OrderM(); Odm.OrderId = strOrderId; Odm.OperatorUserId = UserInfo.GetUserID(); OrderM Omg = this.execute("com.hnshituo.pur.order.service.OrderMService", "findById", new object[] { strOrderId }); if (Omg == null) { MessageUtil.ShowTips("未发现合同【" + strOrderId + "】的信息记录,可能已作废,或请刷新界面重新操作!"); return; } if (Omg.Validflag != "1") { MessageUtil.ShowWarning("合同【" + strOrderId + "】可能已作废,或请刷新界面重新操作!"); return; } if (Omg.Status != "2") { MessageUtil.ShowWarning("合同可能未提报审批或者已审批,无法完成一键审批!"); return; } if (MessageBox.Show("确认将合同[" + strOrderId + "]转入线下审批? 备注:请确保已在供应部完成审批。", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } CoreResult rt = this.execute("com.hnshituo.pur.order.service.OrderMService", "finishedAuditOutline", new object[] { Odm }); if (rt.Resultcode != 0) { MessageUtil.ShowTips("操作失败:" + rt.Resultmsg); return; } MessageUtil.ShowTips("操作成功!"); GetPUR_ORDER_M(); publicPms.doActiveSelRow(ultraGrid1, "orderId", strOrderId); } catch (Exception ex) { MessageUtil.ShowTips(ex.Message); } } /// /// 审批 /// private void AppPUR_ORDER_M()// 单个审批 { try { UltraGridRow uge = ultraGrid1.ActiveRow; if (uge == null) { MessageUtil.ShowWarning("无审批信息,请检查后操作!"); return; } //if (MessageBox.Show("将审批合同ID为[" + uge.Cells["OrderId"].Value.ToString() + "]的合同?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) //{ // return; //} OrderM Omg = this.execute("com.hnshituo.pur.order.service.OrderMService", "findById", new object[] { uge.Cells["OrderId"].Value.ToString() }); if (!Omg.Status.Equals("2")) { MessageUtil.ShowWarning("合同" + uge.Cells["OrderId"].Value.ToString() + "尚未送审或已审批,请刷新后再操作!"); return; } frmExamineShow Fex = new frmExamineShow(); Fex.ShowDialog(); if (Fex.Status == null) { return; } string OrderId = uge.Cells["OrderId"].Value.ToString(); //OrderM Odm = new OrderM(); //Odm.OrderId = uge.Cells["OrderId"].Value.ToString(); //Odm.Status = "2"; //this.execute("com.hnshituo.pur.order.service.OrderMService", "doUpdate", new object[] { Odm }); //CoreResult rt = this.execute("com.hnshituo.pur.order.service.OrderMService", "doUpdate", new object[] { Odm }); ReqCompleteTask req = new ReqCompleteTask(); req.OperatorUserId = UserInfo.GetUserID(); req.TaskId = uge.Cells["BpmTaskId"].Value.ToString(); if (Fex.Status.Equals("2")) { req.AuditData = true; req.AuditMessage = Fex.ExamineMessage; CoreResult crt = this.execute("com.hnshituo.pur.order.service.OrderMService", "bpmAudit1", new object[] { req,Omg }); if (crt.Resultcode == -1) { MessageUtil.ShowTips("合同" + OrderId + "审批失败!" + crt.Resultmsg); return; } MessageUtil.ShowTips("操作成功"); GetPUR_ORDER_M(); } else if (Fex.Status.Equals("1")) { req.AuditData = false; req.AuditMessage = Fex.ExamineMessage; CoreResult crt = this.execute("com.hnshituo.pur.order.service.OrderMService", "bpmAudit1", new object[] { req, Omg }); if (crt.Resultcode == -1) { MessageUtil.ShowTips("合同" + OrderId + "审批失败!" + crt.Resultmsg); return; } OrderM ReqM = new OrderM(); ReqM.OrderId = OrderId; ReqM.Status = "5"; CoreResult rt = this.execute("com.hnshituo.pur.order.service.OrderMService", "doUpdate", new object[] { ReqM }); if (rt.Resultcode != 0) { MessageUtil.ShowTips("需求计划单" + uge.Cells["MrId"].Value.ToString() + "审批失败!" + crt.Resultmsg); return; } MessageUtil.ShowTips("操作成功"); GetPUR_ORDER_M(); } } catch (Exception ex) { MessageUtil.ShowTips(ex.Message); } } /// /// 批量审批 /// private void AppPUR_ORDER_M_all() { try { ultraGrid1.UpdateData(); ArrayList list = new ArrayList(); foreach (UltraGridRow row in ultraGrid1.Rows) { if (Convert.ToBoolean(row.GetCellValue("CHK")) == true) { OrderM pm = new OrderM(); pm.OrderId = row.GetCellValue("orderId").ToString().Trim(); pm.DeleteUserid = row.GetCellValue("BpmTaskId").ToString().Trim(); pm.DeleteName = UserInfo.GetUserID();//审批人ID list.Add(pm); } } if (list.Count <= 0) { MessageUtil.ShowTips("请选择需要审批的合同!"); return; } //UltraGridRow uge = ultraGrid1.ActiveRow; // ArrayList al = setUserPlan(); frmExamineShowNew frm = new frmExamineShowNew(list, this.ob, "order"); frm.ShowDialog(); if (frm.tips == "1") { GetPUR_ORDER_M(); } } catch (Exception ex) { MessageUtil.ShowTips(ex.Message); } } /// /// 查询 /// private void GetPUR_ORDER_M()// 查询 { dataSet1.Clear(); dataSet2.Clear(); message.Clear(); OrderM Odm = new OrderM(); Odm.OrderType = COP_OrderType.Value == null ? null : COP_OrderType.Value.ToString().Trim(); Odm.OrderId = COP_OrderId.Text.ToString().Trim(); Odm.SuppName = COP_SuppName.Text.ToString().Trim(); if (CK_Ctime.Checked) { if (txt_createTimeStart.Text != "") { Odm.CreateTime = Convert.ToDateTime(txt_createTimeStart.Value); } if (txt_createTimeEnd.Text != "") { Odm.UpdateTime = Convert.ToDateTime(txt_createTimeEnd.Value); } } if (txt_Status.SelectedIndex == -1) { MessageUtil.ShowTips("请选择数据范围进行查询"); } Odm.Validflag = "1"; Odm.BpmUserId = UserInfo.GetUserID(); Odm.ValidDataPurviewIds = this.ValidDataPurviewIds; Odm.BuyerDeptDesc = Buyer_Dept_Txt.Value.ToString2(); Odm.OrderForm = order_from_combo.Text.ToString2().Equals("全部") ? "" : order_from_combo.Text.ToString2(); DataTable dt = new DataTable(); if (txt_Status.SelectedIndex == -1) { return; } if (txt_Status.Value.ToString().Trim() == "wait") { dt = this.execute("com.hnshituo.pur.order.service.OrderMService", "find_audit_OrderM", new object[] { Odm }); } else if (txt_Status.Value.ToString().Trim() == "did") { dt = this.execute("com.hnshituo.pur.order.service.OrderMService", "find_audited_OrderM", new object[] { Odm }); } else { dt = this.execute("com.hnshituo.pur.order.service.OrderMService", "find_OrderM", new object[] { Odm }); } GridHelper.CopyDataToDatatable(dt, dataTable1, true); GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid1, new string[] { "ItemNames", "PriceWithTaxs", "qtys" }); } /// /// 合同评审单 /// private void getReportHTReview()//打印合同审批表 { try { this.Cursor = Cursors.WaitCursor; UltraGridRow ugr = ultraGrid1.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择您要查看合同审批表的合同!"); return; } //string ordLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString(); //string saleOrg = ugr.Cells["SALE_ORG"].Value.ToString(); //string ordPk = ugr.Cells["ORD_PK"].Value.ToString(); string orderNo = ugr.Cells["OrderId"].Value.ToString(); string strurl = ""; DataTable dt = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1223" }, this.ob); DataRow[] drArr = dt.Select("validflag='1'"); if (drArr.Length != 1) { MessageUtil.ShowTips("基础数据维护错误:报表系统需维护有效的Ip且只能维护一个有效ip!"); return; } String TipsEnv = drArr[0]["baseName"].ToString(); String strUrlPort = "http://172.54.10.42:8080";//报表系统IP String[] str = strUrlPort.Split(':'); String strUrl = str[0] + ":" + str[1]; if (ob.MainUrl.StartsWith(strUrl)) { //测试环境 if (TipsEnv == "2") { strurl = strUrlPort + "/webroot/decision/view/report?viewlet=RepPurOrderReviewDev.cpt&op=view" + "&cmbOrder=" + orderNo; } else { strurl = strUrlPort + "/webroot/decision/view/report?viewlet=RepPurOrderReview.cpt&op=view" + "&cmbOrder=" + orderNo; } } else { //测试环境 if (TipsEnv == "2") { strurl = strUrlPort + "/webroot/decision/view/report?viewlet=RepPurOrderReviewDev.cpt&op=view" + "&cmbOrder=" + orderNo; } else { strurl = strUrlPort + "/webroot/decision/view/report?viewlet=RepPurOrderReview.cpt&op=view" + "&cmbOrder=" + orderNo; } } //if (ob.MainUrl.StartsWith("http://127.0.0.1")) //{ // strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=RepPurOrderReviewDev.cpt&__bypagesize__=false" + "&cmbOrder=" + orderNo; //} //else //{ // strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=RepPurOrderReview.cpt&__bypagesize__=false" + "&cmbOrder=" + orderNo; //} FrmRepExcel fBug = new FrmRepExcel(ob, strurl); fBug.AutoSize = true; fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fBug.WindowState = FormWindowState.Maximized; fBug.Text = "TPCO合同审批表查询"; fBug.Show(); } finally { this.Cursor = Cursors.Default; } } /// /// 查看流程详情 /// private void Process()//查看流程详情 { UltraGridRow uge = ultraGrid1.ActiveRow; if (uge == null) { MessageUtil.ShowWarning("请选择合同!"); return; } String strOrderId = uge.Cells["OrderId"].Value.ToString().Trim(); if (String.IsNullOrEmpty(strOrderId)) { MessageUtil.ShowWarning("数据异常,合同头信息合同号为空!"); return; } ProcInstDetail detail = new ProcInstDetail(BpmFlowConstants.PROCDEF_PUR_ORDER_AUDIT, strOrderId); detail.ShowDialog(); } #endregion #region 界面事件 /// /// grid1激活事件 /// /// /// private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)// grid1激活事件 { UltraGridRow uge= ultraGrid1.ActiveRow; getOrderDetail(uge); } /// /// 加载合同明细信息 /// /// private void getOrderDetail(UltraGridRow uge)// 加载合同明细信息 { dataTable2.Clear(); dataTable3.Clear(); dataTable5.Clear(); change.Clear(); jy_procRecord.Clear(); message.Clear(); ConfigureClassCommon.clearOldData(panel1); OrderC odC = new OrderC(); String strOrderId = uge.Cells["OrderId"].Value.ToString().Trim(); String strModeId = uge.Cells["ModeId"].Value.ToString().Trim(); String strTaskRecordId = uge.Cells["TaskRecordId"].Value.ToString().Trim(); if (!String.IsNullOrEmpty(strOrderId)) { odC.OrderId = strOrderId; odC.Validflag = "1"; DataTable dt = this.execute("com.hnshituo.pur.order.service.OrderCService", "doQueryOrderC", new object[] { odC, 0, 0 }); GridHelper.CopyDataToDatatable(dt, dataTable2, true); GridHelper.RefreshAndAutoSize(ultraGrid2); } if (!String.IsNullOrEmpty(strOrderId)) { OrderCClause clause = new OrderCClause(); clause.OrderId = strOrderId; DataTable dt = this.execute("com.hnshituo.pur.order.service.OrderCClauseService", "find_Clause", new object[] { clause }); GridHelper.CopyDataToDatatable(dt, dataTable3, true); GridHelper.RefreshAndAutoSize(ultraGrid3); } //加载采购纪要数据 if (!String.IsNullOrEmpty(strTaskRecordId)) { PurTaskRecordEntity taskRecord = this.execute("com.hnshituo.pur.purplan.service.TaskRecordService", "findById", new object[] { strTaskRecordId }); if (taskRecord!=null) { jy_buyerUsername.Text = taskRecord.BuyerUsername; jy_mngOrgName.Text = taskRecord.MngOrgName; jy_negDate.Value = taskRecord.NegDate; if (taskRecord.ProcRecord != null) { jy_procRecord.Text = taskRecord.ProcRecord.Replace("\n", "\r\n"); } jy_taskId.Text = taskRecord.TaskId; jy_taskName.Text = taskRecord.TaskName; jy_type.Value = taskRecord.Type; DataTable dt6 = this.execute("com.hnshituo.pur.purplan.service.TaskEvaService", "doQueryEva", new object[] { taskRecord.TaskId }); GridHelper.CopyDataToDatatable(dt6, dataTable5, true); GridHelper.RefreshAndAutoSize(ultraGrid6); } } getOrderAppend(strOrderId, ""); //加载评审意见 getOrderReview(strOrderId); //加载变更记录 getOrderChangeRecord(strOrderId); } /// /// 加载合同变更记录 /// /// private void getOrderChangeRecord(string strOrderId) { change.Clear(); OrderChangeM change1 = new OrderChangeM(); if (strOrderId.EndsWith("BG")) { change1.OrderIdB = strOrderId; } else { change1.OrderId = strOrderId; } change1.Validflag = "1"; DataTable dt = this.execute("com.hnshituo.pur.order.service.OrderChangeMService", "find", new object[] { change1, 0, 0 }); if (dt != null && dt.Rows.Count > 0) { ultraTabControl2.Tabs["change"].Visible = true; GridHelper.CopyDataToDatatable(dt, dataTable6, true); GridHelper.RefreshAndAutoSize(ultraGrid8); } else { ultraTabControl2.Tabs["change"].Visible = false; } } /// /// 查询条件--创建时间控制 /// /// /// private void CK_Ctime_CheckedChanged(object sender, EventArgs e)// 查询条件--创建时间控制 { txt_createTimeStart.Enabled = CK_Ctime.Checked; txt_createTimeEnd.Enabled = CK_Ctime.Checked; } #endregion /// /// 获取合同评审意见 /// /// private void getOrderReview(string strOrderId) { DataTable dt11 = this.execute("com.hnshituo.pur.order.service.OrderMService", "getReviewMsg", new object[] { strOrderId }); GridHelper.CopyDataToDatatable(dt11, dataTable7, true); GridHelper.RefreshAndAutoSize(ultraGrid5); } private void txt_Status_ValueChanged(object sender, EventArgs e) { GetPUR_ORDER_M(); if (strIsbatch != "1") { foreach (UltraGridRow row in ultraGrid1.Rows) { row.Cells["CHK"].Value = false; } if (txt_Status.SelectedIndex == 1)//待审批 { ultraGrid1.DisplayLayout.Bands[0].Columns["CHK"].Hidden = false; } else { ultraGrid1.DisplayLayout.Bands[0].Columns["CHK"].Hidden = true; } } } #region 文件上传 private void craftImg_EditorButtonClick(object sender, EditorButtonEventArgs e) { try { UltraGridRow row = ultraGrid4.ActiveRow; string filePathOld = row.GetValue("certPathOld"); if (e.Button.Key.ToLower().Equals("select")) { FrmPopFileShow down = new FrmPopFileShow(this.ob, filePathOld); down.DeleteButton.Visible = false; down.ShowDialog(); } } catch (Exception ex) { MessageUtil.ShowTips("操作失败:" + ex); } } private void txt_certPath_EditorButtonClick(object sender, EditorButtonEventArgs e) { try { if (e.Button.Key.ToLower().Equals("insert")) { OpenFileDialog file = new OpenFileDialog(); file.Multiselect = false; DialogResult drStat; drStat = file.ShowDialog(); if (drStat == DialogResult.OK) { fileName = file.FileName; String filePathlocal = System.IO.Path.GetFullPath(fileName); string filena = System.IO.Path.GetFileName(fileName); txt_certPath.Text = filena; txt_certpath_local.Text = filePathlocal; } } } catch (Exception ex) { MessageUtil.ShowTips("操作失败:" + ex); } } //上传按钮 private void btn_submitAppend_Click(object sender, EventArgs e) { if (ultraGrid1.ActiveRow == null) { MessageUtil.ShowTips("未选择合同头"); return; } String filena = txt_certPath.Text.ToString().Trim(); if (String.IsNullOrEmpty(filena) || String.IsNullOrEmpty(fileName)) { MessageUtil.ShowTips("请选择待上传文件"); return; } string strOrderId = ultraGrid1.ActiveRow.GetValue("orderId"); OrderAppend sat = new OrderAppend(); sat.OrderId = strOrderId; String filePathNew = "Pms/CERT/" + strOrderId + "/"; sat.CertPath = filena; sat.CertPathOld = filePathNew + filena; sat.CreateUserid = UserInfo.GetUserID(); sat.CreateName = UserInfo.GetUserName(); sat.CreateTime = DateTime.Now; sat.Validflag = "1"; sat.CertDesc = txt_CERTDESC.Text.Trim(); if (GetCraftFileCraftNoCnt(filena, strOrderId) > 0) { MessageUtil.ShowTips("合同已存在该附件文件:" + filena); return; } List list = new List(); FileBean bean = new FileBean(); bean = new FileBean(); bean.setFileName(filena); bean.setPathName(filePathNew); bean.setFile(FileHelper.FileToArray(fileName)); list.Add(bean); bool isSuccess = Core.Mes.Client.Comm.Server.FileHelper.Upload(list); if (isSuccess) { //开始写数据库 CoreResult crt = this.execute("com.hnshituo.pur.order.service.OrderAppendService", "insert_append", new object[] { sat }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("上传失败:" + crt.Resultmsg); } else { MessageUtil.ShowTips("上传成功"); ClearTab5(); } } else { MessageBox.Show("上传失败"); } //刷新界面并激活当前行 Relocate(sat); } private void Relocate(OrderAppend sat) { getOrderAppend(sat.OrderId, sat.CertPath); } /// /// 判断是否之前已提交相同的文件 /// /// /// private int GetCraftFileCraftNoCnt(string CERT_PATH, string orderId) { OrderAppend sat = new OrderAppend(); sat.CertPath = CERT_PATH; sat.OrderId = orderId; sat.Validflag = "1"; int dt = this.execute("com.hnshituo.pur.order.service.OrderAppendService", "count", new object[] { sat }); return dt; } /// /// 清空文件上传编辑区 /// private void ClearTab5() { txt_certPath.Clear(); txt_certpath_local.Clear(); txt_CERTDESC.Clear(); fileName = ""; } /// /// 加载合同附件 /// /// /// private void getOrderAppend(string strOrderId, string p) { dataTable4.Clear(); OrderAppend append = new OrderAppend(); append.OrderId = strOrderId; append.Validflag = "1"; DataTable dt = this.execute("com.hnshituo.pur.order.service.OrderAppendService", "find", new object[] { append, 0, 0 }); GridHelper.CopyDataToDatatable(dt, dataTable4, true); GridHelper.RefreshAndAutoSize(ultraGrid4); if (!String.IsNullOrEmpty(p)) { ConfigureClassCommon.doActiveSelRow(ultraGrid4, "CERTPATH", p); } } //删除 private void tbn_delete_Click(object sender, EventArgs e) { UltraGridRow uge = ultraGrid1.ActiveRow; if (uge == null) { MessageUtil.ShowTips("请选择合同头!"); return; } String strOrderId = uge.Cells["OrderId"].Value.ToString().Trim(); if (String.IsNullOrEmpty(strOrderId)) { MessageUtil.ShowTips("该合同头编号为空!"); return; } UltraGridRow rowAppend = ultraGrid4.ActiveRow; if (rowAppend == null) { MessageUtil.ShowTips("请选择需删除的附件!"); return; } String strAppendID = rowAppend.Cells["ID"].Value.ToString().Trim(); String strcertPath = rowAppend.Cells["CERTPATH"].Value.ToString().Trim(); String strCertPathOld = rowAppend.Cells["CERTPATHOLD"].Value.ToString().Trim(); if (String.IsNullOrEmpty(strAppendID)) { MessageUtil.ShowTips("该合同附件编号为空!"); return; } if (String.IsNullOrEmpty(strCertPathOld)) { MessageUtil.ShowTips("未获取到合同附件地址信息!"); return; } //验证合同头是否可以增删改 if (testOrderAppendStatus(strAppendID, 1) == false) { return; } OrderAppend append = new OrderAppend(); append.Id = strAppendID; append.Validflag = "0"; append.DeleteName = UserInfo.GetUserName(); append.DeleteTime = DateTime.Now; append.DeleteUserid = UserInfo.GetUserID(); if (MessageUtil.ShowYesNoAndQuestion("确定删除合同附件:" + strcertPath + "?") != DialogResult.Yes) { return; } CoreResult crt = this.execute("com.hnshituo.pur.order.service.OrderAppendService", "delete_append", new object[] { append }); if (crt.Resultcode != 0) { MessageUtil.ShowTips("删除失败!" + crt.Resultmsg); return; } else { bool isSuccess = Core.Mes.Client.Comm.Server.FileHelper.Delete(strCertPathOld); if (isSuccess) { MessageUtil.ShowTips("删除成功"); } else { MessageBox.Show("删除成功"); } } getOrderAppend(strOrderId, ""); } /// /// 验证合同条款输入数据的有效性 /// /// private bool testOrderAppendStatus(String strId, int p)// 验证合同附件 { OrderAppend append = this.execute("com.hnshituo.pur.order.service.OrderAppendService", "findById", new object[] { strId }); if (append == null) { MessageUtil.ShowTips("未发现合同附件:" + strId + "信息记录,可能已作废"); return false; } if (append.Validflag != "1") { MessageUtil.ShowTips("合同附件:" + strId + "信息记录可能已作废"); return false; } if (append.CreateUserid != UserInfo.GetUserID()) { MessageUtil.ShowTips("非本人上传合同附件无权限进行增删改"); return false; } if (p == 1) { } else { MessageUtil.ShowTips("未知参数:" + p + ""); return false; } return true; } #endregion private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e) { if (e.Row.Cells["status"].Value.ToString().Equals("审批不通过") || e.Row.Cells["status"].Value.ToString().Equals("草稿")) { e.Row.Appearance.ForeColor = Color.Red; } else if (e.Row.Cells["status"].Value.ToString().StartsWith("合同变更中")) { e.Row.Appearance.ForeColor = Color.Gray; } else { e.Row.Appearance.ForeColor = Color.Black; } if (e.Row.Cells["orderId"].Value.ToString().EndsWith("BG")) { e.Row.Appearance.ForeColor = Color.Blue; } } private void ultraGrid8_AfterRowActivate(object sender, EventArgs e) { dataTable8.Clear(); String strChangeId = ultraGrid8.ActiveRow.GetCellValue("changeId").ToString(); txt_changeDesc.Text = ultraGrid8.ActiveRow.GetCellValue("CHANGERECORD").ToString().Replace("\n", "\r\n"); if (String.IsNullOrEmpty(strChangeId)) { return; } OrderChangeD change = new OrderChangeD(); change.ChangeId = strChangeId; change.Validflag = "1"; DataTable dt = this.execute("com.hnshituo.pur.order.service.OrderChangeDService", "find", new object[] { change, 0, 0 }); GridHelper.CopyDataToDatatable(dt, dataTable8, true); GridHelper.RefreshAndAutoSize(ultraGrid7); } } }