基线 SVN r240
SVN-Revision: r240
This commit is contained in:
@@ -0,0 +1,735 @@
|
||||
using DevExpress.Utils;
|
||||
using DevExpress.XtraEditors;
|
||||
using DevExpress.XtraTab;
|
||||
using Lskj.Business;
|
||||
using Lskj.Business.Impl;
|
||||
using Lskj.Control;
|
||||
using Lskj.Control.Model;
|
||||
using Lskj.Core;
|
||||
using Lskj.Data;
|
||||
using Lskj.Model;
|
||||
using Lskj.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Lskj.PubVoucherPush
|
||||
{
|
||||
public partial class FrmMain : BaseForm
|
||||
{
|
||||
/// <summary>
|
||||
/// 模块类
|
||||
/// </summary>
|
||||
public DynamicVoucher SysModel;
|
||||
/// <summary>
|
||||
/// 主程序的基础模型
|
||||
/// </summary>
|
||||
public ModuleModel MoudleMainObj;
|
||||
|
||||
/// <summary>
|
||||
/// 右键参数
|
||||
/// </summary>
|
||||
public MyControl rightControl;
|
||||
|
||||
/// <summary>
|
||||
/// 右侧表格行中的模块号,和对应的左侧页签号
|
||||
/// </summary>
|
||||
public Dictionary<string, int> TabInformation = new Dictionary<string, int>();
|
||||
/// <summary>
|
||||
/// 主键
|
||||
/// </summary>
|
||||
public string ParmaryKey;
|
||||
/// <summary>
|
||||
/// 开始日期
|
||||
/// </summary>
|
||||
public DateTime StartDate
|
||||
{
|
||||
get
|
||||
{
|
||||
return new DateTime(zdrq.TextEdit.DateTime.Year, zdrq.TextEdit.DateTime.Month, 1);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 结束日期
|
||||
/// </summary>
|
||||
public DateTime EndDate
|
||||
{
|
||||
get
|
||||
{
|
||||
return new DateTime(zdrq.TextEdit.DateTime.Year, zdrq.TextEdit.DateTime.Month, 1).AddMonths(1).AddDays(-1);
|
||||
}
|
||||
}
|
||||
public FrmMain()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:窗口初始化</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-21 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
WaitForm.ShowForm();
|
||||
try
|
||||
{
|
||||
if (SysModel != null)
|
||||
{
|
||||
|
||||
//隐藏标签
|
||||
this.xtc_container.ShowTabHeader = DefaultBoolean.False;
|
||||
this.InitializationConditions();
|
||||
this.InitializeLeftTable();
|
||||
this.InitSpliterPosition();
|
||||
this.splitMain.SplitterPositionChanged += SplitMain_SplitterPositionChanged;
|
||||
this.btnCondSearch.Click += BtnCondSearch_Click;
|
||||
|
||||
this.OnGridLeftRowClick(null, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//MessageUtil.Show(ex.Message + "\r\n" + ex.StackTrace);
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message, ex.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this);
|
||||
}
|
||||
WaitForm.HideForm();
|
||||
}
|
||||
/// <summary>
|
||||
/// 初始化上方条件
|
||||
/// </summary>
|
||||
private void InitializationConditions()
|
||||
{
|
||||
DateTime now = DateTime.Now;
|
||||
zdrq.EditText = new DateTime(now.Year, now.Month, 1) + "";
|
||||
|
||||
zdrq.TextEdit.Properties.DisplayFormat.FormatString = "yyyy年MM月";
|
||||
zdrq.TextEdit.Properties.DisplayFormat.FormatType = FormatType.Custom;
|
||||
zdrq.TextEdit.Properties.EditFormat.FormatString = "yyyy年MM月";
|
||||
zdrq.TextEdit.Properties.EditFormat.FormatType = FormatType.Custom;
|
||||
zdrq.TextEdit.Properties.Mask.EditMask = "yyyy年MM月";
|
||||
zdrq.TextEdit.Properties.Mask.UseMaskAsDisplayFormat = true;
|
||||
zdrq.TextEdit.Properties.VistaCalendarViewStyle = DevExpress.XtraEditors.VistaCalendarViewStyle.YearView;
|
||||
|
||||
//右键条件参数
|
||||
pzz.TextField = "ctext";
|
||||
pzz.ValueField = "csign";
|
||||
pzz.ValueMember = "csign";
|
||||
try
|
||||
{
|
||||
pzz.SetDataSource(SqlHelper.ExecuteDataTable("select * from UFDATA_001_2024.dbo.dsign"));
|
||||
pzz.TextEdit.SelectedIndex = 0;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
fjs.EditText = "0";
|
||||
|
||||
jfkmhb.EditText = "1";
|
||||
dfkmhb.EditText = "1";
|
||||
jffmhb.EditText = "1";
|
||||
dffmhb.EditText = "1";
|
||||
tbhxls.EditText = "1";
|
||||
sfxjhd.EditText = "1";
|
||||
|
||||
|
||||
this.rightControl = new MyControl();
|
||||
rightControl.ParentPanel = pl_top;
|
||||
}
|
||||
/// <summary>
|
||||
/// 初始化左侧表
|
||||
/// </summary>
|
||||
private void InitializeLeftTable()
|
||||
{
|
||||
//获得模块属性
|
||||
this.MoudleMainObj = new ModuleModel(MainImpl.GetSystemdllTab(this.SysModel.ModuleCode));//获取主模块构建类
|
||||
//获取主键
|
||||
this.ParmaryKey = BaseImpl.GetBasePrimaryKey(this.SysModel.ModuleCode);
|
||||
//获取设置左侧表列数据
|
||||
DataTable LeftGridColumns = BaseModuleImpl.GetBaseGridColumns(this.SysModel.ModuleCode);
|
||||
this.gridLeft.SetReadOnlyColumns(LeftGridColumns);
|
||||
DataTable rightMenus = BaseModuleImpl.GetBaseGridRightMenus(this.SysModel.ModuleCode);
|
||||
this.gridLeft.SetGridRightMenus(rightMenus, this.SysModel, OnGridViewRightCallBack, rightControl);
|
||||
this.gridLeft.gridViewRightMenu.AllowRightCallback = true;
|
||||
this.gridLeft.gridViewRightMenu.OnBeforeHandleParamsCallback += OnBeforeHandleParamsCallback;
|
||||
//设置左侧数据源
|
||||
string menuSql = this.MoudleMainObj.MenuSql.Replace("{year}", StartDate.Year.ToString()).Replace("{month}", StartDate.Month.ToString());
|
||||
this.gridLeft.gridControl.DataSource = BaseImpl.GetDataTableResult(menuSql);
|
||||
//左侧表格行改变,刷新右侧表格列
|
||||
this.gridLeft.GridView.RowClick += OnGridLeftRowClick;
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:初始化分割条位置</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-12-15</para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void InitSpliterPosition()
|
||||
{
|
||||
string spliterPosition = IniHelper.Read(string.Format("PubVoucherPush__splitMain{0}", this.SysModel.ModuleCode));
|
||||
if (!string.IsNullOrEmpty(spliterPosition)) this.splitMain.SplitterPosition = Convert.ToInt32(spliterPosition);
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:拿到底部表格数据</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-21 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <returns>List<GridDetailModel>.</returns>
|
||||
private List<GridDetailModel> GetDetails(string mainModuleCode)
|
||||
{
|
||||
List<GridDetailModel> details = new List<GridDetailModel>();//表格明细对象的集合
|
||||
DataTable table = BaseModuleImpl.GetBaseDetailPages(mainModuleCode);// 根据传入的模块编号获得基础档案底部标签的数据
|
||||
|
||||
foreach (DataRow item in table.Rows)
|
||||
{
|
||||
DataTable gridColumns = ReportImpl.GetReportDetailColumns(mainModuleCode, item["id"] + "");//获取报表明细列
|
||||
details.Add(new GridDetailModel(item, gridColumns, GridCustomColumnStruct.BaseDetailGridView));
|
||||
}
|
||||
return details;
|
||||
}
|
||||
/// <summary>
|
||||
/// 左侧表点击事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void OnGridLeftRowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
DataRow rowItem = this.gridLeft.GetViewFocusedDataRow();
|
||||
//刷新右侧上方表格列
|
||||
if (rowItem != null && !string.IsNullOrEmpty(MoudleMainObj.MainModuleCodeField) && this.gridLeft.GridView.Columns.ColumnByFieldName(MoudleMainObj.MainModuleCodeField) != null)
|
||||
{
|
||||
string mainModuleCode = rowItem[MoudleMainObj.MainModuleCodeField] + "";
|
||||
int value = 0;
|
||||
if (TabInformation.TryGetValue(mainModuleCode, out value))
|
||||
{
|
||||
//页签中已经存在,直接切换页签
|
||||
this.xtc_container.SelectedTabPageIndex = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
//添加新页签
|
||||
GridControlEx sendGridEx = new GridControlEx();
|
||||
sendGridEx.Dock = DockStyle.Fill;
|
||||
|
||||
//创建新的XtraTabControl
|
||||
XtraTabControl innerTabControl = new XtraTabControl();
|
||||
innerTabControl.Dock = DockStyle.Fill;
|
||||
|
||||
//创建"待推送"页签
|
||||
XtraTabPage tabPageFailed = new XtraTabPage();
|
||||
tabPageFailed.Text = "待推送";
|
||||
ModuleGridDetailEx failedGridControlEx = new ModuleGridDetailEx(); // 创建新的GridControlEx实例
|
||||
failedGridControlEx.Dock = DockStyle.Fill;
|
||||
ModuleModel SysModel = new ModuleModel(MainImpl.GetSystemdllTab(mainModuleCode));
|
||||
DynamicModel dyncModel = new DynamicModuleModel(new string[] { "待推送", ERPInfo.Instance.UserId, ERPInfo.Instance.UserName, "2", mainModuleCode, "0" });
|
||||
failedGridControlEx.GridDetailList = GetDetails(mainModuleCode);// 底部多标签表格数据
|
||||
|
||||
SysModel.CsHasDefultSearch = false;
|
||||
//failedGridControlEx.ModuleGridObj.SearchObj = rightControl;
|
||||
failedGridControlEx.InitializeControl(SysModel, dyncModel);
|
||||
failedGridControlEx.ModuleGridObj.GridControlObj.gridViewRightMenu.OnBeforeHandleParamsCallback += OnBeforeHandleParamsCallback;
|
||||
failedGridControlEx.ModuleGridObj.VisibleSearchPanel = false;
|
||||
failedGridControlEx.ModuleGridObj.GridControlObj.ParentControl = rightControl;
|
||||
failedGridControlEx.ModuleGridObj.GridControlObj.gridViewRightMenu.SetRightCallback(OnGridViewRightCallBack);
|
||||
failedGridControlEx.ModuleGridObj.GridControlObj.gridViewRightMenu.AllowRightCallback = true;
|
||||
tabPageFailed.Controls.Add(failedGridControlEx);
|
||||
innerTabControl.TabPages.Add(tabPageFailed);
|
||||
tabPageFailed.Tag = failedGridControlEx;
|
||||
|
||||
//创建"推送成功"页签
|
||||
XtraTabPage tabPageSuccess = new XtraTabPage();
|
||||
tabPageSuccess.Text = "推送成功";
|
||||
DynamicModel dyncModelnew = new DynamicModuleModel(new string[] { "推送成功", ERPInfo.Instance.UserId, ERPInfo.Instance.UserName, "2", mainModuleCode, "0" });
|
||||
sendGridEx.Model = dyncModelnew;
|
||||
sendGridEx.SetReadOnlyColumns(BaseModuleImpl.GetBaseGridColumns(mainModuleCode));
|
||||
ModuleModel sendModel = new ModuleModel(MainImpl.GetSystemdllTab(mainModuleCode));
|
||||
sendGridEx.Tag = sendModel;
|
||||
tabPageSuccess.Controls.Add(sendGridEx);
|
||||
innerTabControl.TabPages.Add(tabPageSuccess);
|
||||
tabPageSuccess.Tag = sendGridEx;
|
||||
//设置上方右键菜单
|
||||
sendGridEx.ParentControl = rightControl;
|
||||
DataTable rightMenus = BaseModuleImpl.GetBaseGridRightMenus(mainModuleCode);
|
||||
sendGridEx.SetGridRightMenus(rightMenus, this.SysModel, OnGridViewRightCallBack, rightControl);
|
||||
sendGridEx.gridViewRightMenu.AllowRightCallback = true;
|
||||
sendGridEx.gridViewRightMenu.OnBeforeHandleParamsCallback += OnBeforeHandleParamsCallback;
|
||||
//将innerTabControl添加到新的页签中
|
||||
XtraTabPage page = new XtraTabPage();
|
||||
page.Tag = innerTabControl; // 将innerTabControl作为Tag
|
||||
page.Dock = DockStyle.Fill;
|
||||
page.Controls.Add(innerTabControl);
|
||||
this.xtc_container.TabPages.Add(page);
|
||||
this.TabInformation.Add(mainModuleCode, this.xtc_container.TabPages.Count - 1);
|
||||
this.xtc_container.SelectedTabPageIndex = this.xtc_container.TabPages.Count - 1;
|
||||
}
|
||||
|
||||
//刷新右侧
|
||||
BtnCondSearch();
|
||||
//this.BtnCondSearch_Click(null, null);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message, ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 右键执行后刷新数据
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void OnGridViewRightCallBack(object sender, EventArgs e)
|
||||
{
|
||||
//BtnCondSearch();
|
||||
this.BtnCondSearch_Click(null, null);
|
||||
}
|
||||
/// <summary>
|
||||
/// 分割条改变时
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void SplitMain_SplitterPositionChanged(object sender, EventArgs e)
|
||||
{
|
||||
IniHelper.Write(string.Format("PubVoucherPush__splitMain{0}", this.SysModel.ModuleCode), this.splitMain.SplitterPosition + "");
|
||||
}
|
||||
/// <summary>
|
||||
/// 搜索按钮点击后刷新当前选中页签的数据源
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void BtnCondSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
int selectIndex = this.gridLeft.GridView.FocusedRowHandle;
|
||||
string menuSql = this.MoudleMainObj.MenuSql.Replace("{year}", StartDate.Year.ToString()).Replace("{month}", StartDate.Month.ToString());
|
||||
this.gridLeft.gridControl.DataSource = BaseImpl.GetDataTableResult(menuSql);
|
||||
this.gridLeft.GridView.FocusedRowHandle = selectIndex;
|
||||
BtnCondSearch();
|
||||
}
|
||||
/// <summary>
|
||||
/// 右键参数替换前执行
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void OnBeforeHandleParamsCallback(object sender, HandleParamsArgs e)
|
||||
{
|
||||
string fieldValue = e.FieldValue;
|
||||
string item = e.ParamItem;
|
||||
DataRow detailRow = null;
|
||||
DataRow focusedRow = e.FocusedRow;
|
||||
DataRow leftFocusedRow = this.gridLeft.GridView.GetFocusedDataRow();
|
||||
DataTable sourceTable = this.gridLeft.GridControl.DataSourceTable();
|
||||
DataRow[] rowDatas = null;
|
||||
string mainModuleCode = "";
|
||||
string insertType = "";
|
||||
string billdocumentField = "";
|
||||
string operateDateField = "";
|
||||
if (sourceTable.Rows.IndexOf(e.FocusedRow) >= 0)
|
||||
{
|
||||
leftFocusedRow = e.FocusedRow;
|
||||
mainModuleCode = leftFocusedRow.Table.Columns.Contains("DllCoid") ? leftFocusedRow["DllCoid"] + "" : "";
|
||||
insertType = leftFocusedRow.Table.Columns.Contains("insertType") ? leftFocusedRow["insertType"] + "" : "";
|
||||
billdocumentField = leftFocusedRow.Table.Columns.Contains("billdocument_id") ? leftFocusedRow["billdocument_id"] + "" : "";
|
||||
operateDateField = leftFocusedRow.Table.Columns.Contains("operateDate") ? leftFocusedRow["operateDate"] + "" : "";
|
||||
if (!string.IsNullOrEmpty(mainModuleCode))
|
||||
{
|
||||
ModuleModel moduleModel = new ModuleModel(MainImpl.GetSystemdllTab(mainModuleCode));
|
||||
string TopSql = moduleModel.MenuSql;
|
||||
if (e.paramList[5].Equals("{Operateway}", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
TopSql = TopSql.Replace("{sdate}", StartDate.ToString("yyyy-MM-dd")).Replace("{edate}", EndDate.ToString("yyyy-MM-dd"));
|
||||
TopSql = ReplaceHelper.ReplaceWhereCond(TopSql) + string.Format(" and (convert(date,convert(varchar(10),pzdate,120))>=convert(date,'{0}')) and (convert(date,convert(varchar(10),pzdate,120))<=convert(date,'{1}') and(ISNULL(issendvoucher,0) = '0' OR (ISNULL(issendvoucher,0) = '1' AND ISNULL(issendsuccess,0) = '0'))) ", StartDate.ToString("yyyy-MM-dd"), EndDate.ToString("yyyy-MM-dd"));
|
||||
DataTable detailTable = BaseImpl.GetDataTableResult(TopSql);
|
||||
rowDatas = detailTable.Select();
|
||||
}
|
||||
else if (e.paramList[5].Equals("{Operateways}", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
TopSql = TopSql.Replace("{sdate}", StartDate.ToString("yyyy-MM-dd")).Replace("{edate}", EndDate.ToString("yyyy-MM-dd"));
|
||||
TopSql = ReplaceHelper.ReplaceWhereCond(TopSql) + string.Format(" and (convert(date,convert(varchar(10),pzdate,120))>=convert(date,'{0}')) and (convert(date,convert(varchar(10),pzdate,120))<=convert(date,'{1}') and ISNULL(issendvoucher,0) = '1' and ISNULL(issendsuccess,0) = '1') ", StartDate.ToString("yyyy-MM-dd"), EndDate.ToString("yyyy-MM-dd"));
|
||||
DataTable detailTable = BaseImpl.GetDataTableResult(TopSql);
|
||||
rowDatas = detailTable.Select();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (rowDatas == null)
|
||||
{
|
||||
rowDatas = e.Rows;
|
||||
}
|
||||
if (rowDatas != null && rowDatas.Length > 0)
|
||||
{
|
||||
detailRow = rowDatas[0];
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(item) && item.Equals("MergeExec_{billdocument_Id}", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
if (string.IsNullOrEmpty(insertType) || !insertType.Equals("0") || rowDatas == null || rowDatas.Length == 0 || string.IsNullOrEmpty(billdocumentField))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(insertType) && !insertType.Equals("0"))
|
||||
{
|
||||
fieldValue = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
fieldValue = item;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fieldValue = ReplaceHelper.ReplaceRowParam(rowDatas, "{" + billdocumentField + "}");
|
||||
}
|
||||
}
|
||||
else if (!string.IsNullOrWhiteSpace(item) && item.Equals("MergeExec_{operateDate}", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
if (string.IsNullOrEmpty(insertType) || !insertType.Equals("0") || rowDatas == null || rowDatas.Length == 0 || string.IsNullOrEmpty(operateDateField))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(insertType) && !insertType.Equals("0"))
|
||||
{
|
||||
fieldValue = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
fieldValue = item;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fieldValue = ReplaceHelper.ReplaceRowParam(rowDatas, "{" + operateDateField + "}");
|
||||
}
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(item) && item.TrimStart().StartsWith("MergeExec_", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
fieldValue = ReplaceHelper.ReplaceRowParam(rowDatas, fieldValue.Replace("MergeExec_", "", true));
|
||||
}
|
||||
else if (item.TrimStart().StartsWith("{vouvher_submitCond}", StringComparison.OrdinalIgnoreCase) && rightControl != null)
|
||||
{
|
||||
string text = "";
|
||||
if (item.TrimStart().StartsWith("{vouvher_submitCond}_", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
text = "{StartDate};{EndDate};{pzz};{fjs};{jfkmhb};{jffmhb};{tbhxls};{dfkmhb};{dffmhb};{sfxjhd};{zdrq};{billdocument_id};{issendsuccess};{tabName};1";
|
||||
}
|
||||
else if (item.TrimStart().StartsWith("{vouvher_submitCond}", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
if (string.IsNullOrEmpty(insertType) || insertType.Equals("0"))
|
||||
{
|
||||
text = "{StartDate};{EndDate};{pzz};{fjs};{jfkmhb};{jffmhb};{tbhxls};{dfkmhb};{dffmhb};{sfxjhd};{zdrq};{billdocument_id};{issendsuccess};{tabName};0";
|
||||
}
|
||||
else
|
||||
{
|
||||
text = "{StartDate};{EndDate};{pzz};{fjs};{jfkmhb};{jffmhb};{tbhxls};{dfkmhb};{dffmhb};{sfxjhd};{zdrq};{billdocument_id};{issendsuccess};{tabName};1";
|
||||
}
|
||||
}
|
||||
System.Windows.Forms.Control controlObj = null;
|
||||
System.Windows.Forms.Control controlGroupBox = rightControl.ParentPanel.Controls.Cast<System.Windows.Forms.Control>().FirstOrDefault(x => x.Name.Equals("GroupRightData", StringComparison.OrdinalIgnoreCase));
|
||||
if (controlGroupBox != null)
|
||||
{
|
||||
if (controlGroupBox is GroupBox && controlObj == null)
|
||||
{
|
||||
controlObj = controlGroupBox.Controls.Cast<System.Windows.Forms.Control>().FirstOrDefault(x => x.Name.Equals("zdrq", StringComparison.OrdinalIgnoreCase));
|
||||
}
|
||||
}
|
||||
if (controlObj != null && controlObj is LabelDateEdit)
|
||||
{
|
||||
LabelDateEdit zdrqControl = controlObj as LabelDateEdit;
|
||||
DateTime startDateTime = new DateTime(zdrqControl.TextEdit.DateTime.Year, zdrqControl.TextEdit.DateTime.Month, 1);
|
||||
DateTime endDateTime = new DateTime(zdrqControl.TextEdit.DateTime.Year, zdrqControl.TextEdit.DateTime.Month, 1).AddMonths(1).AddDays(-1);
|
||||
fieldValue = text.Replace("{StartDate}", startDateTime.ToString("yyyy-MM-dd")).Replace("{EndDate}", endDateTime.ToString("yyyy-MM-dd"));
|
||||
}
|
||||
fieldValue = rightControl.ReplaceFixedControlValue(fieldValue);
|
||||
}
|
||||
if (leftFocusedRow != null)
|
||||
{
|
||||
fieldValue = ReplaceHelper.ReplaceRowParam(leftFocusedRow, fieldValue);
|
||||
}
|
||||
if (focusedRow != null)
|
||||
{
|
||||
fieldValue = ReplaceHelper.ReplaceRowParam(focusedRow, fieldValue);
|
||||
}
|
||||
if (detailRow != null)
|
||||
{
|
||||
fieldValue = ReplaceHelper.ReplaceRowParam(detailRow, fieldValue);
|
||||
}
|
||||
e.FieldValue = fieldValue;
|
||||
}
|
||||
/// <summary>
|
||||
/// 搜索方法
|
||||
/// </summary>
|
||||
/// <param name="isClick"></param>
|
||||
private void BtnCondSearch()
|
||||
{
|
||||
try
|
||||
{
|
||||
WaitForm.ShowForm(ResourceKeys.Handing);
|
||||
DataRow rowItem = this.gridLeft.GetViewFocusedDataRow();
|
||||
if (rowItem != null)
|
||||
{
|
||||
//上方
|
||||
XtraTabPage tabPage = this.xtc_container.SelectedTabPage;
|
||||
if (tabPage.Tag is XtraTabControl)
|
||||
{
|
||||
XtraTabControl innerTabControl = tabPage.Tag as XtraTabControl;
|
||||
foreach (XtraTabPage SelectPage in innerTabControl.TabPages)
|
||||
{
|
||||
if (SelectPage.Tag is GridControlEx)
|
||||
{
|
||||
GridControlEx frmMainModule = SelectPage.Tag as GridControlEx;
|
||||
string TopSql = (frmMainModule.Tag as ModuleModel).MenuSql;
|
||||
TopSql = TopSql.Replace("{sdate}", StartDate.ToString("yyyy-MM-dd")).Replace("{edate}", StartDate.ToString("yyyy-MM-dd"));
|
||||
TopSql = ReplaceHelper.ReplaceWhereCond(TopSql) + string.Format(" and (convert(date,convert(varchar(10),pzdate,120))>=convert(date,'{0}')) and (convert(date,convert(varchar(10),pzdate,120))<=convert(date,'{1}') and ISNULL(issendvoucher,0) = '1' and ISNULL(issendsuccess,0) = '1') ", StartDate.ToString("yyyy-MM-dd"), EndDate.ToString("yyyy-MM-dd"));
|
||||
//TopSql = ReplaceHelper.ReplaceWhereCond(TopSql) + string.Format(" and (convert(date,convert(varchar(10),pzdate,120))>=convert(date,'{0}')) and (convert(date,convert(varchar(10),pzdate,120))<=convert(date,'{1}')) ", StartDate.EditText, EndDate.EditText);
|
||||
frmMainModule.SetGridViewDataSource(SqlHelper.ExecuteDataTable(TopSql));
|
||||
string CountText = "(" + frmMainModule.DataRowCount() + "条)";
|
||||
SelectPage.Text = "推送成功" + CountText;
|
||||
}
|
||||
else if (SelectPage.Tag is ModuleGridDetailEx)
|
||||
{
|
||||
ModuleGridDetailEx moduleGridDetailEx = SelectPage.Tag as ModuleGridDetailEx;
|
||||
string TopSql = moduleGridDetailEx.SysModel.MenuSql;
|
||||
TopSql = TopSql.Replace("{sdate}", StartDate.ToString("yyyy-MM-dd")).Replace("{edate}", EndDate.ToString("yyyy-MM-dd"));
|
||||
TopSql = ReplaceHelper.ReplaceWhereCond(TopSql) + string.Format(" and (convert(date,convert(varchar(10),pzdate,120))>=convert(date,'{0}')) and (convert(date,convert(varchar(10),pzdate,120))<=convert(date,'{1}') and(ISNULL(issendvoucher,0) = '0' OR (ISNULL(issendvoucher,0) = '1' AND ISNULL(issendsuccess,0) = '0'))) ", StartDate.ToString("yyyy-MM-dd"), EndDate.ToString("yyyy-MM-dd"));
|
||||
//TopSql = ReplaceHelper.ReplaceWhereCond(TopSql) + string.Format(" and (convert(date,convert(varchar(10),pzdate,120))>=convert(date,'{0}')) and (convert(date,convert(varchar(10),pzdate,120))<=convert(date,'{1}')) ", StartDate.EditText, EndDate.EditText);
|
||||
moduleGridDetailEx.ModuleGridObj.GridControlObj.SetGridViewDataSource(SqlHelper.ExecuteDataTable(TopSql));
|
||||
string CountText = "(" + moduleGridDetailEx.ModuleGridObj.GridControlObj.DataRowCount() + "条)";
|
||||
SelectPage.Text = "待推送" + CountText;
|
||||
}
|
||||
}
|
||||
//下方
|
||||
//frmMainModule.BottomGridControlEx.SetGridViewDataSource(SqlHelper.ExecuteDataTable(BottomSql));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message, ex.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
WaitForm.HideForm();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:获取查询条件</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-22 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="model">The model.</param>
|
||||
/// <param name="rowItem">The row item.</param>
|
||||
/// <returns>System.String.</returns>
|
||||
protected string GetSearchSql(GridDetailModel model, DataRow rowItem, bool isLeft = false)
|
||||
{
|
||||
string fieldName = !string.IsNullOrEmpty(model.UnionParentField) && rowItem.Table.Columns.Contains(model.UnionParentField) ? model.UnionParentField : this.ParmaryKey;
|
||||
string sqlValue = model.IsReadOnly || model.IsChart ? model.DetailSql : model.SystemModel.MenuSql;
|
||||
|
||||
|
||||
sqlValue = ReplaceHelper.ReplaceRowParam(rowItem, sqlValue);
|
||||
if (ReplaceHelper.IsSelect(sqlValue) && !string.IsNullOrEmpty(model.UnionValue))
|
||||
{
|
||||
string Conditions = string.Empty;
|
||||
//是左侧选中行,并且没有替换字段,则使用主表选中行
|
||||
Conditions = rowItem[fieldName] + "";
|
||||
|
||||
sqlValue = ReplaceHelper.ReplaceWhereCond(sqlValue) + string.Format(" and {0}='{1}'", model.UnionValue, Conditions);
|
||||
sqlValue += string.Format(" and dDate >= '{0}' and dDate <= '{1}' ", StartDate.ToString("yyyy-MM-dd"), EndDate.ToString("yyyy-MM-dd"));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(model.UnionCond))
|
||||
{
|
||||
string UnionCond = ReplaceHelper.ReplaceRowParam(rowItem, model.UnionCond);
|
||||
sqlValue += UnionCond;
|
||||
}
|
||||
return sqlValue;
|
||||
}
|
||||
/// <summary>
|
||||
/// 一键推送
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btn_AllStep_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (this.xtc_container.SelectedTabPage != null && this.xtc_container.SelectedTabPage.Controls.Count > 0 && this.xtc_container.SelectedTabPage.Controls[0] is GridControlEx)
|
||||
{
|
||||
GridControlEx frmMainModule = this.xtc_container.SelectedTabPage.Controls[0] as GridControlEx;
|
||||
if (frmMainModule != null && frmMainModule.GridControl.ContextMenuStrip != null)
|
||||
{
|
||||
ToolStripMenuItem toolStripMenu = frmMainModule.GridControl.ContextMenuStrip.Items.Cast<ToolStripMenuItem>().Where(n => n.Text.Equals("推送凭证")).FirstOrDefault();
|
||||
if (toolStripMenu != null && toolStripMenu.Tag != null && toolStripMenu.Tag is GridRightMenuModel)
|
||||
{
|
||||
GridRightMenuModel gridRightMenu = toolStripMenu.Tag as GridRightMenuModel;
|
||||
if ((gridRightMenu.ActionType + "").Equals("1") && !string.IsNullOrEmpty(gridRightMenu.Action) && gridRightMenu.Action.Equals("Data_InsertU8WithBillNoAPI{@OperatorId,@Operateway,@operatedate,@billNo,@msg}"))
|
||||
{
|
||||
string operatorId = ERPInfo.Instance.UserId;
|
||||
string operateWay = gridRightMenu.DllParam2;
|
||||
string operateDateField = gridRightMenu.DllParam3.Replace("{", "").Replace("}", "");
|
||||
string billNoField = gridRightMenu.DllParam4.Replace("{", "").Replace("}", "");
|
||||
|
||||
string operateDate = "";
|
||||
string billNo = "";
|
||||
DataTable sourceTab = frmMainModule.GridControl.DataSourceTable();
|
||||
int[] selectIndexs = frmMainModule.GridView.GetSelectedRows();
|
||||
foreach (int selectIndex in selectIndexs)
|
||||
{
|
||||
DataRow item = frmMainModule.GridView.GetDataRow(selectIndex);
|
||||
if (item.Table.Columns.Contains(operateDateField) && item.Table.Columns.Contains(billNoField))
|
||||
{
|
||||
operateDate += string.Format("{0},", item[operateDateField] + "");
|
||||
billNo += string.Format("{0},", item[billNoField] + "");
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageUtil.Show("数据异常,单据号或操作日期不存在");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!string.IsNullOrEmpty(billNo) && !string.IsNullOrEmpty(operateDate))
|
||||
{
|
||||
int insertValue = ExecuteInsertU8(operatorId, operateWay, operateDate.TrimEnd(','), billNo.TrimEnd(','), out string insertMsg);
|
||||
if (insertValue != 1)
|
||||
{
|
||||
MessageUtil.Show("凭证推送失败" + "\r\n" + insertMsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
DataRow dataRow = this.gridLeft.GridView.GetFocusedDataRow();
|
||||
if (dataRow != null)
|
||||
{
|
||||
string userName = ERPInfo.Instance.UserName;
|
||||
|
||||
string startDate = StartDate.ToString("yyyyMMdd");
|
||||
string endDate = EndDate.ToString("yyyyMMdd");
|
||||
string pzz = this.pzz.EditValue;
|
||||
int fjs = int.TryParse(this.fjs.TextEdit.EditValue + "", out int fjsNum) ? fjsNum : 0;
|
||||
string jfkmhb = this.jfkmhb.TextEdit.Checked ? "1" : "0";
|
||||
string jffmhb = this.jffmhb.TextEdit.Checked ? "1" : "0";
|
||||
string tbhxls = this.tbhxls.TextEdit.Checked ? "1" : "0";
|
||||
string dfkmhb = this.dfkmhb.TextEdit.Checked ? "1" : "0";
|
||||
string dffmhb = this.dffmhb.TextEdit.Checked ? "1" : "0";
|
||||
string sfxjhd = this.sfxjhd.TextEdit.Checked ? "1" : "0";
|
||||
string zdrq = this.zdrq.TextEdit.DateTime.ToString("yyyyMMdd");
|
||||
|
||||
string strCollected = "'" + dataRow["cVouchType"] + "'";
|
||||
string globalBatch = DateTime.Now.ToString("yyyyMMddHHmmss");
|
||||
string submitCond = $"{startDate};{endDate};{pzz};{fjs};{jfkmhb};{jffmhb};{tbhxls};{dfkmhb};{dffmhb};{sfxjhd};{zdrq}";
|
||||
int returnValue = ExecuteVoucherAllStep(userName, globalBatch, strCollected, submitCond, out string msg);
|
||||
if (returnValue == -1)
|
||||
{
|
||||
MessageUtil.Show("凭证推送失败" + "\r\n" + msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageUtil.Show("凭证推送成功");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageUtil.Show("未找到符合推送要求的数据");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageUtil.Show(ex.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
BtnCondSearch();
|
||||
//this.BtnCondSearch_Click(null, null);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 凭证新增
|
||||
/// </summary>
|
||||
/// <param name="operatorName"></param>
|
||||
/// <param name="globalBatch"></param>
|
||||
/// <param name="strCollected"></param>
|
||||
/// <param name="submitCond"></param>
|
||||
/// <param name="tipMsg"></param>
|
||||
/// <returns></returns>
|
||||
public static int ExecuteVoucherAllStep(string operatorName, string globalBatch, string strCollected, string submitCond, out string tipMsg)
|
||||
{
|
||||
SqlParameter pMsg = new SqlParameter("@msg", SqlDbType.VarChar, -1);
|
||||
pMsg.Direction = ParameterDirection.Output;
|
||||
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
|
||||
returnValue.Direction = ParameterDirection.ReturnValue;
|
||||
SqlParameter[] param = {
|
||||
new SqlParameter("@operator", SqlDbType.NVarChar, 50),
|
||||
new SqlParameter("@globalBatch", SqlDbType.NVarChar, 50),
|
||||
new SqlParameter("@strCollected", SqlDbType.NVarChar, 200),
|
||||
new SqlParameter("@submitCond", SqlDbType.NVarChar, -1),
|
||||
pMsg,
|
||||
returnValue
|
||||
};
|
||||
param[0].Value = operatorName;
|
||||
param[1].Value = globalBatch;
|
||||
param[2].Value = strCollected;
|
||||
param[3].Value = submitCond;
|
||||
SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "DataU8_VoucherAllStep", "result", param);
|
||||
tipMsg = pMsg.Value.ToString();
|
||||
return Convert.ToInt32(returnValue.Value);
|
||||
}
|
||||
/// <summary>
|
||||
/// 凭证推送
|
||||
/// </summary>
|
||||
/// <param name="operatorId"></param>
|
||||
/// <param name="globalBatch"></param>
|
||||
/// <param name="strCollected"></param>
|
||||
/// <param name="submitCond"></param>
|
||||
/// <param name="tipMsg"></param>
|
||||
/// <returns></returns>
|
||||
public static int ExecuteInsertU8(string operatorId, string operateWay, string operateDate, string billNo, out string tipMsg)
|
||||
{
|
||||
SqlParameter pMsg = new SqlParameter("@msg", SqlDbType.VarChar, -1);
|
||||
pMsg.Direction = ParameterDirection.Output;
|
||||
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
|
||||
returnValue.Direction = ParameterDirection.ReturnValue;
|
||||
SqlParameter[] param = {
|
||||
new SqlParameter("@OperatorId", SqlDbType.Int,4),
|
||||
new SqlParameter("@Operateway", SqlDbType.Int, 4),
|
||||
new SqlParameter("@operatedate", SqlDbType.VarChar, -1),
|
||||
new SqlParameter("@billNo", SqlDbType.VarChar, -1),
|
||||
pMsg,
|
||||
returnValue
|
||||
};
|
||||
param[0].Value = operatorId;
|
||||
param[1].Value = operateWay;
|
||||
param[2].Value = operateDate;
|
||||
param[3].Value = billNo;
|
||||
SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "Data_InsertU8WithBillNoAPI", "result", param);
|
||||
tipMsg = pMsg.Value.ToString();
|
||||
return Convert.ToInt32(returnValue.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user