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


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

    说明

    网控设置主要用户多个用户操作一个业务单据编号时,对于冲突操作的处理。
    例如:销售订单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
  • 相关阅读:
    【Rust】自定义数据类型—结构体——Rust语言基础13
    CSS transform
    设计模式:建造者模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)
    45页新能源充电桩运营平台规划与建设方案
    【微服务】Day03
    网络工作面试题库和答案解析
    10分钟讲清int 和 Integer 的区别
    linux中git暂存,提交,上传到github
    【Vue】vue2上传Excel表格到后台 实战教程(接上一篇下载Excel模板表格到本地)
    @WebServlet注解(Servlet注解)
  • 原文地址:https://blog.csdn.net/qq_33881408/article/details/134246516