using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using Lskj.Util; using Lskj.Control.Model; using Lskj.Data; using Lskj.Business.Impl; using Lskj.Model; using DevExpress.XtraTab; using DevExpress.XtraGrid.Views.Grid; using DevExpress.XtraBars; using Lskj.Business; using DevExpress.XtraEditors; using Lskj.PubAccraditation2; using System.Text.RegularExpressions; using Lskj.Core; using System.Diagnostics; namespace Lskj.Control { public partial class AuditBasePanel : UserControl { public AuditBasePanel() { InitializeComponent(); } #region 公用变量 /// /// 是否是单据审核 /// public bool isBillFlag; /// /// 审批模型 /// public AccraditationModel AccditModelObj; /// /// 基础审批用表模型 /// public BaseAuditCommonModel BaseAuditModelObj = new BaseAuditCommonModel(); /// /// 基础档案审批配置对象 /// public BaseAccraditationModel BaseAccraditModelObj ; /// /// 基础档案模型 /// public BaseAuditModel ModuleModelObj; /// /// 系统模块配置 /// public DynamicBaseAccraditionPopModel SysModel; /// /// 主表控件 /// public MyControl ControlObj; #endregion #region 私有变量 /// /// 推送模块 /// private int _beforeId; /// /// 主面板高度记录 /// private int _mainPanelHeight; /// /// 初始化完成 /// private bool _isInitFinish; /// /// 返退意见 /// private string _auditAdvic; /// /// 推送菜单名 /// private string _beforeMenuName; /// /// 推送操作人员 /// private string _beforeUsers; /// /// 当前窗体控件数据来源(配置的) /// private DataRow _baseRowData; /// /// 当前流转数据 /// private DataRow _flowRowData; /// /// 基本数据 /// private DataTable _baseTabList; /// /// 操作字段 /// private DataTable _dtFileds; /// /// 分组控件字段 /// private DataTable _dtAddGroup; /// /// 流转步骤模型 /// private FlowTypeStepModel _flowTypeStepModel; /// /// 说明:审批表格双击弹出模块审批回调 /// 创建人:龚宇超 /// 创建日期:2017-12-21 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// public event EventHandler RefreshTabCallBack; /// /// 单据水印 /// private WaterMark _waterMark; private DataRow mRowItem; #endregion #region 初始化分割条位置 /// /// 说明:初始化分割条位置 /// 创建人:龚宇超 /// 创建日期:2017-12-15 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void InitSpliterPosition() { string spliterPosition = IniHelper.Read(string.Format("base_SplitterPositionLeft_{0}", this.SysModel.ModuleCode)); if (!string.IsNullOrEmpty(spliterPosition)) this.splitContainer.SplitterPosition = Convert.ToInt32(spliterPosition); string splitterLeftPosition = IniHelper.Read(string.Format("base_spliterPositionMain_{0}", this.SysModel.ModuleCode)); if (!string.IsNullOrEmpty(splitterLeftPosition)) this.splitMain.SplitterPosition = Convert.ToInt32(splitterLeftPosition); } #endregion #region 初始化控件 /// /// 说明:窗体加载时 /// 创建人:龚宇超 /// 创建日期:2017-12-14 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The instance containing the event data. public void Init(DynamicBaseAccraditionPopModel syModel, BaseAccraditationModel BaseAccraditModelObj) { WaitForm.ShowForm(); try { //SysModel.Privilege = SysModel.ModuleId > 0 ? BaseImpl.GetUserPurviewsByMenuId(SysModel.ModuleId + "") + "" : BaseImpl.GetUserPurviewsByMenuCode(SysModel.ModuleCode) + ""; //if (!this.SysModel.HasPrivilege()) //{ // MessageUtil.Show(ResourceKeys.UnPurview); // this.Close(); //} this.SysModel = syModel; this.BaseAccraditModelObj = BaseAccraditModelObj; this._isInitFinish = false; this.splitMain.Visible = false; this.InitializeSetting(); this.InitPushOpers(); this.InitializeControl(); this.InitSpliterPosition(); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); LogHelper.Instance.WriteError(ex, ResourceKeys.BaseModuleAudit); } finally { WaitForm.HideForm(); this._isInitFinish = true; this.splitMain.Visible = true; } } /// /// 说明:初始化属性配置 /// 创建人:龚宇超 /// 创建日期:2017-12-15 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void InitializeSetting() { this.mRowItem = MainImpl.GetSystemdllTab(this.SysModel.ModuleCode); this.ModuleModelObj = new BaseAuditModel(this.mRowItem); if (string.IsNullOrEmpty(this.ModuleModelObj.FormKey)) { MessageUtil.Show(ResourceKeys.ModuleConfigError); return; } this.ModuleModelObj.PrefixKey = BaseImpl.GetColumnPrefix(this.ModuleModelObj.MenuTable); this.ModuleModelObj.ParmaryKey = BaseImpl.GetBasePrimaryKey(this.SysModel.ModuleCode); this.pcGrid.GridView.RowCellClick += new DevExpress.XtraGrid.Views.Grid.RowCellClickEventHandler(OnPcgridRowCellClick); //this._flowRowData = BaseAuditImpl.GetCurrentFlowRowData(this.ModuleModelObj.MenuTable, this.ModuleModelObj.ParmaryKey, this.SysModel.PrimaryValue); //string billType = this._flowRowData != null ? _flowRowData[this.ModuleModelObj.BillType] + "" : ""; //if (string.IsNullOrEmpty(billType) || billType == "0") //{ // MessageUtil.Show(ResourceKeys.NotSetFlowType); // return; //} //this.AccditModelObj = new AccraditationModel(BaseAuditImpl.GetCurrentStepFlow(this.SysModel.ModuleCode, this.SysModel.StepCode)); //this._baseRowData = BaseAuditImpl.GetCurrentControlData(ReplaceHelper.ReplaceWhereCond(ReplaceHelper.ReplaceUserInfo(this.ModuleModelObj.MenuSql)), this.ModuleModelObj.ParmaryKey, this.SysModel.PrimaryValue); //this.btnFileManger.Text += "(" + AttachImpl.GetFileCount(this.ModuleModelObj.MenuDirId + "", this.SysModel.PrimaryValue) + ")"; //if (this._baseRowData == null) this._baseRowData = this._flowRowData; } /// /// 设置所有状态 /// public void InitialControlstate(){ this._flowRowData = BaseAuditImpl.GetCurrentFlowRowData(this.ModuleModelObj.MenuTable, this.ModuleModelObj.ParmaryKey, this.SysModel.PrimaryValue); string billType = this._flowRowData != null ? _flowRowData[this.ModuleModelObj.BillType] + "" : ""; if (string.IsNullOrEmpty(billType) || billType == "0") { MessageUtil.Show(ResourceKeys.NotSetFlowType); return; } this.AccditModelObj = new AccraditationModel(BaseAuditImpl.GetCurrentStepFlow(this.SysModel.ModuleCode, this.SysModel.StepCode)); this._baseRowData = BaseAuditImpl.GetCurrentControlData(ReplaceHelper.ReplaceWhereCond(ReplaceHelper.ReplaceUserInfo(this.ModuleModelObj.MenuSql)), this.ModuleModelObj.ParmaryKey, this.SysModel.PrimaryValue); this.btnFileManger.Text += "(" + AttachImpl.GetFileCount(this.ModuleModelObj.MenuDirId + "", this.SysModel.PrimaryValue) + ")"; if (this._baseRowData == null) this._baseRowData = this._flowRowData; this.btnAudit.Text = this.AccditModelObj.StepApplyText; this.btnClose.Text = this.AccditModelObj.StepCloseText; //改变控件状态 foreach (string item in this.AccditModelObj.BillModifyFields.Trim(',').Split(',')) { this.ControlObj.SetReadOnlyControl(item, false, false); } SetButtonStatus(); } #region 点击加载明细 /// /// 说明:加载审核数据 /// 创建人:王一帆 /// 创建日期:2018-09-28 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. protected void OnPcgridRowCellClick(object sender, RowCellClickEventArgs e) { try { WaitForm.ShowForm(); GridView gc = sender as GridView; DataRow dr = gc.GetFocusedDataRow(); if (dr == null) return; AccraditationModel model = gc.Tag as AccraditationModel; //单据审批弹出模块 string[] defaultArgs = string.Format(ModuleArgs.DefaultArgs, this.SysModel.FormText, ERPInfo.Instance.UserId, ERPInfo.Instance.UserName, this.SysModel.Privilege, this.SysModel.ModuleCode).Split('~'); //模块Id/stepcode/点击数据键值/权限 string[] menuArgs = { "", this.SysModel.ModuleCode + "", model.StepCode, dr[this.BaseAccraditModelObj.KeyField] + "", "", "0" }; string[] args = defaultArgs.Concat(menuArgs).ToArray(); this.SysModel = new DynamicBaseAccraditionPopModel(args); InitialControlstate(); this.ControlObj.SetAllControlValue(this._baseRowData); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); LogHelper.Instance.WriteError(ex); } finally { WaitForm.HideForm(); } } #endregion /// /// 说明:初始化控件 /// 创建人:龚宇超 /// 创建日期:2017-12-15 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void InitializeControl() { //设置控件文本属性 this.Text = this.SysModel.FormText; //this.btnAudit.Text = this.AccditModelObj.StepApplyText; //this.btnClose.Text = this.AccditModelObj.StepCloseText; //this.labeltxt_managerAudit.EditText = this.SysModel.UserName; ////设置流转记录的列 //this.gridFlowRecord.GridView.RowStyle += new RowStyleEventHandler(gridFlowRecord_RowStyle); //this.gridFlowRecord.SetReadOnlyColumns(BaseAuditImpl.GetFlowRecordColumn(), GridCustomColumnStruct.AuditPopupAttachGridView + this.ModuleModelObj.FormKey); //this.gridFlowRecord.gridControl.Paint += new PaintEventHandler(gridFlow_Panint); //this.gridFlowRecord.SetGridViewDataSource(BaseAuditImpl.GetFlowRecordData(this.BaseAuditModelObj.SystemTabFlowStep, this.SysModel.PrimaryValue)); DataRow dr = BaseAuditImpl.GetCurrentStepFlow(this.SysModel.ModuleCode, this.SysModel.StepCode); //if (dr != null) //{ // //初始化流转标题 // this.label_auditPerson.Text = this.labeltxt_managerAudit.LabelText = dr["stepName"] + ""; //} //this.combox_Suggestion.ValueField = this.combox_Suggestion.TextField = "Mix_apellation"; //this.combox_Suggestion.SetDataSource(BaseImpl.GetDataTableResult(this.AccditModelObj.SuggestionSql)); //this.combox_Suggestion.TextEdit.SelectedIndex = 0; //单据水印 this._waterMark = new WaterMark(this.ModuleModelObj.PrefixKey, this._baseRowData); this.SetFormSize(); //this.SetButtonStatus(); this.CreateAccraditationControl(); //this.LoadRemindRecord(); //this.LoadSignRecord(); this.BindTab(); this.InitTabData(); this.InitCommonTools(); } /// /// 说明:初始化本次推送人员 /// 创建人:龚宇超 /// 创建日期:2018-05-22 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void InitPushOpers() { DataRow rowItem = BaseAuditImpl.GetPushedOpers(this.SysModel.PrimaryValue, this.SysModel.StepCode); if (rowItem != null) { //记录本次操作信息 this._beforeMenuName = rowItem["menuname"] + ""; this._beforeUsers = rowItem["operators"] + ""; this._beforeId = Convert.ToInt32(rowItem["id"]); } } #endregion #region 加载选项卡数据 /// /// 说明:加载选项卡数据 /// 创建人:龚宇超 /// 创建日期:2017-12-15 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void InitTabData() { foreach (XtraTabPage tabPage in this.tab_basicInfo.TabControlObj.TabPages) { GridDetailModel model = this.tab_basicInfo.GetGridDetailModel(tabPage); this.tab_basicInfo.SetGridDataSource(tabPage, MainImpl.GetDataTableResult(this.ControlObj.ReplaceControlValue(model.DetailSql))); } } #endregion #region 初始化常用工具 /// /// 说明:初始化常用工具 /// 创建人:龚宇超 /// 创建日期:2017-12-15 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void InitCommonTools() { DataTable tableCommon = BaseModuleImpl.GetBaseGridRightMenus(this.SysModel.ModuleCode, ModuleType.BaseAudit); foreach (DataRow item in tableCommon.Rows) { BarButtonItem itemCommon = new BarButtonItem(); itemCommon.Caption = item["menuname"] + ""; itemCommon.Tag = item; itemCommon.ItemClick += new ItemClickEventHandler(itemCommon_ItemClick); p_menu.AddItem(itemCommon); } } /// /// 说明:验证可操作条件 /// 创建人:龚宇超 /// 创建日期:2018-03-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. protected void dpbTools_Click(object sender, EventArgs e) { foreach (BarItemLink itemLink in this.p_menu.ItemLinks) { DataRow rowItem = itemLink.Item.Tag as DataRow; if (rowItem != null) { string menuCond = rowItem["MenuCond"] + ""; string menuCaption = itemLink.Caption; if (!string.IsNullOrEmpty(menuCond)) { try { bool result = true; menuCond = ReplaceHelper.ReplaceParamToValue(menuCond, "{" + this.ModuleModelObj.ParmaryKey + "}"); if (menuCond.StartsWith("@") || menuCond.StartsWith("!")) { result = "1".Equals(BaseImpl.GetDefaultValue(menuCond)); } else { menuCond = this.ControlObj.ReplaceControlValue(menuCond); menuCond = ReplaceHelper.ReplaceParamToValue(menuCond, "0"); // 未替换的参数所有替换为0 result = ReplaceHelper.EvalCond(menuCond); } itemLink.Item.Enabled = result; } catch (Exception ex) { MessageUtil.Show("[" + menuCaption + "] " + ResourceKeys.SetRightMenuCondFault); LogHelper.Instance.WriteError(ex); LogUtil.WriteError("验证可操作条件出错!",ex); } } } } } /// /// 说明:常用工具点击 /// 创建人:龚宇超 /// 创建日期:2017-12-21 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. protected void itemCommon_ItemClick(object sender, ItemClickEventArgs e) { DataRow rowItem = e.Item.Tag as DataRow; CommonMenu menu = new CommonMenu(this.SysModel, this.ControlObj); menu.Apply(rowItem); } #endregion #region 加载提醒记录 /// /// 说明:加载提醒记录 /// 创建人:龚宇超 /// 创建日期:2017-12-20 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// //private void LoadRemindRecord() //{ // //加载提醒 // if (!string.IsNullOrEmpty(this._flowTypeStepModel.RemindSelect)) // { // this.gridRemind.SetReadOnlyColumns(BaseAuditImpl.GetRemindColumn()); // DataTable dt = BaseAuditImpl.GetRemindinRecord(this.BaseAuditModelObj.FlowStepTable, this.BaseAuditModelObj.ComfrimTable, this.SysModel.PrimaryValue, this.SysModel.ModuleCode); // if (dt.Rows.Count > 0) // { // this.gridRemind.SetGridViewDataSource(dt); // this.tabpage_remind.Text = this.tabpage_remind.Text + "(" + dt.Rows.Count + ")"; // } // else // { // this.tabMain.TabPages.Remove(this.tabpage_remind); // } // } //} #endregion #region 加载会签记录 /// /// 说明:加载会签记录 /// 创建人:龚宇超 /// 创建日期:2017-12-20 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// //private void LoadSignRecord() //{ // DataTable dt = BaseAuditImpl.GetSignRecord(this.BaseAuditModelObj.ComfrimTable, this.SysModel.PrimaryValue, this.SysModel.ModuleCode); // if (dt.Rows.Count > 0) // { // this.gridSign.SetReadOnlyColumns(BaseAuditImpl.GetSignRecordCoulumn()); // this.gridSign.SetGridViewDataSource(dt); // this.tabpage_sign.Text = this.tabpage_sign.Text + "(" + dt.Rows.Count + ")"; // } // else // { // this.tabMain.TabPages.Remove(this.tabpage_sign); // } //} #endregion #region 绑定选项卡 /// /// 说明:绑定选项卡 /// 创建人:龚宇超 /// 创建日期:2017-12-20 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void BindTab() { this._baseTabList = BaseAuditImpl.GetAttachTabs(this.SysModel.ModuleCode, this.SysModel.StepCode); this.tab_basicInfo.Model = this.SysModel; this.tab_basicInfo.InitTabPages(GetTabDetails()); this.tab_basicInfo.OnRightCallback += new EventHandler(tabBasicInfo_OnRightCallback); //设置高度 SetTabHeight(); } /// /// 说明:单据右键菜单执行后刷新数据 /// 创建人:龚宇超 /// 创建日期:2018-01-15 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. protected void tabBasicInfo_OnRightCallback(object sender, EventArgs e) { GridDetailModel model = this.tab_basicInfo.GetFocusTabPageGridDetailModel(); this.tab_basicInfo.SetGridDataSource(MainImpl.GetDataTableResult(this.ControlObj.ReplaceControlValue(model.DetailSql))); } /// /// 说明:获取选项卡数据 /// 创建人:龚宇超 /// 创建日期:2018-01-15 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private List GetTabDetails() { List details = new List(); DataTable table = BaseAuditImpl.GetAttachTabs(this.SysModel.ModuleCode, this.SysModel.StepCode); foreach (DataRow item in table.Rows) { DataTable dtGridColumns = BaseAuditImpl.GetBottomBasicInformation(item["formKey"] + ""); GridDetailModel gridDeatilModel = new GridDetailModel(item, dtGridColumns, GridCustomColumnStruct.AuditPopupDetailGridView + item["formKey"] + ""); //控制只读 //gridDeatilModel.DetailSql = "1"; details.Add(gridDeatilModel); } return details; } #endregion #region 设置控件高度 /// /// 说明:设置控件容器高度 /// 创建人:龚宇超 /// 创建日期:2017-12-20 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void SetTabHeight() { if (this._baseTabList.Rows.Count > 0) { this.Height = this.Height + 200; this.pl_main.Height = this.pl_main.Height < 350 ? 350 : this.pl_main.Height; this.Height = this.pl_main.Height + 300; this.pl_main.Height = this.Height - 340; } else { this.Height = this.Height - 50; this.Height = this._mainPanelHeight > 600 ? this._mainPanelHeight : this.Height; this.splitMain.PanelVisibility = SplitPanelVisibility.Panel1; } } #endregion #region 设置窗口大小 /// /// 说明:设置弹出窗体大小 /// 创建人:龚宇超 /// 创建日期:2017-12-15 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void SetFormSize() { //this.WindowState = FormWindowState.Normal; DataRow drSize = BaseModuleImpl.GetControlParentSize(this.ModuleModelObj.FormKey); if (drSize != null) { int height = Convert.ToInt32(drSize["height"]); int width = Convert.ToInt32(drSize["width"]); this.Height = height + 150; this.splitContainer.SplitterPosition = height > 0 ? height : 0; this.Width = (width > 0 ? width : this.Width) + 250; } this._mainPanelHeight = this.splitContainer.Panel1.Height; this.Width = this.Width > Screen.PrimaryScreen.WorkingArea.Width ? Screen.PrimaryScreen.WorkingArea.Width : this.Width; this.Height = this.Height > Screen.PrimaryScreen.WorkingArea.Height ? Screen.PrimaryScreen.WorkingArea.Height : this.Height; this.Left = (Screen.PrimaryScreen.WorkingArea.Width - this.Width)/2; this.Top = (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2; } #endregion #region 设置按钮状态 /// /// 说明:初始化设置按钮状态 /// 创建人:龚宇超 /// 创建日期:2017-12-15 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void SetButtonStatus() { //获取当前流转步骤 DataRow currentFlowStep = BaseAuditImpl.GetCurrentFlowStep(this.SysModel.ModuleCode, this._flowRowData[this.ModuleModelObj.BillType] + "", this.SysModel.StepCode); if (currentFlowStep == null) { MessageUtil.Show(ResourceKeys.FlowStepConfigError); return; } this._flowTypeStepModel = new FlowTypeStepModel(currentFlowStep); string operUser = this._flowTypeStepModel.OperUser; if (BaseImpl.GetDataRowResult(this.AccditModelObj.FlowOperSql) != null) { DataRow flowOper = BaseAuditImpl.GetFlowOperators(this.SysModel.ModuleCode, this.SysModel.PrimaryValue, this.SysModel.StepCode); operUser = flowOper == null ? operUser : flowOper["operators"] + ""; } //如果已经终审按钮为窗口默认设置,否则 if (this.SysModel.StepOver != "1") { this.btnClose.Visible = this.btnClose.Enabled = this._flowTypeStepModel.StepClosed == 1; this.btnBack.Enabled = this.btnSave.Enabled = this.btnClose.Enabled = operUser.Contains(this.SysModel.UserName); if (SysModel.HasReadPrivilege()) { this.btnSave.Enabled = false; } this.btnAudit.Enabled = true; } } #endregion #region 动态创建控件 /// /// 说明:动态创建控件 /// 创建人:龚宇超 /// 创建日期:2017-12-15 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void CreateAccraditationControl() { this._dtFileds = BaseModuleImpl.GetControlLocation(this.ModuleModelObj.FormKey, this.SysModel.ModuleCode); this._dtAddGroup = BaseModuleImpl.GetAddGroupData(this.ModuleModelObj.FormKey); this.ControlObj = new MyControl(); this.ControlObj.InitControl(this._dtFileds, pl_main, this._dtAddGroup); this.ControlObj.SetReadOnlyAllControl(true); } #endregion #region 绘制水印 /// /// 说明:绘制水印 /// 创建人:龚宇超 /// 创建日期:2017-12-21 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void gridFlow_Panint(object sender, PaintEventArgs e) { if (this._waterMark != null) { System.Windows.Forms.Control control = sender as System.Windows.Forms.Control; GraphicsText graphicsText = new GraphicsText(); graphicsText.Graphics = e.Graphics; // 绘制围绕点旋转的文本 StringFormat format = new StringFormat(); format.Alignment = StringAlignment.Center; format.LineAlignment = StringAlignment.Center; int x = (control.Width - 90) / 2; int y = (control.Height - 32) / 2; // 绘制单据状态文本 if (!string.IsNullOrEmpty(this._waterMark.Text)) { graphicsText.DrawString(this._waterMark.Text, new Font("宋体", 20, FontStyle.Bold), new SolidBrush(Color.Red), new PointF(x, y), format, -20f); e.Graphics.TranslateTransform(x, y); e.Graphics.RotateTransform(-20f); e.Graphics.DrawRectangle(new Pen(Color.Red, 2f), new Rectangle(-45, -19, 90, 32)); } } } #endregion #region 附件 /// /// 说明:附件操作 /// 创建人:龚宇超 /// 创建日期:2017-12-21 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void btnAttach_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(this.SysModel.PrimaryValue)) { MessageUtil.Show(ResourceKeys.NotFoundMaterielNo); return; } // 固定传入参数(窗口标题、操作员ID、操作员名称、权限、模版编号) string[] defaultArgs = string.Format(ModuleArgs.DefaultArgs, this.SysModel.FormText, this.SysModel.UserId, this.SysModel.UserName, this.SysModel.Privilege, this.SysModel.ModuleCode).Split('~'); string[] menuArgs = { string.Format(ModuleArgs.PubPhotoViewArgs, this.SysModel.PrimaryValue), "0", this.ModuleModelObj.MenuDirId + "", "" }; string[] args = defaultArgs.Concat(menuArgs).ToArray(); IForm form = FormHelper.LoadDllForm(ResourceDynamic.PhotoView, args); DialogResult result = form.SubForm.ShowDialog(); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } #endregion #region 更改保存 /// /// 说明:更新保存操作 /// 创建人:龚宇超 /// 创建日期:2017-12-21 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. private void btnSave_Click(object sender, EventArgs e) { } #endregion #region 审核 /// /// 说明:审核 /// 创建人:龚宇超 /// 创建日期:2017-12-21 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. private void btnAudit_Click(object sender, EventArgs e) { try { FrmExamine frmExamine = new FrmExamine(); frmExamine.ExamineOkCallBack += new EventHandler(ExamineOkCallBack); frmExamine.CheckSuggestion.ValueField = frmExamine.CheckSuggestion.TextField = "Mix_apellation"; frmExamine.CheckSuggestion.SetDataSource(BaseImpl.GetDataTableResult(this.AccditModelObj.SuggestionSql)); frmExamine.CheckSuggestion.TextEdit.SelectedIndex = 0; frmExamine.ShowDialog(); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 说明:审核 /// 创建人:龚宇超 /// 创建日期:2017-12-21 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. private void ExamineOkCallBack(object sender, EventArgs e) { try { FrmExamine frmExamine = sender as FrmExamine; if (this.SysModel.ConfirmId == "1") { if (BaseAuditImpl.SetBaseFlowComfirm(this.SysModel.UserId, this.SysModel.ModuleCode, this.SysModel.PrimaryValue, frmExamine.txtRemark.EditText) > 0) { MessageUtil.Show(ResourceKeys.ConfirmSuccess); if (RefreshTabCallBack != null) RefreshTabCallBack(sender, e); frmExamine.Close(); } else { MessageUtil.Show(ResourceKeys.ConfirmFail); } } else { bool isAudit = true; string confirmOpers = string.Empty, remindOpers = string.Empty; if (this._flowTypeStepModel.RemindSelect == "1") { FrmRemindSelectForm formRemind = new FrmRemindSelectForm(); formRemind.FieldValue = this.SysModel.PrimaryValue; formRemind.MenuCode = this.SysModel.ModuleCode; isAudit = formRemind.ShowDialog() == DialogResult.Yes; confirmOpers = formRemind.ConfirmOpers; remindOpers = formRemind.RemindOpers; } if (isAudit) { //确认是否审批 if (MessageUtil.Show(string.Format(ResourceKeys.ConfirmIsAudit), MessageBoxButtons.YesNo) == DialogResult.Yes) { if (this.ControlObj.VerifyNull()) { string parmaryValue = this.SysModel.PrimaryValue; string nextSelectStepCode = string.Empty; string nextSelectStepOper = string.Empty; if (this.ControlObj.SaveBaseModuleData(this.SysModel.ModuleCode, this.ModuleModelObj.MenuTable, this.ModuleModelObj.ParmaryKey, ref parmaryValue, false, "", false, this.ModuleModelObj.NewVer)) { string result = BaseAuditImpl.Audit(out nextSelectStepCode, out nextSelectStepOper, this.SysModel, this.SysModel.StepCode, this.SysModel.PrimaryValue, "", this.BaseAuditModelObj.ProcedureName, "F", this._flowTypeStepModel.RemindSelect, frmExamine.txtRemark.EditText, remindOpers, confirmOpers); if ("1".Equals(result)) { MessageUtil.Show(ResourceKeys.AuditSuccess); //推送消息 PushHelper push = new PushHelper(this.SysModel.PrimaryValue, this.SysModel.StepCode, this.SysModel.ModuleCode, this._beforeUsers, this._beforeMenuName, this._beforeId); push.Push_Base_Oper_Message(); frmExamine.DialogResult = DialogResult.OK; if (RefreshTabCallBack != null) RefreshTabCallBack(sender, e); } else { MessageUtil.Show(ResourceKeys.AuditFail + "\r\n" + result); } } } } } } } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } #endregion #region 返退操作 /// /// 说明:返退 /// 创建人:龚宇超 /// 创建日期:2017-12-22 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. private void btnReturnd_Click(object sender, EventArgs e) { try { int returnd = ExecuteBackSelect(this._baseRowData); if (returnd == -9) return; string nextSelectStepCode = string.Empty; string nextSelectStepOper = string.Empty; //确认审核不通过并反退该单据? if (MessageUtil.Show(string.Format(ResourceKeys.ConfimAuditFailAndReturnBill), MessageBoxButtons.YesNo) == DialogResult.Yes) { string result = BaseAuditImpl.Audit(out nextSelectStepCode, out nextSelectStepOper, this.SysModel, this.SysModel.StepCode, this.SysModel.PrimaryValue, "", this.BaseAuditModelObj.ProcedureName, "R", "", _auditAdvic, "", "", true, returnd); if ("1".Equals(result)) { MessageUtil.Show(ResourceKeys.ForcedSuccess); //暂未推送消息 PushHelper push = new PushHelper(this.SysModel.PrimaryValue, this.SysModel.StepCode, this.SysModel.ModuleCode, this._beforeUsers, this._beforeMenuName, this._beforeId); push.Push_Base_Oper_Message(); } else { MessageUtil.Show(ResourceKeys.ForcedFail + "\r\n" + result); } } } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } /// /// 说明:执行返退选择 /// 创建人:龚宇超 /// 创建日期:2017-12-22 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The row. /// System.Int32. private int ExecuteBackSelect(DataRow row) { if (row == null) { MessageUtil.Show(ResourceKeys.NoFindAntiauditBill); return -9; } if (this.ModuleModelObj.BackSelected == "0") return -1; if (this.SysModel.StepCode == "100") return 0; FrmBackSelect frmBackSel = new FrmBackSelect(); frmBackSel.Sysmodel = this.SysModel; frmBackSel.ModuleModelObj = this.ModuleModelObj; frmBackSel.InitControl(false); if (frmBackSel.ShowDialog() != DialogResult.OK) return -9; this._auditAdvic = frmBackSel.ComfirmMsg; return frmBackSel.SelectStepCode; } #endregion #region 分割条位置改变 /// /// 说明:分割条位置改变事件 /// 创建人:龚宇超 /// 创建日期:2017-12-21 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// private void splitContainer_SplitterPositionChanged(object sender, EventArgs e) { if (_isInitFinish) { IniHelper.Write(string.Format("base_SplitterPositionLeft_{0}", this.SysModel.ModuleCode), this.splitContainer.SplitterPosition + ""); } } private void splitMain_SplitterPositionChanged(object sender, EventArgs e) { if (this._isInitFinish) { IniHelper.Write(string.Format("base_spliterPositionMain_{0}", this.SysModel.ModuleCode), this.splitMain.SplitterPosition + ""); } } #endregion private void simpleButton1_Click(object sender, EventArgs e) { try { WebBrowserUtil.StartWebBrowser(this.SysModel.ModuleCode, mRowItem["ToolsName"] + ""); } catch (Exception ex) { string Message = ErrorMessage.PromptErrorMessage(ex); MessageUtil.Show(Message,ex.Message); } } } }