Example #1
0
File: Common.cs Project: jjg0519/OA
        public static QueryExpression And(this QueryExpression qe, string propertyName, string propertyValue)
        {
            QueryExpression qeTop = QueryExpression.Equal(propertyName, propertyValue);

            qeTop.RelatedExpression = qe;
            return(qeTop);
        }
Example #2
0
        /// <summary>
        ///   部门科目记录修改流水
        /// </summary>
        /// <param name="fbEntityList"></param>
        /// <returns></returns>
        public bool SaveListT_FB_SUBJECTDEPTMENT(List <FBEntity> fbEntityList)
        {
            if (fbEntityList.Count > 0)
            {
                //记录公司部门科目设置修改流水
                SaveListT_FB_WFSUBJECTSETTING(fbEntityList, "2");

                //修改部门启用时,同时更新岗位启用。
                fbEntityList.ForEach(item =>
                {
                    T_FB_SUBJECTDEPTMENT entity = item.Entity as T_FB_SUBJECTDEPTMENT;
                    if (entity != null && entity.ACTIVED == 0)
                    {
                        List <FBEntity> EntityListPost = new List <FBEntity>();
                        QueryExpression qe             = QueryExpression.Equal("T_FB_SUBJECTDEPTMENT.SUBJECTDEPTMENTID", entity.SUBJECTDEPTMENTID);

                        List <T_FB_SUBJECTPOST> PostList = GetEntities <T_FB_SUBJECTPOST>(qe);
                        PostList.ForEach(p =>
                        {
                            FBEntity a      = new FBEntity();
                            a.FBEntityState = FBEntityState.Modified;

                            p.ACTIVED = 0;//1 : 可用 ; 0 : 不可用

                            a.Entity    = p;
                            a.EntityKey = null;
                            EntityListPost.Add(a);
                        });
                        FBEntityBLLSaveList(EntityListPost);
                    }
                });
            }
            return(FBEntityBLLSaveList(fbEntityList));
        }
Example #3
0
        public List <EntityObject> GetEntities(string entityType)
        {
            using (BudgetAccountBLL bll = new BudgetAccountBLL())
            {
                DateTime dtStart = DateTime.Parse(this.tbStart.Text);
                DateTime dtEnd   = DateTime.Parse(this.tbEnd.Text);

                QueryExpression qeStart = new QueryExpression();
                qeStart.PropertyName  = FieldName.UpdateDate;
                qeStart.PropertyValue = this.tbStart.Text;
                qeStart.Operation     = QueryExpression.Operations.GreaterThanOrEqual;

                QueryExpression qeEnd = new QueryExpression();
                qeEnd.PropertyName  = FieldName.UpdateDate;
                qeEnd.PropertyValue = this.tbEnd.Text;
                qeEnd.Operation     = QueryExpression.Operations.LessThanOrEqual;

                QueryExpression qeCheckStatesPass    = QueryExpression.Equal(FieldName.CheckStates, "2");
                QueryExpression qeCheckStatesPassing = QueryExpression.Equal(FieldName.CheckStates, "1");

                qeStart.RelatedExpression           = qeEnd;
                qeEnd.RelatedExpression             = qeCheckStatesPass;
                qeCheckStatesPass.RelatedType       = QueryExpression.RelationType.Or;
                qeCheckStatesPass.RelatedExpression = qeCheckStatesPassing;

                qeStart.QueryType = entityType;

                qeStart.OrderByExpression = new OrderByExpression {
                    OrderByType = OrderByType.Asc, PropertyName = FieldName.UpdateDate
                };
                qeStart.IsNoTracking = true;
                return(qeStart.Query(bll));
            }
        }
Example #4
0
        /// <summary>
        /// 根据扩展单编号查询申请单编号。
        /// </summary>
        /// <param name="extensionalOrderID">扩展单编号。</param>
        /// <returns>返回申请单编号。</returns>
        public string GetTravelExpApplyMasterCode(string extensionalOrderID)
        {
            using (FBCommonBLL fbCommonBLL = new FBCommonBLL())
            {
                if (string.IsNullOrWhiteSpace(extensionalOrderID))
                {
                    return(string.Empty);
                }

                QueryExpression qe = QueryExpression.Equal("T_FB_EXTENSIONALORDER.EXTENSIONALORDERID", extensionalOrderID);
                qe.QueryType = typeof(T_FB_TRAVELEXPAPPLYMASTER).Name;

                FBEntity entFBEntity = fbCommonBLL.GetFBEntity(qe);
                if (entFBEntity == null)
                {
                    return(string.Empty);
                }

                if (entFBEntity.Entity == null)
                {
                    return(string.Empty);
                }

                return(((T_FB_TRAVELEXPAPPLYMASTER)entFBEntity.Entity).TRAVELEXPAPPLYMASTERID);
            }
        }
