Exemplo n.º 1
0
        /// <summary>
        /// 根据 entityType , 返回对应的有关系的 FBEntity的集合, 
        /// </summary>
        /// <param name="fbEntity"></param>
        /// <param name="entityType">有关系的对象集合类型</param>
        /// <returns>如果不存在,将会创建相应的集合</returns>
        private ObservableCollection<FBEntity> GetRelationFBEntities(FBEntity fbEntity, string entityType)
        {
            ObservableCollection<FBEntity> listFBEntities = null;
            try
            {
                RelationManyEntity rmEntity = fbEntity.CollectionEntity.FirstOrDefault(item =>
                {
                    return item.EntityType == entityType;
                });

                if (rmEntity == null)
                {
                    rmEntity = new RelationManyEntity();
                    rmEntity.EntityType = entityType;
                    rmEntity.FBEntities = new ObservableCollection<FBEntity>();
                    fbEntity.CollectionEntity.Add(rmEntity);
                }
                listFBEntities = rmEntity.FBEntities;
            }
            catch (Exception ex)
            {

            }
            return listFBEntities;
        }
Exemplo n.º 2
0
 protected bool CheckSameSubject(FBEntity entity)
 {
     var listDetail = this.OrderEntity.GetRelationFBEntities(typeof(T_FB_BORROWAPPLYDETAIL).Name).ToList();
     var entityDetail = listDetail.FirstOrDefault(item =>
     {
         string str1 = item.GetObjValue("Entity.T_FB_SUBJECT.SUBJECTID").ToString();
         string str2 = entity.GetObjValue("Entity.T_FB_SUBJECT.SUBJECTID").ToString();
         return (str1 == str2) && (!string.IsNullOrEmpty(str1));
     });
     return entityDetail != null;
 }
Exemplo n.º 3
0
        public static void LoadComments(FBEntity Item, ListBox lstComments, Button btnCommentsMore, bool nextpage)
        {
            string lastid = null;
            var offset = 0;
            if (nextpage)
            {
                var current = lstComments.ItemsSource as VirtualizedCollection<Comment>;
                if (current != null)
                {
                    lastid = current.Last().Id;
                    offset = current.Count;
                }
            }

            LoadingManager.Start();
            Item.GetComments(list =>
            {
                ThreadHelper.RunOnUI(() =>
                {
                    var loadmoreenabled = nextpage ? list.Any() : list.Count >= FBDataAccess.LIST_LIMIT_SIZE;

                    if (lastid.HasValue())
                    {
                        var current = lstComments.ItemsSource as VirtualizedCollection<Comment>;
                        if (current != null)
                        {
                            list = new VirtualizedCollection<Comment>(current.Concat(list).Distinct(a => a.Id));
                        }
                    }

                    lstComments.ItemsSource = list;
                    btnCommentsMore.Visibility = loadmoreenabled.ToVisibility();
                    btnCommentsMore.IsEnabled = true;
                });
                LoadingManager.Stop();
            }, lastid, offset);
        }
Exemplo n.º 4
0
        //自定义汇总
        public bool CreateDeptBudgetSumSetMaster(FBEntity fbMaster)
        {
            bool bRes = false;
            T_FB_DEPTBUDGETSUMMASTER Master = fbMaster.Entity as T_FB_DEPTBUDGETSUMMASTER;

            foreach (var entity in Master.T_FB_DEPTBUDGETSUMDETAIL)
            {
                T_FB_DEPTBUDGETSUMDETAIL detail = new T_FB_DEPTBUDGETSUMDETAIL();

                detail.DEPTBUDGETSUMDETAILID      = Guid.NewGuid().ToString();
                detail.CREATEUSERID               = SYSTEM_USER_ID;
                detail.CREATEDATE                 = System.DateTime.Now;
                detail.UPDATEUSERID               = SYSTEM_USER_ID;
                detail.UPDATEDATE                 = System.DateTime.Now;
                detail.T_FB_DEPTBUDGETAPPLYMASTER = entity.T_FB_DEPTBUDGETAPPLYMASTER;
                FBEntity fbDetail = detail.ToFBEntity();
                fbDetail.FBEntityState = FBEntityState.Added;

                List <FBEntity> fbSumMasterlist = new List <FBEntity>();

                //查找汇总节点设置 有则新增汇总记录
                FBEntity        fbSumMaster = new FBEntity();
                QueryExpression qeDetail    = QueryExpression.Equal(FieldName.OwnerCompanyID, entity.T_FB_DEPTBUDGETAPPLYMASTER.OWNERCOMPANYID);
                qeDetail.QueryType = "T_FB_SUMSETTINGSDETAIL";

                QueryExpression qeDetailEdits = QueryExpression.Equal(FieldName.EditStates, "1");
                qeDetail.RelatedExpression = qeDetailEdits;

                T_FB_SUMSETTINGSDETAIL detailset = GetEntities <T_FB_SUMSETTINGSDETAIL>(qeDetail).FirstOrDefault();
                T_FB_SUMSETTINGSMASTER masterset = null;
                if (detailset != null)
                {
                    QueryExpression qeMaster = QueryExpression.Equal("SUMSETTINGSMASTERID", detailset.T_FB_SUMSETTINGSMASTERReference.EntityKey.EntityKeyValues[0].Value.ToString());
                    qeMaster.QueryType = "T_FB_SUMSETTINGSMASTER";

                    QueryExpression qeMasterEdits = QueryExpression.Equal(FieldName.EditStates, "1");
                    qeMaster.RelatedExpression = qeMasterEdits;

                    masterset = GetEntities <T_FB_SUMSETTINGSMASTER>(qeMaster).FirstOrDefault();
                    if (masterset != null)
                    {
                        fbSumMaster = GetDeptBudgetSumSet(entity, masterset);

                        detail.T_FB_DEPTBUDGETSUMMASTER = fbSumMaster.Entity as T_FB_DEPTBUDGETSUMMASTER;
                        fbSumMaster.AddFBEntities <T_FB_DEPTBUDGETSUMDETAIL>(new List <FBEntity> {
                            fbDetail
                        });
                        fbSumMasterlist.Add(fbSumMaster);
                        Master.PARENTID            = detail.T_FB_DEPTBUDGETSUMMASTER.DEPTBUDGETSUMMASTERID;
                        Master.SUMSETTINGSMASTERID = masterset.SUMSETTINGSMASTERID;
                        Master.SUMLEVEL            = 1; //0:代表当前汇总单不走自定义汇总流程;1:代表当前汇总单走自定义汇总流程
                        fbMaster.Entity            = Master;
                        fbMaster.FBEntityState     = FBEntityState.Modified;
                        fbSumMasterlist.Add(fbMaster);
                        this.FBEntityBLLSaveListNoTrans(fbSumMasterlist);
                        //  this.InnerSave(fbSumMaster);
                    }
                }
            }

            bRes = true;
            return(bRes);
        }
