/// <summary> /// 提交 /// </summary> /// <param name="ctx"></param> /// <param name="FormID"></param> /// <param name="ids"></param> /// <returns></returns> public IOperationResult SubmitBill(Context ctx, string FormID, object[] ids) { IMetaDataService metaService = ServiceHelper.GetService <IMetaDataService>(); //元数据服务 FormMetadata Meta = metaService.Load(ctx, FormID) as FormMetadata; //获取元数据 OperateOption submitOption = OperateOption.Create(); IOperationResult submitResult = BusinessDataServiceHelper.Submit(ctx, Meta.BusinessInfo, ids, "Submit", submitOption); return(submitResult); //IMetaDataService metaService = ServiceHelper.GetService<IMetaDataService>(); //FormMetadata targetBillMeta = metaService.Load(ctx, FormID) as FormMetadata; //// 构建保存操作参数:设置操作选项值,忽略交互提示 //OperateOption submitOption = OperateOption.Create(); //// 忽略全部需要交互性质的提示,直接保存; ////saveOption.SetIgnoreWarning(true); // 忽略交互提示 ////saveOption.SetInteractionFlag(this.Option.GetInteractionFlag()); // 如果有交互,传入用户选择的交互结果 //// using Kingdee.BOS.Core.Interaction; ////saveOption.SetIgnoreInteractionFlag(this.Option.GetIgnoreInteractionFlag()); ////// 如下代码,强制要求忽略交互提示(演示案例不需要,注释掉) //submitOption.SetIgnoreWarning(true); ////// using Kingdee.BOS.Core.Interaction; //submitOption.SetIgnoreInteractionFlag(true); //// 调用保存服务,自动保存 //ISubmitService submitService = ServiceHelper.GetService<ISubmitService>(); //IOperationResult submitResult = submitService.Submit(ctx, targetBillMeta.BusinessInfo, ids, "Submit", submitOption); //return submitResult; }
/// <summary> ///累加日计划面积 /// </summary> /// <param name="e"></param> public override void EndOperationTransaction(EndOperationTransactionArgs e) { base.EndOperationTransaction(e); IViewService Services = ServiceHelper.GetService <IViewService>(); if (selectedRows != null && selectedRows.Count() != 0) { IMetaDataService metadataService = Kingdee.BOS.App.ServiceHelper.GetService <IMetaDataService>(); foreach (DynamicObject dy in selectedRows) { string Id = Convert.ToString(dy["Id"]); if (dy["SZXY_TFJCDEntry2"] is DynamicObjectCollection Entry) { foreach (var item in Entry) { decimal PlyAvg = Convert.ToDecimal(item["F_SZXY_PLyAvg"]); string TFCode = Convert.ToString(item["F_SZXY_TFNo1"]); if (!TFCode.IsNullOrEmptyOrWhiteSpace() && Convert.ToInt32(PlyAvg) > 0) { string sql1 = $"/*dialect*/update SZXY_t_XYTFEntry set F_SZXY_SJPLY={PlyAvg} " + $" where F_SZXY_COATCODE='{TFCode}' "; DBServiceHelper.Execute(Context, sql1); } } } } } }
public static async Task <IActionResult> Patch( [HttpTrigger(AuthorizationLevel.Anonymous, "patch", Route = "book/{id}")] HttpRequestMessage req, [Inject] IBookService bookservice, [Inject] IMetaDataService metaDataService, string id, [Inject] IValidator <Book> bookValidator) { Guid bookUniqueIdentifier; if (!Guid.TryParse(id, out bookUniqueIdentifier)) { return(new BadRequestObjectResult(new Error("400", $"Invalid book id supplied. Book id: {id}."))); } Book book = await bookservice.GetBookAsync(id); if (book == null) { return(new NotFoundObjectResult(new Error("404", $"Cannot find book with id {id}."))); } HttpResponseBody <JsonPatchDocument <Book> > body = await req.GetBodyAsync <JsonPatchDocument <Book> >(); body.Value.ApplyTo(book); book.UpdatedDate = DateTime.UtcNow; var validationResult = bookValidator.Validate(book); if (!validationResult.IsValid) { return(new BadRequestObjectResult(validationResult)); } await bookservice.UpdateBookAsync(book); return(new OkObjectResult("Updated")); }
/// <summary> ///累加日计划面积 /// </summary> /// <param name="e"></param> public override void EndOperationTransaction(EndOperationTransactionArgs e) { base.EndOperationTransaction(e); IViewService Services = ServiceHelper.GetService <IViewService>(); if (selectedRows != null && selectedRows.Count() != 0) { IMetaDataService metadataService = Kingdee.BOS.App.ServiceHelper.GetService <IMetaDataService>(); string SoureFormId = "SZXY_FHJTRSCJH"; //获取单据元数据 FormMetadata BilMetada = metadataService.Load(Context, SoureFormId) as FormMetadata; foreach (DynamicObject dy in selectedRows) { string Id = Convert.ToString(dy["Id"]); decimal Area = 0; string RJHFid = string.Empty; string RJHRowId = string.Empty; RJHFid = Convert.ToString(dy["F_SZXY_FIDH"]); Area = Convert.ToDecimal(dy["F_SZXY_ProdArea"]); RJHRowId = Convert.ToString(dy["F_SZXY_FEntryIDH"]); if (Area > 0 && !RJHFid.IsNullOrEmptyOrWhiteSpace() && Convert.ToInt32(RJHFid) > 0 && Convert.ToInt32(RJHRowId) > 0) { //单据头反写复合日计划实际完成面积 string sql1 = $"/*dialect*/update SZXY_t_LSJTRSCJHEntry set F_SZXY_ProdArea=F_SZXY_ProdArea-{Area} " + $" where Fid={RJHFid}" + $" and FEntryID={RJHRowId} "; DBServiceHelper.Execute(Context, sql1); } } } }
/// <summary> ///累加日计划面积 /// </summary> /// <param name="e"></param> public override void EndOperationTransaction(EndOperationTransactionArgs e) { base.EndOperationTransaction(e); IViewService Services = ServiceHelper.GetService <IViewService>(); if (selectedRows != null && selectedRows.Count() != 0) { IMetaDataService metadataService = Kingdee.BOS.App.ServiceHelper.GetService <IMetaDataService>(); foreach (DynamicObject dy in selectedRows) { string Id = Convert.ToString(dy["Id"]); decimal Area = 0; string RJHRowId = string.Empty; if (dy["SZXY_SFDEntry"] is DynamicObjectCollection Entry) { foreach (var item in Entry) { Area = Convert.ToDecimal(item["F_SZXY_AREA"]); //反写日计划实际完成面积 RJHRowId = Convert.ToString(item["F_SZXY_RJHEntryID"]); if (!RJHRowId.IsNullOrEmptyOrWhiteSpace() && Convert.ToInt32(RJHRowId) > 0) { string sql1 = $"/*dialect*/update SZXY_t_SFJTRSCJHEntry set F_SZXY_ProductionArea=F_SZXY_ProductionArea+{Area} " + $" where FEntryID={RJHRowId} "; DBServiceHelper.Execute(Context, sql1); } } } } } }
public static async Task <IActionResult> Post( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "book")] HttpRequestMessage req, [Inject] IBookService bookservice, [Inject] IMetaDataService metaDataService, [Inject] IValidator <Book> bookValidator) { HttpResponseBody <BookModel> body = await req.GetBodyAsync <BookModel>(); // Convert DTO to Entity. Book entity = Mapper.Map <Book>(body.Value); entity.CreatedDate = DateTime.UtcNow; entity.UpdatedDate = DateTime.UtcNow; var validationResult = bookValidator.Validate(body.Value); if (!validationResult.IsValid) { return(new BadRequestObjectResult(validationResult)); } // Save entity in db, can also check GUID is unique or not, because GUID is not cryptographically unique, for now it is fine. await bookservice.InsertBookAsync(entity); // If we comes here, means Success return(new CreatedResult($"/book/{entity.BookId}", Mapper.Map <BookDTO>(entity))); }
/// <summary> ///累加日计划面积 /// </summary> /// <param name="e"></param> public override void EndOperationTransaction(EndOperationTransactionArgs e) { base.EndOperationTransaction(e); IViewService Services = ServiceHelper.GetService <IViewService>(); if (selectedRows != null && selectedRows.Count() != 0) { IMetaDataService metadataService = Kingdee.BOS.App.ServiceHelper.GetService <IMetaDataService>(); //string SoureFormId = "SZXY_FHJTRSCJH"; //获取单据元数据 //FormMetadata BilMetada = metadataService.Load(Context, SoureFormId) as FormMetadata; foreach (DynamicObject dy in selectedRows) { string Id = Convert.ToString(dy["Id"]); if (dy["SZXY_XYLSEntry1"] is DynamicObjectCollection Entrys) { foreach (var item in Entrys.Where(op => !Convert.ToString(op["F_SZXY_PlasticNo1"]).IsNullOrEmptyOrWhiteSpace())) { string FHNo = Convert.ToString(item["F_SZXY_PlasticNo1"]); if (!FHNo.IsNullOrEmptyOrWhiteSpace()) { //改写流转状态 string UpdateStateSql = string.Format("/*dialect*/update SZXY_t_XYFH set F_SZXY_Integer={0} where F_SZXY_RecNo='{1}' ", 0, Convert.ToString(FHNo)); int res = DBServiceHelper.Execute(Context, UpdateStateSql); } } } } } }
public static async Task <IActionResult> Get( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "book")] HttpRequestMessage req, [Inject] IBookService bookservice, [Inject] IMetaDataService metaDataService) { var books = await bookservice.GetBooksAsync(); return(new OkObjectResult(Mapper.Map <List <Book>, IEnumerable <BookDTO> >(books.ToList()))); }
/// <summary> /// Category constructor /// </summary> public MetaDataController( ILogger <MetaDataController> logger, IOptions <AppOptions> appOptions, IMetaDataService metaDataService) : base(logger, appOptions) { Guard.Against.Null(metaDataService, nameof(metaDataService)); _metaDataService = metaDataService; }
public HelloViewModel(IMetaDataService metaDataService) { _metaDataService = metaDataService; Providers = _metaDataService.Parsers.ToBindableCollection(); SelectedProvider = Providers.First(); _timer.Tick += SetElapsed; this.OnPropertyChanges(s => s.Context).Subscribe(_ => _stopwatch.Restart()); }
/// <summary> /// 禁用单据 /// </summary> /// <param name="ctx"></param> /// <param name="FormID">单据标识</param> /// <param name="ids">禁用单据内码集合</param> /// <param name="pkId">表主键列</param> /// <param name="tableName">表名</param> /// <param name="fieldName">禁用状态列</param> /// <param name="fieldValue">禁用值</param> /// <returns></returns> public void SetState(Context ctx, string FormID, object[] ids, string pkId, string tableName, string fieldName, string fieldValue) { IMetaDataService metaService = ServiceHelper.GetService <IMetaDataService>(); //元数据服务 FormMetadata Meta = metaService.Load(ctx, FormID) as FormMetadata; //获取元数据 OperateOption AuditOption = OperateOption.Create(); BusinessDataServiceHelper.SetState(ctx, tableName, fieldName, fieldValue, pkId, ids); }
/// <summary> /// 单据转换方法 /// </summary> /// <param name="ctx"></param> /// <param name="srcFormId"></param> /// <param name="destFormId"></param> /// <param name="ruleKey"></param> /// <returns></returns> private ConvertRuleElement GetDefaultConvertRule(Context ctx, string srcFormId, string destFormId, string ruleKey) { IMetaDataService mService = Kingdee.BOS.App.ServiceHelper.GetService <IMetaDataService>(); var rules = mService.GetConvertRules(ctx, srcFormId, destFormId); var rule = ruleKey.IsNullOrEmptyOrWhiteSpace() ? rules.FirstOrDefault(p => p.IsDefault) : rules.FirstOrDefault(t => t.Key.EqualsIgnoreCase(ruleKey) || t.Id.EqualsIgnoreCase(ruleKey)); return(rule); }
/// <summary> /// 另一种保存服务 /// </summary> /// <param name="ctx"></param> /// <param name="FormID"></param> /// <param name="dyObject"></param> /// <returns></returns> public IOperationResult BatchSaveBill(Context ctx, string FormID, DynamicObject[] dyObject) { IMetaDataService metaService = ServiceHelper.GetService <IMetaDataService>(); //元数据服务 FormMetadata Meta = metaService.Load(ctx, FormID) as FormMetadata; //获取元数据 OperateOption SaveOption = OperateOption.Create(); IOperationResult SaveResult = BusinessDataServiceHelper.Save(ctx, Meta.BusinessInfo, dyObject, SaveOption, "Save"); return(SaveResult); }
public DynamicObject GetBasicObject(Context ctx, string formID, long ObjectID) { IMetaDataService metaService = ServiceHelper.GetService <IMetaDataService>(); //元数据服务 IViewService view = ServiceHelper.GetService <IViewService>(); //界面服务 FormMetadata Meta = metaService.Load(ctx, formID) as FormMetadata; //获取基础资料元数据 DynamicObject BasicObject = view.LoadSingle(ctx, ObjectID, Meta.BusinessInfo.GetDynamicObjectType()); return(BasicObject); }
public IOperationResult AuditBill(Context ctx, string FormID, object[] ids) { IMetaDataService metaService = ServiceHelper.GetService <IMetaDataService>(); //元数据服务 FormMetadata Meta = metaService.Load(ctx, FormID) as FormMetadata; //获取元数据 OperateOption AuditOption = OperateOption.Create(); IOperationResult AuditResult = BusinessDataServiceHelper.Audit(ctx, Meta.BusinessInfo, ids, AuditOption); return(AuditResult); }
/// <summary> /// 暂存单据 /// </summary> /// <param name="ctx"></param> /// <param name="FormID"></param> /// <param name="dyObject"></param> /// <returns></returns> public IOperationResult DraftBill(Context ctx, string FormID, DynamicObject[] dyObject) { IMetaDataService metaService = ServiceHelper.GetService <IMetaDataService>(); //元数据服务 FormMetadata Meta = metaService.Load(ctx, FormID) as FormMetadata; //获取元数据 OperateOption DraftOption = OperateOption.Create(); IOperationResult DraftResult = BusinessDataServiceHelper.Draft(ctx, Meta.BusinessInfo, dyObject, DraftOption, "Draft"); return(DraftResult); }
public SearchViewModel(IMetaDataService service) { TypItems = ComboBoxItems.Typ; CmdSuchen = new DelegateCommand(OnCmdSuchen); CmdReset = new DelegateCommand(OnCmdReset); CmdOeffnen = new DelegateCommand(OnCmdOeffnen, OnCanCmdOeffnen); MetaDataService = service; }
/// <summary> ///累加日计划面积 /// </summary> /// <param name="e"></param> public override void EndOperationTransaction(EndOperationTransactionArgs e) { base.EndOperationTransaction(e); IViewService Services = ServiceHelper.GetService <IViewService>(); if (selectedRows != null && selectedRows.Count() != 0) { IMetaDataService metadataService = Kingdee.BOS.App.ServiceHelper.GetService <IMetaDataService>(); //string SoureFormId = "SZXY_FHJTRSCJH"; //获取单据元数据 //FormMetadata BilMetada = metadataService.Load(Context, SoureFormId) as FormMetadata; foreach (DynamicObject dy in selectedRows) { string Id = Convert.ToString(dy["Id"]); decimal Area = 0; string RJHFid = string.Empty; string RJHRowId = string.Empty; //RJHFid = Convert.ToString(dy["F_SZXY_FIDH"]); //Area = Convert.ToDecimal(dy["F_SZXY_Area"]); //RJHRowId = Convert.ToString(dy["F_SZXY_RJHEntryID"]); if (dy["SZXY_XYFQEntry"] is DynamicObjectCollection Entry) { foreach (var item in Entry) { Area = Convert.ToDecimal(item["F_SZXY_AREA"]); //反写日计划实际完成面积 RJHRowId = Convert.ToString(item["F_SZXY_RJHEntryID"]); if (!RJHRowId.IsNullOrEmptyOrWhiteSpace() && Convert.ToInt32(RJHRowId) > 0) { string sql1 = $"/*dialect*/update SZXY_t_FQJTRSCJHEntry set F_SZXY_ProductionArea=F_SZXY_ProductionArea-{Area}," + $" where FEntryID={RJHRowId}"; DBServiceHelper.Execute(Context, sql1); } } } //string SelSql = $"/*dialect*/select * from SZXY_t_XYFQEntry where SZXY_t_XYFQEntry.Fid={Id} "; //DataSet SelDS= DBServiceHelper.ExecuteDataSet(Context, SelSql); //if (SelDS != null && SelDS.Tables.Count > 0 && SelDS.Tables[0].Rows.Count > 0) //{ //} string SelSql = $"/*dialect*/insert into SZXY_t_XYFQEntry select * from SZXY_t_XYFQEntryCopy where SZXY_t_XYFQEntryCopy.Fid={Id} "; DBServiceHelper.Execute(Context, SelSql); string DelSql = $"/*dialect*/delete from SZXY_t_XYFQEntryCopy where SZXY_t_XYFQEntryCopy.Fid ={Id} "; DBServiceHelper.Execute(Context, DelSql); } } }
/// <summary> /// The dependency injected constructor /// </summary> /// <param name="logger">The logger</param> /// <param name="meta">The meta data service</param> /// <param name="image">The image cache service</param> /// <param name="api">The siege cache service</param> public MetaDataController( ILogger <MetaDataController> logger, IMetaDataService meta, IImageCacheService image, ISiegeService api) { _logger = logger; _meta = meta; _image = image; _api = api; }
public override void DataChanged(DataChangedEventArgs e) { base.DataChanged(e); string key = e.Field.Key.ToUpperInvariant(); DynamicObject BasicObject; //判断实收数量是否改变 if ((key == "FREALQTY" && Convert.ToInt32(e.NewValue) > 0) || (key == "FSTOCKDEPTID" && Convert.ToInt32(e.NewValue) > 0)) { //获取单据组织 DynamicObject stockOrg = this.Model.GetValue("FSTOCKORGID") as DynamicObject; long orgId = Convert.ToInt64(stockOrg["Id"]); //获取单据部门(需要判断是否为工厂) DynamicObject stockDept = this.Model.GetValue("FSTOCKDEPTID") as DynamicObject; long stockDeptId = Convert.ToInt64(stockDept["Id"]); //sql 执行sql查询对应组织工厂成品库 string sql = string.Format(@" select t1.fstockId from t_bd_stock t1 inner join t_bd_stock_l t2 on t1.fstockid = t2.fstockid where t2.fname like '%工厂成品库%' and fuseorgid={0}", orgId); long result = DBUtils.ExecuteScalar <long>(base.Context, sql, -1, null); if (result != -1 && result != 0) { IMetaDataService metaService = ServiceHelper.GetService <IMetaDataService>(); //元数据服务 IViewService view = ServiceHelper.GetService <IViewService>(); //界面服务 FormMetadata Meta = metaService.Load(base.Context, "BD_STOCK") as FormMetadata; //获取基础资料元数据 BasicObject = view.LoadSingle(base.Context, result, Meta.BusinessInfo.GetDynamicObjectType()); //sql2 执行sql查询 界面是否为工厂 string sql2 = string.Format(@" select t.fdeptid from t_bd_department_l t where t.fname like '%工厂%' "); DynamicObjectCollection result2 = DBUtils.ExecuteDynamicObject(this.Context, sql2); //遍历工厂 foreach (DynamicObject stock in result2) { if (stock["FDeptId"].Equals(stockDeptId)) { int row = this.Model.GetEntryRowCount("FInStockEntry"); for (int i = 0; i < row; i++) { this.Model.SetValue("FStockId", BasicObject, i); } break; } if (!stock["FDeptId"].Equals(stockDeptId)) { int row = this.Model.GetEntryRowCount("FInStockEntry"); for (int i = 0; i < row; i++) { this.Model.SetValue("FStockId", null, i); } } } } } }
public BusinessInfo GetDemensionMetaData(string formId) { BusinessInfo businessInfo; IMetaDataService service = ServiceHelper.GetService <IMetaDataService>(); if (!this.dicDimensionMetaData.TryGetValue(formId, out businessInfo)) { FormMetadata metadata = service.Load(base.Context, formId, true) as FormMetadata; businessInfo = metadata.BusinessInfo; this.dicDimensionMetaData.Add(formId, businessInfo); } return(businessInfo); }
public HttpResponseMessage GetReadOnlyMetaData(Guid versionId, Guid entityId) { try { IMetaDataService servMetaData = Utility.MyUnityHelper.UnityHelper.Resolve <IMetaDataService>(); ICollection <TakeDocModel.Dto.Document.ReadOnlyMetadata> metas = servMetaData.GetReadOnlyMetaData(versionId, entityId); return(Request.CreateResponse(metas)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
public static string GetExpandFieldSql(Context context, string tableName, string billFormFiedName) { IMetaDataService service = ServiceHelper.GetService <IMetaDataService>(); string[] strArray = GetBillFormId(context, tableName, billFormFiedName); if (strArray.Length == 0) { return(string.Empty); } List <OutAcctgSeqConfig> source = new OutInStockIndexService().GetAcctgIndexData(context, 0L, 0L, string.Format(" FBILLFROMID in ('{0}')", string.Join("','", strArray))); StringBuilder builder = new StringBuilder(); string[] strArray2 = strArray; for (int j = 0; j < strArray2.Length; j++) { Func <OutAcctgSeqConfig, bool> predicate = null; string item = strArray2[j]; FormMetadata mete = (FormMetadata)service.Load(context, item, true); if (predicate == null) { predicate = i => i.BillFromId.ToUpper() == item.ToUpper(); } OutAcctgSeqConfig config = source.FirstOrDefault <OutAcctgSeqConfig>(predicate); if (config != null) { config.Initialization(mete, null); Field extQtyField = null; foreach (string str in qtyFieldNames) { extQtyField = mete.BusinessInfo.GetField(str); if (extQtyField != null) { break; } } if (extQtyField != null) { Field field = mete.BusinessInfo.GetField(config.QtyField); Field matField = mete.BusinessInfo.GetField(config.MaterialField); if (!string.IsNullOrEmpty(builder.ToString())) { builder.AppendLine(" union all "); } builder.AppendLine(GetBills(tableName, matField, field, extQtyField, billFormFiedName, item)); } } } return(builder.ToString()); }
public HttpResponseMessage GetMetaData(Guid versionId, Guid entityId) { IMetaDataService servMetaData = Utility.MyUnityHelper.UnityHelper.Resolve <IMetaDataService>(); try { ICollection <TakeDocModel.MetaData> metadatas = servMetaData.GetByVersion(versionId, entityId); ICollection <object> json = servMetaData.GetJson(metadatas); return(Request.CreateResponse(json)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
/// <summary> /// 提交进入工作流 /// </summary> /// <param name="ctx"></param> /// <param name="FormID"></param> /// <param name="ids"></param> /// <returns></returns> public IOperationResult SubmitWorkFlowBill(Context ctx, string FormID, string billId) { IMetaDataService metaService = ServiceHelper.GetService <IMetaDataService>(); //元数据服务 FormMetadata Meta = metaService.Load(ctx, FormID) as FormMetadata; //获取元数据 // 首先判断单据是否已经有未完成的工作流 IProcInstService procInstService = Kingdee.BOS.Workflow.Contracts.ServiceFactory.GetProcInstService(ctx); bool isExist = procInstService.CheckUnCompletePrcInstExsit(ctx, FormID, billId); if (isExist) { throw new KDBusinessException("AutoSubmit-001", "该单据已经启动了流程,不允许重复提交!"); } // 读取单据的工作流配置模板 IWorkflowTemplateService wfTemplateService = Kingdee.BOS.Workflow.Contracts.ServiceFactory.GetWorkflowTemplateService(ctx); List <FindPrcResult> findProcResultList = wfTemplateService.GetPrcListByFormID( FormID, new string[] { billId }, ctx); if (findProcResultList == null || findProcResultList.Count == 0) { throw new KDBusinessException("AutoSubmit-002", "查找单据适用的流程模板失败,不允许提交工作流!"); } // 设置提交参数:忽略操作过程中的警告,避免与用户交互 OperateOption submitOption = OperateOption.Create(); submitOption.SetIgnoreWarning(true); IOperationResult submitResult = null; FindPrcResult findProcResult = findProcResultList[0]; if (findProcResult.Result == TemplateResultType.Error) { throw new KDBusinessException("AutoSubmit-003", "单据不符合流程启动条件,不允许提交工作流!"); } else if (findProcResult.Result != TemplateResultType.Normal) { // 本单无适用的流程图,直接走传统审批 ISubmitService submitService = ServiceHelper.GetService <ISubmitService>(); submitResult = submitService.Submit(ctx, Meta.BusinessInfo, new object[] { billId }, "Submit", submitOption); } else { // 走工作流 IBOSWorkflowService wfService = Kingdee.BOS.Workflow.Contracts.ServiceFactory.GetBOSWorkflowService(ctx); submitResult = wfService.ListSubmit(ctx, Meta.BusinessInfo, 0, new object[] { billId }, findProcResultList, submitOption); } return(submitResult); }
/// <summary> ///累加日计划面积 /// </summary> /// <param name="e"></param> public override void EndOperationTransaction(EndOperationTransactionArgs e) { base.EndOperationTransaction(e); if (selectedRows != null && selectedRows.Count() != 0) { IMetaDataService metadataService = Kingdee.BOS.App.ServiceHelper.GetService <IMetaDataService>(); //获取单据元数据 FormMetadata BilMetada = metadataService.Load(Context, "SZXY_LYJTRSCJH") as FormMetadata; foreach (DynamicObject dy in selectedRows) { string Id = Convert.ToString(dy["Id"]); string FormId = "SZXY_LYJTRSCJH"; if (dy["SZXY_XYLYEntry"] is DynamicObjectCollection entry) { decimal Area = 0; string RJHFid = string.Empty; string RJHRowId = string.Empty; foreach (var item in entry.Where(m => !Convert.ToString(m["F_SZXY_PlasticNo"]).IsNullOrEmptyOrWhiteSpace())) { RJHFid = Convert.ToString(item["F_SZXY_FID"]); Area = Convert.ToDecimal(item["F_SZXY_Area"]); RJHRowId = Convert.ToString(item["F_SZXY_FEntryID"]); if (Area != 0 && !RJHFid.IsNullOrEmptyOrWhiteSpace()) { DynamicObject RJHObejct = Utils.LoadFIDBillObject(this.Context, FormId, RJHFid); if (RJHObejct["SZXY_LYJTRSCJHEntry"] is DynamicObjectCollection SoureEntry) { var Row = from row in SoureEntry where Convert.ToString(row["id"]).EqualsIgnoreCase(RJHRowId) select row; foreach (DynamicObject SoureRow in SoureEntry.Where(p => Convert.ToString(p["id"]).EqualsIgnoreCase(RJHRowId))) { Area += Convert.ToDecimal(SoureRow["F_SZXY_ProductionArea"]); SoureRow["F_SZXY_ProductionArea"] = Area; } } var saveResult = BusinessDataServiceHelper.Save(Context, BilMetada.BusinessInfo, RJHObejct); } } } } } }
public override void EndOperationTransaction(EndOperationTransactionArgs e) { base.EndOperationTransaction(e); if (selectedRows != null && selectedRows.Count() != 0) { IMetaDataService metadataService = Kingdee.BOS.App.ServiceHelper.GetService <IMetaDataService>(); string SoureFormId = "SZXY_FHJTRSCJH"; //获取单据元数据 FormMetadata BilMetada = metadataService.Load(Context, SoureFormId) as FormMetadata; foreach (DynamicObject dy in selectedRows) { string Id = Convert.ToString(dy["Id"]); decimal Area = 0; string RJHFid = string.Empty; string RJHRowId = string.Empty; RJHFid = Convert.ToString(dy["F_SZXY_FIDH"]); Area = Convert.ToDecimal(dy["F_SZXY_InArea"]); RJHRowId = Convert.ToString(dy["F_SZXY_FEntryIDH"]); string F_SZXY_MotherVolume = Convert.ToString(dy["F_SZXY_MotherVolume"]); string F_SZXY_ligature = Convert.ToString(dy["F_SZXY_ligature"]); if (Area != 0 && !RJHFid.IsNullOrEmptyOrWhiteSpace()) { DynamicObject RJHObejct = Utils.LoadFIDBillObject(this.Context, SoureFormId, RJHFid); if (RJHObejct["SZXY_FHJTRSCJHEntry"] is DynamicObjectCollection SoureEntry) { //var Row = from row in SoureEntry // where Convert.ToString(row["id"]).EqualsIgnoreCase(RJHRowId) // select row; foreach (DynamicObject SoureRow in SoureEntry.Where(p => Convert.ToString(p["id"]).EqualsIgnoreCase(RJHRowId))) { decimal ResArea = Convert.ToDecimal(SoureRow["F_SZXY_ProductionArea"]) - Area; SoureRow["F_SZXY_ProductionArea"] = ResArea; } } var saveResult = BusinessDataServiceHelper.Save(Context, BilMetada.BusinessInfo, RJHObejct); } } } }
public static async Task <IActionResult> InsertFiles( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "Files")] HttpRequestMessage req, [Inject] IMetaDataService metaDataService, [Inject] CloudStorageAccount cloudStorageAccount) { // Check if the request contains multipart/form-data. if (!req.Content.IsMimeMultipartContent()) { return(new BadRequestObjectResult(HttpStatusCode.UnsupportedMediaType)); } //Fileurls: Key as uploaded //1.req with files in body , //2."filestorge" is containername to save files in cloudstorageaccount //3.cloudStorageAccount" is AzureWebstorageAccount with key Dictionary <string, string> fileUrls = await FileService.CreateBlobsAsync(req, "filestorage", cloudStorageAccount); return(new OkObjectResult(fileUrls)); }
/// <summary> /// To Add Metadata from request header, /// It will take device id from request header and header key values in json formate of keys defined in configuration /// </summary> /// <param name="request">HttpRequest with metadata information in header</param> /// <param name="metaDataService">Metadata service</param> /// <returns></returns> public static void AddMetaDataAsync(this HttpRequestMessage request, IMetaDataService metaDataService) { Task.Run(async() => { //Metdata entity object to insert in database MetaData metadata = new MetaData(); metadata.TimeStamp = DateTime.UtcNow; //Find DeviceId Supplied in HttpRequest header if not null assign to metadata object var deviceID = request.Headers.Contains("DeviceId") ? request.Headers.GetValues("DeviceId") : null; if (deviceID != null) { deviceID = deviceID.ToList(); metadata.SetValue("DeviceId", deviceID.FirstOrDefault()); } ///Dictionary to save key value from header and convert it to json and save in metadata var payloadPairs = new Dictionary <string, string>(); //Loop throgh each keys saved in setting.json as Headers foreach (string key in PayLoadKeys) { //If httpRequest header contains that key with value insert it into dictionary var value = request.Headers.Contains(key) ? request.Headers.GetValues(key) : null; if (value != null) { value = value.ToList(); payloadPairs.Add(key, value.FirstOrDefault()); } } //If there is one or more key value pair exist in header assign it to metadata.Payload property as json data if (payloadPairs.Count > 0) { metadata.SetValue("Payload", JsonConvert.SerializeObject(payloadPairs)); } //If DeviceId is assigned from header insert metadata object to database using metaDataService if (!string.IsNullOrEmpty(metadata.DeviceId)) { await metaDataService.InsertMetaDataAsync(metadata); } }); }
public static async Task <IActionResult> GetById( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "book/{id}")] HttpRequestMessage req, [Inject] IBookService bookservice, [Inject] IMetaDataService metaDataService, string id) { Guid bookUniqueIdentifier; if (!Guid.TryParse(id, out bookUniqueIdentifier)) { return(new BadRequestObjectResult(new Error("400", $"Invalid book id supplied. Book id: {id}."))); } BookDTO book = Mapper.Map <BookDTO>(await bookservice.GetBookAsync(id)); if (book == null) { return(new NotFoundObjectResult(new Error("404", $"Cannot find book with id {id}."))); } return(new OkObjectResult(book)); }