王 垚
2021-02-27 ebac4c0aaf96258fc67cd3ad6b3d1ac1991df632
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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;
using ZD.Cloud.Logger;
 
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 ({FSupplierId})";
            }
            else
            {
                int FSupplierId = GetSupplierId();
                if (FSupplierId > 0)
                    e.FilterString += $" AND FSUPPLIERID IN (FSupplierId)";
            }
        }
        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}";
            LogHelper.Info(sql);
            int FSupplierId = DBServiceHelper.ExecuteScalar<int>(Context, sql, 0);
            return FSupplierId;
        }
    }
}