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.Mes.Client.Comm.Server; using Core.StlMes.Client.SaleOrder.Dialog; using Core.StlMes.Client.SaleOrder.ReviewForm; namespace Core.StlMes.Client.SaleOrder { /// /// 价格评审 当CustomInfo=ChPrice时 价格变更界面 /// public partial class frmOrderReviewPrice : FrmBase { public frmOrderReviewPrice() { InitializeComponent(); this.IsLoadUserView = true; } bool queryPass = false; public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "doQuery": this.Query(); break; case "doAdd": this.doAdd(); //放行通过 break; case "PricePass": //价格通过 PricePass(); break; case "doUpdate": this.doUpdate(); break; case "doClose": this.Close(); break; case "ExportOrd": GridHelper.ulGridToExcel(gdorder, "审批合同信息"); break; //-------ChPrice----价格变更界面(查询 销售 国贸 钢贸 的数据 进行价格维护或者变更)-------------------------- case "Query": ChgeQuery(); break; case "UndoConfirm": UndoConfirm(); break; case "Export": GridHelper.ulGridToExcel(gdPrice, "价格查询"); break; case "Import": ImportData(); break; } } /// /// 导入数据 /// private void ImportData() { FrmExcelToGrid fet = new FrmExcelToGrid(this.ob); string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid()); if (UserInfo.GetUserName() == "admin") saleOrg = "100101"; fet.SaleOrg = saleOrg; fet.ShowDialog(); } /// /// 价格评审 /// private void PricePass() { if (gdorder.ActiveRow == null) { MessageBox.Show("请选择需要价格评审的数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } string ordPk = gdorder.ActiveRow.Cells["ORD_PK"].Value.ToString(); FrmPriceConfirm fpc = new FrmPriceConfirm(this.ob, ordPk); fpc.Size = new Size(1280, 720); if (this.CustomInfo == "ChPrice") //默认为0(审批影响合同状态) fpc.FormUse = "1"; else if (this.CustomInfo.Equals("ChPrice1")) fpc.FormUse = "4"; else if (queryPass == true) fpc.FormUse = "4"; fpc.SaleOrg = gdorder.ActiveRow.Cells["SALE_ORG"].Value.ToString(); fpc.ShowDialog(); if (fpc.DialogResult == DialogResult.OK) { // MessageUtil.ShowTips("评审通过!"); if (CustomInfo == "ChPrice") { ChgeQuery(); } else if (CustomInfo == "ChPrice") { ChgeQuery(); } else { Query(); } } } /// /// 原有的评审不通过 弃用 /// public void doUpdate() { if (gdorder.ActiveRow == null) { MessageBox.Show("请选择需要评审不通过的数据。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } if (MessageUtil.ShowQuestion("确认评审不通过?").ToString().ToLower().Equals("yes")) { string ordPk = gdorder.ActiveRow.Cells["ORD_PK"].Value.ToString(); 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.frmOrderReviewPrice"; ccp.MethodName = "priceReviewBack"; ccp.ServerParams = new object[] { ordPk, name, dept, reviewMemo }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp == null) return; else { if (ccp.ReturnCode == -1) { MessageUtil.ShowWarning(ccp.ReturnObject.ToString()); return; } } Query(); } } /// /// 价格放行通过 /// public void doAdd() { gdorder.UpdateData(); int flag = 0; ArrayList parm = new ArrayList(); foreach (UltraGridRow row in gdorder.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value)) { parm.Add(row.Cells["ORD_PK"].Value.ToString()); flag += 1; } } if (flag == 0) { MessageBox.Show("请选择需要价格放行通过的数据。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } if (MessageUtil.ShowQuestion("确认价格放行通过?") == DialogResult.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.frmOrderReviewPrice"; ccp.MethodName = "priceReviewPass"; 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.ReturnObject.ToString()); return; } } MessageUtil.ShowTips("价格放行通过!"); Query(); } } /// /// 查询 /// public void Query() { if (ultraTabControl2.ActiveTab.Key.Equals("tab1")) { UltraGridRow ugr = gdorder.ActiveRow; string pk = ""; if (ugr != null) pk = ugr.Cells["ORD_PK"].Value.ToString(); //签约时间 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.Trim(); } } //评审状态 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 = ServerHelper.GetData("com.steering.pss.sale.order.frmOrderReviewPrice.CoreOrderReviewPriceQuery", new Object[] { date, order, appstatus, arr, queryPass, this.CustomInfo }, this.ob); gdorder.DataSource = dt; if (!queryPass) { gdorder.DisplayLayout.Bands[0].Columns["REVIEW_ITM"].Hidden = true; gdorder.DisplayLayout.Bands[0].Columns["REVIEW_STATUS"].Hidden = true; gdorder.DisplayLayout.Bands[0].Columns["REVIEW_F_RS"].Hidden = true; } if (dt.Rows.Count <= 0) { this.slmOrderPrice.Clear(); } if (ugr != null) { foreach (UltraGridRow row in gdorder.Rows) { if (row.Cells["ORD_PK"].Value.ToString() == pk) { row.Activate(); break; } } } } else { QueryPrice(); } } private void frmOrderReviewPrice_Load(object sender, EventArgs e) { DateTime Today = DateTime.Now; this.date_starte.DateTime = Today.Date.AddMonths(-1); this.date_end.DateTime = DateTime.Today; dtEnd.Value = DateTime.Now.ToString("yyyy-MM-dd"); dtStart.Value = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd"); if (this.CustomInfo == "ChPrice" || this.CustomInfo == "ChPrice1") { //DataTable dt = new DataTable(); //dt.Columns.Add("CODE",typeof(System.String)); //dt.Columns.Add("NAME", typeof(System.String)); //dt.Rows.Add(new object[] {"L","封锁" }); //dt.Rows.Add(new object[] { "W", "待审" }); //dt.Rows.Add(new object[] { "S", "通过" }); //dt.Rows.Add(new object[] { "F", "不通过" }); //dt.Rows.Add(new object[] { "D", "无效" }); //app_chm.DataSource = dt; //app_chm.DisplayMember = "NAME"; //app_chm.ValueMember = "CODE"; app_no.Visible = false; app_chm.Visible = false; ultraLabel1.Visible = false; gdorder.DisplayLayout.Bands[0].Columns["CHK"].Hidden = true; chkPass.Visible = false; } else { gdorder.DisplayLayout.Bands[0].Columns["BAL_PRICE_STATUS"].Hidden = true; Appstatus(); } } /// /// 绑定评审状态 /// private void Appstatus() { DataTable dt = Globals.GetData("com.steering.pss.sale.order.CoreOrderReviewLaw.appStatus", null, this.ob); dt = OrderFunction.FilterDataTable(dt, new string[] { "12020224", "12020231", "12020232" }); app_chm.DataSource = dt; app_chm.DisplayMember = "BASENAME"; app_chm.ValueMember = "BASECODE"; } 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 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 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 orde_cho_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) { if (CustomInfo == "ChPrice") { ChgeQuery(); } else { 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 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 ChgeQuery() { UltraGridRow ugr = gdorder.ActiveRow; string pk = ""; if (ugr != null) pk = ugr.Cells["ORD_PK"].Value.ToString(); //签约时间 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.Trim(); } } string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid()); if (UserInfo.GetUserID() == "admin") //管理员特权 saleOrg = "admin"; string[] arr = this.ValidDataPurviewIds; DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.frmOrderReviewPrice.chgeQueryPrice", new Object[] { date, order, arr, saleOrg }, this.ob); gdorder.DataSource = dt; if (dt.Rows.Count <= 0) { this.slmOrderPrice.Clear(); } if (ugr != null) { foreach (UltraGridRow row in gdorder.Rows) { if (row.Cells["ORD_PK"].Value.ToString() == pk) { row.Activate(); break; } } } } private void chkPass_CheckedChanged(object sender, EventArgs e) { if (chkPass.Checked) { queryPass = true; if (toolMenu.Toolbars[0].Tools.Exists("doAdd")) this.ToolBarItemEnable(this, "doAdd", false); Query(); } else { queryPass = false; if (toolMenu.Toolbars[0].Tools.Exists("doAdd")) this.ToolBarItemEnable(this, "doAdd", true); Query(); } } private void ultraTabControl2_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { try { if (e.Tab.Key.Equals("tab1")) { if (toolMenu.Toolbars[0].Tools.Exists("UndoConfirm")) toolMenu.Toolbars[0].Tools["UndoConfirm"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("doAdd")) toolMenu.Toolbars[0].Tools["doAdd"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True; if (toolMenu.Toolbars[0].Tools.Exists("PricePass")) toolMenu.Toolbars[0].Tools["PricePass"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True; if (toolMenu.Toolbars[0].Tools.Exists("Export")) toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("Import")) toolMenu.Toolbars[0].Tools["Import"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True; if (toolMenu.Toolbars[0].Tools.Exists("ExportOrd")) toolMenu.Toolbars[0].Tools["ExportOrd"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True; } else if (e.Tab.Key.Equals("tab2")) { if (toolMenu.Toolbars[0].Tools.Exists("doAdd")) toolMenu.Toolbars[0].Tools["doAdd"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("PricePass")) toolMenu.Toolbars[0].Tools["PricePass"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("UndoConfirm")) toolMenu.Toolbars[0].Tools["UndoConfirm"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True; if (toolMenu.Toolbars[0].Tools.Exists("Export")) toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True; if (toolMenu.Toolbars[0].Tools.Exists("Import")) toolMenu.Toolbars[0].Tools["Import"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("ExportOrd")) toolMenu.Toolbars[0].Tools["ExportOrd"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False; } } catch { } } private void frmOrderReviewPrice_Shown(object sender, EventArgs e) { if (toolMenu.Toolbars[0].Tools.Exists("UndoConfirm")) toolMenu.Toolbars[0].Tools["UndoConfirm"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False; if (toolMenu.Toolbars[0].Tools.Exists("Export")) toolMenu.Toolbars[0].Tools["Export"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False; if (this.CustomInfo == "ChPrice" || this.CustomInfo == "ChPrice1") { ultraTabControl2.Tabs["tab2"].Visible = false; } } private void chkOrderNo_CheckedChanged(object sender, EventArgs e) { if (chkOrderNo.Checked) { txtOrderNo.ReadOnly = false; } else { txtOrderNo.ReadOnly = true; } } private void chkStatus_CheckedChanged(object sender, EventArgs e) { if (chkStatus.Checked) { cmbStatus.ReadOnly = false; } else { cmbStatus.ReadOnly = true; } } private void QueryPrice() { UltraGridRow ugr = gdPrice.ActiveRow; string pk = ""; string timeStart = ""; string timeEnd = ""; if (ugr != null) pk = ugr.Cells["ORD_PK"].Value.ToString(); //合同号 string order = ""; string priceNo = ""; if (chkOrderNo.Checked) { order = txtOrderNo.Text.Trim(); } if (chk_PriceNo.Checked) { priceNo = txt_PriceNo.Text.Trim(); } //评审状态 string appstatus = ""; if (chkStatus.Checked) { if (cmbStatus.SelectedItem != null) appstatus = cmbStatus.Value.ToString(); } if (chkTime.Checked) { if (dtStart.Value == null || dtEnd.Value == null) { MessageUtil.ShowWarning("请选择时间!"); return; } if (DateTime.Compare(dtStart.DateTime, dtEnd.DateTime) > 0) { MessageUtil.ShowWarning("开始时间不能大于结束时间!"); return; } timeStart = dtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01"; timeEnd = dtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59"; } WaitingForm2 wf = new WaitingForm2(); wf.Msg = "数据处理中,请稍等。。。"; wf.Show(); wf.Update(); try { string[] arr = this.ValidDataPurviewIds; DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.frmOrderReviewPrice.queryPrice", new Object[] { order, appstatus, arr, priceNo, timeStart, timeEnd }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true); if (ugr != null) { foreach (UltraGridRow row in gdorder.Rows) { if (row.Cells["ORD_PK"].Value.ToString() == pk) { row.Activate(); break; } } } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); } finally { wf.ShowToUser = false; wf.Close(); } } private void txtOrderNo_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) QueryPrice(); } private void UndoConfirm() { gdPrice.UpdateData(); ArrayList list = new ArrayList(); int flag = 0; foreach (UltraGridRow ugr in gdPrice.Rows) { if (Convert.ToBoolean(ugr.Cells["CHK"].Value)) { flag += 1; if (!list.Contains(ugr.Cells["ORD_PK"].Value.ToString())) { list.Add(ugr.Cells["ORD_PK"].Value.ToString()); } } } if (flag == 0) { MessageUtil.ShowWarning("请选择您要取消确认的合同!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否取消确认选择的合同?") == DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.IfShowErrMsg = false; ccp.ServerName = "com.steering.pss.sale.order.frmOrderReviewPrice"; ccp.MethodName = "undoConfirm"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp != null) { if (ccp.ReturnCode == -1) { MessageUtil.ShowWarning(ccp.ReturnInfo); return; } MessageUtil.ShowTips("取消操作成功!"); QueryPrice(); } } private void chkTime_CheckedChanged(object sender, EventArgs e) { dtStart.Enabled = chkTime.Checked; dtEnd.Enabled = chkTime.Checked; } private void chk_PriceNo_CheckedChanged(object sender, EventArgs e) { txt_PriceNo.Enabled = chk_PriceNo.Checked; } } }