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

📄 gbs_requestaction.java

📁 对日软件外包 为东芝做的一个全球商业管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/** 
 * method GBS_UsermasterAction.java
 * created on 07-30-2004
 * 
 * @author   GXK
 * @version  1.0
 */

package ACTION;

import java.util.ArrayList;

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

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_Customer_stBean;
import DataBean.GBS_MWideUse_stBean;
import DataBean.GBS_RFP_stBean;
import DataBean.GBS_RfpAttachList_stBean;
import DataBean.GBS_RfpCountry_stBean;
import LOGIC.GBS_RequestActionLogic;
//import DataBean.*;
//END UOC
/////////////////////////////////////////////////////////////////

public class GBS_RequestAction extends BaseDispatchAction implements SystemConstants {

	/**
	 * init pagelike SUBSIDIARY data
	 * @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_UsermasterAction.init method!");
		GBS_RequestForm requestForm = (GBS_RequestForm) form;
		//get login user info from session
		this.setUserInfoFromSession(request, requestForm);
		GBS_RequestActionLogic logic = new GBS_RequestActionLogic(this.getDataSource(request));
		ReturnValue returnValue = new ReturnValue();

		//1-1 屭媞儅僗僞偐傜僨乕僞傪専嶕偟偰
		returnValue = (ReturnValue) logic.getCustomer(requestForm.getCustomerID());
		if (returnValue.isError()) {
			if (returnValue.isBussinessError()) {
				this.setMessage(returnValue.getMessageList());
			}
			//getErrorCode, getErrorMessage() proc
		} else {
			GBS_Customer_stBean Customer_stBean = (GBS_Customer_stBean) returnValue.getDataValue();
			requestForm.setCustomerID(Customer_stBean.getCustomerID());
			requestForm.setCustomerName(Customer_stBean.getCustomerName());
			requestForm.setCustomerCategory(Customer_stBean.getCustomerCategory());
		}
		// 
		this.removeFromSession(request, RFPATTACHLIST);
		//1-2 儊乕儞夋柺偐傜RFP斣崋丂=丂""丂偺応崌
		//		if( requestForm.getRfpNo().trim().equals("") ){
		requestForm.setMethod("insert");
		requestForm.setOriginatingSubsidiary(requestForm.getLoginSubsidiaryName());
		//		}
		//1-3 儊乕儞夋柺偐傜RFP斣崋丂亙亜丂""丂偺応崌
		String OriginatingSubsidiaryCode = "";
		if (!requestForm.getRfpNo().trim().equals("")) {
			//requestForm.setMethod( "update" );
			//RFP忣曬偐傜RFP忣曬傪庢摼丏
			GBS_RFP_stBean RFP_stBean = new GBS_RFP_stBean();
			returnValue = (ReturnValue) logic.getRfpInfo(requestForm.getCustomerID(), requestForm.getRfpNo());
			if (returnValue.isError()) {
				if (returnValue.isBussinessError()) {
					this.setMessage(returnValue.getMessageList());
				}
				//getErrorCode, getErrorMessage() proc
			} else {
				RFP_stBean = (GBS_RFP_stBean) returnValue.getDataValue();
				requestForm.setCustomerID(RFP_stBean.getCustomerID());
				requestForm.setRfpNo(RFP_stBean.getRfpNo());
				requestForm.setDueDate(RFP_stBean.getDueDate());
				requestForm.setInfoDueDate(RFP_stBean.getInfoDueDate());
				requestForm.setRepRcvDate(RFP_stBean.getRepRcvDate());
				requestForm.setInfoCountry(RFP_stBean.getInfoCountry());
				requestForm.setInfoDelivery(RFP_stBean.getInfoDelivery());
				requestForm.setInfoHardCategory(RFP_stBean.getInfoHardCategory());
				requestForm.setQuantity(RFP_stBean.getQuantity());
				requestForm.setRemarks(RFP_stBean.getRemarks());
				requestForm.setComment(RFP_stBean.getComment());
				OriginatingSubsidiaryCode = RFP_stBean.getRfpSubsidiaryCode();
				//Originating Subsidiary Name 傪庢摼
				returnValue = logic.getSubsidiaryName(RFP_stBean.getRfpSubsidiaryCode());
				if (!returnValue.isError()) {
					requestForm.setOriginatingSubsidiary(
						returnValue.getDataValue() == null ? "" : returnValue.getDataValue().toString());
				}
				requestForm.setMethod("update");
			}

			//RFP偺娭楢崙忣曬傪庢摼
			returnValue = (ReturnValue) logic.getRfpCountryInfo(requestForm.getCustomerID(), requestForm.getRfpNo());
			if (returnValue.isError()) {
				if (returnValue.isBussinessError()) {
					this.setMessage(returnValue.getMessageList());
				}
				//getErrorCode, getErrorMessage() proc
			} else {
				ArrayList RfpCountryList = (ArrayList) returnValue.getDataValue();
				//崙柤,崙僐乕僪
				String countries = "";
				String countriesCode = "";
				for (int i = 0; RfpCountryList != null && i < RfpCountryList.size(); i++) {
					GBS_RfpCountry_stBean RfpCountry_stBean = (GBS_RfpCountry_stBean) RfpCountryList.get(i);
					if (i == RfpCountryList.size() - 1) {
						if (RfpCountry_stBean.getCountryName() != null) {
							countries = countries + RfpCountry_stBean.getCountryName();
							countriesCode += RfpCountry_stBean.getCountryCode();
						}
					} else {
						if (RfpCountry_stBean.getCountryName() != null) {
							countries = countries + RfpCountry_stBean.getCountryName() + ",";
							countriesCode += RfpCountry_stBean.getCountryCode() + ",";
						}
					}
				}
				requestForm.setCountries(countries);
				requestForm.setCountrycode(countriesCode);
				//尰朄柤
				String subsidiary = "";
				for (int i = 0; RfpCountryList != null && i < RfpCountryList.size(); i++) {
					GBS_RfpCountry_stBean RfpCountry_stBean = (GBS_RfpCountry_stBean) RfpCountryList.get(i);
					if (RfpCountry_stBean.getSubsidiaryName() == null || RfpCountry_stBean.getSubsidiaryName().equals("")) {
						RfpCountryList.remove(i);
						i--;
					}
				}
				for (int i = 0; RfpCountryList != null && i < RfpCountryList.size(); i++) {
					for (int j = i + 1; j < RfpCountryList.size(); j++) {
						GBS_RfpCountry_stBean RfpCountry_stBean = (GBS_RfpCountry_stBean) RfpCountryList.get(i);
						GBS_RfpCountry_stBean RfpCountry_stBean1 = (GBS_RfpCountry_stBean) RfpCountryList.get(j);
						if (RfpCountry_stBean.getSubsidiaryCode().equals(RfpCountry_stBean1.getSubsidiaryCode())) {
							RfpCountryList.remove(j);
							j--;
						}
					}
				}
				//ArrayList subsidiaryList = new ArrayList();
				for (int i = 0; RfpCountryList != null && i < RfpCountryList.size(); i++) {
					GBS_RfpCountry_stBean RfpCountry_stBean = (GBS_RfpCountry_stBean) RfpCountryList.get(i);
					if (i == RfpCountryList.size() - 1) {
						subsidiary = subsidiary + RfpCountry_stBean.getSubsidiaryName();
					} else {
						subsidiary = subsidiary + RfpCountry_stBean.getSubsidiaryName() + ",";
					}
					//subsidiaryList.add()
				}
				requestForm.setParticipatingSubsidiaries(subsidiary);
			}

			//RFP揧晅帒椏偐傜RFP揧晅帒椏僨乕僞傪庢摼丏
			ArrayList RfpAttachList = new ArrayList();
			GBS_RfpAttachList_stBean RfpAttachList_stBean = new GBS_RfpAttachList_stBean();
			returnValue =
				(ReturnValue) logic.getRfpAttachInfo(
					requestForm.getCustomerID(),
					requestForm.getRfpNo(),
					requestForm.getLoginPlusHour());
			RfpAttachList = (ArrayList) returnValue.getDataValue();
			requestForm.setRfpAttachList(RfpAttachList);

			//whether Edit Button can show or not 
			if (requestForm.getLoginSubsidiaryCode2().equals(OriginatingSubsidiaryCode)) {
				requestForm.setEditflag(true);
			}else{
				requestForm.setEditflag(false);
			}
			//(4)RFP揧晅帒椏傪SESSION偵曐懚偡傞

			this.saveToSession(request, RFPATTACHLIST, RfpAttachList);
		}
		return (mapping.findForward(nextview));
	}

	public ActionForward update(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
		throws Exception {
		//HttpSession session = request.getSession();
		GBS_RequestForm requestForm = (GBS_RequestForm) form;
		//get login user info from session
		this.setUserInfoFromSession(request, requestForm);
		ReturnValue returnValue = new ReturnValue();

		GBS_RequestActionLogic logic = new GBS_RequestActionLogic(this.getDataSource(request));
		//InputCheck
		MessageList errorMsg = new MessageList();
		errorMsg = (MessageList) inputCheck(requestForm, request);
		if (errorMsg.size() > 0) {
			//save error to request
			this.setMessage(errorMsg);

			requestForm.setRfpAttachList((ArrayList) this.getFromSession(request, RFPATTACHLIST));

			return (mapping.findForward(nextview));
		}

		//GBS_RfpAttachList_stBean RfpAttachList_stBean = new GBS_RfpAttachList_stBean();
		//String updateuser = thisform.getLoginMemberNameLast() + " " + thisform.getLoginMemberNameFirst();

		//3乚2乚1.丂RFP偺忣曬傪捛壛
		returnValue =
			logic.updRfpInfo(
				requestForm.getCustomerID(),
				requestForm.getRfpNo(),
				BaseCommonCheck.convertDateToYYYYMMDD(requestForm.getRepRcvDate()),
				BaseCommonCheck.convertDateToYYYYMMDD(requestForm.getDueDate()),
				BaseCommonCheck.convertDateToYYYYMMDD(requestForm.getInfoDueDate()),
				requestForm.getInfoCountry(),
				requestForm.getInfoHardCategory(),
				requestForm.getInfoDelivery(),
				requestForm.getQuantity(),
				requestForm.getRemarks(),
				requestForm.getComment(),
				requestForm.getLoginUserId(),
				requestForm.getLoginSubsidiaryCode2());
		if (returnValue.isError()) {
			if (returnValue.isBussinessError()) {
				this.setMessage(returnValue.getMessageList());
			}
			//getErrorCode, getErrorMessage proc
			//僨乕僞専嶕昁梫偱偡丠妋擣昁梫偱偡丅
			return (mapping.findForward(nextview));
		}
		//3乚2乚2丏丂RFP娭楢崙偺忣曬傪捛壛
		String countriesCode = requestForm.getCountrycode();
		ArrayList countryCodeList = new ArrayList();
		while (countriesCode.lastIndexOf(",") > 0) {
			countryCodeList.add(countriesCode.substring(countriesCode.lastIndexOf(",") + 1));
			countriesCode = countriesCode.substring(0, countriesCode.lastIndexOf(","));
		}
		countryCodeList.add(countriesCode);
		returnValue =
			logic.saveRfpCountryInfo(
				requestForm.getCustomerID(),
				requestForm.getRfpNo(),
				requestForm.getLoginUserId(),
				countryCodeList);
		if (returnValue.isError()) {
			if (returnValue.isBussinessError()) {
				this.setMessage(returnValue.getMessageList());
			}
			//getErrorCode, getErrorMessage proc
			//僨乕僞専嶕昁梫偱偡丠妋擣昁梫偱偡丅
			return (mapping.findForward(nextview));
		}
		//3乚2乚3丏丂RFP揧晅帒椏偺忣曬傪捛壛
		//RFP揧晅帒椏偐傜RFP揧晅帒椏僨乕僞傪庢摼丏
		ArrayList RfpAttachList = new ArrayList();
		RfpAttachList = (ArrayList) this.getFromSession(request, RFPATTACHLIST);
		returnValue = logic.saveRfpAttachment(RfpAttachList, requestForm.getLoginUserId());

		if (returnValue.isError()) {
			if (returnValue.isBussinessError()) {
				this.setMessage(returnValue.getMessageList());
			}
			//getErrorCode, getErrorMessage proc
			//僨乕僞専嶕昁梫偱偡丠妋擣昁梫偱偡丅
			return (mapping.findForward(nextview));
		}

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

			ArrayList mailList = new ArrayList();
			returnValue = logic.getMail(requestForm.getCustomerID(), 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=request&customerId=";
				url += requestForm.getCustomerID();
				url += "&rfpNo=";
				url += requestForm.getRfpNo();
			}
			//Get replyTo
			ArrayList replyTo = new ArrayList();

⌨️ 快捷键说明

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