Example #5
0
        public List <DebtInfo> RepayBySalary(List <DebtInfo> listDebt, RepayType repayType)
        {
            List <DebtInfo> result = new List <DebtInfo>();

            //System.Linq.Expressions.Expression.con
            listDebt.ForEach(item =>
            {
                QueryExpression qeOwnerID       = QueryExpression.Equal(FieldName.OwnerID, item.EmployeeID);
                QueryExpression qeCheckStates   = QueryExpression.Equal(FieldName.CheckStates, ((int)CheckStates.Approved).ToString());
                QueryExpression qeISREPAIED     = QueryExpression.Equal("ISREPAIED", "0");
                QueryExpression qeOverDate      = QueryExpression.Equal("PLANREPAYDATE", DateTime.Now.Date.ToString("yyyy-MM-dd"));
                qeOverDate.Operation            = QueryExpression.Operations.LessThan;
                qeOwnerID.RelatedExpression     = qeCheckStates;
                qeCheckStates.RelatedExpression = qeISREPAIED;
                qeISREPAIED.RelatedExpression   = qeOverDate;
                List <DebtInfo> debtInfos       = GetDebtInfo(qeOwnerID);

                debtInfos.ForEach(dept =>
                {
                });
            });


            return(new List <DebtInfo>());
        }
