Exemple #1
0
        public string SaveChargeRdByExtenOrder(string strFormType, T_FB_EXTENSIONALORDER entTemp)
        {
            string strRes = string.Empty;

            try
            {
                if (entTemp == null || string.IsNullOrWhiteSpace(strFormType))
                {
                    return(strRes);
                }

                ExtensionalOrderBLL bllExtensionalOrder = new ExtensionalOrderBLL();
                bllExtensionalOrder.SaveExtensionalOrderRd(entTemp, strFormType);

                OaInterfaceBLL bll = new OaInterfaceBLL();

                strRes = bll.GetApplyOrderID(entTemp.ORDERID);
            }
            catch (Exception ex)
            {
                Utility.SaveLog(ex.Message);
            }

            return(strRes);
        }
Exemple #2
0
        void clientFBComm_GetFBEntityCompleted(object sender, GetFBEntityCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                if (e.Result == null)
                {
                    this.IsEnabled = false;
                    return;
                }

                FBEntity fbEntity = e.Result;
                bool     isExtend = false;
                string   strOrderId = string.Empty, strModelCode = string.Empty;

                if (this.OrderEntity.OrderType == typeof(T_FB_CHARGEAPPLYMASTER) || this.OrderEntity.OrderType == typeof(T_FB_BORROWAPPLYMASTER))
                {
                    T_FB_EXTENSIONALORDER entMaster = fbEntity.Entity as T_FB_EXTENSIONALORDER;
                    if (entMaster.T_FB_EXTENSIONALTYPE != null)
                    {
                        isExtend     = true;
                        strModelCode = entMaster.T_FB_EXTENSIONALTYPE.MODELCODE;
                        strOrderId   = entMaster.ORDERID;
                    }
                }

                if (!isExtend)
                {
                    return;
                }

                AuditEntity.ModelCode = strModelCode;
                AuditEntity.FormID    = strOrderId;
            }
        }
Exemple #3
0
        /// <summary>
        /// 查询数据后对控件赋值
        /// </summary>
        private void SetValue()
        {
            T_FB_EXTENSIONALORDER eOrder = this.ExtensionalOrderFBEntity.Entity as T_FB_EXTENSIONALORDER;



            if (ApplyType == ApplyTypes.BorrowApply)
            {
                eOrder.APPLYTYPE = 2;
            }
            else if (ApplyType == ApplyTypes.ChargeApply)
            {
                eOrder.APPLYTYPE = 1;
            }

            if (ChargeApplyMaster != null)
            {
                this.rbtnChargeBorrow.IsChecked = (ChargeApplyMaster != null && ChargeApplyMaster.PAYTYPE == decimal.Parse("2"));
                if (IsFromFB == true)
                {
                    this.rbtnChargePerson.IsChecked = (ChargeApplyMaster != null && ChargeApplyMaster.PAYTYPE == decimal.Parse("1"));
                }
            }
            //this.rbtnApplyTypeBorrow.IsChecked = (eOrder.APPLYTYPE != null && eOrder.APPLYTYPE.Value == decimal.Parse("2"));
            //this.rbtnApplyTypeCharge.IsChecked = (eOrder.APPLYTYPE != null && eOrder.APPLYTYPE.Value == decimal.Parse("1"));

            this.tbRemark.Text = string.IsNullOrEmpty(eOrder.REMARK) ? "" : eOrder.REMARK;

            rbtnChargePerson_Click(null, null);
            //rbtnApplyTypeCharge_Click(null, null);

            // this.tbCount.SetBinding(TextBox.TextProperty, new Binding() { Path = new PropertyPath("TOTALMONEY"), Source = this.Order });
            SetLittleCount();
        }
Exemple #4
0
        public T_FB_EXTENSIONALORDER GetExtensionalOrderByID(string strExtensionalOrderId)
        {
            T_FB_EXTENSIONALORDER entRd = new T_FB_EXTENSIONALORDER();
            ExtensionalOrderBLL   bllExtensionalOrder = new ExtensionalOrderBLL();

            entRd = bllExtensionalOrder.GetExtensionalOrderByID(strExtensionalOrderId);
            return(entRd);
        }
Exemple #5
0
 public ChargeApplyControl()
 {
     try
     {
         InitializeComponent();
         ExtensionalOrder             = new T_FB_EXTENSIONALORDER();
         ExtensionalOrder.CHECKSTATES = 0;
         GetPayType.Opacity           = 0;
         //InitAllExtOrderType();
         InitApplyType();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
Exemple #6
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);
        }
