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 System.Collections;
using CoreFS.CA06;
using Core.Mes.Client.Comm.Tool;
using com.steering.pss.plan.order.model;
using Infragistics.Win.UltraWinGrid;
using Core.Mes.Client.Comm.Server;
namespace Core.StlMes.Client.Plan.Order
{
public partial class FrmDesginBom : FrmBase
{
private string bom = "";
///
/// DESIGN_KEY
///
private String designKey;
///
/// 全程产线号
///
private string mscPline;
///
/// 全程途径码
///
private string wholeBacklog;
///
/// 物料编码
///
private string materialNo;
///
/// 可选钢种
///
private string gradeAll;
///
/// bom选中
///
private UltraGridRow ugr;
///
/// 镦拔扩投入物料编码
///
private string eInMaterial;
///
/// BOM
///
private string strBom;
///
/// 冶金规范码
///
private String msc;
///
/// 成品外径
///
private String outdiameter;
///
/// 成品壁厚
///
private String wallthick;
///
/// 成品规格代码
///
private String specCode;
///
/// 成品规格描述
///
private String specName;
public FrmDesginBom(OpeBase baseOb, string strBom)
{
this.IsLoadUserView = true;
this.ob = baseOb;
bom = strBom;
this.designKey = "";
this.mscPline = "";
this.WholeBacklog = "";
this.materialNo = "";
this.eInMaterial = "";
this.StrBom = "";
this.gradeAll = "";
this.msc = "";
this.outdiameter = "";
this.wallthick = "";
this.specCode = "";
this.specName = "";
InitializeComponent();
EntityHelper.ShowGridCaption(ultraGridBom.DisplayLayout.Bands[0]);
}
private void FrmDesginBom_Load(object sender, EventArgs e)
{
doQuery();
}
///
/// 查询
///
private void doQuery()
{
ArrayList param = new ArrayList();
param.Add(designKey);
param.Add(designKey);
param.Add(mscPline);
param.Add(msc);
param.Add(materialNo);
param.Add(eInMaterial);
param.Add(eInMaterial);
param.Add(strBom);
param.Add(strBom);
List listSource = EntityHelper.GetData(
"com.steering.pss.plan.order.CoreOrderDesignBom.getOrdDesignBom", new object[] { param }, this.ob);
slmOrdDesignBomEntityBindingSource.DataSource = listSource;
PlanComm.setGridActivation(ultraGridBom.DisplayLayout.Bands[0], "CHC");
ultraGridBom.Update();
IQueryable checkRows = ultraGridBom.Rows.AsQueryable().Where(" Bom = '" + bom + "' ");
if (checkRows.Count() == 0)
{
return;
}
foreach (UltraGridRow uRow in checkRows)
{
uRow.Cells["CHC"].Value = true;
}
}
///
/// 控制单选
///
///
///
private void ultraGridBom_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
if (e.Cell.Column.Key.Equals("CHC"))
{
if (Convert.ToBoolean(e.Cell.Row.Cells["CHC"].Text))
{
foreach (UltraGridRow uRow in ultraGridBom.Rows)
{
if (uRow != e.Cell.Row)
{
uRow.Cells["CHC"].Value = false;
}
}
}
}
}
///
/// 确认
///
///
///
private void ultraButtonConfirm_Click(object sender, EventArgs e)
{
ultraGridBom.UpdateData();
IQueryable checkRows = ultraGridBom.Rows.AsQueryable().Where(" CHC = 'True' ");
if (checkRows.Count() == 0)
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("未勾选任何信息!");
return;
}
ArrayList arr = new ArrayList();
ugr = checkRows.First();
foreach (UltraGridRow uRow in ultraGridBom.Rows)
{
if (!arr.Contains(uRow.Cells["Gradename"].Value.ToString()))
{
arr.Add(uRow.Cells["Gradename"].Value.ToString());
gradeAll += uRow.Cells["Gradename"].Value.ToString() + ",";
}
}
if (!gradeAll.Equals("") && gradeAll.Length > 1)
{
gradeAll = gradeAll.Substring(0, gradeAll.Length - 1);
}
this.Close();
}
///
/// 取消
///
///
///
private void ultraButtonCancel_Click(object sender, EventArgs e)
{
this.Close();
}
///
/// 新增镦拔扩投入规格
///
///
///
private void buttonAddZgSepc_Click(object sender, EventArgs e)
{
ultraGridBom.Update();
IQueryable checkRows = ultraGridBom.Rows.AsQueryable().Where(" CHC = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未指定钢种!");
return;
}
UltraGridRow ugr = checkRows.First();
FrmAddEinSpec addSpec = new FrmAddEinSpec(this.ob);
ArrayList param= new ArrayList();
param.Add(designKey);
param.Add(ugr.Cells["mscPline"].Value.ToString());
DataTable dtProcess = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryMscplPrc",
new object[] { param }, this.ob);
if (dtProcess != null && dtProcess.Rows.Count > 0)
{
string bjType = "";
foreach (DataRow dr in dtProcess.Rows)
{
if (dr["PROCESS_CODE"].ToString().Equals("E"))
{
bjType = dr["PROCESS_CODE_C"].ToString();
}
}
if (bjType.Equals(""))
{
MessageUtil.ShowError("未找到镦拔扩二级工序!");
return;
}
addSpec.Prolineinfo = bjType;
addSpec.Gztype = ugr.Cells["Gradecode"].Value.ToString();
addSpec.BjOutdiameter = outdiameter;
addSpec.BjWallthick = wallthick;
addSpec.ShowDialog();
if (addSpec.isModify)
{
ArrayList listMscPline = new ArrayList();
ArrayList listwholeBacklog = new ArrayList();
listMscPline.Add(mscPline);
listwholeBacklog.Add(wholeBacklog);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.sale.order.qualityDesign.QualityDesignStandard";
ccp.MethodName = "checkNewSpec";
ccp.ServerParams = new object[] { designKey, msc, listMscPline,
listwholeBacklog, outdiameter, wallthick, specCode, specName };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
MessageUtil.ShowTips(ccp.ReturnInfo);
}
}
}
doQuery();
}
///
/// 设置添加轧管规格
///
///
public void setButtonAddZgSepcShow(bool visiBle)
{
this.buttonAddZgSepc.Visible = visiBle;
}
///
/// 成品外径
///
public string Outdiameter
{
get { return outdiameter; }
set { outdiameter = value; }
}
///
/// 成品壁厚
///
public string Wallthick
{
get { return wallthick; }
set { wallthick = value; }
}
///
/// 成品规格代码
///
public string SpecCode
{
get { return specCode; }
set { specCode = value; }
}
///
/// 成品规格描述
///
public string SpecName
{
get { return specName; }
set { specName = value; }
}
///
/// 冶金规范码
///
public string Msc
{
get { return msc; }
set { msc = value; }
}
///
/// BOM
///
public string StrBom
{
get { return strBom; }
set { strBom = value; }
}
///
/// 镦拔扩投入物料编码
///
public string EInMaterial
{
get { return eInMaterial; }
set { eInMaterial = value; }
}
///
/// bom选中
///
public UltraGridRow Ugr
{
get { return ugr; }
set { ugr = value; }
}
///
/// 可选钢种
///
public string GradeAll
{
get { return gradeAll; }
set { gradeAll = value; }
}
///
/// 物料编码
///
public string MaterialNo
{
get { return materialNo; }
set { materialNo = value; }
}
///
/// 全程产线号
///
public string MscPline
{
get { return mscPline; }
set { mscPline = value; }
}
///
/// 全程途径码
///
public string WholeBacklog
{
get { return wholeBacklog; }
set { wholeBacklog = value; }
}
///
/// DESIGN_KEY
///
public string DesignKey
{
get { return designKey; }
set { designKey = value; }
}
}
}