|
|
|
@ -11891,6 +11891,9 @@ namespace Myshipping.Application
|
|
|
|
|
if (string.IsNullOrWhiteSpace(model.vesselOperatorCarrierCode))
|
|
|
|
|
throw Oops.Oh($"服务船公司不能为空");
|
|
|
|
|
|
|
|
|
|
if (string.IsNullOrWhiteSpace(model.carrierId))
|
|
|
|
|
throw Oops.Oh("船公司代码不能为空");
|
|
|
|
|
|
|
|
|
|
if (string.IsNullOrWhiteSpace(model.startDate))
|
|
|
|
|
throw Oops.Oh($"预计离港日期不能为空");
|
|
|
|
|
|
|
|
|
@ -11960,7 +11963,65 @@ namespace Myshipping.Application
|
|
|
|
|
if (resultInfo != null && resultInfo.code == 200
|
|
|
|
|
&& resultInfo.data != null && resultInfo.data.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
list = resultInfo.data.Adapt<List<SearchShipSailingScheduleResultDto>>();
|
|
|
|
|
resultInfo.data.ForEach(a =>
|
|
|
|
|
{
|
|
|
|
|
a.transportSchedules.ForEach(b =>
|
|
|
|
|
{
|
|
|
|
|
SearchShipSailingScheduleResultDto info = new SearchShipSailingScheduleResultDto
|
|
|
|
|
{
|
|
|
|
|
carrierProductId = a.carrierProductId,
|
|
|
|
|
carrierProductSequenceId = a.carrierProductSequenceId,
|
|
|
|
|
ETD = b.departureDateTime,
|
|
|
|
|
ATD = b.arrivalDateTime,
|
|
|
|
|
vesselOperatorCarrierCode = b.vesselOperatorCarrierCode
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (b.departureDateTime.HasValue && b.arrivalDateTime.HasValue)
|
|
|
|
|
{
|
|
|
|
|
TimeSpan ts = b.arrivalDateTime.Value.Subtract(b.departureDateTime.Value);
|
|
|
|
|
var timeDiff = ts.TotalHours;
|
|
|
|
|
|
|
|
|
|
info.days = (int)Math.Ceiling(timeDiff / 24.0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(b.facilities != null)
|
|
|
|
|
{
|
|
|
|
|
info.orignCityName = b.facilities.collectionOrigin?.cityName;
|
|
|
|
|
info.orignCarrierSiteGeoID = b.facilities.collectionOrigin?.carrierSiteGeoID;
|
|
|
|
|
info.orignLocationName = b.facilities.collectionOrigin?.locationName;
|
|
|
|
|
info.orignCountryCode = b.facilities.collectionOrigin?.countryCode;
|
|
|
|
|
info.orignLocationType = b.facilities.collectionOrigin?.locationType;
|
|
|
|
|
info.orignUNLocationCode = b.facilities.collectionOrigin?.UNLocationCode;
|
|
|
|
|
info.orignUNRegionCode = b.facilities.collectionOrigin?.UNRegionCode;
|
|
|
|
|
|
|
|
|
|
info.deliveryCityName = b.facilities.deliveryDestination?.cityName;
|
|
|
|
|
info.deliveryCarrierSiteGeoID = b.facilities.deliveryDestination?.carrierSiteGeoID;
|
|
|
|
|
info.deliveryLocationName = b.facilities.deliveryDestination?.locationName;
|
|
|
|
|
info.deliveryCountryCode = b.facilities.deliveryDestination?.countryCode;
|
|
|
|
|
info.deliveryLocationType = b.facilities.deliveryDestination?.locationType;
|
|
|
|
|
info.deliveryUNLocationCode = b.facilities.deliveryDestination?.UNLocationCode;
|
|
|
|
|
info.deliveryUNRegionCode = b.facilities.deliveryDestination?.UNRegionCode;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
info.vesselIMONumber = b.firstDepartureVessel?.vesselIMONumber;
|
|
|
|
|
info.carrierVesselCode = b.firstDepartureVessel?.carrierVesselCode;
|
|
|
|
|
info.vesselName = b.firstDepartureVessel?.vesselName;
|
|
|
|
|
|
|
|
|
|
if (b.transportLegs != null && b.transportLegs.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
var firstTransportLegs = b.transportLegs.FirstOrDefault();
|
|
|
|
|
|
|
|
|
|
if (firstTransportLegs.transport != null)
|
|
|
|
|
{
|
|
|
|
|
info.transportMode = firstTransportLegs.transport.transportMode;
|
|
|
|
|
info.carrierDepartureVoyageNumber = firstTransportLegs.transport.carrierDepartureVoyageNumber;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
list.Add(info);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|