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

288 lines
17 KiB

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();
}
/// <summary>
/// 零件实体与Dto映射
/// </summary>
private void CreateMapPart()
{
CreateMap<Part, TA_PART>()
.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))//默认值
;
}
/// <summary>
/// 供应商实体与Dto相互映射
/// </summary>
private void CreateMapSupplier()
{
CreateMap<Supplier, TA_VENDER>()
.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))//默认值
;
}
/// <summary>
/// 收货单与退货单明细实体与Dto映射
/// </summary>
private void CreateMapReceipt()
{
CreateMap<Receipt, TB_RECEIVE_QAD>()
.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 => string.IsNullOrEmpty(q.AsnNumber)?"":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<Receipt, TB_RECEIVE_DETAIL_QAD>()
.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 => ""))//默认值
;
}
/// <summary>
/// 采购订单主表映射
/// </summary>
private void CreateMapPurchaseOrder()
{
var poType = 0;
CreateMap<PurchaseOrder, TB_PO>()
.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<PurchaseOrderDetail, TB_PO_DETAIL>()
.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<UnplannedReceipt, TB_RECEIVE_QAD>()
.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<UnplannedReceipt, TB_RECEIVE_DETAIL_QAD>()
.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 => ""))//默认值
;
}
}
}