/******************************************************************************* * Copyright(c) 2020 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:F_PM_0505.cs * 2.功能描述:窑炉更新财年 * 编辑履历: * 作者 日期 版本 修改内容 * 付斌 2020/06/24 1.00 新建 *******************************************************************************/ using System; using System.Data; using System.Windows.Forms; using Dongke.IBOSS.PRD.Basics.BaseResources; using Dongke.IBOSS.PRD.Basics.Library; using Dongke.IBOSS.PRD.Client.CommonModule; using Dongke.IBOSS.PRD.WCF.DataModels; using Dongke.IBOSS.PRD.WCF.Proxys; using Dongke.WinForm.Controls; namespace Dongke.IBOSS.PRD.Client.PMModule { /// /// 组织机构新建/编辑界面 /// public partial class F_PM_0505 : FormDialog { #region 成员变量 DataTable _dtKilntInfo = null; #endregion #region 构造函数 /// /// 构造函数 /// public F_PM_0505() { InitializeComponent(); // 标题 Text = FormTitles.F_PM_0505; // 按钮 btnSave.Text = ButtonText.BTN_SAVE; } #endregion #region 事件 /// /// 窗体加载事件 /// /// /// private void F_PM_0505_Load(object sender, EventArgs e) { try { // 获取窑炉信息 DataSet dsResultAccount = SystemModuleProxy.Service.GetAllKilntInfo(); if (dsResultAccount != null && dsResultAccount.Tables.Count > 0 && dsResultAccount.Tables[0].Rows.Count > 0) { _dtKilntInfo = dsResultAccount.Tables[0]; } else { // 提示信息 MessageBox.Show("当前系统中不存在窑炉,请重新加载或配置窑炉信息", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); Close(); return; } string kilnCode = Utility.ReadIniFile(Constant.INI_SECTION_SETTINGS, Constant.INI_KEY_KILN_CODE, LocalPath.LocalINIFilePath).Trim(); if (!string.IsNullOrEmpty(kilnCode)) { txtKiln.Text = kilnCode; // 设置窑炉信息 SetSKInfo(); } else { txtKiln.Focus(); } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex); } } /// /// 保存按钮事件 /// /// /// private void btnSave_Click(object sender, EventArgs e) { try { if (!SetSKInfo(true)) { return; } DialogResult drs = MessageBox.Show( string.Format("请确认窑炉【{0}】【{1}】第【{2}】次烧成的窑车已全部入窑,确定后窑号将增加?", txtKiln.Text.Trim(), txtSKDate.Text, txtSKBatchNo.Text), Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (drs == DialogResult.Yes) { // 异步处理 ClientRequestEntity cre = new ClientRequestEntity(); cre.NameSpace = "F_PM_0505"; cre.Name = "SaveSKBatchNo"; cre.Properties["KilnCode"] = txtKiln.Text.Trim(); cre.Properties["Remarks"] = txtRemarks.Text.Trim(); ServiceResultEntity sre = null; DoAsync(() => { return PMModuleProxyNew.Service.HandleRequest(cre); }, out sre); if (sre.Status == Constant.ServiceResultStatus.Success) { if (sre.OtherStatus > 0) { MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "更新财年", "保存"), Text, MessageBoxButtons.OK, MessageBoxIcon.Information); DialogResult = DialogResult.OK; Close(); } else if (sre.OtherStatus < 0 && !string.IsNullOrEmpty(sre.Message)) { MessageBox.Show(string.Format(Messages.MSG_CMN_W007, sre.Message), Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show(string.Format(Messages.MSG_CMN_W001, "更新财年", "保存"), Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBox.Show(string.Format(Messages.MSG_CMN_W001, "更新财年", "保存"), Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex); } } /// /// 键盘按下事件 /// /// /// private void txtKiln_KeyPress(object sender, KeyPressEventArgs e) { try { if (e.KeyChar == Constant.SYSTEM_KEYBOARD_ENTER_VALUE) // 按了回车键 { if (string.IsNullOrEmpty(txtKiln.Text.Trim())) { return; } // 设置窑炉信息 SetSKInfo(true); } } catch (Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 窑炉编码改变事件 /// /// /// private void txtKiln_TextChanged(object sender, EventArgs e) { txtSKDate.Text = string.Empty; txtSKBatchNo.Text = string.Empty; } #endregion #region 私有方法 /// /// 设置窑炉信息 /// /// 是否校验窑炉编码,而非初始加载 private bool SetSKInfo(bool isCheck = false) { try { DataView dv = _dtKilntInfo.DefaultView; dv.RowFilter = "ValueFlag = '1' and KilnCode='" + txtKiln.Text.Trim() + "'"; DataTable dt = dv.ToTable(); if (dt.Rows.Count > 0) { DataRow drKiln = dt.Rows[0]; int sk_Date = 0; int.TryParse(drKiln["SK_Date"] + "", out sk_Date); int sk_BatchNo = 0; int.TryParse(drKiln["SK_BatchNo"] + "", out sk_BatchNo); if (sk_Date == 0) { sk_Date = DateTime.Now.Year; } else if (sk_Date + 1 < DateTime.Now.Year) { sk_Date = DateTime.Now.Year; sk_BatchNo = 1; } txtSKDate.Text = sk_Date + ""; txtSKBatchNo.Text = sk_BatchNo + ""; if (isCheck) { // 保存业务系统配置 Utility.WriteIniFile(Constant.INI_SECTION_SETTINGS, Constant.INI_KEY_KILN_CODE, this.txtKiln.Text.Trim(), LocalPath.LocalINIFilePath); } return true; } else { if (isCheck) { // 提示信息 MessageBox.Show("不存在此窑炉编号", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } txtKiln.SelectAll(); txtKiln.Focus(); return false; } } catch (Exception ex) { throw ex; } } #endregion } }