using Core.Mes.Client.Comm.Tool;
using Core.StlMes.Client.SaleOrder.BLL;
using Core.StlMes.Client.SaleOrder.Control;
using CoreFS.CA06;
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;
namespace Core.StlMes.Client.SaleOrder.Dialog
{
public partial class FrmCraftFileLv2 : FrmBase
{
private CraftFileLv2Ctrl _craftFileLv2Ctrl;
private CraftFileLv2CCtrl _craftFileLv2CCtrl;
private CraftFileLv2BLL _craftFileLv2BLL;
public FrmCraftFileLv2()
{
InitializeComponent();
}
private bool _isFilter = false;
private string _designKey = "";
private string _processCode = "";
private string _craftFileLv2Pks = "";
public string CraftFileLv2Pks
{
get { return _craftFileLv2Pks; }
set { _craftFileLv2Pks = value; }
}
private string _craftFileLv2Nos = "";
public string CraftFileLv2Nos
{
get { return _craftFileLv2Nos; }
set { _craftFileLv2Nos = value; }
}
private string _craftNo = "";
public string CraftNo
{
get { return _craftNo; }
set { _craftNo = value; }
}
private string _msc = "";
private bool _isAddAsk = false;//是否有附加要求
private string _modelCode = "";//合同扣型
private string _modelDesc = "";
private string _dimater = "";
private string _height = "";
///
///
///
///
///
///
/// 类型 0选择二级工艺 1 查询二级工艺 2 维护二级工艺 3 查询所有二级工艺文件
///
public FrmCraftFileLv2(string designKey, string processCode, string craftFileLv2Pks,
string craftNo, string customInfo, OpeBase ob, string msc, bool isAddAsk,
string modelCode, string modelDesc, string dimater, string height) : this()
{
this.ob = ob;
_craftFileLv2Pks = craftFileLv2Pks;
_designKey = designKey;
_processCode = processCode;
_msc = msc;
_isAddAsk = isAddAsk;
CustomInfo = customInfo;
_craftNo = craftNo;
_modelCode = modelCode;
_modelDesc = modelDesc;
_dimater = dimater;
_height = height;
}
private void FrmCraftFileLv2_Load(object sender, EventArgs e)
{
if (CustomInfo == "0")
{
ultraToolbarsManager1.Tools["保存"].SharedProps.Visible = false;
ultraToolbarsManager1.Tools["作废"].SharedProps.Visible = false;
ultraToolbarsManager1.Tools["恢复"].SharedProps.Visible = false;
ultraToolbarsManager1.Tools["生成适用条件"].SharedProps.Visible = false;
splitContainer1.Panel2Collapsed = true;
_isFilter = true;
}
else if (CustomInfo == "1")
{
ultraToolbarsManager1.Tools["保存"].SharedProps.Visible = false;
ultraToolbarsManager1.Tools["作废"].SharedProps.Visible = false;
ultraToolbarsManager1.Tools["恢复"].SharedProps.Visible = false;
ultraToolbarsManager1.Tools["生成适用条件"].SharedProps.Visible = false;
ultraToolbarsManager1.Tools["确认"].SharedProps.Visible = false;
ultraToolbarsManager1.Tools["维护二级工艺文件"].SharedProps.Visible = false;
splitContainer1.Panel2Collapsed = true;
_isFilter = true;
}
else if (CustomInfo == "3")
{
labelCheckBox1.Visible = false;
ultraToolbarsManager1.Visible = false;
}
else
{
ultraToolbarsManager1.Tools["确认"].SharedProps.Visible = false;
ultraToolbarsManager1.Tools["维护二级工艺文件"].SharedProps.Visible = false;
_isFilter = false;
}
_craftFileLv2Ctrl = new CraftFileLv2Ctrl(splitContainer1.Panel1, ob, _msc, _processCode);
if (CustomInfo == "3")
{
_craftFileLv2Ctrl.UltraGrid1.DisplayLayout.Bands[0].Columns["Chk"].Hidden = true;
}
if (!splitContainer1.Panel2Collapsed) _craftFileLv2Ctrl.UltraGrid1.AfterRowActivate += _craftFileLv2Ctrl_AfterRowActivate;
_craftFileLv2CCtrl = new CraftFileLv2CCtrl(splitContainer1.Panel2, ob);
_craftFileLv2CCtrl.UltraGrid1.BeforeRowInsert += _craftFileLv2CCtrl_BeforeRowInsert;
_craftFileLv2CCtrl.UltraGrid1.AfterRowInsert += _craftFileLv2CCtrl_AfterRowInsert;
if (CustomInfo == "0" || CustomInfo == "1" || CustomInfo == "3")
{
_craftFileLv2Ctrl.UltraGrid1.DisplayLayout.Bands[0].Override.AllowAddNew = Infragistics.Win.UltraWinGrid.AllowAddNew.No;
}
_craftFileLv2BLL = new CraftFileLv2BLL(ob);
Query();
}
void _craftFileLv2CCtrl_AfterRowInsert(object sender, Infragistics.Win.UltraWinGrid.RowEventArgs e)
{
e.Row.SetValue("FileLv2Pk", _craftFileLv2Ctrl.UltraGrid1.ActiveRow.GetValue("Pk"));
}
void _craftFileLv2CCtrl_BeforeRowInsert(object sender, Infragistics.Win.UltraWinGrid.BeforeRowInsertEventArgs e)
{
if (_craftFileLv2Ctrl.UltraGrid1.ActiveRow == null)
{
e.Cancel = true;
return;
}
CraftFileLv2Entity fileLv2Entity = (CraftFileLv2Entity)_craftFileLv2Ctrl.UltraGrid1.ActiveRow.ListObject;
if (fileLv2Entity.Validflag == "")
{
e.Cancel = true;
return;
}
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
base.ToolBar_Click(sender, ToolbarKey);
switch (ToolbarKey)
{
case "Query":
Query();
break;
case "Save":
Save();
break;
case "Delete":
Delete();
break;
case "Resume":
Resume();
break;
case "Close":
this.Close();
break;
}
}
private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key)
{
case "查询":
Query();
break;
case "保存":
Save();
break;
case "作废":
Delete();
break;
case "恢复":
Resume();
break;
case "确认":
Submit();
break;
case "维护二级工艺文件":
ShowCraftFileLv2();
break;
case "生成适用条件":
CreateApplyCondition();
break;
case "关闭":
this.Close();
break;
}
}
private void CreateApplyCondition()
{
var row = _craftFileLv2Ctrl.UltraGrid1.Rows.Where(a => a.GetValue("Chk") == "True").FirstOrDefault();
if (row == null)
{
MessageUtil.ShowWarning("请选择一条记录!");
return;
}
List parms = new List();
CraftFileLv2CEntity parm = new CraftFileLv2CEntity();
if(_isAddAsk)
{
parm.CraftNo = _craftNo;
}
parm.ModelCode = _modelCode;
parm.ModelDesc = _modelDesc;
parm.MinD = _dimater;
parm.MaxD = _dimater;
parm.MinDSign = ">=";
parm.MaxDSign = "<=";
parm.MinH = _height;
parm.MaxH = _height;
parm.MinHSign = ">=";
parm.MaxHSign = "<=";
parm.FileLv2Pk = _craftFileLv2Ctrl.UltraGrid1.ActiveRow.GetValue("Pk");
parms.Add(parm);
string[] results = (string[])_craftFileLv2BLL.Save(new List(), parms);
MessageUtil.ShowTips("生成成功!");
_craftFileLv2CCtrl.Relocate(results[1]);
}
private void Query()
{
if (CustomInfo == "0" || CustomInfo == "1")
{
string craftNoLv2 = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : "";
string validflag = labelCheckBox1.Checked ? "0" : "1";
_craftFileLv2Ctrl.FilterCraftFileLv2(_designKey, _processCode, craftNoLv2, validflag,
_craftFileLv2Pks, _craftNo, _msc);
}
else if (CustomInfo == "3")
{
_craftFileLv2Ctrl.QueryAll();
}
else
{
string craftNoLv2 = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : "";
string validflag = labelCheckBox1.Checked ? "0" : "1";
_craftFileLv2CCtrl.Clear();
_craftFileLv2Ctrl.Query(craftNoLv2, validflag);
}
}
private void Save()
{
_craftFileLv2Ctrl.Save(_craftFileLv2CCtrl);
}
void _craftFileLv2Ctrl_AfterRowActivate(object sender, EventArgs e)
{
var craftFileLv2 = (CraftFileLv2Entity)_craftFileLv2Ctrl.UltraGrid1.ActiveRow.ListObject;
string validflag = labelCheckBox1.Checked ? "0" : "1";
_craftFileLv2CCtrl.Query(craftFileLv2.Pk, validflag);
}
private void Delete()
{
_craftFileLv2Ctrl.UpdateValidflag("0", _craftFileLv2CCtrl);
}
private void Resume()
{
_craftFileLv2Ctrl.UpdateValidflag("1", _craftFileLv2CCtrl);
}
private void Submit()
{
_craftFileLv2Pks = "";
_craftFileLv2Nos = "";
List plineList = new List();
foreach (var row in _craftFileLv2Ctrl.UltraGrid1.Rows)
{
if (row.GetValue("Chk") == "True")
{
string[] plineArray = row.GetValue("PlineCode").Split(',');
foreach (string pline in plineArray)
{
if (plineList.Contains(pline))
{
MessageUtil.ShowWarning("选择的二级工艺文件中,存在重复产线!");
return;
}
else
{
plineList.Add(pline);
}
}
if (_craftFileLv2Pks == "")
{
_craftFileLv2Pks = row.GetValue("Pk");
_craftFileLv2Nos = row.GetValue("CraftNoLv2");
}
else
{
_craftFileLv2Pks += ";" + row.GetValue("Pk");
_craftFileLv2Nos += ";" + row.GetValue("CraftNoLv2");
}
}
}
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
private void ShowCraftFileLv2()
{
FrmCraftFileLv2 frmCraftFileLv2 = new FrmCraftFileLv2(_designKey, _processCode,
_craftFileLv2Pks, _craftNo, "2", ob, _msc, _isAddAsk, _modelCode, _modelDesc, _dimater, _height);
frmCraftFileLv2.ob = ob;
frmCraftFileLv2.ShowDialog();
Query();
}
}
}