Beispiel #1
0
        public List <TB_PERSONAL_PROFILE> personalProcess(projProfileClass ppc, int projId)
        {
            decimal money = ppc.xmgcstje; //总项目工程师提成金额
            List <TB_PERSONAL_PROFILE> rtn = new List <TB_PERSONAL_PROFILE>();

            try
            {
                TB_PROJECT proj = TB_PROJECTDAO.FindFirst(new EqExpression("Id", projId));
                if (proj != null)
                {
                    TB_RATIO[] arr = TB_RATIODAO.FindAll(new EqExpression("PROJECTID", projId), new EqExpression("STATUS", 1));
                    if (arr.Length > 0)
                    {
                        decimal totalAmount = 0;
                        for (int i = 0; i < arr.Length; i++)
                        {
                            totalAmount += arr[i].RATIO;
                        }
                        //全局提成比率
                        decimal ratio1 = proj.RATIO1 / 100;
                        decimal ratio2 = proj.RATIO2 / 100;
                        //分配全局
                        decimal _money60   = Math.Round(money * ratio1, 2);
                        decimal _money40   = Math.Round(money * ratio2, 2);
                        decimal avgmoney60 = Math.Round(_money60 / arr.Length, 2);  //均分提成
                        //个人提成份额
                        for (int i = 0; i < arr.Length; i++)
                        {
                            TB_PERSONAL_PROFILE tpp = new TB_PERSONAL_PROFILE();
                            tpp.USERCODE = arr[i].USERCODE;
                            tpp.AMOUNT   = arr[i].RATIO;
                            tpp.PROFILE1 = avgmoney60;
                            tpp.PROFILE2 = Math.Round(_money40 / totalAmount * arr[i].RATIO, 2);
                            rtn.Add(tpp);
                        }
                    }
                }
                else
                {
                    return(rtn);
                }
            }
            catch (Exception ex)
            {
                MessageHelper.ShowMessage(ex.Message);
            }
            return(rtn);
        }
Beispiel #2
0
        public ucRatio2(string usercode, int projId)
        {
            InitializeComponent();
            mUserCode            = usercode;
            this.labName.Content = usercode;
            //查询提成份额
            TB_RATIO ratio = TB_RATIODAO.FindFirst(new EqExpression("STATUS", 1), new EqExpression("PROJECTID", projId), new EqExpression("USERCODE", usercode));

            if (ratio != null)
            {
                this.txtRatio.Text = ratio.RATIO.ToString();
            }
            else
            {
                this.txtRatio.Text = "0";
            }
        }
Beispiel #3
0
        private void rationProcess(projProfileClass ppc)
        {
            decimal profile = ppc.xmgcstje; //利润金额
            decimal ratio1  = mproj.RATIO1; //固定均分比率
            decimal ratio2  = mproj.RATIO2; //可分配比率

            labratio1.Content = ratio1.ToString() + "%";
            labratio2.Content = ratio2.ToString() + "%";

            labfpje1.Content = Math.Round((profile * ratio1) / 100, 2);
            labfpje2.Content = Math.Round((profile * ratio2) / 100, 2);

            TB_RATIO[] arr = TB_RATIODAO.FindAll(new EqExpression("PROJECTID", mproj.Id), new EqExpression("STATUS", 1));
            if (arr.Length > 0)
            {
                decimal profile1 = Math.Round(Utils.NvDecimal(labfpje1.Content) / arr.Length, 2);
                for (int i = 0; i < arr.Length; i++)
                {
                    ucPersonalRatio uc = new ucPersonalRatio(profile1, Utils.NvDecimal(labfpje2.Content), arr[i]);
                    this.panel.Children.Add(uc);
                }
            }
        }