using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Judge.Commons; using Core.StlMes.Client.Judge.Forms; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using System; using System.Data; using System.Windows.Forms; namespace Core.StlMes.Client.Judge.Controls { public partial class QcmZgJudgeApplyDtlCtrl : UserControl { private Dal _d; private OpeBase ob; public QcmZgJudgeApplyDtlCtrl(Control container, OpeBase ob) { InitializeComponent(); _d = new Dal(ob); this.ob = ob; container.Controls.Add(this); this.Dock = DockStyle.Fill; this.BringToFront(); } private string _judgeApplyCode = ""; private string _judgeStoveNo = ""; private string _batchNo = ""; public void Query(string judgeApplyCode, string judgeStoveNo, string batchNo) { _judgeApplyCode = judgeApplyCode; _judgeStoveNo = judgeStoveNo; _batchNo = batchNo; DataTable dt = _d.GetTableByXmlId("QcmZgJugdeApplyDAL.querDtlByJudgeStoveNoApplyNo", judgeApplyCode, judgeStoveNo, batchNo); ultraGrid1.BeginUpdate(); if (dt.Rows.Count > 0 && dt.Rows[0]["processCode"].ToString() == "H") { ultraGrid1.DisplayLayout.Bands[0].Columns["actCount"].Header.Caption = "个数"; } GridHelper.CopyDataToDatatable(dt, dataTable1, true); BindCraftNo(); GridHelper.RefreshAndAutoSize(ultraGrid1); ultraGrid1.EndUpdate(); } private void BindCraftNo() { DataRow apply = _d.GetRowByXmlId("QcmZgJugdeApplyDAL.QueryByBatchNo", _judgeApplyCode, _judgeStoveNo, _batchNo); for (int i = dataTable1.Columns.Count - 1; i >= 0; i--) { if ((dataTable1.Columns[i].ColumnName.Contains("craft") || dataTable1.Columns[i].ColumnName.Contains("orderNo")) && dataTable1.Columns[i].ColumnName != "craftSeq") { dataTable1.Columns.RemoveAt(i); } } foreach (DataRow drZgJudgeApply in dataTable1.Rows) { DataTable dtCraftNo = GetCraftNo(drZgJudgeApply, apply); for (int i = 0; i < dtCraftNo.Rows.Count; i++) { if (dataTable1.Columns.Contains("craftNo" + i.ToString())) continue; dataTable1.Columns.Add(new DataColumn() { ColumnName = "craftNo" + i.ToString(), Caption = "工艺文件" }); dataTable1.Columns.Add(new DataColumn() { ColumnName = "craftPath" + i.ToString(), Caption = "工艺文件路径" }); } DataTable dtOrderNo = GetOrderNo(drZgJudgeApply, apply); for (int i = 0; i < dtOrderNo.Rows.Count; i++) { if (dataTable1.Columns.Contains("orderNo" + i.ToString())) continue; dataTable1.Columns.Add(new DataColumn() { ColumnName = "orderNo" + i.ToString(), Caption = "合同号" }); } for (int i = 0; i < dtCraftNo.Rows.Count; i++) { drZgJudgeApply["craftNo" + i.ToString()] = dtCraftNo.Rows[i]["craftNo"].ToString(); drZgJudgeApply["craftPath" + i.ToString()] = dtCraftNo.Rows[i]["craftPath"].ToString(); } for (int i = 0; i < dtOrderNo.Rows.Count; i++) { drZgJudgeApply["orderNo" + i.ToString()] = dtOrderNo.Rows[i]["orderNo"].ToString(); } } foreach (var col in ultraGrid1.DisplayLayout.Bands[0].Columns) { if (col.Key.Contains("craftPath")) { col.Hidden = true; } else if (col.Key.Contains("craftNo")) { col.EditorComponent = ultraTextEditor1; col.ButtonDisplayStyle = ButtonDisplayStyle.Always; } } } public DataTable GetCraftNo(DataRow zgJudgeApply, DataRow apply) { string ordLnPk = ""; if (apply.Table.Columns.Contains("isAllScrap") && apply["isAllScrap"].ToString() == "4") { DataRow drPlnSaleOrd = _d.GetRowByXmlId("JdgSlmOrderLineDelivery.getOrdLnPkByDlyPk", zgJudgeApply["ordLnDlyPk"].ToString()); ordLnPk = drPlnSaleOrd["ordLnPk"].ToString(); } else { DataRow drPlnSaleOrd = _d.GetRowByXmlId("JdgPlnSaleOrd.getOrdLnPkByDlyPk", zgJudgeApply["ordLnDlyPk"].ToString()); if (drPlnSaleOrd == null) return new DataTable(); ordLnPk = drPlnSaleOrd["ordLnPk"].ToString(); } DataTable dt = _d.GetTableByXmlId("JdgCraftOrdDesign.queryCraftNoByOrdLnPk", ordLnPk, zgJudgeApply["craftSeq"].ToString()); return dt; } public DataTable GetOrderNo(DataRow zgJudgeApply, DataRow apply) { string ordLnPk = ""; if (apply.Table.Columns.Contains("isAllScrap") && apply["isAllScrap"].ToString() == "4") { DataRow drPlnSaleOrd = _d.GetRowByXmlId("JdgSlmOrderLineDelivery.getOrdLnPkByDlyPk", zgJudgeApply["ordLnDlyPk"].ToString()); ordLnPk = drPlnSaleOrd["ordLnPk"].ToString(); } else { DataRow drPlnSaleOrd = _d.GetRowByXmlId("JdgPlnSaleOrd.getOrdLnPkByDlyPk", zgJudgeApply["ordLnDlyPk"].ToString()); if (drPlnSaleOrd == null) return new DataTable(); ordLnPk = drPlnSaleOrd["ordLnPk"].ToString(); } DataTable dt = _d.GetTableByXmlId("JdgCraftOrdDesign.queryOrderNoByOrdLnPk", ordLnPk); return dt; } public void Clear() { this.dataTable1.Clear(); } FormFileDown askDown; private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { if (e.Button.Key.Equals("1")) { string filePath = ultraGrid1.ActiveRow.GetValue(ultraGrid1.ActiveCell.Column.Key.Replace("craftNo", "craftPath")); askDown = new FormFileDown(ob, filePath); askDown.DeleteButton.Visible = false; askDown.Show(); } else { try { var row = ultraGrid1.ActiveRow; CraftSelect craftSelect = new CraftSelect(ob); string ordLnDlyPk = row.Cells["ordLnDlyPk"].Text.ToString(); //string ordLnPk = ordLnDlyPk.Substring(0, ordLnDlyPk.Length - 3).ToString(); craftSelect.Query(ordLnDlyPk); if (craftSelect.ShowDialog() == System.Windows.Forms.DialogResult.OK) { UltraGridRow ugrow = craftSelect.row; string craftSeq = ugrow.Cells["craftSeq"].Value.ToString(); string craftNo = ugrow.Cells["craftNo"].Value.ToString(); String[] parm = new String[] { craftSeq, craftNo, _judgeApplyCode, _judgeStoveNo, _batchNo }; ServerHelper.SetData("com.steering.pss.judge.Bll.BllZcColligateJudge.updateCraftNo", new object[] { parm }, ob); Query(_judgeApplyCode, _judgeStoveNo, _batchNo); } } catch (Exception ex) { MessageUtil.ShowTips(ex.Message); } } } } }