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 com.steering.pss.sale.order.model; using Core.Mes.Client.Comm.Tool; using Core.Mes.Client.Comm.Server; using System.Collections; using Infragistics.Win.UltraWinGrid; using Infragistics.Win.UltraWinEditors; using Core.StlMes.Client.SaleComm; namespace Core.StlMes.Client.SaleOrder.ReviewForm { public partial class frmOrderColligateInfomation : FrmBase { UltraComboEditor uceA = new UltraComboEditor(); UltraComboEditor uceB = new UltraComboEditor(); public frmOrderColligateInfomation() { InitializeComponent(); this.IsLoadUserView = true; } /// /// 重写基类toolBar方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": DoQuery(); break; case "Print": DoLink(); break; case "Refresh": DoRefresh(); break; case "PrintOrder": PrintOrder(); break; case "PrintOrderA4": PrintOrderA4(); break; case "PrintBackA4": PrintBackA4(); break; case "PrintOrderPreview": PrintOrderPreview(); break; case "Close": this.Close(); break; } } private void DoQuery() { DoQueryHead(); } private void DoSave() { ultraGridOrderLine.UpdateData(); UltraGridRow ugrHead = ultraGridOrderHead.ActiveRow; if (ugrHead == null) { MessageUtil.ShowWarning("请选择合同"); return; } IQueryable checkRows = ultraGridOrderLine.Rows.AsQueryable().Where(" CHC = 'True'"); if (checkRows.Count() == 0) { MessageUtil.ShowWarning("请选择合同行"); return; } ArrayList list = new ArrayList(); String orderSeq = ""; foreach (UltraGridRow ugr in checkRows) { PlnOrdCraftFileEntity fileEntity = new PlnOrdCraftFileEntity(); fileEntity.CraftFileFlagCode = ugr.Cells["CraftFileFlagCode"].Value.ToString().Trim(); fileEntity.CraftFileFlagNm = ugr.Cells["CraftFileFlagNm"].Value.ToString().Trim(); fileEntity.CraftFileMan = ugr.Cells["CraftFileMan"].Value.ToString().Trim(); fileEntity.CraftFileNo = ugr.Cells["CraftFileNo"].Value.ToString().Trim(); fileEntity.CraftFilePath = ugr.Cells["CraftFilePath"].Value.ToString().Trim(); fileEntity.CraftFileTypeCode = ugr.Cells["CraftFileTypeCode"].Value.ToString().Trim(); fileEntity.CraftFileTypeNm = ugr.Cells["CraftFileTypeNm"].Value.ToString().Trim(); fileEntity.OrderSeq = ugr.Cells["OrderSeq"].Value.ToString().Trim(); fileEntity.OrdLnPk = ugr.Cells["OrdLnPk"].Value.ToString().Trim(); fileEntity.OrdPk = ugr.Cells["OrdPk"].Value.ToString().Trim(); fileEntity.OrderNo = ugrHead.Cells["OrderNo"].Value.ToString(); fileEntity.CreateName = this.UserInfo.GetUserName(); fileEntity.UpdateName = this.UserInfo.GetUserName(); list.Add(fileEntity); orderSeq = fileEntity.OrderSeq.ToString(); } if (MessageUtil.ShowYesNoAndQuestion("是否保存?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.sale.order.CoreOrderColligateInfomation"; ccp.MethodName = "saveCraftFile"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); DoQueryLine(ugrHead.Cells["OrdPk"].Value.ToString()); foreach (UltraGridRow ugrline in ultraGridOrderLine.Rows) { if (ugrline.Cells["OrderSeq"].Text.Equals(orderSeq)) { ugrline.Activate(); } } } } private void DoRefresh() { if (ultraDateTimeEditorBegin.Value == null || ultraDateTimeEditorEnd.Value == null) { MessageUtil.ShowWarning("请选择正确的时间"); return; } ultraComboEditorOrderNo.DataSource = null; String beginTime = ultraDateTimeEditorBegin.Value.ToString(); String endTime = ultraDateTimeEditorEnd.Value.ToString(); DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreConReviewInfo.getOrdNoByTime", new Object[] { beginTime, endTime }, this.ob); ultraComboEditorOrderNo.DataSource = dt; } private void frmOrderInfomation_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(ultraGridOrderHead.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGridOrderLine.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGridOrderDeliry.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGridOrderTait.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGridOrderPrice.DisplayLayout.Bands[0]); InitDate(); InitCombo(); } /// /// 初始时间 /// private void InitDate() { ultraCheckEditorOrderNo.Checked = true; ultraDateTimeEditorBegin.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")).AddMonths(-1); ultraDateTimeEditorEnd.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")).AddDays(1).AddSeconds(-1); DoRefresh(); } private void DoQueryHead() { ArrayList param = new ArrayList(); if (ultraCheckEditorOrderNo.Checked) { param.Add(ultraComboEditorOrderNo.Text.Trim()); } else { param.Add(""); } if (ultraDateTimeEditorBegin.Value == null || ultraDateTimeEditorEnd.Value == null) { MessageUtil.ShowWarning("请选择正确的时间"); return; } string timeBegin = ""; string timeEnd = ""; timeBegin = "1000-01-01 00:00:01"; timeEnd = "9999-12-31 23:59:59"; if (chkTime.Checked) { timeBegin = ultraDateTimeEditorBegin.DateTime.ToString("yyyy-MM-dd") + " 00:00:01"; timeEnd = ultraDateTimeEditorEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59"; } param.Add(timeBegin); param.Add(timeEnd); int num = 0; if (radioBal.Checked) num = 0; if (radioAll.Checked) num = 1; List listSorce = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderColligateInfomation.getOrderHeadInfo", new object[] { param, this.ValidDataPurviewIds, num }, this.ob); slmOrderHeadEntityBindingSource.DataSource = listSorce; } private void DoQueryLine(String ordPk) { List listSorce = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderColligateInfomation.getOrderLineInfo", new object[] { ordPk }, this.ob); slmOrderLineNextEntityBindingSource.DataSource = listSorce; SetColumnReadOnly(); if (listSorce.Count == 0) { DoQueryPrice(""); DoQueryDelivry(""); } } private void DoQueryPrice(String ordLnPk) { List listSorce = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderColligateInfomation.getOrderPriceDetail", new object[] { ordLnPk }, this.ob); slmOrderPriceListEntityBindingSource.DataSource = listSorce; } private void ultraCheckEditorOrderNo_CheckedChanged(object sender, EventArgs e) { if (ultraCheckEditorOrderNo.Checked) { ultraComboEditorOrderNo.Enabled = true; } else { ultraComboEditorOrderNo.Enabled = false; } } private void ultraGridOrderHead_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = ultraGridOrderHead.ActiveRow; if (ugr == null) { return; } String priceNo = ugr.Cells["PriceNo"].Value.ToString().Trim(); if (priceNo.Length > 0) { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderColligateInfomation.getOrderPriceInfo", new Object[] { priceNo }, this.ob); if (dt != null && dt.Rows.Count > 0) { ultraLabel1.Text = dt.Rows[0][0].ToString(); } else { ultraLabel1.Text = ""; } } else { ultraLabel1.Text = ""; } String ordPk = ugr.Cells["OrdPk"].Value.ToString().Trim(); DoQueryLine(ordPk); } private void ultraGridOrderLine_AfterRowActivate(object sender, EventArgs e) { ultraGridOrderLine.UpdateData(); UltraGridRow ugr = ultraGridOrderLine.ActiveRow; if (ugr == null) { return; } String ordLnPk = ugr.Cells["OrdLnPk"].Value.ToString().Trim(); DoQueryPrice(ordLnPk); DoQueryDelivry(ordLnPk); } private void DoQueryDelivry(String ordLnPk) { List listSorce = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderInfomation.getOrderDelivyInfo", new object[] { ordLnPk }, this.ob); slmOrderLineDeliveryEntityBindingSource.DataSource = listSorce; if (listSorce.Count == 0) { DoQuerygTranSit(""); } } private void DoQuerygTranSit(String ordLnDlyPk) { List listSorce = EntityHelper.GetData( "com.steering.pss.sale.order.CoreOrderInfomation.getOrderTranSit", new object[] { ordLnDlyPk }, this.ob); slmOrderDeliveryTransitEntityBindingSource.DataSource = listSorce; } private void ultraGridOrderDeliry_AfterRowActivate(object sender, EventArgs e) { UltraGridRow ugr = ultraGridOrderDeliry.ActiveRow; if (ugr == null) { return; } String ordLnDlyPk = ugr.Cells["OrdLnDlyPk"].Value.ToString().Trim(); DoQuerygTranSit(ordLnDlyPk); } private void InitCombo() { this.Controls.Add(uceA); this.Controls.Add(uceB); uceA.Visible = false; uceB.Visible = false; DataTable dtA = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderColligateInfomation.getBaseInfo2002", new object[] { }, this.ob); DataTable dtB = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderColligateInfomation.getBaseInfo2003", new object[] { }, this.ob); uceA.DataSource = dtA; uceA.DisplayMember = "BASENAME"; uceA.ValueMember = "BASECODE"; uceB.DataSource = dtB; uceB.DisplayMember = "BASENAME"; uceB.ValueMember = "BASECODE"; ultraGridOrderLine.DisplayLayout.Bands[0].Columns["CraftFileTypeCode"].EditorComponent = uceA; ultraGridOrderLine.DisplayLayout.Bands[0].Columns["CraftFileTypeCode"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; ultraGridOrderLine.DisplayLayout.Bands[0].Columns["CraftFileFlagCode"].EditorComponent = uceB; ultraGridOrderLine.DisplayLayout.Bands[0].Columns["CraftFileFlagCode"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; ultraGridOrderLine.DisplayLayout.Bands[0].Columns["FilePath"].EditorComponent = askItemImg; } private void ultraGridOrderLine_CellChange(object sender, CellEventArgs e) { ultraGridOrderLine.UpdateData(); if (ultraGridOrderLine.ActiveRow == null) { return; } if (e.Cell.Column.Key.Equals("CraftFileTypeCode")) { ultraGridOrderLine.ActiveRow.Cells["CraftFileTypeNm"].Value = e.Cell.Text; } if (e.Cell.Column.Key.Equals("CraftFileFlagCode")) { ultraGridOrderLine.ActiveRow.Cells["CraftFileFlagNm"].Value = e.Cell.Text; } if (e.Cell.Column.Key.Equals("CHC")) { if (Boolean.Parse(e.Cell.Value.ToString())) { e.Cell.Row.Cells["CraftFileTypeCode"].Activation = Activation.AllowEdit; e.Cell.Row.Cells["CraftFileFlagCode"].Activation = Activation.AllowEdit; e.Cell.Row.Cells["FilePath"].Activation = Activation.AllowEdit; e.Cell.Row.Cells["CraftFileMan"].Activation = Activation.AllowEdit; e.Cell.Row.Cells["CraftFileNo"].Activation = Activation.AllowEdit; } else { e.Cell.Row.Cells["CraftFileTypeCode"].Activation = Activation.ActivateOnly; e.Cell.Row.Cells["CraftFileFlagCode"].Activation = Activation.ActivateOnly; e.Cell.Row.Cells["FilePath"].Activation = Activation.ActivateOnly; e.Cell.Row.Cells["CraftFileMan"].Activation = Activation.ActivateOnly; e.Cell.Row.Cells["CraftFileNo"].Activation = Activation.ActivateOnly; } } } private void askItemImg_EditorButtonClick(object sender, EditorButtonEventArgs e) { UltraGridRow ugr = ultraGridOrderLine.ActiveRow; if (ugr == null) { return; } string ordLnPk = ugr.GetValue("OrdLnPk"); string filePath = "saleOrder/ReviewForm/frmOrderColligateInfomation/" + ordLnPk; if (e.Button.Key.ToLower().Equals("select")) { dlgOrderAskDown down = new dlgOrderAskDown(this.ob, filePath); down.ShowDialog(); } if (e.Button.Key.ToLower().Equals("choice")) { bool isUpload = FlileUploadcomm.FlileUpload(filePath); if (isUpload) { dlgOrderAskDown down = new dlgOrderAskDown(this.ob, filePath); down.ShowDialog(); } } ugr.Cells["CraftFilePath"].Value = filePath; } /// /// 设置列只可读 /// /// UltraGrid /// 列数组 private void SetColumnReadOnly() { for (int i = 0; i < ultraGridOrderLine.Rows.Count; i++) { UltraGridRow ugr = ultraGridOrderLine.Rows[i]; for (int j = 0; j < ugr.Cells.Count; j++) { if (!ugr.Cells[j].Column.Key.Equals("CHC")) ugr.Cells[j].Activation = Activation.ActivateOnly; } if (ugr.Cells["CraftFilePath"].Value.ToString().Length > 0) { ugr.Cells["FilePath"].Value = "已上传"; } } } private void ultraComboEditorOrderNo_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) { DoQuery(); } } private void DoLink() { UltraGridRow ugr = ultraGridOrderHead.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择合同行"); return; } String orderNo = ugr.Cells["OrderNo"].Text.Trim(); //调用系统默认的浏览器 //System.Diagnostics.Process.Start("http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepInterTrade.cpt&__bypagesize__=false" + "&cmbOrder=" + strOrder); FrmOrderRepExcel fBug = new FrmOrderRepExcel(this.ob, "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepInterTrade.cpt&__bypagesize__=false" + "&cmbOrder=" + orderNo); fBug.AutoSize = true; fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fBug.WindowState = FormWindowState.Maximized; fBug.Show(); } /// /// 正式合同打印 /// private void PrintOrder() { UltraGridRow ugr = ultraGridOrderHead.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择您要打印的合同!"); return; } string ordPk = ugr.Cells["ORDPK"].Value.ToString(); string printPrice = ugr.Cells["PRINTPRICE"].Value.ToString(); //生效以后的状态的合同才能打印 DataTable stsDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderColligateInfomation.queryOrderHeadStatus", new object[] { ordPk }, ob); if (stsDt == null && stsDt.Rows.Count == 0) { //价格评审通过或放行通过的合同才能打印 MessageUtil.ShowWarning("价格评审通过或放行通过的合同才能打印!"); return; } //if (printPrice.Trim() == "结算价") //{ // DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderColligateInfomation.queryBlaPriceStatus", new object[] { ordPk }, ob); // if (dt != null && dt.Rows.Count > 0) // { // if (dt.Rows[0][0].ToString() != "0") // { // MessageUtil.ShowWarning("您选择合同的结算价尚未全部确认,不能打印!"); // return; // } // } // else // { // return; // } //} string saleOrg = ugr.Cells["SaleOrg"].Value.ToString(); string strurl = ""; if (saleOrg == "100101") strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepFormalContractPrint.cpt&op=view" + "&ORD_PK=" + ordPk; else if (saleOrg == "100103") strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepFormalContractPrintGM.cpt&op=view" + "&ORD_PK=" + ordPk; if (strurl == "") { MessageUtil.ShowWarning("销售组织异常,无法打印!"); return; } FrmOrderRepExcel fBug = new FrmOrderRepExcel(ob, strurl); fBug.AutoSize = true; fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fBug.WindowState = FormWindowState.Maximized; fBug.Text = "合同打印"; fBug.Show(); //写入打印时间和打印次数(不管有没有打印 打印是否成功) ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderColligateInfomation.setPrintTimeAndCount", new object[] { ordPk }, this.ob); } /// /// 正式合同打印A4 /// private void PrintOrderA4() { UltraGridRow ugr = ultraGridOrderHead.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择您要打印的合同!"); return; } string ordPk = ugr.Cells["ORDPK"].Value.ToString(); string printPrice = ugr.Cells["PRINTPRICE"].Value.ToString(); //生效以后的状态的合同才能打印 DataTable stsDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderColligateInfomation.queryOrderHeadStatus", new object[] { ordPk }, ob); if (stsDt == null && stsDt.Rows.Count == 0) { //价格评审通过或放行通过的合同才能打印 MessageUtil.ShowWarning("价格评审通过或放行通过的合同才能打印!"); return; } string saleOrg = ugr.Cells["SaleOrg"].Value.ToString(); string strurl = ""; if (saleOrg == "100101") strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepFormalContractPrintA4.cpt&op=view" + "&ORD_PK=" + ordPk; else if (saleOrg == "100103") strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepFormalContractPrintGMA4.cpt&op=view" + "&ORD_PK=" + ordPk; if (strurl == "") { MessageUtil.ShowWarning("销售组织异常,无法打印!"); return; } FrmOrderRepExcel fBug = new FrmOrderRepExcel(ob, strurl); fBug.AutoSize = true; fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fBug.WindowState = FormWindowState.Maximized; fBug.Text = "合同打印"; fBug.Show(); //写入打印时间和打印次数(不管有没有打印 打印是否成功) ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderColligateInfomation.setPrintTimeAndCount", new object[] { ordPk }, this.ob); } /// /// 合同背面打印 /// private void PrintBackA4() { string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepFormalContractPrintBackA4.cpt&op=view"; FrmOrderRepExcel fBug = new FrmOrderRepExcel(ob, strurl); fBug.AutoSize = true; fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fBug.WindowState = FormWindowState.Maximized; fBug.Text = "合同背面打印"; fBug.Show(); } /// /// 正式合同打印预览 /// private void PrintOrderPreview() { UltraGridRow ugr = ultraGridOrderHead.ActiveRow; if (ugr == null) { MessageUtil.ShowWarning("请选择您要打印的合同!"); return; } string ordPk = ugr.Cells["ORDPK"].Value.ToString(); string printPrice = ugr.Cells["PRINTPRICE"].Value.ToString(); //打印预览 不需要条件限制 //生效以后的状态的合同才能打印 /*DataTable stsDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderColligateInfomation.queryOrderHeadStatus", new object[] { ordPk }, ob); if (stsDt != null && stsDt.Rows.Count > 0) { //价格评审通过以后状态 允许打印 } else { MessageUtil.ShowWarning("价格评审通过以后的合同才能打印!"); return; } if (printPrice.Trim() == "结算价") { DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderColligateInfomation.queryBlaPriceStatus", new object[] { ordPk }, ob); if (dt != null && dt.Rows.Count > 0) { if (dt.Rows[0][0].ToString() != "0") { MessageUtil.ShowWarning("您选择合同的结算价尚未全部确认,不能打印!"); return; } } else { return; } }*/ string saleOrg = ugr.Cells["SaleOrg"].Value.ToString(); string strurl = ""; if (saleOrg == "100101") { strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepFormalContractPrintPreview.cpt&op=view" + "&ORD_PK=" + ordPk; // strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilMobileCard.cpt&op=view"; } else if (saleOrg == "100103") strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepFormalContractPrintPreviewGM.cpt&op=view" + "&ORD_PK=" + ordPk; if (strurl == "") { MessageUtil.ShowWarning("销售组织异常,无法打印!"); return; } FrmOrderRepExcel fBug = new FrmOrderRepExcel(ob, strurl); fBug.AutoSize = true; fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); fBug.WindowState = FormWindowState.Maximized; fBug.Text = "合同打印预览"; fBug.Show(); } private void radioBal_CheckedChanged(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; DoQuery(); this.Cursor = Cursors.Default; } private void radioAll_CheckedChanged(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; DoQuery(); this.Cursor = Cursors.Default; } } }