Пример #1
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;
            }

        }
Пример #2
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;
            }
        }
Пример #3
0
        public FBEntity ReSubmitT_FB_EXTENSIONALORDER(T_FB_EXTENSIONALORDER entity)
        {
            FBEntityBLL bll         = this;
            FBEntity    fbOldEntity = GetFBEntityByEntityKey(entity.EntityKey);


            var master  = fbOldEntity.Entity as T_FB_EXTENSIONALORDER;
            var details = fbOldEntity.GetRelationFBEntities(typeof(T_FB_EXTENSIONORDERDETAIL).Name);

            details.ForEach(item =>
            {
                bll.InnerRemove(item.Entity);
            });

            master.INNERORDERID = string.Empty;
            master.CHECKSTATES  = (int)CheckStates.Approving;
            master.TOTALMONEY   = entity.TOTALMONEY;

            var             result     = master.ToFBEntity();
            List <FBEntity> listDetail = entity.T_FB_EXTENSIONORDERDETAIL.ToList().CreateList(item =>
            {
                T_FB_EXTENSIONORDERDETAIL detail = new T_FB_EXTENSIONORDERDETAIL();
                detail.EXTENSIONORDERDETAILID    = Guid.NewGuid().ToString();

                detail.APPLIEDMONEY          = item.APPLIEDMONEY;
                detail.CHARGETYPE            = item.CHARGETYPE;
                detail.CREATEDATE            = DateTime.Now;
                detail.CREATEUSERID          = item.CREATEUSERID;
                detail.REMARK                = item.REMARK;
                detail.T_FB_SUBJECT          = item.T_FB_SUBJECT;
                detail.UPDATEUSERID          = item.UPDATEUSERID;
                detail.USABLEMONEY           = item.USABLEMONEY;
                detail.T_FB_EXTENSIONALORDER = entity;

                FBEntity fbEntityDetail      = detail.ToFBEntity();
                fbEntityDetail.FBEntityState = FBEntityState.Added;
                return(fbEntityDetail);
            });

            result.AddFBEntities <T_FB_EXTENSIONORDERDETAIL>(listDetail);

            result.FBEntityState = FBEntityState.ReSubmit;
            SaveT_FB_EXTENSIONALORDER(result);
            return(result);
        }
Пример #4
0
        /// <summary>
        /// 获取T_FB_EXTENSIONORDERDETAIL信息
        /// </summary>
        /// <param name="strExtensionOrderDetailId">主键索引</param>
        /// <returns></returns>
        public T_FB_EXTENSIONORDERDETAIL GetExtensionOrderDetailByID(string strExtensionOrderDetailId)
        {
            if (string.IsNullOrEmpty(strExtensionOrderDetailId))
            {
                return(null);
            }

            ExtensionOrderDetailDAL dalExtensionOrderDetail = new ExtensionOrderDetailDAL();
            StringBuilder           strFilter = new StringBuilder();
            List <string>           objArgs   = new List <string>();

            if (!string.IsNullOrEmpty(strExtensionOrderDetailId))
            {
                strFilter.Append(" EXTENSIONORDERDETAILID == @0");
                objArgs.Add(strExtensionOrderDetailId);
            }

            T_FB_EXTENSIONORDERDETAIL entRd = dalExtensionOrderDetail.GetExtensionOrderDetailRdByMultSearch(strFilter.ToString(), objArgs.ToArray());

            return(entRd);
        }
Пример #5
0
 public static T_FB_EXTENSIONORDERDETAIL CreateT_FB_EXTENSIONORDERDETAIL(string eXTENSIONORDERDETAILID, decimal aPPLIEDMONEY, string cREATEUSERID, global::System.DateTime cREATEDATE, string uPDATEUSERID, global::System.DateTime uPDATEDATE)
 {
     T_FB_EXTENSIONORDERDETAIL t_FB_EXTENSIONORDERDETAIL = new T_FB_EXTENSIONORDERDETAIL();
     t_FB_EXTENSIONORDERDETAIL.EXTENSIONORDERDETAILID = eXTENSIONORDERDETAILID;
     t_FB_EXTENSIONORDERDETAIL.APPLIEDMONEY = aPPLIEDMONEY;
     t_FB_EXTENSIONORDERDETAIL.CREATEUSERID = cREATEUSERID;
     t_FB_EXTENSIONORDERDETAIL.CREATEDATE = cREATEDATE;
     t_FB_EXTENSIONORDERDETAIL.UPDATEUSERID = uPDATEUSERID;
     t_FB_EXTENSIONORDERDETAIL.UPDATEDATE = uPDATEDATE;
     return t_FB_EXTENSIONORDERDETAIL;
 }
Пример #6
0
 public void AddToT_FB_EXTENSIONORDERDETAIL(T_FB_EXTENSIONORDERDETAIL t_FB_EXTENSIONORDERDETAIL)
 {
     base.AddObject("T_FB_EXTENSIONORDERDETAIL", t_FB_EXTENSIONORDERDETAIL);
 }
Пример #7
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;
            }
        }
Пример #8
0
        /// <summary>
        /// 保存预算申请单
        /// </summary>
        /// <param name="statates">当前表单状态</param>
        public void Save(CheckStates statates)
        {
            List <string> listMsg = this.OnSaveCheck();

            if (listMsg.Count > 0)
            {
                OnSaveCompleted(listMsg);
                return;
            }
            this.GetValue();


            if (statates == CheckStates.Delete)
            {
                ExtensionalOrderFBEntity.FBEntityState = FBEntityState.Detached;
            }
            // else if如果是重新提交,如果当前单据是审核不通过的状态才可以重新提交,否则提示异常。
            // 需处理 this.Order.CHECKSTATES 为提交状态,并this.CurrentOrderEntity.FBEntityState 为重新提交
            else
            {
                if (submitFBFormTypes == FormTypes.Audit && statates == CheckStates.Approving)
                {
                    return;
                }


                this.ExtensionalOrder.CHECKSTATES = Convert.ToDecimal((int)statates);

                if (submitFBFormTypes == FormTypes.Resubmit)
                {
                    this.ExtensionalOrderFBEntity.FBEntityState = FBEntityState.ReSubmit;
                }
                else
                {
                    if (this.ExtensionalOrderFBEntity.FBEntityState == FBEntityState.Unchanged)
                    {
                        this.ExtensionalOrderFBEntity.FBEntityState = FBEntityState.Modified;
                    }
                }
            }
            if (this.IsFromFB)
            {
                QueryExpression qeSave = this.GetOrderQueryExp();
                SaveEntity      se     = new SaveEntity();
                se.QueryExpression = qeSave;
                se.FBEntity        = ExtensionalOrderFBEntity;
                FBServiceLoacal.SaveEntityAsync(se);
            }
            else
            {
                ObservableCollection <SMT.Saas.Tools.WpServiceWS.BussinessTripBudget> listTripBudget = new ObservableCollection <Saas.Tools.WpServiceWS.BussinessTripBudget>();

                foreach (var itemRM in ExtensionalOrderFBEntity.CollectionEntity)
                {
                    if (itemRM.EntityType == typeof(T_FB_EXTENSIONORDERDETAIL).Name ||
                        itemRM.EntityType == "T_FB_EXTENSIONORDERDETAIL_Travel")
                    {
                        foreach (var item in itemRM.FBEntities)
                        {
                            SMT.Saas.Tools.WpServiceWS.BussinessTripBudget saveItem = new Saas.Tools.WpServiceWS.BussinessTripBudget();
                            T_FB_EXTENSIONORDERDETAIL detail = item.Entity as T_FB_EXTENSIONORDERDETAIL;
                            //saveItem.SubjectID = detail.T_FB_SUBJECT.SUBJECTID;
                            saveItem.SubjectName = detail.T_FB_SUBJECT.SUBJECTNAME;
                            saveItem.SubjectCode = detail.T_FB_SUBJECT.SUBJECTCODE;
                            saveItem.PaidMoney   = detail.APPLIEDMONEY;
                            saveItem.UseMoney    = detail.USABLEMONEY.Value;
                            saveItem.NormName    = detail.REMARK;                 //摘要
                            saveItem.NormID      = detail.T_FB_SUBJECT.SUBJECTID; //摘要
                            if (string.IsNullOrEmpty(saveItem.NormID))
                            {
                                MessageBox.Show("工作计划保存科目Id失败,请联系管理员!");
                            }
                            listTripBudget.Add(saveItem);
                        }
                    }
                }
                string msg = string.Empty;
                WpServiceClient.TripSubjectSaveAsync(strBussinessTripID, listTripBudget, msg);
            }
        }
