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 ""; } } } }