HIGHCHARTS后台取数+SSH

JS文件:

		var chart;
		var json = {
				chart: {
					renderTo: 'container',
					defaultSeriesType: 'line',
					marginRight: 130,
					marginBottom: 25
				},
				title: {
					text: '血压',
					x: -20 //center
				},
				subtitle: {
					text: '血压折线图',
					x: -20
				},
				xAxis: {
					categories: []
				},
				yAxis: {
					title: {
						text: '血压范围 (mmhg)'
					},
					plotLines: [{
						value: 0,
						width: 1,
						color: '#808080'
					}]
				},
				tooltip: {
					formatter: function() {
			                return '<b>'+ this.series.name +'</b><br/>'+
							this.x +': '+ this.y +'';
					}
				},
				legend: {
					layout: 'vertical',
					align: 'right',
					verticalAlign: 'top',
					x: -10,
					y: 200,
					borderWidth: 0
				},
				series: [{
					name: '低血压',
					data: []
				}, {
					name: '高血压',
					data: []
				}]
			};
		
		   //var x1 = [154,125,142,179,177,132,77,82];
		  // var y1 = [135,96,83,99,119,149,155,86];
		   
		   
		
		  $(document).ready(function() {
			$.ajax({
				type : "post",
				url : "pressure!queryHistoryPressure.action",
				data : {
					typeID :'1',
					userID :'00101',
				},
				dataType : "json",
				success : function(data) {
						json.xAxis.categories = data.categories_date;
	
						json.series[0].data = data.categories_bloodsystolic;       
						json.series[1].data = data.categories_diastolic;

						chart = new Highcharts.Chart(json);
				}
			});
			
			
			
			
		});



后台文件:

/**
 * <project>hansci_search</project>
 * <package>com.hansci.search.action</package>
 * <class>IssuedAction.java</class>
 * @time:2013-3-1 下午12:27:08
 *
 */
package com.neowave.health.action;


import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.apache.commons.lang.ObjectUtils;
import org.apache.log4j.Logger;

import com.hansci.base.action.BaseAction;
import com.neowave.health.bean.HistoryBloodPressure;
import com.neowave.health.entity.NeowaveBloodPressure;
import com.neowave.health.entity.NeowaveUser;
import com.neowave.health.entity.NeowaveUserInfo;
import com.neowave.health.service.HealthBloodPressureService;
import com.neowave.health.util.WebConstant;
import com.opensymphony.xwork2.ActionContext;

public class PressureAction extends BaseAction {
	
	private static final long serialVersionUID = 1217029936556299526L;
	
    private Logger log = Logger.getLogger(PressureAction.class);
    
    private NeowaveBloodPressure neowaveBloodPressure;
	
    private List<NeowaveBloodPressure> neowaveBloodPressures;
    
    private String typeID;
    
    private String userID;
    
    private HistoryBloodPressure historyBloodPressure; 
    
    
    
	@Resource
	private HealthBloodPressureService healthBloodPressureService;

	private SimpleDateFormat format = new SimpleDateFormat("dd");
	
	public String execute() {
		
		ActionContext ctx = ActionContext.getContext();
		log.info("---------------"+ctx.getSession().get(WebConstant.USER_ID));
		
		String userID = ObjectUtils.toString(ctx.getSession().get(WebConstant.USER_ID),"");
	
		log.info("---------typeID="+typeID);
		
		//获取血压的历史值
		neowaveBloodPressures = healthBloodPressureService.getHistoryMonitor(userID, Integer.parseInt(typeID));
		
		log.info("-------neowaveBloodPressures.size="+neowaveBloodPressures.size());
		
		String bloodsystolic = "";
		String diastolic="";
		String categories="";
		if(null!=neowaveBloodPressures&&neowaveBloodPressures.size()>0) {
	        	for(NeowaveBloodPressure bps:neowaveBloodPressures) {
	        		categories+="'"+format.format(bps.getBloodTime())+"日',";
	        		bloodsystolic+=bps.getBloodSystolic()+",";
	        		diastolic+=bps.getBloodDiastolic()+",";
	        	}
	     }
		categories = categories.substring(0, categories.length()-1);
		bloodsystolic = bloodsystolic.substring(0, bloodsystolic.length()-1);
		diastolic = diastolic.substring(0, diastolic.length()-1);
		
		historyBloodPressure = new HistoryBloodPressure();
		historyBloodPressure.setCategories(categories);
		historyBloodPressure.setSystolic(bloodsystolic);
		historyBloodPressure.setDiastolic(diastolic);
		
		log.info(historyBloodPressure.getCategories());
		log.info(historyBloodPressure.getDiastolic());
		log.info(historyBloodPressure.getSystolic());
		
		Map<String, String> jsonMap = new HashMap<String, String>();
		
		jsonMap.put("categories_date", categories);
		
		return LIST;
	}
	
