public async Task <Decimal> AddCavAsync(ScCav scCav) { var rstScCav = await scCavRepository.insert(scCav); if (rstScCav == null) { return(-1); } return(await SaveDbContextAsync()); }
public async Task<Decimal> AddCavAsync(ScCav scCav) { var rstScCav = await scCavRespository.insert(scCav); if (rstScCav == null) { return -1; } return await SaveDbContextAsync(); }
public static double CalcFinancialPoint(ScFinancialIndexT sboFinancialIndexT, ScCav obj) { //매출영업이익률(영업이익 ÷ 매출액)×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); }
public void ModifyScCav(ScCav scCav) { scCavRepository.Update(scCav); }