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

文章目录

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

说明

网控设置主要用户多个用户操作一个业务单据编号时,对于冲突操作的处理。

例如:销售订单XSDD0066,张三打开将其处于编辑状态,则李四打开只能是查看状态,不能是编辑状态。 或者列表张三在操作某一张的审核(该单数据状态=审核中),则李四在列表不能操作编辑状态,也不能操作撤掉或者审核

网控参数

csharp 复制代码
   public class NetworkCtrl
    {


        #region <属性>

        /// <summary>
        /// 网控对象ID
        /// </summary>
        public string NetCtrlId { get; set; }

        /// <summary>
        /// 业务对象ID
        /// </summary>
        public string InterID { get; set; }

        /// <summary>
        /// 业务操作
        /// </summary>
        public string OperationDesc { get; set; }
        #endregion <属性>


    }

加入网络控制

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

csharp 复制代码
/// <summary>
        /// 手动插入网控数据
        /// Krystal 2023-11-03 10:24:32
        /// </summary>
        /// <param name="ctx">上下文</param>
        /// <param name="ncList">需要插入的网控集合</param>
        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
            }
        }

清除网络控制

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

清除网络控制(单个)

csharp 复制代码
 /// <summary>
 /// 清除网络控制(单个)
 /// </summary>
 /// <param name="ctx">上下文</param>
 /// <param name="FNetCtrlID">网控对象ID</param>
 /// <param name="FinterID">业务对象ID,比如单据的内码</param>
 /// <returns>返回执行成功的条数</returns>
 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);
 }

清除网络控制(批量)

csharp 复制代码
        /// <summary>
        /// 清除网络控制(批量)
        /// </summary>
        /// <param name="ctx">上下文</param>
        /// <param name="FNetCtrlID">网控对象ID</param>
        /// <param name="FinterID">业务对象ID,比如单据的内码【集合】</param>
        /// <returns>返回执行成功的条数</returns>
        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);
        }

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

csharp 复制代码
        /// <summary>
        /// 清除网络控制(批量,参数是拼接好的业务对象)
        /// </summary>
        /// <param name="ctx">上下文</param>
        /// <param name="FNetCtrlID">网控对象ID</param>
        /// <param name="FinterID">业务对象ID,比如单据的内码【拼接好的字符串】</param>
        /// <returns>返回执行成功的条数</returns>
        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);
        }
相关推荐
2501_9449347310 分钟前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
Gain_chance11 分钟前
34-学习笔记尚硅谷数仓搭建-DWS层最近一日汇总表建表语句汇总
数据仓库·hive·笔记·学习·datagrip
黎雁·泠崖1 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
Gain_chance1 小时前
36-学习笔记尚硅谷数仓搭建-DWS层数据装载脚本
大数据·数据仓库·笔记·学习
2301_763472462 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
肖永威2 小时前
macOS环境安装/卸载python实践笔记
笔记·python·macos
Libraeking2 小时前
视觉篇:Canvas 自定义绘图与高级动画的华丽圆舞曲
android·经验分享·android jetpack
TechWJ2 小时前
PyPTO编程范式深度解读:让NPU开发像写Python一样简单
开发语言·python·cann·pypto
暗光之痕2 小时前
Unreal5研究笔记 Actor的生命周期函数
笔记·unreal engine
Gain_chance2 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习