/******************************************************************************* * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:F_TAT_0103.cs * 2.功能描述:新建/编辑/复制缺陷扣罚信息 * 编辑履历: * 作者 日期 版本 修改内容 * 庄天威 2014/11/18 1.00 新建 *******************************************************************************/ using System; using System.Data; using System.Windows.Forms; using Dongke.IBOSS.PRD.Basics.BaseControls; using Dongke.IBOSS.PRD.Basics.BaseResources; using Dongke.IBOSS.PRD.Client.CommonModule; using Dongke.IBOSS.PRD.WCF.DataModels; using Dongke.IBOSS.PRD.WCF.Proxys; using Dongke.IBOSS.PRD.WCF.Proxys.TATModuleService; namespace Dongke.IBOSS.PRD.Client.TATModule { public partial class F_TAT_0103 : FormBase { #region 成员变量 // 窗体模式ID private Constant.FormMode _formType; // 操作实体ID private int? _entityId; // 操作实体信息 private DefectFineEntity _dfEntity = new DefectFineEntity(); #endregion #region 构造函数 /// /// 窗体构造 /// /// 窗体打开模式 /// 操作实体ID public F_TAT_0103(Constant.FormMode formType,int entityId) { InitializeComponent(); _formType = formType; _entityId = entityId; } #endregion #region 事件处理 /// /// 窗体加载 /// /// /// private void F_TAT_0103_Load(object sender, EventArgs e) { try { if (this._formType == Constant.FormMode.Add) { this.Text = FormTitles.F_TAT_0103_ADD; } else if (this._formType == Constant.FormMode.Edit) { this.Text = FormTitles.F_TAT_0103_EDIT; } else if (this._formType == Constant.FormMode.CopyAndAdd) { this.Text = FormTitles.F_TAT_0103_COPY; } else if (this._formType == Constant.FormMode.Display) { this.Text = FormTitles.F_TAT_0103_AUDIT; } //设定按钮的文本值 this.btnSubmit.Text = ButtonText.BTN_SAVE; this.btnClose.Text = ButtonText.BTN_CANCEL; this.btnPass.Text = Constant.BUTTON_TEXT_AUDITPASS; this.btnReturn.Text = Constant.BUTTON_TEXT_AUDITRETURN; //绑定缺陷扣罚 this.BindSelectDate(); //如果是修改,要绑定选中的信息 if (this._formType == Constant.FormMode.Edit) { this.BindPage(); } //如果是新建,选项默认值设定 else if(this._formType == Constant.FormMode.Add || this._formType == Constant.FormMode.CopyAndAdd) { this.cbCeremonial.Checked = true; this.cbCoefficient.Checked = true; // 如果是复制明细,那么扣罚类型就不可修改。 if(this._formType == Constant.FormMode.CopyAndAdd) { this.cbCoefficient.Checked = false; this.cbMoney.Checked = true; this.cbCoefficient.Enabled = false; this.cbMoney.Enabled = false; this.txtCoefficient.Enabled = false; } } //如果是审核,绑定值后,所有控件不可用,保存按钮变为明细按钮,并且审批通过与不通过按钮变为可见 else { //绑定页面实体成员变量 this.BindPage(); this.txtCoefficient.Enabled = false; this.txtDefectFineName.Enabled = false; this.txtRemarks.Enabled = false; this.lbxDefectFine.Enabled = false; this.dtpStartTime.Enabled = false; this.cbCeremonial.Enabled = false; this.cbCoefficient.Enabled = false; this.cbMoney.Enabled = false; this.cbTrial.Enabled = false; this.btnSubmit.Text = Constant.BUTTON_TEXT_DETAIL; this.btnPass.Visible = true; this.btnReturn.Visible = true; //并且,如果是按系数扣罚,明细按钮也要不可用 if(this.cbCoefficient.Checked == true) { this.btnSubmit.Enabled = false; } } } catch(Exception ex) { // 对异常进行共通处理 ExceptionManager.HandleEventException(this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex); } } /// /// 提交操作 /// /// /// private void btnSubmit_Click(object sender, EventArgs e) { //如果是审批以外的状态,进行添加信息相关的操作 if (this._formType != Constant.FormMode.Display) { //首先验证数据合法性 if (this.ValidationInput() == false) { return; } //为实体绑定属性 this.BindEntity(); //进行添加操作 ServiceResultEntity srEntity = (ServiceResultEntity)DoAsync(() => { return EntityToServer(); }); //服务实体共通处理 ServiceResultEntityManager.HandleServiceResultEntity(srEntity, this.Text); if (srEntity.Status == Constant.ServiceResultStatus.Success) { this.DialogResult = DialogResult.OK; } } else//审批操作的话,只打开明细的查看模式就可以了 { //模式化开启明细窗体 F_TAT_0102 frmTAT0102 = new F_TAT_0102(Constant.FormMode.Display, Convert.ToInt32(this._entityId)); DialogResult dialogResult = frmTAT0102.ShowDialog(); } } /// /// 窗体关闭 /// /// /// private void btnClose_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.OK; } /// /// 选项改变事件 /// /// /// private void cbCoefficient_CheckedChanged(object sender, EventArgs e) { if (this.cbCoefficient.Checked == true) { this.txtCoefficient.Enabled = true; } else { this.txtCoefficient.Enabled = false; this.txtCoefficient.Text = string.Empty; } } /// /// 选项改变事件 /// /// /// private void cbMoney_CheckedChanged(object sender, EventArgs e) { if (this.cbCoefficient.Checked == true) { this.txtCoefficient.Enabled = true; } else { this.txtCoefficient.Enabled = false; this.txtCoefficient.Text = string.Empty; } } /// /// 审批通过 /// /// /// private void btnPass_Click(object sender, EventArgs e) { //进行审核操作 this._dfEntity.AuditStatus = Convert.ToInt32(Constant.AuditStatus.Agree); ServiceResultEntity srEntity = (ServiceResultEntity)DoAsync(() => { return EntityToServer(); }); //服务实体共通处理 ServiceResultEntityManager.HandleServiceResultEntity(srEntity, this.Text); if (srEntity.Status == Constant.ServiceResultStatus.Success) { this.DialogResult = DialogResult.OK; } } /// /// 审批驳回 /// /// /// private void btnReturn_Click(object sender, EventArgs e) { //进行审核操作 this._dfEntity.AuditStatus = Convert.ToInt32(Constant.AuditStatus.Disagree); ServiceResultEntity srEntity = (ServiceResultEntity)DoAsync(() => { return EntityToServer(); }); //服务实体共通处理 ServiceResultEntityManager.HandleServiceResultEntity(srEntity, this.Text); if (srEntity.Status == Constant.ServiceResultStatus.Success) { this.DialogResult = DialogResult.OK; } } #endregion #region 私有方法/函数 /// /// 绑定检索条件数据 /// private void BindSelectDate() { try { //绑定缺陷扣罚 DataTable dtDefectFine = SystemModuleProxy.Service.GetDataDictionaryByType(Constant.DictionaryType.ASE002, Constant.INT_IS_ONE); if (dtDefectFine != null) { lbxDefectFine.DisplayMember = "DictionaryValue"; lbxDefectFine.ValueMember = "DictionaryID"; lbxDefectFine.DataSource = dtDefectFine; } } catch (Exception ex) { throw ex; } } /// /// 为实体绑定页面属性 /// private void BindEntity() { this._dfEntity.DefectFineName = this.txtDefectFineName.Text.Trim(); this._dfEntity.DefectFine = Convert.ToInt32(this.lbxDefectFine.SelectedValue); this._dfEntity.BeginAccountMonth = this.dtpStartTime.Value.Date; if(this.cbCeremonial.Checked) { this._dfEntity.SalaryType = 1; } else { this._dfEntity.SalaryType = 0; } if(this.cbCoefficient.Checked) { this._dfEntity.FineType = 1; this._dfEntity.Coefficient = Convert.ToDecimal(this.txtCoefficient.Text); } else { this._dfEntity.FineType = 2; } this._dfEntity.Remarks = this.txtRemarks.Text; this._dfEntity.AuditStatus = 0; } /// /// 与服务交互操作 /// /// private ServiceResultEntity EntityToServer() { if (this._formType == Constant.FormMode.Add) { return TATModuleProxy.Service.AddDefectFine(this._dfEntity); } else if(this._formType == Constant.FormMode.Edit) { return TATModuleProxy.Service.UpdateDefectFine(this._dfEntity); } else if(_formType == Constant.FormMode.CopyAndAdd) { this._dfEntity.CopyId = Convert.ToInt32(this._entityId); return TATModuleProxy.Service.AddDefectFine(this._dfEntity); } else if(_formType == Constant.FormMode.Display) { return TATModuleProxy.Service.AuditDefectFine(this._dfEntity); } return null; } /// /// 验证必填项 /// /// 是否通过 private bool ValidationInput() { if (string.IsNullOrWhiteSpace(this.txtDefectFineName.Text)) { this.txtDefectFineName.Focus(); return false; } if(this.lbxDefectFine.SelectedValue == null) { this.lbxDefectFine.Focus(); return false; } if (this.cbCoefficient.Checked == true && string.IsNullOrWhiteSpace(this.txtCoefficient.Text)) { this.txtCoefficient.Focus(); return false; } return true; } /// /// 清空页面 /// private void ClaerInput() { this.txtDefectFineName.Text = string.Empty; this.lbxDefectFine.Text = string.Empty; this.txtCoefficient.Text = string.Empty; this.cbCoefficient.Checked = true; this.cbCeremonial.Checked = true; this.txtRemarks.Text = string.Empty; } /// /// 绑定需要操作的实体信息 /// private void BindPage() { if(this._entityId != 0 && this._entityId != null) { this._dfEntity.DefectFineID = this._entityId; ServiceResultEntity srEntity = TATModuleProxy.Service.GetDefectFine(this._dfEntity); if (srEntity.Data != null && srEntity.Data.Tables.Count != 0 && srEntity.Data.Tables[0].Rows.Count != 0) { DataSet dsEntityData = (DataSet)srEntity.Data; DataRow drEntityRow = dsEntityData.Tables[0].Rows[0]; this.txtDefectFineName.Text = drEntityRow["DefectFineName"].ToString(); this.lbxDefectFine.SelectedValue = Convert.ToInt32(drEntityRow["DefectFine"]); int FineType = Convert.ToInt32(drEntityRow["FineType"]); if(FineType == 1) { this.cbCoefficient.Checked = true; this.txtCoefficient.Text = Convert.ToDecimal(drEntityRow["Coefficient"]).ToString(); } else { this.cbMoney.Checked = true; } int SalaryType = Convert.ToInt32(drEntityRow["SalaryType"]); this._dfEntity.SalaryType = SalaryType; if(SalaryType == 1) { this.cbCeremonial.Checked = true; } else { this.cbTrial.Checked = true; } this.txtRemarks.Text = drEntityRow["Remarks"].ToString(); this.dtpStartTime.Text = drEntityRow["BeginAccountMonth"].ToString(); this._dfEntity.BeginAccountMonth = Convert.ToDateTime(drEntityRow["BeginAccountMonth"].ToString()); //将时间戳给到要修改的实体中 this._dfEntity.OPTimeStamp = Convert.ToDateTime(drEntityRow["OPTimeStamp"]); } } } #endregion } }