zhangxiaofeng 4 months ago
commit 62d2570a5a

@ -481,6 +481,9 @@ public static class MultiLanguageConst
[Description("海运出口规则引擎校验完成!")]
public const string SeaExportRuleEngineFinished = "Sea_Export_RuleEngine_Finished";
[Description("订舱货物状态已存在")]
public const string BookingGoodsStatusConfigExist = "Booking_Goods_Status_Config_Exist";
[Description("舱单分票件数合计超出限制")]
public const string SeaExportPartCtnPKGSLimit = "Sea_Export_PartCtn_PKGS_Limit";
@ -1392,6 +1395,13 @@ public static class MultiLanguageConst
[Description("导入失败")]
public const string BookingSlotImportFail = "BookingSlot_Import_Fail";
/// <summary>
/// 作废成功
/// </summary>
[Description("作废成功")]
public const string BookingSlotDeleteSucc = "BookingSlot_DeleteSucc";
#endregion
#region 关联任务

@ -253,5 +253,11 @@ namespace DS.Module.Core
/// </summary>
[Description("发票申请")]
InvoiceApplication,
/// <summary>
/// 海运出口
/// </summary>
[Description("海运出口")]
SeaExport,
}
}

@ -2,6 +2,6 @@
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ActiveDebugProfile>https</ActiveDebugProfile>
<NameOfLastUsedPublishProfile>D:\Code\DS\ds8-solution-pro\ds-wms-service\DS.WMS.AdminApi\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
<NameOfLastUsedPublishProfile>D:\Source\Repos\DS8\ds-wms-service\DS.WMS.AdminApi\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
</PropertyGroup>
</Project>

@ -16,7 +16,7 @@ namespace DS.WMS.Core.Application.Method
public class ApplicationAuditService<TEntity> : FeeServiceBase, IApplicationAuditService<TEntity>
where TEntity : ApplicationForm, new()
{
internal static readonly string[] AuditTypes = [AuditType.PaidApplication.ToString()];
internal static readonly AuditType[] AuditTypes = [AuditType.PaidApplication];
readonly IClientFlowInstanceService flowService;
/// <summary>

@ -125,7 +125,7 @@ namespace DS.WMS.Core.Application.Method
protected override async Task OnUpdateStatusAsync(FlowCallback callback, InvoiceApplication application)
{
var auditType = callback.AuditType.ToEnum<AuditType>();
var auditType = callback.Type;
if (auditType != AuditType.PaidApplication)
return;

@ -333,7 +333,7 @@ namespace DS.WMS.Core.Application.Method
protected override async Task OnUpdateStatusAsync(FlowCallback callback, PaymentApplication application)
{
var auditType = callback.AuditType.ToEnum<AuditType>();
var auditType = callback.Type;
if (auditType != AuditType.PaidApplication)
return;

@ -29,7 +29,7 @@ namespace DS.WMS.Core.Fee.Method
public static readonly FeeStatus[] AuditStatusArray = [FeeStatus.AuditSubmitted, FeeStatus.ApplyDeletion, FeeStatus.ApplyModification];
//一键审核支持的类型
static readonly string[] AuditTypes = [AuditType.FeeAudit.ToString(), AuditType.FeeModify.ToString(), AuditType.FeeDelete.ToString()];
static readonly AuditType[] AuditTypes = [AuditType.FeeAudit, AuditType.FeeModify, AuditType.FeeDelete];
readonly IClientFlowInstanceService flowService;
readonly IFeeRecordService feeService;
@ -191,7 +191,7 @@ namespace DS.WMS.Core.Fee.Method
List<FlowInstance> flowList = null;
if (string.Equals(request.OtherQueryCondition, Audit_Only))
{
flowList = await GetCurrentFlowsQuery([AuditType.FeeBusiness.ToString()])
flowList = await GetCurrentFlowsQuery([AuditType.FeeBusiness])
.Select(x => new FlowInstance { BusinessId = x.BusinessId, BusinessType = x.BusinessType }).ToListAsync();
//没有待审批的列表直接返回不再执行后续查询
@ -588,8 +588,7 @@ namespace DS.WMS.Core.Fee.Method
return DataResult.Failed(MultiLanguageConst.BusinessAuditStatusError);
var fIdArr = bizList.Select(x => x.FlowId).ToArray();
string auditType = AuditType.FeeBusiness.ToString();
var flows = await Db.Queryable<FlowInstance>().Where(x => fIdArr.Contains(x.Id) && x.AuditType == auditType).ToListAsync();
var flows = await Db.Queryable<FlowInstance>().Where(x => fIdArr.Contains(x.Id) && x.Type == AuditType.FeeBusiness).ToListAsync();
if (flows.Count == 0)
return DataResult.Failed(MultiLanguageConst.FlowNotFound);
@ -639,7 +638,7 @@ namespace DS.WMS.Core.Fee.Method
/// <returns></returns>
public async Task<DataResult> UpdateStatusAsync(FlowCallback callback)
{
var auditType = callback.AuditType.ToEnum<AuditType>();
var auditType = callback.Type;
FeeRecord fee = null;
BusinessFeeStatus biz = null;
if (auditType == AuditType.FeeBusiness)

@ -242,11 +242,9 @@ namespace DS.WMS.Core.Fee.Method
/// </summary>
/// <param name="auditType">审批类型</param>
/// <returns></returns>
protected async Task<FlowTemplateTenant> FindTemplateAsync(AuditType auditType)
protected internal async Task<FlowTemplateTenant> FindTemplateAsync(AuditType auditType)
{
string typeStr = auditType.ToString();
return await Db.Queryable<FlowTemplateTenant>().FirstAsync(x =>
x.Status == StatusEnum.Enable && x.AuditType == typeStr);
return await Db.Queryable<FlowTemplateTenant>().FirstAsync(x => x.Status == StatusEnum.Enable && x.AuditType == auditType);
}
/// <summary>
@ -254,7 +252,7 @@ namespace DS.WMS.Core.Fee.Method
/// </summary>
/// <param name="items"></param>
/// <returns></returns>
protected async Task FetchExchangeRateAsync(IEnumerable<FeeRecord> items)
protected internal async Task FetchExchangeRateAsync(IEnumerable<FeeRecord> items)
{
var exRecords = items.Where(x => !x.ExchangeRate.HasValue && x.Currency != x.LocalCurrency).ToList();
if (exRecords.Count > 0)
@ -287,10 +285,10 @@ namespace DS.WMS.Core.Fee.Method
/// </summary>
/// <param name="auditTypes">审核类型</param>
/// <returns></returns>
protected ISugarQueryable<FlowInstance> GetCurrentFlowsQuery(string[] auditTypes)
protected ISugarQueryable<FlowInstance> GetCurrentFlowsQuery(AuditType[] auditTypes)
{
return Db.Queryable<FlowInstance>().Where(x => x.FlowStatus == FlowStatusEnum.Running
&& SqlFunc.SplitIn(x.MakerList, User.UserId) && auditTypes.Contains(x.AuditType))
&& SqlFunc.SplitIn(x.MakerList, User.UserId) && auditTypes.Contains(x.Type.Value))
.Select(x => new FlowInstance { Id = x.Id, BusinessId = x.BusinessId, BusinessType = x.BusinessType });
}
}

@ -24,9 +24,9 @@ namespace DS.WMS.Core.Flow.Dtos
public BusinessType? BusinessType { get; set; }
/// <summary>
/// 审核类型
/// 工作流类型
/// </summary>
public string AuditType { get; set; }
public AuditType? Type { get; set; }
/// <summary>
/// 审核状态

@ -17,6 +17,9 @@ public class FlowInstance : BaseTenantModel<long>
[Description("业务Id")]
public long BusinessId { get; set; }
/// <summary>
/// 业务类型
/// </summary>
[Description("业务类型")]
public BusinessType? BusinessType { get; set; }
@ -89,10 +92,10 @@ public class FlowInstance : BaseTenantModel<long>
public string? CallbackURL { get; set; }
/// <summary>
/// 审批类型
/// 工作流类型
/// </summary>
[SugarColumn(ColumnDescription = "审批类型", IsNullable = true, Length = 50)]
public string AuditType { get; set; }
[SugarColumn(ColumnDescription = "工作流类型", IsNullable = true, Length = 50)]
public AuditType? Type { get; set; }
/// <summary>
/// 是否已执行回调

@ -55,5 +55,5 @@ public class FlowTemplate : BaseModel<long>
/// 审批类型
/// </summary>
[SugarColumn(ColumnDescription = "审批类型", IsNullable = true, Length = 50)]
public string AuditType { get; set; }
public AuditType? AuditType { get; set; }
}

@ -55,5 +55,5 @@ public class FlowTemplateTenant : BaseTenantModel<long>
/// 审批类型
/// </summary>
[SugarColumn(ColumnDescription = "审批类型", IsNullable = true, Length = 50)]
public string AuditType { get; set; }
public AuditType? AuditType { get; set; }
}

@ -40,7 +40,7 @@ public class ClientFlowInstanceService : FlowInstanceService, IClientFlowInstanc
ColumnView = template.ColumnView,
Content = template.Content,
CallbackURL = template.CallbackURL,
AuditType = template.AuditType
Type = template.AuditType
};
}
@ -88,7 +88,7 @@ public class ClientFlowInstanceService : FlowInstanceService, IClientFlowInstanc
{
Id = x.Id,
Content = x.Content,
AuditType = x.AuditType,
Type = x.Type,
//CreateBy = x.CreateBy,
//CreateTime = x.CreateTime
}).ToList();