Exemple #7
0
        /// <summary>
        /// 获取T_FB_EXTENSIONALORDER信息
        /// </summary>
        /// <param name="strExtensionalOrderId">主键索引</param>
        /// <returns></returns>
        public T_FB_EXTENSIONALORDER GetExtensionalOrderByID(string strExtensionalOrderId)
        {
            if (string.IsNullOrEmpty(strExtensionalOrderId))
            {
                return(null);
            }

            ExtensionalOrderDAL dalExtensionalOrder = new ExtensionalOrderDAL();
            StringBuilder       strFilter           = new StringBuilder();
            List <string>       objArgs             = new List <string>();

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

            T_FB_EXTENSIONALORDER entRd = dalExtensionalOrder.GetExtensionalOrderRdByMultSearch(strFilter.ToString(), objArgs.ToArray());

            return(entRd);
        }
Exemple #8
0
        public string SaveChargeRdByExtenOrder(string strFormType, T_FB_EXTENSIONALORDER entTemp)
        {
            string strRes = string.Empty;
            try
            {
                if (entTemp == null || string.IsNullOrWhiteSpace(strFormType))
                {
                    return strRes;
                }

                ExtensionalOrderBLL bllExtensionalOrder = new ExtensionalOrderBLL();
                bllExtensionalOrder.SaveExtensionalOrderRd(entTemp, strFormType);

                OaInterfaceBLL bll = new OaInterfaceBLL();

                strRes = bll.GetApplyOrderID(entTemp.ORDERID);
            }
            catch (Exception ex)
            {
                Utility.SaveLog(ex.Message);
            }

            return strRes;
        }
Exemple #9
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;
            }
        }
