diff --git a/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs b/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs
index 5e2e9f5c..fe79e189 100644
--- a/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs
+++ b/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs
@@ -52,6 +52,12 @@ public static class MultiLanguageConst
[Description("程序异常")]
public const string ProgramException = "Program_Exception";
+ ///
+ /// 请选择数据
+ ///
+ [Description("请选择数据!")]
+ public const string DataNoSelect = "Data_No_Select";
+
#region 数据映射
[Description("场站映射信息已存在")]
public const string MappingYardExist = "MappingYard_Exist";
diff --git a/ds-wms-service/DS.Module.CrawlerData/CrawlerDataService.cs b/ds-wms-service/DS.Module.CrawlerData/CrawlerDataService.cs
index 51617cbb..b6e1b6bb 100644
--- a/ds-wms-service/DS.Module.CrawlerData/CrawlerDataService.cs
+++ b/ds-wms-service/DS.Module.CrawlerData/CrawlerDataService.cs
@@ -44,10 +44,10 @@ namespace DS.Module.CrawlerData
var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
var account = tenantDb.Queryable().Where(x => x.CustomerId == req.YardId && x.AccountType == "BillTrace").First();
- var userKey = db.Queryable().Where(x => x.Code == "spiderUserKeyBilltrace").WithCache().First().Value;
- var userSecret = db.Queryable().Where(x => x.Code == "spiderUserSecretBilltrace").WithCache().First().Value;
- var spiderServerUrl = db.Queryable().Where(x => x.Code == "spiderServerUrlBillTraceNew").WithCache().First().Value;
- var tenantName = db.Queryable().Filter(null, true).Where(x => x.Id == long.Parse(user.TenantId)).WithCache().First().Name;
+ var userKey = db.Queryable().Where(x => x.Code == "spiderUserKeyBilltrace").First().Value;
+ var userSecret = db.Queryable().Where(x => x.Code == "spiderUserSecretBilltrace").First().Value;
+ var spiderServerUrl = db.Queryable().Where(x => x.Code == "spiderServerUrlBillTraceNew").First().Value;
+ var tenantName = db.Queryable().Filter(null, true).Where(x => x.Id == long.Parse(user.TenantId)).First().Name;
if (account.IsNull())
{
return await Task.FromResult(DataResult.Failed("未配置出口运踪场站第三方账号信息!"));
diff --git a/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientInfoReq.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientInfoReq.cs
index 8db2db7a..deac0620 100644
--- a/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientInfoReq.cs
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientInfoReq.cs
@@ -303,7 +303,7 @@ public class ClientInfoReq
///
/// 审批时间
///
- public DateTime AuditTime { get; set; }
+ public DateTime? AuditTime { get; set; }
///
/// 审批意见
diff --git a/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientInfoRes.cs b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientInfoRes.cs
index 8d51244d..9240b619 100644
--- a/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientInfoRes.cs
+++ b/ds-wms-service/DS.WMS.Core/Info/Dtos/ClientInfoRes.cs
@@ -301,7 +301,7 @@ public class ClientInfoRes
///
/// 审批时间
///
- public DateTime AuditTime { get; set; }
+ public DateTime? AuditTime { get; set; }
///
/// 审批意见
diff --git a/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClient.cs b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClient.cs
index fa7c5a7b..f4c143ea 100644
--- a/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClient.cs
+++ b/ds-wms-service/DS.WMS.Core/Info/Entity/InfoClient.cs
@@ -363,8 +363,8 @@ public class InfoClient : BaseOrgModel
///
/// 审批时间
///
- [SugarColumn(ColumnDescription = "审批时间")]
- public DateTime AuditTime { get; set; }
+ [SugarColumn(ColumnDescription = "审批时间",IsNullable = true)]
+ public DateTime? AuditTime { get; set; }
///
/// 审批意见
///
diff --git a/ds-wms-service/DS.WMS.Core/Info/Method/ClientInfoService.cs b/ds-wms-service/DS.WMS.Core/Info/Method/ClientInfoService.cs
index dd4d9340..179193db 100644
--- a/ds-wms-service/DS.WMS.Core/Info/Method/ClientInfoService.cs
+++ b/ds-wms-service/DS.WMS.Core/Info/Method/ClientInfoService.cs
@@ -73,7 +73,7 @@ public class ClientInfoService : IClientInfoService
else
{
var info = tenantDb.Queryable().Where(x => x.Id == req.Id).First();
- var tag = tenantDb.Queryable().Where(x => x.Id == req.ClientTag.Id).First();
+ var tag = tenantDb.Queryable().Where(x => x.ClientId == req.Id).First();
info = req.Adapt(info);
tag = req.ClientTag.Adapt(tag);
diff --git a/ds-wms-service/DS.WMS.Core/Map/Dtos/MappingCtnRes.cs b/ds-wms-service/DS.WMS.Core/Map/Dtos/MappingCtnRes.cs
index e0e72a91..71d911bd 100644
--- a/ds-wms-service/DS.WMS.Core/Map/Dtos/MappingCtnRes.cs
+++ b/ds-wms-service/DS.WMS.Core/Map/Dtos/MappingCtnRes.cs
@@ -42,7 +42,14 @@ namespace DS.WMS.Core.Map.Dtos
/// 映射名称
///
public string MapName { get; set; }
-
+ ///
+ /// 箱型名称
+ ///
+ public string CtnName { get; set; }
+ ///
+ /// 船公司名称
+ ///
+ public string CarrierName { get; set; }
///
/// 船司Id
///
diff --git a/ds-wms-service/DS.WMS.Core/Map/Dtos/MappingYardRes.cs b/ds-wms-service/DS.WMS.Core/Map/Dtos/MappingYardRes.cs
index f495ebad..0cccaf8f 100644
--- a/ds-wms-service/DS.WMS.Core/Map/Dtos/MappingYardRes.cs
+++ b/ds-wms-service/DS.WMS.Core/Map/Dtos/MappingYardRes.cs
@@ -28,6 +28,15 @@ namespace DS.WMS.Core.Map.Dtos
///
public string Code { get; set; }
+
+ ///
+ /// 场站名称
+ ///
+ public string YardName { get; set; }
+ ///
+ /// 船公司名称
+ ///
+ public string CarrierName { get; set; }
///
/// 模块
///
diff --git a/ds-wms-service/DS.WMS.Core/Map/Method/MappingCtnService.cs b/ds-wms-service/DS.WMS.Core/Map/Method/MappingCtnService.cs
index b41df08d..29729350 100644
--- a/ds-wms-service/DS.WMS.Core/Map/Method/MappingCtnService.cs
+++ b/ds-wms-service/DS.WMS.Core/Map/Method/MappingCtnService.cs
@@ -19,6 +19,7 @@ using System.Threading.Tasks;
using Org.BouncyCastle.Ocsp;
using Mapster;
using DS.WMS.Core.Fee.Entity;
+using DS.WMS.Core.Code.Entity;
namespace DS.WMS.Core.Map.Method
{
@@ -99,7 +100,13 @@ namespace DS.WMS.Core.Map.Method
var whereList = db.ConfigQuery.Context.Utilities.JsonToConditionalModels(request.QueryCondition);
var data = tenantDb.Queryable()
.Where(whereList)
- .Select().ToQueryPage(request.PageCondition);
+ .Select()
+ .Mapper(it =>
+ {
+ it.CarrierName = tenantDb.Queryable().Where(x => x.Id == it.CarrierId).Select(n => n.ShortName).First();
+ it.CtnName = tenantDb.Queryable().Where(x => x.Id == it.LinkId).Select(n => n.CtnName).First();
+ }
+ ).ToQueryPage(request.PageCondition);
return data;
}
@@ -109,6 +116,12 @@ namespace DS.WMS.Core.Map.Method
var data = tenantDb.Queryable()
.Where(a => a.Id == long.Parse(id))
.Select()
+ .Mapper(it =>
+ {
+ it.CarrierName = tenantDb.Queryable().Where(x => x.Id == it.CarrierId).Select(n => n.ShortName).First();
+ it.CtnName = tenantDb.Queryable().Where(x => x.Id == it.LinkId).Select(n => n.CtnName).First();
+ }
+ )
.First();
return DataResult.Success(data, MultiLanguageConst.DataQuerySuccess);
}
diff --git a/ds-wms-service/DS.WMS.Core/Map/Method/MappingYardService.cs b/ds-wms-service/DS.WMS.Core/Map/Method/MappingYardService.cs
index 4f709b9c..af860a8e 100644
--- a/ds-wms-service/DS.WMS.Core/Map/Method/MappingYardService.cs
+++ b/ds-wms-service/DS.WMS.Core/Map/Method/MappingYardService.cs
@@ -99,7 +99,13 @@ namespace DS.WMS.Core.Map.Method
var whereList = db.ConfigQuery.Context.Utilities.JsonToConditionalModels(request.QueryCondition);
var data = tenantDb.Queryable()
.Where(whereList)
- .Select().ToQueryPage(request.PageCondition);
+ .Select()
+ .Mapper(it =>
+ {
+ it.CarrierName = tenantDb.Queryable().Where(x => x.Id == it.CarrierId).Select(n => n.ShortName).First();
+ it.YardName = tenantDb.Queryable().Where(x => x.Id == it.LinkId).Select(n => n.ShortName).First();
+ }
+ ).ToQueryPage(request.PageCondition);
return data;
}
@@ -109,6 +115,12 @@ namespace DS.WMS.Core.Map.Method
var data = tenantDb.Queryable()
.Where(a => a.Id == long.Parse(id))
.Select()
+ .Mapper(it =>
+ {
+ it.CarrierName = tenantDb.Queryable().Where(x => x.Id == it.CarrierId).Select(n=>n.ShortName).First();
+ it.YardName = tenantDb.Queryable().Where(x => x.Id == it.LinkId).Select(n => n.ShortName).First();
+ }
+ )
.First();
return DataResult.Success(data, MultiLanguageConst.DataQuerySuccess);
}
diff --git a/ds-wms-service/DS.WMS.Core/Op/Dtos/OpCtnDetailReq.cs b/ds-wms-service/DS.WMS.Core/Op/Dtos/OpCtnDetailReq.cs
new file mode 100644
index 00000000..a43676a4
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Op/Dtos/OpCtnDetailReq.cs
@@ -0,0 +1,79 @@
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DS.WMS.Core.Op.Dtos
+{
+ ///
+ /// 集装箱多品名信息请求
+ ///
+ public class OpCtnDetailReq
+ {
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// CtnId
+ ///
+ public long CtnId { get; set; }
+ ///
+ /// 件数
+ ///
+ public int? PKGS { get; set; }
+
+ ///
+ /// 毛重
+ ///
+ public decimal? KGS { get; set; }
+
+ ///
+ /// 尺码
+ ///
+ public decimal? CBM { get; set; }
+
+ ///
+ /// 包装 t_code_package
+ ///
+ public string KindPkgs { get; set; }
+
+ ///
+ /// 海关代码
+ ///
+ public string HSCode { get; set; }
+
+ ///
+ /// 唛头 N/M
+ ///
+ public string Marks
+ {
+ get; set;
+ }
+ ///
+ /// 货物描述
+ ///
+ public string Description
+ {
+ get; set;
+ }
+
+ }
+ ///
+ /// 批量编辑箱型多品名信息
+ ///
+ public class BatchEditCtnDetailReq {
+
+ ///
+ /// CtnId
+ ///
+ public long CtnId { get; set; }
+ ///
+ /// 明细
+ ///
+ public List Detail { get; set; }
+ }
+}
diff --git a/ds-wms-service/DS.WMS.Core/Op/Dtos/OpCtnDetailRes.cs b/ds-wms-service/DS.WMS.Core/Op/Dtos/OpCtnDetailRes.cs
new file mode 100644
index 00000000..92a7c426
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Op/Dtos/OpCtnDetailRes.cs
@@ -0,0 +1,74 @@
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DS.WMS.Core.Op.Dtos
+{
+ ///
+ /// 集装箱多品名信息返回
+ ///
+ public class OpCtnDetailRes
+ {
+ ///
+ /// 主键Id
+ ///
+ public long Id { get; set; }
+
+ ///
+ /// CtnId
+ ///
+ public long CtnId { get; set; }
+ ///
+ /// 件数
+ ///
+ public int? PKGS { get; set; }
+
+ ///
+ /// 毛重
+ ///
+ public decimal? KGS { get; set; }
+
+ ///
+ /// 尺码
+ ///
+ public decimal? CBM { get; set; }
+
+ ///
+ /// 包装 t_code_package
+ ///
+ public string KindPkgs { get; set; }
+
+ ///
+ /// 海关代码
+ ///
+ public string HSCode { get; set; }
+
+ ///
+ /// 唛头 N/M
+ ///
+ public string Marks
+ {
+ get; set;
+ }
+ ///
+ /// 货物描述
+ ///
+ public string Description
+ {
+ get; set;
+ }
+ ///
+ /// 备注
+ ///
+ public string Note { get; set; } = "";
+
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime CreateTime { get; set; }
+ }
+}
diff --git a/ds-wms-service/DS.WMS.Core/Op/Interface/IOpCtnServiceDetail.cs b/ds-wms-service/DS.WMS.Core/Op/Interface/IOpCtnServiceDetail.cs
new file mode 100644
index 00000000..5449307c
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Op/Interface/IOpCtnServiceDetail.cs
@@ -0,0 +1,41 @@
+using DS.Module.Core;
+using DS.Module.Core.Data;
+using DS.WMS.Core.Info.Dtos;
+using DS.WMS.Core.Op.Dtos;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DS.WMS.Core.Op.Interface
+{
+ ///
+ ///
+ ///
+ public interface IOpCtnDetailService
+ {
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ DataResult> GetListByPage(PageRequest request);
+
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ DataResult SaveOpCtnDetail(BatchEditCtnDetailReq req);
+
+
+ ///
+ /// 批量删除
+ ///
+ ///
+ ///
+ public DataResult BatchDelOpCtnDetail(IdModel req);
+ }
+}
diff --git a/ds-wms-service/DS.WMS.Core/Op/Method/OpCtnDetailService.cs b/ds-wms-service/DS.WMS.Core/Op/Method/OpCtnDetailService.cs
new file mode 100644
index 00000000..5b0ea6a8
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/Op/Method/OpCtnDetailService.cs
@@ -0,0 +1,87 @@
+using DS.Module.Core;
+using DS.Module.Core.Data;
+using DS.Module.SqlSugar;
+using DS.Module.UserModule;
+using DS.WMS.Core.Op.Dtos;
+using DS.WMS.Core.Op.Entity;
+using DS.WMS.Core.Op.Interface;
+using Microsoft.Extensions.DependencyInjection;
+using SqlSugar;
+using DS.Module.Core.Extensions;
+using AngleSharp.Dom;
+using Mapster;
+
+namespace DS.WMS.Core.Op.Method
+{
+ public class OpCtnDetailService : IOpCtnDetailService
+ {
+ private readonly IServiceProvider _serviceProvider;
+ private readonly ISqlSugarClient db;
+ private readonly IUser user;
+ private readonly ISaasDbService saasService;
+ ///
+ ///
+ ///
+ ///
+ public OpCtnDetailService(IServiceProvider serviceProvider)
+ {
+ _serviceProvider = serviceProvider;
+ db = _serviceProvider.GetRequiredService();
+ user = _serviceProvider.GetRequiredService();
+ saasService = _serviceProvider.GetRequiredService();
+ }
+
+ public DataResult BatchDelOpCtnDetail(IdModel req)
+ {
+ var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
+ var list = tenantDb.Queryable().Where(x => req.Ids.Contains(x.Id)).ToList();
+ if (list.Count > 0)
+ {
+ tenantDb.Deleteable(list).ExecuteCommand();
+ }
+ return DataResult.Successed("删除成功!", MultiLanguageConst.DataDelSuccess);
+ }
+
+ public DataResult SaveOpCtnDetail(BatchEditCtnDetailReq req)
+ {
+ var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
+ if (req.Detail.Count > 0)
+ {
+ var ctnDetails = tenantDb.Queryable().Where(x => x.CtnId == req.CtnId).ToList();
+ foreach (var item in req.Detail)
+ {
+ if (item.Id == 0)
+ {
+ var detail = item.Adapt();
+ detail.CtnId = req.CtnId;
+ tenantDb.Insertable(detail).ExecuteCommand();
+ }
+ else
+ {
+ var detail = ctnDetails.First(x => x.Id == item.Id);
+ detail = item.Adapt(detail);
+ tenantDb.Updateable(detail).ExecuteCommand();
+ }
+
+ }
+ return DataResult.Successed("更新成功!", MultiLanguageConst.DataUpdateSuccess);
+ }
+ else
+ {
+
+ return DataResult.Failed("请选择数据!", MultiLanguageConst.DataNoSelect);
+ }
+ }
+
+ public DataResult> GetListByPage(PageRequest request)
+ {
+ var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
+ //序列化查询条件
+ var whereList = db.ConfigQuery.Context.Utilities.JsonToConditionalModels(request.QueryCondition);
+ var data = tenantDb.Queryable()
+ .Where(whereList)
+ .Select().ToQueryPage(request.PageCondition);
+ return data;
+ }
+ }
+}
diff --git a/ds-wms-service/DS.WMS.Core/Op/Method/OpCtnService.cs b/ds-wms-service/DS.WMS.Core/Op/Method/OpCtnService.cs
index 3351651a..dc5c3d1d 100644
--- a/ds-wms-service/DS.WMS.Core/Op/Method/OpCtnService.cs
+++ b/ds-wms-service/DS.WMS.Core/Op/Method/OpCtnService.cs
@@ -115,7 +115,6 @@ namespace DS.WMS.Core.Op.Method
{
var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
var list = tenantDb.Queryable().Where(x => req.Ids.Contains(x.Id)).ToList();
- ;
if (list.Count > 0)
{
tenantDb.Deleteable(list).ExecuteCommand();
diff --git a/ds-wms-service/DS.WMS.Core/Op/Method/SeaExportService.cs b/ds-wms-service/DS.WMS.Core/Op/Method/SeaExportService.cs
index 78f7cd84..4cf46424 100644
--- a/ds-wms-service/DS.WMS.Core/Op/Method/SeaExportService.cs
+++ b/ds-wms-service/DS.WMS.Core/Op/Method/SeaExportService.cs
@@ -512,8 +512,8 @@ public class SeaExportService : ISeaExportService
// throw Oops.Bah(rtn.Value);
//}
//场站引入的数据,转换为订舱箱型,且带上箱型代码
- var ctnList = tenantDb.Queryable().Where(x => x.Status == StatusEnum.Enable).WithCache().ToList();
- var mapCtn = tenantDb.Queryable().Where(x => x.Status == StatusEnum.Enable).WithCache().ToList();
+ var ctnList = tenantDb.Queryable().Where(x => x.Status == StatusEnum.Enable).ToList();
+ var mapCtn = tenantDb.Queryable().Where(x => x.Status == StatusEnum.Enable).ToList();
var listRtn = JsonConvert.DeserializeObject>(rtn.Data);
@@ -554,10 +554,10 @@ public class SeaExportService : ISeaExportService
var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
var account = tenantDb.Queryable().Where(x => x.CustomerId == req.YardId && x.AccountType == "BillTrace").First();
- var userKey = db.Queryable().Where(x => x.Code == "spiderUserKeyBilltrace").WithCache().First().Value;
- var userSecret = db.Queryable().Where(x => x.Code == "spiderUserSecretBilltrace").WithCache().First().Value;
- var spiderServerUrl = db.Queryable().Where(x => x.Code == "spiderServerUrlBillTraceNew").WithCache().First().Value;
- var tenantName = db.Queryable().Filter(null, true).Where(x => x.Id == long.Parse(user.TenantId)).WithCache().First().Name;
+ var userKey = db.Queryable().Where(x => x.Code == "spiderUserKeyBilltrace").First().Value;
+ var userSecret = db.Queryable().Where(x => x.Code == "spiderUserSecretBilltrace").First().Value;
+ var spiderServerUrl = db.Queryable().Where(x => x.Code == "spiderServerUrlBillTraceNew").First().Value;
+ var tenantName = db.Queryable().Filter(null, true).Where(x => x.Id == long.Parse(user.TenantId)).First().Name;
if (account.IsNull())
{
return await Task.FromResult(DataResult.Failed("未配置出口运踪场站第三方账号信息!"));
diff --git a/ds-wms-service/DS.WMS.MainApi/Logs/internal-nlog.txt b/ds-wms-service/DS.WMS.MainApi/Logs/internal-nlog.txt
index f250b60a..1f952016 100644
--- a/ds-wms-service/DS.WMS.MainApi/Logs/internal-nlog.txt
+++ b/ds-wms-service/DS.WMS.MainApi/Logs/internal-nlog.txt
@@ -1279,3 +1279,24 @@
2024-04-28 17:04:22.8626 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\ds8-solution\ds-wms-service\DS.WMS.MainApi\bin\Debug\net8.0\nlog.config
2024-04-28 17:04:22.8762 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
2024-04-28 17:04:22.9041 Info Configuration initialized.
+2024-05-09 14:20:00.8841 Info Registered target NLog.Targets.FileTarget(Name=allfile)
+2024-05-09 14:20:00.9615 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
+2024-05-09 14:20:00.9821 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
+2024-05-09 14:20:01.0194 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
+2024-05-09 14:20:01.0448 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\ds8-solution\ds-wms-service\DS.WMS.MainApi\bin\Debug\net8.0\nlog.config
+2024-05-09 14:20:01.0617 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
+2024-05-09 14:20:01.0898 Info Configuration initialized.
+2024-05-09 14:27:34.1708 Info Registered target NLog.Targets.FileTarget(Name=allfile)
+2024-05-09 14:27:34.1916 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
+2024-05-09 14:27:34.1975 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
+2024-05-09 14:27:34.2127 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
+2024-05-09 14:27:34.2127 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\ds8-solution\ds-wms-service\DS.WMS.MainApi\bin\Debug\net8.0\nlog.config
+2024-05-09 14:27:34.2313 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
+2024-05-09 14:27:34.2474 Info Configuration initialized.
+2024-05-09 16:03:34.3290 Info Registered target NLog.Targets.FileTarget(Name=allfile)
+2024-05-09 16:03:34.3981 Info Registered target NLog.Targets.FileTarget(Name=ownFile-web)
+2024-05-09 16:03:34.4227 Info Registered target NLog.Targets.ColoredConsoleTarget(Name=console)
+2024-05-09 16:03:34.6103 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.2.8.2366. Product version: 5.2.8+f586f1341c46fa38aaaff4c641e7f0fa7e813943. GlobalAssemblyCache: False
+2024-05-09 16:03:34.6576 Info Validating config: TargetNames=console, ownFile-web, ConfigItems=54, FilePath=D:\Code\DS\ds8-solution\ds-wms-service\DS.WMS.MainApi\bin\Debug\net8.0\nlog.config
+2024-05-09 16:03:34.6817 Warn Unused target detected. Add a rule for this target to the configuration. TargetName: allfile
+2024-05-09 16:03:34.7177 Info Configuration initialized.
diff --git a/ds-wms-service/DS.WMS.OpApi/Controllers/OpCtnDetailController.cs b/ds-wms-service/DS.WMS.OpApi/Controllers/OpCtnDetailController.cs
new file mode 100644
index 00000000..99679280
--- /dev/null
+++ b/ds-wms-service/DS.WMS.OpApi/Controllers/OpCtnDetailController.cs
@@ -0,0 +1,66 @@
+using DS.Module.Core;
+using DS.Module.Core.Data;
+using DS.WMS.Core.Code.Dtos;
+using DS.WMS.Core.Code.Interface;
+using DS.WMS.Core.Op.Dtos;
+using DS.WMS.Core.Op.Interface;
+using Microsoft.AspNetCore.Mvc;
+
+namespace DS.WMS.OpApi.Controllers;
+
+///
+/// 集装箱多品名 服务
+///
+public class OpCtnDetailController : ApiController
+{
+ private readonly IOpCtnDetailService _invokeService;
+
+ ///
+ /// 构造函数
+ ///
+ ///
+ public OpCtnDetailController(IOpCtnDetailService invokeService)
+ {
+ _invokeService = invokeService;
+ }
+
+ ///
+ /// 列表
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("GetOpCtnDetailList")]
+ public DataResult> GetOpCtnDetailList([FromBody] PageRequest request)
+ {
+ var res = _invokeService.GetListByPage(request);
+ return res;
+ }
+
+ ///
+ /// 编辑
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("SaveOpCtnDetail")]
+ public DataResult SaveOpCtnDetail([FromBody] BatchEditCtnDetailReq req)
+ {
+ var res = _invokeService.SaveOpCtnDetail(req);
+ return res;
+ }
+
+
+ ///
+ /// 批量删除
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Route("BatchDelOpCtnDetail")]
+ public DataResult BatchDelOpCtnDetail([FromBody] IdModel req)
+ {
+ var res = _invokeService.BatchDelOpCtnDetail(req);
+ return res;
+ }
+}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.OpApi/Program.cs b/ds-wms-service/DS.WMS.OpApi/Program.cs
index 006c8429..669cb6ea 100644
--- a/ds-wms-service/DS.WMS.OpApi/Program.cs
+++ b/ds-wms-service/DS.WMS.OpApi/Program.cs
@@ -10,7 +10,6 @@ using DS.Module.MultiLanguage;
using DS.Module.SqlSugar;
using DS.Module.Swagger;
using DS.Module.UserModule;
-using DS.Module.CrawlerData;
using NLog.Web;
using Swashbuckle.AspNetCore.SwaggerUI;