You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

286 lines
17 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using DS.Module.DjyRulesEngine;
using DS.WMS.Core.Op.Dtos;
using DS.WMS.Core.Op.Entity;
using Mapster;
using Microsoft.AspNetCore.Builder;
namespace DS.WMS.Core
{
public static class ObjectMapping
{
/// <summary>
/// 使用自动对象映射
/// </summary>
/// <param name="builder"></param>
/// <returns></returns>
public static IApplicationBuilder UseObjectMapping(this IApplicationBuilder builder)
{
TypeAdapterConfig<SeaExportEdi, SeaExportEDIBaseModel>
.NewConfig()
.Map(dto => dto.WEITUO, poco => poco.CustomerName)
.Map(dto => dto.OpEName, poco => poco.OpEName)
.Map(dto => dto.OpTel, poco => poco.OpTel)
.Map(dto => dto.OpEmail, poco => poco.OpEmail)
.Map(dto => dto.EDIATTN, poco => poco.EDIAttn)
.Map(dto => dto.EDIATTNTEL, poco => poco.EDIAttnTel)
.Map(dto => dto.EDIATTNEMAIL, poco => poco.EDIAttnMail)
.Map(dto => dto.AMSCONSIGNEE, poco => poco.AMSConsignee)
.Map(dto => dto.AMSNOTIFYPARTY, poco => poco.AMSNotifyParty)
.Map(dto => dto.MasterBOLIndicator, poco => poco.MasterBolIndicator)
.Map(dto => dto.KINGTAREWEIGHT, poco => poco.KingTareweight)
.Map(dto => dto.ConsigneeEdiCode, poco => poco.ConsigneeEdiCode)
.Map(dto => dto.ShipperEdiCode, poco => poco.ShipperEdiCode)
.Map(dto => dto.SalesRepCode, poco => poco.SalerCode)
.Map(dto => dto.ACIHBL, poco => poco.ACIHBL)
.Map(dto => dto.S0CC0C, poco => poco.S0CC0C)
.Map(dto => dto.cKHI, poco => poco.CKHI)
.Map(dto => dto.cNCM, poco => poco.CNCM)
.Map(dto => dto.wNCM, poco => poco.WNCM)
.Map(dto => dto.CNPTNo, poco => poco.CNPTNo)
.Map(dto => dto.ORDERREMARK, poco => poco.OrderRemark)
//.Map(dto => dto.ERNCODE, poco => poco.)
//.Map(dto => dto.TACCODE, poco => poco.)
//.Map(dto => dto.VAECODE, poco => poco.)
//.Map(dto => dto.FECCODE, poco => poco.)
;
TypeAdapterConfig<SeaExport, SeaExportEDIBaseModel>
.NewConfig()
.Map(dto => dto.ORDERNO, poco => poco.OrderNo)
.Map(dto => dto.YARD, poco => poco.Yard)
.Map(dto => dto.MBLNO, poco => poco.MBLNO)
.Map(dto => dto.BLFRT, poco => poco.MBLFrtCode)
.Map(dto => dto.VESSEL, poco => poco.Vessel)
.Map(dto => dto.VOYNO, poco => poco.Voyno)
.Map(dto => dto.NVOYNO, poco => poco.InnerVoyno)
.Map(dto => dto.ETD, poco => poco.ETD)
.Map(dto => dto.ETA, poco => poco.ETA)
.Map(dto => dto.CLOSINGDATE, poco => poco.ClosingDate)
.Map(dto => dto.EDIREMARK, poco => poco.EdiRemark)
//.Map(dto => dto.SIREMARK, poco => poco.)
//.Map(dto => dto.BYCOUNTRY, poco => poco.)
.Map(dto => dto.CARRIER, poco => poco.Carrier)
.Map(dto => dto.CARRIERID, poco => poco.Carrier)
.Map(dto => dto.SHIPPER, poco => poco.ShipperContent)
.Map(dto => dto.CONSIGNEE, poco => poco.ConsigneeContent)
.Map(dto => dto.NOTIFYPARTY, poco => poco.NotifyPartyContent)
.Map(dto => dto.NOTIFYPARTY2, poco => poco.SecondNotifyPartyContent)
.Map(dto => dto.HSCODE, poco => poco.HSCode)
.Map(dto => dto.GOODSNAME, poco => poco.GoodsName)
.Map(dto => dto.MARKS, poco => poco.Marks)
//.Map(dto => dto.PLACERECEIPTID, poco => poco.ReceiptPlace)
.Map(dto => dto.PLACERECEIPT, poco => poco.ReceiptPlace)
//.Map(dto => dto.PORTLOADID, poco => poco.LoadPort)
.Map(dto => dto.PORTLOAD, poco => poco.LoadPort)
//.Map(dto => dto.PORTDISCHARGEID, poco => poco.DischargePort)
.Map(dto => dto.PORTDISCHARGE, poco => poco.DischargePort)
.Map(dto => dto.TRANSPORTID, poco => poco.TransPortCode)
.Map(dto => dto.TRANSPORT, poco => poco.TransPort)
//.Map(dto => dto.PLACEDELIVERYID, poco => poco.DeliveryPlace)
.Map(dto => dto.PLACEDELIVERY, poco => poco.DeliveryPlace)
//.Map(dto => dto.DESTINATIONID, poco => poco.Destination)
.Map(dto => dto.DESTINATION, poco => poco.Destination)
.Map(dto => dto.PKGS, poco => poco.PKGS)
.Map(dto => dto.KINDPKGS, poco => poco.KindPkgs)
.Map(dto => dto.CBM, poco => poco.CBM)
.Map(dto => dto.CARGOID, poco => poco.CargoId)
.Map(dto => dto.DCLASS, poco => poco.DangerClass)
.Map(dto => dto.DUNNO, poco => poco.DangerNo)
.Map(dto => dto.DPAGE, poco => poco.DangerPage)
.Map(dto => dto.DLABEL, poco => poco.DangerLabel)
.Map(dto => dto.TEMPSET, poco => poco.TemperatureSet)
.Map(dto => dto.TEMPMIN, poco => poco.TemperatureMin)
.Map(dto => dto.TEMPMAX, poco => poco.TemperatureMax)
.Map(dto => dto.REEFERF, poco => poco.ReeferQuantity)
.Map(dto => dto.HUMIDITY, poco => poco.Humidity)
.Map(dto => dto.PREPARDAT, poco => poco.PrepareAt)
.Map(dto => dto.PREPARDATID, poco => poco.PrepareAt)
.Map(dto => dto.PAYABLEAT, poco => poco.PayableAt)
.Map(dto => dto.PAYABLEATID, poco => poco.PayableAt)
.Map(dto => dto.NOBILL, poco => poco.NoBill)
.Map(dto => dto.ISSUEPLACE, poco => poco.IssuePlace)
.Map(dto => dto.ISSUEDATE, poco => poco.IssueDate)
.Map(dto => dto.ISSUEPLACEID, poco => poco.IssuePlace)
.Map(dto => dto.SERVICE, poco => poco.ServiceCode)
.Map(dto => dto.CONTRACTNO, poco => poco.ContractNo)
.Map(dto => dto.SERVICECONTRACTNO, poco => poco.ServiceContractNo)
//.Map(dto => dto.CONSIGNEEPOSTCODE, poco => poco.)
//.Map(dto => dto.CONSIGNEECOUNTRY, poco => poco.)
//.Map(dto => dto.CONSIGNEETAXNO, poco => poco.)
//.Map(dto => dto.NOTIFYPARTYPOSTCODE, poco => poco.)
//.Map(dto => dto.NOTIFYPARTYCOUNTRY, poco => poco.)
//.Map(dto => dto.NOTIFYPARTYTAXNO, poco => poco.)
//.Map(dto => dto.CONSIGNEEDOORADDR, poco => poco.)
//.Map(dto => dto.SHIPPERDOORADDR, poco => poco.)
//.Map(dto => dto.SCACCODE, poco => poco.)
//.Map(dto => dto.ITNCODE, poco => poco.)
//.Map(dto => dto.FREIGHTPAYER, poco => poco.)
//.Map(dto => dto.AMSCODE, poco => poco.)
.Map(dto => dto.ISCONTAINERSOC, poco => poco.IsContainerSoc)
.Map(dto => dto.DESCRIPTION, poco => poco.Description)
.Map(dto => dto.CARGOID, poco => poco.CargoId)
//.Map(dto => dto.GOODSCODE, poco => poco.GoodsName)
//.Map(dto => dto.SERVICEEDICODE, poco => poco.)
;
TypeAdapterConfig<OpCtn, SeaExportCtnEDIBaseModel>
.NewConfig()
.Map(dto => dto.CNTRNO, poco => poco.CntrNo)
.Map(dto => dto.TEU, poco => poco.TEU)
.Map(dto => dto.CTNNUM, poco => poco.CtnNum)
.Map(dto => dto.CTNSTATUS, poco => poco.CtnStatus)
.Map(dto => dto.SEALNO, poco => poco.SealNo)
.Map(dto => dto.PKGS, poco => poco.PKGS)
.Map(dto => dto.KINDPKGS, poco => poco.KindPkgs)
.Map(dto => dto.KGS, poco => poco.KGS)
.Map(dto => dto.CBM, poco => poco.CBM)
.Map(dto => dto.TAREWEIGHT, poco => poco.TareWeight)
.Map(dto => dto.WEIGHKGS, poco => poco.WeightKGS)
.Map(dto => dto.WEIGHTYPE, poco => poco.WeightType)
.Map(dto => dto.WEIGHSIGN, poco => poco.WeightSign)
;
TypeAdapterConfig<OpCtnDetail, SeaExportCtnDetailEDIBaseModel>
.NewConfig()
.Map(dto => dto.HSCODE, poco => poco.HSCode)
.Map(dto => dto.MARKS, poco => poco.Marks)
.Map(dto => dto.DESCRIPTION, poco => poco.Description)
.Map(dto => dto.PKGS, poco => poco.PKGS)
.Map(dto => dto.KINDPKGS, poco => poco.KindPkgs)
.Map(dto => dto.KGS, poco => poco.KGS)
.Map(dto => dto.CBM, poco => poco.CBM);
//.IgnoreNonMapped(true);//只映射Map指定的属性其他属性都排除;
#region 大简云规则校验
//映射规则引擎
TypeAdapterConfig<SeaExport, RulesEngineOrderBookingMainBusinessInfo>
.NewConfig()
.Map(dto => dto.ContrNo, poco => poco.ContractNo)
.Map(dto => dto.OPID, poco => poco.OperatorId)
.Map(dto => dto.OP, poco => poco.OperatorName)
.Map(dto => dto.DOCID, poco => poco.Doc)
.Map(dto => dto.Doc, poco => poco.DocName)
.Map(dto => dto.SaleId, poco => poco.SaleId)
.Map(dto => dto.Sale, poco => poco.Sale)
.Map(dto => dto.CustserviceId, poco => poco.CustomerService)
.Map(dto => dto.Custservice, poco => poco.CustomerServiceName)
.Map(dto => dto.MasterBlNo, poco => poco.MBLNO)
.Map(dto => dto.HouseBlNo, poco => poco.HBLNO)
.Map(dto => dto.BookingNo, poco => poco.BookingNo)
.Map(dto => dto.ServContrNo, poco => poco.ServiceContractNo)
.Map(dto => dto.Shipper, poco => poco.Shipper)
.Map(dto => dto.ShipperId, poco => poco.ShipperId)
.Map(dto => dto.Consignee, poco => poco.Consignee)
.Map(dto => dto.ConsigneeId, poco => poco.ConsigneeId)
.Map(dto => dto.NotifyParty, poco => poco.NotifyParty)
.Map(dto => dto.NotifyPartyId, poco => poco.NotifyPartyId)
.Map(dto => dto.NotifyPrt2, poco => poco.SecondNotifyParty)
.Map(dto => dto.Yard, poco => poco.Yard)
.Map(dto => dto.YardId, poco => poco.YardId)
.Map(dto => dto.Vessel, poco => poco.Vessel)
.Map(dto => dto.VesselId, poco => poco.VesselId)
.Map(dto => dto.Voyno, poco => poco.Voyno)
.Map(dto => dto.VoynoIn, poco => poco.InnerVoyno)
.Map(dto => dto.ETD, poco => poco.ETD)
.Map(dto => dto.ATD, poco => poco.ATD)
.Map(dto => dto.ETA, poco => poco.ETA)
.Map(dto => dto.ClosingDate, poco => poco.ClosingDate)
.Map(dto => dto.CloseDocDate, poco => poco.CloseDocDate)
.Map(dto => dto.CloseVGMDate, poco => poco.CloseVgmDate)
.Map(dto => dto.PortLoad, poco => poco.LoadPort)
.Map(dto => dto.PortLoadId, poco => poco.LoadPortId)
.Map(dto => dto.PlaceReceipt, poco => poco.ReceiptPlace)
.Map(dto => dto.PlaceReceiptId, poco => poco.ReceiptPlaceId)
.Map(dto => dto.PortDischarge, poco => poco.DischargePort)
.Map(dto => dto.PortDischargeId, poco => poco.DischargePortId)
.Map(dto => dto.PlaceDelivery, poco => poco.DeliveryPlace)
.Map(dto => dto.PlaceDeliveryId, poco => poco.DeliveryPlaceId)
.Map(dto => dto.Destination, poco => poco.Destination)
.Map(dto => dto.DestinationId, poco => poco.DestinationId)
.Map(dto => dto.NoBill, poco => poco.NoBill)
.Map(dto => dto.CopyNoBill, poco => poco.CopyNoBill)
.Map(dto => dto.IssueType, poco => poco.IssueType)
.Map(dto => dto.IssueDate, poco => poco.IssueDate)
.Map(dto => dto.IssuePlace, poco => poco.IssuePlace)
.Map(dto => dto.Blfrt, poco => poco.MBLFrt)
.Map(dto => dto.PrepardAt, poco => poco.PrepareAt)
.Map(dto => dto.PayableAt, poco => poco.PayableAt)
.Map(dto => dto.Service, poco => poco.Service)
.Map(dto => dto.Marks, poco => poco.Marks)
.Map(dto => dto.HsCode, poco => poco.HSCode)
.Map(dto => dto.GoodsDescription, poco => poco.Description)
.Map(dto => dto.PKGs, poco => poco.PKGS)
.Map(dto => dto.KindPKGs, poco => poco.KindPkgs)
.Map(dto => dto.KGs, poco => poco.KGS)
.Map(dto => dto.CBM, poco => poco.CBM)
.Map(dto => dto.TotalNO, poco => poco.TotalNo)
.Map(dto => dto.CntrTotal, poco => poco.CntrTotal)
.Map(dto => dto.Carrier, poco => poco.Carrier)
//.Map(dto => dto.CarrierId, poco => poco.Carrier)
.Map(dto => dto.CargoId, poco => poco.CargoId)
.Map(dto => dto.DClass, poco => poco.DangerClass)
.Map(dto => dto.DUnno, poco => poco.DangerNo)
.Map(dto => dto.DPage, poco => poco.DangerPage)
.Map(dto => dto.DLabel, poco => poco.DangerLabel)
//.Map(dto => dto.DLinkMan, poco => poco.dan)
.Map(dto => dto.TempId, poco => poco.TemperatureUnit)
.Map(dto => dto.TempSet, poco => poco.TemperatureSet)
.Map(dto => dto.Reeferf, poco => poco.ReeferQuantity)
.Map(dto => dto.Humidity, poco => poco.Humidity)
.Map(dto => dto.TempMin, poco => poco.TemperatureMin)
.Map(dto => dto.TempMax, poco => poco.TemperatureMax)
.Map(dto => dto.IsContaSOC, poco => poco.IsContainerSoc)
.Map(dto => dto.YardRemark, poco => poco.YardRemark)
//.Map(dto => dto.CompId, poco => poco.OrgId.ToString())
//.Map(dto => dto.CompName, poco => poco.OrgId.ToString())
//.Map(dto => dto.CustserviceName, poco => poco.CustserviceName)
.Map(dto => dto.Forwarder, poco => poco.Forwarder)
.Map(dto => dto.ShipAgency, poco => poco.ShipAgency)
.Map(dto => dto.CustomsER, poco => poco.Customser)
.Map(dto => dto.TruckER, poco => poco.Trucker)
.Map(dto => dto.AgentId, poco => poco.AgentId)
.Map(dto => dto.CustomerId, poco => poco.CustomerId)
.Map(dto => dto.ForwarderId, poco => poco.ForwarderId)
.Map(dto => dto.ShipAgencyId, poco => poco.ShipAgencyId)
.Map(dto => dto.CustomsERId, poco => poco.CustomserId)
.Map(dto => dto.TruckERId, poco => poco.TruckerId)
//.Map(dto => dto.AgentName, poco => poco.Agent)
.Map(dto => dto.WeiTo, poco => poco.CustomerName)
//.Map(dto => dto.SCACCode, poco => poco.sca)
//.Map(dto => dto.ITNCode, poco => poco.it)
.Map(dto => dto.PrePardAtId, poco => poco.PrepareAtId)
//.Map(dto => dto.PayableAtId, poco => poco.pa)
.Map(dto => dto.CustNo, poco => poco.CustomNo)
.Map(dto => dto.TransportId, poco => poco.TransPortCode)
.Map(dto => dto.Transport, poco => poco.TransPort)
.Map(dto => dto.IsMutipleGoods, poco => poco.IsMoreGood);
#endregion 大简云规则校验
TypeAdapterConfig<OpCtn, RulesEngineOrderBookingContaInfo>
.NewConfig()
.Map(dto => dto.ContaType, poco => poco.CtnCode)
.Map(dto => dto.ContaTypeName, poco => poco.CtnAll)
.Map(dto => dto.ContaNo, poco => poco.CntrNo)
.Map(dto => dto.TEU, poco => poco.TEU)
.Map(dto => dto.SealNo, poco => poco.SealNo)
.Map(dto => dto.PKGs, poco => poco.PKGS)
.Map(dto => dto.KindPKGs, poco => poco.KindPkgs)
.Map(dto => dto.KGs, poco => poco.KGS)
.Map(dto => dto.CBM, poco => poco.CBM)
.Map(dto => dto.TareWeight, poco => poco.TareWeight)
.Map(dto => dto.WeighKGs, poco => poco.WeightKGS)
.Map(dto => dto.WeighType, poco => poco.WeightType)
.Map(dto => dto.ContaStatus, poco => poco.CtnStatus)
;
return builder;
}
}
}