GetPartyPermissionCriteria() public static method

public static GetPartyPermissionCriteria ( string userCode ) : DetachedCriteria[]
userCode string
return DetachedCriteria[]
Ejemplo n.º 1
0
 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])
             ));
 }
Ejemplo n.º 2
0
        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])
                //    ));
                //}
            }
        }