| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481 |
- 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 Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Control;
- using Infragistics.Win.UltraWinGrid;
- using Core.StlMes.Client.Qcm;
- using Core.Mes.Client.Comm.Format;
- using System.Collections;
- using Core.Mes.Client.Comm.Tool;
- using Core.StlMes.Client.SaleOrder.Dialog;
- namespace Core.StlMes.Client.SaleOrder
- {
- public partial class frmOrderMpsUpdate : FrmBase
- {
- public frmOrderMpsUpdate()
- {
- InitializeComponent();
- this.IsLoadUserView = true;
- }
- private string[] dataArr = null;
- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- }
- /// <summary>
- /// 来自于哪个界面 1交货期评审提报 2 交货期评审 3 合同行变更时的交货期
- /// </summary>
- private string statusFrom = ""; //
- private void frmOrderDeliveryReview_Load(object sender, EventArgs e)
- {
- uchkDate.Checked = true;
- //默认查询当前日期-1月——当前日期数据。
- udtEnd.DateTime = DateTime.Now;
- udtStart.DateTime = DateTime.Now.AddMonths(-1);
- if ("REPORT".Equals(this.CustomInfo)) //交货期评审提报
- {
- statusFrom = "1";
- }
- }
- /// <summary>
- /// 重写基类toolBar方法
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="ToolbarKey"></param>
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "doQuery":
- doQuery();
- break;
- case "doClose":
- this.Close();
- break;
- case "InPutMpsNo":
- InPutMpsNo();
- break;
- case "Save":
- Save();
- break;
- case "AddMps":
- AddMps();
- break;
- }
- }
- /// <summary>
- /// 维护MPS编号
- /// </summary>
- private void InPutMpsNo()
- {
- UltraGridRow ugr = ultraGHead.ActiveRow;
- if (ugr == null)
- {
- MessageUtil.ShowWarning("请选择一个需要维护MPS编号的合同!");
- return;
- }
- string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
- //判断选择的合同是否需要维护MPS编号
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.getMpsFlag", new object[] { ordPk }, this.ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- if (!dt.Rows[0][0].ToString().Contains("1"))
- {
- MessageUtil.ShowWarning("您选择的合同不需要维护MPS编号!");
- return;
- }
- }
- else
- {
- MessageUtil.ShowWarning("您选择的合同合同行出现异常!");
- return;
- }
- FrmInPutMpsNo pmn = new FrmInPutMpsNo(this.ob, ordPk);
- pmn.ShowDialog();
- doQuery();
- foreach (UltraGridRow uRow in ultraGHead.Rows)
- {
- if (uRow.Cells["ORD_PK"].Value.ToString() == ordPk)
- {
- uRow.Activate();
- break;
- }
- }
- }
- /// <summary>
- /// 查询出技术评审通过的合同头信息。
- /// </summary>
- private void doQuery()
- {
- string orderNo = utxtOrderNo.Text.Trim();
- string orderStart = "1000-01-01 00:00:01";
- string orderEnd = "9999-12-31 23:59:59";
- TimeSpan ts = udtEnd.DateTime.Subtract(udtStart.DateTime);
- if (ts.TotalDays < 0)
- {
- MessageBox.Show("创建开始日期必须小于创建结束日期。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- return;
- }
- if (uchkDate.Checked)
- {
- orderStart = udtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01";
- orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59";
- }
- string[] arr = this.ValidDataPurviewIds;
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.doQueryMpsUpdate", new Object[] { orderNo, orderStart, orderEnd, arr }, this.ob);
- GridHelper.CopyDataToDatatable(ref dt, ref this.orderHeadDt, true);
- if (dt.Rows.Count > 0)
- {
- //列自适应
- GridHelper.RefreshAndAutoSizeExceptRows(ultraGHead, new UltraGridColumn[] { });
- ultraGHead.UpdateData();
- }
- else
- {
- slm_order_line.Rows.Clear();
- }
- }
- private void bindSlmOrderLine(string orderPk)
- {
- if (ultraGHead.ActiveRow == null)
- {
- MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
- return;
- }
- this.slm_order_line.Clear();
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreDeliveryReview.GetOrderLineForMpsUpdate", new Object[] { orderPk, statusFrom }, this.ob);
- GridHelper.CopyDataToDatatable(ref dt, ref this.slm_order_line, true);
- GridHelper.SetExcludeColumnsActive(ultraGridOrderLine.DisplayLayout.Bands[0], "MPS_NO_INPUT");
- //列自适应
- UltraGridColumn[] col = new UltraGridColumn[] { ultraGridOrderLine.DisplayLayout.Bands[0].Columns["LEN_DESC"], ultraGridOrderLine.DisplayLayout.Bands[0].Columns["STD_NAME"]
- , ultraGridOrderLine.DisplayLayout.Bands[0].Columns["PSC_DESC"] };
- GridHelper.RefreshAndAutoSizeExceptColumns(ultraGridOrderLine, col);
- ultraGridOrderLine.UpdateData();
- }
- /// <summary>
- /// 带出合同行信息和交货行信息。
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ultraGHead_AfterRowActivate(object sender, EventArgs e)
- {
- if (ultraGHead.ActiveRow != null)
- {
- string orderPk = ultraGHead.ActiveRow.Cells["ORD_PK"].Value.ToString();
- bindSlmOrderLine(orderPk);
- }
- }
- private void uchkOrderNo_CheckedChanged(object sender, EventArgs e)
- {
- utxtOrderNo.ReadOnly = !uchkOrderNo.Checked;
- }
- /// <summary>
- /// 创建日期是否有效
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void uchkDate_CheckedChanged(object sender, EventArgs e)
- {
- if (uchkDate.Checked)
- {
- udtStart.ReadOnly = false;
- udtEnd.ReadOnly = false;
- }
- else
- {
- udtStart.ReadOnly = true;
- udtEnd.ReadOnly = true;
- }
- }
- /// <summary>
- /// cellChange事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ultraGridOrderLine_CellChange(object sender, CellEventArgs e)
- {
- if (e.Cell.Column.Key.Equals("DELVRY_EDATE"))
- return;
- ultraGridOrderLine.UpdateData();
- if (e.Cell.Column.Key.Equals("CHK"))
- {
- if (Convert.ToBoolean(e.Cell.Value))
- {
- for (int i = 0; i < e.Cell.Row.Cells.Count; i++)
- {
- e.Cell.Row.Cells[i].Activation = Activation.AllowEdit;
- }
- }
- else
- {
- for (int i = 0; i < e.Cell.Row.Cells.Count; i++)
- {
- if (e.Cell.Row.Cells[i].Column.Key.Equals("CHK"))
- {
- e.Cell.Row.Cells[i].Activation = Activation.AllowEdit;
- }
- else
- e.Cell.Row.Cells[i].Activation = Activation.ActivateOnly;
- }
- }
- }
- }
- private string deliveryInsertPk = "";
- private int deliveryInsertSeq = 0;
- private void utxtOrderNo_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == 13)
- doQuery();
- }
- private void AddMps()
- {
- ultraGridOrderLine.UpdateData();
- UltraGridRow ugr = ultraGridOrderLine.ActiveRow;
- if (ugr == null)
- {
- MessageUtil.ShowWarning("请选择一行合同行!");
- return;
- }
- FrmStableMps fsm = new FrmStableMps(this.ob);
- fsm.OrdLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString();
- fsm.WindowState = FormWindowState.Maximized;
- fsm.ShowDialog();
- }
- /// <summary>
- /// 保存
- /// </summary>
- private void Save()
- {
- ultraGridOrderLine.UpdateData();
- ArrayList parm = new ArrayList();
- foreach (UltraGridRow ugr in ultraGridOrderLine.Rows)
- {
- string inputMpsNo = ugr.Cells["MPS_NO_INPUT"].Value.ToString();
- string mpsFile = ugr.Cells["MPS_FILE"].Value.ToString();
- if (inputMpsNo == "")
- {
- MessageUtil.ShowWarning("请输入确认后的MPS编号!");
- ugr.Activate();
- return;
- }
- if (mpsFile == "")
- {
- MessageUtil.ShowWarning("请上传MPS文本文件!");
- ugr.Activate();
- return;
- }
- string ordLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString();
- ArrayList list = new ArrayList();
- list.Add(inputMpsNo);
- //list.Add(mpsFile);
- list.Add(ordLnPk);
- parm.Add(list);
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否确定保存输入的MPS编号") == DialogResult.No) return;
- int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreInPutMpsNo.saveMpsLine", new object[] { parm }, this.ob);
- if (count > 0)
- {
- MessageUtil.ShowTips("确认后的MPS编号保存成功!");
- //this.Close();
- }
- }
- /// <summary>
- /// GRID按钮
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void MpsFile_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
- {
- if (e.Button.Key.Equals("upload")) // 上传
- {
- UltraGridRow row = ultraGridOrderLine.ActiveRow;
- if (row == null)
- return;
- string ordLnPk = row.Cells["ORD_LN_PK"].Value.ToString();
- if ("".Equals(ordLnPk))
- return;
- Core.Mes.Client.Comm.Server.FileHelper.Delete("Mps/" + ordLnPk);
- string reStr = FlileUpload("Mps/" + ordLnPk);
- if (reStr == "F")
- {
- MessageUtil.ShowWarning("上传失败,尝试重新上传!");
- return;
- }
- else if (reStr == "N")
- {
- return;
- }
- row.Cells["MPS_FILE"].Value = reStr;
- row.Cells["MPS_NO_FILE"].Value = "最近上传的MPS文本 " + reStr;
- if (updateOrderLineMps(reStr, ordLnPk))
- {
- MessageUtil.ShowTips("上传成功!");
- }
- else
- {
- MessageUtil.ShowWarning("上传失败,尝试重新上传!");
- }
- }
- else if (e.Button.Key.Equals("view")) //预览
- {
- UltraGridRow row = ultraGridOrderLine.ActiveRow;
- if (row == null)
- return;
- string ordLnPk = row.Cells["ORD_LN_PK"].Value.ToString();
- string filePath = "Mps/" + ordLnPk;
- //引用的地址
- string dbFilePath = "";
- bool isNull = false;
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreInPutMpsNo.selectMpsAddr", new object[] { ordLnPk }, this.ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- dbFilePath = dt.Rows[0][0].ToString();
- }
- else
- {
- isNull = true;
- }
- //引用地址存在 优先显示引用地址的文件
- string fpath = filePath;
- if (dbFilePath != filePath && isNull == false)
- fpath = dbFilePath;
- dlgOrderAskDown down = new dlgOrderAskDown(this.ob, fpath);
- down.ShowDialog();
- if (down.CtrlFileDown1.List.Count == 0)
- {
- if (dbFilePath == filePath)
- updateOrderLineMps("", ordLnPk);
- row.Cells["MPS_FILE"].Value = "";
- row.Cells["MPS_NO_FILE"].Value = "无MPS文件";
- }
- }
- }
- private bool updateOrderLineMps(string mpsFile, string ordLnPk)
- {
- //更新合同行地址文件信息
- int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreInPutMpsNo.updateMpsLine", new object[] { mpsFile, ordLnPk }, this.ob);
- if (count > 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- public static string FlileUpload(string sFileName)
- {
- List<FileBean> list = new List<FileBean>();
- FileBean bean = new FileBean();
- OpenFileDialog file = new OpenFileDialog();
- file.Multiselect = false; // file.Multiselect = true 改为 file.Multiselect = false
- DialogResult drStat;
- drStat = file.ShowDialog();
- string fileList = "";
- if (drStat == DialogResult.OK)
- {
- foreach (string fileName in file.FileNames)
- {
- bean = new FileBean();
- string filena = System.IO.Path.GetFileName(fileName);
- bean.setFileName(filena);
- bean.setPathName(sFileName);
- bean.setFile(FileHelper.FileToArray(fileName));
- list.Add(bean);
- fileList = filena;
- }
- bool isSuccess = false;
- isSuccess = Core.Mes.Client.Comm.Server.FileHelper.Upload(list);
- if (isSuccess)
- {
- return fileList;
- }
- else
- {
- return "F";
- }
- }
- else
- return "N"; //未选择文件
- }
- private void stableMps_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
- {
- if (e.Button.Key.Equals("select"))
- {
- ultraGridOrderLine.UpdateData();
- UltraGridRow ugr = ultraGridOrderLine.ActiveRow;
- if (ugr == null)
- {
- MessageUtil.ShowWarning("请选择一行合同行!");
- return;
- }
- FrmStableMps fsm = new FrmStableMps(this.ob);
- fsm.OrdLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString();
- fsm.WindowState = FormWindowState.Maximized;
- fsm.WdType = "2";
- fsm.frmClosedRefresh += fsm_frmClosedRefresh;
- fsm.ShowDialog();
- }
- }
- void fsm_frmClosedRefresh()
- {
- bindSlmOrderLine(ultraGHead.ActiveRow.Cells["ORD_PK"].Value.ToString());
- }
- }
- }
|