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 Infragistics.Win.UltraWinGrid;
using System.Collections;
using Core.Mes.Client.Comm.Tool;
using Core.StlMes.Client.SaleOrder.Dialog;
using com.steering.pss.sale.orderchange.entity;
using Core.Mes.Client.Comm.Format;
using Core.StlMes.Client.SaleOrder.OrderForm;
using Core.Mes.Client.Comm;
using System.Management;
namespace Core.StlMes.Client.SaleOrder
{
public partial class frmOrderManager : FrmBase
{
// 120504 为天淮界面
// ----------------------------------- CustomInfo ==2 时 来自于 合同行变更的请求。---------------------------------------------
// 删除 ChgeDelete 变更确认 ChgeConfirm 新增 ChgeAdd 查询 ChgeQuery 修改 ChgeUpdate
// 合同行新增逻辑“冻结变更” 提报完毕之后 还可以修改附加要求
//--------------------------------- CustomInfo ==3 时 来自于 合同头变更的请求。---------------------------------------------'''
// 查询 ChgeHeadQuery 修改 ChgeHeadUpdate 查看修改 ChgeHeadWatch
//合同行是否新增指令参数
private string orderSeq = null;
public string OrderSeq
{
get { return orderSeq; }
set { orderSeq = value; }
}
private string specName = null;
private int pstrueFla = 0;
private bool stas = false;
private string departNames = "";
string orderpsc = "";
string spec = "";
string model = "";
string len = "";
string user = "";
string mps = "";
string addtional = ""; //附加要求
string special = ""; //特殊要求
string dlyaddress = ""; //现货合同 交货地点
///
/// 销售组织
///
string _saleOrg = "";
///
/// 采购期货初始化标识
///
bool purchaseNoFlag = false;
bool purchaseNoFlag1 = false;
///
/// 合同行初始化标识
///
bool lineFlag = false;
///
/// 合同行控件 CtrlOrderLine 的编号
///
int lineNum = 1;
public string SpecName
{
get { return specName; }
set
{
specName = value;
}
}
///
/// CustomInfo=2时 合同变更标识 是否冻结变更
///
bool freezeFlag = false;
public frmOrderManager()
{
InitializeComponent();
this.IsLoadUserView = true;
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
ctrlOrderLine1.UltraComboSpec.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;
panel1.BackColor = Color.FromArgb(202, 222, 247);
ultraPanel1.BackColor = Color.FromArgb(202, 222, 247);
ultraPanel2.BackColor = Color.FromArgb(202, 222, 247);
ctrlLinePurchase1.LoadSetting();
ctrlLinePurchase2.LoadSetting();
}
Color color = new Color();
private void frmOrderManager_Load(object sender, EventArgs e)
{
departNames = UserInfo.GetDepartment();
string deptId = UserInfo.GetDeptid().Trim();
if (deptId.StartsWith("002001001") || deptId.StartsWith("002001007"))
{
UserInfo.SaleOrg = "100101";
//deptId = "002001004046"; //本部 研发合同科室 为了数据权限
UserInfo.SetDeptid("002001042001011");
ctrlOrderHead1.OrderNoIsEdit(false);
}
else if (deptId.StartsWith("002023005001") || deptId.StartsWith("002023020"))
{
UserInfo.SaleOrg = "100105";// 天淮 研发合同科室 为了数据权限
UserInfo.SetDeptid("002023020");
}
else
{
UserInfo.SaleOrg = ClsBaseInfo.GetSaleOrg(deptId);
}
_saleOrg = UserInfo.SaleOrg;
ctrlOrderHead1.saleorgHander += new Core.StlMes.Client.SaleOrder.ctrlOrderHead.GetSaleOrgHander(setSaleOrgEvent);
ctrlOrderHead1.loadBox(ob, UserInfo.SaleOrg, departNames, UserInfo.GetDeptid(),this.ValidDataPurviewIds);
if (this.CustomInfo != "3" && this.CustomInfo != "3-120504")
ctrlOrderLine1.loadFun(ob, UserInfo.SaleOrg);
//默认查询当前日期-1月——当前日期数据。
udtStart.DateTime = Convert.ToDateTime(DateTime.Now.AddMonths(-1).ToShortDateString());
udtEnd.DateTime = Convert.ToDateTime(DateTime.Now.ToShortDateString());
if (UserInfo.GetUserName() == "admin")
{
UserInfo.SaleOrg = "100101";
ctrlOrderLine1.editLabDly();
}
cmbOutboundCalculate.Value = "0";
color = ultraGrid2.DisplayLayout.Override.RowSelectorAppearance.BackColor;
if (ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid()) != "100102")
{
ultraGrid1.DisplayLayout.Bands[0].Columns["BUSINESS_TYPE"].Hidden = true;
}
SetDlyTpe();
purchaseNoFlag = false;
if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
{
this.chkFreeze.Visible = true;
}
if (this.CustomInfo.Contains("120504") || deptId == "002001042001011" || UserInfo.GetUserName() == "admin" || deptId == "002001042003005")
{
ctrlOrderHead1.OrderNoIsEdit(false);
ctrlOrderLine1.updateDlyAddVisible(true);
}
if (UserInfo.GetUserID() == "20100794") // 外贸事务科 周彤 修改交货运输方式
{
ctrlOrderLine1.updateDlyAddVisible(true);
}
}
public void setSaleOrgEvent(string saleorg)
{
UserInfo.SaleOrg = saleorg;
}
///
/// 重写基类方法
///
///
///
public override void ToolBar_Click(object sender, string ToolbarKey)
{
if (UserInfo.SaleOrg.Equals("NONE"))
{
MessageBox.Show("未授权,不允许操作!");
return;
}
switch (ToolbarKey)
{
case "doQuery":
doQuery();
break;
case "doAdd":
doAdd();
break;
case "doUpdate":
if (!equalsName())
{
break;
}
doUpdate();
break;
case "doDelete":
//if (!equalsName())
//{
// break;
//}
this.doDeleteOrRecovery(true);
break;
case "doRecovery":
//this.doDeleteOrRecovery(false);
break;
case "doApproval":
if (!equalsName())
{
break;
}
this.doApproval(); //合同确认
break;
case "OrderArchive":
if (!equalsName())
{
break;
}
OrderArchive();
break;
case "doLoad":
ctrlOrderHead1.loadBox(ob, UserInfo.SaleOrg, departNames, UserInfo.GetDeptid(),this.ValidDataPurviewIds);
ctrlOrderLine1.loadFun(ob, UserInfo.SaleOrg);
break;
//---------------------------------CustomInfo=2-----合同行变更的按钮区域---------------------
case "ChgeQuery":
ChgeQuery();
break;
case "ChgeAdd":
ChgeAdd();
break;
case "ChgeUpdate":
if (!equalsName())
{
break;
}
if (freezeFlag == false)
{
ChgeUpdate();
}
else
{
ChgeUpdateFreeze();
}
break;
case "ChgeDelete":
if (!equalsName())
{
break;
}
ChgeDelete();
break;
case "ChgeConfirm":
if (!equalsName())
{
break;
}
ChgeConfirm();
break;
case "Close":
this.Close();
break;
//------------------------------------------------------------------------------------------------
//---------------------------------CustomInfo=3-----合同头变更的按钮区域---------------------
case "ChgeHeadQuery":
ChgeHeadQuery();
break;
case "ChgeHeadUpdate":
if (!EqualsNameSpec())
{
break;
}
ChgeHeadUpdate();
break;
case "ChgeHeadWatch":
ChgeHeadWatch();
break;
case "ChgeHeadDelete":
if (!equalsName())
{
break;
}
ChgeHeadDelete();
break;
//---------------------------------------------------------------------------------------------------
case "doClose":
this.Close();
break;
case "UpdateOrderNo":
UpdateOrderNo();
break;
}
}
private void OrderArchive()
{
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null)
{
MessageUtil.ShowWarning("请选择您要归档的合同!");
return;
}
string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
if (MessageUtil.ShowYesNoAndQuestion("是否确认归档合同?") == DialogResult.No) return;
int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderManager.orderArchive", new object[] { ordPk }, ob);
if (count > 0)
{
MessageUtil.ShowTips("归档成功!");
doQuery();
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
{
row.Activate();
break;
}
}
}
}
///
/// 判定操作人员
///
private bool equalsName()
{
UltraGridRow row = ultraGrid1.ActiveRow;
if (row != null)
{
string createDept = row.Cells["CREATE_DEPT"].Value.ToString();
string createName = row.Cells["CREATE_NAME"].Value.ToString();
if (UserInfo.GetDeptid().Equals(createDept) && UserInfo.GetUserName().Equals(createName) || UserInfo.GetUserName().Equals("admin"))
{
return true;
}
MessageUtil.ShowWarning("操作权限不够!此合同是'" + createName + "'录入的!");
}
else
{
return true;
}
return false;
}
///
/// 判定操作人员
///
private bool EqualsNameSpec()
{
UltraGridRow row = ultraGrid1.ActiveRow;
if (row != null)
{
string createDept = row.Cells["CREATE_DEPT"].Value.ToString();
string createName = row.Cells["CREATE_NAME"].Value.ToString();
if (UserInfo.GetDeptid().Equals(createDept))
{
if (createName == "")
{
return true;
}
else
{
if (UserInfo.GetUserName().Equals(createName))
{
return true;
}
}
}
MessageUtil.ShowWarning("操作权限不够!此合同是'" + createName + "'录入的!");
}
else
{
return true;
}
return false;
}
///
/// 确认
///
private void doApproval()
{
UltraGridRow row = ultraGrid1.ActiveRow;
if (row != null)
{
if (ultraGrid2.Rows.Count == 0)
{
MessageUtil.ShowTips("合同行不存在,无法待提报评审!");
return;
}
foreach (UltraGridRow urow in ultraGrid2.Rows)
{
if (urow.Cells["DELVRY_DESC"].Value.ToString().Trim().Equals("") || urow.Cells["DELVRY_DESC"].Value.ToString().Trim().Equals("N/A"))
{
MessageUtil.ShowTips(urow.Cells["ORDER_SEQ"].Value.ToString() + ",合同行交货发运要求信息未维护,所有行必须维护交货发运要求,否则无法待提报评审!");
urow.Activate();
return;
}
if (row.Cells["SUPPLY_UNIT_NM"].Text.Equals("江苏天淮钢管有限公司") && !row.Cells["FST_DRAWEE_UNIT_NM"].Text.Equals("江苏天淮钢管有限公司"))
{
if (urow.Cells["ORDER_ADD_DESC"].Value.ToString().Contains("计重方式") && !urow.Cells["ORDER_ADD_DESC"].Value.ToString().Contains("THCO"))
{
//MessageUtil.ShowTips("天淮成品合同计重方式请选择THCO!");
//urow.Activate();
//return;
}
}
}
string tipStr = "";
//如果已经提交审批,则不允许再次提交审批。
string orderSts = row.Cells["ORDER_STS"].Value.ToString();
if (row.Cells["ORDER_TYP_DESC"].Text.Equals("N/A") || row.Cells["ORDER_TYP_DESC"].Text.Equals("/"))
{
MessageUtil.ShowWarning("请维护该合同的合同类型,确认操作时,不能存在(N/A和/值)!");
return;
}
if (row.Cells["CUSTOMER_NM"].Text.Equals("N/A") || row.Cells["CUSTOMER_NM"].Text.Equals(""))
{
MessageUtil.ShowWarning("请维护该合同的订货单位,确认操作时,不能存在(N/A和空值)!");
return;
}
if (row.Cells["STLMT_UNIT_NM"].Text.Equals("N/A") || row.Cells["STLMT_UNIT_NM"].Text.Equals(""))
{
MessageUtil.ShowWarning("请维护该合同的结算单位,确认操作时,不能存在(N/A和空值)!");
return;
}
if ("12020102".Equals(orderSts))
{
MessageUtil.ShowTips("该合同头已待提报评审!");
return;
}
if (!orderSts.Substring(0, 6).Equals("120201"))
{
MessageUtil.ShowTips("允许操作状态:录入!");
return;
}
if (row.Cells["SUPPLY_UNIT_NM"].Text.Equals("江苏天淮钢管有限公司") && !row.Cells["FST_DRAWEE_UNIT_NM"].Text.Equals("江苏天淮钢管有限公司"))
{
if (MessageUtil.ShowYesNoAndQuestion(tipStr + "天淮成品合同确认后将无法修改!是否确认!") == DialogResult.No)
return;
}
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.queryOrderQty", new object[] { ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString() }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
if (Convert.ToDecimal(dt.Rows[0][0].ToString()) != 0)
{
MessageUtil.ShowWarning("确认的合同的订单量和交货行的交货量不一致,请确认交货行信息!");
return;
}
}
else
{
MessageUtil.ShowWarning("确认的合同发生异常!");
return;
}
dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.queryOrderWgt", new object[] { ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString() }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
for(int i = 0;i
/// 删除或恢复功能实现
///
///
private void doDeleteOrRecovery(bool isDelete)
{
if (ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString().Equals("12020201") ||
ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString().Equals("12020210") ||
ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString().Equals("12020220") ||
ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString().Substring(0, 6).Equals("120203"))
{
MessageUtil.ShowTips("等待评审中,不允许修改!");
return;
}
if ("1".Equals(ultraTabControl1.SelectedTab.Key))
{
doDeleteOrRecoveryHead(isDelete);
}
else
{
//int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderCopy.getOrder_TH", new object[] { ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() }, this.ob);
//if (count < 0)
//{
// MessageUtil.ShowWarning("已生成天淮合同,无法作废!");
// return;
//}
int count = ServerHelper.SetData("com.steering.pss.sale.order.CopyOrderApproval.getThOrderStatus", new object[] { ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString() }, this.ob);
if (count == 2 && !UserInfo.GetUserName().Equals("admin"))
{
MessageUtil.ShowWarning("天淮合同技术评审,交货期已通过!无法修改");
return;
}
//合同行删除恢复功能实现。
doDeleteOrRecoveryLine(isDelete);
}
}
///
/// 合同头废除恢复
///
///
private void doDeleteOrRecoveryHead(bool isDelete)
{
if (ultraGrid1.ActiveRow == null)
{
MessageBox.Show("请选择需要" + (isDelete ? "废除" : "恢复") + "的数据,删除不能恢复!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
string status = "";
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderHeadStatus", new object[] { ordPk }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
status = dt.Rows[0][0].ToString();
}
Boolean validflagStr = Convert.ToBoolean(ultraGrid1.ActiveRow.Cells["VALIDFLAG"].Value);
if (isDelete)
{
//有效数据不允许删除。
if (!validflagStr)
{
//MessageBox.Show("无效数据不支持废除操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
//return;
}
}
else
{
//有效数据不允许恢复
if (validflagStr)
{
MessageBox.Show("有效数据不支持恢复操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
ArrayList parms = new ArrayList();
//废除人
parms.Add(UserInfo.GetUserName());
//管理卡号MANAG_NO
string managNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
parms.Add(managNo);
////合同号ORDER_NO
//string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
//parms.Add(orderNo);
string ordType = ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString();
if (parms.Count > 0 && MessageBox.Show("是否确认" + (isDelete ? "废除" : "恢复") + "选中的数据!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
if (status == "12020201" || status == "12020210" || status == "12020220" || Convert.ToInt32(status) > 12020301)
{
MessageUtil.ShowWarning("当前状态下 不允许删除合同头");
return;
}
try
{
int count = 0;
try
{
count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderManager.doDeleteOrRecoveryHead", new Object[] { parms, isDelete, ordType }, this.ob);
}
catch (MESException e)
{
MessageUtil.ShowWarning(e.Message);
return;
}
if (count > 0)
{
if (isDelete)
{
for (int i = 0; i < this.orderHeadDt.Rows.Count; i++)
{
if (managNo.Equals(this.orderHeadDt.Rows[i]["ORD_PK"]))
{
this.orderHeadDt.Rows.Remove(this.orderHeadDt.Rows[i]);
}
}
doQuery();
}
else
{
doQuery();
}
Infragistics.Win.UltraWinGrid.UltraGridRow rowD = null;
for (int i = 0; i < ultraGrid1.Rows.Count; i++)
{
rowD = ultraGrid1.Rows[i];
if (rowD.Cells["ORD_PK"].Value.ToString().Equals(managNo))
{
rowD.Activate();
break;
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
///
/// 合同行废除或恢复
///
///
private void doDeleteOrRecoveryLine(bool isDelete)
{
if (ultraGrid2.ActiveRow == null)
{
MessageBox.Show("请选择需要" + (isDelete ? "废除" : "恢复") + "的数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (ultraGrid1.ActiveRow == null)
{
MessageBox.Show("主表信息未选中。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
Boolean validflagHead = Convert.ToBoolean(ultraGrid1.ActiveRow.Cells["VALIDFLAG"].Value);
if (!validflagHead)
{
//主表无效的情况下,从表不允许做任何操作。
MessageBox.Show("无效操作,合同头处于无效状态。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
Boolean validflagStr = Convert.ToBoolean(ultraGrid2.ActiveRow.Cells["VALIDFLAG"].Value);
if (isDelete)
{
//有效数据不允许删除。
if (!validflagStr)
{
MessageBox.Show("无效数据不支持废除操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
else
{
//有效数据不允许恢复
if (validflagStr)
{
MessageBox.Show("有效数据不支持恢复操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
ArrayList parms = new ArrayList();
//废除人
parms.Add(UserInfo.GetUserName());
////管理卡号MANAG_NO
string managNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
//parms.Add(managNo);
////合同号ORDER_NO
//string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
//parms.Add(orderNo);
//合同行号ORDER_SEQ
string orderSeq = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
parms.Add(orderSeq);
string indexSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
string ordType = ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString();
if (parms.Count > 0 && MessageBox.Show("是否确认" + (isDelete ? "废除" : "恢复") + "选中的数据!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
try
{
string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
dept = dept + "-" + UserInfo.GetDepartment();
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
ccp.MethodName = "deleteLine";
ccp.ServerParams = new object[] { managNo, orderSeq, parms, UserInfo.GetUserName(), dept, ordType };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnObject.ToString());
return;
}
}
else
{
return;
}
if (isDelete)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderType", new object[] { managNo }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
if (dt.Rows[0][0].ToString2() != "120102")
{
ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderManager.SetUpDateOrderSEQ", new Object[] { "slm_order_line", "ORDER_SEQ", indexSeq, managNo }, this.ob);
}
}
}
string valid = "1";
//展示合同行数据
GetOrderLineDt(managNo, valid);
Infragistics.Win.UltraWinGrid.UltraGridRow rowD = null;
for (int i = 0; i < ultraGrid2.Rows.Count; i++)
{
rowD = ultraGrid2.Rows[i];
if (rowD.Cells["ORD_LN_PK"].Value.ToString().Equals(orderSeq))
{
rowD.Activate();
break;
}
}
}
// }
catch (Exception ex)
{
MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
///
/// 比较合同头数据
///
///
private string orderHeadRowUp(UltraGridRow active, DataTable tableHead)
{
string retunup = "";
if (active.Cells == null || tableHead.Rows.Count <= 0)
{
return "lineNull";
}
if (!active.Cells["ORDER_NO"].Value.ToString().Equals(tableHead.Rows[0]["ORDER_NO"].ToString()))
{
retunup += "合同号:" + active.Cells["ORDER_NO"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_NO"].ToString() + "\r\n";
}
if (!active.Cells["CUSTM_ORDER_NO"].Value.ToString().Equals(tableHead.Rows[0]["CUSTM_ORDER_NO"].ToString()))
{
retunup += "客户合同号:" + active.Cells["CUSTM_ORDER_NO"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["CUSTM_ORDER_NO"].ToString() + "\r\n";
}
if (!active.Cells["ORDER_TYP"].Value.ToString().Equals(tableHead.Rows[0]["ORDER_TYP"].ToString()))
{
retunup += "合同类型:" + active.Cells["ORDER_TYP_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_TYP_DESC"].ToString() + "\r\n";
}
if (!active.Cells["SALE_AREA_NO"].Value.ToString().Equals(tableHead.Rows[0]["SALE_AREA_NO"].ToString()))
{
retunup += "销售片区:" + active.Cells["SALE_AREA_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["SALE_AREA_DESC"].ToString() + "\r\n";
}
if (!active.Cells["ORDER_YEAR"].Value.ToString().Equals(tableHead.Rows[0]["ORDER_YEAR"].ToString()))
{
retunup += "合同年度:" + active.Cells["ORDER_YEAR"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_YEAR"].ToString() + "\r\n";
}
if (!active.Cells["DOCUMENTARY_NAME"].Value.ToString().Equals(tableHead.Rows[0]["DOCUMENTARY_NAME"].ToString()))
{
retunup += "跟单人:" + active.Cells["DOCUMENTARY_NAME"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["DOCUMENTARY_NAME"].ToString() + "\r\n";
}
if (tableHead.Rows[0]["SIGN_DATE"].ToString() != "")
{
if (active.Cells["SIGN_DATE"].Text.Trim() == "")
{
if (!active.Cells["SIGN_DATE"].Text.Equals(Convert.ToDateTime(tableHead.Rows[0]["SIGN_DATE"]).ToString("yyyyMMdd")))
{
retunup += "签订日期:" + active.Cells["SIGN_DATE"].Text + ",修改为:" + tableHead.Rows[0]["SIGN_DATE"].ToString() + "\r\n";
}
}
else
{
if (!Convert.ToDateTime(active.Cells["SIGN_DATE"].Value).ToString("yyyyMMdd").Equals(Convert.ToDateTime(tableHead.Rows[0]["SIGN_DATE"]).ToString("yyyyMMdd")))
{
retunup += "签订日期:" + active.Cells["SIGN_DATE"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["SIGN_DATE"].ToString() + "\r\n";
}
}
}
if (!active.Cells["SIGN_ADDRESS"].Value.ToString().Equals(tableHead.Rows[0]["SIGN_ADDRESS"].ToString()))
{
retunup += "签订地点:" + active.Cells["SIGN_ADDRESS"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["SIGN_ADDRESS"].ToString() + "\r\n";
}
if (!active.Cells["FST_DRAWEE_UNIT"].Value.ToString().Equals(tableHead.Rows[0]["FST_DRAWEE_UNIT"].ToString()))
{
retunup += "首次受票单位:+" + active.Cells["FST_DRAWEE_UNIT"].Text.ToString() + ",修改为:+" + tableHead.Rows[0]["FST_DRAWEE_UNIT"].ToString() + "\r\n";
}
if (!active.Cells["CUSTOMER_NO"].Value.ToString().Equals(tableHead.Rows[0]["CUSTOMER_NO"].ToString()))
{
retunup += "订货单位:-" + active.Cells["CUSTOMER_NM"].Value.ToString() + ",修改为:-" + tableHead.Rows[0]["CUSTOMER_NM"].ToString() + "\r\n";
}
if (!active.Cells["STLMT_UNIT_NO"].Value.ToString().Equals(tableHead.Rows[0]["STLMT_UNIT_NO"].ToString()))
{
retunup += "结算单位:" + active.Cells["STLMT_UNIT_NM"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["STLMT_UNIT_NM"].ToString() + "\r\n";
}
if (!active.Cells["BANK"].Value.ToString().Equals(tableHead.Rows[0]["BANK"].ToString()))
{
retunup += "开户银行:" + active.Cells["BANK"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["BANK"].ToString() + "。";
}
if (!active.Cells["ACCOUNT"].Value.ToString().Equals(tableHead.Rows[0]["ACCOUNT"].ToString()))
{
retunup += "开户行帐号:" + active.Cells["ACCOUNT"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ACCOUNT"].ToString() + "。";
}
if (!active.Cells["TAX_ID"].Value.ToString().Equals(tableHead.Rows[0]["TAX_ID"].ToString()))
{
retunup += "税号:" + active.Cells["TAX_ID"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["TAX_ID"].ToString() + "。";
}
if (active.Cells["PROTCL_NO"].Value.ToString() != tableHead.Rows[0]["PROTCL_NO"].ToString())
{
retunup += "协议号:" + active.Cells["PROTCL_NO"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["PROTCL_NO"].ToString() + "。";
}
if (active.Cells["PRINT_PRICE"].Value.ToString() != tableHead.Rows[0]["PRINT_PRICE"].ToString())
{
retunup += "打印价格:" + active.Cells["PRINT_PRICE"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["PRINT_PRICE"].ToString() + "。";
}
if (active.Cells["PRICE_PLAN"].Value.ToString() != tableHead.Rows[0]["PRICE_PLAN"].ToString())
{
retunup += "优惠方案:" + active.Cells["PRICE_PLAN"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["PRICE_PLAN"].ToString() + "。";
}
if (!active.Cells["MNY_ASK_DESC"].Value.ToString().Equals(tableHead.Rows[0]["MNY_ASK_DESC"].ToString()))
{
retunup += "付款要求:" + active.Cells["MNY_ASK_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["MNY_ASK_DESC"].ToString() + "。";
}
if (!active.Cells["ORDER_MODEL_DESC"].Value.ToString().Equals(tableHead.Rows[0]["ORDER_MODEL_DESC"].ToString()))
{
retunup += "商务条款:" + active.Cells["ORDER_MODEL_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_MODEL_DESC"].ToString() + "。";
}
if (!active.Cells["PENALTY_DESC"].Value.ToString().Equals(tableHead.Rows[0]["PENALTY_DESC"].ToString()))
{
retunup += "罚则条款:" + active.Cells["PENALTY_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["PENALTY_DESC"].ToString() + "。";
}
return retunup;
}
///
/// 比较合同行数据
///
///
private string orderLineRowUp(UltraGridRow active, DataTable tableHead)
{
string retunup = "";
if (active.Cells == null || tableHead.Rows.Count <= 0)
{
return "lineNull";
}
if (!active.Cells["PSC"].Value.ToString().Equals(tableHead.Rows[0]["PSC"].ToString()))
{
pstrueFla = 1;
retunup += "订货产品:" + active.Cells["PSC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["PSC"].ToString() + "\r\n";
}
if (!active.Cells["SPEC_CODE"].Value.ToString().Equals(tableHead.Rows[0]["SPEC_CODE"].ToString()))
{
pstrueFla = 1;
retunup += "订货规格:" + active.Cells["SPEC_NAME"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["SPEC_NAME"].ToString() + "\r\n";
retunup += "修改订货规格,估算重量会改变,请同时修改交货行。";
}
if (!active.Cells["MODEL_CODE"].Value.ToString().Equals(tableHead.Rows[0]["MODEL_CODE"].ToString()))
{
pstrueFla = 1;
retunup += "扣型:" + active.Cells["MODEL_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["MODEL_DESC"].ToString() + "\r\n";
}
if (!active.Cells["LEN_NO"].Value.ToString().Equals(tableHead.Rows[0]["LEN_NO"].ToString()))
{
pstrueFla = 1;
retunup += "订货长度:" + active.Cells["LEN_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["LEN_DESC"].ToString() + "\r\n";
}
if (!active.Cells["ORDER_QTY"].Value.Equals(System.DBNull.Value) && Convert.ToDouble(active.Cells["ORDER_QTY"].Value.ToString()) != Convert.ToDouble(tableHead.Rows[0]["ORDER_QTY"].ToString()))
{
retunup += "订货量:" + active.Cells["ORDER_QTY"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_QTY"].ToString() + "\r\n";
}
if (!active.Cells["ORDER_UNIT"].Value.ToString().Equals(tableHead.Rows[0]["ORDER_UNIT"].ToString()))
{
retunup += "订货量单位:" + active.Cells["ORDER_UNIT"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_UNIT"].ToString() + "\r\n";
}
//if (!active.Cells["PRDCT_WGT"].Value.Equals(System.DBNull.Value) && Convert.ToDouble(active.Cells["PRDCT_WGT"].Value.ToString()) != Convert.ToDouble(tableHead.Rows[0]["PRDCT_WGT"].ToString()))
//{
// retunup += "订货量吨数:" + active.Cells["PRDCT_WGT"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["PRDCT_WGT"].ToString() + "\r\n";
//}
if (!active.Cells["DELVRY_RANGE_MAX"].Value.Equals(System.DBNull.Value) && Convert.ToDouble(active.Cells["DELVRY_RANGE_MAX"].Value.ToString()) != Convert.ToDouble(tableHead.Rows[0]["DELVRY_RANGE_MAX"].ToString()))
{
retunup += "交货量差上限:+" + active.Cells["DELVRY_RANGE_MAX"].Value.ToString() + ",修改为:+" + tableHead.Rows[0]["DELVRY_RANGE_MAX"].ToString() + "\r\n";
}
if (!active.Cells["DELVRY_RANGE_MIN"].Value.Equals(System.DBNull.Value) && Convert.ToDouble(active.Cells["DELVRY_RANGE_MIN"].Value.ToString()) != Convert.ToDouble(tableHead.Rows[0]["DELVRY_RANGE_MIN"].ToString()))
{
retunup += "交货量差下限:-" + active.Cells["DELVRY_RANGE_MIN"].Value.ToString() + ",修改为:-" + tableHead.Rows[0]["DELVRY_RANGE_MIN"].ToString() + "\r\n";
}
if (!active.Cells["ORDER_PRICE"].Value.Equals(System.DBNull.Value) && Convert.ToDouble(active.Cells["ORDER_PRICE"].Value.ToString()) != Convert.ToDouble(tableHead.Rows[0]["ORDER_PRICE"].ToString()))
{
pstrueFla = 1;
retunup += "订货价:" + active.Cells["ORDER_PRICE"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_PRICE"].ToString() + "\r\n";
}
if (!active.Cells["OUTS_BILLET_FL"].Value.ToString().Equals(tableHead.Rows[0]["OUTS_BILLET_DESC"].ToString()))
{
pstrueFla = 1;
retunup += "外购坯:" + active.Cells["OUTS_BILLET_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["OUTS_BILLET_DESC"].ToString() + "\r\n";
}
if (!active.Cells["OUTS_STL_PIPE_FL"].Value.ToString().Equals(tableHead.Rows[0]["OUTS_STL_PIPE_DESC"].ToString()))
{
pstrueFla = 1;
retunup += "外购管:" + active.Cells["OUTS_STL_PIPE_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["OUTS_STL_PIPE_DESC"].ToString() + "\r\n";
}
if (!active.Cells["FINAL_USER"].Value.ToString().Equals(tableHead.Rows[0]["FINAL_USER"].ToString()))
{
pstrueFla = 1;
retunup += "最终用户:" + active.Cells["FINAL_USER_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["FINAL_USER_DESC"].ToString() + "。";
}
return retunup;
}
///
/// 修改
///
private void doUpdate()
{
ultraGrid1.UpdateData();
if (ultraGrid1 != null)
{
int count = ServerHelper.SetData("com.steering.pss.sale.order.CopyOrderApproval.getThOrderStatus", new object[] { ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString() }, this.ob);
if (count == 2 && !UserInfo.GetUserName().Equals("admin"))
{
MessageUtil.ShowWarning("天淮合同技术评审,交货期已通过!无法修改");
return;
}
count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderCopy.getOrder_TH", new object[] { ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() }, this.ob);
if (count == -1 && !UserInfo.GetUserName().Equals("admin"))
{
//MessageUtil.ShowWarning("已生成天淮合同,无法修改!");
//return;
if (MessageBox.Show("已生成天淮合同,请确认已通知天淮需要修改合同内容?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
}
}
if ("1".Equals(ultraTabControl1.SelectedTab.Key))
{
string orderSts = "12020101";
string orderStsDesc = "";
string b_ordSts = "";
string b_ordlnsts = "";
string ordlnsts = "";
string ordlnsts_desc = "";
string b_ordsndsts = "";
string ordsndsts = "";
string ordsndsts_desc = "";
string ReviewItemFlag = "NONE";
ultraGrid1.Update();
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("请选择需要修改的数据!");
return;
}
b_ordSts = ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString();
orderSts = ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString();
orderStsDesc = ultraGrid1.ActiveRow.Cells["ORDER_STS_DESC"].Value.ToString();
if (orderSts == "12020221" | orderSts == "12020223" | orderSts == "12020231" | orderSts == "12020241")
{
b_ordlnsts = b_ordSts;
ordlnsts = "12020212";
ordlnsts_desc = "交货期评审通过";
b_ordsndsts = b_ordSts;
ordsndsts = "12020212";
ordsndsts_desc = "交货期评审通过";
}
if (orderSts == "12020231")
{
ReviewItemFlag = "P";
}
if (orderSts == "12020241")
{
ReviewItemFlag = "F";
}
DataSet ds = ctrlOrderHead1.ctrlValue;
if (ds == null)
{
return;
}
DataTable slmOrderHead = ds.Tables["SLM_ORDER_HEAD"];
//合同号ORDER_NO
string orderNo = slmOrderHead.Rows[0]["ORDER_NO"].ToString().ToUpper();
if (orderNo == "")
{
MessageUtil.ShowWarning("不能将合同号修改为空!");
return;
}
DateTime createTime = Convert.ToDateTime(ultraGrid1.ActiveRow.Cells["CREATE_TIME"].Value);
int year = createTime.Year;
int mon = createTime.Month;
int day = createTime.Day;
if (year > 2015 || (year == 2015 && mon == 12 && day > 30)) //2015-12-30之后的合同卡死13位
{
if (orderNo.Length != 13)
{
MessageUtil.ShowWarning("合同号的长度必须为13位!");
return;
}
// 生成的天淮合同
if (orderNo.StartsWith("TH"))
{
_saleOrg = "200101";
}
if (this.UserInfo.GetUserName().Equals("admin"))
{
_saleOrg = ctrlOrderHead1.Saleorg;
}
ArrayList arrList = new ArrayList();
arrList.Add(_saleOrg);
arrList.Add(slmOrderHead.Rows[0]["TRADE_TYPE"].ToString());
arrList.Add(slmOrderHead.Rows[0]["ORDER_CLASSIFY"].ToString());
arrList.Add(slmOrderHead.Rows[0]["ORDER_TYP"].ToString());
string msg = GetOrderPrefix(arrList);
string prefix = "";
if (msg == "1")
{
MessageUtil.ShowWarning("网络错误,请检查网络是否连通!");
return;
}
else if (msg == "2")
{
MessageUtil.ShowWarning("合同号验证失败!");
return;
}
else if (msg.Length == 6)
{
prefix = msg;
}
else
{
MessageUtil.ShowWarning(msg);
return;
}
string sux = orderNo.Substring(6, 7);
orderNo = prefix + sux;
}
slmOrderHead.Rows[0]["ORDER_NO"] = orderNo;
string runtre = orderHeadRowUp(ultraGrid1.ActiveRow, slmOrderHead);
string yesNoName = MessageBox.Show("是否确认修改该合同,合同号: " + ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() + "。" + "\r\n" + runtre, "合同头修改",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question, MessageBoxDefaultButton.Button2).ToString();
if (yesNoName.Equals("No"))
{
return;
}
ArrayList parms = new ArrayList();
parms.Add(orderNo);
//旧合同号。
string orderNoJ = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
if (!orderNo.Equals(orderNoJ))
{
if (!orderNoIsRepeat(orderNo))
{
MessageBox.Show("合同号已存在,请重新输入。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
}
//客户合同号,CUSTM_ORDER_NO
parms.Add(slmOrderHead.Rows[0]["CUSTM_ORDER_NO"].ToString().ToUpper());
//合同类型,ORDER_TYP
parms.Add(slmOrderHead.Rows[0]["ORDER_TYP"].ToString());
//合同类型描述,ORDER_TYP_DESC
parms.Add(slmOrderHead.Rows[0]["ORDER_TYP_DESC"].ToString());
//协议号,PROTCL_NO,
parms.Add(slmOrderHead.Rows[0]["PROTCL_NO"].ToString());
//客户编码CUSTOMER_NO
parms.Add(slmOrderHead.Rows[0]["CUSTOMER_NO"].ToString());
//客户名称CUSTOMER_NM
parms.Add(slmOrderHead.Rows[0]["CUSTOMER_NM"].ToString());
//供货单位SUPPLY_UNIT
parms.Add(slmOrderHead.Rows[0]["SUPPLY_UNIT"].ToString());
//计价方式(1203)PRICE_FL
parms.Add(slmOrderHead.Rows[0]["PRICE_FL"].ToString());
//币种CURRENCY
parms.Add(slmOrderHead.Rows[0]["CURRENCY"].ToString());
//结算单位编码STLMT_UNIT_NO
parms.Add(slmOrderHead.Rows[0]["STLMT_UNIT_NO"].ToString());
//结算单位名称STLMT_UNIT_NM
parms.Add(slmOrderHead.Rows[0]["STLMT_UNIT_NM"].ToString());
//首次受票人(国贸/钢贸/集团/客户)FST_DRAWEE_UNIT
parms.Add(slmOrderHead.Rows[0]["FST_DRAWEE_UNIT"].ToString());
//法人LEGAL_PSN
parms.Add(slmOrderHead.Rows[0]["LEGAL_PSN"].ToString());
//委托代理人AGENT
parms.Add(slmOrderHead.Rows[0]["AGENT"].ToString());
//地址ADDRESS
parms.Add(slmOrderHead.Rows[0]["ADDRESS"].ToString());
//邮编ZIP_CODE
parms.Add(slmOrderHead.Rows[0]["ZIP_CODE"].ToString());
//开户银行BANK
parms.Add(slmOrderHead.Rows[0]["BANK"].ToString());
//帐号ACCOUNT
parms.Add(slmOrderHead.Rows[0]["ACCOUNT"].ToString());
//税号TAX_ID
parms.Add(slmOrderHead.Rows[0]["TAX_ID"].ToString());
//电话PHONE
parms.Add(slmOrderHead.Rows[0]["PHONE"].ToString());
//传真FAX
parms.Add(slmOrderHead.Rows[0]["FAX"].ToString());
//合同量ORDER_WGT
parms.Add(slmOrderHead.Rows[0]["ORDER_WGT"].ToString());
//合同总价(含税)ORDER_MNY_TAX
parms.Add(slmOrderHead.Rows[0]["ORDER_MNY_TAX"].ToString());
//合同总价(不含税)ORDER_MNY_NTAX
parms.Add(slmOrderHead.Rows[0]["ORDER_MNY_NTAX"].ToString());
//付款要求描述MNY_ASK_DESC
parms.Add(slmOrderHead.Rows[0]["MNY_ASK_DESC"].ToString());
//签订人SIGN_PERSON
parms.Add(slmOrderHead.Rows[0]["SIGN_PERSON"].ToString());
//签订日期SIGN_DATE
//parms.Add(DateTime.Now);
parms.Add(slmOrderHead.Rows[0]["SIGN_DATE"].ToString());
//合同开始时间ORDER_BDATE
parms.Add(slmOrderHead.Rows[0]["ORDER_BDATE"].ToString());
//合同结束时间ORDER_EDATE
parms.Add(slmOrderHead.Rows[0]["ORDER_EDATE"].ToString());
//合同扫描件编号ORDER_SCAN_NO
parms.Add(slmOrderHead.Rows[0]["ORDER_SCAN_NO"].ToString());
//是否客户范本(1:是;0:否)CUSTOMER_MODEL_FL
parms.Add(slmOrderHead.Rows[0]["CUSTOMER_MODEL_FL"].ToString());
//合同范本编号ORDER_MODEL_NO
parms.Add(slmOrderHead.Rows[0]["ORDER_MODEL_NO"].ToString());
//销售组织(国贸/钢贸/销售公司)SALE_ORG
// parms.Add(UserInfo.SaleOrg);
//销售组织描述SALE_ORG_DESC
//parms.Add(UserInfo.GetDepartment());
//销售区域编码SALE_AREA_NO
parms.Add(slmOrderHead.Rows[0]["SALE_AREA_NO"].ToString());
//销售区域描述SALE_AREA_DESC
parms.Add(slmOrderHead.Rows[0]["SALE_AREA_DESC"].ToString());
//备注MEMO
parms.Add(slmOrderHead.Rows[0]["MEMO"].ToString());
/*
* 合同状态ORDER_STS: 默认修改录入
*/
parms.Add(orderSts);
//合同状态描述ORDER_STS_DESC
parms.Add(orderStsDesc);
//有效标志(1:有效,0:无效)VALIDFLAG
parms.Add("1");
//创建人CREATE_NAME
parms.Add(UserInfo.GetUserName());
//合同年度ORDER_YEAR
parms.Add(slmOrderHead.Rows[0]["ORDER_YEAR"].ToString());
//parms.Add("2015");
//签订地点SIGN_ADDRESS
parms.Add(slmOrderHead.Rows[0]["SIGN_ADDRESS"].ToString());
//付款方式MNY_ASK_TYP
parms.Add(slmOrderHead.Rows[0]["MNY_ASK_TYP"].ToString());
//商务条款描述
parms.Add(slmOrderHead.Rows[0]["ORDER_MODEL_DESC"].ToString());
//管理卡号
string managNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
//打印价格 ,是否含税 ,优惠方案
parms.Add(slmOrderHead.Rows[0]["PRINT_PRICE"].ToString());
parms.Add(slmOrderHead.Rows[0]["CONTAIN_TAX"].ToString());
parms.Add(slmOrderHead.Rows[0]["PRICE_PLAN"].ToString());
parms.Add(slmOrderHead.Rows[0]["TRADE_TYPE"].ToString());
parms.Add(slmOrderHead.Rows[0]["ORDER_CLASSIFY"].ToString());
parms.Add(slmOrderHead.Rows[0]["BUSINESS_TYPE"].ToString());
parms.Add(slmOrderHead.Rows[0]["ABRVITION"].ToString());
parms.Add(slmOrderHead.Rows[0]["LOCAL_LAW"].ToString());
// 跟单人
parms.Add(slmOrderHead.Rows[0]["DOCUMENTARY_NAME"].ToString());
parms.Add(slmOrderHead.Rows[0]["DOCUMENTARY_DEPT"].ToString());
// 订单要求
parms.Add(slmOrderHead.Rows[0]["ORDER_REQUIRE_STATUS"].ToString());
parms.Add(slmOrderHead.Rows[0]["PORT_OF_DESTINATION"].ToString());
parms.Add(slmOrderHead.Rows[0]["PENALTY_DESC"].ToString());
parms.Add(managNo);
string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
dept = dept + "-" + UserInfo.GetDepartment();
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
ccp.MethodName = "modifyHeadAndSatus";
ccp.ServerParams = new object[] { managNo, parms, UserInfo.GetUserName(), dept };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
// if (ccp.ReturnCode == -1) return;
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnObject.ToString());
return;
}
}
else
return;
//清除之前的付款要求
deleteBalnceMny(managNo);
//新增付款要求
addBalnceMny(managNo, ds.Tables["SLM_ORDER_BALNCE_MNY"]);
MessageUtil.ShowTips("数据修改成功!");
//执行查询操作,刷新Table1
doQuery();
//聚焦新增行
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (managNo.Equals(row.Cells["ORD_PK"].Value.ToString()))
{
row.Activate();
break;
}
}
}
else if (ultraTabControl1.SelectedTab.Key.Equals("2")) //自产期货
{
if (!equalsName())
{
return;
}
//合同行修改
doUpdateLine();
}
else if (ultraTabControl1.SelectedTab.Key.Equals("3")) //现货合同
{
MessageUtil.ShowWarning(" 现货合同修改请点击现货合同TAB页的修改现货合同按钮!");
return;
}
else if (ultraTabControl1.SelectedTab.Key.Equals("4")) //采购期货不加工
{
if (!equalsName())
{
return;
}
DoUpdatePurchaseLine();
}
else if (ultraTabControl1.SelectedTab.Key.Equals("5")) //采购期货加工
{
if (!equalsName())
{
return;
}
DoUpdateOrdPurchaseLine();
}
}
///
/// 修改合同行,合同号。
///
private int UpdateOrderLine(string orderNo, string managNo, string orderNoJ)
{
int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderManager.UpdateOrderLine", new Object[] { orderNo, managNo, orderNoJ }, this.ob);
return count;
}
///
/// 合同行修改
///
private void doUpdateLine()
{
//合同行修改
if (ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString().Substring(0, 6).Equals("120203"))
{
MessageUtil.ShowTips("合同已提报评审,不允许修改!");
return;
}
if (ultraGrid1.ActiveRow == null)
{
MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (ultraGrid2.ActiveRow == null)
{
MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
ultraTabControl1.Tabs[0].Selected = true;
return;
}
if (ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString() == "120102")
{
MessageUtil.ShowWarning("现货合同行的新增,请点击现货合同TAB页的库存信息!");
return;
}
bool booltrfa = ctrlOrderLine1.deliveryWTQty();
if (!booltrfa)
{
return;
}
DataSet ds = ctrlOrderLine1.CtrlLineValue;
if (ds == null)
{
return;
}
DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
if (slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals("0") || slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals(""))
{
MessageUtil.ShowWarning("合同订货量须大于0");
return;
}
string errMsg = OrderFunction.IsSameAddAsk(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString(), slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString(), this.ob, ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString());
if (errMsg != "")
{
MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + errMsg);
return;
}
string msg = OrderFunction.IsValidSpecialCode(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString(), ob);
if (msg != "")
{
MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + msg);
return;
}
if (!string.IsNullOrWhiteSpace(ultraGrid2.ActiveRow.Cells["ORD_ENSU_TOTL_LEN"].Value.ToString())
//&& !ultraGrid2.ActiveRow.Cells["ORD_ENSU_TOTL_LEN"].Value.ToString().Equals("0")
&& !slmOrderLine.Rows[0]["ORD_ENSU_TOTL_LEN"].ToString().Equals(ultraGrid2.ActiveRow.Cells["ORD_ENSU_TOTL_LEN"].Value.ToString()))
{
DataTable dt1 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderDelivery.doQuery", new Object[] { ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString() }, this.ob);
if (dt1 != null && dt1.Rows.Count > 0)
{
MessageUtil.ShowWarning("已生成交货行,无法修改报总长,如需修改请作废当前合同行,交货行,重新录入!");
return;
}
}
string runtre = orderLineRowUp(ultraGrid2.ActiveRow, slmOrderLine);
string yesNoName = MessageBox.Show("是否确认修改该合同,合同号: " + ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() + " ,合同行号:" + ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "。" + "\r\n" + runtre, "合同行修改",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question, MessageBoxDefaultButton.Button2).ToString();
if (yesNoName.Equals("No"))
{
return;
}
//判断订货产品,订货规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,要求是否已存在。
string psc = slmOrderLine.Rows[0]["PSC"].ToString();
string orderSpecCode = slmOrderLine.Rows[0]["SPEC_CODE"].ToString();
string modelCode = slmOrderLine.Rows[0]["MODEL_CODE"].ToString();
string lenNo = slmOrderLine.Rows[0]["LEN_NO"].ToString();
string pscJ = ultraGrid2.ActiveRow.Cells["PSC"].Value.ToString();
string orderSpecCodeJ = ultraGrid2.ActiveRow.Cells["ORDER_SPEC_CODE"].Value.ToString();
string modelCodeJ = ultraGrid2.ActiveRow.Cells["MODEL_CODE"].Value.ToString();
string lenNoJ = ultraGrid2.ActiveRow.Cells["LEN_NO"].Value.ToString();
string managNo = ultraGrid1.ActiveRow.Cells["MANAG_NO"].Value.ToString();
string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
string ordpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
string order_ln_status = ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Value.ToString();
string userName = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
string userAsk = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
string orderspecial = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
string outP = slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString();
string outG = slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString();
string lineOutP = ultraGrid2.ActiveRow.Cells["OUTS_BILLET_FL_ID"].Value.ToString();
string lineOutG = ultraGrid2.ActiveRow.Cells["OUTS_STL_PIPE_FL_ID"].Value.ToString();
if (!isRepeatOrderLine(ordpk, ordLnPk, psc, slmOrderLine.Rows[0]["SPEC_CODE"].ToString(), modelCode, lenNo, userName, userAsk, orderspecial))
{
MessageBox.Show("合同行订货产品,产品规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,已存在相同记录,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
bool isAlter = false; ////技术项是否修改,包括附加要求和产品特殊要求
if (orderpsc == psc && spec == orderSpecCode && model == modelCode && len == lenNo
&& user == userName && mps == slmOrderLine.Rows[0]["PRODUCER_FL"].ToString()
&& userAsk == addtional && orderspecial == special && outP == lineOutP && outG == lineOutG)
{
//都没有修改
isAlter = false;
}
else
{
isAlter = true;
}
bool isClear = false;
string oldSpecialDesc = ultraGrid2.ActiveRow.Cells["ORDER_SPECIAL_DESC"].Value.ToString();
string ctrlSpecialDesc = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_SPECIAL_DESC"].ToString();
if (oldSpecialDesc != ctrlSpecialDesc)
{
isClear = true;
}
string reviewMemo = "";
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineStatus", new object[] { ordLnPk }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
string lnStatus = dt.Rows[0]["ORDER_LN_STATUS"].ToString();
if (lnStatus == "12020203") //技术评审失败
{
dlgReviewMemo dlg = new dlgReviewMemo();
dlg.ReviewFlag = 2;
dlg.ReviewSatus = "修改内容或重新提报原因";
dlg.ShowDialog();
if (dlg.DialogResult != DialogResult.OK)
return;
reviewMemo = dlg.ReviewMemo;
}
}
ArrayList parms = new ArrayList();
//客户编码CUSTOMER_NO
//string customerNo = slmOrderLine.Rows[0]["CUSTOMER_NO"].ToString();
//parms.Add(customerNo);
//客户Alpha编号CUST_ALPHA_NO
string custAlphaNo = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
parms.Add(custAlphaNo);
//产品规范码PSC
parms.Add(psc);
//产品规范描述PSC_DESC
parms.Add(slmOrderLine.Rows[0]["PSC_DESC"].ToString());
//品种分类(油井管;专业管;普管)PRD_CLS
parms.Add(slmOrderLine.Rows[0]["PRD_CLS"].ToString());
//品名代码PRODUCCODE
parms.Add(slmOrderLine.Rows[0]["PRODUCCODE"].ToString());
//品名描述PRODUCNAME
parms.Add(slmOrderLine.Rows[0]["PRODUCNAME"].ToString());
//标准代码STD_CODE
parms.Add(slmOrderLine.Rows[0]["STD_CODE"].ToString());
//标准名称STD_NAME
parms.Add(slmOrderLine.Rows[0]["STD_NAME"].ToString());
//钢级(牌号)代码STEELCODE
parms.Add(slmOrderLine.Rows[0]["STEELCODE"].ToString());
//钢级(牌号)名称STEELNAME
parms.Add(slmOrderLine.Rows[0]["STEELNAME"].ToString());
//订货规格代码ORDER_SPEC_CODE
parms.Add(slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString());
//订货规格描述(用于合同、质保书、标牌、标识)ORDER_SPEC_DESC
parms.Add(slmOrderLine.Rows[0]["ORDER_SPEC_DESC"].ToString());
//产品规格代码SPEC_CODE
parms.Add(slmOrderLine.Rows[0]["SPEC_CODE"].ToString());
//产品规格描述SPEC_NAME
parms.Add(slmOrderLine.Rows[0]["SPEC_NAME"].ToString());
//外径(mm)DIMATER
parms.Add(slmOrderLine.Rows[0]["DIMATER"].ToString());
//壁厚(mm)HEIGHT
parms.Add(slmOrderLine.Rows[0]["HEIGHT"].ToString());
//扣型代码MODEL_CODE
parms.Add(modelCode);
//扣型描述MODEL_DESC
parms.Add(slmOrderLine.Rows[0]["MODEL_DESC"].ToString());
//长度编码LEN_NO
parms.Add(lenNo);
//长度描述LEN_DESC
parms.Add(slmOrderLine.Rows[0]["LEN_DESC"].ToString());
//长度单位,LEN_UNIT
parms.Add(slmOrderLine.Rows[0]["LEN_UNIT"].ToString());
//下限LEN_MIN
parms.Add(slmOrderLine.Rows[0]["LEN_MIN"].ToString());
//上限LEN_MAX
parms.Add(slmOrderLine.Rows[0]["LEN_MAX"].ToString());
//短尺率(%)SHRT_LEN_RATO
parms.Add(slmOrderLine.Rows[0]["SHRT_LEN_RATO"].ToString());
//短尺最短SHORTEST
parms.Add(slmOrderLine.Rows[0]["SHORTEST"].ToString());
//长尺率(%)LONG_LEN_RATO
parms.Add(slmOrderLine.Rows[0]["LONG_LEN_RATO"].ToString());
//长尺最长LONGEST
parms.Add(slmOrderLine.Rows[0]["LONGEST"].ToString());
//短尺随炉SHRT_STOVE
parms.Add(slmOrderLine.Rows[0]["SHRT_STOVE"].ToString());
//平均长度大于AVG_LEN_MIN
parms.Add(slmOrderLine.Rows[0]["AVG_LEN_MIN"].ToString());
//最长最短差小于DIFRNC_LEN_MAX
parms.Add(slmOrderLine.Rows[0]["DIFRNC_LEN_MAX"].ToString());
//单倍尺长SIGL_LEN
parms.Add(slmOrderLine.Rows[0]["SIGL_LEN"].ToString());
//订货计量单位(支、米、吨)ORDER_UNIT
parms.Add(slmOrderLine.Rows[0]["ORDER_UNIT"].ToString());
//订货量ORDER_QTY
parms.Add(slmOrderLine.Rows[0]["ORDER_QTY"].ToString());
//订货保总长ORD_ENSU_TOTL_LEN
parms.Add(slmOrderLine.Rows[0]["ORD_ENSU_TOTL_LEN"].ToString());
//生产吨数(根据订货量计算)PRDCT_WGT
parms.Add(slmOrderLine.Rows[0]["PRDCT_WGT"].ToString());
//交货量差方式(绝对值;百分比)DELVRY_RANGE_TPE
parms.Add(slmOrderLine.Rows[0]["DELVRY_RANGE_TPE"].ToString());
//交货量差下限DELVRY_RANGE_MIN
parms.Add(slmOrderLine.Rows[0]["DELVRY_RANGE_MIN"].ToString());
//交货量差上限DELVRY_RANGE_MAX
parms.Add(slmOrderLine.Rows[0]["DELVRY_RANGE_MAX"].ToString());
//最终用户(来源客户表)FINAL_USER
parms.Add(slmOrderLine.Rows[0]["FINAL_USER"].ToString());
//最终用户描述FINAL_USER_DESC
parms.Add(slmOrderLine.Rows[0]["FINAL_USER_DESC"].ToString());
//外购坯,OUTS_BILLET_FL
parms.Add(slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString());
//外购管(1:允许;0:不允许)OUTS_STL_PIPE_FL
parms.Add(slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString());
//ASSEL(1:允许;0:不允许)ASSEL_FL
parms.Add(slmOrderLine.Rows[0]["ASSEL_FL"].ToString());
//交货开始日期DELVRY_BDATE
parms.Add(slmOrderLine.Rows[0]["DELVRY_BDATE"].ToString());
//交货结束日期DELVRY_EDATE
parms.Add(slmOrderLine.Rows[0]["DELVRY_EDATE"].ToString());
//交货信息描述,DELVRY_DESC
parms.Add(slmOrderLine.Rows[0]["DELVRY_DESC"].ToString());
//运输信息描述TRANS_DESC
parms.Add(slmOrderLine.Rows[0]["TRANS_DESC"].ToString());
//附加要求编码ADD_ASK_NO
parms.Add(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString());
//产品特殊要求描述ORDER_SPECIAL_DESC
if (UserInfo.GetUserName() == "admin")
{
parms.Add(ctrlOrderLine1.LabDlyTxt);
}
else {
parms.Add(slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString());
}
//订货附加要求描述ORDER_ADD_DESC
parms.Add(slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString());
//订货价,ORDER_PRICE
parms.Add(slmOrderLine.Rows[0]["ORDER_PRICE"].ToString());
//运费TRANS_PRICE
parms.Add(slmOrderLine.Rows[0]["TRANS_PRICE"].ToString());
//测价序号TEST_ID
//parms.Add(slmOrderLine.Rows[0]["TEST_ID"].ToString());
parms.Add("1");
//测算价TEST_PRICE
parms.Add(slmOrderLine.Rows[0]["TEST_PRICE"].ToString());
//出厂价OUT_PRICE
parms.Add(slmOrderLine.Rows[0]["OUT_PRICE"].ToString());
//结算价BALNCE_PRICE
parms.Add(slmOrderLine.Rows[0]["BALNCE_PRICE"].ToString());
//平均长度小于AVG_LEN_MAX
parms.Add(slmOrderLine.Rows[0]["AVG_LEN_MAX"].ToString());
//合同行状态ORDER_LN_STATUS
//parms.Add(slmOrderLine.Rows[0]["ORDER_LN_STATUS"].ToString());
//备注MEMO
parms.Add(slmOrderLine.Rows[0]["MEMO"].ToString());
//有效标志(1:有效,0:无效)VALIDFLAG
//parms.Add(1);
//创建人CREATE_NAME
parms.Add(UserInfo.GetUserName());
//MSC,MSC_DESC
parms.Add(slmOrderLine.Rows[0]["MSC"].ToString());
parms.Add(slmOrderLine.Rows[0]["MSC_DESC"].ToString());
parms.Add(slmOrderLine.Rows[0]["PRODUCER_FL"].ToString());
//MPS_FL
parms.Add(slmOrderLine.Rows[0]["MPS_FL"].ToString());
//STD_STYPE,STD_STYPE_DESC
parms.Add(slmOrderLine.Rows[0]["STD_STYLE"].ToString());
parms.Add(slmOrderLine.Rows[0]["STD_STYLE_DESC"].ToString());
parms.Add(slmOrderLine.Rows[0]["MSC_STYLE"].ToString());
parms.Add(slmOrderLine.Rows[0]["USE_CODE"].ToString());
parms.Add(slmOrderLine.Rows[0]["USE_DESC"].ToString());
parms.Add(slmOrderLine.Rows[0]["ENDLEN_SPECSTD"].ToString());
parms.Add(slmOrderLine.Rows[0]["AW"].ToString());
parms.Add(slmOrderLine.Rows[0]["MAN_INSPECTION"].ToString());
parms.Add(slmOrderLine.Rows[0]["QUALITY_USER"].ToString());
parms.Add(slmOrderLine.Rows[0]["QUALITY_USER_DESC"].ToString());
parms.Add(slmOrderLine.Rows[0]["OUTPUT_STD_NO"].ToString());
parms.Add(slmOrderLine.Rows[0]["PROJECT_NO"].ToString());
parms.Add(slmOrderLine.Rows[0]["OUTBOUND_CALCULATE"].ToString());
parms.Add(slmOrderLine.Rows[0]["ORDER_TEAM"].ToString());
parms.Add(slmOrderLine.Rows[0]["MODE_OF_TRANSPORT"].ToString());
//合同行号ORD_LN_PK
string orderSeq = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
parms.Add(orderSeq);
//合同行号顺序号ORDER_SEQ
string orderSeq_ln = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
ccp.MethodName = "modifyOrderLineAndStatus";
string deptName = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid());
ccp.ServerParams = new object[] { ordpk, ordLnPk, parms, isAlter, UserInfo.GetUserName(), deptName + "-" + UserInfo.GetDepartment(), reviewMemo, saleOrg, isClear };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
//if (ccp.ReturnCode == -1) return;
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnObject.ToString());
return;
}
}
else
{
return;
}
MessageUtil.ShowTips("修改成功!");
doQuery();
string valid = "";
if (chkValid.Checked)
{
valid = "0";
}
else
{
valid = "1";
}
//展示合同行数据
GetOrderLineDt(ordpk, valid);
foreach (UltraGridRow row in ultraGrid1.Rows)
{//ordpk
if (ordpk.Equals(row.Cells["ORD_PK"].Value.ToString()))
{
row.Activate();
break;
}
}
//聚焦当前修改行
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (orderSeq.Equals(row.Cells["ORD_LN_PK"].Value.ToString()))
{
row.Activate();
break;
}
}
}
///
/// 清除运输线路信息
///
///
///
///
private void clearSlmOrderDeliveryTransit(string managNo, string orderNo, string orderSeq)
{
ArrayList parms = new ArrayList();
parms.Add(managNo);
parms.Add(orderNo);
parms.Add(orderSeq);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
ccp.MethodName = "clearSlmOrderDeliveryTransit";
ccp.ServerParams = new object[] { parms };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) return;
}
///
/// 清除该合同行号下面的交货信息。
///
///
///
///
private void clearSlmOrderLineDelivery(string managNo, string orderNo, string orderSeq)
{
ArrayList parms = new ArrayList();
parms.Add(managNo);
parms.Add(orderNo);
parms.Add(orderSeq);
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
ccp.MethodName = "clearSlmOrderLineDelivery";
ccp.ServerParams = new object[] { parms };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) return;
}
///
/// 清除付款要求
///
///
///
private void deleteBalnceMny(string managNo)
{
ArrayList list = new ArrayList();
list.Add(managNo);
ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderManager.deleteBalnceMny", new object[] { list }, this.ob);
}
///
/// 合同头新增。
///
private void doAdd()
{
if (ultraGrid1 != null && !"1".Equals(ultraTabControl1.SelectedTab.Key))
{
int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderCopy.getOrder_TH", new object[] { ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() }, this.ob);
if (count < 0 && !UserInfo.GetUserName().Equals("admin"))
{
MessageUtil.ShowWarning("已生成天淮合同,无法新增!");
return;
}
}
if ("1".Equals(ultraTabControl1.SelectedTab.Key))
{
DataSet ds = ctrlOrderHead1.ctrlValue;
if (ds != null)
{
DataTable slmOrderHead = ds.Tables["SLM_ORDER_HEAD"];
slmOrderHead.Rows[0]["CREATE_DEPT"] = UserInfo.GetDepartment();
ArrayList parms = new ArrayList();
//内部合同号主键
string ord_pk = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getsysGuid", new Object[] { }, this.ob).Rows[0][0].ToString();
parms.Add(ord_pk);
//管理卡号
string managNo = GetManagNo();
parms.Add(managNo);
//合同号ORDER_NO
string orderNo = slmOrderHead.Rows[0]["ORDER_NO"].ToString().ToUpper();
if (orderNo != "")
{
if (orderNo.Length != 13)
{
MessageUtil.ShowWarning("人工录入的合同号长度必须为13位!");
return;
}
if(this.UserInfo.GetUserName().Equals("admin")){
_saleOrg = ctrlOrderHead1.Saleorg;
}
ArrayList arrList = new ArrayList();
arrList.Add(_saleOrg);
arrList.Add(slmOrderHead.Rows[0]["TRADE_TYPE"].ToString());
arrList.Add(slmOrderHead.Rows[0]["ORDER_CLASSIFY"].ToString());
arrList.Add(slmOrderHead.Rows[0]["ORDER_TYP"].ToString());
string msg = GetOrderPrefix(arrList);
string prefix = "";
if (msg == "1")
{
MessageUtil.ShowWarning("网络错误,请检查网络是否连通!");
return;
}
else if (msg == "2")
{
MessageUtil.ShowWarning("合同号验证失败!");
return;
}
else if (msg.Length == 6)
{
prefix = msg;
}
else
{
MessageUtil.ShowWarning(msg);
return;
}
//if (orderNo.Substring(0, 6) != prefix)
//{
// MessageUtil.ShowWarning("根据您维护的合同信息,录入的合同号前缀必须是:" + prefix);
// return;
//}
}
//合同号是否重复。
if (!orderNoIsRepeat(orderNo))
{
MessageBox.Show("合同号已存在,请重新输入。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
parms.Add(orderNo); //新增一个合同号 占一个位置
if (orderNo == "")
{
if (MessageUtil.ShowYesNoAndQuestion("是否采用系统生成的合同号?") == DialogResult.No) return;
}
// 参数
//客户合同号,CUSTM_ORDER_NO
parms.Add(slmOrderHead.Rows[0]["CUSTM_ORDER_NO"].ToString().ToUpper());
//合同类型,ORDER_TYP
parms.Add(slmOrderHead.Rows[0]["ORDER_TYP"].ToString());
//合同类型描述,ORDER_TYP_DESC
parms.Add(slmOrderHead.Rows[0]["ORDER_TYP_DESC"].ToString());
//协议号,PROTCL_NO,
parms.Add(slmOrderHead.Rows[0]["PROTCL_NO"].ToString());
//客户编码CUSTOMER_NO
parms.Add(slmOrderHead.Rows[0]["CUSTOMER_NO"].ToString());
//客户名称CUSTOMER_NM
parms.Add(slmOrderHead.Rows[0]["CUSTOMER_NM"].ToString());
//供货单位SUPPLY_UNIT
parms.Add(slmOrderHead.Rows[0]["SUPPLY_UNIT"].ToString());
//计价方式(1203)PRICE_FL
parms.Add(slmOrderHead.Rows[0]["PRICE_FL"].ToString());
//币种CURRENCY
parms.Add(slmOrderHead.Rows[0]["CURRENCY"].ToString());
//结算单位编码STLMT_UNIT_NO
parms.Add(slmOrderHead.Rows[0]["STLMT_UNIT_NO"].ToString());
//结算单位名称STLMT_UNIT_NM
parms.Add(slmOrderHead.Rows[0]["STLMT_UNIT_NM"].ToString());
//首次受票人(国贸/钢贸/集团/客户)FST_DRAWEE_UNIT
parms.Add(slmOrderHead.Rows[0]["FST_DRAWEE_UNIT"].ToString());
//法人LEGAL_PSN
parms.Add(slmOrderHead.Rows[0]["LEGAL_PSN"].ToString());
//委托代理人AGENT
parms.Add(slmOrderHead.Rows[0]["AGENT"].ToString());
//地址ADDRESS
parms.Add(slmOrderHead.Rows[0]["ADDRESS"].ToString());
//邮编ZIP_CODE
parms.Add(slmOrderHead.Rows[0]["ZIP_CODE"].ToString());
//开户银行BANK
parms.Add(slmOrderHead.Rows[0]["BANK"].ToString());
//帐号ACCOUNT
parms.Add(slmOrderHead.Rows[0]["ACCOUNT"].ToString());
//税号TAX_ID
parms.Add(slmOrderHead.Rows[0]["TAX_ID"].ToString());
//电话PHONE
parms.Add(slmOrderHead.Rows[0]["PHONE"].ToString());
//传真FAX
parms.Add(slmOrderHead.Rows[0]["FAX"].ToString());
//合同量ORDER_WGT
parms.Add(slmOrderHead.Rows[0]["ORDER_WGT"].ToString());
//合同总价(含税)ORDER_MNY_TAX
parms.Add(slmOrderHead.Rows[0]["ORDER_MNY_TAX"].ToString());
//合同总价(不含税)ORDER_MNY_NTAX
parms.Add(slmOrderHead.Rows[0]["ORDER_MNY_NTAX"].ToString());
//付款要求描述MNY_ASK_DESC
parms.Add(slmOrderHead.Rows[0]["MNY_ASK_DESC"].ToString());
//签订人SIGN_PERSON
parms.Add(slmOrderHead.Rows[0]["SIGN_PERSON"].ToString());
//签订日期SIGN_DATE
//parms.Add(DateTime.Now);
parms.Add(slmOrderHead.Rows[0]["SIGN_DATE"].ToString());
//合同开始时间ORDER_BDATE
parms.Add(slmOrderHead.Rows[0]["ORDER_BDATE"].ToString());
//合同结束时间ORDER_EDATE
parms.Add(slmOrderHead.Rows[0]["ORDER_EDATE"].ToString());
//合同扫描件编号ORDER_SCAN_NO
parms.Add(slmOrderHead.Rows[0]["ORDER_SCAN_NO"].ToString());
parms.Add(slmOrderHead.Rows[0]["CUSTOMER_MODEL_FL"].ToString());
//合同范本编号ORDER_MODEL_NO
parms.Add(slmOrderHead.Rows[0]["ORDER_MODEL_NO"].ToString());
//销售组织(国贸/钢贸/销售公司)SALE_ORG
parms.Add(UserInfo.SaleOrg);
string deptId = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid());
string deptName = "";
//销售组织描述SALE_ORG_DESC
if (deptId.Equals("100101"))
{
deptName = "国内贸易部";
}
if (deptId.Equals("100102"))
{
deptName = "国际贸易部";
}
if (deptId.Equals("100103"))
{
deptName = "钢贸公司";
}
if (deptId.Equals("100105"))
{
deptName = "天淮公司";
}
parms.Add(deptName);
//销售区域编码SALE_AREA_NO
parms.Add(slmOrderHead.Rows[0]["SALE_AREA_NO"].ToString());
//销售区域描述SALE_AREA_DESC
parms.Add(slmOrderHead.Rows[0]["SALE_AREA_DESC"].ToString());
//备注MEMO
parms.Add(slmOrderHead.Rows[0]["MEMO"].ToString());
//合同状态ORDER_STS
parms.Add("12020101");
parms.Add("录入");
parms.Add(1);
//创建人CREATE_NAME
parms.Add(UserInfo.GetUserName());
//合同年度ORDER_YEAR
parms.Add(slmOrderHead.Rows[0]["ORDER_YEAR"].ToString());
//parms.Add("2015");
//签订地点SIGN_ADDRESS
parms.Add(slmOrderHead.Rows[0]["SIGN_ADDRESS"].ToString());
//付款方式MNY_ASK_TYP
parms.Add(slmOrderHead.Rows[0]["MNY_ASK_TYP"].ToString());
//部门名称
parms.Add(UserInfo.GetDeptid());
//市场系统编码
parms.Add(slmOrderHead.Rows[0]["MARKET_SYS"].ToString());
//市场系统名称
parms.Add(slmOrderHead.Rows[0]["MARKET_SYS_DESC"].ToString());
//评审单号(后台产生:XS/IE/GM+YYMM+四位流水号)
string userType = UserInfo.SaleOrg;
string dayMTime = DateTime.Now.Date.ToString("yyMM");
string ls = "";
// 制造商及卖出单位(首次受票人)是天淮 生成天淮合同
if ("120504".Equals(slmOrderHead.Rows[0]["SUPPLY_UNIT"].ToString()) && "120504".Equals(slmOrderHead.Rows[0]["FST_DRAWEE_UNIT"].ToString()))
{
userType = "200101";
}
// 生成评审单号
if (userType.Equals("100101"))
{
ls = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.doQueryOredHeadRevwRptNo", new Object[] { "XS" + dayMTime + "%" }, this.ob).Rows[0][0].ToString();
parms.Add("XS" + dayMTime + ls);
}
else if (userType.Equals("100102"))
{
ls = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.doQueryOredHeadRevwRptNo", new Object[] { "IE" + dayMTime + "%" }, this.ob).Rows[0][0].ToString();
parms.Add("IE" + dayMTime + ls);
}
else if (userType.Equals("100103"))
{
ls = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.doQueryOredHeadRevwRptNo", new Object[] { "GM" + dayMTime + "%" }, this.ob).Rows[0][0].ToString();
parms.Add("GM" + dayMTime + ls);
}
else if (userType.Equals("100105"))
{
ls = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.doQueryOredHeadRevwRptNo", new Object[] { "HG" + dayMTime + "%" }, this.ob).Rows[0][0].ToString();
parms.Add("HG" + dayMTime + ls);
}
else if (userType.Equals("200101"))
{
ls = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.doQueryOredHeadRevwRptNo", new Object[] { "TH" + dayMTime + "%" }, this.ob).Rows[0][0].ToString();
parms.Add("TH" + dayMTime + ls);
}
else
{
MessageBox.Show("系统检测,该用户:" + UserInfo.GetUserName() + ",没有操作权限!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
//this.Close();
}
//简称
parms.Add(slmOrderHead.Rows[0]["CUSTOMER_NO"].ToString());
//打印价格 优惠方案 是否含税
parms.Add(slmOrderHead.Rows[0]["PRINT_PRICE"].ToString());
parms.Add(slmOrderHead.Rows[0]["PRICE_PLAN"].ToString());
parms.Add(slmOrderHead.Rows[0]["CONTAIN_TAX"].ToString());
parms.Add(slmOrderHead.Rows[0]["LOCAL_LAW"].ToString());
// 跟单人
parms.Add(slmOrderHead.Rows[0]["DOCUMENTARY_NAME"].ToString());
parms.Add(slmOrderHead.Rows[0]["DOCUMENTARY_DEPT"].ToString());
//订单要求
parms.Add(slmOrderHead.Rows[0]["ORDER_REQUIRE_STATUS"].ToString());
//目的港
parms.Add(slmOrderHead.Rows[0]["PORT_OF_DESTINATION"].ToString());
//罚则条款
parms.Add(slmOrderHead.Rows[0]["PENALTY_DESC"].ToString());
//贸易类型 分类 业务分类
string tradeType = slmOrderHead.Rows[0]["TRADE_TYPE"].ToString();
string classify = slmOrderHead.Rows[0]["ORDER_CLASSIFY"].ToString();
string busType = slmOrderHead.Rows[0]["BUSINESS_TYPE"].ToString();
string ordType = slmOrderHead.Rows[0]["ORDER_TYP"].ToString();
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
ccp.MethodName = "doAdd";
//userType是销售组织代码
ccp.ServerParams = new object[] { parms, userType, tradeType, classify, ordType, busType };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
}
else
{
return;
}
//新增付款要求
addBalnceMny(ord_pk, ds.Tables["SLM_ORDER_BALNCE_MNY"]);
MessageBox.Show("新增成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
//执行查询操作,刷新Table1
// this.doQueryheadpk(ord_pk);
doQuery();
//聚焦新增行
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (ord_pk.Equals(row.Cells["ORD_PK"].Value.ToString()))
{
row.Activate();
break;
}
}
}
}
else if (ultraTabControl1.SelectedTab.Key.Equals("2")) //自产期货
{
//自产期货合同行新增。
//if (!equalsName())
//{
// return;
//}
doAddLine();
}
else if (ultraTabControl1.SelectedTab.Key.Equals("3"))
{
MessageUtil.ShowWarning("现货合同行的新增,请点击现货合同TAB页的库存信息!");
return;
}
else if (ultraTabControl1.SelectedTab.Key.Equals("4")) //采购期货(不加工)
{
//采购期货(不加工) 合同行新增。
if (!equalsName())
{
return;
}
DoAddPurchaseLine();
}
else if (ultraTabControl1.SelectedTab.Key.Equals("5")) //采购期货(加工)
{
//采购期货(加工) 合同行新增。
if (!equalsName())
{
return;
}
DoAddOrdPurLine();
}
}
///
/// 验证合同号是否已存在
///
///
///
private bool orderNoIsRepeat(string orderNo)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.orderNoIsRepeat", new Object[] { orderNo }, this.ob);
if (dt.Rows.Count > 0)
{
return false;
}
return true;
}
///
/// 获取管理卡号,年月+0001,4位流水号。
///
///
private string GetManagNo()
{
//获取当前年月最大管理卡号
//管理卡号+1返回。
DataTable dt = new DataTable();
string month = DateTime.Now.Month.ToString();
if (month.Length < 2)
{
month = "0" + month;
}
string yearMonth = DateTime.Now.Year.ToString().Substring(2, 2) + month;
dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.GetManagNo", new Object[] { yearMonth }, this.ob);
string orderSeq = "";
string manageNoMax = "";
manageNoMax = dt.Rows[0][0].ToString();
if ("".Equals(manageNoMax))
{
orderSeq = "0001";
}
else
{
int seq = Convert.ToInt32(manageNoMax.Substring(4, 4)) + 1;
orderSeq = seq.ToString();
}
while (orderSeq.Length < 4)
{
orderSeq = "0" + orderSeq;
}
return yearMonth + orderSeq;
}
///
/// 合同行新增
///
private void doAddLine()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("请选择合同头,然后进行新增操作!");
return;
}
if (ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString() == "120102")
{
MessageUtil.ShowWarning("现货合同行的新增,请点击现货合同TAB页的库存信息!");
return;
}
//合同行新增
DataSet ds = ctrlOrderLine1.CtrlLineValue;
if (ds == null)
{
return;
}
DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
ArrayList parms = new ArrayList();
//内部合同号
string managNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
parms.Add(managNo);
parms.Add(managNo);
parms.Add(managNo);
parms.Add(managNo);
//判断订货产品,订货规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,要求是否已存在。
string psc = slmOrderLine.Rows[0]["PSC"].ToString();
string orderSpecCode = slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString();
string modelCode = slmOrderLine.Rows[0]["MODEL_CODE"].ToString();
string lenNo = slmOrderLine.Rows[0]["LEN_NO"].ToString();
string userName = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
string userAsk = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
string orderspecial = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
if (slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals("0") || slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals(""))
{
MessageUtil.ShowWarning("合同订货量须大于0");
return;
}
if (string.IsNullOrWhiteSpace(slmOrderLine.Rows[0]["OUTBOUND_CALCULATE"].ToString2()))
{
MessageUtil.ShowWarning("请选择出库计量");
return;
}
if (string.IsNullOrWhiteSpace(slmOrderLine.Rows[0]["ORDER_TEAM"].ToString2()))
{
MessageUtil.ShowWarning("请选择是否协同");
return;
}
string msg = OrderFunction.IsValidSpecialCode(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString(), ob);
if (msg != "")
{
if (ultraGrid2.ActiveRow == null)
MessageUtil.ShowWarning(msg);
else
MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + msg);
return;
}
string errMsg = OrderFunction.IsSameAddAsk(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString(), slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString(), this.ob, "");
if (errMsg != "")
{
if (ultraGrid2.ActiveRow == null)
MessageUtil.ShowWarning(errMsg);
else
MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + errMsg);
return;
}
if (!isRepeatOrderLines(managNo, psc, slmOrderLine.Rows[0]["SPEC_CODE"].ToString(), modelCode, lenNo, userName, userAsk, orderspecial))
{
MessageBox.Show("合同行订货产品,订货规格,扣型,长度,最终用户,合同附加要求,技术特殊要求,已存在相同记录,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
//合同行号ORDER_SEQ
//string orderSeq = GetOrderLineNo(managNo);
//parms.Add(orderSeq);
//客户编码CUSTOMER_NO
//string customerNo = slmOrderLine.Rows[0]["CUSTOMER_NO"].ToString();
//parms.Add(customerNo);
//客户Alpha编号CUST_ALPHA_NO
string custAlphaNo = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
parms.Add(custAlphaNo);
//产品规范码PSC
parms.Add(psc);
//产品规范描述PSC_DESC
parms.Add(slmOrderLine.Rows[0]["PSC_DESC"].ToString());
//品种分类(油井管;专业管;普管)PRD_CLS
parms.Add(slmOrderLine.Rows[0]["PRD_CLS"].ToString());
//品名代码PRODUCCODE
parms.Add(slmOrderLine.Rows[0]["PRODUCCODE"].ToString());
//品名描述PRODUCNAME
parms.Add(slmOrderLine.Rows[0]["PRODUCNAME"].ToString());
//标准代码STD_CODE
parms.Add(slmOrderLine.Rows[0]["STD_CODE"].ToString());
//标准名称STD_NAME
parms.Add(slmOrderLine.Rows[0]["STD_NAME"].ToString());
//钢级(牌号)代码STEELCODE
parms.Add(slmOrderLine.Rows[0]["STEELCODE"].ToString());
//钢级(牌号)名称STEELNAME
parms.Add(slmOrderLine.Rows[0]["STEELNAME"].ToString());
//订货规格代码ORDER_SPEC_CODE
parms.Add(slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString());
//订货规格描述(用于合同、质保书、标牌、标识)ORDER_SPEC_DESC
parms.Add(slmOrderLine.Rows[0]["ORDER_SPEC_DESC"].ToString());
//产品规格代码SPEC_CODE
parms.Add(slmOrderLine.Rows[0]["SPEC_CODE"].ToString());
//产品规格描述SPEC_NAME
parms.Add(slmOrderLine.Rows[0]["SPEC_NAME"].ToString());
//外径(mm)DIMATER
parms.Add(slmOrderLine.Rows[0]["DIMATER"].ToString());
//壁厚(mm)HEIGHT
parms.Add(slmOrderLine.Rows[0]["HEIGHT"].ToString());
//扣型代码MODEL_CODE
parms.Add(modelCode);
//扣型描述MODEL_DESC
parms.Add(slmOrderLine.Rows[0]["MODEL_DESC"].ToString());
//长度编码LEN_NO
parms.Add(lenNo);
//长度描述LEN_DESC
parms.Add(slmOrderLine.Rows[0]["LEN_DESC"].ToString());
//长度单位,LEN_UNIT
parms.Add(slmOrderLine.Rows[0]["LEN_UNIT"].ToString());
//下限LEN_MIN
parms.Add(slmOrderLine.Rows[0]["LEN_MIN"].ToString());
//上限LEN_MAX
parms.Add(slmOrderLine.Rows[0]["LEN_MAX"].ToString());
//短尺率(%)SHRT_LEN_RATO
parms.Add(slmOrderLine.Rows[0]["SHRT_LEN_RATO"].ToString());
//短尺最短SHORTEST
parms.Add(slmOrderLine.Rows[0]["SHORTEST"].ToString());
//长尺率(%)LONG_LEN_RATO
parms.Add(slmOrderLine.Rows[0]["LONG_LEN_RATO"].ToString());
//长尺最长LONGEST
parms.Add(slmOrderLine.Rows[0]["LONGEST"].ToString());
//短尺随炉SHRT_STOVE
parms.Add(slmOrderLine.Rows[0]["SHRT_STOVE"].ToString());
//平均长度大于AVG_LEN_MIN
parms.Add(slmOrderLine.Rows[0]["AVG_LEN_MIN"].ToString());
//最长最短差小于DIFRNC_LEN_MAX
parms.Add(slmOrderLine.Rows[0]["DIFRNC_LEN_MAX"].ToString());
//单倍尺长SIGL_LEN
parms.Add(slmOrderLine.Rows[0]["SIGL_LEN"].ToString());
//订货计量单位(支、米、吨)ORDER_UNIT
parms.Add(slmOrderLine.Rows[0]["ORDER_UNIT"].ToString());
//订货量ORDER_QTY
parms.Add(slmOrderLine.Rows[0]["ORDER_QTY"].ToString());
//订货保总长ORD_ENSU_TOTL_LEN
parms.Add(slmOrderLine.Rows[0]["ORD_ENSU_TOTL_LEN"].ToString());
//生产吨数(根据订货量计算)PRDCT_WGT
parms.Add(slmOrderLine.Rows[0]["PRDCT_WGT"].ToString());
//交货量差方式(绝对值;百分比)DELVRY_RANGE_TPE
parms.Add(slmOrderLine.Rows[0]["DELVRY_RANGE_TPE"].ToString());
//交货量差下限DELVRY_RANGE_MIN
parms.Add(slmOrderLine.Rows[0]["DELVRY_RANGE_MIN"].ToString());
//交货量差上限DELVRY_RANGE_MAX
parms.Add(slmOrderLine.Rows[0]["DELVRY_RANGE_MAX"].ToString());
//最终用户(来源客户表)FINAL_USER
parms.Add(slmOrderLine.Rows[0]["FINAL_USER"].ToString());
//最终用户描述FINAL_USER_DESC
parms.Add(slmOrderLine.Rows[0]["FINAL_USER_DESC"].ToString());
//外购坯,OUTS_BILLET_FL
parms.Add(slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString());
//外购管(1:允许;0:不允许)OUTS_STL_PIPE_FL
parms.Add(slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString());
//ASSEL(1:允许;0:不允许)ASSEL_FL
parms.Add(slmOrderLine.Rows[0]["ASSEL_FL"].ToString());
//交货开始日期DELVRY_BDATE
//parms.Add(slmOrderLine.Rows[0]["DELVRY_BDATE"].ToString());
parms.Add("");
//交货结束日期DELVRY_EDATE
//parms.Add(slmOrderLine.Rows[0]["DELVRY_EDATE"].ToString());
parms.Add("");
//交货信息描述,DELVRY_DESC
parms.Add("N/A");
// parms.Add(slmOrderLine.Rows[0]["DELVRY_DESC"].ToString());
//运输信息描述TRANS_DESC
//parms.Add(slmOrderLine.Rows[0]["TRANS_DESC"].ToString());
parms.Add("N/A");
//附加要求编码ADD_ASK_NO
parms.Add(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString());
//parms.Add("1");
//产品特殊要求描述ORDER_SPECIAL_DESC
parms.Add(slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString());
//订货附加要求描述ORDER_ADD_DESC
parms.Add(slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString());
//订货价,ORDER_PRICE
parms.Add(slmOrderLine.Rows[0]["ORDER_PRICE"].ToString().Trim());
//运费TRANS_PRICE
parms.Add(slmOrderLine.Rows[0]["TRANS_PRICE"].ToString());
//测价序号TEST_ID
//parms.Add(slmOrderLine.Rows[0]["TEST_ID"].ToString());
parms.Add("1");
//测算价TEST_PRICE
parms.Add(slmOrderLine.Rows[0]["TEST_PRICE"].ToString());
//出厂价OUT_PRICE
parms.Add(slmOrderLine.Rows[0]["OUT_PRICE"].ToString());
//结算价BALNCE_PRICE
parms.Add(slmOrderLine.Rows[0]["BALNCE_PRICE"].ToString());
//平均长度大于AVG_LEN_MIN
parms.Add(slmOrderLine.Rows[0]["AVG_LEN_MAX"].ToString());
//合同行状态ORDER_LN_STATUS
//parms.Add(slmOrderLine.Rows[0]["ORDER_LN_STATUS"].ToString());
parms.Add("12020101");
//备注MEMO
parms.Add(slmOrderLine.Rows[0]["MEMO"].ToString());
//有效标志(1:有效,0:无效)VALIDFLAG
//parms.Add(1);
//创建人CREATE_NAME
parms.Add(UserInfo.GetUserName());
//创建msc\msc_desc
parms.Add(slmOrderLine.Rows[0]["MSC"].ToString());
parms.Add(slmOrderLine.Rows[0]["MSC_DESC"].ToString());
parms.Add(slmOrderLine.Rows[0]["PRODUCER_FL"].ToString());
//MPS_FL
parms.Add(slmOrderLine.Rows[0]["MPS_FL"].ToString());
//STD_STYLE
parms.Add(slmOrderLine.Rows[0]["STD_STYLE"].ToString());
parms.Add(slmOrderLine.Rows[0]["STD_STYLE_DESC"].ToString());
parms.Add(slmOrderLine.Rows[0]["MSC_STYLE"].ToString());
parms.Add(slmOrderLine.Rows[0]["USE_CODE"].ToString());
parms.Add(slmOrderLine.Rows[0]["USE_DESC"].ToString());
parms.Add(slmOrderLine.Rows[0]["ENDLEN_SPECSTD"].ToString());
parms.Add(slmOrderLine.Rows[0]["AW"].ToString());
parms.Add(slmOrderLine.Rows[0]["MAN_INSPECTION"].ToString());
parms.Add(slmOrderLine.Rows[0]["QUALITY_USER"].ToString());
parms.Add(slmOrderLine.Rows[0]["QUALITY_USER_DESC"].ToString());
parms.Add(slmOrderLine.Rows[0]["OUTPUT_STD_NO"].ToString());
parms.Add(slmOrderLine.Rows[0]["PROJECT_NO"].ToString());
parms.Add(slmOrderLine.Rows[0]["OUTBOUND_CALCULATE"].ToString());
parms.Add(slmOrderLine.Rows[0]["ORDER_TEAM"].ToString());
parms.Add(slmOrderLine.Rows[0]["MODE_OF_TRANSPORT"].ToString());
string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
dept = dept + "-" + UserInfo.GetDepartment();
string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid());
if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
{
if (MessageUtil.ShowYesNoAndQuestion("是否确认新增合同行?") == DialogResult.No) return;
SlmOrderLineEntityCh soe = new SlmOrderLineEntityCh();
soe.OrdPk = managNo;
soe.CustAlphaNo = custAlphaNo;
soe.Psc = psc;
soe.PscDesc = slmOrderLine.Rows[0]["PSC_DESC"].ToString();
soe.PrdCls = slmOrderLine.Rows[0]["PRD_CLS"].ToString();
soe.Produccode = slmOrderLine.Rows[0]["PRODUCCODE"].ToString();
soe.Producname = slmOrderLine.Rows[0]["PRODUCNAME"].ToString();
soe.StdCode = slmOrderLine.Rows[0]["STD_CODE"].ToString();
soe.StdName = slmOrderLine.Rows[0]["STD_NAME"].ToString();
soe.Steelcode = slmOrderLine.Rows[0]["STEELCODE"].ToString();
soe.Steelname = slmOrderLine.Rows[0]["STEELNAME"].ToString();
soe.OrderSpecCode = slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString();
soe.OrderSpecDesc = slmOrderLine.Rows[0]["ORDER_SPEC_DESC"].ToString();
soe.SpecCode = slmOrderLine.Rows[0]["SPEC_CODE"].ToString();
soe.SpecName = slmOrderLine.Rows[0]["SPEC_NAME"].ToString();
soe.Dimater = slmOrderLine.Rows[0]["DIMATER"].ToString();
soe.Height = slmOrderLine.Rows[0]["HEIGHT"].ToString();
soe.ModelCode = modelCode;
soe.ModelDesc = slmOrderLine.Rows[0]["MODEL_DESC"].ToString();
soe.LenNo = lenNo;
soe.LenDesc = slmOrderLine.Rows[0]["LEN_DESC"].ToString();
soe.LenUnit = slmOrderLine.Rows[0]["LEN_UNIT"].ToString();
soe.LenMin = slmOrderLine.Rows[0]["LEN_MIN"].ToString();
soe.LenMax = slmOrderLine.Rows[0]["LEN_MAX"].ToString();
soe.ShrtLenRato = slmOrderLine.Rows[0]["SHRT_LEN_RATO"].ToString();
soe.Shortest = slmOrderLine.Rows[0]["SHORTEST"].ToString();
soe.LongLenRato = slmOrderLine.Rows[0]["LONG_LEN_RATO"].ToString();
soe.Longest = slmOrderLine.Rows[0]["LONGEST"].ToString();
soe.ShrtStove = slmOrderLine.Rows[0]["SHRT_STOVE"].ToString();
soe.AvgLenMin = slmOrderLine.Rows[0]["AVG_LEN_MIN"].ToString();
soe.DifrncLenMax = slmOrderLine.Rows[0]["DIFRNC_LEN_MAX"].ToString();
soe.SiglLen = slmOrderLine.Rows[0]["SIGL_LEN"].ToString();
soe.OrderUnit = slmOrderLine.Rows[0]["ORDER_UNIT"].ToString();
soe.OrderQty = slmOrderLine.Rows[0]["ORDER_QTY"].ToString();
soe.OrdEnsuTotlLen = slmOrderLine.Rows[0]["ORD_ENSU_TOTL_LEN"].ToString();
soe.PrdctWgt = slmOrderLine.Rows[0]["PRDCT_WGT"].ToString();
soe.DelvryRangeTpe = slmOrderLine.Rows[0]["DELVRY_RANGE_TPE"].ToString();
soe.DelvryRangeMin = slmOrderLine.Rows[0]["DELVRY_RANGE_MIN"].ToString();
soe.DelvryRangeMax = slmOrderLine.Rows[0]["DELVRY_RANGE_MAX"].ToString();
soe.FinalUser = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
soe.FinalUserDesc = slmOrderLine.Rows[0]["FINAL_USER_DESC"].ToString();
soe.OutsBilletFl = slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString();
soe.OutsStlPipeFl = slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString();
soe.AsselFl = slmOrderLine.Rows[0]["ASSEL_FL"].ToString();
soe.DelvryBdate = "";
soe.DelvryEdate = "";
soe.DelvryDesc = "N/A";
soe.TransDesc = "N/A";
soe.AddAskNo = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
soe.OrderSpecialDesc = slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString();
soe.OrderAddDesc = slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString();
soe.OrderPrice = slmOrderLine.Rows[0]["ORDER_PRICE"].ToString().Trim();
soe.TransPrice = slmOrderLine.Rows[0]["TRANS_PRICE"].ToString();
soe.TestId = "1";
soe.TestPrice = slmOrderLine.Rows[0]["TEST_PRICE"].ToString();
soe.OutPrice = slmOrderLine.Rows[0]["OUT_PRICE"].ToString();
soe.BalncePrice = slmOrderLine.Rows[0]["BALNCE_PRICE"].ToString();
soe.OrderLnStatus = "12020101";
soe.Memo = slmOrderLine.Rows[0]["MEMO"].ToString();
soe.CreateName = UserInfo.GetUserName();
soe.Msc = slmOrderLine.Rows[0]["MSC"].ToString();
soe.MscDesc = slmOrderLine.Rows[0]["MSC_DESC"].ToString();
soe.ProducerFl = slmOrderLine.Rows[0]["PRODUCER_FL"].ToString();
soe.MpsFl = slmOrderLine.Rows[0]["MPS_FL"].ToString();
soe.StdStyle = slmOrderLine.Rows[0]["STD_STYLE"].ToString();
soe.StdStyleDesc = slmOrderLine.Rows[0]["STD_STYLE_DESC"].ToString();
soe.MscStyle = slmOrderLine.Rows[0]["MSC_STYLE"].ToString();
soe.UseCode = slmOrderLine.Rows[0]["USE_CODE"].ToString();
soe.UseDesc = slmOrderLine.Rows[0]["USE_DESC"].ToString();
soe.EndlenSpecstd = slmOrderLine.Rows[0]["ENDLEN_SPECSTD"].ToString();
soe.Aw = slmOrderLine.Rows[0]["AW"].ToString();
soe.ManInspection = slmOrderLine.Rows[0]["MAN_INSPECTION"].ToString();
soe.QualityUser = slmOrderLine.Rows[0]["QUALITY_USER"].ToString();
soe.QualityUserDesc = slmOrderLine.Rows[0]["QUALITY_USER_DESC"].ToString();
soe.OutputStdNo = slmOrderLine.Rows[0]["OUTPUT_STD_NO"].ToString();
soe.ProjectNo = slmOrderLine.Rows[0]["PROJECT_NO"].ToString();
ChgeSlmApplyMEntityCh csm = new ChgeSlmApplyMEntityCh();
csm.OrdPk = managNo;
csm.OrderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
csm.ChgeRsn = "新增合同行";
csm.ChgeType = "合同行变更,新增";
csm.UnitCode = UserInfo.GetDeptid();
csm.UnitDesc = UserInfo.GetDepartment();
csm.DepartmentCode = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
csm.DepartmentDesc = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
csm.Chger = UserInfo.GetUserName();
csm.ChgeVal = "新增合同行";
csm.CreateName = UserInfo.GetUserName();
string json = JSONFormat.Format(csm);
CoreClientParam chgeCcp = new CoreClientParam();
chgeCcp.IfShowErrMsg = false;
chgeCcp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
chgeCcp.MethodName = "addOrderLine";
chgeCcp.ServerParams = new object[] { JSONFormat.Format(soe), json, dept };
chgeCcp = this.ExecuteNonQuery(chgeCcp, CoreInvokeType.Internal);
if (chgeCcp != null)
{
if (chgeCcp.ReturnCode == -1)
{
MessageUtil.ShowWarning(chgeCcp.ReturnInfo);
return;
}
}
else
{
return;
}
}
else
{
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
ccp.MethodName = "addOrderLine";
ccp.ServerParams = new object[] { managNo, parms, UserInfo.GetUserName(), dept, saleOrg };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnObject.ToString());
return;
}
}
else
{
return;
}
}
if (this.CustomInfo.Equals("2") || this.CustomInfo.Equals("2-120504"))
{
MessageUtil.ShowTips("合同行新增成功,变更单已生成,请确认变更,\n等待技术评审结果,通过即可提报变更单!");
}
else
{
MessageBox.Show("新增成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
doQuery();
//新增成功,刷新数据。
string valid = "";
if (chkValid.Checked)
{
valid = "0";
}
else
{
valid = "1";
}
//展示合同行数据
GetOrderLineDt(managNo, valid);
//聚焦当前新增合同行。
foreach (UltraGridRow ugr in ultraGrid1.Rows)
{
if (ugr.Cells["ORD_PK"].Value.ToString() == managNo)
{
ugr.Activate();
break;
}
}
ultraGrid2.DisplayLayout.Bands[0].SortedColumns.Clear();
ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_SEQ"].SortIndicator = SortIndicator.Ascending;
this.ultraGrid2.Rows[ultraGrid2.Rows.Count - 1].Activate();
}
///
/// //判断订货产品,订货规格,扣型,长度要求是否已存在。
///
///
///
///
///
///
///
///
/// FINAL_USER=? AND ADD_ASK_NO=? AND CUST_ALPHA_NO=?
private bool isRepeatOrderLine(string ordpk, string ordLnPk, string psc, string orderSpecCode, string modelCode, string lenNo, string final_user, string add_ask_no, string cust_alpha_no)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.isRepeatOrderLine", new Object[] { ordpk, psc, orderSpecCode, modelCode, lenNo, final_user, add_ask_no, cust_alpha_no }, this.ob);
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["ORD_LN_PK"].ToString().Equals(ordLnPk))
{
return true;
}
return false;
}
return true;
}
///
/// //判断订货产品,订货规格,扣型,长度要求是否已存在。
///
///
///
///
///
///
///
///
/// FINAL_USER=? AND ADD_ASK_NO=? AND CUST_ALPHA_NO=?
private bool isRepeatOrderLines(string ordpk, string psc, string orderSpecCode, string modelCode, string lenNo, string final_user, string add_ask_no, string cust_alpha_no)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.isRepeatOrderLine", new Object[] { ordpk, psc, orderSpecCode, modelCode, lenNo, final_user, add_ask_no, cust_alpha_no }, this.ob);
if (dt.Rows.Count > 0)
{
return false;
}
return true;
}
///
/// 运输线路明细
///
///
///
///
///
private void addOrderDeliveryTransit(string managNo, string orderNo, string orderSeq, DataTable slmOrderDeliveryTransit)
{
ArrayList paramS = new ArrayList();
foreach (DataRow row in slmOrderDeliveryTransit.Rows)
{
ArrayList parms = new ArrayList();
parms.Add(managNo);
parms.Add(orderNo);
parms.Add(orderSeq);
parms.Add(row["DELIVERY_NO"].ToString());
parms.Add(row["INDEX_SEQ"].ToString());
//代办标识
if (Convert.ToBoolean(row["AGENCY_FL"]))
{
parms.Add(1);
}
else
{
parms.Add(0);
}
parms.Add(row["LV_FACTY_TYP"].ToString());
parms.Add(row["TRANSIT_TYP"].ToString());
parms.Add(row["DESTINATION"].ToString());
parms.Add(row["STATION_NO"].ToString());
parms.Add(row["STATION_NM"].ToString());
parms.Add(row["SPCL_LN_NO"].ToString());
parms.Add(row["SPCL_LN_NM"].ToString());
parms.Add(row["PORT_NO"].ToString());
parms.Add(row["PORT_DESC"].ToString());
parms.Add(row["CARRIER_UNIT"].ToString());
parms.Add(row["RECEIVOR"].ToString());
parms.Add(row["TRANSIT_LN_MNY"].ToString());
parms.Add(1);
parms.Add(UserInfo.GetUserName());
paramS.Add(parms);
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
ccp.MethodName = "addOrderDeliveryTransit";
ccp.ServerParams = new object[] { paramS };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) return;
}
///
/// 交货信息新增
///
///
///
///
private void addSlmOrderLineDelivery(string managNo, string orderNo, string orderSeq, DataTable dt)
{
//交货编码,交货开始日期,交货结束日期/最迟交货日期,交货量,订货计量单位(支、吨、米),重量估算,保总长,收货单位编码,收货单位名称,交货地点,代办标识,指定地址,运输方案,总费用,有效标志(1:有效,0:无效),创建人,创建时间,修改人,修改时间,删除人,删除时间
//DELIVERY_NO,DELVRY_BDATE,DELVRY_EDATE,DELVRY_QTY,ORDER_UNIT,WGT_ESTMT,ENSU_TOTL_LEN,RECEIV_NO,RECEIV_NM,DELVRY_ADDR,AGENCY_FL,RECEIV_ADDR,TRANSIT_PLAN,TRANSIT_MNY,VALIDFLAG,CREATE_NAME,CREATE_TIME,UPDATE_NAME,UPDATE_TIME,DELETE_NAME,DELETE_TIME
ArrayList paramS = new ArrayList();
for (int i = 0; i < dt.Rows.Count; i++)
{
ArrayList parms = new ArrayList();
//管理卡号MANAG_NO
parms.Add(managNo);
//合同号ORDER_NO
parms.Add(orderNo);
//合同行号ORDER_SEQ
parms.Add(orderSeq);
//交货编码DELIVERY_NO
parms.Add(dt.Rows[i]["DELIVERY_NO"].ToString());
//交货开始日期DELVRY_BDATE
//parms.Add(dt.Rows[i]["DELVRY_BDATE"].ToString());
parms.Add(dt.Rows[i]["DELVRY_EDATE"].ToString());
//交货结束日期/最迟交货日期DELVRY_EDATE
parms.Add(dt.Rows[i]["DELVRY_EDATE"].ToString());
//交货量DELVRY_QTY
parms.Add(dt.Rows[i]["DELVRY_QTY"].ToString());
// 订货计量单位(支、吨、米)ORDER_UNIT
parms.Add(dt.Rows[i]["ORDER_UNIT"].ToString());
//重量估算WGT_ESTMT
parms.Add(dt.Rows[i]["WGT_ESTMT"].ToString());
// 保总长ENSU_TOTL_LEN
parms.Add(dt.Rows[i]["ENSU_TOTL_LEN"].ToString());
//收货单位编码RECEIV_NO
parms.Add(dt.Rows[i]["RECEIV_NO"].ToString());
// 收货单位名称RECEIV_NM
parms.Add(dt.Rows[i]["RECEIV_NM"].ToString());
//交货地点DELVRY_ADDR
parms.Add(dt.Rows[i]["DELVRY_ADDR"].ToString());
// 代办标识AGENCY_FL
//代办标识
parms.Add(dt.Rows[i]["AGENCY_FL"].ToString());
//parms.Add(dt.Rows[i]["AGENCY_FL"].ToString());
//指定地址RECEIV_ADDR
parms.Add(dt.Rows[i]["RECEIV_ADDR"].ToString());
// 运输方案TRANSIT_PLAN
parms.Add(dt.Rows[i]["TRANSIT_PLAN"].ToString());
//总费用TRANSIT_MNY
parms.Add(dt.Rows[i]["TRANSIT_MNY"].ToString());
// 有效标志(1:有效,0:无效)VALIDFLAG
//parms.Add(1);
//创建人CREATE_NAME
parms.Add(UserInfo.GetUserName());
//创建时间CREATE_TIME
paramS.Add(parms);
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
ccp.MethodName = "addSlmOrderLineDelivery";
ccp.ServerParams = new object[] { paramS };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) return;
}
///
/// 合同号生成,3位流水号。
///
///
private string GetOrderLineNo(string ordpk)
{
DataTable dt = new DataTable();
dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.GetOrderLineNo", new Object[] { ordpk }, this.ob);
string orderSeq = "";
if ("".Equals(dt.Rows[0][0].ToString()))
{
orderSeq = "001";
}
else
{
int seq = Convert.ToInt32(dt.Rows[0][0]) + 1;
orderSeq = seq.ToString();
}
while (orderSeq.Length < 3)
{
orderSeq = "0" + orderSeq;
}
return orderSeq;
}
///
/// 新增付款要求
///
private void addBalnceMny(string managNo, DataTable dt)
{
ArrayList paramS = new ArrayList();
if (dt == null)
{
return;
}
//批量新增付款要求
foreach (DataRow row in dt.Rows)
{
ArrayList parms = new ArrayList();
//MANAG_NO,ORDER_NO,BALNCE_MNY_NO,BALNCE_MNY_SEQ,
//PAYMENT_NODE,TERM,TERM_UNIT,PAYMENT_RATIO,
//MEMO,VALIDFLAG,CREATE_NAME,CREATE_TIME,UPDATE_NAME,
//UPDATE_TIME,DELETE_NAME,DELETE_TIME
//主键
parms.Add(managNo);
////合同号ORDER_NO
//parms.Add(orderNo);
//BALNCE_MNY_NO结算付款编号
parms.Add(row["BALNCE_MNY_NO"].ToString());
//BALNCE_MNY_SEQ结算付款序号
parms.Add(row["BALNCE_MNY_SEQ"].ToString());
//付款节点
parms.Add(row["PAYMENT_NODE"].ToString());
//期限
parms.Add(row["TERM"].ToString());
//日期单位
parms.Add(row["TERM_UNIT"].ToString());
//付款比率(%)
parms.Add(row["PAYMENT_RATIO"].ToString());
//备注
parms.Add(row["MEMO"].ToString());
//parms.Add("1");
//有效标志
parms.Add(1);
//创建人
parms.Add(UserInfo.GetUserName());
//创建时间
paramS.Add(parms);
}
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
ccp.MethodName = "addBalnceMny";
ccp.ServerParams = new object[] { paramS };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) return;
}
///
/// 查询功能
///
private void doQuery()
{
string orderNo = ""; //合同号
string orderStart = "";
string orderEnd = "";
if (uchkOrderNo.Checked)
{
orderNo = utxtOrderNo.Text.Trim();
}
string valid = "";
if (chkValid.Checked)
{
valid = "0";
}
else
{
valid = "1";
}
if (uchkDate.Checked)
{
orderStart = udtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01";
orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59";
}
else
{
orderStart = "1000-01-01 00:00:01";
orderEnd = "9999-12-31 23:59:59";
}
string supp = this.CustomInfo.Contains("120504") ? this.CustomInfo : "";
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.doQuery", new Object[] { orderNo, orderStart, orderEnd, valid, ClsBaseInfo.GetArrByValid(this.ValidDataPurviewIds), this.ValidDataPurviewIds, supp,this.UserInfo.GetUserName() }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref this.orderHeadDt, true);
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if ("1".Equals(row.Cells["CUSTOMER_MODEL_FL"].Value))
{
row.Cells["CUSTOMER_MODEL_FL"].Value = true;
}
else
{
row.Cells["CUSTOMER_MODEL_FL"].Value = false;
}
if ("1".Equals(row.Cells["VALIDFLAG"].Value))
{
row.Cells["VALIDFLAG"].Value = true;
row.Appearance.ForeColor = Color.Black;
}
else
{
row.Cells["VALIDFLAG"].Value = false;
row.Appearance.ForeColor = Color.Red;
}
}
if (ultraGrid1.ActiveRow == null)
{
this.orderLineDt.Clear();
}
}
private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow row = ultraGrid1.ActiveRow;
ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_COUNT"].Hidden = true;
string managNo = row.Cells["ORD_PK"].Value.ToString();
if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
{
GetOrderLineDt(managNo, "0");
if (ultraGrid2.Rows.Count <= 0)
{
ctrlOrderLine1.NumWt1.Enabled = true;
ctrlOrderLine1.ComboUNIT.Enabled = true;
ctrlOrderLine1.UltraTextGetDelVry.ButtonsRight[0].Enabled = true;
ctrlOrderLine1.loadPsc();
}
return;
}
string ordType = row.Cells["ORDER_TYP"].Value.ToString2();
if (ordType == "120102") //现货合同
{
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl1.Tabs[2].Visible = true;
ultraTabControl1.Tabs[3].Visible = false;
ultraTabControl1.Tabs[4].Visible = false;
ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_SPEC_DESC"].Hidden = true;
ultraGrid2.DisplayLayout.Bands[0].Columns["SPEC_NAME"].Hidden = false;
ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_COUNT"].Hidden = false;
}
else if (ordType == "120101" || ordType == "120103" || ordType == "120104" || ordType == "120108" || ordType == "120109") //自产期货
{
ultraTabControl1.Tabs[1].Visible = true;
ultraTabControl1.Tabs[2].Visible = false;
ultraTabControl1.Tabs[3].Visible = false;
ultraTabControl1.Tabs[4].Visible = false;
ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_SPEC_DESC"].Hidden = false;
ultraGrid2.DisplayLayout.Bands[0].Columns["SPEC_NAME"].Hidden = true;
}
else if (ordType == "120105") //贸易
{
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl1.Tabs[2].Visible = false;
ultraTabControl1.Tabs[3].Visible = true;
ultraTabControl1.Tabs[4].Visible = false;
ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_SPEC_DESC"].Hidden = true;
ultraGrid2.DisplayLayout.Bands[0].Columns["SPEC_NAME"].Hidden = false;
}
else if (ordType == "120106") //自产+外加工
{
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl1.Tabs[2].Visible = false;
ultraTabControl1.Tabs[3].Visible = false;
ultraTabControl1.Tabs[4].Visible = true;
ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_SPEC_DESC"].Hidden = false;
ultraGrid2.DisplayLayout.Bands[0].Columns["SPEC_NAME"].Hidden = true;
}
string orderNo = row.Cells["ORDER_NO"].Value.ToString();
string orderModelNo = ultraGrid1.ActiveRow.Cells["ORDER_MODEL_NO"].Value.ToString();
string orderpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
//主合同头信息
DataView orderHeadDv = new DataView(orderHeadDt);
orderHeadDv.RowFilter = " ORDER_NO='" + orderNo + "'";
DataTable orderHeadr = orderHeadDv.ToTable();
orderHeadr.TableName = "SLM_ORDER_HEAD";
if (Convert.ToBoolean(orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"]))
{
orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"] = "1";
}
else
{
orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"] = "0";
}
//商务条款条目
DataTable orderModelItemDt = BindOrderModelItem(orderModelNo);
orderModelItemDt.TableName = "frmordermodel";
//列自适应
//GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid3, new UltraGridColumn[] {
//});
//获取付款要求
DataTable blanceMnyDt = GetBlanceMny(orderpk);
blanceMnyDt.TableName = "SLM_ORDER_BALNCE_MNY";
orderManagerHeadr.Tables.Clear();
orderManagerHeadr.Tables.Add(orderHeadr);
orderManagerHeadr.Tables.Add(orderModelItemDt);
orderManagerHeadr.Tables.Add(blanceMnyDt);
ctrlOrderHead1.ctrlValue = orderManagerHeadr;
string valid = "";
if (chkValid.Checked)
{
valid = "0";
}
else
{
valid = "1";
}
if (this.CustomInfo == "3" || this.CustomInfo == "3-120504")
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getHeadStatus", new object[] { orderpk }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
if (dt.Rows[0][0].ToString() != "12020301")
{
ctrlOrderHead1.UltraOrderText.ButtonsRight[0].Enabled = false;
ctrlOrderHead1.UltraOrderText.Enabled = false;
}
else
{
ctrlOrderHead1.UltraOrderText.ButtonsRight[0].Enabled = true;
ctrlOrderHead1.UltraOrderText.Enabled = true;
}
}
return;
}
//展示合同行数据
GetOrderLineDt(managNo, valid);
ctrlOrderLineChildGer.loadOrderLineChild(this.ob, null, null);
ultraTabControl1.Tabs[0].Selected = true;
ultraGrid2.ActiveRow = null;
ctrlOrderLine1.loadPsc();
}
///
/// 绑定合同行数据源
///
private void GetOrderLineDt(string manageNo, string valid)
{
string form = this.CustomInfo.Equals("2-120504") ? "2" : this.CustomInfo;
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.GetOrderLineDt", new Object[] { manageNo, valid, form, freezeFlag }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref this.orderLineDt, true);
if (dt.Rows.Count == 0)
{
ctrlOrderLine1.setDelVry();
}
//不同颜色区分是否有效数据
Infragistics.Win.UltraWinGrid.UltraGridRow row = null;
for (int i = 0; i < ultraGrid2.Rows.Count; i++)
{
row = ultraGrid2.Rows[i];
if (!row.Cells["VALIDFLAG"].Value.ToString().Equals("1"))
{
row.Cells["VALIDFLAG"].Value = false;
row.Appearance.ForeColor = Color.Red;
}
else
{
row.Cells["VALIDFLAG"].Value = true;
row.Appearance.ForeColor = Color.Black;
}
if ("1".Equals(row.Cells["MPS_FL"].Value))
{
row.Cells["MPS_FL"].Value = true;
}
else
{
row.Cells["MPS_FL"].Value = false;
}
////外购坯
//if ("1".Equals(row.Cells["OUTS_BILLET_FL"].Value.ToString()))
//{
// row.Cells["OUTS_BILLET_FL"].Value = true;
//}
//else
//{
// row.Cells["OUTS_BILLET_FL"].Value = false;
//}
//监制
if ("1".Equals(row.Cells["PRODUCER_FL"].Value.ToString()))
{
row.Cells["PRODUCER_FL"].Value = true;
}
else
{
row.Cells["PRODUCER_FL"].Value = false;
}
//ASSEL
if ("1".Equals(row.Cells["ASSEL_FL"].Value.ToString()))
{
row.Cells["ASSEL_FL"].Value = true;
}
else
{
row.Cells["ASSEL_FL"].Value = false;
}
if (row.Cells["ISLOCK"].Value.ToString() == "1")
{
row.RowSelectorAppearance.BackColor = Color.Red;
}
else
{
row.RowSelectorAppearance.BackColor = color;
}
}
////列自适应
//GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid2, new UltraGridColumn[] {
//});
}
///
/// 获取付款要求
///
///
///
///
private DataTable GetBlanceMny(string ord_pk)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.GetBlanceMny", new Object[] { ord_pk }, this.ob);
return dt;
}
///
/// 合同头相关信息
///
DataSet orderManagerHeadr = new DataSet();
///
/// 绑定范本条目数据源
///
private DataTable BindOrderModelItem(string orderModelNo)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderModel.GetOrderModelItem", new Object[] { orderModelNo }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref this.slmOrderModelItem, true);
return dt;
}
///
/// 编辑区Tab选择事件。
///
///
///
private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
{
if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
return;
if ("2".Equals(e.Tab.Key))
{
if (ultraGrid1.ActiveRow == null)
{
MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
ultraTabControl1.Tabs[0].Selected = true;
return;
}
if (ultraGrid2.ActiveRow == null && ultraGrid1.ActiveRow == null)
{
MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
ultraTabControl1.Tabs[0].Selected = true;
return;
}
}
if ("3".Equals(e.Tab.Key))
{
if (ultraGrid1.ActiveRow == null)
{
MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
ultraTabControl1.Tabs[0].Selected = true;
return;
}
if (ultraGrid2.ActiveRow == null && ultraGrid1.ActiveRow == null)
{
MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
ultraTabControl1.Tabs[0].Selected = true;
return;
}
}
if ("4".Equals(e.Tab.Key)) //采购期货不加工
{
if (ultraGrid1.ActiveRow == null)
{
MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
ultraTabControl1.Tabs[0].Selected = true;
return;
}
if (ultraGrid2.ActiveRow == null && ultraGrid1.ActiveRow == null)
{
MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
ultraTabControl1.Tabs[0].Selected = true;
return;
}
//初始化本Tab页的数据 只首次加载
if (purchaseNoFlag == false)
{
ctrlLinePurchase1.Init(this.ob, _saleOrg);
purchaseNoFlag = true;
}
}
if ("5".Equals(e.Tab.Key)) //自产+外加工
{
if (ultraGrid1.ActiveRow == null)
{
MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
ultraTabControl1.Tabs[0].Selected = true;
return;
}
if (ultraGrid2.ActiveRow == null && ultraGrid1.ActiveRow == null)
{
MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
ultraTabControl1.Tabs[0].Selected = true;
return;
}
if (lineFlag == false) //首次初始化
{
ctrlLinePurchase2.Init(this.ob, _saleOrg);
ctrlLinePurchase2.DlyFlag = 2;
lineFlag = true;
lineNum = 2;
}
}
}
UltraGridRow oldRow = null;
///
/// 合同行选中事件
///
///
///
private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
{
if (ultraGrid1.ActiveRow == null)
return;
ultraGrid2.UpdateData();
this.Cursor = Cursors.WaitCursor;
string orderType = ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString2();
if (orderType == "120101" || orderType == "120103" || orderType == "120104" || orderType == "120108" || orderType == "120109") //自产期货 + 研发合同用同一个
{
ultraTabControl1.Tabs[1].Visible = true;
ultraTabControl1.Tabs[1].Selected = true;
ultraTabControl1.Tabs[2].Visible = false;
ultraTabControl1.Tabs[3].Visible = false;
ultraTabControl1.Tabs[4].Visible = false;
//这个类型判断下面的代码只适用于自产期货
lineNum = 1;
string tabName = "";
if (orderType == "120101")
{
tabName = "自产期货";
}
else if (orderType == "120103")
{
tabName = "研发合同";
}
else if (orderType == "120104")
{
tabName = "预排合同";
}
else if (orderType == "120108")
{
tabName = "双经销";
}
else if (orderType == "120109")
{
tabName = "定销订购";
}
ultraTabControl1.Tabs[1].Text = tabName;
}
else if (orderType == "120105") //贸易
{
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl1.Tabs[3].Selected = true;
ultraTabControl1.Tabs[2].Visible = false;
ultraTabControl1.Tabs[3].Visible = true;
ultraTabControl1.Tabs[4].Visible = false;
UltraGridRow uRow = ultraGrid2.ActiveRow;
if (purchaseNoFlag == false)
{
ctrlLinePurchase1.Init(this.ob, this._saleOrg);
purchaseNoFlag = true;
}
if (uRow != null)
{
SlmOrderLineNewEntity sol = GetOrderLineNewEntity(uRow);
ctrlLinePurchase1.SetControlValue(sol);
}
else
{
ctrlLinePurchase1.ClearControlValue();
}
this.Cursor = Cursors.Default;
return;
}
else if (orderType == "120106") //自产+外加工
{
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl1.Tabs[4].Selected = true;
ultraTabControl1.Tabs[2].Visible = false;
ultraTabControl1.Tabs[3].Visible = false;
ultraTabControl1.Tabs[4].Visible = true;
this.Cursor = Cursors.Default;
lineNum = 2;
UltraGridRow uRow = ultraGrid2.ActiveRow;
if (purchaseNoFlag1 == false)
{
ctrlLinePurchase2.Init(this.ob, this._saleOrg);
purchaseNoFlag1 = true;
}
if (uRow != null)
{
ctrlLinePurchase2.DlyFlag = 2;
SlmOrderLineNewEntity sol = GetOrderLineNewEntity(uRow);
ctrlLinePurchase2.SetControlValue(sol);
}
else
{
ctrlLinePurchase2.DlyFlag = 2;
ctrlLinePurchase2.ClearControlValue();
}
}
else if (orderType == "120102") //等于现货合同
{
ultraTabControl1.Tabs[2].Visible = true;
ultraTabControl1.Tabs[2].Selected = true;
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl1.Tabs[3].Visible = false;
ultraTabControl1.Tabs[4].Visible = false;
UltraGridRow uRow = ultraGrid2.ActiveRow;
if (uRow == null)
return;
txtStd.Text = uRow.Cells["STD_NAME"].Value.ToString();
txtPro.Text = uRow.Cells["PRODUCNAME"].Value.ToString();
txtStyle.Text = uRow.Cells["STD_STYLE_DESC"].Value.ToString();
txtSteel.Text = uRow.Cells["STEELNAME"].Value.ToString();
txtModel.Text = uRow.Cells["MODEL_DESC"].Value.ToString();
txtSpec.Text = uRow.Cells["SPEC_NAME"].Value.ToString();
txtQty.Text = uRow.Cells["ORDER_UNIT"].Value.ToString() == "吨" ? uRow.Cells["ORDER_QTY"].Value.ToString() : uRow.Cells["ORDER_COUNT"].Value.ToString();
ultraLabel2.Text=uRow.Cells["ORDER_UNIT"].Value.ToString();
txtFinaUser.Tag = uRow.Cells["FINAL_USER"].Value.ToString();
txtFinaUser.Text = uRow.Cells["FINAL_USER_DESC"].Value.ToString();
txtLenAsk.Text = uRow.Cells["LEN_DESC"].Value.ToString();
cmbDlyTpe.Text = uRow.Cells["DELVRY_RANGE_TPE"].Value.ToString();
numMin.Text = uRow.Cells["DELVRY_RANGE_MIN"].Value.ToString();
numMax.Text = uRow.Cells["DELVRY_RANGE_MAX"].Value.ToString();
txtDlyInfo.Text = uRow.Cells["DELVRY_DESC"].Value.ToString();
cmbOutboundCalculate.Value = uRow.Cells["OUTBOUND_CALCULATE"].Value.ToString() == "" ? "0" : uRow.Cells["OUTBOUND_CALCULATE"].Value.ToString();
/*if (uRow.Cells["PRODUCCODE"].Value.ToString() == "S000122")
{
txtQty.ReadOnly = false;
}
else
{
txtQty.ReadOnly = true;
}*/
UltraGridRow row = ultraGrid2.ActiveRow;
string dlyAddress = "";
DataTable addrDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineDlyAddress", new object[] { row.Cells["ORD_LN_PK"].Value.ToString() }, ob);
if (addrDt != null && addrDt.Rows.Count > 0)
{
dlyAddress = addrDt.Rows[0]["DELVRY_ADDR"].ToString();
}
dlyaddress = dlyAddress;
this.Cursor = Cursors.Default;
return;
} //现货合同 在此返回
string managNo = ultraGrid2.ActiveRow.Cells["ORD_PK"].Value.ToString();
string orderNo = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
string orderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
string orderSHRow = ultraGrid2.ActiveRow == null ? "" : ultraGrid2.ActiveRow.Cells["FINAL_USER_DESC"].Value.ToString();
if (lineNum == 1)
{
ctrlOrderLine1.loadFun(ob, managNo, orderNo, orderSeq, UserInfo.SaleOrg, orderSHRow);
}
else
{
ctrlOrderLine2.loadFun(ob, managNo, orderNo, orderSeq, UserInfo.SaleOrg, orderSHRow);
}
//传递当前行数据,获取@技术规范、交货要求、运输线路相关的DataSet
//DataSet ds = GetDataSetByRow(ultraGrid2.ActiveRow);
DataSet ds = new DataSet();
if (ultraGrid2.ActiveRow != null)
{
if (ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Value.ToString() == "12020203")
{
string lnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineReviewFRn", new object[] { lnPk }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
toolTips.SetToolTip(ultraGrid2, dt.Rows[0][0].ToString());
toolTips.ToolTipTitle = "合同号:" + ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + " 技术评审失败原因";
toolTips.ShowAlways = true;
}
}
else
{
toolTips.SetToolTip(ultraGrid2, "");
}
oldRow = ultraGrid2.ActiveRow;
DataTable orderLine = dataSet1.Tables["orderLineDt"];
ds = ctrlOrderLineChildGer.loadOrderLineChild(this.ob, ultraGrid2.ActiveRow, orderLine);
if (lineNum == 1)
{
ctrlOrderLine1.CtrlLineValue = ds;
ctrlOrderLine1.PscSelectRow = null;
ctrlOrderLine1.ReRow = null;
}
else
{
ctrlOrderLine2.CtrlLineValue = ds;
ctrlOrderLine2.PscSelectRow = null;
ctrlOrderLine1.ReRow = null;
}
int cnt = ultraGrid2.Rows.Count;
UltraGridRow row = ultraGrid2.ActiveRow;
if (cnt >= 2)
{
if (string.Compare(row.Cells["ORDER_SEQ"].Value.ToString(), "001") > 0)
{
foreach (UltraGridRow uRow in ultraGrid2.Rows)
{
if (uRow.Cells["ORDER_SEQ"].Value.ToString() == (Convert.ToString(Convert.ToInt16(row.Cells["ORDER_SEQ"].Value) - 1).PadLeft(3, '0')))
{
row = uRow;
break;
}
}
}
}
string dlyTime = row.Cells["DELVRY_EDATE"].Value.ToString();
string dlyAddress = "";
DataTable addrDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineDlyAddress", new object[] { row.Cells["ORD_LN_PK"].Value.ToString() }, ob);
if (addrDt != null && addrDt.Rows.Count > 0)
{
dlyAddress = addrDt.Rows[0]["DELVRY_ADDR"].ToString();
}
if (lineNum == 1)
{
ctrlOrderLine1.DlyTime = dlyTime;
ctrlOrderLine1.DlyAddress = dlyAddress;
}
else
{
ctrlOrderLine2.DlyTime = dlyTime;
ctrlOrderLine2.DlyAddress = dlyAddress;
}
try
{
if (lineNum == 1)
{
orderpsc = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["PSC"].ToString();
spec = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_CODE"].ToString();
model = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_CODE"].ToString();
len = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_NO"].ToString();
user = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER"].ToString();
mps = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["MPS_FL"].ToString();
addtional = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ADD_ASK_NO"].ToString();
special = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["CUST_ALPHA_NO"].ToString();
}
else
{
orderpsc = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["PSC"].ToString();
spec = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_CODE"].ToString();
model = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_CODE"].ToString();
len = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_NO"].ToString();
user = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER"].ToString();
mps = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["MPS_FL"].ToString();
addtional = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ADD_ASK_NO"].ToString();
special = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["CUST_ALPHA_NO"].ToString();
}
}
catch { }
if (this.CustomInfo == "2" || this.CustomInfo == "2-120504") //合同行变更
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.isExistsChgeOrdLnPk", new object[] { orderNo }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
if (dt.Rows[0][0].ToString() != "")
{
if (dt.Rows[0][0].ToString() != orderNo)
{
if (lineNum == 1)
{
ctrlOrderLine1.NumWt1.Enabled = false;
ctrlOrderLine1.ComboUNIT.Enabled = false;
ctrlOrderLine1.UltraTextGetDelVry.ButtonsRight[0].Enabled = false;
ctrlOrderLine1.NumTag.Enabled = false;
}
else
{
ctrlOrderLine2.NumWt1.Enabled = false;
ctrlOrderLine2.ComboUNIT.Enabled = false;
ctrlOrderLine2.UltraTextGetDelVry.ButtonsRight[0].Enabled = false;
ctrlOrderLine2.NumTag.Enabled = false;
}
}
else
{
if (lineNum == 1)
{
ctrlOrderLine1.NumWt1.Enabled = true;
ctrlOrderLine1.ComboUNIT.Enabled = true;
ctrlOrderLine1.UltraTextGetDelVry.ButtonsRight[0].Enabled = true;
ctrlOrderLine1.NumTag.Enabled = true;
}
else
{
ctrlOrderLine2.NumWt1.Enabled = true;
ctrlOrderLine2.ComboUNIT.Enabled = true;
ctrlOrderLine2.UltraTextGetDelVry.ButtonsRight[0].Enabled = true;
ctrlOrderLine2.NumTag.Enabled = true;
}
}
}
else
{
if (lineNum == 1)
{
ctrlOrderLine1.NumWt1.Enabled = false;
ctrlOrderLine1.ComboUNIT.Enabled = false;
ctrlOrderLine1.UltraTextGetDelVry.ButtonsRight[0].Enabled = false;
ctrlOrderLine1.NumTag.Enabled = false;
}
else
{
ctrlOrderLine2.NumWt1.Enabled = false;
ctrlOrderLine2.ComboUNIT.Enabled = false;
ctrlOrderLine2.UltraTextGetDelVry.ButtonsRight[0].Enabled = false;
ctrlOrderLine2.NumTag.Enabled = false;
}
}
}
else
{
if (lineNum == 1)
{
ctrlOrderLine1.NumWt1.Enabled = true;
ctrlOrderLine1.ComboUNIT.Enabled = true;
ctrlOrderLine1.UltraTextGetDelVry.ButtonsRight[0].Enabled = true;
ctrlOrderLine1.NumTag.Enabled = true;
}
else
{
ctrlOrderLine2.NumWt1.Enabled = true;
ctrlOrderLine2.ComboUNIT.Enabled = true;
ctrlOrderLine2.UltraTextGetDelVry.ButtonsRight[0].Enabled = true;
ctrlOrderLine2.NumTag.Enabled = true;
}
}
}
}
this.Cursor = Cursors.Default;
}
///
/// 获取DataSet
///
///
///
//private DataSet GetDataSetByRow(UltraGridRow ultraGridRow)
//{
// throw new NotImplementedException();
//}
///
/// 查询区合同号
///
///
///
private void uchkOrderNo_CheckedChanged(object sender, EventArgs e)
{
if (uchkOrderNo.Checked)
{
utxtOrderNo.ReadOnly = false;
}
else
{
utxtOrderNo.Text = "";
utxtOrderNo.ReadOnly = true;
}
}
///
/// 查询区签订日期
///
///
///
private void uchkDate_CheckedChanged(object sender, EventArgs e)
{
if (uchkDate.Checked)
{
udtStart.ReadOnly = false;
udtEnd.ReadOnly = false;
}
else
{
udtStart.ReadOnly = true;
udtEnd.ReadOnly = true;
}
}
private bool ctrlOrderLine1_CommitOrderLineRow(DataSet orderLine, string CommandType)
{
try
{
if (orderLine == null)
{
if (this.ultraGrid2.Rows.Count == 0)
{
MessageBox.Show("请先新增一条合同行,然后继续操作《交货发运要求》!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
return true;
}
else
{
if (this.ultraGrid2.Rows.Count == 0)
{
MessageBox.Show("请先新增一条合同行,然后继续操作《交货发运要求》!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (ultraGrid2.ActiveRow == null)
{
MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
ultraTabControl1.Tabs[0].Selected = true;
return false;
}
//用传入的合同行(控件)与合同行Grid的选择行的值进行比较,是否有差异,如果有则返回false,给出提示。
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["PSC"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["PSC"].Equals(ultraGrid2.ActiveRow.Cells["PSC"].Text))
{
MessageBox.Show("数据检测合同行订货产品已变更,请先修改。" + ultraGrid2.ActiveRow.Cells["PSC_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["PSC_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_CODE"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_CODE"].Equals(ultraGrid2.ActiveRow.Cells["SPEC_CODE"].Text))
{
MessageBox.Show("数据检测合同行产品规格已变更,请先修改。" + ultraGrid2.ActiveRow.Cells["SPEC_NAME"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_NAME"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_CODE"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_CODE"].Equals(ultraGrid2.ActiveRow.Cells["MODEL_CODE"].Text))
{
MessageBox.Show("数据检测合同行扣型已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["MODEL_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_NO"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_NO"].Equals(ultraGrid2.ActiveRow.Cells["LEN_NO"].Text))
{
MessageBox.Show("数据检测合同行长度已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["LEN_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_QTY"] != System.DBNull.Value && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_QTY"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Text))
{
MessageBox.Show("数据检测合同行订货量已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_QTY"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_UNIT"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_UNIT"].Equals(ultraGrid2.ActiveRow.Cells["ORDER_UNIT"].Text))
{
MessageBox.Show("数据检测合同行订货单位已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["ORDER_UNIT"].Text + " 改 " + orderLine.Tables["ORDER_UNIT"].Rows[0]["PSC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MAX"] != System.DBNull.Value && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MAX"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MAX"].Text))
{
MessageBox.Show("数据检测合同行交货量差上限已变更,请先修改。提示" + ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MAX"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MAX"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MIN"] != System.DBNull.Value && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MIN"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MIN"].Text))
{
MessageBox.Show("数据检测合同行交货量差下限已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MIN"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MIN"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_TPE"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_TPE"].Equals(ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_TPE"].Text))
{
MessageBox.Show("数据检测合同行交货量差方式已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_TPE"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_TPE"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"] != System.DBNull.Value && orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString() != "" && orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString2() != "" && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["ORDER_PRICE"].Text))
{
MessageBox.Show("数据检测合同行单价已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["ORDER_PRICE"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER"].Equals(ultraGrid2.ActiveRow.Cells["FINAL_USER"].Text))
{
MessageBox.Show("数据检测最终用户已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["FINAL_USER_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_BILLET_FL_ID"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_BILLET_FL_ID"].Equals(ultraGrid2.ActiveRow.Cells["OUTS_BILLET_FL_ID"].Text))
{
MessageBox.Show("数据检测外购坯已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["OUTS_BILLET_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_BILLET_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_STL_PIPE_FL_ID"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_STL_PIPE_FL_ID"].Equals(ultraGrid2.ActiveRow.Cells["OUTS_STL_PIPE_FL_ID"].Text))
{
MessageBox.Show("数据检测外购管已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["OUTS_STL_PIPE_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_STL_PIPE_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
}
}
catch (System.Exception ex)
{
//throw ex;
}
return true;
}
///
/// //交货信息回传到主界面后,必须立即更新交货信息描述、运输线路信息描述。
///
///
private void ctrlOrderLine1_UpdateOrderDeliveryDesc(DataSet orderLine)
{
if (ultraGrid2.ActiveRow == null)
{
MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
ultraTabControl1.Tabs[0].Selected = true;
return;
}
//合同行修改
string lnStatus = ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Text;
string ordpk = "";
//查询合同行状态
DataTable rowStas = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineStatus", new Object[] { ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Text }, this.ob);
if (rowStas.Rows.Count > 0)
{
if (!rowStas.Rows[0][0].ToString().Equals(lnStatus))
{
lnStatus = rowStas.Rows[0][0].ToString();
}
ordpk = rowStas.Rows[0][1].ToString();
}
else
{
MessageBox.Show("合同行不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
DataSet ds = ctrlOrderLine1.CtrlLineValue;
if (ds == null)
{
return;
}
DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
DataTable slmOrderDelivery = ds.Tables["Main"];
ArrayList parms = new ArrayList();
////技术特殊要求编码
//parms.Add(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString());
////附加要求编码
//parms.Add(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString());
////附加要求描述
//parms.Add(slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString());
////技术特殊要求描述
//parms.Add(slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString());
if (slmOrderDelivery != null && slmOrderDelivery.Rows.Count > 0)
{
//交货结束日期DELVRY_EDATE
parms.Add(slmOrderDelivery.Rows[0]["DELVRY_EDATE"].ToString());
}
else
{
parms.Add("");
}
//交货信息描述,DELVRY_DESC
parms.Add(slmOrderLine.Rows[0]["DELVRY_DESC"].ToString());
//运输信息描述TRANS_DESC
parms.Add(slmOrderLine.Rows[0]["TRANS_DESC"].ToString());
//创建人CREATE_NAME
parms.Add(UserInfo.GetUserName());
//创建时间,CREATE_TIME
//内部合同号
string managNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
//内部合同行
parms.Add(ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString());
////合同号ORDER_NO
string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
//parms.Add(orderNo);
////合同行号ORDER_SEQ
string orderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
//parms.Add(orderSeq);
string orderlnsta = lnStatus;
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
ccp.MethodName = "UpdateOrderDeliveryDesc";
ccp.ServerParams = new object[] { parms };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) { return; }
else
{
if (orderlnsta.Equals("12020204"))
{
ArrayList parmsHead = new ArrayList();
parmsHead.Add("12020202");
parmsHead.Add("技术评审通过");
parmsHead.Add(orderlnsta);
parmsHead.Add("合同销售管理(frmOrderManager.cs),交货期评审通过修改合同行运输内容。");
parmsHead.Add(managNo);
parms = new ArrayList();
parms.Add("12020202");
parms.Add(orderlnsta);
parms.Add("合同销售管理(frmOrderManager.cs),交货期评审通过修改合同行运输内容。");
parms.Add(managNo);
ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
ccp.MethodName = "upOrderHeadLineDelivery";
ccp.ServerParams = new object[] { parms, parmsHead };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1)
{
return;
}
}
}
string valid = "";
if (chkValid.Checked)
{
valid = "0";
}
else
{
valid = "1";
}
//展示合同行数据
GetOrderLineDt(managNo, valid);
//聚焦当前修改行
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (row != null)
{
if (orderSeq.Equals(row.Cells["ORDER_SEQ"].Value.ToString()))
{
row.Activate();
break;
}
}
}
}
private void ultraGrid1_ClickCell(object sender, ClickCellEventArgs e)
{
UltraGridRow row = ultraGrid1.ActiveRow;
string managNo = row.Cells["ORD_PK"].Value.ToString();
if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
{
GetOrderLineDt(managNo, "0");
return;
}
string orderNo = row.Cells["ORDER_NO"].Value.ToString();
string orderModelNo = ultraGrid1.ActiveRow.Cells["ORDER_MODEL_NO"].Value.ToString();
string orderpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
//主合同头信息
DataView orderHeadDv = new DataView(orderHeadDt);
orderHeadDv.RowFilter = " ORDER_NO='" + orderNo + "'";
DataTable orderHeadr = orderHeadDv.ToTable();
orderHeadr.TableName = "SLM_ORDER_HEAD";
if (Convert.ToBoolean(orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"]))
{
orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"] = "1";
}
else
{
orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"] = "0";
}
//商务条款条目
DataTable orderModelItemDt = BindOrderModelItem(orderModelNo);
orderModelItemDt.TableName = "frmordermodel";
//列自适应
//GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid3, new UltraGridColumn[] {
//});
//获取付款要求
DataTable blanceMnyDt = GetBlanceMny(orderpk);
blanceMnyDt.TableName = "SLM_ORDER_BALNCE_MNY";
orderManagerHeadr.Tables.Clear();
orderManagerHeadr.Tables.Add(orderHeadr);
orderManagerHeadr.Tables.Add(orderModelItemDt);
orderManagerHeadr.Tables.Add(blanceMnyDt);
ctrlOrderHead1.ctrlValue = orderManagerHeadr;
string valid = "";
if (chkValid.Checked)
{
valid = "0";
}
else
{
valid = "1";
}
if (this.CustomInfo == "3" || this.CustomInfo == "3-120504")
return;
//展示合同行数据
GetOrderLineDt(managNo, valid);
ctrlOrderLineChildGer.loadOrderLineChild(this.ob, null, null);
if (this.CustomInfo != "2" && this.CustomInfo != "2-120504")
ultraTabControl1.Tabs[0].Selected = true;
ultraGrid2.ActiveRow = null;
ctrlOrderLine1.loadPsc();
}
///
/// UPDATE SLM_ORDER_LINE
/// SET ORDER_LN_STATUS = ?,
/// BE_ORDER_LN_STATUS = ?,
/// BE_OBJ_STS_OP = ?,
/// OBJ_STS_OP = BE_OBJ_STS_OP
/// WHERE ORD_PK = ?
///
///
private void ctrlOrderLine1_SetOrderLineYesNoType(string type)
{
if (this.ultraGrid2.ActiveRow != null)
{
string ordLinePk = this.ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Text;
string orderlnsta = ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Value.ToString();
string managNo = ultraGrid2.ActiveRow.Cells["ORD_PK"].Value.ToString();
if (type.Equals("FYTrue"))
{
DataSet ds = new DataSet();
if (ultraGrid2.ActiveRow != null)
{
dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["DELVRY_DESC"] = "";
dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["DELVRY_EDATE"] = "";
dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["TRANS_DESC"] = "";
dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["TRANS_PRICE"] = "";
DataTable orderLine = dataSet1.Tables["orderLineDt"];
ds = ctrlOrderLineChildGer.loadOrderLineChild(this.ob, ultraGrid2.ActiveRow, orderLine);
ctrlOrderLine1.CtrlLineValue = ds;
}
}
if (type.Equals("JSTrue"))
{
DataSet ds = new DataSet();
if (ultraGrid2.ActiveRow != null)
{
dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["CUST_ALPHA_NO"] = "";
dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["ORDER_SPECIAL_DESC"] = "";
DataTable orderLine = dataSet1.Tables["orderLineDt"];
ds = ctrlOrderLineChildGer.loadOrderLineChild(this.ob, ultraGrid2.ActiveRow, orderLine);
ctrlOrderLine1.CtrlLineValue = ds;
}
}
if (type.Equals("FJTrue"))
{
DataSet ds = new DataSet();
if (ultraGrid2.ActiveRow != null)
{
dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["ADD_ASK_NO"] = "";
dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["ORDER_ADD_DESC"] = "";
DataTable orderLine = dataSet1.Tables["orderLineDt"];
ds = ctrlOrderLineChildGer.loadOrderLineChild(this.ob, ultraGrid2.ActiveRow, orderLine);
ctrlOrderLine1.CtrlLineValue = ds;
}
}
}
}
private void ultraGrid1_MouseClick(object sender, MouseEventArgs e)
{
if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
return;
ultraTabControl1.Tabs[0].Selected = true;
}
private void ultraGrid2_MouseClick(object sender, MouseEventArgs e)
{
if (ultraGrid1.ActiveRow == null)
return;
string orderType = ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString2();
if (orderType == "120101" || orderType == "120103" || orderType == "120104" || orderType == "120108" || orderType == "120109") //自产期货 + 预排合同
{
string tabName = "";
ultraTabControl1.Tabs[1].Selected = true;
if (orderType == "120101")
{
tabName = "自产期货";
}
else if (orderType == "120103")
{
tabName = "研发合同";
}
else if (orderType == "120104")
{
tabName = "预排合同";
}
else if (orderType == "120108")
{
tabName = "双经销";
}
else if (orderType == "120109")
{
tabName = "定销订购";
}
ultraTabControl1.Tabs[1].Text = tabName;
ultraTabControl1.Tabs[2].Visible = false;
ultraTabControl1.Tabs[3].Visible = false;
ultraTabControl1.Tabs[4].Visible = false;
}
else if (orderType == "120105") //采购期货不加工
{
ultraTabControl1.Tabs[3].Selected = true;
ultraTabControl1.Tabs[2].Visible = false;
ultraTabControl1.Tabs[3].Visible = true;
ultraTabControl1.Tabs[4].Visible = false;
}
else if (orderType == "120106") //采购期货加工
{
ultraTabControl1.Tabs[4].Selected = true;
ultraTabControl1.Tabs[2].Visible = false;
ultraTabControl1.Tabs[3].Visible = false;
ultraTabControl1.Tabs[4].Visible = true;
}
else if (orderType == "120102") //现货合同
{
ultraTabControl1.Tabs[2].Selected = true;
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl1.Tabs[3].Visible = false;
ultraTabControl1.Tabs[4].Visible = false;
}
}
private void utxtOrderNo_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
{
this.ChgeQuery();
}
else if (this.CustomInfo == "3" || this.CustomInfo == "3-120504")
{
this.ChgeHeadQuery();
}
else
{
doQuery();
}
}
}
private void frmOrderManager_Shown(object sender, EventArgs e)
{
ultraTabControl1.Tabs[2].Visible = false;
ultraTabControl1.Tabs[3].Visible = false;
ultraTabControl1.Tabs[4].Visible = false;
if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
{
ultraTabControl1.Tabs[0].Visible = false;
ultraTabControl2.Tabs[1].Visible = false;
ultraTabControl1.Tabs[2].Visible = false;
}
if (this.CustomInfo == "3" || this.CustomInfo == "3-120504")
{
ultraTabControl1.Tabs[1].Visible = false;
ultraTabControl2.Tabs[0].Visible = false;
ultraTabControl1.Tabs[2].Visible = false;
}
}
//------------------------------------------合同行变更代码区域---------------------------------------------------------
string locaPk = ""; //主键定位
///
/// 合同行变更 合同头查询
///
private void ChgeQuery()
{
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr != null)
locaPk = ugr.Cells["ORD_PK"].Value.ToString();
string orderNo = utxtOrderNo.Text.Trim();
string orderStart = "1000-01-01 00:00:01";
string orderEnd = "9999-12-31 23:59:59";
string valid = "";
if (chkValid.Checked)
{
valid = "0";
}
else
{
valid = "1";
}
if (uchkDate.Checked)
{
orderStart = udtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01";
orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59";
}
ArrayList list = new ArrayList();
list.Add(orderNo);
list.Add(orderStart);
list.Add(orderEnd);
list.Add(valid);
list.Add(UserInfo.SaleOrg);
list.Add(UserInfo.GetDeptid());
string supp = this.CustomInfo.Equals("2-120504") ? "120504" : "";
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.chgeOrderHeadQuery", new Object[] { list, freezeFlag, supp }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref this.orderHeadDt, true);
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if ("1".Equals(row.Cells["CUSTOMER_MODEL_FL"].Value))
{
row.Cells["CUSTOMER_MODEL_FL"].Value = true;
}
else
{
row.Cells["CUSTOMER_MODEL_FL"].Value = false;
}
if (locaPk != "")
{
if (row.Cells["ORD_PK"].Value.ToString() == locaPk)
row.Activate();
}
}
if (dt.Rows.Count <= 0)
{
this.orderLineDt.Rows.Clear();
}
}
///
/// 合同行是否允许操作
///
///
/// errMsg为空代表可以操作 否则不允许
private string CanOperateOrderLine(string ordLnPk)
{
string errMsg = "";
List list = EntityHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOperateOrderLine", new object[] { ordLnPk }, this.ob);
if (list != null && list.Count > 0)
{
SlmOrderLineEntityCh sle = list[0];
if (sle.OrderLnStatus.ToString() != "12020301" && sle.OrderLnStatus.ToString() != "12020101")
{
errMsg = "您选择的合同行不是生效或录入状态,不能变更!";
return errMsg;
}
else
{
if (sle.IsLock.ToString() == "1")
{
FormOrderChangeManage foc = new FormOrderChangeManage(this.ob);
string err = foc.IsExistsApplyNoWithLineLock(sle.OrdLnPk.ToString(), "交货行");
if (err == "1")
{
errMsg = "您选择的合同行正处于交货期变更中,不能合同行变更!";
return errMsg;
}
else if (err == "2")
{
errMsg = "您选择的合同行已处于变更中,请先处理!";
return errMsg;
}
else
{
return errMsg;
}
}
else //生效 未锁定 可变更
{
return errMsg;
}
}
}
else
{
errMsg = "无效合同行不能操作!";
return errMsg;
}
}
///
/// 是否可以操作
///
///
///
private bool ChgeOperateLine(string ordLnPk)
{
List list = EntityHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOperateOrderLine", new object[] { ordLnPk }, this.ob);
if (list != null && list.Count > 0)
{
return true;
}
else
{
//无效的合同行
return false;
}
}
///
/// 合同行变更--删除合同行
///
private void ChgeDelete()
{
ultraGrid2.UpdateData();
UltraGridRow ugr = ultraGrid2.ActiveRow;
if (ugr == null)
{
MessageUtil.ShowWarning("请选择您要删除的合同行!");
return;
}
string ordLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString();
DataTable dtCraft = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.queryCraftDesign", new object[] { ordLnPk }, this.ob);
if (dtCraft != null && dtCraft.Rows.Count > 0)
{
MessageUtil.ShowWarning("此合同行正在工艺评审中,不能发起变更,请等待工艺评审结束!");
return;
}
string errMsg = CanOperateOrderLine(ordLnPk);
if (errMsg != "")
{
MessageUtil.ShowWarning(errMsg);
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否作废选择的合同行?") == DialogResult.No) return;
dlgReviewMemo dlg = new dlgReviewMemo();
dlg.ReviewFlag = 3;
dlg.ReviewSatus = "合同行变更说明";
dlg.ShowDialog();
if (dlg.DialogResult != DialogResult.OK)
return;
string reviewMemo = dlg.ReviewMemo;
ChgeSlmApplyMEntityCh csm = new ChgeSlmApplyMEntityCh();
csm.OrdPk = ugr.Cells["ORD_PK"].Value.ToString();
csm.OrdLnPk = ordLnPk;
csm.OrderNo = ugr.Cells["ORDER_NO"].Value.ToString();
csm.OrderSeq = ugr.Cells["ORDER_SEQ"].Value.ToString();
csm.ChgeRsn = reviewMemo;
csm.ChgeType = "合同行变更,删除";
csm.UnitCode = UserInfo.GetDeptid();
csm.UnitDesc = UserInfo.GetDepartment();
csm.DepartmentCode = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
csm.DepartmentDesc = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
csm.Chger = UserInfo.GetUserName();
csm.ChgeVal = "删除合同行 " + ugr.Cells["ORDER_SEQ"].Value.ToString();
csm.CreateName = UserInfo.GetUserName();
string json = JSONFormat.Format(csm);
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
ccp.MethodName = "chgeDeleteOrderLine";
ccp.ServerParams = new object[] { json };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
MessageUtil.ShowTips("删除操作成功,变更单已生成,请处理!");
ChgeQuery();
}
}
private void ChgeAdd()
{
doAddLine();
}
private void ChgeConfirm()
{
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null)
{
MessageUtil.ShowWarning("请选择您要确认的合同!");
return;
}
if (ultraGrid2.Rows.Count <= 0)
{
MessageUtil.ShowTips("合同行不存在,!");
return;
}
foreach (UltraGridRow urow in ultraGrid2.Rows)
{
if (urow.Cells["DELVRY_DESC"].Value.ToString().Trim().Equals("") || urow.Cells["DELVRY_DESC"].Value.ToString().Trim().Equals("N/A"))
{
MessageUtil.ShowTips(urow.Cells["ORDER_SEQ"].Value.ToString() + ",合同行交货发运要求信息未维护,所有行必须维护交货发运要求,否则无法待提报评审!");
urow.Activate();
return;
}
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认变更?") == DialogResult.No) return;
string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
ccp.MethodName = "chgeConfirmOrder";
ccp.ServerParams = new object[] { ordPk };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
MessageUtil.ShowTips("合同变更确认成功!");
doQuery();
foreach (UltraGridRow urow in ultraGrid1.Rows)
{
if (ordPk.Equals(urow.Cells["ORD_PK"].Value.ToString()))
{
urow.Activate();
break;
}
}
}
}
///
/// 合同行变更--修改
///
private void ChgeUpdate()
{
//生效状态和录入状态可以修改 如果没有变更后字段 则不允许修改合同量和交货期(在GRID激活事件里做出了控制)
if (ultraGrid1.ActiveRow == null)
{
MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (ultraGrid2.ActiveRow == null)
{
MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
//string lnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
//string errMsg = CanOperateOrderLine(lnPk);
//if (errMsg != "")
//{
// MessageUtil.ShowWarning(errMsg);
// return;
//}
if (!ChgeOperateLine(ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString()))
{
MessageUtil.ShowWarning("无效合同行不能操作!");
return;
}
bool booltrfa = ctrlOrderLine1.deliveryWTQty();
if (!booltrfa)
{
return;
}
DataSet ds = ctrlOrderLine1.CtrlLineValue;
if (ds == null)
{
return;
}
DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
if (slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals("0") || slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals(""))
{
MessageUtil.ShowWarning("合同订货量须大于0");
return;
}
//判断订货产品,订货规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,要求是否已存在。
string psc = slmOrderLine.Rows[0]["PSC"].ToString();
string orderSpecCode = slmOrderLine.Rows[0]["SPEC_CODE"].ToString();
string modelCode = slmOrderLine.Rows[0]["MODEL_CODE"].ToString();
string lenNo = slmOrderLine.Rows[0]["LEN_NO"].ToString();
string pscJ = ultraGrid2.ActiveRow.Cells["PSC"].Value.ToString();
string orderSpecCodeJ = ultraGrid2.ActiveRow.Cells["ORDER_SPEC_CODE"].Value.ToString();
string modelCodeJ = ultraGrid2.ActiveRow.Cells["MODEL_CODE"].Value.ToString();
string lenNoJ = ultraGrid2.ActiveRow.Cells["LEN_NO"].Value.ToString();
string managNo = ultraGrid1.ActiveRow.Cells["MANAG_NO"].Value.ToString();
string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
string ordpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
string order_ln_status = ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Value.ToString();
string userName = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
string userAsk = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
string orderspecial = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
string outP = slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString();
string outG = slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString();
string lineOutP = ultraGrid2.ActiveRow.Cells["OUTS_BILLET_FL_ID"].Value.ToString();
string lineOutG = ultraGrid2.ActiveRow.Cells["OUTS_STL_PIPE_FL_ID"].Value.ToString();
string errMsg = OrderFunction.IsSameAddAsk(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString(), slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString(), this.ob, ordLnPk);
if (errMsg != "")
{
MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + errMsg);
return;
}
string msg = OrderFunction.IsValidSpecialCode(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString(), ob);
if (msg != "")
{
MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + msg);
return;
}
if (!isRepeatOrderLine(ordpk, ordLnPk, psc, slmOrderLine.Rows[0]["SPEC_CODE"].ToString(), modelCode, lenNo, userName, userAsk, orderspecial))
{
MessageBox.Show("合同行订货产品,产品规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,已存在相同记录,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
bool isAlter = false; //技术项是否修改,包括附加要求和产品特殊要求。
if (orderpsc == psc && spec == orderSpecCode && model == modelCode && len == lenNo
&& user == userName && mps == slmOrderLine.Rows[0]["PRODUCER_FL"].ToString()
&& orderspecial == special && outP == lineOutP && outG == lineOutG)
{
//都没有修改
isAlter = false;
}
else
{
isAlter = true;
}
//---------------------------------------------2016-02-24-------------------------------------------------------
//判断材料表数据 提单 计划
DataTable matDt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOrderMat", new object[] { ordLnPk }, this.ob);
List listMat = new List();
if (matDt != null && matDt.Rows.Count > 0)
{
foreach (DataRow dr in matDt.Rows)
{
listMat.Add(dr["MAT_STATUS"].ToString());
}
if (listMat != null && listMat.Count > 0)
{
if (listMat.Contains("80150303"))
{
MessageUtil.ShowWarning("存在已经销售出厂的材料,不允许变更!");
return;
}
else if (listMat.Contains("80150302"))
{
MessageUtil.ShowWarning("存在已编提单的材料,请撤销相应的提单!");
return;
}
else if (listMat.Contains("80150301"))
{
MessageUtil.ShowWarning("此合同有利库信息,请先将您要变更的的合同进行脱单操作!");
return;
}
}
}
//计划
DataTable planDt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOrderPlan", new object[] { ordLnPk }, this.ob);
if (planDt != null && planDt.Rows.Count > 0)
{
MessageUtil.ShowWarning("请先将您要变更的“生效状态”的交货行对应的发运计划关闭!\n切记是 “生效状态”的交货行,切勿对错了交货行!");
return;
}
//---------------------------------------------2016-02-24-------------------------------------------------------
SlmOrderLineEntityCh soe = new SlmOrderLineEntityCh();
soe.OrdPk = ordpk;
//客户Alpha编号CUST_ALPHA_NO
string custAlphaNo = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
soe.CustAlphaNo = custAlphaNo;
//产品规范码PSC
soe.Psc = psc;
//产品规范描述PSC_DESC
soe.PscDesc = slmOrderLine.Rows[0]["PSC_DESC"].ToString();
//品种分类(油井管;专业管;普管)PRD_CLS
soe.PrdCls = slmOrderLine.Rows[0]["PRD_CLS"].ToString();
//品名代码PRODUCCODE
soe.Produccode = slmOrderLine.Rows[0]["PRODUCCODE"].ToString();
//品名描述PRODUCNAME
soe.Producname = slmOrderLine.Rows[0]["PRODUCNAME"].ToString();
//标准代码STD_CODE
soe.StdCode = slmOrderLine.Rows[0]["STD_CODE"].ToString();
//标准名称STD_NAME
soe.StdName = slmOrderLine.Rows[0]["STD_NAME"].ToString();
//钢级(牌号)代码STEELCODE
soe.Steelcode = slmOrderLine.Rows[0]["STEELCODE"].ToString();
//钢级(牌号)名称STEELNAME
soe.Steelname = slmOrderLine.Rows[0]["STEELNAME"].ToString();
//订货规格代码ORDER_SPEC_CODE
soe.OrderSpecCode = slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString();
//订货规格描述(用于合同、质保书、标牌、标识)ORDER_SPEC_DESC
soe.OrderSpecDesc = slmOrderLine.Rows[0]["ORDER_SPEC_DESC"].ToString();
//产品规格代码SPEC_CODE
soe.SpecCode = slmOrderLine.Rows[0]["SPEC_CODE"].ToString();
//产品规格描述SPEC_NAME
soe.SpecName = slmOrderLine.Rows[0]["SPEC_NAME"].ToString();
//外径(mm)DIMATER
soe.Dimater = slmOrderLine.Rows[0]["DIMATER"].ToString();
//壁厚(mm)HEIGHT
soe.Height = slmOrderLine.Rows[0]["HEIGHT"].ToString();
//扣型代码MODEL_CODE
soe.ModelCode = modelCode;
//扣型描述MODEL_DESC
soe.ModelDesc = slmOrderLine.Rows[0]["MODEL_DESC"].ToString();
//长度编码LEN_NO
soe.LenNo = lenNo;
//长度描述LEN_DESC
soe.LenDesc = slmOrderLine.Rows[0]["LEN_DESC"].ToString();
//长度单位,LEN_UNIT
soe.LenUnit = slmOrderLine.Rows[0]["LEN_UNIT"].ToString();
//下限LEN_MIN
soe.LenMin = slmOrderLine.Rows[0]["LEN_MIN"].ToString();
//上限LEN_MAX
soe.LenMax = slmOrderLine.Rows[0]["LEN_MAX"].ToString();
//短尺率(%)SHRT_LEN_RATO
soe.ShrtLenRato = slmOrderLine.Rows[0]["SHRT_LEN_RATO"].ToString();
//短尺最短SHORTEST
soe.Shortest = slmOrderLine.Rows[0]["SHORTEST"].ToString();
//长尺率(%)LONG_LEN_RATO
soe.LongLenRato = slmOrderLine.Rows[0]["LONG_LEN_RATO"].ToString();
//长尺最长LONGEST
soe.Longest = slmOrderLine.Rows[0]["LONGEST"].ToString();
//短尺随炉SHRT_STOVE
soe.ShrtStove = slmOrderLine.Rows[0]["SHRT_STOVE"].ToString();
//平均长度大于AVG_LEN_MIN
soe.AvgLenMin = slmOrderLine.Rows[0]["AVG_LEN_MIN"].ToString();
//最长最短差小于DIFRNC_LEN_MAX
soe.DifrncLenMax = slmOrderLine.Rows[0]["DIFRNC_LEN_MAX"].ToString();
//单倍尺长SIGL_LEN
soe.SiglLen = slmOrderLine.Rows[0]["SIGL_LEN"].ToString();
//订货计量单位(支、米、吨)ORDER_UNIT
soe.OrderUnit = slmOrderLine.Rows[0]["ORDER_UNIT"].ToString();
//订货量ORDER_QTY
soe.OrderQty = slmOrderLine.Rows[0]["ORDER_QTY"].ToString();
//订货保总长ORD_ENSU_TOTL_LEN
soe.OrdEnsuTotlLen = slmOrderLine.Rows[0]["ORD_ENSU_TOTL_LEN"].ToString();
//生产吨数(根据订货量计算)PRDCT_WGT
soe.PrdctWgt = slmOrderLine.Rows[0]["PRDCT_WGT"].ToString();
//交货量差方式(绝对值;百分比)DELVRY_RANGE_TPE
soe.DelvryRangeTpe = slmOrderLine.Rows[0]["DELVRY_RANGE_TPE"].ToString();
//交货量差下限DELVRY_RANGE_MIN
soe.DelvryRangeMin = slmOrderLine.Rows[0]["DELVRY_RANGE_MIN"].ToString();
//交货量差上限DELVRY_RANGE_MAX
soe.DelvryRangeMax = slmOrderLine.Rows[0]["DELVRY_RANGE_MAX"].ToString();
//最终用户(来源客户表)FINAL_USER
soe.FinalUser = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
//最终用户描述FINAL_USER_DESC
soe.FinalUserDesc = slmOrderLine.Rows[0]["FINAL_USER_DESC"].ToString();
//外购坯,OUTS_BILLET_FL
soe.OutsBilletFl = slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString();
//外购管(1:允许;0:不允许)OUTS_STL_PIPE_FL
soe.OutsStlPipeFl = slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString();
//ASSEL(1:允许;0:不允许)ASSEL_FL
soe.AsselFl = slmOrderLine.Rows[0]["ASSEL_FL"].ToString();
//交货开始日期DELVRY_BDATE
soe.DelvryBdate = slmOrderLine.Rows[0]["DELVRY_BDATE"].ToString();
//交货结束日期DELVRY_EDATE
soe.DelvryEdate = slmOrderLine.Rows[0]["DELVRY_EDATE"].ToString();
//交货信息描述,DELVRY_DESC
soe.DelvryDesc = slmOrderLine.Rows[0]["DELVRY_DESC"].ToString();
//运输信息描述TRANS_DESC
soe.TransDesc = slmOrderLine.Rows[0]["TRANS_DESC"].ToString();
//附加要求编码ADD_ASK_NO
soe.AddAskNo = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
//产品特殊要求描述ORDER_SPECIAL_DESC
soe.OrderSpecialDesc = slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString();
//订货附加要求描述ORDER_ADD_DESC
soe.OrderAddDesc = slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString();
//订货价,ORDER_PRICE
soe.OrderPrice = slmOrderLine.Rows[0]["ORDER_PRICE"].ToString().Trim();
//运费TRANS_PRICE
soe.TransPrice = slmOrderLine.Rows[0]["TRANS_PRICE"].ToString();
//测价序号TEST_ID
soe.TestId = "1";
//测算价TEST_PRICE
soe.TestPrice = slmOrderLine.Rows[0]["TEST_PRICE"].ToString();
//出厂价OUT_PRICE
soe.OutPrice = slmOrderLine.Rows[0]["OUT_PRICE"].ToString();
//结算价BALNCE_PRICE
soe.BalncePrice = slmOrderLine.Rows[0]["BALNCE_PRICE"].ToString();
//合同行状态ORDER_LN_STATUS
soe.OrderLnStatus = "12020101"; //录入状态
//备注MEMO
soe.Memo = slmOrderLine.Rows[0]["MEMO"].ToString();
//创建人CREATE_NAME
soe.UpdateName = UserInfo.GetUserName();
//MSC,MSC_DESC
soe.Msc = slmOrderLine.Rows[0]["MSC"].ToString();
soe.MscDesc = slmOrderLine.Rows[0]["MSC_DESC"].ToString();
soe.ProducerFl = slmOrderLine.Rows[0]["PRODUCER_FL"].ToString();
//MPS_FL
soe.MpsFl = slmOrderLine.Rows[0]["MPS_FL"].ToString();
//STD_STYPE,STD_STYPE_DESC
soe.StdStyle = slmOrderLine.Rows[0]["STD_STYLE"].ToString();
soe.StdStyleDesc = slmOrderLine.Rows[0]["STD_STYLE_DESC"].ToString();
soe.MscStyle = slmOrderLine.Rows[0]["MSC_STYLE"].ToString();
soe.UseCode = slmOrderLine.Rows[0]["USE_CODE"].ToString();
soe.UseDesc = slmOrderLine.Rows[0]["USE_DESC"].ToString();
soe.EndlenSpecstd = slmOrderLine.Rows[0]["ENDLEN_SPECSTD"].ToString();
soe.Aw = slmOrderLine.Rows[0]["AW"].ToString();
soe.ManInspection = slmOrderLine.Rows[0]["MAN_INSPECTION"].ToString();
soe.QualityUser = slmOrderLine.Rows[0]["QUALITY_USER"].ToString();
soe.QualityUserDesc = slmOrderLine.Rows[0]["QUALITY_USER_DESC"].ToString();
soe.OutputStdNo = slmOrderLine.Rows[0]["OUTPUT_STD_NO"].ToString();
soe.ProjectNo = slmOrderLine.Rows[0]["PROJECT_NO"].ToString();
soe.OutboundCalculate = slmOrderLine.Rows[0]["OUTBOUND_CALCULATE"].ToString();
soe.OrderTeam = slmOrderLine.Rows[0]["ORDER_TEAM"].ToString();
soe.ModeOfTransport = slmOrderLine.Rows[0]["MODE_OF_TRANSPORT"].ToString();
//合同行号ORD_LN_PK
soe.OrdLnPk = ordLnPk;
//合同行号顺序号ORDER_SEQ
string orderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
soe.OrderSeq = orderSeq;
bool isCraft = false;// 是否跳过工艺
string chgeVal = "";
string chgeOrdLnPk = ultraGrid2.ActiveRow.Cells["CHGE_ORD_LN_PK"].Value.ToString();
if (chgeOrdLnPk.Equals(""))
chgeOrdLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOldLnPkOrderLine", new object[] { chgeOrdLnPk }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
DataRow dr = dt.Rows[0];
int num = 0;
soe.CreateName = dr["CREATE_NAME"].ToString();
soe.CreateTime = dr["CREATE_TIME"].ToString();
if (dr["ORDER_ADD_DESC"].ToString() != soe.OrderAddDesc.ToString())
{
//string tmpChgeVal = (num + 1).ToString() + ".产品附加要求:" + dr["ORDER_ADD_DESC"].ToString() + "\r\n修改为\r\n " + soe.OrderAddDesc.ToString().Trim() + "\r\n";
string tmpChgeVal = (num + 1).ToString() + ". 新产品附加要求:" + soe.OrderAddDesc.ToString().Trim() + "\r\n";
int length = Encoding.Unicode.GetBytes(tmpChgeVal).Length;
if (length > 4000)
{
tmpChgeVal = tmpChgeVal.Substring((length - 4000) / 2);
}
chgeVal += tmpChgeVal;
num++;
isCraft = true;
}
if (dr["OUTBOUND_CALCULATE"].ToString() != soe.OutboundCalculate.ToString())
{
string outboundCalculate = soe.OutboundCalculate.ToString().Equals("1") ? "实单过磅" : soe.OutboundCalculate.ToString().Equals("2") ? "实单按尺码单" : "实单不过磅";
chgeVal = chgeVal + (num + 1).ToString() + ".出库计量:" + dr["OUTBOUND_CALCULATE"].ToString() + " 修改为 " + outboundCalculate + "\r\n";
num++;
isCraft = true;
}
if (dr["ORDER_TEAM"].ToString() != soe.OrderTeam.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".是否协同:" + dr["ORDER_TEAM"].ToString() + " 修改为 " + soe.OrderTeam.ToString() + "\r\n";
num++;
isCraft = true;
}
if (dr["MODE_OF_TRANSPORT"].ToString() != soe.ModeOfTransport.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".运输方式:" + dr["MODE_OF_TRANSPORT"].ToString() + " 修改为 " + soe.ModeOfTransport.ToString() + "\r\n";
num++;
isCraft = true;
}
if (dr["PSC"].ToString() != soe.Psc.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".订货产品:" + dr["PSC_DESC"].ToString() + " 修改为 " + soe.PscDesc.ToString() + "\r\n";
num++;
isCraft = false;
}
if (dr["SPEC_CODE"].ToString() != soe.SpecCode.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".产品规格:" + dr["SPEC_NAME"].ToString() + " 修改为 " + soe.SpecName.ToString() + "\r\n";
num++;
isCraft = false;
}
if (dr["ORDER_SPEC_CODE"].ToString() != soe.OrderSpecCode.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".订货规格:" + dr["ORDER_SPEC_DESC"].ToString() + " 修改为 " + soe.OrderSpecDesc.ToString() + "\r\n";
num++;
isCraft = false;
}
if (dr["MODEL_CODE"].ToString() != soe.ModelCode.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".扣型:" + dr["MODEL_DESC"].ToString() + " 修改为 " + soe.ModelDesc.ToString() + "\r\n";
num++;
isCraft = false;
}
if (dr["LEN_DESC"].ToString() != soe.LenDesc.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".长度要求:" + dr["LEN_DESC"].ToString() + " 修改为 " + soe.LenDesc.ToString() + "\r\n";
num++;
isCraft = false;
}
if (dr["ORDER_QTY"].ToString() != soe.OrderQty.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".订货量:" + dr["ORDER_QTY"].ToString() + " 修改为 " + soe.OrderQty.ToString() + "\r\n";
num++;
isCraft = false;
}
if (dr["ORDER_UNIT"].ToString() != soe.OrderUnit.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".订货单位:" + dr["ORDER_UNIT"].ToString() + " 修改为 " + soe.OrderUnit.ToString() + "\r\n";
num++;
isCraft = false;
}
if (dr["DELVRY_RANGE_MIN"].ToString() != soe.DelvryRangeMin.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".交货量差下限:" + dr["DELVRY_RANGE_MIN"].ToString() + " 修改为 " + soe.DelvryRangeMin.ToString() + "\r\n";
num++;
isCraft = false;
}
if (dr["DELVRY_RANGE_MAX"].ToString() != soe.DelvryRangeMax.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".交货量差上限:" + dr["DELVRY_RANGE_MAX"].ToString() + " 修改为 " + soe.DelvryRangeMax.ToString() + "\r\n";
num++;
isCraft = false;
}
if (dr["ORD_ENSU_TOTL_LEN"].ToString() != soe.OrdEnsuTotlLen.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".保总长:" + dr["ORD_ENSU_TOTL_LEN"].ToString() + " 修改为 " + soe.OrdEnsuTotlLen.ToString() + "\r\n";
num++;
isCraft = false;
}
if (Convert.ToDouble(dr["ORDER_PRICE"].ToString().Trim() == "" ? "0" : dr["ORDER_PRICE"].ToString().Trim()) != Convert.ToDouble(soe.OrderPrice.ToString() == "" ? "0" : soe.OrderPrice.ToString()))
{
chgeVal = chgeVal + (num + 1).ToString() + ".订货单价:" + dr["ORDER_PRICE"].ToString() + " 修改为 " + soe.OrderPrice.ToString().Trim() + "\r\n";
num++;
isCraft = false;
}
if (dr["FINAL_USER"].ToString() != soe.FinalUser.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".最终用户:" + dr["FINAL_USER_DESC"].ToString() + " 修改为 " + soe.FinalUserDesc.ToString() + "\r\n";
num++;
isCraft = false;
}
if (dr["OUTPUT_STD_NO"].ToString() != soe.OutputStdNo)
{
chgeVal = chgeVal + (num + 1).ToString() + ".输出标准号:" + dr["OUTPUT_STD_NO_DESC"].ToString() + " 修改为 " + ctrlOrderLine1.CmbOutPutStd.Text + "\r\n";
num++;
isCraft = false;
}
if (dr["PROJECT_NO"].ToString() != soe.ProjectNo)
{
chgeVal = chgeVal + (num + 1).ToString() + ".订单工程号:" + dr["PROJECT_NO"].ToString() + " 修改为 " + soe.ProjectNo + "\r\n";
num++;
isCraft = false;
}
if (dr["OUTS_BILLET_FL"].ToString() != soe.OutsBilletFl.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".外购坯:" + dr["OUTS_BILLET_FL_DESC"].ToString() + " 修改为 " + slmOrderLine.Rows[0]["OUTS_BILLET_DESC"].ToString() + "\r\n";
num++;
isCraft = false;
}
if (dr["OUTS_STL_PIPE_FL"].ToString() != soe.OutsStlPipeFl.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".外购管:" + dr["OUTS_STL_PIPE_FL_DESC"].ToString() + " 修改为 " + slmOrderLine.Rows[0]["OUTS_STL_PIPE_DESC"].ToString() + "\r\n";
num++;
isCraft = false;
}
if (dr["ASSEL_FL"].ToString() != soe.AsselFl.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".ASSEL:" + (dr["ASSEL_FL"].ToString() == "1" ? "经过" : "不经过") + " 修改为 " + (soe.AsselFl.ToString() == "1" ? "经过" : "不经过") + "\r\n";
num++;
isCraft = false;
}
if (dr["MPS_FL"].ToString() != soe.MpsFl.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".MPS要求:" + (dr["MPS_FL"].ToString() == "1" ? "有" : "无") + " 修改为 " + (soe.MpsFl.ToString() == "1" ? "有" : "无") + "\r\n";
num++;
isCraft = false;
}
if (dr["PRODUCER_FL"].ToString() != soe.ProducerFl.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".监制要求:" + (dr["PRODUCER_FL"].ToString() == "1" ? "有" : "无") + " 修改为 " + (soe.ProducerFl.ToString() == "1" ? "有" : "无") + "\r\n";
num++;
isCraft = false;
}
if (dr["ORDER_SPECIAL_DESC"].ToString() != soe.OrderSpecialDesc.ToString())
{
//string tmpChgeVal = (num + 1).ToString() + ".产品技术要求:" + dr["ORDER_SPECIAL_DESC"].ToString() + " \r\n修改为\r\n " + soe.OrderSpecialDesc.ToString() + "\r\n";
string tmpChgeVal = (num + 1).ToString() + ". 新产品技术要求:" + soe.OrderSpecialDesc.ToString() + "\r\n";
int length = Encoding.Unicode.GetBytes(tmpChgeVal).Length;
if (length > 4000)
{
tmpChgeVal = tmpChgeVal.Substring((length - 4000)/2);
}
chgeVal += tmpChgeVal;
num++;
isAlter = true;
isCraft = false;
}
else if (dr["MSC"].ToString() != soe.Msc.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".冶金规范码:" + dr["MSC"].ToString() + " 修改为 " + soe.Msc.ToString() + "\r\n";
num++;
isAlter = true;
isCraft = false;
}
if (dr["MAN_INSPECTION"].ToString() != soe.ManInspection)
{
chgeVal = chgeVal + (num + 1).ToString() + ".在线机探盲区:" + (dr["MAN_INSPECTION"].ToString() == "1" ? "可手探" : "不可手探") + " 修改为 " + (soe.ManInspection == "1" ? "可手探" : "不可手探") + "\r\n";
num++;
isCraft = false;
}
if (dr["QUALITY_USER"].ToString() != soe.QualityUser)
{
chgeVal = chgeVal + (num + 1).ToString() + ".质保书单位:" + dr["QUALITY_USER_DESC"].ToString() + " 修改为 " + soe.QualityUserDesc + "\r\n";
num++;
isCraft = false;
}
}
//else
//{
// MessageUtil.ShowWarning("合同行信息发生异常!");
// return;
//}
DataTable dtCraft = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.queryCraftDesign", new object[] { ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString() }, this.ob);
if (dtCraft != null && dtCraft.Rows.Count > 0 && !isCraft)
{
MessageUtil.ShowWarning("此合同行正在工艺评审中,不能发起变更,请等待工艺评审结束!");
return;
}
if (chgeVal == "")
{
MessageUtil.ShowWarning("没有作出任何修改!");
return;
}
string str = "\r\n合同号:" + ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() + " 合同行号:" + soe.OrderSeq + "\r\n\r\n" + chgeVal;
PopupTextBox ptb = new PopupTextBox(str);
ptb.TxtInfo.ReadOnly = true;
ptb.TxtInfo.Font = new Font("宋体", 11, FontStyle.Regular);
ptb.Text = "合同行变更内容";
ptb.ShowDialog();
if (ptb.DialogResult != DialogResult.OK)
return;
ChgeSlmApplyMEntityCh csm = new ChgeSlmApplyMEntityCh();
csm.OrdPk = ordpk;
csm.OrderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
csm.ChgeRsn = "修改合同行";
csm.ChgeType = "合同行变更,修改";
csm.UnitCode = UserInfo.GetDeptid();
csm.UnitDesc = UserInfo.GetDepartment();
csm.DepartmentCode = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
csm.DepartmentDesc = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
csm.Chger = UserInfo.GetUserName();
csm.ChgeVal = chgeVal;
csm.CreateName = UserInfo.GetUserName();
string json = JSONFormat.Format(csm);
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
ccp.MethodName = "chgeUpdateOrderLine";
string deptName = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
deptName = deptName + "-" + UserInfo.GetDepartment();
//string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid());
ccp.ServerParams = new object[] { JSONFormat.Format(soe), json, isAlter, deptName };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
}
else
{
return;
}
MessageUtil.ShowTips("修改成功!");
doQuery();
string valid = "";
if (chkValid.Checked)
{
valid = "0";
}
else
{
valid = "1";
}
//展示合同行数据
GetOrderLineDt(ordpk, valid);
foreach (UltraGridRow row in ultraGrid1.Rows)
{//ordpk
if (ordpk.Equals(row.Cells["ORD_PK"].Value.ToString()))
{
row.Activate();
break;
}
}
//聚焦当前修改行
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (orderSeq.Equals(row.Cells["ORD_LN_PK"].Value.ToString()))
{
row.Activate();
break;
}
}
}
///
/// 合同行变更(冻结变更)只能修改附加要求
///
private void ChgeUpdateFreeze()
{
//1.计划处是否将此合同冻结 2.工艺评审是否锁定了
if (ultraGrid1.ActiveRow == null)
{
MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (ultraGrid2.ActiveRow == null)
{
MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
string ordpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
//1.是否计划锁定
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.queryPlnSaleOrd", new object[] { ordLnPk }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
string freeze = dt.Rows[0][0].ToString();
if (freeze != "1")
{
MessageUtil.ShowWarning("合同没有被制造部计划科锁定,请联系其锁定该合同行!");
return;
}
}
else
{
MessageUtil.ShowWarning("合同尚未被制造部接收,不必使用冻结变更!\n可在合同提报管理界面撤销提报,然后发起普通变更!");
return;
}
//2.是否工艺锁定
//23-05-26 不再判定工艺
//DataTable dtCraft = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.queryCraftDesign", new object[] { ordLnPk }, this.ob);
//if (dtCraft != null && dtCraft.Rows.Count > 0)
//{
// MessageUtil.ShowWarning("此合同行正在工艺评审中,不能发起变更,请等待工艺评审结束!");
// return;
//}
if (!ChgeOperateLine(ordLnPk))
{
MessageUtil.ShowWarning("无效合同行不能操作!");
return;
}
DataSet ds = ctrlOrderLine1.CtrlLineValue;
if (ds == null)
{
return;
}
DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
SlmOrderLineEntityCh soe = new SlmOrderLineEntityCh();
soe.OrdPk = ordpk;
soe.AddAskNo = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
//订货附加要求描述ORDER_ADD_DESC
soe.OrderAddDesc = slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString();
//合同行号ORD_LN_PK
soe.OrdLnPk = ordLnPk;
//合同行号顺序号ORDER_SEQ
string orderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
soe.OrderSeq = orderSeq;
string chgeVal = "";
bool isUpdate = false; //是否修改了数据
DataTable hisDt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOrdLineHistory", new object[] { ordLnPk }, this.ob);
if (hisDt != null && hisDt.Rows.Count > 0)
{
//某一次冻结变更的多次修改
if (soe.OrderAddDesc.ToString() != dt.Rows[0][0].ToString2())
{
chgeVal = "附加要求:" + "\r\n\r\n" + dt.Rows[0][0].ToString2() + "\r\n\r\n修改为:\r\n\r\n" + soe.OrderAddDesc.ToString();
isUpdate = true;
}
}
else
{
//某一次冻结变更的首次修改
if (soe.OrderAddDesc.ToString() != ultraGrid2.ActiveRow.Cells["ORDER_ADD_DESC"].Value.ToString())
{
chgeVal = "附加要求:" + "\r\n\r\n" + ultraGrid2.ActiveRow.Cells["ORDER_ADD_DESC"].Value.ToString() + "\r\n\r\n修改为:\r\n\r\n" + soe.OrderAddDesc.ToString();
isUpdate = true;
}
}
if (!isUpdate)
{
MessageUtil.ShowWarning("没有做出任何改变,不允许变更!");
return;
}
string str = "\r\n合同号:" + ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() + " 合同行号:" + soe.OrderSeq + "\r\n\r\n" + chgeVal;
PopupTextBox ptb = new PopupTextBox(str);
ptb.TxtInfo.ReadOnly = true;
ptb.TxtInfo.Font = new Font("宋体", 11, FontStyle.Regular);
ptb.Text = "合同行变更内容";
ptb.ShowDialog();
if (ptb.DialogResult != DialogResult.OK)
return;
ChgeSlmApplyMEntityCh csm = new ChgeSlmApplyMEntityCh();
csm.OrdPk = ordpk;
csm.OrderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
csm.ChgeRsn = "修改合同附加要求";
csm.ChgeType = "合同行变更,修改合同附加要求";
csm.UnitCode = UserInfo.GetDeptid();
csm.UnitDesc = UserInfo.GetDepartment();
csm.DepartmentCode = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
csm.DepartmentDesc = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
csm.Chger = UserInfo.GetUserName();
csm.ChgeVal = chgeVal;
csm.CreateName = UserInfo.GetUserName();
string json = JSONFormat.Format(csm);
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
ccp.MethodName = "chgeFreezeUpdateOrdLine";
ccp.ServerParams = new object[] { JSONFormat.Format(soe), json };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
}
else
{
return;
}
MessageUtil.ShowTips("修改成功!");
doQuery();
string valid = "";
if (chkValid.Checked)
{
valid = "0";
}
else
{
valid = "1";
}
//展示合同行数据
GetOrderLineDt(ordpk, valid);
foreach (UltraGridRow row in ultraGrid1.Rows)
{//ordpk
if (ordpk.Equals(row.Cells["ORD_PK"].Value.ToString()))
{
row.Activate();
break;
}
}
//聚焦当前修改行
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (orderSeq.Equals(row.Cells["ORD_LN_PK"].Value.ToString()))
{
row.Activate();
break;
}
}
}
//------------------------------------------------------------------合同头变更区域代码-----------------------------------------------------
///
/// 合同头变更-合同头的查询
///
private void ChgeHeadQuery()
{
string orderNo = utxtOrderNo.Text.Trim();
string orderStart = "1000-01-01 00:00:01";
string orderEnd = "9999-12-31 23:59:59";
string valid = "0";
if (uchkDate.Checked)
{
orderStart = udtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01";
orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59";
}
ArrayList list = new ArrayList();
list.Add(orderNo);
list.Add(orderStart);
list.Add(orderEnd);
list.Add(valid);
list.Add(UserInfo.SaleOrg);
list.Add(UserInfo.GetDeptid());
string supp = this.CustomInfo.Contains("120504") ? "120504" : "";
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.orderChangeHeadDetail", new Object[] { list, supp }, this.ob);
GridHelper.CopyDataToDatatable(ref dt, ref this.orderHeadDt, true);
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if ("1".Equals(row.Cells["CUSTOMER_MODEL_FL"].Value))
{
row.Cells["CUSTOMER_MODEL_FL"].Value = true;
}
else
{
row.Cells["CUSTOMER_MODEL_FL"].Value = false;
}
if (row.Cells["VALIDFLAG"].Value.ToString().ToUpper() == "TRUE")
{
row.Appearance.ForeColor = Color.Black;
}
else
{
row.Appearance.ForeColor = Color.Red;
}
}
if (dt.Rows.Count <= 0)
{
this.orderLineDt.Rows.Clear();
}
}
///
/// 合同头修改
///
private void ChgeHeadUpdate()
{
ultraGrid1.UpdateData();
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("请选择您需要修改的数据!");
return;
}
DataSet ds = ctrlOrderHead1.ctrlValue;
if (ds == null)
{
return;
}
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getHeadStatus", new object[] { ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString() }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
if (Convert.ToDecimal(dt.Rows[0][0].ToString3()) < 12020301)
{
MessageUtil.ShowWarning("不是生效状态之后的合同不能变更!");
return;
}
string applyNo = ultraGrid1.ActiveRow.Cells["ORDER_CHGE_NO"].Value.ToString();
DataTable applyDt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getApplyStatus", new object[] { applyNo }, this.ob);
if (applyDt != null && applyDt.Rows.Count > 0)
{
if (applyDt.Rows[0][0].ToString() == "W")
{
MessageUtil.ShowWarning("该合同正处于变更中,请先处理,再进行变更!");
return;
}
}
}
else
{
MessageUtil.ShowWarning("合同头已不存在!");
return;
}
//判断合同是否参与结算
DataTable dtBal = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.queryBalStatus", new object[] { ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString() }, this.ob);
if (dtBal != null && dtBal.Rows.Count > 0)
{
if (dtBal.Rows[0][0].ToString2() == "1")
{
MessageUtil.ShowWarning("您选择的合同已经参与结算,不能合同头变更!");
return;
}
}
DataTable slmOrderHead = ds.Tables["SLM_ORDER_HEAD"];
//合同号ORDER_N
string orderNo = slmOrderHead.Rows[0]["ORDER_NO"].ToString().ToUpper();
if (orderNo == "")
{
MessageUtil.ShowWarning("不能将合同号修改为空!");
return;
}
//旧合同号。
string orderNoJ = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
if (!orderNo.Equals(orderNoJ))
{
if (!orderNoIsRepeat(orderNo))
{
MessageBox.Show("合同号已存在,请重新输入。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
}
SlmOrderHeadEntityCh soh = new SlmOrderHeadEntityCh();
soh.OrderNo = orderNo;
//客户合同号,CUSTM_ORDER_NO
soh.CustmOrderNo = slmOrderHead.Rows[0]["CUSTM_ORDER_NO"].ToString().ToUpper();
//合同类型,ORDER_TYP
soh.OrderTyp = slmOrderHead.Rows[0]["ORDER_TYP"].ToString();
//合同类型描述,ORDER_TYP_DESC
soh.OrderTypDesc = slmOrderHead.Rows[0]["ORDER_TYP_DESC"].ToString();
//协议号,PROTCL_NO,
soh.ProtclNo = slmOrderHead.Rows[0]["PROTCL_NO"].ToString();
//客户编码CUSTOMER_NO
soh.CustomerNo = slmOrderHead.Rows[0]["CUSTOMER_NO"].ToString();
//客户名称CUSTOMER_NM
soh.CustomerNm = slmOrderHead.Rows[0]["CUSTOMER_NM"].ToString();
//供货单位SUPPLY_UNIT
soh.SupplyUnit = slmOrderHead.Rows[0]["SUPPLY_UNIT"].ToString();
//客户简称
soh.Abrvition = slmOrderHead.Rows[0]["ABRVITION"].ToString();
//计价方式(1203)PRICE_FL
soh.PriceFl = slmOrderHead.Rows[0]["PRICE_FL"].ToString();
//币种CURRENCY
soh.Currency = slmOrderHead.Rows[0]["CURRENCY"].ToString();
//结算单位编码STLMT_UNIT_NO
soh.StlmtUnitNo = slmOrderHead.Rows[0]["STLMT_UNIT_NO"].ToString();
//结算单位名称STLMT_UNIT_NM
soh.StlmtUnitNm = slmOrderHead.Rows[0]["STLMT_UNIT_NM"].ToString();
//首次受票人(国贸/钢贸/集团/客户)FST_DRAWEE_UNIT
soh.FstDraweeUnit = slmOrderHead.Rows[0]["FST_DRAWEE_UNIT"].ToString();
//法人LEGAL_PSN
soh.LegalPsn = slmOrderHead.Rows[0]["LEGAL_PSN"].ToString();
//委托代理人AGENT
soh.Agent = slmOrderHead.Rows[0]["AGENT"].ToString();
//地址ADDRESS
soh.Address = slmOrderHead.Rows[0]["ADDRESS"].ToString();
//邮编ZIP_CODE
soh.ZipCode = slmOrderHead.Rows[0]["ZIP_CODE"].ToString();
//开户银行BANK
soh.Bank = slmOrderHead.Rows[0]["BANK"].ToString();
//帐号ACCOUNT
soh.Account = slmOrderHead.Rows[0]["ACCOUNT"].ToString();
//税号TAX_ID
soh.TaxId = slmOrderHead.Rows[0]["TAX_ID"].ToString();
//电话PHONE
soh.Phone = slmOrderHead.Rows[0]["PHONE"].ToString();
//传真FAX
soh.Fax = slmOrderHead.Rows[0]["FAX"].ToString();
//合同量ORDER_WGT
soh.OrderWgt = slmOrderHead.Rows[0]["ORDER_WGT"].ToString();
//合同总价(含税)ORDER_MNY_TAX
soh.OrderMnyTax = slmOrderHead.Rows[0]["ORDER_MNY_TAX"].ToString();
//合同总价(不含税)ORDER_MNY_NTAX
soh.OrderMnyNtax = slmOrderHead.Rows[0]["ORDER_MNY_NTAX"].ToString();
//付款要求描述MNY_ASK_DESC
soh.MnyAskDesc = slmOrderHead.Rows[0]["MNY_ASK_DESC"].ToString();
//签订人SIGN_PERSON
soh.SignPerson = slmOrderHead.Rows[0]["SIGN_PERSON"].ToString();
//签订日期SIGN_DATE
soh.SignDate = slmOrderHead.Rows[0]["SIGN_DATE"].ToString();
//合同开始时间ORDER_BDATE
soh.OrderBdate = slmOrderHead.Rows[0]["ORDER_BDATE"].ToString();
//合同结束时间ORDER_EDATE
soh.OrderEdate = slmOrderHead.Rows[0]["ORDER_EDATE"].ToString();
//合同扫描件编号ORDER_SCAN_NO
soh.OrderScanNo = slmOrderHead.Rows[0]["ORDER_SCAN_NO"].ToString();
//是否客户范本(1:是;0:否)CUSTOMER_MODEL_FL
soh.CustomerModelFl = slmOrderHead.Rows[0]["CUSTOMER_MODEL_FL"].ToString();
//合同范本编号ORDER_MODEL_NO
soh.OrderModelNo = slmOrderHead.Rows[0]["ORDER_MODEL_NO"].ToString();
//销售组织(国贸/钢贸/销售公司)SALE_ORG
soh.SaleOrg = ultraGrid1.ActiveRow.Cells["SALE_ORG"].Value.ToString();
//销售组织描述SALE_ORG_DESC
soh.SaleOrgDesc = ultraGrid1.ActiveRow.Cells["SALE_ORG_DESC"].Value.ToString();
//销售区域编码SALE_AREA_NO
soh.SaleAreaNo = slmOrderHead.Rows[0]["SALE_AREA_NO"].ToString();
//销售区域描述SALE_AREA_DESC
soh.SaleAreaDesc = slmOrderHead.Rows[0]["SALE_AREA_DESC"].ToString();
//备注MEMO
soh.Memo = slmOrderHead.Rows[0]["MEMO"].ToString();
soh.UpdateName = UserInfo.GetUserName();
soh.CreateName = ultraGrid1.ActiveRow.Cells["CREATE_NAME"].Value.ToString();
soh.CreateDept = ultraGrid1.ActiveRow.Cells["CREATE_DEPT"].Value.ToString();
soh.CreateTime = ultraGrid1.ActiveRow.Cells["CREATE_TIME"].Value.ToString();
//合同年度ORDER_YEAR
soh.OrderYear = slmOrderHead.Rows[0]["ORDER_YEAR"].ToString();
//签订地点SIGN_ADDRESS
soh.SignAddress = slmOrderHead.Rows[0]["SIGN_ADDRESS"].ToString();
//付款方式MNY_ASK_TYP
soh.MnyAskTyp = slmOrderHead.Rows[0]["MNY_ASK_TYP"].ToString();
////生效时间,EFFECT_TIME
soh.EffectMan = ultraGrid1.ActiveRow.Cells["EFFECT_MAN"].Value.ToString();
soh.EffectTime = ultraGrid1.ActiveRow.Cells["EFFECT_TIME"].Value.ToString();
//商务条款描述
soh.OrderModelDesc = slmOrderHead.Rows[0]["ORDER_MODEL_DESC"].ToString();
//打印价格 是否含税 优惠方案
soh.PrintPrice = slmOrderHead.Rows[0]["PRINT_PRICE"].ToString();
soh.PricePlan = slmOrderHead.Rows[0]["PRICE_PLAN"].ToString();
soh.ContainTax = slmOrderHead.Rows[0]["CONTAIN_TAX"].ToString();
//贸易类型 分类 业务分类
soh.TradeType = slmOrderHead.Rows[0]["TRADE_TYPE"].ToString();
soh.OrderClassify = slmOrderHead.Rows[0]["ORDER_CLASSIFY"].ToString();
soh.BusinessType = slmOrderHead.Rows[0]["BUSINESS_TYPE"].ToString();
//管理卡号
string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
soh.OrdPk = ordPk;
soh.OrderChgeNo = ultraGrid1.ActiveRow.Cells["ORDER_CHGE_NO"].Value.ToString();
soh.PriceNo = ultraGrid1.ActiveRow.Cells["PRICE_NO"].Value.ToString();
soh.RevwRptNo = ultraGrid1.ActiveRow.Cells["REVW_RPT_NO"].Value.ToString();
soh.LocalLaw = slmOrderHead.Rows[0]["LOCAL_LAW"].ToString();
string chgeVal = "";
DataTable headDt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOrderHeadWithOrdPk", new object[] { ordPk }, this.ob);
if (headDt != null && headDt.Rows.Count > 0)
{
int num = 0;
DataRow dr = headDt.Rows[0];
soh.CreateName = soh.CreateName;
soh.CreateTime = soh.CreateTime;
if (dr["ORDER_NO"].ToString() != soh.OrderNo.ToString())
{
chgeVal = (num + 1).ToString() + ".合同号:" + dr["ORDER_NO"].ToString() + " 修改为 " + soh.OrderNo.ToString() + "\r\n";
num++;
}
if (dr["CUSTM_ORDER_NO"].ToString() != soh.CustmOrderNo.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".客户合同号:" + dr["CUSTM_ORDER_NO"].ToString() + " 修改为 " + soh.CustmOrderNo.ToString() + "\r\n";
num++;
}
if (dr["TRADE_TYPE"].ToString() != soh.TradeType.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".贸易类型:" + dr["TRADE_TYPE_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.CmbMYLX.Text.Trim() + "\r\n";
num++;
}
if (dr["ORDER_CLASSIFY"].ToString() != soh.OrderClassify.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".分类:" + dr["ORDER_CLASSIFY_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.CmbType.Text.Trim() + "\r\n";
num++;
}
if (dr["BUSINESS_TYPE"].ToString() != soh.BusinessType.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".业务分类:" + dr["BUSINESS_TYPE"].ToString() + " 修改为 " + soh.BusinessType.ToString() + "\r\n";
num++;
}
if (dr["ORDER_TYP"].ToString() != soh.OrderTyp.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".合同类型:" + dr["ORDER_TYP_DESC"].ToString() + " 修改为 " + soh.OrderTypDesc.ToString() + "\r\n";
num++;
}
if (dr["SALE_AREA_NO"].ToString() != soh.SaleAreaNo.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".销售片区:" + dr["SALE_AREA_DESC"].ToString() + " 修改为 " + soh.SaleAreaDesc.ToString() + "\r\n";
num++;
}
if (dr["ORDER_YEAR"].ToString() != soh.OrderYear.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".合同年度:" + dr["ORDER_YEAR"].ToString() + " 修改为 " + soh.OrderYear.ToString() + "\r\n";
num++;
}
if (dr["SIGN_DATE"].ToString() != soh.SignDate.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".签订日期:" + dr["SIGN_DATE"].ToString() + " 修改为 " + soh.SignDate.ToString() + "\r\n";
num++;
}
if (dr["SIGN_ADDRESS"].ToString() != soh.SignAddress.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".签订地点:" + dr["SIGN_ADDRESS"].ToString() + " 修改为 " + soh.SignAddress.ToString() + "\r\n";
num++;
}
if (dr["SUPPLY_UNIT"].ToString() != soh.SupplyUnit.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".制造商:" + dr["SUPPLY_UNIT_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.MakersCombo.Text.Trim() + "\r\n";
num++;
}
if (dr["FST_DRAWEE_UNIT"].ToString() != soh.FstDraweeUnit.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".首次受票单位:" + dr["FST_DRAWEE_UNIT_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.DraweeUintCombo.Text.Trim() + "\r\n";
num++;
}
if (dr["CUSTOMER_NO"].ToString() != soh.CustomerNo.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".订货单位:" + dr["CUSTOMER_NM"].ToString() + " 修改为 " + soh.CustomerNm.ToString() + "\r\n";
num++;
}
if (dr["STLMT_UNIT_NO"].ToString() != soh.StlmtUnitNo.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".结算单位:" + dr["STLMT_UNIT_NM"].ToString() + " 修改为 " + soh.StlmtUnitNm.ToString() + "\r\n";
num++;
}
if (dr["BANK"].ToString() != soh.Bank.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".开户行:" + dr["BANK"].ToString() + " 修改为 " + soh.Bank.ToString() + "\r\n";
num++;
}
if (dr["ACCOUNT"].ToString() != soh.Account.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".开户行账号:" + dr["ACCOUNT"].ToString() + " 修改为 " + soh.Account.ToString() + "\r\n";
num++;
}
if (dr["TAX_ID"].ToString() != soh.TaxId.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".税号:" + dr["TAX_ID"].ToString() + " 修改为 " + soh.TaxId.ToString() + "\r\n";
num++;
}
if (dr["PRICE_FL"].ToString() != soh.PriceFl.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".计价方式:" + dr["PRICE_FL_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.UltraPricingCombo.Text.Trim() + "\r\n";
num++;
}
if (dr["PROTCL_NO"].ToString() != soh.ProtclNo.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".协议号:" + dr["PROTCL_NO"].ToString() + " 修改为 " + soh.ProtclNo.ToString() + "\r\n";
num++;
}
if (dr["PRINT_PRICE"].ToString() != soh.PrintPrice.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".打印价格:" + dr["PRINT_PRICE"].ToString() + " 修改为 " + soh.PrintPrice.ToString() + "\r\n";
num++;
}
if (dr["CONTAIN_TAX"].ToString() != soh.ContainTax.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".是否含税:" + (dr["CONTAIN_TAX"].ToString() == "1" ? " 是" : " 否") + " 修改为 " + (soh.ContainTax.ToString() == "1" ? "是" : "否") + "\r\n";
num++;
}
if (dr["PRICE_PLAN"].ToString() != soh.PricePlan.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".优惠方案:" + dr["PRICE_PLAN"].ToString() + " 修改为 " + soh.PricePlan.ToString() + "\r\n";
num++;
}
if (dr["CURRENCY"].ToString() != soh.Currency.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".币种:" + dr["CURRENCY_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.UltraCurrencyCombo.Text.Trim() + "\r\n";
num++;
}
if (dr["MNY_ASK_TYP"].ToString() != soh.MnyAskTyp.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".付款方式:" + dr["MNY_ASK_TYP_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.UltraPaymentMethodCombo.Text.Trim() + "\r\n";
num++;
}
if (dr["MNY_ASK_DESC"].ToString() != soh.MnyAskDesc.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".付款要求:" + dr["MNY_ASK_DESC"].ToString() + " 修改为 " + soh.MnyAskDesc.ToString() + "\r\n";
num++;
}
if (dr["ORDER_MODEL_DESC"].ToString().Trim() != soh.OrderModelDesc.ToString().Trim())
{
chgeVal = chgeVal + (num + 1).ToString() + ".合同条款:" + dr["ORDER_MODEL_DESC"].ToString().Trim() + " 修改为 " + soh.OrderModelDesc.ToString().Trim() + "\r\n";
num++;
}
if (dr["LOCAL_LAW"].ToString() != soh.LocalLaw)
{
chgeVal = chgeVal + (num + 1).ToString() + ".当地法律法规:" + dr["LOCAL_LAW"].ToString() + " 修改为 " + soh.LocalLaw + "\r\n";
num++;
}
if (dr["MEMO"].ToString() != soh.Memo.ToString())
{
chgeVal = chgeVal + (num + 1).ToString() + ".其他信息:" + dr["MEMO"].ToString() + " 修改为 " + soh.Memo.ToString() + "\r\n";
num++;
}
}
else
{
MessageUtil.ShowWarning("合同头信息异常!");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认修改合同号: " + soh.OrderNo.ToString() + "\r\n" + chgeVal) == DialogResult.No) return;
//MessageUtil.ShowWarning(chgeVal);
ChgeSlmApplyMEntityCh csm = new ChgeSlmApplyMEntityCh();
csm.OrdPk = ordPk;
csm.OrderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
csm.ChgeRsn = "修改合同头";
csm.ChgeType = "合同头变更,修改";
csm.UnitCode = UserInfo.GetDeptid();
csm.UnitDesc = UserInfo.GetDepartment();
csm.DepartmentCode = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
csm.DepartmentDesc = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
csm.Chger = UserInfo.GetUserName();
csm.ChgeVal = chgeVal;
csm.CreateName = UserInfo.GetUserName();
string json = JSONFormat.Format(csm);
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
ccp.MethodName = "chgeOrderHeadUpdate";
ccp.ServerParams = new object[] { JSONFormat.Format(soh), json };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
}
else
return;
//清除之前的付款要求
deleteBalnceMny(ordPk);
//新增付款要求
addBalnceMny(ordPk, ds.Tables["SLM_ORDER_BALNCE_MNY"]);
MessageUtil.ShowTips("数据修改成功!");
//执行查询操作,刷新Table1
ChgeHeadQuery();
//聚焦新增行
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (ordPk.Equals(row.Cells["ORD_PK"].Value.ToString()))
{
row.Activate();
break;
}
}
}
private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
{
if (this.CustomInfo == "3" || this.CustomInfo == "3-120504")
{
if (e.Row.Cells["ISLOCK"].Value.ToString() == "1")
{
e.Row.RowSelectorAppearance.BackColor = Color.Red;
}
else
{
e.Row.RowSelectorAppearance.BackColor = color;
}
}
}
private void ChgeHeadWatch()
{
ultraGrid1.UpdateData();
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null)
{
MessageUtil.ShowWarning("请选择您要查看的合同头!");
return;
}
string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
FrmChgeOrderHeadView cod = new FrmChgeOrderHeadView(this.ob, ordPk);
cod.ShowDialog();
}
///
/// 切换激活行时 判断附加要求和产品技术要求 是否做出了修改 单未修改到合同行上。
///
///
///
private void ultraGrid2_BeforeRowDeactivate(object sender, CancelEventArgs e)
{
if (ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString() == "120102" || ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString() == "120105")
return;
string oldAddDesc = oldRow.Cells["ORDER_ADD_DESC"].Value.ToString();
string oldSpecialDesc = oldRow.Cells["ORDER_SPECIAL_DESC"].Value.ToString();
string ctrlAddDesc = "";
string ctrlSpecialDesc = "";
if (lineNum == 2)
{
ctrlAddDesc = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_ADD_DESC"].ToString();
ctrlSpecialDesc = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_SPECIAL_DESC"].ToString();
}
else
{
ctrlAddDesc = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_ADD_DESC"].ToString();
ctrlSpecialDesc = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_SPECIAL_DESC"].ToString();
}
if (oldAddDesc != ctrlAddDesc || oldSpecialDesc != ctrlSpecialDesc)
{
if (MessageUtil.ShowYesNoAndQuestion("系统检测到合同附加要求或者产品技术要求做出了编辑,是否放弃修改?") == DialogResult.No)
e.Cancel = true;
else
oldRow = ultraGrid2.ActiveRow;
}
else
{
oldRow = ultraGrid2.ActiveRow;
}
}
private void ChgeHeadDelete()
{
ultraGrid1.UpdateData();
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null)
{
MessageUtil.ShowWarning("请选择需要作废的合同记录!");
return;
}
if (ugr.Cells["VALIDFLAG"].Value.ToString().ToUpper() == "FALSE")
{
MessageUtil.ShowWarning("合同头已经无效!");
return;
}
string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
if (MessageUtil.ShowYesNoAndQuestion("是否确认作废选择的合同?") == DialogResult.No) return;
//MessageUtil.ShowWarning(chgeVal);
ChgeSlmApplyMEntityCh csm = new ChgeSlmApplyMEntityCh();
csm.OrdPk = ordPk;
csm.OrderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
csm.ChgeRsn = "注销合同";
csm.ChgeType = "合同头变更,作废";
csm.UnitCode = UserInfo.GetDeptid();
csm.UnitDesc = UserInfo.GetDepartment();
csm.DepartmentCode = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
csm.DepartmentDesc = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
csm.Chger = UserInfo.GetUserName();
csm.ChgeVal = "注销合同";
csm.CreateName = UserInfo.GetUserName();
string json = JSONFormat.Format(csm);
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
ccp.MethodName = "chgeOrderHeadDelete";
ccp.ServerParams = new object[] { ordPk, json };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
MessageUtil.ShowWarning("操作完成,请处理变更单!");
ChgeHeadQuery();
}
}
private void UpdateOrderNo()
{
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (!this.CustomInfo.Contains("120504"))
{
MessageUtil.ShowWarning("该功能已被禁用!");
return;
}
if (ugr == null)
{
MessageUtil.ShowWarning("请选择您要修改的合同!");
return;
}
if (!equalsName())
{
return;
}
string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderStatus", new object[] { ordPk }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
//查询到符合要求的数据 但不做处理 允许修改
}
else
{
MessageUtil.ShowWarning("只有未提报的合同才可以修改合同号!");
return;
}
string oldNo = ugr.Cells["ORDER_NO"].Value.ToString();
string newNo = ctrlOrderHead1.UltraOrderText.Text.Trim();
if (newNo.Equals(""))
{
MessageUtil.ShowWarning("请输入您要修改为的合同号!");
return;
}
DateTime createTime = Convert.ToDateTime(ugr.Cells["CREATE_TIME"].Value);
int year = createTime.Year;
int mon = createTime.Month;
int day = createTime.Day;
if (year > 2015 || (year == 2015 && mon == 12 && day > 30)) //2015-12-30之后的合同卡死13位
{
if (newNo.Length != 13)
{
MessageUtil.ShowWarning("合同号的长度必须为13位!");
return;
}
// 生成的天淮合同
if (oldNo.StartsWith("TH"))
{
_saleOrg = "200101";
}
if (this.UserInfo.GetUserName().Equals("admin"))
{
_saleOrg = ctrlOrderHead1.Saleorg;
}
ArrayList arrList = new ArrayList();
arrList.Add(_saleOrg);
arrList.Add(ugr.Cells["TRADE_TYPE_CODE"].Value.ToString());
arrList.Add(ugr.Cells["ORDER_CLASSIFY_CODE"].Value.ToString());
arrList.Add(ugr.Cells["ORDER_TYP"].Value.ToString());
string msg = GetOrderPrefix(arrList);
string prefix = "";
if (msg == "1")
{
MessageUtil.ShowWarning("网络错误,请检查网络是否连通!");
return;
}
else if (msg == "2")
{
MessageUtil.ShowWarning("合同号验证失败!");
return;
}
else if (msg.Length == 6)
{
prefix = msg;
}
else
{
MessageUtil.ShowWarning(msg);
return;
}
string sux = newNo.Substring(6, 7);
newNo = prefix + sux;
}
if (!newNo.Equals(oldNo))
{
if (!orderNoIsRepeat(newNo))
{
MessageBox.Show("合同号已存在,请重新输入。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
}
if (MessageUtil.ShowYesNoAndQuestion("是否将合同号:" + oldNo + " 修改为:" + newNo + " ?") == DialogResult.No) return;
int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderManager.updateOrderNo", new object[] { newNo, ordPk }, this.ob);
if (count > 0)
{
MessageUtil.ShowTips("合同号修改成功!");
doQuery();
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (ordPk.Equals(row.Cells["ORD_PK"].Value.ToString()))
{
row.Activate();
break;
}
}
}
}
//-------------------------------现货合同----------------------------
private void SetDlyTpe()
{
DataTable isx = ServerHelper.GetData("com.steering.pss.sale.base.CoreBuyerOrder.GetQueryBaseInfo", new Object[] { "1216" }, ob);
cmbDlyTpe.DataSource = isx;
cmbDlyTpe.DisplayMember = "BASENAME";
cmbDlyTpe.ValueMember = "BASECODE";
cmbDlyTpe.Text = "%";
cmbDlyTpe.Enabled = false;
ClsBaseInfo.SetComboItemHeight(cmbDlyTpe);
}
///
/// 最终用户
///
///
///
private void txtFinaUser_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
{
//100204 最终用户
string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid());
FrmOrderBuyer buyer = new FrmOrderBuyer(this.ob, saleOrg, "100204");
buyer.FormFlag = "1";
buyer.ShowDialog();
UltraGridRow uRow = buyer.URow;
if (uRow != null)
{
txtFinaUser.Tag = uRow.Cells["CUSTOMER_NO"].Value.ToString();
txtFinaUser.Text = uRow.Cells["CUSTOMER_NM"].Value.ToString();
}
}
///
/// 交货行信息维护
///
///
///
private void txtDlyInfo_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
{
ultraGrid2.UpdateData();
if (ultraGrid2.ActiveRow == null)
{
MessageUtil.ShowWarning("请先选择一行合同行,在维护交货行信息!");
return;
}
//if (ultraGrid2.ActiveRow.Cells["FINAL_USER"].Value.ToString() == "")
//{
// MessageUtil.ShowWarning("请先选择最终用户,在维护交货行信息!");
// return;
//}
if (e.Button.Key.Equals("normal"))
{
int iCount = ultraGrid2.Rows.Count;
if (iCount >= 1)
iCount = 0;
string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
frmOrderDelivery delivery = new frmOrderDelivery(ob);
delivery.ManageNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
delivery.OrderNo = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
delivery.OrderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
delivery.SaleOrg = UserInfo.SaleOrg;
delivery.ShRow = ultraGrid2.Rows[iCount].Cells["FINAL_USER_DESC"].Value == null ? "" : ultraGrid2.Rows[iCount].Cells["FINAL_USER_DESC"].Value.ToString();
delivery.NumWt = ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Value.ToString();
delivery.DlyTime = ultraGrid2.Rows[iCount].Cells["DELVRY_EDATE"].Value == null ? "" : ultraGrid2.Rows[iCount].Cells["DELVRY_EDATE"].Value.ToString();
delivery.DlyAddress = dlyaddress;
delivery.LenUnit = "米";
//根据估算重量公式计算
//OrderFunction.GetPrdctWgt(ref weight, Convert.ToDouble(NumWt.Value), comboUNIT.Text.Trim(), pesc_code, this.ob);
delivery.NumTag = ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Value.ToString();
//单位
delivery.OrderUnit = ultraGrid2.ActiveRow.Cells["ORDER_UNIT"].Value.ToString();
//DataSet,也许有记录,也许为空。
delivery.OrderSet = null;
//产品规格代码 numTag
delivery.Spec_code = "";
//保总长
delivery.Order_line_lne = 0;
//合同类型
delivery.OrdType = ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString();
delivery.GetOrderDelivery += new frmOrderDelivery.GetOrderDeliveryHander(delivery_GetOrderDelivery);
delivery.ShowDialog();
doQuery();
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
{
row.Activate();
break;
}
}
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
{
row.Activate();
break;
}
}
}
else if (e.Button.Key.Equals("abnormal"))
{
int iCount = Convert.ToInt16(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value);
if (iCount == 1)
iCount = 0;
else if (iCount >= 2)
iCount -= 2;
string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
frmOrderDelivery delivery = new frmOrderDelivery(ob);
delivery.ManageNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
delivery.OrderNo = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
delivery.OrderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
delivery.FromForm = "4";
delivery.SaleOrg = UserInfo.SaleOrg;
delivery.ShRow = ultraGrid2.Rows[iCount].Cells["FINAL_USER_DESC"].Value == null ? "" : ultraGrid2.Rows[iCount].Cells["FINAL_USER_DESC"].Value.ToString();
delivery.NumWt = ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Value.ToString();
delivery.DlyTime = ultraGrid2.Rows[iCount].Cells["DELVRY_EDATE"].Value == null ? "" : ultraGrid2.Rows[iCount].Cells["DELVRY_EDATE"].Value.ToString();
delivery.DlyAddress = dlyaddress;
delivery.LenUnit = "米";
//根据估算重量公式计算
//OrderFunction.GetPrdctWgt(ref weight, Convert.ToDouble(NumWt.Value), comboUNIT.Text.Trim(), pesc_code, this.ob);
delivery.NumTag = ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Value.ToString();
//单位
delivery.OrderUnit = ultraGrid2.ActiveRow.Cells["ORDER_UNIT"].Value.ToString();
//DataSet,也许有记录,也许为空。
delivery.OrderSet = null;
//产品规格代码 numTag
delivery.Spec_code = "";
//保总长
delivery.Order_line_lne = 0;
//合同类型
delivery.OrdType = ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString();
delivery.GetOrderDelivery += new frmOrderDelivery.GetOrderDeliveryHander(delivery_GetOrderDelivery);
delivery.ShowDialog();
doQuery();
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
{
row.Activate();
break;
}
}
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
{
row.Activate();
break;
}
}
}
}
void delivery_GetOrderDelivery(DataSet ds)
{
DataSet orderDerlivery = new DataSet();
orderDerlivery = ds;
txtDlyInfo.Text = null;
for (int i = 0; i < orderDerlivery.Tables.Count; i++)
{
if (orderDerlivery.Tables[i].TableName.Equals("Main"))
{
for (int k = 0; k < orderDerlivery.Tables[i].Rows.Count; k++)
{
string ordLnDlyPk = orderDerlivery.Tables[i].Rows[k]["ORD_LN_DLY_PK"].ToString();
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderLine.getOrderDlyTransit", new object[] { ordLnDlyPk }, this.ob);
string trasLine = "";
for (int n = 0; n < dt.Rows.Count; n++)
{
string agency = dt.Rows[n]["AGENCY_FL"].ToString();
if (agency == "0" || agency == "2") //买方线路
{
if (agency == "0")
trasLine += " 买方线路:";
else
{
trasLine += " 买方线路(买方代办):";
}
if (dt.Rows[n]["TRANSIT_TYP"].ToString() != "")
trasLine = trasLine + "运输方式:" + dt.Rows[n]["TRANSIT_TYP"].ToString();
if (dt.Rows[n]["DESTINATION"].ToString() != "")
trasLine = trasLine + " 目的地:" + dt.Rows[n]["DESTINATION"].ToString();
if (dt.Rows[n]["STATION_NO"].ToString() != "")
trasLine = trasLine + " 到站名称:" + dt.Rows[n]["STATION_NM"].ToString();
if (dt.Rows[n]["SPCL_LN_NO"].ToString() != "")
trasLine = trasLine + " 专用线名称:" + dt.Rows[n]["SPCL_LN_NM"].ToString();
if (dt.Rows[n]["PORT_NO"].ToString() != "")
trasLine = trasLine + " 港口/码头:" + dt.Rows[n]["PORT_DESC"].ToString();
if (dt.Rows[n]["CARRIER_UNIT"].ToString() != "")
trasLine = trasLine + " 承运单位:" + dt.Rows[n]["CARRIER_UNIT"].ToString();
if (dt.Rows[n]["RECEIVOR"].ToString() != "")
trasLine = trasLine + " 接货人:" + dt.Rows[n]["RECEIVOR"].ToString();
}
else
{
trasLine += " TPCO代办线路:";
if (dt.Rows[n]["TRANSIT_TYP"].ToString() != "")
trasLine = trasLine + " 运输方式:" + dt.Rows[n]["TRANSIT_TYP"].ToString();
if (dt.Rows[n]["DESTINATION"].ToString() != "")
trasLine = trasLine + " 目的地:" + dt.Rows[n]["DESTINATION"].ToString();
if (dt.Rows[n]["STATION_NO"].ToString() != "")
trasLine = trasLine + " 到站名称:" + dt.Rows[n]["STATION_NM"].ToString();
if (dt.Rows[n]["SPCL_LN_NO"].ToString() != "")
trasLine = trasLine + " 专用线名称:" + dt.Rows[n]["SPCL_LN_NM"].ToString();
if (dt.Rows[n]["PORT_NO"].ToString() != "")
trasLine = trasLine + " 港口/码头:" + dt.Rows[n]["PORT_DESC"].ToString();
if (dt.Rows[n]["CARRIER_UNIT"].ToString() != "")
trasLine = trasLine + " 承运单位:" + dt.Rows[n]["CARRIER_UNIT"].ToString();
if (dt.Rows[n]["RECEIVOR"].ToString() != "")
trasLine = trasLine + " 接货人:" + dt.Rows[n]["RECEIVOR"].ToString();
}
trasLine = trasLine + ";";
}
txtDlyInfo.Text += "交货量:" + orderDerlivery.Tables[i].Rows[k]["DELVRY_QTY"].ToString() + ";交货日期:" + orderDerlivery.Tables[i].Rows[k]["DELVRY_EDATE"].ToString() + ";收货单位:" + orderDerlivery.Tables[i].Rows[k]["RECEIV_NM"].ToString() + ";交货地点:" + orderDerlivery.Tables[i].Rows[k]["DELVRY_ADDR"].ToString() + trasLine + "\r\n";//;运输方案:" + orderDerlivery.Tables[i].Rows[k]["TRANSIT_PLAN"].ToString() + "\r\n";
}
}
}
string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreMatInfo.updateOrderLineDesc", new object[] { ordLnPk, txtDlyInfo.Text }, this.ob);
if (count <= 0)
{
MessageUtil.ShowWarning("确认失败,请尝试重新确认!");
return;
}
}
private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key)
{
case "QueryMat":
QueryMat();
break;
case "Update":
if (!equalsName())
{
break;
}
UpdateSpotOrderLine();
break;
}
}
///
/// 查询现货合同的库存
///
private void QueryMat()
{
UltraGridRow ugr = ultraGrid1.ActiveRow;
if (ugr == null)
{
MessageUtil.ShowWarning("请选择现货合同头");
return;
}
if (ugr.Cells["ORDER_TYP"].Value.ToString() == "120102")
{
string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
string createDept = ugr.Cells["CREATE_DEPT"].Value.ToString();
string createName = ugr.Cells["CREATE_NAME"].Value.ToString();
FrmMatInfo fmi = new FrmMatInfo(this.ob);
fmi.StartPosition = FormStartPosition.CenterScreen;
fmi.WindowState = FormWindowState.Maximized;
fmi.OrdPk = ordPk;
fmi.Saleorg = ctrlOrderHead1.Saleorg;
fmi.OrderNo = ugr.Cells["ORDER_NO"].Value.ToString();
fmi.SuppUnit = ugr.Cells["SUPPLY_UNIT"].Value.ToString();
fmi.CreateDept = createDept;
fmi.CreateName = createName;
fmi.ShowDialog();
if (fmi.CloseEvent.Equals("Add"))
{
this.doQuery();
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
{
row.Activate();
break;
}
}
}
}
}
///
/// 修改现货合同
///
private void UpdateSpotOrderLine()
{
ultraGrid2.UpdateData();
UltraGridRow ugr1 = ultraGrid1.ActiveRow;
if (ugr1 == null)
{
return;
}
UltraGridRow ugr = ultraGrid2.ActiveRow;
if (ugr == null)
{
MessageUtil.ShowWarning("请选择一行现货合同行进行修改!");
return;
}
/* if (txtQty.Text.Trim() == "")
{
MessageUtil.ShowWarning("请输入选择量!");
return;
}
else
{
if (!StringUtil.Is_Below_zero(txtQty.Text.Trim()))
{
MessageUtil.ShowWarning("选择量请输入非负的数字!");
return;
}
}*/
if (numMin.Text.Trim() == "")
{
MessageUtil.ShowWarning("请输入交货量差下限!");
return;
}
if (numMax.Text.Trim() == "")
{
MessageUtil.ShowWarning("请输入交货量差上限!");
return;
}
if (cmbDlyTpe.SelectedItem == null)
{
MessageUtil.ShowWarning("请选择交货量差方式!");
return;
}
//if (txtFinaUser.Text.Trim() == "" || txtFinaUser.Text.Trim() == "N/A")
//{
// MessageUtil.ShowWarning("请选择最终用户!");
// return;
//}
string ordPk = ugr1.Cells["ORD_PK"].Value.ToString();
string ordLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString();
ArrayList parm = new ArrayList();
ArrayList list = new ArrayList();
parm.Add(numMin.Text.Trim());
parm.Add(numMax.Text.Trim());
parm.Add(cmbDlyTpe.Text);
parm.Add(txtFinaUser.Tag);
parm.Add(txtFinaUser.Text);
parm.Add(cmbOutboundCalculate.Value.ToString());
//parm.Add(txtQty.Text.Trim());
//parm.Add(txtQty.Text.Trim());
parm.Add(ordLnPk);
list.Add(txtFinaUser.Tag);
list.Add(txtFinaUser.Text);
list.Add(ordPk);
if (MessageUtil.ShowYesNoAndQuestion("是否修改选择的现货合同行?") == DialogResult.No) return;
int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreMatInfo.updateSpotOrderLine", new object[] { parm }, this.ob);
if (count > 0)
{
//这一行修改成功以后 将该合同下所有最终用户为空的修改为当前的最终用户
ServerHelper.SetData("com.steering.pss.sale.order.CoreMatInfo.updateSpotLineFinaUser", new object[] { list }, this.ob);
MessageUtil.ShowTips("现货合同行修改成功!");
doQuery();
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
{
row.Activate();
break;
}
}
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
{
row.Activate();
break;
}
}
}
}
//----------------------------------------------------采购期货(加工/不加工)处理逻辑--------------------------------------------------
///
/// 采购期货(不加工)新增合同行
///
private void DoAddPurchaseLine()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("请选择合同头,然后进行新增操作!");
return;
}
string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
SlmOrderLineNewEntity sol = ctrlLinePurchase1.GetControlValue();
sol.OrdPk = ordPk;
sol.PrdctWgt = OrderFunction.GetPrdctWgtNew(Convert.ToDecimal(sol.OrderQty), sol.OrderUnit, sol.SpecCode, ob);
sol.CreateName = UserInfo.GetUserName();
sol.OrderLnStatus = "12020101";
if (MessageUtil.ShowYesNoAndQuestion("是否确认新增合同行?") == DialogResult.No) return;
string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
dept = dept + "-" + UserInfo.GetDepartment();
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
ccp.MethodName = "addPurchaseLine";
ccp.ServerParams = new object[] { JSONFormat.Format(sol), dept, _saleOrg };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
MessageUtil.ShowTips("合同行新增成功!");
doQuery();
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
{
row.Activate();
break;
}
}
}
}
///
/// 采购期货(不加工)修改合同行
///
private void DoUpdatePurchaseLine()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("请选择合同头,然后进行修改操作!");
return;
}
if (ultraGrid2.ActiveRow == null)
{
MessageUtil.ShowTips("请选择您要修改的合同行!");
return;
}
string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
SlmOrderLineNewEntity sol = ctrlLinePurchase1.GetControlValue();
sol.OrdPk = ordPk;
sol.OrdLnPk = ordLnPk;
sol.PrdctWgt = OrderFunction.GetPrdctWgtNew(Convert.ToDecimal(sol.OrderQty), sol.OrderUnit, sol.SpecCode, ob);
sol.UpdateName = UserInfo.GetUserName();
sol.OrderLnStatus = "12020101";
if (MessageUtil.ShowYesNoAndQuestion("是否确认修改选择的合同行?") == DialogResult.No) return;
string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
dept = dept + "-" + UserInfo.GetDepartment();
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
ccp.MethodName = "updatePurchaseLine";
ccp.ServerParams = new object[] { JSONFormat.Format(sol), dept, _saleOrg };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
MessageUtil.ShowTips("合同行修改成功!");
doQuery();
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
{
row.Activate();
break;
}
}
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
{
row.Activate();
break;
}
}
}
}
///
/// 刷新界面
///
private void ctrlLinePurchase1_OnMyRefresh()
{
UltraGridRow uRow = ultraGrid2.ActiveRow;
string ordPk = "";
string ordLnPk = "";
if (uRow != null)
{
ordPk = uRow.Cells["ORD_PK"].Value.ToString();
ordLnPk = uRow.Cells["ORD_LN_PK"].Value.ToString();
}
this.doQuery();
if (uRow != null)
{
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
{
row.Activate();
break;
}
}
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
{
row.Activate();
break;
}
}
}
}
///
/// 根据激活的合同行等到合同行对象
///
///
///
private SlmOrderLineNewEntity GetOrderLineNewEntity(UltraGridRow uRow)
{
SlmOrderLineNewEntity sol = new SlmOrderLineNewEntity();
sol.OrdPk = uRow.Cells["ORD_PK"].Value.ToString();
sol.OrdLnPk = uRow.Cells["ORD_LN_PK"].Value.ToString();
sol.Produccode = uRow.Cells["PRODUCCODE"].Value.ToString();
sol.Producname = uRow.Cells["PRODUCNAME"].Value.ToString();
sol.StdCode = uRow.Cells["STD_CODE"].Value.ToString();
sol.StdName = uRow.Cells["STD_NAME"].Value.ToString();
sol.StdStyle = uRow.Cells["STD_STYLE"].Value.ToString();
sol.StdStyleDesc = uRow.Cells["STD_STYLE_DESC"].Value.ToString();
sol.Steelcode = uRow.Cells["STEELCODE"].Value.ToString();
sol.Steelname = uRow.Cells["STEELNAME"].Value.ToString();
sol.ModelCode = uRow.Cells["MODEL_CODE"].Value.ToString();
sol.ModelDesc = uRow.Cells["MODEL_DESC"].Value.ToString();
sol.SpecCode = uRow.Cells["SPEC_CODE"].Value.ToString();
sol.SpecName = uRow.Cells["SPEC_NAME"].Value.ToString();
//---------------------------长度信息----------------------------------------
sol.LenNo = uRow.Cells["LEN_NO"].Value.ToString();
sol.LenDesc = uRow.Cells["LEN_DESC"].Value.ToString();
sol.LenUnit = uRow.Cells["LEN_UNIT"].Value.ToString();
sol.LenMin = Convert.ToDecimal(uRow.Cells["LEN_MIN"].Value);
sol.LenMax = Convert.ToDecimal(uRow.Cells["LEN_MAX"].Value);
if (uRow.Cells["SHRT_LEN_RATO"].Value.ToString() != "")
{
sol.ShrtLenRato = Convert.ToDecimal(uRow.Cells["SHRT_LEN_RATO"].Value.ToString());
}
else
{
sol.ShrtLenRato = null;
}
if (uRow.Cells["SHORTEST"].Value.ToString() != "")
{
sol.Shortest = Convert.ToDecimal(uRow.Cells["SHORTEST"].Value.ToString());
}
else
{
sol.Shortest = null;
}
if (uRow.Cells["LONG_LEN_RATO"].Value.ToString() != "")
{
sol.LongLenRato = Convert.ToDecimal(uRow.Cells["LONG_LEN_RATO"].Value.ToString());
}
else
{
sol.LongLenRato = null;
}
if (uRow.Cells["LONGEST"].Value.ToString() != "")
{
sol.Longest = Convert.ToDecimal(uRow.Cells["LONGEST"].Value.ToString());
}
else
{
sol.Longest = null;
}
sol.ShrtStove = uRow.Cells["SHRT_STOVE"].Value.ToString();
if (uRow.Cells["AVG_LEN_MIN"].Value.ToString() != "")
{
sol.AvgLenMin = Convert.ToDecimal(uRow.Cells["AVG_LEN_MIN"].Value.ToString());
}
else
{
sol.AvgLenMin = null;
}
if (uRow.Cells["DIFRNC_LEN_MAX"].Value.ToString() != "")
{
sol.DifrncLenMax = Convert.ToDecimal(uRow.Cells["DIFRNC_LEN_MAX"].Value.ToString());
}
else
{
sol.DifrncLenMax = null;
}
if (uRow.Cells["ENDLEN_SPECSTD"].Value.ToString() != "")
{
sol.EndlenSpecstd = Convert.ToDecimal(uRow.Cells["ENDLEN_SPECSTD"].Value.ToString());
}
else
{
sol.EndlenSpecstd = null;
}
if (uRow.Cells["SIGL_LEN"].Value.ToString() != "")
{
sol.SiglLen = Convert.ToDecimal(uRow.Cells["SIGL_LEN"].Value.ToString());
}
else
{
sol.SiglLen = null;
}
//---------------------------长度信息-----------------------------------------
sol.OrderQty = Convert.ToDecimal(uRow.Cells["ORDER_QTY"].Value);
sol.OrderUnit = uRow.Cells["ORDER_UNIT"].Value.ToString();
sol.DelvryRangeTpe = uRow.Cells["DELVRY_RANGE_TPE"].Value.ToString();
sol.DelvryRangeMin = Convert.ToDecimal(uRow.Cells["DELVRY_RANGE_MIN"].Value);
sol.DelvryRangeMax = Convert.ToDecimal(uRow.Cells["DELVRY_RANGE_MAX"].Value);
sol.FinalUser = uRow.Cells["FINAL_USER"].Value.ToString();
sol.FinalUserDesc = uRow.Cells["FINAL_USER_DESC"].Value.ToString();
sol.DelvryDesc = uRow.Cells["DELVRY_DESC"].Value.ToString();
sol.OrderSeq = uRow.Cells["ORDER_SEQ"].Value.ToString();
return sol;
}
private void ultraTabControl3_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
{
if (e.Tab == null)
return;
if (e.Tab.Key.Equals("purLine")) // 采购清单
{
if (purchaseNoFlag1 == false)
{
ctrlLinePurchase2.Init(this.ob, _saleOrg);
ctrlLinePurchase2.LabDlyInfo.Text = "加工备注";
ctrlLinePurchase2.TxtDlyInfo.ButtonsRight[0].Visible = false;
ctrlLinePurchase2.TxtDlyInfo.ButtonsRight[1].Visible = true;
ctrlLinePurchase2.TxtDlyInfo.ReadOnly = false;
ctrlOrderLine2.loadFun(this.ob, _saleOrg);
purchaseNoFlag1 = true;
}
}
}
///
/// 采购期货加工 新增合同行和采购清单
///
private void DoAddOrdPurLine()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("请选择合同头,然后进行新增操作!");
return;
}
//合同行新增
string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
SlmOrderLineNewEntity sol = ctrlLinePurchase2.GetControlValue();
if (sol == null)
{
return;
}
sol.OrdPk = ordPk;
DataSet ds = ctrlOrderLine2.CtrlLineValue;
if (ds == null)
{
return;
}
DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
//判断订货产品,订货规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,要求是否已存在。
string psc = slmOrderLine.Rows[0]["PSC"].ToString();
string orderSpecCode = slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString();
string modelCode = slmOrderLine.Rows[0]["MODEL_CODE"].ToString();
string lenNo = slmOrderLine.Rows[0]["LEN_NO"].ToString();
string userName = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
string userAsk = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
string orderspecial = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
if (slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals("0") || slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals(""))
{
MessageUtil.ShowWarning("合同订货量须大于0");
return;
}
string msg = OrderFunction.IsValidSpecialCode(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString(), ob);
if (msg != "")
{
MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + msg);
return;
}
string errMsg = OrderFunction.IsSameAddAsk(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString(), slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString(), this.ob, "");
if (errMsg != "")
{
MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + errMsg);
return;
}
if (!isRepeatOrderLines(ordPk, psc, slmOrderLine.Rows[0]["SPEC_CODE"].ToString(), modelCode, lenNo, userName, userAsk, orderspecial))
{
MessageBox.Show("合同行订货产品,订货规格,扣型,长度,最终用户,合同附加要求,技术特殊要求,已存在相同记录,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
string custAlphaNo = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
SlmOrderLineEntityCh soe = GetOrderLineEntityCh(slmOrderLine);
soe.OrdPk = ordPk;
soe.CustAlphaNo = custAlphaNo;
soe.Psc = psc;
soe.ModelCode = modelCode;
soe.LenNo = lenNo;
//采购清单采用的字段和合同行一样
if (MessageUtil.ShowYesNoAndQuestion("是否新增自产+外加工合同行?") == DialogResult.No) return;
string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
dept = dept + "-" + UserInfo.GetDepartment();
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
ccp.MethodName = "addOrdPurLine";
ccp.ServerParams = new object[] { JSONFormat.Format(soe), JSONFormat.Format(sol), dept, _saleOrg };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
MessageUtil.ShowTips("合同行新增成功!");
doQuery();
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
{
row.Activate();
break;
}
}
}
}
///
/// 根据CrtlOrderLine控件获取合同行对象
///
/// CrtlOrderLine控件返回的DataTable
///
private SlmOrderLineEntityCh GetOrderLineEntityCh(DataTable slmOrderLine)
{
SlmOrderLineEntityCh soe = new SlmOrderLineEntityCh();
soe.PscDesc = slmOrderLine.Rows[0]["PSC_DESC"].ToString();
soe.PrdCls = slmOrderLine.Rows[0]["PRD_CLS"].ToString();
soe.Produccode = slmOrderLine.Rows[0]["PRODUCCODE"].ToString();
soe.Producname = slmOrderLine.Rows[0]["PRODUCNAME"].ToString();
soe.StdCode = slmOrderLine.Rows[0]["STD_CODE"].ToString();
soe.StdName = slmOrderLine.Rows[0]["STD_NAME"].ToString();
soe.Steelcode = slmOrderLine.Rows[0]["STEELCODE"].ToString();
soe.Steelname = slmOrderLine.Rows[0]["STEELNAME"].ToString();
soe.OrderSpecCode = slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString();
soe.OrderSpecDesc = slmOrderLine.Rows[0]["ORDER_SPEC_DESC"].ToString();
soe.SpecCode = slmOrderLine.Rows[0]["SPEC_CODE"].ToString();
soe.SpecName = slmOrderLine.Rows[0]["SPEC_NAME"].ToString();
soe.Dimater = slmOrderLine.Rows[0]["DIMATER"].ToString();
soe.Height = slmOrderLine.Rows[0]["HEIGHT"].ToString();
soe.ModelDesc = slmOrderLine.Rows[0]["MODEL_DESC"].ToString();
soe.LenDesc = slmOrderLine.Rows[0]["LEN_DESC"].ToString();
soe.LenUnit = slmOrderLine.Rows[0]["LEN_UNIT"].ToString();
soe.LenMin = slmOrderLine.Rows[0]["LEN_MIN"].ToString();
soe.LenMax = slmOrderLine.Rows[0]["LEN_MAX"].ToString();
soe.ShrtLenRato = slmOrderLine.Rows[0]["SHRT_LEN_RATO"].ToString();
soe.Shortest = slmOrderLine.Rows[0]["SHORTEST"].ToString();
soe.LongLenRato = slmOrderLine.Rows[0]["LONG_LEN_RATO"].ToString();
soe.Longest = slmOrderLine.Rows[0]["LONGEST"].ToString();
soe.ShrtStove = slmOrderLine.Rows[0]["SHRT_STOVE"].ToString();
soe.AvgLenMin = slmOrderLine.Rows[0]["AVG_LEN_MIN"].ToString();
soe.DifrncLenMax = slmOrderLine.Rows[0]["DIFRNC_LEN_MAX"].ToString();
soe.SiglLen = slmOrderLine.Rows[0]["SIGL_LEN"].ToString();
soe.OrderUnit = slmOrderLine.Rows[0]["ORDER_UNIT"].ToString();
soe.OrderQty = slmOrderLine.Rows[0]["ORDER_QTY"].ToString();
soe.OrdEnsuTotlLen = slmOrderLine.Rows[0]["ORD_ENSU_TOTL_LEN"].ToString();
soe.PrdctWgt = slmOrderLine.Rows[0]["PRDCT_WGT"].ToString();
soe.DelvryRangeTpe = slmOrderLine.Rows[0]["DELVRY_RANGE_TPE"].ToString();
soe.DelvryRangeMin = slmOrderLine.Rows[0]["DELVRY_RANGE_MIN"].ToString();
soe.DelvryRangeMax = slmOrderLine.Rows[0]["DELVRY_RANGE_MAX"].ToString();
soe.FinalUser = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
soe.FinalUserDesc = slmOrderLine.Rows[0]["FINAL_USER_DESC"].ToString();
soe.OutsBilletFl = slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString();
soe.OutsStlPipeFl = slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString();
soe.AsselFl = slmOrderLine.Rows[0]["ASSEL_FL"].ToString();
soe.DelvryBdate = "";
soe.DelvryEdate = "";
soe.DelvryDesc = "N/A";
soe.TransDesc = "N/A";
soe.AddAskNo = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
soe.OrderSpecialDesc = slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString();
soe.OrderAddDesc = slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString();
soe.OrderPrice = slmOrderLine.Rows[0]["ORDER_PRICE"].ToString().Trim();
soe.TransPrice = slmOrderLine.Rows[0]["TRANS_PRICE"].ToString();
soe.TestId = "1";
soe.TestPrice = slmOrderLine.Rows[0]["TEST_PRICE"].ToString();
soe.OutPrice = slmOrderLine.Rows[0]["OUT_PRICE"].ToString();
soe.BalncePrice = slmOrderLine.Rows[0]["BALNCE_PRICE"].ToString();
soe.OrderLnStatus = "12020101";
soe.Memo = slmOrderLine.Rows[0]["MEMO"].ToString();
soe.CreateName = UserInfo.GetUserName();
soe.Msc = slmOrderLine.Rows[0]["MSC"].ToString();
soe.MscDesc = slmOrderLine.Rows[0]["MSC_DESC"].ToString();
soe.ProducerFl = slmOrderLine.Rows[0]["PRODUCER_FL"].ToString();
soe.MpsFl = slmOrderLine.Rows[0]["MPS_FL"].ToString();
soe.StdStyle = slmOrderLine.Rows[0]["STD_STYLE"].ToString();
soe.StdStyleDesc = slmOrderLine.Rows[0]["STD_STYLE_DESC"].ToString();
soe.MscStyle = slmOrderLine.Rows[0]["MSC_STYLE"].ToString();
soe.UseCode = slmOrderLine.Rows[0]["USE_CODE"].ToString();
soe.UseDesc = slmOrderLine.Rows[0]["USE_DESC"].ToString();
soe.EndlenSpecstd = slmOrderLine.Rows[0]["ENDLEN_SPECSTD"].ToString();
soe.Aw = slmOrderLine.Rows[0]["AW"].ToString();
soe.ManInspection = slmOrderLine.Rows[0]["MAN_INSPECTION"].ToString();
soe.QualityUser = slmOrderLine.Rows[0]["QUALITY_USER"].ToString();
soe.QualityUserDesc = slmOrderLine.Rows[0]["QUALITY_USER_DESC"].ToString();
soe.OutputStdNo = slmOrderLine.Rows[0]["OUTPUT_STD_NO"].ToString();
soe.ProjectNo = slmOrderLine.Rows[0]["PROJECT_NO"].ToString();
return soe;
}
private void DoUpdateOrdPurchaseLine()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("请选择合同头,然后进行修改操作!");
return;
}
if (ultraGrid2.ActiveRow == null)
{
MessageUtil.ShowTips("请选择您要修改的合同行!");
return;
}
string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
SlmOrderLineNewEntity sol = ctrlLinePurchase2.GetControlValue();
if (sol == null)
{
return;
}
sol.OrdPk = ordPk;
sol.OrdLnPk = ordLnPk;
sol.UpdateName = UserInfo.GetUserName();
sol.OrderLnStatus = "12020101";
bool booltrfa = ctrlOrderLine2.deliveryWTQty();
if (!booltrfa)
{
return;
}
DataSet ds = ctrlOrderLine2.CtrlLineValue;
if (ds == null)
{
return;
}
DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
if (slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals("0") || slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals(""))
{
MessageUtil.ShowWarning("合同订货量须大于0");
return;
}
string errMsg = OrderFunction.IsSameAddAsk(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString(), slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString(), this.ob, ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString());
if (errMsg != "")
{
MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + errMsg);
return;
}
string msg = OrderFunction.IsValidSpecialCode(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString(), ob);
if (msg != "")
{
MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + msg);
return;
}
string runtre = orderLineRowUp(ultraGrid2.ActiveRow, slmOrderLine);
string yesNoName = MessageBox.Show("是否确认修改该合同,合同号: " + ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() + " ,合同行号:" + ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "。" + "\r\n" + runtre, "合同行修改",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question, MessageBoxDefaultButton.Button2).ToString();
if (yesNoName.Equals("No"))
{
return;
}
//判断订货产品,订货规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,要求是否已存在。
string psc = slmOrderLine.Rows[0]["PSC"].ToString();
string orderSpecCode = slmOrderLine.Rows[0]["SPEC_CODE"].ToString();
string modelCode = slmOrderLine.Rows[0]["MODEL_CODE"].ToString();
string lenNo = slmOrderLine.Rows[0]["LEN_NO"].ToString();
string pscJ = ultraGrid2.ActiveRow.Cells["PSC"].Value.ToString();
string orderSpecCodeJ = ultraGrid2.ActiveRow.Cells["ORDER_SPEC_CODE"].Value.ToString();
string modelCodeJ = ultraGrid2.ActiveRow.Cells["MODEL_CODE"].Value.ToString();
string lenNoJ = ultraGrid2.ActiveRow.Cells["LEN_NO"].Value.ToString();
string managNo = ultraGrid1.ActiveRow.Cells["MANAG_NO"].Value.ToString();
string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
string ordpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
string order_ln_status = ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Value.ToString();
string userName = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
string userAsk = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
string orderspecial = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
if (!isRepeatOrderLine(ordpk, ordLnPk, psc, slmOrderLine.Rows[0]["SPEC_CODE"].ToString(), modelCode, lenNo, userName, userAsk, orderspecial))
{
MessageBox.Show("合同行订货产品,产品规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,已存在相同记录,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
bool isAlter = false; //技术项是否修改,包括附加要求和产品特殊要求。
if (orderpsc == psc && spec == orderSpecCode && model == modelCode && len == lenNo
&& user == userName && mps == slmOrderLine.Rows[0]["PRODUCER_FL"].ToString() &&
userAsk == addtional && orderspecial == special)
{
//都没有修改
isAlter = false;
}
else
{
isAlter = true;
}
bool isClear = false;
string oldSpecialDesc = ultraGrid2.ActiveRow.Cells["ORDER_SPECIAL_DESC"].Value.ToString();
string ctrlSpecialDesc = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_SPECIAL_DESC"].ToString();
if (oldSpecialDesc != ctrlSpecialDesc)
{
isClear = true;
}
string reviewMemo = "";
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineStatus", new object[] { ordLnPk }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
string lnStatus = dt.Rows[0]["ORDER_LN_STATUS"].ToString();
if (lnStatus == "12020203") //技术评审失败
{
dlgReviewMemo dlg = new dlgReviewMemo();
dlg.ReviewFlag = 2;
dlg.ReviewSatus = "修改内容或重新提报原因";
dlg.ShowDialog();
if (dlg.DialogResult != DialogResult.OK)
return;
reviewMemo = dlg.ReviewMemo;
}
}
string custAlphaNo = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
SlmOrderLineEntityCh soe = GetOrderLineEntityCh(slmOrderLine);
soe.OrdPk = ordPk;
soe.OrdLnPk = ordLnPk;
soe.CustAlphaNo = custAlphaNo;
soe.Psc = psc;
soe.ModelCode = modelCode;
soe.LenNo = lenNo;
if (MessageUtil.ShowYesNoAndQuestion("是否确认修改选择的合同行?") == DialogResult.No) return;
string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
dept = dept + "-" + UserInfo.GetDepartment();
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
ccp.MethodName = "updateOrdPurchaseLine";
ccp.ServerParams = new object[] { JSONFormat.Format(soe), JSONFormat.Format(sol), dept, _saleOrg, isAlter, reviewMemo, isClear };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
MessageUtil.ShowTips("自产+外加工合同行修改成功!");
doQuery();
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
{
row.Activate();
break;
}
}
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
{
row.Activate();
break;
}
}
}
}
private bool ctrlOrderLine2_CommitOrderLineRow(DataSet orderLine, string CommandType)
{
try
{
if (orderLine == null)
{
if (this.ultraGrid2.Rows.Count == 0)
{
MessageBox.Show("请先新增一条合同行,然后继续操作《交货发运要求》!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
return true;
}
else
{
if (this.ultraGrid2.Rows.Count == 0)
{
MessageBox.Show("请先新增一条合同行,然后继续操作《交货发运要求》!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (ultraGrid2.ActiveRow == null)
{
MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
ultraTabControl1.Tabs[0].Selected = true;
return false;
}
//用传入的合同行(控件)与合同行Grid的选择行的值进行比较,是否有差异,如果有则返回false,给出提示。
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["PSC"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["PSC"].Equals(ultraGrid2.ActiveRow.Cells["PSC"].Text))
{
MessageBox.Show("数据检测合同行订货产品已变更,请先修改。" + ultraGrid2.ActiveRow.Cells["PSC_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["PSC_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_CODE"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_CODE"].Equals(ultraGrid2.ActiveRow.Cells["SPEC_CODE"].Text))
{
MessageBox.Show("数据检测合同行产品规格已变更,请先修改。" + ultraGrid2.ActiveRow.Cells["SPEC_NAME"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_NAME"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_CODE"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_CODE"].Equals(ultraGrid2.ActiveRow.Cells["MODEL_CODE"].Text))
{
MessageBox.Show("数据检测合同行扣型已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["MODEL_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_NO"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_NO"].Equals(ultraGrid2.ActiveRow.Cells["LEN_NO"].Text))
{
MessageBox.Show("数据检测合同行长度已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["LEN_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_QTY"] != System.DBNull.Value && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_QTY"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Text))
{
MessageBox.Show("数据检测合同行订货量已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_QTY"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_UNIT"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_UNIT"].Equals(ultraGrid2.ActiveRow.Cells["ORDER_UNIT"].Text))
{
MessageBox.Show("数据检测合同行订货单位已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["ORDER_UNIT"].Text + " 改 " + orderLine.Tables["ORDER_UNIT"].Rows[0]["PSC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MAX"] != System.DBNull.Value && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MAX"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MAX"].Text))
{
MessageBox.Show("数据检测合同行交货量差上限已变更,请先修改。提示" + ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MAX"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MAX"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MIN"] != System.DBNull.Value && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MIN"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MIN"].Text))
{
MessageBox.Show("数据检测合同行交货量差下限已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MIN"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MIN"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_TPE"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_TPE"].Equals(ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_TPE"].Text))
{
MessageBox.Show("数据检测合同行交货量差方式已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_TPE"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_TPE"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"] != System.DBNull.Value && orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString() != "" && orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString2() != "" && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["ORDER_PRICE"].Text))
{
MessageBox.Show("数据检测合同行单价已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["ORDER_PRICE"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER"].Equals(ultraGrid2.ActiveRow.Cells["FINAL_USER"].Text))
{
MessageBox.Show("数据检测最终用户已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["FINAL_USER_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_BILLET_FL_ID"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_BILLET_FL_ID"].Equals(ultraGrid2.ActiveRow.Cells["OUTS_BILLET_FL_ID"].Text))
{
MessageBox.Show("数据检测外购坯已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["OUTS_BILLET_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_BILLET_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_STL_PIPE_FL_ID"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_STL_PIPE_FL_ID"].Equals(ultraGrid2.ActiveRow.Cells["OUTS_STL_PIPE_FL_ID"].Text))
{
MessageBox.Show("数据检测外购管已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["OUTS_STL_PIPE_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_STL_PIPE_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
}
}
catch (System.Exception ex)
{
//throw ex;
}
return true;
}
private void ctrlOrderLine2_UpdateOrderDeliveryDesc(DataSet orderLine)
{
if (ultraGrid2.ActiveRow == null)
{
MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
ultraTabControl1.Tabs[0].Selected = true;
return;
}
//合同行修改
string lnStatus = ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Text;
string ordpk = "";
//查询合同行状态
DataTable rowStas = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineStatus", new Object[] { ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Text }, this.ob);
if (rowStas.Rows.Count > 0)
{
if (!rowStas.Rows[0][0].ToString().Equals(lnStatus))
{
lnStatus = rowStas.Rows[0][0].ToString();
}
ordpk = rowStas.Rows[0][1].ToString();
}
else
{
MessageBox.Show("合同行不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
DataSet ds = ctrlOrderLine2.CtrlLineValue;
if (ds == null)
{
return;
}
DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
DataTable slmOrderDelivery = ds.Tables["Main"];
ArrayList parms = new ArrayList();
////技术特殊要求编码
//parms.Add(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString());
////附加要求编码
//parms.Add(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString());
////附加要求描述
//parms.Add(slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString());
////技术特殊要求描述
//parms.Add(slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString());
if (slmOrderDelivery != null && slmOrderDelivery.Rows.Count > 0)
{
//交货结束日期DELVRY_EDATE
parms.Add(slmOrderDelivery.Rows[0]["DELVRY_EDATE"].ToString());
}
else
{
parms.Add("");
}
//交货信息描述,DELVRY_DESC
parms.Add(slmOrderLine.Rows[0]["DELVRY_DESC"].ToString());
//运输信息描述TRANS_DESC
parms.Add(slmOrderLine.Rows[0]["TRANS_DESC"].ToString());
//创建人CREATE_NAME
parms.Add(UserInfo.GetUserName());
//创建时间,CREATE_TIME
//内部合同号
string managNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
//内部合同行
parms.Add(ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString());
////合同号ORDER_NO
string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
//parms.Add(orderNo);
////合同行号ORDER_SEQ
string orderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
//parms.Add(orderSeq);
string orderlnsta = lnStatus;
CoreClientParam ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
ccp.MethodName = "UpdateOrderDeliveryDesc";
ccp.ServerParams = new object[] { parms };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1) { return; }
else
{
if (orderlnsta.Equals("12020204"))
{
ArrayList parmsHead = new ArrayList();
parmsHead.Add("12020202");
parmsHead.Add("技术评审通过");
parmsHead.Add(orderlnsta);
parmsHead.Add("合同销售管理(frmOrderManager.cs),交货期评审通过修改合同行运输内容。");
parmsHead.Add(managNo);
parms = new ArrayList();
parms.Add("12020202");
parms.Add(orderlnsta);
parms.Add("合同销售管理(frmOrderManager.cs),交货期评审通过修改合同行运输内容。");
parms.Add(managNo);
ccp = new CoreClientParam();
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
ccp.MethodName = "upOrderHeadLineDelivery";
ccp.ServerParams = new object[] { parms, parmsHead };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp.ReturnCode == -1)
{
return;
}
}
}
string valid = "";
if (chkValid.Checked)
{
valid = "0";
}
else
{
valid = "1";
}
//展示合同行数据
GetOrderLineDt(managNo, valid);
//聚焦当前修改行
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (row != null)
{
if (orderSeq.Equals(row.Cells["ORDER_SEQ"].Value.ToString()))
{
row.Activate();
break;
}
}
}
}
private void ctrlLinePurchase2_OnMyRefresh()
{
UltraGridRow uRow = ultraGrid2.ActiveRow;
string ordPk = "";
string ordLnPk = "";
if (uRow != null)
{
ordPk = uRow.Cells["ORD_PK"].Value.ToString();
ordLnPk = uRow.Cells["ORD_LN_PK"].Value.ToString();
}
this.doQuery();
if (uRow != null)
{
foreach (UltraGridRow row in ultraGrid1.Rows)
{
if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
{
row.Activate();
break;
}
}
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
{
row.Activate();
break;
}
}
}
}
///
/// 冻结变更
///
///
///
private void chkFreeze_CheckedChanged(object sender, EventArgs e)
{
if (chkFreeze.Checked)
{
freezeFlag = true;
ctrlOrderLine1.LockControl();
SetButtonVisible(false);
labTips.Visible = true;
this.ChgeQuery();
}
else
{
freezeFlag = false;
ctrlOrderLine1.UnLockControl();
labTips.Visible = false;
SetButtonVisible(true);
this.ChgeQuery();
}
}
///
/// 鼠标移动到chkFreeze 显示提示信息
///
///
///
private void chkFreeze_MouseHover(object sender, EventArgs e)
{
toolTips.SetToolTip(chkFreeze, "勾选时,只能变更‘提报完毕’状态的合同的附加要求");
toolTips.ToolTipTitle = "提示";
toolTips.ShowAlways = true;
}
///
/// 设置系统按钮的可见性
///
/// 是否可见
private void SetButtonVisible(bool isVisible)
{
if (isVisible)
{
if (toolMenu.Toolbars[0].Tools.Exists("ChgeAdd"))
toolMenu.Toolbars[0].Tools["ChgeAdd"].SharedProps.Visible = true;
if (toolMenu.Toolbars[0].Tools.Exists("ChgeDelete"))
toolMenu.Toolbars[0].Tools["ChgeDelete"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True;
if (toolMenu.Toolbars[0].Tools.Exists("ChgeConfirm"))
toolMenu.Toolbars[0].Tools["ChgeConfirm"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True;
}
else
{
if (toolMenu.Toolbars[0].Tools.Exists("ChgeAdd"))
toolMenu.Toolbars[0].Tools["ChgeAdd"].SharedProps.Visible = false;
if (toolMenu.Toolbars[0].Tools.Exists("ChgeDelete"))
toolMenu.Toolbars[0].Tools["ChgeDelete"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False;
if (toolMenu.Toolbars[0].Tools.Exists("ChgeConfirm"))
toolMenu.Toolbars[0].Tools["ChgeConfirm"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False;
}
}
///
/// 获取生成合同号的前缀
///
///
///
private string GetOrderPrefix(ArrayList parm)
{
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.CoreGenerateOrderNo";
ccp.MethodName = "getOrderNoPrefix";
ccp.ServerParams = new object[] { parm };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode != 0)
{
return ccp.ReturnInfo;
}
string no = ccp.ReturnObject.ToString2();
if (no != "" && no.Length == 6)
{
return no;
}
else
{
return "2";
}
}
else
{
return "1";
}
}
public string GetComputerInfo()
{
return "计算机名:" + Environment.GetEnvironmentVariable("COMPUTERNAME") + " IP:" +
System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList[0].ToString2() +
" Mac地址:" + GetLocalMac();
}
///
/// 获取本机的MAC地址
///
///
public static string GetLocalMac()
{
try
{
string mac = null;
ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");
ManagementObjectCollection queryCollection = query.Get();
foreach (ManagementObject mo in queryCollection)
{
if (mo["IPEnabled"].ToString() == "True")
mac = mo["MacAddress"].ToString();
}
return (mac);
}
catch (Exception)
{
return "";
}
}
}
}