| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Windows.Forms;
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Tool;
- using CoreFS.CA06;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinEditors;
- using Infragistics.Win.UltraWinGrid;
- using ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle;
- namespace Core.StlMes.Client.Mcp.Mch.Report
- {
- public partial class FrmReportBase : FrmBase
- {
- private string[] _plineCodes = {};
- /// <summary>
- /// 子表排序
- /// </summary>
- protected List<string> Band2 = new List<string>();
- /// <summary>
- /// 是否显示勾选
- /// </summary>
- protected bool NeedCheck = false;
- /// <summary>
- /// 人员字段顺序
- /// </summary>
- protected List<string> OperationInfo = new List<string>
- {
- "ReportPath",
- "ProUser",
- "Responsible",
- "CreatetUser",
- "ProShift",
- "LoadShift",
- "ProGroup",
- "LoadGroup",
- "ProTime",
- "LoadTime",
- "ProEndTime",
- "ColTime",
- "ColEndTime",
- "CreateTime"
- };
- /// <summary>
- /// 生产信息区域顺序
- /// </summary>
- protected List<string> ProductionInfo = new List<string>
- {
- "MachineNo",
- "ProNum",
- "ProWt",
- "QualifiedNum",
- "QualifiedWt",
- "HeadCutNum",
- "FailNum",
- "FailWt",
- "ReProNum",
- "ReProWt",
- "FinalQualifiedNum",
- "FinalQualifiedWt"
- };
- /// <summary>
- /// 参数区域字段顺序
- /// </summary>
- protected List<string> ResultNoPara = new List<string>();
- /// <summary>
- /// 是否显示记录数
- /// </summary>
- protected bool ShowRecordCount = true;
- /// <summary>
- /// 需要显示汇总的字段
- /// </summary>
- protected List<string> SumList = new List<string>
- {
- "ProNum",
- "ProWt",
- "HeadCutNum",
- "FailNum",
- "FailWt",
- "ReProNum",
- "ReProWt",
- "QualifiedNum",
- "QualifiedWt",
- "UnqualifiedNum",
- "UnqualifiedWt",
- "FinalQualifiedNum",
- "FinalQualifiedWt",
- "CouplingNum",
- "CouplingWt",
- "CheckNum",
- "CheckWt",
- "ActCount",
- "ActWeight"
- };
- /// <summary>
- /// 合同信息
- /// </summary>
- protected List<string> ViewList = new List<string>
- {
- "ProYearMonthDay",
- "JudgeStoveNo",
- "BatchNo",
- "PlineName",
- "Producname",
- "Steelname",
- "Gradename",
- "Outdiameter",
- "Wallthick",
- "ModelDesc",
- "OrderNo"
- };
- public FrmReportBase()
- {
- InitializeComponent();
- IsLoadUserView = true;
- }
- protected List<QueryShow> QueryShows { get; set; }
- /// <summary>
- /// 按照区域重新排序
- /// </summary>
- private void Resort()
- {
- var ColumnSeq = ViewList.Concat(ProductionInfo).Concat(ResultNoPara).Concat(OperationInfo).ToList();
- if (NeedCheck)
- {
- ColumnSeq = new List<string> { "FrimFlag" }.Concat(ColumnSeq).ToList();
- ColumnSeq = new List<string> { "Chk" }.Concat(ColumnSeq).ToList();
- CrackDetectGrid.DisplayLayout.Bands[0].Columns.Add("Chk","选择");
- }
- SortBand(ColumnSeq, CrackDetectGrid.DisplayLayout.Bands[0]);
- if (CrackDetectGrid.DisplayLayout.Bands.Count > 1)
- SortBand(Band2, CrackDetectGrid.DisplayLayout.Bands[1]);
- }
- private void QueryAreaShow()
- {
- foreach (System.Windows.Forms.Control clientAreaControl in plQuery.ClientArea.Controls)
- clientAreaControl.Visible = false;
- plQuery.ClientArea.Controls.Clear();
- for (var i = 0; i < QueryShows.Count; i++)
- {
- var show = QueryShows[i];
- switch (show)
- {
- case QueryShow.Date:
- plQuery.ClientArea.Controls.Add(chkTim);
- plQuery.ClientArea.Controls.Add(plDate);
- chkTim.Visible = true;
- chkTim.Checked = true;
- break;
- case QueryShow.YearMonthDate:
- plQuery.ClientArea.Controls.Add(chkYear);
- plQuery.ClientArea.Controls.Add(plnDateYearMonth);
- chkYear.Visible = true;
- chkYear.Checked = true;
- break;
- case QueryShow.OrderNo:
- plQuery.ClientArea.Controls.Add(chkOrderNo);
- plQuery.ClientArea.Controls.Add(txtOrderNo);
- chkOrderNo.Visible = true;
- break;
- case QueryShow.JudgeStove:
- plQuery.ClientArea.Controls.Add(chkJudgeStove);
- plQuery.ClientArea.Controls.Add(txtJudgeStove);
- chkJudgeStove.Visible = true;
- break;
- case QueryShow.BatchNo:
- plQuery.ClientArea.Controls.Add(chkBatchNo);
- plQuery.ClientArea.Controls.Add(txtBatchNo);
- chkBatchNo.Visible = true;
- break;
- case QueryShow.JudgeStoveJg:
- plQuery.ClientArea.Controls.Add(chkJgJudgeStove);
- plQuery.ClientArea.Controls.Add(txtJgJudgeStove);
- chkJgJudgeStove.Visible = true;
- break;
- case QueryShow.BatchNoJg:
- plQuery.ClientArea.Controls.Add(chkJgBatch);
- plQuery.ClientArea.Controls.Add(txtJgBatch);
- chkJgBatch.Visible = true;
- break;
- case QueryShow.Shift:
- plQuery.ClientArea.Controls.Add(chkOrder);
- plQuery.ClientArea.Controls.Add(cmbOrder);
- chkOrder.Visible = true;
- break;
- case QueryShow.Group:
- plQuery.ClientArea.Controls.Add(chkGroup);
- plQuery.ClientArea.Controls.Add(cmbGroup);
- chkGroup.Visible = true;
- break;
- case QueryShow.Plines:
- plQuery.ClientArea.Controls.Add(chkPlineCode);
- plQuery.ClientArea.Controls.Add(cboPline);
- chkPlineCode.Visible = true;
- break;
- case QueryShow.Status:
- plQuery.ClientArea.Controls.Add(osStatus);
- osStatus.Visible = true;
- break;
- }
- }
- }
- /// <summary>
- /// Band重新排序
- /// </summary>
- /// <param name="ColumnSeq"></param>
- /// <param name="band"></param>
- private void SortBand(List<string> ColumnSeq, UltraGridBand band)
- {
- foreach (var Columns in band.Columns)
- ResetColumns(Columns);
- var ColumnX = 0;
- for (var i = 0; i < ColumnSeq.Count; i++)
- {
- var Key = ColumnSeq[i];
- if (band.Columns.Exists(Key))
- {
- band.Columns[Key].Hidden = false;
- band.Columns[Key].RowLayoutColumnInfo.OriginX = 2*ColumnX++;
- band.Columns[Key].RowLayoutColumnInfo.OriginY = 0;
- }
- }
- }
- /// <summary>
- /// 重置字段属性,或绑定
- /// </summary>
- /// <param name="Columns"></param>
- protected virtual void ResetColumns(UltraGridColumn Columns)
- {
- Columns.Hidden = true;
- Columns.CellActivation = Activation.ActivateOnly;
- if (NeedCheck && (Columns.Key == "Chk"))
- {
- Columns.CellActivation = Activation.AllowEdit;
- Columns.Style= Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;
- Columns.DataType = typeof(bool);
- }
- if ((Columns.Key == "ProShift") || (Columns.Key == "LoadShift"))
- Columns.EditorComponent = cmbBc;
- if ((Columns.Key == "ProGroup") || (Columns.Key == "LoadGroup"))
- Columns.EditorComponent = cmbBz;
- if ((Columns.Key == "ReportPath") || (Columns.Key == "ReportFull"))
- {
- Columns.EditorComponent = uteReport;
- Columns.ButtonDisplayStyle = ButtonDisplayStyle.Always;
- }
- }
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "DoQuery":
- Query();
- break;
- case "Export":
- Export();
- break;
- case "DoUpdate":
- DoUpdate();
- break;
- case "DoClose":
- Close();
- break;
- case "Send":
- Send();
- break;
- case "Confirm":
- Confirm();
- break;
- }
- }
- /// <summary>
- /// 更新
- /// </summary>
- protected virtual void DoUpdate()
- {
- }
- protected virtual void Send()
- {
- }
- protected virtual void Confirm()
- {
- }
- /// <summary>
- /// 导出
- /// </summary>
- protected virtual void Export()
- {
- GridHelper.ulGridToExcel(CrackDetectGrid, Text);
- }
- /// <summary>
- /// 查询
- /// </summary>
- protected void Query()
- {
- var Message = "";
- var wf = new WaitingForm2("正在查询,请稍候....");
- try
- {
- Cursor = Cursors.WaitCursor;
- QuerySinglePlan();
- GridHelper.RefreshAndAutoSizeExceptColumns(CrackDetectGrid, "ReportPath");
- }
- catch (Exception ex)
- {
- if (ex.Message.ToString2() != "")
- Message = ex.Message;
- }
- finally
- {
- wf.Close();
- Cursor = Cursors.Default;
- }
- if (!string.IsNullOrWhiteSpace(Message))
- MessageBox.Show(Message);
- }
- /// <summary>
- /// 查询
- /// </summary>
- protected virtual void QuerySinglePlan()
- {
- }
- /// <summary>
- /// 获取查询区域参数
- /// </summary>
- /// <returns></returns>
- protected virtual object[] GetQueryCondition()
- {
- var dic = new Dictionary<string, object>();
- if (QueryShows.Contains(QueryShow.Date) && chkTim.Checked)
- {
- if (DateTime.Parse(RegStartTime.Value.ToString()) > DateTime.Parse(RegEndTime.Value.ToString()))
- throw new Exception("选择时间区间错误,请重新选择!");
- dic.Add("start", RegStartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));
- dic.Add("end", RegEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss"));
- }
- if (QueryShows.Contains(QueryShow.YearMonthDate) && chkYear.Checked)
- {
- dic.Add("YearMonthStart", dtpYearStart.Value.ToString("yyyyMM"));
- dic.Add("YearMonthEnd", dtpYearEnd.Value.ToString("yyyyMM"));
- }
- dic.Add("plineCodes", chkPlineCode.Checked && (cboPline.CheckedItems.Count > 0)
- ? cboPline.CheckedItems.Select(p => p.DataValue.ToString()).ToArray()
- : _plineCodes);
- if (QueryShows.Contains(QueryShow.Shift) && chkOrder.Checked && (cmbOrder.Text.Trim() != ""))
- dic.Add("shift", cmbOrder.Value.ToString());
- if (QueryShows.Contains(QueryShow.Group) && chkGroup.Checked && (cmbGroup.Text.Trim() != ""))
- dic.Add("group", cmbGroup.Value.ToString());
- if (QueryShows.Contains(QueryShow.OrderNo) && chkOrderNo.Checked)
- dic.Add("orderNo", txtOrderNo.Text);
- if (QueryShows.Contains(QueryShow.JudgeStove) && chkJudgeStove.Checked)
- dic.Add("judgeStoveNo", txtJudgeStove.Text);
- if (QueryShows.Contains(QueryShow.BatchNo) && chkBatchNo.Checked)
- dic.Add("batchNo", txtBatchNo.Text);
- if (QueryShows.Contains(QueryShow.JudgeStoveJg) && chkJgJudgeStove.Checked)
- dic.Add("judgeStoveNoJg", txtJgJudgeStove.Text);
- if (QueryShows.Contains(QueryShow.BatchNoJg) && chkJgBatch.Checked)
- dic.Add("batchNoJg", txtJgBatch.Text);
- if (QueryShows.Contains(QueryShow.Status))
- dic.Add("status", osStatus.Value.ToString2());
- if (!dic.ContainsKey("start") && !dic.ContainsKey("YearMonthStart") && !dic.ContainsKey("orderNo") && !dic.ContainsKey("judgeStoveNo"))
- if (MessageUtil.ShowYesNoAndQuestion("时间/合同/炉号条件未选择,查询时间可能会超时,请确定是否继续查询?") == DialogResult.No)
- throw new Exception("");
- return new object[]{dic};
- }
- /// <summary>
- /// 加载界面信息
- /// </summary>
- protected virtual void LoadView()
- {
- }
- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- QueryShows = new List<QueryShow>
- {
- QueryShow.Date,
- QueryShow.OrderNo,
- QueryShow.JudgeStove,
- QueryShow.BatchNo,
- QueryShow.Shift,
- QueryShow.Group,
- QueryShow.Plines
- };
- LoadView();
- QueryAreaShow();
- Resort();
- SetStaticsInfoSum(ref CrackDetectGrid, SumList, true, ShowRecordCount);
- if (ShowRecordCount)
- {
- //SetStaticsInfoCount(ref CrackDetectGrid);
- }
- if (ob == null) return;
- _plineCodes = comm.InitDropPlineCodePower("G", cboPline, ValidDataPurviewIds, ob);
- if ((_plineCodes.Length > 1) &&
- ((_plineCodes[1] == "C038") || (_plineCodes[1] == "C039") || (_plineCodes[1] == "C049") ||
- (_plineCodes[1] == "C050") ||
- (_plineCodes[1] == "C051") || (_plineCodes[1] == "C057")))
- {
- RegStartTime.Value = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 20:00"));
- RegEndTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 19:59"));
- }
- else
- {
- RegStartTime.Value = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 21:00"));
- RegEndTime.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 20:59"));
- }
- dtpYearEnd.Value = DateTime.Now;
- dtpYearStart.Value = DateTime.Now;
- Query();
- }
- private void chkStarts_CheckedChanged(object sender, EventArgs e)
- {
- if (chkTim.Checked)
- {
- RegStartTime.Enabled = true;
- RegEndTime.Enabled = true;
- plDate.Visible = true;
- }
- else
- {
- RegStartTime.Enabled = false;
- RegEndTime.Enabled = false;
- plDate.Visible = false;
- }
- if (chkYear.Checked)
- {
- dtpYearStart.Enabled = true;
- dtpYearEnd.Enabled = true;
- plnDateYearMonth.Visible = true;
- }
- else
- {
- dtpYearStart.Enabled = false;
- dtpYearEnd.Enabled = false;
- plnDateYearMonth.Visible = false;
- }
- cmbOrder.Enabled = chkOrder.Checked;
- cmbGroup.Enabled = chkGroup.Checked;
- txtOrderNo.Enabled = chkOrderNo.Checked;
- txtJudgeStove.Enabled = chkJudgeStove.Checked;
- txtBatchNo.Enabled = chkBatchNo.Checked;
- txtJgJudgeStove.Enabled = chkJgJudgeStove.Checked;
- txtJgBatch.Enabled = chkJgBatch.Checked;
- cmbOrder.Visible = chkOrder.Checked;
- cmbGroup.Visible = chkGroup.Checked;
- txtOrderNo.Visible = chkOrderNo.Checked;
- txtJudgeStove.Visible = chkJudgeStove.Checked;
- txtBatchNo.Visible = chkBatchNo.Checked;
- cboPline.Visible = chkPlineCode.Checked;
- txtJgJudgeStove.Visible = chkJgJudgeStove.Checked;
- txtJgBatch.Visible = chkJgBatch.Checked;
- }
- /// <summary>
- /// 汇总方法
- /// </summary>
- /// <param name="myGrid1"></param>
- /// <param name="alistColumns"></param>
- /// <param name="clearExists"></param>
- protected void SetStaticsInfoSum(ref UltraGrid myGrid1, List<string> alistColumns, bool clearExists,
- bool ShowCount)
- {
- try
- {
- var band = myGrid1.DisplayLayout.Bands[0];
- if (clearExists)
- band.Summaries.Clear();
- band.Override.SummaryFooterCaptionVisible = DefaultableBoolean.False;
- for (var i = 0; i < alistColumns.Count; i++)
- try
- {
- if (!band.Columns.Exists(alistColumns[i])) continue;
- var summary = band.Summaries.Add(SummaryType.Sum, band.Columns[alistColumns[i]]);
- summary.SummaryDisplayArea = SummaryDisplayAreas.BottomFixed;
- summary.SummaryPosition = SummaryPosition.UseSummaryPositionColumn;
- summary.DisplayFormat = "{0}";
- summary.Appearance.TextHAlign = HAlign.Right;
- summary.Appearance.TextVAlign = VAlign.Middle;
- summary.Appearance.FontData.Bold = DefaultableBoolean.True;
- }
- catch
- {
- // ignored
- }
- if (ShowCount && (ViewList.Count > 0))
- {
- var summary = band.Summaries.Add(SummaryType.Count, band.Columns[ViewList[0]]);
- summary.SummaryDisplayArea = SummaryDisplayAreas.BottomFixed;
- summary.SummaryPosition = SummaryPosition.UseSummaryPositionColumn;
- summary.DisplayFormat = "共{0}条记录";
- summary.Appearance.TextHAlign = HAlign.Left;
- summary.Appearance.TextVAlign = VAlign.Middle;
- summary.Appearance.FontData.Bold = DefaultableBoolean.True;
- }
- }
- catch
- {
- }
- }
- /// <summary>
- /// 报告查询
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void uteReport_EditorButtonClick(object sender, EditorButtonEventArgs e)
- {
- var down = new FormFileDown(ob, CrackDetectGrid.ActiveCell.Value.ToString2());
- down.CtrlFileDown1.Button3.Visible = false;
- down.ShowDialog();
- }
- protected enum QueryShow
- {
- Date,
- YearMonthDate,
- OrderNo,
- JudgeStove,
- BatchNo,
- JudgeStoveJg,
- BatchNoJg,
- Shift,
- Group,
- Plines,
- Status
- }
- }
- }
|