Exemple #10
0
 public ChargeApplyControl()
 {
     try
     {
         InitializeComponent();
         ExtensionalOrder = new T_FB_EXTENSIONALORDER();
         ExtensionalOrder.CHECKSTATES = 0;
         GetPayType.Opacity = 0;
         //InitAllExtOrderType();
         InitApplyType();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
Exemple #11
0
 public static T_FB_EXTENSIONALORDER CreateT_FB_EXTENSIONALORDER(string eXTENSIONALORDERID, decimal cHECKSTATES, string oWNERID, string oWNERPOSTID, string oWNERDEPARTMENTID, string oWNERCOMPANYID, string cREATEUSERID, global::System.DateTime cREATEDATE, string cREATECOMPANYID, string cREATEDEPARTMENTID, string cREATEPOSTID, string uPDATEUSERID, global::System.DateTime uPDATEDATE)
 {
     T_FB_EXTENSIONALORDER t_FB_EXTENSIONALORDER = new T_FB_EXTENSIONALORDER();
     t_FB_EXTENSIONALORDER.EXTENSIONALORDERID = eXTENSIONALORDERID;
     t_FB_EXTENSIONALORDER.CHECKSTATES = cHECKSTATES;
     t_FB_EXTENSIONALORDER.OWNERID = oWNERID;
     t_FB_EXTENSIONALORDER.OWNERPOSTID = oWNERPOSTID;
     t_FB_EXTENSIONALORDER.OWNERDEPARTMENTID = oWNERDEPARTMENTID;
     t_FB_EXTENSIONALORDER.OWNERCOMPANYID = oWNERCOMPANYID;
     t_FB_EXTENSIONALORDER.CREATEUSERID = cREATEUSERID;
     t_FB_EXTENSIONALORDER.CREATEDATE = cREATEDATE;
     t_FB_EXTENSIONALORDER.CREATECOMPANYID = cREATECOMPANYID;
     t_FB_EXTENSIONALORDER.CREATEDEPARTMENTID = cREATEDEPARTMENTID;
     t_FB_EXTENSIONALORDER.CREATEPOSTID = cREATEPOSTID;
     t_FB_EXTENSIONALORDER.UPDATEUSERID = uPDATEUSERID;
     t_FB_EXTENSIONALORDER.UPDATEDATE = uPDATEDATE;
     return t_FB_EXTENSIONALORDER;
 }
Exemple #12
0
        /// <summary>
        /// 显示外部单据(即预算关联OA的单据)
        /// </summary>
        /// <param name="orderID"></param>
        /// <param name="modelCode"></param>
        /// <param name="formType"></param>
        public static void ShowExtendForm(object sourceobj)
        {
            if (sourceobj == null)
            {
                return;
            }

            T_FB_EXTENSIONALORDER entOrder = sourceobj as T_FB_EXTENSIONALORDER;

            if (entOrder == null)
            {
                return;
            }

            if (entOrder.T_FB_EXTENSIONALTYPE == null)
            {
                return;
            }

            if (string.IsNullOrWhiteSpace(entOrder.ORDERID) || string.IsNullOrWhiteSpace(entOrder.T_FB_EXTENSIONALTYPE.MODELCODE))
            {
                return;
            }

            SMT.SAAS.Controls.Toolkit.Windows.Program pg = new SAAS.Controls.Toolkit.Windows.Program();
            string AssemblyName = string.Empty, PublicClass = string.Empty, ProcessName = string.Empty, PageParameter = string.Empty;
            string ApplicationOrder = string.Empty, FormType = string.Empty;

            FormType = Convert.ToInt32(SMT.SaaS.FrameworkUI.FormTypes.Browse).ToString();
            switch (entOrder.T_FB_EXTENSIONALTYPE.EXTENSIONALTYPECODE)
            {
            case "CCSQ":
                AssemblyName     = "SMT.SaaS.OA.UI";
                PublicClass      = "SMT.SaaS.OA.UI.Utility";
                ProcessName      = "CreateFormFromEngine";
                PageParameter    = "SMT.SaaS.OA.UI.Views.Travelmanagement.TravelapplicationChildWindows";
                ApplicationOrder = entOrder.ORDERID;
                break;

            case "CCBX":
                AssemblyName     = "SMT.SaaS.OA.UI";
                PublicClass      = "SMT.SaaS.OA.UI.Utility";
                ProcessName      = "CreateFormFromEngine";
                PageParameter    = "SMT.SaaS.OA.UI.UserControls.TravelReimbursementControl";
                ApplicationOrder = entOrder.ORDERID;
                break;

            case "SXSP":
                AssemblyName     = "SMT.SaaS.OA.UI";
                PublicClass      = "SMT.SaaS.OA.UI.Utility";
                ProcessName      = "CreateFormFromEngine";
                PageParameter    = "SMT.SaaS.OA.UI.UserControls.ApprovalForm_aud";
                ApplicationOrder = entOrder.ORDERID;
                break;
            }

            Assembly assembly = SMT.SAAS.Utility.ApplicationHelper.GetAssembly(AssemblyName);

            if (assembly == null)
            {
                return;
            }

            Type type = assembly.GetType(PublicClass);

            Type[]     types = new Type[] { typeof(string), typeof(string), typeof(string) };
            MethodInfo method = type.GetMethod(ProcessName, types);

            method.Invoke(null, BindingFlags.Static | BindingFlags.InvokeMethod, null, new object[] { ApplicationOrder, PageParameter, FormType }, null);
        }
Exemple #13
0
        /// <summary>
        /// 根据扩展单据,生成其关联的费用报销单据(仅仅是保存,不冻结/扣除预算额度)
        /// </summary>
        /// <param name="entAdd"></param>
        private void SaveChargeRdByExtenOrder(string strFormType, T_FB_EXTENSIONALORDER entTemp)
        {
            //1.判定当前是否进行了月结
            bool bIsChecked = false;
            IsCheckedAccount(ref bIsChecked);
            if (!bIsChecked)
            {
                throw new Exception("本月尚未结算,无法提交!");
            }

            if (strFormType == Convert.ToInt32(FBAEnums.FormTypes.Resubmit).ToString())
            {
                CancelOldChargeRdByExtenOrder(entTemp.EXTENSIONALORDERID);
            }

            ChargeApplyMasterBLL bllCharge = new ChargeApplyMasterBLL();
            T_FB_CHARGEAPPLYMASTER entCharge = bllCharge.GetChargeApplyMasterByID(entTemp.INNERORDERID);

            if (entCharge == null)
            {
                entCharge = new T_FB_CHARGEAPPLYMASTER();
                entCharge.CHARGEAPPLYMASTERID = entTemp.INNERORDERID;
                entCharge.CHARGEAPPLYMASTERCODE = "自动生成";
                entCharge.BUDGETARYMONTH = System.DateTime.Now.Date;
                entCharge.PAYTYPE = 1;
            }
            
            entCharge.EDITSTATES = 1;
            entCharge.CHECKSTATES = entTemp.CHECKSTATES;

            entCharge.T_FB_EXTENSIONALORDER = entTemp;
            entCharge.BANKACCOUT = entTemp.BANKACCOUT;
            entCharge.BANK = entTemp.BANK;
            entCharge.RECEIVER = entTemp.RECEIVER;
            entCharge.PAYTARGET = entTemp.PAYTARGET;
            entCharge.TOTALMONEY = entTemp.TOTALMONEY.Value;
            entCharge.REMARK = entTemp.REMARK;

            entCharge.CREATECOMPANYID = entTemp.CREATECOMPANYID;
            entCharge.CREATEDEPARTMENTID = entTemp.CREATEDEPARTMENTID;
            entCharge.CREATEPOSTID = entTemp.CREATEPOSTID;
            entCharge.CREATEUSERID = entTemp.CREATEUSERID;
            entCharge.CREATEDATE = entTemp.CREATEDATE;

            entCharge.OWNERCOMPANYID = entTemp.OWNERCOMPANYID;
            entCharge.OWNERDEPARTMENTID = entTemp.OWNERDEPARTMENTID;
            entCharge.OWNERID = entTemp.OWNERID;
            entCharge.OWNERPOSTID = entTemp.OWNERPOSTID;

            entCharge.CREATECOMPANYNAME = entTemp.CREATECOMPANYNAME;
            entCharge.CREATEDEPARTMENTNAME = entTemp.CREATEDEPARTMENTNAME;
            entCharge.CREATEPOSTNAME = entTemp.CREATEPOSTNAME;
            entCharge.CREATEUSERNAME = entTemp.CREATEUSERNAME;

            entCharge.OWNERCOMPANYNAME = entTemp.OWNERCOMPANYNAME;
            entCharge.OWNERDEPARTMENTNAME = entTemp.OWNERDEPARTMENTNAME;
            entCharge.OWNERNAME = entTemp.OWNERNAME;
            entCharge.OWNERPOSTNAME = entTemp.OWNERPOSTNAME;

            entCharge.UPDATEUSERID = entTemp.UPDATEUSERID;
            entCharge.UPDATEDATE = entTemp.UPDATEDATE;
        }
Exemple #14
0
        /// <summary>
        /// 借款控件传递的扩展单据数据保存起来,并根据扩展单据的审核状态,及单据类型产生新的预算关联单据(eg:费用报销单,借款申请单)
        /// 并返回预算关联单据号
        /// </summary>
        /// <param name="entRd">扩展单据实体</param>
        /// <returns></returns>
        public string SaveExtensionalOrderRd(T_FB_EXTENSIONALORDER entTemp, string strFormType)
        {
            string strRes = string.Empty;
            ExtensionalOrderDAL dalExtensionalOrder = new ExtensionalOrderDAL();
            try
            {
                if (entTemp == null)
                {
                    return "NOTFOUND";
                }

                if (entTemp.T_FB_EXTENSIONORDERDETAIL == null)
                {
                    return "NOTFOUND";
                }

                if (entTemp.T_FB_EXTENSIONORDERDETAIL.Count() == 0)
                {
                    return "NOTFOUND";
                }

                if (entTemp.TOTALMONEY == null)
                {
                    return "TOTALMONEYTHANO";
                }

                if (entTemp.TOTALMONEY.Value <= 0)
                {
                    return "TOTALMONEYTHANO";
                }

                dalExtensionalOrder.BeginTransaction();

                string innerOrderID = entTemp.INNERORDERID;

                #region 处理 Extension 单据
                T_FB_EXTENSIONALORDER entAdd = new T_FB_EXTENSIONALORDER();
                Utility.CloneEntity(entTemp, entAdd);
                // 第一次提交 
                if ((entTemp.CHECKSTATES == Convert.ToInt32(FBAEnums.CheckStates.Approving) && string.IsNullOrEmpty(innerOrderID)) || strFormType == Convert.ToInt32(FBAEnums.FormTypes.Resubmit).ToString())
                {
                    entTemp.INNERORDERID = Guid.NewGuid().ToString();
                }

                dalExtensionalOrder.Add(entAdd);

                List<T_FB_EXTENSIONORDERDETAIL> entDetails = entTemp.T_FB_EXTENSIONORDERDETAIL.ToList();
                ExtensionOrderDetailDAL dalDetail = new ExtensionOrderDetailDAL();
                foreach (T_FB_EXTENSIONORDERDETAIL entDetail in entDetails)
                {
                    dalDetail.Add(entDetail);
                }
                #endregion

                int iCurCheckState = Convert.ToInt32(entTemp.CHECKSTATES.ToString());
                switch (iCurCheckState)
                {
                    case 0:                        
                        break;
                    case 1:
                        SaveChargeRdByExtenOrder(strFormType, entAdd);
                        break;
                    case 2:
                        SaveChargeRdByExtenOrder(strFormType, entAdd);
                        break;
                    case 3:
                        SaveChargeRdByExtenOrder(strFormType, entAdd);
                        break;
                }

                dalExtensionalOrder.CommitTransaction();
            }
            catch (Exception ex)
            {
                dalExtensionalOrder.RollbackTransaction();
                Utility.SaveLog(ex.ToString());
                strRes = "保存预算单据失败:系统错误,请联系管理员!";
            }
            return strRes;
        }
Exemple #15
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;
            }

        }
