山东雷驰
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.

376 lines
32 KiB

3 months ago
using AutoMapper;
using Kean.Domain.Basic.Models;
using Kean.Infrastructure.Configuration;
using Kean.Infrastructure.Database.Repository.Default.Entities;
using Kean.Infrastructure.Database.Repository.Default.Entities.Interface;
using Kean.Infrastructure.Utilities;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
namespace Kean.Infrastructure.Repository
{
/// <summary>
/// 模型映射配置
/// </summary>
public class AutoMapper : Profile
{
/// <summary>
/// 初始化 Kean.Application.Repository.AutoMapper 类的新实例
/// </summary>
public AutoMapper()
{
AllowNullCollections = true;
CreateMap<Domain.Basic.Models.Role, T_SYS_ROLE>()
.ForMember(entity => entity.ROLE_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.ROLE_NAME, options => options.MapFrom(model => model.Name))
.ForMember(entity => entity.ROLE_REMARK, options => options.MapFrom(model => model.Remark));
CreateMap<Domain.Basic.Models.User, T_SYS_USER>()
.ForMember(entity => entity.USER_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.USER_NAME, options => options.MapFrom(model => model.Name))
.ForMember(entity => entity.USER_ACCOUNT, options => options.MapFrom(model => model.Account));
CreateMap<Domain.Material.Models.Material, T_GOODS_MAIN>()
.IncludeBase<MaterialProperty, Database.Repository.Default.Entities.Abstract.T_GOODS_MAIN>()
.ForMember(entity => entity.GOODS_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.CLASS_ID, options => options.MapFrom(model => model.Category))
.ForMember(entity => entity.TYPE_ID, options => options.MapFrom(model => model.Group))
.ForMember(entity => entity.GOODS_CODE, options => options.MapFrom(model => model.Code))
.ForMember(entity => entity.GOODS_NAME, options => options.MapFrom(model => model.Name));
CreateMap<Domain.Material.Models.Category, T_GOODS_CLASS>()
.ForMember(entity => entity.CLASS_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.CLASS_PARENT_ID, options => options.MapFrom(model => model.Parent))
.ForMember(entity => entity.CLASS_CODE, options => options.MapFrom(model => model.Code))
.ForMember(entity => entity.CLASS_NAME, options => options.MapFrom(model => model.Name));
CreateMap<Domain.Material.Models.Safety, T_GOODS_SAFETY>()
.ForMember(entity => entity.SAFETY_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.GOODS_ID, options => options.MapFrom(model => model.Material))
.ForMember(entity => entity.WAREHOUSE_ID, options => options.MapFrom(model => string.Join(',', model.Warehouse.OrderBy(i => i))))
.ForMember(entity => entity.LOWER_LIMIT, options => options.MapFrom(model => model.LowerLimit))
.ForMember(entity => entity.UPPER_LIMIT, options => options.MapFrom(model => model.UpperLimit));
CreateMap<Domain.Order.Models.Type, T_PLAN_TYPE>()
.ForMember(entity => entity.TYPE_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.TYPE_CODE, options => options.MapFrom(model => model.Code))
.ForMember(entity => entity.TYPE_NAME, options => options.MapFrom(model => model.Name))
.ForMember(entity => entity.TYPE_NO, options => options.MapFrom(model => model.No))
.ForMember(entity => entity.MENU_ID, options => options.MapFrom(model => model.Menu))
.ReverseMap();
CreateMap<Domain.Order.Models.Flow, T_PLAN_FLOW>()
.ForMember(entity => entity.FLOW_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.FLOW_NAME, options => options.MapFrom(model => model.Name))
.ReverseMap();
CreateMap<Domain.Order.Models.FlowNode, T_PLAN_FLOW_NODE>()
.ForMember(entity => entity.NODE_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.NODE_NAME, options => options.MapFrom(model => model.Name))
.ForMember(entity => entity.NODE_TYPE, options => options.MapFrom(model => model.Type))
.ForMember(entity => entity.NODE_ENTER, options => options.MapFrom(model => model.Enter))
.ForMember(entity => entity.NODE_ALIVE, options => options.MapFrom(model => model.Alive))
.ForMember(entity => entity.NODE_DETAIL, options => options.MapFrom(model => JsonHelper.Serialize(model.Detail)))
.ForMember(entity => entity.NODE_DESIGN, options => options.MapFrom(model => $"\"{model.Design.X},{model.Design.Y}\""))
.ReverseMap()
.ForMember(model => model.Detail, options => options.MapFrom(entity => JsonHelper.Deserialize<IDictionary<int, string[][]>>(entity.NODE_DETAIL)))
.ForMember(model => model.Design, options => options.MapFrom(entity => JsonHelper.Deserialize<Point>(entity.NODE_DESIGN)));
CreateMap<Domain.Order.Models.FlowPath, T_PLAN_FLOW_PATH>()
.ForMember(entity => entity.PATH_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.PATH_SOURCE, options => options.MapFrom(model => model.Source))
.ForMember(entity => entity.PATH_TARGET, options => options.MapFrom(model => model.Target))
.ForMember(entity => entity.PATH_ANCHORS, options => options.MapFrom(model => JsonHelper.Serialize(model.Anchors)))
.ForMember(entity => entity.PATH_LABEL, options => options.MapFrom(model => model.Label));
CreateMap<Domain.Order.Models.Order, T_PLAN_MAIN>()
.ForMember(entity => entity.PLAN_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.PLAN_TYPE, options => options.MapFrom(model => model.Type))
.ForMember(entity => entity.PLAN_FLOW, options => options.MapFrom(model => model.Flow))
.ForMember(entity => entity.PLAN_NODE, options => options.MapFrom(model => model.Node))
.ForMember(entity => entity.PLAN_STATUS, options => options.MapFrom(model => model.State))
.ForMember(entity => entity.PLAN_CODE, options => options.MapFrom(model => model.No))
.ForMember(entity => entity.PLAN_CREATER, options => options.MapFrom(model => model.Creater))
.ForMember(entity => entity.PLAN_CREATE_TIME, options => options.MapFrom(model => model.CreateTime));
CreateMap<Domain.Order.Models.OrderLine, T_PLAN_LIST>()
.IncludeBase<MaterialProperty, Database.Repository.Default.Entities.Abstract.T_GOODS_PROPERTY>()
.ForMember(entity => entity.PLAN_LIST_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.STORAGE_LIST_ID, options => options.MapFrom(model => model.Stock))
.ForMember(entity => entity.GOODS_ID, options => options.MapFrom(model => model.Material))
.ForMember(entity => entity.PLANNED_QUANTITY, options => options.MapFrom(model => model.Quantity))
.ForMember(entity => entity.ORDERED_QUANTITY, options => options.MapFrom(model => model.Executing))
.ForMember(entity => entity.FINISHED_QUANTITY, options => options.MapFrom(model => model.Finished));
CreateMap<Domain.Stock.Models.Stock, T_STORAGE_MAIN>()
.ForMember(entity => entity.STOCK_BARCODE, options => options.MapFrom(model => model.Barcode))
.ForMember(entity => entity.STOCK_SPEC, options => options.MapFrom(model => model.Spec))
.ForMember(entity => entity.CELL_ID, options => options.MapFrom(model => model.Cell))
.ForMember(entity => entity.FULL_FLAG, options => options.MapFrom(model => model.Full))
.ForMember(entity => entity.TAG, options => options.MapFrom(model => model.Tag))
.ReverseMap();
CreateMap<V_STORAGE_LIST, Domain.Stock.Models.Stock>()
.ForMember(model => model.Barcode, options => options.MapFrom(entity => entity.STOCK_BARCODE))
.ForMember(model => model.Cell, options => options.MapFrom(entity => entity.CELL_ID));
CreateMap<Domain.Stock.Models.StockLine, T_STORAGE_LIST>()
.IncludeBase<MaterialProperty, Database.Repository.Default.Entities.Abstract.T_GOODS_PROPERTY>()
.ForMember(entity => entity.STORAGE_LIST_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.PLAN_LIST_ID, options => options.MapFrom(model => model.Order))
.ForMember(entity => entity.GOODS_ID, options => options.MapFrom(model => model.Material))
.ForMember(entity => entity.STORAGE_LIST_QUANTITY, options => options.MapFrom(model => model.Quantity))
.ForMember(entity => entity.INBOUND_TIME, options => options.MapFrom(model => model.InboundTime))
.ForMember(entity => entity.INVENTORY_TIME, options => options.MapFrom(model => model.InventoryTime))
.ForMember(entity => entity.INVENTORY_AGE, options => options.MapFrom(model => model.InventoryAge))
.ForMember(entity => entity.GOODS_AGE, options => options.MapFrom(model => model.MaterialAge))
.ForMember(entity => entity.STORAGE_LIST_FLAG, options => options.MapFrom(model => model.Enabled))
.ReverseMap();
CreateMap<Domain.Task.Models.StockLine, T_STORAGE_LIST>()
.IncludeBase<MaterialProperty, Database.Repository.Default.Entities.Abstract.T_GOODS_PROPERTY>()
.ForMember(entity => entity.STORAGE_LIST_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.PLAN_LIST_ID, options => options.MapFrom(model => model.Order))
.ForMember(entity => entity.GOODS_ID, options => options.MapFrom(model => model.Material))
.ForMember(entity => entity.STORAGE_LIST_QUANTITY, options => options.MapFrom(model => model.Quantity))
.ForMember(entity => entity.INBOUND_TIME, options => options.MapFrom(model => model.InboundTime))
.ForMember(entity => entity.INVENTORY_TIME, options => options.MapFrom(model => model.InventoryTime))
.ForMember(entity => entity.INVENTORY_AGE, options => options.MapFrom(model => model.InventoryAge))
.ForMember(entity => entity.GOODS_AGE, options => options.MapFrom(model => model.MaterialAge))
.ForMember(entity => entity.STORAGE_LIST_FLAG, options => options.MapFrom(model => model.Enabled))
.ReverseMap();
CreateMap<Domain.Stock.Models.Record, T_RECORD_MAIN>()
.ForMember(entity => entity.RECORD_TYPE, options => options.MapFrom(model => model.Transaction))
.ForMember(entity => entity.RECORD_TAG, options => options.MapFrom(model => model.Tag))
.ForMember(entity => entity.STOCK_BARCODE, options => options.MapFrom(model => model.Barcode))
.ForMember(entity => entity.START_CELL_ID, options => options.MapFrom(model => model.Original))
.ForMember(entity => entity.END_CELL_ID, options => options.MapFrom(model => model.Destination))
.ForMember(entity => entity.BEGIN_TIME, options => options.MapFrom(model => model.BeginTime))
.ForMember(entity => entity.END_TIME, options => options.MapFrom(model => model.EndTime))
.ForMember(entity => entity.REQUEST_NO, options => options.MapFrom(model => model.RequestNo))
.ForMember(entity => entity.OPERATOR, options => options.MapFrom(model => model.Operator));
CreateMap<Domain.Stock.Models.StockLine, T_RECORD_LIST>()
.IncludeBase<MaterialProperty, Database.Repository.Default.Entities.Abstract.T_GOODS_PROPERTY>()
.ForMember(entity => entity.STORAGE_LIST_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.PLAN_LIST_ID, options => options.MapFrom(model => model.Order))
.ForMember(entity => entity.GOODS_ID, options => options.MapFrom(model => model.Material))
.ForMember(entity => entity.STORAGE_LIST_FLAG, options => options.MapFrom(model => model.Enabled))
.ForMember(entity => entity.RECORD_LIST_QUANTITY, options => options.MapFrom(model => model.Quantity))
.ForMember(entity => entity.INBOUND_TIME, options => options.MapFrom(model => model.InboundTime))
.ForMember(entity => entity.INVENTORY_AGE, options => options.MapFrom(model => model.InventoryAge))
.ForMember(entity => entity.GOODS_AGE, options => options.MapFrom(model => model.MaterialAge));
CreateMap<Domain.Task.Models.Task, T_MANAGE_MAIN>()
.ForMember(entity => entity.MANAGE_TYPE, options => options.MapFrom(model => model.Type))
.ForMember(entity => entity.MANAGE_TAG, options => options.MapFrom(model => model.Tag))
.ForMember(entity => entity.STOCK_BARCODE, options => options.MapFrom(model => model.Barcode))
.ForMember(entity => entity.STOCK_SPEC, options => options.MapFrom(model => model.Spec))
.ForMember(entity => entity.START_CELL_ID, options => options.MapFrom(model => model.Original))
.ForMember(entity => entity.END_CELL_ID, options => options.MapFrom(model => model.Destination))
.ForMember(entity => entity.TRANSIT_CELL_ID, options => options.MapFrom(model => model.TransitPlace))
.ForMember(entity => entity.PRIORITY, options => options.MapFrom(model => model.Priority))
.ForMember(entity => entity.PREVIOUS_ID, options => options.MapFrom(model => model.Previous))
.ForMember(entity => entity.OPERATOR, options => options.MapFrom(model => model.Operator))
.ForMember(entity => entity.BEGIN_TIME, options => options.MapFrom(model => model.Timestamp))
.ForMember(entity => entity.REQUEST_NO, options => options.MapFrom(model => model.RequestNo))
.ForMember(entity => entity.MANAGE_STATUS, options => options.MapFrom(model => model.ManageStatus))
.ReverseMap()
.ForMember(model => model.Id, options => options.MapFrom(entity => entity.MANAGE_ID));
CreateMap<T_WH_CELL, Domain.Task.Models.Station>()
.ForMember(model => model.Id, options => options.MapFrom(entity => entity.CELL_ID))
.ForMember(model => model.Warehouse, options => options.MapFrom(entity => entity.WAREHOUSE_ID))
.ForMember(model => model.Area, options => options.MapFrom(entity => entity.AREA_ID))
.ForMember(model => model.Name, options => options.MapFrom(entity => entity.CELL_NAME))
.ForMember(model => model.Group, options => options.MapFrom(entity => entity.CELL_GROUP))
.ForMember(model => model.Device, options => options.MapFrom(entity => entity.CELL_CODE))
.ForMember(model => model.AllowIn, options => options.MapFrom(entity => entity.CELL_IN))
.ForMember(model => model.AllowOut, options => options.MapFrom(entity => entity.CELL_OUT))
.ForMember(model => model.Spec, options => options.MapFrom(entity => entity.CELL_SPEC))
.ForMember(model => model.Pallet, options => options.MapFrom((entity, _) => entity.CELL_PALLET?.Split(',').Where(s => !string.IsNullOrWhiteSpace(s))));
CreateMap<T_WH_CELL, Domain.Task.Models.Cell>()
.ForMember(model => model.Id, options => options.MapFrom(entity => entity.CELL_ID))
.ForMember(model => model.Warehouse, options => options.MapFrom(entity => entity.WAREHOUSE_ID))
.ForMember(model => model.Area, options => options.MapFrom(entity => entity.AREA_ID))
.ForMember(model => model.Name, options => options.MapFrom(entity => entity.CELL_NAME))
.ForMember(model => model.Device, options => options.MapFrom(entity => entity.CELL_CODE))
.ForMember(model => model.Laneway, options => options.MapFrom(entity => entity.CELL_LANEWAY))
.ForMember(model => model.Spec, options => options.MapFrom(entity => entity.CELL_SPEC))
.ForMember(model => model.Pallet, options => options.MapFrom((entity, _) => entity.CELL_PALLET?.Split(',').Where(s => !string.IsNullOrWhiteSpace(s))))
.ForMember(model => model.Row, options => options.MapFrom(entity => entity.CELL_Z))
.ForMember(model => model.Column, options => options.MapFrom(entity => entity.CELL_X))
.ForMember(model => model.Tier, options => options.MapFrom(entity => entity.CELL_Y))
.ForMember(model => model.Deep, options => options.MapFrom(entity => entity.CELL_DEEP))
.ForMember(model => model.State, options => options.MapFrom(entity => entity.RUN_STATUS))
.ForMember(model => model.IsEmpty, options => options.MapFrom(entity => entity.CELL_STATUS == "Empty"));
CreateMap<IO_CONTROL_APPLY, Domain.Wcs.Models.Input>()
.ForMember(model => model.Id, options => options.MapFrom(entity => entity.CONTROL_APPLY_ID))
.ForMember(model => model.Output, options => options.MapFrom(entity => entity.CONTROL_ID))
.ForMember(model => model.Warehouse, options => options.MapFrom(entity => entity.WAREHOUSE_CODE))
.ForMember(model => model.Function, options => options.MapFrom(entity => entity.CONTROL_APPLY_TYPE))
.ForMember(model => model.Device, options => options.MapFrom(entity => entity.DEVICE_CODE))
.ForMember(model => model.Barcode, options => options.MapFrom(entity => entity.STOCK_BARCODE))
.ForMember(model => model.Timestamp, options => options.MapFrom(entity => entity.CREATE_TIME))
.ForMember(model => model.Parameters, options => options.MapFrom(entity => entity.CONTROL_APPLY_PARAMETER))
.ForMember(model => model.State, options => options.MapFrom(entity => entity.APPLY_TASK_STATUS))
.ForMember(model => model.Para01, options => options.MapFrom(entity => entity.CONTROL_APPLY_PARA01))
.ForMember(model => model.Para02, options => options.MapFrom(entity => entity.CONTROL_APPLY_PARA02))
.ForMember(model => model.Remark, options => options.MapFrom(entity => entity.CONTROL_APPLY_REMARK));
CreateMap<Domain.Wcs.Models.Input, T_IO_CONTROL>()
.ForMember(entity => entity.CONTROL_DIRECTION, options => options.MapFrom(model => "WCS->WMS"))
.ForMember(entity => entity.CONTROL_FUNCTION, options => options.MapFrom(model => model.Function))
.ForMember(entity => entity.CONTROL_WAREHOUSE, options => options.MapFrom(model => model.Warehouse))
.ForMember(entity => entity.CONTROL_DEVICE, options => options.MapFrom(model => model.Device))
.ForMember(entity => entity.STOCK_BARCODE, options => options.MapFrom(model => model.Barcode))
.ForMember(entity => entity.CONTROL_PARAMETER, options => options.MapFrom(model => model.Parameters))
.ForMember(entity => entity.BEGIN_TIME, options => options.MapFrom(model => model.Timestamp))
.ForMember(entity => entity.END_TIME, options => options.MapFrom(model => DateTime.Now))
.ForMember(entity => entity.CONTROL_STATUS, options => options.MapFrom(model => model.State))
.ForMember(entity => entity.CONTROL_APPLY_PARA01, options => options.MapFrom(model => model.Para01))
.ForMember(entity => entity.CONTROL_APPLY_PARA02, options => options.MapFrom(model => model.Para02))
.ForMember(entity => entity.CONTROL_REMARK, options => options.MapFrom(model => model.Remark));
CreateMap<IO_CONTROL_APPLY, T_IO_CONTROL>()
.ForMember(entity => entity.CONTROL_DIRECTION, options => options.MapFrom(model => "WCS->WMS"))
.ForMember(entity => entity.CONTROL_FUNCTION, options => options.MapFrom(model => model.CONTROL_APPLY_TYPE))
.ForMember(entity => entity.CONTROL_WAREHOUSE, options => options.MapFrom(model => model.WAREHOUSE_CODE))
.ForMember(entity => entity.CONTROL_DEVICE, options => options.MapFrom(model => model.DEVICE_CODE))
.ForMember(entity => entity.STOCK_BARCODE, options => options.MapFrom(model => model.STOCK_BARCODE))
.ForMember(entity => entity.CONTROL_PARAMETER, options => options.MapFrom(model => model.CONTROL_APPLY_PARAMETER))
.ForMember(entity => entity.BEGIN_TIME, options => options.MapFrom(model => model.CREATE_TIME))
.ForMember(entity => entity.END_TIME, options => options.MapFrom(model => DateTime.Now))
.ForMember(entity => entity.CONTROL_STATUS, options => options.MapFrom(model => model.APPLY_TASK_STATUS))
.ForMember(entity => entity.CONTROL_APPLY_PARA01, options => options.MapFrom(model => model.CONTROL_APPLY_PARA01))
.ForMember(entity => entity.CONTROL_APPLY_PARA02, options => options.MapFrom(model => model.CONTROL_APPLY_PARA02))
.ForMember(entity => entity.CONTROL_REMARK, options => options.MapFrom(model => model.CONTROL_APPLY_REMARK));
CreateMap<Domain.Wcs.Models.Output, IO_CONTROL>()
.ForMember(entity => entity.CONTROL_ID, options => options.MapFrom(model => model.Id))
.ForMember(entity => entity.MANAGE_ID, options => options.MapFrom(model => model.Task))
.ForMember(entity => entity.STOCK_BARCODE, options => options.MapFrom(model => model.Barcode))
.ForMember(entity => entity.CONTROL_TASK_TYPE, options => options.MapFrom(model => model.Function))
.ForMember(entity => entity.CONTROL_TASK_LEVEL, options => options.MapFrom(model => model.Priority))
.ForMember(entity => entity.START_WAREHOUSE_CODE, options => options.MapFrom(model => model.Warehouse))
.ForMember(entity => entity.START_DEVICE_CODE, options => options.MapFrom(model => model.Original))
.ForMember(entity => entity.END_WAREHOUSE_CODE, options => options.MapFrom(model => model.EndWarehouse))
.ForMember(entity => entity.END_DEVICE_CODE, options => options.MapFrom(model => model.Destination))
.ForMember(entity => entity.CONTROL_BEGIN_TIME, options => options.MapFrom(model => model.Timestamp.ToString("yyyy-MM-dd HH:mm:ss")))
.ForMember(entity => entity.CONTROL_STATUS, options => options.MapFrom(model => model.State))
.ForMember(entity => entity.PRE_CONTROL_STATUS, options => options.MapFrom(model => model.PreState))
.ForMember(entity => entity.ERROR_TEXT, options => options.MapFrom(model => model.Message))
.ForMember(entity => entity.CONTROL_REMARK, options => options.MapFrom(model => model.Data))
.ForMember(entity => entity.OPERATOR, options => options.MapFrom(model => model.Operator))
.ReverseMap()
.ForMember(model => model.Timestamp, options => options.MapFrom(entity => entity.CONTROL_BEGIN_TIME));
CreateMap<Domain.Wcs.Models.Output, T_IO_CONTROL>()
.ForMember(entity => entity.CONTROL_DIRECTION, options => options.MapFrom(model => "WMS->WCS"))
.ForMember(entity => entity.CONTROL_FUNCTION, options => options.MapFrom(model => model.Function))
.ForMember(entity => entity.CONTROL_WAREHOUSE, options => options.MapFrom(model => model.Warehouse))
.ForMember(entity => entity.CONTROL_DEVICE, options => options.MapFrom(model => $"{model.Original}->{model.Destination}"))
.ForMember(entity => entity.STOCK_BARCODE, options => options.MapFrom(model => model.Barcode))
.ForMember(entity => entity.CONTROL_PARAMETER, options => options.MapFrom(model => model.Data))
.ForMember(entity => entity.BEGIN_TIME, options => options.MapFrom(model => model.Timestamp))
.ForMember(entity => entity.END_TIME, options => options.MapFrom(model => DateTime.Now))
.ForMember(entity => entity.CONTROL_STATUS, options => options.MapFrom(model => model.State))
.ForMember(entity => entity.CONTROL_REMARK, options => options.MapFrom(model => model.Message));
CreateMap<Domain.Stock.Commands.InterfaceRecordCommand, Kean.Infrastructure.Database.Repository.Default.Entities.T_INTERFACE_RECORD>();
CreateMap<T_GOODS_MAIN, Domain.Material.Models.Material>()
.IncludeBase<Database.Repository.Default.Entities.Abstract.T_GOODS_MAIN, MaterialProperty>()
.ForMember(model => model.Id, options => options.MapFrom(entity => entity.GOODS_ID))
.ForMember(model => model.Category, options => options.MapFrom(entity => entity.CLASS_ID))
.ForMember(model => model.Group, options => options.MapFrom(entity => entity.TYPE_ID))
.ForMember(model => model.Code, options => options.MapFrom(entity => entity.GOODS_CODE))
.ForMember(model => model.Name, options => options.MapFrom(entity => entity.GOODS_NAME));
CreateMap<IO_CONTROL, T_IO_CONTROL>()
.ForMember(entity => entity.CONTROL_DIRECTION, options => options.MapFrom(model => "WMS->WCS"))
.ForMember(entity => entity.CONTROL_FUNCTION, options => options.MapFrom(model => model.CONTROL_TASK_TYPE))
.ForMember(entity => entity.CONTROL_WAREHOUSE, options => options.MapFrom(model => model.START_WAREHOUSE_CODE))
.ForMember(entity => entity.CONTROL_DEVICE, options => options.MapFrom(model => $"{model.START_DEVICE_CODE}->{model.END_DEVICE_CODE}"))
.ForMember(entity => entity.BEGIN_TIME, options => options.MapFrom(model => model.CONTROL_BEGIN_TIME))
.ForMember(entity => entity.END_TIME, options => options.MapFrom(model => DateTime.Now))
.ForMember(entity => entity.CONTROL_STATUS, options => options.MapFrom(model => model.CONTROL_STATUS));
CreateMap<T_GOODS_CLASS, Domain.Material.Models.Category>()
.ForMember(model => model.Id, options => options.MapFrom(entity => entity.CLASS_ID))
.ForMember(model => model.Parent, options => options.MapFrom(entity => entity.CLASS_PARENT_ID))
.ForMember(model => model.Code, options => options.MapFrom(entity => entity.CLASS_CODE))
.ForMember(model => model.Name, options => options.MapFrom(entity => entity.CLASS_NAME));
CreateMap<T_WH_WAREHOUSE, Domain.Task.Models.Warehouse>()
.ForMember(model => model.Id, options => options.MapFrom(entity => entity.WAREHOUSE_ID))
.ForMember(model => model.Remark, options => options.MapFrom(entity => entity.WAREHOUSE_REMARK))
.ForMember(model => model.Code, options => options.MapFrom(entity => entity.WAREHOUSE_CODE))
.ForMember(model => model.Name, options => options.MapFrom(entity => entity.WAREHOUSE_NAME));
CreateMap<T_WH_WAREHOUSE, Domain.Stock.Models.Warehouse>()
.ForMember(model => model.Id, options => options.MapFrom(entity => entity.WAREHOUSE_ID))
.ForMember(model => model.Remark, options => options.MapFrom(entity => entity.WAREHOUSE_REMARK))
.ForMember(model => model.Code, options => options.MapFrom(entity => entity.WAREHOUSE_CODE))
.ForMember(model => model.Name, options => options.MapFrom(entity => entity.WAREHOUSE_NAME));
CreateMap<IO_STATION_MODEL, Domain.Wcs.Models.StationModel>()
.ForMember(model => model.Device, options => options.MapFrom(entity => entity.STATION_CODE))
.ForMember(model => model.LedDevice, options => options.MapFrom(entity => entity.REMARK))
.ForMember(model => model.Isfull, options => options.MapFrom(entity => entity.IS_FULL))
.ForMember(model => model.PreIsfull, options => options.MapFrom(entity => entity.PRE_IS_FULL));
CreateMap<Domain.Wcs.Models.StationModel, T_IO_CONTROL>()
.ForMember(entity => entity.CONTROL_DIRECTION, options => options.MapFrom(model => "WCS->WMS"))
.ForMember(entity => entity.CONTROL_FUNCTION, options => options.MapFrom(model => model.Function))
.ForMember(entity => entity.CONTROL_WAREHOUSE, options => options.MapFrom(model => model.Warehouse))
.ForMember(entity => entity.CONTROL_DEVICE, options => options.MapFrom(model => model.Device))
.ForMember(entity => entity.BEGIN_TIME, options => options.MapFrom(model => DateTime.Now))
.ForMember(entity => entity.END_TIME, options => options.MapFrom(model => DateTime.Now))
.ForMember(entity => entity.CONTROL_STATUS, options => options.MapFrom(model => model.Isfull));
CreateMap<Domain.Wcs.Models.WcsTask, T_MANAGE_MAIN>()
.ForMember(entity => entity.MANAGE_TAG, options => options.MapFrom(model => model.Tag))
.ForMember(entity => entity.STOCK_BARCODE, options => options.MapFrom(model => model.Barcode))
.ForMember(entity => entity.START_CELL_ID, options => options.MapFrom(model => model.Original))
.ForMember(entity => entity.END_CELL_ID, options => options.MapFrom(model => model.Destination))
.ForMember(entity => entity.TRANSIT_CELL_ID, options => options.MapFrom(model => model.TransitPlace))
.ForMember(entity => entity.PRIORITY, options => options.MapFrom(model => model.Priority))
.ForMember(entity => entity.PREVIOUS_ID, options => options.MapFrom(model => model.Previous))
.ForMember(entity => entity.OPERATOR, options => options.MapFrom(model => model.Operator))
.ForMember(entity => entity.BEGIN_TIME, options => options.MapFrom(model => model.Timestamp))
.ForMember(entity => entity.REQUEST_NO, options => options.MapFrom(model => model.RequestNo))
.ForMember(entity => entity.MANAGE_STATUS, options => options.MapFrom(model => model.ManageStatus))
.ReverseMap()
.ForMember(model => model.Id, options => options.MapFrom(entity => entity.MANAGE_ID));
CreateMap<T_WH_CELL, Domain.Wcs.Models.WcsCell>()
.ForMember(model => model.Id, options => options.MapFrom(entity => entity.CELL_ID))
.ForMember(model => model.Warehouse, options => options.MapFrom(entity => entity.WAREHOUSE_ID))
.ForMember(model => model.Area, options => options.MapFrom(entity => entity.AREA_ID))
.ForMember(model => model.Name, options => options.MapFrom(entity => entity.CELL_NAME))
.ForMember(model => model.Device, options => options.MapFrom(entity => entity.CELL_CODE))
.ForMember(model => model.Laneway, options => options.MapFrom(entity => entity.CELL_LANEWAY))
.ForMember(model => model.Pallet, options => options.MapFrom((entity, _) => entity.CELL_PALLET?.Split(',').Where(s => !string.IsNullOrWhiteSpace(s))))
.ForMember(model => model.Row, options => options.MapFrom(entity => entity.CELL_Z))
.ForMember(model => model.Column, options => options.MapFrom(entity => entity.CELL_X))
.ForMember(model => model.Tier, options => options.MapFrom(entity => entity.CELL_Y))
.ForMember(model => model.Deep, options => options.MapFrom(entity => entity.CELL_DEEP))
.ForMember(model => model.IsEmpty, options => options.MapFrom(entity => entity.CELL_STATUS == "Empty"));
CreateMap<T_ERROR_FEEDBACK, Domain.Stock.Models.ErrorFeedback>();
}
}
}