Example #6
0
        public FBEntity GetCompanyBudgetSum(T_FB_COMPANYBUDGETAPPLYMASTER entity)
        {
            FBEntity        result     = null;
            decimal?        budgetYear = entity.BUDGETYEAR;
            QueryExpression qe         = QueryExpression.Equal(FieldName_BudgetYear, budgetYear.Value.ToString());
            QueryExpression qeStates   = QueryExpression.Equal(FieldName.CheckStates, ((int)CheckStates.UnSubmit).ToString());
            QueryExpression qeCompany  = QueryExpression.Equal(FieldName.OwnerCompanyID, entity.OWNERCOMPANYID);

            qe.RelatedExpression       = qeStates;
            qeStates.RelatedExpression = qeCompany;

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

            if (sumMaster == null)
            {
                sumMaster = new T_FB_COMPANYBUDGETSUMMASTER();
                sumMaster.COMPANYBUDGETSUMMASTERID   = Guid.NewGuid().ToString();
                sumMaster.COMPANYBUDGETSUMMASTERCODE = "自动生成";
                sumMaster.CREATEUSERID   = SYSTEM_USER_ID;
                sumMaster.CREATEUSERNAME = "******";
                sumMaster.CREATEDATE     = System.DateTime.Now;
                sumMaster.UPDATEUSERID   = SYSTEM_USER_ID;
                sumMaster.UPDATEDATE     = System.DateTime.Now;

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

                sumMaster.BUDGETYEAR       = budgetYear;
                sumMaster.OWNERCOMPANYID   = entity.OWNERCOMPANYID;
                sumMaster.OWNERCOMPANYNAME = entity.OWNERCOMPANYNAME;

                sumMaster.OWNERDEPARTMENTID   = SYSTEM_USER_ID;
                sumMaster.OWNERDEPARTMENTNAME = "系统生成";

                sumMaster.OWNERPOSTID   = SYSTEM_USER_ID;
                sumMaster.OWNERPOSTNAME = "系统生成";

                sumMaster.OWNERID   = SYSTEM_USER_ID;
                sumMaster.OWNERNAME = "系统生成";

                sumMaster.SUMLEVEL = 0; //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);
        }
Example #7
0
 private void TryGetQueryExpression(string propertyName, string propertyValue, ref QueryExpression parentQueryExpression)
 {
     if (!string.IsNullOrEmpty(propertyValue))
     {
         QueryExpression qe = QueryExpression.Equal(propertyName, propertyValue);
         parentQueryExpression.RelatedExpression = qe;
         parentQueryExpression = qe;
     }
 }
Example #8
0
File: Common.cs Project: jjg0519/OA
        public static EntityObject Query(this EntityInfo entityInfo, string keyValue, BaseBLL bll)
        {
            var qe = QueryExpression.Equal(entityInfo.KeyName, keyValue);

            qe.QueryType = entityInfo.Type;
            var data = qe.Query(bll);

            return(data.FirstOrDefault());
        }
Example #9
0
        public List <DebtInfo> GetLeavingUser(string employeeID)
        {
            QueryExpression qeOwnerID     = QueryExpression.Equal(FieldName.OwnerID, employeeID);
            QueryExpression qeCheckStates = QueryExpression.Equal(FieldName.CheckStates, ((int)CheckStates.Approved).ToString());
            QueryExpression qeISREPAIED   = QueryExpression.Equal("ISREPAIED", "0");

            qeOwnerID.RelatedExpression     = qeCheckStates;
            qeCheckStates.RelatedExpression = qeISREPAIED;
            return(GetDebtInfo(qeOwnerID));
        }
Example #10
0
        //自定义汇总
        public bool CreateCompanyBudgetSumSetMaster(FBEntity fbMaster)
        {
            bool bRes = false;
            T_FB_COMPANYBUDGETSUMMASTER Master = fbMaster.Entity as T_FB_COMPANYBUDGETSUMMASTER;

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

                detail.COMPANYBUDGETSUMDETAILID = 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_COMPANYBUDGETAPPLYMASTER = entity.T_FB_COMPANYBUDGETAPPLYMASTER;
                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_COMPANYBUDGETAPPLYMASTER.OWNERCOMPANYID).And(FieldName.EditStates, "1");
                qeDetail.QueryType = "T_FB_SUMSETTINGSDETAIL";
                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()).And(FieldName.EditStates, "1");
                    qeMaster.QueryType = "T_FB_SUMSETTINGSMASTER";
                    masterset          = GetEntities <T_FB_SUMSETTINGSMASTER>(qeMaster).FirstOrDefault();
                    if (masterset != null)
                    {
                        fbSumMaster = GetCompanyBudgetSumSet(entity, masterset);
                        detail.T_FB_COMPANYBUDGETSUMMASTER = fbSumMaster.Entity as T_FB_COMPANYBUDGETSUMMASTER;
                        fbSumMaster.AddFBEntities <T_FB_COMPANYBUDGETSUMDETAIL>(new List <FBEntity> {
                            fbDetail
                        });
                        fbSumMasterlist.Add(fbSumMaster);
                        Master.PARENTID            = detail.T_FB_COMPANYBUDGETSUMMASTER.COMPANYBUDGETSUMMASTERID;
                        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);
        }
Example #11
0
        public List <T> GetT_FB_TRANSFERAPPLYMASTER <T>(QueryExpression qe, TransferType type)
        {
            QueryExpression qeTransferType = QueryExpression.Equal(FieldName_TransferType, Convert.ToString((int)type));

            qeTransferType.QueryType         = typeof(T_FB_TRANSFERAPPLYMASTER).Name;
            qeTransferType.RelatedExpression = qe;

            List <EntityObject> list       = this.GetEntities(qeTransferType);
            List <T>            listResult = new List <T>();

            list.ForEach(item =>
            {
                T detail = (T)Activator.CreateInstance(typeof(T), item);
                listResult.Add(detail);
            });
            return(listResult);
        }