Exemple #16
0
        /// <summary>
        /// 借款控件传递的扩展单据数据保存起来,并根据扩展单据的审核状态,及单据类型产生新的预算关联单据(eg:费用报销单,借款申请单)
        /// 并返回预算关联单据号
        /// </summary>
        /// <param name="entRd">扩展单据实体</param>
        /// <returns></returns>
        public string SaveExtensionalOrderRd(T_FB_EXTENSIONALORDER entTemp, string strFormType)
        {
            string strRes = string.Empty;
            ExtensionalOrderDAL dalExtensionalOrder = new ExtensionalOrderDAL();

            try
            {
                if (entTemp == null)
                {
                    return("NOTFOUND");
                }

                if (entTemp.T_FB_EXTENSIONORDERDETAIL == null)
                {
                    return("NOTFOUND");
                }

                if (entTemp.T_FB_EXTENSIONORDERDETAIL.Count() == 0)
                {
                    return("NOTFOUND");
                }

                if (entTemp.TOTALMONEY == null)
                {
                    return("TOTALMONEYTHANO");
                }

                if (entTemp.TOTALMONEY.Value <= 0)
                {
                    return("TOTALMONEYTHANO");
                }

                dalExtensionalOrder.BeginTransaction();

                string innerOrderID = entTemp.INNERORDERID;

                #region 处理 Extension 单据
                T_FB_EXTENSIONALORDER entAdd = new T_FB_EXTENSIONALORDER();
                Utility.CloneEntity(entTemp, entAdd);
                // 第一次提交
                if ((entTemp.CHECKSTATES == Convert.ToInt32(FBAEnums.CheckStates.Approving) && string.IsNullOrEmpty(innerOrderID)) || strFormType == Convert.ToInt32(FBAEnums.FormTypes.Resubmit).ToString())
                {
                    entTemp.INNERORDERID = Guid.NewGuid().ToString();
                }

                dalExtensionalOrder.Add(entAdd);

                List <T_FB_EXTENSIONORDERDETAIL> entDetails = entTemp.T_FB_EXTENSIONORDERDETAIL.ToList();
                ExtensionOrderDetailDAL          dalDetail  = new ExtensionOrderDetailDAL();
                foreach (T_FB_EXTENSIONORDERDETAIL entDetail in entDetails)
                {
                    dalDetail.Add(entDetail);
                }
                #endregion

                int iCurCheckState = Convert.ToInt32(entTemp.CHECKSTATES.ToString());
                switch (iCurCheckState)
                {
                case 0:
                    break;

                case 1:
                    SaveChargeRdByExtenOrder(strFormType, entAdd);
                    break;

                case 2:
                    SaveChargeRdByExtenOrder(strFormType, entAdd);
                    break;

                case 3:
                    SaveChargeRdByExtenOrder(strFormType, entAdd);
                    break;
                }

                dalExtensionalOrder.CommitTransaction();
            }
            catch (Exception ex)
            {
                dalExtensionalOrder.RollbackTransaction();
                Utility.SaveLog(ex.ToString());
                strRes = "保存预算单据失败:系统错误,请联系管理员!";
            }
            return(strRes);
        }
