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.Control;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm;
using com.steering.pss.plan.jgtransa.model;
using System.Collections;
using Infragistics.Win.UltraWinGrid;
using Core.Mes.Client.Comm.Tool;
namespace Core.StlMes.Client.Plan.Order.JGGXPln
{
public partial class FrmModifyPlnJgM : FrmBase
{
///
/// 接箍订单号
///
private string proPlanId = "";
public FrmModifyPlnJgM()
{
InitializeComponent();
}
public FrmModifyPlnJgM(OpeBase _ob)
{
InitializeComponent();
this.ob = _ob;
}
private void FrmModifyPlnJgM_Load(object sender, EventArgs e)
{
comPlineTimeCtrl1.ComBLL(this.ob);
DoQuery();
}
private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key)
{
case "Query":
DoQuery();
break;
case "Modefiy":
DoModify();
break;
case "Close":
this.Close();
break;
}
}
///
/// 查询
///
private void DoQuery()
{
DateTime date = new DateTime();
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDById",
new object[] { proPlanId }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
MessageUtil.ShowError("找不到指定的订单,请尝试刷新数据!");
return;
}
if (!dtStatus.Rows[0]["PLANSTATUS"].Equals("0"))
{
MessageUtil.ShowError("指定的订单已经下发,不能再修改!");
return;
}
DateTime.TryParse(dtStatus.Rows[0]["PLAN_TIME_JG"].ToString(), out date);
comPlineTimeCtrl1.DateTimeProdu.Value = date;
comPlineTimeCtrl1.Query(dtStatus.Rows[0]["CODE_JG_BL"].ToString(), dtStatus.Rows[0]["CODE_JG"].ToString());
comPlineTimeCtrl1.setPline(dtStatus.Rows[0]["PLINE_CODE"].ToString());
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDMForD",
new object[] { this.proPlanId }, this.ob);
GridHelper.CopyDataToDatatable(dt, dataTable1, true);
PlanComm.setGridActivation(ultraGridGXJGD.DisplayLayout.Bands[0], "PLANNUM");
PlanComm.setGridDigitalCol(ultraGridGXJGD.DisplayLayout.Bands[0], 7, 0, "PLANNUM", "PRODUCED_NUM");
}
///
/// 修改
///
private void DoModify()
{
try
{
ArrayList list = new ArrayList();
PlnGxJgMEntity jgMEntity = new PlnGxJgMEntity();
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDById",
new object[] { proPlanId }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
MessageUtil.ShowError("找不到指定的订单,请尝试刷新数据!");
return;
}
if (!dtStatus.Rows[0]["PLANSTATUS"].Equals("0"))
{
MessageUtil.ShowError("指定的订单已经下发,不能再修改!");
return;
}
int singleCutNun = Convert.ToInt32(dtStatus.Rows[0]["SINGLE_CUT_NUN"]);
int numJg = 0; //订单接箍个数
int numBl = 0; //备料支数
double weightJg = 0;
double weightBl = 0;
double hrCapcty = 0; //小时能力(t/h)
ArrayList param = new ArrayList();
param.Add(dtStatus.Rows[0]["CODE_JG_BL"].ToString());
param.Add(dtStatus.Rows[0]["CODE_JG"].ToString());
param.Add(comPlineTimeCtrl1.Plinecode);
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJgPlHrCapcty",
new object[] { param }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
double.TryParse(dt.Rows[0]["HR_CAPCTY"].ToString(), out hrCapcty);
}
foreach (UltraGridRow uRow in ultraGridGXJGD.Rows)
{
PlnGxJgDEntity jgDEntity = new PlnGxJgDEntity();
jgDEntity.ProPlanId = proPlanId;
jgDEntity.JgOrderno = uRow.Cells["JG_ORDERNO"].Value.ToString();
jgDEntity.Plannum = uRow.Cells["PLANNUM"].Value.ToString();
jgDEntity.UpdateName = UserInfo.GetUserName();
jgDEntity.ReqBlId = uRow.Cells["REQ_BL_ID"].Value.ToString();
list.Add(jgDEntity);
numJg += Convert.ToInt32(uRow.Cells["PLANNUM"].Value);
}
//需备料管支数
if ((numJg % singleCutNun) == 0)
{
numBl = numJg / singleCutNun;
}
else
{
numBl = (numJg / singleCutNun) + 1;
}
if (Convert.ToDouble(dtStatus.Rows[0]["BL_NUM"]) <= 0)
{
MessageUtil.ShowError("原接箍订单信息有误!");
return;
}
weightJg = numJg * Convert.ToDouble(dtStatus.Rows[0]["SINGLEWEIGHT"]) / 1000;
weightBl = numBl * Convert.ToDouble(dtStatus.Rows[0]["BL_WEIGHT"]) / Convert.ToDouble(dtStatus.Rows[0]["BL_NUM"]);
jgMEntity.PlanTimeJg = comPlineTimeCtrl1.DateTimeProdu.Value.ToString("yyyy-MM-dd HH:mm:ss");
jgMEntity.ProPlanId = proPlanId;
jgMEntity.PlanNum = numJg.ToString();
jgMEntity.BlNum = numBl.ToString();
jgMEntity.BlWeight = weightBl.ToString();
jgMEntity.UpdateName = UserInfo.GetUserName();
jgMEntity.PlanUsetimeJg = (weightJg * hrCapcty * 60).ToString();//单位分min
jgMEntity.PlineCode = comPlineTimeCtrl1.Plinecode;
jgMEntity.PlineName = comPlineTimeCtrl1.Plinename;
int succed = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.doModifyJGDD",
new object[] { list, jgMEntity }, this.ob);
if (succed > 0)
{
MessageUtil.ShowTips("成功!");
}
}
catch (Exception ex)
{
if (!(ex is MESException))
{
MessageBox.Show(ex.Message);
}
}
DoQuery();
}
///
/// 接箍订单号
///
public string ProPlanId
{
get { return proPlanId; }
set { proPlanId = value; }
}
}
}