using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Format;
using Core.Mes.Client.Comm.Tool;
using Core.StlMes.Client.PlnSaleOrd.BaseMethod;
using Core.StlMes.Client.PlnSaleOrd.工序排产;
using Core.StlMes.Client.PlnSaleOrd.炉计划.Entity;
using Core.StlMes.Client.PlnSaleOrd.炉计划.Tool;
using CoreFS.CA06;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Core.StlMes.Client.PlnSaleOrd.炉计划
{
public partial class FrmPlanStoveG : FrmBase
{
private ArrayList _EntityList = null;
private string[] plineCode = null;//获取产线代码
///
/// 虚拟炉计划id
///
private string _heatPlanNo = "";
///
/// 行首背景色
///
private Color _backColor = new Color();
public FrmPlanStoveG()
{
this.IsLoadUserView = true;
InitializeComponent();
}
private void FrmPlanStoveG_Load(object sender, EventArgs e)
{
//订单排产
EntityHelper.ShowGridCaption(ultraGridZy.DisplayLayout.Bands[0]);
EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]);
//BaseHelper.setOtherColumnReadOnly(ultraGridZy, new string[] { "CHC" });
BaseHelper.setUltraGridColumnMaxInput(ultraGridZy, new string[] { "PlnInsingleWt", "PlnOutsingleW", "PlnIndoubleWt", "PlnOutdoubleW" });
BaseHelper.setUltraGridColumnBits(ultraGridZy, new string[] { "PlnInsingleNum", "PlnOutsingleNum", "PlnIndoubleNum", "PlnOutdoubleNum" });
BaseHelper.InitCellPosition(ultraGridZy, new string[] { "GxProSeq", "GxPlanNo","OrderSeq", "DeliveryNo", "PlnInsingleNum", "PlnInsingleWt", "PlnIndoubleNum","PlnIndoubleWt","PlnOutsingleNum","PlnOutsingleW" ,"PlnOutdoubleNum","PlnOutdoubleW","OutdiameterIn","WallthickIn","LengthIn","LengthmaxIn",
"LengthminIn","OutnumCut","Outdiameter","Wallthick","Lengthmin","Lengthmax","CraftSeq"});
BaseHelper.GridColumnSum(ultraGridZy, new string[] { "PlnInsingleWt", "PlnOutsingleW", "PlnIndoubleWt", "PlnOutdoubleW" });
BaseHelper.GridColumnCount(ultraGridZy, new string[] { "PlnInsingleNum", "PlnOutsingleNum", "PlnIndoubleNum", "PlnOutdoubleNum" });
//BaseHelper.InitCellPositionMiddle(ultraGridZy, new string[] { "Isendgx", "IfWlMatched", "IfMonitorZg" });
plineCode = PlanHelper.InitDropPlinePower("G", txtLine, this.ValidDataPurviewIds, this.ob);
StoveHelper.ForbidSort(ultraGridZy);
//BaseHelper.setOtherColumnReadOnly(ultraGrid1, new string[] { "CHC" });
BaseHelper.setUltraGridColumnMaxInput(ultraGrid1, new string[] { "RealOutdoubleWt", "RealIndoubleWt", "PlanIndoubleWt"});
BaseHelper.setUltraGridColumnBits(ultraGrid1, new string[] { "RealOutdoubleNum", "RealIndoubleNum", "PlanIndoubleNum"});
BaseHelper.InitCellPosition(ultraGrid1, new string[] { "GxProSeq", "GxPlanNo","OrderSeq", "DeliveryNo", "PlnInsingleNum", "PlnInsingleWt", "PlnIndoubleNum","PlnIndoubleWt","PlnOutsingleNum","PlnOutsingleW" ,"PlnOutdoubleNum","PlnOutdoubleW","OutdiameterIn","WallthickIn","LengthIn","LengthmaxIn",
"LengthminIn","OutnumCut", "Outdiameter","Wallthick","Lengthmin","Lengthmax","CraftSeq","RealOutdoubleWt", "RealIndoubleWt", "RealOutdoubleNum", "RealIndoubleNum"});
BaseHelper.GridColumnSum(ultraGrid1, new string[] { "RealOutdoubleWt", "RealIndoubleWt", "PlanIndoubleWt" });
BaseHelper.GridColumnCount(ultraGrid1, new string[] { "RealOutdoubleNum", "RealIndoubleNum", "PlanIndoubleNum" });
StoveHelper.ForbidSort(ultraGrid1);
InitDate();
BaseHelper.SetGroupBySum(ultraGrid1, new string[] { "PlnInsingleWt", "PlnOutsingleW", "PlnIndoubleWt", "PlnOutdoubleW", "PlnInsingleNum", "PlnOutsingleNum", "PlnIndoubleNum", "PlnOutdoubleNum" }, "HeatPlanNo");
InitDate();
BaseHelper.InitComboEditor(ultraComboEditor1, "com.steering.pss.plnsaleord.planStove.FrmPlanStoveD.doQueryStorageNo", "STORAGE_NO", ob, true);
}
private void ultraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e)
{
StoveHelper.CustomMergedCellEvaluator merge = new StoveHelper.CustomMergedCellEvaluator("HeatPlanNo");
e.Layout.Bands[0].Columns["HeatPlanNo"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["HeatPlanNo"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["JudgeStoveNo"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["JudgeStoveNo"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["StoveNo"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["StoveNo"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnInsingleWt"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnInsingleWt"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnOutsingleW"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnOutsingleW"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnIndoubleWt"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnIndoubleWt"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnOutdoubleW"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnOutdoubleW"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnInsingleNum"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnInsingleNum"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnOutsingleNum"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnOutsingleNum"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnIndoubleNum"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnIndoubleNum"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["PlnOutdoubleNum"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["PlnOutdoubleNum"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["ZyBatchId"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["ZyBatchId"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["GxProSeq"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["GxProSeq"].MergedCellEvaluator = merge;
e.Layout.Bands[0].Columns["Planstatus"].MergedCellStyle = MergedCellStyle.Always;
e.Layout.Bands[0].Columns["Planstatus"].MergedCellEvaluator = merge;
}
///
/// 初始时间
///
private void InitDate()
{
DateTime datetime = DateTime.Now;
dateBegin.Value = datetime.AddDays(1 - datetime.Day);
dateEnd.Value = datetime.AddDays(1 - datetime.Day).AddMonths(1).AddDays(-1);
}
private void chcLine_CheckedChanged(object sender, EventArgs e)
{
if (chcLine.Checked) { txtLine.Enabled = true; } else { txtLine.Enabled = false; }
if (chcProPlanId.Checked) { txtProPlanId.Enabled = true; } else { txtProPlanId.Enabled = false; }
if (chcOrderNo.Checked) { txtOrderNo.Enabled = true; } else { txtOrderNo.Enabled = false; }
if (chcId.Checked) { txtId.Enabled = true; } else { txtId.Enabled = false; }
if (chcTime.Checked) { dateBegin.Enabled = true; dateEnd.Enabled = true; } else { dateBegin.Enabled = false; dateEnd.Enabled = false; }
if (chcJudgeNo.Checked) { txtJudgeNo.Enabled = true; } else { txtJudgeNo.Enabled = false; }
if (txtFeedCheck.Checked) { txtFeedHeatNo.Enabled = true; } else { txtFeedHeatNo.Enabled = false; }
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
base.ToolBar_Click(sender, ToolbarKey);
switch (ToolbarKey)
{
case "Query"://查询
Query();
break;
case "UpdateGoWhere":
updateGoWhere();
break;
case"UpdateLoadFlag":
updateLoadFlag();
break;
case "UpdateIsWeight":
updateIsWeight();
break;
case "Export": //导出
Export();
break;
case "Print":
doPrint();
break;
case "Print2":
doPrint2();
break;
case "Close": //关闭
this.Close();
break;
case "Excel":
doExcel();
break;
default:
break;
}
}
///
/// 生产计划卡
///
private void doPrint()
{
this.ultraGridZy.UpdateData();
UltraGridRow uRow = this.ultraGridZy.ActiveRow;
if (uRow == null)
{
return;
}
ArrayList parm = new ArrayList();
int countM = 0;
string judgeStoveNo = "";
string plineCode = "";
string heatPlanNo = "";
foreach (UltraGridRow item in ultraGridZy.Rows)
{
if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
{
countM++;
plineCode = item.Cells["PlineCode"].Text.ToString().Trim();
judgeStoveNo += "'" + item.Cells["FeedHeatNo"].Text.ToString().Trim() + "',";
heatPlanNo += "'" + item.Cells["HeatPlanNo"].Text.ToString().Trim() + "',";
}
}
if (countM == 0)
{
MessageUtil.ShowTips("请勾选需要打印的加工线生产计划卡信息!");
return;
}
//TZH 24.11.7 按照现场的需求取消
//if (countM > 10)
//{
// MessageUtil.ShowTips("一次最多打印10个生产计划卡!");
// return;
//}
if (judgeStoveNo.Equals("")) return;
judgeStoveNo = judgeStoveNo.Substring(1, judgeStoveNo.Length - 3);
if (heatPlanNo.Equals("")) return;
heatPlanNo = heatPlanNo.Substring(1, heatPlanNo.Length - 3);
string url = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMchProductionPlanTH.cpt&JUDGE_STOVE_NO=" + judgeStoveNo + "&HEAT_PLAN_NO=" + heatPlanNo;
FrmRepExcel fre = new FrmRepExcel(this.ob, url);
//fre.AutoSize = true;
fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
fre.Text = "生产计划卡";
fre.ShowDialog();
}
///
/// 生产流动卡
///
private void doPrint2()
{
this.ultraGridZy.UpdateData();
UltraGridRow uRow = this.ultraGridZy.ActiveRow;
if (uRow == null)
{
return;
}
ArrayList parm = new ArrayList();
int countM = 0;
string judgeStoveNo = "";
string plineCode = "";
string heatPlanNo = "";
foreach (UltraGridRow item in ultraGridZy.Rows)
{
if (Convert.ToBoolean(item.Cells["CHC"].Text) == true)
{
countM++;
plineCode = item.Cells["PlineCode"].Text.ToString().Trim();
judgeStoveNo += "'" + item.Cells["FeedHeatNo"].Text.ToString().Trim() + "',";
heatPlanNo += "'" + item.Cells["HeatPlanNo"].Text.ToString().Trim() + "',";
}
}
if (countM == 0)
{
MessageUtil.ShowTips("请勾选需要打印的加工线生产流动卡信息!");
return;
}
if (countM > 1)
{
MessageUtil.ShowTips("一次最多打印1个生产流动卡!");
return;
}
if (judgeStoveNo.Equals("")) return;
judgeStoveNo = judgeStoveNo.Substring(1, judgeStoveNo.Length - 3);
if (heatPlanNo.Equals("")) return;
heatPlanNo = heatPlanNo.Substring(1, heatPlanNo.Length - 3);
string url = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMchDeliveryCardTH.cpt&JUDGE_STOVE_NO=" + judgeStoveNo + "&HEAT_PLAN_NO=" + heatPlanNo;
FrmRepExcel fre = new FrmRepExcel(this.ob, url);
//fre.AutoSize = true;
fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
fre.Text = "生产流动卡";
fre.ShowDialog();
}
private void updateIsWeight()
{
this.ultraGridZy.UpdateData();
UltraGridRow row = this.ultraGridZy.ActiveRow;
if (row == null)
{
return;
}
ArrayList parmList = new ArrayList();
PlnZyJgxMEntity plnDbkTity = (PlnZyJgxMEntity)row.ListObject;
string plnZgEntity = JSONFormat.Format(plnDbkTity);
parmList.Add(plnZgEntity);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveG";
ccp.MethodName = "updateIsWeight";
ccp.ServerParams = new object[] { parmList };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnInfo.Equals("修改成功!"))
{
QueryM();
MessageUtil.ShowTips(ccp.ReturnInfo);
}
else
{
MessageUtil.ShowTips(ccp.ReturnInfo);
}
}
}
///
/// 标识库位不变
///
private void updateLoadFlag()
{
this.ultraGridZy.UpdateData();
UltraGridRow row = this.ultraGridZy.ActiveRow;
if (row == null)
{
return;
}
ArrayList parmList = new ArrayList();
PlnZyJgxMEntity plnDbkTity = (PlnZyJgxMEntity)row.ListObject;
string plnZgEntity = JSONFormat.Format(plnDbkTity);
parmList.Add(plnZgEntity);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveG";
ccp.MethodName = "updateLoadFlag";
ccp.ServerParams = new object[] { parmList };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnInfo.Equals("修改成功!"))
{
QueryM();
MessageUtil.ShowTips(ccp.ReturnInfo);
}
else
{
MessageUtil.ShowTips(ccp.ReturnInfo);
}
}
}
///
/// 修改去向
///
private void updateGoWhere()
{
this.ultraGridZy.UpdateData();
UltraGridRow row = this.ultraGridZy.ActiveRow;
if (row == null)
{
return;
}
ArrayList parmList = new ArrayList();
PlnZyJgxMEntity plnDbkTity = (PlnZyJgxMEntity)row.ListObject;
plnDbkTity.GowhereCode = row.Cells["GowhereCode"].Value.ToString();
plnDbkTity.GowhereName = row.Cells["GowhereCode"].Text.ToString();
string plnZgEntity = JSONFormat.Format(plnDbkTity);
parmList.Add(plnZgEntity);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanStoveG";
ccp.MethodName = "updateGoWhere";
ccp.ServerParams = new object[] { parmList };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnInfo.Equals("修改成功!"))
{
QueryM();
MessageUtil.ShowTips(ccp.ReturnInfo);
}
else
{
MessageUtil.ShowTips(ccp.ReturnInfo);
}
}
}
private void Query()
{
if (ultraExpandableGroupBox1.Expanded == false)
{
QueryC();
}
else
{
QueryM();
}
}
private int activation = 0;
///
/// 导出
///
private void Export()
{
if (activation < 2)
{
GridHelper.ulGridToExcel(ultraGridZy, "加工线炉计划主信息");
}
else
{
GridHelper.ulGridToExcel(ultraGrid1, "加工线炉计划详情");
}
}
///
/// 查询镦拔虚拟炉计划
///
private void QueryM()
{ //产线
string plineCode = "";
if (chcLine.Checked)
{
plineCode = txtLine.Value == null ? "" : txtLine.Value.ToString();
}
//if (txtLine.Text.Equals(""))
//{
// MessageUtil.ShowTips("请选择产线!");
// return;
//}
string timeBegin = "";
string timeEnd = "";
if (chcTime.Checked && dateBegin.Value != null && dateEnd.Value != null)
{
timeBegin = DateTime.Parse(dateBegin.Value.ToString()).ToString("yyyy-MM-dd");
timeEnd = DateTime.Parse(dateEnd.Value.ToString()).ToString("yyyy-MM-dd");
}
string orderNo = "";
if (chcOrderNo.Checked) { orderNo = txtOrderNo.Text.Trim(); }
string proPlanId = "";
if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); }
string heatId = "";
if (chcId.Checked) { heatId = txtId.Text.Trim(); }
string judgeNo = "";
if (chcJudgeNo.Checked) { judgeNo = txtJudgeNo.Text.Trim(); }
string feedNo = "";
if (txtFeedCheck.Checked) { feedNo = txtFeedHeatNo.Text.Trim(); }
//执行状态
string[] statusArr = contorlPlanStatusZy1.statusArr;
List listSource = EntityHelper.GetData
("com.steering.pss.plnsaleord.planStove.FrmPlanStoveG.queryPlanStoveYzF", new object[] { timeBegin, timeEnd, plineCode, orderNo, proPlanId, heatId, statusArr, judgeNo, feedNo }, this.ob);
plnZyJgxMEntityBindingSource.DataSource = listSource;
foreach (UltraGridRow ugr in ultraGridZy.Rows)
{
int countMess = 0;
if (!_heatPlanNo.Equals(""))
{
if (ugr.Cells["HeatPlanNo"].Text.Trim().Equals(_heatPlanNo))
{
ugr.Activate();
break;
}
}
if (_EntityList != null)
{
for (int i = 0; i < _EntityList.Count; i++)
{
PlnZyJgxMEntity entity = (PlnZyJgxMEntity)_EntityList[i];
if (ugr.Cells["HeatPlanNo"].Text.Trim().Equals(entity.HeatPlanNo))
{
ugr.Appearance.BackColor = Color.Wheat;
ugr.Activate();
}
}
}
}
_EntityList = null;
_heatPlanNo = "";
}
///
/// 查询镦拔扩实际炉计划
///
private void QueryC()
{
//产线
string plineCode = "";
if (chcLine.Checked)
{
plineCode = txtLine.Value == null ? "" : txtLine.Value.ToString();
}
//if (txtLine.Text.Equals(""))
//{
// MessageUtil.ShowTips("请选择产线!");
// return;
//}
string timeBegin = "";
string timeEnd = "";
if (chcTime.Checked && dateBegin.Value != null && dateEnd.Value != null)
{
timeBegin = DateTime.Parse(dateBegin.Value.ToString()).ToString("yyyy-MM-dd");
timeEnd = DateTime.Parse(dateEnd.Value.ToString()).ToString("yyyy-MM-dd");
}
string orderNo = "";
if (chcOrderNo.Checked) { orderNo = txtOrderNo.Text.Trim(); }
string proPlanId = "";
if (chcProPlanId.Checked) { proPlanId = txtProPlanId.Text.Trim(); }
string heatId = "";
if (chcId.Checked) { heatId = txtId.Text.Trim(); }
string judgeNo = "";
if (chcJudgeNo.Checked) { judgeNo = txtJudgeNo.Text.Trim(); }
string feedNo = "";
if (txtFeedCheck.Checked) { feedNo = txtFeedHeatNo.Text.Trim(); }
//执行状态
string[] statusArr = contorlPlanStatusZy1.statusArr;
List listSource = EntityHelper.GetData
("com.steering.pss.plnsaleord.planStove.FrmPlanStoveG.queryPlnZyDbkReadyById", new object[] { timeBegin, timeEnd, plineCode, orderNo, proPlanId, heatId, statusArr, judgeNo, feedNo }, this.ob);
plnZyJgxReadyEntityBindingSource.DataSource = listSource;
foreach (UltraGridRow ugr in ultraGrid1.Rows)
{
//没有实际炉计划,主炉计划变颜色
if (ugr.Cells["HeatPlanSqe"].Value.ToString().Equals(""))
{
//ugr.RowSelectorAppearance.BackColor = Color.GreenYellow;
ugr.Appearance.BackColor = Color.Orange;
}
}
}
private void ultraGridZy_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow row = ultraGridZy.ActiveRow;
if (row == null) return;
QueryMRow(row.Cells["HeatPlanNo"].Text.ToString().Trim());
}
private void QueryMRow(string heatPlanNo)
{
List listSourceM = EntityHelper.GetData
("com.steering.pss.plnsaleord.planStove.FrmPlanStoveG.queryPlanStoveRow", new object[] { heatPlanNo }, ob);
plnZyJgxReadyEntityBindingSource.DataSource = listSourceM;
foreach (UltraGridRow ugr in ultraGrid1.Rows)
{
//没有实际炉计划,主炉计划变颜色
if (ugr.Cells["HeatPlanSqe"].Value.ToString().Equals(""))
{
//ugr.RowSelectorAppearance.BackColor = Color.GreenYellow;
ugr.Appearance.BackColor = Color.Orange;
}
}
}
private int splitterDistance = 0;
int count1 = 0;
int count2 = 0;
private void ultraExpandableGroupBox1_ExpandedStateChanged(object sender, EventArgs e)
{
if (ultraExpandableGroupBox1.Expanded == false)
{
this.splitContainer1.SplitterDistance = 26;
count1 = 26;
}
else
{
if (ultraExpandableGroupBox2.Expanded == false)
{
this.splitContainer1.SplitterDistance = splitContainer1.Size.Height - 26;
}
else
{
this.splitContainer1.SplitterDistance = splitterDistance == 0 ? splitContainer1.Size.Height / 2 : splitterDistance;
}
count1 = splitContainer1.Size.Height - 26;
}
}
private void ultraExpandableGroupBox2_ExpandedStateChanged(object sender, EventArgs e)
{
if (ultraExpandableGroupBox2.Expanded == false)
{
if (count1 == 0) { count1 = splitContainer1.Size.Height - 26; }
this.splitContainer1.SplitterDistance = count1;
}
else
{
if (ultraExpandableGroupBox1.Expanded == false)
{
this.splitContainer1.SplitterDistance = 26;
}
else
{
//this.splitContainer1.SplitterDistance = count1;
this.splitContainer1.SplitterDistance = splitterDistance == 0 ? splitContainer1.Size.Height / 2 : splitterDistance;
}
}
}
private void ultraGridZy_Click(object sender, EventArgs e)
{
activation = 1;
}
private void ultraGridZy_ClickCell(object sender, ClickCellEventArgs e)
{
activation = 1;
}
private void ultraGrid1_Click(object sender, EventArgs e)
{
activation = 2;
}
private void ultraGrid1_ClickCell(object sender, ClickCellEventArgs e)
{
activation = 2;
}
private void doExcel()
{
try
{
var reportUrls = new Dictionary();
foreach (UltraGridRow row in ultraGridZy.Rows)
{
if (Convert.ToBoolean(row.Cells["CHC"].Text) == true)
{
string plineCode = row.Cells["PlineCode"].Value.ToString();
string judgeStoveNo = row.Cells["FeedHeatNo"].Value.ToString();
string heatPlanNo = row.Cells["HeatPlanNo"].Value.ToString();
/* if (judgeStoveNo.Equals("")) return;
judgeStoveNo = judgeStoveNo.Substring(1, judgeStoveNo.Length - 3);
if (heatPlanNo.Equals("")) return;
heatPlanNo = heatPlanNo.Substring(1, heatPlanNo.Length - 3);*/
string url = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMchDeliveryCardTH.cpt&JUDGE_STOVE_NO=" + judgeStoveNo + "&HEAT_PLAN_NO=" + heatPlanNo;
reportUrls.Add(url, judgeStoveNo);
}
}
// 检查是否有选中的数据
if (reportUrls.Count == 0)
{
MessageBox.Show("请先选择要导出的数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
// 使用文件夹浏览器对话框选择目录
using (FolderBrowserDialog folderDialog = new FolderBrowserDialog())
{
folderDialog.Description = "选择导出目录";
folderDialog.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
folderDialog.ShowNewFolderButton = true;
if (folderDialog.ShowDialog() == DialogResult.OK)
{
string selectedDirectory = folderDialog.SelectedPath;
string outputPath = Path.Combine(selectedDirectory, DateTime.Now.ToString("yyyyMMdd") + "加工线炉计划.xlsx");
// 检查文件是否已存在,如果存在则询问是否覆盖
if (File.Exists(outputPath))
{
DialogResult overwriteResult = MessageBox.Show("文件已存在,是否覆盖?", "确认覆盖",
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (overwriteResult == DialogResult.No)
{
return; // 用户选择不覆盖,直接返回
}
}
var merger = new MultiReportExcelMerger();
string result = merger.MergeReportsUsingInterop(reportUrls, outputPath);
if (result == "成功")
{
MessageBox.Show($"导出成功!\n文件已保存到:{outputPath}", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
// 可选:打开文件所在目录
if (MessageBox.Show("是否打开文件所在目录?", "打开目录", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
System.Diagnostics.Process.Start("explorer.exe", $"/select,\"{outputPath}\"");
}
}
else
{
MessageBox.Show($"导出出错: {result}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
catch (Exception ex)
{
MessageBox.Show($"导出出错: {ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}