using Kingdee.BOS.Orm.DataEntity; using Kingdee.K3.Core.MFG.EntityHelper; using System.ComponentModel; using System; using System.Collections.Generic; using System.Linq; using System.Text; using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.Util; using Kingdee.K3.Core.BD.ServiceArgs; using Kingdee.K3.MFG.Common.BusinessEntity.PRD; using Kingdee.K3.BD.ServiceHelper; using Kingdee.K3.Core.BD; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.Orm; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Log; using Kingdee.K3.Core.MFG; using Kingdee.BOS.Core.SqlBuilder; using Kingdee.BOS.Core.Metadata; using Kingdee.K3.MFG.ServiceHelper; using Kingdee.BOS; namespace Demo.BillView.PRD { [Description("提料计划列表过滤")] [HotUpdate] public class PODemandPlanListFilter : AbstractListPlugIn { public override void PrepareFilterParameter(global::Kingdee.BOS.Core.List.PlugIn.Args.FilterArgs e) { base.PrepareFilterParameter(e); //如果过滤条件含有最新结果关键字,则在此基础上处理,以支持最新结果内置方案另存增加条件(关键字是根据生产订单状态过滤) if (e.FilterString.IsNullOrEmptyOrWhiteSpace()) { int FSupplierId = GetSupplierId(); if (FSupplierId > 0) e.FilterString = " FSUPPLIERID IN (102629)"; } else { int FSupplierId = GetSupplierId(); if (FSupplierId > 0) e.FilterString += " AND FSUPPLIERID IN (102629)"; } } public int GetSupplierId() { long userId = this.Context.UserId; string sql = $"/*dialect*/ select FSupplierId from T_SEC_user a join T_SCP_USERDATA b on a.FUSERID = b.FUSERID where FUSERTYPE = 2 and a.FUSERID ={userId}"; int FSupplierId = DBServiceHelper.ExecuteScalar(Context, sql, 0); return FSupplierId; } } }