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.Tool;
using com.steering.pss.plnsaleord.order.model;
using Core.Mes.Client.Comm;
using System.Collections;
using Core.Mes.Client.Comm.Server;
using Infragistics.Win.UltraWinGrid;
using com.steering.pss.plnsaleord.ordAmCal.model;
using Core.StlMes.Client.PlnSaleOrd.BaseMethod;
namespace Core.StlMes.Client.PlnSaleOrd.PopupWindow
{
public partial class FrmChangeIndex : FrmBase
{
///
/// 交货pk
///
private string ordLnDlyPk = "";
///
/// 补量需求编号
///
private string rNumId = "";
private string ordLnDlyPkL = "";
private string plnDivideId = "";
private string orderSource = "";
public FrmChangeIndex()
{
InitializeComponent();
EntityHelper.ShowGridCaption(ultraGridProc.DisplayLayout.Bands[0]);
}
public FrmChangeIndex(OpeBase _ob, string _ordLnDlyPk, string _plnDivideId,string _orderSource)
{
this.ob = _ob;
ordLnDlyPkL = _ordLnDlyPk;
plnDivideId = _plnDivideId;
orderSource = _orderSource;
this.IsLoadUserView = true;
InitializeComponent();
EntityHelper.ShowGridCaption(ultraGridProc.DisplayLayout.Bands[0]);
}
private void FrmChangeIndex_Load(object sender, EventArgs e)
{
this.comMscPilneCtrl1.ComBLL(this.ob);
string ordLnPk = "";
if (ordLnDlyPk.Length > 3)
{
ordLnPk = ordLnDlyPk.Substring(0, ordLnDlyPk.Length - 3);
}
this.comMscPilneCtrl1.OrdLnPk = ordLnPk;
if (!rNumId.Equals(""))
{
ultraToolbarsManager1.Tools.Remove(ultraToolbarsManager1.Tools["Add"]);
ultraToolbarsManager1.Tools.Remove(ultraToolbarsManager1.Tools["Save"]);
ultraToolbarsManager1.Tools.Remove(ultraToolbarsManager1.Tools["Delete"]);
ultraGridProc.DisplayLayout.Bands[0].Columns["RNumId"].Hidden = false;
PlanComm.setGridActivation(this.ultraGridProc.DisplayLayout.Bands[0], "CHC");
}
else
{
PlanComm.setGridActivation(this.ultraGridProc.DisplayLayout.Bands[0], "CHC", "OrderQtyD");
}
PlanComm.setGridDigitalCol(this.ultraGridProc.DisplayLayout.Bands[0], 5, 3,
"PlanWtD", "FinishWt", "PlanPMain", "OrderQtyD", "AimLenEnd", "AimLenRoll", "PlanPMainMin", "AimWtEnd", "WeightJg");
PlanComm.setGridDigitalCol(this.ultraGridProc.DisplayLayout.Bands[0], 5, 2,
"TotLenOneP", "PlanTotLenD", "HeightYlg", "DimaterYlg", "AimWallthick", "RollLength", "AimOutdiameter", "FeedRate", "Coefficient", "CoefficientMin", "CheckJVal");
PlanComm.setGridDigitalCol(this.ultraGridProc.DisplayLayout.Bands[0], 7, 0, "PlanNumD", "CutNumP");
PlanComm.setGridDigitalCol(this.ultraGridProc.DisplayLayout.Bands[0], 3, 6, "WeightPerM", "WeightKzM");
PlanComm.setGridSummarySet(this.ultraGridProc, 3, "PlanWtD","FinishWt", "PlanPMain", "OrderQtyD","PlanPMainMin");
DoQuery();
}
private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key)
{
case "Query":
DoQuery();
break;
case "Add":
DoNew();
break;
case "Modify":
DoModify();
break;
case "Save":
DoSave();
break;
case "Delete":
DoDelete();
break;
case "Colse":
this.Close();
break;
}
}
///
/// 查询
///
private void DoQuery()
{
this.slmPlnSaleordProcEntitybindingSource.DataSource = EntityHelper.GetData(
"com.steering.pss.plnsaleord.order.CoreChangeIndex.queryPlnOrderProc", new object[] { ordLnDlyPk, rNumId, plnDivideId }, this.ob);
DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.querySaleStatus",
new object[] { ordLnDlyPk }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
ultraNumericOrderWt.Value = 0;
ultraTextOrderUnit.Value = dt.Rows[0]["ORDER_UNIT"].ToString();
}
}
///
/// 新增交货行拆分
///
private void DoNew()
{
try
{
UltraGridRow ugr = ultraGridProc.ActiveRow;
if (ugr == null)
{
return;
}
double orderQty = 0;
double orderQtyD = 0;
ArrayList list = new ArrayList();
if (!double.TryParse(ultraNumericOrderWt.Value.ToString(), out orderQtyD))
{
MessageUtil.ShowTips("拆分量未指定!");
return;
}
if (orderQtyD <= 0)
{
MessageUtil.ShowTips("拆分量未指定!");
return;
}
ArrayList param = new ArrayList();
PlnSaleordProcEntity ordProcEntity = new PlnSaleordProcEntity();
comMscPilneCtrl1.UltraGridMscPline.UpdateData();
IQueryable checkRows = comMscPilneCtrl1.UltraGridMscPline.Rows.AsQueryable().Where("CHC = 'True'");
if (checkRows.Count() <= 0)
{
MessageUtil.ShowError("没有选择的制程工艺!");
return;
}
string desginKey = this.comMscPilneCtrl1.DesginKey;
ordProcEntity.IndexSeq = this.comMscPilneCtrl1.CheMscPline;
ordProcEntity.CraftFileMan = this.comMscPilneCtrl1.CheCraftName;
ordProcEntity.CraftFileNo = this.comMscPilneCtrl1.CheCraftNo;
ordProcEntity.CraftSeq = this.comMscPilneCtrl1.CheCraftSeq;
ordProcEntity.GradecodeAll = this.comMscPilneCtrl1.GradeNameAll;
ordProcEntity.OrdLnDlyPk = ordLnDlyPk;
ordProcEntity.OrderSource = "销售合同";
string finalUser = ""; //最终用户
string produccode = ""; //品名代码
double outdiameter = 0;
double wallthick = 0;
double delvryRangeMax = 0;
double delvryRangeMin = 0;
double lengthmax = 0;
double lengthmin = 0;
string delvryRangeTpe = "";
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreChangeIndex.queryPlnSaleOrderProc",
new object[] { ordLnDlyPk }, this.ob);
if (dtStatus != null && dtStatus.Rows.Count > 0)
{
//判断制程有误重复
//foreach (DataRow dr in dtStatus.Rows)
//{
// if (dr["CRAFT_SEQ"].Equals(comMscPilneCtrl1.CheCraftSeq))
// {
// MessageUtil.ShowError("序号:“" + comMscPilneCtrl1.CheCraftSeq + "”的工艺已经被使用!");
// return;
// }
//}
if (dtStatus.Rows[0]["MERGETYPE"].ToString().Equals("3"))
{
MessageUtil.ShowError("管坯类型的合同不允许拆分!");
return;
}
DataTable dtProc = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreChangeIndex.queryPlnOrdProcById",
new object[] { ordLnDlyPk, ugr.Cells["PlnDivideId"].Value.ToString() }, this.ob);
if (dtProc == null || dtProc.Rows.Count <= 0)
{
return;
}
if (dtProc.Rows[0]["PLANSTATUS"].ToString().CompareTo("1") > 0)
{
MessageUtil.ShowTips("交货行拆分项已经下发,不可用再进行拆分!");
return;
}
if (!double.TryParse(dtProc.Rows[0]["ORDER_QTY_D"].ToString(), out orderQty))
{
return;
}
if (orderQty <= 0)
{
MessageUtil.ShowTips("合同原订货量有误!");
return;
}
if (orderQtyD > orderQty)
{
MessageUtil.ShowTips("拆分量不能大于原订货量!");
return;
}
double.TryParse(dtStatus.Rows[0]["OUTDIAMETER"].ToString(), out outdiameter);
double.TryParse(dtStatus.Rows[0]["WALLTHICK"].ToString(), out wallthick);
double.TryParse(dtStatus.Rows[0]["DELVRY_RANGE_MAX"].ToString(), out delvryRangeMax);
double.TryParse(dtStatus.Rows[0]["DELVRY_RANGE_MIN"].ToString(), out delvryRangeMin);
double.TryParse(dtStatus.Rows[0]["LENGTHMAX"].ToString(), out lengthmax);
double.TryParse(dtStatus.Rows[0]["LENGTHMIN"].ToString(), out lengthmin);
delvryRangeTpe = dtStatus.Rows[0]["DELVRY_RANGE_TPE"].ToString();
finalUser = dtStatus.Rows[0]["FINAL_USER"].ToString();
produccode = dtStatus.Rows[0]["PRODUCCODE"].ToString();
ordProcEntity.Msc = dtStatus.Rows[0]["MSC"].ToString();
ordProcEntity.MaterialNo = dtStatus.Rows[0]["MATERIAL_NO"].ToString();
ordProcEntity.WeightPerM = dtProc.Rows[0]["WEIGHT_PER_M"].ToString();
ordProcEntity.OrderUnit = dtProc.Rows[0]["ORDER_UNIT"].ToString();
ordProcEntity.Prdcrpro = FrmPlnSaleOrder.getOrdPrdcrpro(
dtStatus.Rows[0]["PRDCR_NO"].ToString(),
comMscPilneCtrl1.CheMscPline, this.ob);
ordProcEntity.GradecodeAll = dtProc.Rows[0]["GRADECODE_ALL"].ToString();
ordProcEntity.IfExport = dtProc.Rows[0]["IF_EXPORT"].ToString();
}
string outsStlPipeFl = dtStatus.Rows[0]["OUTS_STL_PIPE_FL"].ToString();
string outsBilletFl = dtStatus.Rows[0]["OUTS_BILLET_FL"].ToString();
param.Add(desginKey);
param.Add(ordProcEntity.IndexSeq);
DataTable dtProcess = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryMscplPrc",
new object[] { param }, this.ob);
if (dtProcess != null && dtProcess.Rows.Count > 0)
{
ordProcEntity.ProcessSeq = dtProcess.Rows[0]["WHOLE_BACKLOG"].ToString();
if (ordProcEntity.ProcessSeq.Equals(""))
{
MessageUtil.ShowError("未找到制程经过的工序点,请联系管理员。");
return;
}
ordProcEntity.BjType = "/";
ordProcEntity.EIsOk = "2";
foreach (DataRow dr in dtProcess.Rows)
{
if (dr["PROCESS_CODE"].ToString().Equals("E"))
{
//经过镦拔扩工序
ordProcEntity.EIsOk = "0";
ordProcEntity.BjType = dr["PROCESS_DESC_C"].ToString();
}
}
}
double weightJg=0;
double checkJval=0;
DataTable dtJg = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryJgBase",
new object[] { dtStatus.Rows[0]["CODE_JG"].ToString() }, this.ob);
if(dtJg!=null&&dtJg.Rows.Count>0){
weightJg=double.Parse(dtJg.Rows[0]["WEIGHT_JG"].ToString());
checkJval=double.Parse(dtJg.Rows[0]["CHECK_J_VAL"].ToString());
}
//查询物料信息
//param.Clear();
//param.Add(ordProcEntity.IndexSeq);
//param.Add(ordProcEntity.Msc);
//param.Add(ordProcEntity.MaterialNo);
//param.Add(ordProcEntity.ProcessSeq);
string outsBillet = "0";
if (outsStlPipeFl.Equals("")
|| outsStlPipeFl.Equals("121901"))
{
if (outsBilletFl.Equals("121801"))
{
outsBilletFl = "1";
}
else
{
outsBilletFl = "0";
}
}
else
{
if (outsBilletFl.Equals("121802"))
{
outsBilletFl = "0";
}
else
{
outsBilletFl = "1";
}
}
DataTable dtBom = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreOrderDesignBom.getOrdLineMscBom",
new object[] { desginKey, ordProcEntity.Msc, ordProcEntity.IndexSeq }, this.ob);
if (dtBom != null && dtBom.Rows.Count > 0)
{
bool isAvailBom = false;//是否存在可用BOM
string errReason = "";//不可用原因
foreach (DataRow dr in dtBom.Rows)
{
//查询是否自炼,外购钢种
DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreOrderDesignBom.getGradeCode",
new object[] { dr["GRADECODE"].ToString(), outsBillet }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
ordProcEntity.Gradecode = dr["GRADECODE"].ToString();
}
else
{
continue;
}
ordProcEntity.Bom = dr["BOM"].ToString();
ordProcEntity.GroupRollAll = dr["D_PLINE"].ToString();
ordProcEntity.EInMaterialDesc = dr["E_IN_MATERIAL_DESC"].ToString();
ordProcEntity.EInMaterialNo = dr["E_IN_MATERIAL_NO"].ToString();
ordProcEntity.DimaterYlg = dr["DIMATER"].ToString();
ordProcEntity.HeightYlg = dr["HEIGHT"].ToString();
ordProcEntity.GroupJgx = FrmDefGroup.DefJgxGourp(desginKey,
ordProcEntity.IndexSeq, dr["BOM"].ToString(), this.ob);
ordProcEntity.GroupRcl = FrmDefGroup.DefRclGourp(desginKey,
ordProcEntity.IndexSeq, dr["BOM"].ToString(), this.ob);
#region 判断坯料的属性
string dinMaterial = "";
///轧管投入物料(炼钢末工序产出物料)
if (!dr["D_IN_MATERIAL_NO"].ToString().Equals(""))
{
dinMaterial = dr["D_IN_MATERIAL_NO"].ToString();
}
else if (!dr["C_OUT_MATERIAL_NO"].ToString().Equals(""))
{
dinMaterial = dr["C_OUT_MATERIAL_NO"].ToString();
}
else if (!dr["B_OUT_MATERIAL_NO"].ToString().Equals(""))
{
dinMaterial = dr["B_OUT_MATERIAL_NO"].ToString();
}
else
{
dinMaterial = dr["A_OUT_MATERIAL_NO"].ToString();
}
ordProcEntity.StuffProperty = PlnSaleOrderBase.stuffProperty(dinMaterial);
#endregion
//轧管去向
ordProcEntity.Abc = PlnSaleOrderBase.getPlnOrdZgAbc(dr["WHOLE_BACKLOG"].ToString(), dr["WHOLE_BACKLOG_DESC"].ToString());
if (ordProcEntity.ProcessSeq.Contains("D"))
{
#region 默认轧管产线
ArrayList paramPline = new ArrayList();
paramPline.Add(dr["D_IN_MATERIAL_NO"].ToString());
paramPline.Add(dr["D_OUT_MATERIAL_NO"].ToString());
paramPline.Add(desginKey);
paramPline.Add(ordProcEntity.IndexSeq);
paramPline.Add(finalUser);
paramPline.Add(produccode);
DataTable dtDpl = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreOrderDesignBom.getBomMaterialDpl",
new object[] { paramPline }, this.ob);
if (dtDpl != null && dtDpl.Rows.Count > 0)
{
//如果存在ASSEL机组,优选ASSEL机组
if (PlanComm.isInDataTable(dtDpl, "PLINE_CODE", "C012"))
{
if (FrmPlnSaleOrder.queryAsselFl(this.comMscPilneCtrl1.OrdLnPk, this.ob))
{
ordProcEntity.GroupRoll = "C012";
}
else
{
bool isPline = false;
foreach (DataRow drPine in dtDpl.Rows)
{
if (!drPine["PLINE_CODE"].ToString().Equals("C012"))
{
isPline = true;
ordProcEntity.GroupRoll = drPine["PLINE_CODE"].ToString();
break;
}
}
if (!isPline)
{
ordProcEntity.GroupRoll = dtDpl.Rows[0]["PLINE_CODE"].ToString();
}
}
}
else
{
ordProcEntity.GroupRoll = dtDpl.Rows[0]["PLINE_CODE"].ToString();
}
}
#endregion
}
if (ordProcEntity.ProcessSeq.Contains("D")
&& !ordProcEntity.GroupRoll.Trim().Equals("C072")
&& !outsStlPipeFl.Equals("121903")
&& !outsStlPipeFl.Equals("121902")
|| ordProcEntity.OrderUnit.Trim().Equals("支"))
{
#region 合同量转换
OutOrdParamEntity outOrdParam = new OutOrdParamEntity();
InOrdParamEntity inOrdParam = new InOrdParamEntity();
PlnGetOrdAmount ordAmountCal = new PlnGetOrdAmount(this.ob);
DateTime date = new DateTime();
string errMessage = "";
double putRate = 1;
double height = 0;
if (DateTime.TryParse(dtStatus.Rows[0]["ROLL_MONTH"].ToString(), out date))
{
//投料率
putRate = FrmPlnSaleOrder.queryPutRate(date.Year, date.Month, this.ob);
}
inOrdParam = ordAmountCal.getInOrdPlnQtyParam(
orderQtyD, ordProcEntity.OrderUnit, desginKey, ordProcEntity.IndexSeq,
ordLnDlyPk, ordProcEntity.GroupRoll, ordProcEntity.Bom,
dtStatus.Rows[0]["CODE_JG"].ToString(), putRate);
if (!ordAmountCal.isRightParam(inOrdParam, desginKey, dtStatus.Rows[0]["CODE_JG"].ToString(),
ordProcEntity.Bom, ordProcEntity.GroupRoll, out errMessage))
{
errReason = errMessage;
continue;
}
ordAmountCal.InEnity = inOrdParam;
outOrdParam = ordAmountCal.getOrdAmount();
if (outOrdParam.ErrCode == -1)
{
errReason = "合同量转换出错(" + outOrdParam.ErrMessage + ")。";
continue;
}
ordProcEntity.WeightPerM = outOrdParam.WeightMi.ToString();
ordProcEntity.PlanWtD = outOrdParam.WeightInA.ToString();
ordProcEntity.PlanNumD = outOrdParam.PlanNum.ToString();
ordProcEntity.AimLenRoll = outOrdParam.AimlengthZg.ToString();
ordProcEntity.AimLenEnd = outOrdParam.AimLength.ToString();
ordProcEntity.PlanPMain = outOrdParam.WeightPc.ToString();
ordProcEntity.PlanTotLenD = (outOrdParam.PlanNum * outOrdParam.AimLength).ToString();
ordProcEntity.TotLenOneP = outOrdParam.TotLenOneP.ToString();
ordProcEntity.CutNumP = outOrdParam.CutNumP.ToString();
ordProcEntity.RollLength = outOrdParam.RollLength.ToString();
ordProcEntity.AimWallthick = outOrdParam.AimWallthick.ToString();
ordProcEntity.OrderQtyD = orderQtyD.ToString();
ordProcEntity.LenRollMax = outOrdParam.LenRollMax.ToString();
ordProcEntity.LenRollMin = outOrdParam.LenRollMin.ToString();
ordProcEntity.AimOutdiameter = outOrdParam.AimOutdiameter.ToString();
ordProcEntity.FeedRate = putRate.ToString();
ordProcEntity.Coefficient = outOrdParam.Coefficient.ToString();
ordProcEntity.CoefficientMin = outOrdParam.CoefficientMin.ToString();
ordProcEntity.PlanPMainMin = outOrdParam.PlanPMainMin.ToString();
ordProcEntity.AimWtEnd = outOrdParam.AimWtEnd.ToString();
ordProcEntity.WeightKzM = outOrdParam.WeightKzM.ToString();
// 查询控制壁厚
if (inOrdParam.StdWallthickMax == inOrdParam.NkWallthickMax
&& inOrdParam.StdWallthickMin == inOrdParam.NkWallthickMin
&& inOrdParam.Wallthick > 0)
{
ordProcEntity.HeightNkMax = (100 * inOrdParam.StdWallthickMax
/ inOrdParam.Wallthick).ToString();
ordProcEntity.HeightNkMin = (100 * inOrdParam.StdWallthickMin
/ inOrdParam.Wallthick).ToString();
}
else if (double.TryParse(dr["HEIGHT"].ToString(), out height)
&& height > 0)
{
ordProcEntity.HeightNkMax = (100 * inOrdParam.NkWallthickMax / height).ToString();
ordProcEntity.HeightNkMin = (100 * inOrdParam.NkWallthickMin / height).ToString();
}
#endregion
}
else
{
#region 外购管
double orderWeight = 0; //合同量
double aimlength = 0; //目标长度
int planNum = 0;//合同支数
OrderStdSic std = new OrderStdSic(this.ob);
std.DesginKey = desginKey;
std.Outdiameter = outdiameter;
std.Wallthick = wallthick;
std.getStdTolerance();
double weightMI = PlanComm.WeightOfMi(outdiameter, std.AimWallthick);//米单重
double rate = 0;
double rateMin = 0;
DateTime date = new DateTime();
if (delvryRangeTpe.Trim().Equals("绝对值"))
{
delvryRangeMax = (delvryRangeMax / orderQtyD) * 100;
delvryRangeMin = (delvryRangeMin / orderQtyD) * 100;
}
if (ordProcEntity.OrderUnit.Equals("米"))
{
orderWeight = Math.Round((orderQtyD * weightMI), 3);
}
else if (ordProcEntity.OrderUnit.Equals("英尺"))
{
double lengqty = PlanComm.FootoMi(orderQtyD);
orderWeight = Math.Round((lengqty * weightMI), 3);
}
else if (ordProcEntity.OrderUnit.Equals("英磅"))
{
orderWeight = PlanComm.PoundtoTon(orderQtyD);
}
else
{
orderWeight = orderQtyD;
}
//目标长度,取长度上下限中间值,计算计划支数
aimlength = (lengthmax + lengthmin) / 2;
if ((orderWeight % (aimlength * weightMI)) == 0)
{
planNum = (int)(orderWeight / (aimlength * weightMI));
}
else
{
planNum = (int)(orderWeight / (aimlength * weightMI)) + 1;
}
double putrate= FrmPlnSaleOrder.queryPutRate(
date.Year, date.Month, this.ob);
if (DateTime.TryParse(dtStatus.Rows[0]["ROLL_MONTH"].ToString(), out date))
{
rate = ((delvryRangeMax + delvryRangeMin) * putrate - delvryRangeMin) / 100;
rateMin = 1 - delvryRangeMin / 100;
}
ordProcEntity.OrderQtyD = orderQtyD.ToString();
ordProcEntity.PlanWtD = orderWeight.ToString();
ordProcEntity.PlanNumD = planNum.ToString();
ordProcEntity.WeightPerM = Math.Round(weightMI, 6).ToString();
ordProcEntity.AimLenEnd = aimlength.ToString();
ordProcEntity.PlanPMain = ((1 + rate) * orderWeight).ToString();
ordProcEntity.PlanTotLenD = (planNum * aimlength).ToString();
ordProcEntity.AimWallthick = std.AimWallthick.ToString();
ordProcEntity.AimOutdiameter =outdiameter.ToString();
ordProcEntity.FeedRate =putrate.ToString();
ordProcEntity.Coefficient =(1 + rate).ToString();
ordProcEntity.CoefficientMin = rateMin.ToString();
ordProcEntity.AimWtEnd = (weightJg / 1000 + weightMI * (aimlength - checkJval / 1000)).ToString();
ordProcEntity.WeightKzM = Math.Round(weightMI, 6).ToString();
ordProcEntity.PlanPMainMin = (rateMin * orderWeight).ToString();
// 查询控制壁厚
ordProcEntity.HeightNkMax = (100 * std.StdMax / wallthick).ToString();
ordProcEntity.HeightNkMin = (100 * std.StdMin / wallthick).ToString();
#endregion
}
isAvailBom = true;
break;
}
if (!isAvailBom)
{
MessageUtil.ShowError(errReason);
return;
}
}
#region 各工序信息确认
if (ordProcEntity.ProcessSeq.Contains("F"))
{
//判断是否经过热处理工序
ordProcEntity.FIsOk = "0";
}
else
{
ordProcEntity.FIsOk = "2";
}
if (ordProcEntity.ProcessSeq.Contains("G"))
{
//判断是否经过管加工工序
ordProcEntity.GIsOk = "0";
}
else
{
ordProcEntity.GIsOk = "2";
}
if (ordProcEntity.ProcessSeq.Contains("D"))
{
//判断是否经过轧管工序
ordProcEntity.DIsOk = "0";
}
else
{
ordProcEntity.DIsOk = "2";
}
if (ordProcEntity.ProcessSeq.Contains("E"))
{
//判断是否经过镦拔扩工序
ordProcEntity.EIsOk = "0";
}
else
{
ordProcEntity.EIsOk = "2";
}
#endregion
list.Add((orderQty - orderQtyD).ToString());
list.Add(OrdLnDlyPk);
list.Add(ugr.Cells["PlnDivideId"].Value.ToString());
int succeed = ServerHelper.SetData("com.steering.pss.plnsaleord.order.CoreChangeIndex.newPlnOrdProc",
new object[] { ordProcEntity, list }, this.ob);
if (succeed > 0)
{
MessageUtil.ShowTips("新增成功。");
}
}
catch (Exception ex)
{
if (!(ex is MESException))
{
MessageUtil.ShowError(ex.Message);
}
}
DoQuery();
}
///
/// 修改
///
private void DoModify()
{
try
{
ArrayList param = new ArrayList();
PlnSaleordProcEntity ordProcEntity = new PlnSaleordProcEntity();
UltraGridRow ugr = ultraGridProc.ActiveRow;
if (ugr == null)
{
return;
}
comMscPilneCtrl1.UltraGridMscPline.UpdateData();
IQueryable checkRows = comMscPilneCtrl1.UltraGridMscPline.Rows.AsQueryable().Where("CHC = 'True'");
if (checkRows.Count() <= 0)
{
MessageUtil.ShowError("没有选择的制程工艺!");
return;
}
string desginKey = this.comMscPilneCtrl1.DesginKey;
ordProcEntity.IndexSeq = this.comMscPilneCtrl1.CheMscPline;
ordProcEntity.CraftFileMan = this.comMscPilneCtrl1.CheCraftName;
ordProcEntity.CraftFileNo = this.comMscPilneCtrl1.CheCraftNo;
ordProcEntity.CraftSeq = this.comMscPilneCtrl1.CheCraftSeq;
ordProcEntity.GradecodeAll = this.comMscPilneCtrl1.GradeNameAll;
ordProcEntity.OrdLnDlyPk = ordLnDlyPk;
ordProcEntity.PlnDivideId = ugr.Cells["PlnDivideId"].Value.ToString();
string finalUser = ""; //最终用户
string produccode = ""; //品名代码
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreChangeIndex.queryPlnSaleOrderProc",
new object[] { ordLnDlyPk }, this.ob);
if (dtStatus != null && dtStatus.Rows.Count > 0)
{
if (dtStatus.Rows[0]["PORDERSTATUS"].ToString().CompareTo("3") > 0)
{
MessageUtil.ShowTips("合同:" + dtStatus.Rows[0]["ORDER_NO"].ToString() + "/"
+ dtStatus.Rows[0]["ORDER_SEQ"].ToString()
+ dtStatus.Rows[0]["DELIVERY_NO"].ToString() + "已经生产完成了。");
return;
}
//判断制程有误重复
//foreach (DataRow dr in dtStatus.Rows)
//{
// if (dr["CRAFT_SEQ"].Equals(comMscPilneCtrl1.CheCraftSeq))
// {
// MessageUtil.ShowError("序号:“" + comMscPilneCtrl1.CheCraftSeq + "”的工艺已经被使用!");
// return;
// }
//}
finalUser = dtStatus.Rows[0]["FINAL_USER"].ToString();
produccode = dtStatus.Rows[0]["PRODUCCODE"].ToString();
ordProcEntity.Msc = dtStatus.Rows[0]["MSC"].ToString();
ordProcEntity.MaterialNo = dtStatus.Rows[0]["MATERIAL_NO"].ToString();
ordProcEntity.OrderNo = dtStatus.Rows[0]["ORDER_NO"].ToString();
ordProcEntity.OrderSeq = dtStatus.Rows[0]["ORDER_SEQ"].ToString();
ordProcEntity.WeightPerM = dtStatus.Rows[0]["WEIGHT_PER_M"].ToString();
}
string outsStlPipeFl = dtStatus.Rows[0]["OUTS_STL_PIPE_FL"].ToString();
string outsBilletFl = dtStatus.Rows[0]["OUTS_BILLET_FL"].ToString();
DataTable dtProc = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreChangeIndex.queryPlnOrdProcById",
new object[] { ordLnDlyPk, ugr.Cells["PlnDivideId"].Value.ToString() }, this.ob);
if (dtProc == null || dtProc.Rows.Count <= 0)
{
MessageUtil.ShowError("找不到排产记录:"
+ ugr.Cells["PlnDivideId"].Value.ToString());
return;
}
if (!dtProc.Rows[0]["INDEX_SEQ"].ToString().Equals(ordProcEntity.IndexSeq)
|| !dtProc.Rows[0]["DESGIN_KEY"].ToString().Equals(desginKey))
{
param.Add(desginKey);
param.Add(ordProcEntity.IndexSeq);
DataTable dtProcess = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.queryMscplPrc",
new object[] { param }, this.ob);
if (dtProcess != null && dtProcess.Rows.Count > 0)
{
ordProcEntity.ProcessSeq = dtProcess.Rows[0]["WHOLE_BACKLOG"].ToString();
if (ordProcEntity.ProcessSeq.Equals(""))
{
MessageUtil.ShowError("未找到制程经过的工序点,请联系管理员。");
return;
}
ordProcEntity.BjType = "/";
ordProcEntity.EIsOk = "2";
foreach (DataRow dr in dtProcess.Rows)
{
if (dr["PROCESS_CODE"].ToString().Equals("E"))
{
//经过镦拔扩工序
ordProcEntity.EIsOk = "0";
ordProcEntity.BjType = dr["PROCESS_DESC_C"].ToString();
}
if (dr["PROCESS_CODE"].ToString().Equals("F"))
{
//经过热处理工序
ordProcEntity.ProcDescCRcl = dr["PROCESS_DESC_C"].ToString();
}
}
}
//查询物料信息
//param.Clear();
//param.Add(ordProcEntity.IndexSeq);
//param.Add(ordProcEntity.Msc);
//param.Add(ordProcEntity.MaterialNo);
//param.Add(ordProcEntity.ProcessSeq);
string outsBillet = "0";
if (outsStlPipeFl.Equals("")
|| outsStlPipeFl.Equals("121901"))
{
if (outsBilletFl.Equals("121801"))
{
outsBilletFl = "1";
}
else
{
outsBilletFl = "0";
}
}
else
{
if (outsBilletFl.Equals("121802"))
{
outsBilletFl = "0";
}
else
{
outsBilletFl = "1";
}
}
DataTable dtBom = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreOrderDesignBom.getOrdLineMscBom",
new object[] { desginKey, ordProcEntity.Msc, ordProcEntity.IndexSeq }, this.ob);
if (dtBom != null && dtBom.Rows.Count > 0)
{
bool isAvailBom = false;//是否存在可用BOM
string errReason = "";//不可用原因
foreach (DataRow dr in dtBom.Rows)
{
if (outsBillet.Equals("1"))
{
//查询是否自炼,外购钢种
DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreOrderDesignBom.getGradeCode",
new object[] { dr["GRADECODE"].ToString(), outsBillet }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
ordProcEntity.Gradecode = dr["GRADECODE"].ToString();
}
else
{
errReason = "无外购钢种!";
continue;
}
}
ordProcEntity.Bom = dr["BOM"].ToString();
ordProcEntity.GroupRollAll = dr["D_PLINE"].ToString();
ordProcEntity.Gradecode = dr["GRADECODE"].ToString();
ordProcEntity.EInMaterialDesc = dr["E_IN_MATERIAL_DESC"].ToString();
ordProcEntity.EInMaterialNo = dr["E_IN_MATERIAL_NO"].ToString();
ordProcEntity.DimaterYlg = dr["DIMATER"].ToString();
ordProcEntity.HeightYlg = dr["HEIGHT"].ToString();
ordProcEntity.GroupJgx = FrmDefGroup.DefJgxGourp(desginKey,
ordProcEntity.IndexSeq, dr["BOM"].ToString(), this.ob);
ordProcEntity.GroupRcl = FrmDefGroup.DefRclGourp(desginKey,
ordProcEntity.IndexSeq, dr["BOM"].ToString(), this.ob);
#region 判断坯料的属性
string dinMaterial = "";
///轧管投入物料(炼钢末工序产出物料)
if (!dr["D_IN_MATERIAL_NO"].ToString().Equals(""))
{
dinMaterial = dr["D_IN_MATERIAL_NO"].ToString();
}
else if (!dr["C_OUT_MATERIAL_NO"].ToString().Equals(""))
{
dinMaterial = dr["C_OUT_MATERIAL_NO"].ToString();
}
else if (!dr["B_OUT_MATERIAL_NO"].ToString().Equals(""))
{
dinMaterial = dr["B_OUT_MATERIAL_NO"].ToString();
}
else
{
dinMaterial = dr["A_OUT_MATERIAL_NO"].ToString();
}
ordProcEntity.StuffProperty = PlnSaleOrderBase.stuffProperty(dinMaterial);
#endregion
//轧管去向
ordProcEntity.Abc = PlnSaleOrderBase.getPlnOrdZgAbc(dr["WHOLE_BACKLOG"].ToString(), dr["WHOLE_BACKLOG_DESC"].ToString());
ordProcEntity.DIsOk = "2";
if (ordProcEntity.ProcessSeq.Contains("D"))
{
#region 默认轧管产线
ArrayList paramPline = new ArrayList();
paramPline.Add(dr["D_IN_MATERIAL_NO"].ToString());
paramPline.Add(dr["D_OUT_MATERIAL_NO"].ToString());
paramPline.Add(desginKey);
paramPline.Add(ordProcEntity.IndexSeq);
paramPline.Add(finalUser);
paramPline.Add(produccode);
DataTable dtDpl = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreOrderDesignBom.getBomMaterialDpl",
new object[] { paramPline }, this.ob);
if (dtDpl != null && dtDpl.Rows.Count > 0)
{
if (PlanComm.isInDataTable(dtDpl, "PLINE_CODE", dtProc.Rows[0]["GROUP_ROLL"].ToString()))
{
ordProcEntity.GroupRoll = dtProc.Rows[0]["GROUP_ROLL"].ToString();
ordProcEntity.DIsOk = "1";
}
//如果存在ASSEL机组,优选ASSEL机组
else
{
ordProcEntity.DIsOk = "0";
if (PlanComm.isInDataTable(dtDpl, "PLINE_CODE", "C012"))
{
if (FrmPlnSaleOrder.queryAsselFl(this.comMscPilneCtrl1.OrdLnPk, this.ob))
{
ordProcEntity.GroupRoll = "C012";
}
else
{
bool isPline = false;
foreach (DataRow drPine in dtDpl.Rows)
{
if (!drPine["PLINE_CODE"].ToString().Equals("C012"))
{
isPline = true;
ordProcEntity.GroupRoll = drPine["PLINE_CODE"].ToString();
break;
}
}
if (!isPline)
{
ordProcEntity.GroupRoll = dtDpl.Rows[0]["PLINE_CODE"].ToString();
}
}
}
else
{
ordProcEntity.GroupRoll = dtDpl.Rows[0]["PLINE_CODE"].ToString();
}
}
}
#endregion
}
if (ordProcEntity.ProcessSeq.Contains("D")
&& !ordProcEntity.GroupRoll.Trim().Equals("C072")
&& !outsStlPipeFl.Equals("121903")
&& !outsStlPipeFl.Equals("121902"))
{
#region 合同量转换
OutOrdParamEntity outOrdParam = new OutOrdParamEntity();
InOrdParamEntity inOrdParam = new InOrdParamEntity();
PlnGetOrdAmount ordAmountCal = new PlnGetOrdAmount(this.ob);
DateTime date = new DateTime();
string errMessage = "";
double putRate = 1;
if (DateTime.TryParse(dtStatus.Rows[0]["ROLL_MONTH"].ToString(), out date))
{
//投料率
putRate = FrmPlnSaleOrder.queryPutRate(date.Year, date.Month, this.ob);
}
inOrdParam = ordAmountCal.getInOrdPlnParam(desginKey, ordProcEntity.IndexSeq,
ordLnDlyPk, ordProcEntity.PlnDivideId, ordProcEntity.GroupRoll,
ordProcEntity.Bom, dtStatus.Rows[0]["CODE_JG"].ToString(), putRate);
if (!ordAmountCal.isRightParam(inOrdParam, desginKey, dtStatus.Rows[0]["CODE_JG"].ToString(),
ordProcEntity.Bom, ordProcEntity.GroupRoll, out errMessage))
{
errReason = errMessage;
continue;
}
ordAmountCal.InEnity = inOrdParam;
outOrdParam = ordAmountCal.getOrdAmount();
if (outOrdParam.ErrCode == -1)
{
errReason = "合同量转换出错(" + outOrdParam.ErrMessage + ")。";
continue;
}
ordProcEntity.WeightPerM = outOrdParam.WeightMi.ToString();
ordProcEntity.PlanWtD = outOrdParam.WeightInA.ToString();
ordProcEntity.PlanNumD = outOrdParam.PlanNum.ToString();
ordProcEntity.AimLenRoll = outOrdParam.AimlengthZg.ToString();
ordProcEntity.AimLenEnd = outOrdParam.AimLength.ToString();
ordProcEntity.PlanPMain = outOrdParam.WeightPc.ToString();
ordProcEntity.PlanTotLenD = (outOrdParam.PlanNum * outOrdParam.AimLength).ToString();
ordProcEntity.TotLenOneP = outOrdParam.TotLenOneP.ToString();
ordProcEntity.CutNumP = outOrdParam.CutNumP.ToString();
ordProcEntity.RollLength = outOrdParam.RollLength.ToString();
ordProcEntity.AimWallthick = outOrdParam.AimWallthick.ToString();
ordProcEntity.LenRollMax = outOrdParam.LenRollMax.ToString();
ordProcEntity.LenRollMin = outOrdParam.LenRollMin.ToString();
#endregion
}
isAvailBom = true;
break;
}
if (!isAvailBom)
{
MessageUtil.ShowError(errReason);
return;
}
}
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.plnsaleord.order.CoreChangeIndex";
ccp.MethodName = "updatePlnOrdProcIndex";
ccp.ServerParams = new object[] { ordProcEntity, desginKey };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode != -1)
{
MessageUtil.ShowTips("修改成功");
}
else
{
MessageUtil.ShowError("修改失败!" + ccp.ReturnInfo);
}
}
catch (Exception ex)
{
if (!(ex is MESException))
{
MessageUtil.ShowError(ex.Message);
}
}
DoQuery();
}
///
/// 保存
///
private void DoSave()
{
try
{
double planQty = 0;
double orderQty = 0;
ArrayList list = new ArrayList();
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CorePlnSaleOrder.querySaleStatus",
new object[] { ordLnDlyPk }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
return;
}
double.TryParse(dtStatus.Rows[0]["ORDER_QTY"].ToString(), out orderQty);
foreach (UltraGridRow uRow in ultraGridProc.Rows)
{
PlnSaleordProcEntity ordProcEntity = new PlnSaleordProcEntity();
double finishWt = 0;
double orderQtyD = 0;
double.TryParse(uRow.Cells["OrderQtyD"].Value.ToString(), out orderQtyD);
if (orderQtyD != 0)
{
DataTable dtProc = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreChangeIndex.queryPlnOrdProcById",
new object[] { ordLnDlyPk, uRow.Cells["PlnDivideId"].Value.ToString() }, this.ob);
if (dtProc == null || dtProc.Rows.Count <= 0)
{
MessageUtil.ShowError("找不到排产记录:"
+ uRow.Cells["PlnDivideId"].Value.ToString());
return;
}
string outsStlPipeFl = dtProc.Rows[0]["OUTS_STL_PIPE_FL"].ToString();
string processSeq = dtProc.Rows[0]["PROCESS_SEQ"].ToString();
string desginKey = dtProc.Rows[0]["DESGIN_KEY"].ToString();
string mscpline = dtProc.Rows[0]["INDEX_SEQ"].ToString();
string bom = dtProc.Rows[0]["BOM"].ToString();
string plineD = dtProc.Rows[0]["GROUP_ROLL"].ToString();
double.TryParse(dtProc.Rows[0]["FINISH_WT"].ToString(), out finishWt);
double orderWeight = 0;
if (processSeq.Contains("D")
&& !plineD.Trim().Equals("C072")
&& !outsStlPipeFl.Equals("121903")
&& !outsStlPipeFl.Equals("121902")
|| dtProc.Rows[0]["ORDER_UNIT"].ToString().Trim().Equals("支"))
{
#region 合同量转换
OutOrdParamEntity outOrdParam = new OutOrdParamEntity();
InOrdParamEntity inOrdParam = new InOrdParamEntity();
PlnGetOrdAmount ordAmountCal = new PlnGetOrdAmount(this.ob);
string errMessage = "";
DateTime date = new DateTime();
double putRate = 1;
if (DateTime.TryParse(dtStatus.Rows[0]["ROLL_MONTH"].ToString(), out date))
{
//投料率
putRate = FrmPlnSaleOrder.queryPutRate(date.Year, date.Month, this.ob);
}
inOrdParam = ordAmountCal.getInOrdPlnQtyParam(orderQtyD, dtStatus.Rows[0]["ORDER_UNIT"].ToString(),
desginKey, mscpline, ordLnDlyPk, plineD,
bom, dtStatus.Rows[0]["CODE_JG"].ToString(), putRate);
if (!ordAmountCal.isRightParam(inOrdParam, desginKey,
dtStatus.Rows[0]["CODE_JG"].ToString(), bom, plineD, out errMessage))
{
MessageUtil.ShowError(errMessage);
return;
}
ordAmountCal.InEnity = inOrdParam;
outOrdParam = ordAmountCal.getOrdAmount();
if (outOrdParam.ErrCode == -1)
{
MessageUtil.ShowError("合同量转换出错(" + outOrdParam.ErrMessage + ")。");
return;
}
ordProcEntity.WeightPerM = outOrdParam.WeightMi.ToString();
ordProcEntity.PlanWtD = outOrdParam.WeightInA.ToString();
ordProcEntity.PlanNumD = outOrdParam.PlanNum.ToString();
ordProcEntity.AimLenRoll = outOrdParam.AimlengthZg.ToString();
ordProcEntity.AimLenEnd = outOrdParam.AimLength.ToString();
ordProcEntity.PlanPMain = outOrdParam.WeightPc.ToString();
ordProcEntity.PlanTotLenD = (outOrdParam.PlanNum * outOrdParam.AimLength).ToString();
ordProcEntity.TotLenOneP = outOrdParam.TotLenOneP.ToString();
ordProcEntity.CutNumP = outOrdParam.CutNumP.ToString();
ordProcEntity.RollLength = outOrdParam.RollLength.ToString();
ordProcEntity.AimWallthick = outOrdParam.AimWallthick.ToString();
ordProcEntity.LenRollMax = outOrdParam.LenRollMax.ToString();
ordProcEntity.LenRollMin = outOrdParam.LenRollMin.ToString();
orderWeight = outOrdParam.WeightInA;
ordProcEntity.AimOutdiameter = outOrdParam.AimOutdiameter.ToString();
ordProcEntity.FeedRate = putRate.ToString();
ordProcEntity.Coefficient = outOrdParam.Coefficient.ToString();
ordProcEntity.CoefficientMin = outOrdParam.CoefficientMin.ToString();
ordProcEntity.PlanPMainMin = outOrdParam.PlanPMainMin.ToString();
ordProcEntity.AimWtEnd = outOrdParam.AimWtEnd.ToString();
ordProcEntity.WeightKzM = outOrdParam.WeightKzM.ToString();
#endregion
}
else
{
#region 外购管
double aimLenEnd = 0;
double weightPerM = 0;
int planNum = 0;
double rateMin = 0;
double.TryParse(dtProc.Rows[0]["WEIGHT_PER_M"].ToString(), out weightPerM);
double.TryParse(dtProc.Rows[0]["AIM_LEN_END"].ToString(), out aimLenEnd);
double.TryParse(dtProc.Rows[0]["COEFFICIENT_MIN"].ToString(), out rateMin);
if (dtProc.Rows[0]["ORDER_UNIT"].ToString().Equals("米"))
{
orderWeight = Math.Round((orderQtyD * weightPerM), 3);
}
else if (dtProc.Rows[0]["ORDER_UNIT"].ToString().Equals("英尺"))
{
double lengqty = PlanComm.FootoMi(orderQtyD);
orderWeight = Math.Round((lengqty * weightPerM), 3);
}
else if (dtProc.Rows[0]["ORDER_UNIT"].ToString().Equals("英磅"))
{
orderWeight = PlanComm.PoundtoTon(orderQtyD);
}
else
{
orderWeight = orderQtyD;
}
//目标长度,取长度上下限中间值,计算计划支数
if ((orderWeight % (aimLenEnd * weightPerM)) == 0)
{
planNum = (int)(orderWeight / (aimLenEnd * weightPerM));
}
else
{
planNum = (int)(orderWeight / (aimLenEnd * weightPerM)) + 1;
}
ordProcEntity.PlanWtD = orderWeight.ToString();
ordProcEntity.PlanNumD = planNum.ToString();
ordProcEntity.AimLenEnd = aimLenEnd.ToString();
ordProcEntity.PlanPMain = orderWeight.ToString();
ordProcEntity.PlanTotLenD = (planNum * aimLenEnd).ToString();
ordProcEntity.PlanPMainMin = (rateMin*orderWeight).ToString();
#endregion
}
if (Math.Round(orderWeight, 3) < Math.Round(finishWt, 3))
{
MessageUtil.ShowError("计划量必须大于等于已完成量!");
return;
}
}
ordProcEntity.OrderQtyD = orderQtyD.ToString();
ordProcEntity.OrdLnDlyPk = ordLnDlyPk;
ordProcEntity.PlnDivideId = uRow.Cells["PlnDivideId"].Value.ToString();
planQty += orderQtyD;
list.Add(ordProcEntity);
}
planQty = Math.Round(planQty, 3);
if (planQty != orderQty)
{
MessageUtil.ShowError("合同订货量" + orderQty.ToString()
+ "吨,与合同分解订货总量" + planQty.ToString() + "不符合!");
return;
}
int succeed = ServerHelper.SetData("com.steering.pss.plnsaleord.order.CoreChangeIndex.updatePlnOrdProc",
new object[] { list }, this.ob);
if (succeed > 0)
{
MessageUtil.ShowTips("保存成功。");
}
}
catch (Exception ex)
{
if (!(ex is MESException))
{
MessageUtil.ShowError(ex.Message);
}
}
DoQuery();
}
///
/// 删除
///
private void DoDelete()
{
try
{
double planWtD = 0;
ArrayList list = new ArrayList();
ArrayList param = new ArrayList();
UltraGridRow ugr = ultraGridProc.ActiveRow;
if (ugr == null)
{
return;
}
DataTable dtStatus = ServerHelper.GetData("com.steering.pss.plnsaleord.order.CoreChangeIndex.queryPlnOrdProcById",
new object[] { ordLnDlyPk, ugr.Cells["PlnDivideId"].Value.ToString() }, this.ob);
if (dtStatus == null || dtStatus.Rows.Count <= 0)
{
return;
}
if (!double.TryParse(dtStatus.Rows[0]["PLAN_WT_D"].ToString(), out planWtD))
{
return;
}
if (planWtD != 0)
{
MessageUtil.ShowError("该交货行分解量大于零,不能删除!");
return;
}
param.Add(ordLnDlyPk);
param.Add(ugr.Cells["PlnDivideId"].Value.ToString());
list.Add(param);
int succeed = ServerHelper.SetData("com.steering.pss.plnsaleord.order.CoreChangeIndex.deletePlnOrdProc",
new object[] { list }, this.ob);
if (succeed > 0)
{
MessageUtil.ShowTips("删除成功。");
}
}
catch (Exception ex)
{
if (!(ex is MESException))
{
MessageUtil.ShowError(ex.Message);
}
}
DoQuery();
}
private void ultraGridProc_AfterRowActivate(object sender, EventArgs e)
{
this.comMscPilneCtrl1.CheMscPline = ultraGridProc.ActiveRow.Cells["IndexSeq"].Value.ToString();
this.comMscPilneCtrl1.CheCraftSeq = ultraGridProc.ActiveRow.Cells["CraftSeq"].Value.ToString();
this.comMscPilneCtrl1.OrderSource = orderSource;
this.comMscPilneCtrl1.OrdLnDivPk = ordLnDlyPk;
this.comMscPilneCtrl1.DoQuery();
}
///
/// 交货pk
///
public string OrdLnDlyPk
{
get { return ordLnDlyPk; }
set { ordLnDlyPk = value; }
}
///
/// 补量需求编号
///
public string RNumId
{
get { return rNumId; }
set { rNumId = value; }
}
}
}