Exemplo n.º 5
0
        void WpService_GetTripSubjectCompleted(object sender, GetTripSubjectCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                if (e.Result == null)
                {
                    //OnQueryCompleted(null);
                    return;
                }

                if (e.Result.Count == 0)
                {
                    //OnQueryCompleted(null);
                    return;
                }
                List<FBEntity> listall = new List<FBEntity>();
                foreach (var item in e.Result)
                {

                    if (item.SubjectName == "业务差旅费")
                    {
                        continue;
                    }
                    T_FB_EXTENSIONORDERDETAIL detail = new T_FB_EXTENSIONORDERDETAIL();
                    detail.EXTENSIONORDERDETAILID = Guid.NewGuid().ToString();
                    SMT.Saas.Tools.FBServiceWS.T_FB_SUBJECT subject = new SMT.Saas.Tools.FBServiceWS.T_FB_SUBJECT();
                    subject.SUBJECTID = item.SubjectID;
                    subject.SUBJECTCODE = item.SubjectCode;
                    subject.SUBJECTNAME = item.SubjectName;
                    subject.OWNERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                    subject.OWNERPOSTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID;
                    subject.OWNERDEPARTMENTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID;
                    subject.OWNERCOMPANYID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
                    detail.T_FB_SUBJECT = subject;
                    detail.USABLEMONEY = item.UseMoney;
                    detail.APPLIEDMONEY = item.PaidMoney;
                    if (detail.T_FB_EXTENSIONALORDERReference == null)
                    {

                    }
                    FBEntity queryEntity = new FBEntity();
                    queryEntity = ToFBEntity(detail);
                    listall.Add(queryEntity);
                    //detail.T_F
                }
                OriginalItems = listall;
                OnGetUnSelectedItems();
            }
            else
            {
                ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("TIPS"), e.Error.Message.ToString(), Utility.GetResourceStr("CONFIRM"), MessageIcon.Exclamation);
                return;
            }

        }
Exemplo n.º 6
0
        public void Save(FBEntity fbEntity)
        {
            SetVisitUser(fbEntity);
            CurrentUserPost user = new CurrentUserPost();
            user.EmployeeName = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeName;
            user.EmployeeID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
            user.PostName = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostName;
            user.DepartmentName = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentName;
            user.CompanyName = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyName;
            FBService.SaveAsync(fbEntity, user);

         
        }
Exemplo n.º 7
0
 public bool DeleteFBEntity(FBEntity fbEntity)
 {
     return(entityHelper.DeleteFBEntity(fbEntity));
 }
Exemplo n.º 8
0
 private FBEntity ToFBEntity(EntityObject t)
 {
     FBEntity fbEntity = new FBEntity();
     fbEntity.Entity = t;
     fbEntity.CollectionEntity = new ObservableCollection<RelationManyEntity>();
     fbEntity.ReferencedEntity = new ObservableCollection<RelationOneEntity>();
     return fbEntity;
 }
Exemplo n.º 9
0
        private FBEntity GetModifiedFBEntity(FBEntity fbEntity)
        {
            FBEntity newEntity = ToFBEntity(fbEntity.Entity);
            newEntity.FBEntityState = fbEntity.FBEntityState;

            foreach (RelationManyEntity rme in fbEntity.CollectionEntity)
            {
                RelationManyEntity rmeNew = new RelationManyEntity();
                rmeNew.EntityType = rme.EntityType;
                rmeNew.FBEntities = new ObservableCollection<FBEntity>();
                rme.FBEntities.ToList().ForEach(item =>
                {
                    if (item.FBEntityState != FBEntityState.Unchanged)
                    {
                        if (item.FBEntityState == FBEntityState.Added)
                        {
                            this.ExtensionalOrderFBEntity.CopyTo(item, "Entity.CREATEUSERID");
                        }
                        this.ExtensionalOrderFBEntity.CopyTo(item, "Entity.UPDATEUSERID");

                        rmeNew.FBEntities.Add(item);
                    }
                });

                newEntity.CollectionEntity.Add(rmeNew);
            }

            if (DeleteList.Count > 0)
            {
                RelationManyEntity rmeDel = new RelationManyEntity();
                rmeDel.EntityType = "DELETE_ENTITYTYPE";
                rmeDel.FBEntities = DeleteList;
                newEntity.CollectionEntity.Add(rmeDel);
            }
            return newEntity;
        }
Exemplo n.º 10
0
        public void Save(OrderEntity orderEntity)
        {
            FBEntity newEntity = orderEntity.GetModifiedFBEntity();

            Save(newEntity);
        }
Exemplo n.º 11
0
 public void Submit(FBEntity saveFBEntity)
 {
     this.SaveFBEntity = saveFBEntity;
     InitAudit(AuditOperation.Add);
     base.Submit();
 }