@ -95,7 +95,7 @@ public class FlowInstanceService : IFlowInstanceService
ColumnView = template.ColumnView,
Content = template.Content,
CallbackURL = template.CallbackURL,
AuditType = template.AuditType
Type = template.AuditType
};
}
@ -435,8 +435,8 @@ public class FlowInstanceService : IFlowInstanceService
InstanceId = instance.Id,
BusinessId = instance.BusinessId,
BusinessType = instance.BusinessType,
AuditType = instance.AuditType,
FlowStatus = (FlowStatusEnum)instance.FlowStatus,
Type = instance.Type,
FlowStatus = instance.FlowStatus,
RejectReason = instance.Note
};

@ -1,5 +1,6 @@
using DS.Module.Core;
using FluentValidation;
using SqlSugar;
namespace DS.WMS.Core.Info.Dtos;
@ -114,6 +115,14 @@ public class ClientContactReq
/// </summary>
public string AnniversaryNote2 { get; set; }
/// <summary>
/// 船公司Id
/// </summary>
public long CarrierId { get; set; } = 0;
/// <summary>
/// 船公司
/// </summary>
public string Carrier { get; set; }
/// <summary>
/// 状态 0 启用 1 禁用
/// </summary>

@ -112,7 +112,14 @@ public class ClientContactRes
/// 提醒备注2
/// </summary>
public string AnniversaryNote2 { get; set; }
/// <summary>
/// 船公司Id
/// </summary>
public long CarrierId { get; set; }
/// <summary>
/// 船公司
/// </summary>
public string Carrier { get; set; }
/// <summary>
/// 状态 0 启用 1 禁用
/// </summary>

@ -136,4 +136,16 @@ public class InfoClientContact : BaseOrgModel<long>
/// </summary>
[SugarColumn(ColumnDescription = "状态",DefaultValue = "0")]
public StatusEnum? Status { get; set; } = StatusEnum.Enable;
/// <summary>
/// 船公司Id
/// </summary>
[SugarColumn(ColumnDescription = "船公司Id", IsNullable = true, DefaultValue = "0")]
public long CarrierId { get; set; }
/// <summary>
/// 船公司
/// </summary>
[SugarColumn(ColumnDescription = "船公司", IsNullable = true, Length = 100)]
public string Carrier { get; set; }
}

