Admin
2026-01-24 201f679225383f21d6fcce0d60d17a1b9c4cd36f
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs
@@ -1,8 +1,13 @@
锘縰sing AutoMapper;
using Org.BouncyCastle.Crypto;
using SqlSugar;
using StackExchange.Profiling.Internal;
using WIDESEA_Common.Log;
using WIDESEA_Common.StockEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Utilities;
using WIDESEA_IStockService;
using WIDESEA_Model.Models;
@@ -39,5 +44,56 @@
                return webResponse.Error($"搴撳瓨娣诲姞閿欒锛氬師鍥狅細{ex.Message}");
            }
        }*/
        public virtual WebResponseContent DeleteData(object[] keys)
        {
            List<Dt_StockInfo> stodata = new List<Dt_StockInfo>();
            try
            {
                if (typeof(Dt_StockInfo).GetNavigatePro() == null)
                    return BaseDal.DeleteDataByIds(keys) ? WebResponseContent.Instance.OK() : WebResponseContent.Instance.Error();
                else
                {
                    if (keys != null)
                    {
                        Type detailType = typeof(Dt_StockInfo).GetDetailType();
                        string name = typeof(Dt_StockInfo).GetMainIdByDetail();
                        List<object> dynamicDelKeys = new List<object>();
                        for (int i = 0; i < keys.Length; i++)
                        {
                            dynamicDelKeys.Add(keys[i]);
                        }
                        ((SqlSugarClient)BaseDal.Db).BeginTran();
                        foreach (var key in keys)
                        {
                            int idt = int.Parse(key.ToString());
                            stodata.Add(BaseDal.QueryData(x => x.Id == idt).FirstOrDefault());
                        }
                        if (dynamicDelKeys.Count > 0)
                            WriteLog.Write_Log("WMS_鍒犻櫎搴撳瓨", $"鍒犻櫎淇℃伅", "鎴愬姛", $"鍙傛暟锛歿stodata.ToJson()}");
                            BaseDal.Db.Deleteable<object>().AS(detailType.Name).Where($"{name} in (@id)", new { id = dynamicDelKeys.ToArray() }).ExecuteCommandHasChange();
                        BaseDal.DeleteDataByIds(keys);
                        ((SqlSugarClient)BaseDal.Db).CommitTran();
                        return WebResponseContent.Instance.OK();
                    }
                    else
                    {
                        return WebResponseContent.Instance.Error("鍙傛暟閿欒");
                    }
                }
            }
            catch (Exception ex)
            {
                ((SqlSugarClient)BaseDal.Db).RollbackTran();
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
    }
}