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.Tool; using Core.StlMes.Client.YdmStuffManage.Entity; using Core.Mes.Client.Comm.Control; using System.Collections; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Format; namespace Core.StlMes.Client.YdmStuffManage { public partial class FrmStuffInventoryIn : FrmBase { public FrmStuffInventoryIn() { InitializeComponent(); } private string strBand = "800702";//盘盈 private string strBound = "800601";//调差类型(盘盈) private string[] arr = null; private void FrmStuffInventoryIn_Load(object sender, EventArgs e) { DateTime now = DateTime.Now; DateTime dt1 = new DateTime(now.Year, now.Month, 1);//当月第一天 DateTime dt2 = dt1.AddMonths(1).AddDays(-1);//当月最后一天 this.RegStartTime.Value = DateTime.Parse(dt1.ToString("yyyy-MM-dd") + " 00:00:00"); this.RegEndTime.Value = DateTime.Parse(dt2.ToString("yyyy-MM-dd") + " 23:59:59"); BaseMethod.InitCellPosition(ultraGrid2, new string[] { "ActWeight", "ActCount","Dimater", "ActLen", "FixNum", "FixLen" }); EntityHelper.ShowGridCaption(ultraGrid2.DisplayLayout.Bands[0]); ultraGrid2.DisplayLayout.Bands[0].Columns["StocktakingRsnName"].Header.Caption = "盘盈原因"; //arr = this.ValidDataPurviewIds; arr = BaseMethod.WarehousePermissionsStore(this.ValidDataPurviewIds, this.ob); initBase(); } private void initBase() { BaseMethod.InitProducFlagCom(cmbProductFlag,ob); //BaseMethod.InitMaterialCom(cmbMaterailS,ob); BaseMethod.InitGpStorage(cmbStorage, ob); BaseMethod.InitGpSource(cmbSourceName, ob); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": if (!CheckQuery()) return; doQueryData(); break; case "Add": doAdd(); break; case "Export": exportData(); break; case "Close": this.Close(); break; } } /// /// 查询 /// private void doQueryData() { string strRegStart = ""; string strRegEnd = ""; string heatNo = ""; ArrayList parm = new ArrayList(); if (chkRegTime.Checked) { strRegStart = RegStartTime.Value.ToString(); strRegEnd = RegEndTime.Value.ToString(); } if (this.checkHeatNo.Checked) { heatNo = this.txt_heatNo.Text.Trim(); } parm.Add(heatNo); List listSource = EntityHelper.GetData( "Core.LgMes.Server.Stuffmanage.FrmStuffInventoryIn.doQueryStock", new object[] { parm, strRegStart, strRegEnd, arr }, this.ob); YdmGpStocktakinglistEntitybindingSource.DataSource = listSource; } /// /// 盘盈 /// private void doAdd() { YdmGpStocktakinglistEntity ydmStockTity = getData(); string errMessage = checkAdd(ydmStockTity); if (errMessage.Length>0) { MessageUtil.ShowTips(errMessage); return; } string ydmGpStockTity = JSONFormat.Format(ydmStockTity); if (MessageUtil.ShowYesNoAndQuestion("是否新增盘盈信息?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "Core.LgMes.Server.Stuffmanage.FrmStuffInventoryIn"; ccp.MethodName = "doAdd"; ccp.ServerParams = new object[] { ydmGpStockTity }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { if (ccp.ReturnInfo.Equals("盘盈成功!")) { doQueryData(); MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips(ccp.ReturnInfo); } } } private string checkAdd(YdmGpStocktakinglistEntity ydmStockTity) { if (ydmStockTity.MaterialName.Equals("")) { return "请选择物料信息!"; } if (ydmStockTity.Gradename.Equals("")) { return "请确认钢种是否还有效!"; } if (ydmStockTity.Dimater.Equals("")) { return "请确认直径是否还有效!"; } if (ydmStockTity.StoveNo.Equals("")) { return "请输入熔炼炉号!"; } if(ydmStockTity.JudgeStoveNo.Equals("")) { return "请输入判定炉号!"; } if (ydmStockTity.FixNum.Equals("") || !StringUtil.IsInt(ydmStockTity.FixNum.ToString3())) { return "输入的倍尺数只能为正整数!"; } if (ydmStockTity.FixLen.Equals("") || !StringUtil.IsInt(ydmStockTity.FixLen.ToString3())) { return "输入的单倍长度,并且需为正数字!"; } if (ydmStockTity.ActLen.Equals("") || !StringUtil.IsInt(ydmStockTity.ActLen.ToString3())) { return "输入的管坯长度,并且需为正整数!"; } if (ydmStockTity.StorageNo.Equals("")) { return "请选择仓库!"; } if (ydmStockTity.LocationNo.Equals("")) { return "请维护料架"; } if (ydmStockTity.LaryNo.Equals("")) { return "请选择层号"; } if (ydmStockTity.PlineName.Equals("")) { return "请选择产线!"; } if(ydmStockTity.BelongName.Equals("")) { return "请选择所属单位!"; } if (ydmStockTity.Gptype.Equals("")) { return "请选择管坯类型!"; } if (ydmStockTity.ProductFlag.Equals("")) { return "请选择材料类别!"; } if (ydmStockTity.MatStatus.Equals("")) { return"请选择材料状态"; } if (ydmStockTity.StocktakingRsnName.Equals("")) { return "请选择盘盈原因!"; } if (ydmStockTity.IsDealer.Equals("")) { return "请选择坯料用途!"; } if (ydmStockTity.BackFlag.Equals("")) { return "请选择是否回炉坯标识!"; } return ""; } private YdmGpStocktakinglistEntity getData() { YdmGpStocktakinglistEntity entity = new YdmGpStocktakinglistEntity(); entity.StocktakingTypeCode = "800601"; entity.StocktakingTypeName = "盘盈"; entity.StocktakingRsnCode = cmbReason.Value == null ? "" : cmbReason.Value.ToString(); entity.StocktakingRsnName = cmbReason.Text.Trim(); entity.StoveNo = this.txtStoveNo.Text.Trim(); entity.JudgeStoveNo = this.txtJudgeNo.Text.Trim(); entity.MaterialNo = this.cmbMaterail.Tag == null ? "" : cmbMaterail.Tag.ToString(); entity.MaterialName = cmbMaterail.Text; entity.Gradecode = txtGrade.Tag == null ? "" : txtGrade.Tag.ToString(); entity.Gradename = txtGrade.Text.Trim(); entity.Dimater = decimal.Parse(txtDimater.Text.Trim()); entity.FixNum = decimal.Parse(txtFixNum.Text.Trim()); entity.FixLen = decimal.Parse(txtFixLen.Text.Trim()); entity.PlineCode = cmbPline.Value == null ? "" : cmbPline.Value.ToString(); entity.PlineName = cmbPline.Text; entity.ActCount = decimal.Parse(txtNum.Text.Trim()); entity.ActWeight = decimal.Parse(txtActWgt.Value == null ? "0" : txtActWgt.Value.ToString()); entity.ActLen = decimal.Parse(txtActLen.Value == null ? "0" : txtActLen.Value.ToString()); entity.BelongCode = cmbBelong.Value == null ? "" : cmbBelong.Value.ToString(); entity.BelongName = cmbBelong.Text; entity.StorageNo = cmbStorage.Value == null ? "" : cmbStorage.Value.ToString(); entity.LocationNo = cmbLocationNo.Value == null ? "" : cmbLocationNo.Value.ToString(); entity.LocationName = cmbLocationNo.Text; entity.LaryNo = decimal.Parse(cmbLaryNo.Text); entity.CreateName = UserInfo.GetUserName(); entity.ProductFlag = cmbProductFlag.Value == null?"":cmbProductFlag.Value.ToString(); entity.MatStatus = cmbMagstatus.Value == null ? "" : cmbMagstatus.Value.ToString(); entity.JudgeResultCode = "40740701"; entity.Memo = txtMemo.Text.Trim(); entity.Gptype = cmbType.Value.ToString(); entity.BalYearMonth = DateTime.Now.ToString("yyyyMM"); entity.ManagementNo = this.UserInfo.GetDeptid(); entity.ManagementName = this.UserInfo.GetDepartment(); entity.DepartmentCode = ClsLoad.GetDepartIdBySectionId(this.UserInfo.GetDeptid(),ob); entity.DepartmentDesc = ClsLoad.GetDepartBySectionId(this.UserInfo.GetDeptid(), ob); entity.SoureCode = cmbSourceName.Value == null ? "" : cmbSourceName.Value.ToString2(); entity.SoureName = cmbSourceName.Text; entity.BackFlag = cmbHlFlag.Value == null ? "" : cmbHlFlag.Value.ToString(); entity.IsDealer = cmbDeal.Value == null ? "" : cmbDeal.Value.ToString(); return entity; } private void exportData() { GridHelper.ulGridToExcel(ultraGrid2, "盘盈实绩汇总"); } /// /// 数据验证 /// /// private bool CheckQuery() { if (DataTimeUtil.JudgeTime(DateTime.Parse(RegStartTime.Value.ToString()), DateTime.Parse(RegEndTime.Value.ToString())) == 0) { MessageUtil.ShowTips("开始时间不能大于结束时间!"); return false; } if (checkHeatNo.Checked && string.IsNullOrEmpty(this.txt_heatNo.Text.Trim())) { MessageBox.Show("请输入判定炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return false; } return true; } private void chkRegTime_CheckedChanged(object sender, EventArgs e) { RegStartTime.Enabled = this.chkRegTime.Checked; RegEndTime.Enabled = this.chkRegTime.Checked; } private void checkHeatNo_CheckedChanged(object sender, EventArgs e) { this.txt_heatNo.Enabled = this.checkHeatNo.Checked; } private void cmbMaterail_ValueChanged(object sender, EventArgs e) { string cmbMaterialCode = this.cmbMaterail.Tag.ToString(); //获取G字母位置 int len = cmbMaterialCode.IndexOf("G"); //直径代码 string dimaterCode = cmbMaterialCode.Substring(2, len-2); //钢种代码 string gradeCode = cmbMaterialCode.Substring(len); this.txtDimater.Tag = dimaterCode; this.txtDimater.Text = doQueryDimter(dimaterCode).Substring(0, doQueryDimter(dimaterCode).IndexOf(".")); this.txtGrade.Tag = gradeCode; this.txtGrade.Text = doQueryGrade(gradeCode); } private void cmbProductFlag_ValueChanged(object sender, EventArgs e) { string flag = ""; string cmbProduct = this.cmbProductFlag.Value.ToString(); if (cmbProduct == "801401") { flag = "801501"; } else if (cmbProduct == "801402") { flag = "801502"; } else if (cmbProduct == "801403") { flag = "801503"; } BaseMethod.InitMapStatusCom(cmbMagstatus, ob, flag); } /// /// 获取直径 /// /// /// private string doQueryDimter(string code) { string dimaterName = ""; DataTable ds = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmBaseInformation.doQueryDimater", new object[] { code }, ob); if (ds.Rows.Count > 0) { dimaterName = ds.Rows[0][0].ToString(); } return dimaterName; } /// /// 获取钢种 /// /// /// private string doQueryGrade(string code) { string gradeName = ""; DataTable ds = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmBaseInformation.doQueryGrade", new object[] { code }, ob); if (ds.Rows.Count > 0) { gradeName = ds.Rows[0][0].ToString(); } return gradeName; } private void cmbStorage_ValueChanged(object sender, EventArgs e) { initLocation(this.cmbStorage.Value.ToString()); } /// /// 绑定料位 /// private void initLocation(string storageNo) { BaseMethod.InitComboEditorWithParmArr(cmbLocationNo, "Core.LgMes.Server.Stuffmanage.FrmBaseInformation.doQueryLocation", "LOCATION_NO", this.ob, false, storageNo); cmbLocationNo.SelectedIndex = 0; cmbLaryNo.SelectedIndex = 0; } private void cmbMaterail_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { //this.ultraGrid2.UpdateData(); DataTable dt = ServerHelper.GetData("Core.LgMes.Server.Stuffmanage.FrmBaseInformation.doQueryMaterial", new object[] { }, ob); dt.Columns["BASENAME"].Caption = "物料名称"; BaseInfoPopup baseInfo = new BaseInfoPopup(dt, "BASENAME", "BASECODE"); baseInfo.Shown += new EventHandler((a, b) => { var actRow = baseInfo.UltraGrid1.Rows.AsQueryable().Where( c => c.GetValue("BASECODE") == this.cmbMaterail.Tag.ToString2()).FirstOrDefault(); if (actRow != null) actRow.Activate(); }); if (baseInfo.ShowDialog() == System.Windows.Forms.DialogResult.OK) { cmbMaterail.Tag = baseInfo.ChoicedRow.GetValue("BASECODE"); cmbMaterail.Text = baseInfo.ChoicedRow.GetValue("BASENAME"); } } private void txtFixNum_ValueChanged(object sender, EventArgs e) { txtActLen.Text = (int.Parse(this.txtFixLen.Text.Trim().ToString3()) * int.Parse(this.txtFixNum.Text.Trim().ToString3())).ToString(); } private void txtFixLen_ValueChanged(object sender, EventArgs e) { txtActLen.Text = (int.Parse(this.txtFixLen.Text.Trim().ToString3()) * int.Parse(this.txtFixNum.Text.Trim().ToString3())).ToString(); } private void txt_heatNo_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == 13) { if (!CheckQuery()) return; doQueryData(); } } } }