using MailKit.Search;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using Rhea.Common;
using System;
using System.IO;
using Tiger.Model;
using Tiger.Model.Base;
using Tiger.Model.MES.Yada;
namespace Tiger.Business.WMS.Extensions
{
///
/// 工单发料扩展方法
///
public static class OutExtension
{
///
/// 根据发料类型,获取来源单据编码
///
///
///
public static string GetSourceCode(this BIZ_WMS_PREP.BIZ_TYPEs type)
{
switch (type)
{
case BIZ_WMS_PREP.BIZ_TYPEs.Others:
return nameof(BIZ_U9_MISC_OUT);
case BIZ_WMS_PREP.BIZ_TYPEs.WorkOrder:
return nameof(BIZ_MES_WO);
case BIZ_WMS_PREP.BIZ_TYPEs.Outsourcing:
return nameof(BIZ_U9_SCM_OUT);
case BIZ_WMS_PREP.BIZ_TYPEs.Requisition:
default:
return "";
}
}
///
/// 根据发料类型,获取发料单据来源明细
///
///
///
///
public static List GetPickList(this BIZ_WMS_PREP.BIZ_TYPEs type, string orderNo)
{
// 查询单据明细
var pickList = new List();
switch (type)
{
case BIZ_WMS_PREP.BIZ_TYPEs.Others:
{
var dtls = Biz.Db.Queryable().Where(q => q.ORDER_NO == orderNo).ToList();
pickList = dtls.Select(q => q.GetPickItem()).ToList();
}
break;
case BIZ_WMS_PREP.BIZ_TYPEs.WorkOrder:
{
var dtls = Biz.DataSource["YadaU9C"].Client.Queryable().Where(q => q.MoDocNo == orderNo).ToList();
pickList = dtls.Select(q => q.GetPickItem()).ToList();
}
break;
case BIZ_WMS_PREP.BIZ_TYPEs.Outsourcing:
{
var dtls = Biz.DataSource["YadaU9C"].Client.Queryable().Where(q => q.PoDocNo == orderNo).ToList();
pickList = dtls.Select(q => q.GetPickItem()).ToList();
}
break;
case BIZ_WMS_PREP.BIZ_TYPEs.Requisition:
default:
break;
}
return pickList;
}
///
/// 根据发料类型,调用相应发料单据的ERP接口
///
///
///
///
///
public static List CommitToERP(this BIZ_WMS_PREP.BIZ_TYPEs type, string orderNo, object commitInput)
{
// 查询单据明细
var pickList = new List();
switch (type)
{
case BIZ_WMS_PREP.BIZ_TYPEs.Others:
{
var dtls = Biz.Db.Queryable().Where(q => q.ORDER_NO == orderNo).ToList();
pickList = dtls.Select(q => q.GetPickItem()).ToList();
}
break;
case BIZ_WMS_PREP.BIZ_TYPEs.WorkOrder:
{
var dtls = Biz.DataSource["YadaU9C"].Client.Queryable().Where(q => q.MoDocNo == orderNo).ToList();
pickList = dtls.Select(q => q.GetPickItem()).ToList();
}
break;
case BIZ_WMS_PREP.BIZ_TYPEs.Outsourcing:
{
var dtls = Biz.DataSource["YadaU9C"].Client.Queryable().Where(q => q.PoDocNo == orderNo).ToList();
pickList = dtls.Select(q => q.GetPickItem()).ToList();
}
break;
case BIZ_WMS_PREP.BIZ_TYPEs.Requisition:
default:
break;
}
return pickList;
}
}
}