@ -10,7 +10,7 @@ using System.Threading.Tasks;
namespace DS.WMS.Core.Op.Dtos
{
/// <summary>
///
/// 订舱货物状态管理
/// </summary>
public class BookingGoodsStatusConfigReq
{
@ -27,7 +27,10 @@ namespace DS.WMS.Core.Op.Dtos
/// 状态名称
/// </summary>
public string StatusName { get; set; }
/// <summary>
/// 状态颜色
/// </summary>
public string StatusColor { get; set; }
/// <summary>
/// 排序
/// </summary>

@ -26,6 +26,10 @@ namespace DS.WMS.Core.Op.Dtos
/// 状态名称
/// </summary>
public string StatusName { get; set; }
/// <summary>
/// 状态颜色
/// </summary>
public string StatusColor { get; set; }
/// <summary>
/// 排序

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DS.WMS.Core.Op.Dtos
{
/// <summary>
/// 订舱货物状态管理导入实体
/// </summary>
public class BookingStatusConfigExcelReq
{
/// <summary>
/// 系统编码
/// </summary>
public string SystemCode { get; set; }
/// <summary>
/// 状态名称
/// </summary>
public string StatusName { get; set; }
/// <summary>
/// 状态颜色
/// </summary>
public string StatusColor { get; set; }
/// <summary>
/// 排序
/// </summary>
public int? OrderNo { get; set; } = 100;
/// <summary>
/// 备注
/// </summary>
public string Note { get; set; } = "";
}
}

@ -25,7 +25,11 @@ namespace DS.WMS.Core.Op.Entity
/// </summary>
[SqlSugar.SugarColumn(ColumnDescription = "状态名称", IsNullable = false, Length = 100)]
public string StatusName { get; set; }
/// <summary>
/// 状态颜色
/// </summary>
[SqlSugar.SugarColumn(ColumnDescription = "状态颜色", IsNullable = false, Length = 100)]
public string StatusColor { get; set; }
/// <summary>
/// 排序
/// </summary>

@ -9,22 +9,28 @@ namespace DS.WMS.Core.Op.Entity.TaskInteraction
[SugarTable("business_task", "业务任务交互表")]
public class BusinessTask
{
/// <summary>
/// ID
/// </summary>
[SugarColumn(IsPrimaryKey = true)]
public long Id { get; set; }
/// <summary>
/// 业务ID
/// </summary>
[SugarColumn(ColumnDescription = "业务ID", IsPrimaryKey = true, IsNullable = false)]
[SugarColumn(ColumnDescription = "业务ID", IsNullable = false)]
public long BusinessId { get; set; }
/// <summary>
/// 业务类型
/// </summary>
[SugarColumn(ColumnDescription = "业务类型", IsPrimaryKey = true, IsNullable = false)]
[SugarColumn(ColumnDescription = "业务类型", IsNullable = false)]
public BusinessType BusinessType { get; set; }
/// <summary>
/// 任务类型
/// </summary>
[SugarColumn(ColumnDescription = "任务类型", IsPrimaryKey = true, IsNullable = false)]
[SugarColumn(ColumnDescription = "任务类型", IsNullable = false)]
public TaskBaseTypeEnum TaskType { get; set; }
/// <summary>
@ -40,9 +46,9 @@ namespace DS.WMS.Core.Op.Entity.TaskInteraction
public TaskBaseTypeEnum? NextType { get; set; }
/// <summary>
/// 当前工作流ID
/// 工作流ID
/// </summary>
[SugarColumn(ColumnDescription = "当前工作流ID", IsNullable = true)]
[SugarColumn(ColumnDescription = "工作流ID", IsNullable = true)]
public long? FlowId { get; set; }
/// <summary>

@ -172,7 +172,7 @@ namespace DS.WMS.Core.Op.Interface
/// <param name="bcTargetDto">新舱位详情</param>
/// <param name="slotId">舱位ID</param>
/// <returns></returns>
Task<DataResult<string>> MeasureDiffCautionTask(ParserBCInfoDto bcSrcDto, ParserBCInfoDto bcTargetDto, long slotId);
Task<DataResult> MeasureDiffCautionTask(ParserBCInfoDto bcSrcDto, ParserBCInfoDto bcTargetDto, long slotId);
/// <summary>
/// 订舱编号检索舱位信息
@ -180,7 +180,7 @@ namespace DS.WMS.Core.Op.Interface
/// <param name="slotBookingNo">订舱编号</param>
/// <param name="CarrierId">船公司ID</param>
/// <returns></returns>
Task<long> QueryBookingSlot(string slotBookingNo, string CarrierId);
Task<DataResult<long>> QueryBookingSlot(string slotBookingNo, string CarrierId);
/// <summary>
/// 获取舱位详情列表
@ -194,14 +194,14 @@ namespace DS.WMS.Core.Op.Interface
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
Task<BookingSlotMergeResultDto> GetMergeList(QueryMergeSlotDto model);
Task<DataResult<BookingSlotMergeResultDto>> GetMergeList(QueryMergeSlotDto model);
/// <summary>
/// 生成合票订舱订单
/// </summary>
/// <param name="model">生成订舱订单请求</param>
/// <returns>返回回执</returns>
Task<TaskManageOrderResultDto> MergeCreateBookingOrder(BookingGenerateDto model);
Task<DataResult<TaskManageOrderResultDto>> MergeCreateBookingOrder(BookingGenerateDto model);
/// <summary>
/// 导出舱位为Excel
@ -209,5 +209,12 @@ namespace DS.WMS.Core.Op.Interface
/// <param name="input">请求参数</param>
/// <returns></returns>
Task<DataResult<string>> ExportOrder(BookingSlotBasePageInput input);
/// <summary>
/// 作废舱位(可以批量)
/// </summary>
/// <param name="ids">舱位主键数组</param>
/// <returns>返回回执</returns>
Task<DataResult> Delete(long[] ids);
}
}

@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
namespace DS.WMS.Core.Op.Interface
{
@ -33,17 +34,18 @@ namespace DS.WMS.Core.Op.Interface
/// <returns></returns>
DataResult<BookingGoodsStatusConfigRes> GetBookingGoodsStatusConfigInfo(string id);
///// <summary>
///// 删除
///// </summary>
///// <param name="id"></param>
///// <returns></returns>
//public DataResult DelBookingStatusConfig(string id);
///// <summary>
///// 批量删除
///// </summary>
///// <param name="req"></param>
///// <returns></returns>
//public DataResult BatchDelBookingStatusConfig(IdModel req);
/// <summary>
/// 批量删除
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public DataResult BatchDelBookingStatusConfig(IdModel req);
/// <summary>
/// 按Excel导入订舱货物状态
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
public Task<DataResult<string>> ImportBookingStatusConfigByExcel(IFormFile file);
}
}

@ -9,6 +9,13 @@ using SqlSugar;
using DS.Module.Core.Extensions;
using Mapster;
using Org.BouncyCastle.Ocsp;
using DS.WMS.Core.Code.Entity;
using DS.Module.Core.Data;
using DS.WMS.Core.Sys.Dtos;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using DS.WMS.Core.Check.Dtos;
using MiniExcelLibs;
namespace DS.WMS.Core.Op.Method
{
@ -38,6 +45,10 @@ namespace DS.WMS.Core.Op.Method
var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
if (req.Id == 0)
{
if (tenantDb.Queryable<BookingGoodsStatusConfig>().Where(x => x.SystemCode == req.SystemCode.Trim()).Any())
{
return DataResult.Failed("订舱货物状态已存在!", MultiLanguageConst.BookingGoodsStatusConfigExist);
}
var data = req.Adapt<BookingGoodsStatusConfig>();
var entity = tenantDb.Insertable(data).ExecuteReturnEntity();
@ -75,5 +86,67 @@ namespace DS.WMS.Core.Op.Method
.Select<BookingGoodsStatusConfigRes>().ToQueryPage(request.PageCondition);
return data;
}
/// <summary>
///
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
public DataResult BatchDelBookingStatusConfig(IdModel req)
{
var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
var list = tenantDb.Queryable<BookingGoodsStatusConfig>().Where(x => req.Ids.Contains(x.Id)).ToList();
if (list.Count > 0)
{
tenantDb.Deleteable(list).ExecuteCommand();
}
return DataResult.Successed("删除成功!", MultiLanguageConst.DataDelSuccess);
}
/// <summary>
/// 按Excel导入订舱货物状态
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
public async Task<DataResult<string>> ImportBookingStatusConfigByExcel(IFormFile file)
{
//未上传文件
if (file == null || file.Length == 0)
{
return await Task.FromResult(DataResult<string>.Failed("请上传Excel!"));
}
var formFile = file;
//DataResult<string> api_Result = new Api_Result<string>();
//获取文件名
var fileName = formFile.FileName;
// 获取文件后缀
var fileExtension = Path.GetExtension(fileName);
// 判断后缀是否是xlsx或者xls
if (fileExtension != ".xlsx" && fileExtension != ".xls")
{
return DataResult<string>.Failed("文件格式错误");
}
var length = formFile.Length;
if (length > 1024 * 1024 * 10)
{
return DataResult<string>.Failed("文件大小不能超过10M");
}
var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
// MemoryStream 内存流 在内存当中创建一个流(开辟空间)
using (var stream = new MemoryStream())
{
//将文件写入内存流
formFile.CopyTo(stream);
//将流的位置归零
stream.Position = 0;
//将内存流转成List集合
var list = await stream.QueryAsync<BookingStatusConfigExcelReq>();
var configs = list.Adapt<BookingGoodsStatusConfig>();
await tenantDb.Insertable(configs).ExecuteCommandAsync();
return await Task.FromResult(DataResult<string>.Failed("导入成功!", MultiLanguageConst.DataImportSuccess));
}
}
}
}

