diff --git a/Myshipping.Application/Entity/TaskManagePlat/TaskCutDateChangeDetailInfo.cs b/Myshipping.Application/Entity/TaskManagePlat/TaskCutDateChangeDetailInfo.cs index 608c15e8..b8a59337 100644 --- a/Myshipping.Application/Entity/TaskManagePlat/TaskCutDateChangeDetailInfo.cs +++ b/Myshipping.Application/Entity/TaskManagePlat/TaskCutDateChangeDetailInfo.cs @@ -12,7 +12,7 @@ namespace Myshipping.Application /// /// 任务截止时间变更明细 /// - [SugarTable("task_cut_date_change_info")] + [SugarTable("task_cut_date_change_detail_info")] [Description(" 任务截止时间变更明细")] public class TaskCutDateChangeDetailInfo : TaskManageDbEntity { diff --git a/Myshipping.Application/Service/BookingYunZong/BookingYunZong.cs b/Myshipping.Application/Service/BookingYunZong/BookingYunZong.cs index d8ed6137..ccb1c4cf 100644 --- a/Myshipping.Application/Service/BookingYunZong/BookingYunZong.cs +++ b/Myshipping.Application/Service/BookingYunZong/BookingYunZong.cs @@ -245,6 +245,20 @@ namespace Myshipping.Application bookingStatusLog.MBLNO = mblno; await _repStatuslog.InsertAsync(bookingStatusLog); + //发送服务状态 + var pushModel = new ModifyServiceProjectStatusDto + { + BookingId = bookingId, + SourceType = TrackingSourceTypeEnum.AUTO, + StatusCodes = new List { + new ModifyServiceProjectStatusDetailDto { StatusCode = "Yfanchang", SetActDate = bookingStatusLog.OpTime } } + }; + + var saveStatusRlt = await _bookingValueAddedService.SaveServiceStatus(pushModel); + + _logger.LogInformation("请求JSON={json} 异步推送服务状态完成,结果={rlt}", JSON.Serialize(pushModel), JSON.Serialize(saveStatusRlt)); + + foreach (var dt in yarddto) { var BookingStatusLogDetail = new BookingStatusLogDetail(); diff --git a/Myshipping.Application/Service/TaskManagePlat/Interface/ITaskManageDRAFTService.cs b/Myshipping.Application/Service/TaskManagePlat/Interface/ITaskManageDRAFTService.cs new file mode 100644 index 00000000..6c34176c --- /dev/null +++ b/Myshipping.Application/Service/TaskManagePlat/Interface/ITaskManageDRAFTService.cs @@ -0,0 +1,41 @@ +using Microsoft.AspNetCore.Mvc; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Myshipping.Application +{ + public interface ITaskManageDRAFTService + { + /// + /// 获取DRAFT详情 + /// + /// DRAFT主键 + /// 返回回执 + Task GetInfo(string pkId); + + /// + /// 通过任务主键获取DRAFT详情 + /// + /// DRAFT任务主键 + /// 返回回执 + Task GetInfoByTaskId(string taskPkId); + + /// + /// 任务ID下载附件 + /// + /// DRAFT任务主键 + /// 附件分类代码 + /// 返回数据流 + Task DownloadFile(string taskPKId, string fileCategory = "BC"); + + /// + /// 发送邮件 + /// + /// DRAFT任务主键 + /// 返回回执 + Task SendEmail(string taskPKId); + } +} diff --git a/Myshipping.Application/Service/TaskManagePlat/Interface/ITaskManageService.cs b/Myshipping.Application/Service/TaskManagePlat/Interface/ITaskManageService.cs index 18c47538..d9ace3f3 100644 --- a/Myshipping.Application/Service/TaskManagePlat/Interface/ITaskManageService.cs +++ b/Myshipping.Application/Service/TaskManagePlat/Interface/ITaskManageService.cs @@ -286,6 +286,13 @@ namespace Myshipping.Application /// 返回结果 //Task> GetTaskList(QueryTaskManageDto queryTaskManageDto); - + /// + /// 创建DRAFT任务 + /// + /// 文件 + /// BC变更内容后文件 + /// BC任务详情JSON + /// 返回回执 + Task CreateDRAFTTaskJob(IFormFile file, IFormFile modifyFile, string jsonData); } } diff --git a/Myshipping.Application/Service/TaskManagePlat/TaskManageDRAFTService.cs b/Myshipping.Application/Service/TaskManagePlat/TaskManageDRAFTService.cs new file mode 100644 index 00000000..06dbcb5b --- /dev/null +++ b/Myshipping.Application/Service/TaskManagePlat/TaskManageDRAFTService.cs @@ -0,0 +1,110 @@ +using Furion.DynamicApiController; +using Furion.FriendlyException; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; +using Myshipping.Application.Entity; +using Myshipping.Core; +using Myshipping.Core.Service; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Myshipping.Application +{ + /// + /// DRAFT任务 + /// + [ApiDescriptionSettings("Application", Name = "TaskManageDRAFT", Order = 10)] + public class TaskManageDRAFTService: ITaskManageDRAFTService, IDynamicApiController + { + private readonly ISysCacheService _cache; + private readonly ILogger _logger; + private readonly SqlSugarRepository _taskBaseRepository; + + public TaskManageDRAFTService(SqlSugarRepository taskBCInfoRepository, + ILogger logger) + { + _logger = logger; + } + + #region 获取DRAFT详情 + /// + /// 获取DRAFT详情 + /// + /// DRAFT主键 + /// 返回回执 + public async Task GetInfo(string pkId) + { + TaskManageOrderResultDto result = new TaskManageOrderResultDto(); + + try + { + //var bcOrder = _taskBCInfoRepository.AsQueryable().First(a => a.PK_ID == pkId); + + //if (bcOrder == null) + // throw Oops.Oh($"BC主键{pkId}无法获取业务信息"); + + //var BCCtnList = _taskBCCTNInfoRepository.AsQueryable().Where(a => a.P_ID == pkId).ToList(); + + //TaskBCShowBaseDto model = bcOrder.Adapt(); + + //if (BCCtnList.Count > 0) + // model.CtnList = BCCtnList.Adapt>(); + + + //var fileList = _taskFileRepository.AsQueryable().Where(a => a.TASK_PKID == bcOrder.TASK_ID).ToList(); + + //if (fileList.Count > 0) + // model.FileList = fileList.Adapt>(); + + } + catch (Exception ex) + { + result.succ = false; + result.msg = $"获取BC详情异常,原因:{ex.Message}"; + } + + return result; + } + #endregion + + #region 通过任务主键获取DRAFT详情 + /// + /// 通过任务主键获取DRAFT详情 + /// + /// DRAFT任务主键 + /// 返回回执 + public async Task GetInfoByTaskId(string taskPkId) + { + return null; + } + #endregion + + #region 任务ID下载附件 + /// + /// 任务ID下载附件 + /// + /// DRAFT任务主键 + /// 附件分类代码 + /// 返回数据流 + public Task DownloadFile(string taskPKId, string fileCategory = "DRAFT") + { + return null; + } + #endregion + + #region 发送邮件 + /// + /// 发送邮件 + /// + /// DRAFT任务主键 + /// 返回回执 + public async Task SendEmail(string taskPKId) + { + return null; + } + #endregion + } +} diff --git a/Myshipping.Application/Service/TaskManagePlat/TaskManageService.cs b/Myshipping.Application/Service/TaskManagePlat/TaskManageService.cs index 8a27ad69..d82cc349 100644 --- a/Myshipping.Application/Service/TaskManagePlat/TaskManageService.cs +++ b/Myshipping.Application/Service/TaskManagePlat/TaskManageService.cs @@ -1233,6 +1233,10 @@ namespace Myshipping.Application } #endregion + #region DRAFT转发客户 + + #endregion + if (info.Main.SerialMsgInfo != null) { var storeInfo = new TaskStoreMsgInfo @@ -5603,6 +5607,43 @@ namespace Myshipping.Application } #endregion + #region 创建DRAFT任务 + /// + /// 创建DRAFT任务 + /// + /// 文件 + /// BC变更内容后文件 + /// BC任务详情JSON + /// 返回回执 + [AllowAnonymous, HttpPost("/TaskManage/CreateDRAFTTaskJob"), ApiUser(ApiCode = "BCTaskManage")] + public async Task CreateDRAFTTaskJob(IFormFile file, IFormFile modifyFile, [FromForm] string jsonData) + { + TaskManageOrderResultDto result = new TaskManageOrderResultDto(); + + string batchNo = IDGen.NextID().ToString(); + + _logger.LogInformation("批次={no} 接收到创建任务报文 报文={msg}", batchNo, jsonData); + + + try + { + TaskManageOrderMessageInfo info = JSON.Deserialize(jsonData); + + if (info == null) + throw Oops.Bah("jsonData请求内容错误,无法反序列化报文"); + + result = await InitTaskJob(info, batchNo, file, modifyFile); + } + catch (Exception ex) + { + result.succ = false; + result.msg = $"请求任务异常,{ex.Message}"; + } + + return result; + } + #endregion + #region 获取文件类型 /// /// 获取文件类型