booking_auth_dev
wet 2 years ago
parent fc72c183cf
commit 91e636be99

@ -35,5 +35,10 @@ namespace Myshipping.Application.Entity
/// 租户
/// </summary>
public string TenantName { get; set; }
/// <summary>
/// 附件模块
/// </summary>
public string Moudle { get; set; }
}
}

@ -2280,6 +2280,11 @@
租户
</summary>
</member>
<member name="P:Myshipping.Application.Entity.BookingFile.Moudle">
<summary>
附件模块
</summary>
</member>
<member name="T:Myshipping.Application.Entity.BookingLetteryard">
<summary>
下货纸
@ -5786,6 +5791,11 @@
付款方
</summary>
</member>
<member name="P:Myshipping.Application.BookingOrderDto.ParentId">
<summary>
主单id
</summary>
</member>
<member name="T:Myshipping.Application.BookingOrderInput">
<summary>
订舱主表输入参数

@ -127,7 +127,7 @@ namespace Myshipping.Application
public async Task<dynamic> Page([FromQuery] BookingOrderInput input)
{
List<long> userlist = await DataFilterExtensions.GetDataScopeIdList();
var entities = await _rep.AsQueryable()
var entities = await _rep.AsQueryable().Where(x => x.ParentId == 0)
.WhereIF(!string.IsNullOrWhiteSpace(input.BSSTATUS), u => u.BSSTATUS == input.BSSTATUS)
.WhereIF(!string.IsNullOrWhiteSpace(input.MBLNO), u => input.MBLNO.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Contains(u.MBLNO))
.WhereIF(!string.IsNullOrWhiteSpace(input.HBLNO), u => input.HBLNO.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Contains(u.HBLNO))
@ -262,7 +262,23 @@ namespace Myshipping.Application
[HttpPost("/BookingOrder/Add")]
public async Task Add(AddBookingOrderInput input)
{
if (input.ParentId == 0)
{
if (string.IsNullOrWhiteSpace(input.HBLNO))
{
throw Oops.Bah("主单不需要填写分单号");
}
}
else
{
if (string.IsNullOrWhiteSpace(input.MBLNO))
{
throw Oops.Bah("请填写主提单号");
}
}
JsonUtil.PropToUpper(input, "ORDNO", "BSSTATUS", "YardContract", "YardContractTel", "YardContractEmail");
JsonUtil.TrimFields(input);
if (input.ctnInputs != null)
@ -334,6 +350,20 @@ namespace Myshipping.Application
[HttpPost("/BookingOrder/Update")]
public async Task Update(UpdateBookingOrderInput input)
{
if (input.ParentId == 0)
{
if (string.IsNullOrWhiteSpace(input.HBLNO))
{
throw Oops.Bah("主单不需要填写分单号");
}
}
else
{
if (string.IsNullOrWhiteSpace(input.MBLNO))
{
throw Oops.Bah("请填写主提单号");
}
}
JsonUtil.PropToUpper(input, "ORDNO", "BSSTATUS", "YardContract", "YardContractTel", "YardContractEmail");
JsonUtil.TrimFields(input);
if (input.ctnInputs != null)
@ -451,6 +481,27 @@ namespace Myshipping.Application
};
}
}
List<BookingOrderDto> HbList = new List<BookingOrderDto>();
var _hblist = await _rep.AsQueryable().Where(x => x.ParentId == Id).ToListAsync();
if (_hblist != null)
{
HbList = _hblist.Adapt<List<BookingOrderDto>>();
foreach (var item in HbList)
{
var ctnlist = await _repCtn.AsQueryable().Where(x => x.BILLID == item.Id).ToListAsync();
var ctninput = ctnlist.Adapt<List<BookingCtnDto>>();
foreach (var it in ctninput)
{
var ctndetaillist = await _ctndetailrep.AsQueryable().Where(x => x.CTNID == it.Id).ToListAsync();
it.ctnDetailInputs = ctndetaillist.Adapt<List<BookingCtnDetailDto>>();
}
item.ctnInputs = ctninput;
}
ordOut.HbList = HbList;
}
return ordOut;
}
#endregion
@ -552,7 +603,7 @@ namespace Myshipping.Application
FilePath = fileRelaPath,
TypeCode = dto.TypeCode,
TypeName = dto.TypeName,
BookingId= dto.BookingId
BookingId = dto.BookingId
};
await _bookingfile.InsertAsync(newFile);
using (var stream = File.Create(fileAbsPath))
@ -604,10 +655,26 @@ namespace Myshipping.Application
[HttpGet("/BookingOrder/download")]
public async Task<IActionResult> Download(long id)
{
var file = await _bookingfile.FirstOrDefaultAsync(x => x.Id == id);
var filePath = Path.Combine(App.WebHostEnvironment.WebRootPath, file.FilePath);
var fileName = HttpUtility.UrlEncode(file.FileName, Encoding.GetEncoding("UTF-8"));
var result = new FileStreamResult(new FileStream(filePath, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
var printFile = await _bookingfile.FirstOrDefaultAsync(u => u.Id == id);
if (printFile == null)
{
throw Oops.Oh(BookingErrorCode.BOOK200);
}
var opt = App.GetOptions<BookingAttachOptions>();
var dirAbs = opt.basePath;
if (string.IsNullOrEmpty(dirAbs))
{
dirAbs = App.WebHostEnvironment.WebRootPath;
}
var fileFullPath = Path.Combine(dirAbs, printFile.FilePath);
if (!File.Exists(fileFullPath))
{
throw Oops.Oh(BookingErrorCode.BOOK115);
}
var fileName = HttpUtility.UrlEncode(printFile.FileName, Encoding.GetEncoding("UTF-8"));
var result = new FileStreamResult(new FileStream(fileFullPath, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
return result;
}
#endregion
@ -1708,12 +1775,12 @@ namespace Myshipping.Application
throw Oops.Oh($"货明细的包装{cargo.KINDPKGS}的EDI代码未找到");
cargoModel.KINDPKGS_EDI_CODE = ediDetailPkgs.MapCode;
primaryModel.CTNGOODSLIST.Add(cargoModel);
}
//这里临时赋值,等明确对应的扩展表字段后赋值
#if DEBUG
#if DEBUG
primaryModel.MasterBOLIndicator = "A1";
primaryModel.ConsigneeEdiCode = "CEE1";
primaryModel.ShipperEdiCode = "SHIP1";
@ -1732,9 +1799,9 @@ namespace Myshipping.Application
throw Oops.Bah(result.msg);
}
return result.extra.ToString();
}

@ -601,6 +601,11 @@ namespace Myshipping.Application
/// </summary>
public string FREIGHTPAYER { get; set; }
/// <summary>
/// 主单id
/// </summary>
public long ParentId { get; set; }
public List<BookingCtnDto> ctnInputs { get; set; }
}

@ -10,6 +10,8 @@ namespace Myshipping.Application
/// </summary>
public class BookingOrderInput : PageInputBase
{
/// <summary>
/// 业务编号
/// </summary>

@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
namespace Myshipping.Application
{
@ -7,6 +8,7 @@ namespace Myshipping.Application
/// </summary>
public class BookingOrderOutput : BookingOrderDto
{
public List<BookingOrderDto> HbList { get; set; }
public BookingOrderUrlOutput Link { get; set; }
}

Loading…
Cancel
Save