/// <summary> /// 初始化月度指标明细 /// 目前直接把权重当作指标分数来看待 /// </summary> /// <param name="month"></param> /// <param name="monthTargetId"></param> /// <param name="monthBillId"></param> /// <param name="target"></param> /// <param name="managerList"></param> private void InitMonthTargetDetail(string month, long monthTargetId, long monthBillId, Target target, List <Manager> managerList, List <District> districtList) { if (target.TargetTagId == 1)//区县指标 { if (districtList != null && districtList.Count > 0) { MonthLog(monthBillId, " →批量给指标生成区县指标明细开始"); foreach (var dis in districtList) { double?tval = 0; var tvs = target.TargetValue.Where(p => p.DistrictId == dis.Id && p.YearMonth == month.Substring(0, 4)).ToList(); if (tvs != null && tvs.Count > 0) { tval = tvs[0].TValue; } MonthTargetDetail detail = NewTargetDetail(month, monthBillId, target, monthTargetId); detail.DistrictId = dis.Id; //区县id detail.TValue = tval * Convert.ToInt16(month.Substring(4)) / 12; //区县的目标值根据年度比例得出 _MonthTargetDetailCase.InsertAndGetIdAsync(detail); } MonthLog(monthBillId, " ←批量给指标生成区县指标明细完成"); } } else if (target.TargetTagId == 2)//客户经理 { if (managerList != null && managerList.Count > 0) { MonthLog(monthBillId, " →批量给指标生成客户经理指标明细开始"); foreach (var man in managerList) { double?tval = 0; if (man.DistrictId != null) { //var tvs = target.TargetValue.Where(p => p.ManagerNo==man.ManagerNo && p.YearMonth == month).ToList(); //if (tvs != null && tvs.Count > 0) //{ // tval = tvs[0].TValue; //} MonthTargetDetail detail = NewTargetDetail(month, monthBillId, target, monthTargetId); detail.ManagerNo = man.ManagerNo; //客户经理 detail.ManagerName = man.ManagerName; //客户经理名 detail.DistrictId = man.DistrictId; //客户经理归属区县 detail.TValue = tval; _MonthTargetDetailCase.InsertAndGetIdAsync(detail); } } MonthLog(monthBillId, " ←批量给指标生成客户经理指标明细完成"); } } }
private MonthTargetDetail NewTargetDetail(string month, long monthBillId, Target target, long monthTargetId) { MonthTargetDetail detail = new MonthTargetDetail { Id = 0, Month = month, MonthBillId = monthBillId,//固化单 MonthTargetId = monthTargetId, TargetTagId = target.TargetTagId, TargetTypeId = target.TargetTypeId, TargetId = target.Id, EndTable = target.EndTable, MainField = target.MainField, Weight = target.Weight, CrisisValue = target.CrisisValue//计分门槛值 }; return(detail); }