Пример #9
0
        /// <summary>
        /// 保存数据时用
        /// </summary>
        private void GetValue()
        {
            T_FB_EXTENSIONALORDER eOrder = this.ExtensionalOrderFBEntity.Entity as T_FB_EXTENSIONALORDER;

            //if (this.rbtnApplyTypeBorrow.IsChecked == true)
            //{
            //    eOrder.APPLYTYPE = 2;
            //}
            //else
            //{
            //    eOrder.APPLYTYPE = 1;
            //}
            if (this.rbtnChargePerson.IsChecked == true)
            {
                ChargeApplyMaster.PAYTYPE = 1;
            }
            else
            {
                ChargeApplyMaster.PAYTYPE = 2;
            }

            eOrder.REMARK = this.tbRemark.Text;

            if (this.TravelSubject != null)
            {
                //var sd = this.TravelSubject.SpecialListDetail.FirstOrDefault();
                //(sd.Entity as T_FB_EXTENSIONORDERDETAIL).APPLIEDMONEY = this.TravelSubject.ApplyMoney;

                TravelSubject.SpecialListDetail.ForEach(item =>
                {
                    item.Entity.SetObjValue("CREATEUSERID", eOrder.GetObjValue("CREATEUSERID"));
                    item.Entity.SetObjValue("CREATEDATE", System.DateTime.Now);

                    item.Entity.SetObjValue("UPDATEUSERID", eOrder.GetObjValue("UPDATEUSERID"));
                    item.Entity.SetObjValue("UPDATEDATE", System.DateTime.Now);

                    #region 去掉无关的关联
                    T_FB_EXTENSIONORDERDETAIL detail = item.Entity as T_FB_EXTENSIONORDERDETAIL;
                    if (detail.T_FB_SUBJECT.T_FB_EXTENSIONORDERDETAIL != null)
                    {
                        detail.T_FB_SUBJECT.T_FB_EXTENSIONORDERDETAIL.Clear();
                    }
                    if (detail.T_FB_SUBJECT.T_FB_BUDGETACCOUNT != null)
                    {
                        detail.T_FB_SUBJECT.T_FB_BUDGETACCOUNT.Clear();
                    }
                    #endregion
                });
            }
            ExtensionalOrderDetailFBEntityList.ForEach(item =>
            {
                item.Entity.SetObjValue("CREATEUSERID", eOrder.GetObjValue("CREATEUSERID"));
                item.Entity.SetObjValue("CREATEDATE", System.DateTime.Now);

                item.Entity.SetObjValue("UPDATEUSERID", eOrder.GetObjValue("UPDATEUSERID"));
                item.Entity.SetObjValue("UPDATEDATE", System.DateTime.Now);

                #region 去掉无关的关联
                T_FB_EXTENSIONORDERDETAIL detail = item.Entity as T_FB_EXTENSIONORDERDETAIL;
                if (detail.T_FB_SUBJECT.T_FB_EXTENSIONORDERDETAIL != null)
                {
                    detail.T_FB_SUBJECT.T_FB_EXTENSIONORDERDETAIL.Clear();
                }
                if (detail.T_FB_SUBJECT.T_FB_BUDGETACCOUNT != null)
                {
                    detail.T_FB_SUBJECT.T_FB_BUDGETACCOUNT.Clear();
                }
                #endregion
            });

            if (this.gridForBorrowInfo.Visibility == System.Windows.Visibility.Collapsed)
            {
                var list = GetRelationFBEntities(this.ExtensionalOrderFBEntity, typeof(T_FB_CHARGEAPPLYMASTER).Name);
                list.Clear();
            }
        }
