public static GetPartyPermissionCriteria ( string userCode ) : DetachedCriteria[] | ||
userCode | string | |
return | DetachedCriteria[] |
public static void SetPartySearchCriteria(DetachedCriteria criteria, string propertyName, string userCode) { DetachedCriteria[] partyCrieteria = SecurityHelper.GetPartyPermissionCriteria(userCode); criteria.Add( Expression.Or( Subqueries.PropertyIn(propertyName, partyCrieteria[0]), Subqueries.PropertyIn(propertyName, partyCrieteria[1]) )); }
public static void SetPartyToSearchCriteria(DetachedCriteria selectCriteria, DetachedCriteria selectCountCriteria, string partyToCode, string orderType, string userCode) { if (partyToCode != null && partyToCode.Trim() != string.Empty) { //如果用户选择了PartyTo,直接用用户选择的值查询 selectCriteria.Add(Expression.Eq("pt.Code", partyToCode.Trim())); selectCountCriteria.Add(Expression.Eq("pt.Code", partyToCode.Trim())); } else //如果用户没有选择PartyFrom,根据用户权限过滤 { if (orderType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_PROCUREMENT) { //供货路线 DetachedCriteria[] ptCrieteria = SecurityHelper.GetPartyPermissionCriteria(userCode, BusinessConstants.CODE_MASTER_PARTY_TYPE_VALUE_REGION, BusinessConstants.CODE_MASTER_PARTY_TYPE_VALUE_CUSTOMER); selectCriteria.Add( Expression.Or( Subqueries.PropertyIn("pt.Code", ptCrieteria[0]), Subqueries.PropertyIn("pt.Code", ptCrieteria[1]) )); selectCountCriteria.Add( Expression.Or( Subqueries.PropertyIn("pt.Code", ptCrieteria[0]), Subqueries.PropertyIn("pt.Code", ptCrieteria[1]) )); } else if (orderType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_DISTRIBUTION) { //发货路线 DetachedCriteria[] ptCrieteria = SecurityHelper.GetPartyPermissionCriteria(userCode, BusinessConstants.CODE_MASTER_PARTY_TYPE_VALUE_REGION, BusinessConstants.CODE_MASTER_PARTY_TYPE_VALUE_CUSTOMER); selectCriteria.Add( Expression.Or( Subqueries.PropertyIn("pt.Code", ptCrieteria[0]), Subqueries.PropertyIn("pt.Code", ptCrieteria[1]) )); selectCountCriteria.Add( Expression.Or( Subqueries.PropertyIn("pt.Code", ptCrieteria[0]), Subqueries.PropertyIn("pt.Code", ptCrieteria[1]) )); } else if (orderType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_PRODUCTION) { DetachedCriteria[] regionCrieteria = SecurityHelper.GetRegionPermissionCriteria(userCode); //生产 selectCriteria.Add( Expression.Or( Subqueries.PropertyIn("pt.Code", regionCrieteria[0]), Subqueries.PropertyIn("pt.Code", regionCrieteria[1]) )); selectCountCriteria.Add( Expression.Or( Subqueries.PropertyIn("pt.Code", regionCrieteria[0]), Subqueries.PropertyIn("pt.Code", regionCrieteria[1]) )); } else if (orderType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_INSPECTION) { //检验路线 DetachedCriteria[] regionCrieteria = SecurityHelper.GetRegionPermissionCriteria(userCode); selectCriteria.Add( Expression.Or( Subqueries.PropertyIn("pt.Code", regionCrieteria[0]), Subqueries.PropertyIn("pt.Code", regionCrieteria[1]) )); selectCountCriteria.Add( Expression.Or( Subqueries.PropertyIn("pt.Code", regionCrieteria[0]), Subqueries.PropertyIn("pt.Code", regionCrieteria[1]) )); } else if (orderType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_TRANSFER) { //移库路线 DetachedCriteria[] regionCrieteria = SecurityHelper.GetRegionPermissionCriteria(userCode); selectCriteria.Add( Expression.Or( Subqueries.PropertyIn("pt.Code", regionCrieteria[0]), Subqueries.PropertyIn("pt.Code", regionCrieteria[1]) )); selectCountCriteria.Add( Expression.Or( Subqueries.PropertyIn("pt.Code", regionCrieteria[0]), Subqueries.PropertyIn("pt.Code", regionCrieteria[1]) )); } //else if (orderType == BusinessConstants.ORDER_MODULETYPE_VALUE_PROCUREMENTCONFIRM) //{ // //发货确认 // DetachedCriteria[] ptCrieteria = SecurityHelper.GetPartyPermissionCriteria(userCode, BusinessConstants.CODE_MASTER_PARTY_TYPE_VALUE_CUSTOMER); // selectCriteria.Add( // Expression.Or( // Subqueries.PropertyIn("pt.Code", ptCrieteria[0]), // Subqueries.PropertyIn("pt.Code", ptCrieteria[1]) // )); // selectCountCriteria.Add( // Expression.Or( // Subqueries.PropertyIn("pt.Code", ptCrieteria[0]), // Subqueries.PropertyIn("pt.Code", ptCrieteria[1]) // )); //} } }