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 System.Collections; using Core.Mes.Client.Comm.Control; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.SaleOrder.Dialog; using Core.Mes.Client.Comm.Server; namespace Core.StlMes.Client.SaleOrder { public partial class frmOrderReviewLaw : FrmBase { //界面数据展示涉及的表:SLM_ORDER_HEAD(合同头,界面上层的GRID区域);SLM_ORDER_MODEL_HEAD、SLM_ORDER_MODEL_ITEM(范本信息,通过合同头记录中的范本编号获取) //查询时如果无设定条件,默认查询当前日期往后一个月的数据 public frmOrderReviewLaw() { InitializeComponent(); } /// /// 查询条件 0 未盖章 1 已盖章 2 全部 /// private string queryFlag = "2"; public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "doQuery": this.Query(); break; case "doAdd": this.doAdd(); break; case "doUpdate": this.doUpdate(); break; case "Seal": DoSeal(); break; case "doClose": this.Close(); break; } } /// /// 法务评审不通过 /// public void doUpdate() { gdorder.UpdateData(); ArrayList parm = new ArrayList(); int count = 0; foreach (UltraGridRow row in gdorder.Rows) { if (row.Cells["CHK"].Value.ToString().ToUpper() == "TRUE") { string ordPk = row.Cells["ORD_PK"].Value.ToString(); parm.Add(ordPk); count += 1; } } if (count == 0) { MessageBox.Show("请选择需要评审不通过的数据。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } if (MessageUtil.ShowQuestion("确认评审不通过吗?").ToString().ToLower().Equals("yes")) { string name = UserInfo.GetUserName(); string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob); dept = dept + "-" + UserInfo.GetDepartment(); dlgReviewMemo dlg = new dlgReviewMemo(); dlg.ReviewFlag = 0; dlg.ReviewSatus = "评审不通过"; dlg.ShowDialog(); string reviewMemo = dlg.ReviewMemo; if (dlg.DialogResult != DialogResult.OK) return; CoreClientParam ccp = new CoreClientParam(); ccp.IfShowErrMsg = false; ccp.ServerName = "com.steering.pss.sale.order.CoreOrderReviewLaw"; ccp.MethodName = "lawReviewBack"; ccp.ServerParams = new object[] { parm, name, dept, reviewMemo }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp == null) return; else { if (ccp.ReturnCode == -1) { MessageUtil.ShowWarning(ccp.ReturnInfo); return; } } Query(); } } /// /// 法务评审通过 /// public void doAdd() { gdorder.UpdateData(); ArrayList parm = new ArrayList(); int count = 0; foreach (UltraGridRow row in gdorder.Rows) { if (row.Cells["CHK"].Value.ToString().ToUpper() == "TRUE") { string ordPk = row.Cells["ORD_PK"].Value.ToString(); parm.Add(ordPk); count += 1; } } if (count == 0) { MessageBox.Show("请选择需要评审通过的数据。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } if (MessageUtil.ShowQuestion("确认评审通过?").ToString().ToLower().Equals("yes")) { string name = UserInfo.GetUserName(); string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob); dept = dept + "-" + UserInfo.GetDepartment(); dlgReviewMemo dlg = new dlgReviewMemo(); dlg.ReviewFlag = 1; dlg.ReviewSatus = "评审通过"; dlg.ShowDialog(); string reviewMemo = dlg.ReviewMemo; if (dlg.DialogResult != DialogResult.OK) return; CoreClientParam ccp = new CoreClientParam(); ccp.IfShowErrMsg = false; ccp.ServerName = "com.steering.pss.sale.order.CoreOrderReviewLaw"; ccp.MethodName = "lawReviewPass"; ccp.ServerParams = new object[] { parm, name, dept, reviewMemo }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp == null) return; else { if (ccp.ReturnCode == -1) { MessageUtil.ShowWarning(ccp.ReturnInfo); return; } } Query(); } } /// /// 商务条款状态修正。 /// /// /// private void UpdateOrderModelSts(string modelSts, string ordPk) { Globals.SetData("com.steering.pss.sale.order.CoreOrderReviewLaw.UpdateOrderModelSts", new object[] { modelSts, ordPk }, this.ob); } public void Query() { if (ultraTabControl2.ActiveTab.Key.Equals("Law0")) { string date = ""; if (che_date.Checked) { if (Convert.ToDateTime(date_starte.Value) > Convert.ToDateTime(date_end.Value)) { date_starte.Focus(); MessageBox.Show("输入日期范围不正确!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } else { string strFrom1 = Convert.ToDateTime(date_starte.Value).ToString("yyyy-MM-dd") + " 00:00:01"; string strTo1 = Convert.ToDateTime(date_end.Value).ToString("yyyy-MM-dd") + " 23:59:59"; date += " AND B.APPROVAL_TIME BETWEEN TO_DATE('" + strFrom1 + "' ,'YYYY-MM-DD HH24:MI:SS') AND TO_DATE( '" + strTo1 + "','YYYY-MM-DD HH24:MI:SS')"; } } else { date += " AND B.APPROVAL_TIME BETWEEN TO_DATE('1000-01-01 00:00:01' ,'YYYY-MM-DD HH24:MI:SS') AND TO_DATE( '9999-12-31 23:59:59','YYYY-MM-DD HH24:MI:SS')"; } //合同号 string order = ""; if (ord_no.Checked) { if (orde_cho.Text == "") { MessageBox.Show("请输入合同号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } else { order = orde_cho.Text; } } //评审状态 string appstatus = ""; if (app_no.Checked) { if (app_chm.Text == "") { MessageBox.Show("请输入评审状态!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } else { appstatus = app_chm.Value.ToString().Trim();//ultraComboEditor1.Value.ToString().Trim() } } string[] arr = this.ValidDataPurviewIds; DataTable dt = Globals.GetData("com.steering.pss.sale.order.CoreOrderReviewLaw.CoreOrderReviewLawQuery", new Object[] { date, order, appstatus, arr,this.CustomInfo }, this.ob); gdorder.DataSource = dt; if (dt.Rows.Count <= 0) { if (oditem.DataSource is DataTable) { DataTable odDt = (DataTable)oditem.DataSource; odDt.Clear(); } } for (int i = 0; i < gdorder.Rows.Count; i++) { if (gdorder.Rows[i].Cells["CUSTOMER_MODEL_FL"].Value.ToString() == "0") { gdorder.Rows[i].Cells["CUSTOMER_MODEL_FL"].Value = true; } else { gdorder.Rows[i].Cells["CUSTOMER_MODEL_FL"].Value = false; } } //列自适应 GridHelper.RefreshAndAutoSizeExceptColumns(gdorder, new UltraGridColumn[] { }); } else if (ultraTabControl2.ActiveTab.Key.Equals("Law1")) { QueryRecord(); } } private void frmOrderReviewLaw_Load(object sender, EventArgs e) { DateTime Today = DateTime.Now; this.date_starte.DateTime = Today.Date.AddMonths(-1); this.date_end.DateTime = DateTime.Today; Appstatus(); EntityHelper.ShowGridCaption(gdRecord.DisplayLayout.Bands[0]); } /// /// 绑定评审状态 /// private void Appstatus() { DataTable dt = Globals.GetData("com.steering.pss.sale.order.CoreOrderReviewLaw.appStatus", null, this.ob); dt = OrderFunction.FilterDataTable(dt, new string[] { "12020232", "12020241", "12020242", "12020251" }); app_chm.DataSource = dt; app_chm.DisplayMember = "BASENAME"; app_chm.ValueMember = "BASECODE"; } private void ord_no_CheckedChanged(object sender, EventArgs e) { orde_cho.Enabled = ord_no.Checked; } private void app_no_CheckedChanged(object sender, EventArgs e) { app_chm.Enabled = app_no.Checked; } private void che_date_CheckedChanged(object sender, EventArgs e) { if (che_date.Checked) { date_starte.ReadOnly = false; date_end.ReadOnly = false; } else { date_starte.ReadOnly = true; date_end.ReadOnly = true; } } private void gdorder_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = gdorder.ActiveRow; if (ugr == null) { doQueryOrder(""); controlOrderLine1.DoQueryLine("", this.ob); orderPrice1.DoQuery("", this.ob); designStatus1.DoQuery("", this.ob); } else { String key = ultraTabControl1.ActiveTab.Key; if (key.Equals("1")) { doQueryOrder(ugr.GetCellValue("ORDER_MODEL_NO").ToString()); } else if (key.Equals("2")) { controlOrderLine1.DoQueryLine(ugr.GetCellValue("ORD_PK").ToString(), this.ob); } else if (key.Equals("3")) { orderPrice1.DoQuery(ugr.GetCellValue("ORD_PK").ToString(), this.ob); } else if (key.Equals("4")) { designStatus1.DoQuery(ugr.GetCellValue("ORDER_NO").ToString(), this.ob); } else { DoQueryPriceInfo(ugr.GetCellValue("ORD_PK").ToString()); } foreach (UltraGridCell cell in ugr.Cells) { if (!cell.Column.Key.Equals("CHK")) cell.Activation = Activation.ActivateOnly; } } } private void doQueryOrder(string ordermodel) { DataTable dt = Globals.GetData("com.steering.pss.sale.order.CoreOrderReviewLaw.ordermodelQuery", new Object[] { ordermodel }, this.ob); oditem.DataSource = dt; //列自适应 GridHelper.RefreshAndAutoSizeExceptColumns(oditem, new UltraGridColumn[] { }); } private void gdorder_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { string acustom = gdorder.ActiveCell.Value.ToString(); dlgBuyerInfo spt = new dlgBuyerInfo(); spt.oPbd = this.ob; spt.customer = acustom; spt.FilePath = "checker"; spt.ShowDialog(); } private void orde_cho_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) Query(); } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { UltraGridRow ugr = gdorder.ActiveRow; if (ugr == null) { return; } String keyValue = e.Tab.Key; if (keyValue.Equals("1")) { doQueryOrder(ugr.GetCellValue("ORDER_MODEL_NO").ToString()); } else if (keyValue.Equals("2")) { controlOrderLine1.DoQueryLine(ugr.GetCellValue("ORD_PK").ToString(), this.ob); } else if (keyValue.Equals("3")) { orderPrice1.DoQuery(ugr.GetCellValue("ORD_PK").ToString(), this.ob); } else if (keyValue.Equals("4")) { designStatus1.DoQuery(ugr.GetCellValue("ORDER_NO").ToString(), this.ob); } else { DoQueryPriceInfo(ugr.GetCellValue("ORD_PK").ToString()); } } private void DoQueryPriceInfo(String ordPk) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReviewLaw.queryPriceInfo", new Object[] { ordPk }, this.ob); if (dt != null && dt.Rows.Count > 0) { ultraTextEditor1.Text = dt.Rows[0][0].ToString(); } else { ultraTextEditor1.Text = ""; } } private void frmOrderReviewLaw_Shown(object sender, EventArgs e) { if (toolMenu.Toolbars[0].Tools.Exists("Seal")) toolMenu.Toolbars[0].Tools["Seal"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False; } private void ultraTabControl2_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { if (toolMenu == null) return; if (ultraTabControl2.ActiveTab.Key.Equals("Law0")) // 法务评审 { if (toolMenu.Toolbars[0].Tools.Exists("doAdd")) toolMenu.Toolbars[0].Tools["doAdd"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True; if (toolMenu.Toolbars[0].Tools.Exists("doUpdate")) toolMenu.Toolbars[0].Tools["doUpdate"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True; if (toolMenu.Toolbars[0].Tools.Exists("Seal")) toolMenu.Toolbars[0].Tools["Seal"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False; SetControlVisible(true); radioPanel.Visible = false; } else if (ultraTabControl2.ActiveTab.Key.Equals("Law1")) //法务评审单 { if (toolMenu.Toolbars[0].Tools.Exists("doAdd")) toolMenu.Toolbars[0].Tools["doAdd"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("doUpdate")) toolMenu.Toolbars[0].Tools["doUpdate"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("Seal")) toolMenu.Toolbars[0].Tools["Seal"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True; SetControlVisible(false); radioPanel.Visible = true; radioPanel.Location = new Point(188, 2); } } private void QueryRecord() { string orderNo = ""; if (ord_no.Checked) orderNo = orde_cho.Text.Trim(); List list = EntityHelper.GetData ("com.steering.pss.sale.order.CoreOrderReviewLaw.queryLawRecord", new object[] { orderNo, queryFlag }, this.ob); slmLawReviewRecordEntityBindingSource.DataSource = list; GridHelper.RefreshAndAutoSize(gdRecord); } /// /// 设置控件是否隐藏 /// /// true 可见 false 隐藏 private void SetControlVisible(bool flag) { if (flag) { che_date.Visible = true; date_starte.Visible = true; ultraLabel12.Visible = true; date_end.Visible = true; app_no.Visible = true; app_chm.Visible = true; } else { che_date.Visible = false; date_starte.Visible = false; ultraLabel12.Visible = false; date_end.Visible = false; app_no.Visible = false; app_chm.Visible = false; } } private void radioYes_CheckedChanged(object sender, EventArgs e) { if (radioYes.Checked) queryFlag = "1"; QueryRecord(); } private void radioNo_CheckedChanged(object sender, EventArgs e) { if (radioNo.Checked) queryFlag = "0"; QueryRecord(); } private void radioAll_CheckedChanged(object sender, EventArgs e) { if (radioAll.Checked) queryFlag = "2"; QueryRecord(); } private void DoSeal() { gdRecord.UpdateData(); UltraGridRow[] rows = gdRecord.Rows.AsQueryable().Where(a => a.Cells["CHK"].Value.ToString() == "True").ToArray(); if (rows.Length <= 0) { MessageUtil.ShowWarning("请选择您要确认盖章的记录!"); return; } ArrayList parm = new ArrayList(); foreach (UltraGridRow row in rows) { if (row.Cells["ISSEAL"].Value.ToString() == "已盖章") { MessageUtil.ShowWarning("您选择的记录已确认盖章,不必重复确认!"); return; } parm.Add(row.Cells["RECORDID"].Value.ToString()); } if (MessageUtil.ShowYesNoAndQuestion("是否确认盖章?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.IfShowErrMsg = false; ccp.ServerName = "com.steering.pss.sale.order.CoreOrderReviewLaw"; ccp.MethodName = "confirmSeal"; ccp.ServerParams = new object[] { parm, UserInfo.GetUserName() }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp != null) { if (ccp.ReturnCode == -1) { MessageUtil.ShowWarning(ccp.ReturnInfo); return; } MessageUtil.ShowTips("确认盖章成功!"); QueryRecord(); } } private void gdRecord_AfterRowActivate(object sender, EventArgs e) { UltraGridRow row = gdRecord.ActiveRow; foreach (UltraGridCell cell in row.Cells) { if (cell.Column.Key.Equals("CHK")) cell.Activation = Activation.AllowEdit; else cell.Activation = Activation.ActivateOnly; } } } }