jianghaiqing 11 months ago
commit 8df5aba6f0

@ -0,0 +1,290 @@
using System;
using System.Collections.Generic;
using SqlSugar;
using Myshipping.Core.Entity;
/*
* @author : whm
* @date : 2024-1-2
* @desc :
*/
namespace Myshipping.Application
{
/// <summary>
/// 舱位管理主信息
/// </summary>
[SugarTable("booking_slot_base", TableDescription = "舱位管理主信息")]
public class BookingSlotBase : DBEntityTenant
{
/// <summary>
/// 舱位提单号
/// </summary>
[SugarColumn(ColumnName = "SLOT_BOOKING_NO")]
public string SLOT_BOOKING_NO{ get; set; }
/// <summary>
/// 合约号
/// </summary>
[SugarColumn(ColumnName = "CONTRACT_NO")]
public string CONTRACT_NO{ get; set; }
/// <summary>
/// 订舱抬头
/// </summary>
[SugarColumn(ColumnName = "BOOKING_PARTY")]
public string BOOKING_PARTY{ get; set; }
/// <summary>
/// 船名
/// </summary>
[SugarColumn(ColumnName = "VESSEL")]
public string VESSEL{ get; set; }
/// <summary>
/// 航次号
/// </summary>
[SugarColumn(ColumnName = "VOYNO")]
public string VOYNO{ get; set; }
/// <summary>
/// 预计开船日期
/// </summary>
[SugarColumn(ColumnName = "ETD")]
public DateTime? ETD{ get; set; }
/// <summary>
/// 预计到港日期
/// </summary>
[SugarColumn(ColumnName = "ETA")]
public DateTime? ETA{ get; set; }
/// <summary>
/// 收货地代码
/// </summary>
[SugarColumn(ColumnName = "PLACERECEIPTID")]
public string PLACERECEIPTID{ get; set; }
/// <summary>
/// 收货地
/// </summary>
[SugarColumn(ColumnName = "PLACERECEIPT")]
public string PLACERECEIPT{ get; set; }
/// <summary>
/// 交货地代码
/// </summary>
[SugarColumn(ColumnName = "PLACEDELIVERYID")]
public string PLACEDELIVERYID{ get; set; }
/// <summary>
/// 交货地
/// </summary>
[SugarColumn(ColumnName = "PLACEDELIVERY")]
public string PLACEDELIVERY{ get; set; }
/// <summary>
/// 装货港代码
/// </summary>
[SugarColumn(ColumnName = "PORTLOADID")]
public string PORTLOADID { get; set; }
/// <summary>
/// 装货港
/// </summary>
[SugarColumn(ColumnName = "PORTLOAD")]
public string PORTLOAD { get; set; }
/// <summary>
/// 卸货港代码
/// </summary>
[SugarColumn(ColumnName = "PORTDISCHARGEID")]
public string PORTDISCHARGEID { get; set; }
/// <summary>
/// 卸货港
/// </summary>
[SugarColumn(ColumnName = "PORTDISCHARGE")]
public string PORTDISCHARGE { get; set; }
/// <summary>
/// 中转港1
/// </summary>
[SugarColumn(ColumnName = "TRANSFER_PORT_1")]
public string TRANSFER_PORT_1{ get; set; }
/// <summary>
/// 中转港2
/// </summary>
[SugarColumn(ColumnName = "TRANSFER_PORT_2")]
public string TRANSFER_PORT_2{ get; set; }
/// <summary>
/// 船公司代号
/// </summary>
[SugarColumn(ColumnName = "CARRIERID")]
public string CARRIERID{ get; set; }
/// <summary>
/// 船公司
/// </summary>
[SugarColumn(ColumnName = "CARRIER")]
public string CARRIER{ get; set; }
/// <summary>
/// 航线代码(船公司)
/// </summary>
[SugarColumn(ColumnName = "LANECODE")]
public string LANECODE{ get; set; }
/// <summary>
/// 航线名称(船公司)
/// </summary>
[SugarColumn(ColumnName = "LANENAME")]
public string LANENAME{ get; set; }
/// <summary>
/// 承运方式 DIRECT_SHIP-直达TRANSFER_SHIP-中转
/// </summary>
[SugarColumn(ColumnName = "CARRIAGE_TYPE")]
public string CARRIAGE_TYPE{ get; set; }
/// <summary>
/// 承运方式名称 CONTRACT_ORDER-合约订舱SPOT_ORDER-SPOT订舱
/// </summary>
[SugarColumn(ColumnName = "CARRIAGE_TYPE_NAME")]
public string CARRIAGE_TYPE_NAME{ get; set; }
/// <summary>
/// 订舱方式 CONTRACT_ORDER-合约订舱SPOT_ORDER-SPOT订舱
/// </summary>
[SugarColumn(ColumnName = "BOOKING_SLOT_TYPE")]
public string BOOKING_SLOT_TYPE{ get; set; }
/// <summary>
/// 订舱方式名称 CONTRACT_ORDER-合约订舱SPOT_ORDER-SPOT订舱
/// </summary>
[SugarColumn(ColumnName = "BOOKING_SLOT_TYPE_NAME")]
public string BOOKING_SLOT_TYPE_NAME{ get; set; }
/// <summary>
/// 签单方式 ORIGINAL-正本TELEX-电放SEAWAY BILL-海运单;
/// </summary>
[SugarColumn(ColumnName = "ISSUETYPE")]
public string ISSUETYPE{ get; set; }
/// <summary>
/// 箱型箱量
/// </summary>
[SugarColumn(ColumnName = "CTN_STAT")]
public string CTN_STAT{ get; set; }
/// <summary>
/// 所在周数
/// </summary>
[SugarColumn(ColumnName = "WEEK_AT")]
public string WEEK_AT{ get; set; }
/// <summary>
/// 箱使天数
/// </summary>
[SugarColumn(ColumnName = "DETENSION_FREE_DAYS")]
public int DETENSION_FREE_DAYS{ get; set; }
/// <summary>
/// 样单截止日期
/// </summary>
[SugarColumn(ColumnName = "SI_CUT_DATE")]
public DateTime? SI_CUT_DATE{ get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "CY_CUT_DATE")]
public DateTime? CY_CUT_DATE{ get; set; }
/// <summary>
/// VGM截止日期
/// </summary>
[SugarColumn(ColumnName = "VGM_SUBMISSION_CUT_DATE")]
public DateTime? VGM_SUBMISSION_CUT_DATE{ get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "MDGF_CUT_DATE")]
public DateTime? MDGF_CUT_DATE{ get; set; }
/// <summary>
/// 舱单截止时间
/// </summary>
[SugarColumn(ColumnName = "MANIFEST_CUT_DATE")]
public DateTime? MANIFEST_CUT_DATE{ get; set; }
/// <summary>
/// 多状态标记,按预设的状态标记顺序二进制转数值,查询时用与或查询
/// </summary>
[SugarColumn(ColumnName = "MORE_FLAG_STATUS")]
public int MORE_FLAG_STATUS{ get; set; }
/// <summary>
/// VGM回执
/// </summary>
[SugarColumn(ColumnName = "VGM_RLT_STAT")]
public string VGM_RLT_STAT{ get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "SI_RLT_STAT")]
public string SI_RLT_STAT{ get; set; }
/// <summary>
/// 提箱回执
/// </summary>
[SugarColumn(ColumnName = "TAKE_CTN_RLT_STAT")]
public string TAKE_CTN_RLT_STAT{ get; set; }
/// <summary>
/// 还箱回执
/// </summary>
[SugarColumn(ColumnName = "RETURN_CTN_RLT_STAT")]
public string RETURN_CTN_RLT_STAT{ get; set; }
/// <summary>
/// 预甩回执
/// </summary>
[SugarColumn(ColumnName = "NOMINATION_RLT_STAT")]
public string NOMINATION_RLT_STAT{ get; set; }
/// <summary>
/// 舱位变更回执
/// </summary>
[SugarColumn(ColumnName = "AMENDMENT_RLT_STAT")]
public string AMENDMENT_RLT_STAT{ get; set; }
/// <summary>
/// 舱位取消回执
/// </summary>
[SugarColumn(ColumnName = "CANCELLATION_RLT_STAT")]
public string CANCELLATION_RLT_STAT{ get; set; }
/// <summary>
/// 目的港卸船未提货回执
/// </summary>
[SugarColumn(ColumnName = "DISCHARGE_FULL_RLT_STAT")]
public string DISCHARGE_FULL_RLT_STAT{ get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "GATE_OUTFULL_RLT_STAT")]
public string GATE_OUTFULL_RLT_STAT{ get; set; }
/// <summary>
/// 租户名称
/// </summary>
[SugarColumn(ColumnName = "TenantName")]
public string TenantName{ get; set; }
}
}

