Files
GateDge2023_ljy/MonthlyProductionSchedule/AutoRecordsInventoryPlugIn.cs

72 lines
2.9 KiB
C#
Raw Normal View History

2023-12-17 11:37:43 +08:00
using Kingdee.BOS;
using Kingdee.BOS.App;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Contracts;
using Kingdee.BOS.Core;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ExtensionMethods;
2023-12-29 08:46:01 +08:00
using Kingdee.BOS.Log;
2023-12-17 11:37:43 +08:00
namespace MonthlyProductionSchedule
{
2023-12-29 08:46:01 +08:00
[Description("生产计划表-库存记录-定时任务"), HotUpdate]
2023-12-17 11:37:43 +08:00
public class AutoRecordsInventoryPlugIn : IScheduleService
{
public void Run(Context ctx, Schedule schedule)
{
2024-01-02 10:44:59 +08:00
try
2023-12-29 08:46:01 +08:00
{
2024-01-08 10:58:24 +08:00
var executeDay = schedule.Parameters.Long2Int();
if (executeDay == 0)
executeDay = 20;
2023-12-29 08:46:01 +08:00
2024-01-08 10:58:24 +08:00
if (executeDay > 28)
2024-01-02 10:44:59 +08:00
executeDay = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddSeconds(-1).Day;
2023-12-29 08:46:01 +08:00
2024-01-02 10:44:59 +08:00
var newDate = DateTime.Now;
var appointDate = new DateTime(newDate.Year, newDate.Month, executeDay);
Logger.Info(schedule.Name, $"记录物料即时库存检测:约定记录时间[{appointDate:yyyy-MM-dd}],当前时间[{newDate:yyyy-MM-dd}]");
if (newDate.Day == executeDay)
2023-12-29 08:46:01 +08:00
{
2024-01-02 10:44:59 +08:00
try
{
Logger.Info(schedule.Name, "记录物料即时库存start...");
////如果这个日期下已保存有数据,先删除
//var delSql = $"DELETE FROM T_MATERIAL_INVENTORY_MONTH_RECORD WHERE RECORDDAY = {newDate.Day} AND RECORDMONTH = {newDate.Month} AND RECORDYEAR = {newDate.Year} ";
//var delNum = DBServiceHelper.Execute(ctx, $"/*dialect*/{delSql}");
//Logger.Info(schedule.Name, $"删除物料即时库存数据成功!(本次删除{delNum}条)");
2024-03-04 16:50:20 +08:00
var intoSql = $@" EXEC PROC_SAVE_MATERIAL_INVENTORY {ctx.UserLocale.LCID} ,{newDate.Year} ,{newDate.Month} ,{newDate.Day} ";
2024-01-02 10:44:59 +08:00
var intoNum = DBServiceHelper.Execute(ctx, $"/*dialect*/{intoSql}");
Logger.Info(schedule.Name, $"记录物料即时库存成功!(本次记录{intoNum}条)");
}
catch (Exception ex)
{
Logger.Error(schedule.Name, ex.Message, ex);
}
finally
{
Logger.Info(schedule.Name, "记录物料即时库存end...");
}
2023-12-29 08:46:01 +08:00
}
}
2024-01-02 10:44:59 +08:00
catch (Exception ex)
{
Logger.Error(schedule.Name, ex.Message, ex);
}
2023-12-29 08:46:01 +08:00
//DBServiceHelper.Execute(ctx, $"/*dialect*/ EXEC PROC_PPL_AutoSaveCurrentData {tableName} , {newDate.ToLongFormat()} ,{startDate.ToShortFormat()} ,{endDate.ToShortFormat()} ,{year} ,{month}");
2023-12-17 11:37:43 +08:00
}
}
}