⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gbs_priceedithardwarepriceaction.java

📁 对日软件外包 为东芝做的一个全球商业管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:

package ACTION;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import COMMON.BaseCommonCheck;
import COMMON.BaseDispatchAction;
import COMMON.MessageList;
import COMMON.ReturnValue;
import COMMON.SystemConstants;
import DataBean.GBS_HardwarePrice_stBean;
import DataBean.GBS_Kind_stBean;
import DataBean.GBS_LittleCountry_stBean;
import DataBean.GBS_MWideUse_stBean;
import DataBean.GBS_ProductCategory_stBean;
import DataBean.GBS_ProductPrice_stBean;
import DataBean.GBS_TProductPrice_stBean;
import LOGIC.GBS_PriceEditHardwareORCPCActionLogic;
/**
 * public class GBS_PriceEditHardwarePriceAction extends BaseDispatchAction implements SystemConstants
 * created on 07-30-2004
 * @author   wxf
 * @version  1.0
 */
public class GBS_PriceEditHardwarePriceAction extends BaseDispatchAction implements SystemConstants {

	// --------------------------------------------------------- Instance Variables

	// --------------------------------------------------------- Methods
	/**
	 * init page  
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward init(
			ActionMapping mapping,
			ActionForm form,
			HttpServletRequest request,
			HttpServletResponse response)
			throws Exception {
          	
	  log.info("[location info]GBS_PriceEditHardwarePriceAction.init method!");
    
	  GBS_PriceEditHardwarePriceForm thisForm = (GBS_PriceEditHardwarePriceForm) form;
	  
	  //get login user info from session
	  this.setUserInfoFromSession( request, thisForm);
     
	  //get combox value from database 
	  GBS_PriceEditHardwareORCPCActionLogic logic 
	  		= new GBS_PriceEditHardwareORCPCActionLogic(this.getDataSource(request));
	  thisForm = getCombox( thisForm, logic);

	  return (mapping.findForward(nextview));
    
	}	
	
	/**
	 * search page  
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws Exception
	 */
	public ActionForward search(
			ActionMapping mapping,
			ActionForm form,
			HttpServletRequest request,
			HttpServletResponse response)
			throws Exception {
          	
	  log.info("[location info]GBS_PriceEditHardwarePriceAction.search method!");
    
	  GBS_PriceEditHardwarePriceForm thisForm = (GBS_PriceEditHardwarePriceForm) form;
	 
	  //get login user info from session
	  this.setUserInfoFromSession( request, thisForm);
	
	  MessageList errorMsg = new MessageList();

	  GBS_PriceEditHardwareORCPCActionLogic logic = new GBS_PriceEditHardwareORCPCActionLogic(this.getDataSource(request));
	  ReturnValue ret =new ReturnValue();

	  //get combox value from database 
	  thisForm = getCombox(thisForm,logic);
	  
	  ret = logic.getEditHardwareInfo(thisForm.getCountryCode());
	  if ( ret.isError() ){
	  	if ( ret.isBussinessError() ){
	  		this.setMessage( ret.getMessageList() );
	  	}
		//getErrorCode ,getErrorMessage傪張棟
	  }else{
		ArrayList hardwarePrice_stList = (ArrayList)ret.getDataValue();
		if( hardwarePrice_stList != null && hardwarePrice_stList.size() > 0 ){
			  thisForm= toTree(thisForm,hardwarePrice_stList);
			  //get LocalCurencyName
			  ret = logic.getLocalCurencyName("CURRENCY");
			  if ( ret.isError() ){
				  if ( ret.isBussinessError() ){
					  this.setMessage( ret.getMessageList() );
				  }
			  }else{
				  ArrayList localCurencyNameList = new ArrayList();
				  localCurencyNameList = (ArrayList)ret.getDataValue();
				  GBS_MWideUse_stBean mWideUse_st = new GBS_MWideUse_stBean();
				  for(int i=0;i<localCurencyNameList.size();i++){
					mWideUse_st = (GBS_MWideUse_stBean)localCurencyNameList.get(i);
					if(thisForm.getLocalCurrency().equals(mWideUse_st.getMainKey())){
						thisForm.setLocalCurrencyName(mWideUse_st.getString1());
					}
				  }
			  }
		}else{
		  this.setMessage( "","","10000001",Integer.MIN_VALUE );
		  thisForm.setLocalCurrencyName("");
		  thisForm.setLocalCurrency("");
		  thisForm.setRateUS("");
		  thisForm.setRateEURO("");
		}
	  }
	  return (mapping.findForward(nextview));
	}

