Files
GateDge2023_ljy/MonthlyProductionSchedule/BarItemClickEventPlugIn.cs
PastSaid 876ebdd603 1
2023-12-29 08:46:01 +08:00

89 lines
3.6 KiB
C#

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<SqlParam>();
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<MessageBoxResult>(result =>
//{
// if (result == MessageBoxResult.OK)
// {
// }
//}));
return;
}
}
}
}