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
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 => ""))//默认值
|
|
;
|
|
}
|
|
}
|
|
}
|
|
|