	@SuppressWarnings("unchecked")
	public String queryHistoryPressure() {
		Map jsonMap = new HashMap();
		
//		ActionContext ctx = ActionContext.getContext();
//		log.info("---------------"+ctx.getSession().get(WebConstant.USER_ID));
//		
//		String userID = ObjectUtils.toString(ctx.getSession().get(WebConstant.USER_ID),"");
	
		log.info("---------typeID="+typeID);
		
		//获取血压的历史值
		neowaveBloodPressures = healthBloodPressureService.getHistoryMonitor(userID, Integer.parseInt(typeID));
		
		log.info("-------neowaveBloodPressures.size="+neowaveBloodPressures.size());
		
		String bloodsystolic = "";
		String diastolic="";
		String categories="";
		List categories_date = new ArrayList(); 
		
		List total = new ArrayList(); 
		List categories_bloodsystolic = new ArrayList(); 
		List categories_diastolic = new ArrayList(); 

		if(null!=neowaveBloodPressures&&neowaveBloodPressures.size()>0) {
	        	for(NeowaveBloodPressure bps:neowaveBloodPressures) {
	        		categories_date.add(format.format(bps.getBloodTime())+"日");
	        		categories_bloodsystolic.add(Integer.parseInt(ObjectUtils.toString(bps.getBloodSystolic(), "")));
	        		categories_diastolic.add(Integer.parseInt(ObjectUtils.toString(bps.getBloodDiastolic(), "")));
	        		bloodsystolic+=bps.getBloodSystolic()+",";
	        		diastolic+=bps.getBloodDiastolic()+",";
	        	}
	     }
		
		String bs_str = bloodsystolic;
		bloodsystolic = bloodsystolic.substring(0, bloodsystolic.length()-1);
		bloodsystolic = "name: '低压',data:["+bloodsystolic+"]";
		diastolic = diastolic.substring(0, diastolic.length()-1);
		diastolic = "name: '高压',data:["+diastolic+"]";
		
		log.info(bloodsystolic);
		log.info(diastolic);
		
		total.add(bloodsystolic);
		total.add(diastolic);

		//jsonMap.put("categories_date", categories);
		jsonMap.put("categories_date", categories_date);
		jsonMap.put("categories_bloodsystolic", categories_bloodsystolic);
		jsonMap.put("categories_diastolic", categories_diastolic);
		jsonMap.put("bloodsystolic", bloodsystolic);
		jsonMap.put("diastolic", diastolic);
		jsonMap.put("bs_str", bs_str);
//{"categories_date":['19日','20日','21日','22日','23日','24日','25日','26日'}
		
		return this.ajaxJson(jsonMap);
	}
	

	public NeowaveBloodPressure getNeowaveBloodPressure() {
		return neowaveBloodPressure;
	}

	public void setNeowaveBloodPressure(NeowaveBloodPressure neowaveBloodPressure) {
		this.neowaveBloodPressure = neowaveBloodPressure;
	}

	public List<NeowaveBloodPressure> getNeowaveBloodPressures() {
		return neowaveBloodPressures;
	}

	public void setNeowaveBloodPressures(
			List<NeowaveBloodPressure> neowaveBloodPressures) {
		this.neowaveBloodPressures = neowaveBloodPressures;
	}

	public String getTypeID() {
		return typeID;
	}

	public void setTypeID(String typeID) {
		this.typeID = typeID;
	}

	public HistoryBloodPressure getHistoryBloodPressure() {
		return historyBloodPressure;
	}

	public void setHistoryBloodPressure(HistoryBloodPressure historyBloodPressure) {
		this.historyBloodPressure = historyBloodPressure;
	}

	public String getUserID() {
		return userID;
	}

	public void setUserID(String userID) {
		this.userID = userID;
	}
	
	
	
}


你可能感兴趣的:(HIGHCHARTS后台取数+SSH)