diff --git a/Myshipping.Application/Entity/BookingOrder.cs b/Myshipping.Application/Entity/BookingOrder.cs index a7d2a411..be230a93 100644 --- a/Myshipping.Application/Entity/BookingOrder.cs +++ b/Myshipping.Application/Entity/BookingOrder.cs @@ -366,12 +366,12 @@ namespace Myshipping.Application.Entity /// /// SO备注 /// - [Description("SO备注")] + [Description("订舱备注")] public string SOREMARK { get; set; } /// /// SI备注 /// - [Description("SI备注")] + [Description("截单备注")] public string SIREMARK { get; set; } /// /// 场站备注 diff --git a/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs b/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs index c95341d7..67d26d56 100644 --- a/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs +++ b/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs @@ -256,7 +256,7 @@ namespace Myshipping.Application var query = _rep.AsQueryable().Filter(null, true).Where(x => x.TenantId == UserManager.TENANT_ID) .WhereIF(!input.ISDel, x => x.IsDeleted == false) .WhereIF(input.ISDel, x => x.IsDeleted == true) - .WhereIF(input.firstFlag, x => (x.ETD <= etoday && x.ETD >= ftoday || x.ETD == null) && x.CreatedUserId == UserManager.UserId) //首次加载数据:ETD前后15天,且创建人是当前人 + .WhereIF(input.firstFlag, x => (x.ETD <= etoday && x.ETD >= ftoday || x.ETD == null) &&(x.CreatedUserId == UserManager.UserId || x.OPID==UserManager.UserId.ToString() || x.DOCID==UserManager.UserId.ToString() || x.ROUTEID==UserManager.UserId.ToString() || x.CUSTSERVICEID==UserManager.UserId.ToString() || x.SALEID==UserManager.UserId.ToString())) //首次加载数据:ETD前后15天,且创建人、操作是当前人 .Where(x => x.ParentId == 0 || x.ParentId == null) //台账只查询主单!! .WhereIF(input.Id != 0, x => x.Id == input.Id) .WhereIF(pidlist != null && pidlist.Count > 0, x => pidlist.Contains(x.Id)) @@ -801,10 +801,10 @@ namespace Myshipping.Application mlist.CUSTSERVICEID == UserManager.UserId.ToString() || mlist.ROUTEID == UserManager.UserId.ToString() || mlist.CreatedUserId.ToString() == UserManager.UserId.ToString() || - UserManager.DjyUserId == "d85fd590-d9f6-4410-93a1-f6fac77b606e" || rightlist.Contains((long)mlist.CreatedUserId) )) { + throw Oops.Bah("您没有当前单据的操作权限!"); } if (string.IsNullOrEmpty(entity.VOYNO)) @@ -1822,7 +1822,7 @@ namespace Myshipping.Application if (!string.IsNullOrWhiteSpace(item.CARRIERID)) { - var et = _repBookingStatus.AsQueryable().Where(x => x.StaCode == "sta_mudigang" && x.BookingId == Convert.ToInt64(item.BusinessId)).FirstAsync().Result; + var et = await _repBookingStatus.AsQueryable().Where(x => x.StaCode == "sta_mudigang" && x.BookingId == Convert.ToInt64(item.BusinessId)).FirstAsync(); if (et != null) { throw Oops.Bah("提单号" + item.MBLNO + "已订阅!"); @@ -1831,7 +1831,7 @@ namespace Myshipping.Application if (!string.IsNullOrWhiteSpace(item.YardCode)) { - var et = _repBookingStatus.AsQueryable().Where(x => x.StaCode == "sta_qiyungang" && x.BookingId == Convert.ToInt64(item.BusinessId)).FirstAsync().Result; + var et = await _repBookingStatus.AsQueryable().Where(x => x.StaCode == "sta_qiyungang" && x.BookingId == Convert.ToInt64(item.BusinessId)).FirstAsync(); if (et != null) { throw Oops.Bah("提单号" + item.MBLNO + "已订阅!"); @@ -1857,10 +1857,6 @@ namespace Myshipping.Application CARRIERID = item.CARRIERID == "" ? null : item.CARRIERID, isBook = item.isBook }); - //var bookingStatusLog = new BookingStatusLog(); - //bookingStatusLog.BookingId = Convert.ToInt64(item.BusinessId); - //bookingStatusLog.Category = "dingyue"; - //bookingStatusLog.CreatedTime = DateTime.Now; var status = string.Empty; if (string.IsNullOrWhiteSpace(item.YardCode) && !string.IsNullOrWhiteSpace(item.CARRIERID)) { @@ -1959,8 +1955,110 @@ namespace Myshipping.Application } } + /// + /// 更新运踪提单号或自动订阅运踪 + /// + /// + /// + [HttpPost("/BookingOrder/UpdateMblno")] + public async Task UpdateMblno(BookingOrder order) + { + + var key = _webAccountConfig.GetAccountConfig("seae_billtraceurl", UserManager.UserId).Result; + if (key == null) + { + throw Oops.Bah("调用运踪接口相关账号未维护!"); + } + var url = _cache.GetAllDictData().Result; + BillTraceDto billdto = new BillTraceDto(); + List billTraceList = new List(); + var dicdatalist = _cache.GetAllDictData().Result; + _logger.LogInformation("调用运踪修改接口提单号:" + order.MBLNO + " 调用运踪接口"); + + billTraceList.Add(new BillTraceList + { + BusinessId = order.Id.ToString(), + MBLNO = order.MBLNO, + YARD = order.YARD == "" ? null : order.YARD, + YardCode = order.YARDID == "" ? null : order.YARDID, + CARRIER = order.CARRIER == "" ? null : order.CARRIER, + CARRIERID = order.CARRIERID == "" ? null : order.CARRIERID, + isBook =true + }); + + var status = string.Empty; + + if (string.IsNullOrWhiteSpace(order.YARDID) && !string.IsNullOrWhiteSpace(order.CARRIERID)) + { + status = "订阅目的港"; + } + if (!string.IsNullOrWhiteSpace(order.YARDID) && string.IsNullOrWhiteSpace(order.CARRIERID)) + { + status = "订阅起运港"; + } + if (!string.IsNullOrWhiteSpace(order.YARDID) && !string.IsNullOrWhiteSpace(order.CARRIERID)) + { + status = "订阅起运港,目的港"; + } + + ////添加booking日志 + var bid = await _bookinglog.InsertReturnSnowflakeIdAsync(new BookingLog + { + Type = "Trace", + BookingId = order.Id, + TenantId = UserManager.TENANT_ID, + CreatedTime = DateTime.Now, + CreatedUserId = UserManager.UserId, + CreatedUserName = UserManager.Name + }); + await _bookinglogdetail.InsertReturnSnowflakeIdAsync(new BookingLogDetail + { + PId = bid, + Field = "", + OldValue = "", + NewValue = status, + }); + + + + if (!string.IsNullOrWhiteSpace(order.CARRIERID)) + { + BookingStatus bookingStatus = new BookingStatus(); + bookingStatus.BookingId = order.Id; + bookingStatus.StaCode = "sta_mudigang"; + bookingStatus.StaName = dicdatalist.Where(x => x.Code == "sta_mudigang").Select(x => x.Value).FirstOrDefault(); + bookingStatus.StaTime = DateTime.Now; + bookingStatus.StaCate = "book_sta_cate_billtrace"; + await _repBookingStatus.InsertAsync(bookingStatus); + } + if (!string.IsNullOrWhiteSpace(order.YARDID)) + { + BookingStatus bookingStatus = new BookingStatus(); + bookingStatus.BookingId = order.Id; + bookingStatus.StaCode = "sta_qiyungang"; + bookingStatus.StaName = dicdatalist.Where(x => x.Code == "sta_qiyungang").Select(x => x.Value).FirstOrDefault(); + bookingStatus.StaTime = DateTime.Now; + bookingStatus.StaCate = "book_sta_cate_billtrace"; + await _repBookingStatus.InsertAsync(bookingStatus); + } + + billdto.Children = billTraceList; + billdto.Key = key.Account; + billdto.PWD = key.Password; + billdto.url = url.FirstOrDefault(x => x.TypeCode == "url_set" && x.Code == "response_seae_billtraceurl").Value; + billdto.Gid = UserManager.DjyUserId; + var json = billdto.ToJsonString(); + _logger.LogInformation("调用运踪更改接口发送josn:" + json); + var html = await url.FirstOrDefault(x => x.TypeCode == "url_set" && x.Code == "request_seae_updatebilltraceurl").Value.SetHttpMethod(HttpMethod.Post).SetQueries(new { msg = json }).SetRetryPolicy(3, 5000).SendAsAsync(); + _logger.LogInformation("调用运踪更改接口返回" + html.ToJsonString()); + if (html.Success != true) + { + _logger.LogError("调用运踪更改接口返回:" + html.ToJsonString()); + throw Oops.Bah(html.Message); + } + } #endregion #region 放舱(入货通知) diff --git a/Myshipping.Application/Service/DataSync/Dto/BookingOrderDto.cs b/Myshipping.Application/Service/DataSync/Dto/BookingOrderDto.cs index 3c187588..2a051187 100644 --- a/Myshipping.Application/Service/DataSync/Dto/BookingOrderDto.cs +++ b/Myshipping.Application/Service/DataSync/Dto/BookingOrderDto.cs @@ -304,11 +304,11 @@ namespace Myshipping.Application.Service.DataSync.Dto /// public bool? ISCONTAINERSOC { get; set; } /// - /// SO备注 + /// 订舱备注 /// public string SOREMARK { get; set; } /// - /// SI备注 + /// 截单备注 /// public string SIREMARK { get; set; } ///