MulService.java 7.2 KB
package com.service.bksh;

import java.text.DecimalFormat;

import com.dao.bksh.SHDataBase;
import com.dao.dbutil.DataBase;
import com.vo.SHDataManage;
import com.vo.SH_mul;
import com.vo.SH_outline_DataManage;
import com.vo.sh_Sound;

/**
 * 
 * @ClassName: MulService
 * @Description: TODO(得到SHDataManage类型,通过date找到标准算出超标倍数写入SHDataManage返回)
 * @author zhengwei
 * @date 2014-3-3 上午10:54:07
 * @version 1.0
 */
public class MulService extends DataBase {
	private DecimalFormat format = new DecimalFormat("0.00");

	// public SHDataManage updatevalue(SHDataManage data){
	//
	// }
	public SHDataManage putMUL(SHDataManage data) {
		SH_mul mul = new SHDataBase().getMUL1(data.getDate());
		if (data.getCxwsjh_incod_eq().equals("--") || "".equals(data.getCxwsjh_incod_eq())) {
			data.setA_incod_mul("--");
		} else {
			data.setA_incod_mul(getmul(Double.parseDouble(data.getCxwsjh_incod_eq()), mul.getIn_cod()));
		}
		if (data.getCxwsjh_innh4n_eq().equals("--") || "".equals(data.getCxwsjh_innh4n_eq())) {
			data.setA_innh4n_mul("--");
		} else {
			data.setA_innh4n_mul(getmul(Double.parseDouble(data.getCxwsjh_innh4n_eq()), mul.getIn_nh4n()));
		}
		if (data.getCxwsjh_inph_eq().equals("--") || "".equals(data.getCxwsjh_inph_eq())) {
			data.setA_inph_mul("--");
		} else {
			data.setA_inph_mul(getPHmul(Double.parseDouble(data.getCxwsjh_inph_eq()), mul.getIn_max_ph(), mul.getIn_min_ph()));
		}
		if (data.getCxwsjh_outcod_eq().equals("--") || "".equals(data.getCxwsjh_outcod_eq())) {
			data.setA_outcod_mul("--");
		} else {
			data.setA_outcod_mul(getmul(Double.parseDouble(data.getCxwsjh_outcod_eq()), mul.getOut_cod()));
		}

		// 新增加的数据
		if (data.getCxwsjh_outzl_eq().equals("--") || "".equals(data.getCxwsjh_outzl_eq())) {
			data.setA_outzl_mul("--");
		} else {
			data.setA_outzl_mul(getmul(Double.parseDouble(data.getCxwsjh_outzl_eq()), mul.getOut_zl()));
		}

		if (data.getCxwsjh_outzd_eq().equals("--") || "".equals(data.getCxwsjh_outzd_eq())) {
			data.setA_outzd_mul("--");
		} else {
			data.setA_outzd_mul(getmul(Double.parseDouble(data.getCxwsjh_outzd_eq()), mul.getOut_zd()));
		}
		
		//新增加进水总磷
		if (data.getCxwsjh_intp_eq().equals("--") || "".equals(data.getCxwsjh_intp_eq())) {
			data.setA_intp_mul("--");
		} else {
			data.setA_intp_mul(getmul(Double.parseDouble(data.getCxwsjh_intp_eq()), mul.getIn_tp()));
		}
		
		
		
		String date = data.getDate();
		String month = date.split(" ")[0].split("-")[1];
		if (month.equals("12") || month.equals("01") || month.equals("02") || month.equals("03"))
			if (data.getCxwsjh_outnh4n_eq().equals("--")) {
				data.setA_outnh4n_mul("--");
			} else {
				data.setA_outnh4n_mul(getmul(Double.parseDouble(data.getCxwsjh_outnh4n_eq()), mul.getOut_nh4n_1()));
			}
		else if (data.getCxwsjh_outnh4n_eq().equals("--")) {
			data.setA_outnh4n_mul("--");
		} else {
			data.setA_outnh4n_mul(getmul(Double.parseDouble(data.getCxwsjh_outnh4n_eq()), mul.getOut_nh4n_2()));
		}
		if (data.getCxwsjh_outph_eq().equals("--")) {
			data.setA_outph_mul("--");
		} else {
			data.setA_outph_mul(
					getPHmul(Double.parseDouble(data.getCxwsjh_outph_eq()), mul.getOut_max_ph(), mul.getOut_min_ph()));
		}
		if (!data.getA_outcod_mul().equals("--") && Double.parseDouble(data.getA_outcod_mul()) > 0) {
			data.setA_outcod_note("工作人员正在排查超标原因");
		} else if (!data.getA_outcod_mul().equals("--") && Double.parseDouble(data.getA_outcod_mul()) == 0) {
			data.setA_outcod_note("数据达标,显示正常");
		}
		if (!data.getA_outph_mul().equals("--") && Double.parseDouble(data.getA_outph_mul()) > 0) {
			data.setA_outph_note("工作人员正在排查超标原因");
		} else if (!data.getA_outph_mul().equals("--") && Double.parseDouble(data.getA_outph_mul()) == 0) {
			data.setA_outph_note("数据达标,显示正常");
		}
		if (!data.getA_outnh4n_mul().equals("--") && Double.parseDouble(data.getA_outnh4n_mul()) > 0) {
			data.setA_outnh4n_note("工作人员正在排查超标原因");
		} else if (!data.getA_outnh4n_mul().equals("--") && Double.parseDouble(data.getA_outnh4n_mul()) == 0) {
			data.setA_outnh4n_note("数据达标,显示正常");
		}
		
		
		//出水总磷总氮
		if (!data.getA_outzd_mul().equals("--") && Double.parseDouble(data.getA_outzd_mul()) > 0) {
			data.setA_outzd_note("工作人员正在排查超标原因");
		} else if (!data.getA_outzd_mul().equals("--") && Double.parseDouble(data.getA_outzd_mul()) == 0) {
			data.setA_outzd_note("数据达标,显示正常");
		}
		
		if (!data.getA_outzl_mul().equals("--") && Double.parseDouble(data.getA_outzl_mul()) > 0) {
			data.setA_outzl_note("工作人员正在排查超标原因");
		} else if (!data.getA_outzl_mul().equals("--") && Double.parseDouble(data.getA_outzl_mul()) == 0) {
			data.setA_outzl_note("数据达标,显示正常");
		}
		
		

		new SHDataBase().updateData(data);
		return data;
	}