Example #12
0
        protected void btnGenXml_Click(object sender, EventArgs e)
        {
            string typeName   = "";
            string keyName    = "";
            var    orderID    = this.orderIDForXmlQuery.Text.Split(':')[0];
            var    entityInfo = EntityInfoList.First(item => item.Type == this.ddlOrderType.SelectedValue);

            typeName = entityInfo.Type;
            keyName  = entityInfo.KeyName;
            var    codeName   = entityInfo.CodeName;
            string qName      = codeName;
            Guid   tempGuidID = Guid.Empty;

            if (Guid.TryParse(orderID, out tempGuidID))
            {
                qName = keyName;
            }

            QueryExpression qe = QueryExpression.Equal(qName, orderID);

            qe.QueryType = typeName;
            SubjectBLL sbll  = new SubjectBLL();
            var        data  = qe.Query(sbll);
            var        order = data.FirstOrDefault();

            if (order != null)
            {
                this.orderIDForXmlQuery.Text += ":" + order.GetValue(keyName);
                FBEntity     dataFBEntity = sbll.GetFBEntityByEntityKey(order.EntityKey);
                FBEntity     fbEntity     = new FBEntity();
                VirtualAudit auditEntity  = new VirtualAudit {
                    ModelCode = typeName
                };
                fbEntity.Entity = auditEntity;
                fbEntity.ReferencedEntity.Add(new RelationOneEntity()
                {
                    FBEntity = dataFBEntity
                });
                AuditBLL bll = new AuditBLL();
                xmlConent.Value = bll.GetAuditXmlForMobile(auditEntity.ModelCode, dataFBEntity);
            }
            else
            {
                Response.Write("没有可操作的数据");
            }
        }
Example #13
0
        protected void btnDeptDetail_Click(object sender, EventArgs e)
        {
            // 预算月份
            //DateTime dtBudgetDate = DateTime.Parse();
            //string dataValue = dtBudgetDate.ToString("yyyy-MM-dd");
            QueryExpression qeMonth = QueryExpression.Equal("BUDGETARYMONTH", this.txtMonth.Text);

            qeMonth.QueryType = typeof(T_FB_DEPTBUDGETAPPLYDETAIL).Name;

            // 预算部门
            QueryExpression qeDept = QueryExpression.Equal("OWNERDEPARTMENTID", this.txtDeptID.Text);

            qeDept.QueryType         = typeof(T_FB_DEPTBUDGETAPPLYDETAIL).Name;
            qeDept.RelatedExpression = qeMonth;

            FBCommonService fbService = new FBCommonService();

            var resultList = fbService.QueryFBEntities(qeDept);

            this.GridView1.DataSource = resultList.ToEntityList <T_FB_DEPTBUDGETAPPLYDETAIL>();
            DataBind();
        }
Example #14
0
        public bool SaveListT_FB_SUMSETTINGSMASTER(List <FBEntity> fbEntityList)
        {
            fbEntityList.ForEach(item =>
            {
                T_FB_SUMSETTINGSMASTER Master = item.Entity as T_FB_SUMSETTINGSMASTER;
                if (Master.EDITSTATES == 0)
                {
                    QueryExpression qeID = QueryExpression.Equal("T_FB_SUMSETTINGSMASTER.SUMSETTINGSMASTERID", Master.SUMSETTINGSMASTERID);

                    qeID.QueryType = "T_FB_SUMSETTINGSDETAIL";
                    var result     = FBEntityBllGetFBEntities(qeID);
                    if (result != null)
                    {
                        List <FBEntity> fbEntity = result;
                        fbEntity.ForEach(p =>
                        {
                            //QueryExpression qeCompany = QueryExpression.Equal("SUMSETTINGSMASTERID", Master.SUMSETTINGSMASTERID);
                            //qeCompany.QueryType = "T_FB_COMPANYBUDGETSUMMASTER";
                            //var v = GetFBEntity(qeCompany);
                            //QueryExpression qeDept = QueryExpression.Equal("SUMSETTINGSMASTERID", Master.SUMSETTINGSMASTERID);
                            //qeDept.QueryType = "T_FB_DEPTBUDGETSUMMASTER";
                            //var q = GetFBEntity(qeCompany);

                            //if (v != null||q!=null)
                            //{
                            //    throw new FBBLLException("以下公司已经有汇总使用,不能删除!");
                            //}

                            p.FBEntityState = FBEntityState.Modified;
                            T_FB_SUMSETTINGSDETAIL detail = p.Entity as T_FB_SUMSETTINGSDETAIL;
                            detail.EDITSTATES             = 0;
                            FBEntityBLLSaveList(fbEntity);
                        });
                    }
                }
            });

            return(FBEntityBLLSaveList(fbEntityList));
        }
