using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.IO;
using System.Diagnostics;
using Infragistics.Win.UltraWinGrid;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid.ExcelExport;
using Infragistics.Excel;
using CoreFS.CA06;
using CoreFS.SA06;
using Core.Mes.Client.Comm.Server;
using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm;
using Core.Mes.Client.Comm.Tool;
using com.steering.pss.plan.order;
using com.steering.pss.plan.jgtransa.model;
using Core.StlMes.Client.Plan.Order.JGGXPln;
namespace Core.StlMes.Client.Plan.Order
{
public partial class FrmOrderJGGXPln : FrmBase
{
//用于计算可分离容器的大小。
private int _splitterDistanceOrder = 0;
private bool _groupBoxOrderExpandedChanged = false;
private int _splitterDistanceGp = 0;
private bool _groupBoxGpExpandedChanged = false;
private int _splitterDistanceJGorder = 0;
private bool _groupBoxJGorderExpandedChanged = false;
public FrmOrderJGGXPln()
{
this.IsLoadUserView = true;
InitializeComponent();
}
///
/// 菜单栏
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
base.ToolBar_Click(sender, ToolbarKey);
switch (ToolbarKey)
{
case "Query": //查询
QueryJGGXDD();
break;
case "addDD": //新增接箍订单
DoAddJgDd();
break;
case "JRDD": //选择加入订单
DoAddJR();
break;
case "updataDD": //接箍订单修改
DoModefiy();
break;
case "SetTime": //生产时间设置
updataTime();
break;
case "Confirmjg": //接箍订单下发
upddxf();
break;
case "CancelDD": //取消下发
QuJGDD();
break;
case "deleteDD": //删除订单
deletedd();
break;
case "Import": //导出
Export();
break;
case "deleMx": //删除订单明细
deleteddmx();
break;
case "Close": //删除订单明细
this.Close();
break;
}
}
// 界面加载
private void FrmOrderJGGXPln_Load(object sender, EventArgs e)
{
QueryJGGXDD();
}
//接箍工序订单主表与从表查询 查询接箍合同表,接箍备料关系表
private void QueryJGGXDD()
{
DataTable dt3 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrdering",
new Object[] { }, this.ob);
GridHelper.CopyDataToDatatable(dt3, dataTable2, true);
DataTable dt4 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryBLSJ",
new object[] { }, this.ob);
GridHelper.CopyDataToDatatable(dt4, dataTable4, true);
dataTable3.Clear();
dataTable5.Clear();
DataTable dt1 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDD", new object[] { }, this.ob);
GridHelper.CopyDataToDatatable(dt1, dataTable5, true);
DataTable dt2 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDCB", new object[] { }, this.ob);
GridHelper.CopyDataToDatatable(dt2, dataTable3, true);
}
///
/// 新建接箍订单
///
private void DoAddJgDd()
{
try
{
ultraGridJGReq.UpdateData();
IQueryable checkRows = ultraGridJGReq.Rows.AsQueryable().Where("CHC = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选要新建订单的接箍料!");
return;
}
ArrayList list = new ArrayList();
UltraGridRow ugr = checkRows.First();
string codeJg = ugr.Cells["CODE_JG"].Value.ToString();
string codeBl = ugr.Cells["CODE_JG_BL"].Value.ToString();
int numJg = 0; //订单接箍个数
int numBl = 0; //备料支数
double weightJg = 0;
double weightBl = 0;
//接箍需求长度=接箍长度+单个排产加长长度(mm)
double lenjg = Convert.ToDouble(ugr.Cells["AIMLENGTH"].Value) + Convert.ToDouble(ugr.Cells["SINGLE_ADDLEN"].Value);
double lenBl = Convert.ToDouble(ugr.Cells["AIMLENGTH_BL"].Value) * 1000;
if (lenBl < lenjg)
{
MessageUtil.ShowError("备料管太短,请核对备料需求信息!");
return;
}
if (lenjg <= 0)
{
MessageUtil.ShowError("接箍长度必须大于零!");
return;
}
int singleCutNun = (int)(lenBl / lenjg);
PlnGxJgMEntity jgMEntity = new PlnGxJgMEntity();
string prdcrNo = ""; //监制编号
ultraGridJgOrder.UpdateData();
IQueryable rowJgOrder = ultraGridJgOrder.Rows.AsQueryable().Where(
"JG_ORDERNO = '" + ugr.Cells["JG_ORDERNO"].Value.ToString() + "'");
if (rowJgOrder.Count() > 0)
{
prdcrNo = rowJgOrder.First().Cells["PRDCR_NO"].Value.ToString();
}
foreach (UltraGridRow uRow in checkRows)
{
string uRowPrd = "";
if (!uRow.Cells["CODE_JG"].Value.ToString().Equals(codeJg))
{
MessageUtil.ShowTips("接箍码不同不能合并生产订单,请核对所勾选备料需求的信息!");
return;
}
if (!uRow.Cells["CODE_JG_BL"].Value.ToString().Equals(codeBl))
{
MessageUtil.ShowTips("备料码不同不能合并生产订单,请核对所勾选备料需求的信息!");
return;
}
if (Convert.ToInt32(uRow.Cells["JG_GS"].Value) <= 0)
{
MessageUtil.ShowTips("接箍排产个数必须大于零个!");
return;
}
ultraGridJgOrder.UpdateData();
IQueryable uRowJgOrder = ultraGridJgOrder.Rows.AsQueryable().Where(
"JG_ORDERNO = '" + uRow.Cells["JG_ORDERNO"].Value.ToString() + "'");
if (uRowJgOrder.Count() > 0)
{
uRowPrd = uRowJgOrder.First().Cells["PRDCR_NO"].Value.ToString();
}
if (!prdcrNo.Equals(uRowPrd))
{
MessageUtil.ShowTips("所勾选的接箍需求,监制要求有不同,不能合并成生产订单!");
return;
}
PlnGxJgDEntity jgDEntity = new PlnGxJgDEntity();
jgDEntity.CodeJg = codeJg;
jgDEntity.CodeJgBl = codeBl;
jgDEntity.JgOrderno = uRow.Cells["JG_ORDERNO"].Value.ToString();
jgDEntity.ReqBlId = uRow.Cells["REQ_BL_ID"].Value.ToString();
jgDEntity.Plannum = uRow.Cells["JG_GS"].Value.ToString();
jgDEntity.CreateName = UserInfo.GetUserName();
numJg += Convert.ToInt32(uRow.Cells["JG_GS"].Value);
list.Add(jgDEntity);
}
//需备料管支数
if ((numJg % singleCutNun) == 0)
{
numBl = numJg / singleCutNun;
}
else
{
numBl = (numJg / singleCutNun) + 1;
}
weightJg = numJg * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / 1000;//单位吨t
weightBl = numBl * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT2"].Value);
//选定产线和设置生产时间
FrmGXandTime getPlineTime = new FrmGXandTime(this.ob);
getPlineTime.InMaterialNo = codeBl;
getPlineTime.OutMaterialNo = codeJg;
getPlineTime.ShowDialog();
if (!getPlineTime.IsConfirm)
{
return;
}
jgMEntity.CodeJg = codeJg;
jgMEntity.CodeJgBl = codeBl;
jgMEntity.PlanNum = numJg.ToString();
jgMEntity.SingleCutNun = singleCutNun.ToString();
jgMEntity.BlNum = numBl.ToString();
jgMEntity.BlWeight = weightBl.ToString();
if (getPlineTime.HrCapcty > 0)
{
jgMEntity.PlanUsetimeJg = ((weightJg / getPlineTime.HrCapcty) * 60).ToString();//单位分min
}
else
{
jgMEntity.PlanUsetimeJg = "0";
}
jgMEntity.PlanTimeJg = getPlineTime.TimeSc.ToString("yyyy-MM-dd HH:mm:ss");
jgMEntity.PlineCode = getPlineTime.Plinecode;
jgMEntity.PlineName = getPlineTime.Plinename;
jgMEntity.PrdcrNo = prdcrNo;
jgMEntity.AimlengthBl = ugr.Cells["AIMLENGTH_BL"].Value.ToString();
if (prdcrNo.Equals(""))
{
jgMEntity.IfMonitorJg = "0";
}
else
{
jgMEntity.IfMonitorJg = "1";
}
jgMEntity.CreateName = UserInfo.GetUserName();
int suceed = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.addJgDd",
new object[] { list, jgMEntity }, this.ob);
if (suceed > 0)
{
MessageUtil.ShowTips("新增成功!");
}
}
catch (Exception ex)
{
if (!(ex is MESException))
{
MessageBox.Show(ex.Message);
}
}
QueryJGGXDD();
}
///
/// 加入接箍订单
///
private void DoAddJR()
{
try
{
ultraGridJgGxM.UpdateData();
ultraGridJGReq.UpdateData();
ArrayList list = new ArrayList();
IQueryable checkRows = ultraGridJGReq.Rows.AsQueryable().Where("CHC = 'True'");
IQueryable checkRows1 = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True'");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("请选择要加入订单的需求。");
return;
}
if (checkRows1.Count() == 0)
{
MessageUtil.ShowTips("请选择要将需求加入到哪条订单中。");
return;
}
if (checkRows1.Count() > 1)
{
MessageUtil.ShowTips("您选择了多条订单,只能加入一条订单中。");
return;
}
UltraGridRow ugr = checkRows.First();
UltraGridRow ugrM = checkRows1.First();
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDById",
new object[] { ugrM.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
MessageUtil.ShowError("找不到指定的订单,请尝试刷新数据!");
return;
}
if (!dtStatus.Rows[0]["PLANSTATUS"].Equals("0"))
{
MessageUtil.ShowError("指定的订单已经下发,不能再修改!");
return;
}
string prdcrNo = dtStatus.Rows[0]["PRDCR_NO"].ToString();
int singleCutNun = Convert.ToInt32(dtStatus.Rows[0]["SINGLE_CUT_NUN"]);
string codeBl = dtStatus.Rows[0]["CODE_JG_BL"].ToString();
string codeJg = dtStatus.Rows[0]["CODE_JG"].ToString();
int numJg = 0; //订单接箍个数
int numBl = 0; //备料支数
double weightJg = 0;
double weightBl = 0;
PlnGxJgMEntity jgMEntity = new PlnGxJgMEntity();
foreach (UltraGridRow uRow in checkRows)
{
if (!uRow.Cells["CODE_JG"].Value.ToString().Equals(codeJg))
{
MessageUtil.ShowTips("接箍码不同不能合并生产订单,请核对所勾选备料需求的信息!");
return;
}
if (!uRow.Cells["CODE_JG_BL"].Value.ToString().Equals(codeBl))
{
MessageUtil.ShowTips("备料码不同不能合并生产订单,请核对所勾选备料需求的信息!");
return;
}
if (Convert.ToInt32(uRow.Cells["JG_GS"].Value) <= 0)
{
MessageUtil.ShowTips("接箍排产个数必须大于零个!");
return;
}
ultraGridJgOrder.UpdateData();
string uRowPrd = "";
PlnGxJgDEntity jgDEntity = new PlnGxJgDEntity();
IQueryable uRowJgOrder = ultraGridJgOrder.Rows.AsQueryable().Where(
"JG_ORDERNO = '" + uRow.Cells["JG_ORDERNO"].Value.ToString() + "'");
if (uRowJgOrder.Count() > 0)
{
uRowPrd = uRowJgOrder.First().Cells["PRDCR_NO"].Value.ToString();
}
if (!prdcrNo.Equals(uRowPrd))
{
MessageUtil.ShowTips("所勾选的接箍需求,监制要求有不同,不能加入该生产订单中!");
return;
}
jgDEntity.CodeJg = codeJg;
jgDEntity.CodeJgBl = codeBl;
jgDEntity.JgOrderno = uRow.Cells["JG_ORDERNO"].Value.ToString();
jgDEntity.ReqBlId = uRow.Cells["REQ_BL_ID"].Value.ToString();
jgDEntity.Plannum = uRow.Cells["JG_GS"].Value.ToString();
jgDEntity.UpdateName = UserInfo.GetUserName();
jgDEntity.ProPlanId = ugrM.Cells["PRO_PLAN_ID"].Value.ToString();
numJg += Convert.ToInt32(uRow.Cells["JG_GS"].Value);
list.Add(jgDEntity);
}
//需备料管支数
if ((numJg % singleCutNun) == 0)
{
numBl = numJg / singleCutNun;
}
else
{
numBl = (numJg / singleCutNun) + 1;
}
double hrCapcty = 0; //小时能力(t/h)
ArrayList param = new ArrayList();
param.Add(codeBl);
param.Add(codeJg);
param.Add(dtStatus.Rows[0]["PLINE_CODE"].ToString());
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);
}
weightJg = numJg * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / 1000;
weightBl = numBl * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT2"].Value);
jgMEntity.ProPlanId = ugrM.Cells["PRO_PLAN_ID"].Value.ToString();
jgMEntity.PlanNum = numJg.ToString();
jgMEntity.BlNum = numBl.ToString();
jgMEntity.BlWeight = weightBl.ToString();
jgMEntity.UpdateName = UserInfo.GetUserName();
jgMEntity.PlanUsetimeJg = (weightJg * hrCapcty * 60).ToString();//单位分min
int suceed = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.inCreaseJgDd",
new object[] { list, jgMEntity }, this.ob);
if (suceed > 0)
{
MessageUtil.ShowTips("操作成功!");
}
}
catch (Exception ex)
{
if (!(ex is MESException))
{
MessageBox.Show(ex.Message);
}
}
QueryJGGXDD();
}
///
/// 修改订单
///
private void DoModefiy()
{
UltraGridRow ugr = ultraGridJgGxM.ActiveRow;
FrmModifyPlnJgM modifyPlnJgM = new FrmModifyPlnJgM(this.ob);
if (ugr == null)
{
return;
}
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDById",
new object[] { ugr.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
MessageUtil.ShowError("找不到指定的订单,请尝试刷新数据!");
return;
}
if (!dtStatus.Rows[0]["PLANSTATUS"].Equals("0"))
{
MessageUtil.ShowError("指定的订单已经下发,不能再修改!");
return;
}
modifyPlnJgM.ProPlanId = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
modifyPlnJgM.ShowDialog();
QueryJGGXDD();
}
///
/// 生产排序
///
private void SetTime()
{
ArrayList str = new ArrayList();
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDD", new object[] { }, this.ob);
for (int i = 0; i < dt.Rows.Count; i++)
{
str.Add(i + 1);
str.Add(dt.Rows[i]["PRO_PLAN_ID"].ToString());
int Time = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.DDSCPX", new object[] { str }, this.ob);
str.Clear();
}
}
///
/// 修改生产时间
///
///
///
private void updataTime()
{
ultraGridJgGxM.UpdateData();
ArrayList str = new ArrayList();
IQueryable checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选订单信息");
return;
}
foreach (UltraGridRow uRow in checkRows)
{
str.Add(uRow.Cells["PLAN_TIME_JG"].Value.ToString());
str.Add(uRow.Cells["PRO_PLAN_ID"].Value.ToString());
int uptime = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.UPDDTime",
new object[] { str }, this.ob);
str.Clear();
}
SetTime();
MessageUtil.ShowTips("时间设置成功");
QueryJGGXDD();
}
//查询接箍合同表,接箍备料关系表
private void RefresDate()
{
DataTable dt3 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrdering",
new Object[] { }, this.ob);
GridHelper.CopyDataToDatatable(dt3, dataTable2, true);
DataTable dt4 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryBLSJ",
new object[] { }, this.ob);
GridHelper.CopyDataToDatatable(dt4, dataTable4, true);
}
//查询订单表
private DataTable QueryJGDDS()
{
string tim = System.DateTime.Now.ToString("yyyyMMdd");
try
{
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDS", new object[] { }, this.ob);
return dt;
}
catch
{
return null;
}
}
///
/// 接箍工序订单制定及从表插入
///
private void doAddJGDD()
{
DataTable dt = QueryJGDDS();
int i;
if (!String.IsNullOrEmpty(dt.Rows[0][0].ToString()))
{
i = Convert.ToInt32(dt.Rows[0]["shu"].ToString()) + 1001;
}
else
{
i = 1001;
}
string shu = i.ToString();
string sh = shu.Substring(1);
string JgDdNo = "JGD_" + System.DateTime.Now.ToString("yyyyMMdd") + sh;
// ArrayList str = new ArrayList();
ArrayList parms = new ArrayList();
ArrayList list = new ArrayList();
ArrayList list2 = new ArrayList();
#region 筛选、记录接箍合同
ultraGridJGReq.UpdateData();
double codeJg = 0;
double WeightBL = 0;
double NumBL = 0;
IQueryable checkRows = ultraGridJGReq.Rows.AsQueryable().Where("CHC = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选要新建的接箍料信息!");
return;
}
UltraGridRow ugr = checkRows.First();
WeightBL = Convert.ToDouble(ugr.Cells["SINGLEWEIGHT2"].Value);
string hth = ugr.Cells["JG_ORDERNO"].Value.ToString();
DataTable dt2 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrderingh",
new Object[] { hth }, this.ob);
foreach (UltraGridRow uRow in checkRows)
{
ArrayList list4 = new ArrayList();
list4.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
list4.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
DataTable data = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX",
new object[] { list4 }, this.ob);
NumBL += Convert.ToDouble(uRow.Cells["JGBL_REQ_NUM"].Value);
codeJg += Convert.ToDouble(uRow.Cells["JG_GS"].Value);
if (data.Rows[0]["JG_GS"].ToString().Equals("0"))
{
MessageUtil.ShowTips("接箍备料信息:" + uRow.Cells["JG_ORDERNO"].Value + "已全部生成订单,无法再次制定!");
return;
}
if (uRow.Cells["JG_GS"].Value.Equals("0") || (Convert.ToInt32(data.Rows[0]["JG_GS"].ToString()) < Convert.ToInt32(uRow.Cells["JG_GS"].Value)))
{
MessageUtil.ShowWarning("接箍备料信息:" + uRow.Cells["JG_ORDERNO"].Value + "的生成订单接箍数不能为0或超过剩余接箍数!");
return;
}
if (uRow.Cells["CODE_JG"].Value.ToString() != ugr.Cells["CODE_JG"].Value.ToString())
{
MessageUtil.ShowTips("接箍码不同,不能合并下发订单!");
return;
}
if (uRow.Cells["CODE_JG_BL"].Value.ToString() != ugr.Cells["CODE_JG_BL"].Value.ToString())
{
MessageUtil.ShowTips("接箍备料码不同,不能合并下发订单!");
return;
}
string hth1 = uRow.Cells["JG_ORDERNO"].Value.ToString();
DataTable dt3 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrderingh",
new Object[] { hth1 }, this.ob);
if (dt2.Rows.Count == 1 && dt3.Rows.Count == 1)
{
if (dt2.Rows[0][0].ToString() != dt3.Rows[0][0].ToString())
{
MessageUtil.ShowTips("合同监制要求不同,不能合并下发订单");
return;
}
}
else
{
MessageUtil.ShowTips("无合同号对应的监制要求信息");
return;
}
}
#endregion
string str = ugr.Cells["CODE_JG"].Value.ToString();
DataTable dt1 = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryBLJCB", new object[] { str }, this.ob);
double Nun;
double LBL = Convert.ToDouble(ugr.Cells["AIMLENGTH_BL"].Value);
double Ljg = Convert.ToDouble(ugr.Cells["AIMLENGTH"].Value) + 10;
Nun = Math.Truncate(1000 * LBL / Ljg);
FrmGXandTime GX = new FrmGXandTime(this.ob);
GX.ShowDialog();
if (!GX.IsConfirm)
return;
ArrayList aryHS = new ArrayList();
double Gxhs = 0;
aryHS.Add(ugr.Cells["CODE_JG_BL"].Value.ToString());
aryHS.Add(ugr.Cells["CODE_JG"].Value.ToString());
aryHS.Add(GX.Plinecode);
string HS = QueryHS(aryHS);
if (HS == null)
Gxhs = 0;
else
Gxhs = codeJg * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / Convert.ToDouble(HS) * 0.06;
parms.Add(JgDdNo);
parms.Add(GX.Plinecode);
parms.Add(GX.Plinename);
parms.Add(dt2.Rows[0]["MONITORDEMAND"].ToString());
parms.Add(dt2.Rows[0]["IF_MONITOR_JG"].ToString());
parms.Add(dt2.Rows[0]["PRDCR_NO"].ToString());
parms.Add(ugr.Cells["CODE_JG"].Value.ToString());
parms.Add(ugr.Cells["STEELCODE"].Value.ToString());
parms.Add(ugr.Cells["STEELNAME"].Value.ToString());
parms.Add(ugr.Cells["OUTDIAMETER"].Value.ToString());
parms.Add(ugr.Cells["WALLTHICK"].Value.ToString());
parms.Add(ugr.Cells["AIMLENGTH"].Value.ToString());
parms.Add(ugr.Cells["SINGLEWEIGHT"].Value.ToString());
parms.Add(dt1.Rows[0]["SPEC_JG"].ToString());
parms.Add(dt1.Rows[0]["SPEC_JG_DESC"].ToString());
parms.Add(dt1.Rows[0]["MODEL_CODE"].ToString());
parms.Add(dt1.Rows[0]["MODEL_DESC"].ToString());
parms.Add(dt1.Rows[0]["STYLE_JG"].ToString());
parms.Add(dt1.Rows[0]["DIAMETER"].ToString());
parms.Add(dt1.Rows[0]["CHECK_J_VAL"].ToString());
parms.Add(ugr.Cells["CODE_JG_BL"].Value.ToString());
parms.Add(dt1.Rows[0]["MIN_D"].ToString());
parms.Add(dt1.Rows[0]["MIN_H"].ToString());
parms.Add(ugr.Cells["AIMLENGTH_BL"].Value.ToString());
parms.Add(dt1.Rows[0]["DIAMETER_PL"].ToString());
parms.Add(dt1.Rows[0]["HEIGHT_PL"].ToString());
parms.Add(dt1.Rows[0]["LENGTH_MIN"].ToString());
parms.Add(dt1.Rows[0]["LENGTH_MAX"].ToString());
parms.Add(codeJg);
parms.Add(Nun);
parms.Add((int)Math.Ceiling(codeJg / Nun));
parms.Add(WeightBL * (int)Math.Ceiling(codeJg / Nun));
parms.Add(Gxhs);
parms.Add(GX.TimeSc.ToString("yyyy-MM-dd HH:mm:ss"));
parms.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
parms.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
list.Add(parms);
ArrayList str3 = new ArrayList();
foreach (UltraGridRow uRow in checkRows)//插入从表
{
ArrayList ary = new ArrayList();
ArrayList str2 = new ArrayList();
ArrayList list5 = new ArrayList();
ary.Add(JgDdNo);
ary.Add(uRow.Cells["JG_GS"].Value.ToString());
ary.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
ary.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
ary.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
ary.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
list5.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
list5.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
DataTable data = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX",
new object[] { list5 }, this.ob);
int abc = Convert.ToInt32(data.Rows[0]["JGPLAN_NUM"].ToString()) + Convert.ToInt32(uRow.Cells["JG_GS"].Value);
if (abc == Convert.ToInt32(uRow.Cells["NUM_JG"].Value))
{
str2.Add("2");
}
else
{
str2.Add("1");
}
str2.Add(Convert.ToInt32(data.Rows[0]["JGPLAN_NUM"].ToString()) + Convert.ToInt32(uRow.Cells["JG_GS"].Value));
str2.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
str2.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
list2.Add(ary);
str3.Add(str2);
}
int test = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.ddtest", new object[] { list, list2, str3 }, this.ob);
SetTime();
MessageUtil.ShowTips("接箍工序订单新增成功");
QueryJGGXDD();
}
private string QueryHS()
{
throw new NotImplementedException();
}
///
/// 取消接箍订单
///
private void QuJGDD()
{
ultraGridJgGxM.UpdateData();
IQueryable checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选订单信息");
return;
}
foreach (UltraGridRow uRow in checkRows)
{
string str = uRow.Cells["PRO_PLAN_ID"].Value.ToString();
int updd = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.qxTGJGDD",
new object[] { str }, this.ob);
}
MessageUtil.ShowTips("订单取消成功");
QueryJGGXDD();
}
///
/// 下发接箍订单
///
private void upddxf()
{
ultraGridJgGxM.UpdateData();
IQueryable checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选订单信息");
return;
}
foreach (UltraGridRow uRow in checkRows)
{
string str = uRow.Cells["PRO_PLAN_ID"].Value.ToString();
int updd = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.UPTGJGDD",
new object[] { str }, this.ob);
}
MessageUtil.ShowTips("订单下发成功");
QueryJGGXDD();
}
///
///删除接箍订单
///
private void deletedd()
{
ultraGridJgGxM.UpdateData();
IQueryable checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' ");
if (checkRows.Count() == 0)
{
MessageUtil.ShowTips("未勾选订单信息");
return;
}
ArrayList str1 = new ArrayList();
ArrayList list1 = new ArrayList();
foreach(UltraGridRow uRow in checkRows)
{
DataTable dd = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryDGDD",
new object[] { uRow.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
if (dd.Rows[0]["PLANSTATUS"].Equals("1"))
{
MessageUtil.ShowWarning("订单:"+uRow.Cells["PRO_PLAN_ID"].Value.ToString()+"已下发,禁止删除");
return;
}
ArrayList list = new ArrayList();
string str = uRow.Cells["PRO_PLAN_ID"].Value.ToString();
list.Add(str);
str1.Add(list);
DataTable dtc = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDCBA",
new object[] { str }, this.ob);
for (int i = 0; i < dtc.Rows.Count;i++ )
{
ArrayList ary = new ArrayList();
ArrayList listbl = new ArrayList();
ary.Add(dtc.Rows[i]["REQ_BL_ID"].ToString());
ary.Add(dtc.Rows[i]["JG_ORDERNO"].ToString());
DataTable data = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX",
new object[] { ary }, this.ob);
int abc = Convert.ToInt32(data.Rows[0]["JGPLAN_NUM"].ToString()) - Convert.ToInt32(dtc.Rows[i]["PLANNUM"].ToString());
if (abc == 0)
{
listbl.Add("0");
}
else
{
listbl.Add("1");
}
listbl.Add(abc);
listbl.Add(dtc.Rows[i]["REQ_BL_ID"].ToString());
listbl.Add(dtc.Rows[i]["JG_ORDERNO"].ToString());
list1.Add(listbl);
}
}
int deleb = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.detTGJGDD",
new object[] { str1,list1},this.ob);
MessageUtil.ShowTips("订单删除成功");
QueryJGGXDD();
}
///
/// 加入订单
///
///
///
private void AddJR()
{
ultraGridJgGxM.UpdateData();
ultraGridJGReq.UpdateData();
ArrayList parms = new ArrayList();
IQueryablecheckRows1 = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' ");
IQueryablecheckRows2 = ultraGridJGReq.Rows.AsQueryable().Where("CHC = 'True' ");
if(checkRows1.Count() == 0)
{
MessageUtil.ShowTips("未勾选订单信息!");
return;
}
else if(checkRows1.Count() > 1)
{
MessageUtil.ShowTips("只能选择一条订单信息加入!");
return;
}
DataTable dd = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryDGDD",
new object[] { checkRows1.First().Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
if (dd.Rows[0]["PLANSTATUS"].Equals("1"))
{
MessageUtil.ShowWarning("订单已下发,禁止添加");
return;
}
if (checkRows2.Count() == 0)
{
MessageUtil.ShowWarning("未勾选要加入的接箍信息!");
return;
}
UltraGridRow ugr = checkRows1.First();
double codeJg = Convert.ToDouble(ugr.Cells["PLAN_NUM"].Value);
int Nun = Convert.ToInt32(ugr.Cells["SINGLE_CUT_NUN"].Value);
double WeightBL = Convert.ToDouble(ugr.Cells["BL_WEIGHT"].Value)/Convert.ToInt32(ugr.Cells["BL_NUM"].Value);
string JgDdNo = ugr.Cells["PRO_PLAN_ID"].Value.ToString();
ArrayList str3 = new ArrayList();
ArrayList ary1 = new ArrayList();
foreach (UltraGridRow uRow in checkRows2)
{
codeJg += Convert.ToDouble(uRow.Cells["NUM_JG"].Value);
if (uRow.Cells["CODE_JG"].Value.ToString() != ugr.Cells["CODE_JG"].Value.ToString())
{
MessageUtil.ShowTips("要加入的信息接箍码不同!");
return;
}
else if (uRow.Cells["CODE_JG_BL"].Value.ToString() != ugr.Cells["CODE_JG_BL"].Value.ToString())
{
MessageUtil.ShowTips("要加入的信息接箍备料码不同!");
return;
}
ArrayList list4 = new ArrayList();
list4.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
list4.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
DataTable data = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX",
new object[] { list4 }, this.ob);
if (!data.Rows[0]["PLANSTATUS"].ToString().Equals("0"))
{
MessageUtil.ShowTips("接箍备料信息" + uRow.Cells["JG_ORDERNO"].Value + "已生成订单!");
return;
}
string hth1 = uRow.Cells["JG_ORDERNO"].Value.ToString();
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryOrderingh",
new Object[] { hth1 }, this.ob);
if (dt.Rows.Count == 1 && ugr.Cells["MONITORDEMAND"].Value.ToString()!=null)
{
if (dt.Rows[0][0].ToString() != ugr.Cells["MONITORDEMAND"].Value.ToString())
{
MessageUtil.ShowTips("合同监制要求不同,不能合并下发订单");
return;
}
}
ArrayList ary = new ArrayList();
ArrayList str2 = new ArrayList();
ary.Add(JgDdNo);
ary.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
ary.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
ary.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
ary.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
ary1.Add(ary);
str2.Add(uRow.Cells["REQ_BL_ID"].Value.ToString());
str2.Add(uRow.Cells["JG_ORDERNO"].Value.ToString());
str3.Add(str2);
}
ArrayList aryHS = new ArrayList();
double Gxhs = 0;
aryHS.Add(ugr.Cells["CODE_JG_BL"].Value.ToString());
aryHS.Add(ugr.Cells["CODE_JG"].Value.ToString());
aryHS.Add(ugr.Cells["PLINE_CODE"].Value.ToString());
string HS = QueryHS(aryHS);
if (HS == null)
Gxhs = 0;
else
Gxhs = codeJg * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / Convert.ToDouble(HS) * 0.06;
parms.Add(codeJg);
parms.Add((int)Math.Ceiling(codeJg / Nun));
parms.Add(WeightBL * (int)Math.Ceiling(codeJg / Nun));
parms.Add(Gxhs);
parms.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
parms.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
parms.Add(ugr.Cells["PRO_PLAN_ID"].Value.ToString());
ArrayList parmb = new ArrayList();
parmb.Add(parms);
int addToo = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.addJGDDThe",
new object[] { parmb,str3,ary1 }, this.ob);
MessageUtil.ShowTips("加入成功");
QueryJGGXDD();
}
///
/// 删除订单明细
///
private void deleteddmx()
{
ultraGridJgGxM.UpdateData();
bool ab = false;
ArrayList lista = new ArrayList();
ArrayList listb = new ArrayList();
foreach (UltraGridRow uRow in ultraGridJgGxM.Rows)
{
int Nun = Convert.ToInt32(uRow.Cells["SINGLE_CUT_NUN"].Value);
bool aboy = false;
double codeJg = Convert.ToDouble(uRow.Cells["PLAN_NUM"].Value);
double WeightBL = Convert.ToDouble(uRow.Cells["BL_WEIGHT"].Value) / Convert.ToInt32(uRow.Cells["BL_NUM"].Value);
DataTable dd = new DataTable();
IQueryable checkRow = uRow.ChildBands[0].Rows.AsQueryable().Where("CHC = 'True' ");
if (checkRow.Count() > 0)
{
dd = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryDGDD",
new object[] { uRow.Cells["PRO_PLAN_ID"].Value.ToString() }, this.ob);
}
if (uRow.ChildBands[0].Rows.Count() - checkRow.Count() <= 0)
{
MessageUtil.ShowWarning("如果您想删除订单:" + uRow.Cells["PRO_PLAN_ID"].Value.ToString() + "的全部明细,请直接删除订单!");
return;
}
else if (checkRow.Count() > 0 && dd.Rows[0]["PLANSTATUS"].Equals("1"))
{
MessageUtil.ShowWarning("订单:" + uRow.Cells["PRO_PLAN_ID"].Value.ToString() + "已下发,禁止删除明细!");
return;
}
foreach(UltraGridRow cRow in uRow.ChildBands[0].Rows)
{
if (Convert.ToBoolean(cRow.Cells["CHC"].Text))
{
ArrayList list = new ArrayList();
list.Add(cRow.Cells["REQ_BL_ID"].Value.ToString());
list.Add(cRow.Cells["JG_ORDERNO"].Value.ToString());
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDBLMX",
new object[] { list }, this.ob);
codeJg -= Convert.ToDouble(dt.Rows[0]["NUM_JG"].ToString());
lista.Add(list);
aboy = true;
ab = true;
}
}
if (aboy)
{
ArrayList ary = new ArrayList();
ArrayList aryHS = new ArrayList();
double Gxhs = 0;
aryHS.Add(uRow.Cells["CODE_JG_BL"].Value.ToString());
aryHS.Add(uRow.Cells["CODE_JG"].Value.ToString());
aryHS.Add(uRow.Cells["PLINE_CODE"].Value.ToString());
string HS = QueryHS(aryHS);
if (HS == null)
Gxhs = 0;
else
Gxhs = codeJg * Convert.ToDouble(uRow.Cells["SINGLEWEIGHT"].Value) / Convert.ToDouble(HS) * 0.06;
ary.Add(codeJg);
ary.Add((int)Math.Ceiling(codeJg / Nun));
ary.Add(WeightBL * (int)Math.Ceiling(codeJg / Nun));
ary.Add(Gxhs);
ary.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
ary.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
ary.Add(uRow.Cells["PRO_PLAN_ID"].Value.ToString());
listb.Add(ary);
}
}
int addToo = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.deletmx",
new object[] { listb, lista }, this.ob);
if (!ab)
{
MessageUtil.ShowWarning("未勾选要删除的明细信息!");
return;
}
MessageUtil.ShowTips("明细删除成功");
QueryJGGXDD();
}
///
/// 修改订单
///
///
///
private void UpdateDD()
{
ArrayList str = new ArrayList();
ultraGridJgGxM.UpdateData();
IQueryable checkRows = ultraGridJgGxM.Rows.AsQueryable().Where("CHC = 'True' ");
if(checkRows.Count()!=1)
{
MessageUtil.ShowTips("请选择一条且只选一条要修改的订单信息!");
return;
}
UltraGridRow ugr = checkRows.First();
FrmGXandTime GX = new FrmGXandTime(this.ob);
GX.ShowDialog();
if (!GX.IsConfirm)
return;
ArrayList aryHS = new ArrayList();
double Gxhs = 0;
aryHS.Add(ugr.Cells["CODE_JG_BL"].Value.ToString());
aryHS.Add(ugr.Cells["CODE_JG"].Value.ToString());
aryHS.Add(GX.Plinecode);
string HS = QueryHS(aryHS);
if (HS == null)
Gxhs = 0;
else
Gxhs = Convert.ToDouble(ugr.Cells["PLAN_NUM"].Value) * Convert.ToDouble(ugr.Cells["SINGLEWEIGHT"].Value) / Convert.ToDouble(HS) * 0.06;
str.Add(GX.Plinecode);
str.Add(GX.Plinename);
str.Add(Gxhs);
str.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName());
str.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
str.Add(ugr.Cells["PRO_PLAN_ID"].Value.ToString());
int updd = ServerHelper.SetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.UPJGDD",
new object[]{ str },this.ob);
MessageUtil.ShowTips("修改成功!");
QueryJGGXDD();
}
///
/// 导出数据
///
private void Export()
{
PlanComm.Export(ref ultraGridJgGxM, "接箍订单信息");
}
///
/// 接箍备料选择变色处理
///
///
///
private void ultraGrid4_BeforeRowActivate(object sender, RowEventArgs e)
{
foreach (UltraGridRow uRow in ultraGridJGReq.Rows)
{
uRow.Appearance.BackColor = System.Drawing.Color.White;
}
foreach (UltraGridRow uRow in ultraGridJGReq.Rows)
{
if (uRow.Cells["CODE_JG_BL"].Value.Equals(e.Row.Cells["CODE_JG_BL"].Value) && uRow.Cells["CODE_JG"].Value.Equals(e.Row.Cells["CODE_JG"].Value))
{
uRow.Appearance.BackColor = System.Drawing.Color.PaleGreen;
}
}
}
private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow uge = ultraGridJgOrder.ActiveRow;
if (uge == null)
return;
foreach (UltraGridRow uRow in ultraGridJGReq.Rows)
{
if (uRow.Cells["JG_ORDERNO"].Value.Equals(uge.Cells["JG_ORDERNO"].Value))
{
uRow.Appearance.BackColor = System.Drawing.Color.PaleGreen;
ultraGridJGReq.ActiveRow = uRow;//跳到当前项
}
else
{
uRow.Appearance.BackColor = System.Drawing.Color.White;
}
}
}
private string QueryHS(ArrayList ary)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.plan.jgtransa.CoreOrderJGGXPln.queryJGDDHSL",
new object[] { ary }, this.ob);
if (dt != null && dt.Rows.Count > 0)
return dt.Rows[0]["HR_CAPCTY"].ToString();
else
return null;
}
#region splitContainer中groupBox闭合打开的的操作
private void splitContainerJG_SplitterMoved(object sender, SplitterEventArgs e)
{
if (_groupBoxOrderExpandedChanged == false)
{
_splitterDistanceOrder = splitContainerJG.SplitterDistance;
if (splitContainerJG.SplitterDistance >= 1)
{
ultraExpandableGroupBoxOrder.Expanded = true;
}
}
if (_groupBoxGpExpandedChanged == false)
{
_splitterDistanceGp = splitContainerJG.SplitterDistance;
if (splitContainerJG.SplitterDistance < this.Bottom)
{
ultraExpandableGroupBoxGp.Expanded = true;
}
}
}
private void ultraExpandableGroupBoxOrder_ExpandedStateChanged(object sender, EventArgs e)
{
_groupBoxOrderExpandedChanged = true;
if (ultraExpandableGroupBoxOrder.Expanded)
{
splitContainerJG.SplitterDistance = _splitterDistanceOrder;
}
else
{
splitContainerJG.SplitterDistance = this.Top;
}
_groupBoxOrderExpandedChanged = false;
}
private void ultraExpandableGroupBoxGp_ExpandedStateChanged(object sender, EventArgs e)
{
_groupBoxGpExpandedChanged = true;
if (ultraExpandableGroupBoxGp.Expanded)
{
splitContainerJG.SplitterDistance = _splitterDistanceGp;
}
else
{
splitContainerJG.SplitterDistance = this.Bottom;
}
_groupBoxGpExpandedChanged = false;
}
private void ultraExpandableGroupBoxEdit_ExpandedStateChanged(object sender, EventArgs e)
{
_groupBoxJGorderExpandedChanged = true;
if (ultraExpandableGroupBoxEdit.Expanded)
{
splitContainerJGorder.SplitterDistance = _splitterDistanceJGorder;
}
else
{
splitContainerJGorder.SplitterDistance = this.Width;
}
_groupBoxJGorderExpandedChanged = false;
}
private void splitContainerJGorder_SplitterMoved(object sender, SplitterEventArgs e)
{
if (_groupBoxJGorderExpandedChanged == false)
{
_splitterDistanceJGorder = splitContainerJGorder.SplitterDistance;
if (splitContainerJGorder.SplitterDistance >= 1)
{
ultraExpandableGroupBoxEdit.Expanded = true;
}
}
}
#endregion
}
}