@ -71,7 +71,7 @@ namespace DS.WMS.Core.Op.Method
recordList.ForEach(async p =>
{
await tenantDb.Deleteable<BookingLabelAllocation>().ExecuteCommandAsync();
await tenantDb.Deleteable<BookingLabelAllocation>(p).ExecuteCommandAsync();
});
if (input.LabelIdArray != null && input.LabelIdArray.Length > 0)

@ -1742,7 +1742,7 @@ namespace DS.WMS.Core.Op.Method
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public async Task<BookingSlotMergeResultDto> GetMergeList(QueryMergeSlotDto model)
public async Task<DataResult<BookingSlotMergeResultDto>> GetMergeList(QueryMergeSlotDto model)
{
BookingSlotMergeResultDto rlt = new BookingSlotMergeResultDto();
@ -1839,7 +1839,7 @@ namespace DS.WMS.Core.Op.Method
// 查询可用舱位及箱子列表
return rlt;
return DataResult<BookingSlotMergeResultDto>.Success(rlt);
}
#endregion
@ -2723,7 +2723,7 @@ namespace DS.WMS.Core.Op.Method
/// <param name="slotBookingNo">订舱编号</param>
/// <param name="CarrierId">船公司ID</param>
/// <returns></returns>
public async Task<long> QueryBookingSlot(string slotBookingNo, string CarrierId)
public async Task<DataResult<long>> QueryBookingSlot(string slotBookingNo, string CarrierId)
{
long id = 0;
@ -2743,7 +2743,7 @@ namespace DS.WMS.Core.Op.Method
//_logger.LogInformation($"订舱编号检索舱位信息失败,原因:{ex.Message}");
}
return id;
return DataResult<long>.Success(id);
}
#endregion
@ -2774,7 +2774,7 @@ namespace DS.WMS.Core.Op.Method
/// </summary>
/// <param name="model">生成订舱订单请求</param>
/// <returns>返回回执</returns>
public async Task<TaskManageOrderResultDto> MergeCreateBookingOrder(BookingGenerateDto model)
public async Task<DataResult<TaskManageOrderResultDto>> MergeCreateBookingOrder(BookingGenerateDto model)
{
return null;
}
@ -2786,9 +2786,9 @@ namespace DS.WMS.Core.Op.Method
/// <param name="bcTargetDto">新舱位详情</param>
/// <param name="slotId">舱位ID</param>
/// <returns></returns>
public async Task<DataResult<string>> MeasureDiffCautionTask(ParserBCInfoDto bcSrcDto, ParserBCInfoDto bcTargetDto, long slotId)
public async Task<DataResult> MeasureDiffCautionTask(ParserBCInfoDto bcSrcDto, ParserBCInfoDto bcTargetDto, long slotId)
{
return DataResult<string>.Success(string.Empty);
return DataResult.Successed(string.Empty);
}
/// <summary>
@ -3522,7 +3522,7 @@ namespace DS.WMS.Core.Op.Method
a => SqlFunc.Subqueryable<BookingLabelAllocation>()
.Where(x => x.BusinessId == a.Id && labelIdArray.Contains(x.LabelId))
.Any())
.Select<BookingSlotBaseDto>();
.Select<BookingSlotBaseDto>().Distinct();
var data = await result.ToQueryPageAsync(querySearch.PageCondition);
@ -3692,6 +3692,76 @@ namespace DS.WMS.Core.Op.Method
return DataResult<List<BookingSlotBaseSaveOutput>>.FailedData(data);
}
#endregion
#region 作废舱位(可以批量)
/// <summary>
/// 作废舱位(可以批量)
/// </summary>
/// <param name="ids">舱位主键数组</param>
/// <returns>返回回执</returns>
public async Task<DataResult> Delete(long[] ids)
{
var tenantDb = saasService.GetBizDbScopeById(user.TenantId);
foreach (long id in ids)
{
var slot = await tenantDb.Queryable<BookingSlotBase>().FirstAsync(x => x.Id == id);
if (slot == null)
{
throw new Exception(MultiLanguageConst.GetDescription(nameof(MultiLanguageConst.BookingSlotBaseInfoNull)));
}
slot.Deleted = true;
slot.DeleteBy = long.Parse(user.UserId);
slot.DeleteUserName = user.UserName;
slot.DeleteTime = DateTime.Now;
await tenantDb.Updateable<BookingSlotBase>(slot).ExecuteCommandAsync();
var ctnList = tenantDb.Queryable<BookingSlotCtn>().Where(x=>x.SlotId == id).ToList();
ctnList.ForEach(t =>
{
t.Deleted = true;
t.DeleteTime = DateTime.Now;
t.DeleteBy = long.Parse(user.UserId);
t.DeleteUserName = user.UserName;
tenantDb.Updateable<BookingSlotCtn>(t).ExecuteCommand();
});
var alloc = tenantDb.Queryable<BookingSlotAllocation>().Where(a => a.BookingSlotId == id && a.Deleted == false).ToList();
if (alloc.Count > 0)
{
alloc.ForEach(t =>
{
t.Deleted = true;
t.DeleteTime = DateTime.Now;
t.DeleteBy = long.Parse(user.UserId);
t.DeleteUserName = user.UserName;
tenantDb.Updateable<BookingSlotAllocation>(t).ExecuteCommand();
});
}
//更新库存
await _bookingSlotStockService.BookingSlotStock(new BookingSlotStockUpdateModel
{
BookingSlotType = slot.BookingSlotType,
CarrierCode = slot.CarrierCode,
ContractNo = slot.ContractNo,
Vessel = slot.Vessel,
Voyno = slot.Voyno,
PortLoadId = slot.PortLoadCode,
PortDischargeId = slot.PortDischargeCode,
TenantId = long.Parse(user.TenantId)
});
}
return DataResult.Successed(MultiLanguageConst.GetDescription(nameof(MultiLanguageConst.BookingSlotDeleteSucc)));
}
#endregion
}
public static class LetterIndexUtil

