FaustDream
  if(actionName == "Submit")
        {
            H3.DataModel.BizObject masterBo = this.Request.BizObject;
            //下班时间
            DateTime Checkinperiod = Convert.ToDateTime(masterBo["Checkinperiod"]);
            //获取是否按钮
            bool switchOT = Convert.ToBoolean(masterBo["SwitchOT"]);

            DateTime swo = Convert.ToDateTime("18:00");

            string Checkintype = masterBo["Checkintype"] + string.Empty;
            if(switchOT && Checkinperiod > swo && Checkintype == "下班打卡")
            {
                //获取D002033d77c757585ff46658b0465482e43fec7表单的表单结构对象
                H3.DataModel.BizObjectSchema aSchema = Engine.BizObjectManager.GetPublishedSchema("D002033d77c757585ff46658b0465482e43fec7");
                //new一个D002033d77c757585ff46658b0465482e43fec7表单的业务对象
                H3.DataModel.BizObject aBo = new H3.DataModel.BizObject(this.Engine, aSchema, this.Request.UserContext.UserId);
                //设置业务对象的创建人为当前登录人
                aBo["F0000006"] = masterBo["Signinperson"];
                //加班开始时间
                aBo["F0000002"] = DateTime.Parse(Checkinperiod.Year + "/" + Checkinperiod.Month + "/" + Checkinperiod.Day + " 18:00:00");
                //加班结束时间
                aBo["F0000003"] = Checkinperiod;
                //审批人
                aBo["F0000005"] = "b1da064e-be77-4a1b-89a7-4b6abc4da1f3";
                //加班时长
                TimeSpan otTime = Checkinperiod - swo;
                aBo["F0000004"] = otTime.TotalHours;
                //设置业务对象数据为生效状态
                // aBo.Status = H3.DataModel.BizObjectStatus.Effective;

                //设置流程id
                string instanceId = System.Guid.NewGuid().ToString();
                if(string.IsNullOrEmpty(aBo.WorkflowInstanceId))
                    aBo.WorkflowInstanceId = instanceId;

                //将业务对象创建到数据库中,即创建到表名为i_D000001Account的表中
                aBo.Create();

                //激活流程
                H3.Workflow.Instance.WorkflowInstance wfInstance = this.Engine.WorkflowInstanceManager.GetWorkflowInstance(aBo.WorkflowInstanceId);
                if(wfInstance == null)
                {
                    //启动流程
                    string workItemID = string.Empty;
                    string errorMsg = string.Empty;
                    H3.Workflow.Template.WorkflowTemplate wfTemp = this.Engine.WorkflowTemplateManager.GetDefaultWorkflow(aBo.Schema.SchemaCode);
                    this.Engine.Interactor.OriginateInstance(this.Request.UserContext.UserId, aBo.Schema.SchemaCode,
                        wfTemp.WorkflowVersion, aBo.ObjectId, aBo.WorkflowInstanceId, H3.Workflow.WorkItem.AccessMethod.Web,
                        true, string.Empty, true, out workItemID, out errorMsg);
                }//第七个参数 false/true 为是否提交流程操作

            }
        }

 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-19
  • 2021-07-23
  • 2021-08-07
猜你喜欢
  • 2022-12-23
  • 2021-11-28
  • 2021-10-06
  • 2022-12-23
  • 2022-12-23
  • 2021-12-29
  • 2022-12-23
相关资源
相似解决方案