public override void AfterCreateNewData(EventArgs e) { long personID = 0; base.AfterCreateNewData(e); string formId = "BD_Department";//部门FORMID Kingdee.BOS.Core.Metadata.FormMetadata formMetaData = MetaDataServiceHelper.GetFormMetaData(this.View.Context, formId); List <long> OrgIds = new List <long>(); OrgIds.Add(this.Context.CurrentOrganizationInfo.ID); DataRuleFilterParamenter filterParameter = new DataRuleFilterParamenter(formId) { PermissionItemId = Kingdee.BOS.Core.Permission.PermissionConst.View,//查看权限项 SubSystemId = formMetaData.BusinessInfo.GetForm().SubsysId, BusinessInfo = formMetaData.BusinessInfo, IsLookUp = true,//是否基础资料权限 bzIsolateOrgIds = OrgIds, //OrgId = this.Context.CurrentOrganizationInfo.ID, ParentFormId = "PAEZ_DisPlayShow"//货架陈列展示FORMID }; DataRuleFilterObject filterObject = PermissionServiceHelper.LoadDataRuleFilter(this.View.Context, filterParameter);//获取权限过滤条件 Kingdee.BOS.Core.SqlBuilder.QueryBuilderParemeter queryParameter = new Kingdee.BOS.Core.SqlBuilder.QueryBuilderParemeter { FormId = formId, BusinessInfo = formMetaData.BusinessInfo, PermissionItemId = Kingdee.BOS.Core.Permission.PermissionConst.View, FilterClauseWihtKey = filterObject.FilterString,//过滤条件 }; Kingdee.BOS.Orm.DataEntity.DynamicObject[] stockObjects = BusinessDataServiceHelper.Load(this.View.Context, formMetaData.BusinessInfo.GetDynamicObjectType(), queryParameter); if (stockObjects.Count() > 0) { string strSql = string.Format(@"/*dialect*/SELECT FLINKOBJECT FROM T_SEC_USER WHERE FUSERID = {0}", this.View.Context.UserId); personID = DBUtils.ExecuteScalar <long>(this.View.Context, strSql, 0, null); if (personID > 0) { string searchSql = string.Format(@"SELECT COUNT(1) FROM USER_TABLES WHERE TABLE_NAME = 'TABLE{0}'", personID); int num = DBUtils.ExecuteScalar <int>(this.View.Context, searchSql, 0, null); if (num > 0) { string dropSql = string.Format(@"/*dialect*/drop table TABLE{0}", personID); DBUtils.Execute(this.View.Context, dropSql); } string createSql = string.Format(@"/*dialect*/create table TABLE{0} ( DEPTID NUMBER(10) not null, DEPTNAME NVARCHAR2(255) not null )", personID); DBUtils.Execute(this.View.Context, createSql); object[] stockId = (from c in stockObjects select c[0]).ToArray(); string ids = string.Join(",", stockId); string insertSql = string.Format(@"/*dialect*/INSERT INTO TABLE{0} SELECT DEPT.FDEPTID,DEPTL.FNAME FROM T_BD_DEPARTMENT DEPT INNER JOIN T_BD_DEPARTMENT_L DEPTL ON DEPT.FDEPTID = DEPTL.FDEPTID WHERE DEPT.FDEPTID IN ({1})", personID, ids); DBUtils.Execute(this.View.Context, insertSql); } } JSONObject webobj = new JSONObject(); webobj["source"] = string.Format(@"http://221.180.255.112:9000/taoli/action2/delivery_deliveryLinebMapWeb.action?orgID={0}&orgName={1}&personID={2}", this.View.Context.CurrentOrganizationInfo.ID, this.View.Context.CurrentOrganizationInfo.Name, personID); webobj["height"] = 545; webobj["width"] = 810; webobj["isweb"] = true; //是否新弹出一个浏览器窗口(or选项卡)打开网页地址 webobj["title"] = "金蝶官网"; this.View.AddAction("ShowKDWebbrowseForm", webobj); this.View.SendDynamicFormAction(this.View); this.View.Close(); }
protected override void Bump() { FormMetadata formMetaData = MetaDataServiceHelper.GetFormMetaData(base.Context, "CRM_OPP_Opportunity"); base.SetBumpData("CRM_OPP_Opportunity", formMetaData); }
private string SubmitWorkflow(Context ctx, string formId, string pKValue, string receiverName, string actionResult, string disposition, bool isApprovalFlow) { string reason = ""; DataSet ds = DBUtils.ExecuteDataSet(ctx, @"select b.FASSIGNID,b.FAPPROVALASSIGNID,a.FACTINSTID,a.FRECEIVERNAMES from t_wf_assign a join T_WF_APPROVALASSIGN b on a.fassignid=b.fassignid where b.Fobjecttypeid=@FormID and b.Fkeyvalue=@pKValue and a.FSTATUS=0", new List <SqlParam> { new SqlParam("@FormID", DbType.String, formId), new SqlParam("@pKValue", DbType.String, pKValue) }); DataRow row = ds.Tables[0].Rows.Cast <DataRow>().FirstOrDefault(dr => dr["FRECEIVERNAMES"].ToString().Split(',').Any(r => r == receiverName)); if (row == null) { reason = "未找到待办任务"; return(reason); } string assignId = row["FASSIGNID"].ToString(); string approvalAssignId = row["FAPPROVALASSIGNID"].ToString(); string _approvalItemId = AssignmentServiceHelper.OpenApprovalItem(ctx, ctx.UserId, assignId, false); FormMetadata formMetadata = MetaDataServiceHelper.GetFormMetaData(ctx, formId); DynamicObject ObjData = BusinessDataServiceHelper.LoadSingle(ctx, pKValue, formMetadata.BusinessInfo.GetDynamicObjectType()); BusinessInfo businessInfo = formMetadata.BusinessInfo; var _approvalItem = AssignmentServiceHelper.GetApprovalItemById(ctx, _approvalItemId); if (_approvalItem == null) { reason = "待办任务所在的流程实例不在运行中,不能进行处理!"; return(reason); } _approvalItem.ObjData = ObjData; _approvalItem.ReceiverPostId = 0; _approvalItem.ActionResult = actionResult; _approvalItem.Disposition = disposition.ToString(); AssignResult assignResult = _approvalItem.Actions != null?_approvalItem.Actions.FirstOrDefault(i => i.Id == actionResult) : null; AssignResultApprovalType approvalType = assignResult != null ? assignResult.ApprovalType : AssignResultApprovalType.None; _approvalItem.ActionResultType = approvalType; _approvalItem.Status = ApprovalItemStatus.Completed; DateTime timeNow = TimeServiceHelper.GetSystemDateTime(ctx); _approvalItem.CompletedTime = timeNow; ObjectActivityInstance _activityInstance = AssignmentServiceHelper.ConvertActivityModel( ctx, businessInfo, approvalAssignId, _approvalItem); var option = OperateOption.Create(); if (isApprovalFlow) { ApprovalAssignmentContext assignCtx = new ApprovalAssignmentContext() { ApprovalItems = new List <ApprovalItem>() { _approvalItem }, Info = businessInfo, Option = option }; assignCtx.NextActHandler = null; assignCtx.RejectReturn = false; assignCtx.ActivityInstance = _activityInstance; if (actionResult == AssignResultApprovalType.Reject.ToString()) { var _policy = AssignmentServiceHelper.GetApprovalAssignByAssignId(ctx, assignId); var nextHandleWrapper = new Kingdee.BOS.ApprovalFlow.PlugIns.Mobile.MobNextHandleWrapper(assignId, ctx, _policy); assignCtx.Target = nextHandleWrapper.RejectActivityModel.ActivityId; } ApprovalAssignmentServiceHelper.SubmitApprovalItem(ctx, assignCtx); reason = ""; return(reason); } else { ApprovalAssignmentContext assignCtx = new ApprovalAssignmentContext() { ApprovalItems = new List <ApprovalItem>() { _approvalItem }, Info = businessInfo, Option = option }; assignCtx.NextActHandler = null; assignCtx.RejectReturn = false; assignCtx.ActivityInstance = _activityInstance; ApprovalAssignmentServiceHelper.SubmitApprovalItem(ctx, assignCtx); reason = ""; return(reason); } //if (actionResult == AssignResultApprovalType.Reject.ToString()) //{ // string actInstId = row["FACTINSTID"].ToString(); // Kingdee.BOS.Workflow.App.Core.ProcInstService procInstService = new Kingdee.BOS.Workflow.App.Core.ProcInstService(); // var rejectActivityIds = procInstService.GetBackActInstList(ctx, actInstId, true).Select(r => r.ActivityId); // if (!rejectActivityIds.Any()) // { // reason = "无驳回节点"; // return reason; // } // assignCtx.Target = rejectActivityIds.FirstOrDefault(); //} }