• 金蝶云星空的网络控制设置


    金蝶云星空的网络控制设置

    说明

    网控设置主要用户多个用户操作一个业务单据编号时,对于冲突操作的处理。
    例如:销售订单XSDD0066,张三打开将其处于编辑状态,则李四打开只能是查看状态,不能是编辑状态。 或者列表张三在操作某一张的审核(该单数据状态=审核中),则李四在列表不能操作编辑状态,也不能操作撤掉或者审核

    网控参数

       public class NetworkCtrl
        {
    
    
            #region <属性>
    
            /// 
            /// 网控对象ID
            /// 
            public string NetCtrlId { get; set; }
    
            /// 
            /// 业务对象ID
            /// 
            public string InterID { get; set; }
    
            /// 
            /// 业务操作
            /// 
            public string OperationDesc { get; set; }
            #endregion <属性>
    
    
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    加入网络控制

    需要参数:网控对象ID、业务对象ID、业务操作

    /// 
            /// 手动插入网控数据
            /// Krystal 2023-11-03 10:24:32
            /// 
            /// 上下文
            /// 需要插入的网控集合
            public void BatchStartNetworkCtrl(Context ctx, List<NetworkCtrl> ncList)
            {
                foreach (var ian in ncList)
                {
                    NetWorkCtrlMonitorInfo mInfo = new NetWorkCtrlMonitorInfo();
                    mInfo.Id = SequentialGuid.NewGuid().ToString();//网控主键
                    mInfo.NetCtrlType = NetworkCtrlType.BusinessObjOperateMutex;
                    mInfo.OrgID = ((ctx.CurrentOrganizationInfo == null) ? 1 : ctx.CurrentOrganizationInfo.ID);//执行组织ID
                    mInfo.StartMenID = Convert.ToInt32(ctx.UserId);//启动人
                    mInfo.ComputerName = ctx.ComputerName;//登录电脑名称
                    mInfo.IP = ctx.IpAddress;//登录IP
                    mInfo.NetCtrlId = ian.NetCtrlId;//网控对象ID
                    mInfo.OperationDesc = ian.OperationDesc;//业务操作
                    mInfo.InterID = ian.InterID;//业务对象ID,比如单据的内码
                    mInfo.Token = ctx.ContextId;//上下文ID
                    SaleServiceHelper.StartNetworkCtrl(ctx, mInfo);// Kingdee.K3.SCM.ServiceHelper
                }
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    清除网络控制

    需要参数:网控对象ID、业务对象ID

    清除网络控制(单个)

     /// 
     /// 清除网络控制(单个)
     /// 
     /// 上下文
     /// 网控对象ID
     /// 业务对象ID,比如单据的内码
     /// 返回执行成功的条数
     public int ClearNetworkCtrl(Context ctx, string FNetCtrlID, long FinterID)
     {
         string strSQL = string.Format(@"{0}DELETE T_BAS_NETWORKCTRLRECORDS  WHERE FNETCTRLID = '{1}' AND FINTERID ={2}; "
                                     ,OtherConst.DIALECT, FNetCtrlID, FinterID);
         return DBUtils.Execute(ctx, strSQL);
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    清除网络控制(批量)

            /// 
            /// 清除网络控制(批量)
            /// 
            /// 上下文
            /// 网控对象ID
            /// 业务对象ID,比如单据的内码【集合】
            /// 返回执行成功的条数
            public int ClearNetworkCtrl(Context ctx, string FNetCtrlID, List<long> FinterID)
            {
                string strSQL = string.Format(@"{0}DELETE T_BAS_NETWORKCTRLRECORDS  WHERE FNETCTRLID = '{1}' AND FINTERID  in ({2}); "
                                            , OtherConst.DIALECT, FNetCtrlID, string.Join(",", FinterID));
                return DBUtils.Execute(ctx, strSQL);
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    清除网络控制(批量,参数是拼接好的业务对象)

            /// 
            /// 清除网络控制(批量,参数是拼接好的业务对象)
            /// 
            /// 上下文
            /// 网控对象ID
            /// 业务对象ID,比如单据的内码【拼接好的字符串】
            /// 返回执行成功的条数
            public int ClearNetworkCtrl(Context ctx, string FNetCtrlID, string FinterID)
            {
                string strSQL = string.Format(@"{0}DELETE T_BAS_NETWORKCTRLRECORDS  WHERE FNETCTRLID = '{1}' AND FINTERID  in ({2}); "
                                            , OtherConst.DIALECT, FNetCtrlID, FinterID);
                return DBUtils.Execute(ctx, strSQL);
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
  • 相关阅读:
    结构型模式-适配器模式
    LVS DR模式
    基于GPTP时间同步(时钟同步服务器)技术助力智能驾驶应用
    Hadoop Namenode节点迁移
    Leetcode 2269. 找到一个数字的 K 美丽值(滑动窗口)
    【源码】Spring事务之事务失效及原理
    系分 - 企业信息化战略与实施
    CS231n-2022 Module1: Minimal Neural Network case study
    SiC外延片测试方案
    1.1 安装配置CentOS
  • 原文地址:https://blog.csdn.net/qq_33881408/article/details/134246516