using Kingdee.BOS.App.Data; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Util; using Kingdee.K3.SCM.Business; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Pilot_KD_Parino.ReceivablesDetails { /// /// 应收款明细保存事件 /// [Description("应收款明细保存事件"), HotUpdate] public class ReceivablesPlugIn : AbstractDynamicFormPlugIn { //BarItemClick public override void BarItemClick(BarItemClickEventArgs e) { base.BarItemClick(e); if (e.BarItemKey == "MBBA_tbButton_2") { var sql_1 = string.Format(@"/*dialect*/Select top 1 FId From ReceivablesDetailsTable"); var sql_List1 = DBUtils.ExecuteDynamicObject(Context, sql_1); //判断是否存在表 if (sql_List1.Count() > 0) { DynamicObjectCollection entries = this.View.Model.DataObject[6] as DynamicObjectCollection; List strings = new List(); foreach (var item in entries) { if (item["F_666"]?.ToString() == "True") { strings.Add(Convert.ToInt32(item["F_FID"])); } } string fids = string.Join(",", strings.ToArray()); string sql_2 = string.Format(@"DELETE FROM ReceivablesDetailsTable Where Fid in ({0})", fids); DBUtils.ExecuteDynamicObject(Context, sql_2); for (int i = 0; i < entries.Count; i++) { var f = this.View.Model.GetValue("F_000", i)?.ToString(); if (f != "0" && entries[i]["F_666"]?.ToString() == "True") { #region 隐藏单据体赋值 var f0 = this.View.Model.GetValue("F_000", i); var f1 = this.View.Model.GetValue("F_001", i); var f2 = this.View.Model.GetValue("F_002", i); var f3 = this.View.Model.GetValue("F_003", i); var f4 = this.View.Model.GetValue("F_004", i); var f5 = this.View.Model.GetValue("F_005", i); var f6 = this.View.Model.GetValue("F_006", i); var f7 = this.View.Model.GetValue("F_007", i); var f8 = this.View.Model.GetValue("F_008", i); var f9 = this.View.Model.GetValue("F_009", i); var f10 = this.View.Model.GetValue("F_010", i); var f11 = this.View.Model.GetValue("F_011", i); var f12 = this.View.Model.GetValue("F_012", i); var f13 = this.View.Model.GetValue("F_013", i); var f14 = this.View.Model.GetValue("F_014", i); var f15 = this.View.Model.GetValue("F_015", i); var f16 = this.View.Model.GetValue("F_016", i); var f17 = this.View.Model.GetValue("F_017", i); var f18 = this.View.Model.GetValue("F_018", i); var f19 = this.View.Model.GetValue("F_019", i); var f20 = this.View.Model.GetValue("F_020", i); var f21 = this.View.Model.GetValue("F_021", i); var f22 = this.View.Model.GetValue("F_022", i); var f23 = this.View.Model.GetValue("F_023", i); var f24 = this.View.Model.GetValue("F_024", i); var f25 = this.View.Model.GetValue("F_025", i); var f26 = this.View.Model.GetValue("F_026", i); var f27 = this.View.Model.GetValue("F_027", i); var f28 = this.View.Model.GetValue("F_028", i); var f29 = this.View.Model.GetValue("F_029", i); var f30 = this.View.Model.GetValue("F_030", i); var f31 = this.View.Model.GetValue("F_031", i); var f32 = this.View.Model.GetValue("F_032", i); var f33 = this.View.Model.GetValue("F_033", i); var f34 = this.View.Model.GetValue("F_034", i); var f35 = this.View.Model.GetValue("F_035", i); var f36 = this.View.Model.GetValue("F_036", i); var f37 = this.View.Model.GetValue("F_037", i); var f38 = this.View.Model.GetValue("F_038", i); var f39 = this.View.Model.GetValue("F_039", i); var f40 = this.View.Model.GetValue("F_040", i); var f41 = this.View.Model.GetValue("F_041", i); var f42 = this.View.Model.GetValue("F_042", i); var f43 = this.View.Model.GetValue("F_043", i); var f44 = this.View.Model.GetValue("F_044", i); var f45 = this.View.Model.GetValue("F_045", i); var f46 = this.View.Model.GetValue("F_046", i); var f47 = this.View.Model.GetValue("F_047", i); var f48 = this.View.Model.GetValue("F_048", i); var f49 = this.View.Model.GetValue("F_049", i); var f50 = this.View.Model.GetValue("F_050", i); var f51 = this.View.Model.GetValue("F_051", i); var f52 = this.View.Model.GetValue("F_052", i); var f53 = this.View.Model.GetValue("F_053", i); var f54 = this.View.Model.GetValue("F_054", i); var f55 = this.View.Model.GetValue("F_055", i); var f56 = this.View.Model.GetValue("F_056", i); var f57 = this.View.Model.GetValue("F_057", i); var f58 = this.View.Model.GetValue("F_058", i); var f59 = this.View.Model.GetValue("F_059", i); var f60 = this.View.Model.GetValue("F_060", i); var f61 = this.View.Model.GetValue("F_061", i); var f62 = this.View.Model.GetValue("F_062", i); var f63 = this.View.Model.GetValue("F_063", i); #endregion string sql_3 = string.Format(@"Insert Into ReceivablesDetailsTable Values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}', '{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}','{21}','{22}','{23}','{24}','{25}','{26}','{27}','{28}','{29}', '{30}','{31}','{32}','{33}','{34}','{35}','{36}','{37}','{38}','{39}','{40}','{41}','{42}','{43}','{44}','{45}','{46}','{47}','{48}','{49}', '{50}','{51}','{52}','{53}','{54}','{55}','{56}','{57}','{58}','{59}','{60}','{61}','{62}','{63}' )", f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f0, f60, f61, f62, f63); DBUtils.ExecuteDynamicObject(Context, sql_3); } } } #region 隐藏代码 //else //{ // DynamicObjectCollection entries = this.View.Model.DataObject[6] as DynamicObjectCollection; // string sql_2 = string.Format(@"DELETE FROM ReceivablesDetailsTable"); // DBUtils.ExecuteDynamicObject(Context, sql_2); // for (int i = 0; i < entries.Count; i++) // { // var f = this.View.Model.GetValue("F_000", i)?.ToString(); // if (f != "0") // { // #region 隐藏单据体赋值 // var f0 = this.View.Model.GetValue("F_000", i); // var f1 = this.View.Model.GetValue("F_001", i); // var f2 = this.View.Model.GetValue("F_002", i); // var f3 = this.View.Model.GetValue("F_003", i); // var f4 = this.View.Model.GetValue("F_004", i); // var f5 = this.View.Model.GetValue("F_005", i); // var f6 = this.View.Model.GetValue("F_006", i); // var f7 = this.View.Model.GetValue("F_007", i); // var f8 = this.View.Model.GetValue("F_008", i); // var f9 = this.View.Model.GetValue("F_009", i); // var f10 = this.View.Model.GetValue("F_010", i); // var f11 = this.View.Model.GetValue("F_011", i); // var f12 = this.View.Model.GetValue("F_012", i); // var f13 = this.View.Model.GetValue("F_013", i); // var f14 = this.View.Model.GetValue("F_014", i); // var f15 = this.View.Model.GetValue("F_015", i); // var f16 = this.View.Model.GetValue("F_016", i); // var f17 = this.View.Model.GetValue("F_017", i); // var f18 = this.View.Model.GetValue("F_018", i); // var f19 = this.View.Model.GetValue("F_019", i); // var f20 = this.View.Model.GetValue("F_020", i); // var f21 = this.View.Model.GetValue("F_021", i); // var f22 = this.View.Model.GetValue("F_022", i); // var f23 = this.View.Model.GetValue("F_023", i); // var f24 = this.View.Model.GetValue("F_024", i); // var f25 = this.View.Model.GetValue("F_025", i); // var f26 = this.View.Model.GetValue("F_026", i); // var f27 = this.View.Model.GetValue("F_027", i); // var f28 = this.View.Model.GetValue("F_028", i); // var f29 = this.View.Model.GetValue("F_029", i); // var f30 = this.View.Model.GetValue("F_030", i); // var f31 = this.View.Model.GetValue("F_031", i); // var f32 = this.View.Model.GetValue("F_032", i); // var f33 = this.View.Model.GetValue("F_033", i); // var f34 = this.View.Model.GetValue("F_034", i); // var f35 = this.View.Model.GetValue("F_035", i); // var f36 = this.View.Model.GetValue("F_036", i); // var f37 = this.View.Model.GetValue("F_037", i); // var f38 = this.View.Model.GetValue("F_038", i); // var f39 = this.View.Model.GetValue("F_039", i); // var f40 = this.View.Model.GetValue("F_040", i); // var f41 = this.View.Model.GetValue("F_041", i); // var f42 = this.View.Model.GetValue("F_042", i); // var f43 = this.View.Model.GetValue("F_043", i); // var f44 = this.View.Model.GetValue("F_044", i); // var f45 = this.View.Model.GetValue("F_045", i); // var f46 = this.View.Model.GetValue("F_046", i); // var f47 = this.View.Model.GetValue("F_047", i); // var f48 = this.View.Model.GetValue("F_048", i); // var f49 = this.View.Model.GetValue("F_049", i); // var f50 = this.View.Model.GetValue("F_050", i); // var f51 = this.View.Model.GetValue("F_051", i); // var f52 = this.View.Model.GetValue("F_052", i); // var f53 = this.View.Model.GetValue("F_053", i); // var f54 = this.View.Model.GetValue("F_054", i); // var f55 = this.View.Model.GetValue("F_055", i); // var f56 = this.View.Model.GetValue("F_056", i); // var f57 = this.View.Model.GetValue("F_057", i); // var f58 = this.View.Model.GetValue("F_058", i); // var f59 = this.View.Model.GetValue("F_059", i); // #endregion // string sql_3 = string.Format(@"Insert Into ReceivablesDetailsTable Values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}', // '{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}','{21}','{22}','{23}','{24}','{25}','{26}','{27}','{28}','{29}', // '{30}','{31}','{32}','{33}','{34}','{35}','{36}','{37}','{38}','{39}','{40}','{41}','{42}','{43}','{44}','{45}','{46}','{47}','{48}','{49}', // '{50}','{51}','{52}','{53}','{54}','{55}','{56}','{57}','{58}','{59}' // )", f1, f2, f3, f4, f5, f6, f7, f8, f9, // f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, // f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, // f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f0); // DBUtils.ExecuteDynamicObject(Context, sql_3); // } // } //} //this.View.Model.SetValue("F_ISSX", "需要刷新"); #endregion } if (e.BarItemKey == "MBBA_tbButton_3") { string sql = string.Format("Delete From ReceivablesDetailsTable"); DBUtils.ExecuteDynamicObject(Context, sql); this.View.Model.SetValue("F_ISSX", "需要刷新"); } } public override void DataChanged(DataChangedEventArgs e) { base.DataChanged(e); if (e.Field.Key.Equals("F_ISSX")) { //文本字段触发值更新时,模拟用户点击菜单,此处模拟点击“选项”菜单: ((IDynamicFormViewService)this.View).MainBarItemClick("MBBA_tbButton"); } if (e.Field.Key.Equals("F_061") || e.Field.Key.Equals("F_054") || e.Field.Key.Equals("F_055") || e.Field.Key.Equals("F_056") || e.Field.Key.Equals("F_060") || e.Field.Key.Equals("F_057") || e.Field.Key.Equals("F_058")) { this.Model.SetValue("F_666", "True", e.Row); } } } }