| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | using NPOI.SS.Formula.Functions;using SqlSugar;using System;using System.Collections.Generic;using System.Linq;using System.Linq.Expressions;using System.Text;using wms.dto;using wms.dto.request.hj;using wms.dto.request.hj.dto;using wms.sqlsugar.model;using wms.sqlsugar.model.hj;using wms.util.Check;using static wms.dto.request.hj.dto.ReportResponse;namespace wms.sqlsugar{    /// <summary>    /// 创建仓储    /// </summary>    /// <typeparam name="T"></typeparam>    public class RepositoryTask<T> : SimpleClient<T> where T : class, new()    {        public RepositoryTask()        {            //固定数据库用法            base.Context = SqlSugarHelper.Db.GetConnectionScopeWithAttr<T>();            //动态库用法一般用于维护数据库连接字符串根据用法            //if (!SqlSugarHelper.Db.IsAnyConnection("用户读出来的数据库ConfigId"))             //{            //    SqlSugarHelper.Db.AddConnection(new ConnectionConfig() { 数据库读出来信息 });            //}            //base.Context = SqlSugarHelper.Db.GetConnectionScope("用户读出来的数据库ConfigId");        }        public T InsertReturnEntity(T t)        {            return base.Context.Insertable(t).ExecuteReturnEntity();        }        public int InsertableSplitTable(T t)        {            return base.Context.Insertable(t).SplitTable().ExecuteCommand();        }        /// <summary>        /// 该方法默认不更新CreatedUserId,CreatedTime        /// </summary>        /// <param name="entity"></param>        /// <returns></returns>        public bool UpdateEntity(T entity)        {            return base.Context.Updateable(entity).IgnoreColumns(new string[] { "AddWho", "AddTime" }).ExecuteCommand() > 0;        }        public bool UpdateModelColumns(Expression<Func<T, T>> Columns, Expression<Func<T, bool>> WhereExpression)        {            return base.Update(Columns, WhereExpression);        }        public bool UpdateSplitTableModelColumns(Expression<Func<T, T>> Columns, Expression<Func<T, bool>> WhereExpression)        {            return base.Context.Updateable<T>().SetColumns(Columns).Where(WhereExpression).SplitTable(x => x.Take(2)).ExecuteCommand() > 0;        }        public T GetModelByExpression(Expression<Func<T, bool>> WhereExpression)        {            return base.GetSingle(WhereExpression);        }        public List<hjSysConfig> GetTunList(TunnelRequest request)        {            var list = base.Context.Queryable<hjSysConfig>()                       .WhereIF(!string.IsNullOrEmpty(request.WareHouse), p => p.Default2 == request.WareHouse)                       .WhereIF(!string.IsNullOrEmpty(request.Tunnel), p => p.Default1 == request.Tunnel)                       .ToList();            return list;        }        public bool UpdateTunStatu(long id, string statu, long userId)        {            return base.Context.Updateable<hjSysConfig>().SetColumns(it => new hjSysConfig()            {                SContent = statu,                EditTime = DateTime.Now            }).Where(it => it.Id == id).ExecuteCommand() > 0;        }    }}
 |