?? gbs_priceeditcpcpriceaction.java
字號:
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_CPCPrice_stBean;
import DataBean.GBS_LittleCPCPrice_stBean;
import DataBean.GBS_LittleCountry_stBean;
import DataBean.GBS_MWideUse_stBean;
import DataBean.GBS_ProductCPCPriceList_stBean;
import DataBean.GBS_TProductPrice_stBean;
import LOGIC.GBS_PriceEditHardwareORCPCActionLogic;
/**
* public class GBS_PriceEditCPCPriceAction extends BaseDispatchAction implements SystemConstants
* created on 07-30-2004
* @author wxf
* @version 1.0
*/
public class GBS_PriceEditCPCPriceAction 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_PriceEditCPCPriceAction.init method!");
GBS_PriceEditCPCPriceForm thisForm = (GBS_PriceEditCPCPriceForm) 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_PriceEditCPCPriceAction.search method!");
GBS_PriceEditCPCPriceForm thisForm = (GBS_PriceEditCPCPriceForm) form;
GBS_PriceEditHardwareORCPCActionLogic logic = new GBS_PriceEditHardwareORCPCActionLogic(this.getDataSource(request));
thisForm=getCombox(thisForm,logic);
ReturnValue ret = logic.getEditCPCInfo( thisForm.getCountryCode() );// get CPC price inforamtion
if ( ret.isError() ){
if ( ret.isBussinessError() ){
this.setMessage( ret.getMessageList() );
}
//getErrorCode ,getErrorMessage傪張棟
}else{
ArrayList CPCPrice_stList = (ArrayList)ret.getDataValue();
if( CPCPrice_stList != null && CPCPrice_stList.size() > 0 ){
thisForm= toTree(thisForm, CPCPrice_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_PriceEditCPCPriceAction.submit method!");
GBS_PriceEditCPCPriceForm thisForm = (GBS_PriceEditCPCPriceForm) form;
//get login user info from session
this.setUserInfoFromSession( request, thisForm);
MessageList errorMsg = new MessageList();
errorMsg = inputCheck(thisForm, request);
if ( errorMsg.size() > 0) {
//save error to request
this.setMessage( errorMsg );
thisForm = returnAllData(thisForm,request);
return (mapping.findForward(nextview));
}
GBS_PriceEditHardwareORCPCActionLogic logic = new GBS_PriceEditHardwareORCPCActionLogic(this.getDataSource(request));
GBS_TProductPrice_stBean tProductPrice_st =new GBS_TProductPrice_stBean();
String[] localPrice = thisForm.getLocalPrice();//尰抧捠壿
String[] priceCategory = thisForm.getPriceCategory();//扨壙暘椶
String[] USPrice = thisForm.getUSPrice();//US$扨壙
String[] EUROPrice = thisForm.getEUROPrice();//Euro扨壙
String[] productID = thisForm.getProductID();//惢昳ID
String rateUS = thisForm.getRateUS();
String rateEURO = thisForm.getRateEURO();
ArrayList submitData = new ArrayList();
if(priceCategory.length>1){
int indexOfProductID = 0;
for(int i = 1;i < priceCategory.length;i++ ){
indexOfProductID = (i-1)/4 +1;
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[indexOfProductID]);//惢昳ID
tProductPrice_st.setCountryCode(thisForm.getCountryCode());//崙僐乕僪
tProductPrice_st.setPriceCategory(priceCategory[i]);//扨壙暘椶
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 = 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 thisForm GBS_LoginForm
* @param request HttpServletRequest
* @throws Exception
* @return MessageList
*/
private MessageList inputCheck(GBS_PriceEditCPCPriceForm 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.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -