diff --git a/Myshipping.Application/Myshipping.Application.xml b/Myshipping.Application/Myshipping.Application.xml
index b0f7835a..22a50149 100644
--- a/Myshipping.Application/Myshipping.Application.xml
+++ b/Myshipping.Application/Myshipping.Application.xml
@@ -5359,6 +5359,156 @@
租户ID
+
+
+ 件数
+
+
+
+
+ 包装
+
+
+
+
+ 毛重
+
+
+
+
+ 尺码
+
+
+
+
+ HS编码
+
+
+
+
+ 唛头
+
+
+
+
+ 货描
+
+
+
+
+ 备注
+
+
+
+
+ 集装箱信息
+
+
+
+
+ 箱型代码
+
+
+
+
+ 箱型
+
+
+
+
+ TEU
+
+
+
+
+ 箱号
+
+
+
+
+ 封号
+
+
+
+
+ 件数
+
+
+
+
+ 包装
+
+
+
+
+ 毛重
+
+
+
+
+ 尺码
+
+
+
+
+ 皮重
+
+
+
+
+ 箱状态
+
+
+
+
+ 称重方式
+
+
+
+
+ 称重重量
+
+
+
+
+ 称重联系人
+
+
+
+
+ VGM联系公司
+
+
+
+
+ VGM联系电话
+
+
+
+
+ 称重日期
+
+
+
+
+ VGM地址
+
+
+
+
+ VGM邮箱
+
+
+
+
+ 备注
+
+
+
+
+ 货物明细
+
+
项目代码(可以填多个,主要是标识要进行的规则过滤)
@@ -6126,6 +6276,11 @@
是否拼箱
+
+
+ 箱信息
+
+
海运订舱规则请求报文
@@ -6327,7 +6482,7 @@
请求规则平台
-
+
diff --git a/Myshipping.Application/Service/RulesEngine/Dtos/OceanBookingMapper.cs b/Myshipping.Application/Service/RulesEngine/Dtos/OceanBookingMapper.cs
index fd41857b..e56f9395 100644
--- a/Myshipping.Application/Service/RulesEngine/Dtos/OceanBookingMapper.cs
+++ b/Myshipping.Application/Service/RulesEngine/Dtos/OceanBookingMapper.cs
@@ -276,6 +276,71 @@ namespace Myshipping.Application
.Map(dest => dest.LaneName, src => src.LANENAME)
.Map(dest => dest.FreightPayer, src => src.FREIGHTPAYER);
+
+ config.ForType()
+ .Map(dest => dest.ContaType, src => src.CTNCODE)
+ .Map(dest => dest.ContaTypeName, src => src.CTNALL)
+ .Map(dest => dest.TEU, src => src.TEU)
+ .Map(dest => dest.ContaNo, src => src.CNTRNO)
+ .Map(dest => dest.SealNo, src => src.SEALNO)
+ .Map(dest => dest.PKGs, src => src.PKGS)
+ .Map(dest => dest.KindPKGs, src => src.KINDPKGS)
+ .Map(dest => dest.KGs, src => src.KGS)
+ .Map(dest => dest.CBM, src => src.CBM)
+ .Map(dest => dest.TareWeight, src => src.TAREWEIGHT)
+ .Map(dest => dest.ContaStatus, src => src.CTNSTATUS)
+ .Map(dest => dest.WeighType, src => src.WEIGHTYPE)
+ .Map(dest => dest.WeighKGs, src => src.WEIGHKGS)
+ .Map(dest => dest.WeighAttn, src => src.WEIGHATTN)
+ .Map(dest => dest.VGMConnCom, src => src.VGMCONNCOM)
+ .Map(dest => dest.WeighTel, src => src.WEIGHTEL)
+ .Map(dest => dest.WeighDate, src => src.WEIGHDATE)
+ .Map(dest => dest.VGMAddr, src => src.VGMADDR)
+ .Map(dest => dest.VGMEmail, src => src.VGMEMAIL)
+ .Map(dest => dest.Remark, src => src.REMARK);
+
+ config.ForType()
+ .Map(dest => dest.ContaType, src => src.CTNCODE)
+ .Map(dest => dest.ContaTypeName, src => src.CTNALL)
+ .Map(dest => dest.TEU, src => src.TEU)
+ .Map(dest => dest.ContaNo, src => src.CNTRNO)
+ .Map(dest => dest.SealNo, src => src.SEALNO)
+ .Map(dest => dest.PKGs, src => src.PKGS)
+ .Map(dest => dest.KindPKGs, src => src.KINDPKGS)
+ .Map(dest => dest.KGs, src => src.KGS)
+ .Map(dest => dest.CBM, src => src.CBM)
+ .Map(dest => dest.TareWeight, src => src.TAREWEIGHT)
+ .Map(dest => dest.ContaStatus, src => src.CTNSTATUS)
+ .Map(dest => dest.WeighType, src => src.WEIGHTYPE)
+ .Map(dest => dest.WeighKGs, src => src.WEIGHKGS)
+ .Map(dest => dest.WeighAttn, src => src.WEIGHATTN)
+ .Map(dest => dest.VGMConnCom, src => src.VGMCONNCOM)
+ .Map(dest => dest.WeighTel, src => src.WEIGHTEL)
+ .Map(dest => dest.WeighDate, src => src.WEIGHDATE)
+ .Map(dest => dest.VGMAddr, src => src.VGMADDR)
+ .Map(dest => dest.VGMEmail, src => src.VGMEMAIL)
+ .Map(dest => dest.Remark, src => src.REMARK);
+
+ config.ForType()
+ .Map(dest => dest.PKGs, src => src.PKGS)
+ .Map(dest => dest.KindPKGs, src => src.KINDPKGS)
+ .Map(dest => dest.KGs, src => src.KGS)
+ .Map(dest => dest.CBM, src => src.CBM)
+ .Map(dest => dest.HSCode, src => src.HSCODE)
+ .Map(dest => dest.Marks, src => src.MARKS)
+ .Map(dest => dest.Description, src => src.DESCRIPTION)
+ .Map(dest => dest.Remark, src => src.REMARK);
+
+
+ config.ForType()
+ .Map(dest => dest.PKGs, src => src.PKGS)
+ .Map(dest => dest.KindPKGs, src => src.KINDPKGS)
+ .Map(dest => dest.KGs, src => src.KGS)
+ .Map(dest => dest.CBM, src => src.CBM)
+ .Map(dest => dest.HSCode, src => src.HSCODE)
+ .Map(dest => dest.Marks, src => src.MARKS)
+ .Map(dest => dest.Description, src => src.DESCRIPTION)
+ .Map(dest => dest.Remark, src => src.REMARK);
}
}
}
diff --git a/Myshipping.Application/Service/RulesEngine/Dtos/OrderBooking/RulesEngineOrderBookingContaCargoInfo.cs b/Myshipping.Application/Service/RulesEngine/Dtos/OrderBooking/RulesEngineOrderBookingContaCargoInfo.cs
new file mode 100644
index 00000000..5303204d
--- /dev/null
+++ b/Myshipping.Application/Service/RulesEngine/Dtos/OrderBooking/RulesEngineOrderBookingContaCargoInfo.cs
@@ -0,0 +1,44 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Myshipping.Application
+{
+ public class RulesEngineOrderBookingContaCargoInfo
+ {
+ ///
+ /// 件数
+ ///
+ public Nullable PKGs { get; set; }
+ ///
+ /// 包装
+ ///
+ public string KindPKGs { get; set; }
+ ///
+ /// 毛重
+ ///
+ public Nullable KGs { get; set; }
+ ///
+ /// 尺码
+ ///
+ public Nullable CBM { get; set; }
+ ///
+ /// HS编码
+ ///
+ public string HSCode { get; set; }
+ ///
+ /// 唛头
+ ///
+ public string Marks { get; set; }
+ ///
+ /// 货描
+ ///
+ public string Description { get; set; }
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+ }
+}
diff --git a/Myshipping.Application/Service/RulesEngine/Dtos/OrderBooking/RulesEngineOrderBookingContaInfo.cs b/Myshipping.Application/Service/RulesEngine/Dtos/OrderBooking/RulesEngineOrderBookingContaInfo.cs
new file mode 100644
index 00000000..2f62b450
--- /dev/null
+++ b/Myshipping.Application/Service/RulesEngine/Dtos/OrderBooking/RulesEngineOrderBookingContaInfo.cs
@@ -0,0 +1,100 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Myshipping.Application
+{
+ ///
+ /// 集装箱信息
+ ///
+ public class RulesEngineOrderBookingContaInfo
+ {
+ ///
+ /// 箱型代码
+ ///
+ public string ContaType { get; set; }
+ ///
+ /// 箱型
+ ///
+ public string ContaTypeName { get; set; }
+ ///
+ /// TEU
+ ///
+ public Nullable TEU { get; set; }
+ ///
+ /// 箱号
+ ///
+ public string ContaNo { get; set; }
+ ///
+ /// 封号
+ ///
+ public string SealNo { get; set; }
+ ///
+ /// 件数
+ ///
+ public Nullable PKGs { get; set; }
+ ///
+ /// 包装
+ ///
+ public string KindPKGs { get; set; }
+ ///
+ /// 毛重
+ ///
+ public Nullable KGs { get; set; }
+ ///
+ /// 尺码
+ ///
+ public Nullable CBM { get; set; }
+ ///
+ /// 皮重
+ ///
+ public Nullable TareWeight { get; set; }
+ ///
+ /// 箱状态
+ ///
+ public string ContaStatus { get; set; }
+ ///
+ /// 称重方式
+ ///
+ public string WeighType { get; set; }
+ ///
+ /// 称重重量
+ ///
+ public Nullable WeighKGs { get; set; }
+ ///
+ /// 称重联系人
+ ///
+ public string WeighAttn { get; set; }
+ ///
+ /// VGM联系公司
+ ///
+ public string VGMConnCom { get; set; }
+ ///
+ /// VGM联系电话
+ ///
+ public string WeighTel { get; set; }
+ ///
+ /// 称重日期
+ ///
+ public string WeighDate { get; set; }
+ ///
+ /// VGM地址
+ ///
+ public string VGMAddr { get; set; }
+ ///
+ /// VGM邮箱
+ ///
+ public string VGMEmail { get; set; }
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+
+ ///
+ /// 货物明细
+ ///
+ public List CargoList { get; set; }
+ }
+}
diff --git a/Myshipping.Application/Service/RulesEngine/Dtos/OrderBooking/RulesEngineOrderBookingMainInfo.cs b/Myshipping.Application/Service/RulesEngine/Dtos/OrderBooking/RulesEngineOrderBookingMainInfo.cs
index 6e93425d..30ce29fe 100644
--- a/Myshipping.Application/Service/RulesEngine/Dtos/OrderBooking/RulesEngineOrderBookingMainInfo.cs
+++ b/Myshipping.Application/Service/RulesEngine/Dtos/OrderBooking/RulesEngineOrderBookingMainInfo.cs
@@ -641,5 +641,10 @@ namespace Myshipping.Application
/// 是否拼箱
///
public Nullable IsContaLCL { get; set; }
+
+ ///
+ /// 箱信息
+ ///
+ public List ContaList { get; set; }
}
}
diff --git a/Myshipping.Application/Service/RulesEngine/RulesEngineClientService.cs b/Myshipping.Application/Service/RulesEngine/RulesEngineClientService.cs
index 05622005..57395cac 100644
--- a/Myshipping.Application/Service/RulesEngine/RulesEngineClientService.cs
+++ b/Myshipping.Application/Service/RulesEngine/RulesEngineClientService.cs
@@ -26,12 +26,19 @@ namespace Myshipping.Application
public class RulesEngineClientService: IRulesEngineClientService, IDynamicApiController, ITransient
{
private readonly SqlSugarRepository _bookingOrderRepository;
+ private readonly SqlSugarRepository _bookingOrderContaRepository;
+ private readonly SqlSugarRepository _bookingOrderContaCargoRepository;
+
///
///
///
- public RulesEngineClientService(SqlSugarRepository bookingOrderRepository)
+ public RulesEngineClientService(SqlSugarRepository bookingOrderRepository,
+ SqlSugarRepository bookingOrderContaRepository,
+ SqlSugarRepository bookingOrderContaCargoRepository)
{
_bookingOrderRepository = bookingOrderRepository;
+ _bookingOrderContaRepository = bookingOrderContaRepository;
+ _bookingOrderContaCargoRepository = bookingOrderContaCargoRepository;
}
@@ -40,6 +47,8 @@ namespace Myshipping.Application
///
/// 海运订舱请求业务
/// 返回用户信息
+ [ApiDescriptionSettings(LowercaseRoute = false, SplitCamelCase = false)]
+ [HttpPost]
public async Task ExcuteRulesOceanBookingByMsg(RulesEngineOrderBookingMessageInfo model)
{
RulesEngineExcuteResultDto result = new RulesEngineExcuteResultDto();
@@ -68,6 +77,7 @@ namespace Myshipping.Application
///
/// 海运订舱主键
/// 返回用户信息
+ [ApiDescriptionSettings(LowercaseRoute = false, SplitCamelCase = false)]
[HttpGet]
public async Task ExcuteRulesOceanBooking(string bookingId)
{
@@ -113,6 +123,39 @@ namespace Myshipping.Application
msgModel.Main.BusinessInfo = model.Adapt();
+ var contaList = await _bookingOrderContaRepository.AsQueryable().Where(x => x.BILLID == model.Id).ToListAsync();
+
+ if (contaList.Count > 0)
+ {
+ msgModel.Main.BusinessInfo.ContaList = contaList.Adapt>();
+
+ var cargoList = await _bookingOrderContaCargoRepository.AsQueryable()
+ .Where(x=> contaList.Any(a=>a.Id == x.CTNID)).ToListAsync();
+
+ if(cargoList.Count > 0)
+ {
+ msgModel.Main.BusinessInfo.ContaList = contaList.GroupJoin(cargoList, l => l.Id, r => r.CTNID, (l, r) => {
+ var currList = r.ToList();
+
+ if (currList.Count > 0)
+ {
+ var info = l.Adapt();
+ info.CargoList = currList.Adapt>();
+
+ return info;
+ }
+
+ return l.Adapt();
+
+ }).ToList();
+ }
+ else
+ {
+ msgModel.Main.BusinessInfo.ContaList = contaList.Adapt>();
+ }
+
+ }
+
var ruleResult = await ExcuteRulesEngine(msgModel);
if(ruleResult == null)
@@ -143,6 +186,7 @@ namespace Myshipping.Application
///
/// 海运订舱报文类
/// 返回回执
+ [ApiDescriptionSettings(LowercaseRoute = false, SplitCamelCase = false)]
[HttpPost]
public async Task ExcuteRulesOceanBookingByModel(BookingOrderDto model)
{
@@ -162,7 +206,7 @@ namespace Myshipping.Application
DateTime nowDate = DateTime.Now;
//var model =
-
+
//if()
// _bookingOrderRepository.AsQueryable().InSingle(bookingId);
@@ -192,6 +236,39 @@ namespace Myshipping.Application
msgModel.Main.BusinessInfo = model.Adapt();
+ var contaList = await _bookingOrderContaRepository.AsQueryable().Where(x => x.BILLID == model.Id).ToListAsync();
+
+ if (contaList.Count > 0)
+ {
+ msgModel.Main.BusinessInfo.ContaList = contaList.Adapt>();
+
+ var cargoList = await _bookingOrderContaCargoRepository.AsQueryable()
+ .Where(x => contaList.Any(a => a.Id == x.CTNID)).ToListAsync();
+
+ if (cargoList.Count > 0)
+ {
+ msgModel.Main.BusinessInfo.ContaList = contaList.GroupJoin(cargoList, l => l.Id, r => r.CTNID, (l, r) =>
+ {
+ var currList = r.ToList();
+
+ if (currList.Count > 0)
+ {
+ var info = l.Adapt();
+ info.CargoList = currList.Adapt>();
+
+ return info;
+ }
+
+ return l.Adapt();
+
+ }).ToList();
+ }
+ else
+ {
+ msgModel.Main.BusinessInfo.ContaList = contaList.Adapt>();
+ }
+
+ }
var ruleResult = await ExcuteRulesEngine(msgModel);
if (ruleResult == null)
diff --git a/Myshipping.Core/Myshipping.Core.xml b/Myshipping.Core/Myshipping.Core.xml
index 612bc28b..2ab001d5 100644
--- a/Myshipping.Core/Myshipping.Core.xml
+++ b/Myshipping.Core/Myshipping.Core.xml
@@ -6645,7 +6645,7 @@
- 新增编辑船公司映射信息
+ 新增编辑箱型映射信息
@@ -6653,6 +6653,21 @@
付费方式
+
+
+ 新增付费方式
+
+
+
+
+ 获取付费映射列表信息
+
+
+
+
+ 新增编辑付费映射信息
+
+
模块
@@ -6734,6 +6749,23 @@
+
+
+ 获取箱型映射
+
+
+
+
+
+ 付费方式
+
+
+
+
+
+ 付费方式映射
+
+
获取库表信息