Exemplo n.º 12
0
        private void Save()
        {
            ObservableCollection <FBEntity> listOfFBEntity = new ObservableCollection <FBEntity>();

            for (int i = 0; i < EntityList.Count; i++)
            {
                OrderEntity item         = EntityList[i];
                FBEntity    fbEntitySave = item.GetModifiedFBEntity();


                fbEntitySave.CollectionEntity[0].FBEntities.ToList().ForEach(fbEntity =>
                {
                    T_FB_SUBJECTCOMPANY sc = fbEntity.Entity as T_FB_SUBJECTCOMPANY;
                    if (fbEntity.Entity.EntityKey.EntityKeyValues == null)
                    {
                        fbEntity.FBEntityState    = FBEntityState.Added;
                        fbEntity.Entity.EntityKey = null;

                        fbEntity.SetObjValue("Entity.SUBJECTCOMPANYID", Guid.NewGuid().ToString());
                        fbEntity.SetObjValue("Entity.CREATECOMPANYID", item.LoginUser.Company.Value);

                        fbEntity.SetObjValue("Entity.CREATECOMPANYNAME", item.LoginUser.Company.Text);
                        fbEntity.SetObjValue("Entity.CREATEDEPARTMENTID", item.LoginUser.Department.Value);
                        fbEntity.SetObjValue("Entity.CREATEDEPARTMENTNAME", item.LoginUser.Department.Text);
                        fbEntity.SetObjValue("Entity.CREATEPOSTID", item.LoginUser.Post.Value);
                        fbEntity.SetObjValue("Entity.CREATEPOSTNAME", item.LoginUser.Post.Text);
                        fbEntity.SetObjValue("Entity.CREATEUSERID", item.LoginUser.Value);
                        fbEntity.SetObjValue("Entity.CREATEUSERNAME", item.LoginUser.Text);

                        fbEntity.SetObjValue("Entity.OWNERCOMPANYID", item.GetObjValue("Entity.OWNERCOMPANYID"));
                        fbEntity.SetObjValue("Entity.OWNERCOMPANYNAME", item.GetObjValue("Entity.OWNERCOMPANYNAME"));
                        fbEntity.SetObjValue("Entity.OWNERDEPARTMENTID", item.LoginUser.Department.Value);
                        fbEntity.SetObjValue("Entity.OWNERDEPARTMENTNAME", item.LoginUser.Department.Text);
                        fbEntity.SetObjValue("Entity.OWNERPOSTID", item.LoginUser.Post.Value);
                        fbEntity.SetObjValue("Entity.OWNERPOSTNAME", item.LoginUser.Post.Text);
                        fbEntity.SetObjValue("Entity.OWNERID", item.LoginUser.Value);
                        fbEntity.SetObjValue("Entity.OWNERNAME", item.LoginUser.Text);
                        fbEntity.SetObjValue("Entity.EDITSTATES", decimal.Parse("1"));
                    }
                    else
                    {
                        if (sc.EDITSTATES != 1)
                        {
                            fbEntity.FBEntityState = FBEntityState.Detached;
                        }
                    }

                    fbEntity.SetObjValue("Entity.UPDATEUSERID", item.LoginUser.Value);
                    fbEntity.SetObjValue("Entity.UPDATEUSERNAME", item.LoginUser.Text);

                    sc.T_FB_SUBJECTReference.EntityKey = sc.T_FB_SUBJECT.EntityKey;
                    sc.T_FB_SUBJECT = null;

                    sc.T_FB_SUBJECTDEPTMENT = new ObservableCollection <T_FB_SUBJECTDEPTMENT>();
                    listOfFBEntity.Add(fbEntity);
                });
            }

            if (listOfFBEntity.Count > 0)
            {
                this.CurrentOrderEntity = new OrderEntity(typeof(VirtualCompany));
                this.orderEntityService.SaveList(listOfFBEntity);
            }
            else
            {
                CloseProcess();
            }
        }
Exemplo n.º 13
0
        private void OnEntityPropertyChanged(FBEntity fbEntity)
        {
            if (fbEntity.FBEntityState == FBEntityState.Unchanged)
            {
                fbEntity.FBEntityState = FBEntityState.Modified;

            }

        }
Exemplo n.º 14
0
 private void UnRegisterFBEntity(FBEntity fbEntity)
 {
     fbEntity.Entity.PropertyChanged -= new System.ComponentModel.PropertyChangedEventHandler(Entity_PropertyChanged);
 }
Exemplo n.º 15
0
        public FBEntity GetDeptBudgetSumSet(T_FB_DEPTBUDGETSUMDETAIL entity, T_FB_SUMSETTINGSMASTER masterset)
        {
            FBEntity        result      = null;
            DateTime        budgetMonth = entity.T_FB_DEPTBUDGETAPPLYMASTER.BUDGETARYMONTH;
            QueryExpression qe          = QueryExpression.Equal(FieldName_BudgetMonth, budgetMonth.ToString("yyyy-MM-dd"));
            QueryExpression qeStates    = QueryExpression.Equal(FieldName.CheckStates, ((int)CheckStates.UnSubmit).ToString());
            QueryExpression qeCompany   = QueryExpression.Equal(FieldName.OwnerCompanyID, masterset.OWNERCOMPANYID);

            // QueryExpression qeSumsettings = QueryExpression.Equal("SUMSETTINGSMASTERID", masterset.SUMSETTINGSMASTERID).And("PARENTID", entity.T_FB_DEPTBUDGETSUMMASTER.PARENTID);
            qe.RelatedExpression       = qeStates;
            qeStates.RelatedExpression = qeCompany;
            // qeCompany.RelatedExpression = qeSumsettings;

            T_FB_DEPTBUDGETSUMMASTER sumMaster = this.InnerGetEntities <T_FB_DEPTBUDGETSUMMASTER>(qe).FirstOrDefault();

            if (sumMaster == null)
            {
                sumMaster = new T_FB_DEPTBUDGETSUMMASTER();
                sumMaster.DEPTBUDGETSUMMASTERID   = Guid.NewGuid().ToString();
                sumMaster.DEPTBUDGETSUMMASTERCODE = "自动生成";
                sumMaster.CREATEUSERID            = SYSTEM_USER_ID;
                sumMaster.CREATEUSERNAME          = "******";
                sumMaster.CREATEDATE     = System.DateTime.Now;
                sumMaster.UPDATEUSERID   = SYSTEM_USER_ID;
                sumMaster.UPDATEDATE     = System.DateTime.Now;
                sumMaster.BUDGETARYMONTH = budgetMonth;

                sumMaster.CREATECOMPANYID      = SYSTEM_USER_ID;
                sumMaster.CREATECOMPANYNAME    = "系统生成";
                sumMaster.CREATEDEPARTMENTID   = SYSTEM_USER_ID;
                sumMaster.CREATEDEPARTMENTNAME = "系统生成";
                sumMaster.CREATEPOSTID         = SYSTEM_USER_ID;
                sumMaster.CREATEPOSTNAME       = "系统生成";

                sumMaster.OWNERCOMPANYID   = masterset.OWNERCOMPANYID;
                sumMaster.OWNERCOMPANYNAME = masterset.OWNERCOMPANYNAME;

                sumMaster.OWNERDEPARTMENTID   = masterset.OWNERDEPARTMENTID;
                sumMaster.OWNERDEPARTMENTNAME = masterset.OWNERDEPARTMENTNAME;

                sumMaster.OWNERPOSTID   = masterset.OWNERPOSTID;
                sumMaster.OWNERPOSTNAME = masterset.OWNERPOSTNAME;

                sumMaster.OWNERID   = masterset.OWNERID;
                sumMaster.OWNERNAME = masterset.OWNERNAME;

                sumMaster.SUMSETTINGSMASTERID = masterset.SUMSETTINGSMASTERID;
                sumMaster.SUMLEVEL            = 1; //0:代表当前汇总单不走自定义汇总流程;1:代表当前汇总单走自定义汇总流程

                sumMaster.CHECKSTATES = (int)CheckStates.UnSubmit;
                sumMaster.EDITSTATES  = (int)EditStates.Actived;
                result = sumMaster.ToFBEntity();
                result.FBEntityState = FBEntityState.Added;
            }
            else
            {
                result = sumMaster.ToFBEntity();
                result.FBEntityState = FBEntityState.Modified;
            }
            return(result);
        }
