| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Drawing;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using Core.Mes.Client.Comm.Server;
- using CoreFS.CA06;
- using Core.Mes.Client.Comm.Tool;
- using Infragistics.Win.UltraWinGrid;
- namespace Core.StlMes.Client.SaleOrder.Control
- {
- public partial class CtrlLinePurchase : UserControl
- {
- public CtrlLinePurchase()
- {
- InitializeComponent();
- }
- private OpeBase _ob;
- /// <summary>
- /// 长度
- /// </summary>
- private DataRow dRow = null;
- private string _saleOrg;
- private SlmOrderLineNewEntity one;
- /// <summary>
- /// 交货信息或者加工备注标志
- /// </summary>
- private int dlyFlag = 1;
- /// <summary>
- /// 交货信息或者加工备注标志 默认1 表示贸易合同 2表示加工备注
- /// </summary>
- public int DlyFlag
- {
- get { return dlyFlag; }
- set { dlyFlag = value; }
- }
- /// <summary>
- /// 刷新委托
- /// </summary>
- public delegate void MyRefresh();
- /// <summary>
- /// 此控件的刷新事件
- /// </summary>
- public event MyRefresh OnMyRefresh;
- /// <summary>
- /// 设置下拉框的属性 需要在调用此控件的界面的OnLoad事件中调用
- /// </summary>
- public void LoadSetting()
- {
- cmbStdName.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;
- cmbProName.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;
- cmbSteel.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;
- cmbModel.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;
- cmbStdStyle.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;
- cmbSpec.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;
- }
- /// <summary>
- /// 初始化控件
- /// </summary>
- /// <param name="ob"></param>
- public void Init(OpeBase ob, string saleOrg)
- {
- OrderFunction.InitComboEditor(cmbStdName, "com.steering.pss.sale.order.CoreOrderManager.queryStdName", "STD_CODE", ob, true);
- OrderFunction.InitComboEditor(cmbProName, "com.steering.pss.sale.order.CoreOrderManager.queryProName", "PRODUCCODE", ob, true);
- OrderFunction.InitComboEditor(cmbSteel, "com.steering.pss.sale.order.CoreOrderManager.querySteel", "STEELCODE", ob, true);
- OrderFunction.InitComboEditor(cmbModel, "com.steering.pss.sale.order.CoreOrderManager.queryModel", "MODEL_CODE", ob, true);
- OrderFunction.InitComboEditor(cmbStdStyle, "com.steering.pss.sale.order.CoreOrderManager.queryStdStyle", "STD_STYLE", ob, true);
- OrderFunction.InitComboEditor(cmbSpec, "com.steering.pss.sale.order.CoreOrderManager.querySpec", "SPEC_CODE", ob, true);
- SetDlyType(ob);
- this._ob = ob;
- _saleOrg = saleOrg;
- }
- /// <summary>
- /// 设置交货量差
- /// </summary>
- private void SetDlyType(OpeBase ob)
- {
- DataTable isx = ServerHelper.GetData("com.steering.pss.sale.base.CoreBuyerOrder.GetQueryBaseInfo", new Object[] { "1216" }, ob);
- cmbDlyType.DataSource = isx;
- cmbDlyType.DisplayMember = "BASENAME";
- cmbDlyType.ValueMember = "BASECODE";
- cmbDlyType.Text = "%";
- cmbDlyType.Enabled = false;
- ClsBaseInfo.SetComboItemHeight(cmbDlyType);
- cmbUnit.DataSource = null;
- isx = ServerHelper.GetData("com.steering.pss.sale.base.CoreBuyerOrder.GetQueryBaseInfo", new Object[] { "1215" }, ob);
- cmbUnit.DataSource = isx;
- cmbUnit.DisplayMember = "BASENAME";
- cmbUnit.ValueMember = "BASECODE";
- cmbUnit.Text = "吨";
- }
- /// <summary>
- /// 获取控件的值
- /// </summary>
- /// <returns></returns>
- public SlmOrderLineNewEntity GetControlValue()
- {
- if (cmbStdName.SelectedItem == null)
- {
- MessageUtil.ShowWarning("请选择标准名称!");
- return null;
- }
- if (cmbProName.SelectedItem == null)
- {
- MessageUtil.ShowWarning("请选择品名!");
- return null;
- }
- if (cmbSteel.SelectedItem == null)
- {
- MessageUtil.ShowWarning("请选择钢级!");
- return null;
- }
- if (cmbModel.SelectedItem == null)
- {
- MessageUtil.ShowWarning("请选择扣型!");
- return null;
- }
- /* if (cmbStdStyle.SelectedItem == null)
- {
- MessageUtil.ShowWarning("请选择标准类别!");
- return null;
- }*/
- if (cmbSpec.SelectedItem == null)
- {
- MessageUtil.ShowWarning("请选择产品规格!");
- return null;
- }
- if (txtLength.Text.Trim() == "")
- {
- MessageUtil.ShowWarning("请维护长度信息!");
- return null;
- }
- if (numQty.Text.Trim() == "")
- {
- MessageUtil.ShowWarning("请输入订货量!");
- return null;
- }
- if (cmbUnit.SelectedItem == null)
- {
- MessageUtil.ShowWarning("请选择订货单位!");
- return null;
- }
- SlmOrderLineNewEntity sol = new SlmOrderLineNewEntity();
- sol.Produccode = cmbProName.Value.ToString();
- sol.Producname = cmbProName.Text.Trim();
- sol.StdCode = cmbStdName.Value.ToString();
- sol.StdName = cmbStdName.Text.Trim();
- sol.Steelcode = cmbSteel.Value.ToString();
- sol.Steelname = cmbSteel.Text.Trim();
- sol.ModelCode = cmbModel.Value.ToString();
- sol.ModelDesc = cmbModel.Text.Trim();
- sol.SpecCode = cmbSpec.Value.ToString();
- sol.SpecName = cmbSpec.Text.Trim();
- sol.StdStyle = cmbStdStyle.Value.ToString2();
- sol.StdStyleDesc = cmbStdStyle.Text.Trim();
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.querySpecInfo", new object[] { sol.SpecCode }, this._ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- sol.Dimater = Convert.ToDecimal(dt.Rows[0]["DIMATER"].ToString());
- sol.Height = Convert.ToDecimal(dt.Rows[0]["HEIGHT"].ToString());
- }
- else
- {
- MessageUtil.ShowWarning("您选择的规格已被作废!");
- return null;
- }
- if (dRow == null)
- {
- sol.LenNo = one.LenNo;
- sol.LenDesc = one.LenDesc;
- sol.LenUnit = one.LenUnit;
- sol.LenMin = one.LenMin;
- sol.LenMax = one.LenMax;
- sol.ShrtLenRato = one.ShrtLenRato;
- sol.Shortest = one.Shortest;
- sol.LongLenRato = one.LongLenRato;
- sol.Longest = one.Longest;
- sol.ShrtStove = one.ShrtStove;
- sol.AvgLenMin = one.AvgLenMin;
- sol.DifrncLenMax = one.DifrncLenMax;
- sol.EndlenSpecstd = one.EndlenSpecstd;
- sol.SiglLen = one.SiglLen;
- }
- else
- {
- sol.LenNo = dRow["LEN_NO"].ToString();
- sol.LenDesc = dRow["LEN_DESC"].ToString();
- sol.LenUnit = dRow["LEN_UNIT"].ToString();
- sol.LenMin = Convert.ToDecimal(dRow["LEN_MIN"].ToString());
- sol.LenMax = Convert.ToDecimal(dRow["LEN_MAX"].ToString());
- if (dRow["SHRT_LEN_RATO"].ToString() != "")
- {
- sol.ShrtLenRato = Convert.ToDecimal(dRow["SHRT_LEN_RATO"].ToString());
- }
- else
- {
- sol.ShrtLenRato = null;
- }
- if (dRow["SHORTEST"].ToString() != "")
- {
- sol.Shortest = Convert.ToDecimal(dRow["SHORTEST"].ToString());
- }
- else
- {
- sol.Shortest = null;
- }
- if (dRow["LONG_LEN_RATO"].ToString() != "")
- {
- sol.LongLenRato = Convert.ToDecimal(dRow["LONG_LEN_RATO"].ToString());
- }
- else
- {
- sol.LongLenRato = null;
- }
- if (dRow["LONGEST"].ToString() != "")
- {
- sol.Longest = Convert.ToDecimal(dRow["LONGEST"].ToString());
- }
- else
- {
- sol.Longest = null;
- }
- sol.ShrtStove = dRow["SHRT_STOVE"].ToString();
- if (dRow["AVG_LEN_MIN"].ToString() != "")
- {
- sol.AvgLenMin = Convert.ToDecimal(dRow["AVG_LEN_MIN"].ToString());
- }
- else
- {
- sol.AvgLenMin = null;
- }
- if (dRow["DIFRNC_LEN_MAX"].ToString() != "")
- {
- sol.DifrncLenMax = Convert.ToDecimal(dRow["DIFRNC_LEN_MAX"].ToString());
- }
- else
- {
- sol.DifrncLenMax = null;
- }
- if (dRow["ENDLEN_SPECSTD"].ToString() != "")
- {
- sol.EndlenSpecstd = Convert.ToDecimal(dRow["ENDLEN_SPECSTD"].ToString());
- }
- else
- {
- sol.EndlenSpecstd = null;
- }
- if (dRow["SIGL_LEN"].ToString() != "")
- {
- sol.SiglLen = Convert.ToDecimal(dRow["SIGL_LEN"].ToString());
- }
- else
- {
- sol.SiglLen = null;
- }
- }
- sol.OrderUnit = cmbUnit.Text.Trim();
- sol.OrderQty = Convert.ToDecimal(numQty.Value);
- sol.DelvryRangeTpe = cmbDlyType.Text.Trim();
- sol.DelvryRangeMin = Convert.ToDecimal(numDMin.Value);
- sol.DelvryRangeMax = Convert.ToDecimal(numDMax.Value);
- sol.FinalUser = txtFinallyUser.Text.Trim() == "" ? "N/A" : txtFinallyUser.Tag.ToString();
- sol.FinalUserDesc = txtFinallyUser.Text.Trim() == "" ? "N/A" : txtFinallyUser.Text.Trim();
- sol.Psc = "N/A";
- sol.PscDesc = "N/A";
- sol.OrderSpecCode = "N/A";
- sol.OrderSpecDesc = "N/A";
- if (dlyFlag == 1)
- {
- sol.OrderAddDesc = "";
- }
- else if (dlyFlag == 2)
- {
- sol.OrderAddDesc = txtDlyInfo.Text.Trim();
- }
- return sol;
- }
- /// <summary>
- /// 长度按钮点击
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void txtLength_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
- {
- frmOrderLen len = new frmOrderLen(_ob);
- len.LenNo = "";
- len.GetOrderLen += new frmOrderLen.GetOrderLenHander(len_GetOrderLen);
- len.ShowDialog();
- }
- void len_GetOrderLen(DataRow lenRow)
- {
- dRow = lenRow;
- txtLength.Text = lenRow["LEN_DESC"].ToString();
- }
- /// <summary>
- /// 最终用户点击
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void txtFinallyUser_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
- {
- FrmOrderBuyer buyer = new FrmOrderBuyer(_ob, _saleOrg, "100204");
- buyer.GetOrderBuyer += new FrmOrderBuyer.GetOrderBuyerHander(buyer_GetOrderBuyer);
- buyer.ShowDialog();
- }
- void buyer_GetOrderBuyer(UltraGridRow ugr)
- {
- if (ugr != null)
- {
- txtFinallyUser.Tag = ugr.Cells["CUSTOMER_NO"].Value.ToString();
- txtFinallyUser.Text = ugr.Cells["CUSTOMER_NM"].Value.ToString();
- }
- else
- {
- txtFinallyUser.Tag = "";
- txtFinallyUser.Text = "";
- }
- }
- /// <summary>
- /// 设置控件的值
- /// </summary>
- /// <param name="sol"></param>
- public void SetControlValue(SlmOrderLineNewEntity sol)
- {
- if (sol == null)
- return;
- one = sol;
- cmbStdName.Text = sol.StdName;
- cmbProName.Text = sol.Producname;
- cmbSteel.Text = sol.Steelname;
- cmbModel.Text = sol.ModelDesc;
- cmbStdStyle.Text = sol.StdStyleDesc;
- cmbSpec.Text = sol.SpecName;
- txtLength.Text = sol.LenDesc;
- numQty.Value = sol.OrderQty;
- cmbUnit.Text = sol.OrderUnit;
- numDMin.Value = sol.DelvryRangeMin;
- numDMax.Value = sol.DelvryRangeMax;
- cmbDlyType.Text = sol.DelvryRangeTpe;
- txtFinallyUser.Text = sol.FinalUserDesc;
- txtFinallyUser.Tag = sol.FinalUser;
- if (dlyFlag == 1)
- {
- txtDlyInfo.Text = sol.DelvryDesc;
- }
- else if (dlyFlag == 2)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getPurLineAddDesc", new object[] { one.OrdLnPk }, this._ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- txtDlyInfo.Text = dt.Rows[0][0].ToString2();
- }
- else
- {
- txtDlyInfo.Text = "";
- }
- }
- }
- /// <summary>
- /// 清空控件的值
- /// </summary>
- public void ClearControlValue()
- {
- cmbStdName.Text = "";
- cmbProName.Text = "";
- cmbSteel.Text = "";
- cmbModel.Text = "";
- cmbStdStyle.Text = "";
- cmbSpec.Text = "";
- txtLength.Text = "";
- numQty.Value = "";
- cmbUnit.Text = "";
- numDMin.Value = "";
- numDMax.Value = "";
- cmbDlyType.Text = "";
- txtFinallyUser.Text = "";
- txtFinallyUser.Tag = "";
- txtDlyInfo.Text = "";
- }
- /// <summary>
- /// 交货行弹窗
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void txtDlyInfo_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
- {
- if (e.Button.Key.Equals("normal"))
- {
- if (one == null || one.OrdLnPk == "")
- {
- MessageUtil.ShowWarning("请选择一行合同行或者新增一行合同行!");
- return;
- }
- frmOrderDelivery delivery = new frmOrderDelivery(_ob);
- delivery.ManageNo = one.OrdPk;
- delivery.OrderNo = one.OrdLnPk;
- delivery.OrderSeq = one.OrderSeq;
- delivery.SaleOrg = _saleOrg;
- delivery.ShRow = one.FinalUserDesc;
- delivery.NumWt = one.OrderQty.ToString();
- delivery.DlyTime = "";
- delivery.DlyAddress = "";
- delivery.LenUnit = one.LenUnit;
- //根据估算重量公式计算
- delivery.NumTag = Convert.ToString(OrderFunction.GetPrdctWgtNew(Convert.ToDecimal(one.OrderQty), one.OrderUnit, one.SpecCode, _ob));
- //单位
- delivery.OrderUnit = one.OrderUnit;
- //DataSet,也许有记录,也许为空。
- delivery.OrderSet = null;
- //产品规格代码 numTag
- delivery.Spec_code = one.SpecCode;
- //保总长
- delivery.Order_line_lne = 0;
- delivery.GetOrderDelivery += new frmOrderDelivery.GetOrderDeliveryHander(delivery_GetOrderDelivery);
- delivery.ShowDialog();
- }
- else if (e.Button.Key.Equals("update")) //修改加工备注(用于合同在后面流程中 发现加工备注不符合要求) 实现合同流程与加工备注确认分离
- {
- if (one.OrdLnPk == "")
- {
- MessageUtil.ShowWarning("请选择一行合同行或者新增一行合同行!");
- return;
- }
- if (txtDlyInfo.Text.Trim() == "")
- {
- MessageUtil.ShowWarning("请输入加工备注!");
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否确认修改该合同行的加工备注?") == DialogResult.No) return;
- CoreClientParam ccp = new CoreClientParam();
- ccp.IfShowErrMsg = false;
- ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
- ccp.MethodName = "updateOrderAddDesc";
- ccp.ServerParams = new object[] { txtDlyInfo.Text.Trim(), one.OrdLnPk, one.OrdPk };
- ccp = _ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp != null)
- {
- if (ccp.ReturnCode == -1)
- {
- MessageUtil.ShowWarning(ccp.ReturnInfo);
- return;
- }
- MessageUtil.ShowTips("加工备注修改成功!");
- OnMyRefresh();
- }
- }
- }
- void delivery_GetOrderDelivery(DataSet ds)
- {
- string txtDly = "";
- for (int i = 0; i < ds.Tables.Count; i++)
- {
- if (ds.Tables[i].TableName.Equals("Main"))
- {
- for (int k = 0; k < ds.Tables[i].Rows.Count; k++)
- {
- string ordLnDlyPk = ds.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 + ";";
- }
- txtDly += "交货量:" + ds.Tables[i].Rows[k]["DELVRY_QTY"].ToString() + ";交货日期:" + ds.Tables[i].Rows[k]["DELVRY_EDATE"].ToString()
- + ";收货单位:" + ds.Tables[i].Rows[k]["RECEIV_NM"].ToString()
- + ";交货地点:" + ds.Tables[i].Rows[k]["DELVRY_ADDR"].ToString() + trasLine + "\r\n";
- txtDlyInfo.Text = txtDly;
- }
- }
- }
- string ordLnPk = one.OrdLnPk;
- int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderInfoUpdate.updateOrderLineDesc", new object[] { ordLnPk, txtDlyInfo.Text }, this._ob);
- //if (count <= 0)
- //{
- // MessageUtil.ShowWarning("确认失败,请尝试重新确认!");
- // return;
- //}
- OnMyRefresh();
- }
- }
- }
|