1
huangxiaoqiang
2025-12-25 8b8fd6e60718e5015c9b200a59edcdfede284b87
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_WMSServer/Jobs/InventoryLockJob.cs
@@ -4,37 +4,25 @@
using WIDESEA_Common.StockEnum;
using WIDESEA_Model.Models;
using WIDESEA_Model.Models.Basic;
using WIDESEA_WMSServer.Jobs;
namespace WIDESEA_WMSServer.Jobs
namespace WIDESEA_WMSServer
{
    [DisallowConcurrentExecution]
    public class InventoryLockJob : IJob
    {
        private readonly ILogger<ErpJob> _logger;
        private readonly ISqlSugarClient _db;
        public InventoryLockJob(ILogger<ErpJob> logger, ISqlSugarClient db )
        public InventoryLockJob(ISqlSugarClient db)
        {
            _logger = logger;
            _db = db;
        }
        public Task Execute(IJobExecutionContext context)
        {
            // ç¬¬ä¸€æ­¥ï¼šæ›´æ–°ValidDate的原生SQL(SQL Server)
    //        string updateSql = @"
    //UPDATE s
    //SET s.ValidDate = DATEADD(DAY, m.ValidityDays, s.CreateDate)
    //FROM Dt_StockInfoDetail s
    //INNER JOIN Dt_MaterialExpirationDate m ON SUBSTRING(s.MaterielCode, 1, 6) = m.MaterialCode
    //WHERE s.ValidDate IS NULL";
    //        int updateValidDateResult = _db.Ado.ExecuteCommand(updateSql);
            // ç¬¬äºŒæ­¥ï¼šæ›´æ–°è¿‡æœŸçŠ¶æ€çš„åŽŸç”ŸSQL
            string updateStatusSql = @"
    UPDATE Dt_StockInfoDetail
    SET Status = 98
    WHERE ValidDate IS NOT NULL AND ValidDate < GETDATE()";
                                        UPDATE Dt_StockInfoDetail
                                        SET Status = 98
                                        WHERE  ValidDate IS NOT NULL AND ValidDate < GETDATE()
                                        AND Status = 6";
            int updateStatusResult = _db.Ado.ExecuteCommand(updateStatusSql);
            return Task.CompletedTask;