提单号更新接口

optimize
wet 1 year ago
parent 85fc37b186
commit 76b335c5ac

@ -366,12 +366,12 @@ namespace Myshipping.Application.Entity
/// <summary>
/// SO备注
/// </summary>
[Description("SO备注")]
[Description("订舱备注")]
public string SOREMARK { get; set; }
/// <summary>
/// SI备注
/// </summary>
[Description("SI备注")]
[Description("截单备注")]
public string SIREMARK { get; set; }
/// <summary>
/// 场站备注

@ -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
}
}
/// <summary>
/// 更新运踪提单号或自动订阅运踪
/// </summary>
/// <param name="order"></param>
/// <returns></returns>
[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> billTraceList = new List<BillTraceList>();
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<RespCommon>();
_logger.LogInformation("调用运踪更改接口返回" + html.ToJsonString());
if (html.Success != true)
{
_logger.LogError("调用运踪更改接口返回:" + html.ToJsonString());
throw Oops.Bah(html.Message);
}
}
#endregion
#region 放舱(入货通知)

@ -304,11 +304,11 @@ namespace Myshipping.Application.Service.DataSync.Dto
/// </summary>
public bool? ISCONTAINERSOC { get; set; }
/// <summary>
/// SO备注
/// 订舱备注
/// </summary>
public string SOREMARK { get; set; }
/// <summary>
/// SI备注
/// 截单备注
/// </summary>
public string SIREMARK { get; set; }
/// <summary>

Loading…
Cancel
Save