public async Task <double> GetCompanyTotalPoint(int qustionSn, SHUSER_SboFinancialIndexT sboFinancialIndexT) { double totalPoint = 0; totalPoint = totalPoint + await GetOverAllManagementTotalPoint(qustionSn); totalPoint = totalPoint + await GetTechMng(qustionSn, sboFinancialIndexT); totalPoint = totalPoint + await GetHumanResourceMng(qustionSn, sboFinancialIndexT); return(totalPoint); }
/// <summary> /// 인적자원관리 /// </summary> /// <param name="questionSn"></param> /// <returns></returns> public async Task <double> GetHumanResourceMng(int questionSn, SHUSER_SboFinancialIndexT sboFinancialIndexT) { double totalPoint = 0; // A1D101 : 인적자윈의 확보와 개발관리 var quesResult1sHrMng = await quesResult1Service.GetQuesResult1sAsync(questionSn, "A1D101"); totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeA(ReportHelper.CalcCheckCount(quesResult1sHrMng)), 11); // A1D102 : 이적자원의 보상 및 유지관리 var quesResult1sMaintenance = await quesResult1Service.GetQuesResult1sAsync(questionSn, "A1D102"); totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeA(ReportHelper.CalcCheckCount(quesResult1sMaintenance)), 8); //재무적성과 // 다래 DB를 통한 계산 totalPoint = totalPoint + ((ReportHelper.CalcFinancialPoint(sboFinancialIndexT) / 100) * 26); // A1E102 : 지적재산권성과 var quesResult2sPatent = await quesResult2Service.GetQuesResult2sAsync(questionSn, "A1E102"); //등록 특허 var RegPatent = quesResult2sPatent.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1E10201"); //등록 실용신안 var RegUtilityModel = quesResult2sPatent.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1E10202"); //출원 특허 var ApplyPatent = quesResult2sPatent.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1E10203"); //출원 실용신안 var ApplyUtilityModel = quesResult2sPatent.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1E10204"); //기타 var Etc = quesResult2sPatent.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1E10205"); { double avg = (int.Parse(RegPatent.D) * 3) + (int.Parse(ApplyPatent.D) * 2) + (int.Parse(RegUtilityModel.D) * 2) + int.Parse(ApplyUtilityModel.D) + int.Parse(Etc.D); totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeH(avg), 3); } // A1E103 : 임직원 수 var quesResult2sTotalEmp = await quesResult2Service.GetQuesResult2sAsync(questionSn, "A1E103"); //전체 임직원 var TotalEmploy = quesResult2sTotalEmp.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1E10301"); if (int.Parse(TotalEmploy.D451) != 0) { double avg = (int.Parse(TotalEmploy.D) / int.Parse(TotalEmploy.D451)) - 1; totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeI(avg), 3); } return(totalPoint); }
public static double CalcFinancialPoint(SHUSER_SboFinancialIndexT sboFinancialIndexT) { //매출영업이익률(영업이익 ÷ 매출액)×100 //if(sboFinancialIndexT.CurrentSale.Value == 0) ? double a = (sboFinancialIndexT.CurrentSale.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.OperatingEarning.Value / sboFinancialIndexT.CurrentSale.Value) * 100); //자기자본순이익률(당기순이익 ÷ 자본총계)×100 double b = (sboFinancialIndexT.TotalCapital.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.CurrentEarning.Value / sboFinancialIndexT.TotalCapital.Value) * 100); //매출증가율((당기매출액 - 전기매출액) ÷ 전기매출액)×100 double c = (sboFinancialIndexT.PrevSale.Value == 0) ? 0 : Convert.ToDouble(((sboFinancialIndexT.CurrentSale.Value - sboFinancialIndexT.PrevSale.Value) / sboFinancialIndexT.PrevSale.Value) * 100); //순이익증가율((당기순이익 - 전기순이익) ÷ 전기순이익)×100 double d = (sboFinancialIndexT.PrevEarning.Value == 0) ? 0 : Convert.ToDouble(((sboFinancialIndexT.CurrentEarning.Value - sboFinancialIndexT.PrevEarning.Value) / sboFinancialIndexT.PrevEarning.Value) * 100); //당좌비율((유동자산 - 재고자산) ÷ 유동부채)×100 double e = (sboFinancialIndexT.CurrentLiability.Value == 0) ? 0 : Convert.ToDouble(((sboFinancialIndexT.CurrentAsset.Value - sboFinancialIndexT.InventoryAsset.Value) / sboFinancialIndexT.CurrentLiability.Value) * 100); //유동비율(유동자산 ÷ 유동부채)×100 double f = (sboFinancialIndexT.CurrentLiability.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.CurrentAsset.Value / sboFinancialIndexT.CurrentLiability.Value) * 100); //부채비율(부채 ÷ 자산총계)×100 double g = (sboFinancialIndexT.TotalAsset.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.TotalLiability.Value / sboFinancialIndexT.TotalAsset.Value) * 100); //이자보상비율(영업이익 ÷ 이자비용)×100 double h = (sboFinancialIndexT.InterstCost.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.OperatingEarning.Value / sboFinancialIndexT.InterstCost.Value) * 100); //총자산회전율(매출액 ÷ 총자산)×100 double i = (sboFinancialIndexT.TotalAsset.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.CurrentSale.Value / sboFinancialIndexT.TotalAsset.Value) * 100); //매출채권회전율(매출액 ÷ 매출채권(=외상매출금,미수금,받을어음))×100 double j = (sboFinancialIndexT.SalesCredit.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.CurrentSale.Value / sboFinancialIndexT.SalesCredit.Value) * 100); //재고자산회전율(매출액 ÷ 재고자산)×100 double k = (sboFinancialIndexT.InventoryAsset.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.CurrentSale.Value / sboFinancialIndexT.InventoryAsset.Value) * 100); //부가가치율(부가가치 ÷ 매출액)×100 double l = (sboFinancialIndexT.CurrentSale.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.ValueAdded.Value / sboFinancialIndexT.CurrentSale.Value) * 100); //노동생산성(매출액-재료비) ÷ 종업원수 double m = (sboFinancialIndexT.QtEmp.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.CurrentSale.Value - sboFinancialIndexT.MaterialCost.Value) / sboFinancialIndexT.QtEmp.Value); //자본생산성((부가가치 ÷ 자본총계)×100 double n = (sboFinancialIndexT.TotalCapital.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.ValueAdded.Value / sboFinancialIndexT.TotalCapital.Value) * 100); //재무점수로 환산 double point = ((a / (5.24 + a)) * 17) + ((b / (5.19 + b)) * 6) + ((c / (4.93 + c)) * 9) + ((d / (19.96 + d)) * 14) + ((e / (102.09 + e)) * 4) + ((f / (136.27 + f)) * 13) + ((g / (141.66 + g)) * 9) + ((h / (333.63 + h)) * 7) + ((i / (114.75 + i)) * 3) + ((j / (569.36 + j)) * 3) + ((k / (915.48 + k)) * 4) + ((l / (24.02 + l)) * 4) + ((m / (16163671 + m)) * 4) + ((n / (137.01 + n)) * 3); return(point); }
/// <summary> /// 기술경영,마케팅 /// </summary> public async Task <double> GetTechMng(int questionSn, SHUSER_SboFinancialIndexT sboFinancialIndexT) { double totalPoint = 0; // 연구개발 투자 { double avg = Convert.ToDouble(sboFinancialIndexT.ReserchAmt / sboFinancialIndexT.CurrentSale) * 100; totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeM(avg), 2); } //연구개발 인력의 비율 var quesResult2sEmpRate = await quesResult2Service.GetQuesResult2sAsync(questionSn, "A1B102"); //전체임직원수 var TotalEmp = quesResult2sEmpRate.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1B10202"); //연구개발인력 var RndEmp = quesResult2sEmpRate.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1B10201"); if (int.Parse(TotalEmp.D) != 0) { double avg = (int.Parse(RndEmp.D) / int.Parse(TotalEmp.D)) * 100; totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeE(avg), 1); } //연구개발 인력의 능력 var quesResult2sEmpCapa = await quesResult2Service.GetQuesResult2sAsync(questionSn, "A1B103"); //박사급 var DoctorEmp = quesResult2sEmpCapa.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1B10301"); //석사급 var MasterEmp = quesResult2sEmpCapa.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1B10302"); //학사급 var CollegeEmp = quesResult2sEmpCapa.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1B10303"); //기능사급 var TechEmp = quesResult2sEmpCapa.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1B10304"); //고졸이하급 var HighEmp = quesResult2sEmpCapa.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1B10305"); if ((int.Parse(DoctorEmp.D) + int.Parse(MasterEmp.D) + int.Parse(CollegeEmp.D) + int.Parse(TechEmp.D) + int.Parse(HighEmp.D)) != 0) { double avg = (int.Parse(DoctorEmp.D) * 5) + (int.Parse(MasterEmp.D) * 4) + (int.Parse(CollegeEmp.D) * 3) + (int.Parse(TechEmp.D) * 2) + (int.Parse(HighEmp.D) * 1) / (int.Parse(DoctorEmp.D) + int.Parse(MasterEmp.D) + int.Parse(CollegeEmp.D) + int.Parse(TechEmp.D) + int.Parse(HighEmp.D)); totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeF(avg), 3); } // A1B104 : 사업화역량 var quesResult1sBizCapa = await quesResult1Service.GetQuesResult1sAsync(questionSn, "A1B104"); totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeC(ReportHelper.CalcCheckCount(quesResult1sBizCapa)), 5); // A1B105 : 사업화실적 var quesResult2sBizResult = await quesResult2Service.GetQuesResult2sAsync(questionSn, "A1B105"); //사업화실적 총 건수 var BizResultCnt = quesResult2sBizResult.SingleOrDefault(i => i.QuesCheckList.DetailCd == "A1B10502"); { double avg = int.Parse(BizResultCnt.D) + int.Parse(BizResultCnt.D451) + int.Parse(BizResultCnt.D452) / 3; totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeE(avg), 4); } // A1B106 : 생산설비의 운영체제 및 관리 var quesResult1sFacMng = await quesResult1Service.GetQuesResult1sAsync(questionSn, "A1B106"); totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeA(ReportHelper.CalcCheckCount(quesResult1sFacMng)), 2); // A1B107 : 공정관리 var quesResult1sProcess = await quesResult1Service.GetQuesResult1sAsync(questionSn, "A1B107"); totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeC(ReportHelper.CalcCheckCount(quesResult1sProcess)), 2); // A1B108 : 품질관리 var quesResult1sQaMng = await quesResult1Service.GetQuesResult1sAsync(questionSn, "A1B108"); totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeC(ReportHelper.CalcCheckCount(quesResult1sQaMng)), 3); // A1C101 : 마케팅 전략의 수립 및 실행 var quesResult1sMarketing = await quesResult1Service.GetQuesResult1sAsync(questionSn, "A1C101"); totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeG(ReportHelper.CalcCheckCount(quesResult1sMarketing)), 8); // A1C102 : 고객관리 var quesResult1sCustMng = await quesResult1Service.GetQuesResult1sAsync(questionSn, "A1C102"); totalPoint = totalPoint + ReportHelper.CalcPoint(ReportHelper.GetCodeTypeA(ReportHelper.CalcCheckCount(quesResult1sCustMng)), 9); return(totalPoint); }
public static double CalcFinancialPoint(SHUSER_SboFinancialIndexT sboFinancialIndexT, ScCav obj) { //각 항목의 계산값이 0보다 작을경우는 0점으로 처리한다. //매출영업이익률(영업이익 ÷ 매출액)×100 //if(sboFinancialIndexT.CurrentSale.Value == 0) ? double a = (sboFinancialIndexT.CurrentSale.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.OperatingEarning.Value / sboFinancialIndexT.CurrentSale.Value) * 100); double aPoint = 0.0; if (sboFinancialIndexT.OperatingEarning.Value == 0 || sboFinancialIndexT.CurrentSale.Value == 0) { aPoint = 0; } else { // 소수 3.4000000004 식으로 왜?? //double ex = Convert.ToDouble(obj.CavOp); //double gw = getWeight(a, ex); //aPoint = gw * 17D; aPoint = getWeight(a, Convert.ToDouble(obj.CavOp)) * 17; } //double aPoint = (a / (5.2 + a)) * 17; //자기자본순이익률(당기순이익 ÷ 자본총계)×100 double b = (sboFinancialIndexT.TotalCapital.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.CurrentEarning.Value / sboFinancialIndexT.TotalCapital.Value) * 100); double bPoint = 0.0; if (sboFinancialIndexT.CurrentEarning.Value == 0 || sboFinancialIndexT.TotalCapital.Value == 0) { bPoint = 0; } else { bPoint = getWeight(b, Convert.ToDouble(obj.CavRe)) * 6; } //double bPoint = (b / (5.19 + b)) * 6; //매출증가율((당기매출액 - 전기매출액) ÷ 전기매출액)×100 double c = (sboFinancialIndexT.PrevSale.Value == 0) ? 0 : Convert.ToDouble(((sboFinancialIndexT.CurrentSale.Value - sboFinancialIndexT.PrevSale.Value) / sboFinancialIndexT.PrevSale.Value) * 100); //double cPoint = ((c / (4.93 + c)) * 9); double cPoint = 0.0; //전기매출액이 0 이고 당기매출액이 0 일때 = 0점 if (sboFinancialIndexT.PrevSale.Value == 0) { if (sboFinancialIndexT.CurrentSale.Value == 0) { cPoint = 0; } else if (sboFinancialIndexT.CurrentSale > 0) { cPoint = 9; } } else { cPoint = getWeight(c, Convert.ToDouble(obj.CavSg)) * 9; } //순이익증가율((당기순이익 - 전기순이익) ÷ 전기순이익)×100 double d = (sboFinancialIndexT.PrevEarning.Value == 0) ? 0 : Convert.ToDouble(((sboFinancialIndexT.CurrentEarning.Value - sboFinancialIndexT.PrevEarning.Value) / sboFinancialIndexT.PrevEarning.Value) * 100); //double dPoint = (d / (19.96 + d)) * 14; double dPoint = 0.0; //당기손익이 0이하일때 = 0점 if (sboFinancialIndexT.CurrentEarning.Value <= 0) { dPoint = 0; } //당기손익이 이익(양수)이고 전기손익이 0이하일때 = 14점 else if (sboFinancialIndexT.CurrentEarning.Value > 0 && sboFinancialIndexT.PrevEarning.Value <= 0) { dPoint = 14; } else { dPoint = getWeight(d, (Convert.ToDouble(obj.CavNg))) * 14; } //당좌비율((유동자산 - 재고자산) ÷ 유동부채)×100 double e = (sboFinancialIndexT.CurrentLiability.Value == 0) ? 0 : Convert.ToDouble(((sboFinancialIndexT.CurrentAsset.Value - sboFinancialIndexT.InventoryAsset.Value) / sboFinancialIndexT.CurrentLiability.Value) * 100); double ePoint = 0.0; // double ePoint = (e / (102.09 + e)) * 4; // 유동부채가 0일 경우 4점 if ((sboFinancialIndexT.CurrentAsset.Value - sboFinancialIndexT.InventoryAsset.Value) == 0 && sboFinancialIndexT.CurrentLiability.Value == 0) { ePoint = 0; } else if ((sboFinancialIndexT.CurrentAsset.Value - sboFinancialIndexT.InventoryAsset.Value) == 0) { ePoint = 0; } else { if (sboFinancialIndexT.CurrentLiability.Value == 0) { ePoint = 4; } else { ePoint = getWeight(e, Convert.ToDouble(obj.CavQr)) * 4; } } //유동비율(유동자산 ÷ 유동부채)×100 double f = (sboFinancialIndexT.CurrentLiability.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.CurrentAsset.Value / sboFinancialIndexT.CurrentLiability.Value) * 100); double fPoint = 0.0; // 유동부채가 0일 경우 13점 if (sboFinancialIndexT.CurrentAsset.Value == 0 && sboFinancialIndexT.CurrentLiability.Value == 0) { fPoint = 0; } else if (sboFinancialIndexT.CurrentAsset.Value == 0) { fPoint = 0; } else { if (sboFinancialIndexT.CurrentLiability.Value == 0) { fPoint = 13; } else { fPoint = getWeight(f, (Convert.ToDouble(obj.CavCr))) * 13; } //double fPoint = (f / (136.27 + f)) * 13; } //부채비율(부채 ÷ 자본총계)×100 double g = (sboFinancialIndexT.TotalCapital.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.TotalLiability.Value / sboFinancialIndexT.TotalCapital.Value) * 100); double gPoint = 0.0; if (sboFinancialIndexT.TotalLiability.Value == 0 && sboFinancialIndexT.TotalCapital.Value == 0) { gPoint = 0; } else if (sboFinancialIndexT.TotalLiability.Value == 0) { gPoint = 9; } else { gPoint = getWeight(g, Convert.ToDouble(obj.CavDebt)) * 9; } //이자보상비율(영업이익 ÷ 이자비용)×100 double h = (sboFinancialIndexT.InterstCost.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.OperatingEarning.Value / sboFinancialIndexT.InterstCost.Value) * 100); double hPoint = 0; if (sboFinancialIndexT.OperatingEarning.Value == 0 && sboFinancialIndexT.InterstCost.Value == 0) { hPoint = 0; } else if (sboFinancialIndexT.OperatingEarning.Value == 0) { hPoint = 0; } else { // 이자비용이 0일 경우 7 if (sboFinancialIndexT.InterstCost.Value == 0) { hPoint = 7; } else { hPoint = getWeight(h, Convert.ToDouble(obj.CavIcr)) * 7; } //double hPoint = (h / (333.63 + h)) * 7; } //총자산회전율(매출액 ÷ 총자산)×100 double i = (sboFinancialIndexT.TotalAsset.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.CurrentSale.Value / sboFinancialIndexT.TotalAsset.Value) * 100); double iPoint = 0.0; if (sboFinancialIndexT.CurrentSale.Value == 0 && sboFinancialIndexT.TotalAsset.Value == 0) { iPoint = 0; } else if (sboFinancialIndexT.CurrentSale.Value == 0) { iPoint = 0; } else { // 총 자산이 0일 경우 if (sboFinancialIndexT.TotalAsset.Value == 0) { iPoint = 3; } else { iPoint = getWeight(i, Convert.ToDouble(obj.CavTat)) * 3; } //double iPoint = (i / (114.75 + i)) * 3; } //매출채권회전율(매출액 ÷ 매출채권(=외상매출금,미수금,받을어음))×100 double j = (sboFinancialIndexT.SalesCredit.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.CurrentSale.Value / sboFinancialIndexT.SalesCredit.Value) * 100); double jPoint = 0; if (sboFinancialIndexT.CurrentSale.Value == 0 && sboFinancialIndexT.SalesCredit.Value == 0) { jPoint = 0; } else if (sboFinancialIndexT.CurrentSale.Value == 0) { jPoint = 0; } else { // 매출채권이 0인 경우 if (sboFinancialIndexT.SalesCredit.Value == 0) { jPoint = 3; } else { jPoint = getWeight(j, Convert.ToDouble(obj.CavTrt)) * 3; } //double jPoint = (j / (569.36 + j)) * 3; } //재고자산회전율(매출액 ÷ 재고자산)×100 double k = (sboFinancialIndexT.InventoryAsset.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.CurrentSale.Value / sboFinancialIndexT.InventoryAsset.Value) * 100); double kPoint = 0; if (sboFinancialIndexT.CurrentSale.Value == 0 && sboFinancialIndexT.InventoryAsset.Value == 0) { kPoint = 0; } else if (sboFinancialIndexT.CurrentSale.Value == 0) { kPoint = 0; } else { //재고자산이 0일때 = 4점 if (sboFinancialIndexT.InventoryAsset.Value == 0) { kPoint = 4; } else { kPoint = getWeight(k, Convert.ToDouble(obj.CavIt)) * 4; } //double kPoint = (k / (915.48 + k)) * 4; } // 부가가치율(부가가치 ÷ 매출액)×100 double l = (sboFinancialIndexT.CurrentSale.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.ValueAdded.Value / sboFinancialIndexT.CurrentSale.Value) * 100); double lPoint = 0; if (sboFinancialIndexT.ValueAdded.Value == 0 && sboFinancialIndexT.CurrentSale.Value == 0) { lPoint = 0; } else if (sboFinancialIndexT.ValueAdded.Value == 0) { lPoint = 0; } else { // 당기매출액이 0이면 if (sboFinancialIndexT.CurrentSale.Value == 0) { lPoint = 4; } else { lPoint = getWeight(l, (Convert.ToDouble(obj.CavVr))) * 4; } //double lPoint = (l / (24.02 + l)) * 4; } // 노동생산성 = 부가가치 ÷ 종업원수 double m = (sboFinancialIndexT.QtEmp.Value == 0) ? 0 : Convert.ToDouble(sboFinancialIndexT.ValueAdded.Value / sboFinancialIndexT.QtEmp.Value); double mPoint = 0; if (sboFinancialIndexT.ValueAdded.Value == 0 && sboFinancialIndexT.QtEmp.Value == 0) { mPoint = 0; } else if (sboFinancialIndexT.ValueAdded.Value == 0) { mPoint = 0; } else { // 종업원 수가 0이면 if (sboFinancialIndexT.QtEmp.Value == 0) { mPoint = 4; } else { mPoint = getWeight(Math.Truncate(m / 1000), Convert.ToDouble(obj.CavLp)) * 4; } } //double mPoint = (m / (16163671 + m)) * 4; //자본생산성((부가가치 ÷ 자본총계)×100 double n = (sboFinancialIndexT.TotalCapital.Value == 0) ? 0 : Convert.ToDouble((sboFinancialIndexT.ValueAdded.Value / sboFinancialIndexT.TotalCapital.Value) * 100); double nPoint = 0; if (sboFinancialIndexT.ValueAdded.Value == 0 && sboFinancialIndexT.TotalCapital.Value == 0) { nPoint = 0; } else if (sboFinancialIndexT.ValueAdded.Value == 0) { nPoint = 0; } else { // 자본총계가 0이면 if (sboFinancialIndexT.TotalCapital.Value == 0) { nPoint = 3; } else { nPoint = getWeight(n, Convert.ToDouble(obj.CavCp)) * 3; } //double nPoint = (n / (137.01 + n)) * 3; } //재무점수로 환산 double point = aPoint + bPoint + cPoint + dPoint + ePoint + fPoint + gPoint + hPoint + iPoint + jPoint + kPoint + lPoint + mPoint + nPoint; return(point); }