using System.Text; using Gs.BaseInfo.Models; using Gs.Entity.Sys; using Gs.Toolbox; using Gs.Toolbox.ApiCore.Abstract.Mvc; using Gs.Toolbox.ApiCore.Common.Mvc; using Gs.Toolbox.ApiCore.Group; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json.Linq; using SqlSugar; namespace Gs.BaseInfo.Services; [ApiGroup(ApiGroupNames.BaseInfo)] public class PrintUserManager : Repository, IRomteService { private readonly IHttpContextAccessor _http; private readonly string _userCode, _userGuid, _orgFids; public PrintUserManager(IHttpContextAccessor httpContextAccessor) { _http = httpContextAccessor; (_userCode, _userGuid, _orgFids) = UtilityHelper.GetUserGuidAndOrgGuid(_http); } /// /// 查询列表,支持分页 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto> GetListPage(PageQuery query) { var pageList = new PageList(); try { var _sbWhere = new StringBuilder(" 1=1" + query.keyWhere); var _sbBy = new StringBuilder(query.sortName + " " + query.sortOrder); var totalCount = 0; var itemsList = Db.Queryable( (a, b, c) => new object[] { JoinType.Left, a.PrintId == b.Guid, JoinType.Left, a.UserId == c.Guid, }) .Select((a, b, c) => new PrintUser { Guid = a.Guid, UserId = a.UserId, PrintId = a.PrintId, Remark1 = a.Remark1, Remark2 = a.Remark2, SysParam = a.SysParam, IsStatus = a.IsStatus, Account = c.Account, userName = c.UserName, printNo = b.PrintNo, }) .Where(_sbWhere.ToString()) .OrderBy(_sbBy.ToString()) .ToPageList(query.currentPage, query.everyPageSize, ref totalCount); pageList = new PageList(itemsList, totalCount, query.everyPageSize); return ReturnDto>.QuickReturn(pageList, ReturnCode.Success, "读取成功"); } catch (Exception ex) { return ReturnDto>.QuickReturn(pageList, ReturnCode.Default, ex.Message); } } /// /// 读取 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto GetModel([FromBody] PrintUser model) { var m = Db.Queryable( (a, b, c) => new object[] { JoinType.Left, a.PrintId == b.Guid, JoinType.Left, a.UserId == c.Guid, }) .Where((a, b, c) => a.Guid == model.Guid) .Select((a, b, c) => new PrintUser { Guid = a.Guid, UserId = a.UserId, PrintId = a.PrintId, Remark1 = a.Remark1, Remark2 = a.Remark2, SysParam = a.SysParam, IsStatus = a.IsStatus, Account = c.Account, userName = c.UserName, printNo = b.PrintNo, }).First(); if (m != null) return ReturnDto.QuickReturn(m, ReturnCode.Success, "读取成功!"); return ReturnDto.QuickReturn(m, ReturnCode.Default, "读取失败!"); } /// /// 增加 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto EditModel([FromBody] PrintUser model) { try { Db.Ado.BeginTran(); if (!UtilityHelper.CheckGuid(model.Guid)) { model.Guid = Guid.NewGuid(); Db.Insertable(model).IgnoreColumns(true).ExecuteCommand(); } else { Db.Updateable(model).IgnoreColumns(true).ExecuteCommand(); } Db.Ado.CommitTran(); } catch (Exception ex) { LogHelper.Debug(ToString(), "EditModel error:" + ex.Message); Db.Ado.RollbackTran(); return ReturnDto.QuickReturn("", ReturnCode.Exception, ex.Message); } return ReturnDto.QuickReturn(model.Guid.ToString(), ReturnCode.Success, "操作成功!"); } /// /// 删除明细实体,支持批量删除 /// /// /// [RequestMethod(RequestMethods.POST)] public ReturnDto DeleteModel([FromBody] JArray guidList) { var intArray = guidList.ToObject(); int? rtnInt = base.DeleteById(intArray) ? intArray.Length : 0; if (rtnInt > 0) return ReturnDto.QuickReturn(rtnInt, ReturnCode.Success, "操作成功,共删除" + rtnInt + "条数据!"); return ReturnDto.QuickReturn(rtnInt, ReturnCode.Exception, "删除失败,请重试!"); } }