@ -753,7 +753,7 @@ namespace DS.WMS.Core.Op.Method
BusinessId = bookingId,
ConfigId = gsCfg.Id,
FinishTime = DateTime.Now,
FinishUserName = user.UserId.IsNull() ? "超级管理员" : user.UserId,
FinishUserName = user.UserId.IsNull() ? "超级管理员" : user.UserName,
FinishBy = user.UserId.IsNull() ? 0 : long.Parse(user.UserId),
StatusCode = gsCfg.SystemCode,
StatusName = gsCfg.StatusName,

@ -1,6 +1,9 @@
using DS.Module.Core;
using DS.Module.Core.Extensions;
using DS.WMS.Core.Fee.Method;
using DS.WMS.Core.Flow.Dtos;
using DS.WMS.Core.Flow.Entity;
using DS.WMS.Core.Flow.Interface;
using DS.WMS.Core.Op.Dtos.TaskInteraction;
using DS.WMS.Core.Op.Entity;
using DS.WMS.Core.Op.Entity.TaskInteraction;
@ -19,6 +22,7 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
public class SeaExportTaskService : FeeServiceBase
{
ITaskManageService taskService;
Lazy<IClientFlowInstanceService> flowService;
/// <summary>
/// 初始化
@ -27,6 +31,7 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
public SeaExportTaskService(IServiceProvider provider) : base(provider)
{
taskService = provider.GetRequiredService<ITaskManageService>();
flowService = new Lazy<IClientFlowInstanceService>(provider.GetRequiredService<IClientFlowInstanceService>());
}
/// <summary>
@ -93,7 +98,7 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
if (!result.Succeeded)
return result;
var businessTask = new BusinessTask
task = new BusinessTask
{
BusinessId = request.BusinessId,
BusinessType = request.BusinessType,
@ -102,20 +107,32 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
CreateBy = long.Parse(User.UserId),
CreateTime = DateTime.Now
};
businessTask.NextType = GetNextType(businessTask);
await TenantDb.Insertable(businessTask).ExecuteCommandAsync();
task.NextType = GetNextType(task);
await TenantDb.Insertable(task).ExecuteCommandAsync();
if (request.TaskType == TaskBaseTypeEnum.WAIT_ORDER_AUDIT)
{
//待审核,需创建工作流
var template = await FindTemplateAsync(AuditType.SeaExport);
if (template == null)
return DataResult.FailedWithDesc(nameof(MultiLanguageConst.TemplateNotFound));
}
else if (request.TaskType == TaskBaseTypeEnum.WAIT_BILL_CONFIRM)
result = flowService.Value.CreateFlowInstance(new CreateFlowInstanceReq
{
//根据业务所选服务,生成子任务
BusinessId = request.BusinessId,
BusinessType = BusinessType.OceanShippingExport,
TemplateId = template.Id
});
if (result.Succeeded)
{
var instance = result.Data as FlowInstance;
task.FlowId = instance.Id;
await TenantDb.Updateable(task).UpdateColumns(x => x.FlowId).ExecuteCommandAsync();
}
}
await TenantDb.Ado.CommitTranAsync();
return DataResult.Success;
}
catch (Exception ex)
@ -160,6 +177,12 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
await CreateTaskAsync(req);
}
//放舱结束,根据业务所选服务,生成子任务
if (request.TaskType == TaskBaseTypeEnum.WAIT_SPACE_RELEASE)
{
}
return DataResult.Success;
}
catch (Exception ex)
@ -184,12 +207,20 @@ namespace DS.WMS.Core.Op.Method.TaskInteraction
.OrderByDescending(x => x.CreateTime).Take(1).FirstAsync();
}
/// <summary>
/// 获取给定任务的下一任务类型
/// </summary>
/// <param name="current">任务信息</param>
/// <returns></returns>
internal static TaskBaseTypeEnum? GetNextType(BusinessTask current)
{
if (current.TaskType == TaskBaseTypeEnum.WAIT_VGM)
if (current.TaskType == TaskBaseTypeEnum.WAIT_CHECKOUT_BILL)
return null;
int currentTypeVal = (int)current.TaskType;
if (currentTypeVal >= 300) //300开始的枚举值为可选服务项目不存在前后关联性
return null;
return (TaskBaseTypeEnum)currentTypeVal++;
}
}

@ -21,6 +21,7 @@ using Newtonsoft.Json;
using System.Data;
using DS.WMS.Core.Info.Dtos;
using NPOI.SS.Formula.Functions;
using DS.WMS.Core.Flow.Dtos;
namespace DS.WMS.Core.Sys.Method;
@ -99,6 +100,7 @@ public class CommonService : ICommonService
Name = db.Queryable<SysUser>().Filter(null, true).First(x => x.Id == userId).UserName,
// OrgId = userInfo.OrgId,
// GID = userInfo.GID,
TenantName = user.TenantName,
TenantId = tenantId.ToString(),
};
var refreshToken = JwtHelper.Encrypt(tokenModel, true,false);

