gbs_pricecpcpricelistactionlogic.java

来自「对日软件外包 为东芝做的一个全球商业管理系统」· Java 代码 · 共 215 行

JAVA
215
字号
package LOGIC;

import java.util.ArrayList;

import javax.sql.DataSource;

import ACTION.GBS_PriceCPCPriceListForm;
import COMMON.MessageList;
import COMMON.ReturnValue;
import COMMON.SystemConstants;
import DB.GBS_MCountry_DB;
import DB.GBS_TProductPrice_DB;
import DataBean.GBS_CPCPrice_stBean;
import DataBean.GBS_LittleCPCPrice_stBean;
import DataBean.GBS_LittleCountry_stBean;
import DataBean.GBS_ProductCPCPriceList_stBean;

/**
 * public class GBS_PriceCPCPriceListActionLogic implements SystemConstants
 * created on 07-30-2004
 * @author   wxf
 * @version  1.0
 */
public class GBS_PriceCPCPriceListActionLogic implements SystemConstants {
	private DataSource datasource = null;
	private ArrayList littleCountry_stList;

	/**
	 * trans datasource to db
	 * @param datasource
	 * reurn GBS_PriceCPCPriceListActionLogic
	 */
	public GBS_PriceCPCPriceListActionLogic(DataSource datasource) {
		this.datasource = datasource;
	}
	/**
	 * getAllCPCPriceInfo
	 * @param String productCategoryCode
	 * @param String countryCode
	 * @return all CPCPrice inforamtion 
	 * @throws Exception
	 */
	public ReturnValue getAllCPCPriceInfo(String productCategoryCode, String countryCode, int plusHour)
		throws Exception {

		ReturnValue returnValue = new ReturnValue();
		MessageList messageList = new MessageList();
		returnValue.setMessageList(messageList);

		GBS_PriceCPCPriceListForm priceCPCPriceListForm = new GBS_PriceCPCPriceListForm();

		GBS_MCountry_DB countryDB = new GBS_MCountry_DB(datasource);
		GBS_TProductPrice_DB tProductPriceDB = new GBS_TProductPrice_DB(datasource);
		ReturnValue ret = countryDB.seletCountryName(countryCode);
		this.littleCountry_stList = (ArrayList) ret.getDataValue();

		ret = tProductPriceDB.selectCPCPricelist(productCategoryCode, countryCode, plusHour);
		if (ret.isError()) {
			if (ret.isBussinessError()) {
				returnValue.setMessageList(ret.getMessageList());
			}
			returnValue.setErrorCode(ret.getErrorCode());
			returnValue.setErrorMessage(ret.getErrorMessage());
			//getErrorCode ,getErrorMessage傪張棟
		}

		ArrayList CPCPrice_stlist = (ArrayList) ret.getDataValue();

		int indexOfProduct = -1;

		GBS_ProductCPCPriceList_stBean productID_st = new GBS_ProductCPCPriceList_stBean();

		ArrayList outList = new ArrayList();
		outList.add(this.littleCountry_stList);
		// CPC price data list cheng into tree.
		for (int i = 0; CPCPrice_stlist != null && i < CPCPrice_stlist.size(); i++) {

			GBS_CPCPrice_stBean CPCPrice_st = (GBS_CPCPrice_stBean) CPCPrice_stlist.get(i);

			if (productID_st.getProductID().equals(CPCPrice_st.getProductID())) {

				productID_st = setProductID(CPCPrice_st, productID_st);
				outList.set(outList.size() - 1, productID_st);
			} else {

				productID_st = newProductID(CPCPrice_st);
				outList.add(productID_st);
			}
		}

		priceCPCPriceListForm.setLittleCountrylist(this.littleCountry_stList);
		productID_st = new GBS_ProductCPCPriceList_stBean();
		productID_st.setProductID(" ");
		productID_st.setProductName(" ");
		productID_st.setDataList(this.littleCountry_stList);
		outList.set(0, productID_st);
		priceCPCPriceListForm.setDataList(outList);
		returnValue.setDataValue(priceCPCPriceListForm);

		return returnValue;

	}
	/**
	 * setPrice_st
	 * @param GBS_CPCPrice_stBean CPCPrice_st
	 * @param GBS_LittleCPCPrice_stBean littleCPCPrice_st
	 * @return GBS_LittleCPCPrice_stBean
	 * @throws Exception
	 */
	private GBS_LittleCPCPrice_stBean setPrice_st(
		GBS_CPCPrice_stBean CPCPrice_st,
		GBS_LittleCPCPrice_stBean littleCPCPrice_st) {
		littleCPCPrice_st.setLocalCurrency(CPCPrice_st.getLocalCurrency());
		littleCPCPrice_st.setLocalCurrencyeKey(CPCPrice_st.getLocalCurrencyKey());
		//C1:CPC BW
		if (CPCPrice_st.getPriceCategory().equals("C1")) {
			littleCPCPrice_st.setEUROPriceBWCPM(CPCPrice_st.getEUROPrice());
			littleCPCPrice_st.setLocalPriceBWCPM(CPCPrice_st.getLocalPrice());
			littleCPCPrice_st.setUSPriceBWCPM(CPCPrice_st.getUSPrice());
		}
		//C2:CPC_Color 
		if (CPCPrice_st.getPriceCategory().equals("C2")) {
			littleCPCPrice_st.setEUROPriceColorCPM(CPCPrice_st.getEUROPrice());
			littleCPCPrice_st.setLocalPriceColorCPM(CPCPrice_st.getLocalPrice());
			littleCPCPrice_st.setUSPriceColorCPM(CPCPrice_st.getUSPrice());
		}
		//C3:CPC_MONOCOLOR 
		if (CPCPrice_st.getPriceCategory().equals("C3")) {
			littleCPCPrice_st.setEUROPriceMonoColorCPM(CPCPrice_st.getEUROPrice());
			littleCPCPrice_st.setLocalPriceMonoColorCPM(CPCPrice_st.getLocalPrice());
			littleCPCPrice_st.setUSPriceMonoColorCPM(CPCPrice_st.getUSPrice());
		}
		//C4:CPC Other						
		if (CPCPrice_st.getPriceCategory().equals("C4")) {
			littleCPCPrice_st.setEUROPriceOtherCPM(CPCPrice_st.getEUROPrice());
			littleCPCPrice_st.setLocalPriceOtherCPM(CPCPrice_st.getLocalPrice());
			littleCPCPrice_st.setUSPriceOtherCPM(CPCPrice_st.getUSPrice());
		}
		//set max date of country.
		for (int j = 0; j < littleCountry_stList.size(); j++) {
			GBS_LittleCountry_stBean littleCountry_st = (GBS_LittleCountry_stBean) littleCountry_stList.get(j);
			if (littleCountry_st.getCountryCode().equals(CPCPrice_st.getCountryCode())) {
				if (littleCountry_st.getDateTime().compareTo(CPCPrice_st.getDateTime()) < 0) {
					littleCountry_st.setDateTime(CPCPrice_st.getDateTime());
					littleCountry_st.setDate(CPCPrice_st.getDate());
					littleCountry_stList.set(j, littleCountry_st);
				}
			}
		}
		return littleCPCPrice_st;
	}
	/**
	 * newPrice_st
	 * @param GBS_CPCPrice_stBean CPCPrice_st
	 * @return GBS_LittleCPCPrice_stBean
	 * @throws Exception
	 */
	private GBS_LittleCPCPrice_stBean newPrice_st(GBS_CPCPrice_stBean CPCPrice_st) {
		GBS_LittleCPCPrice_stBean littleCPCPrice_st = new GBS_LittleCPCPrice_stBean();
		return setPrice_st(CPCPrice_st, littleCPCPrice_st);
	}