Exemple #17
0
        /// <summary>
        /// 根据扩展单据,生成其关联的费用报销单据(仅仅是保存,不冻结/扣除预算额度)
        /// </summary>
        /// <param name="entAdd"></param>
        private void SaveChargeRdByExtenOrder(string strFormType, T_FB_EXTENSIONALORDER entTemp)
        {
            //1.判定当前是否进行了月结
            bool bIsChecked = false;

            IsCheckedAccount(ref bIsChecked);
            if (!bIsChecked)
            {
                throw new Exception("本月尚未结算,无法提交!");
            }

            if (strFormType == Convert.ToInt32(FBAEnums.FormTypes.Resubmit).ToString())
            {
                CancelOldChargeRdByExtenOrder(entTemp.EXTENSIONALORDERID);
            }

            ChargeApplyMasterBLL   bllCharge = new ChargeApplyMasterBLL();
            T_FB_CHARGEAPPLYMASTER entCharge = bllCharge.GetChargeApplyMasterByID(entTemp.INNERORDERID);

            if (entCharge == null)
            {
                entCharge = new T_FB_CHARGEAPPLYMASTER();
                entCharge.CHARGEAPPLYMASTERID   = entTemp.INNERORDERID;
                entCharge.CHARGEAPPLYMASTERCODE = "自动生成";
                entCharge.BUDGETARYMONTH        = System.DateTime.Now.Date;
                entCharge.PAYTYPE = 1;
            }

            entCharge.EDITSTATES  = 1;
            entCharge.CHECKSTATES = entTemp.CHECKSTATES;

            entCharge.T_FB_EXTENSIONALORDER = entTemp;
            entCharge.BANKACCOUT            = entTemp.BANKACCOUT;
            entCharge.BANK       = entTemp.BANK;
            entCharge.RECEIVER   = entTemp.RECEIVER;
            entCharge.PAYTARGET  = entTemp.PAYTARGET;
            entCharge.TOTALMONEY = entTemp.TOTALMONEY.Value;
            entCharge.REMARK     = entTemp.REMARK;

            entCharge.CREATECOMPANYID    = entTemp.CREATECOMPANYID;
            entCharge.CREATEDEPARTMENTID = entTemp.CREATEDEPARTMENTID;
            entCharge.CREATEPOSTID       = entTemp.CREATEPOSTID;
            entCharge.CREATEUSERID       = entTemp.CREATEUSERID;
            entCharge.CREATEDATE         = entTemp.CREATEDATE;

            entCharge.OWNERCOMPANYID    = entTemp.OWNERCOMPANYID;
            entCharge.OWNERDEPARTMENTID = entTemp.OWNERDEPARTMENTID;
            entCharge.OWNERID           = entTemp.OWNERID;
            entCharge.OWNERPOSTID       = entTemp.OWNERPOSTID;

            entCharge.CREATECOMPANYNAME    = entTemp.CREATECOMPANYNAME;
            entCharge.CREATEDEPARTMENTNAME = entTemp.CREATEDEPARTMENTNAME;
            entCharge.CREATEPOSTNAME       = entTemp.CREATEPOSTNAME;
            entCharge.CREATEUSERNAME       = entTemp.CREATEUSERNAME;

            entCharge.OWNERCOMPANYNAME    = entTemp.OWNERCOMPANYNAME;
            entCharge.OWNERDEPARTMENTNAME = entTemp.OWNERDEPARTMENTNAME;
            entCharge.OWNERNAME           = entTemp.OWNERNAME;
            entCharge.OWNERPOSTNAME       = entTemp.OWNERPOSTNAME;

            entCharge.UPDATEUSERID = entTemp.UPDATEUSERID;
            entCharge.UPDATEDATE   = entTemp.UPDATEDATE;
        }
