using Kingdee.BOS.App.Data; using Kingdee.BOS; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.Core.Report.PlugIn; using Kingdee.BOS.Model.Report; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Util; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Linq; using System.Runtime.InteropServices.ComTypes; using System.Security.Cryptography; using Kingdee.BOS.Core.Report; using System.Threading.Tasks; namespace MonthlyProductionSchedule { [Description("生产计划表-点击事件"), HotUpdate] public class BarItemClickEventPlugIn : AbstractSysReportPlugIn { public override void ButtonClick(ButtonClickEventArgs e) { base.ButtonClick(e); if (e.Key.EqualsIgnoreCase("FSaveDataButton")) { var reportModel = this.Model as SysReportModel; //简单帐表对应的Model try { var year = reportModel.DataObject["DataHoldYear"].Long2Int(); var month = reportModel.DataObject["DataHoldMonth"].Long2Int(); var date = new DateTime(year, month, 1); var startDate = date.ToString("yyyy-MM-dd"); var endDate = date.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd"); var tableName = this.SysReportView.Model.DataSource.TableName; //para.Add(new SqlParam("@tableName", KDDbType.String, tableName)); //para.Add(new SqlParam("@FRECORDDATE", KDDbType.DateTime, System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); var para = new List(); para.Add(new SqlParam("@STARTDATE", KDDbType.Date, startDate)); para.Add(new SqlParam("@ENDDATE", KDDbType.Date, endDate)); para.Add(new SqlParam("@YEAR", KDDbType.Int64, year)); para.Add(new SqlParam("@MONTH", KDDbType.Int64, month)); para.Add(new SqlParam("@DAY", KDDbType.Int64, 20)); para.Add(new SqlParam("@LCID", KDDbType.Int64, this.Context.UserLocale.LCID)); var res = DBUtils.ExecuteStoreProcedure(this.Context, "PROC_SAVE_PLANPLMRPT_DATA", para); //var res = DBUtils.ExecuteStoreProcedure(this.Context, "PROC_PPL_SaveCurrentData", para); reportModel.DataObject["DataBDStatu"] = 1; this.View.Refresh(); //this.View.InvokeFormOperation(FormOperationEnum.Refresh); //var btn = this.SysReportView.GetControl("FSaveDataButton"); //btn.Enabled = false; //确保旧的临时表删除 // var deleteTmpSql = $@" //IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[{tableName}]') AND type IN ('U')) // DROP TABLE [dbo].[{tableName}] //GO //"; // DBUtils.Execute(this.Context, $"/*dialect*/{deleteTmpSql}"); } catch (Exception ex) { this.View.ShowErrMessage(ex.Message); } //this.View.ShowMessage("保存数据会覆盖历史数据,是否继续?", MessageBoxOptions.OKCancel, new Action(result => //{ // if (result == MessageBoxResult.OK) // { // } //})); return; } } } }