From 91e636be9919050fa7c4f9d40d1bf7fdf232acce Mon Sep 17 00:00:00 2001
From: wet <1034391973@qq.com>
Date: Fri, 18 Nov 2022 16:42:43 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=86=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Myshipping.Application/Entity/BookingFile.cs | 5 ++
.../Myshipping.Application.xml | 10 +++
.../BookingOrder/BookingOrderService.cs | 89 ++++++++++++++++---
.../BookingOrder/Dto/BookingOrderDto.cs | 5 ++
.../BookingOrder/Dto/BookingOrderInput.cs | 2 +
.../BookingOrder/Dto/BookingOrderOutput.cs | 2 +
6 files changed, 102 insertions(+), 11 deletions(-)
diff --git a/Myshipping.Application/Entity/BookingFile.cs b/Myshipping.Application/Entity/BookingFile.cs
index ef75fe4a..ba8f21a0 100644
--- a/Myshipping.Application/Entity/BookingFile.cs
+++ b/Myshipping.Application/Entity/BookingFile.cs
@@ -35,5 +35,10 @@ namespace Myshipping.Application.Entity
/// 租户
///
public string TenantName { get; set; }
+
+ ///
+ /// 附件模块
+ ///
+ public string Moudle { get; set; }
}
}
\ No newline at end of file
diff --git a/Myshipping.Application/Myshipping.Application.xml b/Myshipping.Application/Myshipping.Application.xml
index 6003f51d..ce19b1bb 100644
--- a/Myshipping.Application/Myshipping.Application.xml
+++ b/Myshipping.Application/Myshipping.Application.xml
@@ -2280,6 +2280,11 @@
租户
+
+
+ 附件模块
+
+
下货纸
@@ -5786,6 +5791,11 @@
付款方
+
+
+ 主单id
+
+
订舱主表输入参数
diff --git a/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs b/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs
index f4d77fff..a9d66ce9 100644
--- a/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs
+++ b/Myshipping.Application/Service/BookingOrder/BookingOrderService.cs
@@ -127,7 +127,7 @@ namespace Myshipping.Application
public async Task Page([FromQuery] BookingOrderInput input)
{
List 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 HbList = new List();
+ var _hblist = await _rep.AsQueryable().Where(x => x.ParentId == Id).ToListAsync();
+ if (_hblist != null)
+ {
+ HbList = _hblist.Adapt>();
+ foreach (var item in HbList)
+ {
+ var ctnlist = await _repCtn.AsQueryable().Where(x => x.BILLID == item.Id).ToListAsync();
+ var ctninput = ctnlist.Adapt>();
+ foreach (var it in ctninput)
+ {
+ var ctndetaillist = await _ctndetailrep.AsQueryable().Where(x => x.CTNID == it.Id).ToListAsync();
+ it.ctnDetailInputs = ctndetaillist.Adapt>();
+ }
+
+ 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 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();
+ 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();
}
diff --git a/Myshipping.Application/Service/BookingOrder/Dto/BookingOrderDto.cs b/Myshipping.Application/Service/BookingOrder/Dto/BookingOrderDto.cs
index e934217e..5caa8703 100644
--- a/Myshipping.Application/Service/BookingOrder/Dto/BookingOrderDto.cs
+++ b/Myshipping.Application/Service/BookingOrder/Dto/BookingOrderDto.cs
@@ -601,6 +601,11 @@ namespace Myshipping.Application
///
public string FREIGHTPAYER { get; set; }
+ ///
+ /// 主单id
+ ///
+ public long ParentId { get; set; }
+
public List ctnInputs { get; set; }
}
diff --git a/Myshipping.Application/Service/BookingOrder/Dto/BookingOrderInput.cs b/Myshipping.Application/Service/BookingOrder/Dto/BookingOrderInput.cs
index 94558f84..78d0a842 100644
--- a/Myshipping.Application/Service/BookingOrder/Dto/BookingOrderInput.cs
+++ b/Myshipping.Application/Service/BookingOrder/Dto/BookingOrderInput.cs
@@ -10,6 +10,8 @@ namespace Myshipping.Application
///
public class BookingOrderInput : PageInputBase
{
+
+
///
/// 业务编号
///
diff --git a/Myshipping.Application/Service/BookingOrder/Dto/BookingOrderOutput.cs b/Myshipping.Application/Service/BookingOrder/Dto/BookingOrderOutput.cs
index 8a416d36..3339ecbd 100644
--- a/Myshipping.Application/Service/BookingOrder/Dto/BookingOrderOutput.cs
+++ b/Myshipping.Application/Service/BookingOrder/Dto/BookingOrderOutput.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
namespace Myshipping.Application
{
@@ -7,6 +8,7 @@ namespace Myshipping.Application
///
public class BookingOrderOutput : BookingOrderDto
{
+ public List HbList { get; set; }
public BookingOrderUrlOutput Link { get; set; }
}