package com.opentravelsoft.action.manage.product;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import com.opensymphony.xwork2.ActionContext;
import com.opentravelsoft.action.ManageAction;
import com.opentravelsoft.common.SessionKeyParams;
import com.opentravelsoft.entity.Country;
import com.opentravelsoft.entity.District;
import com.opentravelsoft.entity.Line;
import com.opentravelsoft.entity.Province;
import com.opentravelsoft.service.product.LineDistrictService;
/**
* 目的地
*
* @author <a herf="mailto:zhangsitao@gmail.com">Steven Zhang</a>
*/
public class LineDistrictAction extends ManageAction {
private static final long serialVersionUID = 7671898914387730451L;
protected static final Log logger = LogFactory
.getLog(LineDistrictAction.class);
private Map<String, String> teamList;
@Autowired
private LineDistrictService routeDistrictService;
private Line line;
private String countryNo = "";
private String provinceNo = "";
private String[] selectedDistricts;
private List<Country> countryList;
private List<Province> provinceList;
private List<District> districtList;
private List<District> searchList = new ArrayList<District>();
public String input() throws Exception {
Map<String, Object> session = ActionContext.getContext().getSession();
line = (Line) session.get(SessionKeyParams.EBIZ_CURRENT_ROUTE);
countryList = routeDistrictService.getCountry();
provinceList = routeDistrictService.getProvinceList();
districtList = routeDistrictService
.getOverseaLineDistrict(line.getLineNo());
return INPUT;
}
public String search() {
Map<String, Object> session = ActionContext.getContext().getSession();
line = (Line) session.get(SessionKeyParams.EBIZ_CURRENT_ROUTE);
countryList = routeDistrictService.getCountry();
provinceList = routeDistrictService.getProvinceList();
districtList = routeDistrictService
.getOverseaLineDistrict(line.getLineNo());
searchList = routeDistrictService.findOverseaLineDistrict(countryNo,
provinceNo, line.getLineNo());
for (int i = 0; i < searchList.size(); i++) {
District dts = searchList.get(i);
if (dts.getCnNote().length() > 100)
dts.setCnNote(dts.getCnNote().substring(0, 100) + "...");
}
return SUCCESS;
}
public String submit() throws Exception {
line = (Line) ActionContext.getContext().getSession()
.get(SessionKeyParams.EBIZ_CURRENT_ROUTE);
List<District> list = new ArrayList<District>();
District district = null;
if (null != selectedDistricts) {
for (int i = 0; i < selectedDistricts.length; i++) {
district = new District();
district.setDistrictNo(selectedDistricts[i]);
list.add(district);
}
} else {
addActionError("至少填写一个目的地.");
return INPUT;
}
routeDistrictService.txSaveLineDistrict(list, line.getLineNo());
addActionMessage("目的地保存成功.");
return SUCCESS;
}
public Line getLine() {
return line;
}
public String[] getCheck() {
return selectedDistricts;
}
public void setCheck(String[] districts) {
this.selectedDistricts = districts.clone();
}
public List<Country> getCountryList() {
return countryList;
}
public void setCountryList(List<Country> countryList) {
this.countryList = countryList;
}
public String getCountryNo() {
return countryNo;
}
public void setCountryNo(String countryNo) {
this.countryNo = countryNo;
}
public List<District> getDistrictList() {
return districtList;
}
public List<Province> getProvinceList() {
return provinceList;
}
public void setProvinceList(List<Province> provinceList) {
this.provinceList = provinceList;
}
public String getProvinceNo() {
return provinceNo;
}
public void setProvinceNo(String provinceNo) {
this.provinceNo = provinceNo;
}
public List<District> getSearchList() {
return searchList;
}
public void setSearchList(List<District> searchList) {
this.searchList = searchList;
}
public Map<String, String> getSelectedCountryList() {
return teamList;
}
public void setSelectedCountryList(Map<String, String> selectedCountryList) {
this.teamList = selectedCountryList;
}
}