Esempio n. 1
0
        /// <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);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 3
0
        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);
                    }
                }
            }
        }
Esempio n. 5
0
        /// <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);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 6
0
        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)));
        }
Esempio n. 7
0
        /// <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);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 8
0
        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;
 }
Esempio n. 10
0
 public HelloViewModel(IMetaDataService metaDataService)
 {
     _metaDataService = metaDataService;
     Providers        = _metaDataService.Parsers.ToBindableCollection();
     SelectedProvider = Providers.First();
     _timer.Tick     += SetElapsed;
     this.OnPropertyChanges(s => s.Context).Subscribe(_ => _stopwatch.Restart());
 }
Esempio n. 11
0
        /// <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);
        }
Esempio n. 12
0
        /// <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);
        }
Esempio n. 13
0
        /// <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);
        }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
        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);
        }
Esempio n. 16
0
        /// <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);
        }
Esempio n. 17
0
        public SearchViewModel(IMetaDataService service)
        {
            TypItems = ComboBoxItems.Typ;

            CmdSuchen  = new DelegateCommand(OnCmdSuchen);
            CmdReset   = new DelegateCommand(OnCmdReset);
            CmdOeffnen = new DelegateCommand(OnCmdOeffnen, OnCanCmdOeffnen);

            MetaDataService = service;
        }
Esempio n. 18
0
        /// <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);
                }
            }
        }
Esempio n. 19
0
 /// <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;
 }
Esempio n. 20
0
        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);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 21
0
        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);
        }
Esempio n. 22
0
        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));
            }
        }
Esempio n. 23
0
        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());
        }
Esempio n. 24
0
        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));
            }
        }
Esempio n. 25
0
        /// <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);
                    }
                }
            }
        }
Esempio n. 28
0
        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);
                }
            });
        }
Esempio n. 30
0
        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));
        }