首页 > 其他分享 >金蝶云星空的网络控制设置

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

时间:2023-11-06 19:34:46浏览次数:34  
标签:网控 string 金蝶 ctx public mInfo 设置 ID 星空

 

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

一、说明

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

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

 

二、网控参数

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 <属性>


    }
View Code

 这个实体用来批量处理之前的数据收集。

 

三、加入网络控制

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

/// <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
            }
        }
View Code

 

四、清除网络控制

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

 4.1 清除网络控制(单个)

 /// <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);
        }
View Code

 

4.2 清除网络控制(批量)

        /// <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);
        }

 

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

        /// <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);
        }
View Code

标签:网控,string,金蝶,ctx,public,mInfo,设置,ID,星空
From: https://www.cnblogs.com/lanrenka/p/17812717.html

相关文章

  • gitlab 设置 分支只读
    一,设置master分支只读,并且只有Maintainers拥有合并权限。 二,设置成员权限改为developer 三,邀请成员点击右上角InviteMembers  ......
  • [Flink/Kafka] Flink消费Kafka消息的检查点设置方式 [转载]
    flink消费kafka本机java代码测试flink消费kafka机制flink消费kafka数据,提交消费组offset有三种类型1、开启checkpoint:                         在checkpoint完成后提交 2、开启checkpoint,禁用checkpoint提......
  • 麒麟KYLINOS命令行设置系统静音
    原文链接:麒麟KYLINOS命令行设置系统静音hello,大家好啊,今天给大家带来一篇在麒麟KYLINOS上使用命令行调节系统静音的方法,有时候需要制作模板,便可以采用此方法,话不多说,一起来看看吧。1、查看系统信息test@pdsyw-pc:~$cat/etc/.kyinfo[dist]name=Kylinmilestone=Desktop-V10-SP1......
  • 配置使用百度地图时出现:APP Referer校验失败。请检查该ak设置的白名单与访问所有的域
    如果是个人内部测试使用,直接将IP白名单设置为*  ......
  • EXCEL VBA自动设置坐标轴上下限
    下面的效果图展示了,将图表Y轴的的最大/最小值进行了动态设置Y轴最大值为:数据源最大值+2Y轴最小值为:数据源最小值-2通过上面的方法,数据源变化,那么Y轴的上下限也会自动变化 代码部分关键字MinimumScale设置Y轴的最小值关键字MaximumScale设置Y轴的最小值通过Max与Min......
  • word页码怎么从第三页开始设置为第一页_Word页码设置技巧
    https://blog.csdn.net/weixin_39686353/article/details/111142046跟链接即可。我们将光标定在第二页的最后面,然后选择页面布局——分隔符——点击下一页。双击第三页底部页脚的位置工具栏上面有个“链接到前一条页眉”的选择点击它,就可以不与前面的链接。然后设置页码格式把前两......
  • Git_设置分支保护,禁止成员向保护分支push
    1、设置保护分支进入仓库分支列表 选择要设置的分值,点击编辑->分支属性选择“保护分支”2、设置保护分支规则进入仓库管理->点击保护分支设置->新建规则 设置仓库push权限和合并权限 保存后查看作用分支不为0,表示设置生效 3、验证权限在本地直接向master分支push......
  • 环境变量的设置
    环境变量设置环境变量一般指的是用export内置命令导出的变量,用于定义shell的运行环境、保证shell命令的正确执行。shell通过环境变量确定登录的用户名、PATH路径、文件系统等各种应用。环境变量可以在命今行中临时创建,但是用户退出shell终端,变量即丢失,如要永久生效,需要修改......
  • 解锁JVS低代码表单流水号配置的秘密:一步步教你如何设置
    在数字化时代,表单成为了我们日常生活和工作中不可或缺的一部分。无论是在线申请、数据录入还是业务流程管理,表单都发挥着重要的作用。为了确保数据的准确性和可追溯性,流水号的概念应运而生。流水号作为表单数据记录的唯一标识,为每一份数据赋予了独特的身份,使得数据的处理和管理更加......
  • jumpserver设置sftp默认路径
    jumpserver官网JumpServer是广受欢迎的开源堡垒机,是符合4A规范的专业运维安全审计系统。JumpServer帮助企业以更安全的方式管控和登录所有类型的资产,实现事前授权、事中监察、事后审计,满足等保合规要求。当我们通过jumpserver对服务器进行管理时,需要上传或下载服务器上的......