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 CoreFS.CA06;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Control;
using com.steering.mes.zgmil.entity;
using Infragistics.Win.UltraWinGrid;
using Core.Mes.Client.Comm.Tool;
using Core.StlMes.Client.ZGMil.NodeResultQuery;
using Core.StlMes.Client.ZGMil.Entity;
using System.Collections;
using System.Net;
using Core.StlMes.Client.ZGMil.ResultConrtrol;
using Infragistics.Win;
using Core.StlMes.Client.ZGMil.Common;
using Core.StlMes.Client.ZGMil.Popup;
using CoreFS.SA06;
namespace Core.StlMes.Client.ZGMil.Result
{
public partial class FrmPipeSawResult : FrmBase
{
#region 初始化
MilPlan QueryMainPlan = new MilPlan();
MilPlan MainPlan = new MilPlan();
MilSawResultEntity milSawResultEntity = new MilSawResultEntity();
MilSawResultDeatilEntity milSawResultDeatilEntity = new MilSawResultDeatilEntity();
private string ActiveJUDGE_STOVE_NO = null;//主计划活动行的判定炉号
private string proPlanId = null;//轧管订单编号
private string gxPlanNo = null;//工序排产序号
private string lotNo = null;//生产批号
private string ActiveStatus = null;//主计划活动行的状态
private string ActiveResultNo = null;
public int userRoom = 0; // 1-1#台 2-2#台
private string Departm = "";//部门
private string PlineCode = "";//产线
private string TestMethod = "";
string PlanStatusQuery = "69";
string PlanStartStatusQuery = "00"; //查询结炉实绩起始状态
private string Shift = "";
private string Group = "";
private string _User = "";
private string _UserName = ""; //签名 姓名
private string _Url = ""; //签名 Url
private string _UserID = ""; //签名 签名ID
private string ChangeUserID = "";
/////
///// 锯切刀数存储结构体
/////
//public struct SawCount
//{
// public int CutHead;
// public int CutTrail;
// public int CutOrder;
//}
//SawCount sawCount1 = new SawCount();
//SawCount sawCount2 = new SawCount();
int RowNum = 0; //设置默认排支数
int Flag = 0;
int tempROW_NO1 = 0;//1#台排号
int tempROW_NO2 = 0;//2#台排号
int SAW_NUM = 0;//分切数
public FrmPipeSawResult()
{
//FrmUserRomm fmuserromm = new FrmUserRomm();
//fmuserromm.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
//fmuserromm.ShowDialog();
//if (fmuserromm.UserRomm == null)
//{
// this.Dispose();
// this.Close();
//}
//else
//{
// userRoom = Int16.Parse(fmuserromm.UserRomm.Substring(2, 1));
//}
InitializeComponent();
this.pipeSawResult1.UltraGrid2.ClickCellButton += new CellEventHandler(btnCUT_REV);
this.pipeSawResult1.UltraGrid2.CellChange += new CellEventHandler(CutTypeChange);
}
///
/// 初始化控件
///
public void InitControl()
{
if (chkLotNo.Checked)
{
txtLOT_NO.Enabled = true;
}
else
{
txtLOT_NO.Enabled = false;
}
if (chkHeatNo.Checked)
{
txtJudgeStoveNo.Enabled = true;
}
else
{
txtJudgeStoveNo.Enabled = false;
}
txtJudgeStoveNo.Enabled = false;
txtLOT_NO.Enabled = false;
}
///
/// LOAD事件
///
///
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
rollingInfomation1.UltraGrid4.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
rollingCard1.UltraGrid4.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
this.pipeSawResult1.UltraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
ultraGridPlan.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
ultraGridMatSeq.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
foreach (UltraGridColumn ugc in ultraGridPlan.DisplayLayout.Bands[0].Columns)
{
ugc.SortIndicator = SortIndicator.Disabled;
}
}
///
/// 页面开启事件
///
///
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
txtJudgeStoveNo.Enabled = false;
txtLOT_NO.Enabled = false;
string hostname = Dns.GetHostName();
IPAddress ip = Dns.GetHostByName(hostname).AddressList[0];
NativeMethodNew na = new NativeMethodNew(this.ob);
TestMethod = na.GetOperateResult(ip.ToString(), "1");
if (!TestMethod.Contains("管排锯"))
{
MessageBox.Show("提示:该电脑不是管排锯操作台电脑,不允许操作改界面。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.Dispose();
this.Close();
return;
}
Departm = UserInfo.GetDepartment();
PlineCode = na.GetPCode(Departm);//获取 用户 对应的产线
string plcode = na.GetOperateResult(ip.ToString(), "0");
if (!PlineCode.Equals(plcode.Trim()))
{
MessageBox.Show("提示:您的账号所属产线与配置不符。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.Dispose();
this.Close();
return;
}
if (PlineCode.Equals("C009") || PlineCode.Equals("C012") || PlineCode.Equals("C017") || PlineCode.Equals("C072"))
{
this.rollingCard1.ChangCard();
}
if (TestMethod.Contains("管排锯") && TestMethod.Contains("1"))
{
userRoom = 1;
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_NO1"].Value = "1#锯";
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_NO2"].Value = "2#锯";
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_NO_N1"].Value = "3#锯";
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_NO_N12"].Value = "4#锯";
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_NO_N2"].Value = "3#锯";
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_NO_N22"].Value = "4#锯";
}
if (TestMethod.Contains("管排锯") && TestMethod.Contains("2"))
{
userRoom = 2;
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_NO1"].Value = "3#锯";
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_NO2"].Value = "4#锯";
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_NO_N1"].Value = "1#锯";
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_NO_N12"].Value = "2#锯";
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_NO_N2"].Value = "1#锯";
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_NO_N22"].Value = "2#锯";
}
PlanQuery();
//foreach (UltraGridRow ugr in ultraGridPlan.Rows)
//{
// ugr.Cells["JUDGE_NO"].Value = BaseMethod.getJudgeStoveNo(ugr.Cells["JUDGE_STOVE_NO"].Value.ToString());
//}
Shift = UserInfo.GetUserOrder();
Group = UserInfo.GetUserGroup();
Sign();
ShowShift();
ValueList va = new ValueList();
va.ValueListItems.Add("被动切尾");
va.ValueListItems.Add("主动切尾");
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["CUT_TYPE"].ValueList = va;
}
#endregion
private void ShowShift()
{
colShowShiftGroup1.Ob = this.ob;
colShowShiftGroup1.Group = this.UserInfo.GetUserGroup();
colShowShiftGroup1.Shift = this.UserInfo.GetUserOrder();
colShowShiftGroup1.ShowShift();
colShowShiftGroup1.Timer1.Enabled = true;
}
#region 方法
///
/// 签名
///
private void Sign()
{
ColUserName col = new ColUserName();
col.StationId = "6";
col.PlineCode = PlineCode;
col.ColGroup = Group;
col.Ob = this.ob;
col.ShowDialog();
_UserID = col.getUserId();
_UserName = col.getUserName();
}
///
/// 刷新
///
public void ReFresh()
{
}
///
/// 判断是否能开始当前炉次
///
///
private bool IsStart()
{
bool Start = true;
foreach (UltraGridRow ugr in ultraGridPlan.Rows)
{
if (ugr.Cells["IS_START"].Value.ToString() == "已开始分切")
{
MessageBox.Show("炉号【" + ugr.Cells["JUDGE_STOVE_NO"].Value.ToString() + "】正在分切,不能两炉同时开始分切", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
Start = false; ;
}
}
return Start;
}
///
/// 更改颜色
///
public void ChangeGridColor()
{
foreach (UltraGridRow ugr in ultraGridPlan.Rows)
{
if (ugr.Cells["IS_START"].Value.ToString() == "已完成分切")
{
ugr.Appearance.BackColor = Color.YellowGreen;
}
}
foreach (UltraGridRow ugr in ultraGridMatSeq.Rows)
{
if (ugr != null)
{
if (ugr != null)
{
switch (ugr.Cells["STATUS"].Value.ToString())
{
case "切前剔除":
ugr.Appearance.BackColor = Color.Yellow;
break;
case "切后剔除":
ugr.Appearance.BackColor = Color.YellowGreen;
break;
}
switch (ugr.Cells["CHANGE_FLAG"].Value.ToString())
{
case "待接班确认":
ugr.Appearance.BackColor = Color.LightGreen;
break;
}
}
}
}
}
///
/// 查询管号队列
///
public void GetMatRack(string JudgeStoveNo)
{
dtMat.Clear();
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.getMatRackSeq", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref dtMat, true);
//ultraGridMatSeq.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
if (SAW_NUM > 0)
{
Infragistics.Win.ValueList list = new Infragistics.Win.ValueList();
for (int i = 1; i <= SAW_NUM; i++)
{
list.ValueListItems.Add(i);
}
ValueList va = new ValueList();
va.ValueListItems.Add("被动切尾");
va.ValueListItems.Add("主动切尾");
ValueList var = new ValueList();
var.ValueListItems.Add("工艺废");
var.ValueListItems.Add("设备废");
var.ValueListItems.Add("分切废");
var.ValueListItems.Add("弯曲");
var.ValueListItems.Add("来料短尺");
foreach (UltraGridRow ugr in ultraGridMatSeq.Rows)
{
ugr.Cells["SCRAP_DBNUM"].ValueList = list;
ugr.Cells["CUT_TYPE"].ValueList = va;
ugr.Cells["SCRAP_REASON"].ValueList = var;
//if (ugr.Cells["CHANGE_FLAG"].Value.ToString().Equals("正常"))
//{
ugr.Cells["ChangShift"].Value = "交班操作";
ugr.Cells["BTNCHANGECOM"].Value = "接班操作";
//}
//if (ugr.Cells["CHANGE_FLAG"].Value.ToString().Equals("交班点"))
//{
// ugr.Cells["ChangShift"].Value = "交班回退";
//}
//ugr.Cells["RowNoChang"].Value = "排号修改";
}
}
}
///
/// 查询流通卡信息
///
public void GetRollingCard()
{
UltraGridRow ugr = ultraGridPlan.ActiveRow;
if (ugr != null)
{
string JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
DataTable dt = new DataTable();
if (PlineCode.Equals("C009") || PlineCode.Equals("C012") || PlineCode.Equals("C017"))
{
dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getRollingCard1", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
}
else
{
dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getRollingCard", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
}
RollingCardEditGrid(dt, JudgeStoveNo);
}
}
///
/// 查询结炉实绩
///
public void NodeQuery()
{
string Shift = UserInfo.GetUserOrder();
string Group = UserInfo.GetUserGroup();
string PliceCode = PlineCode;
string StartTime = DateTime.Now.ToString("yyyy-MM-dd");
string EndTime = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd");
string Date = StartTime;
StartTime = StartTime + " 00:00:00";
EndTime = EndTime + " 00:00:00";
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetSingleNodeResult", new object[] { PliceCode, Shift, Group, StartTime, EndTime }, this.ob);
FrmNodeResultQuery frm = new FrmNodeResultQuery(dt, 9, Date, Shift, Group, this.ob);
frm.ShowDialog();
}
#endregion
#region 事件
///
/// checkbox点击事件
///
///
///
private void chkDate_CheckedChanged(object sender, EventArgs e)
{
if (chkLotNo.Checked)
{
txtLOT_NO.Enabled = true;
}
else
{
txtLOT_NO.Enabled = false;
}
if (chkHeatNo.Checked)
{
txtJudgeStoveNo.Enabled = true;
}
else
{
txtJudgeStoveNo.Enabled = false;
}
if (chkStatusQuery.Checked)
{
PlanStatusQuery = "99";
PlanStartStatusQuery = "70";
}
else
{
PlanStatusQuery = "69";
PlanStartStatusQuery = "00";
}
}
///
/// ToolBar按钮
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query": //查询
PlanQuery();
break;
case "Save":
SawResultSave();//保存
break;
case "Node":
SawesultNode(); //结炉
break;
case "DoNodeBack":
NodeBack();
break;
case "DoNodeQuery"://结炉实绩
NodeQuery();
break;
case "DoStart":
DoStart();
break;
case "DoStartBack":
StartBack();
break;
case "pipsawfast"://快速分切
pipsawfast();
break;
case "DoPrint":
PrintResult();
break;
case "DoChangeCancel":
ChangeShiftBack();
// break;
//case "colchang":
// colchang();
break;
case "DoSign":
Sign();
break;
case "Close":
this.Dispose();
this.Close();
break;
}
}
private String doQueryJugeNoStaus(string resultNo, string jugeNo, string plineCode)
{
string staus = "3";
DataTable ds = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.doQueryResultStaus", new object[] { resultNo, jugeNo, plineCode, "5", proPlanId, gxPlanNo }, ob);
if (ds.Rows.Count > 0)
{
staus = ds.Rows[0]["NODE_FUR_FLAG"].ToString();
}
return staus;
}
///
/// 修改IS_START名称
///
public void ChangeCellName()
{
if (ultraGridPlan.Rows.Count > 0)
{
NativeMethodNew na = new NativeMethodNew(this.ob);
foreach (UltraGridRow ugr in ultraGridPlan.Rows)
{
//String Judge_Stove_No = ugr.Cells["JUDGE_DTOVE_NO"].Value.ToString();
//if (na.isBegineNode(Judge_Stove_No, 0))
//{
// ugr.Appearance.BackColor = Color.YellowGreen;
//}
if (ugr.Cells["IS_START"].Value.ToString() != "未开始分切" && ugr.Cells["IS_START"].Value.ToString() != "已开始分切" && ugr.Cells["IS_START"].Value.ToString() != "已完成分切")
{
switch (Convert.ToInt32(ugr.Cells["IS_START"].Value))
{
case 3:
ugr.Cells["IS_START"].Value = "未开始分切";
break;
case 0:
ugr.Cells["IS_START"].Value = "已开始分切";
break;
case 1:
ugr.Cells["IS_START"].Value = "已完成分切";
break;
}
}
}
}
}
///
/// 计划查询
///
public void PlanQuery()
{
string PrimaKey = "";
UltraGridRow ugr = this.ultraGridPlan.ActiveRow;
if (ugr != null)
{
PrimaKey = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
}
if (chkHeatNo.Checked == true)
{
if (string.IsNullOrEmpty(this.txtJudgeStoveNo.Text))
{
MessageBox.Show("请输入判定炉号后再执行查询操作!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
QueryMainPlan.JudgeStoveNo = this.txtJudgeStoveNo.Text;
}
else
{
QueryMainPlan.JudgeStoveNo = "";
}
if (chkLotNo.Checked == true)
{
if (string.IsNullOrEmpty(this.txtLOT_NO.Text))
{
MessageBox.Show("请输入生产批号后再执行查询操作!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
QueryMainPlan.LotNo = this.txtLOT_NO.Text;
}
else
{
QueryMainPlan.LotNo = "";
}
//dtMatSeq.Clear();
dtPlan.Clear();
QueryMainPlan.PlineCode = PlineCode;
QueryMainPlan.Status = PlanStatusQuery;
QueryMainPlan.StartStatus = PlanStartStatusQuery;
//查询计划记录
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlan", new object[] { QueryMainPlan, 7 }, this.ob);
if (dt.Rows.Count == 0)
{
MessageBox.Show("未查询到数据。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
GridHelper.CopyDataToDatatable(ref dt, ref dtPlan, true);
//ultraGridPlan.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
ChangeCellName();
if (ugr != null)
{
foreach (UltraGridRow ugr1 in ultraGridPlan.Rows)
{
ugr1.Cells["JUDGE_NO"].Value = BaseMethod.getJudgeStoveNo(ugr1.Cells["JUDGE_STOVE_NO"].Value.ToString());
if (ugr1.Cells["JUDGE_STOVE_NO"].Value.ToString() == PrimaKey)
{
ugr1.Activated = true;
}
}
}
ChangeGridColor();
}
///
/// 单击计划行
///
///
///
private void ultraGridPlan_AfterRowActivate(object sender, EventArgs e)
{
if (this.dtPlan.Rows.Count > 0)
{
UltraGridRow ugr = ultraGridPlan.ActiveRow;
if (ugr != null)
{
//查询主计 划信息
dtMat.Clear();
string JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
proPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
gxPlanNo = ugr.Cells["GX_PLAN_NO"].Value.ToString();
lotNo = ugr.Cells["LOT_NO"].Value.ToString();
ActiveJUDGE_STOVE_NO = JudgeStoveNo;
string resltNo = ugr.Cells["ID"].Value.ToString();
//string Status = ugr.Cells["IS_START"].Value.ToString();
string Status = doQueryJugeNoStaus(resltNo, JudgeStoveNo, PlineCode);
ActiveStatus = Status;
MainPlan.JudgeStoveNo = JudgeStoveNo;
MainPlan.ProPlanId = proPlanId;
MainPlan.GxPlanNo = gxPlanNo;
DataTable dtMP = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlanForHeatNo", new object[] { MainPlan }, this.ob);
if (dtMP.Rows.Count > 0)
{
GridEdit(dtMP); //轧制计划信息
ActiveResultNo = dtMP.Rows[0]["ID"].ToString();
GetSawResultEdit(JudgeStoveNo);//分切计划
GetMilplanEdit(dtMP);//主计划赋值
//查询流通卡信息
DataTable dtRollingCard = new DataTable();
if (PlineCode.Equals("C009") || PlineCode.Equals("C012") || PlineCode.Equals("C017"))
{
dtRollingCard = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getRollingCard1", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
}
else
{
dtRollingCard = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getRollingCard", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
}
if (dtRollingCard.Rows.Count > 0)
{
RollingCardEditGrid(dtRollingCard, JudgeStoveNo);//流通卡赋值
}
}
NativeMethodNew na = new NativeMethodNew(this.ob);
if (na.isBegineNode(ActiveJUDGE_STOVE_NO, 6))
{
GetMatRack(JudgeStoveNo);
}
else
{
this.dtMat.Rows.Clear();
}
ChangeGridColor();
//if (!na.isBegineNode(ActiveJUDGE_STOVE_NO, 6))
//{
// return;
//}
if (Status == "1" || Status == "3")
{
return;
}
//查询定径结炉是否完成
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetMIL_SIZING_RESULT", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
if (dt.Rows.Count == 0)
{
//MessageBox.Show("炉号【" + JudgeStoveNo + "】还未矫直完成,不能结炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(dt.Rows[0]["NODE_FUR_FLAG"].ToString()))
{
//MessageBox.Show("炉号【" + JudgeStoveNo + "】还未矫直完成,不能结炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (dt.Rows[0]["NODE_FUR_FLAG"].ToString() != "1")//
{
//MessageBox.Show("炉号【" + JudgeStoveNo + "】还未矫直完成,不能结炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
UltraGridRow ugr1 = this.pipeSawResult1.UltraGrid2.Rows[0];
UltraGridRow ugr2 = this.rollingCard1.UltraGrid4.Rows[0];
//保存当前实绩
MilSawResultEntity milsawresult = new MilSawResultEntity();
this.pipeSawResult1.UltraGrid2.UpdateData();
milsawresult = NativeMethod.GetUltraGridToEntityNEW(this.pipeSawResult1.UltraGrid2, milsawresult);
//来料支数
int MatNum = 0;
if (!string.IsNullOrEmpty(ugr2.Cells["QualifiedNum7"].Value.ToString()))
{
MatNum = Convert.ToInt32(ugr2.Cells["QualifiedNum7"].Value.ToString());
}
//切前合格支数
milsawresult.CutNum = MatNum - int.Parse(ugr2.Cells["ScrapNum9"].Value.ToString3());
//分切数
int sawnum = int.Parse(ugr1.Cells["SAW_MUMP"].Value.ToString());
//切后合格支数
milsawresult.CutDbnum = (MatNum - int.Parse(ugr2.Cells["ScrapNum9"].Value.ToString3())) * sawnum - int.Parse(ugr2.Cells["ScrapNum10"].Value.ToString3());
//交接班支数
//milsawresult.ChangeNum = ugr1.Cells["CHANGE_NUM"].Value.ToString();
milsawresult.JudgeStoveNo = this.ultraGridPlan.ActiveRow.Cells["JUDGE_STOVE_NO"].Value.ToString();
//合格吨
double DBHeight = 0;
double BurnningRate = 0;
double BurnningRate1 = 0;
double DBNum = 1;
NativeMethodNew na1 = new NativeMethodNew(this.ob);
double percent0 = na1.GetLengthPercent(JudgeStoveNo, this.ob, 0);
double percent1 = na1.GetLengthPercent(JudgeStoveNo, this.ob, 1);
double percent2 = na1.GetLengthPercent(JudgeStoveNo, this.ob, 2);
if (percent0 == 100.0)
{
MessageBox.Show("炉号:【" + JudgeStoveNo + "】尚未开始分切,不允许结炉", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
DataTable dtDBH = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getDbHeight", new object[] { JudgeStoveNo, ActiveResultNo, proPlanId, gxPlanNo }, this.ob);
if (dtDBH.Rows.Count > 0)
{
if (!string.IsNullOrEmpty(dtDBH.Rows[0]["DB_HEIGHT"].ToString()))
{
DBHeight = double.Parse(dtDBH.Rows[0]["DB_HEIGHT"].ToString());
}
if (!string.IsNullOrEmpty(dtDBH.Rows[0]["BURNNING_RATE"].ToString()))
{
BurnningRate = double.Parse(dtDBH.Rows[0]["BURNNING_RATE"].ToString());
}
if (!string.IsNullOrEmpty(dtDBH.Rows[0]["BURNINGRATE"].ToString()))
{
BurnningRate1 = double.Parse(dtDBH.Rows[0]["BURNINGRATE"].ToString());
}
if (!string.IsNullOrEmpty(dtDBH.Rows[0]["DB_NUM"].ToString()))
{
DBNum = double.Parse(dtDBH.Rows[0]["DB_NUM"].ToString());
}
}
//分产线 是否经过再加热炉
if (this.PlineCode == "C009" || PlineCode == "C012" || PlineCode == "C017")
{
double temp = DBHeight * (1 - (BurnningRate / 100));
double tempnum = double.Parse(milsawresult.CutDbnum.ToString());
milsawresult.QaTon = temp * percent0 / 100 * tempnum;
milsawresult.CutHeadHeightTotal = temp * percent1 / 100 * int.Parse(milsawresult.CutNum.ToString());
milsawresult.CutTrailHeigthTotal = temp * percent2 / 100 * int.Parse(milsawresult.CutNum.ToString());
milsawresult.CutTrailLengthTotal = double.Parse(string.IsNullOrEmpty(milsawresult.CutTrailLength.ToString()) ? "0" : milsawresult.CutTrailLength.ToString()) * double.Parse(string.IsNullOrEmpty(milsawresult.CutNum.ToString()) ? "0" : milsawresult.CutNum.ToString()) / 1000;
milsawresult.CutHeadLengthTotal = double.Parse(string.IsNullOrEmpty(milsawresult.CutHeadLength.ToString()) ? "0" : milsawresult.CutHeadLength.ToString()) * double.Parse(string.IsNullOrEmpty(milsawresult.CutNum.ToString()) ? "0" : milsawresult.CutNum.ToString()) / 1000;
}
else
{
double temp = DBHeight * (1 - (BurnningRate / 100)) * (1 - (BurnningRate1 / 100));
double tempnum = double.Parse(milsawresult.CutDbnum.ToString());
milsawresult.QaTon = temp * percent0 / 100 * tempnum;
milsawresult.CutHeadHeightTotal = temp * percent1 / 100 * int.Parse(milsawresult.CutNum.ToString());
milsawresult.CutTrailHeigthTotal = temp * percent2 / 100 * int.Parse(milsawresult.CutNum.ToString());
milsawresult.CutTrailLengthTotal = double.Parse(string.IsNullOrEmpty(milsawresult.CutTrailLength.ToString()) ? "0" : milsawresult.CutTrailLength.ToString()) * double.Parse(string.IsNullOrEmpty(milsawresult.CutNum.ToString()) ? "0" : milsawresult.CutNum.ToString()) / 1000;
milsawresult.CutHeadLengthTotal = double.Parse(string.IsNullOrEmpty(milsawresult.CutHeadLength.ToString()) ? "0" : milsawresult.CutHeadLength.ToString()) * double.Parse(string.IsNullOrEmpty(milsawresult.CutNum.ToString()) ? "0" : milsawresult.CutNum.ToString()) / 1000;
}
milsawresult.ColGroup = UserInfo.GetUserGroup();
milsawresult.ColShift = UserInfo.GetUserOrder();
milsawresult.ColUser = UserInfo.GetUserName();
int countafter = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.QuNum", new object[] { milsawresult }, this.ob);
}
}
}
///
/// 双击计划开始锯切
///
///
///
//private void ultraGridPlan_DoubleClickRow(object sender, DoubleClickRowEventArgs e)
private void DoStart()
{
if (this.PlineCode.Equals("C009"))
{
if (this.TestMethod.Contains("2"))
{
MessageBox.Show("您的操作台不允许进行分切开始操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
if (ultraGridPlan.Rows.Count > 0)
{
//if (!IsStart())
//{
// //return;mj
//}
UltraGridRow ugr = ultraGridPlan.ActiveRow;
UltraGridRow ugr1 = pipeSawResult1.UltraGrid2.Rows[0];
if (ugr != null)
{
//int SawNum = int.Parse(ugr1.Cells["SAW_NUM"].Value.ToString());
int Flag = 0; //0-开始分切 1-取消
string HeatNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
ActiveJUDGE_STOVE_NO = HeatNo;
string ResultNo = ugr.Cells["ID"].Value.ToString();
//string Statue = ugr.Cells["IS_START"].Value.ToString();
string Statue = doQueryJugeNoStaus(ResultNo, HeatNo,PlineCode);
ActiveStatus = Statue;
if (Statue == "1")
{
MessageBox.Show("炉号:【" + HeatNo + "】已完成分切操作,不允许再次进行管排锯操作!!!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
MainPlan.JudgeStoveNo = HeatNo;
MainPlan.ProPlanId = proPlanId;
MainPlan.GxPlanNo = gxPlanNo;
DataTable dtMP = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlanForHeatNo", new object[] { MainPlan }, this.ob);
string rollLength = dtMP.Rows[0]["ROLL_LENGTH"].ToString();
string orderlegth = dtMP.Rows[0]["TARGET_LENGTH"].ToString();
SAW_NUM = int.Parse(dtMP.Rows[0]["SAW_NUM"].ToString());
string tailegth = dtMP.Rows[0]["CUT_TRAIL_LENGTHP"].ToString();
string headlengt = dtMP.Rows[0]["CUT_HEAD_LENGTHP"].ToString();
ActiveResultNo = dtMP.Rows[0]["ID"].ToString();
GridEdit(dtMP);//轧制计划信息
GetRollingCard();//流通卡赋值
GetMilplanEdit(dtMP);//主计划赋值
GetSawResultEdit(HeatNo);//分切计划信息
NativeMethodNew na = new NativeMethodNew(this.ob);
if (!na.isBegineNode(ActiveJUDGE_STOVE_NO, 6))
{
//if (MessageUtil.ShowYesNoAndQuestion("确认炉号【" + MainPlan.JudgeStoveNo + "】开始分切?") == DialogResult.No)
//{
// return;
//}
string PLineCode = dtMP.Rows[0]["PLINE_CODE"].ToString();
string LotNo = dtMP.Rows[0]["LOT_NO"].ToString();
string StoveNo = dtMP.Rows[0]["STOVE_NO"].ToString();
//修改主计划状态为 65-开始锯切,新增锯切实绩信息
milSawResultEntity.JudgeStoveNo = HeatNo;
milSawResultEntity.ResultNo = ResultNo;
milSawResultEntity.LotNo = LotNo;
milSawResultEntity.StoveNo = StoveNo;
milSawResultEntity.PlineCode = PLineCode;
//milSawResultEntity.OrderLength = orderlegth;
//milSawResultEntity.CutHeadLength = headlengt;
//milSawResultEntity.CutTrailLength = tailegth;
milSawResultEntity.OrderLength = "";
milSawResultEntity.CutHeadLength = "";
milSawResultEntity.CutTrailLength = "";
milSawResultEntity.SawNum = SAW_NUM.ToString();
milSawResultEntity.CutType = "被动切尾";
milSawResultEntity.Status = "65";
milSawResultEntity.NodeFurFlag = "0";
milSawResultEntity.StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
milSawResultEntity.ColMode = "0";
milSawResultEntity.ColGroup = UserInfo.GetUserGroup();
milSawResultEntity.ColShift = UserInfo.GetUserOrder();
milSawResultEntity.ColUser = UserInfo.GetUserName();
milSawResultEntity.ProPlanId = proPlanId;
milSawResultEntity.GxPlanNo = gxPlanNo;
//1.更新主表Stutas=65,2、插入分切实绩
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.startSaw", new object[] { milSawResultEntity }, this.ob);
na.InsertSTAferDoubleClick(milSawResultEntity.JudgeStoveNo.ToString(), 6, "0", proPlanId, gxPlanNo);
int countrack = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateRackrollLebgth", new object[] { HeatNo, rollLength, orderlegth, proPlanId, gxPlanNo }, this.ob);
//刷新主表
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlan", new object[] { QueryMainPlan, 7 }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref dtPlan, true);
//ultraGridPlan.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
ChangeCellName();
foreach (UltraGridRow ugr_ in this.ultraGridPlan.Rows)
{
if (ugr_.Cells["JUDGE_STOVE_NO"].Value.ToString() == HeatNo)
{
ultraGridPlan.ActiveRow = ugr_;
}
}
PlanQuery();
ChangeGridColor();
}
else
{
MessageBox.Show("炉号【" + HeatNo + "】已经开始锯切,不能再次开始!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
}
///
/// 开始回退
///
private void StartBack()
{
if (ultraGridPlan.Rows.Count > 0)
{
if (this.ultraGridPlan.ActiveRow == null)
{
MessageBox.Show("请选择需要回退的炉号!!!");
return;
}
UltraGridRow ugr = ultraGridPlan.ActiveRow;
string JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
string ResultNo = ugr.Cells["ID"].Value.ToString();
//string StartStatus = ugr.Cells["IS_START"].Value.ToString();
string StartStatus = doQueryJugeNoStaus(ResultNo, JudgeStoveNo,PlineCode);
if (StartStatus == "1")
{
MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】已结炉,不能入炉回退!!!!");
return;
}
if (StartStatus == "3")
{
MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】未开始分切,不能开始回退!!!!");
return;
}
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.startBack", new object[] { JudgeStoveNo, ResultNo, 6, PlineCode, proPlanId, gxPlanNo }, this.ob);
if (count > 0)
{
ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.pipsawfastback", new object[] { JudgeStoveNo, ResultNo, PlineCode, proPlanId, gxPlanNo }, this.ob);
}
GetMatRack(JudgeStoveNo);
ChangeGridColor();
ChangeCellName();
PlanQuery();
}
}
public void CutTypeChange(object sender, CellEventArgs e)
{
if (!e.Cell.Column.Key.ToString().Equals("CUT_TYPE"))
{
return;
}
else
{
if (this.ultraGridPlan.ActiveRow == null)
{
return;
}
if (!this.ultraGridPlan.ActiveRow.Cells["IS_START"].Value.ToString().Equals("已开始分切"))
{
return;
}
string heatno = this.ActiveJUDGE_STOVE_NO;
DataTable dtDeatail = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { this.ActiveJUDGE_STOVE_NO, proPlanId, gxPlanNo }, this.ob);
if (dtDeatail.Rows.Count > 0)
{
foreach (DataRow dr in dtDeatail.Rows)
{
if (!dr["SAW_FLAG"].Equals("3"))
{
MessageBox.Show("炉号:【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】还未分切结束,不允许进行管号队列修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["CUT_TYPE"].Value = "被动切尾";
return;
//只针对快速分切,如果是逐排切的话则允许
}
}
}
this.pipeSawResult1.UltraGrid2.Update();
if (this.pipeSawResult1.UltraGrid2.Rows[0].Cells["CUT_TYPE"].Text.ToString().Equals("主动切尾"))
{
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.SetResultCutTupe", new object[] { heatno }, this.ob);
GetMatRack(heatno);
}
else
{
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.SetResultCutTupeBack", new object[] { heatno }, this.ob);
GetMatRack(heatno);
}
}
}
///
/// 控件点击事件
///
public void btnCUT_REV(object sender, CellEventArgs e)
{
MilSawResultDeatilEntity sawresultdetail = new MilSawResultDeatilEntity();
UltraGridRow ugr = this.ultraGridPlan.ActiveRow;
if (ugr == null)
{
MessageBox.Show("您未选择任何计划,请选择计划后再进行管排锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
string HeatNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
string nodeFlag = "";
DataTable dts = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetMIL_SIZING_RESULT", new object[] { HeatNo, proPlanId, gxPlanNo }, this.ob);
if (dts.Rows.Count > 0)
{
nodeFlag = dts.Rows[0]["NODE_FUR_FLAG"].ToString();
}
else
{
MessageBox.Show("判定炉号:【" + HeatNo + "】尚未开始定径,不允许进行管排锯操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.JudgeStoveNo = HeatNo;
sawresultdetail.LotNo = ugr.Cells["LOT_NO"].Value.ToString();
//sawresultdetail.LotNo = ugr.Cells["STOVE_NO"].Value.ToString();
sawresultdetail.PlineCode = PlineCode;
sawresultdetail.ColGroup = this.UserInfo.GetUserGroup();
sawresultdetail.ColUser = this.UserInfo.GetUserName();
sawresultdetail.ColShift = this.UserInfo.GetUserOrder();
sawresultdetail.ColMode = "1";
sawresultdetail.Change = "0";
string cellname = e.Cell.Column.Key.ToString();
switch (cellname)
{
case "btnCUT_REV1":
if (LimitCut(HeatNo) == 0 && nodeFlag.Equals("1"))
{
MessageBox.Show("炉号:【" + HeatNo + "】已完成分切操作,请结炉", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (this.userRoom == 1)//1# 台,1#锯
{
bool isinsert = this.isinsert(HeatNo, 1, 1);
if (isinsert == false)
{
MessageBox.Show("已新增排号未切完不允许再新增排号", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//查询该炉已切实绩明细
DataTable dtdetail = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { HeatNo, proPlanId, gxPlanNo }, this.ob);
if (dtdetail.Rows.Count > 0)
{
for (int i = 0; i < dtdetail.Rows.Count; i++)
{
int s = Int16.Parse(dtdetail.Rows[i]["ROW_NO"].ToString());
tempROW_NO1 = (tempROW_NO1 > s) ? tempROW_NO1 : s;
}
tempROW_NO1 += 1;
sawresultdetail.RowNo = tempROW_NO1;//排号
}
else
{
sawresultdetail.RowNo = 1;
tempROW_NO1 = 1;
}
sawresultdetail.SawNo = "1";//锯号
sawresultdetail.SawFlag = "1";//分切标识
//添加管排明细
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.AddResultDetail", new object[] { sawresultdetail }, this.ob);
if (count > 0)
{
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_NO1"] = tempROW_NO1.ToString();
}
}
if (this.userRoom == 2)//2# 台,3#锯
{
bool isinsert = this.isinsert(HeatNo, 1, 3);
bool isinserts = this.isinsert(HeatNo, 2, 3);
if (isinsert && isinserts)//切头开始
{
//查询该炉已切实绩明细
DataTable dtdetail = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { HeatNo, proPlanId, gxPlanNo }, this.ob);
if (dtdetail.Rows.Count > 0)
{
for (int i = 0; i < dtdetail.Rows.Count; i++)
{
int s = Int16.Parse(dtdetail.Rows[i]["ROW_NO"].ToString());
tempROW_NO1 = (tempROW_NO1 > s) ? tempROW_NO1 : s;
}
tempROW_NO1 += 1;
sawresultdetail.RowNo = tempROW_NO1;//排号
}
else
{
sawresultdetail.RowNo = 1;
tempROW_NO1 = 1;
}
sawresultdetail.SawNoN = "3";//锯号
sawresultdetail.SawFlag = "2";//分切标识
//添加管排明细
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.AddResultDetail", new object[] { sawresultdetail }, this.ob);
if (count > 0)
{
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_NO1"] = tempROW_NO1.ToString();
}
}
else//切1# 台来料
{
//查询符合条件的值
DataTable dtdetail = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { HeatNo, proPlanId, gxPlanNo }, this.ob);
if (dtdetail.Rows.Count > 0)
{
foreach (DataRow dr in dtdetail.Rows)
{
if (dr["SAW_FLAG"].ToString() != "3" && dr["SAW_NO_N"].ToString() == "3")
{
sawresultdetail.RowNo = dr["ROW_NO"].ToString();
sawresultdetail.SawNo = dr["SAW_NO"].ToString();
sawresultdetail.RowCount = dr["ROW_COUNT"].ToString();
sawresultdetail.SawNoN = dr["SAW_NO_N"].ToString();
}
}
}
tempROW_NO1 = Int16.Parse(sawresultdetail.RowNo.ToString());
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO1);
sawresultdetail.SawNoN = "3";
sawresultdetail.SawFlag = "1";
sawresultdetail.Change = "1";
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_NO1"] = tempROW_NO1.ToString();
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT1"] = sawresultdetail.RowCount;
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_HEAD_LENGHT1"] = sawresultdetail.CutHeadLength;
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ORDER_LENGTH1"] = sawresultdetail.OrderLength;
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_TRAIL_LENGHT1"] = sawresultdetail.CutTrailLength;
//跟更新明细
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
}
}
break;
case "btnCUT_REV2":
if (LimitCut(HeatNo) == 0 && nodeFlag.Equals("1"))
{
MessageBox.Show("上一道工序已完成且没有可进行管排锯操作的母管", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (this.userRoom == 1)//1#台,2#锯
{
bool isinserts = this.isinsert(HeatNo, 1, 2);
if (isinserts == false)
{
MessageBox.Show("已新增排号未切完不允许再新增排号", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//查询该炉已切实绩明细
DataTable dtdetail = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { HeatNo, proPlanId, gxPlanNo }, this.ob);
if (dtdetail.Rows.Count > 0)
{
for (int i = 0; i < dtdetail.Rows.Count; i++)
{
int s = Int16.Parse(dtdetail.Rows[i]["ROW_NO"].ToString());
tempROW_NO2 = (tempROW_NO2 > s) ? tempROW_NO2 : s;
}
tempROW_NO2 += 1;
sawresultdetail.RowNo = tempROW_NO2;//排号
}
else
{
sawresultdetail.RowNo = 1;
tempROW_NO2 = 1;
}
sawresultdetail.SawNo = "2";//锯号
sawresultdetail.SawFlag = "1";//分切标识
//添加管排明细
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.AddResultDetail", new object[] { sawresultdetail }, this.ob);
if (count > 0)
{
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_NO2"] = tempROW_NO2.ToString();
}
}
if (this.userRoom == 2)//2#台,4#锯
{
bool isinsert = this.isinsert(HeatNo, 1, 4);
bool isinserts = this.isinsert(HeatNo, 2, 4);
if (isinsert && isinserts)//切头开始
{
//查询该炉已切实绩明细
DataTable dtdetail = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { HeatNo, proPlanId, gxPlanNo }, this.ob);
if (dtdetail.Rows.Count > 0)
{
for (int i = 0; i < dtdetail.Rows.Count; i++)
{
int s = Int16.Parse(dtdetail.Rows[i]["ROW_NO"].ToString());
tempROW_NO2 = (tempROW_NO2 > s) ? tempROW_NO2 : s;
}
tempROW_NO2 += 1;
sawresultdetail.RowNo = tempROW_NO2;//排号
}
else
{
sawresultdetail.RowNo = 1;
tempROW_NO2 = 1;
}
sawresultdetail.SawNoN = "4";//锯号
sawresultdetail.SawFlag = "2";//分切标识
//添加管排明细
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.AddResultDetail", new object[] { sawresultdetail }, this.ob);
if (count > 0)
{
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_NO2"] = tempROW_NO2.ToString();
}
}
else//切1#/2# 台来料
{
//查询符合条件的值
DataTable dtdetail = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { HeatNo, proPlanId, gxPlanNo }, this.ob);
if (dtdetail.Rows.Count > 0)
{
foreach (DataRow dr in dtdetail.Rows)
{
if (dr["SAW_FLAG"].ToString() != "3" && dr["SAW_NO_N"].ToString() == "4")
{
sawresultdetail.RowNo = dr["ROW_NO"].ToString();
sawresultdetail.SawNo = dr["SAW_NO"].ToString();
sawresultdetail.RowCount = dr["ROW_COUNT"].ToString();
sawresultdetail.SawNoN = dr["SAW_NO_N"].ToString();
}
}
}
tempROW_NO2 = Int16.Parse(sawresultdetail.RowNo.ToString());
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO2);
sawresultdetail.SawNoN = "4";
sawresultdetail.SawFlag = "1";
sawresultdetail.Change = "1";
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_NO2"] = tempROW_NO2.ToString();
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_NO2"] = tempROW_NO2.ToString();
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT2"] = sawresultdetail.RowCount;
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_HEAD_LENGTH2"] = sawresultdetail.CutHeadLength;
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ORDER_LENGTH2"] = sawresultdetail.OrderLength;
this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_TRAIL_LENGTH2"] = sawresultdetail.CutTrailLength;
//跟更新明细
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
}
}
break;
case "SAW_NO1"://1#锯
break;
case "SAW_NO2"://2#锯
break;
case "SAW_NO_N1":
if (this.userRoom == 1)//1#锯后选择3#锯
{
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO1);
sawresultdetail.SawFlag = "1";
sawresultdetail.SawNo = "1";
sawresultdetail.SawNoN = "3";
sawresultdetail.Change = "0";
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
}
if (this.userRoom == 2)//3#锯后选择1#锯
{
}
break;
case "SAW_NO_N12":
if (this.userRoom == 1)//1#锯后选择4#锯
{
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO1);
sawresultdetail.SawFlag = "1";
sawresultdetail.SawNo = "1";
sawresultdetail.SawNoN = "4";
sawresultdetail.Change = "0";
int count2 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
}
if (this.userRoom == 2)//3#锯后选择2#锯
{
}
break;
case "SAW_NO_N2"://
if (this.userRoom == 1)//2#锯后选择3#锯
{
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO2);
sawresultdetail.SawFlag = "1";
sawresultdetail.SawNoN = "3";
sawresultdetail.Change = "0";
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
}
if (this.userRoom == 2)//4#锯后选择1#锯
{
}
break;
case "SAW_NO_N22":
if (this.userRoom == 1)//2#锯后选择3#锯
{
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO2);
sawresultdetail.SawFlag = "1";
sawresultdetail.SawNoN = "3";
sawresultdetail.Change = "0";
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
}
if (this.userRoom == 2)//4#锯后选择1#锯
{
}
break;
case "btnCUT_HEAD1":
if (this.userRoom == 1)//1#锯切头
{
bool isoperat = isOperate(HeatNo, 1, 1);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO1);
sawresultdetail.SawFlag = "1";
sawresultdetail.SawNo = "1";
sawresultdetail.Change = "0";
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_HEAD_LENGHT1"].ToString()))
{
MessageBox.Show("您未输入切头长度或输入的格式不正确", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.CutHeadLength = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_HEAD_LENGHT1"].ToString();
if (sawresultdetail.PlineCode != "C012")
{
//int s = LimitCut(HeatNo);
if (string.IsNullOrEmpty(this.pipeSawResult1.UltraGrid2.Rows[0].Cells["ROW_COUNT1"].Value.ToString()))
{
MessageBox.Show("未输入排支数,请检查后重新输入", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else
{
if (int.Parse(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT1"].ToString()) > LimitCut(HeatNo))
{
MessageBox.Show("输入排支数超过可切支数,请检查后重新输入", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.RowCount = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT1"].ToString();
sawresultdetail.CutHeadLengthTotal = Int16.Parse(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT1"].ToString()) * double.Parse(sawresultdetail.CutHeadLength.ToString());
}
}
sawresultdetail.RowNo = tempROW_NO1;
this.updateROW_NOtoSawRack(sawresultdetail);
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
//MessageBox.Show("切头操作完成。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
GetMatRack(HeatNo);
}
if (this.userRoom == 2)//3#锯切头
{
bool isoperat = isOperate(HeatNo, 2, 3);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO1);
sawresultdetail.SawFlag = "2";
sawresultdetail.SawNoN = "3";
sawresultdetail.Change = "0";
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_HEAD_LENGHT1"].ToString()))
{
MessageBox.Show("您未输入切头长度或输入的格式不正确", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.CutHeadLength = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_HEAD_LENGHT1"].ToString();
if (sawresultdetail.PlineCode != "C012")
{
if (string.IsNullOrEmpty(this.pipeSawResult1.UltraGrid2.Rows[0].Cells["ROW_COUNT1"].Value.ToString()))
{
MessageBox.Show("未输入排支数,请检查后重新输入。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else
{
if (int.Parse(this.pipeSawResult1.UltraGrid2.Rows[0].Cells["ROW_COUNT1"].Value.ToString()) > LimitCut(HeatNo))
{
MessageBox.Show("输入排完支数超过可切支数,请检查后重新输入。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.RowCount = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT1"].ToString();
sawresultdetail.CutHeadLengthTotal = Int16.Parse(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT1"].ToString()) * double.Parse(sawresultdetail.CutHeadLength.ToString());
}
}
sawresultdetail.RowNo = tempROW_NO1;
this.updateROW_NOtoSawRack(sawresultdetail);
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
//MessageBox.Show("切头操作完成", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
GetMatRack(HeatNo);
}
break;
case "btnCUT_Length1":
if (this.userRoom == 1)//1#锯定尺
{
bool isoperat = isOperate(HeatNo, 1, 1);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO1);
sawresultdetail.SawFlag = "1";
sawresultdetail.SawNo = "1";
sawresultdetail.Change = "0";
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ORDER_LENGTH1"].ToString()))
{
MessageBox.Show("您未输入定尺长度或输入的格式不正确", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.OrderLength = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ORDER_LENGTH1"].ToString();
sawresultdetail.RowNo = tempROW_NO1;
this.UpdateSawRack(sawresultdetail);
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
//MessageBox.Show("切定尺操作完成", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
GetMatRack(HeatNo);
}
if (this.userRoom == 2)//3#锯定尺
{
bool isoperat = isOperate(HeatNo, 2, 3);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO1);
sawresultdetail.SawFlag = "2";
sawresultdetail.SawNoN = "3";
sawresultdetail.Change = "0";
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ORDER_LENGTH1"].ToString()))
{
MessageBox.Show("您未输入定尺长度或输入的格式不正确", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.OrderLength = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ORDER_LENGTH1"].ToString();
this.UpdateSawRack(sawresultdetail);
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
//MessageBox.Show("切定尺操作完成", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
GetMatRack(HeatNo);
}
break;
case "btnCUT_TRAIL1":
if (this.userRoom == 1)//1#锯切尾
{
bool isoperat = isOperate(HeatNo, 1, 1);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO1);
sawresultdetail.SawFlag = "1";
sawresultdetail.SawNo = "1";
sawresultdetail.Change = "0";
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_TRAIL_LENGHT1"].ToString()))
{
MessageBox.Show("您未输入切尾长度或输入的格式不正确", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.CutTrailLength = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_TRAIL_LENGHT1"].ToString();
if (sawresultdetail.PlineCode != "C012")
{
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT1"].ToString()))
{
MessageBox.Show("请先输入排支数,再进行管排锯切头操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else
{
sawresultdetail.RowCount = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT1"].ToString();
sawresultdetail.CutTrailLengthTotal = Int16.Parse(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT1"].ToString()) * double.Parse(sawresultdetail.CutTrailLength.ToString());
}
}
sawresultdetail.RowNo = tempROW_NO1;
this.UpdateSawRack(sawresultdetail);
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
//MessageBox.Show("切尾操作完成。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
GetMatRack(HeatNo);
}
if (this.userRoom == 2)//3#锯切尾
{
bool isoperat = isOperate(HeatNo, 2, 3);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO1);
sawresultdetail.SawFlag = "2";
sawresultdetail.SawNoN = "3";
sawresultdetail.Change = "0";
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_TRAIL_LENGHT1"].ToString()))
{
MessageBox.Show("您未输入切尾长度或输入的格式不正确", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.CutTrailLength = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_TRAIL_LENGHT1"].ToString();
if (sawresultdetail.PlineCode != "C012")
{
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT1"].ToString()))
{
MessageBox.Show("请先输入排支数,再进行管排锯切头操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else
{
sawresultdetail.RowCount = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT1"].ToString();
sawresultdetail.CutTrailLengthTotal = Int16.Parse(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT1"].ToString()) * double.Parse(sawresultdetail.CutTrailLength.ToString());
}
}
sawresultdetail.RowNo = tempROW_NO1;
this.UpdateSawRack(sawresultdetail);
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
GetMatRack(HeatNo);
//MessageBox.Show("切尾操作完成。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
break;
case "btnCUT_END1":
if (this.userRoom == 1)//1#锯
{
bool isoperat = isOperate(HeatNo, 1, 1);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
if (this.userRoom == 2)//3#锯
{
bool isoperat = isOperate(HeatNo, 2, 3);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO1);
if (this.isCut_End(sawresultdetail))
{
sawresultdetail.RowNo = tempROW_NO1;
sawresultdetail.SawFlag = "3";
sawresultdetail.Change = "0";
RowNum = int.Parse(sawresultdetail.RowCount.ToString());
if (sawresultdetail.PlineCode != "C012")
{
string colno = this.pipeSawResult1.UltraGrid2.Rows[0].Cells["COL_NO1"].Value.ToString();
colno = colno.Substring(0, 1);
int count2 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteRackCOL_NO", new object[] { HeatNo, colno, RowNum, SAW_NUM }, this.ob);
}
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetailCUTEND", new object[] { sawresultdetail }, this.ob);
//MessageBox.Show("管排锯操作完成。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
if (LimitCut(HeatNo) == 0)
{
MessageBox.Show("当前炉已完成管排锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
else
{
MessageBox.Show("还有操作未完成,不允许执行锯切完成操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
break;
case "btnCUT_HEAD2":
if (this.userRoom == 1)//2#锯切头
{
bool isoperat = isOperate(HeatNo, 1, 2);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO2);
sawresultdetail.SawFlag = "1";
sawresultdetail.SawNo = "2";
sawresultdetail.Change = "0";
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_HEAD_LENGTH2"].ToString()))
{
MessageBox.Show("您未输入切头长度或输入的格式不正确", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.CutHeadLength = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_HEAD_LENGTH2"].ToString();
if (sawresultdetail.PlineCode != "C012")
{
if (string.IsNullOrEmpty(this.pipeSawResult1.UltraGrid2.Rows[0].Cells["ROW_COUNT2"].Value.ToString()))
{
MessageBox.Show("未输入排支数,请检验后重新输入。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else
{
if (int.Parse(this.pipeSawResult1.UltraGrid2.Rows[0].Cells["ROW_COUNT2"].Value.ToString()) > LimitCut(HeatNo))
{
MessageBox.Show("输入排支数大于可切支数,请检验后重新输入。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.RowCount = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT2"].ToString();
sawresultdetail.CutHeadLengthTotal = Int16.Parse(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT2"].ToString()) * double.Parse(sawresultdetail.CutHeadLength.ToString());
}
}
sawresultdetail.RowNo = tempROW_NO2;
this.updateROW_NOtoSawRack(sawresultdetail);
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
GetMatRack(HeatNo);
//MessageBox.Show("切头操作完成。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
if (this.userRoom == 2)//4#锯切头
{
bool isoperat = isOperate(HeatNo, 2, 4);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO2);
sawresultdetail.SawFlag = "2";
sawresultdetail.SawNoN = "4";
sawresultdetail.Change = "0";
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_HEAD_LENGTH2"].ToString()))
{
MessageBox.Show("您未输入切头长度或输入的格式不正确", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.CutHeadLength = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_HEAD_LENGTH2"].ToString();
if (sawresultdetail.PlineCode != "C012")
{
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT2"].ToString()))
{
MessageBox.Show("未输入排支数,请检验后重新输入。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else
{
if (int.Parse(this.pipeSawResult1.UltraGrid2.Rows[0].Cells["ROW_COUNT2"].Value.ToString()) > LimitCut(HeatNo))
{
MessageBox.Show("输入排支数大于可切支数,请检验后重新输入。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.RowCount = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT2"].ToString();
sawresultdetail.CutHeadLengthTotal = Int16.Parse(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT2"].ToString()) * double.Parse(sawresultdetail.CutHeadLength.ToString());
}
}
sawresultdetail.RowNo = tempROW_NO2;
this.updateROW_NOtoSawRack(sawresultdetail);
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
GetMatRack(HeatNo);
//MessageBox.Show("切头操作完成。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
break;
case "btnCUT_Length2":
if (this.userRoom == 1)//2#锯定尺
{
bool isoperat = isOperate(HeatNo, 1, 2);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO2);
sawresultdetail.SawFlag = "1";
sawresultdetail.SawNo = "2";
sawresultdetail.Change = "0";
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ORDER_LENGTH2"].ToString()))
{
MessageBox.Show("您未输入定尺长度或输入的格式不正确", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.OrderLength = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ORDER_LENGTH2"].ToString();
sawresultdetail.RowNo = tempROW_NO2;
this.UpdateSawRack(sawresultdetail);
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
//MessageBox.Show("切定尺操作完成。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
GetMatRack(HeatNo);
}
if (this.userRoom == 2)//4#锯定尺
{
bool isoperat = isOperate(HeatNo, 2, 4);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO2);
sawresultdetail.SawFlag = "2";
sawresultdetail.SawNoN = "4";
sawresultdetail.Change = "0";
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ORDER_LENGTH2"].ToString()))
{
MessageBox.Show("您未输入定尺长度或输入的格式不正确", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.OrderLength = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ORDER_LENGTH2"].ToString();
sawresultdetail.RowNo = tempROW_NO2;
this.UpdateSawRack(sawresultdetail);
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
//MessageBox.Show("切定尺操作完成。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
GetMatRack(HeatNo);
}
break;
case "btnCUT_TRAIL2":
if (this.userRoom == 1)//2#锯切尾
{
bool isoperat = isOperate(HeatNo, 1, 2);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO2);
sawresultdetail.SawFlag = "1";
sawresultdetail.SawNo = "2";
sawresultdetail.Change = "0";
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_TRAIL_LENGTH2"].ToString()))
{
MessageBox.Show("您未输入切尾长度或输入的格式不正确", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.CutTrailLength = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_TRAIL_LENGTH2"].ToString();
if (sawresultdetail.PlineCode != "C012")
{
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT2"].ToString()))
{
MessageBox.Show("请先输入排支数,再进行管排锯切头操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else
{
sawresultdetail.RowCount = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT2"].ToString();
sawresultdetail.CutTrailLengthTotal = Int16.Parse(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT2"].ToString()) * double.Parse(sawresultdetail.CutTrailLength.ToString());
}
}
sawresultdetail.RowNo = tempROW_NO2;
this.UpdateSawRack(sawresultdetail);
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
//MessageBox.Show("切尾操作完成。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
GetMatRack(HeatNo);
}
if (this.userRoom == 2)//4#锯切尾
{
bool isoperat = isOperate(HeatNo, 2, 4);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO2);
sawresultdetail.SawFlag = "2";
sawresultdetail.SawNoN = "4";
sawresultdetail.Change = "0";
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_TRAIL_LENGTH2"].ToString()))
{
MessageBox.Show("您未输入切尾长度或输入的格式不正确", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
sawresultdetail.CutTrailLength = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["CUT_TRAIL_LENGTH2"].ToString();
if (sawresultdetail.PlineCode != "C012")
{
if (string.IsNullOrEmpty(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT2"].ToString()))
{
MessageBox.Show("请先输入排支数,再进行管排锯切头操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else
{
sawresultdetail.RowCount = this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT2"].ToString();
sawresultdetail.CutTrailLengthTotal = Int16.Parse(this.pipeSawResult1.PipeSawDataSource1.Rows[0]["ROW_COUNT2"].ToString()) * double.Parse(sawresultdetail.CutTrailLength.ToString());
}
}
sawresultdetail.RowNo = tempROW_NO2;
this.UpdateSawRack(sawresultdetail);
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetail", new object[] { sawresultdetail }, this.ob);
//MessageBox.Show("切尾操作完成。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
GetMatRack(HeatNo);
}
break;
case "btnCUT_END2":
if (this.userRoom == 1)//2#锯
{
bool isoperat = isOperate(HeatNo, 1, 2);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
if (this.userRoom == 2)//4#锯
{
bool isoperat = isOperate(HeatNo, 2, 4);
if (!isoperat)
{
MessageBox.Show("已由其它锯操作该排,不允许当前锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
sawresultdetail = this.changeENtity(sawresultdetail, HeatNo, tempROW_NO2);
if (this.isCut_End(sawresultdetail))
{
sawresultdetail.RowNo = tempROW_NO2;
sawresultdetail.SawFlag = "3";
sawresultdetail.Change = "0";
RowNum = int.Parse(sawresultdetail.RowCount.ToString());
if (sawresultdetail.PlineCode != "C012")
{
string colno = this.pipeSawResult1.UltraGrid2.Rows[0].Cells["COL_NO2"].Value.ToString();
colno = colno.Substring(0, 1);
int count2 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteRackCOL_NO", new object[] { HeatNo, colno, RowNum, SAW_NUM }, this.ob);
}
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetailCUTEND", new object[] { sawresultdetail }, this.ob);
//MessageBox.Show("管排锯操作完成", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
if (LimitCut(HeatNo) == 0)
{
MessageBox.Show("当前炉已完成管排锯操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
else
{
MessageBox.Show("还有操作未完成,不允许执行锯切完成操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
break;
case "btnCUT_BACK1":
if (isback(HeatNo, tempROW_NO1))
{
int count3 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetailCUTBACK", new object[] { tempROW_NO1, HeatNo }, this.ob);
tempROW_NO1 = tempROW_NO1 - 1;
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["ROW_NO1"].Value = "";
}
else
{
MessageBox.Show("已进行管排锯操作或无该条记录,不能回退。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
break;
case "btnCUT_BACK2":
if (isback(HeatNo, tempROW_NO2))
{
int count4 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdteResultDetailCUTBACK", new object[] { tempROW_NO2, HeatNo }, this.ob);
tempROW_NO2 = tempROW_NO2 - 1;
this.pipeSawResult1.UltraGrid2.Rows[0].Cells["ROW_NO2"].Value = "";
}
else
{
MessageBox.Show("已进行管排锯操作或无该条记录,不能回退。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
break;
}
}
///
/// 是否插入记录//true插入,false不插入
///
/// 判定炉号
/// 分切标识
///
///
public bool isinsert(string Heatno, int Sawflag, int Sawno)
{
bool result = true;//true插入,false不插入
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { Heatno, proPlanId, gxPlanNo }, this.ob);
if (dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
int temp = Int16.Parse(dr["SAW_FLAG"].ToString());
int temp1 = 0;
if (!string.IsNullOrEmpty(dr["SAW_NO"].ToString()))
{
temp1 = Int16.Parse(dr["SAW_NO"].ToString());
}
int temp2 = 0;
if (!string.IsNullOrEmpty(dr["SAW_NO_N"].ToString()))
{
temp2 = Int16.Parse(dr["SAW_NO_N"].ToString());
}
if (temp == Sawflag)
{
if (temp1 == Sawno || temp2 == Sawno)
{
result = false;
}
}
}
}
return result;
}
public bool isOperate(string Heatno, int Sawflag, int Sawno)
{
bool result = false;//true插入,false不插入
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { Heatno, proPlanId, gxPlanNo }, this.ob);
if (dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
int temp = Int16.Parse(dr["SAW_FLAG"].ToString());
int temp1 = 0;
if (!string.IsNullOrEmpty(dr["SAW_NO"].ToString()))
{
temp1 = Int16.Parse(dr["SAW_NO"].ToString());
}
int temp2 = 0;
if (!string.IsNullOrEmpty(dr["SAW_NO_N"].ToString()))
{
temp2 = Int16.Parse(dr["SAW_NO_N"].ToString());
}
if (temp == Sawflag)
{
if (temp1 == Sawno || temp2 == Sawno)
{
result = true;
}
}
}
}
return result;
}
///
/// 能否回退
///
///
///
private bool isback(string Heatno, int tempno)
{
bool result = false;
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { Heatno, proPlanId, gxPlanNo }, this.ob);
if (dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
if (!string.IsNullOrEmpty(dr["ROW_NO"].ToString()))
{
if (int.Parse(dr["ROW_NO"].ToString()) == tempno)
{
if (string.IsNullOrEmpty(dr["ROW_COUNT"].ToString()) && string.IsNullOrEmpty(dr["ORDER_LENGTH"].ToString()) && string.IsNullOrEmpty(dr["CUT_HEAD_LENGTH"].ToString()) && string.IsNullOrEmpty(dr["CUT_TRAIL_LENGTH"].ToString()))
{
result = true;
}
}
}
}
}
return result;
}
///
/// 查询当前符合条件的值,赋值给类,以更新
///
///
///
///
///
///
public MilSawResultDeatilEntity changeENtity(MilSawResultDeatilEntity sawresultdetail, string heatno, int tempROW_NO)
{
DataTable dtdetail1 = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { heatno, proPlanId, gxPlanNo }, this.ob);
if (dtdetail1.Rows.Count > 0)
{
foreach (DataRow dr in dtdetail1.Rows)
{
if (dr["ROW_NO"].ToString() == tempROW_NO.ToString())
{
sawresultdetail.SawNo = dr["SAW_NO"].ToString();
sawresultdetail.SawNoN = dr["SAW_NO_N"].ToString();
sawresultdetail.RowCount = dr["ROW_COUNT"].ToString();
sawresultdetail.OrderLength = dr["ORDER_LENGTH"].ToString();
sawresultdetail.CutHeadLength = dr["CUT_HEAD_LENGTH"].ToString();
sawresultdetail.CutTrailLength = dr["CUT_TRAIL_LENGTH"].ToString();
sawresultdetail.CutHeadLengthTotal = dr["CUT_HEAD_LENGTH_TOTAL"].ToString();
sawresultdetail.CutTrailLengthTotal = dr["CUT_TRAIL_LENGTH_TOTAL"].ToString();
}
}
}
return sawresultdetail;
}
///
/// 获取当前可切最大支数
///
///
///
public int LimitCut(string heatno)
{
string nodeFlag = "";
int result = 0;
//查询定径结炉是否完成
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetMIL_SIZING_RESULT", new object[] { heatno, proPlanId, gxPlanNo }, this.ob);
if (!string.IsNullOrEmpty(dt.Rows[0]["NODE_FUR_FLAG"].ToString()))
{
nodeFlag = dt.Rows[0]["NODE_FUR_FLAG"].ToString();
DataTable dt1 = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.LimitCut", new object[] { heatno, nodeFlag }, this.ob);
if (nodeFlag == "1")//已结炉
{
result = int.Parse(dt1.Rows[0]["Counts"].ToString());
}
if (nodeFlag == "0")
{
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.mes.zgmil.coup.EddyCurrentTestingResult";
ccp.MethodName = "scrapMatCheck";
ccp.ServerParams = new Object[] { heatno, 7, proPlanId, gxPlanNo };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
int ScrapNumBefore = Convert.ToInt32(ccp.ReturnInfo);
int temp = int.Parse(dt1.Rows[0]["Counts"].ToString());
result = temp - ScrapNumBefore;
}
}
return result;
}
///
/// 判断能否锯切完成
///
///
///
///
public bool isCut_End(MilSawResultDeatilEntity sawresultdetail)
{
bool iscutend = false;
if (sawresultdetail.CutTrailLength.ToString() != "" && sawresultdetail.CutHeadLength.ToString() != "" && sawresultdetail.OrderLength.ToString() != "")
{
iscutend = true;
}
return iscutend;
}
///
/// 更新跟踪记录表排号
///
/// 排号
/// 判定炉号
public void updateROW_NOtoSawRack(MilSawResultDeatilEntity MILSAWRACK)
{
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetSawRack", new object[] { MILSAWRACK }, this.ob);
if (dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
if (!string.IsNullOrEmpty(dr["ROW_NO"].ToString()))
{
if (dr["ROW_NO"].ToString() == MILSAWRACK.RowNo.ToString())
{
//MessageBox.Show("已完成切头操作,不允许重复执行", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
}
}
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateSawRackRowNo", new object[] { MILSAWRACK }, this.ob);
}
///
/// 更新跟踪记录表
///
///
public void UpdateSawRack(MilSawResultDeatilEntity MILSAWRACK)
{
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateSawRack", new object[] { MILSAWRACK }, this.ob);
}
///
/// 切头确认
///
///
public void RowResultAdd(int SawNo)
{
MilSawResultDeatilEntity MilSawResultDeatilAdd = new MilSawResultDeatilEntity();
MilSawRackEntity MilSawRackSave = new MilSawRackEntity();
UltraGridRow ugr = ultraGridPlan.ActiveRow;
UltraGridRow ugr1 = this.pipeSawResult1.UltraGrid2.Rows[0];
pipeSawResult1.UltraGrid2.UpdateData();
if (ugr != null)
{
MilSawResultDeatilAdd.JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
MilSawResultDeatilAdd.LotNo = ugr.Cells["LOT_NO"].Value.ToString();
MilSawResultDeatilAdd.PlineCode = "";
if (SawNo == 1)
{
//排号
MilSawResultDeatilAdd.RowNo = ugr1.Cells["ROW_NO1"].ToString();
//锯号1
MilSawResultDeatilAdd.SawNo = ugr1.Cells["SAW_NO11"].ToString();
//锯号2
MilSawResultDeatilAdd.SawNoN = ugr1.Cells["SAW_NO12"].ToString();
//排支数
MilSawResultDeatilAdd.RowCount = ugr1.Cells["ROW_COUNT1"].ToString();
//切头长度
MilSawResultDeatilAdd.CutHeadLength = ugr1.Cells["CUT_HEAD_LENGTH1"].ToString();
}
else
{
//排号
MilSawResultDeatilAdd.RowNo = ugr1.Cells["ROW_NO2"].ToString();
//锯号1
MilSawResultDeatilAdd.SawNo = ugr1.Cells["SAW_NO21"].ToString();
//锯号2
MilSawResultDeatilAdd.SawNoN = ugr1.Cells["SAW_NO22"].ToString();
//排支数
MilSawResultDeatilAdd.RowCount = ugr1.Cells["ROW_COUNT2"].ToString();
//切头长度
MilSawResultDeatilAdd.CutHeadLength = ugr1.Cells["CUT_HEAD_LENGTH2"].ToString();
}
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.addRowResult", new object[] { MilSawResultDeatilAdd }, this.ob);
//确认管号队列对应管的排号
//排号
MilSawRackSave.RowNo = MilSawResultDeatilAdd.RowNo;
//锯号1
MilSawRackSave.SawNo = MilSawResultDeatilAdd.SawNo;
//锯号2
MilSawRackSave.SawNo = MilSawResultDeatilAdd.SawNoN;
//切头长度
MilSawRackSave.CutHeadLength = MilSawResultDeatilAdd.CutHeadLength;
MilSawRackSave.JudgeStoveNo = MilSawResultDeatilAdd.JudgeStoveNo;
//支数
int RowCount = int.Parse(MilSawResultDeatilAdd.RowCount.ToString());
int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.updateMatRowNo", new object[] { MilSawResultDeatilAdd, RowCount, MilSawResultDeatilAdd.JudgeStoveNo }, this.ob);
}
}
///
/// 剔除操作
///
///
///
private void ultraGridMatSeq_ClickCellButton(object sender, CellEventArgs e)
{
MilSawRackEntity sawrack = new MilSawRackEntity();
MilSlabScrapSeqEntity ScrapSlab = new MilSlabScrapSeqEntity();
UltraGridRow ugr = ultraGridMatSeq.ActiveRow;
UltraGridRow ugr1 = ultraGridPlan.ActiveRow;
if (ugr == null || ugr1 == null)
{
MessageBox.Show("您未选择计划或管子,不允许操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//查看结炉标识
string JudgeStoveNo1 = ugr1.Cells["JUDGE_STOVE_NO"].Value.ToString();
string PlanStatuss = ugr1.Cells["IS_START"].Value.ToString();
string ROW_NO = ugr.Cells["ROW_NO"].Value.ToString();//排号
string CUT_HEAD_LENGTH = ugr.Cells["CUT_HEAD_LENGTH"].Value.ToString();//切头长度
string CUT_TRAIL_LENGTH = ugr.Cells["CUT_TRAIL_LENGTH"].Value.ToString();//切尾长度
int DBNUM = int.Parse(pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_MUMP"].Value.ToString());
Shift = UserInfo.GetUserOrder();
Group = UserInfo.GetUserGroup();
DataTable dtFlag = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmStraighteningResult.GetSingleJRLResult", new object[] { JudgeStoveNo1, proPlanId, gxPlanNo }, this.ob);
if (dtFlag.Rows.Count > 0)
{
if (string.IsNullOrEmpty(dtFlag.Rows[0]["NODE_FUR_FLAG"].ToString()))
{
MessageBox.Show("炉号【" + JudgeStoveNo1 + "】未开始分切,不允许结炉", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (dtFlag.Rows[0]["NODE_FUR_FLAG"].ToString() == "1")
{
MessageBox.Show("炉号【" + JudgeStoveNo1 + "】已结炉,不允许操作管排锯", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
if (PlanStatuss != "已开始分切")
{
MessageBox.Show("炉号【" + JudgeStoveNo1 + "】不是已开始分切,不允许修改管号队列。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
int Scrapcount = 0;
int ScrapDBcount = 0;
if (ugr != null)
{
string JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
int Seq = int.Parse(ugr.Cells["SEQ"].Value.ToString());
string MAT_NO = ugr.Cells["MAT_NO"].Value.ToString();
string PlanStatus = ugr1.Cells["IS_START"].Value.ToString();
string MatStatus = ugr.Cells["STATUS"].Value.ToString();
string shif = ugr.Cells["COL_SHIFT"].Value.ToString();
string group = ugr.Cells["COL_GROUP"].Value.ToString();
NativeMethodNew nasssss = new NativeMethodNew(this.ob);
if (nasssss.IsRackOperate(shif, group))
{
MessageBox.Show("序号:【" + Seq + "】母管已由" + shif + "," + group + "操作,不允许再进行操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (e.Cell.Column.Key == "SCRAP")//切前剔
{
if (MatStatus == "切前剔除" || MatStatus == "切后剔除")
{
MessageBox.Show("序号:【" + Seq + "】母管已经进行过剔除操作,不允许再次剔除!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//if (MessageUtil.ShowYesNoAndQuestion("是否剔除该坯料") == DialogResult.No)
//{
// return;
//}
DataTable ds = ServerHelper.GetData("com.steering.mes.zgmil.coup.FurResult.selectPortBacthSlample", new object[] { MAT_NO }, ob);
if (ds.Rows.Count > 0)
{
if (MessageUtil.ShowYesNoAndQuestion("此管坯已有被取为样管,是否继续剔除?") == DialogResult.No)
{
return;
}
}
if (!string.IsNullOrEmpty(ROW_NO) || !string.IsNullOrEmpty(CUT_HEAD_LENGTH))
{
MessageBox.Show("序号为【" + Seq + "】的管号已开始切头,不允许切前剔除。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
ScrapSlab.JudgeStoveNo = JudgeStoveNo;
ScrapSlab.Seq = Seq;
ScrapSlab.ProcessNo = "7";
ScrapSlab.Status = "3";
ScrapSlab.Flag = "0";
ScrapSlab.ColMode = "1";
ScrapSlab.MatNo = MAT_NO;
ScrapSlab.ColUser = UserInfo.GetUserName();
ScrapSlab.ColGroup = UserInfo.GetUserGroup();
ScrapSlab.ColShift = UserInfo.GetUserOrder();
ScrapSlab.ProPlanId = proPlanId;
ScrapSlab.GxPlanNo = gxPlanNo;
//剔管操作,:1、插入MIL_SLAB_SCRAP_SEQ表,2、管排锯跟踪记录表状态,3、修改加管排锯实绩表剔除支数
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.scrapInspectionMat", new Object[] { ScrapSlab }, this.ob);
if (count > 0)
{
//MessageBox.Show("母管序号【" + Seq + "】剔除成功!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
MessageBox.Show("母管序号【" + Seq + "】剔除失败!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
if (e.Cell.Column.Key == "SCRAP_DB")//切后剔
{
int counts = 0;
if (MatStatus == "切前剔除" || MatStatus == "切后剔除")
{
MessageBox.Show("序号:【" + Seq + "】母管已经进行过剔除操作,不允许再次剔除!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//if (MessageUtil.ShowYesNoAndQuestion("是否剔除该坯料") == DialogResult.No)
//{
// return;
//}
DataTable ds = ServerHelper.GetData("com.steering.mes.zgmil.coup.FurResult.selectPortBacthSlample", new object[] { MAT_NO }, ob);
if (ds.Rows.Count > 0)
{
if (MessageUtil.ShowYesNoAndQuestion("此管坯已有被取为样管,是否继续剔除?") == DialogResult.No)
{
return;
}
}
//查询前几道工序累计剔除多少半成品管(管坯等进行换算)
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.mes.zgmil.coup.EddyCurrentTestingResult";
ccp.MethodName = "scrapMatCheck";
ccp.ServerParams = new Object[] { JudgeStoveNo, 8, proPlanId, gxPlanNo };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
int ScrapNumBefore = Convert.ToInt32(ccp.ReturnInfo);
if (ultraGridMatSeq.Rows.Count - ScrapNumBefore < Seq)
{
MessageBox.Show("不存在序号为【" + Seq + "】的管号,可能是被前道工序剔除,不能再次剔除。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(ROW_NO) || string.IsNullOrEmpty(CUT_TRAIL_LENGTH))
{
MessageBox.Show("序号为【" + Seq + "】的管号未开始切尾,不允许切后剔除。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (!String.IsNullOrEmpty(ugr.Cells["SCRAP_DBNUM"].Value.ToString()))
{
ScrapSlab.ScrapDbnum = ugr.Cells["SCRAP_DBNUM"].Value.ToString();
if (int.Parse(ScrapSlab.ScrapDbnum.ToString()) > SAW_NUM)
{
MessageBox.Show("输入或选择的切后剔除支数违规,不允许进行切后剔除操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
else
{
MessageBox.Show("请输入需要剔除的支数后在进行切后剔除操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(ugr.Cells["SCRAP_REASON"].Value.ToString()))
{
MessageBox.Show("您未输入或选择剔除原因,请重新输入后再进行剔除操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (GetLength(ugr.Cells["SCRAP_REASON"].Value.ToString()) > 100)
{
MessageUtil.ShowTips("您输入的剔除原因字节过长,请重新输入!");
return;
}
for (int i = 0; i < int.Parse(ScrapSlab.ScrapDbnum.ToString()); i++)
{
ScrapSlab.JudgeStoveNo = JudgeStoveNo;
ScrapSlab.Seq = ((Seq - 1) * DBNUM + i + 1).ToString();
ScrapSlab.ProcessNo = "8";
ScrapSlab.Status = "4";
ScrapSlab.Flag = "0";
ScrapSlab.ColMode = "1";
ScrapSlab.MatNo = MAT_NO;
ScrapSlab.ColUser = UserInfo.GetUserName();
ScrapSlab.ColGroup = UserInfo.GetUserGroup();
ScrapSlab.ColShift = UserInfo.GetUserOrder();
ScrapSlab.ColNo = ugr.Cells["COL_NO"].Value.ToString();//排号
ScrapSlab.GxPlanNo = gxPlanNo;
ScrapSlab.ProPlanId = proPlanId;
//SCRAP_DBNUM//切后剔支数
//1、插入MIL_SLAB_SCRAP_SEQ表
counts = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.scrapInspectionMatDBSEQ", new Object[] { ScrapSlab }, this.ob);
}
string reason = ugr.Cells["SCRAP_REASON"].Value.ToString();
ScrapSlab.ScrapReason = reason;
ScrapSlab.Seq = Seq;
//剔管操作,:2、管排锯跟踪记录表状态,设置切后剔除的值,3、修改加管排锯实绩表剔除支数
counts = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.scrapInspectionMatDB", new Object[] { ScrapSlab }, this.ob);
if (counts > 0)
{
//MessageBox.Show("母管序号【" + Seq + "】切后剔除【" + ugr.Cells["SCRAP_DBNUM"].Value.ToString() + "】支子管成功!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
MessageBox.Show("母管序号【" + Seq + "】切后剔除【" + ugr.Cells["SCRAP_DBNUM"].Value.ToString() + "】支子管失败!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
if (e.Cell.Column.Key == "DELBACK")
{
//if (MessageUtil.ShowYesNoAndQuestion("是否回退该剔除的坯料") == DialogResult.No)
//{
// return;
//}
if (!MatStatus.Contains("剔除"))
{
MessageBox.Show("该坯料未被剔除,请确认后重新选择!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
NativeMethodNew na = new NativeMethodNew(this.ob);
if (MatStatus.Equals("切前剔除"))
{
int counts = na.DeleteSlabSeq(JudgeStoveNo, Seq.ToString(), 7, 1, 0, proPlanId, gxPlanNo);
if (counts > 0)
{
//MessageBox.Show("剔料回退成功", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
MessageBox.Show("剔料回退失败", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
if (MatStatus.Equals("切后剔除"))
{
int num = 0;
if (!string.IsNullOrEmpty(ultraGridMatSeq.ActiveRow.Cells["SCRAP_DBNUM"].Value.ToString()))
{
num = int.Parse(ultraGridMatSeq.ActiveRow.Cells["SCRAP_DBNUM"].Value.ToString());
}
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetRackScrpNum", new object[] { JudgeStoveNo, Seq.ToString(), proPlanId, gxPlanNo }, this.ob);
if (dt.Rows.Count > 0)
{
num = int.Parse(dt.Rows[0]["SCRAP_DBNUM"].ToString());
}
int counts = na.DeleteSlabSeq(JudgeStoveNo, Seq.ToString(), 8, num, DBNUM, proPlanId, gxPlanNo);
if (counts > 0)
{
//MessageBox.Show("剔料回退成功", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
MessageBox.Show("剔料回退失败", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
}
if (e.Cell.Column.Key == "RowNoChang")//排号修改
{
}
#region 原来的交班操作
//if (e.Cell.Column.Key == "ChangShift")
//{
// //查询前几道工序累计剔除多少半成品管(管坯等进行换算)
// CoreClientParam ccp = new CoreClientParam();
// ccp.ServerName = "com.steering.mes.zgmil.coup.EddyCurrentTestingResult";
// ccp.MethodName = "scrapMatCheck";
// ccp.ServerParams = new Object[] { JudgeStoveNo, 7 };
// ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
// int ScrapNumBefore = Convert.ToInt32(ccp.ReturnInfo);
// if (ultraGridMatSeq.Rows.Count - ScrapNumBefore < Seq)
// {
// MessageBox.Show("不存在序号为【" + Seq + "】的管号,可能是被前道工序剔除,不能再次剔除。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
// return;
// }
// NativeMethodNew nas = new NativeMethodNew(this.ob);
// string Shift = UserInfo.GetUserOrder();
// string Group = UserInfo.GetUserGroup();
// if (ugr.Cells["CHANGE_FLAG"].Value.ToString().Equals("正常"))
// {
// int count = nas.ChangeShift(JudgeStoveNo, this.ActiveResultNo, Seq.ToString(), this.PlineCode, Shift, Group, 0, 1,"0");
// if (count < 1)
// {
// MessageBox.Show("交接班失败,请查找原因后重新操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
// return;
// }
// }
// if (ugr.Cells["CHANGE_FLAG"].Value.ToString().Equals("交班点"))//回退
// {
// NativeMethodNew nass = new NativeMethodNew(this.ob);
// nass.ChangeShiftBack(JudgeStoveNo, this.ActiveResultNo, this.PlineCode, Shift, Group, 6);
// }
//}
#endregion
//交班
if (e.Cell.Column.Key == "ChangShift")
{
string seqlast = "";
//查询前几道工序累计剔除多少半成品管(管坯等进行换算)
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.mes.zgmil.coup.EddyCurrentTestingResult";
ccp.MethodName = "scrapMatCheck";
ccp.ServerParams = new Object[] { JudgeStoveNo, 7, proPlanId, gxPlanNo };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
int ScrapNumBefore = Convert.ToInt32(ccp.ReturnInfo);
if (ultraGridMatSeq.Rows.Count - ScrapNumBefore < Seq)
{
MessageBox.Show("不存在序号为【" + Seq + "】的管号,可能是被前道工序剔除,不能再次剔除。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (ugr.Cells["CHANGE_FLAG"].Value.ToString().Equals("确认交班") || ugr.Cells["CHANGE_FLAG"].Value.ToString().Equals("待接班确认"))
{
MessageBox.Show("序号:【" + Seq + "】已进行了交接班操作,不允许再次进行", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//找到本台交接班的第一只
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.EddyCurrentTestingResult.GetRackChangeFlag", new object[] { JudgeStoveNo, ActiveResultNo, Seq.ToString(), 0, "0", Shift, Group, proPlanId, gxPlanNo }, this.ob);
if (dt.Rows.Count > 0)
{
if (!string.IsNullOrEmpty(dt.Rows[0]["SEQ"].ToString()))
{
seqlast = dt.Rows[0]["SEQ"].ToString();
}
else
{
//seqlast = "1";
}
}
else
{
//seqlast = "1";
}
if (int.Parse(seqlast) > Seq)
{
MessageBox.Show("您所选的管号队列交接班支已被上一班操作,不允许进行交接班", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
else
{
HOTMethod hm = new HOTMethod(this.ob);
hm.UpdateChangeFlag(ActiveJUDGE_STOVE_NO, ActiveResultNo, "", 6, Seq, 0);
}
}
//接班
if (e.Cell.Column.Key == "BTNCHANGECOM")
{
HOTMethod hm = new HOTMethod(this.ob);
int WaitChangeSeq = hm.GetWaitChangeSeq(ActiveJUDGE_STOVE_NO, ActiveResultNo, "", 6, 0, proPlanId, gxPlanNo);
if (WaitChangeSeq == 0)
{
MessageBox.Show("没有待交班确认的管号。");
return;
}
if (WaitChangeSeq != Seq)
{
MessageBox.Show("交班管序号与接班管序号不符,请确认后接班。");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("确认炉号:【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】序号:【" + Seq + "】交班?") == DialogResult.No)
{
return;
}
if (this.DoRelogin(DoCheck))
{
//接班
NativeMethodNew nass = new NativeMethodNew(this.ob);
nass.ChangeShift(JudgeStoveNo, this.ActiveResultNo, Seq.ToString(), this.PlineCode, Shift, Group, 0, 1, "0", proPlanId, gxPlanNo);
}
//}
//else
//{
// NativeMethodNew nass = new NativeMethodNew(this.ob);
// nass.ChangeShift(JudgeStoveNo, this.ActiveResultNo, Seq.ToString(), this.PlineCode, Shift, Group, 0, 1, "0");
//}
}
if (ultraGridPlan.Rows == null)
{
return;
}
//GetRollingCard();
////分切计划(实绩)更新
//GetSawResultEdit(JudgeStoveNo);
////管号队列重新赋值
//GetMatRack(JudgeStoveNo);
PlanQuery();
foreach (UltraGridRow ugr_1 in ultraGridMatSeq.Rows)
{
if (ugr_1.Cells["SEQ"].Value.ToString() == Seq.ToString())
{
ultraGridMatSeq.ActiveRow = ugr_1;
}
}
ChangeGridColor();
}
}
public static int GetLength(string str)
{
if (str.Length == 0) return 0;
ASCIIEncoding ascii = new ASCIIEncoding();
int tempLen = 0; byte[] s = ascii.GetBytes(str);
for (int i = 0; i < s.Length; i++)
{
if ((int)s[i] == 63)
{
tempLen += 2;
}
else
{
tempLen += 1;
}
}
return tempLen;
}
public string DoCheck(CoreUserInfo User)
{
return "";
}
private void ultraGridMatSeq_AfterCellUpdate(object sender, CellEventArgs e)
{
UltraGridRow ugr = null;
UltraGridRow ugr_plan = null;
ugr = this.ultraGridMatSeq.ActiveRow;
ugr_plan = this.ultraGridPlan.ActiveRow;
int rownomax = 0;
if (ugr == null)
{
return;
}
string heatno = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
string seq = ugr.Cells["SEQ"].Value.ToString();
if (e.Cell.Column.Key == "SCRAP_DBNUM")
{
//ugr.Cells["SCRAP_DBNUM"].Value = "";
//GetMatRack(heatno);
//ChangeGridColor();
//foreach (UltraGridRow ugr111 in this.ultraGridMatSeq.Rows)
//{
// if (ugr111.Cells["SEQ"].Value.ToString().Equals(seq))
// {
// ultraGridMatSeq.ActiveRow = ugr111;
// }
//}
return;
}
string status = ugr.Cells["STATUS"].Value.ToString();
int scrapnum = int.Parse(ugr.Cells["SCRAP_DBNUM"].Value.ToString3());
if (status.Contains("剔除") && scrapnum == SAW_NUM)
{
MessageBox.Show("序号:【" + seq + "】所有子管均被剔除,不允许修改。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
if (ugr_plan.Cells["IS_START"].Value.ToString().Equals("已完成分切"))
{
MessageBox.Show("炉号:【" + heatno + "】已完成分切,不允许进行管号队列修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
DataTable dtDeatail = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { this.ActiveJUDGE_STOVE_NO, proPlanId, gxPlanNo }, this.ob);
if (dtDeatail.Rows.Count > 0)
{
foreach (DataRow dr in dtDeatail.Rows)
{
if (!dr["SAW_FLAG"].Equals("3"))
{
MessageBox.Show("炉号:【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】还未分切结束,不允许进行管号队列修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
//只针对快速分切,如果是逐排切的话则允许
}
rownomax = (rownomax > int.Parse(dr["ROW_NO"].ToString())) ? rownomax : (int.Parse(dr["ROW_NO"].ToString()));
}
}
else
{
MessageBox.Show("炉号:【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】尚未开始分切,不允许进行管号队列修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
// string heatno = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
string Seq = ugr.Cells["SEQ"].Value.ToString();
string remark = "";
string rowno = "";
string cuttype = "";
float cuthead = 0;
float cutorder = 0;
float cuttail = 0;
string sawno = "";
string sawnon = "";
int sawnum = this.SAW_NUM;
float lastorder = 0;
cuthead = float.Parse(ugr.Cells["CUT_HEAD_LENGTH"].Value.ToString());
cutorder = float.Parse(ugr.Cells["ORDER_LENGTH"].Value.ToString());
cuttail = float.Parse(ugr.Cells["CUT_TRAIL_LENGTH"].Value.ToString());
if (e.Cell.Column.Key == "ROW_NO")
{
#region 修改排号
string rownobefor = "";
if (this.PlineCode.Equals("C009"))
{
if (this.TestMethod.Contains("2"))
{
MessageBox.Show("您的操作台不允许保修改排号。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
}
string rownoafter = ugr.Cells["ROW_NO"].Value.ToString();
if (int.Parse(rownoafter) > (rownomax + 1))
{
MessageBox.Show("您输入的新排号【" + rownoafter + "】过大,请确认后重新输入", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetRownoFromRack", new object[] { heatno, Seq }, this.ob);
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["ROW_NO"] == null || dt.Rows[0]["ROW_NO"] == "")
{
MessageBox.Show("序号:【" + Seq + "】母管还未进行分切,不允许修改排号", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
else
{
rownobefor = dt.Rows[0]["ROW_NO"].ToString();
}
}
else
{
MessageBox.Show("序号:【" + Seq + "】母管还未进行分切,不允许修改排号", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
MilSawRackEntity sawrackrowno = new MilSawRackEntity();
sawrackrowno.JudgeStoveNo = heatno;
sawrackrowno.Seq = Seq;
sawrackrowno.RowNo = rownoafter;
sawrackrowno.ProPlanId = proPlanId;
sawrackrowno.GxPlanNo = gxPlanNo;
foreach (DataRow drs in dtDeatail.Rows)
{
if (drs["ROW_NO"].ToString().Equals(rownobefor))
{
if (drs["ROW_COUNT"].ToString().Equals("1"))
{
MessageBox.Show("排号:【" + rownobefor + "】只剩一支母管,不允许修改排号", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
}
}
int counts = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateRackRowNo", new object[] { sawrackrowno, rownobefor}, this.ob);
#endregion
}
if (e.Cell.Column.Key == "CUT_TYPE")
{
#region
if (ugr.Cells["CUT_TYPE"].Value != null)
{
MilSawRackEntity milsawrack = new MilSawRackEntity();
milsawrack.JudgeStoveNo = heatno;
milsawrack.Seq = Seq;
milsawrack.RealRollLength = ugr.Cells["REAL_ROLL_LENGTH"].Value.ToString();
if (ugr.Cells["CUT_TYPE"].Value.ToString().Equals("主动切尾"))
{
milsawrack.CutType = "1";
lastorder = float.Parse(milsawrack.RealRollLength.ToString()) - cuthead / 1000 - cuttail / 1000 - cutorder * (sawnum - 1);
milsawrack.LastOrderLength = lastorder;
}
else if (ugr.Cells["CUT_TYPE"].Value.ToString().Equals("被动切尾"))
{
milsawrack.CutType = "0";
//lastorder = float.Parse(milsawrack.RealRollLength.ToString()) - cuthead / 1000 - cuttail / 1000 - cutorder * (sawnum - 1);
milsawrack.LastOrderLength = ugr.Cells["LAST_ORDER_LENGTH"].Value.ToString();
}
else
{
MessageBox.Show("错误的切尾类型值,请重新选择", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateRackCutType", new object[] { milsawrack }, this.ob);
GetMatRack(heatno);
ChangeGridColor();
}
else
{
MessageBox.Show("切尾类型为空,请确认后重新修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
#endregion
}
if (e.Cell.Column.Key == "REAL_ROLL_LENGTH")
{
#region
if (ugr.Cells["REAL_ROLL_LENGTH"].Value == null || ugr.Cells["REAL_ROLL_LENGTH"].Value == "")
{
MessageBox.Show("实际轧制长度为空,请确认后重新修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
if (Convert.ToInt16(ugr.Cells["REAL_ROLL_LENGTH"].Value) == 0)
{
MessageBox.Show("实际轧制长度类型错误或值为0,请确认后重新修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
MilSawRackEntity milsawrack = new MilSawRackEntity();
milsawrack.JudgeStoveNo = heatno;
milsawrack.Seq = Seq;
milsawrack.RealRollLength = ugr.Cells["REAL_ROLL_LENGTH"].Value.ToString();
if (ugr.Cells["CUT_TYPE"].Value.ToString().Equals("主动切尾"))
{
milsawrack.CutType = "1";
lastorder = float.Parse(milsawrack.RealRollLength.ToString()) - cuthead / 1000 - cuttail / 1000 - cutorder * (sawnum - 1);
milsawrack.LastOrderLength = lastorder;
}
if (ugr.Cells["CUT_TYPE"].Value.ToString().Equals("被动切尾"))
{
milsawrack.CutType = "0";
//lastorder = float.Parse(milsawrack.RealRollLength.ToString()) - cuthead / 1000 - cuttail / 1000 - cutorder * (sawnum - 1);
milsawrack.LastOrderLength = ugr.Cells["LAST_ORDER_LENGTH"].Value.ToString();
}
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateRackCutType", new object[] { milsawrack }, this.ob);
GetMatRack(heatno);
ChangeGridColor();
#endregion
}
if (e.Cell.Column.Key == "SAW_NO")
{
#region
if (ugr.Cells["SAW_NO"].Value.ToString().Equals("1") || ugr.Cells["SAW_NO"].Value.ToString().Equals("2"))
{
MilSawRackEntity milsawrack = new MilSawRackEntity();
milsawrack.JudgeStoveNo = heatno;
milsawrack.Seq = Seq;
milsawrack.RowNo = ugr.Cells["ROW_NO"].Value.ToString();
milsawrack.SawNo = ugr.Cells["SAW_NO"].Value.ToString();
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateRackCutX", new object[] { milsawrack, 0, milsawrack.SawNo.ToString(), "0" }, this.ob);
GetMatRack(heatno);
ChangeGridColor();
}
else
{
MessageBox.Show("锯号1输入的值为错误的值,请确认后重新修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
#endregion
}
if (e.Cell.Column.Key == "SAW_NO_N")
{
#region
if (ugr.Cells["SAW_NO_N"].Value.ToString().Equals("3") || ugr.Cells["SAW_NO_N"].Value.ToString().Equals("4"))
{
MilSawRackEntity milsawrack = new MilSawRackEntity();
milsawrack.JudgeStoveNo = heatno;
milsawrack.Seq = Seq;
milsawrack.RowNo = ugr.Cells["ROW_NO"].Value.ToString();
milsawrack.SawNoN = ugr.Cells["SAW_NO_N"].Value.ToString();
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateRackCutX", new object[] { milsawrack, 1, milsawrack.SawNoN.ToString(), "0" }, this.ob);
GetMatRack(heatno);
ChangeGridColor();
}
else
{
MessageBox.Show("锯号2输入的值为错误的值,请确认后重新修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
#endregion
}
if (e.Cell.Column.Key == "CUT_HEAD_LENGTH")
{
#region
if (double.Parse(ugr.Cells["CUT_HEAD_LENGTH"].Value.ToString()) <= 0)
{
MessageBox.Show("切头长度输入的值为错误的值,请确认后重新修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
MilSawRackEntity milsawrack = new MilSawRackEntity();
milsawrack.JudgeStoveNo = heatno;
milsawrack.Seq = Seq;
milsawrack.RowNo = ugr.Cells["ROW_NO"].Value.ToString();
milsawrack.CutHeadLength = ugr.Cells["CUT_HEAD_LENGTH"].Value.ToString();
double cutheatbefore = 0.0;
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetSingleSawRack", new object[] { milsawrack }, this.ob);
if (dt.Rows.Count > 0)
{
cutheatbefore = double.Parse(dt.Rows[0]["CUT_HEAD_LENGTH"].ToString());
}
double temp = cutheatbefore - double.Parse(milsawrack.CutHeadLength.ToString());
double change = temp / 1000;
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateRackCutX", new object[] { milsawrack, 2, milsawrack.CutHeadLength.ToString(), change.ToString() }, this.ob);
GetMatRack(heatno);
ChangeGridColor();
#endregion
}
if (e.Cell.Column.Key == "ORDER_LENGTH")
{
#region
if (double.Parse(ugr.Cells["ORDER_LENGTH"].Value.ToString()) <= 0)
{
MessageBox.Show("切头长度输入的值为错误的值,请确认后重新修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
MilSawRackEntity milsawrack = new MilSawRackEntity();
milsawrack.JudgeStoveNo = heatno;
milsawrack.Seq = Seq;
milsawrack.RowNo = ugr.Cells["ROW_NO"].Value.ToString();
milsawrack.OrderLength = ugr.Cells["ORDER_LENGTH"].Value.ToString();
double cutheatbefore = 0;
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetSingleSawRack", new object[] { milsawrack }, this.ob);
if (dt.Rows.Count > 0)
{
cutheatbefore = Convert.ToDouble(dt.Rows[0]["ORDER_LENGTH"].ToString());
}
double temp = cutheatbefore - double.Parse(milsawrack.OrderLength.ToString());
double change = (double)temp * (this.SAW_NUM - 1);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.mes.zgmil.coup.PipeSawResult";
ccp.MethodName = "doUpdatePorcess";
ccp.ServerParams = new object[] { milsawrack, milsawrack.OrderLength.ToString() };
ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnInfo.Equals("修改成功!"))
{
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateRackCutX", new object[] { milsawrack, 3, milsawrack.OrderLength.ToString(), change.ToString() }, this.ob);
GetMatRack(heatno);
ChangeGridColor();
}
}
else
{
MessageUtil.ShowTips(ccp.ReturnInfo);
}
#endregion
}
if (e.Cell.Column.Key == "CUT_TRAIL_LENGTH")
{
#region
if (double.Parse(ugr.Cells["CUT_TRAIL_LENGTH"].Value.ToString()) <= 0)
{
MessageBox.Show("切头长度输入的值为错误的值,请确认后重新修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
GetMatRack(heatno);
ChangeGridColor();
return;
}
MilSawRackEntity milsawrack = new MilSawRackEntity();
milsawrack.JudgeStoveNo = heatno;
milsawrack.Seq = Seq;
milsawrack.RowNo = ugr.Cells["ROW_NO"].Value.ToString();
milsawrack.CutTrailLength = ugr.Cells["CUT_TRAIL_LENGTH"].Value.ToString();
double cutheatbefore = 0.0;
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetSingleSawRack", new object[] { milsawrack }, this.ob);
if (dt.Rows.Count > 0)
{
cutheatbefore = double.Parse(dt.Rows[0]["CUT_TRAIL_LENGTH"].ToString());
}
double temp = cutheatbefore - double.Parse(milsawrack.CutTrailLength.ToString());
double change = temp / 1000;
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateRackCutX", new object[] { milsawrack, 4, milsawrack.CutTrailLength.ToString(), change.ToString() }, this.ob);
GetMatRack(heatno);
ChangeGridColor();
#endregion
}
if (e.Cell.Column.Key == "REMARK")
{
#region
if (ugr.Cells["REMARK"].Value != null)
{
remark = ugr.Cells["REMARK"].Value.ToString();
NativeMethodNew na = new NativeMethodNew(this.ob);
int count = na.SaveRackRemark(0, int.Parse(Seq), heatno, remark);
}
#endregion
}
//GetMatRack(heatno);
}
///
/// 保存跟踪记录表备注
///
public void SaveRackRemark()
{
DataTable dtDeatail = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { this.ActiveJUDGE_STOVE_NO, proPlanId, gxPlanNo }, this.ob);
if (dtDeatail.Rows.Count > 0)
{
foreach (DataRow dr in dtDeatail.Rows)
{
if (!dr["SAW_FLAG"].Equals("3"))
{
MessageBox.Show("炉号:【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】还未分切结束,不允许进行管号队列修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
//只针对快速分切,如果是逐排切的话则允许
}
}
}
else
{
MessageBox.Show("炉号:【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】尚未开始分切,不允许进行管号队列修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
MilSawRackEntity milsawrack = new MilSawRackEntity();
UltraGridRow ugr = null;
string heatno = "";
int seq = 0;
string remark = "";
string rowno = "";
string cuttype = "";
float cuthead = 0;
float cutorder = 0;
float cuttail = 0;
string sawno = "";
string sawnon = "";
int sawnum = this.SAW_NUM;
float lastorder = 0;
ugr = this.ultraGridMatSeq.ActiveRow;
if (ugr == null)
{
MessageBox.Show("您未选择任何管号队列数据,请重新选择后再进行保存操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
heatno = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
seq = Convert.ToInt16(ugr.Cells["SEQ"].Value.ToString());
rowno = ugr.Cells["ROW_NO"].Value.ToString();
cuthead = float.Parse(ugr.Cells["CUT_HEAD_LENGTH"].Value.ToString());
cutorder = float.Parse(ugr.Cells["ORDER_LENGTH"].Value.ToString());
cuttail = float.Parse(ugr.Cells["CUT_TRAIL_LENGTH"].Value.ToString());
sawno = ugr.Cells["SAW_NO"].Value.ToString();
sawnon = ugr.Cells["SAW_NO_N"].Value.ToString();
milsawrack.JudgeStoveNo = heatno;
milsawrack.Seq = seq;
milsawrack.RowNo = rowno;
milsawrack.CutHeadLength = cuthead;
milsawrack.OrderLength = cutorder;
milsawrack.CutTrailLength = cuttail;
milsawrack.SawNo = sawno;
milsawrack.SawNoN = sawnon;
if (!string.IsNullOrEmpty(ugr.Cells["REMARK"].Value.ToString()))
{
remark = ugr.Cells["REMARK"].Value.ToString();
}
else
{
remark = "";
}
milsawrack.Remark = remark;
milsawrack.RealRollLength = ugr.Cells["REAL_ROLL_LENGTH"].Value.ToString();
if (ugr.Cells["CUT_TYPE"].Value != null && ugr.Cells["CUT_TYPE"].Value != "")
{
if (ugr.Cells["CUT_TYPE"].Value.ToString().Equals("主动切尾"))
{
milsawrack.CutType = "1";
lastorder = float.Parse(milsawrack.RealRollLength.ToString()) - cuthead / 100 - cuttail / 100 - cutorder * (sawnum - 1);
milsawrack.LastOrderLength = lastorder;
}
else
{
milsawrack.CutType = "0";
lastorder = float.Parse(milsawrack.RealRollLength.ToString()) - cuthead / 100 - cuttail / 100 - cutorder * (sawnum - 1);
milsawrack.LastOrderLength = lastorder;
}
}
//milsawrack.
}
///
/// 保存当前实绩(该)
///
public void SawResultSave()
{
string saveflag = "0";
MilSawResultEntity milsawresult = new MilSawResultEntity();
this.pipeSawResult1.UltraGrid2.UpdateData();
milsawresult = NativeMethod.GetUltraGridToEntityNEW(this.pipeSawResult1.UltraGrid2, milsawresult);
milsawresult.OrderLength = milsawresult.TargetLength;
//milsawresult.SawNum = pipeSawResult1.UltraGrid2.// Rows[0]["SAW_NUM"].toString();
milsawresult.SawNum = this.pipeSawResult1.UltraGrid2.Rows[0].Cells["SAW_NUM"].Value.ToString();
if (this.ultraGridPlan.ActiveRow == null && ActiveJUDGE_STOVE_NO == null)
{
MessageBox.Show("未选择任何炉号,请选择炉号后进行保存操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (this.ultraGridPlan.ActiveRow == null)
{
milsawresult.JudgeStoveNo = ActiveJUDGE_STOVE_NO;
}
else
{
milsawresult.JudgeStoveNo = this.ultraGridPlan.ActiveRow.Cells["JUDGE_STOVE_NO"].Value.ToString();
}
if (ActiveStatus == "3")
{
MessageBox.Show("炉号:【" + milsawresult.JudgeStoveNo + "】未开始进行分切,不允许进行保存操作!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (ActiveStatus == "1")
{
saveflag = "1";
//MessageBox.Show("炉号:【" + milsawresult.JudgeStoveNo + "】已完成分切操作,不允许进行保存操作!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
//return;
}
//if (MessageUtil.ShowYesNoAndQuestion("确认炉号【" + milsawresult.JudgeStoveNo + "】保存实绩?") == DialogResult.No)
//{
// return;
//}
milsawresult.NodeFurFlag = "0";
milsawresult.ProPlanId = proPlanId;
milsawresult.GxPlanNo = gxPlanNo;
//插入实绩表
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateSawResult", new object[] { milsawresult, saveflag }, this.ob);
if (count == 1)
{
MessageBox.Show("保存操作完成!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.pipeSawResult1.IsCellSelect = false;
PlanQuery();
}
}
///
/// 结炉操作
/// 1、判断上一道工序结炉状态,2、更新实绩表(包括结炉时间,结炉状态),3.更新主表NODE_STATUS
///
public void SawesultNode()
{
SawResultSave();
if (this.PlineCode.Equals("C009"))
{
//if (this.TestMethod.Contains("1"))
//{
// MessageBox.Show("您的操作台不允许进行分切结炉操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
// return;
//}
}
//判断是否有重复剔除的坯子
foreach (UltraGridRow ugr4 in ultraGridMatSeq.Rows)
{
if (ugr4.Cells["MAT_NO"].Value.ToString().Equals("") && ugr4.Cells["STATUS"].Value.ToString().Equals("剔除"))
{
MessageBox.Show("不存在序号第【" + ugr4.Cells["SEQ"].Value.ToString() + "】的管子,它已被其它工序剔除,不能再次剔除", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
HOTMethod hm = new HOTMethod(this.ob);
int WaitChangeSeq = hm.GetWaitChangeSeq(ActiveJUDGE_STOVE_NO, ActiveResultNo, "", 6, 0, proPlanId, gxPlanNo);
if (WaitChangeSeq > 0)
{
MessageBox.Show("管号【" + WaitChangeSeq + "】未接班确认,不能结炉", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//UltraGridRow ugrRack = this.ultraGridMatSeq.ActiveRow;
//if (ugrRack == null)
//{
// return;
//}
//if (ugrRack.Cells["CUT_HEAD_LENGTH"].Text.Trim() == "")
//{
// MessageUtil.ShowTips("分切未成功,请开始回退后再进行分切!");
// return;
//}
UltraGridRow ugr_plan = this.ultraGridPlan.ActiveRow;
//UltraGridRow ugr = ultraGridPlan.ActiveRow;
UltraGridRow ugr1 = this.pipeSawResult1.UltraGrid2.Rows[0];
UltraGridRow ugr2 = this.rollingCard1.UltraGrid4.Rows[0];
pipeSawResult1.UltraGrid2.UpdateData();
if (ugr_plan != null)
{
string JudgeStoveNo = ugr_plan.Cells["JUDGE_STOVE_NO"].Value.ToString();
string resultNo = ugr_plan.Cells["ID"].Value.ToString();
//string Status = ugr_plan.Cells["IS_START"].Value.ToString();
string Status = doQueryJugeNoStaus(resultNo, JudgeStoveNo, PlineCode);
if (Status == "1")
{
MessageBox.Show("炉号:【" + JudgeStoveNo + "】已完成分切操作,不允许进行结炉操作!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//查询定径结炉是否完成
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetMIL_SIZING_RESULT", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
if (dt.Rows.Count == 0)
{
MessageBox.Show("炉号【" + JudgeStoveNo + "】还未定径完成,不能结炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(dt.Rows[0]["NODE_FUR_FLAG"].ToString()))
{
MessageBox.Show("炉号【" + JudgeStoveNo + "】还未定径完成,不能结炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (dt.Rows[0]["NODE_FUR_FLAG"].ToString() != "1")//
{
MessageBox.Show("炉号【" + JudgeStoveNo + "】还未定径完成,不能结炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
int cut = LimitCut(JudgeStoveNo);
if (cut > 0)
{
MessageBox.Show("炉号:【" + JudgeStoveNo + "】存在【" + cut + "】支母管未进行分切操作,不允许结炉。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (MessageUtil.ShowYesNoAndQuestion("确认炉号【" + JudgeStoveNo + "】结炉?") == DialogResult.No)
{
return;
}
DataTable dtDeatail = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetResultDetail", new object[] { this.ActiveJUDGE_STOVE_NO, proPlanId, gxPlanNo }, this.ob);
if (dtDeatail.Rows.Count > 0)
{
int rownomax = 0;
foreach (DataRow dr in dtDeatail.Rows)
{
if (!dr["SAW_FLAG"].Equals("3"))
{
MessageBox.Show("炉号:【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】还未分切结束,不允许进行管号队列修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
//只针对快速分切,如果是逐排切的话则允许
}
rownomax = (rownomax > int.Parse(dr["ROW_NO"].ToString())) ? rownomax : (int.Parse(dr["ROW_NO"].ToString()));
}
}
else
{
MessageBox.Show("炉号:【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】尚未开始分切,不允许进行管号队列修改", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//保存当前实绩
MilSawResultEntity milsawresult = new MilSawResultEntity();
this.pipeSawResult1.UltraGrid2.UpdateData();
milsawresult = NativeMethod.GetUltraGridToEntityNEW(this.pipeSawResult1.UltraGrid2, milsawresult);
////切前剔除支数
//if (!string.IsNullOrEmpty(ugr2.Cells["ScrapNum9"].Value.ToString()))
//{
// milsawresult.ScrapNum = ugr2.Cells["ScrapNum9"].Value.ToString();
//}
//else
//{
// milsawresult.ScrapNum = "0";
//}
////切后剔除支数
//if (!string.IsNullOrEmpty(ugr2.Cells["ScrapNum10"].Value.ToString()))
//{
// milsawresult.ScrapDbnum = ugr2.Cells["ScrapNum10"].Value.ToString();
//}
//else
//{
// milsawresult.ScrapDbnum = "0";
//}
//来料支数
int MatNum = 0;
if (!string.IsNullOrEmpty(ugr2.Cells["QualifiedNum7"].Value.ToString()))
{
MatNum = Convert.ToInt32(ugr2.Cells["QualifiedNum7"].Value.ToString());
}
//切前合格支数
milsawresult.CutNum = MatNum - int.Parse(ugr2.Cells["ScrapNum9"].Value.ToString());
//分切数
int sawnum = int.Parse(ugr1.Cells["SAW_MUMP"].Value.ToString());
//切后合格支数
milsawresult.CutDbnum = (MatNum - int.Parse(ugr2.Cells["ScrapNum9"].Value.ToString())) * sawnum - int.Parse(ugr2.Cells["ScrapNum10"].Value.ToString());
//交接班支数
milsawresult.ChangeNum = ugr1.Cells["CHANGE_NUM"].Value.ToString();
milsawresult.JudgeStoveNo = this.ultraGridPlan.ActiveRow.Cells["JUDGE_STOVE_NO"].Value.ToString();
//合格吨
//切头切尾重量计算(待修改)
double DBHeight = 0;
double BurnningRate = 0;
double BurnningRate1 = 0;
double DBNum = 1;
int cutNum = 0;
NativeMethodNew na1 = new NativeMethodNew(this.ob);
double percent0 = na1.GetLengthPercent(JudgeStoveNo, this.ob, 0);
double percent1 = na1.GetLengthPercent(JudgeStoveNo, this.ob, 1);
double percent2 = na1.GetLengthPercent(JudgeStoveNo, this.ob, 2);
if (percent0 == 100.0)
{
MessageBox.Show("炉号:【" + JudgeStoveNo + "】尚未开始分切,不允许结炉", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
DataTable dtDBH = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getDbHeight", new object[] { JudgeStoveNo, ActiveResultNo, proPlanId, gxPlanNo }, this.ob);
if (dtDBH.Rows.Count > 0)
{
if (!string.IsNullOrEmpty(dtDBH.Rows[0]["DB_HEIGHT"].ToString()))
{
DBHeight = double.Parse(dtDBH.Rows[0]["DB_HEIGHT"].ToString());
}
if (!string.IsNullOrEmpty(dtDBH.Rows[0]["BURNNING_RATE"].ToString()))
{
BurnningRate = double.Parse(dtDBH.Rows[0]["BURNNING_RATE"].ToString());
}
if (!string.IsNullOrEmpty(dtDBH.Rows[0]["BURNINGRATE"].ToString()))
{
BurnningRate1 = double.Parse(dtDBH.Rows[0]["BURNINGRATE"].ToString());
}
if (!string.IsNullOrEmpty(dtDBH.Rows[0]["DB_NUM"].ToString()))
{
DBNum = double.Parse(dtDBH.Rows[0]["DB_NUM"].ToString());
}
if (!string.IsNullOrEmpty(dtDBH.Rows[0]["CUT_NUM"].ToString()))
{
cutNum = int.Parse(dtDBH.Rows[0]["CUT_NUM"].ToString());
}
}
//分产线 是否经过再加热炉
if (this.PlineCode == "C008" || this.PlineCode == "C009" || PlineCode == "C012" || PlineCode == "C017" || PlineCode == "C010")
{
double temp = DBHeight * (1 - (BurnningRate / 100));
double tempnum = double.Parse(milsawresult.CutDbnum.ToString());
milsawresult.QaTon = temp * percent0 / 100 * tempnum;
//milsawresult.CutHeadHeightTotal = temp * percent1 / 100 * int.Parse(milsawresult.CutNum.ToString());//单倍重*(1-烧损率)*定尺长度占比*切合支数
//milsawresult.CutTrailHeigthTotal = temp * percent2 / 100 * int.Parse(milsawresult.CutNum.ToString());
milsawresult.CutHeadHeightTotal = DBHeight * 1.02 * cutNum * percent1 / 1000;
milsawresult.CutTrailHeigthTotal = DBHeight * 1.02 * cutNum * percent2 / 1000;
milsawresult.CutTrailLengthTotal = double.Parse(milsawresult.CutTrailLength.ToString()) * double.Parse(milsawresult.CutNum.ToString()) / 1000;
milsawresult.CutHeadLengthTotal = double.Parse(milsawresult.CutHeadLength.ToString()) * double.Parse(milsawresult.CutNum.ToString()) / 1000;
}
//else
//{
// double temp = DBHeight * (1 - (BurnningRate / 100)) * (1 - (BurnningRate1 / 100));
// double tempnum = double.Parse(milsawresult.CutDbnum.ToString());
// milsawresult.QaTon = temp * percent0 / 100 * tempnum;
// milsawresult.CutHeadHeightTotal = temp * percent1 / 100 * int.Parse(milsawresult.CutNum.ToString());
// milsawresult.CutTrailHeigthTotal = temp * percent2 / 100 * int.Parse(milsawresult.CutNum.ToString());
// milsawresult.CutTrailLengthTotal = double.Parse(milsawresult.CutTrailLength.ToString()) * double.Parse(milsawresult.CutNum.ToString()) / 1000;
// milsawresult.CutHeadLengthTotal = double.Parse(milsawresult.CutHeadLength.ToString()) * double.Parse(milsawresult.CutNum.ToString()) / 1000;
//}
milsawresult.ColGroup = UserInfo.GetUserGroup();
milsawresult.ColShift = UserInfo.GetUserOrder();
milsawresult.ColUser = UserInfo.GetUserName();
milsawresult.UserId = _UserID;
milsawresult.ProPlanId = proPlanId;
milsawresult.GxPlanNo = gxPlanNo;
milsawresult.JudgeStoveNo = JudgeStoveNo;
milsawresult.LotNo = lotNo;
milsawresult.PlineCode = PlineCode;
//写进程表
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.mes.zgmil.coup.PipeSawResult";
ccp.MethodName = "updateMilSlab";
ccp.ServerParams = new object[] { JudgeStoveNo, proPlanId, gxPlanNo };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnInfo.Equals("修改成功!"))
{
ccp.ServerName = "com.steering.mes.zgmil.coup.PipeSawResult";
ccp.MethodName = "updateProcessP";
ccp.ServerParams = new object[] { JudgeStoveNo, "7", "7", proPlanId, gxPlanNo, lotNo, PlineCode };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
if (ccp.ReturnInfo.Equals("修改成功!"))
{
//插入实绩表
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateSawResultNode", new object[] { milsawresult }, this.ob);
NativeMethodNew na = new NativeMethodNew(this.ob);
na.InsertSTAferDoubleClick(JudgeStoveNo, 6, "1", proPlanId, gxPlanNo);
if (count == 1)
{
//插入MIL_SLAB_SCRAP表
//int count1 = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.scrapNodeMat", new object[] { JudgeStoveNo, 7, 0,PlineCode }, this.ob);
ccp.ServerName = "com.steering.mes.zgmil.coup.PipeSawResult";
ccp.MethodName = "assignmentMatNo";
ccp.ServerParams = new object[] { JudgeStoveNo, PlineCode, proPlanId, gxPlanNo };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
NativeMethod.CheckNodeMatStatus(JudgeStoveNo, proPlanId, gxPlanNo, 6, this.ob);
//MessageBox.Show("炉号【" + JudgeStoveNo + "】结炉完成", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
//----快速分切结炉时多余料回退
//1.计算已切的料
int CutNum = 0;
int CutNumReal = int.Parse(milsawresult.CutNum.ToString());
DataTable dtCutNum = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetCutNum", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);
if (dtCutNum.Rows.Count > 0)
{
CutNum = int.Parse(dtCutNum.Rows[0]["CutNum"].ToString());
}
if (CutNum > CutNumReal)
{
//执行回退
int countback = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.UpdateRackRowNo", new object[] { JudgeStoveNo, CutNum, CutNumReal, SAW_NUM, proPlanId, gxPlanNo }, this.ob);
}
//----
this.pipeSawResult1.IsCellSelect = false;
//刷新主表
DataTable dt1 = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlan", new object[] { QueryMainPlan, 7 }, this.ob);
GridHelper.CopyDataToDatatable(ref dt1, ref dtPlan, true);
// ultraGridPlan.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
ChangeCellName();
ChangeGridColor();
foreach (UltraGridRow ugrs in this.ultraGridPlan.Rows)
{
ugrs.Cells["JUDGE_NO"].Value = BaseMethod.getJudgeStoveNo(ugrs.Cells["JUDGE_STOVE_NO"].Value.ToString());
if (ugrs.Cells["JUDGE_STOVE_NO"].Value.ToString() == JudgeStoveNo)
{
ultraGridPlan.ActiveRow = ugrs;
}
}
this.QueueDataSet.Clear();
}
}
}
else
{
MessageUtil.ShowTips(ccp.ReturnInfo);
}
}
}
}
}
///
/// 结炉回退
///
private void NodeBack()
{
if (this.ultraGridPlan.ActiveRow == null)
{
MessageBox.Show("请选择需要回退的炉号!!!");
return;
}
UltraGridRow ugr = ultraGridPlan.ActiveRow;
string JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
string ResultNo = ugr.Cells["ID"].Value.ToString();
string NodeFlag = doQueryJugeNoStaus(ResultNo, JudgeStoveNo,PlineCode);
//string NodeFlag = ugr.Cells["IS_START"].Value.ToString();
if (NodeFlag != "1")
{
MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】未结炉,不能结炉回退!!!!");
return;
}
DataTable dtMat = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmOffLine.doQueryMatScrap", new object[] { JudgeStoveNo, PlineCode, proPlanId, gxPlanNo }, this.ob);
if (dtMat.Rows.Count > 0)
{
if (int.Parse(dtMat.Rows[0][0].ToString()) > 0)
{
MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】的废品已发运,不能结炉回退!!!!");
return;
}
}
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.doNodeBackCheck", new object[] { JudgeStoveNo, ResultNo, proPlanId, gxPlanNo }, this.ob);
if (dt.Rows.Count > 0)
{
string NodeProcess = ""; //当前炉次结炉工序
string NodeStatus = dt.Rows[0][0].ToString();
switch (NodeStatus)
{
case "30":
NodeProcess = "穿孔";
break;
case "40":
NodeProcess = "连轧";
break;
case "50":
NodeProcess = "再加热炉";
break;
case "60":
NodeProcess = "定径";
break;
case "70":
NodeProcess = "分切";
break;
case "80":
NodeProcess = "矫直";
break;
case "90":
NodeProcess = "探伤";
break;
case "96":
NodeProcess = "质检";
break;
}
if (NodeStatus != "70")
{
MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】 " + NodeProcess + "工序已结炉,当前工序不能结炉回退");
return;
}
}
string Group = UserInfo.GetUserGroup();
string Shift = UserInfo.GetUserOrder();
//查询结炉班次班组
DataTable dtNodeGroup = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.doNodeBackCheck", new object[] { JudgeStoveNo, ResultNo, 6, proPlanId, gxPlanNo }, this.ob);
if (dtNodeGroup.Rows.Count > 0)
{
string NodeShift = dtNodeGroup.Rows[0][0].ToString();
string NodeGroup = dtNodeGroup.Rows[0][1].ToString();
if (Shift == NodeShift && Group == NodeGroup)
{
//判断当前炉次下道工序是否结炉 下道工序结炉 - 不允许回退
int Seq = 0;
DataTable dt2 = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.changeFlagQuery", new object[] { JudgeStoveNo, ResultNo, 6, proPlanId, gxPlanNo }, this.ob);
if (dt2.Rows.Count > 0)
{
Seq = int.Parse(dt2.Rows[0][0].ToString());
}
int count3 = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.updateSlabSeq", new object[] { JudgeStoveNo, proPlanId, gxPlanNo }, this.ob);//情况作废表支材料号
int count2 = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.nodeBack", new object[] { JudgeStoveNo, ResultNo, 6, PlineCode, Seq, 0, 7, proPlanId, gxPlanNo, lotNo }, this.ob);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.mes.zgmil.coup.FrmOffLine";
ccp.MethodName = "insertMatScrapBack";
ccp.ServerParams = new object[] { JudgeStoveNo, proPlanId, gxPlanNo, PlineCode, "7" };
ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{ MessageUtil.ShowTips(ccp.ReturnInfo); }
ChangeGridColor();
PlanQuery();
}
else
{
switch (NodeShift)
{
case "0":
NodeShift = "白班";
break;
case "1":
NodeShift = "早班";
break;
case "2":
NodeShift = "中班";
break;
case "3":
NodeShift = "夜班";
break;
}
switch (NodeGroup)
{
case "1":
NodeGroup = "甲班";
break;
case "2":
NodeGroup = "乙班";
break;
case "3":
NodeGroup = "丙班";
break;
case "4":
NodeGroup = "丁班";
break;
}
switch (this.UserInfo.GetUserOrder())
{
case "0":
Shift = "白班";
break;
case "1":
Shift = "早班";
break;
case "2":
Shift = "中班";
break;
case "3":
Shift = "夜班";
break;
}
switch (this.UserInfo.GetUserGroup())
{
case "1":
Group = "甲班";
break;
case "2":
Group = "乙班";
break;
case "3":
Group = "丙班";
break;
case "4":
Group = "丁班";
break;
}
MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(JudgeStoveNo) + "】已由" + NodeGroup + "," + NodeShift + "结炉,当班不能结炉回退");
return;
}
}
}
private void ChangeShiftBack()
{
if (string.IsNullOrEmpty(this.ActiveJUDGE_STOVE_NO))
{
MessageBox.Show("您未选择任何计划,不允许进行交班回退操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
UltraGridRow ugr_plan = this.ultraGridPlan.ActiveRow;
string Status = ugr_plan.Cells["IS_START"].Value.ToString();
if (Status == "已完成分切")
{
MessageBox.Show("炉号:【" + ActiveJUDGE_STOVE_NO + "】已完成分切操作,不允许进行交班取消!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (Status == "未开始分切")
{
MessageBox.Show("炉号:【" + ActiveJUDGE_STOVE_NO + "】未开始分切操作,不允许进行交班取消!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
string Shift = UserInfo.GetUserOrder();
string Group = UserInfo.GetUserGroup();
NativeMethodNew na = new NativeMethodNew(this.ob);
if (na.ChangeShiftBackCheck(this.ActiveJUDGE_STOVE_NO, this.ActiveResultNo, this.PlineCode, Shift, Group, 6, "0") || na.ChangeShiftBackCheckelse(this.ActiveJUDGE_STOVE_NO, this.ActiveResultNo, this.PlineCode, Shift, Group, 6, "0", proPlanId, gxPlanNo))
{
int count = na.ChangeShiftBack(this.ActiveJUDGE_STOVE_NO, this.ActiveResultNo, proPlanId, gxPlanNo, this.PlineCode, Shift, Group, 6);
//na.ChangeShiftBack(this.ActiveJUDGE_STOVE_NO, this.ActiveResultNo, this.PlineCode, Shift, Group, 6, "2");
//if (this.PlineCode.Equals("C010"))
//{
// na.ChangeShiftBack(this.ActiveJUDGE_STOVE_NO, this.ActiveResultNo, this.PlineCode, Shift, Group, 6, "3");
//}
if (count < 1)
{
//MessageBox.Show("交班回退失败, 请确认后重新操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
else
{
switch (Shift)
{
case "1":
Shift = "早班";
break;
case "2":
Shift = "中班";
break;
case "3":
Shift = "夜班";
break;
}
switch (Group)
{
case "1":
Group = "甲班";
break;
case "2":
Group = "乙班";
break;
case "3":
Group = "丙班";
break;
case "4":
Group = "丁班";
break;
}
MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(ActiveJUDGE_STOVE_NO) + "】未在" + Group + "," + Shift + "进行交班操作,不允许进行交班取消操作");
return;
}
GetSawResultEdit(ActiveJUDGE_STOVE_NO);//分切计划
GetMatRack(ActiveJUDGE_STOVE_NO);
ChangeGridColor();
}
private void PrintResult()
{
DateTime SeverTime = NativeMethod.GetSeverTime(this.ob);
string Time = SeverTime.ToLongTimeString();
string StartTime = "";
string EndTime = "";
string strurl = "";
if (this.PlineCode.Equals("C009"))
{
if (this.TestMethod.Contains("2"))
{
MessageBox.Show("您的操作台不允许保存原始记录。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
switch (PlineCode)
{
case "C008": //250
Time = Time.Replace(":", "");
if (int.Parse(Time) < 070000)
{
StartTime = SeverTime.AddDays(-1).ToShortDateString() + " 07:00:00";
EndTime = SeverTime.ToShortDateString() + " 07:00:00";
string Date2 = SeverTime.ToString("yyyy-MM-dd");
strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSawResult250.cpt&format=pdf&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PlineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
}
else
{
StartTime = SeverTime.ToShortDateString() + " 07:00:00";
EndTime = SeverTime.AddDays(1).ToShortDateString() + " 07:00:00";
strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSawResult250.cpt&format=pdf&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PlineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
}
break;
case "C009": //258
//晚班
Time = Time.Replace(":", "");
if (int.Parse(Time) < 070000)
{
StartTime = SeverTime.AddDays(-1).ToShortDateString() + " 07:00:00";
EndTime = SeverTime.ToShortDateString() + " 07:00:00";
string Date2 = SeverTime.ToString("yyyy-MM-dd");
strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSawResult258.cpt&format=pdf&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PlineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
}
else
{
StartTime = SeverTime.ToShortDateString() + " 07:00:00";
EndTime = SeverTime.AddDays(1).ToShortDateString() + " 07:00:00";
strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSawResult258.cpt&format=pdf&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PlineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
}
break;
case "C072": //508
//晚班
Time = Time.Replace(":", "");
if (int.Parse(Time) < 070000)
{
StartTime = SeverTime.AddDays(-1).ToShortDateString() + " 07:00:00";
EndTime = SeverTime.ToShortDateString() + " 07:00:00";
string Date2 = SeverTime.ToString("yyyy-MM-dd");
strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSawResult508.cpt&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PlineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
}
else
{
StartTime = SeverTime.ToShortDateString() + " 07:00:00";
EndTime = SeverTime.AddDays(1).ToShortDateString() + " 07:00:00";
strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSawResult508.cpt&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PlineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
}
break;
case "C010": //168
Time = Time.Replace(":", "");
if (int.Parse(Time) < 070000)
{
StartTime = SeverTime.AddDays(-1).ToShortDateString() + " 07:00:00";
EndTime = SeverTime.ToShortDateString() + " 07:00:00";
string Date2 = SeverTime.ToString("yyyy-MM-dd");
strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSawResult168.cpt&format=pdf&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PlineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
}
else
{
StartTime = SeverTime.ToShortDateString() + " 07:00:00";
EndTime = SeverTime.AddDays(1).ToShortDateString() + " 07:00:00";
strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSawResult168.cpt&format=pdf&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PlineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
}
break;
case "C012": //Arssel
break;
case "C017": //460
Time = Time.Replace(":", "");
if (int.Parse(Time) < 070000)
{
StartTime = SeverTime.AddDays(-1).ToShortDateString() + " 07:00:00";
EndTime = SeverTime.ToShortDateString() + " 07:00:00";
string Date2 = SeverTime.ToString("yyyy-MM-dd");
strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSawResult460.cpt&format=pdf&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PlineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
}
else
{
StartTime = SeverTime.ToShortDateString() + " 07:00:00";
EndTime = SeverTime.AddDays(1).ToShortDateString() + " 07:00:00";
strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepMilSawResult460.cpt&format=pdf&SHIFT=" + Shift + "&GROUP=" + Group + "&DATE=" + StartTime + "&PLINECODE=" + PlineCode + "&DATE2=" + EndTime + "&USERID=" + _UserID;
}
break;
}
FrmExcel fre = new FrmExcel(this.ob, strurl);
// FrmRepExcel fre = new FrmRepExcel(this.ob, strurl);
fre.AutoSize = true;
fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
fre.WindowState = FormWindowState.Maximized;
fre.Show();
}
///
/// 计划表ROW点击变换判断
///
///
///
private void ultraGridPlan_BeforeRowActivate(object sender, RowEventArgs e)
{
if (this.pipeSawResult1.IsCellSelect == true)
{
NativeMethodNew na = new NativeMethodNew(this.ob);
if (!na.isBegineNode(ActiveJUDGE_STOVE_NO, 6))
{
this.pipeSawResult1.IsCellSelect = false;
return;
}
//if (MessageBox.Show("提示:探伤实绩可能已修改,是否保存", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
//{
this.pipeSawResult1.IsCellSelect = false;
//保存探伤实绩
SawResultSave();
//}
//else
//{
this.pipeSawResult1.IsCellSelect = false;
foreach (UltraGridRow ugr in this.ultraGridPlan.Rows)
{
if (ugr.Cells["JUDGE_STOVE_NO"].Value.ToString() == ActiveJUDGE_STOVE_NO)
{
this.ultraGridPlan.ActiveRow = ugr;
}
}
return;
//}
}
}
///
/// 排数据保存
///
///
public void RowResultSave(int SawNo)
{
MilSawResultDeatilEntity MilSawResultDeatilSave = new MilSawResultDeatilEntity();
UltraGridRow ugr = ultraGridPlan.ActiveRow;
UltraGridRow ugr1 = this.pipeSawResult1.UltraGrid2.Rows[0];
if (ugr != null)
{
MilSawResultDeatilSave.JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
if (SawNo == 1)
{
//排号
MilSawResultDeatilSave.RowNo = ugr1.Cells["ROW_NO1"].ToString();
//锯号1
MilSawResultDeatilSave.SawNo = ugr1.Cells["SAW_NO11"].ToString();
//锯号2
MilSawResultDeatilSave.SawNoN = ugr1.Cells["SAW_NO12"].ToString();
//切头
MilSawResultDeatilSave.CutHeadLength = ugr1.Cells["CUT_HEAD_LENGTH1"].ToString();
//切尾
MilSawResultDeatilSave.CutTrailLength = ugr1.Cells["CUT_HEAD_LENGTH1"].ToString();
//定尺
MilSawResultDeatilSave.OrderLength = ugr1.Cells["ORDER_LENGTH1"].ToString();
//切头总长度 = 切头 * 排支数
MilSawResultDeatilSave.CutHeadLengthTotal = ugr1.Cells["CUT_HEAD_LENGTH_TOTAL1"].ToString();
//切尾总长度 = 切尾 * 排支数
MilSawResultDeatilSave.CutTrailLengthTotal = ugr1.Cells["CUT_TRAIL_LENGTH_TOTAL1"].ToString();
//切头总重量
MilSawResultDeatilSave.CutHeadHeightTotal = ugr1.Cells["CUT_HEAD_HEIGTH_TOTAL1"].ToString();
//切尾总重量
MilSawResultDeatilSave.CutTrailHeigthTotal = ugr1.Cells["CUT_TRAIL_HEIGTH_TOTAL1"].ToString();
}
else
{
//排号
MilSawResultDeatilSave.RowNo = ugr1.Cells["ROW_NO2"].ToString();
//锯号1
MilSawResultDeatilSave.SawNo = ugr1.Cells["SAW_NO21"].ToString();
//锯号2
MilSawResultDeatilSave.SawNoN = ugr1.Cells["SAW_NO22"].ToString();
//切头
MilSawResultDeatilSave.CutHeadLength = ugr1.Cells["CUT_HEAD_LENGTH2"].ToString();
//切尾
MilSawResultDeatilSave.CutTrailLength = ugr1.Cells["CUT_HEAD_LENGTH2"].ToString();
//定尺
MilSawResultDeatilSave.OrderLength = ugr1.Cells["ORDER_LENGTH2"].ToString();
//切头总长度 = 切头 * 排支数
MilSawResultDeatilSave.CutHeadLengthTotal = ugr1.Cells["CUT_HEAD_LENGTH_TOTAL2"].ToString();
//切尾总长度 = 切尾 * 排支数
MilSawResultDeatilSave.CutTrailLengthTotal = ugr1.Cells["CUT_TRAIL_LENGTH_TOTAL2"].ToString();
//切头总重量
MilSawResultDeatilSave.CutHeadHeightTotal = ugr1.Cells["CUT_HEAD_HEIGTH_TOTAL2"].ToString();
//切尾总重量
MilSawResultDeatilSave.CutTrailHeigthTotal = ugr1.Cells["CUT_TRAIL_HEIGTH_TOTAL2"].ToString();
}
MilSawResultDeatilSave.ColUser = UserInfo.GetUserName();
MilSawResultDeatilSave.ColGroup = UserInfo.GetUserGroup();
MilSawResultDeatilSave.ColShift = UserInfo.GetUserOrder();
int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.PipeSawResult.updateRowResult", new object[] { MilSawResultDeatilSave }, this.ob);
}
}
#endregion
//#region 控件赋值
///
/// 轧制信息Grid赋值
///
/// 轧制计划信息datatable
public void GridEdit(DataTable dt)
{
if (dt.Rows.Count > 0)
{
DataRow row1 = dt.Rows[0];
//熔炼炉号
this.rollingInfomation1.Value.StoveNo = row1["stove_no"].ToString();
//炉号
this.rollingInfomation1.Value.JudgeStoveNo = BaseMethod.getJudgeStoveNo(row1["judge_stove_no"].ToString());
//生产批号
this.rollingInfomation1.Value.LotNo = row1["lot_no"].ToString();
//工序合同号
this.rollingInfomation1.Value.ContractNo = row1["contract_no"].ToString();
//执行工艺号
this.rollingInfomation1.Value.ImpProcess = row1["imp_process"].ToString();
//执行工艺号路径
this.rollingInfomation1.Value.ImpProcessPath = row1["imp_process_path"].ToString();
//产线代码
this.rollingInfomation1.Value.PlineCode = row1["pline_code"].ToString();
//状态
this.rollingInfomation1.Value.Status = row1["STATUS"].ToString();
//监制
this.rollingInfomation1.Value.Producer = row1["producer"].ToString();
//工艺状态
this.rollingInfomation1.Value.ProcessStatus = row1["process_status"].ToString();
//单倍长
this.rollingInfomation1.Value.DbLength = row1["db_length"].ToString();
//单倍重
this.rollingInfomation1.Value.DbHeight = row1["db_height"].ToString();
//轧制长度
this.rollingInfomation1.Value.RollLength = row1["roll_length"].ToString();
//分切数
this.rollingInfomation1.Value.SawNum = row1["saw_num"].ToString();
//目标长度
this.rollingInfomation1.Value.TargetLength = row1["target_length"].ToString();
//最终用户
this.rollingInfomation1.Value.FinishUser = row1["finish_user"].ToString();
//目标库
this.rollingInfomation1.Value.TargetLiabrary = row1["target_liabrary"].ToString();
//品种
this.rollingInfomation1.Value.Varieties = row1["varieties"].ToString();
//成品规格
this.rollingInfomation1.Value.PipeSize = row1["pipe_size"].ToString();
//扣型
this.rollingInfomation1.Value.BuckleType = row1["buckle_type"].ToString();
//长度范围
this.rollingInfomation1.Value.LengthRange = row1["length_range"].ToString();
//轧管判定标准
this.rollingInfomation1.Value.RollStandrad = row1["roll_standrad"].ToString();
//断面
this.rollingInfomation1.Value.PipeSection = row1["pipe_section"].ToString();
//钢种代码
this.rollingInfomation1.Value.SteelCode = row1["steelcode"].ToString();
//钢种名称
this.rollingInfomation1.Value.SteelName = row1["steelname"].ToString();
//钢级代码
this.rollingInfomation1.Value.GradeCode = row1["gradecode"].ToString();
//钢级名称
this.rollingInfomation1.Value.GradeName = row1["gradename"].ToString();
//炼钢判定标准
this.rollingInfomation1.Value.SteelStandrad = row1["steel_standrad"].ToString();
//去向
this.rollingInfomation1.Value.Target = row1["target"].ToString();
//支
this.rollingInfomation1.Value.PlanNum = row1["BRANCH"].ToString();
//吨
this.rollingInfomation1.Value.PlanTon = row1["TON"].ToString();
//切损去向
this.rollingInfomation1.Value.CutTarget = row1["cut_target"].ToString();
//切损长度
this.rollingInfomation1.Value.CutLength = row1["cut_length"].ToString();
//切损重量
this.rollingInfomation1.Value.CutHeight = row1["CUT_WEIGHT"].ToString();
//倍尺数
this.rollingInfomation1.Value.DbNum = row1["DB_NUM"].ToString();
//标准类别代码
this.rollingInfomation1.Value.StdStyle = row1["STD_STYLE"].ToString();
//标准类别描述
this.rollingInfomation1.Value.StdStyleDesc = row1["STD_STYLE_DESC"].ToString();
//成品备注
this.rollingInfomation1.Value.ReMark = row1["ReMark"].ToString();
this.rollingInfomation1.UpdateData();
}
}
///
/// 流通卡赋值
///
///
public void RollingCardEditGrid(DataTable dt, string heatno)
{
if (dt.Rows.Count > 0)
{
//上料切前剔除支数
this.rollingCard1.Value.FeedScrapNum = dt.Rows[0]["SCRAP_FEED"].ToString();
//上料切前合格支数
this.rollingCard1.Value.FeedQualifiedNum = dt.Rows[0]["QUALIFIED_FEED"].ToString();
//上料剔除支数
this.rollingCard1.Value.FeedScrapDBNum = dt.Rows[0]["SCRAP_DBFEED"].ToString();
//上料合格支数
this.rollingCard1.Value.FeedQualifiedDBNum = dt.Rows[0]["QUALIFIED_DBFEED"].ToString();
//加热炉剔除支数
this.rollingCard1.Value.FurScrapNum = dt.Rows[0]["SCRAP_FUR"].ToString();
//加热炉合格支数
this.rollingCard1.Value.FurQualifiedNum = dt.Rows[0]["QUALIFIED_FUR"].ToString();
//穿孔剔除支数
this.rollingCard1.Value.PerScrapNum = dt.Rows[0]["SCRAP_PER"].ToString();
//穿孔合格支数
this.rollingCard1.Value.PerQualifiedNum = dt.Rows[0]["QUALIFIED_PER"].ToString();
//连轧剔除支数
this.rollingCard1.Value.RollingScrapNum = dt.Rows[0]["SCRAP_ROLLING"].ToString();
//连轧合格支数
this.rollingCard1.Value.RollingQualifiedNum = dt.Rows[0]["QUALIFIED_ROLLING"].ToString();
//再加热炉剔除支数
this.rollingCard1.Value.RefurScrapNum = dt.Rows[0]["SCRAP_REFUR"].ToString();
//再加热炉合格支数
this.rollingCard1.Value.RefurQualifiedNum = dt.Rows[0]["QUALIFIED_REFUR"].ToString();
//定径剔除支数
this.rollingCard1.Value.SizingScrapNum = dt.Rows[0]["SCRAP_SIZING"].ToString();
//定径合格支数
this.rollingCard1.Value.SizingQualifiedNum = dt.Rows[0]["QUALIFIED_SIZING"].ToString();
//分切前剔除支数
this.rollingCard1.Value.SawScrapNumBE = dt.Rows[0]["SCRAP_SAW_BE"].ToString();
//分切前合格支数
this.rollingCard1.Value.SawQualifiedNumBE = dt.Rows[0]["QUALIFIED_SAW_BE"].ToString();
//分切剔除支数
this.rollingCard1.Value.SawScrapNum = dt.Rows[0]["SCRAP_SAW"].ToString();
//分切合格支数
this.rollingCard1.Value.SawQualifiedNum = dt.Rows[0]["QUALIFIED_SAW"].ToString();
//矫直剔除支数
this.rollingCard1.Value.StraightScrapNum = dt.Rows[0]["SCRAP_STRAIGHT"].ToString();
//矫直合格支数
this.rollingCard1.Value.StraightQualifiedNum = dt.Rows[0]["QUALIFIED_STRAIGHT"].ToString();
//矫直下线支数
this.rollingCard1.Value.OfflineStraight = dt.Rows[0]["OFFLINE_STRAIGHT"].ToString();
//矫直返线支数
this.rollingCard1.Value.BacklineStraight = dt.Rows[0]["BACKLINE_STRAIGHT"].ToString();
//探伤剔除支数
this.rollingCard1.Value.TestingScrapNum = dt.Rows[0]["SCRAP_TESTING"].ToString();
//探伤合格支数
this.rollingCard1.Value.TestingQualifiedNum = dt.Rows[0]["QUALIFIED_TESTING"].ToString();
NativeMethodNew na = new NativeMethodNew(this.ob);
if (na.isBegineNode(heatno, 8) || na.isBegineNode(heatno, 9) || na.isBegineNode(heatno, 10))
{
//探伤下线支数
this.rollingCard1.Value.OfflineTesting = dt.Rows[0]["OFFLINE_TESTING"].ToString();
this.rollingCard1.Value.BacklineTesting = dt.Rows[0]["BACKLINE_TESTING"].ToString();
}
else
{
if (dt.Rows[0]["OFFLINE_TESTING"].ToString() == "0")
{
this.rollingCard1.Value.OfflineTesting = "";
this.rollingCard1.Value.BacklineTesting = "";
}
else
{
//探伤下线支数
this.rollingCard1.Value.OfflineTesting = dt.Rows[0]["OFFLINE_TESTING"].ToString();
this.rollingCard1.Value.BacklineTesting = dt.Rows[0]["BACKLINE_TESTING"].ToString();
}
}
this.rollingCard1.UpdateData();
}
else
{
this.rollingCard1.ClearData();
}
}
///
/// 分切计划信息(实绩)
///
///
public void GetSawResultEdit(string str)
{
MilSawResultEntity milsawresult = new MilSawResultEntity();
//查询分切实绩主表
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetSawResult", new object[] { str, proPlanId, gxPlanNo }, this.ob);
if (dt.Rows.Count > 0)
{
//探伤卡赋值
milsawresult = NativeMethod.GetTableToEntity(dt, milsawresult);
this.pipeSawResult1.MilSawResult = milsawresult;
//this.crackDetectionResult1.UpdateData();
}
else
{
this.pipeSawResult1.Clear();
milsawresult.Clear();
//this.crackDetectionResult1.milet = milet;
//this.crackDetectionResult1.UpdateData();
// GridHelper.InitCardGrid(pipeSawResult1.PipeSawDataSource1,pipeSawResult1.UltraGrid2 );
}
}
///
/// 主计划信息(七条)
///
///
public void GetMilplanEdit(DataTable dtMP)
{
MilPlan milplan = new MilPlan();
if (dtMP.Rows.Count > 0)
{
milplan = NativeMethod.GetTableToEntity(dtMP, milplan);
}
SAW_NUM = Int16.Parse(string.IsNullOrEmpty(milplan.SawNum.ToString())?"0" : milplan.SawNum.ToString());
this.pipeSawResult1.MilPlan = milplan;
this.pipeSawResult1.UpdateDate_milplan();
}
///
/// 快速分切
///
public void pipsawfast()
{
if (doQueryJugeNoStaus(this.ultraGridPlan.ActiveRow.Cells["ID"].Value.ToString(), this.ultraGridPlan.ActiveRow.Cells["JUDGE_STOVE_NO"].Value.ToString(),PlineCode) != "0")
{
MessageBox.Show("该计划不是开始分切状态,不允许进行分切。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//if (userRoom == 2)
//{
// MessageBox.Show("该台不允许进行快速分切。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
// return;
//}
if (string.IsNullOrEmpty(MainPlan.JudgeStoveNo))
{
MessageBox.Show("您未选择任何生产计划,请确认后重新进行快速分切操作。", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
DataTable dtMP = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.getSingleMainPlanForHeatNo", new object[] { MainPlan }, this.ob);
if (dtMP.Rows.Count > 0)
{
string PlinCode = dtMP.Rows[0]["PLINE_CODE"].ToString();
string HeatNo = dtMP.Rows[0]["JUDGE_STOVE_NO"].ToString();
string OrderLength = dtMP.Rows[0]["TARGET_LENGTH"].ToString();
string HeadLength = dtMP.Rows[0]["CUT_HEAD_LENGTHP"].ToString();
string TailLengeh = dtMP.Rows[0]["CUT_TRAIL_LENGTHP"].ToString();
string lotno = dtMP.Rows[0]["LOT_NO"].ToString();
string stoveno = dtMP.Rows[0]["STOVE_NO"].ToString();
string CUT_HEAD_LENGTHA = dtMP.Rows[0]["CUT_HEAD_LENGTHA"].ToString();
string CUT_TRAIL_LENGTHA = dtMP.Rows[0]["CUT_TRAIL_LENGTHA"].ToString();
string ORDER_LENGTHA = dtMP.Rows[0]["ORDER_LENGTHA"].ToString();
PipSawFast p1 = new PipSawFast(this.ob, PlinCode, HeatNo, proPlanId, gxPlanNo, OrderLength, HeadLength, TailLengeh, lotno, stoveno, SAW_NUM, CUT_HEAD_LENGTHA, CUT_TRAIL_LENGTHA, ORDER_LENGTHA);
p1.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
if (p1.ShowDialog() == DialogResult.OK)
{
GetMatRack(HeatNo);
ChangeGridColor();
GetSawResultEdit(HeatNo);//分切计划信息
}
}
}
public void colchang()
{
if (string.IsNullOrEmpty(ActiveJUDGE_STOVE_NO))
{
MessageBox.Show("您未选择任何住计划,不允许执行子管换台操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
DataTable dtResult = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmStraighteningResult.getPerResult", new object[] { ActiveJUDGE_STOVE_NO, proPlanId, gxPlanNo }, this.ob);
DataTable dtFlag = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmStraighteningResult.GetSingleJRLResult", new object[] { ActiveJUDGE_STOVE_NO, proPlanId, gxPlanNo }, this.ob);
if (dtFlag.Rows.Count == 0)
{
MessageBox.Show("炉号:【" + ActiveJUDGE_STOVE_NO + "】尚开始分切,不允许进行子管换台操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(dtFlag.Rows[0]["NODE_FUR_FLAG"].ToString()))
{
MessageBox.Show("炉号:【" + ActiveJUDGE_STOVE_NO + "】尚开始分切,不允许进行子管换台操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (!dtFlag.Rows[0]["NODE_FUR_FLAG"].ToString().Equals("1"))
{
MessageBox.Show("炉号:【" + ActiveJUDGE_STOVE_NO + "】分切工序尚未结炉,不允许进行子管换台操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (dtResult.Rows.Count == 0)
{
MessageBox.Show("炉号:【" + ActiveJUDGE_STOVE_NO + "】尚开始矫直,不允许进行子管换台操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(dtResult.Rows[0]["NODE_FUR_FLAG"].ToString()))
{
MessageBox.Show("炉号:【" + ActiveJUDGE_STOVE_NO + "】尚开始矫直,不允许进行子管换台操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (dtResult.Rows[0]["NODE_FUR_FLAG"].ToString().Equals("1"))
{
MessageBox.Show("炉号:【" + ActiveJUDGE_STOVE_NO + "】已完成矫直,不允许进行子管换台操作", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
ColNoChanges col = new ColNoChanges(this.ob, "00", ActiveJUDGE_STOVE_NO, PlineCode, proPlanId, gxPlanNo);
if (col.ShowDialog() == DialogResult.OK)
{
this.GetMatRack(ActiveJUDGE_STOVE_NO);
ChangeGridColor();
}
}
#region
///
/// 分切计划信息
///
///
////public void GetSawResultEdit(string str)
//{
// //查询分切实绩主表
// DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.GetSawResult", new object[] { str }, this.ob);
// if (dt.Rows.Count > 0)
// {
// //切头长度
// this.pipeSawResult1.Value.CutHeadLength = dt.Rows[0]["CUT_HEAD_LENGTH"].ToString();
// //切尾长度
// this.pipeSawResult1.Value.CutTrailLength = dt.Rows[0]["CUT_TRAIL_LENGTH"].ToString();
// //控制壁厚
// this.pipeSawResult1.Value.ColThick = dt.Rows[0]["COL_THICK"].ToString();
// //分切数
// this.pipeSawResult1.Value.CutNum = dt.Rows[0]["CUT_NUM"].ToString();
// //目标长度
// this.pipeSawResult1.Value.TargetLength = dt.Rows[0]["TARGET_LENGTH"].ToString();
// //切尾类型
// this.pipeSawResult1.Value.CutType = dt.Rows[0]["CUT_TYPE"].ToString();
// //切前剔除支数
// this.pipeSawResult1.Value.ScrapNum = dt.Rows[0]["SCRAP_NUM"].ToString();
// //切后剔除支数
// this.pipeSawResult1.Value.ScrapDbnum = dt.Rows[0]["SCRAP_DBNUM"].ToString();
// //合格支数
// this.pipeSawResult1.Value.CutNum = dt.Rows[0]["CUT_NUM"].ToString();
// //交接班支数
// this.pipeSawResult1.Value.ChangeNum = dt.Rows[0]["CHANGE_NUM"].ToString();
// //备注
// this.pipeSawResult1.Value.Remark = dt.Rows[0]["REMARK"].ToString();
// //开始时间
// this.pipeSawResult1.Value.StartTime = dt.Rows[0]["START_TIME"].ToString();
// //结束时间
// this.pipeSawResult1.Value.EndTime = dt.Rows[0]["ENDTIME"].ToString();
// this.pipeSawResult1.UpdateDate();
// }
//}
///
/// 1号锯 每排指定锯切刀数
///
public void SawCountEdit1()
{
}
///
/// 2号锯 每排指定锯切刀数
///
public void SawCountEdit2()
{
}
#endregion
/*
#region 信号处理
///
/// 锯切信号处理
///
/// 0-切头信号 1-切尾信号 2-倍尺信号
/// 长度
public void GetCutSignal(int Flag, string SawNo, double Length)
{
switch (Flag)
{
case 0:
CutHeadSignal(SawNo, Length);
break;
case 1:
CutTrailSignal(SawNo, Length);
break;
default:
CutTrailSignal(SawNo, Length);
break;
}
}
///
/// 切头信号
///
/// 切头长度
/// 锯片号
public void CutHeadSignal(string SawNo, double Length)
{
//判断当前是否有正在分切的炉次
DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.PipeSawResult.getStartSawQuery", new object[] { }, this.ob);
UltraGridRow ugr = this.pipeSawResult1.UltraGrid2.Rows[0];
if (dt.Rows.Count == 0)
{
MessageBox.Show("当前没有正在分切的炉次计划,请点击下一炉开始分切,并点击手动切头", "提示:", MessageBoxButtons.OK,MessageBoxIcon.Warning);
milSawResultDeatilEntity.CutHeadLength = Length.ToString();
return;
}
//判断当前锯片需锯切刀数是否完成
if (IsCutDown("1"))
{
//锯切完成 --- 更新锯切刀数 赋值切头长度 排支数 清空切尾长度 切尾总长度
this.pipeSawResult1.Value.CutHeadLength = Length;
}
else
{
int CutHeadCount = Convert.ToInt32(ugr.Cells["CUT_HEAD_COUNT1"].Value.ToString());
if (CutHeadCount < 1)
{
MessageBox.Show("当前锯片切头刀数为0,不能切头!!!");
return;
}
}
//当前排支数
this.pipeSawResult1.ValueDeatil.RowCount = RowNum;
//得到排号
int RowNo = 0;
// DataTable dt1 = ServerHelper.GetData();
if (dt.Rows.Count > 0)
{
RowNo = int.Parse(dt.Rows[0][0].ToString());
}
pipeSawResult1.ValueDeatil.RowNo = RowNo;
this.pipeSawResult1.Value.CutHeadLength = Length;
}
///
/// 切头信号确认
///
///
///
public void UltraGrid3_ClickCellButton(object sender, CellEventArgs e)
{
string JudgeStoveNo = "";
UltraGridRow ugr = this.ultraGridPlan.ActiveRow;
if (ugr != null)
{
JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString();
}
//int count = 0;
switch (e.Cell.Column.Key)
{
case "btnCUT_HEAD1":
RowResultAdd(1);
break;
case "btnCUT_HEAD2":
RowResultAdd(2);
break;
}
}
///
/// 切尾信号
///
/// 切尾长度
/// 锯片号
public void CutTrailSignal(string SawNo, double Length)
{
//判断切头信号是否已接收 是-继续 否-手动切头后继续手动切尾
if (SawNo == "1")
{
}
else if (SawNo == "2")
{
}
}
///
/// 定尺信号
///
/// 定尺长度
/// 锯片号
public void CutOrderSignal(string SawNo, double Length)
{
//判断切头信号是否已接收 是-继续 否-手动切头后继续手动切定尺
if (SawNo == "1")
{
}
else if (SawNo == "2")
{
}
}
///
/// 当前排 锯切是否完成
///
/// 锯片号
/// ture 完成 false 未完成
public bool IsCutDown(string SawNo)
{
UltraGridRow ugr = this.pipeSawResult1.UltraGrid2.Rows[0];
int CutHeadCount;
int CutTrailCount;
int CutOrderCount;
//1号锯片
if (SawNo == "1")
{
CutHeadCount = int.Parse(ugr.Cells["CUT_HEAD_COUNT1"].Value.ToString());
CutTrailCount = int.Parse(ugr.Cells["CUT_TRAIL_COUNT1"].Value.ToString());
CutOrderCount = int.Parse(ugr.Cells["CUT_ORDER_COUNT1"].Value.ToString());
}
//2号锯片
else
{
CutHeadCount = int.Parse(ugr.Cells["CUT_HEAD_COUNT2"].Value.ToString());
CutTrailCount = int.Parse(ugr.Cells["CUT_TRAIL_COUNT2"].Value.ToString());
CutOrderCount = int.Parse(ugr.Cells["CUT_ORDER_COUNT2"].Value.ToString());
}
if (CutHeadCount == 0 && CutTrailCount == 0 && CutOrderCount == 0)
{
return true;
}
else
{
return false;
}
}
///
/// 修改锯切刀数
///
//public void UpdateSawCount()
//{
// FrmPipeSawStart frmSaw = new FrmPipeSawStart(userRoom, SawNum, 1, RowNum);
// frmSaw.ShowDialog();
// if (frmSaw.ShowDialog == DialogResult.OK)
// {
// Flag = frmSaw.Flag;
// sawCount1.CutHead = frmSaw.sawCount1.CutHeadCount;
// sawCount1.CutTrail = frmSaw.sawCount1.CutTrailCount;
// sawCount1.CutOrder = frmSaw.sawCount1.CutOrderCount;
// sawCount2.CutHead = frmSaw.sawCount2.CutHeadCount;
// sawCount2.CutTrail = frmSaw.sawCount2.CutTrailCount;
// sawCount2.CutOrder = frmSaw.sawCount2.CutOrderCount;
// frmSaw.Close();
// if (Flag == 1)
// {
// return;
// }
// }
// milSawResultEntity.CutHeadCount1 = sawCount1.CutHead;
// milSawResultEntity.CutTrailCount1 = sawCount1.CutTrail;
// milSawResultEntity.CutOrderCount1 = sawCount1.CutOrder;
// this.pipeSawResult1.UpdateCutNum1();
// milSawResultEntity.CutHeadCount2 = sawCount2.CutHead;
// milSawResultEntity.CutTrailCount2 = sawCount2.CutTrail;
// milSawResultEntity.CutOrderCount2 = sawCount2.CutOrder;
// this.pipeSawResult1.UpdateCutNum2();
//}
#endregion
#endregion
*/
}
}