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

📄 gbs_resultaction.java

📁 对日软件外包 为东芝做的一个全球商业管理系统
💻 JAVA
字号:
package ACTION;

/** 
 * method GBS_ResultAction.java
 * created on 08-09-2004
 * @author   xusheng
 * @version  1.0
 */
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.SendMail;
import COMMON.SystemConstants;
import DataBean.GBS_CodeName_stBean;
import DataBean.GBS_Customer_stBean;
import DataBean.GBS_MWideUse_stBean;
import DataBean.GBS_RFP_stBean;
import DataBean.GBS_Result_stBean;
import LOGIC.GBS_MWideUseLogic;
import LOGIC.GBS_PriceConditionActionLogic;
import LOGIC.GBS_ResultActionLogic;

public class GBS_ResultAction extends BaseDispatchAction implements SystemConstants {

	/** 
	 * Method init
	 * @param ActionMapping mapping
	 * @param ActionForm form
	 * @param HttpServletRequest request
	 * @param HttpServletResponse response
	 * @return ActionForward
	 * @throws Exception
	 */
	public ActionForward init(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception {

		ReturnValue returnValue = new ReturnValue();
		GBS_ResultForm requestForm = (GBS_ResultForm) form;

		//get login user info from session
		this.setUserInfoFromSession(request, requestForm);
		requestForm.setMethod("update");

		//get combox data  .
		this.getComboxValueAndName(requestForm, request);

		GBS_ResultActionLogic logic = new GBS_ResultActionLogic(this.getDataSource(request));
		//get up page sent me date
		String customerId = requestForm.getCustomerId().trim();
		String rfpNo = requestForm.getRfpNo();
		String OriginatingSubsidiaryCode = "";
		//1-1屭媞柤徧傪庢摼
		returnValue = logic.getCustomer(customerId);
		if (returnValue.isError()) {
			if (returnValue.isBussinessError()) {
				this.setMessage(returnValue.getMessageList());
			}
			//getErrorCode,getErrorMessage proc
		} else {
			GBS_Customer_stBean Customer_stBean = (GBS_Customer_stBean) returnValue.getDataValue();
			if (Customer_stBean != null) {
				requestForm.setCustomerName(Customer_stBean.getCustomerName());
			}
		}
		//get init date.		
		returnValue = logic.selectRFPNo(customerId, rfpNo);
		if (returnValue.isError()) {
			if (returnValue.isBussinessError()) {
				this.setMessage(returnValue.getMessageList());
			}
			//getErrorCode() getErrorMessage() proc
		} else {
			GBS_RFP_stBean RFP_stBean = (GBS_RFP_stBean) returnValue.getDataValue();
			//GBS_Result_stBean result_stBean = (GBS_Result_stBean) returnValue.getDataValue();
			requestForm.setRfpNo(RFP_stBean.getRfpNo());
			requestForm.setCustomerId(RFP_stBean.getCustomerID());
			requestForm.setResult(RFP_stBean.getResult());
			requestForm.setWonReason(RFP_stBean.getWonReason());
			//requestForm.setWonComment(RFP_stBean.getLostComment());
			requestForm.setLostReason(RFP_stBean.getLostReason());
			requestForm.setLostComment(RFP_stBean.getLostComment());
			requestForm.setLostWhom(RFP_stBean.getLostWhom());
			OriginatingSubsidiaryCode = RFP_stBean.getRfpSubsidiaryCode();
		}
		//whether Edit Button can show or not 
		if (requestForm.getLoginSubsidiaryCode2().equals(OriginatingSubsidiaryCode)) {
			requestForm.setEditflag(true);
		}else{
			requestForm.setEditflag(false);
		}
		return (mapping.findForward(nextview));
	}

	/** 
	 * Method update
	 * @param ActionMapping mapping
	 * @param ActionForm form
	 * @param HttpServletRequest request
	 * @param HttpServletResponse response
	 * @return ActionForward
	 * @throws Exception
	 */
	public ActionForward update(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception {

		ReturnValue returnValue = new ReturnValue();
		GBS_ResultForm requestForm = (GBS_ResultForm) form;
		//get login user info from session
		this.setUserInfoFromSession(request, requestForm);

		//get combox data.
		this.getComboxValueAndName(requestForm, request);

		//get login   ( memberName)
		MessageList errorMsg = new MessageList();
		errorMsg = inputCheck(requestForm, request);
		if (errorMsg.size() > 0) {
			//save error to request
			this.setMessage(errorMsg);
			return (mapping.findForward(nextview));
		}

		GBS_Result_stBean update_st = new GBS_Result_stBean();
		update_st.setCustomerId(requestForm.getCustomerId());
		update_st.setRfpNo(requestForm.getRfpNo());
		update_st.setResult(requestForm.getResult());
		update_st.setWonReason(requestForm.getWonReason());
		update_st.setWonComment(requestForm.getWonComment());
		update_st.setLostReason(requestForm.getLostReason());
		update_st.setLostComment(requestForm.getLostComment());
		update_st.setLostWhom(requestForm.getLostWhom());
		update_st.setUpdateUser(requestForm.getLoginUserId());
		update_st.setCreateUser(requestForm.getLoginUserId());
		if (update_st.getResult().equals("W")) {
			update_st.setLostComment(update_st.getWonComment());
		}

		GBS_ResultActionLogic logic = new GBS_ResultActionLogic(this.getDataSource(request));
		returnValue = logic.updateCustomerId(update_st);

		if (returnValue.isError()) {
			if (returnValue.isBussinessError()) {
				this.setMessage(returnValue.getMessageList());
			}
			//getErrorCode, getErrorMessage
			return mapping.findForward(nextview);
		}

		//Get the mailList and send mail
		if (!BaseCommonCheck.isEmpty(requestForm.getLoginEmail())) {

			ArrayList mailList = new ArrayList();
			returnValue = logic.getMail(requestForm.getCustomerId(), String.valueOf(requestForm.getRfpNo()));
			if (returnValue.isError()) {
				if (returnValue.isBussinessError()) {
					this.setMessage(returnValue.getMessageList());
				}
				return (mapping.findForward(nextview));
			} else {
				mailList = (ArrayList) returnValue.getDataValue();
			}

			//Get mail server
			String smtpServer = "";
			String mailUser = "";
			String mailPasswd = "";
			returnValue = logic.getWideUse("SMTP");
			if (returnValue.isError()) {
				if (returnValue.isBussinessError()) {
					this.setMessage(returnValue.getMessageList());
				}
				return (mapping.findForward(nextview));
			} else {
				ArrayList tmpList = (ArrayList) returnValue.getDataValue();
				for (int i = 0; tmpList != null && i < tmpList.size(); i++) {
					GBS_MWideUse_stBean stBean = (GBS_MWideUse_stBean) tmpList.get(i);
					if("SMTP".equals(stBean.getMainKey())){
						smtpServer = BaseCommonCheck.convertNullToSpace(stBean.getString1());
						mailUser = BaseCommonCheck.convertNullToSpace(stBean.getString2());
						mailPasswd = BaseCommonCheck.convertNullToSpace(stBean.getString3());
						break;
					}
				}
			}

			//Get mail server
			String url = "";
			returnValue = logic.getWideUse("URL");
			if (returnValue.isError()) {
				if (returnValue.isBussinessError()) {
					this.setMessage(returnValue.getMessageList());
				}
				return (mapping.findForward(nextview));
			} else {
				ArrayList tmpList = (ArrayList) returnValue.getDataValue();
				if (tmpList != null && tmpList.size() > 0) {
					GBS_MWideUse_stBean stBean = (GBS_MWideUse_stBean) tmpList.get(0);
					url = BaseCommonCheck.convertNullToSpace(stBean.getString1());
				}
			}
			if (!url.equals("")) {
				//http://localhost:8080/gbs/GBS_login.do?method=init&customerId=marine&rfpNo=2&jumpTo=request
				url += "GBS_login.do?method=init&jumpTo=result&customerId=";
				url += requestForm.getCustomerId();
				url += "&rfpNo=";
				url += requestForm.getRfpNo();
			}
			//Get replyTo
			ArrayList replyTo = new ArrayList();
			returnValue = logic.getWideUse("SMTP");
			if (returnValue.isError()) {
			} else {
				ArrayList tmpList = (ArrayList) returnValue.getDataValue();
				String returnPath = "";
				for(int i=0;tmpList != null && i<tmpList.size();i++){
					GBS_MWideUse_stBean stBean = (GBS_MWideUse_stBean) tmpList.get(i);
					if("Return-Path".equals(stBean.getMainKey())){
						returnPath = stBean.getString1();
						break;
					}
				}
				while (returnPath.lastIndexOf(",") > 0) {
					replyTo.add(returnPath.substring(returnPath.lastIndexOf(",") + 1));
					returnPath = returnPath.substring(0, returnPath.lastIndexOf(","));
				}
				replyTo.add(returnPath);
			}

			String subject = "GBS Alert Mail(\"Result\",\"" + requestForm.getCustomerName() + "\")";

			if (mailList != null && mailList.size() > 0 && !url.equals("") && !smtpServer.equals("")) {
				SendMail sendMail = new SendMail();
				sendMail.sendMailList(
					mailList,
					requestForm.getLoginEmail(),
					smtpServer,
					subject,
					url,
					mailUser,
					mailPasswd,
					replyTo);
			}
		}

		this.setSuccessInfo(
			request,
			"00000006",
			"./GBS_result.do?method=init&customerId="
				+ requestForm.getCustomerId()
				+ "&rfpNo="
				+ requestForm.getRfpNo());
		return (mapping.findForward(success));
	}

	/**
	 * inputCheck
	 * @param requestForm GBS_LoginForm
	 * @param request HttpServletRequest
	 * @throws Exception
	 * @return ErrorMessages
	 */
	private MessageList inputCheck(GBS_ResultForm requestForm, HttpServletRequest request) throws Exception {
		//create ErrorMessages to display error message
		MessageList messages = new MessageList();
		return messages;
	}

	private void getComboxValueAndName(GBS_ResultForm thisForm, HttpServletRequest request) throws Exception {
		//get combox value from database 
		GBS_PriceConditionActionLogic logic = new GBS_PriceConditionActionLogic(this.getDataSource(request));

		ReturnValue returnValue = new ReturnValue();

		//Countries List丂弶婜壔

		String wonWideUse = "WON_REASON";
		String lostWideUse = "LOST_REASON";
		ArrayList wonReasonValueList = new ArrayList();
		ArrayList wonReasonLableList = new ArrayList();
		ArrayList lostReasonValueList = new ArrayList();
		ArrayList lostReasonLableList = new ArrayList();

		GBS_MWideUseLogic logicList = new GBS_MWideUseLogic(this.getDataSource(request));

		//		won List
		returnValue = logicList.getCodeName(wonWideUse);
		if (returnValue.isError()) {
			if (returnValue.isBussinessError()) {
				this.setMessage(returnValue.getMessageList());
			}
			//getErrorCode,getErrorMessage proccess
		} else {
			ArrayList result1 = (ArrayList) returnValue.getDataValue();
			wonReasonValueList.add("");
			wonReasonLableList.add("");
			for (int i = 0; result1 != null && i < result1.size(); i++) {
				GBS_CodeName_stBean st = (GBS_CodeName_stBean) result1.get(i);
				wonReasonValueList.add(st.getCode());
				wonReasonLableList.add(st.getName());
			}
			thisForm.setWonReasonValueList(wonReasonValueList);
			thisForm.setWonReasonLableList(wonReasonLableList);
		}

		//Lost list
		returnValue = logicList.getCodeName(lostWideUse);
		if (returnValue.isError()) {
			if (returnValue.isBussinessError()) {
				this.setMessage(returnValue.getMessageList());
			}
			//getErrorCode,getErrorMessage proccess
		} else {
			ArrayList result1 = (ArrayList) returnValue.getDataValue();
			lostReasonValueList.add("");
			lostReasonLableList.add("");
			for (int i = 0; result1 != null && i < result1.size(); i++) {
				GBS_CodeName_stBean st = (GBS_CodeName_stBean) result1.get(i);
				lostReasonValueList.add(st.getCode());
				lostReasonLableList.add(st.getName());
			}
			thisForm.setLostReasonValueList(lostReasonValueList);
			thisForm.setLostReasonLableList(lostReasonLableList);
		}
	}
}

⌨️ 快捷键说明

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