	/**
	 * Method submit
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws Exception
	 */
	public ActionForward submit(
			ActionMapping mapping,
			ActionForm form,
			HttpServletRequest request,
			HttpServletResponse response)
			throws Exception {
          	
	  log.info("[location info]GBS_PriceEditHardwarePriceAction.submit method!");
    
	  GBS_PriceEditHardwarePriceForm thisForm = (GBS_PriceEditHardwarePriceForm) form;
    
	  //get login user info from session
	  this.setUserInfoFromSession( request, thisForm);

	  //get combox value from database 
	  GBS_PriceEditHardwareORCPCActionLogic logic = new GBS_PriceEditHardwareORCPCActionLogic(this.getDataSource(request));
	  thisForm = getCombox(thisForm,logic);
	  
	  //inputcheck
	  MessageList errorMsg = new MessageList();
	  errorMsg = inputCheck(thisForm, request);
	  if (errorMsg.size() > 0) {
	  	//save error to request
		this.setMessage( errorMsg );
		thisForm=this.returnAllData(thisForm,request);
		return (mapping.findForward(nextview));
	  }
				  
	  
	  GBS_TProductPrice_stBean tProductPrice_st =new GBS_TProductPrice_stBean();

	  String[] localPrice = thisForm.getLocalPrice();
	  String[] USPrice    = thisForm.getUSPrice();
	  String[] EUROPrice  = thisForm.getEUROPrice();
	  String[] productID  = thisForm.getProductID();
	  String rateUS  = thisForm.getRateUS();
	  String rateEURO  = thisForm.getRateEURO();
	  ArrayList submitData = new ArrayList();
	  if(productID.length>1){
	  	for(int i = 1; i < productID.length; i++ ){
			tProductPrice_st =new GBS_TProductPrice_stBean();
			
			if(( localPrice[i].equals("") || localPrice[i].equals("0") )
			 &&(USPrice[i].equals("")     || USPrice[i].equals("0") )
			 &&(EUROPrice[i].equals("")   ||EUROPrice[i].equals("0"))
			 &&(rateUS.equals("")   ||rateUS.equals("0"))
			 &&(rateEURO.equals("")   ||rateEURO.equals("0"))){
			 	//continue;
			}
			tProductPrice_st.setProductID(productID[i]);//惢昳ID
			tProductPrice_st.setCountryCode(thisForm.getCountryCode());//崙僐乕僪
			tProductPrice_st.setPriceCategory("M");//扨壙暘椶
			tProductPrice_st.setLocalCurregcy(thisForm.getLocalCurrency());//尰抧捠壿
			tProductPrice_st.setLocalPrice(remove(localPrice[i],','));//尰抧扨壙
			tProductPrice_st.setUSPrice(remove(USPrice[i],','));//US$扨壙
			tProductPrice_st.setEUROPrice(remove(EUROPrice[i],','));//Euro扨壙
			tProductPrice_st.setRateUS(remove(thisForm.getRateUS(),','));//愝掕帪偺儗乕僩乮懳US)
			tProductPrice_st.setRateEURO(remove(thisForm.getRateEURO(),','));//愝掕帪偺儗乕僩乮懳EURO)
			tProductPrice_st.setUserID(thisForm.getLoginUserId());//儐乕僓乕ID
			//is the record  exist ?
			ReturnValue ret = new ReturnValue();
			ret = logic.selectOneByMaxDate( tProductPrice_st );
			GBS_TProductPrice_stBean dbOut = (GBS_TProductPrice_stBean) ret.getDataValue();
			if(dbOut.getProductID() == null || dbOut.getProductID().equals("")){
				if(!BaseCommonCheck.isEmpty(remove(tProductPrice_st.getLocalPrice(),','))
					|| !BaseCommonCheck.isEmpty(remove(tProductPrice_st.getUSPrice(),','))
					|| !BaseCommonCheck.isEmpty(remove(tProductPrice_st.getEUROPrice(),','))){
						submitData.add(tProductPrice_st);// add it into insert list.
				}
			}else if(! tProductPrice_st.getLocalCurregcy().equals(dbOut.getLocalCurregcy())// local curregcy changed.
					|| ! remove(tProductPrice_st.getLocalPrice(),',').equals(dbOut.getLocalPrice())// local price changed.
					|| ! remove(tProductPrice_st.getUSPrice(),',').trim().equals(dbOut.getUSPrice())// US price changed.
					|| ! remove(tProductPrice_st.getEUROPrice(),',').trim().equals(dbOut.getEUROPrice())
					|| ! remove(tProductPrice_st.getRateUS(),',').trim().equals(dbOut.getRateUS())// US rate changed.
					|| ! remove(tProductPrice_st.getRateEURO(),',').trim().equals(dbOut.getRateEURO())){
						submitData.add(tProductPrice_st);// add it into insert list.	
			}
	  	}
	  	ReturnValue ret = logic.submit( thisForm.getLoginUserId(), submitData);//insert data into database.
	  	if ( ret.isError() ){
	  		if ( ret.isBussinessError() ){
				this.setMessage( ret.getMessageList() );
	  		}
			thisForm = this.returnAllData(thisForm,request);
			return (mapping.findForward(nextview));
	  	}
	  }
	  thisForm.setMethod("close");
	  return (mapping.findForward(nextview));
	}
	
