using System.Text;
using Gs.Entity.BaseInfo;
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 SqlSugar;
namespace Gs.BaseInfo.Services;
///
/// 客户管理
///
[ApiGroup(ApiGroupNames.BaseInfo)]
public class MesCustomerManager : Repository, IRomteService
{
private readonly IHttpContextAccessor _http;
private readonly string _userCode, _userGuid, _orgFids;
public MesCustomerManager(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, org) => new object[]
{
JoinType.Left, a.FSubsidiary == org.Fid,
}).Select((a, org) => new MesCustomer
{
FSubsidiary = "(" + org.FNumber + ")" + org.Name,
Fforbidstatus = a.Fforbidstatus + ":" + (a.Fforbidstatus == "A" ? "正常" : "禁用"),
DataType = a.DataType + ":"
+ SqlFunc.IF(a.DataType == "Z").Return("暂存")
.ElseIF(a.DataType == "A").Return("创建")
.ElseIF(a.DataType == "B").Return("审核中")
.ElseIF(a.DataType == "C").Return("已审核")
.ElseIF(a.DataType == "D").Return("重新审核")
.End(a.DataType)
}, true)
.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] MesCustomer model)
{
var m = base.GetById(model.Guid);
if (m != null)
return ReturnDto.QuickReturn(m, ReturnCode.Success,
"读取成功!");
return ReturnDto.QuickReturn(m, ReturnCode.Default,
"读取失败!");
}
}