/// <summary> /// 查询快递状态 /// </summary> /// <param name="context"></param> /// <returns></returns> private string Get(HttpContext context) { string expressCompanyCode = context.Request["express_company_code"]; string expressNumber = context.Request["express_number"]; if (string.IsNullOrEmpty(expressCompanyCode) || string.IsNullOrEmpty(expressNumber)) { resp.errcode = 1; resp.errmsg = " express_company_code,express_number参数不能为空"; return(ZentCloud.Common.JSONHelper.ObjectToJson(resp)); } var map = bll.expressCompanyMap.SingleOrDefault(p => p.Key == expressCompanyCode); if (!string.IsNullOrEmpty(map.Key)) { expressCompanyCode = map.Value; } var result = bll.GetExpressResult(expressNumber, expressCompanyCode); if (result != null) { return("{\"errcode\":0,\"errmsg\":\"ok\",\"express_info\":" + result.ExpressContent + "}"); } else { var queryResult = bll.Query(expressCompanyCode, expressNumber); if (queryResult != "[]") { ExpressResult model = new ExpressResult(); model.ExpressCompanyCode = expressCompanyCode; model.ExpressNumber = expressNumber; model.WebsiteOwner = bll.WebsiteOwner; model.ExpressContent = queryResult; model.InsertDate = DateTime.Now; model.LastUpdateDate = DateTime.Now; bll.Add(model); return("{\"errcode\":0,\"errmsg\":\"ok\",\"express_info\":" + queryResult + "}"); } else { return("{\"errcode\":1,\"errmsg\":\"没有物流信息\",\"express_info\":" + queryResult + "}"); } } }
public ExpressResult ExpressCalc(Express express) { var result = new ExpressResult { AquaLiters = express.AquaLiters, ContainerCapacity = express.ContainerCapacity }; //nitrogen result.MaxKNO3g = SolubilityInWater( result.ContainerCapacity.Value, KNO3SolubilityGramsPer100Ml); result.MaxConcentrationNinKNO3MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.MaxKNO3g.Value, result.ContainerCapacity.Value, Percent(KNO3ContentN)); result.MaxConcentrationKinKNO3MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.MaxKNO3g.Value, result.ContainerCapacity.Value, Percent(KNO3ContentK)); if (result.MaxConcentrationNinKNO3MgPerLiter <= 0.5) { result.OptimalConcentrationNinKNO3MgPerLiter = result.MaxConcentrationNinKNO3MgPerLiter.Value; result.OptimalConcentrationKinKNO3MgPerLiter = result.MaxConcentrationKinKNO3MgPerLiter.Value; result.OptimalKNO3g = result.MaxKNO3g.Value; } else if (result.MaxConcentrationNinKNO3MgPerLiter > 0.5 && result.MaxConcentrationNinKNO3MgPerLiter < 1) { result.OptimalKNO3g = (result.MaxKNO3g.Value * 0.5) / result.MaxConcentrationNinKNO3MgPerLiter.Value; result.OptimalConcentrationNinKNO3MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.OptimalKNO3g.Value, result.ContainerCapacity.Value, Percent(KNO3ContentN)); result.OptimalConcentrationKinKNO3MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.OptimalKNO3g.Value, result.ContainerCapacity.Value, Percent(KNO3ContentK)); } else { result.OptimalKNO3g = (result.MaxKNO3g.Value * 1) / result.MaxConcentrationNinKNO3MgPerLiter.Value; result.OptimalConcentrationNinKNO3MgPerLiter = Math.Round(ConcentrationIn1Ml( result.AquaLiters.Value, result.OptimalKNO3g.Value, result.ContainerCapacity.Value, Percent(KNO3ContentN)), 2); result.OptimalConcentrationKinKNO3MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.OptimalKNO3g.Value, result.ContainerCapacity.Value, Percent(KNO3ContentK)); } //phosphorus result.MaxKH2PO4g = SolubilityInWater( result.ContainerCapacity.Value, KH2PO4SolubilityGramsPer100Ml); result.MaxConcentrationPinKH2PO4MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.MaxKH2PO4g.Value, result.ContainerCapacity.Value, Percent(KH2PO4ContentP)); result.MaxConcentrationKinKH2PO4MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.MaxKH2PO4g.Value, result.ContainerCapacity.Value, Percent(KH2PO4ContentK)); if (result.MaxConcentrationPinKH2PO4MgPerLiter <= 0.5) { result.OptimalConcentrationPinKH2PO4MgPerLiter = result.MaxConcentrationPinKH2PO4MgPerLiter; result.OptimalConcentrationKinKH2PO4MgPerLiter = result.MaxConcentrationKinKH2PO4MgPerLiter; result.OptimalKH2PO4g = result.MaxKH2PO4g; } else if (result.MaxConcentrationPinKH2PO4MgPerLiter > 0.5 && result.MaxConcentrationPinKH2PO4MgPerLiter < 1) { result.OptimalKH2PO4g = (result.MaxKH2PO4g.Value * 0.1) / result.MaxConcentrationPinKH2PO4MgPerLiter.Value; result.OptimalConcentrationPinKH2PO4MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.OptimalKH2PO4g.Value, result.ContainerCapacity.Value, Percent(KH2PO4ContentP)); result.OptimalConcentrationKinKH2PO4MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.OptimalKH2PO4g.Value, result.ContainerCapacity.Value, Percent(KH2PO4ContentK)); } else { result.OptimalKH2PO4g = (result.MaxKH2PO4g.Value * .1) / result.MaxConcentrationPinKH2PO4MgPerLiter.Value; result.OptimalConcentrationPinKH2PO4MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.OptimalKH2PO4g.Value, result.ContainerCapacity.Value, Percent(KH2PO4ContentP)); result.OptimalConcentrationKinKH2PO4MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.OptimalKH2PO4g.Value, result.ContainerCapacity.Value, Percent(KH2PO4ContentK)); } //potasium result.MaxK2SO4g = SolubilityInWater( result.ContainerCapacity.Value, K2SO4SolubilityGramsPer100Ml); result.MaxConcentrationKinK2SO4MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.MaxK2SO4g.Value, result.ContainerCapacity.Value, Percent(K2SO4ContentK)); if (result.MaxConcentrationKinK2SO4MgPerLiter <= 0.5) { result.OptimalConcentrationKinK2SO4MgPerLiter = result.MaxConcentrationKinK2SO4MgPerLiter; result.OptimalK2SO4g = result.MaxK2SO4g.Value; } else if (result.MaxConcentrationKinK2SO4MgPerLiter > 0.5 && result.MaxConcentrationKinK2SO4MgPerLiter < 1) { result.OptimalK2SO4g = (result.MaxK2SO4g.Value * 0.5) / result.MaxConcentrationKinK2SO4MgPerLiter.Value; result.OptimalConcentrationKinK2SO4MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.OptimalK2SO4g.Value, result.ContainerCapacity.Value, Percent(K2SO4ContentK)); } else { result.OptimalK2SO4g = (result.MaxK2SO4g.Value * 1) / result.MaxConcentrationKinK2SO4MgPerLiter.Value; result.OptimalConcentrationKinK2SO4MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.OptimalK2SO4g.Value, result.ContainerCapacity.Value, Percent(K2SO4ContentK)); } //magnesium result.MaxMgSO4g = SolubilityInWater( result.ContainerCapacity.Value, MgSO4SolubilityGramsPer100Ml); result.MaxConcentrationMginMgSO4MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.MaxMgSO4g.Value, result.ContainerCapacity.Value, Percent(MgSO47H2OContentMg)); if (result.MaxConcentrationMginMgSO4MgPerLiter <= 0.5) { result.OptimalConcentrationMginMgSO4MgPerLiter = result.MaxConcentrationMginMgSO4MgPerLiter; result.OptimalMgSO4g = result.MaxMgSO4g; } else if (result.MaxConcentrationMginMgSO4MgPerLiter > 0.5 && result.MaxConcentrationMginMgSO4MgPerLiter < 1) { result.OptimalMgSO4g = (result.MaxMgSO4g.Value * 0.5) / result.MaxConcentrationMginMgSO4MgPerLiter.Value; result.OptimalConcentrationMginMgSO4MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.OptimalMgSO4g.Value, result.ContainerCapacity.Value, Percent(MgSO47H2OContentMg)); } else { result.OptimalMgSO4g = (result.MaxMgSO4g.Value * 1) / result.MaxConcentrationMginMgSO4MgPerLiter.Value; result.OptimalConcentrationMginMgSO4MgPerLiter = ConcentrationIn1Ml( result.AquaLiters.Value, result.OptimalMgSO4g.Value, result.ContainerCapacity.Value, Percent(MgSO47H2OContentMg)); } return(result); }