Пример #1
0
        public virtual VendorRefundInfo LoadVendorRefundInfo(int sysNo)
        {
            VendorRefundInfo refundInfo = new VendorRefundInfo()
            {
                NotPMAndPMD = false
            };

            //加载供应商退款主信息:
            refundInfo = VendorRefundDA.LoadVendorRefundInfo(sysNo);
            //加载供应商退款Items:
            refundInfo.ItemList = new List <VendorRefundItemInfo>();
            refundInfo.ItemList = VendorRefundDA.LoadVendorRefundItems(sysNo);

            //TODO:权限判断:PM,PMD,PMCC
            bool isPM = IMBizInteract.GetPMListByUserSysNo(ServiceContext.Current.UserSysNo).SysNo.HasValue ? true : false;

            if (isPM)
            {
                refundInfo.UserRole = "PM";
            }
            if (0 < refundInfo.ItemList.Count && isPM)
            {
                int userSysNo = ServiceContext.Current.UserSysNo;
                //获取PM List:
                List <int> pmSysNo = VendorRefundDA.GetPMUserSysNoByRMAVendorRefundSysNo(refundInfo.SysNo.Value);
                //获得备份的PM:

                List <ProductManagerInfo> bankupPMSysNo = ExternalDomainBroker.GetPMList(userSysNo).ProductManagerInfoList;
                bankupPMSysNo.Add(new ProductManagerInfo()
                {
                    UserInfo = new BizEntity.Common.UserInfo()
                    {
                        SysNo = userSysNo
                    }
                });
                foreach (var sysNoItem in pmSysNo)
                {
                    bool temp = false;
                    foreach (var pm in bankupPMSysNo)
                    {
                        if (sysNoItem == pm.UserInfo.SysNo.Value)
                        {
                            temp = true;
                        }
                    }
                    if (!temp)
                    {
                        refundInfo.NotPMAndPMD = true;
                        break;
                    }
                }
            }
            return(refundInfo);
        }
Пример #2
0
        /// <summary>
        /// 检查PM信息
        /// </summary>
        /// <param name="refundInfo"></param>
        public void CheckRefundPM(VendorRefundInfo refundInfo)
        {
            int userSysNo = refundInfo.PMUserSysNo.Value;
            //获取PM List:
            List <int> pmSysNo = VendorRefundDA.GetPMUserSysNoByRMAVendorRefundSysNo(refundInfo.SysNo.Value);
            //获得备份的PM:

            List <ProductManagerInfo> getPMList = ExternalDomainBroker.GetPMList(userSysNo).ProductManagerInfoList;


            List <int> userSysNoList = new List <int>();

            foreach (var dr in getPMList)
            {
                userSysNoList.Add(dr.UserInfo.SysNo.Value);
            }

            userSysNoList.Add(userSysNo);

            foreach (var sysNo in pmSysNo)
            {
                bool temp = false;
                foreach (var pm in userSysNoList)
                {
                    if (sysNo == pm)
                    {
                        temp = true;
                    }
                }
                if (!temp)
                {
                    //您不是当前产品的PM,也不是当前产品PM的备份PM,无法操作!
                    throw new BizException(GetMessageString("VendorRefund_CannotOperate"));
                }
            }
        }