	/**
	 * inputCheck
	 * @param GBS_PriceEditHardwarePriceForm thisForm
	 * @param HttpServletRequest request
	 * @throws Exception
	 * @return ErrorMessages
	 */
	private MessageList inputCheck(GBS_PriceEditHardwarePriceForm thisForm,
									HttpServletRequest request) throws Exception {
	  
		//create ErrorMessages to display error message
		MessageList messages = new MessageList();
	  
		String[] localPrice = thisForm.getLocalPrice();
		String[] USPrice    = thisForm.getUSPrice();
		String[] EUROPrice  = thisForm.getEUROPrice();
		String rateEURO     = remove(thisForm.getRateEURO(),',');
		String rateUS       = remove(thisForm.getRateUS(),',');

		//rateEURO's check on number yes or no  and lower then  max digital.
		if(BaseCommonCheck.isEmpty(rateEURO)){
			//messages.setMessage("rateEURO",rateEURO, "10000009", Integer.MIN_VALUE,new Object[]{ "Currency rate" }, "rateEURO");
		}else if(!BaseCommonCheck.isFloat(rateEURO) ){
			messages.setMessage("rateEURO",rateEURO,"90000010",Integer.MIN_VALUE);
		}else if(new Double(rateEURO).doubleValue() > MAXPRICEORRATE){
			messages.setMessage("rateEURO",rateEURO,"90000037",Integer.MIN_VALUE);
		}else if(new Double(rateEURO).doubleValue() <= 0){
			messages.setMessage("rateEURO",rateEURO,"90000015",Integer.MIN_VALUE);
		}

		//rateUS's check on number yes or no  and lower then  max digital.	
		if(BaseCommonCheck.isEmpty(rateUS)){
			//messages.setMessage("rateUS",rateUS, "10000009", Integer.MIN_VALUE,new Object[]{ "Currency rate" }, "rateUS");
		}else if(!BaseCommonCheck.isFloat(rateUS) ){
			messages.setMessage("rateUS",rateUS,"90000010",Integer.MIN_VALUE);
		}else if(new Double(rateUS).doubleValue() > MAXPRICEORRATE){
			messages.setMessage("rateUS",rateUS,"90000037",Integer.MIN_VALUE);
		}else if(new Double(rateUS).doubleValue() <= 0){
			messages.setMessage("rateUS",rateUS,"90000015",Integer.MIN_VALUE);
		}

		for(int i=1;i< localPrice.length;i++){
			String strLocalPrice = remove(localPrice[i],',');
			String strUSPrice    = remove(USPrice[i],',');
			String strEUROPrice  = remove(EUROPrice[i],',');
			//localPrice's check on number yes or no  and lower then  max digital.	
			if(!BaseCommonCheck.isEmpty(strLocalPrice)){
				if(!BaseCommonCheck.isFloat(strLocalPrice) ){
					messages.setMessage("localPrice",strLocalPrice,"90000010",i+1);
				}else if(new Double(strLocalPrice).doubleValue() > MAXPRICEORRATE){
					messages.setMessage("localPrice",strLocalPrice,"90000037",i+1);
				}else if(new Double(strLocalPrice).doubleValue() < 0){
					messages.setMessage("localPrice",strLocalPrice,"90000015",i+1);
				}

⌨️ 快捷键说明

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