Exemplo n.º 1
0
        /// <summary>
        /// 获取仓库编码
        /// </summary>
        /// <param name="UserID"></param>
        /// <returns></returns>
        public string GetMaxID(int UserID)
        {
            var curentDB   = _db.Instance;
            var smUserInfo = SMCurentUserManager.GetCurentUserID(UserID, curentDB);
            var result     = curentDB.Queryable <TBMWarehouseFileDbModel>().Where(p => p.CompanyId == smUserInfo.CompanyId).Max(p => p.Code);
            int resultInt  = Convert.ToInt32(result) + 1;

            return(resultInt.ToString().PadLeft(4, '0')); //不足6位 补H
        }
Exemplo n.º 2
0
        /// <summary>
        /// 企业设置
        /// </summary>
        /// <param name="requestObject"></param>
        /// <param name="UserID"></param>
        /// <returns></returns>
        public async Task <ResponseObject <TSMCompanyAllEditModel, bool> > ModifyCurentCompany(RequestObject <TSMCompanyAllEditModel> requestObject, int UserID)
        {
            //执行结果
            var result = false;

            //没有修改信息,返回错误信息
            if (requestObject.PostDataList == null && requestObject.PostData == null)
            {
                return(ResponseUtil <TSMCompanyAllEditModel, bool> .FailResult(requestObject, result, "PostData不能都为null"));
            }

            var curentDb = _db.Instance;

            int        id         = requestObject.PostData.ID;
            SMUserInfo sMUserInfo = SMCurentUserManager.GetCurentUserID(UserID, curentDb);


            if (sMUserInfo.CompanyId != id)
            {
                return(ResponseUtil <TSMCompanyAllEditModel, bool> .FailResult(requestObject, result, "只能修改自己公司"));
            }

            var companyDb = curentDb.Queryable <TSMCompanyDbModel>().Where(p => p.ID == id).First();

            if (companyDb.AdminId != UserID)
            {
                return(ResponseUtil <TSMCompanyAllEditModel, bool> .FailResult(requestObject, result, "您不是公司管理员"));
            }

            try
            {
                curentDb.BeginTran();

                var curentData = requestObject.PostData;
                var mainDb     = ExpressionGenericMapper <TSMCompanyAllEditModel, TSMCompanyDbModel> .Trans(curentData);


                await curentDb.Updateable <TSMCompanyDbModel>(mainDb).UpdateColumns(p => new { p.CompanyName, p.LegalPerson, p.ContactNumber, p.EnterpriseType }).ExecuteCommandAsync();

                var cDb = ExpressionGenericMapper <TSMCompanyAllEditModel, TTenantsModel> .Trans(curentData);

                cDb.ID = curentData.CId;

                await curentDb.Updateable <TTenantsModel>(cDb).UpdateColumns(p => new { p.TenantShortName, p.TenantEngName, p.TenantLogo, p.BusinessLogo }).ExecuteCommandAsync();

                curentDb.CommitTran();

                return(ResponseUtil <TSMCompanyAllEditModel, bool> .SuccessResult(requestObject, true));
            }
            catch (Exception ex)
            {
                curentDb.RollbackTran();
                return(ResponseUtil <TSMCompanyAllEditModel, bool> .FailResult(requestObject, result, ex.ToString()));
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 根据用户ID获取账户信息
        /// </summary>
        /// <param name="iUserId"></param>
        /// <returns></returns>
        public ResponseObject <int, UserInfo> GetInfo(int iUserId)
        {
            try
            {
                UserInfo   userModel  = new UserInfo();
                SMUserInfo sMUserInfo = SMCurentUserManager.GetCurentUserID(iUserId, _db.Instance);
                if (sMUserInfo == null)
                {
                    return(ResponseUtil <int, UserInfo> .FailResult(new RequestObject <int>(), null, "未找到该用户信息"));
                }

                userModel.Roles = sMUserInfo.RoleName;
                userModel.Name  = sMUserInfo.AccountName;

                RequestObject <TRolePermissionsModel> roleQuery = new RequestObject <TRolePermissionsModel>()
                {
                    IsPaging = false, QueryConditions = new List <QueryCondition>()
                };
                roleQuery.QueryConditions.Add(new QueryCondition()
                {
                    Column = "roleID", Content = userModel.RoleId.ToString(), Condition = ConditionEnum.Equal
                });
                userModel.Permissions = LoadMenuByRoles(sMUserInfo.UserID, sMUserInfo.CompanyId.Value);

                var company = _db.Instance.Queryable <TSMCompanyDbModel, TTenantsModel>(

                    (t1, t2) => new object[]
                {
                    JoinType.Left, t1.CompanyInfoId == t2.ID
                }).Where((t1, t2) => t1.ID == sMUserInfo.CompanyId).Select((t1, t2) => new { t1.CompanyName, t2.TenantLogo, t2.TenantEngName }).First();

                if (company != null)
                {
                    userModel.CompanyID     = sMUserInfo.CompanyId.Value;
                    userModel.TenantLogo    = company.TenantLogo;
                    userModel.CompanyName   = company.CompanyName;
                    userModel.TenantEngName = company.TenantEngName;
                }

                var userInfo = _db.Instance.Queryable <TSMUserAccountDbModel, TSMUserInfoDbModel>((t, t1) => new object[] {
                    JoinType.Inner, t.UserInfoId == t1.ID
                }).Where((t, t1) => t.ID == iUserId).Select((t, t1) => new { main = t, deatail = t1 }).First();

                userModel.Avatar = userInfo.deatail.HeadPicPath;



                return(ResponseUtil <int, UserInfo> .SuccessResult(new RequestObject <int>(), userModel));
            }
            catch (Exception ex)
            {
                return(ResponseUtil <int, UserInfo> .FailResult(new RequestObject <int>(), null, $"获取权限发生异常{Environment.NewLine} {ex.Message}"));
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 修改T_BM_WarehouseFile数据
        /// </summary>
        /// <param name="requestObject">返回响应结果对象,包括响应代码,修改操作结果</param>
        /// <param name="userID"></param>
        /// <returns></returns>
        public async Task <ResponseObject <TBMWarehouseFileEditModel, bool> > PutAsync(RequestObject <TBMWarehouseFileEditModel> requestObject, int userID)
        {
            try
            {
                var curentDB = _db.Instance;

                SMUserInfo sMUserInfo = SMCurentUserManager.GetCurentUserID(userID, curentDB);
                //执行结果
                var result = false;
                //没有修改信息,返回错误信息
                if (requestObject.PostDataList == null && requestObject.PostData == null)
                {
                    return(ResponseUtil <TBMWarehouseFileEditModel, bool> .FailResult(requestObject, false, "PostData不能都为null"));
                }
                //批量更新优先级高于单记录更新
                if (requestObject.PostDataList != null && requestObject.PostDataList.Count > 0)
                {
                    //批量更新
                    var editList = _mapper.Map <List <TBMWarehouseFileEditModel>, List <TBMWarehouseFileDbModel> >(requestObject.PostDataList);
                    result = await _db.Instance.Updateable <TBMWarehouseFileDbModel>(editList).IgnoreColumns(p => new { p.DeleteFlag, p.Code, p.CompanyId }).ExecuteCommandAsync() > 0;
                }
                else
                {
                    //单记录更新
                    var editModel = _mapper.Map <TBMWarehouseFileDbModel>(requestObject.PostData);

                    var oldModel = _db.Instance.Queryable <TBMWarehouseFileDbModel>().Where(p => SqlFunc.IsNull(p.DeleteFlag, false) == false &&
                                                                                            p.WarehouseName == editModel.WarehouseName &&
                                                                                            p.CompanyId == sMUserInfo.CompanyId.Value &&
                                                                                            p.ID != editModel.ID
                                                                                            ).First();

                    if (oldModel != null)
                    {
                        return(ResponseUtil <TBMWarehouseFileEditModel, bool> .FailResult(requestObject, false, editModel.WarehouseName + " 已经存在"));
                    }

                    result = await _db.Instance.Updateable(editModel).IgnoreColumns(p => new { p.DeleteFlag, p.Code, p.CompanyId }).ExecuteCommandAsync() > 0;
                }

                //返回执行结果
                if (result)
                {
                    return(ResponseUtil <TBMWarehouseFileEditModel, bool> .SuccessResult(requestObject, true));
                }
                return(ResponseUtil <TBMWarehouseFileEditModel, bool> .FailResult(requestObject, false, "修改数据失败!"));
            }
            catch (Exception ex)
            {
                //返回异常结果
                return(ResponseUtil <TBMWarehouseFileEditModel, bool> .FailResult(requestObject, false, ex.Message));
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 获取企业信息
        /// </summary>
        /// <param name="UserID"></param>
        /// <returns></returns>
        public async Task <ResponseObject <int, TSMCompanyQueryAllModel> > PersonalGet(int UserID)
        {
            RequestObject <int>     request = new RequestObject <int>();
            TSMCompanyQueryAllModel result  = null;

            try
            {
                SMUserInfo sMUserInfo = SMCurentUserManager.GetCurentUserID(UserID, _db.Instance);

                result = await _db.Instance.Queryable <TSMCompanyDbModel, TTenantsModel>(

                    (t1, t2) => new object[]
                {
                    JoinType.Left, t1.CompanyInfoId == t2.ID
                }).Where((t1, t2) => t1.ID == sMUserInfo.CompanyId).Select((t1, t2) =>
                                                                           new TSMCompanyQueryAllModel
                {
                    ID                = t1.ID,
                    CompanyName       = t1.CompanyName,
                    LegalPerson       = t1.LegalPerson,
                    ContactNumber     = t1.ContactNumber,
                    ContactEmail      = t1.ContactEmail,
                    CompanyInfoId     = t1.CompanyInfoId,
                    CId               = t2.ID,
                    TenantShortName   = t2.TenantShortName,
                    TenantEngName     = t2.TenantEngName,
                    IsTrial           = t2.IsTrial,
                    TrialDate         = t2.TrialDate,
                    TemplateId        = t2.TemplateId,
                    ValidityPeriod    = t2.ValidityPeriod,
                    Area              = t2.Area,
                    Industry          = t2.Industry,
                    TenantScale       = t2.TenantScale,
                    RegisteredCapital = t2.RegisteredCapital,
                    MainBusiness      = t2.MainBusiness,
                    FixedTele         = t2.FixedTele,
                    Address           = t2.Address,
                    TenantLogo        = t2.TenantLogo,
                    BusinessLogo      = t2.BusinessLogo,
                    IsAdmin           = t1.AdminId == UserID ? true : false
                }).FirstAsync();

                return(ResponseUtil <int, TSMCompanyQueryAllModel> .SuccessResult(request, result));
            }
            catch (Exception ex)
            {
                return(ResponseUtil <int, TSMCompanyQueryAllModel> .FailResult(request, result, ex.Message));
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// 删除数据
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="requestObject"></param>
        /// <param name="iUserId"></param>
        /// <returns></returns>
        private async Task <ResponseObject <T, bool> > DeleteAsync <T>(RequestObject <T> requestObject, int iUserId)
        {
            try
            {
                //删除主表信息
                var companyId = SMCurentUserManager.GetCurentUserID(iUserId, _db.Instance)?.CompanyId;
                var result    = await _db.Instance.Deleteable <TSMRolePermissionsDbModel>()
                                .Where(p => p.CompanyId == companyId && p.RoleId == Convert.ToInt32(requestObject.PostData)).ExecuteCommandAsync() > 0;

                //返回执行结果
                if (result)
                {
                    return(ResponseUtil <T, bool> .SuccessResult(requestObject, true));
                }
                return(ResponseUtil <T, bool> .FailResult(requestObject, false, "删除数据失败!"));
            }
            catch (Exception ex)
            {
                //返回异常结果
                return(ResponseUtil <T, bool> .FailResult(requestObject, false, ex.Message));
            }
        }
Exemplo n.º 7
0
        public async Task <ResponseObject <TSMUserLoginResult> > LoginPost(RequestPost <TSMUserAccountAddModel> requestObject)
        {
            ResponseObject <TSMUserLoginResult> result;

            result = await _service.LoginAsync(requestObject);



            var task = Task.Factory.StartNew(() =>
            {
                try
                {
                    bool isSucess = string.IsNullOrEmpty(result.Data.Token) ? false : true;

                    if (isSucess == true)
                    {
                        string token  = result.Data.Token.Split('.')[1];
                        var payLoad   = JsonConvert.DeserializeObject <Dictionary <string, object> >(Base64UrlEncoder.Decode(token));
                        int userID    = Convert.ToInt32(payLoad["UserID"]);
                        string ID     = payLoad["ID"].ToString();
                        int CompanyID = Convert.ToInt32(payLoad["CompanyID"]);
                        if (CompanyID == 0)   //没有加入公司的员工不保存登陆日志
                        {
                            return;
                        }


                        //写 登陆状态到redis
                        var redis             = CacheFactory.Instance(CacheType.Redis);
                        UserStatus userStatus = new UserStatus()
                        {
                            ID = ID, LastRefreshTime = DateTime.Now
                        };
                        string redisKey = string.Format(CacheKeyString.UserLoginAllKey, userID, CompanyID, ID);
                        redis.AddOrUpdateKey <UserStatus>(redisKey, userStatus, 90);


                        //写登陆日志到 MangoDB
                        SMUserInfo sMUserInfo = SMCurentUserManager.GetCurentUserID(userID, _db.Instance);
                        string ipAddress      = Request.HttpContext.Connection.RemoteIpAddress.ToString();

                        LoginLog loginLog    = new LoginLog();
                        loginLog.LoginID     = ID;
                        loginLog.Account     = sMUserInfo.AccountName;
                        loginLog.CompanyID   = sMUserInfo.CompanyId.Value;
                        loginLog.Description = isSucess ? LoginTypeEum.LoginSuccess : LoginTypeEum.LoginFail;
                        loginLog.IpAddress   = ipAddress;
                        loginLog.LoginTime   = DateTime.Now;
                        loginLog.RealName    = sMUserInfo == null ? "" : sMUserInfo.RealName;
                        loginLog.RoleName    = sMUserInfo == null ? "" : sMUserInfo.RoleName;
                        loginLog.Status      = isSucess ? LoginStatusEum.Logining : LoginStatusEum.LogOut;

                        MongoDbUtil.AddDoc(loginLog);
                    }
                    else
                    {
                        //LoginLog loginLog = new LoginLog();
                        //loginLog.ID = Guid.NewGuid().ToString();
                        //loginLog.Account = sMUserInfo.AccountName;
                        //loginLog.CompanyID = sMUserInfo.CompanyId.Value;
                        //loginLog.Description = isSucess ? LoginTypeEum.LoginSuccess : LoginTypeEum.LoginFail;
                        //loginLog.IpAddress = ipAddress;
                        //loginLog.LoginTime = DateTime.Now;
                        //loginLog.RealName = sMUserInfo?.RealName;
                        //loginLog.RoleName = sMUserInfo?.RoleName;
                        //loginLog.Status = isSucess ? LoginStatusEum.Logining : LoginStatusEum.LogOut;

                        //MongoDbUtil.AddDoc(loginLog);
                    }
                }
                catch (Exception EX)
                {
                }
            });

            return(result);
        }
Exemplo n.º 8
0
        /// <summary>
        /// 获取获取部门下的员工
        /// </summary>
        /// <param name="requestObject">返回响应结果对象,包括响应代码,查询操作结果</param>
        /// <param name="UserID">用户ID</param>
        /// <returns></returns>
        public async Task <ResponseObject <TSMDeptQueryForDispatchModel, List <TSMUserAccountQueryAllModel> > > GetDispathUserAsync(RequestObject <TSMDeptQueryForDispatchModel> requestObject, int UserID)
        {
            try
            {
                List <TSMUserAccountQueryAllModel> queryData = null; //查询结果集对象
                RefAsync <int> totalNumber = -1;                     //总记录数
                var            condition   = requestObject.QueryConditions.Where(p => p.Column.ToLower() == "deptid").FirstOrDefault();
                if (condition == null)
                {
                    return(ResponseUtil <TSMDeptQueryForDispatchModel, List <TSMUserAccountQueryAllModel> > .FailResult(requestObject, null, "deptid不能为空"));
                }
                int companyID = SMCurentUserManager.GetCurentUserID(UserID, _db.Instance).CompanyId.Value;

                var mainDept = _db.Instance.Queryable <TSMDeptDbModel>().Where(p => p.Id.ToString() == condition.Content).First();

                var query = _db.Instance.Queryable <TSMUserAccountDbModel, TSMUserInfoDbModel, TSMDeptUserRelationDbModel, TSMDeptDbModel>(
                    (t1, t2, t3, t4) => new object[]
                {
                    JoinType.Inner, t1.UserInfoId == t2.ID,
                    JoinType.Left, t1.ID == t3.UserAccountId,
                    JoinType.Left, t3.DeptId == t4.Id
                }).Where((t1, t2, t3, t4) => t1.CompanyId == companyID);

                if (mainDept != null)
                {
                    query = query.Where((t1, t2, t3, t4) => t4.PathLogic.StartsWith(mainDept.PathLogic));
                }

                if (condition.Content == "-100")
                {
                    query = query.Where((t1, t2, t3, t4) => t3.Id == null);
                }

                //排序条件
                if (requestObject.OrderByConditions != null && requestObject.OrderByConditions.Count > 0)
                {
                    foreach (var item in requestObject.OrderByConditions)
                    {
                        var exp = SqlSugarUtil.GetOrderByLambda <TSMDeptDbModel>(item.Column);
                        if (exp == null)
                        {
                            continue;
                        }
                        if (item.Condition.ToLower() != "asc" &&
                            item.Condition.ToLower() != "desc")
                        {
                            continue;
                        }
                        query.OrderBy($"{item.Column} {item.Condition}");
                    }
                }

                if (requestObject.IsPaging)
                {
                    queryData = await query.Select((t1, t2, t3, t4) => new TSMUserAccountQueryAllModel
                    {
                        ID           = t1.ID,
                        TelAccount   = t1.TelAccount,
                        EmailAccount = t1.EmailAccount,
                        AccountName  = t1.AccountName,
                        UserInfoId   = t1.UserInfoId,
                        CompanyId    = t1.CompanyId,
                        Status       = t1.Status,
                        ExpDate      = t1.ExpDate,
                        CreateTime   = t1.CreateTime,

                        CId         = t2.ID,
                        JobNumber   = t2.JobNumber,
                        RealName    = t2.RealName,
                        FixedNumber = t2.FixedNumber,
                        Address     = t2.Address,
                        HeadPicPath = t2.HeadPicPath,
                        Remarks     = t2.Remarks,
                    }).ToPageListAsync(requestObject.PageIndex, requestObject.PageSize, totalNumber);
                }
                else
                {
                    queryData = await query.Select((t1, t2, t3, t4) => new TSMUserAccountQueryAllModel
                    {
                        ID           = t1.ID,
                        TelAccount   = t1.TelAccount,
                        EmailAccount = t1.EmailAccount,
                        AccountName  = t1.AccountName,
                        UserInfoId   = t1.UserInfoId,
                        CompanyId    = t1.CompanyId,
                        Status       = t1.Status,
                        ExpDate      = t1.ExpDate,
                        CreateTime   = t1.CreateTime,

                        CId         = t2.ID,
                        JobNumber   = t2.JobNumber,
                        RealName    = t2.RealName,
                        FixedNumber = t2.FixedNumber,
                        Address     = t2.Address,
                        HeadPicPath = t2.HeadPicPath,
                        Remarks     = t2.Remarks,
                    }).ToListAsync();
                }


                //返回执行结果
                return(ResponseUtil <TSMDeptQueryForDispatchModel, List <TSMUserAccountQueryAllModel> > .SuccessResult(requestObject, queryData, totalNumber));
            }
            catch (Exception ex)
            {
                //返回查询异常结果
                return(ResponseUtil <TSMDeptQueryForDispatchModel, List <TSMUserAccountQueryAllModel> > .FailResult(requestObject, null, ex.Message));
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// 获取T_BM_WarehouseFile数据
        /// </summary>
        /// <param name="requestObject">返回响应结果对象,包括响应代码,查询操作结果</param>
        /// <returns></returns>
        public async Task <ResponseObject <TBMWarehouseFileQueryModel, List <TBMWarehouseFileQueryModel> > > GetAsync(RequestObject <TBMWarehouseFileQueryModel> requestObject, int UserID)
        {
            try
            {
                var curentDB   = _db.Instance;
                var smUserInfo = SMCurentUserManager.GetCurentUserID(UserID, curentDB);
                List <TBMWarehouseFileQueryModel> queryData = null; //查询结果集对象
                RefAsync <int> totalNumber = -1;                    //总记录数
                var            query       = curentDB.Queryable <TBMWarehouseFileDbModel, TSMUserAccountDbModel, TSMUserInfoDbModel>(
                    (t, t0, t1) => new object[]
                {
                    JoinType.Left, t.PrincipalId == t0.ID,
                    JoinType.Left, t0.UserInfoId == t1.ID
                }).Where((t, t0, t1) => SqlFunc.IsNull(t.DeleteFlag, false) != true && t.CompanyId == smUserInfo.CompanyId);
                //查询条件
                if (requestObject.QueryConditions != null && requestObject.QueryConditions.Count > 0)
                {
                    var conditionals = SqlSugarUtil.GetConditionalModels(requestObject.QueryConditions);

                    foreach (ConditionalModel item in conditionals)
                    {
                        item.FieldName = $"t.{item.FieldName}";
                    }
                    query.Where(conditionals);
                }
                //排序条件
                if (requestObject.OrderByConditions != null && requestObject.OrderByConditions.Count > 0)
                {
                    foreach (var item in requestObject.OrderByConditions)
                    {
                        var exp = SqlSugarUtil.GetOrderByLambda <TBMWarehouseFileDbModel>(item.Column);
                        if (exp == null)
                        {
                            continue;
                        }
                        if (item.Condition.ToLower() != "asc" &&
                            item.Condition.ToLower() != "desc")
                        {
                            continue;
                        }
                        query.OrderBy($"{item.Column} {item.Condition}");
                    }
                }

                //执行查询
                if (requestObject.IsPaging)
                {
                    queryData = await query.Select((t, t0, t1) => new TBMWarehouseFileQueryModel
                    {
                        ID               = t.ID,
                        Code             = t.Code,
                        WarehouseName    = t.WarehouseName,
                        WarehouseAddress = t.WarehouseAddress,
                        PrincipalId      = t.PrincipalId,
                        RealName         = t.PrincipalId == null ? "" : t0.AccountName,
                        Status           = t.Status,
                        Remark           = t.Remark,
                        CompanyId        = t.CompanyId,
                        DeleteFlag       = t.DeleteFlag,
                    })
                                .ToPageListAsync(requestObject.PageIndex, requestObject.PageSize, totalNumber);
                }
                else
                {
                    queryData = await query.Select((t, t0, t1) => new TBMWarehouseFileQueryModel
                    {
                        ID               = t.ID,
                        Code             = t.Code,
                        WarehouseName    = t.WarehouseName,
                        WarehouseAddress = t.WarehouseAddress,
                        PrincipalId      = t.PrincipalId,
                        RealName         = t.PrincipalId == null ? "" : t0.AccountName,
                        Status           = t.Status,
                        Remark           = t.Remark,
                        CompanyId        = t.CompanyId,
                        DeleteFlag       = t.DeleteFlag,
                    })
                                .ToListAsync();
                }

                //返回执行结果
                return(ResponseUtil <TBMWarehouseFileQueryModel, List <TBMWarehouseFileQueryModel> > .SuccessResult(requestObject, queryData, totalNumber));
            }
            catch (Exception ex)
            {
                //返回查询异常结果
                return(ResponseUtil <TBMWarehouseFileQueryModel, List <TBMWarehouseFileQueryModel> > .FailResult(requestObject, null, ex.Message));
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// 新增T_BM_WarehouseFile数据
        /// </summary>
        /// <param name="requestObject">返回响应结果对象,包括响应代码,新增操作结果</param>
        /// <param name="UserID">操作人ID</param>
        /// <returns></returns>
        public async Task <ResponseObject <TBMWarehouseFileAddModel, bool> > PostAsync(RequestObject <TBMWarehouseFileAddModel> requestObject, int UserID)
        {
            try
            {
                var curentDB = _db.Instance;

                SMUserInfo sMUserInfo = SMCurentUserManager.GetCurentUserID(UserID, curentDB);
                //如果没有新增数据,返回错误信息
                if (requestObject.PostData == null && requestObject.PostDataList == null)
                {
                    return(ResponseUtil <TBMWarehouseFileAddModel, bool> .FailResult(requestObject, false, "PostData,PostDataList不能都为null"));
                }
                var result = false;
                //批量新增的优先级高于单条数据新增,且只会执行一个新增操作
                if (requestObject.PostDataList != null && requestObject.PostDataList.Count > 0)
                {
                    var addList = _mapper.Map <List <TBMWarehouseFileAddModel>, List <TBMWarehouseFileDbModel> >(requestObject.PostDataList);
                    foreach (var item in addList)
                    {
                        item.CompanyId = sMUserInfo.CompanyId.Value;
                    }

                    result = await curentDB.Insertable(addList).ExecuteCommandAsync() > 0;
                }
                else
                {
                    var addModel = _mapper.Map <TBMWarehouseFileDbModel>(requestObject.PostData);
                    addModel.CompanyId  = sMUserInfo.CompanyId.Value;
                    addModel.DeleteFlag = false;

                    var oldModel = curentDB.Queryable <TBMWarehouseFileDbModel>().Where(p => SqlFunc.IsNull(p.DeleteFlag, false) == false && p.WarehouseName == addModel.WarehouseName &&
                                                                                        p.CompanyId == sMUserInfo.CompanyId.Value).First();

                    if (oldModel != null)
                    {
                        return(ResponseUtil <TBMWarehouseFileAddModel, bool> .FailResult(requestObject, false, addModel.WarehouseName + " 已经存在"));
                    }

                    var oldModelCode = curentDB.Queryable <TBMWarehouseFileDbModel>().Where(p => SqlFunc.IsNull(p.DeleteFlag, false) == false && p.Code == addModel.Code &&
                                                                                            p.CompanyId == sMUserInfo.CompanyId.Value).First();

                    if (oldModelCode != null)
                    {
                        return(ResponseUtil <TBMWarehouseFileAddModel, bool> .FailResult(requestObject, false, "编号:" + addModel.Code + " 已经存在"));
                    }

                    addModel.CompanyId = sMUserInfo.CompanyId.Value;

                    result = await _db.Instance.Insertable(addModel).ExecuteCommandAsync() > 0;
                }
                //返回执行结果
                if (result)
                {
                    return(ResponseUtil <TBMWarehouseFileAddModel, bool> .SuccessResult(requestObject, true));
                }
                return(ResponseUtil <TBMWarehouseFileAddModel, bool> .FailResult(requestObject, false, "新增数据失败!"));
            }
            catch (Exception ex)
            {
                //返回异常结果
                return(ResponseUtil <TBMWarehouseFileAddModel, bool> .FailResult(requestObject, false, ex.Message));
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// 查询日志
        /// </summary>
        /// <param name="requestObject"></param>
        /// <param name="UserId"></param>
        /// <returns></returns>
        public ResponseObject <LogQueryModel, List <OperateLog> > Get(RequestObject <LogQueryModel> requestObject, int UserId)
        {
            try
            {
                long       totalNum   = -1;
                SMUserInfo sMUserInfo = SMCurentUserManager.GetCurentUserID(UserId, _db.Instance);

                List <OperateLog> result = new List <OperateLog>();

                Expression <Func <OperateLog, bool> > pression = p => p.CompanyID == sMUserInfo.CompanyId.Value;

                var queryEntiy = requestObject.PostData;
                if (queryEntiy != null)
                {
                    if (!string.IsNullOrEmpty(queryEntiy.Account))
                    {
                        pression = pression.And(p => p.Account.Contains(queryEntiy.Account));
                    }
                    if (!string.IsNullOrEmpty(queryEntiy.Path))
                    {
                        pression = pression.And(p => p.Path.Contains(queryEntiy.Path));
                    }

                    if (!string.IsNullOrEmpty(queryEntiy.RealName))
                    {
                        pression = pression.And(p => p.RealName.Contains(queryEntiy.RealName));
                    }

                    if (!string.IsNullOrEmpty(queryEntiy.IpAddress))
                    {
                        pression = pression.And(p => p.IpAddress == queryEntiy.IpAddress);
                    }

                    if (queryEntiy.CreateTimeBg != null)
                    {
                        pression = pression.And(p => p.CreateTime >= queryEntiy.CreateTimeBg.Value);
                    }

                    if (queryEntiy.CreateTimeEd != null)
                    {
                        DateTime eg = queryEntiy.CreateTimeEd.Value.AddDays(1);
                        pression = pression.And(p => p.CreateTime < eg);
                    }
                }
                var sort = Builders <OperateLog> .Sort.Descending(y => y.CreateTime);

                if (requestObject.IsPaging == true)
                {
                    result = MongoDbUtil.GetDoc <OperateLog>(pression, requestObject.PageIndex, requestObject.PageSize, sort, ref totalNum);
                }
                else
                {
                    result = MongoDbUtil.GetDoc <OperateLog>(pression, sort).ToList();
                }


                return(ResponseUtil <LogQueryModel, List <OperateLog> > .SuccessResult(requestObject, result, totalNum));
            }
            catch (Exception ex)
            {
                //返回查询异常结果
                return(ResponseUtil <LogQueryModel, List <OperateLog> > .FailResult(requestObject, null, ex.Message));
            }
        }
        /// <summary>
        /// 获取T_BM_DictionaryType数据
        /// </summary>
        /// <param name="requestObject">返回响应结果对象,包括响应代码,查询操作结果</param>
        /// <param name="UserID"></param>
        /// <returns></returns>
        public async Task <ResponseObject <TBMDictionaryTypeQueryModel, List <TBMDictionaryTypeQueryModel> > > GetAsync(RequestObject <TBMDictionaryTypeQueryModel> requestObject, int UserID)
        {
            try
            {
                var curentDB   = _db.Instance;
                var smUserInfo = SMCurentUserManager.GetCurentUserID(UserID, curentDB);

                List <TBMDictionaryTypeQueryModel> queryData = null; //查询结果集对象
                RefAsync <int> totalNumber = -1;                     //总记录数
                var            query       = curentDB.Queryable <TBMDictionaryTypeDbModel>().Where(p => p.CompanyId == smUserInfo.CompanyId && SqlFunc.IsNull(p.DeleteFlag, false) == false);
                //查询条件
                if (requestObject.QueryConditions != null && requestObject.QueryConditions.Count > 0)
                {
                    var conditionals = SqlSugarUtil.GetConditionalModels(requestObject.QueryConditions);
                    query.Where(conditionals);
                }
                //排序条件
                if (requestObject.OrderByConditions != null && requestObject.OrderByConditions.Count > 0)
                {
                    foreach (var item in requestObject.OrderByConditions)
                    {
                        var exp = SqlSugarUtil.GetOrderByLambda <TBMDictionaryTypeDbModel>(item.Column);
                        if (exp == null)
                        {
                            continue;
                        }
                        if (item.Condition.ToLower() != "asc" &&
                            item.Condition.ToLower() != "desc")
                        {
                            continue;
                        }
                        query.OrderBy($"{item.Column} {item.Condition}");
                    }
                }

                //执行查询
                if (requestObject.IsPaging)
                {
                    queryData = await query.Select(
                        (t) => new TBMDictionaryTypeQueryModel
                    {
                        ID         = t.ID,
                        TypeName   = t.TypeName,
                        CompanyId  = t.CompanyId,
                        DeleteFlag = t.DeleteFlag,
                    })
                                .ToPageListAsync(requestObject.PageIndex, requestObject.PageSize, totalNumber);
                }
                else
                {
                    queryData = await query.Select(
                        (t) => new TBMDictionaryTypeQueryModel
                    {
                        ID         = t.ID,
                        TypeName   = t.TypeName,
                        CompanyId  = t.CompanyId,
                        DeleteFlag = t.DeleteFlag,
                    })
                                .ToListAsync();
                }

                //返回执行结果
                return(ResponseUtil <TBMDictionaryTypeQueryModel, List <TBMDictionaryTypeQueryModel> > .SuccessResult(requestObject, queryData, totalNumber));
            }
            catch (Exception ex)
            {
                //返回查询异常结果
                return(ResponseUtil <TBMDictionaryTypeQueryModel, List <TBMDictionaryTypeQueryModel> > .FailResult(requestObject, null, ex.Message));
            }
        }