@ -0,0 +1,111 @@
using System;
using System.Collections.Generic;
using SqlSugar;
using Myshipping.Core.Entity;
/*
* @author : whm
* @date : 2024-1-2
* @desc :
*/
namespace Myshipping.Application
{
/// <summary>
/// 舱位集装箱管理
/// </summary>
[SugarTable("booking_slot_ctn", TableDescription = "舱位集装箱管理")]
public class BookingSlotCtn : DBEntityTenant
{
/// <summary>
/// 舱位主键
/// </summary>
[SugarColumn(ColumnName = "SLOT_ID")]
public long SLOT_ID{ get; set; }
/// <summary>
/// 箱型代码
/// </summary>
[SugarColumn(ColumnName = "CTNCODE")]
public string CTNCODE{ get; set; }
/// <summary>
/// 箱型名称
/// </summary>
[SugarColumn(ColumnName = "CTNALL")]
public string CTNALL{ get; set; }
/// <summary>
/// 箱量
/// </summary>
[SugarColumn(ColumnName = "CTNNUM")]
public int CTNNUM{ get; set; }
/// <summary>
/// 箱号
/// </summary>
[SugarColumn(ColumnName = "CNTRNO")]
public string CNTRNO{ get; set; }
/// <summary>
/// 箱封号
/// </summary>
[SugarColumn(ColumnName = "SEALNO")]
public string SEALNO{ get; set; }
/// <summary>
/// 件数
/// </summary>
[SugarColumn(ColumnName = "PKGS")]
public int PKGS{ get; set; }
/// <summary>
/// 包装
/// </summary>
[SugarColumn(ColumnName = "KINDPKGS")]
public string KINDPKGS{ get; set; }
/// <summary>
/// 毛重
/// </summary>
[SugarColumn(ColumnName = "KGS")]
public decimal KGS{ get; set; }
/// <summary>
/// 尺码
/// </summary>
[SugarColumn(ColumnName = "CBM")]
public decimal CBM{ get; set; }
/// <summary>
/// 皮重
/// </summary>
[SugarColumn(ColumnName = "TAREWEIGHT")]
public decimal TAREWEIGHT{ get; set; }
/// <summary>
/// 箱状态
/// </summary>
[SugarColumn(ColumnName = "CTNSTATUS")]
public string CTNSTATUS{ get; set; }
/// <summary>
/// 称重方式
/// </summary>
[SugarColumn(ColumnName = "WEIGHTYPE")]
public string WEIGHTYPE{ get; set; }
/// <summary>
/// 称重重量
/// </summary>
[SugarColumn(ColumnName = "WEIGHKGS")]
public decimal WEIGHKGS{ get; set; }
/// <summary>
/// 称重联系人
/// </summary>
[SugarColumn(ColumnName = "WEIGHATTN")]
public string WEIGHATTN{ get; set; }
}
}

