public static QueryExpression And(this QueryExpression qe, string propertyName, string propertyValue) { QueryExpression qeTop = QueryExpression.Equal(propertyName, propertyValue); qeTop.RelatedExpression = qe; return(qeTop); }
/// <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)); }
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)); } }
/// <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); } }
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>()); }
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); }
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; } }
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()); }
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)); }
//自定义汇总 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); }
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); }
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("没有可操作的数据"); } }
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(); }
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)); }
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); } }
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("没有可操作的数据"); } } }
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); } }
/// <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)); }
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); } }
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); }
//自定义汇总 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); }
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); }