| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using com.steering.pss.plnsaleord.processOrder.entity;
- using Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Tool;
- using Core.StlMes.Client.PlnSaleOrd.BaseMethod;
- using CoreFS.CA06;
- using Infragistics.Win.UltraWinEditors;
- using Infragistics.Win.UltraWinGrid;
- using Core.StlMes.Client.PlnSaleOrd.Entity;
- using Core.Mes.Client.Comm.Format;
- namespace Core.StlMes.Client.PlnSaleOrd
- {
- public partial class FrmBaseMaterialIPl : FrmBase
- {
- private string _inMaterialNo = "";
- private string _outMaterialNo = "";
- private string _inMaterialDesc = "";
- private string _outMaterialDesc = "";
- private string _groupId = "";
- private string _plineCode = "";
- //public FrmBaseMaterialIPl()
- //{
- // InitializeComponent();
- //}
- public FrmBaseMaterialIPl(string inMaterialNo, string outMaterialNo,string groupId,string plineCode, OpeBase ob)
- {
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- InitializeComponent();
- _inMaterialNo = inMaterialNo;
- _plineCode = plineCode;
- _outMaterialNo = outMaterialNo;
- _groupId = groupId;
- this.ob = ob;
- }
- public FrmBaseMaterialIPl(string inMaterialNo, string outMaterialNo, OpeBase ob)
- {
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- InitializeComponent();
- _inMaterialNo = inMaterialNo;
- _outMaterialNo = outMaterialNo;
- this.ob = ob;
- }
- private void FrmBaseMaterialI_Load(object sender, EventArgs e)
- {
- EntityHelper.ShowGridCaption<SlmBaseMaterialKPlEntity>(ultraGridJgx.DisplayLayout.Bands[0]);
- BaseHelper.setColumnBackColor(ultraGridJgx, new string[] { "HrCapcty", "PrdRate", "WasteRate", "PlineCode", "PlineLevel", "DisableFl" });
- BaseHelper.InitCellPosition(ultraGridJgx, new string[] { "HrCapcty", "PrdRate", "WasteRate", "PlineLevel" });
- InitMaterialDesc();
- if (_inMaterialDesc.Equals(""))
- {
- ultraGridJgx.Enabled = false;
- return;
- }
- InitPline();
- DoQuery();
- }
- /// <summary>
- /// 初始化产线
- /// </summary>
- private void InitPline()
- {
- UltraComboEditor uce = new UltraComboEditor();
- DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.FrmBaseMaterialIPl.getBaseJgxPline", new object[] {_groupId }, this.ob);
- uce.DataSource = dt;
- uce.DisplayMember = "PLINE_NAME";
- uce.ValueMember = "PLINE_CODE";
- Controls.Add(uce);
- uce.Visible = false;
- uce.DropDownListWidth = -1;
- UltraGridBand ugb = ultraGridJgx.DisplayLayout.Bands[0];
- ugb.Columns["PlineCode"].EditorComponent = uce;
- ugb.Columns["PlineCode"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- }
- /// <summary>
- /// 初始化物料描述
- /// </summary>
- private void InitMaterialDesc()
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.FrmBaseMaterialIPl.getMaterialDesc", new object[] { _inMaterialNo, _outMaterialNo }, this.ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- _inMaterialDesc = dt.Rows[0]["IN_MATERIAL_DESC"].ToString();
- _outMaterialDesc = dt.Rows[0]["OUT_MATERIAL_DESC"].ToString();
- }
- }
- /// <summary>
- /// 控制字段可编辑
- /// </summary>
- /// <param name="row"></param>
- private void ControlCellEdit(UltraGridRow row)
- {
- foreach (UltraGridCell cell in row.Cells)
- {
- if (cell.Column.CellAppearance.BackColor == Color.FromArgb(255, 255, 128))
- {
- if (row.Cells["CHC"].Value.ToString() == "True")
- {
- cell.Activation = Activation.AllowEdit;
- }
- else
- {
- cell.Activation = Activation.ActivateOnly;
- }
- if (!row.Cells["CreateTime"].Value.ToString().Equals(""))
- {
- if (cell.Column.Key.Equals("PlineCode"))
- {
- cell.Activation = Activation.ActivateOnly;
- }
- }
- }
- else
- {
- if (!cell.Column.Key.Equals("CHC"))
- {
- cell.Activation = Activation.ActivateOnly;
- }
- }
- }
- }
- private void ultraGridJgx_InitializeRow(object sender, InitializeRowEventArgs e)
- {
- ControlCellEdit(e.Row);
- }
- private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
- {
- switch (e.Tool.Key.Trim())
- {
- case "查询":
- DoQuery();
- break;
- case "新增":
- DoSave("0");
- break;
- case "修改":
- DoSave("1");
- break;
- case "删除":
- DoSave("2");
- break;
- case "关闭":
- this.Close();
- break;
- }
- }
- public void DoQuery()
- {
- List<SlmBaseMaterialKPlEntity> materialFPlEntityList = EntityHelper.GetData<SlmBaseMaterialKPlEntity>(
- "com.steering.pss.plnsaleord.processOrder.FrmBaseMaterialIPl.getGjxPl", new object[] { _inMaterialNo, _outMaterialNo,_groupId }, ob);
- slmBaseMaterialKPlEntityBindingSource.DataSource = materialFPlEntityList;
- if (!_plineCode.Equals(""))
- {
- IQueryable<UltraGridRow> chcRows = ultraGridJgx.Rows.AsQueryable().Where(a => a.GetValue("PlineCode") == _plineCode);
- if (chcRows != null && chcRows.Count() != 0)
- {
- chcRows.First().Activate();
- chcRows.First().Cells["CHC"].Value = true;
- }
- }
- }
- private void DoSave(string flag)
- {
- ultraGridJgx.UpdateData();
- IQueryable<UltraGridRow> chcRows = ultraGridJgx.Rows.AsQueryable().Where("CHC = 'True'");
- if (chcRows.Count() == 0)
- {
- MessageUtil.ShowTips("请选择记录!");
- return;
- }
- ArrayList plineList = new ArrayList();
- ArrayList list = new ArrayList();
- foreach (UltraGridRow ugr in chcRows)
- {
- SlmBaseMaterialKPlEntity fPlEntity = (SlmBaseMaterialKPlEntity)ugr.ListObject;
- if (fPlEntity.PlineCode.Equals(""))
- {
- MessageUtil.ShowWarning("请选择加工产线!");
- return;
- }
- if (plineList.Contains(fPlEntity.PlineCode))
- {
- MessageUtil.ShowWarning("存在相同的产线(" + fPlEntity.PlineName + ")!");
- return;
- }
- else
- {
- plineList.Add(fPlEntity.PlineCode);
- }
- if (flag.Equals("0") && CheckIsExist(fPlEntity.PlineCode, fPlEntity.InMaterialNo, fPlEntity.OutMaterialNo))
- {
- MessageUtil.ShowWarning("已经存在的记录(产线:" + fPlEntity.PlineName + ",投入物料:" + fPlEntity.InMaterialDesc + ",产出物料:" + fPlEntity.OutMaterialDesc + "),不能新增!");
- return;
- }
- if (flag.Equals("1") && (!CheckIsExist(fPlEntity.PlineCode, fPlEntity.InMaterialNo, fPlEntity.OutMaterialNo) || fPlEntity.CreateTime.Equals("")))
- {
- MessageUtil.ShowWarning("不存在的记录(产线:" + fPlEntity.PlineName + ",投入物料:" + fPlEntity.InMaterialDesc + ",产出物料:" + fPlEntity.OutMaterialDesc + "),不能修改!");
- return;
- }
- if (flag.Equals("2") && (!CheckIsExist(fPlEntity.PlineCode, fPlEntity.InMaterialNo, fPlEntity.OutMaterialNo) || fPlEntity.CreateTime.Equals("")))
- {
- MessageUtil.ShowWarning("不存在的记录(产线:" + fPlEntity.PlineName + ",投入物料:" + fPlEntity.InMaterialDesc + ",产出物料:" + fPlEntity.OutMaterialDesc + "),不能删除!");
- return;
- }
- fPlEntity.CreateName = UserInfo.GetUserName();
- fPlEntity.UpdateName = UserInfo.GetUserName();
- list.Add(JSONFormat.Format( fPlEntity));
- }
- string message = "";
- if (flag.Equals("0"))
- {
- message = "是否新增记录?";
- }
- else if (flag.Equals("1"))
- {
- message = "是否修改记录?";
- }
- else
- {
- message = "此操作不可恢复,是否删除记录?";
- }
- if (MessageUtil.ShowYesNoAndQuestion(message) == DialogResult.No)
- {
- return;
- }
- ServerHelper.SetData("com.steering.pss.plnsaleord.processOrder.FrmBaseMaterialIPl.saveGjxPl", new object[] { list, flag }, ob);
- DoQuery();
- MessageUtil.ShowTips("操作成功!");
- }
- private bool CheckIsExist(string plineCode,string inMaterialNo,string outMaterialNo)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.processOrder.FrmBaseMaterialIPl.checkIsExist", new object[] { plineCode, inMaterialNo, outMaterialNo }, this.ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- private void ultraGridJgx_AfterRowInsert(object sender, RowEventArgs e)
- {
- UltraGridRow ugr = e.Row;
- ugr.Cells["InMaterialDesc"].Value = _inMaterialDesc;
- ugr.Cells["InMaterialNo"].Value = _inMaterialNo;
- ugr.Cells["OutMaterialDesc"].Value = _outMaterialDesc;
- ugr.Cells["OutMaterialNo"].Value = _outMaterialNo;
- ugr.Cells["DisableFl"].Value = "False";
- }
- private void ultraGridJgx_CellChange(object sender, CellEventArgs e)
- {
- ultraGridJgx.UpdateData();
- if (e.Cell.Column.Key.Equals("PlineCode"))
- {
- e.Cell.Row.Cells["PlineName"].Value = e.Cell.Text;
- }
- }
- }
- }
|