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 Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Mcp.Control.Entity; using Core.StlMes.Client.Mcp.Treatment.Entity; using CoreFS.CA06; namespace Core.StlMes.Client.Mcp.Treatment.HeatTreatment { public partial class FrmEntrustPrice : FrmBase { public FrmEntrustPrice() { InitializeComponent(); } private List ProjectList = null; private List CurrentApplymemoEntity = new List(); protected override void OnLoad(EventArgs e) { base.OnLoad(e); EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); comm.RefreshAndAutoSize(ultraGrid1, true); ProjectList = EntityHelper.GetData( "com.steering.mes.mcp.common.PlanService.getBaseInfoAll", new object[] { "7022" }, ob); uceTypeQuery.DataSource = ProjectList.Where(p => p.Sortcode == "7022").ToList(); uceTypeQuery.ValueMember = "Basecode"; uceTypeQuery.DisplayMember = "Basename"; uceTypeEdit.DataSource = ProjectList.Where(p => p.Sortcode == "7022").ToList(); uceTypeEdit.ValueMember = "Basecode"; uceTypeEdit.DisplayMember = "Basename"; uceProject.DataSource = ProjectList.Where(p => ProjectList.All(q => q.Sortcode != p.Basecode)).ToList(); uceProject.ValueMember = "Basecode"; uceProject.DisplayMember = "Basename"; } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": this.doQuery(); break; case "Add": this.doAdd(); break; case "Update": this.doUpdate(); break; case "Delete": this.doDelete(); break; case "Export": Export(); break; case "Close": this.Close(); break; } } private void doDelete() { HttEntrustPriceEntity data = GetEditEntity(); data.DeleteName = this.UserInfo.GetUserName(); var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.common.frmEntrust"; ccp.MethodName = "doDeletePrice"; ccp.ServerParams = new object[] { JSONFormat.Format(data), }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("作废成功!")) { doQuery(); } } } private void doUpdate() { HttEntrustPriceEntity data = GetEditEntity(); string Msg = Check(data); if (Msg != "") { MessageBox.Show(Msg); return; } data.UpdateName = this.UserInfo.GetUserName(); var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.common.frmEntrust"; ccp.MethodName = "doUpdatePrice"; ccp.ServerParams = new object[] { JSONFormat.Format(data), CurrentApplymemoEntity.Select(JSONFormat.Format).ToList(), }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("修改成功!")) { doQuery(); } } } private void doAdd() { HttEntrustPriceEntity data = GetEditEntity(); string Msg = Check(data); if (Msg != "") { MessageBox.Show(Msg); return; } data.CreateName = this.UserInfo.GetUserName(); var ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.mcp.common.frmEntrust"; ccp.MethodName = "doAddPrice"; ccp.ServerParams = new object[] { JSONFormat.Format(data), CurrentApplymemoEntity.Select(JSONFormat.Format).ToList() }; ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("新增成功!")) { doQuery(); } } } private string Check(HttEntrustPriceEntity data) { if (data.ModelCode == "") { return "请选择扣型"; } if (data.SpecCode == "") { return "请选择规格"; } if (data.Steelcode == "") { return "请选择钢级"; } if (data.ProjectCode == "") { return "请选择项目"; } if (data.UnitPrice == null && data.UnitProceTax == null) { return "请至少维护一个价格"; } if (string.IsNullOrEmpty(data.Unit)) { return "请至少维护计价单位"; } return ""; } private HttEntrustPriceEntity GetEditEntity() { HttEntrustPriceEntity data= new HttEntrustPriceEntity() { ProjectCode = uceProject.SelectedItem==null?"": uceProject.SelectedItem.DataValue.ToString2(), ProjectName = uceProject.SelectedItem == null ? "" : uceProject.SelectedItem.DisplayText.ToString2(), ProjectType = uceTypeEdit.SelectedItem.DataValue.ToString2(), SpecCode = uteSpcCode.Text, SpecName = uteSpcName.Text, Steelcode = uteSteelCode.Text, Steelname = uteSteelName.Text, ModelCode = uteModelCode.Text, ModelDesc = uteModelName.Text, Unit = uceUnit.SelectedIndex>-1?uceUnit.SelectedItem.DataValue.ToString2():"", Remark = uteMemo.Text, Id = txtID.Text }; if (uneUnitPrice.Text != "") { data.UnitPrice = decimal.Parse(uneUnitPrice.Value.ToString3()); } if (uneUnitPriceTax.Text != "") { data.UnitProceTax = decimal.Parse(uneUnitPriceTax.Value.ToString3()); } return data; } private void doQuery() { List listSource = EntityHelper.GetData( "com.steering.mes.mcp.common.frmEntrust.doQueryPrice", new object[] { uceTypeLable.Checked && uceTypeQuery.SelectedIndex>-1? uceTypeQuery.SelectedItem.DataValue.ToString2():"", chkValid.Checked?"":"1" }, ob); httEntrustPriceEntityBindingSource.DataSource = listSource; comm.RefreshAndAutoSize(ultraGrid1, true); } private void Export() { GridHelper.ulGridToExcel(ultraGrid1, "委托项目价格明显"); } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { HttEntrustPriceEntity entity = ultraGrid1.ActiveRow.ListObject as HttEntrustPriceEntity; if(entity==null) return; List listSource = EntityHelper.GetData( "com.steering.mes.mcp.common.frmEntrust.doQueryApplyMemo", new object[] { entity.ProjectCode }, ob); uegApplyMemo.Expanded = listSource.Any(); httEntrustApplymemoEntityBindingSource.DataSource = listSource; uceTypeEdit.Value = entity.ProjectType; uceProject.Value = entity.ProjectCode; uteSpcCode.Text = entity.SpecCode; uteSpcName.Text = entity.SpecName; uteSteelName.Text = entity.Steelname; uteSteelCode.Text = entity.Steelcode; uteModelCode.Text = entity.ModelCode; uteModelName.Text = entity.ModelDesc; uceUnit.Value = entity.Unit; uneUnitPrice.Value = entity.UnitPrice; uneUnitPriceTax.Value = entity.UnitProceTax; uteMemo.Text = entity.Remark; txtID.Text = entity.Id; CurrentApplymemoEntity =listSource.Any()?listSource.Select(p => p.Clone()).ToList():new List(); } private void uceTypeEdit_ValueChanged(object sender, EventArgs e) { if (uceTypeEdit.SelectedIndex < 0) { uceProject.Items.Clear();; } else { uceProject.DataSource = ProjectList.Where(p => ProjectList.All(q => q.Sortcode != p.Basecode) && p.Sortcode.StartsWith(uceTypeEdit.SelectedItem.DataValue.ToString2())).ToList(); uceProject.ValueMember = "Basecode"; uceProject.DisplayMember = "Basename"; } } private void uteEditMemo_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { using (FrmChooseMemo FrmChooseMemo = new FrmChooseMemo(CurrentApplymemoEntity)) { if (FrmChooseMemo.ShowDialog() == DialogResult.OK) { CurrentApplymemoEntity = FrmChooseMemo.GetValue(); } } } private void uteSpcCode_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { if (e.Button.Key == "Clear") { uteSpcCode.Text = "/"; uteSpcName.Text = "/"; } else { using (FrmChooseSpc FrmChooseSpc = new FrmChooseSpc(ob) {Code = uteSpcCode.Text, Name = uteSpcName.Text} ) { if (FrmChooseSpc.ShowDialog() == DialogResult.OK) { uteSpcCode.Text = FrmChooseSpc.Code; uteSpcName.Text = FrmChooseSpc.Name; } } } } private void uteSteelName_EditorButtonClick_1(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { if (e.Button.Key == "Clear") { uteSteelCode.Text = "/"; uteSteelName.Text = "/"; } else { using ( FrmChooseSteel FrmChooseSteel = new FrmChooseSteel(ob) { Code = uteSteelCode.Text, Name = uteSteelName.Text }) { if (FrmChooseSteel.ShowDialog() == DialogResult.OK) { uteSteelCode.Text = FrmChooseSteel.Code; uteSteelName.Text = FrmChooseSteel.Name; } } } } private void uteModelCode_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { if (e.Button.Key == "Clear") { uteModelCode.Text = "/"; uteModelName.Text = "/"; } else { using ( FrmChooseModel FrmChooseModel = new FrmChooseModel(ob) { Code = uteModelCode.Text, Name = uteModelName.Text }) { if (FrmChooseModel.ShowDialog() == DialogResult.OK) { uteModelCode.Text = FrmChooseModel.Code; uteModelName.Text = FrmChooseModel.Name; } } } } } }