Exemplo n.º 16
0
 public SavingEventArgs(FBEntity fbEntity)
 {
     this.SaveFBEntity = fbEntity;
 }
Exemplo n.º 17
0
 public void AuditFBEntity(FBEntity fbEntity, CheckStates checkStates)
 {
     FBService.AuditFBEntityAsync(fbEntity, checkStates);
 }
Exemplo n.º 18
0
        void WpService_GetTripSubjectCompleted(object sender, GetTripSubjectCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                if (e.Result == null)
                {
                    OnQueryCompleted(null);
                    return;
                }

                if (e.Result.Count == 0)
                {
                    OnQueryCompleted(null);
                    return;
                }
                T_FB_EXTENSIONALORDER Extentity = new T_FB_EXTENSIONALORDER();
                Extentity.T_FB_EXTENSIONORDERDETAIL = new ObservableCollection<T_FB_EXTENSIONORDERDETAIL>();  
                //特殊科目出差报销业务差旅费
                RelationManyEntity TravelEntity = new RelationManyEntity();
                TravelEntity.FBEntities = new ObservableCollection<FBEntity>();
                TravelEntity.EntityType = "T_FB_EXTENSIONORDERDETAIL_Travel";
                //其他在报销控件里面选择的费用科目
                RelationManyEntity chargeEntity = new RelationManyEntity();
                chargeEntity.FBEntities = new ObservableCollection<FBEntity>();
                chargeEntity.EntityType = "T_FB_EXTENSIONORDERDETAIL";
                foreach(var item in e.Result)
                {
                    T_FB_EXTENSIONORDERDETAIL detail = new T_FB_EXTENSIONORDERDETAIL();
                    detail.EXTENSIONORDERDETAILID = Guid.NewGuid().ToString();  
                    SMT.Saas.Tools.FBServiceWS.T_FB_SUBJECT subject=new SMT.Saas.Tools.FBServiceWS.T_FB_SUBJECT();
                    if(string.IsNullOrEmpty(item.NormID))
                    {
                        MessageBox.Show("工作计划获取科目Id失败,请联系管理员!");
                    }
                    subject.SUBJECTID = item.NormID;
                    subject.SUBJECTCODE = item.SubjectCode;
                    subject.SUBJECTNAME = item.SubjectName;
                    subject.OWNERID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                    subject.OWNERPOSTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID;
                    subject.OWNERDEPARTMENTID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID;
                    subject.OWNERCOMPANYID = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
                    detail.T_FB_SUBJECT = subject;
                    detail.USABLEMONEY = item.UseMoney;
                    detail.APPLIEDMONEY = item.PaidMoney;
                    detail.REMARK = item.NormName;
                    Extentity.T_FB_EXTENSIONORDERDETAIL.Add(detail);

                    if(item.SubjectName=="业务差旅费")
                    {                      
                        TravelEntity.FBEntities.Add(ToFBEntity(detail));
                    }else
                    {
                        chargeEntity.FBEntities.Add(ToFBEntity(detail));
                    }
                    //detail.T_F
                }

                FBEntity queryEntity = new FBEntity();
                queryEntity = ToFBEntity(Extentity);
                queryEntity.CollectionEntity.Add(TravelEntity);
                queryEntity.CollectionEntity.Add(chargeEntity);

                OnQueryCompleted(queryEntity);
            }
            else
            {
                ComfirmWindow.ConfirmationBoxs(Utility.GetResourceStr("TIPS"), e.Error.Message.ToString(), Utility.GetResourceStr("CONFIRM"), MessageIcon.Exclamation);
                return;
            }

        }