Example #15
0
        public List <EntityObject> GetTravelExpApplyMaster(string travelExpApplyMasterID)
        {
            using (FBCommonBLL bll = new FBCommonBLL())
            {
                List <EntityObject> list = new List <EntityObject>();
                QueryExpression     qe   = QueryExpression.Equal("T_FB_EXTENSIONALORDER.TRAVELEXPAPPLYMASTERID", travelExpApplyMasterID);
                qe.QueryType = typeof(T_FB_TRAVELEXPAPPLYMASTER).Name;
                FBEntity entitys = bll.GetFBEntity(qe);

                if (entitys == null || entitys.Entity == null)
                {
                    return(null);
                }
                IEnumerable listResult = entitys as IEnumerable;
                foreach (var entity in listResult)
                {
                    list.Add(entity as EntityObject);
                }

                return(list);
            }
        }
Example #16
0
        private void AuditOrder(string orderID, CheckStates cs)
        {
            string typeName = "";
            string keyName  = "";

            var entityInfo = EntityInfoList.First(item => item.Type == this.ddlOrderType.SelectedValue);

            typeName = entityInfo.Type;
            keyName  = entityInfo.KeyName;
            QueryExpression qe = QueryExpression.Equal(keyName, orderID);

            qe.QueryType = typeName;
            using (BudgetAccountBLL bll = new BudgetAccountBLL())
            {
                var data  = qe.Query(bll);
                var order = data.FirstOrDefault();
                if (order != null)
                {
                    try
                    {
                        bll.BeginTransaction();
                        bll.UpdateAccount(order.ToFBEntity(), cs);
                        bll.CommitTransaction();
                    }
                    catch (Exception ex)
                    {
                        bll.RollbackTransaction();
                        SMT.Foundation.Log.Tracer.Error("手动审核异常:" + ex.ToString());
                        Response.Write(ex.ToString());
                    }
                    Response.Write("操作成功");
                }
                else
                {
                    Response.Write("没有可操作的数据");
                }
            }
        }
Example #17
0
        public bool HRPersonPostChanged(T_HR_EMPLOYEEPOSTCHANGE personChange, ref string message)
        {
            try
            {
                using (FBCommonBLL bll = new FBCommonBLL())
                {
                    var setting = SystemBLL.GetSetting(null);

                    var qePostID    = QueryExpression.Equal(FieldName.OwnerPostID, personChange.FROMPOSTID);
                    var qeOwnerID   = QueryExpression.Equal(FieldName.OwnerID, personChange.T_HR_EMPLOYEE.EMPLOYEEID);
                    var qeSubjectID = QueryExpression.Equal("T_FB_SUBJECT.SUBJECTID", setting.MONEYASSIGNSUBJECTID);
                    qePostID.RelatedExpression  = qeOwnerID;
                    qeOwnerID.RelatedExpression = qeSubjectID;


                    var entity = bll.GetEntity <T_FB_BUDGETACCOUNT>(qePostID);

                    if (entity != null)
                    {
                        entity.OWNERCOMPANYID    = personChange.TOCOMPANYID;
                        entity.OWNERDEPARTMENTID = personChange.TODEPARTMENTID;
                        entity.OWNERPOSTID       = personChange.TOPOSTID;
                        entity.OWNERID           = personChange.T_HR_EMPLOYEE.EMPLOYEEID;

                        bll.BassBllSave(entity, FBEntityState.Modified);
                    }

                    return(true);
                }
            }
            catch (Exception ex)
            {
                message = "修改异动后的预算活动经费数据异常!";
                Tracer.Debug(message + " 异常信息: " + ex.ToString());
                return(false);
            }
        }
