台账修改接口

optimize
wanghaomei 1 year ago
parent f6fca37cb4
commit 813dfe388a

@ -1046,6 +1046,82 @@ namespace Myshipping.Application
await SendBookingOrder(new long[] { order.Id });
}
/// <summary>
/// 在订舱台账保存单证备注、操作备注等功能
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpPost("/BookingOrder/SaveDataInList"), AllowAnonymous]
public async Task SaveDataInList(JObject obj)
{
if (!obj.ContainsKey("Id"))
{
throw Oops.Bah("参数有误没有Id");
}
var id = obj.GetLongValue("Id");
var order = await _rep.AsQueryable().Filter(null, true).FirstAsync(x => x.Id == id);
if (order == null)
{
throw Oops.Bah("订舱数据不存在");
}
//判断权限返回null表示有全部权限
List<long> userlist = await _right.GetDataScopeList(MenuConst.MenuBookingOrder, true);
if (userlist != null && !userlist.Contains(UserManager.UserId))
{
throw Oops.Bah("无权修改");
}
var orderCompare = await _rep.AsQueryable().Filter(null, true).FirstAsync(x => x.Id == id);
var propsOrder = typeof(BookingOrder).GetProperties();
foreach (var property in obj)
{
var propNameLower = property.Key.ToLower();
var propOrd = propsOrder.FirstOrDefault(p => p.Name.ToLower() == propNameLower);
if (propOrd != null)
{
if (propOrd.PropertyType == typeof(string))
{
propOrd.SetValue(order, obj.GetStringValue(property.Key));
}
else if (propOrd.PropertyType == typeof(int) || propOrd.PropertyType == typeof(int?))
{
propOrd.SetValue(order, obj.GetIntValue(property.Key));
}
else if (propOrd.PropertyType == typeof(long) || propOrd.PropertyType == typeof(long?))
{
propOrd.SetValue(order, obj.GetLongValue(property.Key));
}
else if (propOrd.PropertyType == typeof(DateTime) || propOrd.PropertyType == typeof(DateTime?))
{
propOrd.SetValue(order, obj.GetDateTimeValue(property.Key));
}
else if (propOrd.PropertyType == typeof(bool) || propOrd.PropertyType == typeof(bool?))
{
propOrd.SetValue(order, obj.GetBooleanValue(property.Key));
}
else if (propOrd.PropertyType == typeof(decimal) || propOrd.PropertyType == typeof(decimal?))
{
propOrd.SetValue(order, obj.GetDecimalValue(property.Key));
}
}
}
JsonUtil.PropToUpper(order, "ORDNO", "BSSTATUS", "YARDID", "YardContract", "YardContractTel", "YardContractEmail", "MARKS", "DESCRIPTION", "CONSIGNEENAME", "SHIPPERNAME", "NOTIFYPARTYNAME", "DZRemark", "CZRemark");
order.VERSION = Guid.NewGuid().ToString();
await _rep.UpdateAsync(order);
//记录修改日志
await SaveLog(order, orderCompare);
//推送东胜
await SendBookingOrder(new long[] { order.Id });
}
/// <summary>
/// 删除订舱
/// </summary>
@ -1884,7 +1960,7 @@ namespace Myshipping.Application
}
#endregion
#region 放舱(入货通知)
@ -1987,7 +2063,8 @@ namespace Myshipping.Application
public async Task<dynamic> SendLetterYard(long bookingId)
{
var entity = _repLetterYard.AsQueryable().Filter(null, true).First(x => x.BookingId == bookingId);
if (entity!=null) {
if (entity != null)
{
var json = entity.ToJsonString();
try
{
@ -2020,7 +2097,7 @@ namespace Myshipping.Application
}
}
return null;
}
@ -7384,6 +7461,8 @@ namespace Myshipping.Application
var rtn = await GetYardDataAndMappingSystem(order, false);
await _repCtn.DeleteAsync(x => x.BILLID == bookId);
_logger.LogInformation($"{bookId}({order.MBLNO})的箱封号自动引入获取场站数据:{rtn.ToJsonString()}");
foreach (var item in rtn)
{
var ctn = new BookingCtn();
@ -7404,6 +7483,7 @@ namespace Myshipping.Application
await _repCtn.InsertAsync(ctn);
}
_logger.LogInformation($"{bookId}({order.MBLNO})的箱封号自动引入完成");
}
@ -7755,9 +7835,9 @@ namespace Myshipping.Application
[NonAction]
public async Task<dynamic> SendBookingOrder(long[] ids)
{
var itemcode = App.Configuration["ITEMCODE"].ToString() ;
var BookingOrderMQUri= App.Configuration["SendBookingOrderMQUri"];
_logger.LogInformation("订舱数据回推地址:" + BookingOrderMQUri+ itemcode);
var itemcode = App.Configuration["ITEMCODE"].ToString();
var BookingOrderMQUri = App.Configuration["SendBookingOrderMQUri"];
_logger.LogInformation("订舱数据回推地址:" + BookingOrderMQUri + itemcode);
if (!string.IsNullOrEmpty(itemcode) && itemcode == "True")
{
if (ids.Count() == 0)

Loading…
Cancel
Save