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", 6, i); } else if (Convert.ToString(sqlDS[i]["FENTRYID"]) == "682e83e4bd70cb") { this.View.Model.SetItemValueByID("F_VRYF_Decimal_qtr", 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; } } } } } }