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 System.IO;
using System.Diagnostics;
using Infragistics.Win.UltraWinGrid;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid.ExcelExport;
using Infragistics.Excel;
using CoreFS.CA06;
using CoreFS.SA06;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm;
using Core.Mes.Client.Comm.Tool;
using com.steering.pss.plan.order;
using Core.StlMes.Client.Plan.Order.BaseMethod;
using Core.StlMes.Client.Plan.Order.PopupWindow;
using com.steering.pss.plan.order.model;
namespace Core.StlMes.Client.Plan.Order
{
///
/// 销售合同处理
/// @author:杨天海
/// @version:v1.1
/// @date:2015.04.11
///
public partial class FrmSaleOrderOP : FrmBase
{
//用于计算可分离容器的大小。
private int _splitterDistance = 0;
private bool _groupBox2ExpandedChanged = false;
public FrmSaleOrderOP()
{
this.IsLoadUserView = true;
InitializeComponent();
}
public FrmSaleOrderOP(OpeBase ob)
{
this.ob = ob;
InitializeComponent();
}
public override void ToolBar_Click(object sender, string ToolbarKey)
{
base.ToolBar_Click(sender, ToolbarKey);
switch (ToolbarKey)
{
case "Query": //查询
doQuery(GetQueryCondition());
break;
case "Pretreat"://合同预处理
Pretreat();
break;
case "CancelPre"://取消合同预处理
CancelPre();
break;
case "ProcessJG"://接箍处理
doProcessJg();
break;
case "CancelJg"://取消接箍合同
doCancelJg();
break;
case "ProcessDJ"://短节处理
doProcessDj();
break;
case "CancelDj"://取消短节合同
doCancelDj();
break;
case "ConfirmGrade"://钢种坯料确认
doConfirmGrade();
break;
case "ConfirmZg"://轧管确认
doConfirmZg();
break;
case "ModifyBom":
setOrderBom();
break;
case "ConfirmBj"://镦拔扩确认
doConfirmBj();
break;
case "ConfirmRcl"://热处理确认
doConfirmRcl();
break;
case "ConfirmGjg"://管加工确认
doConfirmGjg();
break;
case "OrderSaleIssued"://销售合同下发
OrderSaleIssued();
break;
case "CancelSaleIssued"://取消销售合同下发
CancelSaleIssued();
break;
case "QueryJgl": //接箍料编制查询
QueryJGl();
break;
case "SaveJg": //保存接箍合同
UpdateJgOrder();
break;
case "Plait": //接箍料需求保存
doPlait();
break;
case "AddPlait": //加入现有接箍料需求
doAddPlait();
break;
case "Delete": //删除接箍需求
Delete();
break;
case "DeleteOne": //删除接箍需求单量
DeleteOne();
break;
case "QueryIssued"://查询下发合同信息
QueryIssued();
break;
case "ExportSale": //导出
ExportSale();
break;
case "Import": //导入工艺
DoImport();
break;
case "TechOrderLine": //
TechOrderLine();
break;
case "TechOrderLineSqe": //
TechOrderLineSqe();
break;
case "RefresDate"://刷新加载数据
RefresDate();
doQuery(GetQueryCondition());
break;
case "Close": //关闭
this.Close();
break;
case "FinishJk"://缴库完成
doFinishJk();
break;
case "FinishSc"://生产完成
doFinishSc();
break;
case "RepRequest"://补量申请
DoRepRequest();
break;
case "RepExport"://补量申请导出
PlanComm.Export(ref ultraGrid1, "销售合同");
break;
}
}
private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key)
{
case "Save"://更新短节备料信息
UpdateDjBl(ultraGrid3);
break;
case "ConfirmZg"://轧管确认
ConfirmBlZg(ultraGrid3);
break;
case "ConfirmBj"://镦拔扩确认
ConfirmBlBj(ultraGrid3);
break;
case "ConfirmRcl"://热处理确认
ConfirmBlRcl(ultraGrid3);
break;
case "Iussed"://短节需求下发
IssuedBlNeed(ultraGrid3);
break;
case "CancelIssued"://取消下发
CancelBlIssued(ultraGrid3);
break;
case "Export":
doExportBl("DJBL");
break;
}
}
///
/// 备料轧管确认
///
private void ConfirmBlZg(UltraGrid ugrid)
{
try
{
ugrid.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkRows = ugrid.Rows.AsQueryable().Where(" CHECK = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选保存的备料!");
return;
}
foreach (UltraGridRow uRow in checkRows)
{
///查询合同状态
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryBLbyReqBlId",
new object[] { uRow.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PLANSTATUS"].ToString().Equals("0"))
{
ArrayList param = new ArrayList();
param.Add("1");
param.Add(uRow.Cells["GROUP_ROLL"].Value.ToString());
param.Add(uRow.Cells["DIMATER_YLG"].Value.ToString());
param.Add(uRow.Cells["HEIGHT_YLG"].Value.ToString());
param.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
list.Add(param);
}
}
if (list.Count == 0)
{
return;
}
int suceed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.confirmBlZg",
new object[] { list }, this.ob);
if (suceed > 0)
{
MessageUtil.ShowTips("保存成功!");
}
else
{
MessageUtil.ShowTips("保存失败!");
}
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
if (ugrid != ultraGrid3)
{
QueryJGl();
}
else
{
doQuery(GetQueryCondition());
}
}
///
/// 镦拔扩确认
///
private void ConfirmBlBj(UltraGrid ugrid)
{
try
{
ugrid.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkRows = ugrid.Rows.AsQueryable().Where(" CHECK = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选要保存的备料!");
return;
}
foreach (UltraGridRow uRow in checkRows)
{
///查询合同状态
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryBLbyReqBlId",
new object[] { uRow.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PLANSTATUS"].ToString().Equals("0"))
{
ArrayList param = new ArrayList();
if (uRow.Cells["BJ_TYPE"].Value.ToString().Equals("")
|| uRow.Cells["BJ_TYPE"].Value.ToString().Equals("/"))
{
param.Add("2");
}
else
{
param.Add("1");
}
param.Add(uRow.Cells["E_IN_MATERIAL_NO"].Value.ToString());
param.Add(uRow.Cells["E_IN_MATERIAL_NO"].Text.Trim());
param.Add(uRow.Cells["DIMATER_YLG"].Value.ToString());
param.Add(uRow.Cells["HEIGHT_YLG"].Value.ToString());
param.Add(uRow.Cells["BJ_TYPE"].Value.ToString());
param.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
list.Add(param);
}
}
if (list.Count == 0)
{
return;
}
int suceed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.confirmBlBj",
new object[] { list }, this.ob);
if (suceed > 0)
{
MessageUtil.ShowTips("保存成功!");
}
else
{
MessageUtil.ShowTips("保存失败!");
}
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
if (ugrid != ultraGrid3)
{
QueryJGl();
}
else
{
doQuery(GetQueryCondition());
}
}
///
/// 热处理确认
///
private void ConfirmBlRcl(UltraGrid ugrid)
{
try
{
ugrid.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkRows = ugrid.Rows.AsQueryable().Where(" CHECK = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选要保存的备料!");
return;
}
foreach (UltraGridRow uRow in checkRows)
{
///查询合同状态
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryBLbyReqBlId",
new object[] { uRow.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PLANSTATUS"].ToString().Equals("0"))
{
ArrayList param = new ArrayList();
if (uRow.Cells["GROUP_RCL"].Value.ToString().Equals("")
|| uRow.Cells["GROUP_RCL"].Value.ToString().Equals("/"))
{
param.Add("2");
}
else
{
param.Add("1");
}
param.Add(uRow.Cells["GROUP_RCL"].Value.ToString());
param.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
list.Add(param);
}
}
if (list.Count == 0)
{
return;
}
int suceed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.confirmBlRcl",
new object[] { list }, this.ob);
if (suceed > 0)
{
MessageUtil.ShowTips("保存成功!");
}
else
{
MessageUtil.ShowTips("保存失败!");
}
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
if (ugrid != ultraGrid3)
{
QueryJGl();
}
else
{
doQuery(GetQueryCondition());
}
}
private void ultraToolbarsManager2_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key)
{
case "Save"://保存接箍料信息
UpdateDjBl(ultraGrid6);
break;
case "ConfirmZg"://轧管确认
ConfirmBlZg(ultraGrid6);
break;
case "ConfirmBj"://镦拔扩确认
ConfirmBlBj(ultraGrid6);
break;
case "ConfirmRcl"://热处理确认
ConfirmBlRcl(ultraGrid6);
break;
case "Iussed": //接箍料需求下发
IssuedBlNeed(ultraGrid6);
break;
case "CancelIssued"://取消下发
CancelBlIssued(ultraGrid6);
break;
case "Export":
doExportBl("JGL");
break;
}
}
private void ultraToolbarsManager3_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key)
{
case "Iussed"://合同下发
OrderJgIssued();
break;
case "CancelIssued"://取消下发
CancelJgIssued();
break;
}
}
///
/// 质量设计制程
///
private DataTable tableIndex = null;
///
/// 页面加载
///
///
///
private void FrmSaleOrderOP_Load(object sender, EventArgs e)
{
ctrlForQueryPORDERSTATUS.SelectedIndex = 0;
this.ultraTextEditorAcceptNo.Value = DateTime.Now.ToString("yyMM") + "X" + DateTime.Now.ToString("MMdd");
ultraComboGroupType.SelectedIndex = 0;
ultraDateTimeDELVRY_EDATEFrom.Value = DateTime.Now;
ultraDateTimeDELVRY_EDATETo.Value = DateTime.Now;
ultraTextAcceptNo.Value = DateTime.Now.ToString("yyMM") + "X";
RefresDate();
Init();
}
///
/// 界面权限分配
///
private void Init()
{
switch (this.CustomInfo.ToString().Trim())
{
case "@BJ":
#region
ultraGrid1.DisplayLayout.Bands[0].Columns["CODE_JG"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BL_GROUP_NUM"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["ROLL_MONTH"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_JGX"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_RCL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["OUTS_BILLET_FL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["OUTS_STL_PIPE_FL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGORD_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGL_REQ_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["DJBL_REQ_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["IF_ALLOW_ISSUE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["D_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["G_IS_OK"].Hidden = true;
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl1.Tabs[2].Visible = false;
splitContainer2.Panel2Collapsed = true;
ctrlForQueryPORDERSTATUS.SelectedIndex = 1;
ctrlForQueryPORDERSTATUS.Items.Remove(4);
ctrlForQueryPORDERSTATUS.Items.Remove(3);
ctrlForQueryPORDERSTATUS.Items.Remove(2);
ctrlForQueryPORDERSTATUS.Items.Remove(0);
#endregion
doQuery(GetQueryCondition());
break;
case "@GRADE":
#region
ultraGrid1.DisplayLayout.Bands[0].Columns["CODE_JG"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BL_GROUP_NUM"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["ROLL_MONTH"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BJ_TYPE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["OUTS_BILLET_FL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["OUTS_STL_PIPE_FL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_ROLL_ALL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_ROLL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGORD_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGL_REQ_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["DJBL_REQ_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["D_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["E_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["G_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["IF_ALLOW_ISSUE"].Hidden = true;
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl1.Tabs[2].Visible = false;
splitContainer2.Panel2Collapsed = true;
ctrlForQueryPORDERSTATUS.SelectedIndex = 1;
checkBoxAcceptNo.Checked = true;
ctrlForQueryPORDERSTATUS.Items.Remove(4);
ctrlForQueryPORDERSTATUS.Items.Remove(3);
ctrlForQueryPORDERSTATUS.Items.Remove(2);
ctrlForQueryPORDERSTATUS.Items.Remove(0);
#endregion
doQuery(GetQueryCondition());
break;
case "@JGANDDJ":
#region
ultraGrid1.DisplayLayout.Bands[0].Columns["ROLL_MONTH"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_JGX"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_RCL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BJ_TYPE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["OUTS_BILLET_FL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["OUTS_STL_PIPE_FL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_ROLL_ALL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_ROLL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GRADECODE_ALL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GRADECODE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["IF_ALLOW_ISSUE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["D_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["E_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["G_IS_OK"].Hidden = true;
ultraTabControl1.Tabs[2].Visible = false;
ctrlForQueryPORDERSTATUS.SelectedIndex = 1;
ctrlForQueryPORDERSTATUS.Items.Remove(4);
ctrlForQueryPORDERSTATUS.Items.Remove(3);
ctrlForQueryPORDERSTATUS.Items.Remove(2);
ctrlForQueryPORDERSTATUS.Items.Remove(0);
checkBoxisGp.Visible = false;
#endregion
doQuery(GetQueryCondition());
break;
case "@RCL":
#region
ultraGrid1.DisplayLayout.Bands[0].Columns["CODE_JG"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BL_GROUP_NUM"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["ROLL_MONTH"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BJ_TYPE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["OUTS_BILLET_FL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["OUTS_STL_PIPE_FL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GRADECODE_ALL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GRADECODE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_ROLL_ALL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_ROLL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGORD_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGL_REQ_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["DJBL_REQ_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["D_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["E_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["G_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["IF_ALLOW_ISSUE"].Hidden = true;
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl1.Tabs[2].Visible = false;
splitContainer2.Panel2Collapsed = true;
ctrlForQueryPORDERSTATUS.SelectedIndex = 1;
ctrlForQueryPORDERSTATUS.Items.Remove(4);
ctrlForQueryPORDERSTATUS.Items.Remove(3);
ctrlForQueryPORDERSTATUS.Items.Remove(2);
ctrlForQueryPORDERSTATUS.Items.Remove(0);
#endregion
doQuery(GetQueryCondition());
break;
case "@JGX":
#region
ultraGrid1.DisplayLayout.Bands[0].Columns["CODE_JG"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BL_GROUP_NUM"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["ROLL_MONTH"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BJ_TYPE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["OUTS_BILLET_FL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["OUTS_STL_PIPE_FL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GRADECODE_ALL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GRADECODE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_ROLL_ALL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_ROLL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGORD_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGL_REQ_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["DJBL_REQ_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["D_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["E_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["F_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["IF_ALLOW_ISSUE"].Hidden = true;
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl1.Tabs[2].Visible = false;
splitContainer2.Panel2Collapsed = true;
ctrlForQueryPORDERSTATUS.SelectedIndex = 1;
ctrlForQueryPORDERSTATUS.Items.Remove(4);
ctrlForQueryPORDERSTATUS.Items.Remove(3);
ctrlForQueryPORDERSTATUS.Items.Remove(2);
ctrlForQueryPORDERSTATUS.Items.Remove(0);
#endregion
doQuery(GetQueryCondition());
break;
case "@ACCEPT":
#region
ultraGrid1.DisplayLayout.Bands[0].Columns["CODE_JG"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BL_GROUP_NUM"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["E_IN_MATERIAL_DESC"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BJ_TYPE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_JGX"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_RCL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGORD_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGL_REQ_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["DJBL_REQ_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["D_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["E_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["F_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["G_IS_OK"].Hidden = true;
ultraTabControl1.Tabs[1].Visible = false;
splitContainer2.Panel2Collapsed = true;
ctrlForQueryPORDERSTATUS.Items.Remove(4);
ctrlForQueryPORDERSTATUS.Items.Remove(3);
#endregion
doQuery(GetQueryCondition());
break;
case "@CRAFTFILE":
#region
ultraGrid1.DisplayLayout.Bands[0].Columns["CODE_JG"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BL_GROUP_NUM"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["ROLL_MONTH"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BJ_TYPE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["E_IN_MATERIAL_DESC"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_JGX"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GRADECODE_ALL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GRADECODE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_RCL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_ROLL_ALL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_ROLL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["OUTS_BILLET_FL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["OUTS_STL_PIPE_FL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGORD_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGL_REQ_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["DJBL_REQ_IS_OK"].Hidden = true;
ultraTabControl1.SelectedTab = ultraTabControl1.Tabs[2];
splitContainer2.Panel2Collapsed = true;
ctrlForQueryPORDERSTATUS.SelectedIndex = 1;
checkBoxAcceptNo.Checked = true;
checkBoxNotCraft.Checked = true;
checkBoxAcceptNoexport.Checked = false;
checkBoxForReqPORDERSTATUS.Enabled = false;
ctrlForQueryPORDERSTATUS.Enabled = false;
ultraTabControl1.Tabs[1].Visible = false;
#endregion
break;
case "@PAYDOWN":
setPaydown();
break;
case "@PAYDOWN1":
setPaydown();
break;
case "@PAYDOWN2":
setPaydown();
break;
case "@PAYDOWN3":
setPaydown();
break;
case "@FinishSc":
ultraButtonRcl.Visible = false;
ctrlForQueryPORDERSTATUS.SelectedIndex = 1;
ctrlForQueryPORDERSTATUS.Items.Remove(5);
ctrlForQueryPORDERSTATUS.Items.Remove(0);
checkBoxForReqPORDERSTATUS.Enabled = true;
ultraTabControl1.Tabs[1].Visible = false;
checkBoxAcpStatus.Checked = true;
ultraComboEditAcpStatus.SelectedIndex = 3;
checkBoxAcceptNoexport.Checked = false;
splitContainer2.Panel2Collapsed = true;
break;
default:
doQuery(GetQueryCondition());
break;
}
}
///
/// 设置缴库完成确认界面
///
private void setPaydown()
{
ultraGrid1.DisplayLayout.Bands[0].Columns["CODE_JG"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BL_GROUP_NUM"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["E_IN_MATERIAL_DESC"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["BJ_TYPE"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_JGX"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_RCL"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGORD_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["JGL_REQ_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["DJBL_REQ_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["D_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["E_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["F_IS_OK"].Hidden = true;
ultraGrid1.DisplayLayout.Bands[0].Columns["G_IS_OK"].Hidden = true;
ultraTextEditorAcceptNo.Value = DateTime.Now.ToString("yyMM") + "X";
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl1.Tabs[2].Visible = false;
splitContainer2.Panel2Collapsed = true;
checkBoxForReqPORDERSTATUS.Enabled = false;
ctrlForQueryPORDERSTATUS.SelectedIndex = 4;
ctrlForQueryPORDERSTATUS.Items.Remove(3);
ctrlForQueryPORDERSTATUS.Items.Remove(2);
ctrlForQueryPORDERSTATUS.Items.Remove(1);
ctrlForQueryPORDERSTATUS.Items.Remove(0);
}
///
/// 刷新加载数据
///
private void RefresDate()
{
tableIndex = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryDesginIndex",
new object[] { }, this.ob);
DataTable tableBaseInfo = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryBaseinfoAll",
new object[] { }, this.ob);
DataTable tableBlbjtype = ServerHelper.GetData("com.steering.pss.plan.order.CoreOrderCraftInfo.getBjProcessC",
new object[] { }, this.ob);
DataTable tableBlPline = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryBlZgPline",
new object[] { }, this.ob);
DataTable tableGrade = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryBaseGrade",
new object[] { }, this.ob);
ValueList vlistSteel1 = PlanComm.GeneralValuelist(ref tableBlbjtype, "PROCESS_DESC_C", "PROCESS_DESC_C");
vlistSteel1.ValueListItems.Insert(0, "/", "/");
ultraGrid3.DisplayLayout.Bands[0].Columns["BJ_TYPE"].ValueList = vlistSteel1;
ValueList vlistSteel2 = PlanComm.GeneralValuelist(ref tableBlbjtype, "PROCESS_DESC_C", "PROCESS_DESC_C");
vlistSteel2.ValueListItems.Insert(0, "/", "/");
ultraGrid6.DisplayLayout.Bands[0].Columns["BJ_TYPE"].ValueList = vlistSteel2;
ultraGrid3.DisplayLayout.Bands[0].Columns["GROUP_ROLL"].ValueList
= PlanComm.GeneralValuelist(ref tableBlPline, "PLINE_CODE", "PLINE_NAME");
ultraGrid6.DisplayLayout.Bands[0].Columns["GROUP_ROLL"].ValueList
= PlanComm.GeneralValuelist(ref tableBlPline, "PLINE_CODE", "PLINE_NAME");
ultraGrid3.DisplayLayout.Bands[0].Columns["GRADECODE"].ValueList
= PlanComm.GeneralValuelist(ref tableGrade, "GRADECODE", "GRADENAME");
ultraGrid6.DisplayLayout.Bands[0].Columns["GRADECODE"].ValueList
= PlanComm.GeneralValuelist(ref tableGrade, "GRADECODE", "GRADENAME");
ultraGrid1.DisplayLayout.Bands[0].Columns["GRADECODE"].ValueList
= PlanComm.GeneralValuelist(ref tableGrade, "GRADECODE", "GRADENAME");
if (tableBaseInfo != null)
{
//热处理组
tableBaseInfo.DefaultView.RowFilter = "SORTCODE='2005'";
DataTable dtGroupRCL = tableBaseInfo.DefaultView.ToTable();
if (dtGroupRCL != null && dtGroupRCL.Rows.Count > 0)
{
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_RCL"].ValueList
= PlanComm.GeneralValuelist(ref dtGroupRCL, "BASECODE", "BASENAME");
ValueList vlistS1 = PlanComm.GeneralValuelist(ref dtGroupRCL, "BASECODE", "BASENAME");
vlistS1.ValueListItems.Insert(0, "/", "/");
ultraGrid3.DisplayLayout.Bands[0].Columns["GROUP_RCL"].ValueList = vlistS1;
ValueList vlistS2 = PlanComm.GeneralValuelist(ref dtGroupRCL, "BASECODE", "BASENAME");
vlistS2.ValueListItems.Insert(0, "/", "/");
ultraGrid6.DisplayLayout.Bands[0].Columns["GROUP_RCL"].ValueList = vlistS2;
}
//加工组
tableBaseInfo.DefaultView.RowFilter = "SORTCODE='2004'";
DataTable dtGroupJGX = tableBaseInfo.DefaultView.ToTable();
if (dtGroupJGX != null && dtGroupJGX.Rows.Count > 0)
{
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_JGX"].ValueList
= PlanComm.GeneralValuelist(ref dtGroupJGX, "BASECODE", "BASENAME");
}
///外购坯
tableBaseInfo.DefaultView.RowFilter = "SORTCODE='1218'";
DataTable dtOutBillet = tableBaseInfo.DefaultView.ToTable();
if (dtOutBillet != null && dtOutBillet.Rows.Count > 0)
{
ValueList vlistSteel = PlanComm.GeneralValuelist(ref dtOutBillet, "BASECODE", "BASENAME");
ultraGrid1.DisplayLayout.Bands[0].Columns["OUTS_BILLET_FL"].ValueList = vlistSteel;
}
///监制要求
tableBaseInfo.DefaultView.RowFilter = "SORTCODE='1222'";
DataTable dtPrdcr = tableBaseInfo.DefaultView.ToTable();
if (dtPrdcr != null && dtPrdcr.Rows.Count > 0)
{
ValueList vlistSteel = PlanComm.GeneralValuelist(ref dtPrdcr, "BASECODE", "BASENAME");
ultraGrid1.DisplayLayout.Bands[0].Columns["MONITORDEMAND"].ValueList = vlistSteel;
}
///合同紧急度
tableBaseInfo.DefaultView.RowFilter = "SORTCODE='2006'";
DataTable dtPrior = tableBaseInfo.DefaultView.ToTable();
if (dtPrior != null && dtPrior.Rows.Count > 0)
{
ValueList vlistSteel = PlanComm.GeneralValuelist(ref dtPrior, "BASECODE", "BASENAME");
ultraGrid1.DisplayLayout.Bands[0].Columns["PRIORITY"].ValueList = vlistSteel;
}
}
if (tableBlPline != null)
{
//轧管机组
ultraGrid1.DisplayLayout.Bands[0].Columns["GROUP_ROLL"].ValueList
= PlanComm.GeneralValuelist(ref tableBlPline, "PLINE_CODE", "PLINE_NAME");
}
}
///
/// 获取查询条件信息
///
/// 查询条件信息
private ArrayList GetQueryCondition()
{
ArrayList ary = new ArrayList();
string strRollmonth = "";
string strAcceptNo = "";//接收批次号
string strOrderNo = ""; //合同号
string strOrderStatus = ""; //合同状态
string haveJg = ""; //是否有接箍
string haveDj = ""; //是否有短节
string isGpOrder = ""; //是否是管坯合同
string dPrc = ""; //查询经过轧管工序
string ePrc = ""; //查询经过镦拔扩工序
string fPrc = ""; //查询经过热处理工序
string gPrc = ""; //查询经过加工工序
string jgOrdj = ""; //查询接箍短节
string orderFrom = ""; //合同来源
switch (this.CustomInfo.ToString().Trim())
{
case "@BJ":
ePrc = "1";
break;
case "@JGANDDJ":
jgOrdj = "1";
break;
case "@ZG":
dPrc = "1";
break;
case "@RCL":
fPrc = "1";
break;
case "@JGX":
gPrc = "1";
break;
case "@PAYDOWN1": //销售公司
orderFrom = "100101";
break;
case "@PAYDOWN2": //国贸公司
orderFrom = "100102";
break;
case "@PAYDOWN3": //钢贸公司
orderFrom = "100103";
break;
}
if (this.checkBoxHvJg.Checked)
{
haveJg = "1";
}
if (this.checkBoxHvDj.Checked)
{
haveDj = "1";
}
if (this.checkBoxisGp.Checked)
{
isGpOrder = "1";
}
if (this.checkBoxAcceptNo.Checked)
{
strAcceptNo = this.ultraTextEditorAcceptNo.Text.Trim();
}
if (checkBoxForReqORDER_NO.Checked)
{
strOrderNo = ctrlForQueryORDER_NO.Text.Trim();
}
if (checkBoxForReqPORDERSTATUS.Checked)
{
strOrderStatus = ctrlForQueryPORDERSTATUS.Value.ToString();
}
if (checkBoxRollMonth.Checked)
{
strRollmonth = ultraDateTimeRollMonth.DateTime.ToString("yyyy-MM");
}
ary.Add(strRollmonth);
ary.Add(strAcceptNo);
ary.Add(strOrderNo);
ary.Add(strOrderStatus);
ary.Add(haveJg);
ary.Add(haveJg);
ary.Add(haveDj);
ary.Add(haveDj);
ary.Add(isGpOrder);
ary.Add(isGpOrder);
//分权限查询
ary.Add(dPrc);
ary.Add(dPrc);
ary.Add(ePrc);
ary.Add(ePrc);
ary.Add(fPrc);
ary.Add(fPrc);
ary.Add(gPrc);
ary.Add(gPrc);
ary.Add(jgOrdj);
ary.Add(jgOrdj);
ary.Add(jgOrdj);
ary.Add(jgOrdj);
ary.Add(orderFrom);
ary.Add(orderFrom);
return ary;
}
///
/// 根据信息栏查询
///
/// 查询条件信息
private void doQuery(ArrayList ary)
{
if (ary != null)
{
try
{
DataTable dt1 = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleOrder",
new object[] { ary }, this.ob);
GridHelper.CopyDataToDatatable(dt1, dataTable1, true);
if (this.CustomInfo.ToString().Trim().Equals("")
|| this.CustomInfo.ToString().Trim().Equals("@JGANDDJ"))
{
DataTable dt2 = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryJgOrder",
new object[] { ary }, this.ob);
GridHelper.CopyDataToDatatable(dt2, dataTable2, true);
DataTable dt3 = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryDjBlNeed",
new object[] { ary }, this.ob);
GridHelper.CopyDataToDatatable(dt3, dataTable3, true);
}
#region ultraGrid1表格查询
foreach (UltraGridRow uRow in ultraGrid1.Rows)
{
string desgin_key =uRow.Cells["DESGIN_KEY"].Value.ToString();
//查询可选制程。
if (tableIndex != null && tableIndex.Rows.Count > 0)
{
tableIndex.DefaultView.RowFilter = "DESGIN_KEY='" + desgin_key + "'";
DataTable dtIndex = tableIndex.DefaultView.ToTable();
if (dtIndex != null && dtIndex.Rows.Count > 0)
{
ValueList vlistSteel = PlanComm.GeneralValuelist(ref dtIndex, "MSC_PLINE", "WHOLE_BACKLOG_DESC");
uRow.Cells["INDEX_SEQ"].ValueList = vlistSteel;
}
}
if (!uRow.Cells["PORDERSTATUS"].Value.ToString().Equals("已接收"))
{
#region 已下发合同设置不可编辑
uRow.Cells["INDEX_SEQ"].Activation = Activation.ActivateOnly;
uRow.Cells["OUTS_BILLET_FL"].Activation = Activation.ActivateOnly;
uRow.Cells["GRADECODE"].Activation = Activation.ActivateOnly;
uRow.Cells["GROUP_ROLL"].Activation = Activation.ActivateOnly;
uRow.Cells["GROUP_JGX"].Activation = Activation.ActivateOnly;
uRow.Cells["GROUP_RCL"].Activation = Activation.ActivateOnly;
#endregion
}
if (uRow.Cells["GROUP_JGX"].Value.ToString().Equals("/"))
{
uRow.Cells["GROUP_JGX"].Activation = Activation.ActivateOnly;
}
if (uRow.Cells["GROUP_RCL"].Value.ToString().Equals("/"))
{
uRow.Cells["GROUP_RCL"].Activation = Activation.ActivateOnly;
}
}
#endregion
///设置ultraGrid1单元格不可编辑
string[] strColum1 = new string[] { "CHECK", "OUTS_BILLET_FL", "ROLL_MONTH","PRIORITY","PRIORITY_MEMO",
"GROUP_ROLL", "INDEX_SEQ", "GROUP_JGX", "GROUP_RCL", "MEMO" };
PlanComm.setGridActivation(ultraGrid1.DisplayLayout.Bands[0], strColum1);
if (!this.CustomInfo.ToString().Trim().Equals("")
&& !this.CustomInfo.ToString().Trim().Equals("@CRAFTFILE"))
{
ultraGrid1.DisplayLayout.Bands[0].Columns["INDEX_SEQ"].CellActivation = Activation.ActivateOnly;
}
PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 7, 3,
"ORDER_QTY", "ORDERWEIGHT", "PLANWEIGHT", "PAYDOWNWEIGHT",
"PLAN_QTY", "EXTRA_LEN_TOT_WT", "REQ_QTYSUM", "CONFIRM_WT_SUM");
PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 7, 2,
"TOTLENGTH", "TOTLENGTH_M");
PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 2,
"OUTDIAMETER", "WALLTHICK", "LENGTHMAX", "LENGTHMIN", "AIMLENGTH",
"AIMWALLTHICK_ZG", "HEIGHT_NK_MIN", "HEIGHT_NK_MAX", "LEN_TOEND_MIN",
"LEN_TOEND_MAX", "LENGTH_JG");
PlanComm.setGridDigitalCol(ultraGrid1.DisplayLayout.Bands[0], 5, 0,
"PLAN_NUM", "PAYDOWN_NUM");
///设置ultraGrid2单元格不可编辑
PlanComm.setGridActivation(ultraGrid2.DisplayLayout.Bands[0], "CHECK");
PlanComm.setGridDigitalColMaxInput(ultraGrid2.DisplayLayout.Bands[0], 5, 2,
"SINGLEWEIGHT", "OUTDIAMETER", "WALLTHICK", "AIMWALLTHICK", "AIMLENGTH");
PlanComm.setGridDigitalColMaxInput(ultraGrid2.DisplayLayout.Bands[0], 5, 3,
"ORDERWEIGHT", "MATCHWEIGHT", "BUYPLANWEIGHT");
PlanComm.setGridDigitalColMaxInput(ultraGrid2.DisplayLayout.Bands[0], 5, 0,
"ORDERNUM", "MATCHNUM", "BUYPLANNUM", "JGWT_BLREQ");
#region ultraGrid3表格查询
foreach (UltraGridRow uRow in ultraGrid3.Rows)
{
if (!uRow.Cells["PLANSTATUS"].Value.ToString().Equals("待处理"))
{
uRow.Cells["JGBL_REQ_WEIGHT"].Activation = Activation.ActivateOnly;
uRow.Cells["MATCHWEIGHT"].Activation = Activation.ActivateOnly;
uRow.Cells["INDEX_SEQ"].Activation = Activation.ActivateOnly;
}
}
#endregion
///设置ultraGrid3单元格不可编辑
string[] strColum3 = new string[] { "CHECK", "JGBL_REQ_WEIGHT", "MATCHWEIGHT",
"GRADECODE", "GROUP_RCL","DIMATER_YLG","HEIGHT_YLG", "BJ_TYPE", "GROUP_ROLL" };
PlanComm.setGridActivation(ultraGrid3.DisplayLayout.Bands[0], strColum3);
PlanComm.setGridDigitalColMaxInput(ultraGrid3.DisplayLayout.Bands[0], 5, 2,
"OUTDIAMETER", "WALLTHICK", "AIMWALLTHICK", "LENGTHMAX", "LENGTHMIN", "AIMLENGTH");
PlanComm.setGridDigitalColMaxInput(ultraGrid3.DisplayLayout.Bands[0], 5, 3,
"SINGLEWEIGHT", "JGBL_REQ_WEIGHT", "MATCHWEIGHT");
PlanComm.setGridDigitalColMaxInput(ultraGrid3.DisplayLayout.Bands[0], 5, 0,
"JGBL_REQ_NUM", "MATCHNUM");
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
}
}
///
/// 查询销售合同对应接箍和备料合同
///
///
///
private void ultraGrid1_BeforeRowActivate(object sender, RowEventArgs e)
{
#region 查询接箍短节
string orderNo = e.Row.Cells["ORDER_NO"].Value.ToString();
string orderSeq = e.Row.Cells["ORDER_SEQ"].Value.ToString();
string deliveryNo = e.Row.Cells["DELIVERY_NO"].Value.ToString();
foreach (UltraGridRow uRow in ultraGrid2.Rows)
{
if (uRow.Cells["ORDER_NO"].Value.ToString().Equals(orderNo)
&& uRow.Cells["ORDER_SEQ"].Value.ToString().Equals(orderSeq)
&& uRow.Cells["DELIVERY_NO"].Value.ToString().Equals(deliveryNo))
{
ultraGrid2.ActiveRow = uRow;
uRow.Appearance.ForeColor = System.Drawing.Color.DarkBlue;
}
else
{
uRow.Appearance.ForeColor = System.Drawing.Color.Black;
}
}
foreach (UltraGridRow uRow in ultraGrid3.Rows)
{
if (uRow.Cells["ORDER_NO"].Value.ToString().Equals(orderNo)
&& uRow.Cells["ORDER_SEQ"].Value.ToString().Equals(orderSeq)
&& uRow.Cells["DELIVERY_NO"].Value.ToString().Equals(deliveryNo))
{
ultraGrid3.ActiveRow = uRow;
uRow.Appearance.ForeColor = System.Drawing.Color.DarkBlue;
}
else
{
uRow.Appearance.ForeColor = System.Drawing.Color.Black;
}
}
#endregion
if (e.Row.Cells["PORDERSTATUS"].Value.ToString().Equals("已接收"))
{
setOrderBominf(e.Row);
}
}
///
/// 接箍料编制查询
///
private void QueryJGl()
{
try
{
DataTable dtJg = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryJgDeal", new object[] { }, this.ob);
GridHelper.CopyDataToDatatable(dtJg, dataTable5, true);
///设置grid不可编辑
PlanComm.setGridActivation(ultraGrid5.DisplayLayout.Bands[0], "CHECK", "MATCHNUM", "BUYCHOOSE");
PlanComm.setGridDigitalColMaxInput(ultraGrid5.DisplayLayout.Bands[0], 5, 2,
"OUTDIAMETER", "WALLTHICK", "AIMWALLTHICK", "AIMLENGTH");
PlanComm.setGridDigitalColMaxInput(ultraGrid5.DisplayLayout.Bands[0], 5, 3,
"SINGLEWEIGHT", "ORDERWEIGHT", "MATCHWEIGHT");
PlanComm.setGridDigitalColMaxInput(ultraGrid5.DisplayLayout.Bands[0], 5, 0,
"ORDERNUM", "MATCHNUM", "JGWT_BLREQ");
DataTable dtEdit = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryJgDealedit",
new object[] { }, this.ob);
GridHelper.CopyDataToDatatable(dtEdit, dataTable7, true);
foreach (UltraGridRow uRow in ultraGrid7.Rows)
{
uRow.Cells["SINGLE_ADDLEN"].Value = 10;
}
///设置grid不可编辑
PlanComm.setGridActivation(ultraGrid7.DisplayLayout.Bands[0], "CHECK", "NUM_JG", "SINGLE_ADDLEN");
foreach (UltraGridRow uRow in ultraGrid7.Rows)
{
uRow.Cells["NUM_JG"].Activation = Activation.ActivateOnly;
}
DataTable dtJgl = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryJgBlNeed",
new object[] { }, this.ob);
GridHelper.CopyDataToDatatable(dtJgl, dataTable6, true);
///设置grid不可编辑
string[] strColumn = new string[] { "CHECK", "MATCHWEIGHT", "GRADECODE", "GROUP_RCL",
"DIMATER_YLG","HEIGHT_YLG", "BJ_TYPE", "GROUP_ROLL", "INDEX_SEQ" };
PlanComm.setGridActivation(ultraGrid6.DisplayLayout.Bands[0], strColumn);
PlanComm.setGridDigitalColMaxInput(ultraGrid6.DisplayLayout.Bands[0], 5, 2,
"OUTDIAMETER", "WALLTHICK", "AIMWALLTHICK", "LENGTHMAX", "LENGTHMIN", "AIMLENGTH");
PlanComm.setGridDigitalColMaxInput(ultraGrid6.DisplayLayout.Bands[0], 5, 3,
"SINGLEWEIGHT", "JGBL_REQ_WEIGHT", "MATCHWEIGHT");
PlanComm.setGridDigitalColMaxInput(ultraGrid6.DisplayLayout.Bands[0], 5, 0,
"JGBL_REQ_NUM", "MATCHNUM");
dataTable4.Clear();
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
}
///
/// 合同置为缴库完成
///
private void doFinishJk()
{
try
{
ultraGrid1.UpdateData();
ArrayList list = new ArrayList();
ArrayList listLine = new ArrayList();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where(" CHECK = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
WaitFromOpen();
foreach (UltraGridRow uRow in checkRows)
{
///查询合同状态
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("0") > 0)
{
ArrayList param = new ArrayList();
ArrayList paramLine = new ArrayList();
param.Add("5");
param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
paramLine.Add("12020602");
paramLine.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
list.Add(param);
listLine.Add(paramLine);
}
}
if (list.Count <= 0)
{
WaitFromColse();
return;
}
int succed = ServerHelper.SetData("com.steering.pss.plan.order.CoreOrderDesignBom.setModifySale",
new object[] { list, listLine }, this.ob);
WaitFromColse();
if (succed > 0)
{
MessageUtil.ShowTips("修改成功!");
}
else
{
MessageUtil.ShowTips("修改失败!");
}
}
catch (Exception ex)
{
WaitFromColse();
MessageBox.Show(ex.Message);
}
doQuery(GetQueryCondition());
}
///
/// 补量申请
///
private void DoRepRequest()
{
double weightM = 0;
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null)
{
return;
}
if (ugr.Cells["ORDER_SEQ"].Value.ToString().Length < 3)
{
MessageUtil.ShowTips("外部导入系统合同不允许补量!");
return;
}
///查询合同状态
ArrayList status = new ArrayList();
status.Add(ugr.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
return;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("4"))
{
PlnSaleorderRNumEntity reqEntity = new PlnSaleorderRNumEntity();
reqEntity.OrdLnDlyPk = ugr.Cells["ORD_LN_DLY_PK"].Value.ToString();
reqEntity.OrderNo = ugr.Cells["ORDER_NO"].Value.ToString();
reqEntity.OrderSeq = ugr.Cells["ORDER_SEQ"].Value.ToString();
reqEntity.DeliveryNo = ugr.Cells["DELIVERY_NO"].Value.ToString();
reqEntity.Produccode = ugr.Cells["PRODUCCODE"].Value.ToString();
reqEntity.Producname = ugr.Cells["PRODUCNAME"].Value.ToString();
reqEntity.StdCode = ugr.Cells["STD_CODE"].Value.ToString();
reqEntity.StdName = ugr.Cells["STD_NAME"].Value.ToString();
reqEntity.Steelcode = ugr.Cells["STEELCODE"].Value.ToString();
reqEntity.Steelname = ugr.Cells["STEELNAME"].Value.ToString();
reqEntity.SpecCode = ugr.Cells["SPEC_CODE"].Value.ToString();
reqEntity.SpecName = ugr.Cells["SPEC_NAME"].Value.ToString();
reqEntity.ModelCode = ugr.Cells["MODEL_CODE"].Value.ToString();
reqEntity.ModelDesc = ugr.Cells["MODEL_DESC"].Value.ToString();
reqEntity.Outdiameter = ugr.Cells["OUTDIAMETER"].Value.ToString();
reqEntity.Wallthick = ugr.Cells["WALLTHICK"].Value.ToString();
reqEntity.Lengthdisc = ugr.Cells["LENGTHDISC"].Value.ToString();
reqEntity.OrderUnit = ugr.Cells["ORDER_UNIT"].Value.ToString();
double.TryParse(ugr.Cells["WEIGHT_PER_M"].Value.ToString(), out weightM);
FrmReqRequest reqRequest = new FrmReqRequest(this.ob, reqEntity,
Convert.ToDouble(ugr.Cells["ORDER_QTY"].Value), weightM);
reqRequest.ShowDialog();
}
else
{
MessageUtil.ShowTips("只有在生产完成的合同才允许补量!");
return;
}
}
///
/// 合同置为生产完成
///
private void doFinishSc()
{
try
{
ultraGrid1.UpdateData();
ArrayList list = new ArrayList();
ArrayList listLine = new ArrayList();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where(" CHECK = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
WaitFromOpen();
foreach (UltraGridRow uRow in checkRows)
{
///查询合同状态
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("0") > 0
&& dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("5") < 0)
{
ArrayList param = new ArrayList();
ArrayList paramLine = new ArrayList();
param.Add("4");
param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
paramLine.Add("12020502");
paramLine.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
list.Add(param);
listLine.Add(paramLine);
}
}
if (list.Count <= 0)
{
WaitFromColse();
return;
}
int succed = ServerHelper.SetData("com.steering.pss.plan.order.CoreOrderDesignBom.setModifySale",
new object[] { list, listLine }, this.ob);
WaitFromColse();
if (succed > 0)
{
MessageUtil.ShowTips("修改成功!");
}
else
{
MessageUtil.ShowTips("修改失败!");
}
}
catch(Exception ex)
{
WaitFromColse();
MessageBox.Show(ex.Message);
}
doQuery(GetQueryCondition());
}
///
/// 导入
///
private void DoImport()
{
try
{
OpenFileDialog dialog = new OpenFileDialog();
if (dialog.ShowDialog() == DialogResult.OK)
{
FrmOrderCraftImport import = new FrmOrderCraftImport(this.ob);
import.ModelPatch = dialog.FileName;
import.ShowDialog();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
QueryIssued();
}
///
/// 查询导出界面信息
///
private void QueryIssued()
{
try
{
ArrayList param = new ArrayList();
string status = "";
String notCraft;
string strAcceptNo = "";//接收批次号
string strOrderNo = ""; //合同号
string strGroupType = ""; //品种类型(管,非管)
string strDateForm = "1000/01/01"; //交货结束日期从,默认最小日期
string strDateTo = "9999/12/31"; //交货结束日期到,默认最大日期
if (this.checkBoxAcceptNoexport.Checked)
{
//接收批次号
strAcceptNo = this.ultraTextAcceptNo.Text.Trim();
}
if (this.checkBoxORDER_NOexpor.Checked)
{
//合同号
strOrderNo = this.ultraTextORDER_NO.Text.Trim();
}
if (this.checkBoxGroupTypeexpor.Checked)
{
//品种类型(管,非管)
strGroupType = this.ultraComboGroupType.SelectedIndex.ToString();
}
if (this.checkBoxDELVRY_EDATEexport.Checked)
{
//接收日期
strDateForm = this.ultraDateTimeDELVRY_EDATEFrom.DateTime.ToString("yyyy/MM/dd");
strDateTo = this.ultraDateTimeDELVRY_EDATETo.DateTime.ToString("yyyy/MM/dd");
}
if (this.checkBoxImport.Checked)
{
//查询外部导入系统的合同
strGroupType = "-1";
}
if (checkBoxAcpStatus.Checked)
{
status = ultraComboEditAcpStatus.Value.ToString();
}
if (checkBoxNotCraft.Checked)
{
notCraft = "1";
}
else
{
notCraft = "";
}
param.Add(strGroupType);
param.Add(strAcceptNo);
param.Add(strOrderNo);
param.Add(strDateForm);
param.Add(strDateTo);
param.Add(status);
DataTable dt1 = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryExportSaleOrder",
new object[] { param, notCraft }, this.ob);
GridHelper.CopyDataToDatatable(dt1, dataTable11, true);
///设置grid不可编辑
PlanComm.setGridActivation(ultraGrid8.DisplayLayout.Bands[0]);
PlanComm.setGridDigitalCol(ultraGrid8.DisplayLayout.Bands[0], 7, 3,
"ORDER_QTY", "ORDERWEIGHT", "CONFIRM_WT_SUM");
PlanComm.setGridDigitalCol(ultraGrid8.DisplayLayout.Bands[0], 7, 2,
"TOTLENGTH");
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
}
///
/// 导出excl
///
private void ExportSale()
{
try
{
int rowCount = this.ultraGrid8.Rows.Count;
int colCount = this.ultraGrid8.DisplayLayout.Bands[0].Columns.Count - 6;
object[,] arr = new object[rowCount, colCount];
for (int j = 0; j < rowCount; j++)
{
for (int i = 0; i < colCount; i++)
{
string output = ultraGrid8.Rows[j].Cells[i].Value.ToString();
if (ultraGrid8.DisplayLayout.Bands[0].Columns[i].Key.Equals("GROUP_ROLL"))
{
//产线
int plineCode = 0;
output = output.Replace("机组", "");
if (int.TryParse(output, out plineCode))
{
output = "'" + plineCode.ToString();
}
}
if (ultraGrid8.DisplayLayout.Bands[0].Columns[i].Key.Equals("STEELNAME"))
{
//钢级
double grade = 0;
if (double.TryParse(output, out grade))
{
output = "'" + output;
}
}
if (ultraGrid8.DisplayLayout.Bands[0].Columns[i].Key.Equals("ROLL_MONTH"))
{
//轧制月份
DateTime dt = new DateTime();
if (DateTime.TryParse(output, out dt))
{
output = "'" + dt.ToString("yyyyMM");
}
}
arr[j, i] = output;
}
}
string path = System.Windows.Forms.Application.StartupPath + "\\model";
string tempExcel = path + "\\FrmSaleOrdermodel.xls";
string outPutExcl = "销售合同" + DateTime.Now.ToString("yyyyMMdd");
if (!System.IO.File.Exists(tempExcel))//检察模板是否存在
{
MessageBox.Show(this, "未找到报表模板!");
return;
}
if (ultraGrid8.Rows.Count == 0) return;
if (outPutExcl.Length == 0) outPutExcl = "未命名";
SaveFileDialog dlg = new SaveFileDialog();
dlg.Title = "保存";
dlg.OverwritePrompt = true;
dlg.Filter = "Excel文件(*.xls)|*.xls";
dlg.AddExtension = true;
dlg.FileName = outPutExcl;
if (dlg.ShowDialog() == DialogResult.OK)
{
outPutExcl = dlg.FileName;
WaitFromOpen();
ExcelHelper excelport = new ExcelHelper(tempExcel, outPutExcl);
if (excelport.ArrayToExcel(arr, 2, 1, "Sheet"))
{
WaitFromColse();
if (MessageBox.Show("数据导出成功!\n需要打开所导出文件吗?", "提示",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
ProcessStartInfo p = new ProcessStartInfo(outPutExcl);
p.WorkingDirectory = Path.GetDirectoryName(outPutExcl);
Process.Start(p);
}
}
else
{
WaitFromColse();
MessageBox.Show("数据导出失败!");
return;
}
}
}
catch (Exception ex)
{
WaitFromColse();
MessageBox.Show(ex.Message);
}
}
///
/// 备料导出
///
private void doExportBl(string bjType)
{
string url = "";
//string url = "http://172.16.2.130:8085/WebReport/ReportServer?reportlet=RepPlnSaleOrder.cpt";
if (bjType.Equals("JGL"))
{
url = "http://localhost:8075/WebReport/ReportServer?reportlet=ReqPlnBlJgOrder.cpt";
}
else
{
url = "http://localhost:8075/WebReport/ReportServer?reportlet=ReqPlnBlDjOrder.cpt";
}
FrmOutExcel outPut = new FrmOutExcel(url);
outPut.ShowDialog();
}
///
/// 更新短节备料信息
///
private void UpdateDjBl(UltraGrid ugrid)
{
try
{
ugrid.UpdateData();
IQueryable checkRows = ugrid.Rows.AsQueryable().Where(" CHECK = 'True'");
ArrayList list = new ArrayList();
///如果没有勾选待处理的条目,提示。
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选要保存的备料!");
return;
}
foreach (UltraGridRow uRow in checkRows)
{
ArrayList parms = new ArrayList();
parms.Add(uRow.Cells["JGBL_REQ_WEIGHT"].Value.ToString());
parms.Add(uRow.Cells["JGBL_REQ_NUM"].Value.ToString());
parms.Add(uRow.Cells["MATCHWEIGHT"].Value.ToString());
parms.Add(uRow.Cells["MATCHNUM"].Value.ToString());
parms.Add(uRow.Cells["GRADECODE"].Value.ToString());
parms.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
list.Add(parms);
}
int suceed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.updateDjblRcl",
new object[] { list }, this.ob);
if (suceed > 0)
{
MessageUtil.ShowTips("保存成功!");
}
else
{
MessageUtil.ShowTips("保存失败!");
}
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
if (ugrid != ultraGrid3)
{
QueryJGl();
}
else
{
doQuery(GetQueryCondition());
}
}
///
/// 保存接箍合同利库量和外购量信息
///
private void UpdateJgOrder()
{
try
{
ArrayList list = new ArrayList();
bool isChecked = false;
foreach (UltraGridRow uRow in ultraGrid5.Rows)
{
if (Convert.ToBoolean(uRow.Cells["CHECK"].Text))
{
ArrayList parms = new ArrayList();
isChecked = true;
parms.Add(uRow.Cells["MATCHWEIGHT"].Value.ToString());
parms.Add(uRow.Cells["MATCHNUM"].Value.ToString());
if (Convert.ToBoolean(uRow.Cells["BUYCHOOSE"].Text))
{
int buyplannum = Convert.ToInt32(uRow.Cells["ORDERNUM"].Value) -
Convert.ToInt32(uRow.Cells["MATCHNUM"].Value) -
Convert.ToInt32(uRow.Cells["JGWT_BLREQ"].Value);
double buyplanweight = buyplannum * Convert.ToDouble(uRow.Cells["SINGLEWEIGHT"].Value) / 1000;
parms.Add("1");//有无外购计划(1-有,0-无)
parms.Add(buyplanweight.ToString());
parms.Add(buyplannum);
}
else
{
parms.Add("0");
parms.Add("0");
parms.Add("0");
}
parms.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
list.Add(parms);
}
}
///如果没有勾选待处理的条目,提示。接箍合同
if (!isChecked)
{
MessageUtil.ShowTips("未勾选待要保存的接箍合同!");
return;
}
ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.updateLkwgWeight", new object[] { list }, this.ob);
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
QueryJGl();
}
///
/// 查询产品码
///
/// 备料品名、标准、钢级、标准类别
/// 产品码
public string QueryPsc(string producCode, string stdCode, string steelCode, string stdStyle)
{
try
{
ArrayList param = new ArrayList();
param.Add(producCode);
param.Add(stdCode);
param.Add(steelCode);
param.Add(stdStyle);
param.Add(stdStyle);
param.Add(stdStyle);
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryPsc",
new object[] { param }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
return dt.Rows[0]["PSC"].ToString();
}
else
{
return "";
}
}
catch
{
return "";
}
}
///
/// 查询产品码与冶金规范对应关系\
///
/// 产品码
/// 冶金规范码
public string QueryPscForMsc(string strPsc)
{
try
{
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryPscForMsc",
new object[] { strPsc }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
return dt.Rows[0]["MSC"].ToString();
}
else
{
return "";
}
}
catch
{
return "";
}
}
///
/// 根据备料冶金规范查找制程索引
///
/// 冶金规范码
/// 制程索引号集合
private DataTable QueryBlIndex(string strMsc)
{
try
{
ArrayList parms = new ArrayList();
parms.Add(strMsc);
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryMscIndex",
new object[] { parms }, this.ob);
return dt;
}
catch
{
return null;
}
}
///
/// 查询备料工序
///
/// 冶金规范
/// 全程产线
/// 工序列表
private DataTable QueryBlProcess(string strMsc, string msc_pline)
{
try
{
ArrayList parms = new ArrayList();
parms.Add(strMsc);
parms.Add(msc_pline);
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryBlProcess",
new object[] { parms }, this.ob);
return dt;
}
catch
{
return null;
}
}
///
/// 查询接箍码
///
/// Design_Key
/// 接箍码表
private DataTable QueryJgCode(string strDesgin_key)
{
try
{
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryJgCode",
new object[] { strDesgin_key }, this.ob);
return dt;
}
catch
{
return null;
}
}
///
/// 查询短节备料码
///
/// desgin_key
/// 短节备料码集合
public DataTable QueryBlCode(string strDesgin_key)
{
try
{
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryBlCode",
new object[] { strDesgin_key }, this.ob);
return dt;
}
catch
{
return null;
}
}
///
/// 查询一组短节备料码
///
/// 质量设计主键
/// 备料组号
///
private DataTable queryBlCodeByGp(string designKey, string gourpNum)
{
try
{
ArrayList param = new ArrayList();
param.Add(designKey);
param.Add(gourpNum);
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryBlCodeByGp",
new object[] { param }, this.ob);
return dt;
}
catch
{
return null;
}
}
///
/// 返回组合类型
///
/// desgin_key
/// 组合类型编号
private int MergeType(string strDesgin_key, string processSeq)
{
if (processSeq != "")
{
string endcode = processSeq.Substring(processSeq.Length - 1, 1);
if (endcode.CompareTo("D") < 0)
{
return 3;
}
}
DataTable dtjg = QueryJgCode(strDesgin_key);
DataTable dtBl = QueryBlCode(strDesgin_key);
if (dtjg.Rows.Count > 0 && dtjg != null)
{
if (dtBl.Rows.Count > 0 && dtBl != null)
{
return 2;
}
else
{
return 1;
}
}
return 0;
}
///
/// 查询品名基础表
///
/// 品名代码
///
private DataTable queryProducType(string producode)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryProducType",
new object[] { producode }, this.ob);
return dt;
}
///
/// 查询合同附加要求
///
/// 附加要求码
private string queryAddAsk(string askNo,out string askStatus)
{
string addaskDesc = "";
string strStatus = "";
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryAddAsk",
new object[] { askNo }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["ADD_ASK_TYPE"].ToString().Equals("0"))
{
strStatus = strStatus + "√;";
}
else
{
strStatus = strStatus + "×;";
}
addaskDesc = addaskDesc + dt.Rows[i]["ASKDESC"].ToString() + "\n";
}
addaskDesc = addaskDesc.Remove(addaskDesc.LastIndexOf("\n"));
strStatus = strStatus.Remove(strStatus.LastIndexOf(';'));
}
askStatus = strStatus;
return addaskDesc;
}
///
/// 钢种坯料属性
///
private void doConfirmGrade()
{
try
{
ultraGrid1.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where(" CHECK = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
WaitFromOpen();
foreach (UltraGridRow uRow in checkRows)
{
///查询合同状态
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
{
ArrayList param = new ArrayList();
param.Add(uRow.Cells["GRADECODE"].Value.ToString());
param.Add(uRow.Cells["STUFF_PROPERTY"].Value.ToString());
param.Add("1"); //确认
param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
list.Add(param);
}
else
{
WaitFromColse();
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") > 0)
{
MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "已下发,不能修改!");
}
else
{
MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "未接收!");
}
return;
}
}
int succeed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.saveSaleOrderGrade",
new object[] { list }, this.ob);
WaitFromColse();
if (succeed > 0)
{
MessageUtil.ShowTips("保存成功!");
}
else
{
MessageUtil.ShowError("保存失败!");
}
}
catch (Exception ex)
{
WaitFromColse();
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 镦拔扩确认
///
private void doConfirmBj()
{
try
{
ultraGrid1.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where(" CHECK = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
WaitFromOpen();
foreach (UltraGridRow uRow in checkRows)
{
///查询合同状态
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
{
ArrayList param = new ArrayList();
param.Add(uRow.Cells["E_IN_MATERIAL_NO"].Value.ToString());
param.Add(uRow.Cells["E_IN_MATERIAL_DESC"].Value.ToString());
param.Add(uRow.Cells["DIMATER_YLG"].Value.ToString());
param.Add(uRow.Cells["HEIGHT_YLG"].Value.ToString());
if (!uRow.Cells["PROCESS_SEQ"].Value.ToString().Contains("E"))
{
param.Add("2");
}
else
{
param.Add("1"); //确认
}
param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
list.Add(param);
}
else
{
WaitFromColse();
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") > 0)
{
MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "已下发,不能修改!");
}
else
{
MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "未接收!");
}
return;
}
}
int succeed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.saveSaleOrderBj",
new object[] { list }, this.ob);
WaitFromColse();
if (succeed > 0)
{
MessageUtil.ShowTips("保存成功!");
}
else
{
MessageUtil.ShowError("保存失败!");
}
}
catch (Exception ex)
{
WaitFromColse();
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 轧管确认
///
private void doConfirmZg()
{
try
{
ultraGrid1.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where(" CHECK = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
WaitFromOpen();
foreach (UltraGridRow uRow in checkRows)
{
///查询合同状态
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("5") < 0)
{
ArrayList param = new ArrayList();
DateTime date = new DateTime();
//排产量 = 合同量*投料原则
double planWeight = Convert.ToDouble(dtStatus.Rows[0]["PLANWEIGHT"]);
double extraLenTotWt = 0; //排产加长总重量
double lenTotWt = 0;//原排产加长重量
double planWt = 0;//原排产量
double.TryParse(dtStatus.Rows[0]["EXTRA_LEN_TOT_WT"].ToString(), out lenTotWt);
double.TryParse(dtStatus.Rows[0]["PLANWEIGHT"].ToString(), out planWt);
//计算轧制长度上下限
RollLenCal lencal = new RollLenCal();
lencal.Lengthmax = Convert.ToDouble(dtStatus.Rows[0]["LENGTHMAX"]);
lencal.Lengthmin = Convert.ToDouble(dtStatus.Rows[0]["LENGTHMIN"]);
lencal.ModelDesc = dtStatus.Rows[0]["MODEL_DESC"].ToString();
lencal.Pline = uRow.Cells["GROUP_ROLL"].Value.ToString();
lencal.ProducName = dtStatus.Rows[0]["PRODUCNAME"].ToString();
DataTable dtCraft = ServerHelper.GetData("com.steering.pss.plan.order.CoreOrderCraftInfo.getOrdCraftStd",
new object[] { uRow.Cells["CRAFT_FILE_NO"].Value.ToString(),
uRow.Cells["ORDER_NO"].Value.ToString(),
uRow.Cells["ORDER_SEQ"].Value.ToString() }, this.ob);
if (dtCraft != null && dtCraft.Rows.Count > 0)
{
lencal.StdGjgNo = dtCraft.Rows[0]["STD_GJG_NO"].ToString();
}
lencal.calToendMax();
param.Add(uRow.Cells["OUTS_BILLET_FL"].Value.ToString());
param.Add(uRow.Cells["GROUP_ROLL"].Value.ToString());
if (DateTime.TryParse(uRow.Cells["ROLL_MONTH"].Value.ToString(), out date))
{
param.Add(date.ToString("yyyy-MM"));
#region 计算排产量 计划量
if (!dtStatus.Rows[0]["ORDER_UNIT"].ToString().Equals("个")
&& !dtStatus.Rows[0]["ORDER_UNIT"].ToString().Equals("支"))
{
double rate = 0;
double orderQty = Convert.ToDouble(dtStatus.Rows[0]["ORDER_QTY"]);
double delvryRangeMax = Convert.ToDouble(dtStatus.Rows[0]["DELVRY_RANGE_MAX"]);
double delvryRangeMin = Convert.ToDouble(dtStatus.Rows[0]["DELVRY_RANGE_MIN"]);
//排产量=估算量*(1+((交货量差上限-下限)*投料原则-下限))
if (dtStatus.Rows[0]["DELVRY_RANGE_TPE"].ToString().Trim().Equals("绝对值"))
{
delvryRangeMax = (delvryRangeMax / orderQty) * 100;
delvryRangeMin = (delvryRangeMin / orderQty) * 100;
}
rate = ((delvryRangeMax + delvryRangeMin) * queryPutRate(
date.Year, date.Month) - delvryRangeMin) / 100;
planWeight = Convert.ToDouble(dtStatus.Rows[0]["ORDERWEIGHT"]) * (1 + rate);
}
#endregion
}
else
{
param.Add("");
}
if (!uRow.Cells["PROCESS_SEQ"].Value.ToString().Contains("D"))
{
param.Add("2");
param.Add("");
param.Add("");
}
else
{
double weightPerM = 0;
int planNum = 0;
//计算排产加长总重量
if (double.TryParse(dtStatus.Rows[0]["WEIGHT_PER_M"].ToString(), out weightPerM)
&& int.TryParse(dtStatus.Rows[0]["PLAN_NUM"].ToString(), out planNum))
{
extraLenTotWt = Math.Round((lencal.ExtraLenTot * weightPerM * planNum), 3);
}
param.Add("1"); //确认;
param.Add(lencal.LenToendMax);
param.Add(lencal.LenToendMin);
}
param.Add(extraLenTotWt.ToString());
param.Add(planWeight.ToString());
///计划量变化量
double addWt = (planWeight - planWt) + (extraLenTotWt - lenTotWt);
param.Add(addWt.ToString());
//合同紧急度
param.Add(uRow.Cells["PRIORITY"].Value.ToString());
param.Add(uRow.Cells["PRIORITY_MEMO"].Value.ToString());
param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
list.Add(param);
}
else
{
WaitFromColse();
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("4") > 0)
{
MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "已缴库,不能修改!");
}
else if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") < 0)
{
MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "未接收!");
}
return;
}
}
int succeed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.saveSaleOrderZg",
new object[] { list }, this.ob);
WaitFromColse();
if (succeed > 0)
{
MessageUtil.ShowTips("保存成功!");
}
else
{
MessageUtil.ShowError("保存失败!");
}
}
catch (Exception ex)
{
WaitFromColse();
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 热处理确认
///
private void doConfirmRcl()
{
try
{
ultraGrid1.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where(" CHECK = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
WaitFromOpen();
foreach (UltraGridRow uRow in checkRows)
{
///查询合同状态
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
{
ArrayList param = new ArrayList();
param.Add(uRow.Cells["GROUP_RCL"].Value.ToString());
if (!uRow.Cells["PROCESS_SEQ"].Value.ToString().Contains("F"))
{
param.Add("2");
}
else
{
param.Add("1"); //确认
}
param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
list.Add(param);
}
else
{
WaitFromColse();
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") > 0)
{
MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "已下发,不能修改!");
}
else
{
MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "未接收!");
}
return;
}
}
int succeed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.saveSaleOrderRcl",
new object[] { list }, this.ob);
WaitFromColse();
if (succeed > 0)
{
MessageUtil.ShowTips("保存成功!");
}
else
{
MessageUtil.ShowError("保存失败!");
}
}
catch (Exception ex)
{
WaitFromColse();
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 管加工确认
///
private void doConfirmGjg()
{
try
{
ultraGrid1.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where(" CHECK = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
WaitFromOpen();
foreach (UltraGridRow uRow in checkRows)
{
///查询合同状态
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
{
ArrayList param = new ArrayList();
param.Add(uRow.Cells["GROUP_JGX"].Value.ToString());
if (!uRow.Cells["PROCESS_SEQ"].Value.ToString().Contains("G"))
{
param.Add("2");
}
else
{
param.Add("1"); //确认
}
param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
list.Add(param);
}
else
{
WaitFromColse();
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") > 0)
{
MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "已下发,不能修改!");
}
else
{
MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "未接收!");
}
return;
}
}
int succeed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.saveSaleOrderGjg",
new object[] { list }, this.ob);
WaitFromColse();
if (succeed > 0)
{
MessageUtil.ShowTips("保存成功!");
}
else
{
MessageUtil.ShowError("保存失败!");
}
}
catch (Exception ex)
{
WaitFromColse();
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 合同接收
///
private void Pretreat()
{
try
{
ultraGrid1.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where(" CHECK = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
WaitFromOpen();
foreach (UltraGridRow uRow in checkRows)
{
///查询合同状态
ArrayList status = new ArrayList();
ArrayList orderNo = new ArrayList();
orderNo.Add(uRow.Cells["ORDER_NO"].Value.ToString());
orderNo.Add(uRow.Cells["ORDER_SEQ"].Value.ToString());
orderNo.Add(uRow.Cells["DELIVERY_NO"].Value.ToString());
DataTable dtOrderNo = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleByPrimary",
new object[] { orderNo }, this.ob);
if (dtOrderNo == null || dtOrderNo.Rows.Count <= 0)
{
break;
}
else if (dtOrderNo.Rows.Count > 1)
{
WaitFromColse();
MessageUtil.ShowError("合同行:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "存在多条,请联系合同提报人!");
return;
}
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("0"))
{
ArrayList parms = new ArrayList();
string desgin_key = uRow.Cells["DESGIN_KEY"].Value.ToString(); //质量设计主键
//
double outdiameter = 0;///外径
double.TryParse(dtStatus.Rows[0]["OUTDIAMETER"].ToString(), out outdiameter);
double wallthick = 0; //壁厚
double.TryParse(dtStatus.Rows[0]["WALLTHICK"].ToString(), out wallthick);
double aimlength = 0; //目标长度
double weight_per_m = 0; //米单重
double orderweight = 0; //合同量
int plan_num = 0; ///计划合同支数
string order_unit = dtStatus.Rows[0]["ORDER_UNIT"].ToString(); //订货计量单位
string totlength = dtStatus.Rows[0]["TOTLENGTH"].ToString(); //订货长度(保总长)
string totlength_m = dtStatus.Rows[0]["TOTLENGTH"].ToString(); //保米长
string length_jg = ""; ///接箍长度
string strCodeJg = ""; ///接箍码
string prd_cls = ""; ///销售分类
string produc_type = ""; ///品名类型
string len_desc = dtStatus.Rows[0]["LENGTHDISC"].ToString(); ///长度描述
string lenthunit = dtStatus.Rows[0]["LEN_UNIT"].ToString(); ///长度单位
string totlengthunit = lenthunit;
string lengthmax = dtStatus.Rows[0]["LENGTHMAX"].ToString();///最大长度
string lengthmin = dtStatus.Rows[0]["LENGTHMIN"].ToString(); ///最小长度
string shrtlenRate = dtStatus.Rows[0]["SHRT_LEN_RATO"].ToString();///短尺率
string shortest = dtStatus.Rows[0]["SHORTEST"].ToString(); ///短尺最短
string longlenRato = dtStatus.Rows[0]["LONG_LEN_RATO"].ToString(); ///长尺率(%)
string longest = dtStatus.Rows[0]["LONGEST"].ToString(); ///长尺最长
string avg_len_min = dtStatus.Rows[0]["AVG_LEN_MIN"].ToString();///平均长度大于
string difrnc_len_max = dtStatus.Rows[0]["DIFRNC_LEN_MAX"].ToString();///最长最短差小于
string sigl_len = dtStatus.Rows[0]["SIGL_LEN"].ToString(); ///单倍尺长
string endlen_specstd = dtStatus.Rows[0]["ENDLEN_SPECSTD"].ToString();///成品长度公差(单倍尺长专用)
string weigh_type = ""; //计重方式
string transiType = ""; //运输方式
string station_no = ""; //到站编码
string station_nm = ""; //到站名称
string mertype = ""; //组合类型
string askNo = dtStatus.Rows[0]["ADD_ASK_NO"].ToString();//附加要求编码
string askAddDesc = dtStatus.Rows[0]["ORDER_ADD_DESC"].ToString();//附加要求描述
string askStatus = "";//附加要求分类状态
string craftFileNo = "";
string craftFileMan = "";
ArrayList paramTrans = new ArrayList();
if (lenthunit.ToString().Equals("英尺"))
{
#region 长度单位为英尺、所有长度字段单位转换为米。
if (!lengthmax.Equals(""))
{
///最大长度
lengthmax = PlanComm.FootoMi(Convert.ToDouble(lengthmax)).ToString();
uRow.Cells["LENGTHMAX"].Value = lengthmax;
}
if (!lengthmin.Equals(""))
{
///最小长度
lengthmin = PlanComm.FootoMi(Convert.ToDouble(lengthmin)).ToString();
uRow.Cells["LENGTHMIN"].Value = lengthmin;
}
if (!shortest.Equals(""))
{
///短尺最短
shortest = PlanComm.FootoMi(Convert.ToDouble(shortest)).ToString();
}
if (!totlength.Equals(""))
{
///订货长度(保总长)、保米长
totlength_m = PlanComm.FootoMi(Convert.ToDouble(totlength)).ToString();
}
if (!longest.Equals(""))
{
///长尺最长
longest = PlanComm.FootoMi(Convert.ToDouble(longest)).ToString();
}
if (!avg_len_min.Equals(""))
{
///平均长度大于
avg_len_min = PlanComm.FootoMi(Convert.ToDouble(avg_len_min)).ToString();
}
if (!difrnc_len_max.Equals(""))
{
///最长最短差小于
difrnc_len_max = PlanComm.FootoMi(Convert.ToDouble(difrnc_len_max)).ToString();
}
if (!sigl_len.Equals(""))
{
///单倍尺长
sigl_len = PlanComm.FootoMi(Convert.ToDouble(sigl_len)).ToString();
}
if (!endlen_specstd.Equals(""))
{
///成品长度公差
endlen_specstd = PlanComm.FootoMi(Convert.ToDouble(endlen_specstd)).ToString();
}
#endregion
}
if (uRow.Cells["BOM"].Value.ToString().Trim().Equals(""))
{
WaitFromColse();
MessageUtil.ShowError("交货行:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "/"
+ uRow.Cells["DELIVERY_NO"].Value.ToString() + "未找到BOM!");
return;
}
setOrderBominf(uRow);
SaleIndexTo(uRow);
///组合类型
mertype = MergeType(desgin_key, uRow.Cells["PROCESS_SEQ"].Value.ToString()).ToString();
//查询附加要求分类状态和附加要求描述
//askAddDesc = queryAddAsk(askNo, out askStatus);
///计重方式-理重、实重
DataTable dtAddAsk = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryWeighType",
new object[] { dtStatus.Rows[0]["ADD_ASK_NO"].ToString() }, this.ob);
if (dtAddAsk != null && dtAddAsk.Rows.Count > 0)
{
weigh_type = dtAddAsk.Rows[0]["ASK_SUB_ITME_VAL_DESC"].ToString();
}
///合同行交货运输方案
paramTrans.Add(dtStatus.Rows[0]["ORD_LN_DLY_PK"].ToString());
DataTable dtTransit = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryTransit",
new object[] { paramTrans }, this.ob);
if (dtTransit != null && dtTransit.Rows.Count > 0)
{
station_no = dtTransit.Rows[0]["STATION_NO"].ToString();
station_nm = dtTransit.Rows[0]["STATION_NM"].ToString();
}
DataTable dtTranType = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryTranType",
new object[] { paramTrans }, this.ob);
if (dtTranType != null && dtTranType.Rows.Count > 0)
{
transiType = dtTranType.Rows[0]["TRANSIT_TYP"].ToString();
}
//工艺匹配
DataTable dtCraft = ServerHelper.GetData("com.steering.pss.plan.order.CoreOrderCraftInfo.getCraftByOrderno",
new object[] { uRow.Cells["ORDER_NO"].Value.ToString(), uRow.Cells["ORDER_SEQ"].Value.ToString() }, this.ob);
if (dtCraft != null && dtCraft.Rows.Count > 0)
{
craftFileMan = dtCraft.Rows[0]["CRAFT_FILE_MAN"].ToString();
craftFileNo = dtCraft.Rows[0]["CRAFT_FILE_NO"].ToString();
}
///查询销售分类和品名类型
DataTable dtProduce = queryProducType(dtStatus.Rows[0]["PRODUCCODE"].ToString());
if (dtProduce != null && dtProduce.Rows.Count > 0)
{
prd_cls = dtProduce.Rows[0]["PRODUC_STYLE"].ToString();
produc_type = dtProduce.Rows[0]["PRODUC_TYPE"].ToString();
}
OrderStdSic std = new OrderStdSic(this.ob);
std.DesginKey = desgin_key;
std.BiasCode = "404002";
std.Outdiameter = outdiameter;
std.Wallthick = wallthick;
std.getStdTolerance();
///交货单位“个”或“支”,有合同支数
if (order_unit.Equals("个") || order_unit.Equals("支"))
{
//接箍附件类型合同
plan_num = Convert.ToInt32(dtStatus.Rows[0]["ORDER_QTY"]);
}
else if (mertype.Equals("3"))
{
#region 管坯合同
if (outdiameter != 0)
{
///米单重
double weightMI = PlanComm.GpweightOfmi(outdiameter);
//合同交货量
double orderQty = Convert.ToDouble(dtStatus.Rows[0]["ORDER_QTY"]);
if (order_unit.Equals("米"))
{
orderweight = Math.Round((orderQty * weightMI), 3);
}
else if (order_unit.Equals("英尺"))
{
double lengqty = PlanComm.FootoMi(orderQty);
orderweight = Math.Round((lengqty * weightMI), 3);
}
else
{
orderweight = orderQty;
}
//目标长度,取长度上下限中间值,计算计划支数
if (!lengthmax.Equals("") && !lengthmin.Equals(""))
{
aimlength = (Convert.ToDouble(lengthmax) +
Convert.ToDouble(lengthmin)) / 2;
if ((orderweight % (aimlength * weightMI)) == 0)
{
plan_num = (int)(orderweight / (aimlength * weightMI));
}
else
{
plan_num = (int)(orderweight / (aimlength * weightMI)) + 1;
}
}
weight_per_m = Math.Round(weightMI, 5);
}
#endregion
}
else if (outdiameter != 0 && wallthick != 0)
{
#region 管体类合同
//米单重
double weightMI = PlanComm.WeightOfMi(outdiameter, std.AimWallthick);
//合同交货量
double orderQty = Convert.ToDouble(dtStatus.Rows[0]["ORDER_QTY"]);
if (order_unit.Equals("米"))
{
orderweight = Math.Round((orderQty * weightMI), 3);
}
else if (order_unit.Equals("英尺"))
{
double lengqty = PlanComm.FootoMi(orderQty);
orderweight = Math.Round((lengqty * weightMI), 3);
}
else
{
orderweight = orderQty;
}
//目标长度,取长度上下限中间值,计算计划支数
if (!lengthmax.Equals("") && !lengthmin.Equals(""))
{
aimlength = (Convert.ToDouble(lengthmax) +
Convert.ToDouble(lengthmin)) / 2;
if ((orderweight % (aimlength * weightMI)) == 0)
{
plan_num = (int)(orderweight / (aimlength * weightMI));
}
else
{
plan_num = (int)(orderweight / (aimlength * weightMI)) + 1;
}
}
weight_per_m = Math.Round(weightMI, 5);
#endregion
}
#region 接箍信息
if (produc_type.Equals("D"))
{
# region 如果品名类型是接箍
DataTable dtjg = QueryJgCode(desgin_key);
if (dtjg != null && dtjg.Rows.Count > 0)
{
strCodeJg = dtjg.Rows[0]["CODE_JG"].ToString();//接箍码
DataTable dtjgbase = QueryJgBase(strCodeJg);
if (dtjgbase != null && dtjgbase.Rows.Count > 0)
{
length_jg = dtjgbase.Rows[0]["LENGTH_JG"].ToString(); //接箍长度
aimlength = Convert.ToDouble(length_jg) / 1000;
///交货单位“个”或“支”,有合同支数
if (!(order_unit.Equals("个") || order_unit.Equals("支")))
{
WaitFromColse();
MessageUtil.ShowError("成品接箍合同:" + uRow.Cells["ORDER_NO"].Value.ToString()
+ "/" + uRow.Cells["ORDER_SEQ"].Value.ToString()
+ "交货单位不是“支”,请检查合同!");
return;
}
}
}
#endregion
}
else if (produc_type.Equals("B"))
{
///如果是钢管+接箍
DataTable dtjg = QueryJgCode(desgin_key);
if (dtjg != null && dtjg.Rows.Count > 0)
{
strCodeJg = dtjg.Rows[0]["CODE_JG"].ToString();//接箍码
}
}
else if (produc_type.Equals("C"))
{
//附件中,如果有接箍,写入接箍码
DataTable dtjg = QueryJgCode(desgin_key);
if (dtjg != null && dtjg.Rows.Count > 0)
{
strCodeJg = dtjg.Rows[0]["CODE_JG"].ToString();//接箍码
//foreach (DataRow dr in dtjg.Rows)
//{
// //接箍码
// strCodeJg = strCodeJg + dr["CODE_JG"].ToString() + ",";
//}
//strCodeJg = strCodeJg.Substring(0, strCodeJg.LastIndexOf(','));
}
}
#endregion
#region 保存预处理信息
parms.Add(prd_cls);
parms.Add(strCodeJg);
parms.Add(weigh_type);
parms.Add(transiType);
parms.Add(station_no);
parms.Add(station_nm);
parms.Add(aimlength.ToString());
parms.Add(uRow.Cells["AIMWALLTHICK_ZG"].Value.ToString());
parms.Add(uRow.Cells["HEIGHT_NK_MIN"].Value.ToString());
parms.Add(uRow.Cells["HEIGHT_NK_MAX"].Value.ToString());
parms.Add(std.StdMax.ToString());
parms.Add(std.StdMin.ToString());
parms.Add(weight_per_m.ToString());
parms.Add(orderweight.ToString());
parms.Add(orderweight.ToString());
parms.Add(plan_num.ToString());
///如果短尺率大于0,则短尺随炉,否则不短尺随炉。
if (!dtStatus.Rows[0]["SHRT_LEN_RATO"].ToString().Equals(""))
{
if (Convert.ToInt32(dtStatus.Rows[0]["SHRT_LEN_RATO"]) > 0)
{
parms.Add("短尺随炉");
}
else
{
parms.Add("");
}
}
else
{
parms.Add("");
}
///长度信息
parms.Add(totlengthunit);
parms.Add(len_desc);
parms.Add("米");
parms.Add(lengthmax);
parms.Add(lengthmin);
parms.Add(totlength);
parms.Add(shrtlenRate);
parms.Add(shortest);
parms.Add(longlenRato);
parms.Add(longest);
parms.Add(avg_len_min);
parms.Add(difrnc_len_max);
parms.Add(sigl_len);
parms.Add(endlen_specstd);
parms.Add(totlength_m);
parms.Add(length_jg);
///制程变化信息
parms.Add(uRow.Cells["INDEX_SEQ"].Value.ToString());
parms.Add(uRow.Cells["BOM"].Value.ToString());
parms.Add(uRow.Cells["GROUP_JGX"].Value.ToString());
parms.Add(uRow.Cells["GROUP_RCL"].Value.ToString());
parms.Add(uRow.Cells["BJ_TYPE"].Value.ToString());
parms.Add(uRow.Cells["ENDGXNAME"].Value.ToString());
parms.Add(uRow.Cells["PROCESS_SEQ"].Value.ToString());
parms.Add(uRow.Cells["PRODUCE_SORT"].Value.ToString());
parms.Add(uRow.Cells["E_IN_MATERIAL_NO"].Value.ToString());
parms.Add(uRow.Cells["E_IN_MATERIAL_DESC"].Value.ToString());
parms.Add(uRow.Cells["DIMATER_YLG"].Value.ToString());
parms.Add(uRow.Cells["HEIGHT_YLG"].Value.ToString());
parms.Add(uRow.Cells["GROUP_ROLL_ALL"].Value.ToString());
parms.Add(uRow.Cells["GROUP_ROLL"].Value.ToString());
parms.Add(uRow.Cells["GRADECODE_ALL"].Value.ToString());
parms.Add(uRow.Cells["GRADECODE"].Value.ToString());
parms.Add(uRow.Cells["STUFF_PROPERTY"].Value.ToString());
parms.Add(pipeProperty(dtStatus.Rows[0]["MATERIAL_NO"].ToString()));
parms.Add("1"); //合同状态
parms.Add(mertype); //组合类型
parms.Add(uRow.Cells["MONITORDEMAND"].Value.ToString()); //监制要求
parms.Add(uRow.Cells["BL_GROUP_NUM"].Value.ToString());//短节备料组
parms.Add(uRow.Cells["SPECSTANDARD"].Value.ToString());//公差标准
parms.Add(CoreUserInfo.UserInfo.GetUserName());
parms.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
#region 判断有没有接箍、短节
if (mertype.Equals("1") || mertype.Equals("2"))
{
parms.Add("0"); //接箍合同是否形成
parms.Add("0"); //接箍料需求是否制订
}
else
{
parms.Add("2"); //无接箍
parms.Add("2"); //无接箍
}
//判断有没有短节
if (mertype.Equals("0"))
{
DataTable dtGroupBl = QueryBlCode(desgin_key);
if (dtGroupBl != null && dtGroupBl.Rows.Count > 0)
{
parms.Add("0"); //短节备料是否形成
}
else
{
parms.Add("2"); //无短节备料
}
}
else if (mertype.Equals("2"))
{
parms.Add("0"); //短节备料是否形成
}
else
{
parms.Add("2"); //无短节备料
}
#endregion
#region 各工序信息确认
if (uRow.Cells["PROCESS_SEQ"].Value.ToString().Contains("D"))
{
//判断是否经过轧管工序
parms.Add("0");
}
else
{
parms.Add("2");
}
if (uRow.Cells["PROCESS_SEQ"].Value.ToString().Contains("E"))
{
//判断是否经过镦拔扩工序
parms.Add("0");
}
else
{
parms.Add("2");
}
if (uRow.Cells["PROCESS_SEQ"].Value.ToString().Contains("F"))
{
//判断是否经过热处理工序
parms.Add("0");
}
else
{
parms.Add("2");
}
if (uRow.Cells["PROCESS_SEQ"].Value.ToString().Contains("G"))
{
//判断是否经过管加工工序
parms.Add("0");
}
else
{
parms.Add("2");
}
#endregion
parms.Add(uRow.Cells["PRIORITY"].Value.ToString());
parms.Add(uRow.Cells["PRIORITY_MEMO"].Value.ToString());
parms.Add(craftFileNo);
parms.Add(craftFileMan);
parms.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
list.Add(parms);
#endregion
}
else
{
WaitFromColse();
MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "已经接收过了!");
return;
}
}
int succeed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.updatePretreat",
new object[] { list }, this.ob);
WaitFromColse();
if (succeed > 0)
{
MessageUtil.ShowTips("接收成功!");
}
else
{
MessageUtil.ShowError("接收失败!");
}
}
catch (Exception ex)
{
WaitFromColse();
MessageBox.Show(ex.Message);
}
doQuery(GetQueryCondition());
}
///
/// 查询投料率
///
///
private double queryPutRate(int year,int month)
{
double putRate = 1;
ArrayList param = new ArrayList();
param.Add(year);
param.Add(month);
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryPutRate",
new object[] { param }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
double.TryParse(dt.Rows[0]["PUT_RATE"].ToString(), out putRate);
}
return putRate;
}
///
/// 查询接箍系数
///
///
private double queryCoeffiJg(int year, int month)
{
double coeffiJg = 1;
ArrayList param = new ArrayList();
param.Add(year);
param.Add(month);
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryPutRate",
new object[] { param }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
double.TryParse(dt.Rows[0]["COEFFI_JG"].ToString(), out coeffiJg);
}
return coeffiJg;
}
///
/// 查询监制基础信息
///
/// 监制编号
///
private DataTable queryLinePrdcr(string prdcrNo,string mscPline)
{
ArrayList param = new ArrayList();
param.Add(prdcrNo);
param.Add(mscPline);
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryLinePrdcr",
new object[] { param }, this.ob);
return dt;
}
///
/// 取消接收
///
private void CancelPre()
{
try
{
ArrayList list = new ArrayList();
ArrayList listLog = new ArrayList();
ultraGrid1.UpdateData();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where("CHECK = 'True'");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
bool isChecked = false;
string reason = "";
foreach (UltraGridRow uRow in checkRows)
{
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
{
if (dtStatus.Rows[0]["JGORD_IS_OK"].ToString().Equals("1"))
{
MessageUtil.ShowTips("请先撤消" + uRow.Cells["ORDER_NO"].Value.ToString()
+ "/" + uRow.Cells["ORDER_SEQ"].Value.ToString() + "的接箍合同!");
return;
}
if (dtStatus.Rows[0]["DJBL_REQ_IS_OK"].ToString().Equals("1"))
{
MessageUtil.ShowTips("请先撤消" + uRow.Cells["ORDER_NO"].Value.ToString()
+ "/" + uRow.Cells["ORDER_SEQ"].Value.ToString() + "的短节合同!");
return;
}
ArrayList paramLog = new ArrayList();
ArrayList param = new ArrayList();
if (!isChecked)
{
bool isConfirm = false;
FrmCancelPretreat CancelPre = new FrmCancelPretreat();
CancelPre.ShowDialog();
isConfirm = CancelPre.getIsConfirm();
if (!isConfirm)
{
return;
}
reason = CancelPre.getConcelReason();
}
isChecked = true;
#region 记录回退日志
paramLog.Add(uRow.Cells["ORD_PK"].Value.ToString());
paramLog.Add(uRow.Cells["ORD_LN_PK"].Value.ToString());
paramLog.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
paramLog.Add(uRow.Cells["ORDER_NO"].Value.ToString());
paramLog.Add(uRow.Cells["ORDER_SEQ"].Value.ToString());
paramLog.Add(uRow.Cells["DELIVERY_NO"].Value.ToString());
paramLog.Add(uRow.Cells["PRODUCNAME"].Value.ToString());
paramLog.Add(uRow.Cells["SPEC_NAME"].Value.ToString());
paramLog.Add(uRow.Cells["ORDER_UNIT"].Value.ToString());
paramLog.Add(uRow.Cells["ORDER_QTY"].Value.ToString());
paramLog.Add(uRow.Cells["BUYER_NAME"].Value.ToString());
paramLog.Add(uRow.Cells["FINAL_USER_DESC"].Value.ToString());
paramLog.Add(uRow.Cells["DELVRY_EDATE"].Value.ToString());
///轧制月份
DateTime Date = new DateTime();
if (DateTime.TryParse(uRow.Cells["ROLL_MONTH"].Value.ToString(), out Date))
{
paramLog.Add(Date.ToString("yyyy-MM"));
}
else
{
paramLog.Add("");
}
paramLog.Add(reason);
paramLog.Add(CoreUserInfo.UserInfo.GetUserName());
paramLog.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
listLog.Add(paramLog);
#endregion
param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
list.Add(param);
}
else
{
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") < 0)
{
MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString()
+ "/" + uRow.Cells["ORDER_SEQ"].Value.ToString() + "未接收!");
return;
}
else
{
MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString()
+ "/" + uRow.Cells["ORDER_SEQ"].Value.ToString() + "已经下发!");
return;
}
}
}
int succed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.CancelPre",
new object[] { listLog, list }, this.ob);
if (succed > 0)
{
MessageUtil.ShowTips("撤消接收合同成功!");
}
else
{
MessageUtil.ShowTips("撤消接收合同失败!");
return;
}
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 接箍处理
///
private void doProcessJg()
{
try
{
ultraGrid1.UpdateData();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where("CHECK = 'True'");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
WaitFromOpen();
ArrayList listupdate = new ArrayList();
ArrayList list = new ArrayList();
foreach (UltraGridRow uRow in checkRows)
{
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
{
if (dtStatus.Rows[0]["JGORD_IS_OK"].ToString().Equals("1"))
{
WaitFromColse();
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同"
+ uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString()
+ "已处理接箍!");
return;
}
if (dtStatus.Rows[0]["JGORD_IS_OK"].ToString().Equals("2"))
{
WaitFromColse();
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同"
+ uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString()
+ "没有接箍!");
return;
}
if (dtStatus.Rows[0]["PLAN_NUM"].ToString().Equals("") ||
dtStatus.Rows[0]["PLAN_NUM"].ToString().Equals("0"))
{
WaitFromColse();
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同"
+ uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString()
+ "合同计划支数未知,请检查合同信息!");
return;
}
string strDesgin_key = uRow.Cells["DESGIN_KEY"].Value.ToString();
DataTable dtjg = QueryJgCode(strDesgin_key);
ArrayList param = new ArrayList();
double weightSale = 0;
if (dtjg.Rows.Count > 0 && dtjg != null)
{
int JGnum = 0;
foreach (DataRow dr in dtjg.Rows)
{
#region 接箍需求信息处理
JGnum++;
string strCodeJg = dr["CODE_JG"].ToString();//接箍码
ArrayList parms = new ArrayList();
//接箍合同号(合同号_合同行号_交货编码_G01)
string strJG_orderno = uRow.Cells["ORDER_NO"].Value.ToString() +
uRow.Cells["ORDER_SEQ"].Value.ToString() + uRow.Cells["DELIVERY_NO"].Value.ToString()
+ "_G" + JGnum.ToString().PadLeft(2, '0');
double single_weight = 0; //接箍个单量
double weightJg = 0; //接箍合同量
DataTable dtjgbase = QueryJgBase(strCodeJg);
parms.Add(strJG_orderno);
parms.Add(uRow.Cells["ORDER_NO"].Value.ToString());
parms.Add(uRow.Cells["ORDER_SEQ"].Value.ToString());
parms.Add(uRow.Cells["DELIVERY_NO"].Value.ToString());
parms.Add(uRow.Cells["BUYER_ID"].Value.ToString());
parms.Add(uRow.Cells["BUYER_NAME"].Value.ToString());
parms.Add(uRow.Cells["DELVRY_BDATE"].Value.ToString());
parms.Add(uRow.Cells["DELVRY_EDATE"].Value.ToString());
parms.Add(uRow.Cells["ORDERCONTACT"].Value.ToString());
parms.Add(uRow.Cells["MONITORDEMAND"].Value.ToString());
parms.Add(uRow.Cells["PSC"].Value.ToString());
parms.Add(uRow.Cells["MSC"].Value.ToString());
parms.Add("");//接箍制程索引
parms.Add(strCodeJg);
#region 接箍基础信息
if (dtjgbase != null && dtjgbase.Rows.Count > 0)
{
single_weight = Convert.ToDouble(dtjgbase.Rows[0]["WEIGHT_JG"]) / 1000;
weightJg = Convert.ToInt32(dtStatus.Rows[0]["PLAN_NUM"]) * single_weight;
weightSale += weightJg;
parms.Add(dtjgbase.Rows[0]["STEELCODE_JG"].ToString());
parms.Add(dtjgbase.Rows[0]["STEELCODE_JG_DESC"].ToString());
parms.Add(dtjgbase.Rows[0]["DIAMETER_JG"].ToString());
parms.Add(dtjgbase.Rows[0]["HEIGHT_JG"].ToString()); //壁厚
parms.Add(dtjgbase.Rows[0]["HEIGHT_JG"].ToString()); //控制壁厚
parms.Add(dtjgbase.Rows[0]["MODEL_CODE"].ToString());
parms.Add(dtjgbase.Rows[0]["LENGTH_JG"].ToString());
parms.Add(dtjgbase.Rows[0]["WEIGHT_JG"].ToString());
}
else
{
parms.Add("");
parms.Add("");
parms.Add("");
parms.Add("");
parms.Add("");
parms.Add("");
parms.Add("");
parms.Add("");
}
#endregion
parms.Add(weightJg.ToString());
parms.Add(dtStatus.Rows[0]["PLAN_NUM"].ToString());
parms.Add(uRow.Cells["LATEST_PROD_DATE"].Value.ToString());
parms.Add("0");
parms.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
parms.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
parms.Add("0");//利库充当量
parms.Add("0");//利库支数
parms.Add("0");//有无外购计划(1-有,0-无)
parms.Add("0");//外购计划量
parms.Add("0");//外购计划个数
parms.Add("0");//已做备料需求接箍量
list.Add(parms);
#endregion
}
}
#region 更新销售合同
//完成接箍
weightSale = weightSale * queryCoeffiJg(DateTime.Now.Year, DateTime.Now.Month);
param.Add("1");
param.Add("0");
param.Add(weightSale.ToString());//更新销售合同排产量=计划量-接箍量*系数
param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
listupdate.Add(param);
#endregion
}
else
{
WaitFromColse();
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") > 0)
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同:"
+ uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString()
+ "已下发,不能修改!");
}
else
{
MessageUtil.ShowTips("合同:" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString()
+ "未接收!");
}
return;
}
}
int succed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.tranSactionJg",
new object[] { list, listupdate }, this.ob);
WaitFromColse();
if (succed > 0)
{
MessageUtil.ShowTips("接箍处理成功!");
}
else
{
MessageUtil.ShowTips("接箍处理失败!");
}
}
catch (Exception ex)
{
WaitFromColse();
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 撤消接箍处理
///
private void doCancelJg()
{
try
{
ArrayList list = new ArrayList();
ultraGrid1.UpdateData();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where("CHECK = 'True'");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
WaitFromOpen();
foreach (UltraGridRow uRow in checkRows)
{
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
{
if (!dtStatus.Rows[0]["JGORD_IS_OK"].ToString().Equals("1"))
{
WaitFromColse();
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同"
+ uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+uRow.Cells["ORDER_SEQ"].Value.ToString()
+ "没有接箍合同!");
return;
}
ArrayList param = new ArrayList();
param.Add(CoreUserInfo.UserInfo.GetUserName());
param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
list.Add(param);
}
else if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") > 0)
{
WaitFromColse();
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同"
+ uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+uRow.Cells["ORDER_SEQ"].Value.ToString()
+ "已下发,不能撤销!");
return;
}
else if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") < 0)
{
WaitFromColse();
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同"
+ uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString()
+ "还未接收!");
return;
}
}
int succed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.doCancelJg",
new object[] { list }, this.ob);
WaitFromColse();
if (succed > 0)
{
MessageUtil.ShowTips("撤消接箍合同成功!");
}
else
{
MessageUtil.ShowTips("撤消接箍合同失败!");
}
}
catch (Exception ex)
{
WaitFromColse();
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 短节处理
///
private void doProcessDj()
{
try
{
ultraGrid1.UpdateData();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where(" CHECK = 'True'");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
ArrayList paramBL = new ArrayList();
ArrayList paramUpdate = new ArrayList();
WaitFromOpen();
foreach (UltraGridRow uRow in checkRows)
{
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
{
if (dtStatus.Rows[0]["DJBL_REQ_IS_OK"].ToString().Equals("2"))
{
WaitFromColse();
MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "没有短节!");
return;
}
if (dtStatus.Rows[0]["DJBL_REQ_IS_OK"].ToString().Equals("1"))
{
WaitFromColse();
MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString() + "已处理短节!");
return;
}
string strDesgin_key = uRow.Cells["DESGIN_KEY"].Value.ToString();
DataTable dtBl = queryBlCodeByGp(strDesgin_key, uRow.Cells["BL_GROUP_NUM"].Value.ToString());
ArrayList listupdate = new ArrayList();
if (dtBl.Rows.Count > 0 && dtBl != null)
{
foreach (DataRow dr in dtBl.Rows)
{
string strCodeBl = dr["PSC_BL"].ToString();//备料码
DataTable dtbllist = QueryBlList(strCodeBl);
if (dtbllist != null && dtbllist.Rows.Count > 0)
{
ArrayList parms = new ArrayList();
double planNum = Convert.ToInt32(uRow.Cells["PLAN_NUM"].Value);
#region 备料清单信息
double min_d = Convert.ToDouble(dtbllist.Rows[0]["MIN_D"]);
double min_h = Convert.ToDouble(dtbllist.Rows[0]["MIN_H"]);
double Weight_One = PlanComm.WeightOfMi(min_d, min_h);//米单重(吨/米)
string strPSC = "";//产品码
double aimlength = (Convert.ToDouble(dtbllist.Rows[0]["MAX_L"])
+ Convert.ToDouble(dtbllist.Rows[0]["MIN_L"])) / 2;
double singleweight = aimlength * Weight_One;//单重
double eatchBlnum = aimlength / //每只备料管可切短节支数。
Convert.ToDouble(uRow.Cells["LENGTHMAX"].Value);
string specSameSale = "0";
if (dtStatus.Rows[0]["OUTDIAMETER"].ToString().Equals(dtbllist.Rows[0]["MIN_D"].ToString())
&& dtStatus.Rows[0]["WALLTHICK"].ToString().Equals(dtbllist.Rows[0]["MIN_H"].ToString())
&& dtStatus.Rows[0]["STEELCODE"].ToString().Equals(dtbllist.Rows[0]["STEELCODE"].ToString()))
{
specSameSale = "1";
}
parms.Add("短节备料");
parms.Add(uRow.Cells["ORDER_NO"].Value.ToString());
parms.Add(uRow.Cells["ORDER_SEQ"].Value.ToString());
parms.Add(uRow.Cells["DELIVERY_NO"].Value.ToString());
parms.Add(strCodeBl);
parms.Add("0"); //计划状态
parms.Add(CoreUserInfo.UserInfo.GetUserName());
parms.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
parms.Add(dtbllist.Rows[0]["STEELCODE"].ToString());
parms.Add(dtbllist.Rows[0]["STEELNAME"].ToString());
parms.Add("");//钢种代码
parms.Add(dtbllist.Rows[0]["MIN_D"].ToString());//外径
parms.Add(dtbllist.Rows[0]["MIN_H"].ToString());//壁厚
parms.Add("");//控制壁厚
parms.Add(dtbllist.Rows[0]["MAX_L"].ToString());
parms.Add(dtbllist.Rows[0]["MIN_L"].ToString());
parms.Add(aimlength.ToString());//控制长度
parms.Add(dtbllist.Rows[0]["STD_CODE"].ToString());
parms.Add(dtbllist.Rows[0]["STD_NAME"].ToString());
strPSC = QueryPsc(dtbllist.Rows[0]["PRODUCCODE"].ToString(),
dtbllist.Rows[0]["STD_CODE"].ToString(),
dtbllist.Rows[0]["STEELCODE"].ToString(),
dtbllist.Rows[0]["STD_STYLE"].ToString());
parms.Add(QueryPscForMsc(strPSC));
parms.Add(singleweight.ToString()); //单重
#endregion
if (planNum % eatchBlnum == 0)
{
parms.Add((int)(planNum / eatchBlnum) * singleweight);//备料需求量
parms.Add((int)(planNum / eatchBlnum));//备料需求支数
}
else
{
parms.Add(((int)(planNum / eatchBlnum) + 1) * singleweight);
parms.Add((int)(planNum / eatchBlnum) + 1);
}
parms.Add(specSameSale);
paramBL.Add(parms);
}
else
{
WaitFromColse();
MessageUtil.ShowError("备料码:" + strCodeBl + "未找到基础信息,请查看备料码是否已作废。");
return;
}
}
}
//完成短节
listupdate.Add("1");
listupdate.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
paramUpdate.Add(listupdate);
}
else if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") < 0)
{
WaitFromColse();
MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString()
+ "/" + uRow.Cells["ORDER_SEQ"].Value.ToString() + "还未接收!");
return;
}
else
{
WaitFromColse();
MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString() + "/" +
uRow.Cells["ORDER_SEQ"].Value.ToString() + "已下发!");
return;
}
}
int isSucceed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.tranSactionDj",
new object[] { paramBL, paramUpdate }, this.ob);
WaitFromColse();
if (isSucceed > 0)
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("短节处理成功!");
}
else
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowError("短节处理失败!");
}
}
catch (Exception ex)
{
WaitFromColse();
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 撤消短节合同
///
private void doCancelDj()
{
try
{
ultraGrid1.UpdateData();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where(" CHECK = 'True'");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
ArrayList list = new ArrayList();
WaitFromOpen();
foreach (UltraGridRow uRow in checkRows)
{
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
{
ArrayList param = new ArrayList();
if (!dtStatus.Rows[0]["DJBL_REQ_IS_OK"].ToString().Equals("1"))
{
WaitFromColse();
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同"
+ uRow.Cells["ORDER_NO"].Value.ToString() + "/"
+ uRow.Cells["ORDER_SEQ"].Value.ToString()
+ "没有短节合同!");
return;
}
param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
list.Add(param);
}
else if(dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") < 0)
{
WaitFromColse();
MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString()
+ "/" + uRow.Cells["ORDER_SEQ"].Value.ToString() + "还未接收!");
return;
}
}
if (list.Count == 0)
{
WaitFromColse();
return;
}
int succed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.doCancelDj",
new object[] { list }, this.ob);
WaitFromColse();
if (succed > 0)
{
MessageUtil.ShowTips("撤消短节合同成功!");
}
else
{
MessageUtil.ShowTips("撤消短节合同失败!");
}
}
catch (Exception ex)
{
WaitFromColse();
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 根据备料信息中备料码找冶金规范码
///
/// 备料码
/// 冶金规范码
private string BlForMsc(string blcode)
{
DataTable dtbllist = QueryBlList(blcode);
if (dtbllist != null && dtbllist.Rows.Count > 0)
{
string strPSC = "";
strPSC = QueryPsc(dtbllist.Rows[0]["PRODUCCODE"].ToString(),
dtbllist.Rows[0]["STD_CODE"].ToString(),
dtbllist.Rows[0]["STEELCODE"].ToString(),
dtbllist.Rows[0]["STD_STYLE"].ToString());
if (strPSC != "")
{
return QueryPscForMsc(strPSC);
}
else
{
return "";
}
}
return "";
}
///
/// 新建接箍料需求信息
///
private void doPlait()
{
try
{
ArrayList list_Rel = new ArrayList();
ArrayList list_Jgl = new ArrayList();
ArrayList list = new ArrayList();
ArrayList ary = new ArrayList();
#region 筛选、记录备料码种类
foreach (UltraGridRow uRow in ultraGrid7.Rows)
{
if (Convert.ToBoolean(uRow.Cells["CHECK"].Text))
{
if (uRow.Cells["JGBL_SUMLENTH"].Value.Equals("0") ||
uRow.Cells["JGBL_SUMLENTH"].Value.Equals(""))
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同:" + uRow.Cells["JG_ORDERNO"].Value.ToString()
+ ",备料:" + uRow.Cells["CODE_JG_BL"].Value.ToString() + "的项未知备料需求量!");
return;
}
if (!ary.Contains(uRow.Cells["CODE_JG_BL"].Value.ToString()))
{
ary.Add(uRow.Cells["CODE_JG_BL"].Value.ToString());
}
}
}
if (ary.Count == 0)
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("未指定要新建的接箍料信息!");
return;
}
#endregion
#region 保存信息接箍料需求信息和接箍与备料关系
for (int i = 0; i < ary.Count; i++)
{
string JglCode = ary[i].ToString(); //接箍备料码
DataTable dtbllist = QueryBlList(JglCode);
if (dtbllist != null && dtbllist.Rows.Count > 0)
{
ArrayList parms_Jgl = new ArrayList();
double min_d = Convert.ToDouble(dtbllist.Rows[0]["MIN_D"]); //外径
double min_h = Convert.ToDouble(dtbllist.Rows[0]["MIN_H"]); //壁厚
double Weight_One = PlanComm.WeightOfMi(min_d, min_h); //接箍料米单重
string gradecode = "";//钢种代码
string steelcode = dtbllist.Rows[0]["STEELCODE"].ToString();//钢级代码
string steelname = dtbllist.Rows[0]["STEELNAME"].ToString();//钢级名称
double outdiameter = Convert.ToDouble(dtbllist.Rows[0]["MIN_D"]);//外径
double wallthick = Convert.ToDouble(dtbllist.Rows[0]["MIN_H"]);//壁厚
double aimwallthick = 0;//控制壁厚
double lengthmax = Convert.ToDouble(dtbllist.Rows[0]["MAX_L"]);//最大长度
double lengthmin = Convert.ToDouble(dtbllist.Rows[0]["MIN_L"]);//最小长度
double aimlength = (lengthmax + lengthmin) / 2;//控制长度
double singleweight = (aimlength * Weight_One);//备料单重
string std_code = dtbllist.Rows[0]["STD_CODE"].ToString();//标准代码
string std_name = dtbllist.Rows[0]["STD_NAME"].ToString();//标准名称
int jgbl_req_num = 0;//备料支数
double jgbl_req_weight = 0;//备料需求量
double jgbl_sumlenth = 0;//备料总长度
foreach (UltraGridRow uRow in ultraGrid7.Rows)
{
if (Convert.ToBoolean(uRow.Cells["CHECK"].Text) &&
uRow.Cells["CODE_JG_BL"].Value.ToString().Equals(JglCode))
{
ArrayList parms_Rel = new ArrayList();
int Num_Jgl = 0; //单个合同接箍料需求支数
double Len_Jgl = Convert.ToDouble(uRow.Cells["JGBL_SUMLENTH"].Value);//单个合同接箍料长度
double Weihgt_Jgl = Len_Jgl * Weight_One;//单个合同接箍料需求量
if ((Len_Jgl % aimlength) == 0)
{
Num_Jgl = (int)(Len_Jgl / aimlength);
}
else
{
Num_Jgl = (int)(Len_Jgl / aimlength) + 1;
}
jgbl_sumlenth += Len_Jgl;
#region 接箍及接箍料关系
parms_Rel.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
parms_Rel.Add(i.ToString());
parms_Rel.Add(uRow.Cells["CODE_JG"].Value.ToString());
parms_Rel.Add(uRow.Cells["OUTDIAMETER"].Value.ToString());
parms_Rel.Add(uRow.Cells["AIMLENGTH"].Value.ToString());
parms_Rel.Add(uRow.Cells["WALLTHICK"].Value.ToString());
parms_Rel.Add(steelcode);
parms_Rel.Add(steelname);
parms_Rel.Add(uRow.Cells["SINGLEWEIGHT_JG"].Value.ToString());
parms_Rel.Add(JglCode);
parms_Rel.Add(aimlength.ToString());
parms_Rel.Add(singleweight.ToString());
parms_Rel.Add(Weihgt_Jgl.ToString());
parms_Rel.Add(Num_Jgl.ToString());
parms_Rel.Add("1");
parms_Rel.Add(uRow.Cells["WEIGHT_JG"].Value.ToString());
parms_Rel.Add(uRow.Cells["NUM_JG"].Value.ToString());
parms_Rel.Add("");//接箍计划已排量
parms_Rel.Add("0");
parms_Rel.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
parms_Rel.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
#endregion
list_Rel.Add(parms_Rel);
}
}
if ((jgbl_sumlenth % aimlength) == 0)
{
jgbl_req_num = (int)(jgbl_sumlenth / aimlength);
}
else
{
jgbl_req_num = (int)(jgbl_sumlenth / aimlength) + 1;
}
jgbl_req_weight = jgbl_sumlenth * Weight_One;
#region 接箍料需求信息
parms_Jgl.Add(i.ToString());
parms_Jgl.Add("接箍料");
parms_Jgl.Add(steelcode);
parms_Jgl.Add(steelname);
parms_Jgl.Add(gradecode);//钢种代码
parms_Jgl.Add(outdiameter.ToString());
parms_Jgl.Add(wallthick.ToString());
parms_Jgl.Add(aimwallthick);//控制壁厚
parms_Jgl.Add(lengthmax.ToString());
parms_Jgl.Add(lengthmin.ToString());
parms_Jgl.Add(aimlength.ToString());//控制长度
parms_Jgl.Add(JglCode);
parms_Jgl.Add(singleweight.ToString());
parms_Jgl.Add(jgbl_req_weight.ToString());
parms_Jgl.Add(jgbl_req_num.ToString());
parms_Jgl.Add("0");
parms_Jgl.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
parms_Jgl.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
parms_Jgl.Add(std_code);
parms_Jgl.Add(std_name);
parms_Jgl.Add(BlForMsc(JglCode));
#endregion
list_Jgl.Add(parms_Jgl);
}
else
{
MessageUtil.ShowError("备料码:" + JglCode + "未找到基础信息,请查看备料码是否已作废。");
return;
}
}
#endregion
///更新接箍合同已做备料需求个数
foreach (UltraGridRow uRow in ultraGrid7.Rows)
{
if (Convert.ToBoolean(uRow.Cells["CHECK"].Text))
{
ArrayList parms = new ArrayList();
int jgwt_blreq = Convert.ToInt32(uRow.Cells["NUM_JG"].Value);
parms.Add(jgwt_blreq.ToString());
parms.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
list.Add(parms);
}
}
int succed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.saveJglNeed",
new object[] { list_Jgl, list_Rel, list }, this.ob);
if (succed > 0)
{
MessageUtil.ShowTips("新建需求成功!");
}
else
{
MessageUtil.ShowTips("新建需求失败!");
return;
}
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
QueryJGl();
}
///
/// 加入现有接箍料需求
///
private void doAddPlait()
{
try
{
string code_jg_bl = "";//备料码
string req_bl_id = "";//备料需求编号
double jgbl_req_weight = 0;//备料需求量
int jgbl_req_num = 0;//备料需求支数
ArrayList listUpdateRel = new ArrayList();
ArrayList list_Rel = new ArrayList();
ArrayList listupdate = new ArrayList();
ArrayList list = new ArrayList();
int count = 0;
#region 筛选加入条件
foreach (UltraGridRow uRow in ultraGrid6.Rows)
{
if (Convert.ToBoolean(uRow.Cells["CHECK"].Text))
{
count++;
code_jg_bl = uRow.Cells["CODE_JG_BL"].Value.ToString();
req_bl_id = uRow.Cells["REQ_BL_ID"].Value.ToString();
}
}
if (count == 1)
{
bool isChecked = false;
foreach (UltraGridRow uRow in ultraGrid7.Rows)
{
if (Convert.ToBoolean(uRow.Cells["CHECK"].Text))
{
isChecked = true;
if (code_jg_bl != uRow.Cells["CODE_JG_BL"].Value.ToString())
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowError("所选择的条目备料码"
+ "与要加入的备料需求的备料码有不同,请重新选择!");
return;
}
}
}
///如果没有勾选待处理的条目,提示。
if (!isChecked)
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("未选择要加入现有需求的信息!");
return;
}
}
else
{
if (count == 0)
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("请选择一条现有的接箍料需求!");
return;
}
Core.Mes.Client.Comm.Tool.MessageUtil.ShowError("您选择了多条接箍料需求,"
+ "无法确定您需要将需求加入那条现有需求中!");
return;
}
#endregion
#region 接箍备料对应关系信息
DataTable dtbllist = QueryBlList(code_jg_bl);
if (dtbllist != null && dtbllist.Rows.Count > 0)
{
double outdiameter = Convert.ToDouble(dtbllist.Rows[0]["MIN_D"]);//外径
double wallthick = Convert.ToDouble(dtbllist.Rows[0]["MIN_H"]);//壁厚
double Weight_One = PlanComm.WeightOfMi(outdiameter, wallthick); //接箍料米单重
string steelcode = dtbllist.Rows[0]["STEELCODE"].ToString();//钢级代码
string steelname = dtbllist.Rows[0]["STEELNAME"].ToString();//钢级名称
double lengthmax = Convert.ToDouble(dtbllist.Rows[0]["MAX_L"]);//最大长度
double lengthmin = Convert.ToDouble(dtbllist.Rows[0]["MIN_L"]);//最小长度
double aimlength = (lengthmax + lengthmin) / 2;//控制长度
double singleweight = (aimlength * Weight_One);//备料单重
string std_code = dtbllist.Rows[0]["STD_CODE"].ToString();//标准代码
string std_name = dtbllist.Rows[0]["STD_NAME"].ToString();//标准名称
double jgbl_sumlenth = 0;//备料总长度
foreach (UltraGridRow uRow in ultraGrid7.Rows)
{
if (Convert.ToBoolean(uRow.Cells["CHECK"].Text))
{
if (uRow.Cells["JGBL_SUMLENTH"].Value.Equals("0") ||
uRow.Cells["JGBL_SUMLENTH"].Value.Equals(""))
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("合同:"
+ uRow.Cells["JG_ORDERNO"].Value.ToString() + ",备料:"
+ uRow.Cells["CODE_JG_BL"].Value.ToString() + "的项未知备料需求量!");
return;
}
bool bl = false;
int Num_Jgl = 0; //单个合同接箍料需求支数
double Len_Jgl = Convert.ToDouble(uRow.Cells["JGBL_SUMLENTH"].Value);//单个合同接箍料长度
double Weihgt_Jgl = Len_Jgl * Weight_One;//单个合同接箍料需求量
if ((Len_Jgl % aimlength) == 0)
{
Num_Jgl = (int)(Len_Jgl / aimlength);
}
else
{
Num_Jgl = (int)(Len_Jgl / aimlength) + 1;
}
jgbl_sumlenth += Len_Jgl;
DataTable dtRel = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryRelation",
new object[] { req_bl_id }, this.ob);
foreach (DataRow dr in dtRel.Rows)
{
if (uRow.Cells["JG_ORDERNO"].Value.ToString().Equals(
dr["JG_ORDERNO"].ToString()))
{
#region 有相同对应关系的情况,更新对应关系的需求量
bl = true;
ArrayList parms = new ArrayList();
parms.Add(Weihgt_Jgl.ToString());
parms.Add(Num_Jgl.ToString());
parms.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
parms.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
parms.Add(req_bl_id);
parms.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
listUpdateRel.Add(parms);
#endregion
}
}
if (bl == false)
{
#region 没有相同对应关系的情况,新增一条对应关系
ArrayList parms_Rel = new ArrayList();
parms_Rel.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
parms_Rel.Add(req_bl_id);
parms_Rel.Add(uRow.Cells["CODE_JG"].Value.ToString());
parms_Rel.Add(uRow.Cells["OUTDIAMETER"].Value.ToString());
parms_Rel.Add(uRow.Cells["AIMLENGTH"].Value.ToString());
parms_Rel.Add(uRow.Cells["WALLTHICK"].Value.ToString());
parms_Rel.Add(steelcode);
parms_Rel.Add(steelname);
parms_Rel.Add(uRow.Cells["SINGLEWEIGHT_JG"].Value.ToString());
parms_Rel.Add(code_jg_bl);
parms_Rel.Add(aimlength.ToString());
parms_Rel.Add(singleweight.ToString());
parms_Rel.Add(Weihgt_Jgl.ToString());
parms_Rel.Add(Num_Jgl.ToString());
parms_Rel.Add("1");
parms_Rel.Add(uRow.Cells["WEIGHT_JG"].Value.ToString());
parms_Rel.Add(uRow.Cells["NUM_JG"].Value.ToString());
parms_Rel.Add("");//接箍计划已排量
parms_Rel.Add("0");
parms_Rel.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
parms_Rel.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
list_Rel.Add(parms_Rel);
#endregion
}
}
}
//计算备料总量
if ((jgbl_sumlenth % aimlength) == 0)
{
jgbl_req_num = (int)(jgbl_sumlenth / aimlength);
}
else
{
jgbl_req_num = (int)(jgbl_sumlenth / aimlength) + 1;
}
jgbl_req_weight = jgbl_sumlenth * Weight_One;
}
else
{
MessageUtil.ShowError("备料码:" + code_jg_bl + "未找到基础信息,请查看备料码是否已作废。");
return;
}
#endregion
list.Add(jgbl_req_weight.ToString());
list.Add(jgbl_req_num.ToString());
list.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
list.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
list.Add(req_bl_id);
///更新接箍合同已做备料需求量
foreach (UltraGridRow uRow in ultraGrid7.Rows)
{
if (Convert.ToBoolean(uRow.Cells["CHECK"].Text))
{
ArrayList parms = new ArrayList();
int jgwt_blreq = Convert.ToInt32(uRow.Cells["NUM_JG"].Value);
parms.Add(jgwt_blreq);
parms.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
listupdate.Add(parms);
}
}
ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.updateJglNeed",
new object[] { list, listUpdateRel, list_Rel, listupdate }, this.ob);
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
QueryJGl();
}
///
/// 删除接箍料需求
///
private void Delete()
{
try
{
ArrayList listJg = new ArrayList();
ArrayList listRel = new ArrayList();
ArrayList list = new ArrayList();
bool bl = false;
foreach (UltraGridRow uRow in ultraGrid6.Rows)
{
if (Convert.ToBoolean(uRow.Cells["CHECK"].Text) && uRow.Cells["BLTYPE"].Value.ToString() == "接箍料")
{
ArrayList parms = new ArrayList();
bl = true;
parms.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
listJg.Add(parms);
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryRelation",
new object[] { uRow.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
foreach (DataRow dr in dt.Rows)
{
ArrayList paramrel = new ArrayList();
ArrayList parmUpadte = new ArrayList();
paramrel.Add(dr["JG_ORDERNO"].ToString());
paramrel.Add(dr["REQ_BL_ID"].ToString());
listRel.Add(paramrel);
///更新接箍合同已做备料需求个数
parmUpadte.Add("-" + dr["NUM_JG"].ToString());
parmUpadte.Add(dr["JG_ORDERNO"].ToString());
list.Add(parmUpadte);
}
}
}
if (bl)
{
if (MessageBox.Show("是否要删除该备料需求?", "警告", MessageBoxButtons.OKCancel) != DialogResult.OK)
{
return;
}
ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.deleteBlNeed",
new object[] { listRel, listJg, list }, this.ob);
}
else
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("请选择要删除的接箍料需求!");
return;
}
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
QueryJGl();
}
///
/// 删除接箍料需求单量
///
private void DeleteOne()
{
try
{
ArrayList list_Rel = new ArrayList();
ArrayList list_Jgl = new ArrayList();
ArrayList list = new ArrayList();
ArrayList ary = new ArrayList();
foreach (UltraGridRow uRow in ultraGrid4.Rows)
{
if (Convert.ToBoolean(uRow.Cells["CHECK"].Text) &&
!ary.Contains(uRow.Cells["REQ_BL_ID"].Value.ToString()))
{
ary.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
}
}
if (ary.Count > 0)
{
#region 删除接箍料与接箍对应关系信息,和接箍料需求量减少信息
for (int i = 0; i < ary.Count; i++)
{
double jgbl_req_weight = 0;
int jgbl_req_num = 0;
ArrayList parms_Jgl = new ArrayList();
foreach (UltraGridRow uRow in ultraGrid4.Rows)
{
if (Convert.ToBoolean(uRow.Cells["CHECK"].Text) &&
uRow.Cells["REQ_BL_ID"].Value.ToString().Equals(ary[i].ToString()))
{
ArrayList parms_Rel = new ArrayList();
ArrayList parmUpadte = new ArrayList();
jgbl_req_weight += Convert.ToDouble(uRow.Cells["JGBL_REQ_WEIGHT"].Value);
jgbl_req_num += Convert.ToInt32(uRow.Cells["JGBL_REQ_NUM"].Value);
parms_Rel.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
parms_Rel.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
list_Rel.Add(parms_Rel);
///更新接箍合同已做备料需求个数
parmUpadte.Add("-" + uRow.Cells["NUM_JG"].Value.ToString());
parmUpadte.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
list.Add(parmUpadte);
}
}
foreach (UltraGridRow uRow in ultraGrid6.Rows)
{
if (uRow.Cells["REQ_BL_ID"].Value.ToString().Equals(ary[i].ToString()))
{
jgbl_req_weight = - jgbl_req_weight;
jgbl_req_num = - jgbl_req_num;
}
}
parms_Jgl.Add(jgbl_req_weight);
parms_Jgl.Add(jgbl_req_num);
parms_Jgl.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
parms_Jgl.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
parms_Jgl.Add(ary[i].ToString());
list_Jgl.Add(parms_Jgl);
}
#endregion
if (MessageBox.Show("是否要删除这些备料需求量?", "警告",
MessageBoxButtons.OKCancel) == DialogResult.OK)
{
ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.deleteJglOne",
new object[] { list_Rel, list_Jgl, list }, this.ob);
}
}
else
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("请至少选择一条接箍料需求单量!");
return;
}
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
QueryJGl();
}
///
/// 查询接箍基础表
///
/// 接箍码
private DataTable QueryJgBase(string strCodeJg)
{
try
{
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryJgBase", new object[] {
strCodeJg }, this.ob);
return dt;
}
catch
{
return null;
}
}
///
/// 查询备料清单表
///
/// 备料码
public DataTable QueryBlList(string strCodeJg)
{
try
{
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryBlList", new object[] {
strCodeJg }, this.ob);
return dt;
}
catch
{
return null;
}
}
///
/// 销售合同下发
///
private void OrderSaleIssued()
{
try
{
ArrayList list = new ArrayList();
ArrayList listPrc = new ArrayList();
ArrayList listPss = new ArrayList();
ultraGrid1.UpdateData();
IQueryable checkRows = ultraGrid1.Rows.AsQueryable().Where("CHECK = 'True'");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
WaitFromOpen();
foreach (UltraGridRow uRow in checkRows)
{
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (!dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
{
WaitFromColse();
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("1") > 0)
{
MessageUtil.ShowTips("合同"+ uRow.Cells["ORDER_NO"].Value.ToString() + "/" +
uRow.Cells["ORDER_SEQ"].Value.ToString() + "已经是下发状态!");
}
else
{
MessageUtil.ShowTips("合同"+ uRow.Cells["ORDER_NO"].Value.ToString() + "/" +
uRow.Cells["ORDER_SEQ"].Value.ToString() + "还不能下发!");
}
return;
}
if (dtStatus.Rows[0]["IF_ALLOW_ISSUE"].ToString().Equals("1"))
{
DataTable dtCraft = ServerHelper.GetData("com.steering.pss.plan.order.CoreOrderCraftInfo.getCraftByOrderno",
new object[] { uRow.Cells["ORDER_NO"].Value.ToString(),
uRow.Cells["ORDER_SEQ"].Value.ToString() }, this.ob);
if (dtCraft == null || dtCraft.Rows.Count <= 0)
{
WaitFromColse();
MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString() + "/" +
uRow.Cells["ORDER_SEQ"].Value.ToString() + "无工艺!");
return;
}
if (dtStatus.Rows[0]["GRADECODE"].ToString().Equals(""))
{
WaitFromColse();
MessageUtil.ShowTips("钢种不能为空!");
return;
}
if (dtStatus.Rows[0]["OUTS_BILLET_FL"].ToString().Equals(""))
{
WaitFromColse();
MessageUtil.ShowTips("是否外购不能为空!");
return;
}
ArrayList parms = new ArrayList();
ArrayList param = new ArrayList();
ArrayList paramPss = new ArrayList();
param.Add(uRow.Cells["DESGIN_KEY"].Value.ToString());
param.Add(CoreUserInfo.UserInfo.GetUserName());
param.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
listPrc.Add(param);
//更新合同
//parms.Add(CoreUserInfo.UserInfo.GetUserName());
parms.Add(uRow.Cells["MEMO"].Value.ToString());
parms.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
list.Add(parms);
paramPss.Add(dtStatus.Rows[0]["PLAN_NUM"].ToString());
paramPss.Add(dtStatus.Rows[0]["PLANWEIGHT"].ToString());
paramPss.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
listPss.Add(paramPss);
}
else
{
WaitFromColse();
MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString() + "/" +
uRow.Cells["ORDER_SEQ"].Value.ToString() + "还不能下发!");
return;
}
}
bool blsale = Convert.ToBoolean(ServerHelper.SetData("com.steering.pss.plan." +
"order.CoreSaleOrderOP.issuedSaleOrder", new object[] { list, listPrc, listPss }, this.ob));
WaitFromColse();
if (!blsale)
{
MessageUtil.ShowError("下发失败!");
return;
}
MessageUtil.ShowTips("下发成功!");
}
catch (Exception ex)
{
WaitFromColse();
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 取消销售合同下发
///
private void CancelSaleIssued()
{
try
{
ultraGrid1.UpdateData();
ArrayList list = new ArrayList();
ArrayList listOrder = new ArrayList();
ArrayList listPss = new ArrayList();
IQueryable listRow = ultraGrid1.Rows.AsQueryable().Where(" CHECK = 'True'");
if (listRow.Count() == 0)
{
MessageUtil.ShowTips("未勾选合同!");
return;
}
WaitFromOpen();
foreach(UltraGridRow uRow in listRow)
{
ArrayList status = new ArrayList();
status.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("2")
|| dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("3"))
{
ArrayList param = new ArrayList();
ArrayList paramOrder = new ArrayList();
ArrayList paramPss = new ArrayList();
param.Add(dtStatus.Rows[0]["MEMO"].ToString());
param.Add(dtStatus.Rows[0]["ORD_LN_DLY_PK"].ToString());
list.Add(param);
paramOrder.Add(dtStatus.Rows[0]["ORDER_NO"].ToString());
paramOrder.Add(dtStatus.Rows[0]["ORDER_SEQ"].ToString());
paramOrder.Add(dtStatus.Rows[0]["DELIVERY_NO"].ToString());
listOrder.Add(paramOrder);
//更新进程表
paramPss.Add("-" + dtStatus.Rows[0]["PLAN_NUM"].ToString());
paramPss.Add("-" + dtStatus.Rows[0]["PLANWEIGHT"].ToString());
paramPss.Add(uRow.Cells["ORD_LN_DLY_PK"].Value.ToString());
listPss.Add(paramPss);
}
else if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("2") < 0)
{
WaitFromColse();
MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString()
+ "/" + uRow.Cells["ORDER_SEQ"].Value.ToString() + "还未下发!");
return;
}
else
{
WaitFromColse();
MessageUtil.ShowTips("合同" + uRow.Cells["ORDER_NO"].Value.ToString() + "/" +
uRow.Cells["ORDER_SEQ"].Value.ToString() + "已完成生产,无法撤消下发!");
return;
}
}
int succed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.cancelSaleIssued",
new object[] { list, listOrder, listPss }, this.ob);
WaitFromColse();
if (succed < 0)
{
MessageUtil.ShowTips("取消下发失败!");
return;
}
else
{
MessageUtil.ShowTips("取消下发成功!");
}
}
catch (Exception ex)
{
WaitFromColse();
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 接箍合同下发
///
private void OrderJgIssued()
{
try
{
bool isChecked = false;
ArrayList list = new ArrayList();
foreach (UltraGridRow uRow in ultraGrid2.Rows)
{
if (Convert.ToBoolean(uRow.Cells["CHECK"].Text))
{
ArrayList parms = new ArrayList();
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryJgbyOrderno",
new object[] { uRow.Cells["JG_ORDERNO"].Value.ToString() }, this.ob);
if (dt == null && dt.Rows.Count <= 0)
{
break;
}
isChecked = true;
if (dt.Rows[0]["JGORDERSTATUS"].ToString().Equals("1"))
{
parms.Add("2");
parms.Add(DateTime.Now.ToString("yyyy/MM/dd"));
parms.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
list.Add(parms);
}
else if (dt.Rows[0]["JGORDERSTATUS"].ToString().CompareTo("1") < 0)
{
MessageUtil.ShowTips("接箍合同" + uRow.Cells["JG_ORDERNO"].Value.ToString()
+ "未完成配料!");
return;
}
else
{
MessageUtil.ShowTips("接箍合同" + uRow.Cells["JG_ORDERNO"].Value.ToString()
+ "已经下发过了!");
return;
}
}
}
if (isChecked)
{
int result = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.issuedJgOrder",
new object[] { list }, this.ob);
if (Convert.ToBoolean(result))
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("下发成功!");
}
}
else
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("请勾选您要下发的接箍合同!");
return;
}
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 接箍合同取消下发
///
private void CancelJgIssued()
{
try
{
ultraGrid2.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkedRows = ultraGrid2.Rows.AsQueryable().Where("CHECK = 'True'");
if (checkedRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选要取消下发的接箍合同!");
return;
}
foreach (UltraGridRow uRow in checkedRows)
{
ArrayList param = new ArrayList();
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryJgbyOrderno",
new object[] { uRow.Cells["JG_ORDERNO"].Value.ToString() }, this.ob);
if (dt == null && dt.Rows.Count <= 0)
{
break;
}
if (dt.Rows[0]["JGORDERSTATUS"].ToString().CompareTo("2") < 0)
{
MessageUtil.ShowTips("接箍合同" + uRow.Cells["JG_ORDERNO"].Value.ToString()
+ "还未下发!");
return;
}
param.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
list.Add(param);
}
int succed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.cancelJgIssued",
new object[] { list }, this.ob);
if (succed > 0)
{
MessageUtil.ShowTips("取消下发成功!");
}
else
{
MessageUtil.ShowTips("取消下发失败!");
}
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
doQuery(GetQueryCondition());
}
///
/// 备料取消下发
///
private void CancelBlIssued(UltraGrid ugrid)
{
try
{
ugrid.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkedRows = ugrid.Rows.AsQueryable().Where("CHECK = 'True'");
if (checkedRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选要取消下发的备料!");
return;
}
foreach (UltraGridRow uRow in checkedRows)
{
ArrayList param = new ArrayList();
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryBLbyReqBlId",
new object[] { uRow.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PLANSTATUS"].ToString().CompareTo("1") < 0)
{
MessageUtil.ShowTips("备料" + uRow.Cells["REQ_BL_ID"].Value.ToString()
+ "未下发,不能取消下发!");
return;
}
param.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
list.Add(param);
}
int succed = ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.cancelBlIssued",
new object[] { list }, this.ob);
if (succed > 0)
{
MessageUtil.ShowTips("取消下发成功!");
}
else
{
MessageUtil.ShowTips("取消下发失败!");
}
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
if (ugrid != ultraGrid3)
{
QueryJGl();
}
else
{
doQuery(GetQueryCondition());
}
}
///
/// 备料需求下发
///
private void IssuedBlNeed(UltraGrid ugrid)
{
try
{
ugrid.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkedRows = ugrid.Rows.AsQueryable().Where("CHECK = 'True'");
if (checkedRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选要下发的备料!");
return;
}
foreach (UltraGridRow uRow in checkedRows)
{
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryBLbyReqBlId",
new object[] { uRow.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
break;
}
if (dtStatus.Rows[0]["PLANSTATUS"].ToString().CompareTo("0") > 0)
{
MessageUtil.ShowTips("备料" + uRow.Cells["REQ_BL_ID"].Value.ToString()
+ "已经下发过了!");
return;
}
#region 判断是否可以下发
if (uRow.Cells["JGBL_REQ_WEIGHT"].Value.ToString().Equals("0"))
{
Core.Mes.Client.Comm.Tool.MessageUtil.ShowTips("短节备料"
+ uRow.Cells["REQ_BL_ID"].Value.ToString() + "需求量未知!");
return;
}
if (!dtStatus.Rows[0]["IF_ALLOW_ISSUE"].ToString().Equals("1"))
{
MessageUtil.ShowTips("需求" + uRow.Cells["REQ_BL_ID"].Value.ToString()
+ "还不可以下发!");
return;
}
#endregion
ArrayList parms = new ArrayList();
parms.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
list.Add(parms);
}
if (!Convert.ToBoolean(ServerHelper.SetData("com.steering.pss.plan.order." +
"CoreSaleOrderOP.issuedJglNeed", new object[] { list }, this.ob)))
{
MessageUtil.ShowTips("下发失败!");
return;
}
MessageUtil.ShowTips("下发成功!");
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
if (ugrid != ultraGrid3)
{
QueryJGl();
}
else
{
doQuery(GetQueryCondition());
}
}
///
/// 通过合同行查询销售合同
///
/// 合同号
/// 合同行
/// 交货编码
/// 销售合同
private DataTable QuerySaleByPrimary(string order_no, string order_seq, string delivery_no)
{
try
{
ArrayList parms = new ArrayList();
parms.Add(order_no);
parms.Add(order_seq);
parms.Add(delivery_no);
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleByPrimary",
new object[] { parms }, this.ob);
return dt;
}
catch
{
return null;
}
}
///
/// 查询BOM信息
///
///
private void setOrderBominf(UltraGridRow ugr)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreOrderDesignBom.getDesignBomInf",
new object[] { ugr.Cells["BOM"].Value.ToString() }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
ugr.Cells["GROUP_ROLL_ALL"].Value = dt.Rows[0]["D_PLINE"].ToString();
ugr.Cells["GRADECODE"].Value = dt.Rows[0]["GRADECODE"].ToString();
ugr.Cells["E_IN_MATERIAL_DESC"].Value = dt.Rows[0]["E_IN_MATERIAL_DESC"].ToString();
ugr.Cells["E_IN_MATERIAL_NO"].Value = dt.Rows[0]["E_IN_MATERIAL_NO"].ToString();
ugr.Cells["DIMATER_YLG"].Value = dt.Rows[0]["DIMATER"].ToString();
ugr.Cells["HEIGHT_YLG"].Value = dt.Rows[0]["HEIGHT"].ToString();
//查询控制壁厚
double dimater = 0;
double height = 0;
if (double.TryParse(dt.Rows[0]["DIMATER"].ToString(), out dimater)
&& double.TryParse(dt.Rows[0]["HEIGHT"].ToString(), out height))
{
ToleranceNk tolerance = new ToleranceNk(this.ob);
tolerance.Outdiameter = dimater;
tolerance.Wallthick = height;
tolerance.Lengthmin = Convert.ToDouble(ugr.Cells["LENGTHMIN"].Value);
tolerance.Lengthmax = Convert.ToDouble(ugr.Cells["LENGTHMAX"].Value);
tolerance.Sic = "";
tolerance.BaseCode = "404002";
if (!tolerance.Sic.Equals(""))
{
tolerance.getToleranceOfNk();
}
ugr.Cells["HEIGHT_NK_MIN"].Value = tolerance.Lower.ToString();
ugr.Cells["HEIGHT_NK_MAX"].Value = tolerance.Upper.ToString();
ugr.Cells["AIMWALLTHICK_ZG"].Value = ((tolerance.Wallthick + (
tolerance.Upper - tolerance.Lower) / 2).ToString());
}
#region 判断坯料的属性
string dinMaterial = "";
///轧管投入物料(炼钢末工序产出物料)
if (!dt.Rows[0]["D_IN_MATERIAL_NO"].ToString().Equals(""))
{
dinMaterial = dt.Rows[0]["D_IN_MATERIAL_NO"].ToString();
}
else if (!dt.Rows[0]["C_OUT_MATERIAL_NO"].ToString().Equals(""))
{
dinMaterial = dt.Rows[0]["C_OUT_MATERIAL_NO"].ToString();
}
else if (!dt.Rows[0]["B_OUT_MATERIAL_NO"].ToString().Equals(""))
{
dinMaterial = dt.Rows[0]["B_OUT_MATERIAL_NO"].ToString();
}
else
{
dinMaterial = dt.Rows[0]["A_OUT_MATERIAL_NO"].ToString();
}
ugr.Cells["STUFF_PROPERTY"].Value = stuffProperty(dinMaterial);
#endregion
#region 过滤轧管产线
ArrayList paramPline = new ArrayList();
paramPline.Add(ugr.Cells["FINAL_USER"].Value.ToString());
paramPline.Add(ugr.Cells["PRODUCCODE"].Value.ToString());
paramPline.Add(dt.Rows[0]["D_IN_MATERIAL_NO"].ToString());
paramPline.Add(dt.Rows[0]["D_OUT_MATERIAL_NO"].ToString());
paramPline.Add(ugr.Cells["DESGIN_KEY"].Value.ToString());
paramPline.Add(ugr.Cells["INDEX_SEQ"].Value.ToString());
DataTable dtDpl = ServerHelper.GetData("com.steering.pss.plan.order.CoreOrderDesignBom.getBomMaterialDpl",
new object[] { paramPline }, this.ob);
if (dtDpl != null)
{
ValueList valueList = PlanComm.GeneralValuelist(ref dtDpl, "PLINE_CODE", "PLINE_NAME");
ugr.Cells["GROUP_ROLL"].ValueList = valueList;
if (dtDpl.Rows.Count > 0 && !PlanComm.isInDataTable(dtDpl, "PLINE_CODE",
ugr.Cells["GROUP_ROLL"].Value.ToString()))
{
//如果存在ASSEL机组,优选ASSEL机组
//string orderHead = ugr.Cells["ORDER_NO"].Value.ToString().Substring(0, 1);
if (PlanComm.isInDataTable(dtDpl, "PLINE_CODE", "C012")
&& queryAsselFl(ugr.Cells["ORD_LN_PK"].Value.ToString(), this.ob))
{
ugr.Cells["GROUP_ROLL"].Value = "C012";
}
else
{
ugr.Cells["GROUP_ROLL"].Value = dtDpl.Rows[0]["PLINE_CODE"].ToString();
}
}
}
#endregion
}
}
///
/// 查询是否Assel机组
///
///
///
public static bool queryAsselFl(string ordLnPk, OpeBase _ob)
{
bool isAssel = false;
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryAsselFl",
new object[] { ordLnPk }, _ob);
if (dt != null && dt.Rows.Count > 0)
{
if (dt.Rows[0]["ASSEL_FL"].ToString().Trim().Equals("1"))
{
isAssel = true;
}
}
return isAssel;
}
///
/// 更改制程
///
///
///
private void ultraGrid1_CellChange(object sender, CellEventArgs e)
{
if (e.Cell.Column.Key.Equals("INDEX_SEQ") && e.Cell.Row.Cells["INDEX_SEQ"].DataChanged)
{
e.Cell.Row.Update();
ArrayList status = new ArrayList();
status.Add(e.Cell.Row.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
return;
}
if (!dtStatus.Rows[0]["INDEX_SEQ"].ToString().Equals(
e.Cell.Row.Cells["INDEX_SEQ"].Value.ToString())
&& dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
{
ArrayList param = new ArrayList();
if (MessageUtil.ShowYesNoAndWarning("是否修改合同制程?") == DialogResult.No)
{
e.Cell.Row.Cells["INDEX_SEQ"].Value = dtStatus.Rows[0]["INDEX_SEQ"].ToString();
return;
}
SaleIndexTo(e.Cell.Row);
//BOM更新
param.Add(e.Cell.Row.Cells["INDEX_SEQ"].Value.ToString());
param.Add(e.Cell.Row.Cells["MSC"].Value.ToString());
param.Add(e.Cell.Row.Cells["MATERIAL_NO"].Value.ToString());
DataTable dtBom = ServerHelper.GetData("com.steering.pss.plan.order.CoreOrderDesignBom.getOrdMscBom",
new object[] { param }, this.ob);
if (dtBom != null && dtBom.Rows.Count > 0)
{
string dinMaterial = "";
#region 可选钢种
string gradeAll = "";
ArrayList arr = new ArrayList();
foreach (DataRow dr in dtBom.Rows)
{
if (!arr.Contains(dr["GRADENAME"].ToString()))
{
arr.Add(dr["GRADENAME"].ToString());
gradeAll += dr["GRADENAME"].ToString() + ",";
}
}
if (!gradeAll.Equals("") && gradeAll.Length > 1)
{
gradeAll = gradeAll.Substring(0, gradeAll.Length - 1);
}
#endregion
e.Cell.Row.Cells["BOM"].Value = dtBom.Rows[0]["BOM"].ToString();
e.Cell.Row.Cells["GROUP_ROLL_ALL"].Value = dtBom.Rows[0]["D_PLINE"].ToString();
e.Cell.Row.Cells["GRADECODE"].Value = dtBom.Rows[0]["GRADECODE"].ToString();
e.Cell.Row.Cells["GRADECODE_ALL"].Value = gradeAll;
e.Cell.Row.Cells["E_IN_MATERIAL_DESC"].Value = dtBom.Rows[0]["E_IN_MATERIAL_DESC"].ToString();
e.Cell.Row.Cells["E_IN_MATERIAL_NO"].Value = dtBom.Rows[0]["E_IN_MATERIAL_NO"].ToString();
e.Cell.Row.Cells["DIMATER_YLG"].Value = dtBom.Rows[0]["DIMATER"].ToString();
e.Cell.Row.Cells["HEIGHT_YLG"].Value = dtBom.Rows[0]["HEIGHT"].ToString();
//查询控制壁厚
double dimater = 0;
double height = 0;
if (double.TryParse(dtBom.Rows[0]["DIMATER"].ToString(), out dimater)
&& double.TryParse(dtBom.Rows[0]["HEIGHT"].ToString(), out height))
{
ToleranceNk tolerance = new ToleranceNk(this.ob);
tolerance.Outdiameter = dimater;
tolerance.Wallthick = height;
tolerance.Lengthmin = Convert.ToDouble(e.Cell.Row.Cells["LENGTHMIN"].Value);
tolerance.Lengthmax = Convert.ToDouble(e.Cell.Row.Cells["LENGTHMAX"].Value);
tolerance.Sic = "";
tolerance.BaseCode = "404002";
if (!tolerance.Sic.Equals(""))
{
tolerance.getToleranceOfNk();
}
e.Cell.Row.Cells["HEIGHT_NK_MIN"].Value = tolerance.Lower.ToString();
e.Cell.Row.Cells["HEIGHT_NK_MAX"].Value = tolerance.Upper.ToString();
e.Cell.Row.Cells["AIMWALLTHICK_ZG"].Value = ((tolerance.Wallthick + (
tolerance.Upper - tolerance.Lower) / 2).ToString());
}
#region 判断坯料的属性
///轧管投入物料(炼钢末工序产出物料)
if (!dtBom.Rows[0]["D_IN_MATERIAL_NO"].ToString().Equals(""))
{
dinMaterial = dtBom.Rows[0]["D_IN_MATERIAL_NO"].ToString();
}
else if (!dtBom.Rows[0]["C_OUT_MATERIAL_NO"].ToString().Equals(""))
{
dinMaterial = dtBom.Rows[0]["C_OUT_MATERIAL_NO"].ToString();
}
else if (!dtBom.Rows[0]["B_OUT_MATERIAL_NO"].ToString().Equals(""))
{
dinMaterial = dtBom.Rows[0]["B_OUT_MATERIAL_NO"].ToString();
}
else
{
dinMaterial = dtBom.Rows[0]["A_OUT_MATERIAL_NO"].ToString();
}
e.Cell.Row.Cells["STUFF_PROPERTY"].Value = stuffProperty(dinMaterial);
#endregion
#region 过滤轧管产线
ArrayList paramPline = new ArrayList();
paramPline.Add(e.Cell.Row.Cells["FINAL_USER"].Value.ToString());
paramPline.Add(e.Cell.Row.Cells["PRODUCCODE"].Value.ToString());
paramPline.Add(dtBom.Rows[0]["D_IN_MATERIAL_NO"].ToString());
paramPline.Add(dtBom.Rows[0]["D_OUT_MATERIAL_NO"].ToString());
paramPline.Add(e.Cell.Row.Cells["DESGIN_KEY"].Value.ToString());
paramPline.Add(e.Cell.Row.Cells["INDEX_SEQ"].Value.ToString());
DataTable dtDpl = ServerHelper.GetData("com.steering.pss.plan.order.CoreOrderDesignBom.getBomMaterialDpl",
new object[] { paramPline }, this.ob);
if (dtDpl != null)
{
ValueList valueList = PlanComm.GeneralValuelist(ref dtDpl, "PLINE_CODE", "PLINE_NAME");
e.Cell.Row.Cells["GROUP_ROLL"].ValueList = valueList;
if (dtDpl.Rows.Count > 0 && !PlanComm.isInDataTable(dtDpl, "PLINE_CODE",
e.Cell.Row.Cells["GROUP_ROLL"].Value.ToString()))
{
//如果存在ASSEL机组,优选ASSEL机组
//string orderHead = e.Cell.Row.Cells["ORDER_NO"].Value.ToString().Substring(0, 1);
if (PlanComm.isInDataTable(dtDpl, "PLINE_CODE", "C012")
&& queryAsselFl(e.Cell.Row.Cells["ORD_LN_PK"].Value.ToString(), this.ob))
{
e.Cell.Row.Cells["GROUP_ROLL"].Value = "C012";
}
else
{
e.Cell.Row.Cells["GROUP_ROLL"].Value = dtDpl.Rows[0]["PLINE_CODE"].ToString();
}
}
}
#endregion
}
//保存更新
saveIndexChange(e.Cell.Row);
}
}
}
///
/// 随制程变化信息
///
/// 销售合同行
private void SaleIndexTo(UltraGridRow uRow)
{
bool blJGX = false;
bool blRCL = false;
bool blBJ = false;
string desgin_key = uRow.Cells["DESGIN_KEY"].Value.ToString();
string processSeq = ""; //全程途径码
#region 根据制程查询全程途经工序
ArrayList param= new ArrayList();
param.Add(desgin_key);
param.Add(uRow.Cells["INDEX_SEQ"].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 endgxCode = ""; ///末工序代码
string gprocessC = ""; //加工二级工序
string fprocessC = ""; //热处理二级工序
foreach (DataRow dr in dtProcess.Rows)
{
if (dr["PROCESS_CODE"].ToString().Equals("G"))
{
///经过加工工序
blJGX = true;
gprocessC = dr["PROCESS_CODE_C"].ToString();
if (uRow.Cells["GROUP_JGX"].Value.ToString().Equals("/"))
{
uRow.Cells["GROUP_JGX"].Value = "";
}
////加工组
FrmDefGroup gourpJgx = new FrmDefGroup(this.ob);
gourpJgx.Outdiameter = Convert.ToDouble(uRow.Cells["OUTDIAMETER"].Value);
gourpJgx.ModelCode = uRow.Cells["MODEL_CODE"].Value.ToString();
gourpJgx.defgourpJgc();
uRow.Cells["GROUP_JGX"].Value = gourpJgx.GroupJgx;
}
if (dr["PROCESS_CODE"].ToString().Equals("F"))
{
///经过热处理工序
blRCL = true;
fprocessC = dr["PROCESS_CODE_C"].ToString();
if (uRow.Cells["GROUP_RCL"].Value.ToString().Equals("/"))
{
uRow.Cells["GROUP_RCL"].Value = "";
}
////热处理组
FrmDefGroup gourRcl = new FrmDefGroup(this.ob);
gourRcl.Outdiameter = Convert.ToDouble(uRow.Cells["OUTDIAMETER"].Value);
gourRcl.Wallthick = Convert.ToDouble(uRow.Cells["WALLTHICK"].Value);
gourRcl.Lengthmax = Convert.ToDouble(uRow.Cells["LENGTHMAX"].Value);
gourRcl.ModelCode = uRow.Cells["MODEL_CODE"].Value.ToString();
gourRcl.ProcessC = dr["PROCESS_CODE_C"].ToString();
gourRcl.defgourpRcl();
uRow.Cells["GROUP_RCL"].Value = gourRcl.GroupRcl;
}
if (dr["PROCESS_CODE"].ToString().Equals("E"))
{
///经过镦拔扩工序
blBJ = true;
uRow.Cells["BJ_TYPE"].Value = dr["PROCESS_DESC_C"].ToString();
}
}
///成品工序号
string wholeDesc = dtProcess.Rows[0]["WHOLE_BACKLOG_DESC"].ToString();
processSeq = dtProcess.Rows[0]["WHOLE_BACKLOG"].ToString();
endgxCode = processSeq.Substring(processSeq.Length - 1);
uRow.Cells["ENDGXNAME"].Value = wholeDesc.Substring(wholeDesc.LastIndexOf('-') + 1,
wholeDesc.Length - wholeDesc.LastIndexOf('-') - 1);
///生产分类
uRow.Cells["PRODUCE_SORT"].Value = produceSort(endgxCode,
uRow.Cells["PRD_CLS"].Value.ToString(), gprocessC, fprocessC);
}
if (!blJGX)
{
uRow.Cells["GROUP_JGX"].Value = "/";
}
if (!blRCL)
{
uRow.Cells["GROUP_RCL"].Value = "/";
}
if (!blBJ)
{
uRow.Cells["BJ_TYPE"].Value = "/";
}
#endregion
//查询监制要求
DataTable dtLinePrdcr = queryLinePrdcr(uRow.Cells["PRDCR_NO"].Value.ToString(),
uRow.Cells["INDEX_SEQ"].Value.ToString());
if (dtLinePrdcr != null && dtLinePrdcr.Rows.Count > 0)
{
uRow.Cells["MONITORDEMAND"].Value = dtLinePrdcr.Rows[0]["PRDCR_DESC"].ToString();
}
uRow.Cells["PROCESS_SEQ"].Value = processSeq;
}
///
/// bom选择
///
private void setOrderBom()
{
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null)
{
return;
}
///查询合同状态
ArrayList status = new ArrayList();
status.Add(ugr.Cells["ORD_LN_DLY_PK"].Value.ToString());
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.querySaleStatus",
new object[] { status }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
return;
}
if (!dtStatus.Rows[0]["PORDERSTATUS"].ToString().Equals("1"))
{
return;
}
FrmDesginBom bom = new FrmDesginBom(this.ob, dtStatus.Rows[0]["BOM"].ToString());
bom.MscPline = dtStatus.Rows[0]["INDEX_SEQ"].ToString();
bom.Msc = dtStatus.Rows[0]["MSC"].ToString();
bom.MaterialNo = dtStatus.Rows[0]["MATERIAL_NO"].ToString();
bom.DesignKey = ugr.Cells["DESGIN_KEY"].Value.ToString();
bom.WholeBacklog = dtStatus.Rows[0]["PROCESS_SEQ"].ToString();
bom.Outdiameter = dtStatus.Rows[0]["OUTDIAMETER"].ToString();
bom.Wallthick = dtStatus.Rows[0]["WALLTHICK"].ToString();
bom.SpecCode = dtStatus.Rows[0]["SPEC_CODE"].ToString();
bom.SpecName = dtStatus.Rows[0]["SPEC_NAME"].ToString();
if (dtStatus.Rows[0]["E_IS_OK"].ToString().Equals("1"))
{
if (!this.CustomInfo.ToString().Trim().Equals("")
&& !this.CustomInfo.ToString().Trim().Equals("@BJ"))
{
//镦拔扩投入规格确定,过滤可选bom
bom.EInMaterial = dtStatus.Rows[0]["E_IN_MATERIAL_NO"].ToString();
}
}
if (dtStatus.Rows[0]["GRADECODE_IS_OK"].ToString().Equals("1"))
{
if (!this.CustomInfo.ToString().Trim().Equals("")
&& !this.CustomInfo.ToString().Trim().Equals("@GRADE"))
{
//钢种坯料确定后,bom确定
bom.StrBom = dtStatus.Rows[0]["BOM"].ToString();
}
}
if (this.CustomInfo.Equals("@BJ") || this.CustomInfo.Equals(""))
{
bom.setButtonAddZgSepcShow(true);
}
bom.ShowDialog();
if (bom.Ugr != null)
{
ArrayList param = new ArrayList();
ugr.Cells["BOM"].Value = bom.Ugr.Cells["Bom"].Value.ToString();
ugr.Cells["GROUP_ROLL_ALL"].Value = bom.Ugr.Cells["DPline"].Value.ToString();
ugr.Cells["GRADECODE_ALL"].Value = bom.GradeAll;
ugr.Cells["GRADECODE"].Value = bom.Ugr.Cells["Gradecode"].Value.ToString();
ugr.Cells["E_IN_MATERIAL_DESC"].Value = bom.Ugr.Cells["EInMaterialDesc"].Value.ToString();
ugr.Cells["E_IN_MATERIAL_NO"].Value = bom.Ugr.Cells["EInMaterialNo"].Value.ToString();
ugr.Cells["DIMATER_YLG"].Value = bom.Ugr.Cells["Dimater"].Value.ToString();
ugr.Cells["HEIGHT_YLG"].Value = bom.Ugr.Cells["Height"].Value.ToString();
//查询控制壁厚
double dimater = 0;
double height = 0;
if (double.TryParse(bom.Ugr.Cells["Dimater"].Value.ToString(), out dimater)
&& double.TryParse(bom.Ugr.Cells["Height"].Value.ToString(), out height))
{
ToleranceNk tolerance = new ToleranceNk(this.ob);
tolerance.Outdiameter = dimater;
tolerance.Wallthick = height;
tolerance.Lengthmin = Convert.ToDouble(ugr.Cells["LENGTHMIN"].Value);
tolerance.Lengthmax = Convert.ToDouble(ugr.Cells["LENGTHMAX"].Value);
tolerance.Sic = "";
tolerance.BaseCode = "404002";
if (!tolerance.Sic.Equals(""))
{
tolerance.getToleranceOfNk();
}
ugr.Cells["HEIGHT_NK_MIN"].Value = tolerance.Lower.ToString();
ugr.Cells["HEIGHT_NK_MAX"].Value = tolerance.Upper.ToString();
ugr.Cells["AIMWALLTHICK_ZG"].Value = ((tolerance.Wallthick + (
tolerance.Upper - tolerance.Lower) / 2).ToString());
}
#region 判断坯料的属性
string dinMaterial = "";
///轧管投入物料(炼钢末工序产出物料)
if (!bom.Ugr.Cells["dInMaterialNo"].Value.ToString().Equals(""))
{
dinMaterial = bom.Ugr.Cells["dInMaterialNo"].Value.ToString();
}
else if (!bom.Ugr.Cells["COutMaterialNo"].Value.ToString().Equals(""))
{
dinMaterial = bom.Ugr.Cells["COutMaterialNo"].Value.ToString();
}
else if (!bom.Ugr.Cells["BOutMaterialNo"].Value.ToString().Equals(""))
{
dinMaterial = bom.Ugr.Cells["BOutMaterialNo"].Value.ToString();
}
else
{
dinMaterial = bom.Ugr.Cells["AOutMaterialNo"].Value.ToString();
}
ugr.Cells["STUFF_PROPERTY"].Value = stuffProperty(dinMaterial);
#endregion
#region 过滤轧管产线
ArrayList paramPline = new ArrayList();
paramPline.Add(ugr.Cells["FINAL_USER"].Value.ToString());
paramPline.Add(ugr.Cells["PRODUCCODE"].Value.ToString());
paramPline.Add(bom.Ugr.Cells["DInMaterialNo"].Value.ToString());
paramPline.Add(bom.Ugr.Cells["DOutMaterialNo"].Value.ToString());
paramPline.Add(ugr.Cells["DESGIN_KEY"].Value.ToString());
paramPline.Add(ugr.Cells["INDEX_SEQ"].Value.ToString());
DataTable dtDpl = ServerHelper.GetData("com.steering.pss.plan.order.CoreOrderDesignBom.getBomMaterialDpl",
new object[] { paramPline }, this.ob);
if (dtDpl != null)
{
ValueList valueList = PlanComm.GeneralValuelist(ref dtDpl, "PLINE_CODE", "PLINE_NAME");
ugr.Cells["GROUP_ROLL"].ValueList = valueList;
if (dtDpl.Rows.Count > 0 && !PlanComm.isInDataTable(dtDpl, "PLINE_CODE",
ugr.Cells["GROUP_ROLL"].Value.ToString()))
{
//如果存在ASSEL机组,优选ASSEL机组
//string orderHead = ugr.Cells["ORDER_NO"].Value.ToString().Substring(0, 1);
if (PlanComm.isInDataTable(dtDpl, "PLINE_CODE", "C012")
&& queryAsselFl(ugr.Cells["ORD_LN_PK"].Value.ToString(), this.ob))
{
ugr.Cells["GROUP_ROLL"].Value = "C012";
}
else
{
ugr.Cells["GROUP_ROLL"].Value = dtDpl.Rows[0]["PLINE_CODE"].ToString();
}
}
}
#endregion
param.Add(bom.Ugr.Cells["Bom"].Value.ToString());
param.Add(bom.Ugr.Cells["EInMaterialNo"].Value.ToString());
param.Add(bom.Ugr.Cells["EInMaterialDesc"].Value.ToString());
param.Add(bom.Ugr.Cells["Dimater"].Value.ToString());
param.Add(bom.Ugr.Cells["Height"].Value.ToString());
param.Add(ugr.Cells["HEIGHT_NK_MIN"].Value.ToString());
param.Add(ugr.Cells["HEIGHT_NK_MAX"].Value.ToString());
param.Add(ugr.Cells["AIMWALLTHICK_ZG"].Value.ToString());
param.Add(bom.Ugr.Cells["DPline"].Value.ToString());
param.Add(ugr.Cells["GROUP_ROLL"].Value.ToString());
param.Add(bom.GradeAll);
param.Add(bom.Ugr.Cells["Gradecode"].Value.ToString());
param.Add(ugr.Cells["STUFF_PROPERTY"].Value.ToString());
param.Add(ugr.Cells["ORD_LN_DLY_PK"].Value.ToString());
ServerHelper.SetData("com.steering.pss.plan.order.CoreOrderDesignBom.setSaleOrderBom",
new object[] { param }, this.ob);
}
}
///
/// 制程更改后的信息
///
private void saveIndexChange(UltraGridRow ugr)
{
ArrayList param = new ArrayList();
param.Add(ugr.Cells["INDEX_SEQ"].Value.ToString());
param.Add(ugr.Cells["BOM"].Value.ToString());
param.Add(ugr.Cells["GROUP_JGX"].Value.ToString());
param.Add(ugr.Cells["GROUP_RCL"].Value.ToString());
param.Add(ugr.Cells["BJ_TYPE"].Value.ToString());
param.Add(ugr.Cells["ENDGXNAME"].Value.ToString());
param.Add(ugr.Cells["PROCESS_SEQ"].Value.ToString());
param.Add(ugr.Cells["PRODUCE_SORT"].Value.ToString());
param.Add(ugr.Cells["E_IN_MATERIAL_NO"].Value.ToString());
param.Add(ugr.Cells["E_IN_MATERIAL_DESC"].Value.ToString());
param.Add(ugr.Cells["DIMATER_YLG"].Value.ToString());
param.Add(ugr.Cells["HEIGHT_YLG"].Value.ToString());
param.Add(ugr.Cells["HEIGHT_NK_MIN"].Value.ToString());
param.Add(ugr.Cells["HEIGHT_NK_MAX"].Value.ToString());
param.Add(ugr.Cells["AIMWALLTHICK_ZG"].Value.ToString());
param.Add(ugr.Cells["GROUP_ROLL_ALL"].Value.ToString());
param.Add(ugr.Cells["GROUP_ROLL"].Value.ToString());
param.Add(ugr.Cells["GRADECODE_ALL"].Value.ToString());
param.Add(ugr.Cells["GRADECODE"].Value.ToString());
param.Add(ugr.Cells["STUFF_PROPERTY"].Value.ToString());
param.Add(ugr.Cells["MONITORDEMAND"].Value.ToString()); //监制要求
#region 各工序信息确认
if (ugr.Cells["PROCESS_SEQ"].Value.ToString().Contains("D"))
{
//判断是否经过轧管工序
param.Add("0");
ugr.Cells["D_IS_OK"].Value = "否";
}
else
{
param.Add("2");
ugr.Cells["D_IS_OK"].Value = "/";
}
if (ugr.Cells["PROCESS_SEQ"].Value.ToString().Contains("E"))
{
//判断是否经过镦拔扩工序
param.Add("0");
ugr.Cells["E_IS_OK"].Value = "否";
}
else
{
param.Add("2");
ugr.Cells["E_IS_OK"].Value = "/";
}
if (ugr.Cells["PROCESS_SEQ"].Value.ToString().Contains("F"))
{
//判断是否经过热处理工序
param.Add("0");
ugr.Cells["F_IS_OK"].Value = "否";
}
else
{
param.Add("2");
ugr.Cells["F_IS_OK"].Value = "/";
}
if (ugr.Cells["PROCESS_SEQ"].Value.ToString().Contains("G"))
{
//判断是否经过管加工工序
param.Add("0");
ugr.Cells["G_IS_OK"].Value = "否";
}
else
{
param.Add("2");
ugr.Cells["G_IS_OK"].Value = "/";
}
ugr.Cells["GRADECODE_IS_OK"].Value = "否";
#endregion
param.Add(ugr.Cells["ORD_LN_DLY_PK"].Value.ToString());
ServerHelper.SetData("com.steering.pss.plan.order.CoreOrderDesignBom.setBomChanged",
new object[] { param }, this.ob);
}
///
/// 生产分类
///
/// 末工序代码
/// 销售分类
/// 加工二级工序
///
private string produceSort(string endCode, string prdcls, string gprocessC,string fprocessC)
{
string produceSort = "";
if (endCode.CompareTo("D") < 0)
{
produceSort = "商品坯";
}
else if (prdcls.Equals("405004") || prdcls.Equals("接箍短节"))
{
produceSort = "接箍短节";
}
else if (gprocessC.Equals("B020"))
{
produceSort = "加工油套管";
}
else if (endCode.Equals("D"))
{
produceSort = "热轧成品";
}
else if (endCode.Equals("F") && fprocessC.Equals("B024"))
{
produceSort = "热轧成品";
}
else
{
produceSort = "加工光管";
}
return produceSort;
}
///
/// 判断坯料属性
///
/// 轧管投入物料码
/// 坯料属性
private string stuffProperty(string DinMaterialno)
{
string stuffpro = "";
if (!DinMaterialno.Equals("") && DinMaterialno.Length > 2)
{
switch (DinMaterialno.Substring(0, 2))
{
case "PA":
stuffpro = "连铸坯";
break;
case "PB":
stuffpro = "锻坯";
break;
case "PC":
stuffpro = "轧坯";
break;
}
}
return stuffpro;
}
///
/// 判断管属性
///
/// 成品物料码
/// 管属性
private string pipeProperty(string materialno)
{
string property = "";
if (materialno != "" && materialno.Length > 2)
{
switch (materialno.Substring(0, 2))
{
case "AW":
property = "热轧无缝成品管";
break;
case "AR":
property = "热扩无缝成品管";
break;
case "AL":
property = "冷拔无缝成品管";
break;
case "AH":
property = "焊缝成品管";
break;
case "AE":
property = "接箍/短接/附件";
break;
case "AP":
property = "商品坯";
break;
}
}
return property;
}
///
/// 备料列数据变化时变化
///
///
///
private void ultraGrid3_AfterCellUpdate(object sender, CellEventArgs e)
{
#region 短节备料需求量、利库量填写时计算
if (e.Cell.Column.Key == "JGBL_REQ_WEIGHT" && e.Cell.Row.Cells["JGBL_REQ_WEIGHT"].DataChanged)
{
double jgbl_req_weight = 0;
int jgbl_req_num = 0;
e.Cell.Row.Update();
if (double.TryParse(e.Cell.Row.Cells["JGBL_REQ_WEIGHT"].Value.ToString(), out jgbl_req_weight))
{
double singleweight = Convert.ToDouble(e.Cell.Row.Cells["SINGLEWEIGHT"].Value);
if ((jgbl_req_weight % singleweight) == 0)
{
jgbl_req_num = (int)(jgbl_req_weight / singleweight);
}
else
{
jgbl_req_num = (int)(jgbl_req_weight / singleweight) + 1;
}
}
else
{
e.Cell.Row.Cells["JGBL_REQ_WEIGHT"].Value = "0";
}
e.Cell.Row.Cells["JGBL_REQ_NUM"].Value = jgbl_req_num.ToString();
e.Cell.Row.Update();
}
if (e.Cell.Column.Key == "MATCHWEIGHT" && e.Cell.Row.Cells["MATCHWEIGHT"].DataChanged)
{
double jgbl_req_weight = 0;
int jgbl_req_num = 0;
e.Cell.Row.Update();
if (double.TryParse(e.Cell.Row.Cells["MATCHWEIGHT"].Value.ToString(), out jgbl_req_weight))
{
double singleweight = Convert.ToDouble(e.Cell.Row.Cells["SINGLEWEIGHT"].Value);
if ((jgbl_req_weight % singleweight) == 0)
{
jgbl_req_num = (int)(jgbl_req_weight / singleweight);
}
else
{
jgbl_req_num = (int)(jgbl_req_weight / singleweight) + 1;
}
}
else
{
e.Cell.Row.Cells["MATCHWEIGHT"].Value = "0";
}
e.Cell.Row.Cells["MATCHNUM"].Value = jgbl_req_num.ToString();
e.Cell.Row.Update();
}
#endregion
}
///
/// 接箍合同填写利库量
///
///
///
private void ultraGrid5_AfterCellUpdate(object sender, CellEventArgs e)
{
if (e.Cell.Column.Key == "MATCHNUM" && e.Cell.Row.Cells["MATCHNUM"].DataChanged)
{
int matchnum = 0;
double singleweight = Convert.ToDouble(e.Cell.Row.Cells["SINGLEWEIGHT"].Value);//箍单重(kg)
if (int.TryParse(e.Cell.Row.Cells["MATCHNUM"].Value.ToString(), out matchnum))
{
e.Cell.Row.Cells["MATCHWEIGHT"].Value = (matchnum * singleweight / 1000).ToString();
}
else
{
e.Cell.Row.Cells["MATCHNUM"].Value = "0";
}
e.Cell.Row.Update();
}
}
///
/// 输入要做备料需求的接箍个数
///
///
///
private void ultraGrid7_AfterCellUpdate(object sender, CellEventArgs e)
{
if (e.Cell.Column.Key == "NUM_JG")
{
if (e.Cell.Row.Cells["NUM_JG"].DataChanged &&
Convert.ToBoolean(e.Cell.Row.Cells["CHECK"].Text))
{
computJglLen(e.Cell.Row);
e.Cell.Row.Update();
}
}
if (e.Cell.Column.Key.Equals("SINGLE_ADDLEN"))
{
double addlen = 0;
if (!double.TryParse(e.Cell.Row.Cells["SINGLE_ADDLEN"].Value.ToString(),out addlen))
{
e.Cell.Row.Cells["SINGLE_ADDLEN"].Value=0;
}
}
}
///
/// 根据接箍个数,算接箍料长度,重量
///
///
private void computJglLen(UltraGridRow uRow)
{
int Num_Jg = 0;
if (int.TryParse(uRow.Cells["NUM_JG"].Value.ToString(), out Num_Jg))
{
//接箍料长度=接箍个数*(接箍长度+单个接箍切损长度)
double jgbl_sumlenth = Num_Jg * (Convert.ToDouble(uRow.Cells["AIMLENGTH"].Value)
+ Convert.ToDouble(uRow.Cells["SINGLE_ADDLEN"].Value)) / 1000;
double singleweight_jg = Convert.ToDouble(uRow.Cells["SINGLEWEIGHT_JG"].Value);//接箍单重(kg)
//接箍料目标长度取长度上下限中间值
double JglAimlenth = (Convert.ToDouble(uRow.Cells["MIN_L"].Value)
+ Convert.ToDouble(uRow.Cells["MAX_L"].Value)) / 2;
int numJgl = 0; //接箍料支数
double weight_jg = singleweight_jg * Num_Jg / 1000;//接箍重量
double min_d = Convert.ToDouble(uRow.Cells["MIN_D"].Value); //备料外径
double min_h = Convert.ToDouble(uRow.Cells["MIN_H"].Value); //备料壁厚
double Weight_One = PlanComm.WeightOfMi(min_d, min_h); //接箍料米单重
if ((jgbl_sumlenth % JglAimlenth) == 0)
{
numJgl = (int)(jgbl_sumlenth / JglAimlenth);
}
else
{
numJgl = (int)(jgbl_sumlenth / JglAimlenth) + 1;
}
uRow.Cells["NUM_JGBL"].Value = numJgl;
uRow.Cells["JGBL_SUMLENTH"].Value = Math.Round(jgbl_sumlenth,2);
uRow.Cells["WEIGHT_JG"].Value = Math.Round(weight_jg,3);
uRow.Cells["JGBL_REQ_WEIGHT"].Value = Math.Round(Weight_One * jgbl_sumlenth,3);
}
else
{
uRow.Cells["NUM_JG"].Value = 0;
}
}
///
/// 选择接箍合同备料
///
///
///
private void ultraGrid7_CellChange(object sender, CellEventArgs e)
{
if (e.Cell.Column.Key == "CHECK")
{
setJgleditNum(e.Cell.Row);
}
}
///
/// 接箍料编辑表勾选时的操作
///
/// 勾选行
private void setJgleditNum(UltraGridRow cRow)
{
if (Convert.ToBoolean(cRow.Cells["CHECK"].Text))
{
ultraGrid7.UpdateData();
IQueryable listRow = ultraGrid7.Rows.AsQueryable().Where(" CHECK = 'True'");
listRow = listRow.Where(" JG_ORDERNO = '"
+ cRow.Cells["JG_ORDERNO"].Value.ToString() + "'");
listRow = listRow.Where(" CODE_JG_BL != '"
+ cRow.Cells["CODE_JG_BL"].Value.ToString() + "'");
foreach (UltraGridRow uRow in listRow.ToArray())
{
uRow.Cells["CHECK"].Value = false;
uRow.Cells["NUM_JG"].Activation = Activation.ActivateOnly;
uRow.Cells["NUM_JG"].Value = "";
uRow.Cells["WEIGHT_JG"].Value = "";
uRow.Cells["NUM_JGBL"].Value = "";
uRow.Cells["JGBL_SUMLENTH"].Value = "";
uRow.Cells["JGBL_REQ_WEIGHT"].Value = "";
}
ultraGrid5.UpdateData();
listRow = ultraGrid5.Rows.AsQueryable().Where(" JG_ORDERNO = '" + cRow.Cells["JG_ORDERNO"].Value.ToString() + "'");
foreach (UltraGridRow uRow in listRow.ToArray())
{
int num_jg = Convert.ToInt32(uRow.Cells["ORDERNUM"].Value) -
Convert.ToInt32(uRow.Cells["MATCHNUM"].Value) -
Convert.ToInt32(uRow.Cells["JGWT_BLREQ"].Value);
cRow.Cells["NUM_JG"].Value = num_jg;
break;
}
cRow.Cells["NUM_JG"].Activation = Activation.AllowEdit;
cRow.Update();
}
if (!Convert.ToBoolean(cRow.Cells["CHECK"].Text))
{
cRow.Cells["NUM_JG"].Activation = Activation.ActivateOnly;
cRow.Cells["NUM_JG"].Value = "";
cRow.Cells["WEIGHT_JG"].Value = "";
cRow.Cells["NUM_JGBL"].Value = "";
cRow.Cells["JGBL_SUMLENTH"].Value = "";
cRow.Cells["JGBL_REQ_WEIGHT"].Value = "";
cRow.Update();
}
ultraGrid7.UpdateData();
ultraGrid5.UpdateData();
}
private void FrmSaleOrderOP_Shown(object sender, EventArgs e)
{
if (this.CustomInfo.ToString().Trim().Equals("@CRAFTFILE"))
{
setTab2Appearance(DefaultableBoolean.False);
setTab1Appearance(DefaultableBoolean.False);
if (toolMenu.Toolbars[0].Tools.Exists("RefresDate"))
{
toolMenu.Toolbars[0].Tools["RefresDate"].InstanceProps.Visible = DefaultableBoolean.False;
}
}
else
{
setTab2Appearance(DefaultableBoolean.False);
setTab3Appearance(DefaultableBoolean.False);
}
}
private void ultraGrid7_BeforeRowActivate(object sender, RowEventArgs e)
{
foreach (UltraGridRow uRow in ultraGrid7.Rows)
{
uRow.Appearance.BackColor = System.Drawing.Color.White;
}
foreach (UltraGridRow uRow in ultraGrid7.Rows)
{
if (uRow.Cells["CODE_JG_BL"].Value.Equals(e.Row.Cells["CODE_JG_BL"].Value))
{
uRow.Appearance.BackColor = System.Drawing.Color.PaleGreen;
}
}
}
///
/// 选择tab页面时,菜单变化
///
///
///
private void ultraTabControl1_SelectedTabChanged(object sender,
Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
{
if (toolMenu != null)
{
if (e.Tab.TabPage == ultraTabPageOrder)
{
setTab1Appearance(DefaultableBoolean.True);
setTab2Appearance(DefaultableBoolean.False);
setTab3Appearance(DefaultableBoolean.False);
if (toolMenu.Toolbars[0].Tools.Exists("RefresDate"))
{
toolMenu.Toolbars[0].Tools["RefresDate"].InstanceProps.Visible = DefaultableBoolean.True;
}
}
if (e.Tab.TabPage == ultraTabPageJgdeal)
{
setTab1Appearance(DefaultableBoolean.False);
setTab2Appearance(DefaultableBoolean.True);
setTab3Appearance(DefaultableBoolean.False);
if (toolMenu.Toolbars[0].Tools.Exists("RefresDate"))
{
toolMenu.Toolbars[0].Tools["RefresDate"].InstanceProps.Visible = DefaultableBoolean.True;
}
}
if (e.Tab.TabPage == ultraTabPageIssued)
{
setTab1Appearance(DefaultableBoolean.False);
setTab2Appearance(DefaultableBoolean.False);
setTab3Appearance(DefaultableBoolean.True);
if (toolMenu.Toolbars[0].Tools.Exists("RefresDate"))
{
toolMenu.Toolbars[0].Tools["RefresDate"].InstanceProps.Visible = DefaultableBoolean.False;
}
}
}
}
private void setTab1Appearance(DefaultableBoolean appearance)
{
#region tab1显示或隐藏
if (toolMenu.Toolbars[0].Tools.Exists("Query"))
{
toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("Pretreat"))
{
toolMenu.Toolbars[0].Tools["Pretreat"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("CancelPre"))
{
toolMenu.Toolbars[0].Tools["CancelPre"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("ProcessJG"))
{
toolMenu.Toolbars[0].Tools["ProcessJG"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("CancelJg"))
{
toolMenu.Toolbars[0].Tools["CancelJg"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("ProcessDj"))
{
toolMenu.Toolbars[0].Tools["ProcessDj"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("CancelDj"))
{
toolMenu.Toolbars[0].Tools["CancelDj"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("OrderSaleIssued"))
{
toolMenu.Toolbars[0].Tools["OrderSaleIssued"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("CancelSaleIssued"))
{
toolMenu.Toolbars[0].Tools["CancelSaleIssued"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("ConfirmZg"))
{
toolMenu.Toolbars[0].Tools["ConfirmZg"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("ConfirmBj"))
{
toolMenu.Toolbars[0].Tools["ConfirmBj"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("ConfirmRcl"))
{
toolMenu.Toolbars[0].Tools["ConfirmRcl"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("ConfirmGjg"))
{
toolMenu.Toolbars[0].Tools["ConfirmGjg"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("ModifyBom"))
{
toolMenu.Toolbars[0].Tools["ModifyBom"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("ConfirmGrade"))
{
toolMenu.Toolbars[0].Tools["ConfirmGrade"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("FinishJk"))
{
toolMenu.Toolbars[0].Tools["FinishJk"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("FinishSc"))
{
toolMenu.Toolbars[0].Tools["FinishSc"].InstanceProps.Visible = appearance;
}
#endregion
}
private void setTab2Appearance(DefaultableBoolean appearance)
{
#region tab2显示或隐藏
if (toolMenu.Toolbars[0].Tools.Exists("QueryJgl"))
{
toolMenu.Toolbars[0].Tools["QueryJgl"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("SaveJg"))
{
toolMenu.Toolbars[0].Tools["SaveJg"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("Plait"))
{
toolMenu.Toolbars[0].Tools["Plait"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("AddPlait"))
{
toolMenu.Toolbars[0].Tools["AddPlait"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
{
toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("DeleteOne"))
{
toolMenu.Toolbars[0].Tools["DeleteOne"].InstanceProps.Visible = appearance;
}
#endregion
}
private void setTab3Appearance(DefaultableBoolean appearance)
{
#region tab3显示或隐藏
if (toolMenu.Toolbars[0].Tools.Exists("QueryIssued"))
{
toolMenu.Toolbars[0].Tools["QueryIssued"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("ExportSale"))
{
toolMenu.Toolbars[0].Tools["ExportSale"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("Import"))
{
toolMenu.Toolbars[0].Tools["Import"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("TechOrderLineSqe"))
{
toolMenu.Toolbars[0].Tools["TechOrderLineSqe"].InstanceProps.Visible = appearance;
}
if (toolMenu.Toolbars[0].Tools.Exists("TechOrderLine"))
{
toolMenu.Toolbars[0].Tools["TechOrderLine"].InstanceProps.Visible = appearance;
}
#endregion
}
private void checkBoxForReqORDER_NO_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxForReqORDER_NO.Checked)
{
ctrlForQueryORDER_NO.Enabled = true;
}
else
{
ctrlForQueryORDER_NO.Enabled = false;
}
}
private void checkBoxForReqPORDERSTATUS_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxForReqPORDERSTATUS.Checked)
{
ctrlForQueryPORDERSTATUS.Enabled = true;
}
else
{
ctrlForQueryPORDERSTATUS.Enabled = false;
}
}
///
/// 选择备料组
///
///
///
private void ultraGrid1_ClickCellButton(object sender, CellEventArgs e)
{
if (e.Cell.Column.Key.Equals("BL_GROUP_NUM")
&& (e.Cell.Row.Cells["PORDERSTATUS"].Value.ToString().Equals("待接收")
|| e.Cell.Row.Cells["PORDERSTATUS"].Value.ToString().Equals("已接收")))
{
//选择短节备料组
FrmGroupofDjBl ChooseGroup = new FrmGroupofDjBl(this.ob);
int orderNum = 0;
int.TryParse(e.Cell.Row.Cells["PLAN_NUM"].Value.ToString(), out orderNum);
ChooseGroup.Desgin_key = e.Cell.Row.Cells["DESGIN_KEY"].Value.ToString();
ChooseGroup.Group_num = e.Cell.Row.Cells["BL_GROUP_NUM"].Value.ToString();
ChooseGroup.Plan_num = e.Cell.Row.Cells["PLAN_NUM"].Value.ToString();
ChooseGroup.Order_no = e.Cell.Row.Cells["ORDER_NO"].Value.ToString();
ChooseGroup.Order_seq = e.Cell.Row.Cells["ORDER_SEQ"].Value.ToString();
ChooseGroup.Delivery_no = e.Cell.Row.Cells["DELIVERY_NO"].Value.ToString();
ChooseGroup.Lengthdisc = e.Cell.Row.Cells["LENGTHDISC"].Value.ToString();
ChooseGroup.LengthMax = Convert.ToDouble(e.Cell.Row.Cells["LENGTHMAX"].Value);
ChooseGroup.OrderNum = orderNum;
ChooseGroup.Outdiameter = e.Cell.Row.Cells["OUTDIAMETER"].Value.ToString();
ChooseGroup.Wallthick = e.Cell.Row.Cells["WALLTHICK"].Value.ToString();
ChooseGroup.Steelcode = e.Cell.Row.Cells["STEELCODE"].Value.ToString();
ChooseGroup.Steelname = e.Cell.Row.Cells["STEELNAME"].Value.ToString();
ChooseGroup.ShowDialog();
//判断是否需要更新合同备料组
if (!e.Cell.Row.Cells["BL_GROUP_NUM"].Value.ToString().Equals(ChooseGroup.Group_num))
{
try
{
ArrayList parms = new ArrayList();
e.Cell.Row.Cells["BL_GROUP_NUM"].Value = ChooseGroup.Group_num;
parms.Add(e.Cell.Row.Cells["BL_GROUP_NUM"].Value.ToString());
parms.Add(e.Cell.Row.Cells["ORD_PK"].Value.ToString());
parms.Add(e.Cell.Row.Cells["ORD_LN_PK"].Value.ToString());
parms.Add(e.Cell.Row.Cells["ORD_LN_DLY_PK"].Value.ToString());
ServerHelper.SetData("com.steering.pss.plan.order.CoreSaleOrderOP.updateDjBlGroup", new object[] { parms }, this.ob);
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
}
if (ChooseGroup.IsCreatOk)
{
doQuery(GetQueryCondition());
}
}
//查看合同附加要求描述图片
if (e.Cell.Column.Key.Equals("ORDER_ADD_DESC"))
{
try
{
ArrayList listPIC = new ArrayList();
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryAddAsk",
new object[] { e.Cell.Row.Cells["ADD_ASK_NO"].Value.ToString() }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
listPIC.Add(dr["PIC"].ToString());
}
}
dlgOrderAskLook orderAsk = new dlgOrderAskLook(this.ob, listPIC);
orderAsk.ShowDialog();
}
catch (Exception ex)
{
if (ex is MESException)
{
MessageBox.Show(((MESException)ex).ExceptionInfo);
}
else
{
MessageBox.Show(ex.Message);
}
}
}
}
private void checkBoxAcceptNo_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxAcceptNo.Checked)
{
ultraTextEditorAcceptNo.Enabled = true;
}
else
{
ultraTextEditorAcceptNo.Enabled = false;
}
}
private void checkBoxDELVRY_EDATEexport_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxDELVRY_EDATEexport.Checked)
{
ultraDateTimeDELVRY_EDATEFrom.Enabled = true;
ultraDateTimeDELVRY_EDATETo.Enabled = true;
}
else
{
ultraDateTimeDELVRY_EDATEFrom.Enabled = false;
ultraDateTimeDELVRY_EDATETo.Enabled = false;
}
}
private void checkBoxORDER_NOexpor_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxORDER_NOexpor.Checked)
{
ultraTextORDER_NO.Enabled = true;
}
else
{
ultraTextORDER_NO.Enabled = false;
}
}
private void checkBoxGroupTypeexpor_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxGroupTypeexpor.Checked)
{
ultraComboGroupType.Enabled = true;
}
else
{
ultraComboGroupType.Enabled = false;
}
}
private void checkBoxAcceptNoexport_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxAcceptNoexport.Checked)
{
ultraTextAcceptNo.Enabled = true;
}
else
{
ultraTextAcceptNo.Enabled = false;
}
}
private void ultraDateTimeDELVRY_EDATEFrom_ValueChanged(object sender, EventArgs e)
{
ultraDateTimeDELVRY_EDATETo.MinDate = ultraDateTimeDELVRY_EDATEFrom.DateTime.Date;
}
private void ultraDateTimeDELVRY_EDATETo_ValueChanged(object sender, EventArgs e)
{
ultraDateTimeDELVRY_EDATEFrom.MaxDate = ultraDateTimeDELVRY_EDATETo.DateTime.AddDays(1).Date.AddSeconds(-1);
}
private void ultraGrid7_DoubleClickRow(object sender, DoubleClickRowEventArgs e)
{
ultraGrid5.UpdateData();
ultraGrid7.UpdateData();
IQueryable listRow = ultraGrid7.Rows.AsQueryable().Where(" CODE_JG_BL = '"
+ e.Row.Cells["CODE_JG_BL"].Value.ToString() + "'");
foreach (UltraGridRow uRow in listRow.ToArray())
{
uRow.Cells["CHECK"].Value = true;
IQueryable rows = ultraGrid5.Rows.AsQueryable().Where(" JG_ORDERNO = '"
+ uRow.Cells["JG_ORDERNO"].Value.ToString() + "'");
uRow.Cells["NUM_JG"].Activation = Activation.AllowEdit;
foreach (UltraGridRow cRow in rows)
{
int num_jg = Convert.ToInt32(cRow.Cells["ORDERNUM"].Value) -
Convert.ToInt32(cRow.Cells["MATCHNUM"].Value) -
Convert.ToInt32(cRow.Cells["JGWT_BLREQ"].Value);
uRow.Cells["NUM_JG"].Value = num_jg;
break;
}
}
listRow = ultraGrid7.Rows.AsQueryable().Where(" CODE_JG_BL != '"
+ e.Row.Cells["CODE_JG_BL"].Value.ToString() + "'");
foreach (UltraGridRow uRow in listRow.ToArray())
{
uRow.Cells["CHECK"].Value = false;
uRow.Cells["NUM_JG"].Activation = Activation.ActivateOnly;
uRow.Cells["NUM_JG"].Value = "";
uRow.Cells["WEIGHT_JG"].Value = "";
uRow.Cells["NUM_JGBL"].Value = "";
uRow.Cells["JGBL_SUMLENTH"].Value = "";
uRow.Cells["JGBL_REQ_WEIGHT"].Value = "";
}
ultraGrid5.UpdateData();
ultraGrid7.UpdateData();
}
private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e)
{
if (_groupBox2ExpandedChanged == false)
{
_splitterDistance = splitContainer1.SplitterDistance;
if (splitContainer1.SplitterDistance >= 1)
{
ultraExpandableGroupBox2.Expanded = true;
}
}
if (splitContainer1.Panel2Collapsed)
{
ultraExpandableGroupBox2.Visible = false;
}
}
private void ultraExpandableGroupBox2_ExpandedStateChanged(object sender, EventArgs e)
{
_groupBox2ExpandedChanged = true;
if (ultraExpandableGroupBox2.Expanded == false)
{
splitContainer1.SplitterDistance = this.Width;
}
else
{
splitContainer1.SplitterDistance = _splitterDistance;
}
_groupBox2ExpandedChanged = false;
}
private void ultraGrid1_CellDataError(object sender, CellDataErrorEventArgs e)
{
e.RaiseErrorEvent = false;
}
private void ultraGrid5_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow ugr = ultraGrid5.ActiveRow;
if (ugr == null)
{
return;
}
foreach (UltraGridRow uRow in ultraGrid7.Rows)
{
if (uRow.Cells["JG_ORDERNO"].Value.ToString().Equals(
ugr.Cells["JG_ORDERNO"].Value.ToString()))
{
ultraGrid7.ActiveRow = uRow;
uRow.Appearance.ForeColor = System.Drawing.Color.DarkBlue;
}
else
{
uRow.Appearance.ForeColor = System.Drawing.Color.Black;
}
}
}
///
/// 生产分类月排产查询
///
///
///
private void ultraButtonRcl_Click(object sender, EventArgs e)
{
FrmReqRollMonth outPut = new FrmReqRollMonth();
outPut.ShowDialog();
}
private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
try
{
for (int i = 0; i < ultraGrid1.Selected.Rows.Count; i++)
{
if (ultraGrid1.Selected.Rows[i].GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
ultraGrid1.Selected.Rows[i].Cells["CHECK"].Value = true;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "出错");
}
}
private void ultraGrid7_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGrid7.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHECK"].Value = true;
setJgleditNum(uRow);
}
}
}
private void ultraGrid6_CellChange(object sender, CellEventArgs e)
{
if (e.Cell.Column.Key.Equals("BJ_TYPE"))
{
if (e.Cell.Row.Cells["BJ_TYPE"].Value.ToString().Equals("")
|| e.Cell.Row.Cells["BJ_TYPE"].Value.ToString().Equals("/"))
{
e.Cell.Row.Cells["DIMATER_YLG"].Value = "";
e.Cell.Row.Cells["DIMATER_YLG"].ValueList = null;
e.Cell.Row.Cells["HEIGHT_YLG"].Value = "";
e.Cell.Row.Cells["HEIGHT_YLG"].ValueList = null;
}
else
{
ArrayList param = new ArrayList();
param.Add(e.Cell.Row.Cells["BJ_TYPE"].Value.ToString());
param.Add(e.Cell.Row.Cells["OUTDIAMETER"].Value.ToString());
param.Add(e.Cell.Row.Cells["WALLTHICK"].Value.ToString());
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryRollRupset",
new object[] { param }, this.ob);
e.Cell.Row.Cells["DIMATER_YLG"].ValueList = PlanComm.GeneralValuelist(ref dt, "MIN_D", "MIN_D");
e.Cell.Row.Cells["HEIGHT_YLG"].ValueList = PlanComm.GeneralValuelist(ref dt, "MIN_H", "MIN_H");
if (dt != null && dt.Rows.Count > 0)
{
if (e.Cell.Row.Cells["DIMATER_YLG"].Value.ToString().Equals(""))
{
e.Cell.Row.Cells["DIMATER_YLG"].Value = dt.Rows[0]["MIN_D"].ToString();
}
if (e.Cell.Row.Cells["HEIGHT_YLG"].Value.ToString().Equals(""))
{
e.Cell.Row.Cells["HEIGHT_YLG"].Value = dt.Rows[0]["MIN_H"].ToString();
}
}
}
}
}
private void ultraGrid6_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow ugr = ultraGrid6.ActiveRow;
if (ugr == null)
{
return;
}
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.order.CoreSaleOrderOP.queryRelation",
new object[] { ugr.Cells["REQ_BL_ID"].Value.ToString() }, this.ob);
GridHelper.CopyDataToDatatable(dt, dataTable4, true);
}
private void ultraGrid3_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGrid3.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHECK"].Value = true;
}
}
}
private void ultraGrid2_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGrid2.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHECK"].Value = true;
}
}
}
private void ultraGrid6_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGrid6.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHECK"].Value = true;
}
}
}
private void ultraGrid5_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
{
foreach (UltraGridRow uRow in ultraGrid5.Selected.Rows)
{
if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow))
{
uRow.Cells["CHECK"].Value = true;
}
}
}
private void checkBoxRollMonth_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxRollMonth.Checked == false)
{
ultraDateTimeRollMonth.Enabled = false;
}
else
{
ultraDateTimeRollMonth.Enabled = true;
}
}
///
/// 等待窗口
///
private void WaitFromOpen()
{
this.Cursor = Cursors.WaitCursor; //控制鼠标的样式为等待
if (Constant.WaitingForm == null)
{
Constant.WaitingForm = new WaitingForm();
}
Constant.WaitingForm.ShowToUser = true;
Constant.WaitingForm.Show();
Constant.WaitingForm.Update();
}
///
/// 关闭等待
///
private void WaitFromColse()
{
this.Cursor = Cursors.Default;
Constant.WaitingForm.ShowToUser = false;
Constant.WaitingForm.Close();
Constant.WaitingForm = null;
}
private void TechOrderLineSqe()
{
UltraGridRow ugr = ultraGrid8.ActiveRow;
if (ugr == null)
{
return;
}
string url = "http://172.16.2.130:8085/WebReport/ReportServer?reportlet=RepTechOrderLineSqe.cpt&op=view"
+ "&lnpk=" + ugr.Cells["ORD_LN_DLY_PK"].Value.ToString();
FrmOutExcel outPut = new FrmOutExcel(url);
outPut.ShowDialog();
}
private void TechOrderLine()
{
UltraGridRow ugr = ultraGrid8.ActiveRow;
if (ugr == null)
{
return;
}
string url = "http://172.16.2.130:8085/WebReport/ReportServer?reportlet=RepTechOrderLine.cpt&op=view"
+ "&lnpk=" + ugr.Cells["ORD_LN_PK"].Value.ToString();
FrmOutExcel outPut = new FrmOutExcel(url);
outPut.ShowDialog();
}
private void ultraGrid1_KeyUp(object sender, KeyEventArgs e)
{
PlanComm.setGridCopyActColumn(ultraGrid1, e, "PRIORITY",
"OUTS_BILLET_FL", "ROLL_MONTH", "GROUP_RCL", "GROUP_JGX");
}
private void checkBoxAcpStatus_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxAcpStatus.Checked)
{
this.ultraComboEditAcpStatus.Enabled = true;
}
else
{
this.ultraComboEditAcpStatus.Enabled = false;
}
}
}
}