Exemplo n.º 19
0
        /// <summary>
        /// 导入借款单
        /// Creator:安凯航
        /// 日期:2011年5月30日
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void btnImportBorrowData_Click(object sender, RoutedEventArgs e)
        {
            //导入时间
            DateTime       createTime = DateTime.Now;
            OpenFileDialog dialog     = new OpenFileDialog()
            {
                Multiselect = false,
                Filter      = "Excel 2007-2010 File(*.xlsx)|*.xlsx"
            };
            bool?userClickedOK = dialog.ShowDialog();

            // Process input if the user clicked OK.
            if (userClickedOK != true)
            {
                return;
            }
            try
            {
                //待保存数据列表
                List <OrderEntity> orders = new List <OrderEntity>();
                #region 读取Excel文件

                XLSXReader     reader     = new XLSXReader(dialog.File);
                List <string>  subItems   = reader.GetListSubItems();
                var            maseters   = reader.GetData(subItems[0]);
                var            listm      = maseters.ToDataSource();
                var            details    = reader.GetData(subItems[1]);
                var            listd      = details.ToDataSource();
                List <dynamic> masterList = new List <dynamic>();
                foreach (var item in listm)
                {
                    dynamic d = item;
                    masterList.Add(d);
                }
                //排除第一行信息
                masterList.Remove(masterList.First());

                List <dynamic> detailList = new List <dynamic>();
                foreach (var item in listd)
                {
                    dynamic d = item;
                    detailList.Add(d);
                }
                //排除第一行信息
                detailList.Remove(detailList.First());

                #endregion

                #region 添加主表
                List <T_FB_BORROWAPPLYMASTER> import = new List <T_FB_BORROWAPPLYMASTER>();
                foreach (var item in masterList)
                {
                    //构造OrderEntity数据
                    OrderEntity oe = new OrderEntity(typeof(T_FB_BORROWAPPLYMASTER));
                    orders.Add(oe);

                    T_FB_BORROWAPPLYMASTER t = oe.FBEntity.Entity as T_FB_BORROWAPPLYMASTER;
                    t.BORROWAPPLYMASTERID   = Guid.NewGuid().ToString();
                    t.BORROWAPPLYMASTERCODE = item.单据号;
                    if (item.借款类型 == "普通借款")
                    {
                        t.REPAYTYPE = 1;
                    }
                    else if (item.借款类型 == "备用金借款")
                    {
                        t.REPAYTYPE = 2;
                    }
                    else if (item.借款类型 == "专项借款")
                    {
                        t.REPAYTYPE = 3;
                    }
                    else
                    {
                        continue;
                    }
                    t.REMARK = item.备注;
                    import.Add(t);
                }

                #endregion

                #region 添加子表

                foreach (var item in detailList)
                {
                    OrderEntity oe = orders.FirstOrDefault(oen =>
                    {
                        T_FB_BORROWAPPLYMASTER bm = oen.FBEntity.Entity as T_FB_BORROWAPPLYMASTER;
                        if (bm.BORROWAPPLYMASTERCODE == item.单据号)
                        {
                            return(true);
                        }
                        else
                        {
                            return(false);
                        }
                    });
                    if (oe == null)
                    {
                        string message = "导入的借款单明细借款单号为\"" + item.单据号 + "\"的明细,没有相应的借款单对应.请检查借款Excel中是否有此借款单的数据";
                        throw new InvalidOperationException(message);
                    }
                    FBEntity fbdetail        = oe.CreateFBEntity <T_FB_BORROWAPPLYDETAIL>();
                    T_FB_BORROWAPPLYDETAIL d = fbdetail.Entity as T_FB_BORROWAPPLYDETAIL;
                    d.BORROWAPPLYDETAILID = Guid.NewGuid().ToString();
                    d.REMARK                 = item.摘要;
                    d.BORROWMONEY            = Convert.ToDecimal(item.借款金额);
                    d.UNREPAYMONEY           = Convert.ToDecimal(item.未还款金额);
                    d.T_FB_SUBJECT           = d.T_FB_SUBJECT ?? new T_FB_SUBJECT();
                    d.T_FB_SUBJECT.SUBJECTID = item.借款科目;
                    d.CREATEDATE             = createTime;
                    d.CREATEUSERID           = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                    d.UPDATEDATE             = createTime;
                    d.UPDATEUSERID           = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                }

                #endregion

                //服务
                OrderEntityService service = new OrderEntityService();

                #region 得到科目信息

                QueryExpression reExp = QueryExpressionHelper.Equal("OWNERID", SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID);
                QueryExpression exp   = QueryExpressionHelper.Equal("OWNERPOSTID", SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID);
                exp.QueryType         = "T_FB_BORROWAPPLYDETAIL";
                exp.RelatedExpression = reExp;
                exp.IsUnCheckRight    = true;

                #endregion

                #region 获取申请人信息

                ObservableCollection <string> numbers = new ObservableCollection <string>();
                masterList.ForEach(item => numbers.Add(item.申请人身份证号));//拿到所有身份证号
                SMT.Saas.Tools.PersonnelWS.PersonnelServiceClient client = new Saas.Tools.PersonnelWS.PersonnelServiceClient();
                client.GetEmployeesByIdnumberAsync(numbers);

                #endregion

                #region 先获取申请人信息,待申请人信息填充完毕之后进行下一步操作

                client.GetEmployeesByIdnumberCompleted += new EventHandler <Saas.Tools.PersonnelWS.GetEmployeesByIdnumberCompletedEventArgs>((oo, ee) =>
                {
                    if (ee.Error == null)
                    {
                        string message = null;
                        try
                        {
                            masterList.ForEach(m =>
                            {
                                //添加owner和creator
                                SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEVIEW userview = null;
                                try
                                {
                                    userview = ee.Result.First(t => t.IDNUMBER == m.申请人身份证号);
                                }
                                catch (InvalidOperationException ex)
                                {
                                    message = ex.Message + "\n" + "在系统中找不到身份证号为\"" + m.申请人身份证号 + "\"的,员工信息.也可能是您没有相应的权限.";
                                    throw new InvalidOperationException(message);
                                }
                                T_FB_BORROWAPPLYMASTER master = null;
                                try
                                {
                                    master = import.First(t => t.BORROWAPPLYMASTERCODE == m.单据号);
                                }
                                catch (InvalidOperationException ex)
                                {
                                    message = ex.Message + "\n" + "导入的借款单明细借款单号为\"" + m.单据号 + "\"的明细,没有相应的借款单对应.请检查借款Excel中是否有此借款单的数据";
                                    throw new InvalidOperationException(message);
                                }
                                master.OWNERCOMPANYID       = userview.OWNERCOMPANYID;
                                master.OWNERCOMPANYNAME     = userview.OWNERCOMPANYID;
                                master.OWNERDEPARTMENTID    = userview.OWNERDEPARTMENTID;
                                master.OWNERID              = userview.EMPLOYEEID;
                                master.OWNERPOSTID          = userview.OWNERPOSTID;
                                master.CREATECOMPANYID      = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID;
                                master.CREATECOMPANYNAME    = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyName;
                                master.CREATEDEPARTMENTID   = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentID;
                                master.CREATEDEPARTMENTNAME = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].DepartmentName;
                                master.CREATEPOSTID         = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostID;
                                master.CREATEPOSTNAME       = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].PostName;
                                master.CREATEUSERID         = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                                master.CREATEUSERNAME       = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeName;
                                master.CREATEDATE           = createTime;
                                master.UPDATEUSERID         = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                                master.UPDATEUSERNAME       = SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeName;
                                master.UPDATEDATE           = createTime;
                            });
                            //填充完申请人信息之后开始填充科目信息
                            service.QueryFBEntities(exp);
                        }
                        catch (Exception ex)
                        {
                            SMT.SaaS.FrameworkUI.ChildWidow.ComfirmWindow.ConfirmationBoxs("导入出错", ex.Message, "确定", MessageIcon.Exclamation);
                        }
                    }
                });

                #endregion

                #region 填充完申请人信息之后开始填充科目信息

                service.QueryFBEntitiesCompleted += new EventHandler <QueryFBEntitiesCompletedEventArgs>((o, args) =>
                {
                    if (args.Error == null)
                    {
                        //构造明细科目及账务信息
                        string message = null;
                        try
                        {
                            import.ForEach(m =>
                            {
                                OrderEntity oe = orders.FirstOrDefault(oen =>
                                {
                                    T_FB_BORROWAPPLYMASTER bm = oen.FBEntity.Entity as T_FB_BORROWAPPLYMASTER;
                                    if (bm.BORROWAPPLYMASTERCODE == m.BORROWAPPLYMASTERCODE)
                                    {
                                        return(true);
                                    }
                                    else
                                    {
                                        return(false);
                                    }
                                });
                                var dlist = oe.GetRelationFBEntities("T_FB_BORROWAPPLYDETAIL");
                                List <T_FB_BORROWAPPLYDETAIL> detailslist = new List <T_FB_BORROWAPPLYDETAIL>();
                                dlist.ForEach(ddd =>
                                {
                                    detailslist.Add(ddd.Entity as T_FB_BORROWAPPLYDETAIL);
                                });
                                detailslist.ForEach(d =>
                                {
                                    FBEntity en = null;
                                    try
                                    {
                                        en = args.Result.First(a => ((T_FB_BORROWAPPLYDETAIL)a.Entity).T_FB_SUBJECT.SUBJECTCODE == d.T_FB_SUBJECT.SUBJECTID);
                                    }
                                    catch (InvalidOperationException ex)
                                    {
                                        message = ex.Message + "\n" + "导入的借款单明细中,在系统中找不到ID为\"" + d.T_FB_SUBJECT.SUBJECTID + "\"的科目,也可能是您没有相应的权限";
                                        throw new InvalidOperationException(message);
                                    }
                                    T_FB_BORROWAPPLYDETAIL t = en.Entity as T_FB_BORROWAPPLYDETAIL;
                                    if (t != null)
                                    {
                                        t.T_FB_SUBJECT.T_FB_BORROWAPPLYDETAIL.Clear();
                                        d.T_FB_SUBJECT = t.T_FB_SUBJECT;
                                        d.CHARGETYPE   = t.CHARGETYPE;
                                        d.USABLEMONEY  = t.USABLEMONEY;
                                        #region 清理科目信息中的无用数据

                                        t.T_FB_SUBJECT.T_FB_BORROWAPPLYDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_BUDGETACCOUNT.Clear();
                                        t.T_FB_SUBJECT.T_FB_BUDGETCHECK.Clear();
                                        t.T_FB_SUBJECT.T_FB_CHARGEAPPLYDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_COMPANYBUDGETAPPLYDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_COMPANYBUDGETMODDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_COMPANYBUDGETMODDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_COMPANYTRANSFERDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_DEPTBUDGETADDDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_DEPTBUDGETAPPLYDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_DEPTTRANSFERDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_EXTENSIONORDERDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_PERSONBUDGETADDDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_PERSONBUDGETAPPLYDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_PERSONMONEYASSIGNDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_REPAYAPPLYDETAIL.Clear();
                                        t.T_FB_SUBJECT.T_FB_SUBJECTCOMPANY.Clear();
                                        t.T_FB_SUBJECT.T_FB_SUBJECTDEPTMENT.Clear();
                                        t.T_FB_SUBJECT.T_FB_SUBJECTPOST.Clear();
                                        t.T_FB_SUBJECT.T_FB_TRAVELEXPAPPLYDETAIL.Clear();

                                        #endregion
                                    }
                                });
                            });

                            //保存
                            service.SaveList(orders);
                        }
                        catch (Exception ex)
                        {
                            SMT.SaaS.FrameworkUI.ChildWidow.ComfirmWindow.ConfirmationBoxs("导入出错", ex.Message, "确定", MessageIcon.Exclamation);
                        }
                    }
                });

                #endregion

                #region 所有信息构造完成之后保存数据

                service.SaveListCompleted += new EventHandler <ActionCompletedEventArgs <bool> >((s, evgs) =>
                {
                    if (evgs.Result)
                    {
                        SMT.SaaS.FrameworkUI.ChildWidow.ComfirmWindow.ConfirmationBox("导入成功", "导入成功", "确定");
                    }
                    else
                    {
                        SMT.SaaS.FrameworkUI.ChildWidow.ComfirmWindow.ConfirmationBox("导入失败", "导入失败", "确定");
                    }
                });

                #endregion
            }
            catch (Exception ex)
            {
                SMT.SaaS.FrameworkUI.ChildWidow.ComfirmWindow.ConfirmationBoxs("导入出错", ex.Message, "确定", MessageIcon.Exclamation);
            }
        }
