diff --git a/Myshipping.Application/Myshipping.Application.xml b/Myshipping.Application/Myshipping.Application.xml index f3bcc4a7..584e0ce5 100644 --- a/Myshipping.Application/Myshipping.Application.xml +++ b/Myshipping.Application/Myshipping.Application.xml @@ -3351,6 +3351,21 @@ 分单 + + + 订舱打印模板权限表 + + + + + 人员id + + + + + 模板id + + 订舱备注 @@ -3646,6 +3661,11 @@ 订舱业务主键 + + + 反馈结果 + + 任务账单费用明细 @@ -3736,6 +3756,11 @@ 是否东胜接收 1-是 0-否 + + + 主单号 + + 任务邮件表 @@ -3781,24 +3806,34 @@ 主键 - + 创建时间 - + 修改时间 - + - 创建人 + 创建人ID - + - 修改人 + 创建人名称 + + + + + 修改人ID + + + + + 修改人名称 @@ -3806,6 +3841,11 @@ 租户id + + + 租户名称 + + 软删除 @@ -4006,11 +4046,191 @@ 第三付款地 + + + 主键 + + + + + 统计类型 PERSONAL-个人 PUBLIC-公共 + + + + + 任务状态 + + + + + 是否异常 1-异常 0-正常 + + + + + 用户ID + + + + + 用户显示名 + + + + + 公司ID + + + + + 公司名称 + + + + + 订舱确认合计条数 + + + + + 提单草单合计条数 + + + + + 订舱取消合计条数 + + + + + 海运单下载合计条数 + + + + + 提单正本下载合计条数 + + + + + 未装载合计条数 + + + + + 未装船合计条数 + + + + + 航次账单合计条数 + + + + + 电放通知合计条数 + + + + + SI详情合计条数 + + + + + VGM详情合计条数 + + + + + 单票账单合计条数 + + + + + 换船通知合计条数 + + + + + 取消换船通知合计条数 + + + + + 下货纸合计条数 + + + + + 正本缺失合计条数 + + + + + 地中海订舱确认合计条数 + + + + + 地中海订舱取消合计条数 + + + + + 地中海订舱挂起合计条数 + + 任务VGM比对回执详情表 + + + 任务主键(父主键) + + + + + 集装箱号 + + + + + 铅封号 + + + + + 箱型代码 + + + + + 箱型 + + + + + 重量 + + + + + 皮重 + + + + + 称重重量 + + + + + 称重方式 + + 收发通模板类型 @@ -4156,267 +4376,522 @@ 未指定 - + - 任务状态枚举 + 任务类型基础枚举 - + - 待处理 + BC - + - 已转发 + DRAFT - + - 已完成 + CANCELLATION - + - 已取消 + SEAWAY BILL下载 - + - 已挂起 + 提单正本下载 - + - 获取场站数据辅助类(调用爬虫新运踪接口) + 未装载 - + - 多品名输出参数 + 未装船 - + - 主键 + 航次账单邮件 - + - 集装箱ID + VGM对比 - + - 件数 + 电放通知 - + - 包装 + SI回执 - + - 毛重 + 单票账单 - + - 尺码 + 换船通知 - + - HS编码 + 取消换船通知 - + - 唛头 + 下货纸 - + - 货描 + 正本缺失 - + - 备注 + VGM异常 - + - 多品名输入参数 + 任务类型业务枚举 - + - 集装箱ID + BC - + - 件数 + DRAFT - + - 包装 + CANCELLATION - + - 毛重 + SEAWAY BILL下载 - + - 尺码 + 提单正本下载 - + - HS编码 + 未装载 - + - 唛头 + 未装船 - + - 货描 + 航次账单邮件 - + - 备注 + VGM对比 - + - 多品名新增输入参数 + 电放通知 - + - 多品名修改输入参数 + SI详情 - + - 主键 + 单票账单 - + - 多品名获取(删除)输入参数 + 换船通知 - + - 主键 + 取消换船通知 - + - 多品名查询输入参数 + 下货纸 - + - 主键 + 正本缺失 - + - 集装箱ID + VGM异常 - + - 件数 + MSC_BC - + - 包装 + MSC取消 - + - 毛重 + MSC异常 - + - 尺码 + MSC挂起 - + - HS编码 + VGM反馈详情 - + - 唛头 + 任务来源枚举 - + - 货描 + EDI - + - 备注 + 邮件 - + - 多品名输出参数 + 邮件解析 - + - 主键 + FTP - + - 集装箱ID + 转发 - + - 件数 + 运踪 - + - 包装 + 网站查询 - + - 毛重 + 客户提交 - + - 尺码 + 系统 - + - HS编码 + 任务状态枚举 - + + + 待处理 + + + + + 已转发 + + + + + 已完成 + + + + + 已取消 + + + + + 已挂起 + + + + + 获取场站数据辅助类(调用爬虫新运踪接口) + + + + + 多品名输出参数 + + + + + 主键 + + + + + 集装箱ID + + + + + 件数 + + + + + 包装 + + + + + 毛重 + + + + + 尺码 + + + + + HS编码 + + + + + 唛头 + + + + + 货描 + + + + + 备注 + + + + + 多品名输入参数 + + + + + 集装箱ID + + + + + 件数 + + + + + 包装 + + + + + 毛重 + + + + + 尺码 + + + + + HS编码 + + + + + 唛头 + + + + + 货描 + + + + + 备注 + + + + + 多品名新增输入参数 + + + + + 多品名修改输入参数 + + + + + 主键 + + + + + 多品名获取(删除)输入参数 + + + + + 主键 + + + + + 多品名查询输入参数 + + + + + 主键 + + + + + 集装箱ID + + + + + 件数 + + + + + 包装 + + + + + 毛重 + + + + + 尺码 + + + + + HS编码 + + + + + 唛头 + + + + + 货描 + + + + + 备注 + + + + + 多品名输出参数 + + + + + 主键 + + + + + 集装箱ID + + + + + 件数 + + + + + 包装 + + + + + 毛重 + + + + + 尺码 + + + + + HS编码 + + + 唛头 @@ -6493,7 +6968,12 @@ 主单ID - + + + 人员id + + + EDI扩展 @@ -8632,6 +9112,19 @@ + + + 新增打印模板权限 + + + + + + + 获取打印模板权限 + + + 订舱打印模板输入参数 @@ -8827,16 +9320,6 @@ 主键 - - - 模板内容 - - - - - 备注 - - 订舱模板获取(删除)输入参数 @@ -10131,5 +10614,644 @@ + + + 费用明细 + + + + + 顺序号 + + + + + 费用代码 + + + + + 费用名称 + + + + + 费用金额 + + + + + 费用金额(美金) + + + + + 币制 + + + + + S20 + + + + + S40 + + + + + S45 + + + + + 箱型 + + + + + 数量 + + + + + 单位 + + + + + 税率类型 + + + + + 税率 + + + + + 合计金额 + + + + + 是否东胜接收 1-是 0-否 + + + + + 主单号 + + + + + + + + + + 文件路径 + + + + + 文件类型 + + + + + 文件名 + + + + + 邮件 + + + + + 邮件路径 + + + + + + + + + + 报文惟一主键 + + 08dabd4e-dcc3-471a-8031-cf066ed0a8f4 + + + + 报文类型 TASK-任务 + + TASK + + + + 发送方代码 + + MAIL_PARSE + + + + 发送方名称 + + 邮件解析 + + + + 接收方代码 + + TaskManage + + + + 接收方名称 + + 任务管理平台 + + + + 请求方登录TOKEN(可以是真实的登录人TOKEN或者是服务模拟登录人TOKEN) + + eyJhbGciOiJSUzI1NiIsImtpZCI6IkQ1RTkxMDI5OUU0RURFNUZEM0EwNTJBMEFDRDUzMUQzIiwidHlwIjoiYXQrand0In0 + + + + 版本号 默认1.0 + + 1.0 + + + + 请求时间 + + 2022-12-23 14:29:11 + + + + 请求授权KEY + + testkey + + + + 请求操作类型 + + Add + + + + 任务请求报文 + + + + + 表头 + + + + + 表体 + + + + + + + + + + 任务类型 + + + + + 任务来源 + + + + + 船公司代号 + + + + + 任务标题 + + + + + 任务描述 + + + + + 订舱业务主键(非必填,推送任务的系统可以明确当票对应的订舱主键需要填入) + + + + + 主单号 + + + + + 反馈结果 + + + + + 是否异常 1-异常 0-未异常 + + + + + 任务对应操作人ID + + + + + 任务对应操作人名称 + + + + + 任务对应部门代码 + + + + + 任务对应部门名称 + + + + + 费用明细(当业务类型是INVOICE_BILL_MAIL-航次账单;PER_BILL-单票账单时需要传费用明细) + + + + + 装船通知(SI)详情(当业务类型是SI_FEEDBACK时,需要填写装船通知详情) + + + + + 装船通知与提单草单内容对比列表(当业务类型是DRAFT时) + + + + + VGM反馈详情列表 + + + + + 附件列表 + + + + + 邮件列表 + + + + + 回执 + + + + + 是否成功 true=成功 false=失败 + + + + + 状态 0-成功 + + + + + 返回消息 + + + + + 返回校验明细 + + + + + 装船通知与提单草单内容对比 + + + + + 字段代码 + + + + + 字段名称 + + + + + 是否有差异 1-有差异 0-无差异 + + + + + 装船通知内容 + + + + + 提单草单内容 + + + + + 箱信息 + + + + + 集装箱号 + + RFCU2088064 + + + + 铅封号 + + T090518 + + + + 件数 + + 222 + + + + 重量 + + 1651 + + + + 尺寸 + + 9.67 + + + + 箱型代码 + + 20GP + + + + 箱型 + + 20GP + + + + SI详情 + + + + + 发货人 + + + + + 收货人 + + + + + 通知人 + + + + + 唛头 + + + + + 货描 + + + + + 截单备注 + + + + + 付费方式 + + + + + 运输条款 + + CY-CY + + + + 签单方式 + + TELEX + + + + 装货港代码 + + CNTAO + + + + 装货港 + + + + + 卸货港代码 + + GUPIT + + + + 卸货港 + + + + + 中转港代码 + + GUPIT + + + + 中转港 + + + + + 目的地代码 + + GUPIT + + + + 目的地 + + + + + 件数 + + + + + 包装 + + + + + 毛重 + + + + + 尺寸 + + + + + 第三付款地 + + + + + 箱信息 + + + + + + + + + + 集装箱号 + + + + + 铅封号 + + + + + 箱型代码 + + + + + 箱型 + + + + + 重量 + + + + + 皮重 + + + + + 称重重量 + + + + + 称重方式 + + + + + + + + + + 创建任务 + + 任务详情 + 返回回执 + + + + 获取查询参数 + + 参数类型 STATUS-任务状态;TASK_TYPE-任务类型;SOURCE-任务来源 + 返回回执 + + + + 获取登陆人相关的任务统计信息 + + 是否强制计算 + 返回回执 + + + + 任务管理 + + + + + 创建任务 + + 任务详情 + 返回回执 + + + + 新增任务 + + 任务详情 + 返回回执 + + + + 获取查询参数 + + 参数类型 STATUS-任务状态;TASK_TYPE-任务类型;SOURCE-任务来源 + 返回回执 + TASK_TYPE + + + + 获取登陆人相关的任务统计信息 + + 是否强制计算 + 返回回执 + diff --git a/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs b/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs index 458be25e..15553e71 100644 --- a/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs +++ b/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs @@ -284,25 +284,25 @@ namespace Myshipping.Application .WhereIF(!string.IsNullOrWhiteSpace(input.LANECODE), u => u.LANECODE == input.LANECODE) .WhereIF(!string.IsNullOrWhiteSpace(input.LANENAME), u => u.LANENAME.Contains(input.LANENAME)) .WhereIF(!string.IsNullOrWhiteSpace(input.FREIGHTPAYER), u => u.FREIGHTPAYER.Contains(input.FREIGHTPAYER)) - .Where(u => userlist.Contains((long)u.CreatedUserId)) + .WhereIF(userlist!=null&&userlist.Count()>0, u => userlist.Contains((long)u.CreatedUserId)) .OrderBy(PageInputOrder.OrderBuilder(input.SortField, input.descSort)) .ToPagedListAsync(input.PageNo, input.PageSize); + + var list = entities.Adapt>(); + foreach (var item in list.Items) { var sta = await _repBookingStatus.AsQueryable().Where(x => x.BookingId == item.Id).ToListAsync(); if (sta != null) { item.bookstatus = sta; } - - - } - foreach (var item in list.Items) - { - var sta = await _bookingremark.AsQueryable().Where(x => x.PId == item.Id).ToListAsync(); - if (sta != null) { item.bookremark = sta; } - - + var st = await _bookingremark.AsQueryable().Where(x => x.PId == item.Id).ToListAsync(); + if (st != null) { item.bookremark = st; } + if (!string.IsNullOrWhiteSpace( item.ETD)) { + item.ETD = Convert.ToDateTime(item.ETD).ToString("yyyy-MM-dd"); + } } + return list; } @@ -366,7 +366,7 @@ namespace Myshipping.Application var groupList = input.ctnInputs.Where(x => x.CTNNUM > 0).GroupBy(c => c.CTNALL).Select(g => $"{g.Key}*{g.Sum(gg => gg.CTNNUM)}"); input.CNTRTOTAL = string.Join(" / ", groupList); } - var et = await _rep.Where(x => x.MBLNO == input.MBLNO && x.TenantId == UserManager.TENANT_ID).FirstAsync(); + var et = await _rep.Where(x => x.MBLNO == input.MBLNO && x.TenantId == UserManager.TENANT_ID&&x.ParentId==0).FirstAsync(); if (et != null) { @@ -481,7 +481,7 @@ namespace Myshipping.Application } var main = await _rep.AsQueryable().Where(x => x.Id == input.Id).FirstAsync(); - var et = await _rep.Where(x => x.MBLNO == input.MBLNO && x.TenantId == UserManager.TENANT_ID && x.Id != input.Id).FirstAsync(); + var et = await _rep.Where(x => x.MBLNO == input.MBLNO && x.TenantId == UserManager.TENANT_ID && x.Id != input.Id&&x.ParentId == 0).FirstAsync(); if (et != null) { diff --git a/Myshipping.Application/Service/BookingOrder/Dto/PageBookingOrder.cs b/Myshipping.Application/Service/BookingOrder/Dto/PageBookingOrder.cs index 2ecaf425..b75d5fe0 100644 --- a/Myshipping.Application/Service/BookingOrder/Dto/PageBookingOrder.cs +++ b/Myshipping.Application/Service/BookingOrder/Dto/PageBookingOrder.cs @@ -11,6 +11,8 @@ namespace Myshipping.Application.Service.BookingOrder.Dto { public class PageBookingOrder : DBEntityTenant { + + /// /// 业务编号 /// @@ -125,7 +127,7 @@ namespace Myshipping.Application.Service.BookingOrder.Dto /// 开船日期 /// [Description("开船日期")] - public DateTime? ETD { get; set; } + public string ETD { get; set; } /// /// 实际开船日期 /// diff --git a/Myshipping.Application/Service/BookingTemplate/BookingTemplateService.cs b/Myshipping.Application/Service/BookingTemplate/BookingTemplateService.cs index f68b7774..b951c3e2 100644 --- a/Myshipping.Application/Service/BookingTemplate/BookingTemplateService.cs +++ b/Myshipping.Application/Service/BookingTemplate/BookingTemplateService.cs @@ -76,8 +76,8 @@ namespace Myshipping.Application throw Oops.Oh(BookingErrorCode.BOOK111); } - bt.Content = input.Content; - bt.Remark = input.Remark; + input.Adapt(bt); + await _rep.AsUpdateable(bt).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); } diff --git a/Myshipping.Application/Service/BookingTemplate/Dto/BookingTemplateInput.cs b/Myshipping.Application/Service/BookingTemplate/Dto/BookingTemplateInput.cs index ea097b37..3501f83a 100644 --- a/Myshipping.Application/Service/BookingTemplate/Dto/BookingTemplateInput.cs +++ b/Myshipping.Application/Service/BookingTemplate/Dto/BookingTemplateInput.cs @@ -41,7 +41,7 @@ namespace Myshipping.Application /// /// 订舱模板修改输入参数 /// - public class UpdateBookingTemplateInput + public class UpdateBookingTemplateInput: BookingTemplateInput { /// /// 主键 @@ -49,15 +49,6 @@ namespace Myshipping.Application [Required(ErrorMessage = "主键不能为空")] public long Id { get; set; } - /// - /// 模板内容 - /// - public virtual string Content { get; set; } - - /// - /// 备注 - /// - public virtual string Remark { get; set; } } /// diff --git a/Myshipping.Core/Service/User/SysDataUserMenu.cs b/Myshipping.Core/Service/User/SysDataUserMenu.cs index a95269bf..b804e806 100644 --- a/Myshipping.Core/Service/User/SysDataUserMenu.cs +++ b/Myshipping.Core/Service/User/SysDataUserMenu.cs @@ -20,7 +20,7 @@ namespace Myshipping.Core.Service; /// 用户数据范围 /// [ApiDescriptionSettings(Name = "SysDataUserMenu", Order = 150)] -public class SysDataUserMenuService : ISysDataUserMenu, IDynamicApiController,ITransient +public class SysDataUserMenuService : ISysDataUserMenu, IDynamicApiController, ITransient { private readonly SqlSugarRepository _rep; // 用户数据范围表仓储 private readonly ISysCacheService _sysCache;//缓存 @@ -33,9 +33,9 @@ public class SysDataUserMenuService : ISysDataUserMenu, IDynamicApiController,IT _rep = rep; _sysCache = sysCache; _sysuser = sysuser; - _sysUserDataScopeRep=sysUserDataScopeRep; + _sysUserDataScopeRep = sysUserDataScopeRep; _sysEmpRep = sysEmpRep; - _sysOrgRep= sysOrgRep; + _sysOrgRep = sysOrgRep; } /// @@ -44,7 +44,8 @@ public class SysDataUserMenuService : ISysDataUserMenu, IDynamicApiController,IT /// /// [HttpGet("/SysDataUserMenu/GetGrantData")] - public async Task GetGrantData(long userid) { + public async Task GetGrantData(long userid) + { return await _rep.AsQueryable().Where(x => x.SysUserId == userid).ToListAsync(); } @@ -117,30 +118,30 @@ public class SysDataUserMenuService : ISysDataUserMenu, IDynamicApiController,IT { try { - if (input== null) + if (input == null) { throw Oops.Bah("请上传正确数据!"); } await _sysUserDataScopeRep.DeleteAsync(x => x.SysUserId == input.UserId); - - var list = new List(); - input.childrens.ForEach(u => + + var list = new List(); + input.childrens.ForEach(u => + { + list.Add( + new SysUserDataScope { - list.Add( - new SysUserDataScope - { - SysUserId = input.UserId, - SysMenuId=u.MenuId, - SysOrgId=u.OrgId - }); + SysUserId = input.UserId, + SysMenuId = u.MenuId, + SysOrgId = u.OrgId }); - await _sysUserDataScopeRep.InsertAsync(list); + }); + await _sysUserDataScopeRep.InsertAsync(list); + + //var userdatalist = _rep.AsQueryable().ToListAsync(); + //_sysCache.Set(CommonConst.CACHE_KEY_USERDATASCOPE, userdatalist); + - //var userdatalist = _rep.AsQueryable().ToListAsync(); - //_sysCache.Set(CommonConst.CACHE_KEY_USERDATASCOPE, userdatalist); - - } catch (System.Exception) { @@ -172,32 +173,34 @@ public class SysDataUserMenuService : ISysDataUserMenu, IDynamicApiController,IT DataScopeType _dataScopeType = list.Where(x => x.SysMenuId == menuid && x.SysUserId == UserManager.UserId).Select(x => x.DataScopeType).FirstOrDefault(); if (_dataScopeType == DataScopeType.ALL) { - datascope = _sysuser.AsQueryable().Where(x => x.TenantId == UserManager.TENANT_ID).Select(x => x.Id).ToList(); + datascope = null; } - if (_dataScopeType==DataScopeType.SELF) { + else if (_dataScopeType == DataScopeType.SELF) + { datascope.Add(UserManager.UserId); } - if (_dataScopeType==DataScopeType.DEPT) { - datascope=await _sysEmpRep.AsQueryable().InnerJoin((d, t) => d.OrgId == t.OrgId && d.Id == UserManager.UserId).Select(d => d.Id).ToListAsync(); - + else if (_dataScopeType == DataScopeType.DEPT) + { + datascope = await _sysEmpRep.AsQueryable().InnerJoin((d, t) => d.OrgId == t.OrgId && d.Id == UserManager.UserId).Select(d => d.Id).ToListAsync(); + } - if (_dataScopeType == DataScopeType.DEPT_WITH_CHILD) + else if (_dataScopeType == DataScopeType.DEPT_WITH_CHILD) { //获取本部门 - long orgid= _sysEmpRep.Where(x=>x.Id==UserManager.UserId).Select(x=>x.OrgId).First(); + long orgid = _sysEmpRep.Where(x => x.Id == UserManager.UserId).Select(x => x.OrgId).First(); //获取下属部门及下属部门 var orglist = await _sysOrgRep.Where(x => x.TenantId == UserManager.TENANT_ID && x.Pids.Contains(orgid.ToString())).Select(x => x.Id).ToListAsync(); orglist.Add(orgid); datascope = await _sysEmpRep.Where(x => orglist.Contains(x.OrgId)).Select(x => x.Id).ToListAsync(); } - if (_dataScopeType == DataScopeType.DEFINE) + else if (_dataScopeType == DataScopeType.DEFINE) { - datascope=await _sysUserDataScopeRep.AsQueryable().InnerJoin((d, t) => d.SysOrgId == t.OrgId && d.SysMenuId == menuid && d.SysUserId == UserManager.UserId).Select((d, t) => t.Id).ToListAsync(); + datascope = await _sysUserDataScopeRep.AsQueryable().InnerJoin((d, t) => d.SysOrgId == t.OrgId && d.SysMenuId == menuid && d.SysUserId == UserManager.UserId).Select((d, t) => t.Id).ToListAsync(); } + else { - - - + datascope.Add(UserManager.UserId); + } return datascope; }