@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Project>
<PropertyGroup>
<_PublishTargetUrl>D:\Publish\DS8\FeeApi</_PublishTargetUrl>
<History>True|2024-07-23T09:41:01.7494842Z||;True|2024-07-23T17:25:11.8773492+08:00||;True|2024-07-23T17:07:16.5460273+08:00||;True|2024-07-22T08:59:23.3235603+08:00||;True|2024-07-12T17:35:11.1225017+08:00||;True|2024-07-11T11:40:17.3581147+08:00||;True|2024-07-04T17:20:50.0175739+08:00||;True|2024-07-02T11:26:14.2092751+08:00||;True|2024-07-02T09:21:51.3513605+08:00||;True|2024-07-01T17:47:56.0407256+08:00||;True|2024-07-01T16:42:55.7374984+08:00||;True|2024-07-01T15:49:58.9266967+08:00||;True|2024-07-01T14:35:48.1117178+08:00||;True|2024-07-01T11:41:52.2969338+08:00||;True|2024-07-01T11:13:02.6561160+08:00||;True|2024-06-28T15:28:43.1470725+08:00||;True|2024-06-28T15:16:20.1999596+08:00||;True|2024-06-28T15:14:56.2534743+08:00||;True|2024-06-28T15:02:41.3033806+08:00||;True|2024-06-28T13:37:28.2462742+08:00||;True|2024-06-28T11:06:30.7400535+08:00||;True|2024-06-26T15:24:17.1939896+08:00||;True|2024-06-26T14:33:06.3530466+08:00||;True|2024-06-26T09:45:24.4055568+08:00||;True|2024-06-25T15:45:57.6052473+08:00||;True|2024-06-25T10:17:17.7408916+08:00||;False|2024-06-25T10:16:23.5639654+08:00||;False|2024-06-25T10:15:28.3857721+08:00||;False|2024-06-25T10:10:59.5536995+08:00||;False|2024-06-25T10:07:10.4050937+08:00||;True|2024-06-24T15:22:18.2672769+08:00||;True|2024-06-24T15:01:04.8153621+08:00||;False|2024-06-24T15:00:29.9618848+08:00||;True|2024-06-24T14:07:19.9401637+08:00||;False|2024-06-24T14:06:36.1250570+08:00||;True|2024-06-21T15:13:57.4273503+08:00||;True|2024-06-21T15:04:37.8218608+08:00||;True|2024-06-21T14:12:48.0266638+08:00||;True|2024-06-21T13:52:30.0950155+08:00||;True|2024-06-20T11:02:42.9508506+08:00||;True|2024-06-19T11:43:01.1899282+08:00||;True|2024-06-19T11:23:01.2938141+08:00||;True|2024-06-18T08:51:21.6222152+08:00||;True|2024-06-17T09:20:35.0804494+08:00||;True|2024-06-17T08:41:58.1319484+08:00||;True|2024-06-17T08:38:09.0137102+08:00||;True|2024-06-14T15:19:45.7395180+08:00||;True|2024-06-14T14:38:49.7094421+08:00||;True|2024-06-14T14:27:39.2815370+08:00||;True|2024-06-14T09:42:21.5397525+08:00||;True|2024-06-13T16:03:39.8475642+08:00||;True|2024-06-13T14:12:10.1725629+08:00||;True|2024-06-13T10:46:52.6971321+08:00||;True|2024-06-11T17:03:44.8328978+08:00||;True|2024-06-06T17:41:51.1810315+08:00||;True|2024-06-06T10:57:27.8273617+08:00||;True|2024-06-04T14:23:21.3742450+08:00||;True|2024-05-31T17:01:42.4717460+08:00||;True|2024-05-31T13:56:03.0734064+08:00||;True|2024-05-31T08:45:52.3549394+08:00||;True|2024-05-30T17:16:32.8907958+08:00||;True|2024-05-30T16:18:06.9957657+08:00||;True|2024-05-29T15:44:18.4051203+08:00||;True|2024-05-29T15:11:03.1518632+08:00||;True|2024-05-29T14:52:26.0823495+08:00||;True|2024-05-29T11:17:20.2245101+08:00||;True|2024-05-29T08:36:28.9569161+08:00||;True|2024-05-28T08:44:31.4427261+08:00||;False|2024-05-28T08:44:02.5254826+08:00||;True|2024-05-27T15:16:32.9413631+08:00||;True|2024-05-27T15:03:42.9803879+08:00||;True|2024-05-27T08:49:54.3933663+08:00||;True|2024-05-27T08:46:13.5862236+08:00||;True|2024-05-23T17:19:32.8154451+08:00||;True|2024-05-23T17:19:01.4587615+08:00||;True|2024-05-22T16:52:42.2166228+08:00||;True|2024-05-22T15:19:49.1773202+08:00||;True|2024-05-22T15:13:31.9485525+08:00||;True|2024-05-22T13:29:02.1355808+08:00||;True|2024-05-22T09:48:40.8753914+08:00||;True|2024-05-22T09:25:06.2068137+08:00||;True|2024-05-22T09:18:53.0759815+08:00||;True|2024-05-21T17:13:36.4091775+08:00||;True|2024-05-21T14:41:18.8486299+08:00||;True|2024-05-21T11:04:27.3649637+08:00||;</History>
<History>True|2024-07-24T08:45:58.2272340Z||;True|2024-07-24T15:48:52.0128987+08:00||;True|2024-07-23T17:41:01.7494842+08:00||;True|2024-07-23T17:25:11.8773492+08:00||;True|2024-07-23T17:07:16.5460273+08:00||;True|2024-07-22T08:59:23.3235603+08:00||;True|2024-07-12T17:35:11.1225017+08:00||;True|2024-07-11T11:40:17.3581147+08:00||;True|2024-07-04T17:20:50.0175739+08:00||;True|2024-07-02T11:26:14.2092751+08:00||;True|2024-07-02T09:21:51.3513605+08:00||;True|2024-07-01T17:47:56.0407256+08:00||;True|2024-07-01T16:42:55.7374984+08:00||;True|2024-07-01T15:49:58.9266967+08:00||;True|2024-07-01T14:35:48.1117178+08:00||;True|2024-07-01T11:41:52.2969338+08:00||;True|2024-07-01T11:13:02.6561160+08:00||;True|2024-06-28T15:28:43.1470725+08:00||;True|2024-06-28T15:16:20.1999596+08:00||;True|2024-06-28T15:14:56.2534743+08:00||;True|2024-06-28T15:02:41.3033806+08:00||;True|2024-06-28T13:37:28.2462742+08:00||;True|2024-06-28T11:06:30.7400535+08:00||;True|2024-06-26T15:24:17.1939896+08:00||;True|2024-06-26T14:33:06.3530466+08:00||;True|2024-06-26T09:45:24.4055568+08:00||;True|2024-06-25T15:45:57.6052473+08:00||;True|2024-06-25T10:17:17.7408916+08:00||;False|2024-06-25T10:16:23.5639654+08:00||;False|2024-06-25T10:15:28.3857721+08:00||;False|2024-06-25T10:10:59.5536995+08:00||;False|2024-06-25T10:07:10.4050937+08:00||;True|2024-06-24T15:22:18.2672769+08:00||;True|2024-06-24T15:01:04.8153621+08:00||;False|2024-06-24T15:00:29.9618848+08:00||;True|2024-06-24T14:07:19.9401637+08:00||;False|2024-06-24T14:06:36.1250570+08:00||;True|2024-06-21T15:13:57.4273503+08:00||;True|2024-06-21T15:04:37.8218608+08:00||;True|2024-06-21T14:12:48.0266638+08:00||;True|2024-06-21T13:52:30.0950155+08:00||;True|2024-06-20T11:02:42.9508506+08:00||;True|2024-06-19T11:43:01.1899282+08:00||;True|2024-06-19T11:23:01.2938141+08:00||;True|2024-06-18T08:51:21.6222152+08:00||;True|2024-06-17T09:20:35.0804494+08:00||;True|2024-06-17T08:41:58.1319484+08:00||;True|2024-06-17T08:38:09.0137102+08:00||;True|2024-06-14T15:19:45.7395180+08:00||;True|2024-06-14T14:38:49.7094421+08:00||;True|2024-06-14T14:27:39.2815370+08:00||;True|2024-06-14T09:42:21.5397525+08:00||;True|2024-06-13T16:03:39.8475642+08:00||;True|2024-06-13T14:12:10.1725629+08:00||;True|2024-06-13T10:46:52.6971321+08:00||;True|2024-06-11T17:03:44.8328978+08:00||;True|2024-06-06T17:41:51.1810315+08:00||;True|2024-06-06T10:57:27.8273617+08:00||;True|2024-06-04T14:23:21.3742450+08:00||;True|2024-05-31T17:01:42.4717460+08:00||;True|2024-05-31T13:56:03.0734064+08:00||;True|2024-05-31T08:45:52.3549394+08:00||;True|2024-05-30T17:16:32.8907958+08:00||;True|2024-05-30T16:18:06.9957657+08:00||;True|2024-05-29T15:44:18.4051203+08:00||;True|2024-05-29T15:11:03.1518632+08:00||;True|2024-05-29T14:52:26.0823495+08:00||;True|2024-05-29T11:17:20.2245101+08:00||;True|2024-05-29T08:36:28.9569161+08:00||;True|2024-05-28T08:44:31.4427261+08:00||;False|2024-05-28T08:44:02.5254826+08:00||;True|2024-05-27T15:16:32.9413631+08:00||;True|2024-05-27T15:03:42.9803879+08:00||;True|2024-05-27T08:49:54.3933663+08:00||;True|2024-05-27T08:46:13.5862236+08:00||;True|2024-05-23T17:19:32.8154451+08:00||;True|2024-05-23T17:19:01.4587615+08:00||;True|2024-05-22T16:52:42.2166228+08:00||;True|2024-05-22T15:19:49.1773202+08:00||;True|2024-05-22T15:13:31.9485525+08:00||;True|2024-05-22T13:29:02.1355808+08:00||;True|2024-05-22T09:48:40.8753914+08:00||;True|2024-05-22T09:25:06.2068137+08:00||;True|2024-05-22T09:18:53.0759815+08:00||;True|2024-05-21T17:13:36.4091775+08:00||;True|2024-05-21T14:41:18.8486299+08:00||;True|2024-05-21T11:04:27.3649637+08:00||;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<NameOfLastUsedPublishProfile>E:\MyCode\Dongsheng8\ds-wms-service\DS.WMS.MainApi\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
<NameOfLastUsedPublishProfile>D:\Source\Repos\DS8\ds-wms-service\DS.WMS.MainApi\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
</PropertyGroup>
</Project>