Exemplo n.º 20
0
        private void OnQueryCompleted(FBEntity queryEntity)
        {
            try {
                if (queryEntity == null) // 新增
                {
                    this.ExtensionalOrder.EXTENSIONALORDERID    = Guid.NewGuid().ToString();
                    this.ExtensionalOrderFBEntity               = ToFBEntity(this.ExtensionalOrder);
                    this.ExtensionalOrderFBEntity.FBEntityState = FBEntityState.Added;

                    this.ExtensionalOrder.APPLYTYPE = 1;
                    this.ExtensionalOrder.PAYTARGET = 1;
                }
                else
                {
                    this.ExtensionalOrderFBEntity = queryEntity;
                    var curEntity = this.ExtensionalOrderFBEntity.Entity as T_FB_EXTENSIONALORDER;
                    if (this.ExtensionalOrderFBEntity.FBEntityState == FBEntityState.Added)
                    {
                        curEntity.CREATECOMPANYID      = this.ExtensionalOrder.CREATECOMPANYID;
                        curEntity.CREATECOMPANYNAME    = this.ExtensionalOrder.CREATECOMPANYNAME;
                        curEntity.CREATEDEPARTMENTID   = this.ExtensionalOrder.CREATEDEPARTMENTID;
                        curEntity.CREATEDEPARTMENTNAME = this.ExtensionalOrder.CREATEDEPARTMENTNAME;
                        curEntity.CREATEPOSTID         = this.ExtensionalOrder.CREATEPOSTID;
                        curEntity.CREATEPOSTNAME       = this.ExtensionalOrder.CREATEPOSTNAME;
                        curEntity.CREATEUSERID         = this.ExtensionalOrder.CREATEUSERID;
                        curEntity.CREATEUSERNAME       = this.ExtensionalOrder.CREATEUSERNAME;


                        curEntity.OWNERCOMPANYID      = this.ExtensionalOrder.OWNERCOMPANYID;
                        curEntity.OWNERCOMPANYNAME    = this.ExtensionalOrder.OWNERCOMPANYNAME;
                        curEntity.OWNERDEPARTMENTID   = this.ExtensionalOrder.OWNERDEPARTMENTID;
                        curEntity.OWNERDEPARTMENTNAME = this.ExtensionalOrder.OWNERDEPARTMENTNAME;
                        curEntity.OWNERPOSTID         = this.ExtensionalOrder.OWNERPOSTID;
                        curEntity.OWNERPOSTNAME       = this.ExtensionalOrder.OWNERPOSTNAME;
                        curEntity.OWNERID             = this.ExtensionalOrder.OWNERID;
                        curEntity.OWNERNAME           = this.ExtensionalOrder.OWNERNAME;

                        curEntity.UPDATEUSERID   = this.ExtensionalOrder.UPDATEUSERID;
                        curEntity.UPDATEUSERNAME = this.ExtensionalOrder.UPDATEUSERNAME;
                    }
                    this.ExtensionalOrder = curEntity;
                }

                this.DeleteList       = GetRelationFBEntities(this.ExtensionalOrderFBEntity, "_Delete");
                this.ListExtOrderType = GetRelationFBEntities(this.ExtensionalOrderFBEntity, typeof(T_FB_EXTENSIONALTYPE).Name);
                this.ExtensionalOrderDetailFBEntityList = GetRelationFBEntities(this.ExtensionalOrderFBEntity, typeof(T_FB_EXTENSIONORDERDETAIL).Name);
                var masterList     = GetRelationFBEntities(this.ExtensionalOrderFBEntity, typeof(T_FB_CHARGEAPPLYMASTER).Name);
                var masterFBEntity = masterList.FirstOrDefault();
                if (masterFBEntity != null)
                {
                    ChargeApplyMaster     = masterFBEntity.Entity as T_FB_CHARGEAPPLYMASTER;
                    this.ListBorrowDetail = ChargeApplyMaster.T_FB_CHARGEAPPLYREPAYDETAIL;
                }
                else
                {
                    ChargeApplyMaster     = new T_FB_CHARGEAPPLYMASTER();
                    this.ListBorrowDetail = new ObservableCollection <T_FB_CHARGEAPPLYREPAYDETAIL>();
                }

                HandleSpecialSubject();
                this.CountTotalMoney();
                this.ExtensionalOrderDetailFBEntityList.CollectionChanged += new NotifyCollectionChangedEventHandler(FBEntities_CollectionChanged);
                this.ExtensionalOrderDetailFBEntityList.ForEach(detail =>
                {
                    this.RegisterFBEntity(detail);
                });

                if (ListExtOrderType.Count() > 0)
                {
                    (this.ExtensionalOrderFBEntity.Entity as T_FB_EXTENSIONALORDER).T_FB_EXTENSIONALTYPE = ListExtOrderType.FirstOrDefault().Entity as T_FB_EXTENSIONALTYPE;
                }

                QueryDataCompletedInitControl();

                if (InitDataComplete != null)
                {
                    List <string> messages = new List <string>();
                    if (this.TravelSubject != null && this.TravelSubject.SpecialListDetail.Count == 0)
                    {
                        string msg = "当前申请人没有出差的预算额度";
                        if (!IsFromFB)
                        {
                            msg = "工作计划出差单:" + msg;
                        }
                        messages.Add(msg);
                    }
                    InitDataComplete(this, new InitDataCompletedArgs(messages));
                }
            }catch (Exception ex)
            {
                MessageBox.Show("工作计划出差单OnQueryCompleted err:" + ex.ToString());
            }
        }