@ -0,0 +1,158 @@
using System;
using System.Collections.Generic;
using SqlSugar;
using Myshipping.Core.Entity;
/*
* @author : whm
* @date : 2024-1-2
* @desc : ,
*/
namespace Myshipping.Application
{
/// <summary>
/// 舱位库存表,用来增减
/// </summary>
[SugarTable("booking_slot_stock", TableDescription = "舱位库存表,用来增减")]
public class BookingSlotStock : DBEntityTenant
{
/// <summary>
/// 船名
/// </summary>
[SugarColumn(ColumnName = "VESSEL")]
public string VESSEL{ get; set; }
/// <summary>
/// 航次号
/// </summary>
[SugarColumn(ColumnName = "VOYNO")]
public string VOYNO{ get; set; }
/// <summary>
/// 合约号
/// </summary>
[SugarColumn(ColumnName = "CONTRACT_NO")]
public string CONTRACT_NO{ get; set; }
/// <summary>
/// 订舱方式 CONTRACT_ORDER-合约订舱SPOT_ORDER-SPOT订舱
/// </summary>
[SugarColumn(ColumnName = "BOOKING_SLOT_TYPE")]
public string BOOKING_SLOT_TYPE{ get; set; }
/// <summary>
/// 订舱方式名称 CONTRACT_ORDER-合约订舱SPOT_ORDER-SPOT订舱
/// </summary>
[SugarColumn(ColumnName = "BOOKING_SLOT_TYPE_NAME")]
public string BOOKING_SLOT_TYPE_NAME{ get; set; }
/// <summary>
/// 订舱抬头
/// </summary>
[SugarColumn(ColumnName = "BOOKING_PARTY")]
public string BOOKING_PARTY{ get; set; }
/// <summary>
/// 船公司代号
/// </summary>
[SugarColumn(ColumnName = "CARRIERID")]
public string CARRIERID{ get; set; }
/// <summary>
/// 船公司
/// </summary>
[SugarColumn(ColumnName = "CARRIER")]
public string CARRIER{ get; set; }
/// <summary>
/// 预计开船日期
/// </summary>
[SugarColumn(ColumnName = "ETD")]
public DateTime ETD{ get; set; }
/// <summary>
/// 预计到港日期
/// </summary>
[SugarColumn(ColumnName = "ETA")]
public DateTime ETA{ get; set; }
/// <summary>
/// 航线代码(船公司)
/// </summary>
[SugarColumn(ColumnName = "LANECODE")]
public string LANECODE{ get; set; }
/// <summary>
/// 航线名称(船公司)
/// </summary>
[SugarColumn(ColumnName = "LANENAME")]
public string LANENAME{ get; set; }
/// <summary>
/// 所在周数
/// </summary>
[SugarColumn(ColumnName = "WEEK_AT")]
public string WEEK_AT{ get; set; }
/// <summary>
/// 箱型箱量
/// </summary>
[SugarColumn(ColumnName = "CTN_STAT")]
public string CTN_STAT{ get; set; }
/// <summary>
/// 使用箱型箱量
/// </summary>
[SugarColumn(ColumnName = "USE_CTN_STAT")]
public string USE_CTN_STAT{ get; set; }
/// <summary>
/// 剩余箱型箱量
/// </summary>
[SugarColumn(ColumnName = "REMAIN_CTN_STAT")]
public string REMAIN_CTN_STAT{ get; set; }
/// <summary>
/// 总票数
/// </summary>
[SugarColumn(ColumnName = "TOTAL_ORDERS")]
public int TOTAL_ORDERS{ get; set; }
/// <summary>
/// 使用票数
/// </summary>
[SugarColumn(ColumnName = "USE_NUM")]
public int USE_NUM{ get; set; }
/// <summary>
/// 剩余票数
/// </summary>
[SugarColumn(ColumnName = "REMAIN_NUM")]
public int REMAIN_NUM{ get; set; }
/// <summary>
/// 总箱数
/// </summary>
[SugarColumn(ColumnName = "TOTAL_CTNS")]
public int TOTAL_CTNS{ get; set; }
/// <summary>
/// 使用箱数
/// </summary>
[SugarColumn(ColumnName = "USE_CTNS_NUM")]
public int USE_CTNS_NUM{ get; set; }
/// <summary>
/// 剩余箱数
/// </summary>
[SugarColumn(ColumnName = "REMAIN_CTNS_NUM")]
public int REMAIN_CTNS_NUM{ get; set; }
/// <summary>
/// 租户名称
/// </summary>
[SugarColumn(ColumnName = "TenantName")]
public string TenantName{ get; set; }
}
}