	/**
	 * setProductID
	 * @param GBS_CPCPrice_stBean CPCPrice_st
	 * @param GBS_ProductCPCPriceList_stBean priductID
	 * @return GBS_ProductCPCPriceList_stBean
	 * @throws Exception
	 */
	private GBS_ProductCPCPriceList_stBean setProductID(
		GBS_CPCPrice_stBean CPCPrice_st,
		GBS_ProductCPCPriceList_stBean priductID) {
		ArrayList dataList = priductID.getDataList();
		for (int i = 0; i < littleCountry_stList.size(); i++) {
			GBS_LittleCountry_stBean littleCountry_st = (GBS_LittleCountry_stBean) littleCountry_stList.get(i);
			GBS_LittleCPCPrice_stBean price_st;
			if (littleCountry_st.getCountryCode().equals(CPCPrice_st.getCountryCode())) {
				price_st = (GBS_LittleCPCPrice_stBean) dataList.get(i);
				price_st = setPrice_st(CPCPrice_st, price_st);
				dataList.set(i, price_st);
			}
		}
		priductID.setDataList(dataList);
		priductID.setRowSize(12);
		return priductID;
	}
	/**
	 * newProductID
	 * @param GBS_CPCPrice_stBean CPCPrice_st
	 * @return GBS_ProductCPCPriceList_stBean
	 * @throws Exception
	 */
	private GBS_ProductCPCPriceList_stBean newProductID(GBS_CPCPrice_stBean CPCPrice_st) {
		GBS_ProductCPCPriceList_stBean priductID = new GBS_ProductCPCPriceList_stBean();
		priductID.setProductID(CPCPrice_st.getProductID());
		priductID.setProductName(CPCPrice_st.getProductName());
		ArrayList dataList = new ArrayList();
		for (int i = 0; i < littleCountry_stList.size(); i++) {
			GBS_LittleCountry_stBean littleCountry_st = (GBS_LittleCountry_stBean) littleCountry_stList.get(i);

			GBS_LittleCPCPrice_stBean price_st;
			if (littleCountry_st.getCountryCode().equals(CPCPrice_st.getCountryCode())) {
				price_st = newPrice_st(CPCPrice_st);
			} else {
				price_st = new GBS_LittleCPCPrice_stBean();
			}
			dataList.add(price_st);
		}
		priductID.setDataList(dataList);
		priductID.setRowSize(12);
		return priductID;

	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?