Piolot_Order_TH/XMYSLRB/OnLoadLR.cs
2025-07-29 14:25:59 +08:00

105 lines
4.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)
{
return;
}
var SGCB = Convert.ToDecimal(this.View.Model.GetValue("F_SGCB"));
for (int i = 0; i < Count; i++)
{
this.View.Model.SetItemValueByID("F_VRYF_Assistant_qtr", Convert.ToString(sqlDS[i]["FENTRYID"]), i);
// 实施安装费,将税率设置为6将单头上的施工成本带出
if (Convert.ToString(sqlDS[i]["FENTRYID"]) == "682e83afbd70b6")
{
this.View.Model.SetItemValueByID("F_VRYF_Decimal_qtr", 6, i);
this.View.Model.SetValue("F_VRYF_Amount_xk9", SGCB, i);
}
// 外包费将税率设置为6
else if (Convert.ToString(sqlDS[i]["FENTRYID"]) == "682e83e4bd70cb")
{
this.View.Model.SetItemValueByID("F_VRYF_Decimal_qtr", 6, i);
}
}
this.View.UpdateView();
}
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;
}
}
}
}
}
}