@ -45,4 +45,8 @@
<ProjectReference Include="..\Myshipping.Core\Myshipping.Core.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Entity\BookingSlot\" />
</ItemGroup>
</Project>

@ -2097,39 +2097,6 @@ namespace Myshipping.Application
return ordOut;
}
/// <summary>
/// 在订舱台账保存单证备注、操作备注等功能
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpPost("/BookingOrder/SaveInList")]
public async Task SaveInList(BookingOrderSaveInListDto model)
{
var order = await _rep.AsQueryable().Filter(null, true).FirstAsync(x => x.Id == model.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 == model.Id);
model.Adapt(order);
order.VERSION = Guid.NewGuid().ToString();
await _rep.UpdateAsync(order);
//记录修改日志
await SaveLog(order, orderCompare);
//推送东胜
await SendBookingOrder(new long[] { order.Id });
}
/// <summary>
/// 在订舱台账保存单证备注、操作备注等功能

@ -0,0 +1,181 @@
using Myshipping.Core;
using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Mapster;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using System.Linq;
using System.Threading.Tasks;
using Myshipping.Application.Entity;
using Microsoft.Extensions.Logging;
using Furion.FriendlyException;
using Myshipping.Application.Enum;
using System.ComponentModel;
using System.Collections.Generic;
using System.IO;
using MiniExcelLibs;
using NPOI.HSSF.UserModel;
using Myshipping.Core.Helper;
using NPOI.SS.UserModel;
using Furion;
using System;
using System.Web;
using System.Text;
using Myshipping.Application.ConfigOption;
using Myshipping.Core.Service;
using Myshipping.Application.Service.BookingSlot.Dto;
using NPOI.SS.Formula.Functions;
namespace Myshipping.Application
{
/// <summary>
/// 订舱舱位
/// </summary>
[ApiDescriptionSettings("Application", Name = "BookingSlot", Order = 1)]
public class BookingSlotService : IDynamicApiController, ITransient
{
private readonly SqlSugarRepository<BookingSlotBase> _repBase;
private readonly SqlSugarRepository<BookingSlotCtn> _repCtn;
private readonly SqlSugarRepository<BookingSlotStock> _repStock;
private readonly ILogger<BookingSlotService> _logger;
private readonly ISysCacheService _cache;
public BookingSlotService(SqlSugarRepository<BookingSlotBase> repBase,
SqlSugarRepository<BookingSlotCtn> repCtn,
SqlSugarRepository<BookingSlotStock> repStock,
ILogger<BookingSlotService> logger,
ISysCacheService cache)
{
_repBase = repBase;
_repCtn = repCtn;
_repStock = repStock;
_logger = logger;
_cache = cache;
}
#region 舱位
/// <summary>
/// 分页查询订舱舱位
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("/BookingSlot/page")]
public async Task<dynamic> Page([FromQuery] BookingSlotBasePageInput input)
{
var entities = await _repBase.AsQueryable()
.WhereIF(!string.IsNullOrEmpty(input.SLOT_BOOKING_NO), u => u.SLOT_BOOKING_NO.Contains(input.SLOT_BOOKING_NO))
.WhereIF(!string.IsNullOrEmpty(input.VESSEL), u => u.VESSEL.Contains(input.VESSEL))
.WhereIF(!string.IsNullOrEmpty(input.VOYNO), u => u.VOYNO.Contains(input.VOYNO))
.WhereIF(!string.IsNullOrEmpty(input.PORTLOAD), u => u.PORTLOAD.Contains(input.PORTLOAD))
.WhereIF(!string.IsNullOrEmpty(input.PORTDISCHARGE), u => u.PORTLOAD.Contains(input.PORTLOAD))
.WhereIF(!string.IsNullOrEmpty(input.CARRIER), u => u.CARRIER.Contains(input.CARRIER))
.WhereIF(!string.IsNullOrEmpty(input.LANENAME), u => u.LANENAME.Contains(input.LANENAME))
.WhereIF(!string.IsNullOrEmpty(input.CARRIAGE_TYPE), u => u.CARRIAGE_TYPE == input.CARRIAGE_TYPE)
.WhereIF(!string.IsNullOrEmpty(input.BOOKING_SLOT_TYPE), u => u.BOOKING_SLOT_TYPE == input.BOOKING_SLOT_TYPE)
.WhereIF(!string.IsNullOrEmpty(input.CTN_STAT), u => u.CTN_STAT.Contains(input.CTN_STAT))
.WhereIF(!string.IsNullOrEmpty(input.VGM_RLT_STAT), u => u.VGM_RLT_STAT == input.VGM_RLT_STAT)
.WhereIF(!string.IsNullOrEmpty(input.SI_RLT_STAT), u => u.SI_RLT_STAT == input.SI_RLT_STAT)
.WhereIF(input.ETD_START.HasValue, u => u.ETD >= input.ETD_START.Value)
.WhereIF(input.ETD_END.HasValue, u => u.ETD < input.ETD_END.Value.AddDays(1))
.WhereIF(input.ETA_START.HasValue, u => u.ETA >= input.ETA_START.Value)
.WhereIF(input.ETA_END.HasValue, u => u.ETA < input.ETA_END.Value.AddDays(1))
.ToPagedListAsync(input.PageNo, input.PageSize);
var result = entities.Adapt<SqlSugarPagedList<BookingSlotBaseListOutput>>();
return result.XnPagedResult();
}
/// <summary>
/// 保存订舱舱位
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("/BookingSlot/save")]
public async Task<BookingSlotBaseSaveDto> Save(BookingSlotBaseSaveDto input)
{
BookingSlotBase model = null;
if (input.Id > 0)
{
model = _repBase.FirstOrDefault(x => x.Id == input.Id);
input.Adapt(model);
await _repBase.UpdateAsync(model);
await _repCtn.DeleteAsync(x => x.SLOT_ID == model.Id);
foreach (var ctn in input.CtnList)
{
var newCtn = ctn.Adapt<BookingSlotCtn>();
newCtn.SLOT_ID = model.Id;
await _repCtn.InsertAsync(newCtn);
}
}
else
{
model = input.Adapt<BookingSlotBase>();
await _repBase.InsertAsync(model);
foreach (var ctn in input.CtnList)
{
var newCtn = ctn.Adapt<BookingSlotCtn>();
newCtn.SLOT_ID = model.Id;
await _repCtn.InsertAsync(newCtn);
}
}
return await Detail(model.Id);
}
/// <summary>
/// 删除订舱舱位
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost("/BookingSlot/delete")]
public async Task Delete(long id)
{
var entity = await _repBase.FirstOrDefaultAsync(u => u.Id == id);
entity.IsDeleted = true;
await _repBase.UpdateAsync(entity);
var ctns = await _repCtn.Where(x => x.SLOT_ID == id).ToListAsync();
foreach (var item in ctns)
{
item.IsDeleted = true;
}
await _repCtn.UpdateAsync(ctns);
}
/// <summary>
/// 获取订舱舱位
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("/BookingSlot/detail")]
public async Task<BookingSlotBaseSaveDto> Detail(long id)
{
var slotBase = await _repBase.FirstOrDefaultAsync(u => u.Id == id);
var ctns = await _repCtn.Where(x => x.SLOT_ID == id).ToListAsync();
var rtn = slotBase.Adapt<BookingSlotBaseSaveDto>();
rtn.CtnList = ctns.Adapt<List<BookingSlotCtnSaveInput>>();
return rtn;
}
#endregion
#region 库存
///// <summary>
///// 库存查询
///// </summary>
///// <param name="input"></param>
///// <returns></returns>
//[HttpGet("/BookingSlot/pageStock")]
//public async Task<dynamic> PageStock([FromQuery] BookingSlotBasePageInput input)
//{
// var query = await _repStock.AsQueryable()
// .ToListAsync();
//}
#endregion
}
}

