📄 gbs_priceedithardwarepriceaction.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_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 + -