Example #18
0
        /// <summary>
        /// 保存公司科目维护
        ///   级联的去除不可用的部门科目和岗位科目
        /// </summary>
        /// <param name="fbEntityList"></param>
        /// <returns></returns>
        public bool SaveListT_FB_SUBJECTCOMPANY(List <FBEntity> fbEntityList)
        {
            QueryExpression qeSCom       = new QueryExpression();
            QueryExpression qeTop        = qeSCom;
            string          StrCompanyID = "";//公司ID
            bool            IsExistPlus  = false;
            // 找出没有设置年度预算而后又允许年度预算的
            List <T_FB_SUBJECTCOMPANY> inActivedlist = fbEntityList.CreateList(item =>
            {
                T_FB_SUBJECTCOMPANY entity = item.Entity as T_FB_SUBJECTCOMPANY;
                if (string.IsNullOrEmpty(StrCompanyID))
                {
                    StrCompanyID       = entity.OWNERCOMPANYID;
                    QueryExpression qe = QueryExpression.Equal("SUBJECTCOMPANYID", entity.SUBJECTCOMPANYID);
                    var baData         = this.InnerGetEntities <T_FB_SUBJECTCOMPANY>(qe);
                    if (baData.Count() > 0)
                    {
                        T_FB_SUBJECTCOMPANY OldSub = new T_FB_SUBJECTCOMPANY();
                        OldSub = baData.FirstOrDefault();
                        if (OldSub.ISYEARBUDGET == 0)
                        {
                            if (entity.ISYEARBUDGET == 1)
                            {
                                QueryExpression qeAccount  = QueryExpression.Equal("OWNERCOMPANYID", entity.OWNERCOMPANYID);
                                QueryExpression qeAccount1 = QueryExpression.Equal("T_FB_SUBJECT.SUBJECTID", entity.T_FB_SUBJECT != null ? entity.T_FB_SUBJECT.SUBJECTID : entity.T_FB_SUBJECTReference.EntityKey.EntityKeyValues[0].Value.ToString());
                                QueryExpression qeAccount2 = QueryExpression.Equal("ACCOUNTOBJECTTYPE", "1");
                                QueryExpression qeAccount3 = new QueryExpression();
                                qeAccount3.PropertyName    = "USABLEMONEY";
                                qeAccount3.PropertyValue   = "0";
                                qeAccount3.Operation       = QueryExpression.Operations.LessThanOrEqual;
                                qeAccount3.Operation       = QueryExpression.Operations.LessThan;//是否有问题
                                qeAccount.RelatedType      = QueryExpression.RelationType.And;
                                qeAccount1.RelatedType     = QueryExpression.RelationType.And;
                                qeAccount2.RelatedType     = QueryExpression.RelationType.And;
                                qeAccount3.RelatedType     = QueryExpression.RelationType.And;

                                qeAccount.RelatedExpression  = qeAccount1;
                                qeAccount2.RelatedExpression = qeAccount1;
                                qeAccount3.RelatedExpression = qeAccount2;
                                qeAccount3.QueryType         = typeof(T_FB_BUDGETACCOUNT).Name;


                                //var baDataAccount = this.InnerGetEntities<T_FB_BUDGETACCOUNT>(qeAccount);
                                //if(baDataAccount.Count() >0)
                                //{
                                //    //IsExistPlus= true;
                                //}
                            }
                        }
                    }
                }
                //return entity.ACTIVED != 1 ? entity : null;

                return(entity);
            });

            if (IsExistPlus)
            {
                return(IsExistPlus);
            }

            //var baData = this.InnerGetEntities<T_FB_SUBJECTCOMPANY>(qeDept);
            // 查出公司科目相关的部门科目及岗位科目
            inActivedlist.ForEach(item =>
            {
                qeTop.RelatedExpression = QueryExpression.Equal("T_FB_SUBJECTCOMPANY.SUBJECTCOMPANYID", item.SUBJECTCOMPANYID);
                qeTop.RelatedType       = QueryExpression.RelationType.Or;
                qeTop = qeTop.RelatedExpression;
            });
            // 将部门科目及岗位科目置为不可用
            if (qeSCom.RelatedExpression != null)
            {
                qeSCom         = qeSCom.RelatedExpression;
                qeSCom.Include = new string[] { "T_FB_SUBJECTPOST" };
                List <T_FB_SUBJECTDEPTMENT> inActiveDataList = GetEntities <T_FB_SUBJECTDEPTMENT>(qeSCom.RelatedExpression);
                inActiveDataList.ForEach(item =>
                {
                    item.ACTIVED = 0;
                    item.T_FB_SUBJECTPOST.ToList().ForEach(itemPost =>
                    {
                        itemPost.ACTIVED = 0;
                    });
                });
            }

            if (fbEntityList.Count > 0)
            {
                //记录公司部门科目设置修改流水
                SaveListT_FB_WFSUBJECTSETTING(fbEntityList, "1");
            }
            return(FBEntityBLLSaveList(fbEntityList));
        }
