This commit is contained in:
李狗蛋
2025-07-04 17:30:33 +08:00
parent 615ef0acf6
commit 95a74dc4f5
36 changed files with 631 additions and 21 deletions

31
XMYSLRB/AfterSave.cs Normal file
View File

@@ -0,0 +1,31 @@
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GZ_LTHPilot_ORDER.XMYSLRB
{
[Description("表单插件:保存后时间,刷新财务信息字段"), HotUpdate]
public class AfterSave : AbstractBillPlugIn
{
public override void AfterDoOperation(AfterDoOperationEventArgs e)
{
base.AfterDoOperation(e);
if (e.Operation.OperationId == 8)
{
// 保存操作后刷新字段 "F_projectname"
var loadKeys = new List<string>(new[] { "F_VRYF__DSFCB_h1g", "F_VRYF__DZCB_zc5", "F_VRYF__HTJE_imu", "F_VRYF__BZCB_1xj", "F_XMCB", "F_GCCB", "F_XMGLF" ,
"F_SGAZF","F_SGAZF","F_VRYF_Amount_ne1","F_VRYF_Amount_ca9","F_VRYF_Amount_uky","F_VRYF_Amount_dvn","F_VRYF_Amount_w5c","F_VRYF_Amount_fg2","F_SSRT","F_SJRT",
"F_JSTSRG","F_FKFS","F_VRYF_Qty_yrr","F_VRYF_Price_zc5","F_VRYF_Price_zc5","F_GCCB","F_CPCB","F_VRYF_Amount_ca9","F_MLL","F_LRL","F_ZJSJE","F_JSLR","F_CBJJE",
"F_JSJJE"});
((IBillModel)this.Model).SynDataFromDB(loadKeys);
}
}
}
}

94
XMYSLRB/OnLoadLR.cs Normal file
View File

@@ -0,0 +1,94 @@
using FarPoint.Excel;
using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.ServiceHelper.ManagementCenter;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GZ_LTHPilot_ORDER.XMYSLRB
{
[Description("表单插件:当项目预算利润表完成加载后,自动新增成本明细行"), HotUpdate]
public class OnLoadLR : AbstractDynamicFormPlugIn
{
public override void OnLoad(EventArgs e)
{
base.OnLoad(e);
//获取单据编号,若单据编号为空则执行新增行并赋值操作。
var FBILLNO = this.View.Model.GetValue("FBillNo");
if (FBILLNO != null)
{
return;
}
string sql = string.Format(@"SELECT COUNT(B.FDATAVALUE) AS 'HJ' FROM T_BAS_ASSISTANTDATAENTRY A
INNER JOIN T_BAS_ASSISTANTDATAENTRY_L B ON A.FENTRYID = B.FENTRYID
WHERE FID = '682c386fbcca09'
AND FDocumentStatus = 'C'");
var sqlDS = DBUtils.ExecuteDynamicObject(this.Context, sql);
var Count = 0;
if (sqlDS.Count != 0)
{
Count = Convert.ToInt32(sqlDS[0]["HJ"]);
}
for (int i = 0; i < Count; i++)
{
this.View.Model.CreateNewEntryRow("F_VRYF_Entity_co6");
}
sql = string.Format(@"SELECT B.FENTRYID,B.FDATAVALUE FROM T_BAS_ASSISTANTDATAENTRY A
INNER JOIN T_BAS_ASSISTANTDATAENTRY_L B ON A.FENTRYID = B.FENTRYID
WHERE FID = '682c386fbcca09'AND FDocumentStatus = 'C'");
sqlDS = DBUtils.ExecuteDynamicObject(this.Context, sql);
if (sqlDS.Count != 0)
{
for (int i = 0; i < Count; i++)
{
this.View.Model.SetItemValueByID("F_VRYF_Assistant_qtr", Convert.ToString(sqlDS[i]["FENTRYID"]), i);
if (Convert.ToString(sqlDS[i]["FENTRYID"]) == "682e83afbd70b6")
{
this.View.Model.SetItemValueByID("F_VRYF_Decimal_qtr", 0.6, i);
}
else if (Convert.ToString(sqlDS[i]["FENTRYID"]) == "682e83e4bd70cb")
{
this.View.Model.SetItemValueByID("F_VRYF_Decimal_qtr", 0.6, i);
}
}
}
}
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
var sql = string.Format(@"SELECT B.FENTRYID,B.FDATAVALUE FROM T_BAS_ASSISTANTDATAENTRY A
INNER JOIN T_BAS_ASSISTANTDATAENTRY_L B ON A.FENTRYID = B.FENTRYID
WHERE FID = '682c386fbcca09'AND FDocumentStatus = 'C'");
var sqlDS = DBUtils.ExecuteDynamicObject(this.Context, sql);
if (sqlDS.Count != 0)
{
for (int i = 0; i < sqlDS.Count; i++)
{
if (Convert.ToString(sqlDS[i]["FENTRYID"]) != "682e83afbd70b6")
{
this.View.GetFieldEditor("F_VRYF_Decimal_qtr", i).Enabled = false;
}
}
for (int i = 0; i < sqlDS.Count; i++)
{
if (Convert.ToString(sqlDS[i]["FENTRYID"]) == "682e83afbd70b6")
{
this.View.GetFieldEditor("F_VRYF_Decimal_qtr", i).Enabled = true;
}
else if (Convert.ToString(sqlDS[i]["FENTRYID"]) == "682e83e4bd70cb")
{
this.View.GetFieldEditor("F_VRYF_Decimal_qtr", i).Enabled = true;
}
}
}
}
}
}

29
XMYSLRB/Save.cs Normal file
View File

@@ -0,0 +1,29 @@
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GZ_LTHPilot_ORDER.XMYSLRB
{
[Description("服务插件:项目预算利润表保存后计算公式并对字段赋值"), HotUpdate]
public class Save : AbstractOperationServicePlugIn
{
public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
{
base.AfterExecuteOperationTransaction(e);
foreach(var Row in e.SelectedRows)
{
//获取单据信息
var Billobj = Row.DataEntity;
//更新项目预算利润表的财务信息字段
SqlManage.SqlManage.GZTH_XMYSBSave(this.Context, Convert.ToString(Billobj["Id"]));
}
}
}
}