首页 > 其他分享 >VOL框架 审批最后一步事务处理

VOL框架 审批最后一步事务处理

时间:2024-03-05 11:34:59浏览次数:26  
标签:status return 框架 VOL lastAudit 事务处理 ST 审批 data

VOL框架 审批最后一步事务处理

        public override WebResponseContent Audit(object[] keys, int? auditStatus, string auditReason)
        {
            Tools tools = new Tools();
            int laststep = tools.LastStep((string)keys[0], "ST_LockUnlock");

            //status当前审批状态,lastAudit是否最后一个审批节点
            AuditWorkFlowExecuting = (ST_LockUnlock lockUnlock, AuditStatus status, bool lastAudit) =>
            {
                return webResponse.OK();
            };
            //status当前审批状态,nextUserIds下一个节点审批人的帐号id(可以从sys_user表中查询用户具体信息),lastAudit是否最后一个审批节点
            AuditWorkFlowExecuted = (ST_LockUnlock lockUnlock, AuditStatus status, List<int> nextUserIds, bool lastAudit) =>
            {
                //lastAudit=true时,流程已经结束
                if (!lastAudit)
                {
                    if (laststep == 1 && auditStatus == 1)
                    {
                        //获取表码调整记录及对应的日记录信息
                        string bql = $@"
                            SELECT MeterID,ReqType,WorkDate
                            FROM ST_LockUnlock
                            WHERE LockUnlockID={keys[0]}
                        ";
                        var data = DBServerProvider.SqlDapper.QueryDynamicFirst(bql, "");
                        if (data.MeterID == null) { return webResponse.Error("无仪表信息!"); }
                        if (data.ReqType == null) { return webResponse.Error("开关类型为空!"); }
                        if (data.WorkDate == null) { return webResponse.Error("施工日期为空!"); }
                        //更新到仪表信息表 ST_CodeMeter
                        string cql = $@"UPDATE ST_CodeMeter
                            SET ValveState='{data.ReqType}',LockunlockDate='{data.WorkDate}' 
                            WHERE MeterID={data.MeterID}";
                        repository.ExecuteSqlCommand(cql);
                    }
                }

                //审批流程回退功能,回到第一个审批人重新审批(重新生成审批流程)
                //if (status==AuditStatus.审核未通过||status==AuditStatus.驳回)
                //{
                //    base.RewriteFlow(order);
                //}

                return webResponse.OK();
            };
            return base.Audit(keys, auditStatus, auditReason);
        }

 

标签:status,return,框架,VOL,lastAudit,事务处理,ST,审批,data
From: https://www.cnblogs.com/wishit/p/18053604

相关文章

  • VOL框架后台事务处理的两种方式
    VOL框架后台事务处理的两种方式方式一:框架自带增删改的事务处理publicoverrideWebResponseContentDel(object[]keys,booldelList=true){stringids=string.Join(",",keys);stringasql=$@"S......
  • WPF 应用迁移到 Electron 框架过程记录
    前一段时间我用WPF开发了一个查看emoji表情的小工具https://github.com/he55/EmojiViewer,由于最近我使用macOS系统比较多,我想能在macOS系统上也能使用这个工具。于是我尝试将WPF应用迁移到Electron框架,感觉这个框架很强大,在这里记录一下应用迁移的过程。安装Elec......
  • [系统] 开源通用系统框架(Java)
    0序1代码级通用框架1.0后端:Servlet+Structs+JDBC1.1后端:SpringMVC+Spring+MyBatis/SpringJPA1.2后端:SpringBootspringboothttps://spring.io/projects/spring-boot/https://spring.io/quickstarthttps://start.spring.io/https://github.com/spring......
  • 由Django框架分析WSGI
    下面我们以django为例,分析一下wsgi的整个流程djangoWSGIapplicationWSGIapplication应该实现为一个可调用iter对象,例如函数、方法、类(包含**call**方法)。需要接收两个参数:一个字典,该字典可以包含了客户端请求的信息以及其他信息,可以认为是请求上下文,一般叫做environment(编......
  • 奥特曼净资产破20亿美元;苹果计划通过线上渠道发布 2024 款 iPad 和 Mac丨 RTE 开发者
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑......
  • springboot3+vue3(三)接口参数校验Spring Validation框架
    1、引入Validation依赖<!--参数校验依赖validation--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>va......
  • C#/.NET/.NET Core优秀项目和框架2024年2月简报
    前言公众号每月定期推广和分享的C#/.NET/.NETCore优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码......
  • python接口自动化系列(03):创建自动化框架项目
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074实现目标搭建能基于pytest运行测试用例的项目。 创建项目1、输入项目名称2、选择项目位置3、自定义虚拟环境(默认即可) 创建完成 安装pytest补充:python虚拟环境操作,详见:https://www.cnblogs.c......
  • python接口自动化系列(01):自动化测试框架设计
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074先看下最终效果(gif) 报告总览 前言之前分享了java自动化(详见:https://www.cnblogs.com/uncleyong/p/15867903.html),部分小伙伴建议分享一个python版本,安排!!!当然,通过测试招聘要求大家也可以发现,目前......
  • Volatile关键字原理
    转载请标明:https://www.cnblogs.com/tangZH/p/15113505.html一、如果一个变量被volatile关键字修饰,那么所有线程都是可见的。所谓可见就是,当一条线程修改了这个变量值,新值对于其他线程来时是立即可见的; 而普通变量不能做到这一点。 1、现在计算机缓存架构:  CPU与内存之......