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); }
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"; } }
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); } } }