@ -6,7 +6,7 @@
<Project>
<PropertyGroup>
<_PublishTargetUrl>D:\Code\PublishCopy\ds8-mainapi</_PublishTargetUrl>
<History>True|2024-07-24T01:40:52.9333341Z||;True|2024-07-24T09:32:35.6165520+08:00||;True|2024-07-19T12:03:03.1399057+08:00||;True|2024-07-19T11:47:36.2698405+08:00||;True|2024-07-18T15:59:36.7010783+08:00||;True|2024-07-16T18:17:43.9220347+08:00||;True|2024-06-18T17:36:34.9035076+08:00||;True|2024-06-18T16:25:54.2461596+08:00||;True|2024-06-18T10:09:37.3872162+08:00||;True|2024-06-18T10:00:43.4402179+08:00||;True|2024-06-18T08:55:07.3014083+08:00||;True|2024-06-18T08:40:51.6182342+08:00||;True|2024-06-13T19:48:34.0429148+08:00||;True|2024-06-13T19:09:39.6804400+08:00||;True|2024-06-13T15:41:56.9502735+08:00||;True|2024-06-13T15:23:59.4555910+08:00||;True|2024-06-13T15:12:55.6093356+08:00||;True|2024-06-11T17:08:01.8930314+08:00||;True|2024-06-07T15:23:11.1389680+08:00||;True|2024-06-07T10:23:59.6079620+08:00||;True|2024-06-06T17:42:56.1843783+08:00||;True|2024-06-04T14:20:46.7742295+08:00||;True|2024-05-31T17:57:35.6858600+08:00||;True|2024-05-31T15:25:20.8503086+08:00||;True|2024-05-30T17:22:52.2563382+08:00||;True|2024-05-30T17:05:35.7504154+08:00||;True|2024-05-29T17:17:39.6966826+08:00||;</History>
<History>True|2024-07-24T08:48:30.7465251Z||;True|2024-07-24T09:40:52.9333341+08:00||;True|2024-07-24T09:32:35.6165520+08:00||;True|2024-07-19T12:03:03.1399057+08:00||;True|2024-07-19T11:47:36.2698405+08:00||;True|2024-07-18T15:59:36.7010783+08:00||;True|2024-07-16T18:17:43.9220347+08:00||;True|2024-06-18T17:36:34.9035076+08:00||;True|2024-06-18T16:25:54.2461596+08:00||;True|2024-06-18T10:09:37.3872162+08:00||;True|2024-06-18T10:00:43.4402179+08:00||;True|2024-06-18T08:55:07.3014083+08:00||;True|2024-06-18T08:40:51.6182342+08:00||;True|2024-06-13T19:48:34.0429148+08:00||;True|2024-06-13T19:09:39.6804400+08:00||;True|2024-06-13T15:41:56.9502735+08:00||;True|2024-06-13T15:23:59.4555910+08:00||;True|2024-06-13T15:12:55.6093356+08:00||;True|2024-06-11T17:08:01.8930314+08:00||;True|2024-06-07T15:23:11.1389680+08:00||;True|2024-06-07T10:23:59.6079620+08:00||;True|2024-06-06T17:42:56.1843783+08:00||;True|2024-06-04T14:20:46.7742295+08:00||;True|2024-05-31T17:57:35.6858600+08:00||;True|2024-05-31T15:25:20.8503086+08:00||;True|2024-05-30T17:22:52.2563382+08:00||;True|2024-05-30T17:05:35.7504154+08:00||;True|2024-05-29T17:17:39.6966826+08:00||;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>