Example #19
0
        public T_FB_EXTENSIONALORDER UpdateExtensionOrder(string strModelCode, string orderID, string strCheckStates, ref string strMsg)
        {
            using (FBCommonBLL fbCommonBLL = new FBCommonBLL())
            {
                try
                {
                    SystemBLL.Debug("UpdateExtensionOrder方法已被调用,参数:strModelCode: " + strModelCode + ", orderID: " + orderID + ", strCheckStates: " + strCheckStates);

                    QueryExpression queryExpression = QueryExpression.Equal("ORDERID", orderID);

                    if (strModelCode == "Travel")
                    {
                        QueryExpression tempQE = QueryExpression.Equal("TravelSubject", "1");

                        tempQE.RelatedExpression          = QueryExpression.Equal("EXTENSIONALTYPECODE", "CCPX");
                        queryExpression.RelatedExpression = tempQE;
                    }
                    //查出保存的外部单据
                    queryExpression.QueryType    = typeof(T_FB_EXTENSIONALORDER).Name;
                    queryExpression.IsNoTracking = true;
                    List <FBEntity> listDetail = fbCommonBLL.QueryFBEntities(queryExpression);
                    //如果存在外部单据
                    if (listDetail.Count > 0)
                    {
                        var saveFBEntity = listDetail[0];
                        saveFBEntity.Entity.SetValue("CHECKSTATES", Decimal.Parse(strCheckStates));
                        saveFBEntity.FBEntityState = FBEntityState.Modified;
                        //var temp = fbCommonBLL.FBCommSaveEntity(listDetail[0]);
                        SaveResult temp = new SaveResult();
                        try
                        {
                            temp.FBEntity   = fbCommonBLL.SaveT_FB_EXTENSIONALORDER(listDetail[0]);
                            temp.Successful = true;
                        }
                        catch (Exception ex)
                        {
                            temp.Exception  = ex.Message;
                            temp.Successful = false;
                        }

                        if (temp.Successful)
                        {
                            return(temp.FBEntity.Entity as T_FB_EXTENSIONALORDER);
                        }
                        else
                        {
                            strMsg = temp.Exception;
                        }
                    }
                    else
                    {
                        strMsg = "没有可操作的数据";
                    }
                }
                catch (Exception ex)
                {
                    strMsg = ex.Message;
                    if (!(ex is FBBLLException))
                    {
                        // strMsg = "单据审核异常,请联系管理员";
                        Tracer.Debug("审核" + strModelCode + "的单据[" + orderID + "]出现异常,错误消息为:" + ex.ToString());
                    }
                }
                return(null);
            }
        }