Exemplo n.º 21
0
 public void Submit(FBEntity saveFBEntity)
 {
     this.SaveFBEntity = saveFBEntity;
     InitAudit(AuditOperation.Add);
     base.Submit();
 }
Exemplo n.º 22
0
 public EntityAdapter(FBEntity fbEntity)
 {
     FBEntity = fbEntity;
 }
Exemplo n.º 23
0
        private void SetRowDetailTemplate()
        {
            if (this.orderDetailGridInfo.RowDetailDataPanel != null)
            {
                #region RowDetailTemplate
                DataTemplate dt = DataTemplateHelper.GetEmptyGrid();

                this.ADGrid.RowDetailsTemplate = dt;
                this.ADGrid.LoadingRowDetails += (o, e) =>
                {

                    IDataPanel panel = this.orderDetailGridInfo.RowDetailDataPanel;
                    IControlAction control = panel.GetUIElement();
                    Grid grid = e.DetailsElement as Grid;
                    grid.Background = e.Row.Background;

                    if (grid.Children.Count == 0)
                    {                   
                        Border border = new Border();
                        border.Style = (Style)Application.Current.Resources["DetailShow_1"];

                        grid.Children.Add(border);
                        if (control.GetType() == typeof(DetailGrid))
                        {
                            DetailGrid dgrid = control as DetailGrid;
                            border.Child = dgrid;
               
                            // dgrid.Margin = new Thickness(80, 0, 0, 0);
                            control.InitControl(this.operationType);
                        }
                        else
                        {
                            border.Child = (control as UIElement);
                            OperationTypes cOpType = this.operationType;
                            if (this.operationType == OperationTypes.Audit)
                            {
                                cOpType = OperationTypes.Edit;
                            }
                            control.InitControl(cOpType);
                        }
                    }
                    DependencyObject dObj = VisualTreeHelper.GetChild(e.DetailsElement,0);
                    UIElement curControl = (dObj as Border).Child;
                    if (curControl.GetType() == typeof(DetailGrid))
                    {
                        DetailGrid dgrid = curControl as DetailGrid;
                        string entityType = dgrid.OrderDetailGridInfo.OrderDetailEntityInfo.Entity.Type;
                        FBEntity source = e.Row.DataContext as FBEntity; ;
                        if (source != null)
                        {
                            ObservableCollection<FBEntity> list = source.GetRelationFBEntities(entityType);
                            if (list.Count > 0)
                            {
                                dgrid.ItemsSource = list;
                                
                            }
                            else
                            {
                                
                                dgrid.Visibility = Visibility.Collapsed;
                            }
                        }
                    }

                    if (LoadRowDetailComplete != null)
                    {
                        ActionCompletedEventArgs<UIElement> args = new ActionCompletedEventArgs<UIElement>(curControl);
                        LoadRowDetailComplete(o, args);
                    }
                };
                #endregion
            }
            
        }
Exemplo n.º 24
0
        public void Save(FBEntity fbEntity)
        {
            SetVisitUser(fbEntity);
            FBService.SaveAsync(fbEntity);

         
        }
Exemplo n.º 25
0
            public GroupSubject(FBEntity fbEntity)
            {
                innerFBEntity = fbEntity;
                this.Entity = innerFBEntity.Entity;
                this.CollectionEntity = innerFBEntity.CollectionEntity;
                this.ReferencedEntity = innerFBEntity.ReferencedEntity;

                VirtualDepartment vd = innerFBEntity.ReferencedEntity[0].FBEntity.Entity as VirtualDepartment;
                this.DepartmentName = vd.Name;
            }
Exemplo n.º 26
0
 public void AuditFBEntity(FBEntity fbEntity, CheckStates checkStates)
 {
     FBService.AuditFBEntityAsync(fbEntity, checkStates);
 }
