renmingwang
2026-03-25 6d56bf4daf08c4c7c6d193d98ed0b547dc473451
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskHtyService.cs
@@ -116,5 +116,47 @@
        {
            return BaseDal.QueryData(x => x.TaskNum == taskNum).OrderByDescending(x => x.CreateDate).ToList();
        }
        /// <summary>
        /// åˆ é™¤æŒ‡å®šæ—¥æœŸä¹‹å‰çš„历史任务数据
        /// </summary>
        /// <param name="keepMonths">保留的月数,默认为3个月(本月+后两个月)</param>
        /// <returns>删除的记录数</returns>
        public int DeleteOldTaskHistory(int keepMonths = 3)
        {
            try
            {
                // è®¡ç®—保留日期:当前日期减去keepMonths个月
                DateTime keepDate = DateTime.Now.AddMonths(-keepMonths);
                // å…ˆæŸ¥è¯¢å‡ºè¦åˆ é™¤çš„æ•°æ®
                List<Dt_Task_Hty> tasksToDelete = BaseDal.QueryData().Where(x => x.CreateDate < keepDate).ToList();
                // å¦‚果没有要删除的数据,直接返回0
                if (tasksToDelete.Count == 0)
                {
                    return 0;
                }
                // åˆ é™¤æŸ¥è¯¢å‡ºçš„历史记录
                bool result = BaseDal.DeleteData(tasksToDelete);
                return result ? tasksToDelete.Count : 0;
            }
            catch (Exception ex)
            {
                // è®°å½•异常日志
                //Console.WriteLine($"删除历史任务记录失败: {ex.Message}");
                return 0;
            }
        }
        /// <summary>
        /// å®šæ—¶ä»»åŠ¡è°ƒç”¨çš„åŽ†å²ä»»åŠ¡åˆ é™¤æ–¹æ³•
        /// </summary>
        public void Task_Hty_Job()
        {
            // åˆ é™¤3个月之前的历史任务数据,保留本月和后两个月的数据
            DeleteOldTaskHistory(3);
        }
    }
}
}