收发通模板分享所有人、取消分享

optimize
wanghaomei 1 year ago
parent b33a773f2b
commit 8e9acaa54f

@ -3744,7 +3744,7 @@ namespace Myshipping.Application
etdstr = order.ETD.HasValue ? order.ETD.Value.ToString("yyyy-MM-dd") : string.Empty,
potrSend = order.PORTLOAD,
potrGoal = order.PORTDISCHARGE,
boxinfoStr = order.CNTRTOTAL,
boxinfoStr = order.CNTRTOTAL.Replace("'", ""),
vgmEndTimeStr = order.CLOSEVGMDATE.HasValue ? order.CLOSEVGMDATE.Value.ToString("yyyy-MM-dd") : string.Empty,
BoxInfo = ctns.Select(c => new
{

@ -39,7 +39,7 @@ namespace Myshipping.Application
private readonly SqlSugarRepository<BookingTemplateShare> _repPrintTemplateShare;
private readonly ILogger<BookingTemplate> _logger;
public BookingTemplateService(SqlSugarRepository<BookingTemplate> rep, SqlSugarRepository<BookingOrder> repOrder, SqlSugarRepository<BookingPrintTemplate> repPrintTemplate, SqlSugarRepository<BookingTemplateShare> repPrintTemplateShare,ILogger<BookingTemplate> logger)
public BookingTemplateService(SqlSugarRepository<BookingTemplate> rep, SqlSugarRepository<BookingOrder> repOrder, SqlSugarRepository<BookingPrintTemplate> repPrintTemplate, SqlSugarRepository<BookingTemplateShare> repPrintTemplateShare, ILogger<BookingTemplate> logger)
{
@ -59,10 +59,31 @@ namespace Myshipping.Application
public async Task<dynamic> Page([FromQuery] QueryBookingTemplateInput input)
{
var entities = await _rep.AsQueryable()
.Where(m => m.CreatedUserId == UserManager.UserId)
.WhereIF(!string.IsNullOrEmpty(input.Title), u => u.Title.Contains(input.Title))
.WhereIF(!string.IsNullOrEmpty(input.Type), u => u.Type.Contains(input.Type))
.Where(x => x.CreatedUserId == UserManager.UserId)
.WhereIF(!string.IsNullOrEmpty(input.Title), x => x.Title.Contains(input.Title))
.WhereIF(!string.IsNullOrEmpty(input.Type), x => x.Type.Contains(input.Type))
.Select(x => new QueryBookingTemplateOutput()
{
Id = x.Id,
Title = x.Title,
Type = x.Type,
Content = x.Content,
Remark = x.Remark,
ADDR = x.ADDR,
COUNTRY = x.COUNTRY,
COUNTRYName = x.COUNTRYName,
TEL = x.TEL
})
.ToPagedListAsync(input.PageNo, input.PageSize);
//分享标志
var tempIdList = entities.Items.Select(x => x.Id).ToList();
var shareList = _repPrintTemplateShare.AsQueryable().Where(x => tempIdList.Contains(x.TemplateId)).ToList();
foreach (var item in entities.Items)
{
item.IsShared = shareList.Count(x => x.TemplateId == item.Id) > 0;
}
return entities.XnPagedResult();
}
@ -135,7 +156,8 @@ namespace Myshipping.Application
[HttpPost("/BookingTemplate/SaveTemplateShare")]
public async Task SaveTemplateShare(List<BookingTemplateShareDto> dto)
{
if (dto==null|| dto.Count==0) {
if (dto == null || dto.Count == 0)
{
throw Oops.Oh("请上传正确数据");
}
@ -148,7 +170,31 @@ namespace Myshipping.Application
}
/// <summary>
/// 分享模板给所有人
/// </summary>
/// <param name="tempId"></param>
/// <returns></returns>
[HttpPost("/BookingTemplate/ShareToAll")]
public async Task ShareTemplate(long tempId)
{
var bts = new BookingTemplateShare();
bts.TemplateId = tempId;
bts.ShareToId = -1;
bts.ShareToName = "所有人";
await _repPrintTemplateShare.InsertAsync(bts);
}
/// <summary>
/// 取消分享模板
/// </summary>
/// <param name="tempId"></param>
/// <returns></returns>
[HttpPost("/BookingTemplate/CancelShare")]
public async Task CancelShareTemplate(long tempId)
{
_repPrintTemplateShare.Delete(x => x.TemplateId == tempId);
}
/// <summary>
/// 获取分享列表
@ -157,7 +203,7 @@ namespace Myshipping.Application
[HttpGet("/BookingTemplate/GetTemplateShareList")]
public async Task<dynamic> GetTemplateShareList(long Id)
{
var list = _repPrintTemplateShare.AsQueryable().Filter(null, true).Where(x => x.IsDeleted == false&&x.TemplateId==Id).ToList();
var list = _repPrintTemplateShare.AsQueryable().Filter(null, true).Where(x => x.IsDeleted == false && x.TemplateId == Id).ToList();
return list;
}
@ -192,13 +238,13 @@ namespace Myshipping.Application
/// </summary>
/// <returns></returns>
[HttpGet("/BookingTemplate/GetTemplateShare")]
public async Task<dynamic> GetTemplateShare(string TemplateName,string Type)
public async Task<dynamic> GetTemplateShare(string TemplateName, string Type)
{
var TemplateIds=_repPrintTemplateShare.AsQueryable().Filter(null, true).Where(x => x.IsDeleted == false && x.ShareToId == UserManager.UserId).Select(x => x.TemplateId).ToList();
var TemplateIds = _repPrintTemplateShare.AsQueryable().Filter(null, true).Where(x => x.IsDeleted == false && (x.ShareToId == UserManager.UserId || x.ShareToId == -1)).Select(x => x.TemplateId).ToList();
var list =await _rep.AsQueryable().Filter(null, true).Where(x => x.IsDeleted == false && (TemplateIds.Contains(x.Id) || x.CreatedUserId == UserManager.UserId)).
WhereIF(!string.IsNullOrEmpty(TemplateName),x=>x.Title.Contains(TemplateName)).
WhereIF(!string.IsNullOrEmpty(Type), x => x.Type.Contains(Type)).ToListAsync();
var list = await _rep.AsQueryable().Filter(null, true).Where(x => x.IsDeleted == false && (TemplateIds.Contains(x.Id) || x.CreatedUserId == UserManager.UserId)).
WhereIF(!string.IsNullOrEmpty(TemplateName), x => x.Title.Contains(TemplateName)).
WhereIF(!string.IsNullOrEmpty(Type), x => x.Type.Contains(Type)).Distinct().ToListAsync();
return list;
}

@ -107,6 +107,22 @@ namespace Myshipping.Application
}
/// <summary>
/// 订舱模板查询台账返回数据
/// </summary>
public class QueryBookingTemplateOutput : BookingTemplateInput
{
/// <summary>
/// ID
/// </summary>
public long Id { get; set; }
/// <summary>
/// 是否已分享2023年7月6日增加为满足和川分享给全部用户不指定具体人员的需求前端需要知道是否已分享
/// </summary>
public bool IsShared { get; set; }
}
public class BookingTemplateShareDto
{
@ -122,7 +138,7 @@ namespace Myshipping.Application
/// </summary>
public long TemplateId { get; set; }
/// <summary>
/// 分享用户Id
/// 分享用户Id2023-7-6修改-1代表所有用户用于满足和川分享给全部用户的需求
/// </summary>
public long ShareToId { get; set; }
/// <summary>

Loading…
Cancel
Save