Пример #10
0
        private List <string> OnSaveCheck()
        {
            List <string> listReslut = new List <string>();

            if (this.ExtensionalOrderDetailFBEntityList != null)
            {
                this.ExtensionalOrderDetailFBEntityList.ForEach(item =>
                {
                    T_FB_EXTENSIONORDERDETAIL detailEntity = item.Entity as T_FB_EXTENSIONORDERDETAIL;

                    if (detailEntity.APPLIEDMONEY > detailEntity.USABLEMONEY.Value)
                    {
                        listReslut.Add(string.Format("科目:{2} 的" + msgBiggerError, "申请金额", "可用金额", detailEntity.T_FB_SUBJECT.SUBJECTNAME));
                    }
                    if (detailEntity.APPLIEDMONEY <= 0)
                    {
                        string errorMessage = string.Format("科目: {0} 的申请金额必须大于零!", detailEntity.T_FB_SUBJECT.SUBJECTNAME);
                        listReslut.Add(errorMessage);
                    }
                    if (string.IsNullOrWhiteSpace(detailEntity.REMARK))
                    {
                        string errorMessage = string.Format("科目: {0} 的摘要不能为空!", detailEntity.T_FB_SUBJECT.SUBJECTNAME);
                        listReslut.Add(errorMessage);
                    }
                });
            }


            if (this.TravelSubject != null)
            {
                if (this.TravelSubject.SpecialListDetail.Count == 0)
                {
                    listReslut.Add("当前申请人没有出差的预算额度");
                }
                else if (this.TravelSubject.ApplyMoney > this.TravelSubject.UsableMoney)
                {
                    listReslut.Add(string.Format("科目:{2} 的" + msgBiggerError, "申请金额", "可用金额", TravelSubject.subject.SUBJECTNAME));
                }
                return(listReslut);
            }
            var items = from item in ExtensionalOrderDetailFBEntityList
                        group item by new
            {
                (item.Entity as T_FB_EXTENSIONORDERDETAIL).T_FB_SUBJECT.SUBJECTNAME,
                (item.Entity as T_FB_EXTENSIONORDERDETAIL).CHARGETYPE,
                (item.Entity as T_FB_EXTENSIONORDERDETAIL).USABLEMONEY
            } into g
            where g.Sum(item => (item.Entity as T_FB_EXTENSIONORDERDETAIL).APPLIEDMONEY) > g.Key.USABLEMONEY
            select new { g.Key, totalCharge = g.Sum(item => (item.Entity as T_FB_EXTENSIONORDERDETAIL).APPLIEDMONEY) };

            foreach (var item in items)
            {
                listReslut.Add(string.Format("科目:{2} 的" + msgBiggerError, "申请金额", "可用金额", item.Key.SUBJECTNAME));
            }

            bool isbError = false;

            if (ListBorrowDetail != null)
            {
                this.ListBorrowDetail.ForEach(item =>
                {
                    if (isbError)
                    {
                        return;
                    }
                    var dItem       = this.BorrowGrid.GridItems[0].ReferenceTypes.FirstOrDefault(itemFind => itemFind.DICTIONARYVALUE == item.REPAYTYPE);
                    string typeName = "{0}-的";
                    if (dItem != null)
                    {
                        typeName = string.Format(typeName, dItem.DICTIONARYNAME);
                    }
                    else
                    {
                        typeName = "";
                    }

                    if (item.BORROWMONEY < item.REPAYMONEY)
                    {
                        listReslut.Add(string.Format("冲借款金额不能大于借款余额或报销金额"));
                        isbError = true;
                    }

                    if (item.REPAYMONEY > 0 && string.IsNullOrWhiteSpace(item.REMARK))
                    {
                        listReslut.Add("冲借款明细的摘要不能为空");
                        isbError = true;
                    }
                });


                var bcount = this.ListBorrowDetail.Sum(item =>
                {
                    return(item.REPAYMONEY);
                });
                if (bcount > ExtensionalOrder.TOTALMONEY.Value)
                {
                    listReslut.Add("冲借款金额不能大于借款余额或报销金额");
                }
                if (this.rbtnChargeBorrow.IsChecked == true)
                {
                    if (bcount == 0)
                    {
                        listReslut.Add("冲借款时明细不能为空!");
                    }
                }
            }


            return(listReslut);
        }
Пример #11
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;
            }

        }
Пример #12
0
        public FBEntity ReSubmitT_FB_EXTENSIONALORDER(T_FB_EXTENSIONALORDER entity)
        {
            FBEntityBLL bll = this;
            FBEntity fbOldEntity = GetFBEntityByEntityKey(entity.EntityKey);


            var master = fbOldEntity.Entity as T_FB_EXTENSIONALORDER;
            var details = fbOldEntity.GetRelationFBEntities(typeof(T_FB_EXTENSIONORDERDETAIL).Name);
            details.ForEach(item =>
            {
                bll.InnerRemove(item.Entity);
            });

            master.INNERORDERID = string.Empty;
            master.CHECKSTATES = (int)CheckStates.Approving;
            master.TOTALMONEY = entity.TOTALMONEY;

            var result = master.ToFBEntity();
            List<FBEntity> listDetail = entity.T_FB_EXTENSIONORDERDETAIL.ToList().CreateList(item =>
                {
                    T_FB_EXTENSIONORDERDETAIL detail = new T_FB_EXTENSIONORDERDETAIL();
                    detail.EXTENSIONORDERDETAILID = Guid.NewGuid().ToString();

                    detail.APPLIEDMONEY = item.APPLIEDMONEY;
                    detail.CHARGETYPE = item.CHARGETYPE;
                    detail.CREATEDATE = DateTime.Now;
                    detail.CREATEUSERID = item.CREATEUSERID;
                    detail.REMARK = item.REMARK;
                    detail.T_FB_SUBJECT = item.T_FB_SUBJECT;
                    detail.UPDATEUSERID = item.UPDATEUSERID;
                    detail.USABLEMONEY = item.USABLEMONEY;
                    detail.T_FB_EXTENSIONALORDER = entity;

                    FBEntity fbEntityDetail = detail.ToFBEntity();
                    fbEntityDetail.FBEntityState = FBEntityState.Added;
                    return fbEntityDetail;
                });
            result.AddFBEntities<T_FB_EXTENSIONORDERDETAIL>(listDetail);

            result.FBEntityState = FBEntityState.ReSubmit;
            SaveT_FB_EXTENSIONALORDER(result);
            return result;

        }