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; } } }