@ -283,7 +283,7 @@ namespace DS.WMS.OpApi.Controllers
[Route("MeasureDiffCautionTask")]
public async Task<DataResult> MeasureDiffCautionTask([FromBody] ParserBCInfoDto bcSrcDto)
{
return null;// await _bookingSlotService.MeasureDiffCautionTask(bcSrcDto, null, 0);
return await _bookingSlotService.MeasureDiffCautionTask(bcSrcDto, null, 0);
}
#endregion
@ -298,7 +298,7 @@ namespace DS.WMS.OpApi.Controllers
[Route("QueryBookingSlot")]
public async Task<DataResult<long>> QueryBookingSlot([FromQuery] string slotBookingNo, [FromQuery] string CarrierId)
{
return null;// await _bookingSlotService.QueryBookingSlot(slotBookingNo, CarrierId);
return await _bookingSlotService.QueryBookingSlot(slotBookingNo, CarrierId);
}
#endregion
@ -312,7 +312,7 @@ namespace DS.WMS.OpApi.Controllers
[Route("GetSlotList")]
public async Task<DataResult<List<BookingSlotBaseSaveOutput>>> GetSlotList([FromBody] long[] ids)
{
return null;// await _bookingSlotService.GetSlotList(ids);
return await _bookingSlotService.GetSlotList(ids);
}
#endregion
@ -326,7 +326,7 @@ namespace DS.WMS.OpApi.Controllers
[Route("GetMergeList")]
public async Task<DataResult<BookingSlotMergeResultDto>> GetMergeList([FromBody] QueryMergeSlotDto model)
{
return null;// await _bookingSlotService.GetMergeList(model);
return await _bookingSlotService.GetMergeList(model);
}
#endregion
@ -340,7 +340,21 @@ namespace DS.WMS.OpApi.Controllers
[Route("MergeCreateBookingOrder")]
public async Task<DataResult<TaskManageOrderResultDto>> MergeCreateBookingOrder([FromBody] BookingGenerateDto model)
{
return null;// await _bookingSlotService.MergeCreateBookingOrder(model);
return await _bookingSlotService.MergeCreateBookingOrder(model);
}
#endregion
#region 作废舱位(可以批量)
/// <summary>
/// 作废舱位(可以批量)
/// </summary>
/// <param name="ids">舱位主键数组</param>
/// <returns>返回回执</returns>
[HttpPost]
[Route("Delete")]
public async Task<DataResult> Delete([FromBody] long[] ids)
{
return await _bookingSlotService.Delete(ids);
}
#endregion
}

@ -6,7 +6,7 @@
<Project>
<PropertyGroup>
<_PublishTargetUrl>D:\Code\PublishCopy\ds8-opapi</_PublishTargetUrl>
<History>True|2024-07-24T04:56:48.1663545Z||;True|2024-07-24T08:47:26.1616069+08:00||;True|2024-07-24T08:42:02.7606608+08:00||;True|2024-07-24T08:41:18.4678459+08:00||;False|2024-07-24T08:40:29.5381703+08:00||;False|2024-07-24T08:39:20.2230656+08:00||;True|2024-07-23T15:56:16.8305907+08:00||;True|2024-07-22T16:42:12.1933090+08:00||;True|2024-07-19T18:28:29.1420269+08:00||;True|2024-07-19T15:45:49.1068004+08:00||;True|2024-07-19T15:33:45.3242155+08:00||;False|2024-07-19T15:32:41.9604526+08:00||;True|2024-07-19T13:48:27.9722093+08:00||;False|2024-07-19T13:47:56.7900396+08:00||;True|2024-07-19T11:41:15.4223247+08:00||;True|2024-07-19T08:46:28.8014836+08:00||;True|2024-07-18T19:24:50.4184188+08:00||;True|2024-07-18T19:19:14.7056635+08:00||;True|2024-07-18T19:04:43.5615501+08:00||;True|2024-07-18T18:38:39.1976753+08:00||;True|2024-07-18T18:25:15.6833492+08:00||;True|2024-07-18T18:08:46.3114951+08:00||;True|2024-07-18T17:59:12.5292256+08:00||;True|2024-07-18T16:18:45.8049777+08:00||;True|2024-07-18T16:12:42.9723969+08:00||;True|2024-07-18T16:07:14.1432207+08:00||;True|2024-07-17T17:44:18.4741963+08:00||;True|2024-07-17T17:42:47.2735071+08:00||;True|2024-07-17T16:13:32.9037697+08:00||;True|2024-07-17T15:40:21.2550083+08:00||;True|2024-07-17T14:03:08.1814323+08:00||;True|2024-07-15T13:43:42.6073130+08:00||;True|2024-07-15T11:53:40.6498579+08:00||;True|2024-07-15T11:53:03.1652559+08:00||;True|2024-07-15T11:42:33.0154478+08:00||;True|2024-07-15T10:20:03.3925876+08:00||;True|2024-07-15T10:13:28.1415352+08:00||;True|2024-07-08T14:33:12.6884426+08:00||;True|2024-07-08T09:56:58.4995696+08:00||;</History>
<History>True|2024-07-24T08:01:13.8217949Z||;True|2024-07-24T15:56:15.7589616+08:00||;True|2024-07-24T15:38:29.2442086+08:00||;True|2024-07-24T14:48:12.2303919+08:00||;True|2024-07-24T14:18:05.5309704+08:00||;True|2024-07-24T12:56:48.1663545+08:00||;True|2024-07-24T08:47:26.1616069+08:00||;True|2024-07-24T08:42:02.7606608+08:00||;True|2024-07-24T08:41:18.4678459+08:00||;False|2024-07-24T08:40:29.5381703+08:00||;False|2024-07-24T08:39:20.2230656+08:00||;True|2024-07-23T15:56:16.8305907+08:00||;True|2024-07-22T16:42:12.1933090+08:00||;True|2024-07-19T18:28:29.1420269+08:00||;True|2024-07-19T15:45:49.1068004+08:00||;True|2024-07-19T15:33:45.3242155+08:00||;False|2024-07-19T15:32:41.9604526+08:00||;True|2024-07-19T13:48:27.9722093+08:00||;False|2024-07-19T13:47:56.7900396+08:00||;True|2024-07-19T11:41:15.4223247+08:00||;True|2024-07-19T08:46:28.8014836+08:00||;True|2024-07-18T19:24:50.4184188+08:00||;True|2024-07-18T19:19:14.7056635+08:00||;True|2024-07-18T19:04:43.5615501+08:00||;True|2024-07-18T18:38:39.1976753+08:00||;True|2024-07-18T18:25:15.6833492+08:00||;True|2024-07-18T18:08:46.3114951+08:00||;True|2024-07-18T17:59:12.5292256+08:00||;True|2024-07-18T16:18:45.8049777+08:00||;True|2024-07-18T16:12:42.9723969+08:00||;True|2024-07-18T16:07:14.1432207+08:00||;True|2024-07-17T17:44:18.4741963+08:00||;True|2024-07-17T17:42:47.2735071+08:00||;True|2024-07-17T16:13:32.9037697+08:00||;True|2024-07-17T15:40:21.2550083+08:00||;True|2024-07-17T14:03:08.1814323+08:00||;True|2024-07-15T13:43:42.6073130+08:00||;True|2024-07-15T11:53:40.6498579+08:00||;True|2024-07-15T11:53:03.1652559+08:00||;True|2024-07-15T11:42:33.0154478+08:00||;True|2024-07-15T10:20:03.3925876+08:00||;True|2024-07-15T10:13:28.1415352+08:00||;True|2024-07-08T14:33:12.6884426+08:00||;True|2024-07-08T09:56:58.4995696+08:00||;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>
Loading…
Cancel
Save