wet 1 year ago
commit 85fc37b186

@ -2510,6 +2510,7 @@ namespace Myshipping.Application
{ {
var list = await _repLetterYard.AsQueryable() var list = await _repLetterYard.AsQueryable()
.InnerJoin<BookingOrder>((ly, ord) => ly.BookingId == ord.Id) .InnerJoin<BookingOrder>((ly, ord) => ly.BookingId == ord.Id)
.Where(ly => ly.CreatedUserId == UserManager.UserId)
.WhereIF(!string.IsNullOrEmpty(input.MBLNO), (ly, ord) => ord.MBLNO.Contains(input.MBLNO)) .WhereIF(!string.IsNullOrEmpty(input.MBLNO), (ly, ord) => ord.MBLNO.Contains(input.MBLNO))
.WhereIF(!string.IsNullOrEmpty(input.HBLNO), (ly, ord) => ord.HBLNO.Contains(input.HBLNO)) .WhereIF(!string.IsNullOrEmpty(input.HBLNO), (ly, ord) => ord.HBLNO.Contains(input.HBLNO))
.WhereIF(!string.IsNullOrEmpty(input.BOOKINGNO), (ly, ord) => ord.BOOKINGNO.Contains(input.BOOKINGNO)) .WhereIF(!string.IsNullOrEmpty(input.BOOKINGNO), (ly, ord) => ord.BOOKINGNO.Contains(input.BOOKINGNO))
@ -8056,7 +8057,8 @@ namespace Myshipping.Application
{ {
await _rep.AsUpdateable(order).IgnoreColumns().ExecuteCommandAsync(); await _rep.AsUpdateable(order).IgnoreColumns().ExecuteCommandAsync();
await SendBookingOrder(new long[] { Id }); await SendBookingOrder(new long[] { Id });
if (!string.IsNullOrEmpty(order.VESSEL)&&!string.IsNullOrEmpty(order.VOYNO)) { if (!string.IsNullOrEmpty(order.VESSEL) && !string.IsNullOrEmpty(order.VOYNO))
{
var orderlist = await _rep.AsQueryable().Filter(null, true).Where(x => x.IsDeleted == false && x.TenantId == UserManager.TENANT_ID && x.CARRIERID == order.CARRIERID && x.VESSEL == order.VESSEL && x.VOYNO == order.VOYNO && x.Id != order.Id) var orderlist = await _rep.AsQueryable().Filter(null, true).Where(x => x.IsDeleted == false && x.TenantId == UserManager.TENANT_ID && x.CARRIERID == order.CARRIERID && x.VESSEL == order.VESSEL && x.VOYNO == order.VOYNO && x.Id != order.Id)
.WhereIF(!string.IsNullOrEmpty(order.VOYNOINNER), x => x.VOYNOINNER == order.VOYNOINNER).ToListAsync(); .WhereIF(!string.IsNullOrEmpty(order.VOYNOINNER), x => x.VOYNOINNER == order.VOYNOINNER).ToListAsync();
foreach (var i in orderlist) foreach (var i in orderlist)

@ -135,7 +135,7 @@ namespace Myshipping.Application
//检索状态对应所有的服务流程如果已经提取到的状态数量与推送的不一致提示错误不能入库s //检索状态对应所有的服务流程如果已经提取到的状态数量与推送的不一致提示错误不能入库s
var skuList = _statusSkuBaseInfoRepository.AsQueryable().Filter(null, true) var skuList = _statusSkuBaseInfoRepository.AsQueryable().Filter(null, true)
.LeftJoin<ServiceWorkFlowActivitiesInfo>((sts, act) => sts.PK_ID == act.STATUS_SKU_ID) .LeftJoin<ServiceWorkFlowActivitiesInfo>((sts, act) => sts.PK_ID == act.STATUS_SKU_ID)
.LeftJoin<ServiceWorkFlowActivitiesSubRelation>((sts,act,rela)=> .LeftJoin<ServiceWorkFlowActivitiesRelation>((sts,act,rela)=>
act.PK_ID == rela.SERVICE_ACTIVITIES_ID) act.PK_ID == rela.SERVICE_ACTIVITIES_ID)
.LeftJoin<ServiceWorkFlowBaseInfo>((sts, act, rela,wf)=> .LeftJoin<ServiceWorkFlowBaseInfo>((sts, act, rela,wf)=>
rela.SERVICE_WORKFLOW_ID == wf.PK_ID && rela.WF_VERSION == wf.RELEASE_VERSION) rela.SERVICE_WORKFLOW_ID == wf.PK_ID && rela.WF_VERSION == wf.RELEASE_VERSION)
@ -181,43 +181,22 @@ namespace Myshipping.Application
var wfList = skuList.Select(a => a.WF) var wfList = skuList.Select(a => a.WF)
.Distinct().ToList(); .Distinct().ToList();
//var ddd = wfList.GroupJoin(runList, l => l.PK_ID, var checkList = wfList.GroupJoin(runList, l => l.PK_ID,
// r => r.main.SERVICE_WF_ID, r => r.main.SERVICE_WF_ID,
// (l, r) => { (l, r) =>
// var currList = r.ToList();
// if (currList.Count > 0)
// {
// return new { Exists = true, WF = l };
// }
// return { Exists = true, WF = l };
// }).ToList();
//状态关联的服务流程与运行表中的服务流程对应,对已经有的进行更新,对未进入运行表的进行写入
var actArg = reqStatusList.Select(a => a.Act.PK_ID).ToArray();
//根据服务流程活动获取所有相关的服务流程
var wfRlt = _serviceWorkFlowBaseService.GetServiceWorkFlowListByActivities(actArg).GetAwaiter().GetResult();
if (!wfRlt.succ)
{ {
string errMsg = $"获取服务流程失败,原因:{wfRlt.msg}"; var currList = r.ToList();
_logger.LogInformation("批次={no} {msg}", batchNo, errMsg);
throw Oops.Oh(errMsg, typeof(InvalidOperationException)); if (currList.Count > 0)
{
return new { Exists = true, WF = l };
} }
var list = JSON.Deserialize<List<ServiceWorkFlowBaseShowDto>>(JSON.Serialize(wfRlt.ext)); return new { Exists = false, WF = l };
}).ToList();
//list.GroupJoin(runList,l=>l.) if(checkList.Any(a=>a.Exists))
//如果有已经运行的业务主键则只补充对应的活动表
if (runList.Count > 0)
{ {
reqStatusList.ForEach(async reqMd => reqStatusList.ForEach(async reqMd =>
{ {
@ -236,19 +215,36 @@ namespace Myshipping.Application
}).ExecuteCommandAsync(); }).ExecuteCommandAsync();
}); });
} }
else
if (checkList.Any(a => !a.Exists))
{ {
var noExistsList = checkList.Where(l => !l.Exists).Select(a=>a.WF.PK_ID).Distinct().ToList();
//状态关联的服务流程与运行表中的服务流程对应,对已经有的进行更新,对未进入运行表的进行写入
var actArg = reqStatusList.Select(a => a.Act.PK_ID).ToArray();
//根据服务流程活动获取所有相关的服务流程
var wfRlt = _serviceWorkFlowBaseService.GetServiceWorkFlowListByActivities(actArg).GetAwaiter().GetResult();
if (!wfRlt.succ)
{
string errMsg = $"获取服务流程失败,原因:{wfRlt.msg}";
_logger.LogInformation("批次={no} {msg}", batchNo, errMsg);
throw Oops.Oh(errMsg, typeof(InvalidOperationException));
}
DateTime nowDate = DateTime.Now; var list = JSON.Deserialize<List<ServiceWorkFlowBaseShowDto>>(JSON.Serialize(wfRlt.ext));
if(list.Count > 0)
list = list.Where(a=> noExistsList.Contains( a.PKId)).ToList();
DateTime nowDate = DateTime.Now;
list.ForEach(async wf => list.ForEach(async wf =>
{ {
ServiceWorkFlowRunInfo serviceWorkFlowRunInfo = new ServiceWorkFlowRunInfo { ServiceWorkFlowRunInfo serviceWorkFlowRunInfo = new ServiceWorkFlowRunInfo
{
PK_ID = IDGen.NextID().ToString(), PK_ID = IDGen.NextID().ToString(),
SERVICE_WF_ID = wf.PKId, SERVICE_WF_ID = wf.PKId,
BUSI_SYSTEM_CODE = info.Main.BusiSystemCode.ToUpper(), BUSI_SYSTEM_CODE = info.Main.BusiSystemCode.ToUpper(),
@ -304,7 +300,7 @@ namespace Myshipping.Application
SOURCE_TYPE = "AUTO" SOURCE_TYPE = "AUTO"
}; };
if(currReq != null) if (currReq != null)
{ {
activitiesRunInfo.ACT_DATE = currReq.Req.StatusDate; activitiesRunInfo.ACT_DATE = currReq.Req.StatusDate;
activitiesRunInfo.ACT_VAL = currReq.Req.StatusVal; activitiesRunInfo.ACT_VAL = currReq.Req.StatusVal;
@ -353,7 +349,7 @@ namespace Myshipping.Application
PARENT_ID = activitiesRunInfo.PK_ID PARENT_ID = activitiesRunInfo.PK_ID
}; };
if(currSubReq != null) if (currSubReq != null)
{ {
activitiesSubRunInfo.ACT_DATE = currSubReq.Req.StatusDate; activitiesSubRunInfo.ACT_DATE = currSubReq.Req.StatusDate;
activitiesSubRunInfo.ACT_VAL = currSubReq.Req.StatusVal; activitiesSubRunInfo.ACT_VAL = currSubReq.Req.StatusVal;

@ -30,5 +30,15 @@ namespace Myshipping.Core.Entity
/// 地址类型 factory-工厂地址 /// 地址类型 factory-工厂地址
/// </summary> /// </summary>
public string AddrType { get; set; } public string AddrType { get; set; }
/// <summary>
/// 联系人
/// </summary>
public string ContactName { get; set; }
/// <summary>
/// 联系电话
/// </summary>
public string ContactTel { get; set; }
} }
} }

@ -1974,6 +1974,16 @@
地址类型 factory-工厂地址 地址类型 factory-工厂地址
</summary> </summary>
</member> </member>
<member name="P:Myshipping.Core.Entity.DjyCustomerAddr.ContactName">
<summary>
联系人
</summary>
</member>
<member name="P:Myshipping.Core.Entity.DjyCustomerAddr.ContactTel">
<summary>
联系电话
</summary>
</member>
<member name="T:Myshipping.Core.Entity.DjyCustomerContact"> <member name="T:Myshipping.Core.Entity.DjyCustomerContact">
<summary> <summary>
@ -10236,6 +10246,16 @@
地址类型 factory-工厂地址 地址类型 factory-工厂地址
</summary> </summary>
</member> </member>
<member name="P:Myshipping.Core.Service.DjyCustomerAddrInput.ContactName">
<summary>
联系人
</summary>
</member>
<member name="P:Myshipping.Core.Service.DjyCustomerAddrInput.ContactTel">
<summary>
联系电话
</summary>
</member>
<member name="T:Myshipping.Core.Service.DjyCustomerContactDto"> <member name="T:Myshipping.Core.Service.DjyCustomerContactDto">
<summary> <summary>
订舱客户联系人输出参数 订舱客户联系人输出参数

@ -28,5 +28,15 @@ namespace Myshipping.Core.Service
/// 地址类型 factory-工厂地址 /// 地址类型 factory-工厂地址
/// </summary> /// </summary>
public string AddrType { get; set; } public string AddrType { get; set; }
/// <summary>
/// 联系人
/// </summary>
public string ContactName { get; set; }
/// <summary>
/// 联系电话
/// </summary>
public string ContactTel { get; set; }
} }
} }

Loading…
Cancel
Save