	public SH_outline_DataManage putMUL(SH_outline_DataManage data) {
		data.setA_tp_mul(getmul(data.getA_tp(), "1.0"));
		data.setA_tn_mul(getmul(data.getA_tn(), "20"));
		data.setA_ss_mul(getmul(data.getA_ss(), "20"));
		data.setA_shxyl_mul(getmul(data.getA_shxyl(), "20"));
		data.setA_dzwy_mul(getmul(data.getA_dzwy(), "3"));
		data.setA_syl_mul(getmul(data.getA_syl(), "3"));
		data.setA_ylzbmhxj_mul(getmul(data.getA_ylzbmhxj(), "1"));
		data.setA_sd_mul(getmul(data.getA_sd(), "30"));
		data.setA_fdcjq_mul(getmul(data.getA_fdcjq(), "10000"));
		data.setA_tcd_mul(getmul(data.getA_tcd(), "0.01"));
		data.setA_tcr_mul(getmul(data.getA_tcr(), "0.1"));
		data.setA_ljg_mul(getmul(data.getA_ljg(), "0.05"));
		data.setA_tas_mul(getmul(data.getA_tas(), "0.1"));
		data.setA_tpb_mul(getmul(data.getA_tpb(), "0.1"));
		data.setA_wjg_mul(getmul(data.getA_wjg(), "0"));
		new SHDataBase().updateData(data);
		return data;
	}

	public sh_Sound putMUL(sh_Sound data) {
		data.setSound_n_mul(getmul(data.getSound_n(), "55"));
		data.setSound_s_mul(getmul(data.getSound_s(), "55"));
		data.setSound_w_mul(getmul(data.getSound_w(), "55"));
		data.setSound_e_mul(getmul(data.getSound_e(), "55"));
		data.setSound_n_night_mul(getmul(data.getSound_n_night(), "45"));
		data.setSound_s_night_mul(getmul(data.getSound_s_night(), "45"));
		data.setSound_w_night_mul(getmul(data.getSound_w_night(), "45"));
		data.setSound_e_night_mul(getmul(data.getSound_e_night(), "45"));
		new SHDataBase().updataSound(data);
		return data;
	}

	private String getmul(double value, String mul) {
		// double v = Double.valueOf(value);
		double m = Double.valueOf(mul);
		if (m == 0) {
			if (value <= 0)
				return "0";
			else
				return String.valueOf(value);
		} else {
			double re = (value - m) / m;
			if (re <= 0)
				return "0";
			else
				return format.format(re);
		}
	}

	private String getPHmul(double value, String max, String min) {
		// double v = Double.valueOf(value);
		double ma = Double.valueOf(max);
		double mi = Double.valueOf(min);
		if (value > ma)
			return format.format((value - ma) / ma);
		else if (value < mi)
			return format.format((mi - value) / mi);
		else
			return "0";
	}
}