@ -0,0 +1,280 @@
using Myshipping.Core;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Myshipping.Application.Service.BookingSlot.Dto
{
/// <summary>
/// 查询条件
/// </summary>
public class BookingSlotBasePageInput : PageInputBase
{
/// <summary>
/// 舱位提单号
/// </summary>
public string SLOT_BOOKING_NO { get; set; }
/// <summary>
/// 船名
/// </summary>
public string VESSEL { get; set; }
/// <summary>
/// 航次号
/// </summary>
public string VOYNO { get; set; }
/// <summary>
/// 预计开船日期起始
/// </summary>
public DateTime? ETD_START { get; set; }
/// <summary>
/// 预计开船日期截至
/// </summary>
public DateTime? ETD_END { get; set; }
/// <summary>
/// 预计到港日期起始
/// </summary>
public DateTime? ETA_START { get; set; }
/// <summary>
/// 预计到港日期截至
/// </summary>
public DateTime? ETA_END { get; set; }
/// <summary>
/// 装货港
/// </summary>
public string PORTLOAD { get; set; }
/// <summary>
/// 卸货港
/// </summary>
public string PORTDISCHARGE { get; set; }
/// <summary>
/// 船公司
/// </summary>
public string CARRIER { get; set; }
/// <summary>
/// 航线名称(船公司)
/// </summary>
public string LANENAME { get; set; }
/// <summary>
/// 承运方式 DIRECT_SHIP-直达TRANSFER_SHIP-中转
/// </summary>
public string CARRIAGE_TYPE { get; set; }
/// <summary>
/// 订舱方式 CONTRACT_ORDER-合约订舱SPOT_ORDER-SPOT订舱
/// </summary>
public string BOOKING_SLOT_TYPE { get; set; }
/// <summary>
/// 签单方式 ORIGINAL-正本TELEX-电放SEAWAY BILL-海运单;
/// </summary>
public string ISSUETYPE { get; set; }
/// <summary>
/// 箱型箱量
/// </summary>
public string CTN_STAT { get; set; }
/// <summary>
/// VGM回执
/// </summary>
public string VGM_RLT_STAT { get; set; }
/// <summary>
/// SI回执
/// </summary>
public string SI_RLT_STAT { get; set; }
}
/// <summary>
/// dto基类
/// </summary>
public class BookingSlotBaseDto
{
/// <summary>
/// Id
/// </summary>
public long Id { get; set; }
/// <summary>
/// 舱位提单号
/// </summary>
public string SLOT_BOOKING_NO { get; set; }
/// <summary>
/// 船名
/// </summary>
public string VESSEL { get; set; }
/// <summary>
/// 航次号
/// </summary>
public string VOYNO { get; set; }
/// <summary>
/// 合约号
/// </summary>
public string CONTRACT_NO { get; set; }
/// <summary>
/// 订舱方式 CONTRACT_ORDER-合约订舱SPOT_ORDER-SPOT订舱
/// </summary>
public string BOOKING_SLOT_TYPE { get; set; }
/// <summary>
/// 订舱方式名称 CONTRACT_ORDER-合约订舱SPOT_ORDER-SPOT订舱
/// </summary>
public string BOOKING_SLOT_TYPE_NAME { get; set; }
/// <summary>
/// 订舱抬头
/// </summary>
public string BOOKING_PARTY { get; set; }
/// <summary>
/// 船公司代号
/// </summary>
public string CARRIERID { get; set; }
/// <summary>
/// 船公司
/// </summary>
public string CARRIER { get; set; }
/// <summary>
/// 预计开船日期
/// </summary>
public DateTime? ETD { get; set; }
/// <summary>
/// 预计到港日期
/// </summary>
public DateTime? ETA { get; set; }
/// <summary>
/// 装货港代码
/// </summary>
public string PORTLOADID { get; set; }
/// <summary>
/// 装货港
/// </summary>
public string PORTLOAD { get; set; }
/// <summary>
/// 卸货港代码
/// </summary>
public string PORTDISCHARGEID { get; set; }
/// <summary>
/// 卸货港
/// </summary>
public string PORTDISCHARGE { get; set; }
/// <summary>
/// 中转港1
/// </summary>
public string TRANSFER_PORT_1 { get; set; }
/// <summary>
/// 中转港2
/// </summary>
public string TRANSFER_PORT_2 { get; set; }
/// <summary>
/// 航线代码(船公司)
/// </summary>
public string LANECODE { get; set; }
/// <summary>
/// 航线名称(船公司)
/// </summary>
public string LANENAME { get; set; }
/// <summary>
/// 所在周数
/// </summary>
public string WEEK_AT { get; set; }
/// <summary>
/// 箱型箱量
/// </summary>
public string CTN_STAT { get; set; }
/// <summary>
/// 样单截止日期
/// </summary>
public DateTime? SI_CUT_DATE { get; set; }
/// <summary>
/// 截港截止日期
/// </summary>
public DateTime? CY_CUT_DATE { get; set; }
/// <summary>
/// VGM截止日期
/// </summary>
public DateTime? VGM_SUBMISSION_CUT_DATE { get; set; }
/// <summary>
/// MDGF截止
/// </summary>
public DateTime? MDGF_CUT_DATE { get; set; }
/// <summary>
/// 舱单(入港)截止时间
/// </summary>
public DateTime? MANIFEST_CUT_DATE { get; set; }
}
/// <summary>
/// 保存舱位dto
/// </summary>
public class BookingSlotBaseSaveDto : BookingSlotBaseDto
{
/// <summary>
/// 舱位箱信息
/// </summary>
public List<BookingSlotCtnSaveInput> CtnList { get; set; }
}
public class BookingSlotBaseListOutput : BookingSlotBaseDto
{
/// <summary>
/// 创建时间
/// </summary>
public DateTime? CreatedTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime? UpdatedTime { get; set; }
/// <summary>
/// 创建者名称
/// </summary>
[MaxLength(20)]
public string CreatedUserName { get; set; }
/// <summary>
/// 修改者名称
/// </summary>
public string UpdatedUserName { get; set; }
}
}

