提交当前本机最新程序

This commit is contained in:
cyf
2026-07-18 15:32:50 +08:00
parent 6be6607a40
commit bcf9f1b58c
9 changed files with 251 additions and 113 deletions
+85 -2
View File
@@ -2115,7 +2115,7 @@ namespace Lskj.PubBill
{
gridEx.LeftTreeViewEx = treeView;
}
else
else
{
gridEx.LeftGridEx = gridControl;
gridEx.ParentGridEx = gridControl;
@@ -2190,6 +2190,8 @@ namespace Lskj.PubBill
}
gridDetail.SetGridRowColors(dtBaseGridRowColors);
gridDetail.SetGridRightMenus(dtBaseGridRightMenus, this.SysModel, OnGridDetailRightMenuCallback);
gridDetail.gridViewRightMenu.OnBeforeHandleParamsCallback += OnBeforeHandleParamsCallback;
gridDetail.Parent = tabDetail;
gridDetail.BorderStyle = System.Windows.Forms.BorderStyle.None;
@@ -2232,6 +2234,9 @@ namespace Lskj.PubBill
}
gridDetail.SetGridRowColors(dtBaseGridRowColors);
gridDetail.SetGridRightMenus(dtBaseGridRightMenus, this.SysModel, OnGridDetailRightMenuCallback);
gridDetail.gridViewRightMenu.OnBeforeHandleParamsCallback += OnBeforeHandleParamsCallback;
if (BillModel.IsBillDetailCheck == 0)
{
if (model.MainDetailsAddType != "2") gridDetail.GridView.DoubleClick += new EventHandler(OnGridDetailDoubleClick);
@@ -2442,6 +2447,8 @@ namespace Lskj.PubBill
/// <summary>
/// 单据来源拖拽到主表明细中(树表格拖拽到树表格)
/// </summary>
@@ -3882,7 +3889,10 @@ namespace Lskj.PubBill
if (!string.IsNullOrEmpty(checkStrs))
checkStrs = " and SpeciesNo in (" + checkStrs.TrimEnd(',') + ")";
sqlValue = string.Format("select * from ({0}) temp where 1=1 ", ReplaceHelper.ReplaceWhereCond(sqlValue) + checkStrs) + string.Format(" and ({0} like '%{1}%' or dbo.P_getpy({0}) like '%{1}%')", fieldName, fieldValue);
string FinalCondition = this.pl_treeview_detault_search.Visible ? string.Format(" and ({0} like '%{1}%' or dbo.P_getpy({0}) like '%{1}%')", fieldName, fieldValue) : "";
sqlValue = string.Format("select * from ({0}) temp where 1=1 ", ReplaceHelper.ReplaceWhereCond(sqlValue) + checkStrs) + FinalCondition;
//sqlValue = string.Format("select * from ({0}) temp where 1=1 ", ReplaceHelper.ReplaceWhereCond(sqlValue) + checkStrs) + string.Format(" and ({0} like '%{1}%' or dbo.P_getpy({0}) like '%{1}%')", fieldName, fieldValue);
try
{
@@ -5172,6 +5182,8 @@ namespace Lskj.PubBill
}
}
DataTable detailTable = this.gcMain.GridControl.DataSourceTable().TrimDeleteRows();
StringBuilder fieldBuilder = new StringBuilder();
StringBuilder valueBuilder = new StringBuilder();
@@ -5196,6 +5208,14 @@ namespace Lskj.PubBill
fieldValue = fieldValue.Trim();
if (fieldValue == "****") continue;
if (!string.IsNullOrWhiteSpace(model.SumlistField) && detailTable.Columns.Contains(model.SumlistField))
{
// 基础用法,列存在null会自动忽略
object objSum = detailTable.Compute("Sum(" + model.SumlistField + ")", "");
decimal total = objSum == DBNull.Value ? 0 : Convert.ToDecimal(objSum);
fieldValue = total + "";
}
errorMessage = errorMessage + DatabaseFormatJudgment.SaveOrModifyBalidation(DetailedProperties, model, fieldValue);
if (string.IsNullOrEmpty(fieldValue) && model.Isintordecimal) fieldValue = "0";//数值保存时为空的话默认保存为0;
@@ -5230,6 +5250,7 @@ namespace Lskj.PubBill
{
StringBuilder updateBuilder = new StringBuilder();
DataTable detailTable = this.gcMain.GridControl.DataSourceTable().TrimDeleteRows();
//DataTable DetailedProperties = BaseImpl.GetDataTableResult(string.Format("select COLUMN_NAME,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH from information_schema.columns where table_name = '{0}'", BillModel.MasterTable));
DataTable DetailedProperties = MainImpl.GetDatabaseProperty(BillModel.MasterTable);
@@ -5255,6 +5276,14 @@ namespace Lskj.PubBill
fieldValue = fieldValue.Trim();
if (fieldValue == "****") continue;
if (!string.IsNullOrWhiteSpace(model.SumlistField)&& detailTable.Columns.Contains(model.SumlistField))
{
// 基础用法,列存在null会自动忽略
object objSum = detailTable.Compute("Sum("+ model.SumlistField + ")", "");
decimal total = objSum == DBNull.Value ? 0 : Convert.ToDecimal(objSum);
fieldValue = total+"";
}
errorMessage = errorMessage + DatabaseFormatJudgment.SaveOrModifyBalidation(DetailedProperties, model, fieldValue);
if (string.IsNullOrEmpty(fieldValue) && model.Isintordecimal) fieldValue = "0";//数值保存时为空的话默认保存为0;
@@ -6789,6 +6818,60 @@ namespace Lskj.PubBill
this.RefreshSourceDetail(tabPage.Tag as BillSourceUnionModel);
}
/// <summary>
/// 单据来源明细右键替换参数前执行
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnBeforeHandleParamsCallback(object sender, HandleParamsArgs e)
{
if (!string.IsNullOrWhiteSpace(e.ParamItem) && e.ParamItem.Contains("{BillSource_"))
{
string item = e.ParamItem;
XtraTabPage tabPage = this.xtc_left_container.SelectedTabPage;
BillSourceUnionModel model = tabPage.Tag as BillSourceUnionModel;
TreeNode node = null;
DataRow selectRow = null;
if (model.ModelObj.SourceType == 1)
{
node = model.TreeViewObj.TreeView.SelectedNode;
if (node == null)
node = model.TreeViewObj.TreeView.Nodes[0];
}
else if (model.ModelObj.SourceType == 3 || model.ModelObj.SourceType == 4)
{
selectRow = model.TreeGridControlObj.GetViewFocusedDataRow();
}
else
{
selectRow = model.GridControlObj.GetViewFocusedDataRow();
}
// 正则 + 忽略大小写标记
MatchCollection matches = Regex.Matches(
item,
@"\{BillSource_.*?\}",
RegexOptions.IgnoreCase // 关键:忽略大小写
);
foreach (Match match in matches)
{
if (node != null)
{
item = item.Replace(match.Value, node.Name);
}
else if (selectRow != null)
{
item = item.Replace(match.Value, ReplaceHelper.ReplaceRowParam(selectRow, match.Value.Replace("BillSource_","")));
}
}
e.FieldValue = item;
}
}
/// <summary>
/// 底部明细右键后刷新