public async Task <IActionResult> GetFormulaList([FromForm] InFormula model) { var data = await forService.GetFormulaList(model); return(Ok(new ResutModel <OutFormula> { data = data, errorCode = 0, errorMsg = "" })); }
public async Task <OutFormula> GetFormulaList(InFormula model) { OutFormula outFormula = new OutFormula { Info = new List <OutFormula_Info>() }; var data = await iOHZBRepository.QueryFirstOrDefaultAsync <OhZb>("select * from OH_ZB where IsEnable=1 and CID=0 and ID=@Id", new { Id = model.ID }); string starttime = model.StartTime; string endtime = model.EndTime; outFormula.QueryTime = $"{starttime}至 {endtime}"; outFormula.StartTime = starttime; outFormula.EndTime = endtime; outFormula.Formula_c = data.FormulaC; var array = Method.GetInteger(data.Formula).Split(",").GroupBy(p => p).Select(p => p.Key).ToArray(); string re, zbmc, id; for (int i = 0; i < array.Length; i++) { id = array[i].ToString(); re = await iOHZBRepository.GetZBList(starttime, endtime, id); data.Formula = data.Formula.Replace("'" + id + "'", re); zbmc = await iOHZBRepository.GetZBMC(id); outFormula.Info.Add(new OutFormula_Info { Col = zbmc, Num = re, ID = id }); } DataTable dt = new DataTable(); string Ret = double.Parse(dt.Compute(data.Formula, "false").ToString()).ToString("0.##"); outFormula.Info.Add(new OutFormula_Info { Col = data.Zbmc, Num = Ret, ID = string.Empty }); return(outFormula); }