Exemplo n.º 27
0
        void dGrid_ToolBarItemClick(object sender, ToolBarItemClickEventArgs e)
        {
            if (e.Action != Actions.Add)
            {
                return;
            }
            e.Action = Actions.Cancel;
            string perm   = "3";
            string entity = typeof(T_FB_PERSONMONEYASSIGNMASTER).Name;

            if (this.EditForm.OperationType == OperationTypes.Edit)
            {
                perm = ((int)Permissions.Edit).ToString();
            }
            else if (this.EditForm.OperationType == OperationTypes.Add)
            {
                perm = ((int)Permissions.Add + 1).ToString();
            }
            else
            {
                perm = ((int)Permissions.Browse).ToString();
            }

            string userID = DataCore.CurrentUser.Value.ToString();
            //             BF06E969-1B2C-4a89-B0AE-A91CA1244053
            OrganizationLookup ogzLookup = new OrganizationLookup();

            ogzLookup.SelectedObjType = OrgTreeItemTypes.Personnel;
            ogzLookup.MultiSelected   = true;

            FrameworkElement plRoot = CommonFunction.ParentLayoutRoot;

            try
            {
                ogzLookup.SelectedClick += (o, ea) =>
                {
                    if (ogzLookup.SelectedObj.Count > 0)
                    {
                        //处理岗位及下拨
                        SMT.Saas.Tools.PersonnelWS.PersonnelServiceClient pe = new SMT.Saas.Tools.PersonnelWS.PersonnelServiceClient();
                        ObservableCollection <SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEFUNDS> vlistpostinfo = new ObservableCollection <SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEFUNDS>();

                        var assignDetail = this.OrderEntity.GetRelationFBEntities(typeof(T_FB_PERSONMONEYASSIGNDETAIL).Name);

                        var selectedObjects = ogzLookup.SelectedObj;
                        selectedObjects.ForEach(obj =>
                        {
                            ExtOrgObj post = obj.ParentObject as ExtOrgObj;
                            ExtOrgObj dept = post.ParentObject as ExtOrgObj;

                            // ExtOrgObj com = dept.ParentObject as ExtOrgObj;
                            ITextValueItem pdata = DataCore.FindReferencedData <PostData>(post.ObjectID);
                            ITextValueItem ddata = DataCore.FindReferencedData <DepartmentData>(dept.ObjectID);
                            ITextValueItem cdata = (ddata as DepartmentData).Company;

                            var existDetail = assignDetail.FirstOrDefault(item =>
                            {
                                T_FB_PERSONMONEYASSIGNDETAIL cd = item.Entity as T_FB_PERSONMONEYASSIGNDETAIL;
                                return(cd.OWNERID == obj.ObjectID && cd.OWNERPOSTID == pdata.Value.ToString());
                            });

                            T_FB_PERSONMONEYASSIGNDETAIL detail = new T_FB_PERSONMONEYASSIGNDETAIL();
                            if (existDetail != null)
                            {
                                detail.PERSONBUDGETAPPLYDETAILID    = (existDetail.Entity as T_FB_PERSONMONEYASSIGNDETAIL).PERSONBUDGETAPPLYDETAILID;
                                detail.T_FB_PERSONMONEYASSIGNMASTER = this.OrderEntity.Entity as T_FB_PERSONMONEYASSIGNMASTER;
                            }
                            else
                            {
                                detail.PERSONBUDGETAPPLYDETAILID    = Guid.NewGuid().ToString();
                                detail.T_FB_PERSONMONEYASSIGNMASTER = this.OrderEntity.Entity as T_FB_PERSONMONEYASSIGNMASTER;
                                detail.BUDGETMONEY = 0;
                            }

                            // start 添加岗位级别,用于排序
                            var employee1 = obj.ObjectInstance as SMT.Saas.Tools.PersonnelWS.T_HR_EMPLOYEE;
                            if (employee1 != null)
                            {
                                var ep = employee1.T_HR_EMPLOYEEPOST.FirstOrDefault();
                                if (ep != null)
                                {
                                    detail.POSTLEVEL = ep.POSTLEVEL;
                                }
                            }


                            // end

                            detail.OWNERID             = obj.ObjectID;
                            detail.OWNERNAME           = obj.ObjectName;
                            detail.OWNERPOSTID         = pdata.Value.ToString();
                            detail.OWNERPOSTNAME       = pdata.Text;
                            detail.OWNERDEPARTMENTID   = ddata.Value.ToString();
                            detail.OWNERDEPARTMENTNAME = ddata.Text;
                            detail.OWNERCOMPANYID      = cdata.Value.ToString();
                            detail.OWNERCOMPANYNAME    = cdata.Text;

                            //SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEPOSTFORFB vpostinfo = new SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEPOSTFORFB();
                            //vpostinfo.PERSONBUDGETAPPLYDETAILID = detail.PERSONBUDGETAPPLYDETAILID;
                            //vpostinfo.OWNERID = detail.OWNERID;
                            //vpostinfo.OWNERPOSTID = detail.OWNERPOSTID;
                            //vlistpostinfo.Add(vpostinfo);

                            SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEFUNDS vpostinfo = new SMT.Saas.Tools.PersonnelWS.V_EMPLOYEEFUNDS();

                            vpostinfo.EMPLOYEEID = detail.OWNERID;
                            vpostinfo.POSTID     = detail.OWNERPOSTID;
                            vpostinfo.COMPANYID  = detail.OWNERCOMPANYID;
                            vlistpostinfo.Add(vpostinfo);

                            if (existDetail != null)
                            {
                                return;
                            }
                            else
                            {
                                FBEntity fbEntity      = detail.ToFBEntity();
                                fbEntity.FBEntityState = FBEntityState.Added;
                                assignDetail.Add(fbEntity);
                            }
                        });
                        if (vlistpostinfo != null && vlistpostinfo.Count > 0)
                        {
                            this.ShowProcess();
                            pe.GetEmployeeFundsListCompleted += new EventHandler <Saas.Tools.PersonnelWS.GetEmployeeFundsListCompletedEventArgs>(pe_GetEmployeeFundsListCompleted);
                            pe.GetEmployeeFundsListAsync(vlistpostinfo);
                        }
                    }
                };
                ogzLookup.Show <string>(DialogMode.ApplicationModal, plRoot, "", (result) => { });
            }
            catch (Exception ex)
            {
                CommonFunction.ShowErrorMessage("调用HR服务返回异常信息:" + ex.ToString());
            }
        }