@ -0,0 +1,90 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Myshipping.Application.Service.BookingSlot.Dto
{
public class BookingSlotCtnDto
{
/// <summary>
/// 箱型代码
/// </summary>
public string CTNCODE { get; set; }
/// <summary>
/// 箱型名称
/// </summary>
public string CTNALL { get; set; }
/// <summary>
/// 箱量
/// </summary>
public int CTNNUM { get; set; }
/// <summary>
/// 箱号
/// </summary>
public string CNTRNO { get; set; }
/// <summary>
/// 箱封号
/// </summary>
public string SEALNO { get; set; }
/// <summary>
/// 件数
/// </summary>
public int PKGS { get; set; }
/// <summary>
/// 包装
/// </summary>
public string KINDPKGS { get; set; }
/// <summary>
/// 毛重
/// </summary>
public decimal KGS { get; set; }
/// <summary>
/// 尺码
/// </summary>
public decimal CBM { get; set; }
/// <summary>
/// 皮重
/// </summary>
public decimal TAREWEIGHT { get; set; }
/// <summary>
/// 箱状态
/// </summary>
public string CTNSTATUS { get; set; }
/// <summary>
/// 称重方式
/// </summary>
public string WEIGHTYPE { get; set; }
/// <summary>
/// 称重重量
/// </summary>
public decimal WEIGHKGS { get; set; }
/// <summary>
/// 称重联系人
/// </summary>
public string WEIGHATTN { get; set; }
}
/// <summary>
/// 舱位箱信息保存
/// </summary>
public class BookingSlotCtnSaveInput : BookingSlotCtnDto
{
}
}
Loading…
Cancel
Save