Example #20
0
        public int UpdateCheckState(string strModelCode, string orderID, string strCheckStates, ref string strMsg)
        {
            int i = -1;

            try
            {
                SystemBLL.Debug("UpdateCheckState方法已被调用,参数:strModelCode: " + strModelCode + ", orderID: " + orderID + ", strCheckStates: " + strCheckStates);

                // begin 用于出差报销、事项审批的手机提交
                if (strModelCode == "Travel")
                {
                    var tempResult = UpdateExtensionOrder(strModelCode, orderID, strCheckStates, ref strMsg);
                    return((tempResult == null) ? -1 : 1);
                }
                // end
                FBCommonService   fbCommonService = new FBCommonService();
                List <EntityInfo> EntityInfoList  = fbCommonService.GetEntityInfoList();
                if (EntityInfoList == null)
                {
                    strMsg = "预算服务初始化异常,请重试。";
                    return(-1);
                }

                if (EntityInfoList.Count() == 0)
                {
                    strMsg = "预算服务初始化异常,请重试。";
                    return(-1);
                }

                string      strTypeName = "";
                string      strKeyName  = "";
                CheckStates cs          = CheckStates.UnSubmit;
                switch (strCheckStates)
                {
                case "1":
                    cs = CheckStates.Approving;
                    break;

                case "2":
                    cs = CheckStates.Approved;
                    break;

                case "3":
                    cs = CheckStates.UnApproved;
                    break;

                default:
                    break;
                }

                var entityInfo = EntityInfoList.Where(t => t.Type == strModelCode).FirstOrDefault();
                strTypeName = entityInfo.Type;
                strKeyName  = entityInfo.KeyName;
                /////add 2012.12.12
                /////传入报销月份为时间去和当前时间判断,如果不在同一年
                /////说明该报销单是跨年的,则不能进行审核操作,即当年的报销单只能在当年进行报销
                //if (dNewCheckStates == FBAEnums.CheckStates.Approved || dNewCheckStates == FBAEnums.CheckStates.Approving)
                //{
                //    if (IsOverYear(entity.BUDGETARYMONTH))
                //    {
                //        strMsg = "报销单跨年后只能终审不通过(财务规定)";
                //        Tracer.Debug(strMsg);
                //        return;
                //    }
                //}
                using (FBCommonBLL bllCommon = new FBCommonBLL())
                {
                    bllCommon.BeginTransaction();
                    SystemBLL.Debug("BeginTransaction " + strModelCode + " 的单据[" + orderID + "]");
                    try
                    {
                        QueryExpression qe = QueryExpression.Equal(strKeyName, orderID);
                        qe.QueryType = strTypeName;

                        var data  = qe.Query(bllCommon);
                        var order = data.FirstOrDefault();
                        if (order == null)
                        {
                            strMsg = "没有可操作的数据";
                            return(-1);
                        }

                        bllCommon.AuditFBEntityWithoutFlow(order, cs, ref strMsg);
                        i = 1;
                        if (string.IsNullOrEmpty(strMsg))
                        {
                            bllCommon.CommitTransaction();
                            SystemBLL.Debug("CommitTransaction " + strModelCode + " 的单据[" + orderID + "]");
                        }
                        else
                        {
                            bllCommon.RollbackTransaction();
                            SystemBLL.Debug("RollbackTransaction 审核" + strModelCode + "的单据[" + orderID + "]失败,提示消息为:" + strMsg);
                        }
                    }
                    catch (Exception ex)
                    {
                        bllCommon.RollbackTransaction();
                        SystemBLL.Debug("RollbackTransaction 审核" + strModelCode + "的单据[" + orderID + "]失败,提示消息为:" + strMsg);
                        throw ex;
                    }
                }
            }
            catch (Exception ex)
            {
                strMsg = "单据审核异常,请联系管理员";
                throw ex;
            }

            // 把消息通过异常机制返回
            if (!string.IsNullOrWhiteSpace(strMsg))
            {
                SystemBLL.Debug("审核" + strModelCode + "的单据[" + orderID + "]失败,提示消息为:" + strMsg);
                throw new Exception(strMsg);
            }

            return(i);
        }
Example #21
0
        //自定义汇总
        public bool CreateDeptBudgetSumSetMaster(FBEntity fbMaster)
        {
            bool bRes = false;
            T_FB_DEPTBUDGETSUMMASTER Master = fbMaster.Entity as T_FB_DEPTBUDGETSUMMASTER;

            Tracer.Debug("预算汇总单终审开始创建二次预算汇总单据,公司名:" + Master.OWNERCOMPANYNAME + " 单号:"
                         + Master.DEPTBUDGETSUMMASTERCODE);
            try
            {
                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.UPDATEDATE          = DateTime.Now;
                            //Master.SUMLEVEL = 1; //0:代表当前汇总单不走自定义汇总流程;1:代表当前汇总单走自定义汇总流程
                            fbMaster.Entity        = Master;
                            fbMaster.FBEntityState = FBEntityState.Modified;
                            fbSumMasterlist.Add(fbMaster);
                            this.FBEntityBLLSaveListNoTrans(fbSumMasterlist);
                            //  this.InnerSave(fbSumMaster);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Tracer.Debug("创建二次汇总单异常:" + ex.ToString());
            }

            bRes = true;
            return(bRes);
        }
Example #22
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)
            {
                Tracer.Debug("未找到二次汇总单据,生成新的二次汇总单。");
                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.REMARK      = "系统自动生成的二次预算汇总单";
                sumMaster.CHECKSTATES = (int)CheckStates.UnSubmit;
                sumMaster.EDITSTATES  = (int)EditStates.Actived;
                result = sumMaster.ToFBEntity();
                result.FBEntityState = FBEntityState.Added;
            }
            else
            {
                Tracer.Debug("找到二次汇总单据,添加到二次汇总单中,二次汇总单号:" + sumMaster.DEPTBUDGETSUMMASTERCODE);
                result = sumMaster.ToFBEntity();
                result.FBEntityState = FBEntityState.Modified;
            }
            return(result);
        }