diff --git a/插件库/Lskj.PubBillAccount/BillModule.cs b/插件库/Lskj.PubBillAccount/BillModule.cs
index e32e220..ddebad6 100644
--- a/插件库/Lskj.PubBillAccount/BillModule.cs
+++ b/插件库/Lskj.PubBillAccount/BillModule.cs
@@ -458,7 +458,7 @@ namespace Lskj.PubBillAccount
txtccheck.TextField = "mc";
txtccheck.TextEdit.SourceSQL = personnelSql;
txtccheck.TextEdit.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
- txtcperson_id.SetDataSource(ReturnsResult);
+ txtccheck.SetDataSource(ReturnsResult);
txtccheck.LabelText = labelControl20.Text;
labelControl20.Hide();
@@ -706,19 +706,75 @@ namespace Lskj.PubBillAccount
///
/// The source of the event.
/// The instance containing the event data.
- protected void OnInitializeHeaderCallBack(object sender, EventArgs e)
+ protected void OnInitializeHeaderCallBack()
{
try
{
+ if (string.IsNullOrWhiteSpace(this.SysModel.BillOrderNo) && string.IsNullOrWhiteSpace(this.SysModel.BillMasterSql)) return;
// 通过右键菜单打开单据时,判断修改还是新增
if (!string.IsNullOrEmpty(this.SysModel.BillOrderNo))
{
// 修改
- string sqlValue = "select * from " + this.BillModel.MasterTable + " where 1=1";
- string sqlCond = string.Format(" and {0}='{1}'", this.BillModel.PrimaryKey, this.SysModel.BillOrderNo);
- DataTable masterTable = BillImpl.GetDataTableResult(sqlValue + sqlCond);
+ //string sqlValue = "select * from " + this.BillModel.MasterTable + " where 1=1";
+ //string sqlCond = string.Format(" and {0}='{1}'", this.BillModel.PrimaryKey, this.SysModel.BillOrderNo);
+ //DataTable masterTable = BillImpl.GetDataTableResult(sqlValue + sqlCond);
+ //this.SetBillStatus(masterTable.Rows.Count > 0 ? masterTable.Rows[0] : null);
+
+ //2026-4-14 王杰 根据参数10单据编号替换主表sql中所有参数,获取主表数据
+ //获取主表数据
+ string sourceSQL = ReplaceHelper.ReplaceParamToValue(BillModel.MasterSql, this.SysModel.BillOrderNo);
+ DataRow sourceRow = BillImpl.GetDataRowResult(sourceSQL);
+ //获取明细数据
+ DataTable dt = BillImpl.GetDataTableResult(ReplaceHelper.ReplaceRowParam(sourceRow, this.BillModel.DetailSql));
+
+
+ this.detailTable.Clear();
+
+ // 设置表头
+ this.txtcsign.TextEditObj.EditValue = sourceRow[this.BillModel.CsignFieldName] + "";
+ this.txtisgnseq.TextEditObj.EditValue = sourceRow["ino_id"] + "";
+ this.txtOperateDate.TextEditObj.EditValue = sourceRow["OperateDate"] + "";
+ this.txtAffimDate.TextEditObj.EditValue = sourceRow["AffirmDate"] + "";
+ this.txtidoc.TextEditObj.EditValue = sourceRow["idoc"] + "";
+ this.txtcbill.TextEdit.EditValue = sourceRow["OperatorId"] + "";
+ //this.txtcbill.TextEdit.EditValue = sourceRow["OperatorId"] + "";
+
+ if (sourceRow.Table.Columns.Contains("cbill"))
+ {
+ this.txtccashier.TextEdit.EditValue = sourceRow["cbill"] + "";
+ }
+ if (sourceRow.Table.Columns.Contains("ccheck"))
+ {
+ this.txtccheck.TextEdit.EditValue = sourceRow["ccheck"] + "";
+ }
+ if (sourceRow.Table.Columns.Contains("cbook"))
+ {
+ this.txtcbook.TextEdit.EditValue = sourceRow["cbook"] + "";
+ }
+
+ // 设置明细
+ foreach (DataRow item in dt.Rows)
+ {
+ DataRow newRow = detailTable.NewRow();
+
+ foreach (DataColumn col in this.detailTable.Columns)
+ {
+ if (item.Table.Columns.Contains(col.ColumnName))
+ {
+ newRow[col.ColumnName] = item[col.ColumnName];
+ }
+ }
+ this.detailTable.Rows.Add(newRow);
+ }
+
+ this.gridControl.DataSource = detailTable;
+
+ // 设置借方金额
+ this.txtmd.Text = CalcColumnTotal(md) + "";
+ // 设置贷方金额
+ this.txtmc.Text = CalcColumnTotal(mc) + "";
+ this.SetBillStatus(sourceRow);
- this.SetBillStatus(masterTable.Rows.Count > 0 ? masterTable.Rows[0] : null);
}
else
{
@@ -2098,7 +2154,7 @@ namespace Lskj.PubBillAccount
StringBuilder fieldBuilder = new StringBuilder();
StringBuilder valueBuilder = new StringBuilder();
- fieldBuilder.Append("csign,");
+ fieldBuilder.Append(this.BillModel.CsignFieldName + ",");
fieldBuilder.Append("isgnseq,");
fieldBuilder.Append("OperateDate,");
fieldBuilder.Append("idoc,");
@@ -2131,7 +2187,7 @@ namespace Lskj.PubBillAccount
StringBuilder updateBuilder = new StringBuilder();
// 修改单据
- updateBuilder.Append("csign='" + this.txtcsign.TextEditObj.EditValue + "',");
+ updateBuilder.Append(this.BillModel.CsignFieldName+"='" + this.txtcsign.TextEditObj.EditValue + "',");
updateBuilder.Append("isgnseq='" + this.txtisgnseq.TextEditObj.EditValue + "',");
updateBuilder.Append("OperateDate='" + this.txtOperateDate.TextEditObj.EditValue + "',");
updateBuilder.Append("idoc='" + this.txtidoc.TextEditObj.EditValue + "',");
@@ -2569,6 +2625,7 @@ namespace Lskj.PubBillAccount
try
{
this.RefreshSelectedSource();
+ this.OnInitializeHeaderCallBack();
}
catch (Exception ex)
{
@@ -2634,7 +2691,7 @@ namespace Lskj.PubBillAccount
this.detailTable.Clear();
// 设置表头
- this.txtcsign.TextEditObj.EditValue = sourceRow["csign"] + "";
+ this.txtcsign.TextEditObj.EditValue = sourceRow[this.BillModel.CsignFieldName] + "";
this.txtisgnseq.TextEditObj.EditValue = sourceRow["ino_id"] + "";
this.txtOperateDate.TextEditObj.EditValue = sourceRow["OperateDate"] + "";
this.txtAffimDate.TextEditObj.EditValue = sourceRow["AffirmDate"] + "";
@@ -2642,6 +2699,21 @@ namespace Lskj.PubBillAccount
this.txtcbill.TextEdit.EditValue = sourceRow["OperatorId"] + "";
//this.txtcbill.TextEdit.EditValue = sourceRow["OperatorId"] + "";
+ if (sourceRow.Table.Columns.Contains("cbill"))
+ {
+ this.txtccashier.TextEdit.EditValue = sourceRow["cbill"] + "";
+ }
+ if (sourceRow.Table.Columns.Contains("ccheck"))
+ {
+ this.txtccheck.TextEdit.EditValue = sourceRow["ccheck"] + "";
+ }
+ if (sourceRow.Table.Columns.Contains("cbook"))
+ {
+ this.txtcbook.TextEdit.EditValue = sourceRow["cbook"] + "";
+ }
+
+
+
// 设置明细
foreach (DataRow item in table.Rows)
{
@@ -3701,36 +3773,4 @@ namespace Lskj.PubBillAccount
{
try
{
- DataRow rowItem = this.gcMain.GetFocusedDataRow();
- if (rowItem != null)
- {
- rowItem["cDefine13"] = this.txtcontractNoName.EditText;
- }
- }
- catch (Exception ex)
- {
- string Message = ErrorMessage.PromptErrorMessage(ex);
- MessageUtil.Show(Message, ex.Message);
- }
- }
-
- //客户改变
- void Oncccus_idEditEditValueChanged(object sender, EventArgs e)
- {
- try
- {
- DataRow rowItem = this.gcMain.GetFocusedDataRow();
- if (rowItem != null)
- {
- rowItem["ccus_id"] = this.txtcCustomer.EditValue;
- }
- }
- catch (Exception ex)
- {
- string Message = ErrorMessage.PromptErrorMessage(ex);
- MessageUtil.Show(Message, ex.Message);
- }
- }
- #endregion
- }
-}
\ No newline at end of file
+
\ No newline at end of file