Exemple #18
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();
            }
        }
Exemple #19
0
 public T_FB_EXTENSIONALORDER GetExtensionalOrderByID(string strExtensionalOrderId)
 {
     T_FB_EXTENSIONALORDER entRd = new T_FB_EXTENSIONALORDER();
     ExtensionalOrderBLL bllExtensionalOrder = new ExtensionalOrderBLL();
     entRd = bllExtensionalOrder.GetExtensionalOrderByID(strExtensionalOrderId);
     return entRd;
 }
Exemple #20
0
 void client_GetExtensionalOrderByIDCompleted(object sender, GetExtensionalOrderByIDCompletedEventArgs e)
 {
     if (e.Error == null)
     {
         if (e.Result != null)
         {
             exten = e.Result;
             if (exten.T_FB_EXTENSIONALTYPE != null)
             {
                 tblExten.Visibility = Visibility.Visible;
                 tblExtension.Visibility = Visibility.Visible;
                 tblExtension.Text = exten.T_FB_EXTENSIONALTYPE.EXTENSIONALTYPENAME;
             }
         }
     }
 }
Exemple #21
0
 public void AddToT_FB_EXTENSIONALORDER(T_FB_EXTENSIONALORDER t_FB_EXTENSIONALORDER)
 {
     base.AddObject("T_FB_EXTENSIONALORDER", t_FB_EXTENSIONALORDER);
 }
Exemple #22
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;

        }