using System; using AutoMapper; using Volo.Abp.AutoMapper; using Win_in.Sfs.Scp.v1.Domain; namespace Win_in.Sfs.Scp.WebApi { public class ScpV1AutoMapperProfile : Profile { public ScpV1AutoMapperProfile() { /* You can configure your AutoMapper mapping configuration here. * Alternatively, you can split your mapping configurations * into multiple profile classes for a better organization. */ CreateMapPart(); CreateMapSupplier(); CreateMapReceipt(); CreateMapPurchaseOrder(); CreateMapUnplannedReceipt(); } /// /// 零件实体与Dto映射 /// private void CreateMapPart() { CreateMap() .Ignore(p => p.Id) .ForMember(p => p.Site, p => p.MapFrom(q => q.Site)) .ForMember(p => p.PartCode, p => p.MapFrom(q => q.Code)) .ForMember(p => p.ErpPartCode, p => p.MapFrom(q => q.Code)) .ForMember(p => p.PartDesc1, p => p.MapFrom(q =>string.IsNullOrEmpty(q.Desc2)?"":q.Desc2)) .ForMember(p => p.PartDesc2, p => p.MapFrom(q =>string.IsNullOrEmpty(q.Desc1)?"":q.Desc1)) .ForMember(p => p.ProjectId, p => p.MapFrom(q => q.ProductLine)) .ForMember(p => p.Unit, p => p.MapFrom(q => q.Uom)) .ForMember(p => p.PartGroup, p => p.MapFrom(q => q.Group)) .ForMember(p => p.State, p => p.MapFrom(q => q.Status)) .ForMember(p => p.Configuration, p => p.MapFrom(q => q.Type))//TODO .ForMember(p => p.ValidityDays, p => p.MapFrom(q => 0))//默认值 .ForMember(p => p.ReceivePort, p => p.MapFrom(q => q.Desc2))//默认值 // .ForMember(p => p.PalletSize, p => p.MapFrom(q => ""))//默认值 .ForMember(p => p.Remark, p => p.MapFrom(q => q.Version)) // .ForMember(p => p.Qlevel, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.Ischeck, p => p.MapFrom(q => false))//默认值 ; } /// /// 供应商实体与Dto相互映射 /// private void CreateMapSupplier() { CreateMap() .Ignore(p => p.Id) .ForMember(p => p.Site, p => p.MapFrom(q => q.Company))//TODO 接口没有传入Site .ForMember(p => p.VendId, p => p.MapFrom(q => q.Code)) .ForMember(p => p.VendName, p => p.MapFrom(q => q.Desc)) .ForMember(p => p.VendAbbCode, p => p.MapFrom(q=>"0"))//未使用 .ForMember(p => p.VendType, p => p.MapFrom(q => ""))//默认值未空 .ForMember(p => p.Country, p => p.MapFrom(q => q.Country)) .ForMember(p => p.City, p => p.MapFrom(q => q.City)) .ForMember(p => p.Currency, p => p.MapFrom(q => q.Currency)) .ForMember(p => p.Address, p => p.MapFrom(q => q.Address)) .ForMember(p => p.ZipCode, p => p.MapFrom(q => q.PostId)) .ForMember(p => p.Contacter, p => p.MapFrom(q => q.ContactName)) .ForMember(p => p.Phone, p => p.MapFrom(q => q.Phone)) .ForMember(p => p.Fax, p => p.MapFrom(q => q.Fax)) .ForMember(p => p.Email, p => p.MapFrom(q => ""))//接口没有传入Email .ForMember(p => p.State, p => p.MapFrom(q => q.IsActive ? 1 : 0))//1:有效,2:无效 .ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark)) .ForMember(p => p.Tax, p => p.MapFrom(q => 0))//默认值 // .ForMember(p => p.ReceiveTimeScope, p => p.MapFrom(q =>0))//默认值 // .ForMember(p => p.Quota, p => p.MapFrom(q =>0))//默认值 ; } /// /// 收货单与退货单明细实体与Dto映射 /// private void CreateMapReceipt() { CreateMap() .Ignore(p => p.Id) .ForMember(p => p.Site, p => p.MapFrom(q => q.Site)) .ForMember(p => p.ErpRecvBillNum, p => p.MapFrom(q => q.RcNumber)) .ForMember(p => p.RecvBillNum, p => p.MapFrom(q => q.RcNumber)) .ForMember(p => p.PoBillNum, p => p.MapFrom(q => q.PoNumber)) .ForMember(p => p.AsnBillNum, p => p.MapFrom(q => q.AsnNumber)) .ForMember(p => p.VendId, p => p.MapFrom(q => q.SupplierCode)) // .ForMember(p => p.ShipTime, p => p.MapFrom(q => DateTime.MinValue))//默认值 .ForMember(p => p.State, p => p.MapFrom(q => 0))//0:未处理 .ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark)) .ForMember(p => p.CreateTime, p => p.MapFrom(q => q.ReceiveTime)) .ForMember(p => p.CreateUser, p => p.MapFrom(q => "WebApi"))//固定值 // .ForMember(p => p.IsDeleted, p => p.MapFrom(q => false))//默认值 .ForMember(p => p.GUID, p => p.MapFrom(q => Guid.NewGuid()))//默认值 // .ForMember(p => p.OperName, p => p.MapFrom(q => ""))//默认值 .ForMember(p => p.BillType, p => p.MapFrom(q => string.IsNullOrWhiteSpace(q.RcType) ? 0 : 1))//0:收货 1:退货 .ForMember(p => p.Tax, p => p.MapFrom(q => 0))//默认值 ; var poLine = 0; CreateMap() .Ignore(p => p.Id) .ForMember(p => p.Site, p => p.MapFrom(q => q.Site)) .ForMember(p => p.ErpRecvBillNum, p => p.MapFrom(q => q.RcNumber)) .ForMember(p => p.RecvBillNum, p => p.MapFrom(q => q.RcNumber)) .ForMember(p => p.PoBillNum, p => p.MapFrom(q => q.PoNumber)) .ForMember(p => p.PoLine, p => p.MapFrom(q => int.TryParse(q.PoLine, out poLine) ? poLine : 0)) .ForMember(p => p.PartCode, p => p.MapFrom(q => q.PartCode)) .ForMember(p => p.Batch, p => p.MapFrom(q => string.IsNullOrEmpty(q.Lot)?"":q.Lot)) .ForMember(p => p.Qty, p => p.MapFrom(q => q.ReceiveQty)) .ForMember(p => p.DockCode, p => p.MapFrom(q => q.Dock)) .ForMember(p => p.State, p => p.MapFrom(q => 0))//0:未处理 .ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark)) .ForMember(p => p.CreateTime, p => p.MapFrom(q => q.ReceiveTime)) .ForMember(p => p.CreateUser, p => p.MapFrom(q => "WebApi")) // .ForMember(p => p.IsDeleted, p => p.MapFrom(q => false))//默认值 .ForMember(p => p.GUID, p => p.MapFrom(q => Guid.NewGuid()))//默认值 .ForMember(p => p.BillType, p => p.MapFrom(q => string.IsNullOrWhiteSpace(q.RcType) ? 0 : 1))//0:收货 1:退货 .ForMember(p => p.VendBatch, p => p.MapFrom(q => string.IsNullOrEmpty(q.SupplierLot)?"":q.SupplierLot)) .ForMember(p => p.PoUnit, p => p.MapFrom(q => q.Uom)) .ForMember(p => p.LocUnit, p => p.MapFrom(q => q.Uom)) .ForMember(p => p.PurCost, p => p.MapFrom(q => 0))//默认值 .ForMember(p => p.StdCost, p => p.MapFrom(q => 0))//默认值 .ForMember(p => p.Rate, p => p.MapFrom(q => q.SupplierPackConvertRate)) .ForMember(p => p.CurAmt, p => p.MapFrom(q => 0))//默认值 .ForMember(p => p.Tax, p => p.MapFrom(q => 0))//默认值 // .ForMember(p => p.Extend1, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.Extend2, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.Extend3, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.SubSite, p => p.MapFrom(q => ""))//默认值 ; } /// /// 采购订单主表映射 /// private void CreateMapPurchaseOrder() { var poType = 0; CreateMap() .Ignore(p => p.Id) .ForMember(p => p.Site, p => p.MapFrom(q => q.Site)) .ForMember(p => p.PoBillNum, p => p.MapFrom(q => q.PoNumber)) .ForMember(p => p.ErpBillNum, p => p.MapFrom(q => q.PoNumber)) .ForMember(p => p.VendId, p => p.MapFrom(q => q.SupplierCode)) .ForMember(p => p.ModType, p => p.MapFrom(q => int.TryParse(q.PoType, out poType) ? poType : 1))//1:日程订单,2:离散订单 .ForMember(p => p.Contacter, p => p.MapFrom(q => q.ContactName))//TODO Contacter 和 Buyer 如何赋值 .ForMember(p => p.Buyer, p => p.MapFrom(q => q.ContactName)) .ForMember(p => p.BuyerPhone, p => p.MapFrom(q => q.ContactPhone)) .ForMember(p => p.State, p => p.MapFrom(q => q.Status)) .ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark)) .ForMember(p => p.BeginTime, p => p.MapFrom(q =>q.OrderDate)) .ForMember(p => p.EndTime, p => p.MapFrom(q =>q.DueDate)) // .ForMember(p => p.Extend1, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.Extend2, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.Extend3, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.SubSite, p => p.MapFrom(q => ""))//默认值 .ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreationTime)) .ForMember(p => p.CreateUser, p => p.MapFrom(q => "WebApi")) .ForMember(p => p.UpdateTime, p => p.MapFrom(q => DateTime.Now)) .ForMember(p => p.UpdateUser, p => p.MapFrom(q => "WebApi")) // .ForMember(p => p.UpdateInfo, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.IsDeleted, p => p.MapFrom(q => false))//默认值 .ForMember(p => p.GUID, p => p.MapFrom(q => Guid.NewGuid()))//默认值 ; var poLine = 0; CreateMap() .Ignore(p => p.Id) .ForMember(p => p.PoBillNum, p => p.MapFrom(q => q.PoNumber)) .ForMember(p => p.PoLine, p => p.MapFrom(q => int.TryParse(q.PoLine, out poLine) ? poLine : 0)) .ForMember(p => p.PartCode, p => p.MapFrom(q => q.PartCode)) // .ForMember(p => p.ShippedQty, p => p.MapFrom(q => 0))//默认值 // .ForMember(p => p.ReceivedQty, p => p.MapFrom(q => 0))//默认值 // .ForMember(p => p.RejectQty, p => p.MapFrom(q => 0))//默认值 .ForMember(p => p.PoUnit, p => p.MapFrom(q => q.Uom)) .ForMember(p => p.LocUnit, p => p.MapFrom(q => q.StdPackUom)) // .ForMember(p => p.Price, p => p.MapFrom(q => 0))//默认值 // .ForMember(p => p.Currency, p => p.MapFrom(q => "CNY"))//默认值 .ForMember(p => p.PlanQty, p => p.MapFrom(q => q.OrderQty)) .ForMember(p => p.PackQty, p => p.MapFrom(q => q.StdPackQty)) // .ForMember(p => p.TempQty, p => p.MapFrom(q => 0))//默认值 .ForMember(p => p.State, p => p.MapFrom(q => q.LineStatus)) .ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark)) .ForMember(p => p.UnConv, p => p.MapFrom(q => q.SupplierPackConvertRate)) // .ForMember(p => p.DockCode, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.BeginTime, p => p.MapFrom(q => DateTime.Now))//从主表获取 // .ForMember(p => p.EndTime, p => p.MapFrom(q => DateTime.Now))//从主表获取 // .ForMember(p => p.Extend1, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.Extend2, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.Extend3, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.SubSite, p => p.MapFrom(q => ""))//默认值 .ForMember(p => p.CreateTime, p => p.MapFrom(q => q.CreationTime)) .ForMember(p => p.CreateUser, p => p.MapFrom(q => "WebApi")) .ForMember(p => p.UpdateTime, p => p.MapFrom(q => DateTime.Now)) .ForMember(p => p.UpdateUser, p => p.MapFrom(q => "WebApi")) // .ForMember(p => p.UpdateInfo, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.IsDeleted, p => p.MapFrom(q => false))//默认值 .ForMember(p => p.GUID, p => p.MapFrom(q => Guid.NewGuid()))//默认值 ; } private void CreateMapUnplannedReceipt() { CreateMap() .Ignore(p => p.Id) .ForMember(p => p.Site, p => p.MapFrom(q => q.Site)) .ForMember(p => p.ErpRecvBillNum, p => p.MapFrom(q => q.TrNbr)) .ForMember(p => p.RecvBillNum, p => p.MapFrom(q => q.TrNbr)) .ForMember(p => p.PoBillNum, p => p.MapFrom(q => "")) .ForMember(p => p.AsnBillNum, p => p.MapFrom(q => q.Order)) .ForMember(p => p.VendId, p => p.MapFrom(q => q.Address))//默认值 // .ForMember(p => p.ShipTime, p => p.MapFrom(q => DateTime.MinValue))//默认值 .ForMember(p => p.State, p => p.MapFrom(q => 0))//0:未处理 .ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark)) .ForMember(p => p.CreateTime, p => p.MapFrom(q => q.EffectiveDate)) .ForMember(p => p.CreateUser, p => p.MapFrom(q => "WebApi")) // .ForMember(p => p.IsDeleted, p => p.MapFrom(q => false))//默认值 .ForMember(p => p.GUID, p => p.MapFrom(q => Guid.NewGuid()))//默认值 // .ForMember(p => p.OperName, p => p.MapFrom(q => ""))//默认值 //.ForMember(p => p.BillType, p => p.MapFrom(q => string.IsNullOrWhiteSpace(q.TrType) ? 0 : 1))//0:收货 1:退货 .ForMember(p => p.BillType, p => p.MapFrom(q=>0)) // .ForMember(p => p.Tax, p => p.MapFrom(q => 0))//默认值 ; CreateMap() .Ignore(p => p.Id) .ForMember(p => p.Site, p => p.MapFrom(q => q.Site)) .ForMember(p => p.ErpRecvBillNum, p => p.MapFrom(q => q.TrNbr)) .ForMember(p => p.RecvBillNum, p => p.MapFrom(q => q.TrNbr)) .ForMember(p => p.PoBillNum, p => p.MapFrom(q => "")) .ForMember(p => p.PoLine, p => p.MapFrom(q => 0)) .ForMember(p => p.PartCode, p => p.MapFrom(q => q.PartCode)) .ForMember(p => p.Batch, p => p.MapFrom(q => q.Lot)) .ForMember(p => p.Qty, p => p.MapFrom(q => q.Qty)) .ForMember(p => p.DockCode, p => p.MapFrom(q => q.Location)) .ForMember(p => p.State, p => p.MapFrom(q => 0))//0:未处理 .ForMember(p => p.Remark, p => p.MapFrom(q => q.Remark)) .ForMember(p => p.CreateTime, p => p.MapFrom(q => q.EffectiveDate)) .ForMember(p => p.CreateUser, p => p.MapFrom(q => "WebApi")) // .ForMember(p => p.IsDeleted, p => p.MapFrom(q => false))//默认值 .ForMember(p => p.GUID, p => p.MapFrom(q => Guid.NewGuid()))//默认值 //.ForMember(p => p.BillType, p => p.MapFrom(q => string.IsNullOrWhiteSpace(q.TrType) ? 0 : 1))//0:收货 1:退货 .ForMember(p => p.BillType, p => p.MapFrom(q => 0)) // .ForMember(p => p.VendBatch, p => p.MapFrom(q => ""))//默认值 .ForMember(p => p.PoUnit, p => p.MapFrom(q => q.Uom)) .ForMember(p => p.LocUnit, p => p.MapFrom(q => q.Uom))//TODO 计划外入库单没有LocUnit .ForMember(p => p.PurCost, p => p.MapFrom(q => 0))//默认值 .ForMember(p => p.StdCost, p => p.MapFrom(q => 0))//默认值 // .ForMember(p => p.Rate, p => p.MapFrom(q => 0))//默认值 .ForMember(p => p.CurAmt, p => p.MapFrom(q => 0))//默认值 // .ForMember(p => p.Tax, p => p.MapFrom(q => 0))//默认值 // .ForMember(p => p.Extend1, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.Extend2, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.Extend3, p => p.MapFrom(q => ""))//默认值 // .ForMember(p => p.SubSite, p => p.MapFrom(q => ""))//默认值 ; } } }