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 为是否提交流程操作 } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结